Auto update an Ubuntu Server with Aptitude
How to keep software up-to-date automatically on Ubuntu Server using Aptitude
Usual disclaimer ¶
This article is provided as it and no responsibility will be taken for things going wrong. Tested on Ubuntu 8.10 server.
Using Aptitude ¶
If you’ve ever tried out Ubuntu you’ll probably know what aptitude is and how to manage packages. Updating your system is as simple as sudo aptitude udpate && sudo aptitude upgrade
This updates the package lists and presents any upgrades.
Automating the process ¶
Wouldn’t it be easier if you could automate this and forget about it? That way your server can stay up to date without you ever having to worry about it. Create a file called autoupdate.sh and put the following into it:
#!/bin/bash
# A script to run Aptitude and install any upgrades automatically.
# Add this to /etc/cron.daily to run the script every 24 hours.
# This prevents "TERM is not set, so the dialog frontend is not usable." error
PATH="$PATH:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
aptitude update
aptitude safe-upgrade -y
aptitude autoclean
To run this script daily move it to /etc/cron.daily (making sure it is executable).
chmod +x autoupdate.sh
sudo chown root:root autoupdate.sh
sudo mv autoupdate /etc/cron.daily
The update will run automatically once a day ensuring you stay up-to-date.
Checking logs ¶
You can keep a check on packages that have been installed and removed via the log file that Aptitude generates.
sudo tail -n 30 /var/log/aptitude
If you want to check that an upgrade has been applied you can search for it like this
sudo cat /var/log/aptitude | grep -A 20 -B 20 php5
Or you can check the currently installed version using (this example is php5)
aptitude show php5
Tags
Can you help make this article better? You can edit it here and send me a pull request.
See Also
-
Ubuntu 9.04 Jaunty Jackalope Released
The latest release of Ubuntu is now available, featuring faster boot times, a growl-style notification system and updates to bundled software. -
Testing with IE6, IE7 and IE8 on VirtualBox
I've recently moved from using Parallels for browser testing to Sun's Open Source VirtualBox. Here's a walkthrough on how to get a browser testing suite for free on OSX or Ubuntu. -
Chroot SFTP users on Ubuntu Intrepid
Newer versions of OpenSSH come with the ChrootDirectory directive that makes it easy to jail SFTP users to a directory. I've written about <a href="/journal/adding_sftp_users_with_a_limited_shell_in_centos_5.2/">giving users a limited shell with older versions of OpenSSH</a> but if you can run OpenSSH 4.9 or greater I recommend using this method.