Mise à niveau Debian Lenny vers Squeeze
Mise à niveau d'un système Debian Lenny vers Squeeze
Cette page regroupe quelques extraits qui nous ont paru les plus importants des notes de publication de Debian Squeeze, et en particulier des notes de mise à niveau depuis Debian Lenny, complétées de quelques remarques personnelles.
Si vous mettez à jour un système Debian, il est conseillé de lire vous-même notes de mise à niveau, car certaines informations utiles pour votre cas pourraient ne pas figurer ici.
Choses à connaître avant la mise à niveau
Avant de procéder à la mise à jour de votre système, il est bon d'être au courant de différents points de nouveautés ou de points nécessitant une attention particulière. J'ai regroupé ici les points qui me semblaient les plus importants.
Installation automatique des paquets recommandés
Lors de l'installation d'un paquet sous Squeeze, APT installe maintenant automatiquement les paquets recommandés par ce paquet. Les paquets recommandés permettent à un logiciel de proposer certaines fonctionnalités facultatives, sans toutefois obliger l'utilisateur à installer ces paquets s'il sait qu'il n'en aura pas besoin (contrairement à la liste des paquets dont depend un paquet). Il s'agit de la liste de paquets apparaissant dans la ligne commençant par « Recommends: » dans les informations de contrôle des paquets.
Si vous souhaitez n'installer que le minimum de paquets dans votre système, et que vous êtes capables de déterminer les commandes et paquets qui empêchent l'utilisation de certaines fonctionnalités de vos logiciels, vous pouvez désactiver cette installation des paquets recommandés en ajoutant une ligne à la configuration d'APT.
Vous pouvez par exemple l'ajouter dans un fichier du répertoire /etc/apt/apt.conf.d (j'ai l'habitude de créer le fichier /etc/apt/apt.conf.d/99local où je regroupe ma configuration locale d'APT. Le « 99 » indique que le fichier sera évalué après les autres fichiers du répertoire, permettant de redéfinir des configurations données dans les fichiers placés là par d'autres paquets du système).
APT::Install-Recommends "false";
Amorçage par dépendances
Squeeze introduit une fonctionnalité intéressante d'amorçage (c'est à dire du démarrage du système et de ses services) par dépendances qui permet un démarrage plus rapide de la machine.
« Cette fonctionnalité est activé par sysv-rc en utilisant insserv pour ordonner les scripts init.d en fonction de leurs dépendances déclarées [...] [Elle] est activée par défaut sur les nouvelles installations et, si possible, lors des mises à niveau. Pour la désactiver, indiquez
CONCURRENCY=none
dans /etc/default/rcS. Pour de plus amples renseignements à propos de cette fonctionnalité, veuillez consulter les renseignements disponibles dans /usr/share/doc/insserv/README.Debian. »
Configurations de clavier unifiées
Auparavant, il était nécessaire d'indiquer une configuration du clavier pour la console, et de refaire l'opération pour l'environnement graphique sous X, alors qu'il s'agit du même clavier. Ce n'est plus le cas sous Squeeze, où la configuration de ces deux systèmes ont été unifiées.
« les configurations de clavier ont été unifiées pour qu'à la fois la console et le serveur Xorg utilisent les mêmes réglages. Les configurations de clavier sont maintenant définies dans le fichier de configuration /etc/default/keyboard qui écrase les configurations définies dans le fichier de configuration de Xorg. »
« Vous pouvez reconfigurer la disposition du clavier et les réglages associés en exécutant dpkg-reconfigure keyboard-configuration ou en modifiant vous-même le fichier de configuration /etc/default/keyboard. »
La section proposed-updates
La section des dépôts de paquets Debian « proposed-updates » n'est « pas précisément une nouvelle fonctionnalité de Debian, mais elle est relativement passée inaperçue jusqu'ici. »
« Toutes les modifications de la distribution stable publiée, ainsi que celles destinées à l'ancienne version stable passent par une période étendue de tests avant d'être acceptées dans l'archive. Chacune des mises à jour de la version stable (ou l'ancienne version stable) est appelée une mise à jour mineure (« point release »). La préparation de ces mises à jour mineures se fait par le mécanisme proposed-updates. »
« Si vous souhaitez participer aux tests de ces paquets avant qu'ils ne soient officiellement ajoutés à une mise à jour mineure, vous pouvez le faire en ajoutant la section proposed-updates au fichier sources.list : »
deb http://mirrors.kernel.org/debian squeeze-proposed-updates main contrib deb-src http://mirrors.kernel.org/debian squeeze-proposed-updates main contrib
Notez que, dans le fichier des dépôts Debian, les lignes commençant par « deb-src » ne sont utiles que si vous souhaitez télécharger les sources de certains paquets pour les examiner ou les recompiler. Si vous ne pensez pas avoir besoin des sources, vous pouvez omettre ou commenter ces lignes, cela accélèrera légèrement la mise à jour de la liste des paquets.
La section stable-updates
Sous les versions précédentes de Debian, la mise à jour de certaines données qui nécessitaient une mise à jour régulière, comme les anti-virus ou les fuseaux horaires, était fournie par un dépôt dédié fourni par « volatile.debian.org ». Sous squeeze, ce dépôt disparait, et est remplacé par une extension du dépôt normal nommée « stables-updates » (ou « squeeze-updates » pour Squeeze).
« Cette voie sera utilisée pour les mises à jour que de nombreux utilisateurs voudront installer sur leurs systèmes avant la mise à jour mineure suivante, comme les mises à jour d'analyseurs de virus et données de fuseau horaire. Tous les paquets de squeeze-updates seront intégrés dans les mises à jour mineures.
Pour utiliser les paquets de squeeze-updates, vous pouvez ajouter une entrée au fichier sources.list : »
deb http://mirrors.kernel.org/debian squeeze-updates main contrib deb-src http://mirrors.kernel.org/debian squeeze-updates main contrib
« Quand un nouveau paquet devient disponible par squeeze-updates, ce sera annoncé sur la liste de diffusion debian-stable-announce. »
La désactivation d'Ipv6 ne peut plus être effectuée de la même façon
IPv6 étant maintenant compilée dans le kernel plutôt qu'en module, l'ajout de directives dans /etc/modprobe.d pour désactiver le support IPv6 ne fonctionne plus. Il faut maintenant passer par sysctl, et s'assurer de quelques points pour éviter des problèmes avec exim et ssh. Tout ceci est détaillée sur le wiki Debian.
En résumé, voici les points à suivre si vous voulez désactiver le support IPv6 (si vous ne savez pas si vous devez le faire, alors ne le faites pas, ça vous évitera des soucis potentiels avec certains logiciels).
- désactivez le module du noyau :
echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf
- commentez les adresses IPv6 figurant dans le fichier /etc/hosts
- modifiez la configuration d'exim, qui ne fonctionnera sinon pas correctement sans le support IPv6 du noyau:
- ajoutez disable_ipv6 = true dans votre fichier de configuration d'exim
- lancez la commande update-exim4.conf
- redémarrez exim (si vous ne redémarrez tout le système juste après)
- modifiez la configuration de SSH pour lui indiquer de ne plus rechercher les interfaces IPv6:
- ajoutez AddressFamily inet dans votre fichier /etc/ssh/sshd_config
- redémarrez sshd (si vous ne redémarrez tout le système juste après)
- redémarrez votre système
Réduire le temps d'indisponibilité des services
Si le système que vous mettez à jour est utilisé par d'autres utilisateurs, vous pourriez vouloir réduire autant que possible la durée d'indisponibilité de la machine. Voici ce que conseillent les notes de mise à niveau:
« Vous pouvez réduire le temps d'arrêt en faisant une mise à niveau minimale du système (consultez Section 4.4.4, « Mise à niveau minimale du système »), puis une mise à niveau du noyau et un redémarrage (consultez Section 4.4.5, « Mettre à niveau le noyau et udev »), et ensuite une mise à niveau des paquets fournissant vos services critiques. Mettez-les à niveau avant de lancer la mise à niveau totale (Section 4.4.6, « Mettre à niveau le système ») pour vous assurer que ces services critiques sont lancés et sont disponibles pendant la mise à niveau, et réduisez ainsi leur temps d'arrêt. »
Attention aux mises à jour à distance
Une mise à jour d'un système sans être connecté à sa console peut parfois poser des problèmes. Voici les recommandations des notes de mise à jour:
« Si vous effectuez une mise à niveau à distance par un lien ssh, il est fortement recommandé de prendre toutes les précautions nécessaires pour pouvoir accéder au serveur par un terminal série distant. Il est possible qu'après la mise à niveau du noyau et le redémarrage, les noms de quelques périphériques soient changés (comme décrit en Section 4.6.2, « Réordonnancement de l'énumération des périphériques ») et vous devrez corriger la configuration du système depuis une console locale. Par ailleurs, si le système est redémarré accidentellement au milieu de la mise à niveau, il est possible que vous deviez utiliser une console locale pour réparer le système. »
L'accès via VPN (avec des outils tels que tinc) risquent plus fortement encore de rentre impossible votre accès à distance lors de la mise à jour.
Sources non officielles et rétroportages
Attention, les paquets non officiels et issus des rétroportages (backports) sont susceptibles d'être supprimés lors de la mise à jour. Si les dépôts utilisés proposent également une version des paquets pour Squeeze, vous devriez l'utiliser (ce sera normalement fait automatiquement). Les paquets rétroportés non officiels de versions plus récentes que celles qui sont dans Debian sont celles qui risquent le plus de poser problème.
Si vous utilisiez le dépôt de rétroportages pour Lenny (lenny-backports), il vous suffit normalement de le supprimer de la liste des dépôts, et les paquets issus de ce dépôts seront remplacés par des paquets issus de Squeeze.
Si vous utilisiez le nouveau dépôt de rétroportage étendu (« lenny-backports-sloppy ») proposant des paquets plus récents que ceux proposés dans Squeeze, ces paquets risquent d'être supprimés. Vous pourrez peut-être les réinstaller à partir du dépôt squeeze-backports (rétroportage prévu pour Squeeze) s'ils existent également dans ce dépôt.
Procédure de mise à niveau
Choses à effectuer avant la mise à niveau
Sauvegardes
Comme avant toute modification conséquente d'un système, il est conseillé d'effectuer des sauvegardes. Vos données personnelles (dans /home) ne risquent a priori rien du tout, mais en cas de problème au milieu de la mise à niveau (arrêt soudain de la machine au milieu de la manipulation de la base de données de paquets installés, par exemple), il pourrait être nécessaire de réinstaller certains fichiers du systèmes pour sauver votre installation.
« Ce que vous devriez principalement sauvegarder est le contenu des répertoires /etc et /var/lib/dpkg, du fichier /var/lib/apt/extended_states et la sortie de dpkg --get-selections "*" (les guillemets sont importants). Si vous utilisez aptitude pour gérer les paquets du système, vous devriez aussi sauvegarder /var/lib/aptitude/pkgstates. »
Vous pourriez vouloir également sauvegarder vos configurations personnelles de certaines applications comme Gnome, KDE, ou les applications Mozilla (conservées dans votre répertoire personnel, dans les sous-répertoires cachés comme .gnome, .kde, .mozilla) car ces applications ont tendance à écraser certains paramètres utilisateurs existants lorsqu'une nouvelle version est lancée pour la première fois, rendant complexe un retour éventuel à une version précédente.
S'assurer qu'aptitude n'a aucune action en cours
Avant de changer les dépôts pour les faire pointer sur ceux de squeeze, vérifiez qu'aptitude n'a aucune action en cours. Démarrez aptitude en mode interactif (par la commande « aptitude » seule), et appuyez sur « g » (pour Go). Si une action est en cours, vous pouvez soit l'annuler, soit l'effectuer. Si aucune n'est prévue, aptitude vous en avertira.
Désactiver l'étiquettage apt
Si vous avez utilisé l'étiquettage APT pour installer des paquets d'une autre version de la distribution (par exemple testing), supprime-le dans /etc/apt/preferences. En particulier, le dépôts des backports pour lenny nécessitait des instructions dans ce fichier /etc/apt/preferences pour permettre la mise à jour automatique lors de l'apparition d'une nouvelle version dans les backports. Ce n'est plus le cas dans les backports pour Squeeze, qui seront mis à niveau automatiquement. Vous pouvez donc supprimez les instructions relatives aux backports dans /etc/apt/preferences.
Vérifier l'état des paquets
Il est recommandé de vérifier l'état des paquets, qui doivent tous être installés correctement avant la mise à jour (aucun ne doit être dans un état semi-installé ou semi-configuré).
La commande suivante indiquera les paquets dans l'état « Half-Installed » ou « Failed-Config », ainsi que ceux qui sont dans un état d'erreur:
# dpkg --audit
« Vous pouvez aussi vérifier l'état de tous les paquets du système en utilisant dselect, aptitude, ou avec des commandes comme :
# dpkg -l | pager
ou
# dpkg --get-selections "*" > ~/paquets-actuels.txt
Il est souhaitable d'enlever tous les blocages de paquets (paquets dans l'état hold) avant de passer à la nouvelle version. Si un paquet essentiel pour la mise à niveau est bloqué, la mise à niveau va échouer. »
Vérifier les paquets bloqués:
- par aptitude:
# aptitude search "~ahold" | grep "^.h"
- par apt-get:
# dpkg --get-selections | grep hold
« Si vous aviez modifié et recompilé un paquet localement, sans changer son nom et sans mettre d'époque (« epoch ») dans la version, vous devez le bloquer pour éviter qu'il ne soit mis à niveau. Vous pouvez activer un blocage sur un paquet pour apt-get en utilisant :
# echo package_name hold | dpkg --set-selections
Remplacez hold par install pour débloquer un paquet. »
Supprimer la section proposed-updates
« Si vous avez ajouté la section proposed-updates dans le fichier /etc/apt/sources.list, il est conseillé de la supprimer avant de tenter la mise à niveau. Il s'agit essentiellement d'une précaution pour éviter des conflits possibles. »
Cette section proposed-updates peut bien sûr être remise en place après la mise à niveau si vous souhaitez disposer des mises à niveau de Debian stable plus rapidement.
Mise à niveau proprement dite
Préparer les sources d'APT
Modifiez les dépôts Debian désignés dans le fichier /etc/apt/sources.list. Vous devriez simplement à remplacer « lenny » par « squeeze », et supprimez les dépôts de rétroportage. Vous devriez obtenir quelque chose comme ceci:
deb http://ftp2.de.debian.org/debian/ squeeze main deb http://ftp2.de.debian.org/debian/ squeeze-updates main deb http://security.debian.org/ squeeze/updates main
La première ligne désigne le dépôt principal, la seconde permet les mises à jour régulières de données volatiles (comme les anti-virus, les fuseaux horaires, etc.; si vous ne pensez pas en avoir besoin, vous n'avez pas besoin de l'ajouter), et la troisième permet les mise à jour de sécurité.
Notez que les lignes de vos dépôts peuvent peut-être être complétée par « contrib non-free » si vous utilisez des paquets non libres.
Enregistrer la session
Lors d'une mise à jour en ligne de commande, il est recommandé d'enregistrer la session de mise à jour pour pouvoir examiner ce qu'il s'est passé en cas de problème. Vous pouvez par exemple utiliser la commande suivante avant la mise à jour:
# script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script
Tapez « exit » une fois la mise à jour terminée. Vous pourrez examiner la session dans le ficheir « upgrade-squeeze.script » de votre répertoire personnel (ou plutôt de celui de root, dans /root).
Se protéger d'une éventuelle déconnexion
Si vous mettez à jour un système distant, par exemple via ssh, une coupure réseau pourrait interrompre brutalement la mise à niveau, et laisser votre système dans un état inconsistent. Pour éviter ce genre de chose, il est fortement recommandé d'utiliser un outil permettant d'éviter l'interruption de votre session sur la machine en cas de coupure réseau. L'outil idéal pour ça est screen.
Installez le paquet screen et lancez la commande du même nom avant de commencer la mise à niveau. Si vous ne connaissez cet outil, la seule chose dont vous pourriez avoir besoin de connaître sont les options -r -D qui vous permet de vous reconnecter à une session déjà existante. En cas de déconnexion, il vous suffira simplement de vous reconnecter à la machine et de lancer screen -r -D pour accéder à la session qui a été coupée, que vous retrouverez intacte.
Utilisation de screen
Quitte à utiliser screen, voici les quelques combinaisons de touches de base qui vous permettront d'utiliser quelques-unes des fonctionnalités fournies par cet excellent outil (consultez le manuel de screen(1) pour plus de détails) :
- Ctrl-a d : détache la session actuelle. C'est à peu près le même effet qu'une coupure réseau. Vous pourrez vous reconnecter à cette session en lançant screen -r;
- Ctrl-a c : crée une nouvelle fenêtre gérée par screen (terminez simplement le shell pour fermer la fenêtre; la fermeture de la dernière fenêtre termine screen);
- Ctrl-a " : affiche la liste des fenêtres ouvertes dans screen. Utilisez les flèches et la touche Entrée pour en changer.
Mettre à jour la liste des paquets
À ce stade, vous pouvez mettre à jour la liste des paquets. Ceci n'installe ou ne supprime bien sûr encore aucun paquet:
apt-get update
Vérifier l'espace disque disponible
Les paquets nécessaires à l'installation seront stockés dans /var/cache/apt/archives (et dans le sous-répertoire partial/ pendant le téléchargement). La commande suivante pourra vous donner des indications sur l'espace nécessaire à la mise à jour:
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade
La commande affichera une liste des paquets à installer, mettre à jour, ou installer (qui n'est pas une liste définitive, notre but ici est uniquement d'avoir une idée de l'espace disque qui sera nécessaire à la mise à niveau), avec, à la fin, l'espace disque nécessaire. Par exemple:
... XXX mis à jour, XX nouvellement installés, XX à enlever et X non mis à jour. Il est nécessaire de prendre XXXMo/XXXMo dans les archives. Après cette opération, XXXMo d'espace disque supplémentaires seront utilisés. E: L'option --trivial-only a été indiquée mais il ne s'agit pas d'une opération triviale.
Si celle-ci affiche des erreurs, vous devrez peut-être effectuer une mise à jour minimale du système avant de pouvoir la lancer. Référez-vous au notes de mise à jour pour connaître les différentes méthodes pour gagner de la place avant la mise à jour .
Mise à jour les paquets
Bien que aptitude ait été l'outil recommandé lors de la mise à niveau de la version précédente de Debian, et soit toujours conseillé pour la gestion interactive des paquets, c'est cette fois apt-get qui est donnerait de meilleurs résultats: « Le programme conseillé pour la gestion interactive des paquets en console est aptitude. Pour gérer les paquets avec une interface non interactive en ligne de commande, l'utilisation d'apt-get est conseillée. apt-get est également l'outil conseillé pour mettre à niveau vers une nouvelle publication majeure. »
La commande aujourd'hui recommandée pour mettre à jour depuis Lenny est apt-get. On pourrait donc utiliser la commande apt-get dist-upgrade pour effectuer en une opération la mise à niveau de l'ensemble des paquets du système.
Cependant, les notes de mise à jour précisent que l'utilisation immédiate de cette commande pourrait amener à la suppression de certains paquets encore utiles. Il est donc recommandé d'effectuer la mise à jour en plusieurs étapes.
Mise à jour minimale du système
On commencera par une mise à jour minimale du système:
# apt-get upgrade
« Cette commande met à niveau les paquets qui peuvent l'être sans entraîner l'installation ou la suppression d'autres paquets. »
Mise à jour du noyau
Il est ensuite fortement recommandé d'installer un nouveau noyau et le paquet udev, pour s'assurer de leur compatibilité mutuelle. Il faudra ensuite redémarrer le système.
Voici les explications détaillées données dans les notes de mise à niveau de l'incompatilité entre la nouvelle version de udev et du noyau fourni sous Lenny: « La version du paquet udev de Squeeze nécessite un noyau 2.6.26 ou plus récent avec l'option CONFIG_SYSFS_DEPRECATED désactivée et les options CONFIG_INOTIFY_USER et CONFIG_SIGNALFD activées. Sachant que l'option CONFIG_SYSFS_DEPRECATED est activée dans le noyau Debian standard de Lenny (version 2.6.26), et que la version d'udev fournie par Lenny n'offre pas toutes les fonctionnalités attendues par les derniers noyaux, il faut faire très attention lors de la mise à niveau pour garder le système amorçable. »
Concrètement, le démarrage du système avec le paquet udev de Squeeze pourrait poser des problèmes lors du renommage de périphériques réseau, ou de l'assignation de groupes ou de permissions additionnels à certains périphériques de bloc, et pourrait causer des dysfonctionnements difficiles à repérer.
Pour effectuer cette mise à niveau du noyau, exécutez :
# apt-get install linux-image-2.6-variante
(voir les notes de mise à niveau pour déterminer la variante)
« Juste après la mise à niveau du noyau, vous devriez aussi installer le nouveau udev, afin de minimiser le risque d'incompatibilité entre le vieux udev et le nouveau noyau [8]. Vous pouvez le faire en lançant : »
# apt-get install udev
Redémarrage du système
Une fois le noyau et udev mis à niveau, le système doit être redémarré pour pouvoir utiliser le nouveau noyau et la nouvelle version de udev. Redémarrez donc votre machine de la manière habituelle, ou tapez la commande reboot.
Mise à jour du reste du système
Si vous souhaitez minimiler le temps d'indisponibilité de certains services fonctionnant sur le système que vous mettez à jour, vous pouvez en forcer la mise à jour maintenant. Par exemple, si vous souhaitez que votre serveur LDAP soit indisponible un minimum de temps, lancez la commande suivante qui en forcera la mise à jour immédiate (ainsi que celle des paquets dont il dépend):
apt-get install slapd
Une fois vos éventuels services critiques mis à jour, vous pouvez maintenant continuer avec la mise à niveau principale. Exécutez :
# apt-get dist-upgrade
Notez qu'il peut y avoir des cas où certains paquets ne seront pas mis à jour, comme le précise les notes de mise à niveau: « Les paquets déjà installés ayant une nouvelle version, mais qui ne peuvent être installés sans modifier l'état d'un autre paquet, seront laissés dans leur version actuelle (et affichés comme retenu — « held back »). Cela peut être résolu soit en utilisant aptitude et en choisissant d'installer ces paquets, soit en essayant apt-get -f install paquet. » Note: je ne suis pas sûr de bien comprendre cette note. Elle semble expliquer qu'un paquet nécessitant l'installation ou la mise à jour d'un autre paquet ne sera pas installé et laissé dans l'état « held back ». Je pensais pourtant que l'installation ou la mise à jour des paquets dépendants était justement rendue possible par l'utilisation de la sous-commandes « dist-upgrade » d' apt-get au lieu de « upgrade ». Quoiqu'il en soit, je n'ai pas encore rencontré de paquet retenu en « held back », ça ne doit donc pas arriver très souvent, il ne semble pas y avoir de quoi s'alarmer :) (mais si vous avez une explication, n'hésitez pas à contacter Cliss XXI, je suis preneur).
Après la mise à niveau
Une fois la commande apt-get dist-upgrade terminée, votre systèmes est à niveau. Il vous reste cependant à terminer la mise à niveau de GRUB si vous êtes passé en version 2:
Si, lors de l'installation de GRUB 2, vous avez opté pour le chaînage avec la version existante de GRUB, et que vous n'avez pas eu de problème lors du redémarrage, vous pouvez terminer la migration complète vers GRUB2 en lançant la commande:
# upgrade-from-grub-legacy
Une fois ceci terminé, votre système est à niveau. Mais si vous souhaitez conserver un système Debian sain et optimal, lisez les informations ci-dessous sur les composants obsolètes et les changements importants de Squeeze.
Composants obsolètes
Un nombre important de fonctions seront rendues obsolètes dans les versions de Debian après Squeeze (la version 7.0 s'appellera 'Wheezy). Si vous ne savez pas ce que ces informations signifient, c'est que vous n'êtes certainement pas concernés. Dans le cas contraire, vous devriez prendre des mesures ou prévoir des mesures pour la prochaine version de Debian.
Notes importantes:
- Debian 6.0 est la dernière version à supporter les solutions de virtualisation OpenVZ et Linux-Vserver. Les utilisateurs sont invités à migrer vers des solutions comme KVM, Linux Container ou Xen;
- gdm3 remplacera gdm dont il est une réécriture complète. Voir les notes de mises à niveau pour des informations complètes sur les changements dans Gnome;
Voici une liste de paquets importants rendus obsolètes:
- plone (dont la méthode d'installation recommandées est le « Unified Installer for Linux » proposé par les développeurs de plone)
- nessus, remplacé par OpenVAS: openvas-server et openvas-client;
- postgresql-8.3, remplacé par son successeur postgresql-8.4; la mise à niveau doit se faire manuellement (elle est généralement bien prise en charge par les scripts de mise à niveau du paquet);
- mysql-server-5.0, remplacé par mysql-server-5.1;
- python2.4, dont le successeur est python2.6 ;
- Java 5, notamment sun-java5-jre et sun-java5-bin, remplacé par Java6: sun-java6-jre et paquets associés; Vous pouvez aussi opter pour openjdk (notamment fourni par openjdk-6-jre), qui est une implémentation libre de la JDK d'Oracle;
- apt-proxy n'est plus fourni, utilisez à la place apt-cacher-ng, apt-cacher ou approx;
- certains pilotes graphiques comme xserver-xorg-video-cyrix, xserver-xorg-video-i810 xserver-xorg-video-imstt, xserver-xorg-video-nsc, xserver-xorg-video-sunbw2, et xserver-xorg-video-vga. vous devriez utiliser xserver-xorg-video-all à la place
- usplash, remplacé par plymouth
En outre, vous pouvez nettoyer votre système en supprimant les paquets marqués « obsolètes », qui ne seront bientôt plus supportés par Debian (généralement un an après la sortie de la version stable). La suppression de ces paquets est notamment possible grâce à la commande
# apt-get autoremove
Vous pouvez aussi utiliser les paquets comme deborphan (particulièrement recommandé), debfoster, ou cruft (plus expérimental). Attention toutefois aux faux-positifs que peuvent générer ces outils: certains paquets qu'ils mentionnent pourraient encore être importants (examinez leur description pour estimer leur importance). Par exemple, la commande deborphan liste tous les paquets (par défaut uniquement des librairies, pas les logiciels) qui ne sont plus utilisés par d'autres paquets du système, et que vous devriez pouvoir supprimer sans problème.
Changements importants amenés par Squeeze
Voici quelques-uns des changements importants amenés par Debian 6.0
Déconnexion lors de la mise à niveau de KDE
KDE passe de la version 3 à 4.4. Si vous mettez à jour en utilisant cette interface, vous risquez d'être déconnecté et de perdre des données. Préférez une mise à jour en ligne commande.
Changements dans Gnome
Plusieurs changements importants ont lieu pour Gnome, qui passe en 2.30:
- en particulier, il est recommandé d'installer le paquet gdm3 après la mise à jour (des incompatibilités empêchent un remplacement automatique) car cette ancienne version de gdm ne sera bientôt plus supportée.
- des autorisations sont maintenant données automatiquement à l'utilisateur connecté à la console.
Changement de NetworkManager
La modification la plus important sous Gnome est l'interaction entre network-manager et ifupdown: « Lors de la mise à niveau du paquet network-manager, les interfaces configurées dans /etc/network/interfaces pour utiliser DHCP sans autre option seront désactivées dans ce fichier, et à la place prises en charge par NetworkManager. Par conséquent, les commandes ifup et ifdown ne fonctionneront plus. Ces interfaces peuvent être gérées à la place avec les interfaces pour NetworkManager, voyez la documentation de NetworkManager.
Inversement, toute interface configurée dans /etc/network/interfaces avec plus d'options sera ignorée par NetworkManager. Cela s'applique en particulier aux interfaces sans fil utilisées durant l'installation de Debian (voyez le bug nº 606268). »
Gestion du branchement à chaud de périphériques de saisie
Des changements dans la gestion des branchement à chaud de périphériques de saisie ont été introduits: « Le serveur X Xorg inclus dans Debian 6.0 fournit une prise en charge améliorée pour le branchement à chaud des périphériques d'entrée (souris, claviers, tablettes, etc.). Les vieux paquets xserver-xorg-input-kbd et xserver-xorg-input-mouse ont été remplacés par xserver-xorg-input-evdev, qui nécessite un noyau avec l'option CONFIG_INPUT_EVDEV activée. En plus, quelques codes de touche (« keycode ») produits par ce pilote sont différents de ceux traditionnellement associés avec les mêmes touches. Les utilisateurs de programmes comme xmodmap et xbindkeys devront ajuster leur configuration en accord avec les nouveaux codes de touche. ».
Cela signifie que vous pouvez supprimer les paquets xserver-xorg-input-kbd et xserver-xorg-input-mouse (ainsi que xserver-xorg-input-all, s'il est installé) puisqu'ils sont remplacés par xserver-xorg-input-evdev. Attention: assurez-vous que vous avez bien installé un noyau issu de Squeeze, ou dont l'option CONFIG_INPUT_EVDEV est activée, sinon vous risquez de ne plus avoir de clavier ou de souris fonctionnels.
Arrêt du serveur X par Ctrl+Alt+Retour arrière
L'arrêt du serveur X (« zapping ») est désactivé par défaut: « Traditionnellement, la combinaison Ctrl+Alt+Retour arrière devrait tuer le serveur X. Cette combinaison n'est plus active par défaut, mais peut être réactivée en reconfigurant le paquet keyboard-configuration (pour tout le système), ou en utilisant l'application de configuration de clavier de votre environnement de bureau. »
Problèmes possibles pendant une mise à niveau
- le noyau Linux inclus dans Squeeze ne prend plus en charge cryptoloop. Si vous utilisez cette technologie, vous devez migré vers dm-crypt avant de mettre votre système à niveau;
- la mise à niveau vers Squeeze peut demander la suppression de paquets sur le système. Ces suppressions sont généralement noramales, mais suivez les conseils des notes de mises à jour (résumées pour la plupart dans ce document) et examinez attentivement les suppressions de paquets proposées lors de la mise à jour avant de les accepter. Certaines suppressions de paquets importants sont normales: « On peut s'attendre à la suppression de certains paquets courants comme autofs (remplacé par autofs5), dhcp3 (remplacé par isc-dhcp), madwifi-source, python-setuptools et python2.4 (remplacé par python2.6) voir aussi les mises à niveau »
- erreurs lors de l'utilisation d'aptitude ou d'apt-get: Si une opération utilisant aptitude, apt-get ou dpkg échoue avec l'erreur suivante :
E: Dynamic MMap ran out of room
- cela signifie que l'espace de cache par défaut est insuffisant. Commentez certaines lignes de /etc/apt/sources.list, ou augmenter la taille du cache, par exemple avec une commande du type
echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
- changements des fichiers de configuration: La mise à jour vous proposera de remplacer certains fichiers de configuration localement modifiés dans les répertoires /etc/init.d ou le fichier /etc/manpath.config. Cette mise à jour doit généralement être acceptée. Les anciennes versions des fichiers remplacées seront conservés avec une extension « .dpkg-old »
- il est recommandé d'installer un métapaquet linux-image-2.6-*, si ce n'est pas déjà fait, et de mettre à jour le noyau et redémarrer le système avant la mise à jour des autres paquets, comme indiqué plus haut;
- réordonnancement de l'énumération des périphériques: si votre machine dispose de plusieurs cartes réseau, les périphériques correspondants (par exemple eth0, eth1, etc.) pourraient être inversés. Des règles udev existantes dans le fichier /etc/udev/rules.d/70-persistent-net.rules devraient cependant éviter ce changement inopportun;
- le nom des périphériques de stockage pourrait également changer. Pour éviter ce changement, il est recommandé d'utiliser les noms de périphériques qui sont garantis stables, comme les alias UUID [9] dans le dossier /dev/disk/by-uuid/ ou les nom de périphériques LVM dans /dev/mapper/. Ce changement sera proposé par le processus de mise à jour, ou vous pouvez l'effectuer auparavant en suivant les instructions du paragraphe 4.7.1 des notes de mise à niveau.