i like to stay updated by using swaret http://www.swaret.org. download swaret (i'm using version 1.6.2). for 1.6.2, you have to cp the file from swaret.*.tgz.tar to swaret.*.tgz and then run installpkg swaret.*.tgz as root.
once swaret is installed, the config file needs to be edited. it is initially called /etc/swaret.conf.new so to start using it, type:
bash-# cp /etc/swaret.conf.new /etc/swaret.conf bash-#
now use your favorite text editor (mine is vi from the console) and edit /etc/swaret.conf. i usually run VERSION=current to have the most current version of slackware, but setting to VERSION=10.1 (if you installed 10.1) will be a more stable installation. i also change RANDOMR=0 to RANDOMR=1 (to use more online package repositories) and DSEARCHM=0 to DSEARCHM=1 (to use slocate to locate missing libraries). this last setting, DSEARCHM=1, requires you to setup slocate on your system.
to setup slocate, type:
bash-# touch /var/lib/slocate/slocate.db bash-# updatedb
slocate is a great program for file searching, and we'll use it again after swaret updates our system.
slackware automatically runs updatedb once a day, and is controlled by crontab (to see when it runs, type crontab -e and look at the daily cron section).
once updatedb is done running, type:
bash-# swaret --update swaret 1.6.2-1 [ ftp://somemirror/slackware/slackware-current ] ### Fetching CHECKSUMS List File... DONE! FILELIST List File is up-to-date! Packages Descriptions up-to-date! Extra Packages Descriptions up-to-date! ChangeLog up-to-date! bash-# swaret --upgrade
i usually install all the updates, but that's up to you.
after updating your system with swaret, we need to make sure all our config files are updated (swaret puts new config files as config.file.name.new). to make things easy, we can execute two commands to have our list of files to be updated:
bash-# updatedb bash-# slocate .new
the output of slocate .new will always vary after an update (sometimes many matches, sometimes none of importance). pay attention to files that you have alterred (i edit a lot of files in /etc, like /etc/ssh/sshd_config i modify a fair amount). so if you know you have tweaked a file, compare the two files and see if any major changes have been made in the .new version. if not, keep your config. if so, add your changes to the new file. before you overwrite the orignal files with the file.new, i like to make a backup of the original:
bash-# cp original.file original.file.old bash-# mv original.file.new original.file
a good tool to use for comparing the old and new files is diff:
bash-# diff original.file original.file.new
the output is a little difficult to follow completely, but if there are a lot of differences, the file is usually fairly different. otherwise there will only bea line or two of difference.
i also have setup a cron job to automatically check for updates every morning, and it also emails me the results (you must have sendmail setup and running). to do this, you must edit your crontab file:
bash-# crontab -e
and here is the end of my crontab file:
# Run monthly cron jobs at 4:20 on the first day of the month: 20 4 1 * * /usr/bin/run-parts /etc/cron.monthly 1> /dev/null # # Run daily SWareT updates at 8:50am everyday 50 8 * * * /usr/sbin/swaret --update && /usr/sbin/swaret --list -u
if you want to learn more about crontab, check out its manual page:
bash-# man crontab
and now you have slackware updated!
be aware of upgrading aaa_elf and aaa_base, because doing say may break any programs you have compiled yourself!! (you can add an EXCLUDE rule to swaret.conf, follow the other EXCLUDE sytax).