Mise à jour de Debian à Squeeze
Préparation (à l'avance)
- informer les utilisateurs
- consulter les release notes (voir les références ci-dessous)
- tester la mise à jour sur une copie du système, en prenant des notes (voir ci-dessous)
- assurer que les sauvegardes ont été faites (y compris données actives)
Mise à jour
Environnement
La mise à jour peut se faire depuis SSH: il faut cependant prévoir un accès à la machine, en cas de nécessité.
Il vaut mieux stopper, voire firewaller les services avant la mise à jour.
Etapes
- un système à mettre à jour à une version suivante doit être à jour pour sa version
- lancer la mise à jour dans un environnement survivant les pannes de connexion (screen p.ex.)
- logguer tout ce qui sera fait:
script -a /root/LOGS/update-lenny-to-squeeze-$(date --iso)/transcript
- sauvegarder l'état du système:
dpkg --get-selections > /root/LOGS/update-lenny-to-squeeze-$(date --iso)/selections
- arrêter les services et/ou firewaller; éventuellement relancer une sauvegarde (en particulier des données actives)
- consulter
dpkg-divert --list
(en particulier les diversions locales) et décider si elles doivent être maintenues
- vérifier s'il y a des packages en "hold":
grep hold /root/LOGS/update-lenny-to-squeeze-$(date --iso)/selections
- sed --in-place 's/lenny/squeeze/' /etc/apt/sources.list
- vérifier s'il y a d'autres listes dans le répertoire /etc/apt/sources.list.d ou s'il y a des sources spéciales dans /etc/apt/sources.list qui pourraient géner la mise à jour (en particulier hors stable)
- si volatile.debian.org est utilisé, remplacer par squeeze-updates, exemple de fichiers sources.list utilisant le miroire ALPHANET:
deb http://archive.alphanet.ch/mirror/debian/debian squeeze main
deb http://archive.alphanet.ch/mirror/debian/debian-security squeeze/updates main
deb http://ftp.ch.debian.org/debian/ squeeze main
deb http://security.debian.org squeeze/updates main
# anciennement "volatile", décommenter si nécessaire
# deb http://mirror.switch.ch/ftp/mirror/debian/ squeeze-updates main
# deb-src http://mirror.switch.ch/ftp/mirror/debian/ squeeze-updates main
deb http://packages.cril.ch/cril/debian/packages/ etch cril
- apt-get update && apt-get --download-only -u dist-upgrade
- vérifier qu'il reste de la place (df); c'est à partir de là que le firewall devrait être activé et les services stoppés.
- apt-get -u dist-upgrade # ne pas répondre OUI à dash.
- apt-get clean
- lancer aptitude, désinstaller les packages qui sont marqués comme Obsolete et les désinstaller
- apt-get --purge remove $(deborphan)
- apt-get --purge autoremove
- apt-get -u dist-upgrade # les 3 nombres doivent être zéro
- dpkg-reconfigure locales # activer la locale fr_CH.iso8859-1, mais laisser No configuration. assurer que les configuration locales
- déplacer dans /etc/default/locales les variables éventuellement dans /etc/environnement qui ont trait aux locales (LC_*, LANG)
- mise à jour des logiciels non inclus dans la distribution (en particulier éventuellement les remplacer!)
- terminer le transcript et screen avec plusieurs exit
- éventuellement redémarrer la machine
En cas de problème, il se peut qu'un package est à installer (p.ex. locales, deborphan), ou qu'il faille corriger des problèmes (apt-get install -f).
Noter tous les problèmes rencontrés et lire les informations.
Références
--
MarcSCHAEFER - 29 Feb 2012