it-swarm.it

Qual è la differenza tra i gestori di pacchetti?

Quali sono le differenze tra apt-get, aptitude e synaptic e quale è la scelta consigliata per la normale gestione dei pacchetti di tutti i giorni?

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 da esperto.

129
David Z

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.

sinaptico è 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 alto 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. Ma man mano che acquisisci più esperienza, troverai utili alcune funzionalità dei gestori di pacchetti di livello inferiore.

111
Michael Crenshaw

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

18
lfaraone

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

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

KPackageKit è una semplice GUI per PackageKit, che è un nuovo sistema di gestione dei pacchetti a distribuzione incrociata che utilizza apt-get dietro 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.

13
David Z

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 nome del pacchetto

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

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

6
Nathan Osman

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.

5
Sőrés Viktor

Una differenza fondamentale tra aptitude e apt-get che è sfuggita alla nota precedente è che aptitude, a differenza di apt-get, ti offrirà diverse opzioni in caso di scontro di dipendenza. apt-get fallirà 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.

1
ShankarG

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

Esegui tasksel --list-tasks per vedere quali attività sono disponibili.

1
Tshepang