dpkg; man page

Man Pages Index

SYNOPSIS
       dpkg [options] action

WARNING
       This  manual is intended for users wishing to understand dpkg’s command
       line options and package states in more detail than  that  provided  by
       dpkg --help.

       It  should not be used by package maintainers wishing to understand how
       dpkg will install their packages. The descriptions of  what  dpkg  does
       when installing and removing packages are particularly inadequate.

DESCRIPTION
       dpkg  is  a  tool to install, build, remove and manage Debian packages.
       The primary and more user-friendly front-end for  dpkg  is  dselect(1).
       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.

       dpkg can be also be used as a front-end to dpkg-deb(1).  The  following
       are  dpkg-deb  actions,  and  if  they  are encountered, dpkg just runs
       dpkg-deb with the parameters given to it:
           -b, --build,
           -c, --contents,
           -I, --info,
           -f, --field,
           -e, --control,
           -x, --extract,
           -X, --vextract, and
           --fsys-tarfile.
       Please refer to dpkg-deb(1) for information about these actions.

INFORMATION ABOUT PACKAGES
       dpkg maintains some usable information about  available  packages.  The
       information  is  divided in three classes: states, selection states and
       flags. These values are intended to be changed mainly with dselect.

   PACKAGE STATES
       installed
              The package is unpacked and configured OK.

       half-installed
              The installation of the package has been started, but  not  com‐
              pleted for some reason.

       not-installed
              The package is not installed on your system.

       unpacked
              The package is unpacked, but not configured.


       purge  The package is selected to be purged (i.e.  we  want  to  remove
              everything, even configuration files).

   PACKAGE FLAGS
       hold   A  package  marked  to be on hold is not handled by dpkg, unless
              forced to do that with option --force-hold.

       reinst-required
              A package marked reinst-required is broken  and  requires  rein‐
              stallation. These packages cannot be removed, unless forced with
              option --force-remove-reinstreq.

ACTIONS
       dpkg -i | --install package_file...
              Install the package. If --recursive or -R option  is  specified,
              package_file must refer to a directory instead.

              Installation consists of the following steps:

              1. Extract the control files of the new package.

              2.  If  another version of the same package was installed before
              the new installation, execute prerm script of the old package.

              3. Run preinst script, if provided by the package.

              4. Unpack the new files, and at the same time back  up  the  old
              files, so that if something goes wrong, they can be restored.

              5.  If  another version of the same package was installed before
              the new installation, execute the postrm script of the old pack‐
              age.  Note that this script is executed after the preinst script
              of the new package, because new files are written  at  the  same
              time old files are removed.

              6.  Configure the package. See --configure for detailed informa‐
              tion about how this is done.

       dpkg --unpack package_file ...
              Unpack the package, but don’t configure it. If --recursive or -R
              option  is  specified,  package_file  must  refer to a directory
              instead.

       dpkg --configure package ... | -a | --pending
              Reconfigure an unpacked package. If -a  or  --pending  is  given
              instead  of  package, all unpacked but unconfigured packages are
              configured.

              Configuring consists of the following steps:

              1. Unpack the configuration files, and at the same time back  up

              Removing of a package consists of the following steps:

              1. Run prerm script

              2. Remove the installed files

              3. Run postrm script

       dpkg --update-avail | --merge-avail Packages-file
              Update  dpkg’s  and  dselect’s idea of which packages are avail‐
              able. With action --merge-avail,  old  information  is  combined
              with information from Packages-file. With action --update-avail,
              old information is replaced with the information  in  the  Pack‐
              ages-file.  The  Packages-file distributed with Debian is simply
              named Packages. dpkg keeps its record of available  packages  in
              /var/lib/dpkg/available.

              A  simpler one-shot command to retrieve and update the available
              file is dselect update.

       dpkg -A | --record-avail package_file ...
              Update dpkg and dselect’s idea of which packages  are  available
              with  information  from the package package_file. If --recursive
              or -R option is specified, package_file must refer to  a  direc‐
              tory instead.

       dpkg --forget-old-unavail
              Forget about uninstalled unavailable packages.

       dpkg --clear-avail
              Erase  the  existing  information about what packages are avail‐
              able.

       dpkg -C | --audit
              Searches for packages that have been installed only partially on
              your  system. dpkg will suggest what to do with them to get them
              working.

       dpkg --get-selections [package-name-pattern...]
              Get list of package selections, and write it to stdout.  Without
              a pattern, packages marked with state purge will not be shown.

       dpkg --set-selections
              Set  package  selections  using  file read from stdin. This file
              should be in the format ’<package> <state>’, where state is  one
              of  install,  hold,  deinstall or purge. Blank lines and comment
              lines beginning with ’#’ are also permitted.

       dpkg --clear-selections
              Set the requested state of every non-essential package to  dein‐
              stall.    This   is  intended  to  be  used  immediately  before
              dpkg returns success (zero result) if the specified  con‐
              dition  is satisfied, and failure (nonzero result) other‐
              wise. There are two groups of operators, which differ  in
              how  they  treat  an  empty  ver1 or ver2. These treat an
              empty version as earlier than any version: lt le eq ne ge
              gt.  These  treat an empty version as later than any ver‐
              sion: lt-nl le-nl ge-nl gt-nl. These  are  provided  only
              for  compatibility with control file syntax: < << <= = >=
              >> >.

       dpkg --command-fd <n>
              Accept a series of commands on input file descriptor <n>.
              Note:  additional  options  set  on the command line, and
              thru this file descriptor, are not reset  for  subsequent
              commands executed during the same run.

       dpkg --help
              Display a brief help message.

       dpkg --force-help
              Give help about the --force-thing options.

       dpkg -Dh | --debug=help
              Give help about debugging options.

       dpkg --licence | dpkg --license
              Display dpkg licence.

       dpkg --version
              Display dpkg version information.

       dpkg-deb actions
              See  dpkg-deb(1) for more information about the following
              actions.

              dpkg -b | --build directory [filename]
                  Build a deb package.
              dpkg -c | --contents filename
                  List contents of a deb package.
              dpkg -e | --control filename [directory]
                  Extract control-information from a package.
              dpkg -x | --extract filename directory
                  Extract the files contained by package.
              dpkg -f | --field  filename [control-field] ...
                  Display control field(s) of a package.
              dpkg --fsys-tarfile filename
                  Display the filesystem tar-file contained by a
                  Debian package.
              dpkg -I | --info filename [control-file]
                  Show information about a package.
              dpkg -X | --vextract filename directory
                  Extract and display the filenames contained by a

              dpkg -S | --search filename-search-pattern ...
                  Search for a filename from installed packages.
              dpkg -p | --print-avail package
                  Display details about package, as found in /var/lib/dpkg/available.

OPTIONS
       All options can be specified both on the command line and in the
       dpkg configuration file /etc/dpkg/dpkg.cfg.  Each  line  in  the
       configuration  file is either an option (exactly the same as the
       command line option but without leading dashes) or a comment (if
       it starts with a #).

       --abort-after=number
              Change after how many errors dpkg will abort. The default
              is 50.

       -B|--auto-deconfigure
              When a package is removed, there is  a  possibility  that
              another  installed  package depended on the removed pack‐
              age. Specifying this option will cause  automatic  decon‐
              figuration  of  the package which depended on the removed
              package.

       -Doctal | --debug=octal
              Switch debugging on. octal is  formed  by  bitwise-orring
              desired  values  together  from the list below (note that
              these values may  change  in  future  releases).  -Dh  or
              --debug=help display these debugging values.

               number  description
                  1   Generally helpful progress information
                  2   Invocation and status of maintainer scripts
                 10   Output for each file processed
                100   Lots of output for each file processed
                 20   Output for each configuration file
                200   Lots of output for each configuration file
                 40   Dependencies and conflicts
                400   Lots of dependencies/conflicts output
               1000   Lots of drivel about e.g. the dpkg/info dir
               2000   Insane amounts of drivel

       --force-things | --no-force-things | --refuse-things

              Force or refuse (no-force and refuse mean the same thing)
              to do some things. things is a comma  separated  list  of
              things  specified  below. --force-help displays a message
              describing them.  Things marked with (*)  are  forced  by
              default.

              Warning:  These options are mostly intended to be used by
              experts only.  Using  them  without  fully  understanding
              their effects may break your whole system.
              unconfigured  packages  on  which  the  current   package
              depends.

              hold: Process packages even when marked "hold".

              remove-reinstreq:  Remove  a package, even if it’s broken
              and marked to require reinstallation. This may, for exam‐
              ple,  cause parts of the package to remain on the system,
              which will then be forgotten by dpkg.

              remove-essential: Remove, even if the package is  consid‐
              ered  essential.  Essential  packages contain mostly very
              basic Unix commands. Removing them might cause the  whole
              system to stop working, so use with caution.

              depends: Turn all dependency problems into warnings.

              depends-version:  Don’t care about versions when checking
              dependencies.

              breaks: Install, even if this would break  another  pack‐
              age.

              conflicts:  Install,  even  if  it conflicts with another
              package. This is dangerous, for  it  will  usually  cause
              overwriting of some files.

              confmiss:  Always  install  a missing configuration file.
              This is dangerous, since it means not preserving a change
              (removing) made to the file.

              confnew:  If  a conffile has been modified always install
              the   new   version   without   prompting,   unless   the
              --force-confdef  is  also  specified,  in  which case the
              default action is preferred.

              confold: If a conffile has been modified always keep  the
              old version without prompting, unless the --force-confdef
              is also specified, in which case the  default  action  is
              preferred.

              confdef:  If  a  conffile has been modified always choose
              the default action. If there is no default action it will
              stop   to   ask   the   user  unless  --force-confnew  or
              --force-confold is also been given, in which case it will
              use that to decide the final action.

              overwrite:  Overwrite  one  package’s file with another’s
              file.

              overwrite-dir  Overwrite  one  package’s  directory  with
              another’s file.


       --ignore-depends=package,...
              Ignore  dependency-checking for specified packages (actu‐
              ally, checking is performed, but only warnings about con‐
              flicts are given, nothing else).

       --new | --old
              Select  new  or  old  binary  package  format.  This is a
              dpkg-deb(1) option.

       --nocheck
              Don’t read or check contents of control file while build‐
              ing a package.  This is a dpkg-deb(1) option.

       --no-act | --dry-run | --simulate
              Do  everything  which  is  supposed to be done, but don’t
              write any changes. This is used to see what would  happen
              with  the  specified  action,  without actually modifying
              anything.

              Be sure to give --no-act before the action-parameter,  or
              you  might  end  up  with undesirable results. (e.g. dpkg
              --purge foo --no-act will first  purge  package  foo  and
              then try to purge package --no-act, even though you prob‐
              ably expected it to actually do nothing)

       -R | --recursive
              Recursively handle all  regular  files  matching  pattern
              *.deb  found at specified directories and all of its sub‐
              directories. This can be used  with  -i,  -A,  --install,
              --unpack and --avail actions.

       -G     Don’t  install  a  package if a newer version of the same
              package  is  already  installed.  This  is  an  alias  of
              --refuse-downgrade.

       --root=dir | --admindir=dir | --instdir=dir
              Change   default   directories.   admindir   defaults  to
              /var/lib/dpkg and contains many files that give  informa‐
              tion  about  status of installed or uninstalled packages,
              etc. instdir defaults to / and refers  to  the  directory
              where  packages  are to be installed. instdir is also the
              directory passed to chroot(2)  before  running  package’s
              installation  scripts,  which  means that the scripts see
              instdir as a root directory.  Changing root changes inst‐
              dir to dir and admindir to dir/var/lib/dpkg.

       -O | --selected-only
              Only process the packages that are selected for installa‐
              tion. The actual marking is done with dselect or by dpkg,
              when  it handles packages. For example, when a package is

       --log=filename
              Log  status  change  updates  and  actions  to  filename,
              instead of the default /var/log/dpkg.log. If this  option
              is  given  multiple times, the last filename is used. Log
              messages are of  the  form  ‘YYYY-MM-DD  HH:MM:SS  status
              <state>  <pkg>  <installed-version>’  for  status  change
              updates; ‘YYYY-MM-DD HH:MM:SS <action> <pkg>  <installed-
              version>  <available-version>’ for actions where <action>
              is one of install, upgrade, remove, purge; and  ‘YYYY-MM-
              DD  HH:MM:SS conffile <filename> <decision>’ for conffile
              changes where <decision> is either install or keep.

       --no-debsig
              Do not try to verify package signatures.

FILES
       /etc/dpkg/dpkg.cfg
              Configuration file with default options.

       /var/log/dpkg.log
              Default log file (see  /etc/dpkg/dpkg.cfg(5)  and  option
              --log).

       The  other  files listed below are in their default directories,
       see option --admindir to see how to change  locations  of  these
       files.

       /var/lib/dpkg/available
              List of available packages.

       /var/lib/dpkg/status
              Statuses of available packages. This file contains infor‐
              mation about whether a package is marked for removing  or
              not,  whether  it  is  installed or not, etc. See section
              INFORMATION ABOUT PACKAGES for more info.

       The following files are components  of  a  binary  package.  See
       deb(5) for more information about them:

       control

       conffiles

       preinst

       postinst

       prerm

       postrm

            dpkg -l '*vi*'

       To see the entries in /var/lib/dpkg/available of two packages:
            dpkg --print-avail elvis vim | less

       To search the listing of packages yourself:
            less /var/lib/dpkg/available

       To remove an installed elvis package:
            dpkg -r elvis

       To install a package, you first need to find it in an archive or
       CDROM. The "available" file shows that the  vim  package  is  in
       section "editors":
            cd /cdrom/hamm/hamm/binary/editors
            dpkg -i vim_4.5-3.deb

       To make a local copy of the package selection states:
            dpkg --get-selections >myselections

       You might transfer this file to another computer, and install it
       there with:
            dpkg --clear-selections
            dpkg --set-selections <myselections

       Note that this will not actually install or remove anything, but
       just set the selection state on the requested packages. You will
       need some other application to actually download and install the
       requested   packages.   For  example,  run  dselect  and  choose
       "Install".

       Ordinarily, you will find that dselect(1) provides a more conve‐
       nient way to modify the package selection states.

ADDITIONAL FUNCTIONALITY
       Additional  functionality can be gained by installing any of the
       following packages: apt, aptitude and debsums.

SEE ALSO
       dselect(1), dpkg-deb(1), dpkg-query(1), deb(5),  deb-control(5),
       dpkg.cfg(5), and dpkg-reconfigure(8).

BUGS
       --no-act usually gives less information than might be helpful.

AUTHORS
       See /usr/share/doc/dpkg/THANKS for the list of people who have
       contributed to dpkg.



Debian Project                    2006-04-09                           dpkg(1)

--TechZilla

TechZilla.biz | TechZilla.info | SlicerUnderground | techzilla.50megs.com | Tohigherground | NextOnStage | EMUslax | GNUlinx | GamesOfDaPast | WorldCrimeWars | Fistula | Asus-Z81k | Riding-Gear | UniformDiscount | WorkWearIt | NuZilla