Man Linux: Main Page and Category List


       dpkg-repack - put an unpacked .deb file back together


       dpkg-repack [--root=dir] [--arch=architecture] [--generate] packagename
       [packagename ...]


       dpkg-repack creates a .deb file  out  of  a  Debian  package  that  has
       already been installed on your system.

       If any changes have been made to the package while it was unpacked (ie,
       conffiles files in /etc modified), the new  package  will  inherit  the
       changes.   (There   are   exceptions  to  this,  including  changes  to
       configuration files that are not conffiles, including those managed  by

       This  utility  can  make  it easy to copy packages from one computer to
       another, or to recreate packages that are installed on your system, but
       no longer available elsewhere.

       Note:  dpkg-repack  will  place  the  created  package  in  the current


              Take package from filesystem rooted on <dir>. This is useful if,
              for example, you have another computer nfs mounted on /mnt, then
              you  can  use  --root=/mnt  to  reassemble  packages  from  that

              Make  the  package be for a different architecture.  dpkg-repack
              cannot tell if an installed package is architecture  all  or  is
              specific  to  the  system’s  architecture, so by default it uses
              dpkg --print-architecture to determine the  build  architecture.
              If  you  know  the package is architecture all, you can use this
              option to force dpkg-repack to use the right architecture.

              Generate a temporary directory suitable for building  a  package
              from,  but do not actually create the package. This is useful if
              you want to move files around in the package before building it.
              The  package  can  be  built  from  this  temporary directory by
              running "dpkg --build", passing it the generated directory.

              The name of the package to attempt to repack. Multiple  packages
              can be listed.


       This  program  accesses  the dpkg database directly in places, querying
       for data that cannot be gotten via dpkg.

       There is a tricky situation that can occur if you dpkg-repack a package
       that  has modified conffiles. The modified conffiles are packed up. Now
       if you install the package, dpkg does not realize that the conffiles in
       it  are  modified.  So  if  you  later  upgrade to a new version of the
       package, dpkg will believe that the old (repacked)  package  has  older
       conffiles than the new version, and will silently replace the conffiles
       with those in the package you are upgrading to.

       While dpkg-repack can be run under fakeroot and will work most  of  the
       time,  fakeroot  -u must be used if any of the files to be repacked are
       owned by non-root users. Otherwise the package will have them owned  by
       root.   dpkg-repack  will warn if you run it under fakeroot without the
       -u flag.


       Joey Hess <>