1385
Commentaire: quelques améliorations…
|
29660
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
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 : PAS ENCORE FINI ⚠️] == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Bookworm]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 slapd vers mdb (au lieu de bdb ou hdb) avant la mise à niveau Debian." # 4.2.11 aptitude search "~ahold" ; dpkg --get-selections | grep 'hold$' # 4.2.5 aptitude search "~o" # 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.6 & 4.5.5 & A.3 find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' # 4.1.1 export LANG=C 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.11 dpkg --audit ; dpkg --get-selections "*" > ~/bullseye/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-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.7 & 5.1.3 sed -i -e 's| bookworm/updates | bookworm-security |' /etc/apt/sources.list # 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 cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; 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 # 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 # 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" # 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 : * démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target * démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target * **ordre SCSI aléatoire : utiliser /dev/disk/by-path/... au lieu de /dev/sd...** . ⇒ adapter le /etc/fstab en conséquence, en utilisant des UUID plutôt que /dev/sdX * `/bin`, `/sbin` et `/lib` sont désormés des liens vers leurs équivalents sous `/usr` * `ntpsec` succède automatiquement à `ntp`, mais `systemd-timesyncd` déjà par défaut pour un simple client NTP (5.1.2) * `rsyslog` n'est plus installé par défaut, car `journalctl` est déjà par défaut et peut le remplacer (5.1.7) * `rsyslog` utilise un horodatage plus précis, ce qui peut nécessiter de réviser les règles `logcheck` (5.1.8) * l'interpréteur Python système est déclaré sous gestion externe et il ne faut donc plus utiliser `pip` directement (5.2.2) : * utiliser `pipx` pour installer une application Python autonome * utiliser `venv` (ou `virtualenv`) pour installer des librairies Python . ⇒ au lieu d'utiliser `pip install --user toto` on utilisera `mkdir -p ~/.venvs && python3 -m venv ~/.venvs/toto && ~/.venvs/toto/bin/python -m pip install toto` * vérifier la prise en charge de VA-API avec `vainfo` et de VDPAU avec `vdpauinfo` (5.2.3) * `systemd-resolved` doit maintenant être installé indépendamment (dans le cas où on l'utilise) (5.2.4) * `adduser` a eu des modifications importantes, cf `/usr/share/doc/adduser/NEWS.Debian.gz` (5.2.7) * `libnss-ldapd` et `libpam-ldapd` succèdent à `libnss-ldap` et `libpam-ldap` (5.3.1) * `dmraid` est maintenant déprécié (5.3.2) * `isc-dhcp-client` est déprécié et peut être remplacé par `udhcpc` ou `systemd-networkd` (ou `NetworkManager`) (5.3.2) * `isc-dhcp-server` est déprécié et sera peut-être remplacé par `isc-kea` dans le futur (5.3.2) == De Buster vers Bullseye == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Bullseye]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 : * démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target * démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target * **ordre SCSI aléatoire : utiliser /dev/disk/by-path/... au lieu de /dev/sd...** . ⇒ adapter le /etc/fstab en conséquence, en utilisant des UUID plutôt que /dev/sdX * Python 2 n'est plus supporté * config' exim4 : il est préférable de re-générer la config' * fail2ban & bsd-mailx : nécessite ajustement, cf #5.1.22 * greffons vim : voir https://sources.debian.org/src/vim-scripts/bullseye/debian/NEWS/ * config' unbound : voir https://sources.debian.org/src/unbound/bullseye/debian/NEWS/ * options rsync : voir https://sources.debian.org/src/rsync/bullseye/debian/rsync.NEWS/ * redmine absent : reviendra via les backports * support NIS : installer libnss-nis au besoin == De Stretch vers Buster == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Buster]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 : * démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target * démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target * nécessité de réindexer les BDD PostgreSQL : sudo -u postgres reindexdb --all * `ipsec-tools` et `racoon` ont disparu… Debian recommande `libreswan` à la place, cf 5.1.9 sur https://www.debian.org/releases/buster/amd64/release-notes/ch-information.fr.html#noteworthy-obsolete-packages == De Jessie vers Stretch == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Stretch]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 : * démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target * démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target == De Wheezy vers Jessie == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Jessie]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 [[https://www.debian.org/releases/jessie/amd64/release-notes/ch-information.fr.html|informations additionnelles]] : * voir [[https://www.debian.org/releases/jessie/amd64/release-notes/ch-information.fr.html#lxc-upgrade-issues|cette note]] si LXC est utilisé * PostgreSQL passe de 9.1 à 9.4 => utiliser `pg_upgradecluster` * `squid3` succède à `squid` * `libjpeg-turbo-progs` succède à `libjpeg-progs` * `openjdk-7-*` succède à `openjdk-6-*` == De Squeeze vers Wheezy == ||<bgcolor="#FF5050"> '''ATTENTION''' : la documentation officielle est sur [[Debian/Wheezy]], '''NE PAS UTILISER CES COMMANDES SANS LES COMPRENDRE !''' || {{{#!shell # 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 : * vérifier /etc/default/tmpfs, cf http://www.debian.org/releases/stable/amd64/release-notes/ch-whats-new.fr.html#tmpfs-filesystems * Après la mise à niveau du système, vous devriez également prévoir de mettre vos bases de données PostgreSQL 8.4 à niveau vers PostgreSQL 9.1 en utilisant l'outil pg_upgradecluster. * rpcbind successeur de portmap * Le serveur SOGo (anciennement « Scalable OpenGroupware.org) est livré avec Wheezy en tant que sogo. * Il est recommandé de remplacer le paquet libnss-ldap par libnss-ldapd, une bibliothèque plus récente qui utilise un démon séparé (nslcd) pour toutes les consultations LDAP. Le remplacement de libpam-ldap est libpam-ldapd. . Notez que libnss-ldapd recommande le démon de cache NSS (nscd), dont vous devez évaluer l'intérêt avant de l'installer. Comme alternative à nscd, vous pouvez envisager unscd. . Des renseignements supplémentaires sont disponibles dans les bogues nº 566351 et nº 545414. == De Lenny vers Squeeze == ||<bgcolor="#FF5050"> '''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 == |
|
Ligne 3: | Ligne 674: |
Voici mon lots de commande pour une mise à niveau Debian de Etch vers Lenny, dans le cas d'un serveur qui a été bien maintenu depuis le début : {{{ |
{{{ |
Ligne 6: | Ligne 676: |
Ligne 15: | Ligne 686: |
aptitude install aptitude apt-utils tzdata locales | aptitude install aptitude apt-utils tzdata locales libc6-i686 |
Ligne 17: | Ligne 690: |
Ligne 18: | Ligne 692: |
##### aptitude unmarkauto git-core ; aptitude remove auf-git-etc ##### en attendant que je fasse la version pour Lenny :-/ |
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 : PAS ENCORE FINI ⚠️]
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 slapd vers mdb (au lieu de bdb ou hdb) avant la mise à niveau Debian." # 4.2.11 aptitude search "~ahold" ; dpkg --get-selections | grep 'hold$' # 4.2.5 aptitude search "~o" # 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.6 & 4.5.5 & A.3 find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' # 4.1.1 export LANG=C 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.11 dpkg --audit ; dpkg --get-selections "*" > ~/bullseye/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-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.7 & 5.1.3 sed -i -e 's| bookworm/updates | bookworm-security |' /etc/apt/sources.list # 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 cat /etc/apt/sources.list ; echo ; echo "VÉRIFIER LES SOURCES CI-DESSUS" ; 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 # 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 # 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" # 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 :
- démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target
- démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target
- **ordre SCSI aléatoire : utiliser /dev/disk/by-path/... au lieu de /dev/sd...**
- ⇒ adapter le /etc/fstab en conséquence, en utilisant des UUID plutôt que /dev/sdX
/bin, /sbin et /lib sont désormés des liens vers leurs équivalents sous /usr
ntpsec succède automatiquement à ntp, mais systemd-timesyncd déjà par défaut pour un simple client NTP (5.1.2)
rsyslog n'est plus installé par défaut, car journalctl est déjà par défaut et peut le remplacer (5.1.7)
rsyslog utilise un horodatage plus précis, ce qui peut nécessiter de réviser les règles logcheck (5.1.8)
l'interpréteur Python système est déclaré sous gestion externe et il ne faut donc plus utiliser pip directement (5.2.2) :
utiliser pipx pour installer une application Python autonome
utiliser venv (ou virtualenv) pour installer des librairies Python
⇒ au lieu d'utiliser pip install --user toto on utilisera mkdir -p ~/.venvs && python3 -m venv ~/.venvs/toto && ~/.venvs/toto/bin/python -m pip install toto
vérifier la prise en charge de VA-API avec vainfo et de VDPAU avec vdpauinfo (5.2.3)
systemd-resolved doit maintenant être installé indépendamment (dans le cas où on l'utilise) (5.2.4)
adduser a eu des modifications importantes, cf /usr/share/doc/adduser/NEWS.Debian.gz (5.2.7)
libnss-ldapd et libpam-ldapd succèdent à libnss-ldap et libpam-ldap (5.3.1)
dmraid est maintenant déprécié (5.3.2)
isc-dhcp-client est déprécié et peut être remplacé par udhcpc ou systemd-networkd (ou NetworkManager) (5.3.2)
isc-dhcp-server est déprécié et sera peut-être remplacé par isc-kea dans le futur (5.3.2)
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 :
- démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target
- démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target
- **ordre SCSI aléatoire : utiliser /dev/disk/by-path/... au lieu de /dev/sd...**
- ⇒ adapter le /etc/fstab en conséquence, en utilisant des UUID plutôt que /dev/sdX
- Python 2 n'est plus supporté
- config' exim4 : il est préférable de re-générer la config'
fail2ban & bsd-mailx : nécessite ajustement, cf #5.1.22
greffons vim : voir https://sources.debian.org/src/vim-scripts/bullseye/debian/NEWS/
config' unbound : voir https://sources.debian.org/src/unbound/bullseye/debian/NEWS/
options rsync : voir https://sources.debian.org/src/rsync/bullseye/debian/rsync.NEWS/
- redmine absent : reviendra via les backports
- support NIS : installer libnss-nis au besoin
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 :
- démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target
- démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target
- nécessité de réindexer les BDD PostgreSQL : sudo -u postgres reindexdb --all
ipsec-tools et racoon ont disparu… Debian recommande libreswan à la place, cf 5.1.9 sur https://www.debian.org/releases/buster/amd64/release-notes/ch-information.fr.html#noteworthy-obsolete-packages
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 :
- démarrage en mode rescue (paramètre noyau) : systemd.unit=rescue.target
- démarrage sur un shell (paramètre noyau) : systemd.unit=emergency.target
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 :
voir cette note si LXC est utilisé
PostgreSQL passe de 9.1 à 9.4 => utiliser pg_upgradecluster
squid3 succède à squid
libjpeg-turbo-progs succède à libjpeg-progs
openjdk-7-* succède à openjdk-6-*
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 :
vérifier /etc/default/tmpfs, cf http://www.debian.org/releases/stable/amd64/release-notes/ch-whats-new.fr.html#tmpfs-filesystems
- Après la mise à niveau du système, vous devriez également prévoir de mettre vos bases de données PostgreSQL 8.4 à niveau vers PostgreSQL 9.1 en utilisant l'outil pg_upgradecluster.
- rpcbind successeur de portmap
Le serveur SOGo (anciennement « Scalable OpenGroupware.org) est livré avec Wheezy en tant que sogo.
- Il est recommandé de remplacer le paquet libnss-ldap par libnss-ldapd, une bibliothèque plus récente qui utilise un démon séparé (nslcd) pour toutes les consultations LDAP. Le remplacement de libpam-ldap est libpam-ldapd.
- Notez que libnss-ldapd recommande le démon de cache NSS (nscd), dont vous devez évaluer l'intérêt avant de l'installer. Comme alternative à nscd, vous pouvez envisager unscd.
- Des renseignements supplémentaires sont disponibles dans les bogues nº 566351 et nº 545414.
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*"