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
  1. un système à mettre à jour à une version suivante doit être à jour pour sa version
  2. lancer la mise à jour dans un environnement survivant les pannes de connexion (screen p.ex.)
  3. logguer tout ce qui sera fait:
    script -a /root/LOGS/update-lenny-to-squeeze-$(date --iso)/transcript
  4. sauvegarder l'état du système:
    dpkg --get-selections > /root/LOGS/update-lenny-to-squeeze-$(date --iso)/selections
  5. arrêter les services et/ou firewaller; éventuellement relancer une sauvegarde (en particulier des données actives)
  6. consulter
    dpkg-divert --list
    (en particulier les diversions locales) et décider si elles doivent être maintenues
  7. vérifier s'il y a des packages en "hold":
    grep hold /root/LOGS/update-lenny-to-squeeze-$(date --iso)/selections
  8. sed --in-place 's/lenny/squeeze/' /etc/apt/sources.list
  9. 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)
  10. 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
    
  11. apt-get update && apt-get --download-only -u dist-upgrade
  12. 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.
  13. apt-get -u dist-upgrade # ne pas répondre OUI à dash.
  14. apt-get clean
  15. lancer aptitude, désinstaller les packages qui sont marqués comme Obsolete et les désinstaller
  16. apt-get --purge remove $(deborphan)
  17. apt-get --purge autoremove
  18. apt-get -u dist-upgrade # les 3 nombres doivent être zéro
  19. dpkg-reconfigure locales # activer la locale fr_CH.iso8859-1, mais laisser No configuration. assurer que les configuration locales
  20. déplacer dans /etc/default/locales les variables éventuellement dans /etc/environnement qui ont trait aux locales (LC_*, LANG)
  21. mise à jour des logiciels non inclus dans la distribution (en particulier éventuellement les remplacer!)
  22. terminer le transcript et screen avec plusieurs exit
  23. é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
Topic revision: r3 - 01 Mar 2012, MarcSCHAEFER
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback