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 Bullseye vers Bookworm

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

# Problèmes à connaitre : https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.fr.html
# Mise à niveau : https://www.debian.org/releases/bookworm/amd64/release-notes/ch-upgrading.fr.html

# 4.2.1
grep -q '^11\.' /etc/debian_version || echo -e "\n*** MISE À NIVEAU SEULEMENT POUR Debian 11 (Bullseye) ***\n"
# 4.2.6
echo "Liste des paquets non Debian risquant de bloquer la mise à niveau :"; apt list '?narrow(?installed, ?not(?origin(Debian)))'; echo "Fin de la liste."
# 5.1.10
dpkg -l slapd | grep -q ^.i && echo "Attention à migrer les BDD slapd vers mdb (au lieu de bdb ou hdb) avant la mise à niveau Debian."

# 4.2.13
apt-mark showhold ; aptitude search "~ahold" ; dpkg --get-selections | grep 'hold$'
# 4.2.5
aptitude search "~o"
# 4.2.6
apt list '?narrow(?installed, ?not(?origin(Debian)))' # ou bien: apt-forktracer | sort
# 4.2.4
aptitude # mode interactif => touche [g] pour vérifier/corriger les actions en attente
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.2.7 & 4.5.5 & A.3
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
# 4.2.12
apt install gpgv

# 4.1.1
export LANG=C.UTF-8
mkdir ~/bullseye
cp -a /etc ~/bullseye/
cp -a /var/lib/dpkg ~/bullseye/_var_lib_dpkg
cp -a /var/lib/apt/extended_states ~/bullseye/_var_lib_apt_extended_states
cp -a /var/lib/aptitude/pkgstates ~/bullseye/_var_lib_aptitude_pkgstates
# 4.2.13
dpkg --audit ; dpkg --get-selections "*" > ~/bullseye/dpkg--get-selections.txt
apt list --installed > ~/bullseye/apt-list--installed.txt

