La differenza più evidente è che aptitude
fornisce un'interfaccia di menu terminale (molto simile a Synaptic in un terminale), mentre apt-get
non lo è.
Considerando solo le interfacce da riga di comando di ognuna, sono abbastanza simili e, per la maggior parte, non importa quale usi. Le versioni recenti di entrambi monitoreranno quali pacchetti sono stati installati manualmente e quali sono stati installati come dipendenze (e quindi idonei per la rimozione automatica). In effetti, credo che anche più recentemente, i due strumenti siano stati aggiornati per condividere effettivamente lo stesso database di pacchetti installati manualmente o automaticamente, quindi i casi in cui si installa qualcosa con apt-get e quindi aptitude vuole disinstallarlo sono principalmente una questione di il passato.
Ci sono alcune differenze minori:
- aptitude rimuoverà automaticamente i pacchetti idonei, mentre apt-get richiede un comando separato per farlo
- I comandi per upgrade vs dist-upgrade sono stati rinominati in attitudine ai nomi probabilmente più accurati safe-upgrade e full-upgrade , rispettivamente.
- aptitude svolge effettivamente le funzioni non solo di apt-get, ma anche di alcuni dei suoi strumenti di accompagnamento, come apt-cache e apt-mark.
- aptitude ha una sintassi della query leggermente diversa per la ricerca (rispetto a apt-cache)
- aptitude ha i comandi why e why-not per dirti quali pacchetti installati manualmente impediscono un'azione che potresti voler intraprendere.
- Se le azioni (installazione, rimozione, aggiornamento dei pacchetti) che si desidera intraprendere causano conflitti, aptitude può suggerire diverse potenziali risoluzioni. apt-get dirà semplicemente "Mi dispiace Dave, non posso permetterti di farlo."
Ci sono altre piccole differenze, ma quelle sono le più importanti che mi vengono in mente.
In breve, aptitude appartiene più propriamente alla categoria con Synaptic e altri front-end di gestione pacchetti di livello superiore. Capita anche di avere anche un'interfaccia a riga di comando che ricorda apt-get.
Bonus Round: che cos'è il wajig?
Ricordi come ho menzionato quegli strumenti "companion" come apt-cache e apt-mark? Bene, ce ne sono un sacco, e se li usi molto, potresti non ricordare quali forniscono i comandi. wajig è una soluzione a questo problema. È essenzialmente un dispatcher, un involucro attorno a tutti quegli strumenti. Si applica anche sudo quando necessario. Quando dici wajig install foo
, wajig dice "Ok, install
è fornito da apt-get
e richiede privilegi di amministratore", e viene eseguito sudo apt-get install foo
. Quando dici wajig search foo
, wajig dice "Ok, search
è fornito da apt-cache
e non richiede privilegi di amministratore", e viene eseguito apt-cache search foo
. Se usi wajig invece di apt-get, apt-mark, apt-cache e altri, non avrai mai questo problema:
$ apt-get search foo
E: Invalid operation search
Se vuoi sapere cosa sta facendo il wajig dietro le quinte, quali strumenti sta usando per implementare un particolare comando, ha --simulate
e --teaching
modalità.
Due comandi wajig che utilizzo spesso sono wajig listfiles foo
e wajig whichpkg /usr/bin/foo
.