Some Useful Debian Packages

Obviously these are probably in other distributions and BSD's. Debian is win though.


Actually reduce/stop clock drift, rather than having ntp constantly tweaking the system time. Useless on VM's obviously.


Emails you a list of packages to be updated.

Configure it via /etc/apt/listchanges.conf


Control max cpu usage of a process


A convenient way to show disk size, partitions, format, uuid etc etc


vmstat, iostat and ifstat all in one... with color!


Disables fsync, so programs that ask to sync data to disk only think they have. Dangerous as important data can be lost, but can improve performance.

ferm / shorewall

Both try to make iptables (and firewall stuff generally) more straight forward. Both happen to be in written in perl


Useful for installing local packages plus deps (which you would like to draw from remote repos)

Runs like this...

gdebi local-file.deb


command line json processing


Unlocks your ssh key if the password is the same as your log in. Perfect for jump boxes and xfce.


Cleans up locales to save disk space, runs initially then runs after package installs


Wraps reboot and halt, so that you don't run them via ssh unless you are super sure you want to...


Useful alternative to 'traceroute' - keeps updating in real time


Finds and helps remove 'orphaned' packages and config files

  • orphaner with no options looks for anything apt considers a library
  • orphaner --find-config looks for left over config files from removed packages
  • orphaner --help does what you would imagine

(surprise! apt doesn't remove config files when it removes packages, remove with --purge to clean them. i.e. apt-get --purge remove foo )


Runs commands in parallel. can do quite insane stuff. Happens to be written in perl

Mibs are 'non-free', so don't forget to install them when you install net-snmp


Keeps track of setuid and setgid files


Simple cli command related to 'ls'. Very handy


(see also

Installs updates automagically.

configure via /etc/apt/apt.conf.d/50unattended-upgrades

populate /etc/apt/apt.conf.d/02periodic with something like...

// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";

// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "1";

// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";

// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";

// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "7";


Pipe to X windows clipboard

In your .bashrc / .bash_aliases, put:

alias setclip='xclip -selection c'
alias getclip='xclip -selection clipboard -o'

You can now use setclip and getclip, e.g:

$ echo foo | setclip $ getclip foo

Leave a comment

About Dean

user-pic I blog about Perl. I am now in California