Debian Package Management

From FreekiWiki
Jump to navigation Jump to search

This class should outline the basics of debian package management- searching, installing, updating and removing software.



tips for working environment

  • keep a web browser pointed to this page
  • open several terminal windows
  • don't forget to use the "man" command, or -h and --help
  • commandline reminders
    • remember to use tab completion.
    • hit tab twice, fast.
    • hit tab again!
    • remember to use the up arrow to re-do a previous command
    • keep hitting tab!

topics covered



available packages

where to get software from, /etc/apt/sources.list:

deb sarge main
deb-src sarge main

lines that begin with "deb-src" are for source packages. unless you're building packages from source, you can usually comment these out. lines that begin with "deb" contain sources of debian packages.

update the list of available packages(do this after changing sources.list):

apt-get update

look in /var/lib/apt/lists, to see all the packaging files:

ls /var/lib/apt/lists/

take a look at what those files contain:

less /var/lib/apt/lists/*Packages
upgrading packages

upgrade packages:

apt-get upgrade

do a more thorough upgrade:

apt-get dist-upgrade
  • search for software:
apt-cache search browser
apt-cache search firefox
  • display information about a package:
apt-cache show mozilla-firefox
  • show available versions of a package:
apt-cache policy mozilla-firefox
installing and removing packages
  • install a package:
apt-get install mozilla-firefox
  • remove a package:
apt-get remove mozilla-firefox

/var/cache/apt/archives can build up a lot of cruft...

  • only clear out package files no longer available:
apt-get autoclean
  • clear out all downloaded package files:
apt-get clean
useful commandline arguments
  • download only:
apt-get -d install mozilla-firefox
  • display upgraded packages:
apt-get -u dist-upgrade
  • automatically proceed (i.e. answer yes; be careful with this!), display upgraded packages, and download them:
apt-get -yud dist-upgrade
  • remove all traces of the package on the system (a "normal" remove leaves behind configuration files)
apt-get --purge remove mozilla-firefox

pinning: /etc/apt/preferences



similar to apt, but more sophisticated.

if called without arguments, it brings up a text-based menu system. you should be able to do nearly everything you can do with apt-get in this menu.

same old commands

the following commands are very similar to their corresponding apt-get or apt-cache commands:

update, upgrade, dist-upgrade, remove, install, show, search, autoclean, clean

more features
  • purge (like apt-get --purge remove)
aptitude purge mozilla-firefox
  • changelog
aptitude changelog mozilla-firefox
  • download
  • hold
  • markauto
  • unmarkauto


underneath it all, lies dpkg

list status of installed packages:

dpkg -l

another way to list the status of packages:

dpkg --get-selections

list the files in a package:

dpkg -L mozilla-firefox

find out which package owns a certain file:

dpkg -S /bin/bash

install a package without using apt or aptitude(this does no dependency resolution- so avoid if at all possible):

dpkg -i hackme-script-foo_0.0.1_i386.deb



it's graphical. point and click your way to carpal tunnel.

other useful tools