15 praktische voorbeelden van "dpkg-opdrachten" voor op Debian gebaseerde distributies
Debian GNU/Linux, het moeder-besturingssysteem van een aantal Linux-distributies, waaronder Knoppix, Kali, Ubuntu, Mint, enz. gebruiken verschillende pakketbeheerders zoals dpkg, apt , aptitude, synaptic, tasksel, deselecteren, dpkg-deb > en dpkg-split.
We zullen elk van deze kort beschrijven voordat we ons concentreren op de opdracht ‘dpkg’.
APT-opdracht
Apt staat voor Advanced Package Tool. Het werkt niet met het pakket 'deb' en werkt rechtstreeks, maar werkt met het archief 'deb' vanaf de locatie die is opgegeven in “/etc/apt/ bronnen.lijst”-bestand.
Lees meer: 25 nuttige basisopdrachten van APT-GET-opdrachten
Aanleg
Aptitude is een op tekst gebaseerde pakketbeheerder voor Debian die front-end is voor ‘apt‘, waardoor de gebruiker pakketten gemakkelijk kan beheren.
Synaptisch
Grafische pakketbeheerder die het zelfs voor beginners gemakkelijk maakt om pakketten te installeren, upgraden en verwijderen.
Takensel
Met Tasksel kan de gebruiker alle relevante pakketten installeren die verband houden met een specifieke taak, namelijk de desktopomgeving.
Deselecteer
Een menugestuurd pakketbeheertool, aanvankelijk gebruikt tijdens de eerste installatie en nu vervangen door aptitude.
Dpkg-deb
Werkt samen met het Debian-archief.
Dpkg-split
Handig bij het splitsen en samenvoegen van grote bestanden in stukjes van kleine bestanden die kunnen worden opgeslagen op media van kleiner formaat zoals floppy-disk.
Dpkg-opdracht
dpkg is het belangrijkste pakketbeheerprogramma in op Debian en Debian gebaseerde systemen. Het wordt gebruikt om pakketten te installeren, bouwen, verwijderen en beheren. Aptitude is de primaire front-end voor dpkg.
Hier worden enkele van de meest gebruikte dpkg-opdrachten en hun gebruik vermeld:
1. Installeer een pakket
Om een “.deb”-pakket te installeren, gebruikt u de opdracht met de optie “-i”. Om bijvoorbeeld een “.deb”-pakket met de naam “flashpluginnonfree_2.8.2+squeeze1_i386.deb” te installeren, gebruikt u de volgende opdracht.
[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. Maak een lijst van alle geïnstalleerde pakketten
Om alle geïnstalleerde pakketten te bekijken en weer te geven, gebruikt u de optie “-l” samen met de opdracht.
[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
....
Om te zien of een specifiek pakket wel of niet is geïnstalleerd, gebruikt u de optie “-l” samen met pakketnaam. Controleer bijvoorbeeld of het apache2 pakket is geïnstalleerd of niet.
[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. Verwijder een pakket
Om het pakket “.deb” te verwijderen, moeten we de pakketnaam “flashpluginnonfree“ opgeven, en niet de oorspronkelijke naam “flashplugin-nonfree_3.2_i386.deb sterk>“. De optie “-r” wordt gebruikt om een pakket te verwijderen/verwijderen.
[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 ...
U kunt ook de optie ‘p‘ gebruiken in plaats van ‘r’, waardoor het pakket samen met het configuratiebestand wordt verwijderd. De optie ‘r’ verwijdert alleen het pakket en niet de configuratiebestanden.
[root@tecmint~]# dpkg -p flashpluginnonfree
4. Bekijk de inhoud van een pakket
Om de inhoud van een bepaald pakket te bekijken, gebruikt u de optie “-c”, zoals weergegeven. Met de opdracht wordt de inhoud van een “.deb”-pakket weergegeven in een longlist-indeling.
[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. Controleer of een pakket is geïnstalleerd of niet
Als u de optie “-s” gebruikt met de pakketnaam, wordt weergegeven of een deb-pakket is geïnstalleerd of niet.
[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. Controleer de locatie van de geïnstalleerde pakketten
Om de locatie weer te geven van bestanden die op uw systeem moeten worden geïnstalleerd vanaf pakketnaam.
[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. Installeer alle pakketten vanuit een directory
Installeer recursief alle reguliere bestanden die overeenkomen met het patroon “*.deb”, gevonden in de opgegeven mappen en alle submappen ervan. Dit kan worden gebruikt met de opties “-R” en “–install”. Ik zal bijvoorbeeld alle “.deb”-pakketten installeren vanuit de map genaamd “debpackages“.
[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. Pak het pakket uit, maar configureer het niet
Als u de actie “–unpack” gebruikt, wordt het pakket uitgepakt, maar wordt het niet geïnstalleerd of geconfigureerd.
[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. Configureer een uitgepakt pakket opnieuw
De optie “–configure” zal een reeds uitgepakt pakket opnieuw configureren.
[root@tecmint~]# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...
10. Vervang de beschikbare pakketinformatie
De optie “–-update-avail” vervangt de oude informatie door de beschikbare informatie in het pakketbestand.
[root@tecmint~]# dpkg –-update-avail package_name
11. Wis bestaande beschikbare informatie van het pakket
De actie “–clear-avaial” zal de huidige informatie over welke pakketten beschikbaar zijn, wissen.
[root@tecmint~]# dpkg –-clear-avail
12. Vergeet verwijderde en niet-beschikbare pakketten
Het dpkg-commando met de optie “–forget-old-unavail” zal automatisch verwijderde en niet-beschikbare pakketten vergeten.
[root@tecmint~]# dpkg --forget-old-unavail
13. Geef de dpkg-licentie weer
[root@tecmint~]# dpkg --licence
14. Geef de dpkg-versie weer
Het argument “–version” zal de versie-informatie van dpkg weergeven.
[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. Krijg alle hulp over dpkg
De optie “–help” zal een lijst met beschikbare opties van het dpkg-commando weergeven.
[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.
...
Dat is het voor nu. Binnenkort ben ik hier weer met een nieuw interessant artikel. Als ik een opdracht in de lijst heb gemist, laat het me dan weten via reacties. Tot die tijd: blijf op de hoogte en blijf verbonden met Tecmint. Like en deel ons en help ons verspreiden. Vergeet niet uw waardevolle gedachten in commentaar te vermelden.