≡ Menu

debian upgrade howto

Debian Upgrade: GNU/Linux 4.0 Update 5 Available

The industry strength community driven enterprise grade Debian GNU/Linux version 4.0 stable update 5 has been released and available for immediate downloaded as well as updates via apt-get package manager. This update mainly adds corrections for security problems to the stable release, along with a few adjustment to serious problems. All users are advised to upgrade system.

Those who frequently install updates from security.debian.org won’t have to update many packages and most updates from security.debian.org are included in this update.

New CD and DVD images containing updated packages and the regular installation media accompanied with the package archive respectively will be available soon at the regular locations.

Miscellaneous Bugfixes

This stable update adds several binary updates for various architectures to packages whose version was not synchronised across all architectures. It also adds a few important corrections to the following packages:


    apache2Fix several vulnerabilities
    apache2-mpm-itkRebuild against apache2 and fix hanging processes on restart/shutdown
    blosxomFix XSS
    distFix insecure temp file usage
    fai-kernelsFix xfs corruption / Xen crash
    fetaFix insecure temp file usage
    git-coreSupport download of packs v2 through dumb transports
    gobyRebuild against net6
    irqbalanceFix segfault when /proc/interrupts contains an interrupt with a number of 256 or larger
    jumpnbumpFix insecure handling of /tmp
    libpam-pwdfileUse gcc instead of ld
    linux-2.6Fix xfs corruption / Xen crash
    myspellFix insecure temp file usage
    net6Fix object access after deallocation
    obbyRebuild against new net6
    postgresql-8.1Upstream bugfix release 8.1.13
    sobbyRebuild against new net6
    tracFix multiple vulnerabilities
    tzdataUpdates to several timezones and daylight saving times settings
    user-mode-linuxFix xfs corruption / Xen crash
    wdiffFix race condition related to temporary files

Debian Linux Security Updates

This revision adds the following security updates to the stable release. The Security Team has already released an advisory for each of these updates:

    Advisory IDPackageCorrection(s)

    DSA 1597mt-daapdFix several vulnerabilities (fixes for regression)
    DSA 1614iceweaselFix several vulnerabilities
    DSA 1615xulrunnerFix several vulnerabilities
    DSA 1616clamavFix denial of service
    DSA 1617refpolicyFix incompatible policy
    DSA 1618ruby1.9Fix several vulnerabilities
    DSA 1619python-dnsFix DNS response spoofing
    DSA 1620python2.5Fix several vulnerabilities
    DSA 1621icedoveFix several vulnerabilities
    DSA 1622newsxFix arbitrary code execution
    DSA 1623dnsmasqFix cache poisoning
    DSA 1624libxsltFix arbitrary code execution
    DSA 1625cupsysFix arbitrary code execution
    DSA 1626httrackFix arbitrary code execution
    DSA 1627openscFix smart card vulnerability
    DSA 1628pdnsFix DNS response spoofing
    DSA 1629postfixFix programming error
    DSA 1630linux-2.6Fix several vulnerabilities
    DSA 1630fai-kernelsFix several vulnerabilities
    DSA 1630user-mode-linuxFix several vulnerabilities
    DSA 1631libxml2Fix denial of service
    DSA 1632tiffFix arbitrary code execution
    DSA 1633slashFix multiple vulnerabilities
    DSA 1634wordnetFix arbitrary code execution
    DSA 1636linux-2.6.24Fix denial of service / information leak
    DSA 1638opensshFix denial of service
    DSA 1639twikiFix arbitrary code execution
    DSA 1640python-djangoFix several vulnerabilities
    DSA 1641phpmyadminFix several vulnerabilities
    DSA 1642horde3Fix cross site scripting
    DSA 1643fetaFix insecure temp file usage
    DSA 1644mplayerFix integer overflows
    DSA 1645lighttpdFix various problems
    DSA 1646squidFix array bounds check
    DSA 1647php5Fix several vulnerabilities
    DSA 1648monFix insecure temporary files
    DSA 1649iceweaselFix several vulnerabilities
    DSA 1650openldap2.3Fix denial of service
    DSA 1651ruby1.8Fix several vulnerabilities
    DSA 1652ruby1.9Fix several vulnerabilities
    DSA 1653linux-2.6Fix several vulnerabilities
    DSA 1653fai-kernelsFix several vulnerabilities
    DSA 1653user-mode-linuxFix several vulnerabilities
    DSA 1654libxml2Fix execution of arbitrary code
    DSA 1655linux-2.6.24Fix several vulnerabilities

How do I upgrade my Debian system?

