Aptitude è ancora considerato superiore a apt-get?


191

Quando ho iniziato a usare Ubuntu per la prima volta, aptitudeera "in-thing", con alcuni miglioramenti dichiarati apt-get. Ho ragione nel dire che apt-getora ha "recuperato" aptitude, e fa poca differenza che viene utilizzato (anche se è preferibile scegliere l'uno o l'altro e attenersi ad esso)?

Inoltre, con il aptitudeset da rimuovere da un'installazione Ubuntu predefinita, tutti dovrebbero tornare a apt-get, specialmente quando guidano i nuovi utenti interessati alla CLI?


1
i ragazzi fantastici oggi usano aptinvece di uno di quelli: itsfoss.com/apt-vs-apt-get-difference
tatsu

1
aptitude whyè utile a volte e non esiste un vero equivalente .
Nathaniel M. Beaver il

Risposte:


131

Per quanto posso vedere, in 10.04, le principali differenze tra aptitude e apt-get sono:

  1. aptitudeaggiunge flag espliciti per pacchetto, indicando se un pacchetto è stato installato automaticamente per soddisfare una dipendenza: è possibile manipolare quei flag ( aptitude markautoo aptitude unmarkauto) per cambiare il modo in cui aptitude tratta il pacchetto.

    apt-gettiene traccia delle stesse informazioni, ma non le mostrerà esplicitamente. apt-markpuò essere usato per manipolare le bandiere.

  2. aptitudeoffrirà di rimuovere i pacchetti non utilizzati ogni volta che rimuovi un pacchetto installato, mentre lo apt-getfarà solo se esplicitamente richiesto apt-get autoremoveo specificato --auto-remove.

  3. aptitudefunge da front-end a riga di comando singolo per la maggior parte delle funzionalità in entrambi apt-gete apt-cache. Nota : a partire dal 16.04, esiste un aptcomando che include i comandi più comunemente usati da apt-gete apt-cachealcune funzionalità extra.

  4. Contrariamente alla apt-cache"ricerca", l aptitude'output "ricerca" mostra anche lo stato installato / rimosso / eliminato di un pacchetto (oltre ai flag di stato propri di aptitude). Inoltre, l'output "installa" indica quali pacchetti vengono installati per soddisfare una dipendenza e quali vengono rimossi perché non utilizzati.

  5. aptitude ha un'interfaccia utente interattiva (solo testo).

