Debian/Ubuntu Package management Using dpkg

Dpkg is the Debian package manager dpkg is a medium-level tool to install, build, remove and manage Debian packages. The primary and more user-friendly front-end for dpkg is dselect.dpkg itself is controlled entirely via command line parameters,which consist of exactly one action and zero or more options. The action-parameter tells dpkg what to do and options control the behavior of the action in some way.

Now we will see all the available commands for dpkg with examples

1)Install a package

Syntax

dpkg -i <.deb file name>

Example

dpkg -i avg71flm_r28-1_i386.deb

2)Install all packages recursively from a directory

Syntax

dpkg -R

Example

dpkg -R /usr/local/src

3)Unpack the package, but don’t configure it.

Syntax

dpkg --unpack package_file

If you use -R option is specified, package_file must refer to a directory instead.

Example

dpkg --unpack avg71flm_r28-1_i386.deb

4)Reconfigure an unpacked package

Syntax

dpkg --configure package

If -a is given instead of package, all unpacked but uncon-figured packages are configured.

Example

dpkg --configure avg71flm_r28-1_i386.deb

5)Remove an installed package except configuration files

Syntax

dpkg -r

Example

dpkg -r avg71flm_r28-1_i386.deb

6)Remove an installed package including configuration files

Syntax

dpkg -P

If you use -a is given instead of a package name, then all packages unpacked, but marked to be removed or purged in file /var/lib/dpkg/status, are removed or purged, respectively.

Example

dpkg -P avg71flm

7)Replace available packages info

Syntax

dpkg --update-avail <Packages-file>

With this option old information is replaced with the information in the Packages-file.

8)Merge with info from file

Syntax

dpkg --merge-avail <Packages-file>

With this option old informa-tion is combined with information from Packages-file.

The Packages-file distributed with Debian is simply named Packages.dpkg keeps its record of available packages in /var/lib/dpkg/available.

9)Update dpkg and dselect’s idea of which packages are available with information from the package pack-age_file.

Syntax

dpkg -A package_file

10)Forget about uninstalled unavailable packages.

Syntax

dpkg --forget-old-unavail

11)Erase the existing information about what packages are available.

Syntax

dpkg --clear-avail

12)Searches for packages that have been installed only partially on your system.

Syntax

dpkg -C

13)Compare Package versions version numbers

Syntax

dpkg --compare-versions ver1 op ver2

14)Display a brief help message.

Syntax

dpkg --help

15)Display dpkg licence.

Syntax

dpkg --licence (or) dpkg --license

16)Display dpkg version information.

Syntax

dpkg --version

17)Build a deb package.

Syntax

dpkg -b directory [filename]

18)List contents of a deb package.

Syntax

dpkg -c filename

19)Show information about a package.

Syntax

dpkg -I filename [control-file]

20)List packages matching given pattern.

Syntax

dpkg -l package-name-pattern

Example

dpkg -l vim

21)List all installed packages, along with package version and short description

Syntax

dpkg -l

22)Report status of specified package.

Syntax

dpkg -s package-name

Example

dpkg -s ssh

23)List files installed to your system from package.

Syntax

dpkg -L package-Name

Example

dpkg -L apache2

24)Search for a filename from installed packages.

Syntax

dpkg -S filename-search-pattern

Example

dpkg -S /sbin/ifconfig

25)Display details about package

Syntax

dpkg -p package-name

Example

dpkg -p cacti

If you want more information about dpkg and available options check dpkg man page

If you are looking for GUI for dpkg check dselect

Sponsored Link

12 thoughts on “Debian/Ubuntu Package management Using dpkg

  1. OK, how do I find out when a package was installed on my machine? Or if I want to sort my packages by install date?
    Thanks,
    Chip

  2. dpkg-query
    should do it -l|–list lists all Packages in ur /var/lib/dpkg/list, but purged

  3. Is it possible to upgrade installed package with something like dpkg upgrade ? (without apt-get)


  4. OK, how do I find out when a package was installed on my machine? Or if I want to sort my packages by install date?
    Thanks,
    Chip


    ls -tl /var/lib/dpkg/info/ | less

  5. I’ve looked everywhere for this: does anyone know how I can take the results of an “apt-cache depends xyz” command, and then easily determine which of those dependencies are (or are not) already installed?

  6. I am trying to remove a partially installed package. There is an error in the package – I think the key error message is:

    update-alternatives: unknown argument `–remove-all’

    Now I can’t figure out how to get rid of the darn thing. I have tried:

    sudo dpkg –purge remove ghostscript

    which fails (with the above error message).

    The state of of the package is:

    dpkg -l | fgrep ghostsc
    pF ghostscript 8.63.dfsg.1-0ubuntu6.4 The GPL Ghostscript PostScript/PDF interpreter

    What is the dpkg command to remove a faulty partially installed package?

  7. Hi,
    I’m working on creating deb packages and also facilitate for updating same. How can we update debian packages so that some of the user configurations can be retained.

    Can this command be used?
    dpkg –update-avail
    what is in this?

    thnx in advance 🙂

Leave a comment

Your email address will not be published. Required fields are marked *