Login as root and type the following command:
# apt-get update
# apt-get upgrade

Sample output:

Get:1 http://http.us.debian.org stable Release.gpg [386B]
Get:2 http://security.debian.org stable/updates Release.gpg [189B]
Hit http://http.us.debian.org stable Release           
Hit http://security.debian.org stable/updates Release
Ign http://http.us.debian.org stable/main Packages/DiffIndex
Ign http://security.debian.org stable/updates/main Packages/DiffIndex
Ign http://http.us.debian.org stable/non-free Packages/DiffIndex
Ign http://http.us.debian.org stable/contrib Packages/DiffIndex
Ign http://security.debian.org stable/updates/contrib Packages/DiffIndex
Ign http://security.debian.org stable/updates/non-free Packages/DiffI

Setting up apache2-mpm-worker (2.2.3-4+etch6) ...
Starting web server (apache2)....

Setting up apache2 (2.2.3-4+etch6) ...

Reboot the system:
# uname -mrs
# reboot

Make sure everything is working fine:
# uname -a
# netstat -tulpn
# tail -f /var/log/messages
# dmesg | less
# tail -f /var/log/path/to/app.file
# iptables -L -n

Further readings:

Howto upgrade Debian 3.1 Sarge to Debian 4.0 Etch stable

Debian 4.0 has been released. It is recommended that you upgrade the system to latest version. Upgrading remote Debian server is a piece of cake :D

Currently many of our boxes are powered by Debian 3.1 Sarge. For example typical web server may have following packages only:
=> Apache
=> PHP
=> Postfix and other mail server software
=> Iptables and backup scripts
=> MySQL 5.x etc


Following are essential steps to upgrade your system:
1. Verify current system
2. Update package list
3. Update distribution
4. Update /etc/apt/sources.list file
5. Reboot system
6. Test everything is working

Backup your system

Before upgrading your Debian systems make sure you have backup (I’m assuming that you make backup copies of all important data/files everyday:):

  1. User data / files / Emails (/home, /var/www etc)
  2. Important system files and configuration file stored in /etc
  3. MySQL and other database backup
  4. Backup Installed package list [Get list of installed software for reinstallation / restore software]

Step # 1: Verify current system

File /etc/debian_version stores current Debian version number :
$ cat /etc/debian_version


Find out kernel version
$ uname -mrs

Linux 2.6.8-3-386 i686

Step #2: Update package list

Use apt-get command:
# apt-get update

Step #3 : Update distribution

Pass dist-upgrade option to apt-get command. This will upgrade Sarge to Etch. dist-upgrade’ in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a “smart” conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary.
# apt-get dist-upgrade

This upgrade procedure takes time. Depend upon installed softwares and other factors such as network-speed you may need to wait from 10 minutes to 1+ hour(s).

Step #4 : Update /etc/apt/sources.list file

There seems to be a small bug in upgrade procedure. You need to manually update Debian security source line. You will see an error as follows:
W: Conflicting distribution: http://security.debian.org stable/updates Release (expected stable but got sarge)
W: You may want to run apt-get update to correct these problems

Just open /etc/apt/sources.list file:
# vi /etc/apt/sources.list
Find line that read as follows:
deb http://security.debian.org/ stable/updates main contrib
Replace with :
deb http://security.debian.org/ etch/updates main contrib non-free

Save and close the file. Now type the following command:
# apt-get update

Step #5: Reboot system

You are done. Just reboot the system:
# reboot

Step #6: Make sure everything is working…

See Debian distro version:
$ cat /etc/debian_version


Make sure all services are running, just go thought all log files once.
# netstat -tulpn
# tail -f /var/log/log-file-name
# less /var/log/dmesg
# top

Use apt-key command to manage the list of keys used by apt to authenticate packages. Packages which have been authenticated using these keys will be considered trusted. Make sure you see package etch related keys:
# apt-key list

pub   1024D/2D230C5F 2006-01-03 [expired: 2007-02-07]
uid                  Debian Archive Automatic Signing Key (2006) <ftpmaster@debian.org>

pub   1024D/6070D3A1 2006-11-20 [expires: 2009-07-01]
uid                  Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org>

pub   1024D/ADB11277 2006-09-17
uid                  Etch Stable Release Key <debian-release@lists.debian.org>

If there is a problem use following command to update the local keyring with the keyring of Debian archive keys and removes from the keyring the archive keys which are no longer valid.
# apt-key update
# apt-key list

Finally just see if any new updates/security updates are available:
# apt-get update
# apt-get upgrade

Further readings