Quando si installa un software tramite dpkg -i packageA.deb
, le dipendenze richieste da packageA
verranno scaricate e installate automaticamente? In che modo è diverso dall'uso apt-get
o aptitude
?
Quando si installa un software tramite dpkg -i packageA.deb
, le dipendenze richieste da packageA
verranno scaricate e installate automaticamente? In che modo è diverso dall'uso apt-get
o aptitude
?
Risposte:
No, dpkg
installa solo un pacchetto, quindi dpkg -i packageName.deb
installando solo questo pacchetto Deb e ti avviseremo di tutte le dipendenze che devono essere installate, ma non le installerà e non configurerà il packageName.deb
perché bene ... le dipendenze sono non lì.
apt-get
è un sistema di gestione dei pacchetti che gestisce l'installazione dei pacchetti Deb su distribuzioni Linux basate su Debian . Un sistema di gestione dei pacchetti è un insieme di strumenti che ti aiuteranno a installare, rimuovere e cambiare facilmente i pacchetti. Quindi apt-get
è come un furbo dpkg
.
Mi piace pensare alla sequenza temporale in questo modo (il seguente è solo io che parlo per esperienza. È pensato solo per darti un'idea di tutto questo):
Hanno trovato un modo per "archiviare" i file di un'applicazione in un "pacchetto" in modo che possa essere facilmente installato. Quindi, è nato il pacchetto Deb ( .deb
file di estensione ).
Un
.deb
file contiene i file necessari per l'esecuzione di un'applicazione, nonché (mi piace chiamarlo) "metadati" che contengono altre informazioni, come i nomi delle dipendenze di cui l'applicazione ha bisogno. Se vuoi vedere il contenuto di un.deb
file, puoi usare il comandodpkg -c packageName.deb
e se vuoi vedere queste informazioni "meta-dati", usa il comandodpkg -I pacakgeName.deb
(e se vuoi vedere solo le dipendenze, fallodpkg -I packageName.deb | grep Depends
).
Avevano bisogno di uno strumento per installare questi .deb
file, quindi hanno creato lo dpkg
strumento. Questo strumento, tuttavia, installerà semplicemente il .deb
file, ma non installerà le sue dipendenze perché non ha quei file e non ha accesso ai "repository" da cui estrarre le dipendenze.
apt-get
, che automatizza i problemi nel punto precedente. Sotto il cofano, apt-get
è fondamentalmente dpkg
(mi piace pensarlo come apt-get
un front-end per dpkg
), ma intelligente che cercherà le dipendenze e le installerà. Controlla anche le dipendenze attualmente installate e determina quelle che non vengono utilizzate da nessun altro pacchetto e ti informerà che puoi rimuoverle.aptitude
poi è arrivato. Utilizza le biblioteche apt-get
usi e in realtà ha un'interfaccia utente interattivo (interfaccia utente). Se vuoi vedere questa UI, digita semplicemente aptitude
il terminale. Questo è aptitude
. Sfrutta le librerie per fornire più opzioni e vantaggi rispetto a apt-get
. Ad esempio, aptitude
rimuoverà automaticamente i pacchetti idonei, mentre apt-get
per farlo è necessario un comando separato. Ma, alla fine, fare sudo aptitude install packageName.deb
dovrebbe almeno essere lo stesso di sudo apt-get install packageName.deb
. Potrebbero esserci sottili differenze qua e là di cui non sono a conoscenza, ma entrambi cercheranno le dipendenze e faranno tutte quelle cose. Puoi leggere la risposta qui per maggiori informazioni sulle differenze tra aptitude
e apt-get
.
Inoltre, aptitude
non ha Super Cow Power.
EDIT: Apparentemente, lo fa.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
potrebbe non essere installato per impostazione predefinita. Per installarlo, fai sudo apt-get install aptitude
o fai clic su questo: aptitude .
Le seguenti informazioni non rispondono direttamente " Qual è la differenza tra dpkg e aptitude / apt-get? " Ma contribuisce al quadro generale.
Da Carlos Campderrós ' commento qui sotto :
gdebi
è un altro strumento che è una specie di miscela tra apt-get
e aptitude
. Quando lo usi per installare un .deb
pacchetto ( gdebi packageName.deb
), identificherà le dipendenze mancanti, le installerà usando apt-get
e infine installerà e configurerà il pacchetto usando dpkg
. Ha anche una GUI semplice e accurata che ti fornisce informazioni sul .deb
pacchetto, i file inclusi nel pacchetto e quali dipendenze devono essere installate. Per vedere questa GUI, lo faresti gdebi-gtk packageName.deb
. Puoi gdebi
provare installandolo con sudo apt-get install gdebi
o fai clic su questo: gdebi .
Non voglio confondere nessuno, ma solo per darti un'altra parte dell'immagine, c'è un altro popolare formato di pacchetto Linux chiamato RPM, e i suoi file hanno l' .rpm
estensione. Questo formato di pacchetto viene utilizzato su distribuzioni Linux basate su RPM (come Red Hat, CentOS e Fedora). Usano il comando rpm
per installare un pacchetto, ed yum
è il front-end per esso, è quello intelligente. Quindi i loro .rpm
file sono i nostri .deb
file, il loro rpm
strumento è il nostro dpkg
strumento e il loro yum
è il nostro apt-get
.
Da Paddy Landau 's commento qui sotto :
alien
è uno strumento che converte tra .rpm
e .deb
pacchetti. Quindi, se mai ti capita di trovarti nella situazione in cui hai un .rpm
pacchetto e vuoi installarlo sul tuo Ubuntu (o su qualsiasi altra distribuzione basata su Debian), puoi usare il comando alien rpm_packageName.rpm
per convertirlo .deb
e quindi installarlo usando dpkg
. Puoi fare il contrario (convertire .deb
in .rpm
) usando alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
) che mescola apt-get
/ aptitude
con dpkg
. Lo chiami con gdebi some_package.deb
e analizzerà le sue dipendenze, chiamerai apt-get
per installare quelle mancanti e quando tutte le dipendenze saranno soddisfatte, quindi chiamerai dpkg
per installare finalmente il tuo pacchetto.
alien
converte i pacchetti tra .rpm
e .deb
. Ciò è utile per i pacchetti disponibili per RPM ma non per DEB (o viceversa). Ad esempio, alien packagename.rpm
per renderlo utilizzabile per Ubuntu.
aptitude
non è un frontend per apt-get
. Entrambi i programmi sono frontend per la libapt-pkg
libreria.
La gestione dei pacchetti apt-get
avviene di pari passo con il /etc/apt/sources.list
file.
apt-get install <package_name>
installa un nuovo pacchetto sul tuo computer.
apt-get build-dep <package_name>
Questo comando cerca nei repository e installa le dipendenze di compilazione. Se il pacchetto non è nei repository restituirà un errore.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get consente l'installazione di più pacchetti. separare i pacchetti con uno spazio.
auto-apt run <command_string>
Quando viene richiamato, il comando auto-apt installa automaticamente i pacchetti in caso di accesso al file mancante. Se un programma tenta di accedere a un file noto per appartenere a un pacchetto disinstallato, auto-apt installerà quel pacchetto usando apt-get
. Questa funzione richiede apt e sudo per funzionare.
Visita la pagina di istruzioni apt-get
aptitude
fornisce la funzionalità dselect
e apt-get
molte funzioni aggiuntive non presenti in nessuno dei programmi.
aptitude
ha una propria shell che è attivata da tastiera o mouse e gira in una finestra terminale
aptitude build-dep <package>
- Installare le dipendenze di compilazione dei pacchetti - il che significa che i pacchetti necessari per compilare (o costruire ) la sua pacchetto sorgente. Ad esempio, molti pacchetti devono debhelper
o autotools
devono essere compilati, ma non sono necessari per l'esecuzione.
Visita la pagina delle istruzioni di aptitude
è uno strumento per installare, compilare, rimuovere e gestire pacchetti Debian. collegamento
dpkg -i <package.deb>
installa un pacchetto Debian sul tuo computer. Non installa dipendenze per quanto posso scoprire dai file della guida.
Per i dettagli digitare dpkg --help
in una finestra del terminale.
una guida alla gestione dei file è disponibile qui
Penso che la cosa più importante e anche una differenza sia notare che è necessario utilizzare lo apt-get
strumento per installare i pacchetti. ( apt
o aptitude
va bene lo stesso).
Questo perché dpkg
si intende installare pacchetti senza installare pacchetti dipendenti. Per questo motivo, l'installazione di un pacchetto con dpkg
, potrebbe causare un problema successivo in cui la risoluzione delle dipendenze potrebbe finire con un sistema guasto.
È necessario utilizzare la riga di comando apt-get
o apt
(dal 14.04) strumento per installare i pacchetti. Questi strumenti stanno usando dpkg
per te e allo stesso tempo hanno il meccanismo di risoluzione delle dipendenze all'interno.