Page tree
Skip to end of metadata
Go to start of metadata

List of the most useful Ubuntu administration commands.

Package Management

List All Installed Packages

See exactly what is installed in your system,

dpkg --get-selections > installed-software.txt

The same list can also be used to install the same packages on another machine... Note I have not tested this command myself yet.

dpkg --set-selections < installed-software.txt

Determine Package Program Belongs To

Find out what packages if any use the specified folder,

dpkg -S "/etc/ssl/certs"
openssl, ca-certificates: /etc/ssl/certs

The package lookup will only work against the original binary. If it does not appear to work, check if the file you are referencing is actually a symbolic link and follow the links to the real binary file.

List all files relate to a package,

dpkg -L ca-certificates

Determine if package is installed,

dpkg - l | grep -i upstart

Service Management


Upstart is moving towards being the official service management utility. So not all services are yet converted to upstart. However, for the ones that are, it is very easy to use.

I'm still filling this out.

Determine if a service is upstart based,

sudo status servicename

hmm... does not work with Apache2 so that is not yet managed by upstart but sudo service apache2 status works..... so I wonder if service is better.

See list of upstart jobs running,

ls /etc/init/*.conf #possibly upstart way


Apache for example is not yet moved to upstart. So to manage it, use update-rc.d,

sudo update-rc.d apache2 disable
update-rc.d: warning: apache2 start runlevel arguments (none) do not match LSB Default-Start values (2 3 4 5)
update-rc.d: warning: apache2 stop runlevel arguments (none) do not match LSB Default-Stop values (0 1 6)
 Disabling system startup links for /etc/init.d/apache2 ...
 Removing any system startup links for /etc/init.d/apache2 ...
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K09apache2 -> ../init.d/apache2
   /etc/rc1.d/K09apache2 -> ../init.d/apache2
   /etc/rc6.d/K09apache2 -> ../init.d/apache2
   /etc/rc2.d/K09apache2 -> ../init.d/apache2
   /etc/rc3.d/K09apache2 -> ../init.d/apache2
   /etc/rc4.d/K09apache2 -> ../init.d/apache2
   /etc/rc5.d/K09apache2 -> ../init.d/apache2

Don't just try and manually remove symlinks from intit.d. Services will be enabled during package updates.


Start of good reading on upstart -

LSB (Linux Standard Base) way .... talks about legacy command and it's smart to figure it out -

  • No labels