Introduzione
dpkg in Linux è il gestore di pacchetti principale per i sistemi basati su Debian e Debian, come Ubuntu. Lo strumento installa, compila, rimuove, configura e recupera le informazioni per i pacchetti Debian. Il comando funziona con i pacchetti in .deb formato.
Questa guida esplora il dpkg sintassi e opzioni dei comandi attraverso vari esempi.
Prerequisiti
- Un sistema con un sistema operativo Debian o basato su Debian.
- Accesso alla riga di comando/terminale come sudo.
- Un .deb file per lavorare con gli esempi.
Sintassi del comando dpkg
La sintassi di base per dpkg il comando è:
dpkg [options] action Il comando accetta un'azione e zero o più opzioni.
Il dpkg comando funge da front-end per i seguenti due strumenti:
1. Il dpkg-deb comando, che mostra informazioni su .deb Pacchetti.
2. La dpkg-query comando, che mostra le informazioni dal database dpkg.
Il dpkg comando esegue azioni da dpkg-query e dpkg-deb . Pertanto, i seguenti due comandi mostrano lo stesso risultato:
dpkg -l dpkg-query -l
L'azione -l è una dpkg-query azione che elenca tutti i pacchetti dal database dpkg. Il dpkg il comando rileva le opzioni esterne ed esegue dpkg-query automaticamente.
Opzioni comando dpkg
La tabella seguente fornisce brevi descrizioni delle opzioni e delle azioni comunemente utilizzate per dpkg comando.
| Sintassi | Digita | Descrizione |
|---|---|---|
-i <package.deb> --install <package.deb> | Azione | Installa il pacchetto. |
--unpack <package.deb> | Azione | Decomprime il pacchetto senza configurazione. |
--configure <package> | Azione | Configura un pacchetto decompresso. |
-r <package> --remove <package> | Azione | Rimuove un pacchetto installato. Non rimuove i file di configurazione e altri dati. |
-P <package> --purge <package> | Azione | Elimina un pacchetto installato o rimosso. Elimina i file di configurazione e altri dati. |
--get-selections | Azione | Recupera i pacchetti con le selezioni correnti. |
--set-selections | Azione | Imposta gli stati di selezione dei file da un file letto dallo standard input. |
-b <directory> --build <directory> | Azione (da dpkg-deb) | Costruisce un .deb pacchetto. |
-c <package.deb> --contents <package.deb> | Azione (da dpkg-deb) | Elenchi contenuto della confezione. |
-I <package.deb> --info <package.deb> | Azione (da dpkg-deb) | Mostra informazioni su un pacchetto. |
-l <pattern> --list <pattern> | Azione (dalla query dpkg) | Elenca i pacchetti facendo corrispondere il modello. |
-L <package> --listfiles <package> | Azione (dalla query dpkg) | Elenca le posizioni dei file del pacchetto installato. |
-s <package> --status <package> | Azione (dalla query dpkg) | Mostra lo stato di un pacchetto installato. |
-S <pattern> --search <pattern> | Azione (dalla query dpkg) | Cerca un modello nei pacchetti installati. |
-R --recursive | Opzione | Gestisce ricorsivamente l'azione nella directory e nelle sottodirectory di destinazione. |
--log=<file> | Opzione | Registra gli aggiornamenti delle modifiche allo stato in un file. |
--no-act --dry-run --simulate | Opzione | Mostra l'output senza eseguire il commit delle modifiche. Utilizzare prima dell'azione. |
Le azioni che modificano il sistema, come l'installazione o la rimozione di pacchetti, richiedono privilegi sudo. Le opzioni basate sulle informazioni non richiedono privilegi utente speciali.
La gestione degli accessi privilegiati aiuta a proteggere il sistema impedendo agli utenti regolari di apportare modifiche a livello di sistema.
Esempi di comando dpkg
Se hai un .deb pacchetto, continuare con gli esempi seguenti. In caso contrario, scarica un semplice .deb pacchetto per i test, come il cowsay espediente da riga di comando.
Per ottenere il file, esegui quanto segue:
wget http://archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg2-4_all.deb
Conferma il .deb file scaricato elencando il contenuto della directory con il comando ls:
ls -l *.deb
L'output mostra il .deb pacchetto.
Installa pacchetto
Installa un pacchetto Debian con dpkg comando e il -i o --install tag:
sudo dpkg -i <package.deb> Ad esempio:
sudo dpkg -i cowsay_3.03+dfsg2-4_all.deb
Il comando richiede sudo per installare un .deb pacchetto.
Elenca i pacchetti conosciuti
Per elencare tutti i pacchetti conosciuti, usa il -l tag:
dpkg -l
Il comando stampa i pacchetti in modalità pager. Naviga utilizzando i tasti freccia oppure usa lo spazio elencare per pagina. Premi q per uscire dalla lista. Le colonne elencano il nome, la versione, l'architettura e la descrizione di ogni pacchetto.
Le prime tre colonne forniscono una panoramica completa dello stato del pacchetto:
1. Selezione azione:
u- Sconosciutoi- Installah- Tienir- Rimuovip- Elimina
2. Stato del pacchetto:
n- Non installatoc- File di configurazioneH- Installato a metàU- DisimballatoF- Configurato a metàW- In attesa di triggert- Trigger in sospesoi- Installato
3. Flag di errore:
R- Necessaria la reinstallazione<empty>- Nessun errore
Pertanto, uno stato del pacchetto "ii " significa dpkg installato correttamente il pacchetto selezionato per l'installazione senza errori.
Per recuperare un'istanza specifica dall'elenco, utilizza:
dpkg -l <package> Ad esempio:
dpkg -l cowsay
Per elencare più pacchetti, separa ogni nome di pacchetto con uno spazio.
Rimuovi pacchetto
Per rimuovere un pacchetto Debian, utilizzare il seguente comando:
dpkg -r <package> Ad esempio, per rimuovere il pacchetto cowsay, utilizzare:
sudo dpkg -r cowsay
Il -r l'opzione non rimuove i file di configurazione. Utilizzare questa opzione durante la rimozione del software per la reinstallazione.
Pacchetto di eliminazione
Per eliminare un pacchetto, utilizza il -P opzione:
sudo dpkg -P <package> Ad esempio:
sudo dpkg -P cowsay
Il comando rimuove un pacchetto insieme a tutti i file di configurazione. Usa l'eliminazione per rimuovere del tutto un programma dal sistema.
Mostra contenuto pacchetto
Un .deb pacchetto contiene diversi file e directory, che indicano dove risiede il pacchetto dopo l'installazione o la decompressione.
Per visualizzare il contenuto del pacchetto, esegui:
dpkg -c <package.deb> Ad esempio:
dpkg -c cowsay*
L'output mostra tutti i file e le directory in .deb file del pacchetto. Il pacchetto di esempio risiede in /usr/games/ e /usr/share/ dopo l'installazione o il disimballaggio.
Disimballare il pacchetto
Per decomprimere il pacchetto senza configurazione, utilizzare:
sudo dpkg --unpack <package.deb> Ad esempio:
sudo dpkg --unpack cowsay*
Il comando decomprime tutti i file dal pacchetto.
Configura pacchetto
Per configurare un .deb decompresso pacchetto o riconfigurare un pacchetto installato, utilizzare:
dpkg --configure <package> Ad esempio:
sudo dpkg --configure cowsay
La decompressione e la configurazione di un pacchetto Debian divide il processo di installazione in due passaggi.
Verifica se il pacchetto è installato
Per verificare se un pacchetto è installato, utilizza il -s tag:
dpkg -s <package> Ad esempio:
dpkg -s cowsay
Lo Stato la riga mostra se un pacchetto è installato.
Mostra informazioni sul pacchetto
Per mostrare le informazioni sul pacchetto direttamente da .deb file, utilizzare il seguente comando:
dpkg -I <package.deb> Ad esempio:
dpkg -I cowsay*
Il comando mostra le informazioni sul pacchetto, come le dimensioni, le dipendenze e i riferimenti alla documentazione. Utilizzare questo metodo per controllare le informazioni sul pacchetto prima di installare un pacchetto.
Installa tutti i pacchetti da una directory
Usa il -R opzione prima di -i per installare i pacchetti in modo ricorsivo:
dpkg -R -i <directory>
Il comando installa tutti i pacchetti che si trovano nella directory e tutte le sottodirectory. Se più istanze dello stesso pacchetto vengono decompresse, si verifica una sola configurazione.
Elenca le posizioni dei file di pacchetto installati
Per elencare i file del pacchetto e la loro posizione, usa il -L tag:
dpkg -L <package> Ad esempio:
dpkg -L cowsay
L'output elenca tutte le directory e le posizioni dei file.
Ottieni le selezioni di pacchetti
Per recuperare i nomi dei pacchetti in base alla selezione, utilizzare:
dpkg --get-selections
L'elenco mostra i nomi dei pacchetti e il contrassegno di selezione.
Elenca i pacchetti installati
Per recuperare un elenco di pacchetti installati, utilizzare il comando seguente:
dpkg --get-selections | grep -v "deinstall" | awk '{ print $1 }'
Il comando esegue le seguenti operazioni:
grepfiltra i pacchetti contrassegnati da"deinstall".awkstampa solo la prima colonna con i nomi dei pacchetti.
Utilizzare questo metodo quando è necessario un elenco di programmi installati.
Imposta le selezioni dei pacchetti
Imposta la selezione del pacchetto per un pacchetto nel seguente formato:
echo <package> <state> | dpkg --set-selections Il comando prevede lo stato del pacchetto come input standard. Le condizioni possibili sono:
installholddeinstallpurgeunknown
Ad esempio, per interrompere l'aggiornamento di un pacchetto, utilizzare:
echo cowsay hold | sudo dpkg --set-selections Il pacchetto è in stato di attesa, il che significa che il programma non riceve aggiornamenti automatici.
Cerca il pacchetto contenente i file
Per trovare un pacchetto contenente un file, utilizza il -S opzione:
dpkg -S <pattern> Ad esempio, cerca apt-get:
dpkg -S apt-get
L'output mostra apt-get appartiene all'apt pacchetto.
In alternativa, cerca un file specifico. Ad esempio:
dpgk -S gnu.cow
L'output mostra che il file appartiene al pacchetto cowsay.
Confronta le versioni
Il dpkg Il comando offre uno strumento per confrontare i numeri di versione del programma. La sintassi è:
dpkg --compare-versions <version number> <comparison operator> <version number> I possibili operatori di confronto sono:
lt- Rigorosamente inferiore ale- Minore o uguale aeq- Ugualene- Non ugualege- Maggiore o uguale agt- Rigorosamente maggiore di
dpkg restituisce 0 (successo) per un confronto corretto e un valore diverso da zero per errore.
Ad esempio, confronta i seguenti numeri di versione:
dpkg --compare-versions 1.2-3 gt 1.1-4 echo $?
Il comando restituisce 0 , indicando che il numero della prima versione è maggiore della seconda.
Supporto multi-architettura
Tutti i pacchetti Debian contengono informazioni sull'architettura supportata. La restrizione garantisce che il sistema non finisca con i binari per un'architettura errata.
Alcune architetture supportano architetture diverse in modo nativo. Ad esempio, un amd64 (un sistema a 64 bit) supporta le installazioni i386 (un sistema a 32 bit).
Il dpkg il comando corrisponde all'architettura dell'host. Recupera le informazioni con:
dpkg --print-architecture
Per vedere il supporto dell'architettura straniera, usa:
dpkg --print-foreign-architectures
Per aggiungere o rimuovere il supporto dell'architettura, usa:
sudo dpkg --add-architecture <architecture name> sudo dpkg --remove-architecture <architecture name> In entrambi i casi, le architetture straniere elencano immediatamente gli aggiornamenti con le modifiche.
Verifica la versione del comando dpkg
Per verificare quale versione di dpkg è in esecuzione nel sistema, utilizzare:
dpkg --version
L'output mostra la versione di dpkg insieme all'architettura.
Stampa guida
Per mostrare un semplice menu di aiuto, usa il seguente comando:
dpkg --help
Usa il comando man per trovare la documentazione completa.