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'utilizzare 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'utilizzare apt-get
o aptitude
?
No, dpkg
installa solo un pacchetto, quindi facendo dpkg -i packageName.deb
installerà solo questo pacchetto Deb e ti informerà di eventuali dipendenze che devono essere installate, ma sarà non installali e non configura packageName.deb
perché ... le dipendenze non sono presenti.
apt-get
è un Sistema di gestione dei pacchetti che gestisce l'installazione dei pacchetti di Deb su distribuzioni Linux basate su Debian . Un sistema di gestione dei pacchetti è un insieme di strumenti che ti aiuteranno a installare, rimuovere e modificare facilmente i pacchetti. Quindi apt-get
è come un intelligente dpkg
.
Mi piace pensare alla timeline in questo modo (il seguente è solo un mio commento sull'esperienza: è pensato solo per darti un'idea di questa cosa):
Sono venuti in mente un modo per "memorizzare" i file di un'applicazione in un "pacchetto" in modo che possa essere facilmente installato. Così è nato il pacchetto Deb ( .deb
file di estensione ).
Un file
.deb
contiene i file necessari a un'applicazione da eseguire, così come (mi piace chiamarlo) "meta-dati" che contiene altre informazioni, come i nomi di le dipendenze richieste dall'applicazione. Se vuoi vedere il contenuto di un file.deb
, puoi usare il comandodpkg -c packageName.deb
, e se vuoi vedere queste informazioni sui "meta-dati", usa il comandodpkg -I pacakgeName.deb
(e se vuoi solo guarda le dipendenze, faidpkg -I packageName.deb | grep Depends
).
Avevano bisogno di uno strumento per installare questi file .deb
, quindi hanno trovato lo strumento dpkg
. Questo strumento, tuttavia, installerà solo il file .deb
, 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 pensare che apt-get
sia un front-end per dpkg
), ma intelligente che cercherà le dipendenze e le installerà. Osserva anche le dipendenze attualmente installate e determina quelle che non vengono utilizzate da altri pacchetti e ti informerà che puoi rimuoverle. aptitude
poi è arrivato. Utilizza le librerie apt-get
utilizza e in realtà ha un'interfaccia utente interattiva (interfaccia utente) . Se vuoi vedere questa interfaccia utente, digita semplicemente aptitude
nel terminale. Questo è aptitude
. Sfrutta le librerie per fornire più opzioni e vantaggi di apt-get
. Ad esempio, aptitude
rimuoverà automaticamente i pacchetti idonei, mentre apt-get
richiede un comando separato per farlo. Ma, alla fine, facendo sudo aptitude install packageName.deb
dovrebbe almeno essere uguale a sudo apt-get install packageName.deb
. Potrebbero esserci sottili differenze qua e là che non so, ma cercheranno entrambe le dipendenze e faranno tutte quelle cose. Puoi leggere la risposta qui per ulteriori informazioni sulle differenze tra aptitude
e apt-get
.
Inoltre, aptitude
non ha Super Cow Powers.
EDIT: Apparentemente, lo fa. % Co_de%.
aptitude -v[v[v[v[v]]]] moo
potrebbe non essere installato per impostazione predefinita. Per installarlo, fai 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 grande quadro.
Da Carlos Campderrós ' commento sotto :
sudo apt-get install aptitude
è un altro strumento che è una specie di miscela tra gdebi
e apt-get
. Quando lo utilizzi per installare un pacchetto aptitude
( .deb
), identifica le dipendenze mancanti, le installa utilizzando gdebi packageName.deb
e infine installa e configura il pacchetto utilizzando apt-get
. Ha anche una GUI semplice e ordinata che fornisce informazioni sul pacchetto dpkg
, i file inclusi nel pacchetto, e quali dipendenze devono essere installate. Per vedere questa GUI, dovresti fare .deb
. Puoi dare una prova di gdebi-gtk packageName.deb
installandola con gdebi
o fare 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, ei suoi file hanno l'estensione sudo apt-get install gdebi
. Questo formato di pacchetto viene utilizzato nelle distribuzioni Linux basate su RPM (come Rosso Hat, CentOS e Fedora). Usano il comando .rpm
per installare un pacchetto e rpm
è il front-end per esso, è quello intelligente. Quindi i loro file yum
sono i nostri file .rpm
, il loro strumento .deb
è il nostro strumento rpm
e il loro dpkg
è il nostro yum
.
Da Paddy Landau 's commento sotto :
apt-get
è uno strumento che converte tra alien
e .rpm
pacchetti. Quindi, se ti trovi nella situazione in cui hai un pacchetto .deb
, e vuoi installare su Ubuntu (o qualsiasi altra distribuzione basata su Debian), puoi usare il comando .rpm
per convertirlo in alien rpm_packageName.rpm
, quindi installarlo utilizzando .deb
. Puoi eseguire l'inverso (converti dpkg
in .deb
) utilizzando .rpm
.
La gestione dei pacchetti tramite apt-get viene eseguita mano nella mano con il file /etc/apt/sources.list.
apt-get install <package_name>
installa un nuovo pacchetto sul tuo computer.
apt-get build-dep <package_name>
Questo comando cerca i repository e installa le dipendenze di build per. Se il pacchetto non si trova nei repository restituirà un errore.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get consente l'installazione di più pacchetti. separa 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 ai file mancanti. Se un programma tenta di accedere a un file noto come appartenente a un pacchetto disinstallato, auto-apt installerà il pacchetto usando apt-get. Questa funzione richiede che apt e sudo funzionino.
Visita la pagina delle istruzioni di apt-get
aptitude
fornisce la funzionalità di dselect
e apt-get
nonché molte funzionalità aggiuntive non presenti in nessuno dei due programmi.
aptitude
ha una shell propria che è attivata da tastiera o mouse e viene eseguita in una finestra di terminale
aptitude build-dep <package>
- Installa le dipendenze di compilazione dei pacchetti - il che significa che i pacchetti necessari per compilare (o compilare ) il suo pacchetto sorgente. Ad esempio, molti pacchetti hanno bisogno di debhelper
o autotools
da costruire, ma non ne hanno bisogno per essere eseguiti.
Visita la pagina delle istruzioni di aptitude
è uno strumento per installare, costruire, rimuovere e gestire i pacchetti Debian. link
dpkg -i <package.deb>
installa un pacchetto Debian sul tuo computer. Non installa alcuna dipendenza per quanto posso scoprire dai file della guida.
Per i dettagli digita dpkg --help
in una finestra di terminale.
puoi trovare una guida alla gestione dei file qui
Penso che la cosa più importante e anche una differenza è che è necessario utilizzare lo strumento apt-get
per installare i pacchetti. ( apt
o aptitude
va bene pure).
Questo perché dpkg
è pensato per installare pacchetti senza installare pacchetti dipendenti.
Per questo motivo, l'installazione di un pacchetto con dpkg
potrebbe portare a un problema successivo in cui la risoluzione delle dipendenze potrebbe finire con un sistema danneggiato.
Dovresti usare lo strumento riga di comando apt-get
o apt
(dal 14.04) per installare i pacchetti. Questi strumenti utilizzano dpkg
per te e allo stesso tempo hanno il meccanismo di risoluzione delle dipendenze all'interno.