Update your OS

Posted on 13 August 2012. Last updated on 05 December 2020.


It is a good practice to regularly update your programs.

Windows has windows update that regularly checks if there are updates.
Linux has programs such as RPM, apt, yum, emerge, ...
Depending on what flavor you use.

And now more and more individual programs are checking on there own for updates.
Programs like firefox, quicktime and others have the options to check for updates.
And most activate it by default. (And make it difficult to turn it off.)

For linux there are 2 main package types RPM and dpkg/apt.
dpkg/apt predates RPM, but rpm is used by more flavors.

RPM (RedHat Package Manager)
Like the name says developed by RedHat but can also be used for other Linux flavors.
Graphical front end: Gnome-RPM, KPackage
Text: RPM, updateme, yum, YaST, urpmi
rpm-archives -> www.rpmfind.net

dpkg/apt (Advanced Packaging Tool)
Originally from debian, but more linux flavors are using it now, like Ubuntu.
Graphical front end: Synaptic, KPackage PackageKit, dselect
text: apt-get, aptitude
deb-archives -> www.debian.org/distrib/packages

Is used by Gentoo linux, it compiles every program to run as fast possible in you system.
Graphical front end: Portato
text: emerge

Package kit uses everything

If you have an entire network of machines that needs to check for updates, it can take up some bandwidth.
So it might be easier to let one machine check for updates, and let everything else sync with that machine.

With gentoo you can do this with Rsync-server.
The actual files still need to be downloaded, but the list of packages is only downloaded once.

No need to install anything it is already on a gentoo system, just update the config.
Create the following file /etc/rsyncd.conf with:

pid file = /var/run/rsyncd.pid
max connections = 5
use chroot = yes
uid = nobody
gid = nobody
#optional: restrict access to your Gentoo boxes
hosts allow =
hosts deny = *

comment=Gentoo Portage
exclude=distfiles/ packages/

The server will always check hosts allow option first and grant connection if the connection host matches any of the listed patterns.

Start the rsync daemon:

(Start the daemon)
/etc/init.d/rsyncd start
(Add the daemon to your default runlevel)
rc-update add rsyncd default

On the client side, you need to update /etc/make.conf with the following line

(You can use the server name or its ip)

That's all. The clients will now use your local rsync mirror when you run emerge --sync.
More info: www.gentoo.org/doc/en/rsync.xml

You can also use distcc for distributed compiling.
More info: www.gentoo.org/doc/en/distcc.xml

For Windows you have WSUS (Windows Server Update Services)
Which you can configure in 2 parts
A full, with the files needed for the installation
or only the metadata, the actual files will then be downloaded by the clients themself.

More info: http://technet.microsoft.com/en-us/wsus/

Debian and Ubuntu both use apt-get.
One way saving bandwidth is to let them all use the same apt cache archive
apt-get stores it downloaded files in /var/cache/apt/archives and won't delete them after the update. (If you don't set it on auto clean)

You can do this either by having a SAMBA or NFS share/directory on one computer, and then mount that directory on every other computer.
mount nfs_server_name:/var/cache/apt/archives /var/cache/apt/archives
Best is to set it in /etc/fstab so it is loaded on startup.