Table des matières
Waiting for
root file system
Nous vous suggérons, avant la mise à niveau, de lire les informations du Chapitre 5, Problèmes à connaître pour Squeeze. Ce chapitre couvre des problèmes potentiels non liés directement au processus de mise à niveau, mais qu'il est important de connaître avant de commencer.
Avant de mettre à niveau le système, il est fortement conseillé de faire une sauvegarde complète ou, du moins, une sauvegarde des données et des informations de configuration que vous ne pouvez pas vous permettre de perdre. Les outils de mise à niveau sont tout à fait fiables, mais une panne matérielle au milieu de la mise à niveau peut fortement endommager le système.
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
.
Le processus de mise à niveau en lui-même ne modifie rien dans le répertoire
/home
. Cependant, certaines applications (par exemple,
des parties de la suite Mozilla et les environnements de bureau GNOME et
KDE) sont connues pour écraser des paramètres utilisateur existants avec de
nouvelles valeurs par défaut quand une nouvelle version de l'application est
lancée pour la première fois par un utilisateur. Comme précaution, vous
pouvez faire une sauvegarde des fichiers et répertoires cachés (les
« dotfiles ») dans les répertoires personnels des
utilisateurs. Vous pouvez également informer les utilisateurs de ce
problème.
Toutes les opérations d'installation de paquets doivent être exécutées avec
les privilèges du superutilisateur, vous devez donc soit vous connecter en
tant que root
, soit utiliser su ou
sudo pour obtenir les droits nécessaires.
Il existe quelques conditions préalables à la mise à niveau ; vous devriez les vérifier avant d'effectuer réellement la mise à niveau.
Il est sage d'informer à l'avance tous les utilisateurs que vous planifiez une mise à niveau, bien que les utilisateurs accédant au système par connexion ssh ne devraient pas remarquer grand chose durant la mise à niveau et devraient pouvoir continuer à travailler.
Si vous voulez prendre des précautions supplémentaires, sauvegardez ou
démontez la partition /home
avant la mise à niveau.
Vous devrez probablement faire une mise à niveau du noyau lors de la mise à niveau vers Squeeze, un redémarrage sera donc normalement nécessaire.
Au cours du processus de mise à niveau, certains services peuvent être fournis par des paquets concernés par une mise à niveau. Dans ce cas, ces services risquent d'être interrompus lorsque les paquets à mettre à niveau sont remplacés et configurés. Pendant ce temps, ces services seront indisponibles.
Le temps d'arrêt de ces services va dépendre du nombre de paquets mis à niveau sur le système, en prenant en compte le temps mis par l'administrateur système pour répondre aux possibles questions de configuration posées lors de la mise à niveau. Veuillez noter que si le processus de mise à niveau est laissé sans surveillance et que le système demande une information à un moment de la mise à niveau, il y a de grandes chances que des services soient indisponibles ensuite[4] pour un bon moment.
Si le système mis à niveau fournit des services critiques pour vos utilisateurs ou votre réseau[5], 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.
En raison des nombreux changements dans le noyau entre Lenny et Squeeze en ce qui concerne les pilotes, la détection matérielle, le nommage et l'ordre des fichiers de périphérique, il existe un risque réel que vous rencontriez des problèmes lors du redémarrage du système après la mise à niveau. Un grand nombre des problèmes potentiels sont documentés dans les chapitres de ces notes de publication.
Pour cette raison, il est raisonnable de s'assurer que vous pourrez récupérer le système s'il ne redémarrait pas, ou, pour les systèmes gérés à distance, si la connexion au réseau échouait.
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'action la plus évidente à tenter est de redémarrer sur l'ancien noyau. Cependant, pour diverses raisons expliquées ailleurs dans ce document, il n'est pas sûr que cela fonctionne.
Si cela échoue, vous aurez besoin d'une autre méthode pour amorcer le
système et le réparer. Une option est d'utiliser une image de récupération
spéciale ou un CD autonome Linux (« Live CD »). Après avoir démarré à partir
de ce support, vous devriez pouvoir monter le système de fichiers racine et
effectuer un chroot
dans celui-ci pour analyser et
corriger le problème.
L'option que nous vous recommandons est d'utiliser le mode de secours (« rescue mode ») de l'installateur Debian de Squeeze. L'avantage d'utiliser l'installateur est que vous pouvez choisir l'option qui convient le mieux à votre situation. Pour plus d'informations, veuillez consulter la section « Récupérer un système cassé » du chapitre 8 du manuel d'installation et la FAQ de l'installateur Debian.
Le paquet initramfs-tools
inclut un
shell de débogage[6] dans les initrd qu'il génère. Si, par exemple, l'initrd ne peut
pas monter le système de fichiers racine, vous vous retrouverez dans ce
shell de débogage. Celui-ci possède des commandes de base qui permettent de
« tracer » le problème et peut-être de le corriger.
Les points de base à vérifier sont : la présence de fichiers de
périphériques corrects dans /dev
; les modules chargés
(cat /proc/modules
) ; la sortie de
dmesg pour des erreurs liées au chargement de pilotes. La
sortie de dmesg affichera également les fichiers de
périphériques qui ont été assignés aux disques ; vous devriez vérifier ces
points et les comparer à l'affichage de echo $ROOT
pour
vous assurer que le système de fichiers racine est sur le périphérique
attendu.
Si vous parvenez à corriger le problème, entrez exit
pour
arrêter le shell de débogage et continuer le processus d'amorçage au point
où il avait échoué. Bien sûr, vous devrez également corriger le problème
sous-jacent et régénérer l'initrd afin d'éviter un nouvel échec au prochain
amorçage.
Vous devez faire la mise à niveau de la distribution soit localement, à partir d'une console texte virtuelle ou d'un terminal série directement connecté, soit à distance via une connexion ssh.
Important | |
---|---|
Si vous utilisez des services VPN (par exemple |
Pour avoir une marge de sécurité supplémentaire lors des mises à niveau à distance, nous vous suggérons d'exécuter les processus de mise à niveau dans la console virtuelle fournie par le programme screen qui permet de se reconnecter en cas de coupure et garantit que le processus de mise à niveau ne sera pas interrompu même si le processus de connexion à distance était coupé.
Important | |
---|---|
Important : vous ne devez pas effectuer la mise à niveau en utilisant telnet, rlogin, rsh, ou depuis une session X gérée par gdm, kdm, etc. sur la machine que vous mettez à niveau. En effet, chacun de ces services pourrait être interrompu pendant la mise à niveau, ce qui peut rendre inaccessible un système à moitié mis à niveau. |
À cause du bogue nº 512951, le paquet
splashy
doit être supprimé
complètement ainsi que sa configuration avant la mise à niveau.
# apt-get purge splashy
Le processus de mise à niveau décrit dans ce chapitre a été conçu pour des mises à niveau des systèmes Lenny « purs » sans paquet provenant d'autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau.
Les mises à niveau directement depuis des versions de Debian plus vieilles que 5.0 (Lenny) ne sont pas prises en charge. Merci de suivre les instructions dans les Notes de publication ; et de mettre la machine à niveau vers 5.0 d'abord.
Cette procédure suppose également que le système a été mis à niveau jusqu'à la dernière révision de Lenny. Si vous ne l'avez pas fait ou si vous n'en êtes pas certain, veuillez suivre les instructions en Section A.1, « Mettre à niveau votre système Lenny ».
Dans certains cas, l'utilisation d'apt-get pour l'installation de paquets au lieu d'aptitude peut induire aptitude à considérer un paquet comme « unused » (inutilisé) et à le programmer pour suppression. En général, vous devez vous assurer que le système est complètement à jour et « propre » avant de commencer la mise à niveau.
Ainsi, vous devez commencer par vérifier s'il y a des actions en cours dans
le gestionnaire de paquets aptitude. Si un paquet est
programmé pour être supprimé ou mis à jour dans le gestionnaire des paquets,
cela peut poser problème lors de la procédure de mise à niveau. Notez que la
correction d'un tel problème n'est possible que si le fichier
sources.list
pointe encore vers
lenny et pas vers
stable ou squeeze ;
consultez Section A.2, « Vérifier votre liste de sources ».
Pour faire cette vérification, vous devez lancer aptitude en « mode interactif » et appuyer sur g (« Go »). S'il affiche une ou plusieurs action(s), vous devez les contrôler et les corriger ou les mettre en œuvre. Si aucune action n'est suggérée, un message sera affiché indiquant « Il n'est prévu d'installer, mettre à jour ou enlever aucun paquet. »
Si vous avez configuré apt pour installer certains paquets d'une
distribution autre que stable (par exemple, de
testing), il se peut que vous deviez changer la
configuration d'étiquetage apt (« APT pinning ») (stockée dans
/etc/apt/preferences
) pour permettre la mise à niveau
de paquets vers les versions de la nouvelle version stable. Vous trouverez
plus d'informations sur l'étiquetage apt dans apt_preferences(5).
Quelle que soit la méthode utilisée pour mettre à niveau, il est recommandé de tester d'abord l'état de tous les paquets et de vérifier que tous les paquets se trouvent dans un état permettant la mise à niveau. La commande suivante vous indiquera tous les paquets qui sont 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 (on hold) avant de passer à la nouvelle version. Si un paquet essentiel pour la mise à niveau est bloqué, la mise à niveau va échouer.
Notez que pour enregistrer les paquets qui sont bloqués, aptitude utilise une méthode différente de celles d'apt-get et dselect. Vous pouvez identifier les paquets bloqués pour aptitude avec :
# aptitude search "~ahold" | grep "^.h"
Si vous désirez vérifier quels paquets étaient bloqués pour apt-get, il vous faudra utiliser :
# 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.
Si vous devez corriger quelque chose, il est préférable de vous assurer que
sources.list
fait toujours référence à Lenny
comme expliqué en Section A.2, « Vérifier votre liste de sources ».
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.
Si des paquets non-Debian sont présents sur le système, vous devez savoir
qu'ils peuvent être supprimés pendant la mise à niveau à cause de
dépendances conflictuelles. Si ces paquets ont été installés par l'ajout
d'une archive de paquets dans /etc/apt/sources.list
,
vous devez vérifier si cette archive propose également des paquets compilés
pour Squeeze et changer la ligne de source en conséquence en même
temps que les lignes de source pour les paquets Debian.
Certains utilisateurs peuvent avoir installé sur leur système Lenny des versions non officielles rétroportées de paquets plus récentes que celles qui sont dans Debian. De tels paquets sont les plus susceptibles de poser problème lors d'une mise à niveau car ils peuvent entraîner un conflit de fichiers[7]. Section 4.5, « Problèmes possibles pendant une mise à niveau » contient des informations sur la façon de gérer des conflits de fichiers s'ils se produisent.
Avant de commencer la mise à niveau, vous devez ajuster le fichier de
configuration des listes de paquets d'apt
, /etc/apt/sources.list
.
apt
prendra en compte tout paquet
qui peut être trouvé par chacune des lignes
« deb
» et installera le paquet ayant le
numéro de version le plus élevé, en donnant la priorité aux premières lignes
mentionnées (ainsi, dans le cas de plusieurs miroirs, on indiquera d'abord
un disque dur local, puis des CD, puis les miroirs FTP et
HTTP).
Une version peut être référencée à la fois par son nom de code (par exemple,
lenny
, squeeze
) et
par son nom d'état (c'est-à-dire oldstable,
stable, testing,
unstable). Se référer à une version par son nom de code
évite d'être surpris par une nouvelle version et c'est pour cette raison que
cette approche a été choisie ici. Bien sûr, vous devez surveiller vous-même
les annonces des nouvelles versions. Si vous utilisez les noms d'état, vous
verrez simplement une grande quantité de mises à jour de paquets disponibles
dès qu'une publication a eu lieu.
La configuration par défaut est faite pour une installation depuis les
principaux serveurs de Debian sur Internet, mais vous pouvez modifier
/etc/apt/sources.list
pour utiliser d'autres miroirs,
de préférence plus proches de vous au sens réseau du terme.
Les adresses des miroirs Debian HTTP et FTP se trouvent à http://www.debian.org/distrib/ftplist (regardez dans la section « liste complète des miroirs »). Les miroirs HTTP sont en général plus rapides que les miroirs FTP.
Par exemple, supposons que le miroir Debian le plus proche soit
http://mirrors.kernel.org
. Si vous consultez ce miroir avec
un navigateur web ou FTP, vous verrez que les répertoires principaux sont
organisés comme ceci :
http://mirrors.kernel.org/debian/dists/squeeze/main/binary-i386/... http://mirrors.kernel.org/debian/dists/squeeze/contrib/binary-i386/...
Pour utiliser ce miroir avec apt
,
ajoutez cette ligne au fichier sources.list
:
deb http://mirrors.kernel.org/debian squeeze main contrib
Notez que « dists
» est ajouté automatiquement, et les
paramètres qui suivent le nom de version donnent accès à plusieurs
répertoires.
Après avoir ajouté les nouvelles sources, commentez les lignes
« deb
» existantes dans le fichier
sources.list
en plaçant des caractères
#
au début des lignes.
Plutôt que d'utiliser des miroirs HTTP ou FTP, vous pouvez modifier
/etc/apt/sources.list
pour utiliser un miroir sur un
disque local (éventuellement monté par NFS).
Par exemple, le miroir de paquets peut être sous
/var/ftp/debian/
, et avoir des répertoires principaux
tels que :
/var/ftp/debian/dists/squeeze/main/binary-i386/... /var/ftp/debian/dists/squeeze/contrib/binary-i386/...
Pour utiliser ce miroir avec apt
,
ajoutez cette ligne au fichier sources.list
:
deb file:/var/ftp/debian squeeze main contrib
Notez que « dists
» est ajouté automatiquement, et les
paramètres qui suivent le nom de version donnent accès à plusieurs
répertoires.
Après avoir ajouté les nouvelles sources, commentez les lignes
« deb
» existantes dans le fichier
sources.list
en plaçant des caractères
#
au début des lignes.
Si vous ne voulez utiliser que les CD, commentez les
lignes « deb
» existantes dans le fichier
sources.list
en plaçant des #
au
début des lignes.
Assurez-vous de la présence d'une ligne dans /etc/fstab
qui autorise le montage du CD au point de montage
/cdrom
(ce point de montage /cdrom
est nécessaire pour utiliser apt-cdrom). Par exemple, si
/dev/hdc
est le lecteur de CD, le fichier
/etc/fstab
devrait contenir une ligne comme celle-ci :
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
Remarquez qu'il ne doit pas y avoir d'espace entre les
mots defaults,noauto,ro
dans la quatrième colonne.
Pour vérifier que cela fonctionne, insérez un CD et essayez d'exécuter :
# mount /cdrom # montera le CD au point de montage /cdrom # ls -alF /cdrom # devrait afficher le contenu de la racine du CD # umount /cdrom # démontera le CD
Puis, lancez :
# apt-cdrom add
pour chaque CD binaire Debian en votre possession, afin d'ajouter ses données dans la base d'apt.
Pour une mise à niveau des versions précédentes de Debian GNU/Linux, il est recommandé d'utiliser le gestionnaire de paquets apt-get. Lors des versions précédentes, aptitude était recommandé, mais les dernières versions d'apt-get fournissent des fonctions équivalentes et se sont montré plus robustes pour fournir le résultat de mise à niveau attendu.
N'oubliez pas de monter les partitions requises (notamment les partitions
racine et /usr
) en lecture et écriture, avec une
commande de ce type :
# mount -o remount,rw /point_de_montage
Puis, vérifiez à nouveau que les sources d'apt (dans
/etc/apt/sources.list
) se réfèrent soit à
« squeeze
» soit à
« stable
». Il ne doit y avoir aucune source
pointant vers Lenny.
Note | |
---|---|
Les lignes de source pour un CD se réfèrent souvent à
« |
Il est fortement recommandé d'utiliser le programme /usr/bin/script pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, vous avez un enregistrement de ce qui s'est passé, et vous pouvez fournir les informations exactes pour un rapport de bogue. Pour démarrer un enregistrement, saisissez :
# script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script
ou quelque chose d'équivalent. Ne mettez pas le fichier d'enregistrement
dans un répertoire temporaire tel que /tmp
ou
/var/tmp
(les fichiers de ces répertoires peuvent être
détruits pendant la mise à niveau ou pendant un redémarrage).
Le fichier d'enregistrement vous permettra également de revoir les
informations qui ont défilé. Basculez simplement sur la deuxième console (en
utilisant Alt+F2) et, après
la connexion, utilisez less -R
~root/upgrade-squeeze.script
pour voir le fichier.
Après avoir terminé la mise à niveau, vous pouvez stopper l'enregistrement
en entrant exit
à l'invite de commandes.
Si vous avez utilisé l'option -t de script, vous pouvez utiliser le programme scriptreplay pour rejouer la session entière :
# scriptreplay ~/upgrade-squeeze.time ~/upgrade-squeeze.script
La liste des paquets disponibles pour la nouvelle version doit tout d'abord être récupérée, avec cette commande :
# apt-get update
Avant de faire la mise à niveau complète du système, telle qu'elle est
décrite en Section 4.4.6, « Mettre à niveau le système », vous devez vous assurer d'avoir
suffisamment d'espace disque. En effet, tous les paquets nécessaires à
l'installation sont stockés dans
/var/cache/apt/archives
(et dans le sous-répertoire
partial/
pendant le téléchargement). Vous devez donc
vous assurer d'avoir suffisamment de place sur la partition
/var/
du système de fichiers. Après le téléchargement,
vous aurez probablement encore besoin de plus d'espace disque sur les autres
partitions de système de fichiers pour pouvoir installer à la fois les
paquets mis à niveau (qui peuvent contenir des binaires plus gros ou
davantage de données) et les nouveaux paquets. Si l'espace disque vient à
manquer, la mise à niveau sera incomplète, ce qui peut rendre le système
difficile à récupérer.
Le programme apt-get peut afficher des informations détaillées sur l'espace disque nécessaire à l'installation. Vous pouvez obtenir cette estimation avant d'effectuer vraiment la mise à niveau avec la commande :
# apt-get -o APT::Get::Trivial-Only=true dist-upgrade [ ... ] XXX paquets mis à jour, XXX nouvellement installés, XXX à enlever et XXX non mis à jour. Il est nécessaire de télécharger xx,x Mo d'archives. Après dépaquetage, AAA Mo seront utilisés.
Note | |
---|---|
Exécuter cette commande au début du processus de mise à niveau peut provoquer une erreur pour les raisons décrites dans les sections suivantes. Dans ce cas, vous devez attendre d'avoir effectuer la mise à niveau minimale du système comme décrit en Section 4.4.4, « Mise à niveau minimale du système » et d'avoir mis à niveau le noyau avant d'exécuter cette commande pour estimer l'espace disque nécessaire. |
Si vous n'avez pas assez d'espace disque pour la mise à niveau, apt-get vous enverra un message comme :
E: Vous n'avez pas assez d'espace disponible dans /var/cache/apt/archives/.
Si vous n'avez pas assez d'espace disque pour la mise à niveau, assurez-vous d'en libérer. Vous pouvez :
supprimer les paquets qui ont été téléchargés auparavant (dans
/var/cache/apt/archives
). Nettoyer le cache des paquets
avec apt-get clean supprimera tous les paquets
téléchargés auparavant ;
supprimer les paquets oubliés. Si vous avez installé popularity-contest
, vous pouvez utiliser
popcon-largest-unused pour lister les paquets que vous
n'utilisez plus et qui occupent le plus de place. Vous pouvez également
utiliser deborphan ou debfoster pour
trouver les paquets obsolètes (consultez Section 4.10, « Paquets obsolètes »). Sinon,
vous pouvez lancer aptitude en « mode
interactif » et trouver les paquets obsolètes dans la section
« Paquets obsolètes ou créés localement » ;
supprimer les paquets qui prennent trop de place et qui ne sont pas
actuellement nécessaires (vous pourrez toujours les réinstaller après la
mise à niveau). Vous pouvez lister les paquets prenant le plus d'espace
disque avec dpigs (disponible dans le paquet debian-goodies
) ou avec wajig
(en exécutant wajig size
).
Vous pouvez afficher les paquets qui prennent le plus de place avec
aptitude
. Lancez
aptitude en mode interactif,
choisissez → (cette entrée de menu n'est disponible
que depuis la version fournie dans etch), tapez l puis
~i
, tapez S puis
~installsize
, ce qui créera une liste patique pour
travailler.
supprimer les traductions et les fichiers de localisation du système, s'ils
ne sont pas nécessaires. Vous pouvez installer le paquet localepurge
et le configurer de manière à ce
qu'un jeu restreint de paramètres régionaux (« locales ») soit conservé sur
le système. Cela réduira la place occupée dans
/usr/share/locale
.
déplacer temporairement vers un autre système les journaux système résidant
sous/var/log/
(ou les supprimer définitivement).
utiliser un répertoire /var/cache/apt/archives
temporaire. Vous pouvez utiliser un cache temporaire depuis un autre système
de fichiers, un périphérique de stockage par USB, un
disque dur temporaire, un système de fichier déjà utilisé, etc.
Note | |
---|---|
N'utilisez pas de montage NFS car la connexion réseau pourrait être interrompue au cours de la mise à niveau. |
Par exemple, si une clé USB est montée sur
/media/cleusb
:
supprimez les paquets téléchargés lors d'une précédente installation :
# apt-get clean
copiez le répertoire /var/cache/apt/archives
sur le
disque USB :
# cp -ax /var/cache/apt/archives /media/cleusb/
montez le répertoire de cache temporaire à la place de l'actuel :
# mount --bind /media/cleusb/archives /var/cache/apt/archives
après la mise à niveau, rétablissez le répertoire
/var/cache/apt/archives
initial :
# umount /media/cleusb/archives
supprimez le répertoire subsistant
/media/cleusb/archives
.
Vous pouvez créer le répertoire de cache temporaire dans n'importe quel système de fichiers monté sur le système.
Effectuez une mise à niveau minimale (consultez Section 4.4.4, « Mise à niveau minimale du système ») ou partielle suivie par une mise à niveau complète. Ceci vous permettra de mettre à niveau partiellement le système, et de nettoyer le cache avant la mise à niveau complète.
Notez que pour supprimer des paquets sans dommage, il est conseillé de
changer sources.list
pour pointer vers
lenny, comme décrit en Section A.2, « Vérifier votre liste de sources ».
Il est possible que le lancement d'une mise à niveau complète (décrite ci-dessous) supprime un grand nombre de paquets que vous voudriez garder. Nous recommandons donc une action en deux temps, au début une mise à niveau minimale pour éviter ces conflits, puis une mise à niveau totale (consultez Section 4.4.6, « Mettre à niveau le système »).
Pour ce faire, exécutez :
# apt-get upgrade
Cette commande met à niveau les paquets qui peuvent l'être sans entraîner l'installation ou la suppression d'autres paquets.
La mise à niveau minimale peut aussi être utilisée sur un système limité en taille, sur lequel une mise à niveau complète prendrait trop d'espace.
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.
Démarrer sur le noyau 2.6.26 de Lenny avec le paquet udev
de Squeeze peut entraîner un échec
lors du nommage des périphériques réseau, et aussi lors de l'application de
certaines permissions additionnelles sur des périphériques bloc (par exemple
les accès du groupe disk
). Le logiciel semblera marcher,
mais certaines règles (par exemple celles basées sur le réseau) ne seront
pas effectivement chargées. Avant de mettre à niveau udev
, nous vous recommandons donc fortement de
mettre à niveau le noyau, afin de vous assurer que le noyau présent sera
compatible avec udev
.
Pour effectuer cette mise à niveau du noyau, exécutez :
# apt-get install linux-image-2.6-variante
Consultez Section 4.6.1, « Installer un métapaquet du noyau » pour de l'aide sur la détermination de la variante du paquet de noyau que vous devriez installer.
Les utilisateurs du programme d'amorçage grub
doivent s'assurer que
update-grub est lancé lors la mise à niveau du noyau, ou
doivent le lancer manuellement.
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
Une fois le noyau et udev
mis à
niveau, le système doit être redémarré.
Vous êtes maintenant prêt à continuer avec la partie principale de la mise à niveau. Exécutez :
# apt-get dist-upgrade
Note | |
---|---|
Nous recommandions d'utiliser aptitude lors du processus de mise à niveau pour d'autres versions. Cet outil n'est pas recommandé pour les mises à niveau de Lenny à Squeeze. |
Cette commande effectue une mise à niveau complète du système, c.-à-d. installe les versions les plus récentes de tous les paquets, et résoud tous les changements possibles de dépendances entre paquets des différentes versions. Si nécessaire, elle installe de nouveaux paquets (habituellement de nouvelles versions de bibliothèques, ou des paquets ayant changé de nom), et retire les paquets obsolètes en conflit.
Lorsque la mise à niveau se fait à partir d'un ensemble de CD (ou DVD), on vous demandera d'insérer d'autres CD ou DVD à plusieurs moments de la mise à niveau. Vous pourriez devoir insérer plusieurs fois le même CD ou DVD. Cela est dû aux relations entre paquets répartis sur plusieurs supports.
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
Les parties suivantes décrivent les problèmes connus pouvant survenir lors d'une mise à niveau vers Squeeze.
Le noyau Linux inclus dans Debian 6.0 ne prend plus en charge cryptoloop. Les installations utilisant cryptoloop doivent migrer à dm-crypt avant d'effectuer la mise à niveau.
La mise à niveau vers Squeeze peut demander la suppression de paquets sur le système. Leur liste exacte dépendra des paquets installés sur le système. Ces notes de publication donnent des conseils généraux sur la méthode à utiliser, mais en cas de doute, il est recommandé d'examiner les suppressions de paquets proposées par chacune des méthodes avant de les effectuer réellement.
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
). Pour plus d'informations sur les
paquets obsolètes dans Squeeze, consultez Section 4.10, « Paquets obsolètes ».
Si une opération utilisant aptitude, apt-get ou dpkg échoue avec l'erreur suivante :
E: Dynamic MMap ran out of room
l'espace de cache par défaut est insuffisant. Vous pouvez résoudre cela soit
en enlevant ou en commentant des lignes dont vous n'avez pas besoin dans
/etc/apt/sources.list
, soit en augmentant la taille du
cache. La taille du cache peut être augmentée en positionnant
APT::Cache-Limit
dans
/etc/apt/apt.conf
. La commande suivante le positionne à
une valeur qui devrait être suffisante pour la mise à niveau :
# echo 'APT::Cache-Limit "12500000";' >> /etc/apt/apt.conf
Cela suppose que vous n'avez pas déjà positionné cette variable dans ce fichier.
Il est parfois nécessaire d'activer l'option d'apt
APT::Force-LoopBreak
pour pouvoir temporairement retirer
un paquet essentiel à cause de boucles
« Conflicts/Pre-Depends ». apt-get vous
alertera à ce propos et interrompra la mise à niveau. Vous pouvez contourner
ce problème en passant l'option -o APT::Force-LoopBreak=1
sur la ligne de commande d'apt-get.
Il est possible que la structure de dépendances d'un système soit tellement défectueuse qu'elle requiert une intervention manuelle. Habituellement, cela signifie qu'il faut utiliser apt-get ou :
# dpkg --remove nom_du_paquet
pour éliminer certains des paquets en cause, ou :
# apt-get -f install # dpkg --configure --pending
Dans certains cas extrêmes, vous pourriez devoir forcer une réinstallation à l'aide d'une commande comme :
# dpkg --install /chemin/vers/nom_du_paquet.deb
Les conflits de fichiers ne devraient pas se produire si vous mettez à niveau depuis un système Lenny « pur », mais ils peuvent se produire si des rétroportages non officiels sont installés. Un conflit de fichiers entraînera une erreur de ce type :
Préparation du remplacement de<paquet-toto>
(en utilisant<fichier-paquet-toto>
) ... dpkg: erreur de traitement de<paquet-toto>
(--install): tentative de remplacement de «<un-nom-de-fichier>
», qui appartient aussi au paquet<paquet-titi>
dpkg-deb: sous-processus paste tué par le signal (Broken pipe) Des erreurs ont été rencontrées pendant l'exécution :<paquet-toto>
Vous pouvez tenter de résoudre un conflit de fichiers en forçant la suppression du paquet mentionné sur la dernière ligne du message d'erreur :
# dpkg -r --force-depends nom_du_paquet
Après cela, vous devriez être en mesure de continuer la mise à niveau, en utilisant les commandes d'apt-get précédemment décrites.
Durant la mise à niveau, on vous posera des questions pour configurer ou
reconfigurer de nombreux paquets. Quand on vous demandera si des fichiers du
répertoires /etc/init.d
ou le fichier
/etc/manpath.config
doivent être remplacés par la
version du responsable du paquet, il est généralement nécessaire de répondre
« oui » pour assurer la cohérence du système. Vous pouvez toujours
revenir aux versions précédentes, puisqu'elles sont sauvegardées avec une
extension .dpkg-old
.
Si vous n'êtes pas certain de ce qu'il faut faire, notez le nom du paquet ou du fichier et examinez le problème plus tard. Vous pouvez chercher dans le fichier d'enregistrement pour revoir les informations qui étaient à l'écran lors de la mise à niveau.
Si vous utilisez le système depuis la console locale, il est possible qu'à certains moments de la mise à niveau la console passe à une vue différente, et que la mise à niveau du système ne soit plus observable. C'est par exemple le cas pour les systèmes de bureau quand gdm est relancé.
Pour revenir à la console traitant le processus de mise à niveau, utilisez les touches Ctrl+Alt+F1 pour revenir au terminal virtuel 1 si vous avez une interface de connexion graphique ou Alt+F1 si vous avez une console texte locale. Remplacez F1 avec la touche Fx où x correspond au numéro du terminal sur lequel se déroule la mise à niveau. Vous pouvez aussi utiliser Alt+flèche gauche ou Alt+flèche droite pour passer d'un terminal en mode texte à un autre.
La plupart des paquets devrait passer docilement de Lenny à Squeeze. Il y a cependant un petit nombre de cas où une intervention manuelle peut être nécessaire, que ce soir avant ou pendant la mise à niveau. Ces interventions sont détaillées ci-dessus en fonction du paquet impliqué.
Evolution (client de courrier électronique du bureau Gnome) a été mis à jour
de la version 2.22
à la version
2.30
. Il s'ensuit un changement dans le format utilisé
pour stocker les données locales, et donc une possible perte de données si
la mise à niveau est effectuée alors que evolution
est en cours de
fonctionnement. Quitter l'application en tant que tel n'est pas toujours
suffisant car de nombreux processus liés vont continuer à fonctionner en
arrière-plan. Pour éviter de possibles problèmes, nous vous recommandons de
quitter totalement l'environnement graphique avant d'effectuer la mise à
niveau vers Squeeze.
Pendant la mise à niveau, evolution
vérifiera qu'aucun processus impliqué dans la mise à niveau n'est lancé , et
recommandera leur fermeture. Un second tour de vérification suivra, et, si
nécessaire, l'utilisateur aura le choix entre tuer les processus restants ou
arrêter la mise à niveau afin de résoudre la situation lui-même.
Cette section explique comment mettre à niveau le noyau et identifie les
problèmes potentiels liés à cette mise à niveau. Vous pouvez soit installer
l'un des paquets linux-image-*
fournis dans Debian ou compiler un noyau personnalisé à partir des sources.
Veuillez noter que beaucoup d'informations dans cette section sont basées
sur l'hypothèse que vous utilisez l'un des noyaux modulaires de Debian, avec
les paquets initramfs-tools
et
udev
. Si vous choisissez d'utiliser
un noyau personnalisé qui ne nécessite pas d'initrd ou si vous utilisez un
générateur d'initrd différent, certaines informations peuvent ne pas vous
concerner.
Quand vous faites une mise à niveau de Lenny vers Squeeze, il est fortement recommandé d'installer un nouveau métapaquet linux-image-2.6-*. Ce paquet peut être installé automatiquement par le processus de mise à niveau. Vous pouvez vérifier cela en exécutant :
# dpkg -l "linux-image*" | grep ^ii
Si cela ne donne rien, vous devez alors installer un paquet linux-image vous-même. Pour voir la liste des métapaquets linux-image-2.6 disponibles, exécutez :
# apt-cache search linux-image-2.6- | grep -v transition
Si vous ne savez pas quel paquet sélectionner, exécutez uname
-r
et recherchez un paquet avec un nom similaire. Par exemple, si
vous voyez 2.6.18-6-686
, il est recommandé d'installer
linux-image-2.6-686
. Vous pouvez
également utiliser apt-cache pour voir une description
longue de chaque paquet. Cela peut vous aider à choisir le meilleur paquet
disponible. Par exemple :
# apt-cache show linux-image-2.6-686
Vous pouvez alors installer le paquet choisi en utilisant la commande
apt-get install
. Une fois ce nouveau noyau installé, vous
devriez redémarrer dès que possible afin de profiter des améliorations
fournies par la nouvelle version du noyau.
Pour les plus courageux, il existe un moyen facile pour compiler votre
propre noyau sous Debian GNU/Linux. Installez les outils kernel-package
et lisez la documentation dans
/usr/share/doc/kernel-package
. Sinon, vous pouvez aussi
utiliser les sources du noyau en installant le paquet linux-source-2.6
. Vous pouvez utiliser la cible
deb-pkg
du fichier Makefile fourni dans les sources pour
construire un paquet binaire. Il existe cependant des différences entre les
approches, merci de consulter les documentations respectives des paquets.
Si possible, vous devriez mettre à niveau le noyau (par le paquet idoine)
séparément de la mise à niveau (dist-upgrade
) principale
pour réduire les risques d'avoir un système temporairement non
amorçable. Notez que cela devrait être effectué uniquement après le
processus de mise à niveau minimal décrit en Section 4.4.4, « Mise à niveau minimale du système ».
Dans Lenny et suivantes, un nouveau mécanisme noyau en charge de l'identification du matériel peut changer l'ordre dans lequel les périphériques sont trouvés sur le système à chaque démarrage, ce qui affecte le nom qui leur est associé. Par exemple, si vous avez des cartes réseau qui sont associées à deux pilotes différents, les périphériques auxquels eth0 et eth1 se réfèrent peuvent être inversés.
Pour les périphériques réseau, cette réorganisation est normalement évitée
par l'utilisation de définitions dans le fichier udev
/etc/udev/rules.d/70-persistent-net.rules
. Ces règles
étaient déjà en place dans Lenny, vous n'avez donc normalement
rien besoin de faire lors de la mise à niveau vers Squeeze pour avoir
des noms de périphériques réseau stables. Notez cependant que le mécanisme
udev de nommage est lié à un périphérique particulier, et que, par exemple,
si vous changez la carte réseau sur un système Squeeze en
fonctionnement, cette carte se verra attribuer une nouvelle interface réseau
au lieu d'utiliser l'existante. Afin d'utiliser le même nom pour de nouveaux
matériels, vous devrez supprimer les entrées concernées dans
/etc/udev/rules.d/70-persistent-net.rules
.
Pour les périphériques de stockage, vous pouvez éviter cette réorganisation
en utilisant initramfs-tools
et en
le configurant pour charger les modules des pilotes dans le même ordre que
celui dans lequel les périphériques ont été chargés. Cependant, au vu des
autres changements apportés au sous-système d'enregistrement du noyau linux
(consultez Section 5.1.1, « Migration des pilotes de disque depuis le sous-système IDE vers PATA »), c'est certainement
beaucoup de travail pour rien, et il est préférable 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/
.
Si un initrd créé avec initramfs-tools
est utilisé pour amorcer le
système, dans certains cas, la création des fichiers de périphérique par
udev
peut se produire trop tard pour
que les scripts d'amorçage puissent en tenir compte.
Les symptômes habituels sont que l'amorçage échoue car le système de
fichiers racine ne peut pas être monté et vous vous retrouvez dans un shell
de débogage. Mais après vérifications, tous les périphériques nécessaires
sont bien présents dans /dev
. Cela a été observé dans
des cas où le système de fichiers racine est sur un disque
USB ou sur du RAID, en particulier si
LILO est
utilisé.
Un contournement de ce problème est d'utiliser le paramètre d'amorçage
rootdelay=
. Il se peut que
vous deviez ajuster la valeur pour le délai (en seconde).
9
Des utilisateurs ont signalé que suite à une mise à niveau, le noyau pouvait ne plus trouver la partition racine lors du démarrage.
Dans ce cas, le démarrage du système s'interrompt sur le message suivant :
Waiting for root file system ...
puis quelques secondes après, une simple invite de commande busybox apparaît.
Ce problème peut se produire lorsque la nouvelle génération des pilotes
IDE est utilisée suite à la mise à niveau du noyau. Les
anciens pilotes nommaient les disques IDE
hda
, hdb
, hdc
,
hdd
et les nouveaux pilotes nomment les mêmes disques
sda
, sdb
, sdc
,
sdd
respectivement.
Le problème apparaît quand la mise à niveau ne génère pas un nouveau fichier
/boot/grub/menu.lst
qui prend en compte la nouvelle
convention de nommage. Pendant le démarrage, GRUB va donner au noyau une
partition système racine que le noyau ne trouvera pas. Ceci peut aussi
arriver si les systèmes de fichiers à monter de
/etc/fstab
n'ont pas été mis à jour correctement. Le
processus de mise à niveau vers Squeeze doit cependant gérer
automatiquement les deux situations.
Si vous avez rencontré ce problème après avoir effectué la mise à niveau, reportez-vous en Section 4.7.2, « Comment corriger le problème après la mise à niveau ». Pour éviter ce problème avant de mettre à niveau, continuez la lecture.
On peut complètement éviter le problème en utilisant un identifiant du système de fichier racine, invariable d'un démarrage à l'autre. Il existe deux méthodes possibles, soit en étiquetant le système de fichiers, soit en utilisant l'identifiant unique universel du système de fichier (UUID). Ces méthodes sont prises en charge depuis la version Etch.
Ces deux approches ont des avantages et des inconvénients. L'approche par les étiquettes est plus lisible, mais il peut y avoir des problèmes si un autre système de fichiers de la machine possède la même étiquette. L'approche par UUID est plus laide, mais le risque d'avoir deux identifiants identiques est très peu probable.
Dans les exemples ci-dessous, nous supposons que le système de fichiers
racine est sur /dev/hda6
, et que le système dispose
d'une installation fonctionnelle de udev et des systèmes de fichiers ext2 ou
ext3.
Pour mettre en œuvre l'approche par étiquette :
Étiquetez le système de fichier (le nom doit comporter moins de 16 caractères) en exécutant : e2label /dev/hda6 systemeracine
Éditez /boot/grub/menu.lst
et modifiez la ligne :
# kopt=root=/dev/hda6 ro
en
# kopt=root=LABEL=systemeracine ro
Note | |
---|---|
N'enlevez pas le |
Mettez à jour les lignes kernel
dans
menu.lst
en exécutant la commande
update-grub.
Modifiez /etc/fstab
et changez la ligne qui monte la
partition /
, par exemple :
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
en
LABEL=systemeracine / ext3 defaults,errors=remount-ro 0 1
Le changement concerne la première colonne, vous n'avez pas à modifier les autres colonnes de cette ligne.
Pour mettre en œuvre l'approche UUID :
Récupérez l'identifiant universel unique du système de fichiers avec la commande : ls -l /dev/disk/by-uuid | grep hda6. Vous pouvez aussi utiliser blkid /dev/hda6.
Si vous affichez la liste du contenu de
/dev/disk/by-uuid
, vous devriez avoir une ligne
ressemblant à :
lrwxrwxrwx 1 root root 24 2008-09-25 08:16 d0dfcc8a-417a-41e3-ad2e-9736317f2d8a -> ../../hda6
Si vous utilisez blkid, vous devriez avoir une sortie ressemblant à :
/dev/hda6: UUID="d0dfcc8a-417a-41e3-ad2e-9736317f2d8a" TYPE="ext3"
L'UUID est le nom du lien symbolique pointant vers
/dev/hda6
c.-à-d. :
d0dfcc8a-417a-41e3-ad2e-9736317f2d8a
.
Note | |
---|---|
L'UUID du système de fichiers sera différent. |
Éditez /boot/grub/menu.lst
et modifiez la ligne :
# kopt=root=/dev/hda6 ro
afin d'utilisez l'UUID à la place :
# kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro
Note | |
---|---|
N'enlevez pas le |
Mettez à jour les lignes kernel
dans
menu.lst
en exécutant la commande
update-grub.
Modifiez /etc/fstab
et changez la ligne qui monte la
partition /
, par exemple :
/dev/hda6 / ext3 defaults,errors=remount-ro 0 1
en
UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 / ext3 defaults,errors=remount-ro 0 1
Le changement concerne la première colonne, vous n'avez pas à modifier les autres colonnes de cette ligne.
Cette solution est applicable lorsque le menu de Grub qui permet la sélection de l'entrée sur laquelle démarrer est affiché. Si le menu ne s'affiche pas, essayez de le faire apparaître en appuyant sur la touche Esc avant que le noyau ne démarre. Si vous n'arrivez pas à accéder au menu, essayez Section 4.7.2.2, « Solution 2 » ou Section 4.7.2.3, « Solution 3 ».
Dans le menu Grub, sélectionnez l'entrée sur laquelle vous voulez démarrer. Appuyez sur la touche e pour éditer l'entrée. Vous verrez alors quelque chose comme ceci :
root (hd0,0) kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro initrd /initrd.img-2.6.32-5-686
Sélectionnez la ligne
kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro
appuyez sur la touche e et remplacez
hd
par
X
sd
(X
X
étant la lettre a
, b
,
c
ou d
selon le système). Dans cet
exemple la ligne devient :
kernel /vmlinuz-2.6.32-5-686 root=/dev/sda6 ro
Puis appuyez sur Enter pour sauver la modification. Si
d'autres lignes comportent
hd
, changez-les également. Ne
modifiez pas les entrées similaires à X
root (hd0,0)
. Une
fois effectuées toutes ces modifications, appuyez sur la touche
b. Le système devrait pouvoir démarrer normalement.
Maintenant que le système a démarré, le problème doit être corrigé de manière permanente. Référez-vous à Section 4.7.1, « Comment éviter le problème avant d'effectuer la mise à niveau » et appliquez une des deux procédures proposées.
Démarrez depuis un support d'installation de Debian GNU/Linux
(CD/DVD) puis lorsqu'une invite
apparaît, choisissez rescue
afin de lancer le mode de
secours. Sélectionnez la langue, l'emplacement géographique, l'agencement du
clavier, et laissez faire la configuration du réseau, qu'elle réussisse ou
pas. Au bout d'un moment, il vous sera demandé la partition que vous voulez
utiliser comme système de fichiers racine. Les choix proposés ressemblent
à :
/dev/sda1 /dev/sda2 /dev/sda5 /dev/sda6
Si vous savez quelle partition contient le système de fichiers racine, choisissez-la. Si vous ne le savez pas, essayez la première. Si un message apparaît au sujet d'une partition de système de fichiers racine invalide, essayez la partition suivante, et ainsi de suite. Essayer les partitions les unes à la suite des autres ne devrait pas les affecter. D'autre part, si un seul système est installé sur les disques, vous devriez facilement retrouver la bonne partition racine. Si plusieurs systèmes sont installés, cela serait plus simple de connaître exactement quelle est la bonne partition.
Une fois la partition choisie, plusieurs actions vous seront proposées. Choisissez d'exécuter un shell dans la partition sélectionnée. Si cela ne fonctionne pas, essayez avec une autre partition.
Vous devriez avoir maintenant une ligne de commande vous donnant un accès
superutilisateur
au système de fichiers racine, monté sur
/target
. Vous avez besoin d'accéder au contenu des
répertoires /boot
, /sbin
et
/usr
du disque dur, qui devraient être disponibles sur
/target/boot
, /target/sbin
et
/target/usr
. Si ces répertoires doivent être montés à
partir d'autres partitions, faites-le. (Consultez
/etc/fstab
si vous n'avez aucune idée de la partition à
monter).
Référez-vous à Section 4.7.1, « Comment éviter le problème avant d'effectuer la mise à niveau » et
appliquez une des deux procédures proposées pour corriger le problème de
manière permanente. Puis saisissez exit
pour quitter le
shell de secours et sélectionnez reboot
pour redémarrer
le système normalement. N'oubliez pas de retirer les supports amovibles.
Démarrez depuis la distribution autonome (« Live CD ») préférée, par exemple Debian Live, Knoppix ou Ubuntu Live.
Montez la partition où se trouve le répertoire
/boot
. Si vous ne la connaissez pas, utilisez le
résultat de la commande dmesg pour savoir si le disque
est vu comme hda
, hdb
,
hdc
, hdd
ou sda
,
sdb
, sdc
, sdd
. Une
fois le disque déterminé, par exemple sdb
, utilisez la
commande suivante pour obtenir la table des partitions du disque et trouver
la bonne partition : fdisk -l /dev/sdb.
En supposant que la bonne partition est montée sous
/mnt
et que cette partition contient le répertoire
/boot
ainsi que son contenu, éditez le fichier
/mnt/boot/grub/menu.lst
.
Repérez la section similaire à :
## ## End Default Options ## title Debian GNU/Linux, kernel 2.6.32-5-686 root (hd0,0) kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro initrd /initrd.img-2.6.32-5-686 title Debian GNU/Linux, kernel 2.6.32-5-686 (single-user mode) root (hd0,0) kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro single initrd /initrd.img-2.6.32-5-686 ### END DEBIAN AUTOMAGIC KERNELS LIST
et remplacez respectivement chaque hda
,
hdb
, hdc
, hdd
par
sda
, sdb
, sdc
,
sdd
. Ne modifiez pas la ligne similaire à :
root (hd0,0)
Redémarrez le système, retirez le CD autonome et le système devrait démarrer correctement.
Maintenant que le système a démarré, il vous faut régler le problème définitivement. Référez-vous à Section 4.7.1, « Comment éviter le problème avant d'effectuer la mise à niveau » et appliquez une des deux procédures proposées.
Après la mise à niveau, il y a plusieurs choses que vous pouvez faire pour préparer la prochaine version.
Supprimez tous les paquets obsolètes et non utilisés comme décrit en Section 4.10, « Paquets obsolètes ». Vous devriez contrôler les fichiers de configuration qu'ils utilisent et envisager de purger les paquets pour supprimer leurs fichiers de configuration.
Pendant la mise à niveau, la question de l'utilisation en chaîne (« chainload ») de GRUB 2 vous sera posée, c'est-à-dire garder GRUB Legacy comme programme d'amorçage, avec une entrée pour charger GRUB 2 qui s'occupera de démarrer le système Debian GNU/Linux. Ceci vous permet de vérifier que GRUB 2 marche sur le système avant de l'utiliser de manière exclusive.
Une fois certain que GRUB 2 marche, vous devriez l'utiliser , le chargement en chaîne n'étant qu'une solution temporaire. Vous pouvez faire le changement par la commande upgrade-from-grub-legacy.
Le manuel de GRUB donne plus d'informations sur les différences entre GRUB Legacy et GRUB 2. Certaines peuvent demander des changements dans des configurations complexes. Si vous n'avez pas modifié la configuration du gestionnaire de démarrage, vous ne devriez pas avoir besoin d'aller plus loin.
Avec la publication de Debian GNU/Linux 7.0 (nom de code Wheezy), un nombre important de fonctions seront obsolètes, et les utilisateurs devront changer pour de nouvelles alternatives pour prévoir le passage en 7.0.
Cela inclut les fonctions suivantes :
OpenVZ et Linux-Vserver : Debian GNU/Linux 6.0 sera la dernière version stable qui inclut les technologies de virtualisation du noyau Linux hors de la branche principale. Cela signifie que les solutions OpenVZ et Linux-Vserver vont devenir obsolètes, et que les utilisateurs devraient migrer vers les solutions de virtualisation intégrées en amont à linux-2.6 comme KVM, Linux Container ou Xen ;
le paquet gdm
(GNOME Display Manager
-- version 2.20) sera rendu obsolète par gdm3
, qui est une version réécrite. Consultez
Section 5.5, « Changements et gestion du bureau GNOME » pour de plus amples informations.
Avec Squeeze, plusieurs milliers de nouveaux paquets apparaissent, tandis que plus de quatre mille anciens paquets présents dans Lenny disparaissent. Il n'est pas prévu de procédure de mise à niveau pour ces paquets obsolètes. Bien que rien ne vous empêche de continuer à utiliser ces paquets si vous le désirez, le projet Debian arrête habituellement le suivi en sécurité un an après la sortie de Squeeze[10] et ne fournira normalement pas d'autre support entre temps. Il vous est recommandé de les remplacer par d'autres logiciels, s'il en existe.
Il y a plusieurs raisons pour lesquelles un paquet peut avoir été retiré de la distribution : il n'est plus maintenu en amont, il n'y a plus de responsable Debian intéressé par la maintenance du paquet, la fonctionnalité fournie par le paquet a été remplacée par un logiciel différent (ou une nouvelle version) ou il n'est plus considéré comme convenable pour Squeeze en raison de ses bogues. Dans ce dernier cas, le paquet peut cependant toujours être présent dans la distribution « unstable ».
Détecter quels paquets sont « obsolètes » dans un système à jour est facile car les interfaces de gestion des paquets les marquent comme tel. Si vous utilisez aptitude, vous verrez une liste de ces paquets sous l'entrée « Paquets obsolètes ou créés localement ». Dselect fournit une section similaire, mais la liste présentée peut être différente.
Si vous avez utilisé aptitude ou
apt-get pour installer manuellement des paquets dans
Lenny, le programme aura gardé la trace de ces paquets ; ainsi,
quand un paquet est supprimé, le programme peut marquer comme obsolètes les
paquets installés par le seul jeu des dépendances et qui ne sont plus
nécessaires. À la différence de deborphan,
aptitude et apt
ne marque pas comme obsolètes les paquets que vous avez installés, au
contraire de ceux qui ont été installés automatiquement par les
dépendances. Pour supprimer automatiquement les paquets installé que vous
n'utilisez plus, tapez :
# apt-get autoremove
Il existe des outils supplémentaires que vous pouvez utiliser pour trouver
les paquets obsolètes comme deborphan,
debfoster ou
cruft. Deborphan est hautement
recommandé, bien qu'il n'indique (dans le mode par défaut) que les
bibliothèques obsolètes : les paquets dans les sections
« libs
» ou
« oldlibs
» qui ne sont utilisés par aucun
autre paquet. Ne supprimez pas aveuglément les paquets que ces outils
présentent, particulièrement si vous utilisez des options non standard
agressives, car ils sont susceptibles de produire des faux positifs. Il est
hautement recommandé d'examiner manuellement les paquets suggérés à la
suppression (c.-à-d. leurs contenu, taille et description) avant de les
supprimer.
Le système de suivi des bogues de Debian fournit souvent des informations complémentaires sur les raisons pour lesquelles un paquet a été retiré. Vous devriez consulter à la fois les comptes-rendus de bogue archivés pour le paquet lui-même et ceux du pseudo-paquet ftp.debian.org.
La liste des paquets obsolètes comprend :
le système de gestion de contenu plone
. Ceci a été fait à la demande de
développeurs qui préfèrent utiliser Unified Installer for Linux comme seule
plate-forme de déploiement. Le moyen recommandé d'installer Plone sur un
système Debian GNU/Linux est donc l'Unified Installer, disponible par téléchargement
depuis http://plone.org/ ;
nessus
, le serveur de scan de
vulnérabilité système et ses bibliothèques associés, ainsi que quelques
autres logiciels. Il a été rendu obsolète par les logiciels fournis par
OpenVAS, comme par exemple openvas-server
et openvas-client
. Comme il n'y a pas de système de
mise à niveau automatique à ce niveau, vous devrez installer OpenVAS et
configurer vous-même le service Nessus (utilisateurs, certificats, etc.) à
OpenVAS ;
le logiciel Java 5, en particulier les paquets sun-java5-jre
et sun-java5-bin
, son successeur est Java 6 :
sun-java6-jre
et les paquets
associés ;
apt-proxy
n'est plus fourni,
utilisez à la place apt-cacher-ng
,
apt-cacher
ou approx
. Bien qu'il n'existe pas de gestion de
mise à niveau, les utilisateurs d'apt-proxy
peuvent migrer vers une de ces
alternatives en installant l'un de ces paquets ;
quelques pilotes graphiques ne sont plus fournis dans Squeeze et sont
obsolètes. On peut citer 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
. Ils peuvent être
supprimés pendant l'installation. Vous devriez utiliser xserver-xorg-video-all
à la place ;
l'outil usplash
utilisé dans
Lenny pour afficher une image lors du démarrage de l'ordinateur
n'est plus disponible. Il a été remplacé par plymouth
.
Certains paquets de la version Lenny ont été divisés en plusieurs paquets dans Squeeze, souvent pour améliorer la maintenabilité du système. Pour faciliter la mise à niveau dans de tels cas, Squeeze fournit souvent des paquets « factices » (« dummy packages » en anglais) : des paquets vides qui ont le même nom que l'ancien paquet de la version Lenny et dont les dépendances entraînent l'installation des nouveaux paquets. Ces paquets factices sont considérés comme des paquets obsolètes après la mise à niveau et peuvent être supprimés sans problème.
La plupart des descriptions des paquets factices signalent le but de ces
paquets. Cependant, elles ne sont pas uniformes, et le programme
deborphan, avec les options de type
--guess-
, peut être utile
pour détecter ces paquets sur le système. Notez que certains paquets
factices ne sont pas destinés à être supprimés après une mise à niveau, mais
ils sont utilisés pour déterminer quelle est la version actuellement
disponible d'un programme.
*
[4] Si la priorité de debconf est configurée à un très haut niveau, certaines demandes de configuration seront passées sous silence, mais les services qui dépendent de réponses par défaut qui ne s'appliquent pas au système ne vont pas pouvoir démarrer.
[5] Par exemple : services DNS ou DCHP, en particulier s'il n'y a pas de redondance ou de serveur de secours. Dans le cas de DHCP, l'utilisateur peut être déconnecté du réseau si le temps d'attribution de l'adresse est inférieur à celui mis par le processus de mise à niveau.
[6] Cette fonctionnalité peut être désactivée en ajoutant le paramètre
panic=0
aux paramètres d'amorçage.
[7] Le système de gestion des paquets de Debian ne permet pas qu'un paquet supprime ou remplace un fichier appartenant à un autre paquet sauf si ce paquet est prévu pour remplacer cet autre paquet.
[8] Il y a aussi des incompatibilités connues entre le vieux noyau et le nouveau
paquet udev
. Si vous avez des
problèmes lors du redémarrage avec le nouveau noyau, vous devrez repasser
sur l'ancien udev
.
[9] Certains périphériques, par exemple ceux utilisés par crypt, RAID ou LVM ont des identifiants non-UUID stables. Dans ce cas, vous devriez utiliser le nom de ces périphériques, qui sont déjà non ambigus et stables.
[10] Ou aussi longtemps qu'il n'y a pas de nouvelle version pendant cet intervalle de temps. Il n'y a typiquement qu'au plus deux versions stables de supportées à tout moment.