ATTENTION : la documentation officielle est sur Debian/Wheezy, NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !

Voici mon lots de commandes pour une mise à niveau Debian, dans le cas d'un serveur qui a été bien maintenu depuis le début.

De Squeeze vers Wheezy

# réf. : http://www.debian.org/releases/wheezy/amd64/release-notes/ch-upgrading.fr.html

# 4.2.1
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.5.6 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"

# 4.1.1
unset LANG ; mkdir ~/squeeze
cp -a /etc ~/squeeze/
cp -a /var/lib/dpkg ~/squeeze/_var_lib_dpkg
cp -a /var/lib/apt/extended_states ~/squeeze/_var_lib_apt_extended_states
cp -a /var/lib/aptitude/pkgstates ~/squeeze/_var_lib_aptitude_pkgstates
# 4.2.3
dpkg --audit ; dpkg --get-selections "*" > ~/squeeze/dpkg--get-selections.txt
aptitude search "~ahold" | grep "^.h" ; dpkg --get-selections | grep hold

# 4.2.2
f="/etc/apt/preferences" ; [ -f "$f" ] && mv "$f" "$f".dpkg-squeeze && touch "$f"
f="/etc/apt/preferences.d" ; [ -d "$f" ] && mv "$f" "$f".dpkg-squeeze && mkdir "$f"
# 4.2.4
sed -i -e '/proposed-updates/s/^/#/' /etc/apt/sources.list
# 4.3
sed -i -e 's/squeeze/wheezy/' /etc/apt/sources.list
sed -i -e 's| [a-z]+/volatile | wheezy-updates |' -e 's|/volatile|/archive|' /etc/apt/sources.list
sed -i -e '/squeeze-lts/s|^|#|' /etc/apt/sources.list
sed -i -e '/backports/s|backports.debian.org/debian-backports|http.debian.net/debian|' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

# adaptations spécifiques à l'AUF
f="/etc/mysql/conf.d/local.cnf" ; [ -f "$f" ] && sed -i -e '/^default-character-set/s|^|#|' "$f"

# 4.4.1
script -t -a  2>~/squeeze/mise-a-niveau-wheezy.time ~/squeeze/mise-a-niveau-wheezy.typescript

# 4.4.2 & 4.4.3
apt-get update ; apt-get -o APT::Get::Trivial-Only=true dist-upgrade ; df --si

# 4.4.4
apt-get upgrade && apt-get clean

# 4.6.1
apt-cache search linux-image- | grep -v transition
apt-get install linux-image-amd64 firmware-linux
apt-get install udev # à faire après, ne pas fusionner avec la commande d'avant

# 4.4.5
apt-get -o APT::Install-Recommends=false dist-upgrade
## ou éventuellement : apt-get dist-upgrade
# en cas de souci qui l'indique : apt-get dist-upgrade -o APT::Immediate-Configure=0

# 4.7 & 4.8
apt-get clean ; aptitude search ~i\!~Odebian
# 4.5.6 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"

Notes :

De Lenny vers Squeeze

aptitude purge splashy
aptitude update ; aptitude safe-upgrade ; aptitude clean
find /etc -name "*.dpkg*" -o -name "*.ucf*"

unset LANG ; mkdir ~/lenny
cp -a /etc ~/lenny/
cp -a /var/lib/dpkg ~/lenny/_var_lib_dpkg
cp -a /var/lib/apt/extended_states ~/lenny/_var_lib_apt_extended_states
cp -a /var/lib/aptitude/pkgstates ~/lenny/_var_lib_aptitude_pkgstates
dpkg --audit ; dpkg --get-selections "*" > ~/lenny/dpkg--get-selections.txt
aptitude search "~ahold" | grep "^.h" ; dpkg --get-selections | grep hold

mv /etc/apt/preferences /etc/apt/preferences.orig
sed -i -e '/proposed-updates/s/^/#/' /etc/apt/sources.list
sed -i -e 's/lenny/squeeze/' /etc/apt/sources.list
sed -i -e 's| squeeze/volatile | squeeze-updates |' -e 's|/volatile|/archive|' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

script -t -a  2>~/lenny/mise-a-niveau-squeeze.time ~/lenny/mise-a-niveau-squeeze.typescript

apt-get update ; apt-get -o APT::Get::Trivial-Only=true dist-upgrade ; df --si

apt-get upgrade && apt-get clean

# les 3 lignes suivantes ne concernent pas les conteneurs OpenVZ
apt-cache search linux-image-2.6- | grep -v transition
apt-get install linux-image-openvz-686 firmware-linux
apt-get install udev # à faire après, ne pas fusionner avec la commande d'avant

apt-get -o APT::Install-Recommends=false dist-upgrade
# ou éventuellement : apt-get dist-upgrade

apt-get clean ; aptitude search ~i\!~Odebian
find /etc -name "*.dpkg*" -o -name "*.ucf*"

De Etch vers Lenny

aptitude update ; aptitude upgrade ; aptitude clean

find /etc -name "*.dpkg*" -o -name "*.ucf*"
unset LANG ; mkdir ~/etch
dpkg --audit ; dpkg --get-selections "*" > ~/etch/dpkg--get-selections.txt
aptitude search "~ahold" | grep "^.h" ; dpkg --get-selections | grep hold
script -t -a  2>~/etch/mise-a-niveau-lenny.time ~/etch/mise-a-niveau-lenny.typescript

mv /etc/apt/preferences /etc/apt/preferences.orig
sed -i 's/etch/lenny/' /etc/apt/sources.list ; aptitude update
aptitude -y -s -f --with-recommends dist-upgrade ; df --si

aptitude install aptitude apt-utils tzdata locales libc6-i686

aptitude search "?false" ; aptitude safe-upgrade

dpkg -l libfam0c102 | grep -q ^ii && aptitude install libfam0
aptitude clean ; aptitude dist-upgrade

apt-cache search linux-image-2.6- | grep -v transition
aptitude install linux-image-2.6-openvz-686

aptitude clean ; aptitude search ~i\!~Odebian
find /etc -name "*.dpkg*" -o -name "*.ucf*"