dpkg, APT & Aptitude commands

  • List all installed packages:
    dpkg -l
    
  • List all recently installed packages:
    zcat -f /var/log/dpkg.log* | grep "\ install\ " | sort
    
  • Install a package from a lower-priority repository, like the backport repository:
    apt-get -t squeeze-backports install my-package
    
  • Force reinstallation of a package:
    apt-get -d --reinstall install my-package
    dpkg --install --force-confmiss /var/cache/apt/archives/my-package.deb
    
  • Clean aptitude local cache:
    apt-get clean
    
  • Uninstall a package throughly (both program files and configuration):
    apt-get remove --purge my_package
    
  • Force removal of a package while ignoring all dependencies:
    dpkg --remove --force-depends libsomething
    
  • Remove orphaned pakages:
    deborphan | xargs apt-get -y remove --purge
    
  • Show the changelog of a package (here, the linux kernel of Ubuntu):
    aptitude changelog linux-generic
    
  • Which package contain a given file:
    apt-file search file_to_search
    
  • Get the list of files of a package:
    apt-file list package_name
    
  • Remove dpkg lock file:
    rm /var/lib/dpkg/lock
    
  • Hold a package with either dpkg or aptitude:
    echo "kdenlive hold" | dpkg --set-selections
    
    aptitude hold kdenlive
    
  • Unhold a package:
    echo "kdenlive install" | dpkg --set-selections
    
    aptitude unhold kdenlive
    
  • List holded packages:
    dpkg --get-selections | grep hold
    

4 thoughts on “dpkg, APT & Aptitude commands

  1. @djib: thanks for the tip ! Actually I delegate all these tasks to cron-apt. If you don’t know it, you should give it a chance: it really save you time.

  2. Pingback: Keep a Debian fresh thanks to cron-apt | Kevin Deldycke

  3. Pingback: All my command lines | Kevin Deldycke

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.