This article is provided as it and no responsibility will be taken for things going wrong. Tested on Ubuntu 8.10 server.
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.
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.
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
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Build your own Vim statusline
Statuslines in Vim are not hard to create. Making your own means one less dependency in your life.
Custom Vim Bindings in tmux 2.4
tmux 2.4 made a significant change to key bindings. Here is how to support custom keybindings for versions before and after tmux 2.4
Using template files in Vim
Vim templates or skeletons, allow you to specify a template to be used for new files with a certain extension.