La mia domanda è semplice: voglio saperne di più su dpkg: cosa fa?
La mia domanda è semplice: voglio saperne di più su dpkg: cosa fa?
Risposte:
Come è stato detto, dpkg
è uno strumento di sistema di basso livello per estrarre, analizzare, decomprimere e installare o rimuovere i file .deb. Tuttavia, è meglio utilizzare Software Centre
o Gdebi
installare o rimuovere i file .deb acquisiti da altre fonti poiché questi due programmi hanno una risoluzione delle dipendenze.
Tuttavia, ciò che non è stato spiegato è l' anatomia di un aggiornamento usando dpkg
e apt-get
. Se, ad esempio, chiamiamo apt-get
per installare cheese
, l'albero delle dipendenze viene analizzato e vengono recuperati i file necessari apt-get
, che poi li passa dpkg
per estrarre, analizzare e installare nelle posizioni corrette e configurarli secondo gli script al loro interno.
Gli script letti dpkg
all'interno di ciascun file .deb sono importanti in quanto forniscono informazioni al programma in merito all'installazione, rimozione e configurazione dei pacchetti. Quindi, quando guardi dentro, /var/log/dpkg.log
ci sono molti dettagli dettagliati su "trigger" e pacchetti che attraversano varie fasi di decompressione e configurazione. Nel suo blog, Raphael Hertzog (che è uno sviluppatore Debian chiave e manutentore del dpkg
pacchetto) spiega di più sui trigger di dpkg e sul modo in cui dpkg
ispeziona e configura i pacchetti.
Ora stiamo arrivando al cuore di ciò che dpkg
fa; gestisce abilmente i pacchetti Debian, piuttosto che le loro dipendenze. Con dpkg-deb
, ad esempio, è possibile eseguire varie azioni nell'analisi e nell'estrazione manuale dei file dagli archivi .deb; vedere man dpkg-deb
per ulteriori informazioni.
Lo stato di ciascun pacchetto è elencato in /var/lib/dpkg/status
, che può essere utilizzato con grep
per verificare un pacchetto specifico. Dpkg
può anche essere chiamato per riconfigurare particolari pacchetti che sono stati configurati (vedi man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
Oppure per effettuare una configurazione di tutti i pacchetti non configurati se si è verificato un problema con un aggiornamento e la configurazione di alcuni pacchetti è ancora in sospeso:
sudo dpkg --configure -a
Per un ottimo tutorial che si concentra su dpkg
e apt-get
, vedere i capitoli 5 e 6 del Manuale Debian , che è la migliore discussione disponibile. Entra man dpkg
nel tuo terminale o visualizza le manpage di Ubuntu online per vedere tutte le molte opzioni disponibili, come usare dpkg -l
per elencare i pacchetti attualmente installati.
dpkg è un modo da riga di comando per installare da un .deb o rimuovere pacchetti già installati. Ad esempio, se nella directory home fosse presente un file .deb, l'esecuzione dpkg -i yourpackage.deb
installerà quel pacchetto. Trovo questo utile almeno per me perché a volte quando si fa clic su un file .deb carica Ubuntu Software Center ma non lo installa mai o ha problemi.
Come sempre, il man
comando è un ottimo punto di partenza.
man dpkg
può darti tutte le opzioni, tuttavia:
dpkg è un gestore di pacchetti per sistemi basati su Debian. Può installare, rimuovere e creare pacchetti, ma a differenza di altri sistemi di gestione dei pacchetti non può scaricare e installare automaticamente i pacchetti e le loro dipendenze.
Quindi sostanzialmente è apt-get senza risoluzione delle dipendenze, ed è usato per installare i file .deb.
Ti avverto però: la disinstallazione dei pacchetti utilizzando dpkg, nella maggior parte dei casi, NON è consigliata. È meglio utilizzare un gestore di pacchetti che gestisce le dipendenze, per garantire che il sistema sia in uno stato coerente.
Ad esempio, utilizzando dpkg -r zip
è possibile rimuovere il pacchetto zip, ma eventuali pacchetti che dipendono da esso verranno comunque installati e potrebbero non funzionare più correttamente.
Puoi leggere qualcosa in più nella guida del server e altrove .