15 Praktiske eksempler på "dpkg-kommandoer" til Debian-baserede distroer


Debian GNU/Linux, moderoperativsystemet til et antal Linux-distributioner inklusive Knoppix, Kali, Ubuntu, Mint osv. Bruger forskellige pakkehåndtering som dpkg, apt, aptitude, synaptic, taskel, fravælg, dpkg-deb og dpkg-split .

Vi vil kort beskrive hver af disse, inden vi fokuserer på kommandoen 'dpkg'.

Apt står for Advanced Package Tool. Det behandler ikke 'deb' pakke og fungerer direkte, men fungerer med 'deb' arkiv fra den placering, der er angivet i "/etc/apt/sources.list" filen.

Læs mere: 25 nyttige grundlæggende kommandoer af APT-GET-kommandoer

Aptitude er en tekstbaseret pakkehåndtering til Debian, som er front-end til 'apt', som gør det muligt for brugeren at administrere pakker let.

Grafisk pakkehåndtering, der gør det let at installere, opgradere og afinstallere pakker, selv til uerfarne.

Tasksel lader brugeren installere alle de relevante pakker relateret til en bestemt opgave, nemlig Desktop-miljø.

Et menudrevet pakkehåndteringsværktøj, der oprindeligt blev brugt under første gang installation og nu erstattes med aptitude.

Interagerer med Debian-arkiv.

Nyttigt til at opdele og flette store filer i klumper af små filer, der skal gemmes på medier af mindre størrelse som diskettedisk.

dpkg er det primære pakkehåndteringsprogram i Debian og Debian-baseret system. Det bruges til at installere, bygge, fjerne og administrere pakker. Færdighed er den primære frontend til dpkg.

Nogle af de mest anvendte dpkg-kommandoer sammen med deres anvendelser er angivet her:

1. Installer en pakke

For at installere en ".deb" -pakke, skal du bruge kommandoen med "-i". For eksempel, for at installere en “.deb” -pakke kaldet “flashpluginnonfree_2.8.2 + squeeze1_i386.deb” skal du bruge følgende kommando.

 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. Liste over alle de installerede pakker

For at se og liste alle de installerede pakker skal du bruge “-l” -indstillingen sammen med kommandoen.

 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
....

For at se en bestemt installeret pakke eller ikke bruge indstillingen “-l” sammen med pakke-navn. Kontroller for eksempel, om apache2-pakken er installeret eller ej.

 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. Fjern en pakke

For at fjerne ".deb" -pakken skal vi angive pakkenavnet "flashpluginnonfree", ikke det originale navn "flashplugin-nonfree_3.2_i386.deb". Indstillingen “-r” bruges til at fjerne/afinstallere en pakke.

 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 ...

Du kan også bruge 'p' i stedet for 'r', som fjerner pakken sammen med konfigurationsfilen. Muligheden ‘r’ fjerner kun pakken og ikke konfigurationsfiler.

 dpkg -p flashpluginnonfree

4. Se indholdet af en pakke

Hvis du vil se indholdet af en bestemt pakke, skal du bruge indstillingen “-c” som vist. Kommandoen viser indholdet af en ".deb" -pakke i langlisteformat.

 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. Kontroller, at en pakke er installeret eller ej

Brug af “-s” -indstillingen med pakkenavn viser, om en deb-pakke er installeret eller ej.

[r[email ~]# 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. Kontroller placeringen af installerede pakker

For at liste placeringen af filer, der skal installeres på dit system fra pakke-navn.

 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. Installer alle pakker fra et bibliotek

Installer rekursivt alle de almindelige filer, der matcher mønsteret "* .deb", der findes i specificerede mapper og alle dets underkataloger. Dette kan bruges med indstillingerne “-R” og “–install”. For eksempel vil jeg installere alle ".deb" -pakkerne fra biblioteket kaldet "debpackages".

 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 pakken ud, men konfigurer ikke

Brug af handling “–upakke” udpakker pakken, men den installerer eller konfigurerer den ikke.

 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. Omkonfigurer en udpakket pakke

Indstillingen “–konfigurer” konfigurerer en allerede udpakket pakke.

 dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...

10. Udskift tilgængelige pakkeoplysninger

Indstillingen “–update-avail” erstatter de gamle oplysninger med de tilgængelige oplysninger i pakken-filen.

 dpkg –-update-avail package_name

11. Slet eksisterende oplysninger om pakken

Handlingen “–clear-avaial” sletter den aktuelle information om, hvilke pakker der er tilgængelige.

 dpkg –-clear-avail

12. Glem afinstallerede og ikke-tilgængelige pakker

Kommandoen dpkg med indstillingen "–forget-old-unavail" glemmer automatisk afinstallerede og utilgængelige pakker.

 dpkg --forget-old-unavail

13. Vis dpkg-licens

 dpkg --licence

14. Vis dpkg-version

Argumentet “–version” viser dpkg-versionoplysninger.

 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. Få al hjælp om dpkg

Indstillingen “–hjælp” viser en liste over tilgængelige indstillinger for dpkg-kommandoen.

 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.
...

Det er alt for nu. Jeg vil snart være her igen med en anden interessant artikel. Hvis jeg har savnet nogen kommando på listen, så lad mig det vide via kommentarer. Indtil da skal du holde dig opdateret og holde forbindelsen til Tecmint. Synes godt om og del os og hjælp os med at sprede. Glem ikke at nævne dine værdifulde tanker i kommentaren.