15 praktische Beispiele für „dpkg-Befehle“ für Debian-basierte Distributionen
Debian GNU/Linux, das Mutter-Betriebssystem einer Reihe von Linux-Distributionen, darunter Knoppix, Kali, Ubuntu, Mint usw. verwendet verschiedene Paketmanager wie dpkg, apt , aptitude, synaptic, tasksel, deselect, dpkg-deb und dpkg-split.
Wir werden jeden dieser Punkte kurz beschreiben, bevor wir uns auf den Befehl „dpkg“ konzentrieren.
APT-Befehl
Apt steht für Advanced Package Tool. Es befasst sich nicht mit dem Paket „deb“ und funktioniert direkt, sondern mit dem Archiv „deb“ von dem in „/etc/apt/“ angegebenen Speicherort aus. „sources.list“-Datei.
Weiterlesen: 25 nützliche Grundbefehle von APT-GET-Befehlen
Eignung
Aptitude ist ein textbasierter Paketmanager für Debian, der das Frontend für „apt“ darstellt und es Benutzern ermöglicht, Pakete einfach zu verwalten.
Synaptisch
Grafischer Paketmanager, der es auch Anfängern leicht macht, Pakete zu installieren, zu aktualisieren und zu deinstallieren.
Aufgabensel
Mit Tasksel kann der Benutzer alle relevanten Pakete im Zusammenhang mit einer bestimmten Aufgabe, nämlich der Desktop-Umgebung, installieren.
Abwählen
Ein menügesteuertes Paketverwaltungstool, das ursprünglich bei der Erstinstallation verwendet wurde und jetzt durch aptitude ersetzt wird.
Dpkg-deb
Interagiert mit dem Debian-Archiv.
Dpkg-split
Nützlich beim Aufteilen und Zusammenführen großer Dateien in kleine Dateiblöcke, die auf kleineren Medien wie einer Diskette gespeichert werden sollen.
Dpkg-Befehl
dpkg ist das Hauptpaketverwaltungsprogramm in Debian und Debian-basierten Systemen. Es wird zum Installieren, Erstellen, Entfernen und Verwalten von Paketen verwendet. Aptitude ist das primäre Frontend für dpkg.
Einige der am häufigsten verwendeten dpkg-Befehle zusammen mit ihrer Verwendung sind hier aufgelistet:
1. Installieren Sie ein Paket
Um ein „.deb“-Paket zu installieren, verwenden Sie den Befehl mit der Option „-i“. Um beispielsweise ein „.deb“-Paket mit dem Namen „flashpluginnonfree_2.8.2+squeeze1_i386.deb“ zu installieren, verwenden Sie den folgenden Befehl.
[root@tecmint~]# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
--2013-10-01 16:23:40-- http://fpdownload.macromedia.com/get/flashplayer/pdc/11.2.202.310/install_flash_player_11_linux.i386.tar.gz
Resolving fpdownload.macromedia.com (fpdownload.macromedia.com)... 23.64.66.70
Connecting to fpdownload.macromedia.com (fpdownload.macromedia.com)|23.64.66.70|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6923724 (6.6M) [application/x-gzip]
Saving to: ‘/tmp/flashplugin-nonfree.FPxQ4l02fL/install_flash_player_11_linux.i386.tar.gz’
2. Listen Sie alle installierten Pakete auf
Um alle installierten Pakete anzuzeigen und aufzulisten, verwenden Sie die Option „-l“ zusammen mit dem Befehl.
[root@tecmint~]# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-===============================================================================
ii accerciser 3.8.0-0ubuntu1 all interactive Python accessibility explorer for the GNOME desktop
ii account-plugin-aim 3.6.4-0ubuntu4.1 i386 Messaging account plugin for AIM
ii account-plugin-facebook 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - facebook
ii account-plugin-flickr 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - flickr
ii account-plugin-generic-oauth 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - generic OAuth
ii account-plugin-google 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon
rc account-plugin-identica 0.10bzr13.03.26-0ubuntu1 i386 GNOME Control Center account plugin for single signon - identica
ii account-plugin-jabber 3.6.4-0ubuntu4.1 i386 Messaging account plugin for Jabber/XMPP
....
Um anzuzeigen, ob ein bestimmtes Paket installiert ist oder nicht, verwenden Sie die Option „-l“ zusammen mit dem Paketnamen. Überprüfen Sie beispielsweise, ob das Paket Apache2 installiert ist oder nicht.
[root@tecmint~]# dpkg -l apache2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================================-========================-==============================================
ii apache2 2.2.22-6ubuntu5.1 i386 Apache HTTP Server metapackage
3. Entfernen Sie ein Paket
Um das Paket „.deb“ zu entfernen, müssen wir den Paketnamen „flashpluginnonfree“ angeben, nicht den ursprünglichen Namen „flashplugin-nonfree_3.2_i386.deb “. “. Die Option „-r“ wird zum Entfernen/Deinstallieren eines Pakets verwendet.
[root@tecmint~]# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.)
Removing flashpluginnonfree ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Sie können anstelle von „r“ auch die Option „p“ verwenden, wodurch das Paket zusammen mit der Konfigurationsdatei entfernt wird. Die Option „r“ entfernt nur das Paket und keine Konfigurationsdateien.
[root@tecmint~]# dpkg -p flashpluginnonfree
4. Zeigen Sie den Inhalt eines Pakets an
Um den Inhalt eines bestimmten Pakets anzuzeigen, verwenden Sie wie gezeigt die Option „-c“. Der Befehl zeigt den Inhalt eines „.deb“-Pakets im Langlistenformat an.
[root@tecmint~]# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root 0 2012-12-14 22:54 ./
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/mozilla/plugins/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/lib/flashplugin-nonfree/
-rw-r--r-- root/root 3920 2009-09-09 22:51 ./usr/lib/flashplugin-nonfree/pubkey.asc
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/man/man8/
-rw-r--r-- root/root 716 2012-12-14 22:54 ./usr/share/man/man8/update-flashplugin-nonfree.8.gz
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/applications/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/
drwxr-xr-x root/root 0 2012-12-14 22:54 ./usr/share/icons/hicolor/24x24/
....
5. Überprüfen Sie, ob ein Paket installiert ist oder nicht
Wenn Sie die Option „-s“ mit dem Paketnamen verwenden, wird angezeigt, ob ein Deb-Paket installiert ist oder nicht.
[root@tecmint~]# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
Section: contrib/web
Installed-Size: 177
Maintainer: Bart Martens <[email >
Architecture: i386
Version: 1:3.2
Replaces: flashplugin (<< 6)
Depends: debconf | debconf-2.0, wget, gnupg, libatk1.0-0, libcairo2, libfontconfig1, libfreetype6, libgcc1, libglib2.0-0, libgtk2.0-0 (>= 2.14), libnspr4, libnss3, libpango1.0-0, libstdc++6, libx11-6, libxext6, libxt6, libcurl3-gnutls, binutils
Suggests: iceweasel, konqueror-nsplugins, ttf-mscorefonts-installer, ttf-dejavu, ttf-xfree86-nonfree, flashplugin-nonfree-extrasound, hal
Conflicts: flashplayer-mozilla, flashplugin (<< 6), libflash-mozplugin, xfs (<< 1:1.0.1-5)
Description: Adobe Flash Player - browser plugin
...
6. Überprüfen Sie den Speicherort der installierten Pakete
Um den Speicherort der Dateien aufzulisten, die ab Paketname auf Ihrem System installiert werden sollen.
[root@tecmint~]# dpkg -L flashplugin-nonfree
/.
/usr
/usr/bin
/usr/lib
/usr/lib/mozilla
/usr/lib/mozilla/plugins
/usr/lib/flashplugin-nonfree
/usr/lib/flashplugin-nonfree/pubkey.asc
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/update-flashplugin-nonfree.8.gz
/usr/share/applications
/usr/share/icons
/usr/share/icons/hicolor
...
7. Installieren Sie alle Pakete aus einem Verzeichnis
Installieren Sie rekursiv alle regulären Dateien, die dem Muster „*.deb“ entsprechen und in den angegebenen Verzeichnissen und allen Unterverzeichnissen gefunden werden. Dies kann mit den Optionen „-R“ und „–install“ verwendet werden. Zum Beispiel werde ich alle „.deb“-Pakete aus dem Verzeichnis namens „debpackages“ installieren.
[root@tecmint~]# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
8. Packen Sie das Paket aus, aber konfigurieren Sie es nicht
Mit der Aktion „–unpack“ wird das Paket entpackt, aber nicht installiert oder konfiguriert.
[root@tecmint~]# dpkg --unpack flashplugin-nonfree_3.2_i386.deb
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus ...
9. Konfigurieren Sie ein entpacktes Paket neu
Die Option „–configure“ konfiguriert ein bereits entpacktes Paket neu.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
10. Ersetzen Sie die verfügbaren Paketinformationen
Die Option „–-update-avail“ ersetzt die alten Informationen durch die verfügbaren Informationen in der Paketdatei.
[root@tecmint~]# dpkg –-update-avail package_name
11. Vorhandene verfügbare Informationen des Pakets löschen
Die Aktion „–clear-avaial“ löscht die aktuellen Informationen darüber, welche Pakete verfügbar sind.
[root@tecmint~]# dpkg –-clear-avail
12. Vergessen Sie deinstallierte und nicht verfügbare Pakete
Der dpkg-Befehl mit der Option „–forget-old-unavail“ vergisst automatisch deinstallierte und nicht verfügbare Pakete.
[root@tecmint~]# dpkg --forget-old-unavail
13. dpkg-Lizenz anzeigen
[root@tecmint~]# dpkg --licence
14. Dpkg-Version anzeigen
Das Argument „–version“ zeigt Informationen zur Dpkg-Version an.
[root@tecmint~]# dpkg –version
Debian `dpkg' package management program version 1.16.10 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
15. Holen Sie sich die gesamte Hilfe zu dpkg
Die Option „–help“ zeigt eine Liste der verfügbaren Optionen des Befehls dpkg an.
[root@tecmint~]# dpkg –help
Usage: dpkg [<option> ...] <command>
Commands:
-i|--install <.deb file name> ... | -R|--recursive <directory> ...
--unpack <.deb file name> ... | -R|--recursive <directory> ...
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending
--triggers-only <package> ... | -a|--pending
-r|--remove <package> ... | -a|--pending
-P|--purge <package> ... | -a|--pending
--get-selections [<pattern> ...] Get list of selections to stdout.
--set-selections Set package selections from stdin.
--clear-selections Deselect every non-essential package.
--update-avail <Packages-file> Replace available packages info.
--merge-avail <Packages-file> Merge with info from file.
--clear-avail Erase existing available info.
--forget-old-unavail Forget uninstalled unavailable pkgs.
-s|--status <package> ... Display package status details.
...
Das ist alles für den Moment. Ich bin bald wieder mit einem weiteren interessanten Artikel hier. Wenn ich einen Befehl in der Liste verpasst habe, lassen Sie es mich bitte per Kommentar wissen. Bis dahin bleiben Sie dran und bleiben Sie mit Tecmint in Verbindung. Liken und teilen Sie uns und helfen Sie uns, uns zu verbreiten. Vergessen Sie nicht, Ihre wertvollen Gedanken im Kommentar zu erwähnen.