Você, usuário do Ubuntu, Linux Mint e outras distros baseadas no Debian, já deu seu sudo apt-get update hoje? Ou prefere sudo aptitude update? Tanto faz? O apt-get e o aptitude são bastante parecidos, mas é bom saber que há diferenças importantes entre as ferramentas.
Ambos são frontends para o dpkg, o sistema de gerenciamento de pacotes do Debian, e como tal herdado pelas distros filhas. O aptitude nasceu como uma interface orientada a menus em modo terminal, mas também pode (e deve) ser utilizado na linha de comando. O apt-get, por seu turno, faz parte de um conjunto (o qual inclui ainda o apt-cache, o apt-file e o apt-cdrom) de comandos de terminal, e portanto não tem nada parecido com “menuzinhos”.
Se ambos podem ser utilizados praticamente da mesma forma, então qual a diferença entre eles? Vamos aos fatos.
Atualização do cache de pacotes (apt-get update vs. aptitude update)
Para essa tarefa, prefiro o aptitude, pelo simples fato de que, após atualizar o cache de pacotes, ele mostra a contagem de pacotes novos e atualizáveis. Com isso, é possível saber se será necessário dar um aptitude safe-upgrade (ou aptitude dist-upgrade) na sequência para manter o sistema atualizado, sem emitir esse comando.
Gerenciamento de dependências quebradas
Outro ponto em que o aptitude é melhor que o apt-get. Ao tentar instalar um pacote (com aptitude install <nome-do-pacote>), e caso haja pacotes quebrados (ou seja, com dependências não satisfeitas), o aptitude se prontifica a consertá-los, enquanto o apt-get se limita a dizer que é necessário executar o comando apt-get install -f antes de tentar instalar qualquer pacote. Se as sugestões de conserto do aptitude funcionam 100% das vezes, isso já é outra história. Mas pelo menos ele tenta.
Expressões regulares nos nomes dos pacotes
Para isso o apt-get é rei. Vira e mexe, lá estou eu desinstalando e instalando o X Server e todos os drivers de vídeo. O nome do pacote do X Server é xserver-xorg, e os drivers de vídeo seguem o padrão xserver-xorg-<nome-do-driver>. Com o apt-get, é possível executar apt-get remove (ou install) xserver-xorg*, mas com o aptitude, não :(. Com aquele, consigo (des)instalar todos os pacotes citados com uma única linha de comando.
Limpeza automática de pacotes não mais necessários
Se algum pacote se tornar desnecessário ou obsoleto, o aptitude o removerá automaticamente em sua próxima execução, sem sequer questionar o usuário. O apt-get se adstringe a informar que é preciso executar apt-get autoremove (?!) para se livrar do lixo.
Procurando por pacotes (apt-cache search vs. aptitude search)
Nisso a diferença é puramente cosmética. O aptitude search devolve as informações em colunas alinhadas, mais fáceis de ler.
Poderes de Super Vaca
Ah, sim, por último e não menos importante: o apt-get muge (apt-get moo), o aptitude não. Mas este reserva uma surpresinha aos insistentes. Experimente esta sequência de comandos no terminal:
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo
Divirtam-se! 🙂
Pingback: apt-get vs. aptitude. Quais as diferenças? | Ubuntu Dicas
Show!!!!
Valeu
Obrigado pelo incentivo, Douglas.
Adorei o texto, solucionou uma dúvida que sempre tive e nunca perguntei!
Rá! Vou começar a ganhar dinheiro adivinhando as perguntas do povo e providenciando as respostas.
Eu também sempre tive essa dúvida! Valeu, Goncin!
Acho que agora eu começo usar a “telinha preta”!
rsrsrsrsrs…
oooohhhh a cobra comeu o elefante 😦
Muito bom artigo Goncin, parabéns!!! =D
Abraços,
Cláudio novais
Obrigado pela explicação simples e objectiva das diferenças entre os dois comandos.
Cumprimentos,
Wanderer
Só um porém, quando voce diz que o aptitude não pode usar caracteres coringa, é verdade, mas quando voce manda remover o xserver-xorg ele automaticamente remove todas as dependências dele, sem a necessidade de caracter coringa.
È vero!…
Pingback: Tweets that mention apt-get vs. aptitude « goncin@wordpress.com:~$ _ -- Topsy.com