A diferença mais óbvia é que aptitude
fornece uma interface de menu de terminal (semelhante ao Synaptic em um terminal), enquanto apt-get
não fornece.
Considerando apenas as interfaces de linha de comando de cada uma, elas são bastante semelhantes e, na maioria das vezes, realmente não importa qual delas você usar. As versões recentes de ambos rastrearão quais pacotes foram instalados manualmente e quais foram instalados como dependências (e, portanto, elegíveis para remoção automática). De fato, acredito que, ainda mais recentemente, as duas ferramentas foram atualizadas para compartilhar o mesmo banco de dados de pacotes instalados manualmente ou automaticamente, portanto, os casos em que você instala algo com o apt-get e depois o aptitude deseja desinstalá-lo são principalmente uma coisa do o passado.
Existem algumas pequenas diferenças:
- O aptitude removerá automaticamente pacotes elegíveis, enquanto o apt-get requer um comando separado para fazer isso
- Os comandos para atualização vs. dist-upgrade ter sido renomeado na aptidão para os nomes provavelmente mais precisos seguro à atualização e à atualização completa , respectivamente.
- O aptitude realmente executa as funções não apenas do apt-get, mas também de algumas de suas ferramentas complementares, como apt-cache e apt-mark.
- O aptitude possui uma sintaxe de consulta ligeiramente diferente para pesquisa (em comparação com o apt-cache)
- O aptitude possui os comandos por que e por que não para lhe dizer quais pacotes instalados manualmente estão impedindo uma ação que você pode querer executar.
- Se as ações (instalação, remoção, atualização de pacotes) que você deseja executar causam conflitos, o aptitude pode sugerir várias possíveis soluções. O apt-get dirá "Sinto muito, Dave, não posso permitir que você faça isso".
Existem outras pequenas diferenças, mas essas são as mais importantes em que consigo pensar.
Resumindo, o aptitude pertence mais apropriadamente à categoria com o Synaptic e outras interfaces de gerenciador de pacotes de nível superior. Acontece que também possui uma interface de linha de comando que se assemelha ao apt-get.
Rodada de Bônus: O que é wajig?
Lembra-se de como mencionei essas ferramentas "complementares", como apt-cache e apt-mark? Bem, existem vários deles, e se você os usa muito, talvez não se lembre de quais fornecem quais comandos. O wajig é uma solução para esse problema. É essencialmente um expedidor, um invólucro em torno de todas essas ferramentas. Também se aplica ao sudo quando necessário. Quando você diz wajig install foo
, wajig diz "Ok, install
é fornecido por apt-get
e requer privilégios de administrador" e é executado sudo apt-get install foo
. Quando você diz wajig search foo
, wajig diz "Ok, search
é fornecido apt-cache
e não requer privilégios de administrador" e é executado apt-cache search foo
. Se você usa wajig em vez de apt-get, apt-mark, apt-cache e outros, nunca terá esse problema:
$ apt-get search foo
E: Invalid operation search
Se você quiser saber o que o wajig está fazendo nos bastidores, quais ferramentas ele está usando para implementar um comando específico, ele possui --simulate
e --teaching
modos.
Dois comandos wajig que eu costumo usar são wajig listfiles foo
e wajig whichpkg /usr/bin/foo
.