Úvod
dpkg
v Linuxu je primární správce balíčků pro Debian a systémy založené na Debianu, jako je Ubuntu. Nástroj instaluje, sestavuje, odstraňuje, konfiguruje a získává informace pro balíčky Debianu. Příkaz pracuje s balíčky v .deb formát.
Tento průvodce zkoumá dpkg
syntaxe a možnosti příkazů prostřednictvím různých příkladů.
Předpoklady
- Systém s Debianem nebo OS založeným na Debianu.
- Přístup k příkazovému řádku/terminálu jako sudo.
- A .deb soubor pro práci s příklady.
Syntaxe příkazu dpkg
Základní syntaxe dpkg
příkaz je:
dpkg [options] action
Příkaz přijímá jednu akci a nula nebo více možností.
dpkg
příkaz funguje jako front-end pro následující dva nástroje:
1. dpkg-deb
příkaz, který zobrazuje informace o .deb balíčky.
2. dpkg-query
příkaz, který zobrazuje informace z databáze dpkg.
dpkg
příkaz spouští akce z dpkg-query
a dpkg-deb
. Následující dva příkazy proto zobrazují stejný výsledek:
dpkg -l
dpkg-query -l
Akce -l
je dpkg-query
akce, která vypíše všechny balíčky z databáze dpkg. dpkg
příkaz zjistí cizí možnosti a spustí dpkg-query
automaticky.
Možnosti příkazu dpkg
Níže uvedená tabulka poskytuje stručný popis běžně používaných možností a akcí pro dpkg
příkaz.
Syntaxe | Typ | Popis |
---|---|---|
-i <package.deb> --install <package.deb> | Akce | Nainstaluje balíček. |
--unpack <package.deb> | Akce | Rozbalí balíček bez konfigurace. |
--configure <package> | Akce | Konfiguruje rozbalený balíček. |
-r <package> --remove <package> | Akce | Odstraní nainstalovaný balíček. Neodstraní konfigurační soubory a další data. |
-P <package> --purge <package> | Akce | Vyčistí nainstalovaný nebo odstraněný balíček. Smaže konfigurační soubory a další data. |
--get-selections | Akce | Načte balíčky s aktuálním výběrem. |
--set-selections | Akce | Nastavuje stavy výběru souboru ze souboru načteného ze standardního vstupu. |
-b <directory> --build <directory> | Akce (z dpkg-deb) | Vytvoří .deb balíček. |
-c <package.deb> --contents <package.deb> | Akce (z dpkg-deb) | Seznamy obsah balení. |
-I <package.deb> --info <package.deb> | Akce (z dpkg-deb) | Zobrazuje informace o balíčku. |
-l <pattern> --list <pattern> | Akce (z dpkg-query) | Vypisuje balíčky podle vzoru. |
-L <package> --listfiles <package> | Akce (z dpkg-query) | Uveďte umístění souborů nainstalovaného balíčku. |
-s <package> --status <package> | Akce (z dpkg-query) | Zobrazuje stav nainstalovaného balíčku. |
-S <pattern> --search <pattern> | Akce (z dpkg-query) | Vyhledejte vzor v nainstalovaných balíčcích. |
-R --recursive | Možnost | Zvládá akci rekurzivně v cílovém adresáři a podadresářích. |
--log=<file> | Možnost | Zaznamená do souboru aktualizace změn stavu. |
--no-act --dry-run --simulate | Možnost | Zobrazuje výstup bez potvrzení změn. Použijte před akcí. |
Akce, které mění systém, jako je instalace nebo odstranění balíčku, vyžadují oprávnění sudo. Možnosti založené na informacích nevyžadují zvláštní uživatelská oprávnění.
Správa privilegovaného přístupu pomáhá zabezpečit systém tím, že běžným uživatelům neumožňuje provádět změny v celém systému.
Příklady příkazů dpkg
Pokud máte .deb balíček, pokračujte na příklady níže. Pokud ne, stáhněte si jednoduchý .deb balíček pro testování, jako je cowsay trik příkazového řádku.
Chcete-li získat soubor, spusťte následující:
wget http://archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg2-4_all.deb
Potvrďte .deb soubor stažený výpisem obsahu adresáře pomocí příkazu ls:
ls -l *.deb
Výstup zobrazuje .deb balíček.
Instalovat balíček
Nainstalujte balíček Debianu pomocí dpkg
a -i
nebo --install
tag:
sudo dpkg -i <package.deb>
Například:
sudo dpkg -i cowsay_3.03+dfsg2-4_all.deb
Příkaz vyžaduje sudo k instalaci .deb balíček.
Seznam známých balíčků
Chcete-li vypsat všechny známé balíčky, použijte -l
tag:
dpkg -l
Příkaz vytiskne balíčky v režimu pageru. Procházejte pomocí kláves se šipkami nebo použijte mezera k seznamu po stránce. Stiskněte q pro opuštění seznamu. Ve sloupcích je uveden název, verze, architektura a popis každého balíčku.
První tři sloupce poskytují úplný přehled o stavu balíčku:
1. Výběr akce:
u
- Neznámýi
- Instalovath
- Podržter
- Odebratp
- Vyčistit
2. Stav balíčku:
n
- Není nainstalovánoc
- Konfigurační souboryH
- Napůl nainstalovánU
- RozbalenoF
- Poloviční konfiguraceW
- Čekání na spouštěčet
– Nevyřízené spouštěčei
- Instalováno
3. Příznaky chyb:
R
- Vyžaduje se přeinstalace<empty>
- Žádné chyby
Stav balíčku "ii
" znamená dpkg
úspěšně nainstaloval balíček vybraný k instalaci bez chyb.
Chcete-li načíst konkrétní instanci ze seznamu, použijte:
dpkg -l <package>
Například:
dpkg -l cowsay
Chcete-li vypsat více balíčků, oddělte každý název balíčku mezerou.
Odebrat balíček
Chcete-li odebrat balíček Debianu, použijte následující příkaz:
dpkg -r <package>
Chcete-li například odstranit balíček cowsay, použijte:
sudo dpkg -r cowsay
-r
volba neodstraní konfigurační soubory. Tuto možnost použijte při odebírání softwaru za účelem opětovné instalace.
Vyčistit balíček
K vyčištění balíčku použijte -P
možnost:
sudo dpkg -P <package>
Například:
sudo dpkg -P cowsay
Příkaz odstraní balíček spolu se všemi konfiguračními soubory. K úplnému odstranění programu ze systému použijte purge.
Zobrazit obsah balíčku
.deb balíček obsahuje několik souborů a adresářů, které označují, kde se balíček nachází po instalaci nebo rozbalení.
Chcete-li zobrazit obsah balíčku, spusťte:
dpkg -c <package.deb>
Například:
dpkg -c cowsay*
Výstup zobrazuje všechny soubory a adresáře v .deb soubor balíčku. Ukázkový balíček se nachází v /usr/games/ a /usr/share/ po instalaci nebo rozbalení.
Rozbalit balíček
Pro rozbalení balíčku bez konfigurace použijte:
sudo dpkg --unpack <package.deb>
Například:
sudo dpkg --unpack cowsay*
Příkaz rozbalí všechny soubory z balíčku.
Konfigurovat balíček
Konfigurace rozbaleného souboru .deb balíček nebo překonfigurujte nainstalovaný balíček, použijte:
dpkg --configure <package>
Například:
sudo dpkg --configure cowsay
Rozbalení a konfigurace balíčku Debian rozděluje instalační proces do dvou kroků.
Zkontrolujte, zda je balíček nainstalován
Chcete-li zkontrolovat, zda je balíček nainstalován, použijte -s
tag:
dpkg -s <package>
Například:
dpkg -s cowsay
Stav řádek ukazuje, zda je balíček nainstalován.
Zobrazit informace o balíčku
Chcete-li zobrazit informace o balíčku přímo z .deb soubor, použijte následující příkaz:
dpkg -I <package.deb>
Například:
dpkg -I cowsay*
Příkaz zobrazuje informace o balíčku, jako je velikost, závislosti a odkazy na dokumentaci. Tuto metodu použijte ke kontrole informací o balíčku před instalací balíčku.
Instalovat všechny balíčky z adresáře
Použijte -R
možnost před -i
pro rekurzivní instalaci balíčků:
dpkg -R -i <directory>
Příkaz nainstaluje všechny balíčky umístěné v adresáři a všech podadresářích. Pokud se rozbalí více instancí stejného balíčku, dojde pouze k jedné konfiguraci.
Vypsat umístění souborů nainstalovaných balíčků
Chcete-li zobrazit soubory balíčku a jejich umístění, použijte -L
tag:
dpkg -L <package>
Například:
dpkg -L cowsay
Výstup uvádí všechny adresáře souborů a umístění souborů.
Získejte výběr balíčků
Chcete-li načíst názvy balíčků podle výběru, použijte:
dpkg --get-selections
Seznam zobrazuje názvy balíků a označení výběru.
Seznam nainstalovaných balíčků
Chcete-li načíst seznam nainstalovaných balíčků, použijte následující příkaz:
dpkg --get-selections | grep -v "deinstall" | awk '{ print $1 }'
Příkaz provede následující:
grep
odfiltruje balíčky označené"deinstall"
.awk
vytiskne pouze první sloupec s názvy balíčků.
Tuto metodu použijte, pokud požadujete seznam nainstalovaných programů.
Nastavit výběr balíčků
Nastavte výběr balíčku pro balíček v následujícím formátu:
echo <package> <state> | dpkg --set-selections
Příkaz očekává stav balíčku jako standardní vstup. Možné podmínky jsou:
install
hold
deinstall
purge
unknown
Chcete-li například zastavit aktualizaci balíčku, použijte:
echo cowsay hold | sudo dpkg --set-selections
Balíček je ve stavu pozastavení, což znamená, že program nedostává žádné automatické aktualizace.
Prohledat balíček obsahující soubory
Chcete-li najít balíček obsahující soubor, použijte -S
možnost:
dpkg -S <pattern>
Hledejte například apt-get:
dpkg -S apt-get
Výstup zobrazuje apt-get patří k apt balíček.
Případně vyhledejte konkrétní soubor. Například:
dpgk -S gnu.cow
Výstup ukazuje, že soubor patří do balíčku cowsay.
Porovnat verze
dpkg
příkaz nabízí nástroj pro porovnání čísel verzí programu. Syntaxe je:
dpkg --compare-versions <version number> <comparison operator> <version number>
Možné operátory porovnání jsou:
lt
- Striktně méně nežle
- Menší nebo rovnoeq
- Rovnýne
- Nerovná sege
- Větší nebo rovnogt
- Přísně větší než
dpkg
vrátí 0 (úspěch) pro správné porovnání a nenulovou hodnotu pro selhání.
Porovnejte například následující čísla verzí:
dpkg --compare-versions 1.2-3 gt 1.1-4
echo $?
Příkaz vrátí 0
, což znamená, že první číslo verze je větší než druhé.
Podpora více architektur
Všechny balíčky Debianu obsahují informace o podporované architektuře. Omezení zajišťuje, že systém neskončí s binárními soubory pro nesprávnou architekturu.
Některé architektury nativně podporují různé architektury. Například amd64 (64bitový systém) podporuje instalace i386 (32bitový systém).
dpkg
příkaz odpovídá architektuře hostitele. Získejte informace pomocí:
dpkg --print-architecture
Chcete-li zobrazit podporu zahraniční architektury, použijte:
dpkg --print-foreign-architectures
Chcete-li přidat nebo odebrat podporu architektury, použijte:
sudo dpkg --add-architecture <architecture name>
sudo dpkg --remove-architecture <architecture name>
V obou případech zahraniční architektury vypisují aktualizace se změnami okamžitě.
Zkontrolujte verzi příkazu dpkg
Chcete-li zkontrolovat, jakou verzi dpkg systém běží, použijte:
dpkg --version
Výstup zobrazuje verzi dpkg spolu s architekturou.
Vytisknout nápovědu
Chcete-li zobrazit jednoduchou nabídku nápovědy, použijte následující příkaz:
dpkg --help
Pomocí příkazu man vyhledejte úplnou dokumentaci.