Risposte:
apt-get e aptitude sono diverse interfacce utente che fanno parte dello stesso sistema di gestione dei pacchetti, APT, Advanced Packaging Tool . Ad esempio, entrambi sono configurati utilizzando /etc/apt/apt.conf, entrambi utilizzano lo stesso spazio file e formati per rappresentare lo stato del pacchetto e lo stesso spazio file per archiviare .debs scaricati.
La differenza è il loro sistema di regole interne per rappresentare potenziali conflitti tra i pacchetti, come risolverli (diciamo durante apt-get dist-upgradevs. aptitude full-upgrade) e come esprimerli quando interagiscono con l'utente. In generale, entrambi potrebbero fare la cosa sbagliata in situazioni difficili, ma apt-get ha molte più probabilità di sbagliare che l'attitudine.
Molti buoni consigli sono già qui, ma vorrei aggiungere una cosa che nessuno ha menzionato. Se decidi di cambiare, potresti voler eseguire questo comando, a seconda di cosa hai combinato apt-get:
aptitude keep-all
Tale comando ripristina aptitudeil senso di quali pacchetti sono orfani e dovrebbero essere rimossi.
Ecco il motivo per cui a volte è utile: per un po 'di tempo, entrambi apt-gete aptitudeseguiranno i pacchetti installati automaticamente come dipendenza da qualcos'altro. Quindi, ad esempio, se si installa mpd, si potrebbe ottenere lib-so-and-socome dipendenza. Lo fanno, in modo che se rimuovi in seguito mpd, lib-so-and-soviene rimosso anche. Ma aptitudee apt-getgestire questo su pulito in modo diverso. aptitudecerca immediatamente di rimuovere tutte le dipendenze orfane; ma apt-getsuggerisce semplicemente che corri apt-get autoremoveper pulire. (La logica dietro tutto questo è che hai solo la libreria da quando mpdne hai avuto bisogno. Se non la mantieni mpd, non dovresti più avere bisogno della libreria. Se un altro pacchetto dipende ancora da essa, allora entrambi aptitudeeapt-get lo saprà e non tenterà di rimuovere la libreria.)
Qual è il mio punto? Bene, se stai vedendo scostarsi costantemente apt-get autoremovee passi a aptitude, allora potresti essere scioccato la prima volta che provi a installare qualcosa. aptitudeproverò subito a rimuovere tutti quegli orfani. In generale, questo andrà bene (dopotutto sono orfani e non necessari), ma c'è un caso complicante. I meta-pacchetti desktop implicano tutti una complessa catena di dipendenze in cui ogni singolo programma viene inserito come dipendenza di un wrapper di pacchetto virtuale. Ad esempio, se hai installato Gnome perché hai installato il gnomepacchetto, tutti i tuoi normali programmi desktop sono stati installati come dipendenze. Se hai disinstallato uno di questi programmi (ad esempio Ekiga o Gedit), allora agli occhi diaptitudeanche il resto del desktop dovrebbe essere rimosso. Nota che chiede aptitude sempre prima di rimuovere le cose, ma le persone spesso inseriscono "Y" senza leggere. Nella mia esperienza, questa è l'unica lamentela / confusione più comune per le persone che non conoscono Debian.
Due consigli generali:
aptitudeo apt-getattentamente, prima di dire di sì a qualsiasi cosa.aptitude -s safe-upgradeo aptitude -s install foo. La -s|--simulatebandiera è tua amica.È stato detto sulla mailing list di Debian, anni fa, che passare da apt-get a aptitude era rischioso. Sono due versioni di Debian (diciamo 10 anni) fa. Tutti questi problemi sembrano risolti ora, e certamente non ho visto problemi su Debian o Ubuntu.
apt-geta aptitude. All'epoca gestivano molte funzioni essenziali in modo molto diverso. Con il passare del tempo, sono diventati molto più simili e aptitudesono maturati molto. Per il 90% dei casi ora, non ci dovrebbero essere problemi se si cambia. Vedi il mio post per un caso limite.
Direi anche di andare avanti e usare aptitude.
Aptitudeha una migliore gestione delle dipendenze rispetto a apt-get. Ciò contribuirà a mantenere basso il numero di pacchetti orfani.
Ho letto qualche tempo fa che aptitudeha l'algoritmo di aggiornamento dist migliore rispetto a apt-get. Ma questa non è una caratteristica killer in quanto non viene utilizzata così spesso nella vita di un sistema.
Inoltre avrai più cose unite in un unico strumento. Piuttosto che ricordare quando chiamare apt-get, apt-cachee dpkge con quali interruttori uso solo attitudine e faccio quasi tutto.
Per quanto riguarda le complicazioni quando si passa "nel mezzo": non ricordo di averne avuto una quando l'ho fatto.
Non sono solo un'interfaccia diversa per lo stesso backend?
aptitudeè un'interfaccia più caratteristica ...
dpkg. ma dpkginstalla solo i pacchetti; sono i front-end che si occupano di ricerca, risoluzione delle dipendenze e download.
Dalla mia esperienza, hanno un modo diverso di bloccare le versioni dei pacchetti. Nel mio caso, ho detto a aptitude di bloccare determinati pacchetti, supponendo che sarei stato al sicuro da futuri aggiornamenti. Mi sbagliavo; il gestore degli aggiornamenti cron-programmato, che utilizza apt-get, procede ad aggiornarlo con mio sgomento.
Drats, mentre stavo scrivendo questo, ho cercato su Google e ho scoperto che il bug ( # 557580 aptitude non obbediva ai pin nelle preferenze.d / *) era già corretto!
Uso sia apt-get che aptitude senza alcun problema: ho la stessa domanda ... Perché la gente dice questo ??? : D
Continua e non preoccuparti: aptitude è solo una gui di testo per apt-get, che potresti persino usare come applicazione da riga di comando, ad esempio apt-get install fooè la stessa diaptitude install foo .
Saluti
apt-getoffrono anche la rimozione automatica dei pacchetti installati solo come dipendenze. La differenza rimanente a tale proposito è che aptituderimuove istantaneamente le dipendenze (come appropriato), ma apt-getti spinge solo a eseguire il comando apt-get autoremove. Ma entrambi tengono traccia delle dipendenze allo stesso modo ora. Differiscono comunque, nella gestione di dipendenze complesse e casi limite (installazioni o rimozioni molto complicate), ma per la maggior parte delle persone e la maggior parte delle situazioni, ora funzionano allo stesso modo.
aptitudeli rimuoverà immediatamente, maapt-getti chiederà di rimuoverli solo inserendo il comandoapt-get autoremove. In generale, vorranno rimuovere gli stessi elementi. Vedi questo link, tuttavia, per un caso complesso in cui non erano d'accordo su questo: forums.debian.net/viewtopic.php?f=10&t=49589&start=0