Compdigitec Labs

« | Home | »

Building .deb packages on Ubuntu/Debian

By admin | July 28, 2008

Ever wanted to create your very own .deb packages for Ubuntu and Debian? Well, here’s a guide to tell you how in 10 easy steps!

  1. Create the directory to hold the package by using:
    mkdir package
  2. Change into the package directory:
    cd package/
  3. Make the package file system. For example, any files you put into the usr folder in this folder will go to /usr when installed. You can create them as necessary.
    mkdir usr
    mkdir usr/bin
    mkdir usr/lib
    mkdir etc
  4. Copy the application files to the appropriate directories; For example, if you want file to be installed in /usr/bin, copy to the usr/bin folder. Below is a demo, assuming no dependencies.
    cp /path/to/files/ usr/bin
    cp /path/to/files/a.conf etc
    cp /path/to/files/ usr/lib
  5. (required) Create the Debian control file. There is a specification file here:
    touch DEBIAN/control
    editor-of-your-choice DEBIAN/control
  6. (optional) Create the postinstall file. This file is exectuted during the installation. Note that this file should be a shell script.
    touch DEBIAN/postinstall
    editor-of-your-choice DEBIAN/postinstall
  7. (optional) Create the prerm file. This file is executed during the removal of this package. Note that this file should be a shell script.
    touch DEBIAN/prerm
    editor-of-your-choice DEBIAN/prerm
  8. You’re almost ready to create the package! Change into the parent directory to begin.
    cd ..
  9. Now we can finally begin! This may take from 2 seconds to 24 hours, depending on the size of the package and the speed of your computer.
    dpkg-deb --build package
  10. You’re done! The package is package.deb. To install it:
    dpkg --install package.deb

If you found this article helpful or interesting, please help Compdigitec spread the word. Don’t forget to subscribe to Compdigitec Labs for more useful and interesting articles!

Topics: Linux | 1 Comment »

One Response to “Building .deb packages on Ubuntu/Debian”

  1. Building Custom .deb Packages and Chroots « Edge Sentinel Says:
    August 25th, 2010 at 5:36 pm

    [...] file DEBIAN/control. The syntax is documented in the Ubuntu man pages and there are overviews at this site and in in the forums. With that documentation, all I really had to do was determine the [...]