sábado, 3 de maio de 2008

Vantagem do Aptitude sobre o Apt-Get



Novamente estou aqui para lhes passar uma pequena dica que para muitos pode nem ser novidade, porém para alguns a dúvida pode existir.

Bom, para aqueles que ainda não sabem, o apt é uma ferramenta da Debian para gerenciamento de pacotes de forma simples, amigável e rápida contando inclusive com a instalação automática de dependências necessárias para a finalização do processo. O que muitas pessoas ainda não sabem é que utilizando-se do comando "apt-get install NOME_PACOTE" serão instalados pacotes que o mesmo não removerá automaticamente posteriormente, fazendo assim um acúmulo de "lixo" em nosso sistema. Como assim? Suponhamos que eu queira instalar um aplicativo de instant messenger como por exemplo o amsn. Esta ferramenta possui dependências necessárias para seu funcionamento, sendo elas o TCL e o TK.

O seguinte comando fará a instalação do amsn juntamente com suas dependências, sem que eu precise me preocupar em buscar por elas desesperadamente na internet:

#apt-get install amsn

Ótimo! Agora tenho o meu messenger devidamente instalado, sem nenhuma dificuldade e funcionando perfeitamente. Porém, um certo dia resolvi remover essa ferramenta que com o tempo parei de usar, então para isso utilizo o seguinte comando:

#apt-get remove amsn

Perfeito! Meu amsn está desinstalado sem dificuldade alguma. ;]

Agora, e o que acontece com os dois pacotes que foram instalados juntamente com ele anteriormente? TCL e TK? Bom, eles continuam instalados, fazendo um certo acúmulo de "lixo" em seu sistema. O mesmo ocorre com todos os pacotes que forem instalados em seu sistema e futuramente removidos com o apt-get.

Onde entra o Aptitude nessa história?

Bom, o aptitude tem um funcionamento bem semelhante para a instalação de pacotes. Passaremos a adotar o mesmo cenário aqui, instalando portanto o amsn:

#aptitude install amsn

Assim como o apt-get, o aptitude irá instalar automaticamente as dependências do amsn, TCL e TK. Passado algum tempo, resolvo remover o amsn usando o seguinte comando:

#aptitude remove amsn

Aparentemente ele terá o mesmo efeito do apt-get, com o grande diferencial de excluir juntamente com o amsn, as suas dependências que outrora foram instaladas, TCL e TK.

Imagine a quantidade de pacotes desnecessários que deve existir em sua máquina...provavelmente vários. O aptitude é uma solução para que isto não ocorra mais.

Para os fans de distribuições como o Fedora que utilizam-se da ferramenta Yum para instalar seus pacotes, caso tenha surgido a curiosidade, fica a informação de que, infelizmente, o yum ainda não possui este mecanismo. A mesma curiosidade surgiu em mim e resolvi testar, porém o yum, assim como o apt-get, apenas me removeu o amsn, deixando para trás as dependências que foram instaladas.

Essa foi uma simples dica para aqueles que desconheciam este fato diferencial dentre os dois. Espero ter ajudado com esta pequena contribuição para com a comunidade. abraços e até a próxima.

5 comentários:

Anônimo disse...

Incrível como o aptitude resolveu o único defeito que eu encontrava no apt-get...
De fato foi um grande diferencial que só fortaleceu a família Debian bem como seus derivados...

parabéns pelo artigo Marcelo

Anônimo disse...

Muito legal seu artigo Marcelo...
Não conhecia ainda o aptitude...sempre adorei o apt-get, mas com essa melhoria..com certeza passarei a usar.

Gostaria também de agradecer pela atenção que me deu durante o Flisol na explicação sobre virtualização e ltsp.

abraço

Jeff disse...

Olá!

Não conhecia essa diferença... esses dias mesmos eu tive um problema com dependências que acabei desestabilizando o sistema e perdi a instalalção manual que eu tinha feito do mysql... soh recuperei ele pq eu instalei via Synaptic... assim temos um controle melhor do sistema...

Quanto ao depoimento vivaolinux.bom.br eu fiquei muito feliz.... não esperava por aquilo... ^^''.. vejo material produzido por vc e outras pessoas (engos, M4trix, Souyuz, maran, etc) e vejo que a comunidade sempre está atuante e ajudando os outros... e respeito vcs por isso... axo mto bacana esse espirito e eu acabo entrando na onda tmb... sempre q eu vejo algum material de vcs eu sempre dou uma conferida pq sempre tem coisa legal...

Mas eh issu...
kra, vlw...
Continua assim q o blog tah fikando show de bola...

[]'s
Jeff

Anônimo disse...

Bom artigo...
Bom simples, e eximeamente bem explicado.
Palavras não complicadas (maior problema dos tecnicos em informatica).

Ótimo mesmo!Gostei bastante!

Alessandro Nakamuta disse...

Então, é que o apt-get por padrão não remove as dependências junto e deixa você optar se quer ou não deixar elas lá, seja por só querer reinstalar o software ou para outros softwares que dela venham precisar.

Para desinstalar todas as dependências órfãs é só rodar o comando:

# apt-get autoremove

Com isso o apt-get irá scannear por todos os pacotes que estão órfãos e retirá-los.