goncin@wordpress.com:~$ _

Linux, programação e toda sorte de nerdices

apt-get vs. aptitude

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! 🙂

12 Respostas para “apt-get vs. aptitude

  1. Pingback: apt-get vs. aptitude. Quais as diferenças? | Ubuntu Dicas

  2. Douglas 17/05/2010 às 10\1044

    Show!!!!

    Valeu

  3. Waldir Leôncio 17/05/2010 às 15\0325

    Adorei o texto, solucionou uma dúvida que sempre tive e nunca perguntei!

  4. clodoaldo 18/05/2010 às 18\0604

    Acho que agora eu começo usar a “telinha preta”!
    rsrsrsrsrs…

  5. Claudio Novais 29/05/2010 às 07\0724

    oooohhhh a cobra comeu o elefante 😦

    Muito bom artigo Goncin, parabéns!!! =D

    Abraços,
    Cláudio novais

  6. Wanderer 11/09/2010 às 07\0755

    Obrigado pela explicação simples e objectiva das diferenças entre os dois comandos.

    Cumprimentos,
    Wanderer

  7. Flávio 19/10/2010 às 01\0139

    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.

  8. Pingback: Tweets that mention apt-get vs. aptitude « goncin@wordpress.com:~$ _ -- Topsy.com

Deixe um comentário