A diferença mais óbvia é que aptitude
fornece uma interface de menu de terminal (muito parecida com o Synaptic em um terminal), enquanto apt-get
não.
Considerando apenas as interfaces de linha de comando de cada um, elas são bastante semelhantes e, na maior parte, não importa qual delas você usa. Versões recentes dos dois rastrearão quais pacotes foram instalados manualmente e quais foram instalados como dependências (e, portanto, elegíveis para remoção automática). Na verdade, acredito que ainda mais recentemente, as duas ferramentas foram atualizadas para compartilhar o mesmo banco de dados de pacotes manualmente vs instalados automaticamente, então casos em que você instala algo com o apt-get e depois o aptitude quer desinstalá-lo 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 upgrade vs. dist-upgrade foram renomeados no aptitude para os nomes provavelmente mais precisos safe-upgrade e upgrade completo , respectivamente. O
- aptitude realmente executa as funções não apenas do apt-get, mas também algumas de suas ferramentas associadas, como apt-cache e apt-mark.
- O aptitude tem uma sintaxe de consulta ligeiramente diferente para a pesquisa (em comparação com o apt-cache)
- O aptitude tem os comandos por que e por que não para dizer quais pacotes manualmente instalados 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 causar conflitos, o aptitude pode sugerir várias resoluções em potencial. O apt-get apenas diz "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 posso pensar.
Em suma, o aptitude pertence mais corretamente à categoria com o Synaptic e outros frontends de gerenciador de pacotes de nível superior. Acontece que também tem uma interface de linha de comando parecida com o apt-get.
Rodada de bônus: o que é wajig?
Lembre-se de como mencionei as ferramentas "complementares" como apt-cache e apt-mark? Bem, há um monte deles, e se você usá-los muito, você pode não lembrar quais fornecem quais comandos. wajig é uma solução para esse problema. É essencialmente um despachante, um wrapper em torno de todas essas ferramentas. Também aplica 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 executa sudo apt-get install foo
. Quando você diz wajig search foo
, wajig diz "Ok, search
é fornecido por apt-cache
e não requer privilégios de administrador" e executa apt-cache search foo
. Se você usar wajig ao invés de apt-get, apt-mark, apt-cache e outros, então você nunca terá este 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 tem os modos --simulate
e --teaching
.
Dois comandos wajig que eu uso com frequência são wajig listfiles foo
e wajig whichpkg /usr/bin/foo
.