Personalmente utilizzo solo aptitudeper la gestione dei pacchetti da riga di comando (e non utilizzo mai l'interfaccia utente del testo); Trovo che il suo output sia più leggibile di apt-get/ apt-cache.

Tuttavia, se aptitudenon sarà più standard su Ubuntu, non c'è altra scelta che l'uso apt-getnelle istruzioni e nei documenti di istruzioni.

(Personalmente, sono piuttosto deluso nel vederlo scomparire in 10.10; soprattutto perché i miglioramenti di aptitude rispetto apt-getsono principalmente dal lato dell'usabilità. Immagino che abbiano ritenuto che coloro che hanno familiarità con la riga di comando sappiano come recuperare aptitude, e a coloro che non usano la riga di comando non importa ...)


10
aptitude cerca i nomi dei pacchetti, apt-cache sul nome del pacchetto + descrizione (Dovremo solo iniziare ogni howto con sudo apt-get install aptitude)
LassePoulsen

3
2. Comunque apt-get ti dirà che ci sono pacchetti inutilizzati e con cui puoi rimuoverli apt-get autoremove.
sepp2k,

2
Uno degli svantaggi di aptitude è l'incapacità di considerare il pinning come fatto da apt-get
txwikinger

4
Aptitude legge correttamente /etc/apt/preferences(e il pinning in esso), ma attualmente ignora /etc/apt/preferences.d/. È un bug noto, quindi c'è speranza che venga risolto presto.
Riccardo Murri,

3
Aptitude ha un'opzione per recuperare il changelog facilmente: aptitude changelog package-name. Non sono a conoscenza di tale funzionalità in apt-get.
Lekensteyn,

21

Immagino sia ormai una questione di scelta personale. Trovo che la digitazione aptitude searchabbia più senso per me di apt-cache searche mi piace il fatto che mi dice quali pacchetti ho installato proprio lì nell'output di ricerca, invece di dover eseguire dpkg -l.


2
+1 Concordato poter vedere se un'applicazione è installata durante la ricerca è molto utile. Anche se trovo che la ricerca di apt-cache sia molto più veloce della ricerca di aptitude.
Mark Davidson,

Uso un alias bash di due lettere per la ricerca di apt-cache, o probabilmente lo userò anch'io aptitude search.
belacqua

Ho notato che apt-getla ricerca è un po 'più approfondita di aptitude. Il secondo sembra solo guardare il nome del pacchetto, mentre il primo cerca anche descrizioni, penso. ad esempio, prova a cercare build-essential.
Sparhawk,

13

In precedenza apt-get non gestiva correttamente le dipendenze e quindi faceva sì che le dipendenze orfane rimanessero in un sistema anche dopo la disinstallazione del pacchetto che le stava usando - questo non è più il caso, per rimuovere le dipendenze orfane utilizzare

sudo apt-get autoremove

aptitude ha sempre fatto bene e tiene traccia delle dipendenze meglio, ma ora entrambi i gestori di pacchetti fanno il loro lavoro.

Su Ubuntu è meglio usare apt-get perché è supportato e approvato dalla compagnia, su debian userei aptitude


2
L'ultima affermazione non è accurata. aptitudeè supportato bene su Ubuntu ed è installato di default. Non c'è alcuna differenza tra Ubuntu e Debian a questo proposito.
loevborg,

3
Viene rimosso dall'installazione predefinita in 10.10
kashif

1
Nella mia esperienza, aptitudeè sempre stato peggio nel tenere traccia delle dipendenze installate. Tende a rimuovere quelli non correlati durante la rimozione di un programma e finisce per rompere altri programmi nel processo ...
Izkata

Di cosa è equivalente apt-get autoremovecon aptitude? Ho dei vecchi kernel che apt-get autoremovemi suggeriscono di rimuoverli, ma non vedo alcun modo per rimuoverli aptitude.
Alexey,

1
@Alexey Puoi usare aptitude remove '~g'. ( Fonte ) Nota che aptitudeoffrirà automaticamente di rimuovere dipendenze non utilizzate quando si rimuovono i pacchetti con esso.
nyuszika7h,

6

Oltre alle altre risposte, vale anche la pena notare che apt-getspesso ricade sulla sua faccia per operazioni semplici e non ha la capacità di gestire disallineamenti della versione di dipendenza o pacchetti rotti (anche se afferma che i pacchetti rotti possono essere riparati con apt-get install -f, ho letteralmente mai visto quel lavoro in tutta la mia vita).

Per qualche ragione, lo uso ancora apt-getper impostazione predefinita, ma quando si verificano problemi, di solito finisco per risolverli aptitude, che non sembra mai incontrare apt-geti numerosi problemi.


Ho anche un'esperienza simile nella risoluzione dei conflitti, aptitudeè un'alternativa molto migliore in tal senso.
Volkan Yazıcı,

1
Per la cronaca, ho appena visto apt-get install -f riparare il mio sistema. aptitude ha avuto problemi, questo l'ha risolto, e quindi la prima cosa che ho fatto è stato installare aptitude :) La scelta è una cosa buona (tm)
teknopaul,

3

Direi che nella mia esperienza personale aptitude e apt-get hanno funzionalità molto simili.

La principale differenza che viene in mente che potrebbe influenzare le scelte degli utenti è che aptitude offre un'interfaccia ncurses e che offre opzioni per l'aggiornamento sicuro e l'aggiornamento completo che possono tornare utili.

Personalmente uso sempre apt-get e consiglio anche ai nuovi utenti di usare apt-get. Con aptitude impostato per essere rimosso da Ubuntu di default come hai detto, questa sembra ancora essere la migliore raccomandazione. Come se volessero usare aptitude dovranno sapere come usare apt-get per installare aptitude se lo vogliono :)


potresti spiegare cos'è un'interfaccia di ncurses per favore?
8128

@fluteflute: ncurses è una libreria utilizzata per realizzare l'interfaccia utente di testo. en.wikipedia.org/wiki/Ncurses
dierre

1

Su un server preferisco Atitude perché ha un'interfaccia piuttosto buona per controllare i log delle modifiche dei pacchetti, gli aggiornamenti selettivi e quel genere di cose. apt-get è però più veloce e lo uso sempre se voglio solo aggiornare tutto senza troppi problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.