Qual è la differenza tra i gestori di pacchetti?


129

Quali sono le differenze tra apt-get, aptitudee synaptic, e quale è la scelta consigliata per la normale gestione del pacchetto giornaliero?

Questa è una domanda di base, ma penso che sarebbe una buona informazione avere sul sito, e inoltre sono relativamente nuovo su Ubuntu in modo da poter usare una spiegazione di esperti.


1
Ho anche visto persone che raccomandavano taskel. Forse qualcuno potrebbe spiegare a cosa serve anche questo?
silvo,

2
taskselserve per selezionare compiti specifici, non per installare J. Random Package.
lfaraone,

Un [eccellente confronto] [1] di apt-gete aptitude, con una menzione speciale della mia front-end preferito, wajig. [1]: unix.stackexchange.com/questions/767/…
tshepang

Per un confronto più dettagliato di apt-gete aptitudevedere un'altra domanda su questo sito - aptitude è davvero meglio di apt-get?
8128

Risposte:


111

Probabilmente i gestori di pacchetti più popolari sono apt-get, aptitude, synaptic e Software Center. Ce ne sono altri (Linux Mint ha i suoi, e alcuni sono progettati per KDE), ma questi sono quelli che incontrerai più spesso.

apt-get è un semplice strumento da riga di comando. È utile se conosci il nome esatto del pacchetto di ciò che vuoi installare e non vuoi perdere tempo facendo clic su una GUI per ottenerlo.

aptitude è molto simile a apt-get e ho sentito che si occupa meglio delle situazioni di dipendenza pazza. Qual è il migliore è discutibile.

synaptic è una GUI di basso livello. Questa è una buona scelta se sei un utente abbastanza avanzato ma non ti senti a tuo agio con le utility da riga di comando.

Software Center è una GUI di altissimo livello e di facile utilizzo. Il software è ben classificato in modo tale che, se non si è esattamente sicuri dell'app che si desidera, è possibile trovare rapidamente ciò di cui si ha bisogno. Il Software Center si distingue anche per il fatto che è l'unico gestore di pacchetti in questo elenco che consente di acquistare applicazioni commerciali.

dpkg è uno standard di gestione dei pacchetti di basso livello e poco utilizzato per la maggior parte dei sistemi basati su Debian. In realtà, apt-get, aptitude, synaptic e Ubuntu Software Center sono solo front-end per dpkg o apt, che è di per sé un front-end per dpkg.

In risposta alla tua domanda "qual è la scelta consigliata per la normale gestione dei pacchetti giorno per giorno", direi che Software Center è consigliato per la maggior parte degli usi. Man mano che acquisisci più esperienza, troverai utili alcune delle funzionalità dei gestori di pacchetti di livello inferiore.


A questo punto mi chiedo quale sia il punto di Synaptic. Le persone che desiderano le librerie utilizzano la riga di comando e le persone che desiderano programmi utilizzano Software Center?
mlissner

Ad essere sincero, raramente uso Synaptic più, e al momento non riesco a pensare a nessun motivo particolare che utilizzerei Synaptic su uno degli altri strumenti (anche se di tanto in tanto lo faccio). Buona domanda.
Michael Crenshaw,

10
aptitude vs apt-get non è discutibile, aptitude è un miglioramento rispetto a apt-get e perfettamente compatibile con esso.
Mircea Chirea,

1
Non ho le conoscenze per discuterne, ma ho visto altri discuterne. Quindi, per quanto ne so, è discutibile. Per quanto riguarda la compatibilità, ho sentito che è meglio non usare entrambi. Ma ancora una volta, non lo so. Lo lascerò per un'altra domanda. :-)
Michael Crenshaw il

3
aptitude consente funzionalità avanzate di gestione dei pacchetti come il mantenimento dei pacchetti a cui manca apt-get.
Scott

18

Le FAQ di Debian hanno una spiegazione abbastanza buona dei diversi gestori di pacchetti. ( dpkg, apt-get, aptitude, tasksel, synaptic)


1
Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - Dalla recensione
Pilot6,

1
Sette anni dopo?
lfaraone,

13

In aggiunta alla risposta eccellente di mac9416 , Kubuntu offre gli stessi strumenti da riga di comando come Ubuntu, vale a dire dpkg, apt-gete aptitude. Esistono anche due gestori di pacchetti grafici:

Adept è una semplice GUI per apt-get, che consente di modificare gli elenchi di sorgenti, sfogliare i pacchetti per categoria o per nome, visualizzarne lo stato e installarli / disinstallarli.

KPackageKit è una semplice GUI per PackageKit, che è un nuovo sistema di gestione dei pacchetti a distribuzione incrociata che utilizza apt-getdietro le quinte. Ti consente di cercare programmi in base a vari criteri, installare e disinstallare programmi, effettuare aggiornamenti di routine e modificare gli elenchi di sorgenti.


KPackageKitè ora sostituito da Apper.
David, il tuo amico, il

6

Personalmente preferisco apt-get perché è un programma da riga di comando. E la sintassi per l'installazione dei pacchetti è molto semplice:

sudo apt-get install nomepacchetto

Uso apt-get su base giornaliera per l'installazione e la rimozione di pacchetti.

Synaptic è basato sulla GUI e aptitude è basato sul testo.


aptitudepuò anche essere usato in modo interattivo e per lungo tempo mancava la maggior parte degli altri client libapt. sudo aptitude installfunziona altrettanto bene sudo apt-get install. sudo apitude searchfunziona altrettanto bene sudo apt-cache search. Tuttavia, l'attitudine è prevista per la rimozione in futuro.
Broam,

@Broam puoi fornire una fonte per l'affermazione che Aptitude è previsto per la rimozione? Cercando su Google non sono riuscito a trovare nulla al riguardo.
aggiunto il

È previsto per la rimozione nell'installazione predefinita, come GIMP.
Broam,


5

Fondamentalmente, differiscono solo per quanto sono di basso livello.

dpkg : nemmeno un vero gestore di pacchetti, apt lo usa

apt-get : riga di comando, solo se si conosce il nome del pacchetto

aptitude : basato sul testo, ma facile da usare

sinaptico : equivalente di attitudine nella GUI

Software Center : per gli utenti di tutti i giorni

A proposito, questi sono tutti front-end di apt (tranne dpkg), che è l'unico gestore di pacchetti su Ubuntu.


1

Un altro strumento che ha appena ricevuto menzione è tasksel. Viene utilizzato per selezionare attività specifiche, contrassegnarle per l'installazione e quindi installarle (eventualmente utilizzando aptitude- non sono sicuro).

Esegui tasksel --list-tasksper dare un'occhiata a quali attività sono disponibili.


Ciò è stato effettivamente citato nei commenti sulla domanda.
David Z,

1
@david Ho visto questa menzione, ma i commenti sono cittadini di seconda classe.
Tshepang,

1

Una differenza fondamentale tra aptitude e apt-get che è sfuggita alla nota precedente è che aptitude, a differenza apt-get, ti offrirà diverse opzioni in caso di scontro di dipendenza. apt-getfallirà semplicemente. aptitudeè molto più flessibile e versatile per questo motivo. Non avendo mai usato un gestore di pacchetti GUI, non so come Synaptic e altri gestiscano tali situazioni.

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.