# 4.2.9
sed -i -e '/proposed-updates/s|^|#|' /etc/apt/sources.list
# 4.2.10
sed -i -e 's|^|#|' /etc/apt/sources.list.d/*.list
# 4.2.11
for f in /etc/apt/preferences /etc/apt/preferences.d/* ; do [ -f "$f" -a -n "$f" ] && mv -v "$f" "$f".dpkg-bullseye && touch "$f" ; done

# 4.3
sed -i -e 's|bullseye|bookworm|' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf
sed -i -e '/bookworm-lts/s|^|#|' /etc/apt/sources.list
# 4.2.8 & 5.1.1
sed -i -e 's| non-free$| non-free-firmware|' /etc/apt/sources.list
grep -q non-free-firmware /etc/apt/sources.list || sed -i -e '/^deb .* bookworm main/s|$| non-free-firmware|' /etc/apt/sources.list
# 4.3.1
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo "ENVISAGER D'UTILISER deb.debian.org (CDN)" ; echo

# ne plus conserver les .deb dans le cache après install avec succès
echo 'APT::Keep-Downloaded-Packages "false";' > /etc/apt/apt.conf.d/01keep-debs

# 4.4.1
script -t 2>~/bullseye/mise-a-niveau-bookworm.time -a ~/bullseye/mise-a-niveau-bookworm.script
# rejouer la session : scriptreplay ~/bullseye/mise-a-niveau-bookworm.time ~/bullseye/mise-a-niveau-bookworm.script

# 4.4.2 & 4.4.3
apt update ; apt -o APT::Get::Trivial-Only=true full-upgrade ; df --si -x tmpfs -x devtmpfs
# plusieurs pistes pour libérer de l'espace disque sur
# https://www.debian.org/releases/bookworm/amd64/release-notes/ch-upgrading.fr.html#sufficient-space

# 4.4.4
service monit stop

# 5.1.23
apt install --no-install-recommends openssh-server

# nouveau mode de compression rapide pour initramfs
apt install --no-install-recommends zstd

# 4.4.5
apt upgrade --without-new-pkgs && apt clean

# 4.4.6
apt full-upgrade --no-install-recommends
# 4.5.1
# ajouter si indiqué : -o APT::Immediate-Configure=0
# 4.5.3
# ajouter en cas de boucle de dépendance/conflit : -o APT::Force-LoopBreak=1

# 4.7 & 4.8
apt clean ; aptitude search '~i(!~ODebian)'

# 4.2.6 & 4.5.5 & A.3
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
# 4.7.1
#dpkg -l | awk '/^rc/ { print $2 }' # apt purge $(…)
apt list "~c" # apt purge "~c"
# 4.8
apt list "~o" # apt purge "~o"

# 5.1.9
rm -f /var/log/mail.{info,warn,err}{,.*} /var/log/lpr.log{,.*} /var/log/{messages,debug,daemon.log}{,.*}
# 5.2.1
apt install debian-security-support && check-support-status

# A.4
grep -q UTF-8 /etc/default/locale || dpkg-reconfigures locales

# sortie du sous shell lancé via la commande "script"
exit

Infos annexes :

De Buster vers Bullseye

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

# réf. : https://www.debian.org/releases/bullseye/amd64/release-notes/ch-upgrading.fr.html
# réf. : https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.fr.html

# 4.2.1
grep -q '^10\.' /etc/debian_version || echo -e "\n*** MISE À NIVEAU SEULEMENT POUR Debian 10 (Buster) ***\n"
# 4.2.2
nondeb="`aptitude search '?narrow(?installed, ?not(?origin(Debian)))'`"
test -n "$nondeb" && echo -e  "\nPaquets non Debian risquant de bloquer la mise à niveau :\n$nondeb\n"

# 4.2.11
aptitude search "~ahold" ; dpkg --get-selections | grep 'hold$'
# 4.2.5
aptitude search "~o"
# 4.2.3
aptitude # mode interactif => touche [g] pour vérifier/corriger les actions en attente
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.2.6 & 4.5.5 & A.3
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

# 4.1.1
export LANG=C
mkdir ~/buster
cp -a /etc ~/buster/
cp -a /var/lib/dpkg ~/buster/_var_lib_dpkg
cp -a /var/lib/apt/extended_states ~/buster/_var_lib_apt_extended_states
cp -a /var/lib/aptitude/pkgstates ~/buster/_var_lib_aptitude_pkgstates
# 4.2.11
dpkg --audit ; dpkg --get-selections "*" > ~/buster/dpkg--get-selections.txt

# 4.2.8
sed -i -e '/proposed-updates/s|^|#|' /etc/apt/sources.list
# 4.2.9
sed -i -e 's|^|#|' /etc/apt/sources.list.d/*.list
# 4.2.10
for f in /etc/apt/preferences /etc/apt/preferences.d/* ; do [ -f "$f" -a -n "$f" ] && mv -v "$f" "$f".dpkg-buster && touch "$f" ; done

# 4.3
sed -i -e 's|buster|bullseye|' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf
sed -i -e '/bullseye-lts/s|^|#|' /etc/apt/sources.list
# 4.2.7 & 5.1.3
sed -i -e 's| bullseye/updates | bullseye-security |' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

# 4.4.1
script -t 2>~/buster/mise-a-niveau-bullseye.time -a ~/buster/mise-a-niveau-bullseye.script

# 4.4.2 & 4.4.3
apt update ; apt -o APT::Get::Trivial-Only=true full-upgrade ; df --si -x tmpfs -x devtmpfs
# plusieurs pistes pour libérer de l'espace disque sur
# https://www.debian.org/releases/bullseye/amd64/release-notes/ch-upgrading.fr.html#sufficient-space

# 5.1.23
apt install --no-install-recommends openssh-server

# 4.4.4
apt upgrade --without-new-pkgs && apt clean

# 4.6.1
dpkg -l "linux-image*" | grep ^ii | grep -i meta
apt-cache search linux-image- | grep -i meta | grep -v transition
apt install --no-install-recommends linux-image-amd64  #udev initramfs-tools

# reboot éventuel ici, il ne sera plus nécessaire ensuite (en principe)
# le cas échéant, relancer aussi la commande script, avec d'autres noms de fichiers

# 4.4.5
apt full-upgrade --no-install-recommends
# 4.5.1
# ajouter si indiqué : -o APT::Immediate-Configure=0
# 4.5.3
# ajouter en cas de boucle de dépendance/conflit : -o APT::Force-LoopBreak=1

# 4.7 & 4.8
apt clean ; aptitude search '~i(!~ODebian)'

# 4.2.6 & 4.5.5 & A.3
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
# 4.7.1
#dpkg -l | awk '/^rc/ { print $2 }' # apt purge $(…)
aptitude search "~c" # aptitude purge "~c"
# 4.8
aptitude search "~o"

# A.4
grep -q UTF-8 /etc/default/locale || dpkg-reconfigures locales

# 5.2
apt install debian-security-support && check-support-status

# ne plus conserver les .deb dans le cache après install avec succès
echo 'APT::Keep-Downloaded-Packages "false";' > /etc/apt/apt.conf.d/01keep-debs

# sortie du sous shell lancé via la commande "script"
exit

Infos annexes :

De Stretch vers Buster

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

# réf. : https://www.debian.org/releases/buster/amd64/release-notes/ch-upgrading.fr.html
# réf. : https://www.debian.org/releases/buster/amd64/release-notes/ch-information.fr.html

# 4.2.5
aptitude search "~ahold" ; dpkg --get-selections | grep 'hold$'
# 4.2.3
aptitude # mode interactif => touche [g] pour vérifier/corriger les actions en attente
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"

# 4.1.1
export LANG=C
mkdir ~/stretch
cp -a /etc ~/stretch/
cp -a /var/lib/dpkg ~/stretch/_var_lib_dpkg
cp -a /var/lib/apt/extended_states ~/stretch/_var_lib_apt_extended_states
cp -a /var/lib/aptitude/pkgstates ~/stretch/_var_lib_aptitude_pkgstates
dpkg --audit ; dpkg --get-selections "*" > ~/stretch/dpkg--get-selections.txt

# 4.2.1
sed -i -e '/proposed-updates/s|^|#|' /etc/apt/sources.list
# 4.2.2
sed -i -e 's|^|#|' /etc/apt/sources.list.d/*.list
# 4.2.4
for f in /etc/apt/preferences /etc/apt/preferences.d/* ; do [ -f "$f" -a -n "$f" ] && mv -v "$f" "$f".dpkg-stretch && touch "$f" ; done

# 4.3
sed -i -e 's|stretch|buster|' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf
sed -i -e '/buster-lts/s|^|#|' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

# 4.4.1
script -t 2>~/stretch/mise-a-niveau-buster.time -a ~/stretch/mise-a-niveau-buster.script

# 5.1.1
grep -q hidepid /etc/fstab && echo "*** Il faut désactiver hidepid sur /proc."
# 5.1.3
grep -q '^[^#].*AcceptedKeyTypes' /etc/ssh/sshd_config && echo "*** Vérifier qu'on accepte rsa-sha2 dans sshd_config (ou commenter cette config')."
# 5.1.4
for f in 70-persistent-net.rules 99-default.link 50-virtio-kernel-names.link ; do ff="/etc/systemd/network/$f" ; test -e "$ff" && echo "*** Le fichier $ff est à supprimer." ; done

# 4.4.2 & 4.4.3
apt update ; apt -o APT::Get::Trivial-Only=true dist-upgrade ; df --si -x tmpfs -x devtmpfs
# plusieurs pistes pour libérer de l'espace disque sur
# https://www.debian.org/releases/buster/amd64/release-notes/ch-upgrading.fr.html#sufficient-space

# 4.4.4
apt upgrade -o APT::Install-Recommends=false && apt clean

# en cas de souci d'upgrade qui s'interrompt sur un serveur Libvirt/KVM :
# service virtlogd stop ; !! # = stopper virtlogd et relancer l'upgrade

# 4.6.1
dpkg -l "linux-image*" | grep ^ii | grep -i meta
apt-cache search linux-image- | grep -i meta | grep -v transition
apt install -o APT::Install-Recommends=false linux-image-amd64 udev initramfs-tools

# reboot éventuel ici, il ne sera plus nécessaire ensuite (en principe)
# le cas échéant, relancer aussi la commande script, avec d'autres noms de fichiers

# 4.4.5
apt dist-upgrade -o APT::Install-Recommends=false
# 4.5.1
# ajouter si indiqué : -o APT::Immediate-Configure=0
# 4.5.3
# ajouter en cas de boucle de dépendance/conflit : -o APT::Force-LoopBreak=1

# 4.7 & 4.8
apt clean ; aptitude search '~i(!~ODebian)'

# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"
# 4.7.1
#dpkg -l | awk '/^rc/ { print $2 }' # apt purge $(…)
aptitude search "~c" # aptitude purge "~c"
# 5.1.8 : paquets obsolètes depuis systemd
apt purge initscripts sysv-rc insserv startpar

# A.4
grep -q UTF-8 /etc/default/locale || dpkg-reconfigures locales

# 5.2
apt install debian-security-support && check-support-status

# génération des clés SSH manquantes (nouvelles méthodes de crypto)
dpkg-reconfigure openssh-server && service ssh restart

# ne plus conserver les .deb dans le cache après install avec succès
echo 'APT::Keep-Downloaded-Packages "false";' > /etc/apt/apt.conf.d/01keep-debs

# sortie du sous shell lancé via la commande "script"
exit

Infos annexes :

De Jessie vers Stretch

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

# réf. : https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.fr.html
# réf. : https://www.debian.org/releases/stretch/amd64/release-notes/ch-information.fr.html

# 4.2.1
aptitude # mode interactif => touche [g] pour vérifier/corriger les actions en attente
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"

# 5.1.5
uname -v # nécessite noyau Linux actif ≥ 3.16.43
# c'est normalement bien le cas quand toutes les mises à jour sont faites

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

# 4.2.2
f="/etc/apt/preferences" ; [ -f "$f" ] && mv "$f" "$f".dpkg-jessie && touch "$f"
f="/etc/apt/preferences.d" ; [ -d "$f" ] && mv "$f" "$f".dpkg-jessie && mkdir "$f"
# 4.2.4
sed -i -e '/proposed-updates/s|^|#|' /etc/apt/sources.list
# 4.2.5
sed -i -e 's|^|#|' /etc/apt/sources.list.d/*.list
# 4.3
sed -i -e 's|jessie|stretch|' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf
sed -i -e '/stretch-lts/s|^|#|' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

# 4.4.1
script -t -a ~/jessie/mise-a-niveau-stretch.script 2>~/jessie/mise-a-niveau-stretch.time

# 4.4.2 & 4.4.3
apt-get update ; apt-get -o APT::Get::Trivial-Only=true dist-upgrade ; df --si -x tmpfs -x devtmpfs
# plusieurs pistes pour libérer de l'espace disque sur
# https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.fr.html#sufficient-space

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

# 4.6.1
dpkg -l "linux-image*" | grep ^ii | grep -i meta
apt-cache search linux-image- | grep -i meta | grep -v transition
apt-get install -o APT::Install-Recommends=false linux-image-amd64 udev initramfs-tools

# reboot éventuel ici, il ne sera plus nécessaire ensuite (en principe)
# le cas échéant, relancer aussi la commande script, avec d'autres noms de fichiers

# 4.4.5
apt-get dist-upgrade
# ajouter éventuellement : -o APT::Install-Recommends=false
# 4.5.1
# ajouter si indiqué : -o APT::Immediate-Configure=0
# 4.5.3
# ajouter en cas de boucle de dépendance/conflit : -o APT::Force-LoopBreak=1

# 4.7 & 4.8
apt-get clean ; aptitude search '~i(!~ODebian)'

# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"
# 4.8.1
#dpkg -l | awk '/^rc/ { print $2 }' # apt-get purge $(…)
aptitude search "~c" # aptitude purge "~c"
# A.4
grep -q UTF-8 /etc/default/locale || dpkg-reconfigures locales

# 5.2
apt-get install debian-security-support && check-support-status

# génération des clés SSH manquantes (nouvelles méthodes de crypto)
dpkg-reconfigure openssh-server && service ssh restart

# ne plus conserver les .deb dans le cache après install avec succès
echo 'APT::Keep-Downloaded-Packages "false";' > /etc/apt/apt.conf.d/01keep-debs

# rester en mode texte au démarrage
#grep -q 'vga=normal nomodeset' /etc/default/grub || sed -i '/GRUB_CMDLINE_LINUX=/s/"/"vga=normal nomodeset /' /etc/default/grub
sed -i '/GRUB_TERMINAL=console/s/^#//' /etc/default/grub
update-grub

# nettoyer l'ancien système de configuration du clavier
rm -f /etc/init.d/kbd /etc/kbd/config /etc/kbd/remap && rmdir /etc/kbd
update-rc.d -f kbd remove
#aptitude purge kbd

# AUF : renvoyer les infos d'inventaire vers notre GLPI
#obsolète : auf-inventaire-config

# petit souci potentiel quand on joue avec les optimisations Libvirt…
sed -i "s/ io='native'//" /etc/libvirt/qemu/*.xml

# dans le cas, très probable, où on souhaiterait conserver iptables plutôt que nftables
update-alternatives --set iptables /usr/sbin/iptables-legacy

# sortie du sous shell lancé via la commande "script"
exit

Infos annexes :

De Wheezy vers Jessie

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

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

# 4.2.1
aptitude # mode interactif => touche [g] pour vérifier/corriger les actions en attente
aptitude update ; aptitude safe-upgrade ; aptitude clean
# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"

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

# 4.2.2
f="/etc/apt/preferences" ; [ -f "$f" ] && mv "$f" "$f".dpkg-wheezy && touch "$f"
f="/etc/apt/preferences.d" ; [ -d "$f" ] && mv "$f" "$f".dpkg-wheezy && mkdir "$f"
# 4.2.4
sed -i -e '/proposed-updates/s/^/#/' /etc/apt/sources.list
# 4.2.5
sed -i -e 's/^/#/' /etc/apt/sources.list.d/*.list
# 4.3
sed -i -e 's/wheezy/jessie/' /etc/apt/sources.list /etc/apt/sources.list.d/*.list /etc/apt/apt.conf
sed -i -e '/jessie-lts/s|^|#|' /etc/apt/sources.list
cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; echo

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

# 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
## vérifier si ce ne serait pas plutôt kernel-image- maintenant
dpkg -l "linux-image*" | grep ^ii | grep -i meta
apt-cache search linux-image- | grep -i meta | grep -v transition
apt-get install -o APT::Install-Recommends=false linux-image-amd64 udev initramfs-tools

# reboot éventuel ici, il ne sera plus nécessaire ensuite (en principe)

# 4.4.5
apt-get dist-upgrade
# ajouter éventuellement -o APT::Install-Recommends=false
# ajouter le cas échéant -o APT::Immediate-Configure=0

# 4.7 & 4.8
apt-get clean ; aptitude search ~i\!~Odebian
# 4.5.5 & A.3
find /etc -name "*.dpkg*" -o -name "*.ucf*"
# 4.8.1
aptitude search "~c" # aptitude purge "~c"
# A.4
grep -q UTF-8 /etc/default/locale || dpkg-reconfigures locales

# AUF : renvoyer les infos d'inventaire vers notre GLPI
#obsolète : auf-inventaire-config

# sortie du sous shell lancé via la commande "script"
exit

Quelques informations additionnelles :

De Squeeze vers Wheezy

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

# 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 '/wheezy-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

# expérience AUF :
# si MySQL est installé lancer la commande suivante :
# apt-get install mysql-server mysql-client

# 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

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

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

# expérience AUF :
# si MySQL est installé lancer la commande suivante :
# apt-get install mysql-server mysql-client

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

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

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*"

JeanChristopheAndré/Notes/Debian (dernière édition le 2024-03-16 01:56:48 par JeanChristopheAndré)