Chapitre 4. Mises à niveau depuis Debian 7 (Wheezy)

Table des matières

4.1. Actions nécessaires avant la mise à niveau
4.1.1. Sauvegarder toutes les données et informations de configuration
4.1.2. Informer les utilisateurs à l'avance
4.1.3. Préparez-vous à un arrêt des services
4.1.4. Soyez prêts à récupérer le système
4.1.5. Préparer un environnement sain pour la mise à niveau
4.2. Vérifier l'état du système
4.2.1. Vérifier les actions en cours dans le gestionnaire de paquets
4.2.2. Désactiver l'épinglage APT
4.2.3. Vérification de l'état des paquets
4.2.4. La section proposed-updates
4.2.5. Sources non officielles et rétroportages
4.3. Préparer les sources d'APT
4.3.1. Ajouter des sources Internet à APT
4.3.2. Ajouter les sources d'un miroir local à APT
4.3.3. Ajouter les sources d'un média optique à APT
4.4. Mettre à niveau les paquets
4.4.1. Enregistrer la session
4.4.2. Mettre à jour la liste des paquets
4.4.3. Assurez-vous d'avoir suffisamment d'espace disque pour la mise à niveau
4.4.4. Mise à niveau minimale du système
4.4.5. Mettre à niveau le système
4.5. Problèmes possibles pendant une mise à niveau
4.5.1. La mise à niveau échoue avec « Impossible de faire une configuration immédiate ».
4.5.2. Suppressions attendues
4.5.3. Boucles de conflits ou de prédépendances
4.5.4. Conflits de fichiers
4.5.5. Changements de configuration
4.5.6. Changement de session sur la console
4.5.7. Attention particulière à porter à certains paquets
4.6. Mise à niveau du noyau et des paquets liés
4.6.1. Installer un métapaquet du noyau
4.6.2. Problèmes de synchronisation de l'amorçage (attente du périphérique racine)
4.7. Choses à faire avant le prochain redémarrage
4.7.1. Purging removed packages
4.8. Le démarrage du système s'interrompt sur le message Waiting for root file system
4.8.1. Comment éviter le problème avant d'effectuer la mise à niveau
4.8.2. Comment corriger le problème après la mise à niveau
4.9. Préparations pour la prochaine version
4.10. Composants obsolètes
4.11. Paquets obsolètes
4.11.1. Paquets factices

4.1. Actions nécessaires avant la mise à niveau

Nous vous suggérons, avant la mise à niveau, de lire les informations du Chapitre 5, Problèmes à connaître pour Jessie. Ce chapitre couvre des problèmes potentiels qui ne sont pas directement liés au processus de mise à niveau, mais qu'il est important de connaître avant de commencer.

4.1.1. Sauvegarder toutes les données et informations de configuration

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. Par 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.

4.1.2. Informer les utilisateurs à l'avance

Il est sage d'informer à l'avance tous les utilisateurs que vous planifiez une mise à niveau, même si 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 Jessie, un redémarrage sera donc normalement nécessaire.En général, celui-ci a lieu à la fin de la mise à niveau.

4.1.3. Préparez-vous à un arrêt des services

Certains services fournis par le système peuvent être associés à des paquets concernés par une mise à niveau. Dans ce cas, ces services seront interrompus lorsque les paquets correspondants seront 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 et du 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 ensuite indisponibles[1] pour une longue durée.

Si le système devant être mis à niveau fournit des services critiques pour vos utilisateurs ou le réseau[2], 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, et ensuite une mise à niveau des paquets fournissant vos services critiques. Mettez-les à niveau avant de lancer la mise à niveau totale (Section 4.4.5, « 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.

4.1.4. Soyez prêts à récupérer le système

Bien que Debian essaie d'assurer que votre système puisse être redémarré à tout moment, il y a toujours un risque que vous rencontriez des problèmes lors du redémarrage du système après la mise à niveau. Des problèmes potentiels connus 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 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, vous deviez 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, 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 Jessie. L'avantage d'utiliser l'installateur est que vous pouvez choisir l'option qui convient le mieux à votre situation parmi ses nombreuses méthodes d'installation. 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.

4.1.4.1. Interpréteur de commande de débogage pendant l'amorçage utilisant un initrd

Le paquet initramfs-tools fournit un interpréteur de commande de débogage[3] 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 cet interpréteur de commande de débogage. Celui-ci possède des commandes de base qui permettent d'identifier l'origine du 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 l'interpréteur de commande 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.

4.1.5. Préparer un environnement sain pour la mise à niveau

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 à l'aide d'une connexion ssh.

[Important]Important

Si vous utilisez des services VPN (par exemple tinc), ils ne seront peut-être pas disponibles en permanence pendant la mise à niveau. Veuillez consultez la Section 4.1.3, « Préparez-vous à un arrêt des services ».

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 a été coupé.

[Important]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. Utiliser l'application GNOME update-manager est fortement déconseillé pour une mise à jour vers une nouvelle version de Debian, car cet outil suppose que la session graphique restera active.

TODO: surely gdm/kdm are sane?
(vorlon) haha, no, gdm is not; I had that thought, and tested a gdm
         restart on my live session ;)

4.2. Vérifier l'état du système

Le processus de mise à niveau décrit dans ce chapitre a été conçu pour des mises à niveau des systèmes Wheezy « 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.

Direct upgrades from Debian releases older than 7 (wheezy) are not supported. Please follow the instructions in the Release Notes for Debian 7 to upgrade to 7 first.

Cette procédure suppose également que le système a été mis à niveau jusqu'à la dernière révision de Wheezy. 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 le système Wheezy ».

4.2.1. Vérifier les actions en cours dans le gestionnaire de paquets

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 être supprimé. 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 attente 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 wheezy et pas vers stable ou jessie ; consultez la Section A.2, « Vérifier la 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. »

4.2.2. Désactiver l'épinglage APT

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'épinglage APT (« APT pinning ») (stockée dans /etc/apt/preferences et /etc/apt/preferences.d) pour permettre la mise à niveau de paquets vers les versions de la nouvelle version stable. Vous trouverez plus d'informations sur l'épinglage dans apt_preferences(5).

4.2.3. Vérification de l'état des paquets

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 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" 

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 à Wheezy comme expliqué en Section A.2, « Vérifier la liste de sources ».

4.2.4. 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.

4.2.5. Sources non officielles et rétroportages

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 Jessie 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 Wheezy 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[4]. La Section 4.5, « Problèmes possibles pendant une mise à niveau » donne quelques informations sur la façon de gérer les conflits de fichiers s'ils se produisent.

4.3. Préparer les sources d'APT

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, wheezy, jessie) 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.

4.3.1. Ajouter des sources Internet à APT

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 à https://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/jessie/main/binary-powerpc/...
http://mirrors.kernel.org/debian/dists/jessie/contrib/binary-powerpc/...

Pour utiliser ce miroir avec apt, ajoutez cette ligne au fichier sources.list :

deb http://mirrors.kernel.org/debian jessie 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 » préexistantes dans le fichier sources.list en plaçant des caractères # au début des lignes.

4.3.2. Ajouter les sources d'un miroir local à APT

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/jessie/main/binary-powerpc/...
/var/ftp/debian/dists/jessie/contrib/binary-powerpc/...

Pour utiliser ce miroir avec apt, ajoutez cette ligne au fichier sources.list :

deb file:/var/ftp/debian jessie 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 » préexistantes dans le fichier sources.list en plaçant des caractères # au début des lignes.

4.3.3. Ajouter les sources d'un média optique à APT

Si vous ne voulez utiliser que les CD (ou DVD ou Blu-ray), 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/scd0 est le lecteur de CD, le fichier /etc/fstab devrait contenir une ligne comme celle-ci :

/dev/scd0 /cdrom auto noauto,ro 0 0

Remarquez qu'il ne doit pas y avoir d'espace entre les mots 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.

4.4. Mettre à niveau les paquets

Pour une mise à niveau des versions précédentes de Debian, 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ées plus robustes pour fournir le résultat attendu pour la mise à niveau.

N'oubliez pas de monter les partitions requises (notamment les partitions racine et /usr) en lecture et écriture, avec une commande du 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 à « jessie » soit à « stable ». Il ne doit y avoir aucune source pointant vers Wheezy.

[Note]Note

Les lignes de source pour un CD font souvent référence à « unstable » ; bien que cela soit trompeur, vous ne devez pas les changer.

4.4.1. Enregistrer la session

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-jessieetape.time -a ~/upgrade-jessieetape.script

ou quelque chose d'équivalent. Si vous devez utiliser à nouveau le script d'enregistrement (par exemple suite à un redémarrage), utilisez une nouvelle valeur pour etape afin d'indiquer quelle étape vous enregistrez. 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-jessieetape.script pour voir le fichier.

Après avoir terminé la mise à niveau, vous pouvez stopper l'enregistrement en entrant exit à l'invite de commande.

À FAIRE : (jfs) On pourrait mentionner le script… 

Si vous avez utilisé l'option -t de script, vous pouvez utiliser le programme scriptreplay pour rejouer la session entière :

# scriptreplay ~/upgrade-jessieetape.time ~/upgrade-jessieetape.script

4.4.2. Mettre à jour la liste des paquets

La liste des paquets disponibles pour la nouvelle version doit tout d'abord être récupérée, avec cette commande :

# apt-get update

4.4.3. Assurez-vous d'avoir suffisamment d'espace disque pour la mise à niveau

Avant de faire la mise à niveau complète du système, telle qu'elle est décrite en Section 4.4.5, « 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 qui contient /var/. 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 à propos de 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]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 effectué la mise à niveau minimale du système comme décrit en Section 4.4.4, « Mise à niveau minimale du système » 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 ;

  • Supprimez les paquets oubliés. Si vous avez utilisé aptitude ou apt-get pour installer manuellement des paquets dans Wheezy, le programme aura gardé la trace de ces paquets ; ainsi, quand un paquet est supprimé, le programme peut marquer comme redondants les paquets installés par le seul jeu des dépendances et qui ne sont plus nécessaires. Ils ne marquent pas pour la suppression les paquets que vous avez installés, au contraire de ceux qui ont été installés automatiquement par les dépendances. Pour supprimer les paquets installés automatiquement et qui ne sont plus utilisés, tapez :

    # apt-get autoremove
    

    Vous pouvez également utiliser deborphan, debfoster ou cruft pour trouver les paquets redondants. 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.

  • Supprimez les paquets qui prennent trop d'espace et qui ne sont pas actuellement nécessaires (vous pourrez les réinstaller après la mise à niveau). Si popularity-contest est installé, vous pouvez utiliser popcon-largest-unused pour faire la liste des paquets occupant le plus d'espace. Vous pouvez afficher les paquets qui prennent le plus de place avec dpigs (disponible dans le paquet debian-goodies) ou avec wajig (en lançant wajig size). Ils peuvent également être trouvés avec aptitude.Lancez aptitude en mode interactif, choisissez VuesNouvelle vue des paquets, tapez l puis ~i, tapez S puis ~installsize, ce qui créera une liste pratique 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 fichiers déjà utilisé, etc.

    [Note]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 :

    1. supprimez les paquets téléchargés lors d'une précédente installation :

      # apt-get clean

    2. copiez le répertoire /var/cache/apt/archives sur le disque USB :

      # cp -ax /var/cache/apt/archives /media/cleusb/

    3. montez le répertoire de cache temporaire à la place de l'actuel :

      # mount --bind /media/cleusb/archives /var/cache/apt/archives

    4. après la mise à niveau, rétablissez le répertoire /var/cache/apt/archives initial :

      # umount /media/cleusb/archives

    5. 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 la Section 4.4.4, « Mise à niveau minimale du système ») ou partielle suivie par une mise à niveau complète. Cela 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 wheezy, comme décrit en Section A.2, « Vérifier la liste de sources ».

4.4.4. Mise à niveau minimale du système

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 : commencer par une mise à niveau minimale pour éviter ces conflits, puis faire une mise à niveau totale (consultez la Section 4.4.5, « Mettre à niveau le système »).

Pour ce faire, exécutez d'abord :

# 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.

Si le paquet apt-listchanges est installé avec sa configuration par défaut, il affichera de manière interactive les informations importantes sur les paquets mis à jour. Il est nécessaire d'utiliser la touche q une fois ces informations lues afin de quitter l'affichage interactif et poursuivre la mise à jour.

4.4.5. Mettre à niveau le système

Vous êtes maintenant prêt à continuer avec la partie principale de la mise à niveau. Exécutez :

# apt-get dist-upgrade
[Note]Note

Nous recommandions d'utiliser aptitude lors du processus de mise à niveau pour certaines versions précédentes. Cet outil n'est pas recommandé pour les mises à niveau de Wheezy à Jessie.

Cette commande effectue une mise à niveau complète du système, en installant les versions les plus récentes de tous les paquets, et en résolvant 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 retenus — « 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.

4.5. Problèmes possibles pendant une mise à niveau

Les parties suivantes décrivent les problèmes connus pouvant survenir lors d'une mise à niveau vers Jessie.

4.5.1. La mise à niveau échoue avec « Impossible de faire une configuration immédiate ».

Dans certains cas, l'étape apt-get dist-upgrade peut échouer après le téléchargement des paquets avec :

E: Impossible de faire une configuration immédiate sur 'paquet. Veuillez consulter man 5 apt.conf à la section APT::Immediate-Configure pour plus de précisions.

Si cela se produit, lancer apt-get dist-upgrade -o APT::Immediate-Configure=0 à la place devrait permettre à la mise à niveau d'avoir lieu.

Une autre possibilité pouvant permettre de contourner ce problème consiste à ajouter temporairement des sources pour wheezy et jessie dans le fichier sources.list puis d'exécuter la commande apt-get update.

4.5.2. Suppressions attendues

La mise à niveau vers Jessie 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.

Some common packages that are expected to be removed include: python2.6 (replaced by python2.7). For more information about packages obsoleted in jessie, see Section 4.11, « Paquets obsolètes ».

4.5.3. Boucles de conflits ou de prédépendances

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

4.5.4. Conflits de fichiers

Les conflits de fichiers ne devraient pas se produire si vous mettez à niveau depuis un système Wheezy « 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.

4.5.5. Changements de configuration

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épertoire /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.

4.5.6. Changement de session sur la console

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. Cela peut par exemple être le cas pour les systèmes de bureau quand le gestionnaire d'écran de connexion est relancé.

Pour revenir à la console traitant le processus de mise à niveau, utilisez les touches Ctrl+Alt+F1 (si vous avez une interface de connexion graphique) ou Alt+F1 (si vous avez une console texte locale) pour revenir au terminal virtuel 1. 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.

4.5.7. Attention particulière à porter à certains paquets

La plupart des paquets devrait passer docilement de Wheezy à Jessie. Il y a cependant un petit nombre de cas où une intervention manuelle peut être nécessaire, que ce soit avant ou pendant la mise à niveau. Ces interventions sont détaillées ci-dessous en fonction du paquet impliqué.

4.5.7.1. Sudo

TODO: Is this relevant for Jessie (or was it is a thing for Wheezy)?

Si vous avez modifié /etc/sudoers, vous devriez être au courant des modifications apportées à la façon dont la configuration de sudo est gérée. Le fichier /etc/sudoers par défaut contient maintenant les deux directives suivantes :

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#includedir /etc/sudoers.d

Aucune de ces entrées n'est ajoutée automatiquement à votre fichier /etc/sudoers lors de la mise à niveau (bien qu'il vous soit toujours possible de lancer des commandes sudo en indiquant leur chemin complètement qualifié). Vous pourriez donc vouloir migrer vos modifications dans le nouveau répertoire /etc/sudoers.d et utiliser le fichier /etc/sudoers par défaut. Par exemple :

# mv /etc/sudoers /etc/sudoers.d/mesmodifs
# mv /etc/sudoers.dpkg-new /etc/sudoers

Vous pourriez également avoir besoin de modifier votre fichier /etc/sudoers.d/mesmodifs pour retirer les entrées Defaults et #includedir non désirées. Vous devriez pour cela utiliser la commande visudo :

# visudo -f /etc/sudoers.d/mesmodifs

4.6. Mise à niveau du noyau et des paquets liés

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.

4.6.1. Installer un métapaquet du noyau

Quand vous faites une mise à niveau de Wheezy vers Jessie, il est fortement recommandé d'installer un métapaquet linux-image-*, si cela n’avait pas été déjà fait. 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 disponibles, exécutez :

# apt-cache search linux-image- | 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 2.6.32-5-amd64 apparaît, il est recommandé d'installer linux-image-amd64. 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-amd64

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. Installez les sources du noyau fournies pas le paquet linux-source. Vous pouvez utiliser la cible deb-pkg du fichier Makefile fourni dans les sources pour construire un paquet binaire. Plus d'informations sont disponibles dans le Manuel du noyau Linux de Debian, qui peut également être trouvé dans le paquet debian-kernel-handbook.

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 ».

4.6.2. Problèmes de synchronisation de l'amorçage (attente du périphérique racine)

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 interpréteur de commande de débogage. Celui-ci indique les problèmes les plus courants et comment les repérer :

Gave up waiting for root device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/something does not exist.  Dropping to a shell!
(initramfs) 

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=9. Il se peut que vous deviez ajuster la valeur du délai (en seconde).

4.7. Choses à faire avant le prochain redémarrage

Lorsque apt-get dist-upgrade est terminé, la mise à niveau « formelle » est terminée, mais il reste quelques petites choses dont vous devriez vous occuper avant le prochain redémarrage.

4.7.1. Purging removed packages

It is generally advisable to purge removed packages. This is especially true, if these have been removed in an earlier release upgrade (e.g. from the upgrade to wheezy) or from third-party vendors. In particular, old init.d scripts have been known to cause issues.

[Attention]Attention

Purging a package will generally also purge its log files, so you might want to back them up first.

The following command displays a list of all removed packages that may have configuration files left on the system (if any):

    # dpkg -l | awk '/^rc/ { print $2 }'
  

The packages can be removed by using apt-get purge. Assuming you want to purge all of them in one go, you can use the following command:

    # apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
  

If you use aptitude, you can also use the following alternative to the commands above:

    $ aptitude search '~c'
    $ aptitude purge '~c'
  

4.8. Le démarrage du système s'interrompt sur le message Waiting for root file system

Procédure de secours en cas de changement de /dev/hda en /dev/sda

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. Cela 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 Jessie devrait 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.8.2, « Comment corriger le problème après la mise à niveau ». Pour éviter ce problème avant de mettre à niveau, continuez la lecture.

4.8.1. Comment éviter le problème avant d'effectuer la mise à niveau

On peut complètement éviter le problème en utilisant un identifiant du système de fichiers 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 fichiers (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 faible.

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 :

  1. Étiquetez le système de fichiers (le nom doit comporter moins de 16 caractères) en exécutant : e2label /dev/hda6 systemeracine

  2. Éditez /boot/grub/menu.lst et modifiez la ligne :

    # kopt=root=/dev/hda6 ro

    en

    # kopt=root=LABEL=systemeracine ro

    [Note]Note

    N'enlevez pas le # au début de la ligne, il est nécessaire.

  3. Mettez à jour les lignes kernel dans menu.lst en exécutant la commande update-grub.

  4. 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 :

  1. 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]Note

    L'UUID de votre système de fichiers sera différent.

  2. Éditez /boot/grub/menu.lst et modifiez la ligne :

    # kopt=root=/dev/hda6 ro

    afin d'utiliser l'UUID à la place :

    # kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8 ro

    [Note]Note

    N'enlevez pas le # au début de la ligne, il est nécessaire.

  3. Mettez à jour les lignes kernel dans menu.lst en exécutant la commande update-grub.

  4. 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.

4.8.2. Comment corriger le problème après la mise à niveau

4.8.2.1. Solution 1

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.8.2.2, « Solution 2 » ou Section 4.8.2.3, « Solution 3 ».

  1. 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

  2. Sélectionnez la ligne

    kernel /vmlinuz-2.6.32-5-686 root=/dev/hda6 ro

    appuyez sur la touche e et remplacez hdX par sdX (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 hdX, changez-les également. Ne modifiez pas les entrées similaires à root (hd0,0). Une fois effectuées toutes ces modifications, appuyez sur la touche b. Le système devrait pouvoir démarrer normalement.

  3. Maintenant que le système a démarré, le problème doit être corrigé de manière permanente. Référez-vous à Section 4.8.1, « Comment éviter le problème avant d'effectuer la mise à niveau » et appliquez une des deux procédures proposées.

4.8.2.2. Solution 2

Démarrez depuis un support d'installation de Debian (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 interpréteur de commande 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.8.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 l'interpréteur de commande de secours et sélectionnez reboot pour redémarrer le système normalement. N'oubliez pas de retirer les supports amovibles.

4.8.2.3. Solution 3

  1. Démarrez depuis votre distribution autonome (« Live CD ») préférée, par exemple Debian Live, Knoppix ou Ubuntu Live.

  2. 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.

  3. 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)

  4. Redémarrez le système, retirez le CD autonome et le système devrait démarrer correctement.

  5. Maintenant que le système a démarré, il vous faut régler le problème définitivement. Référez-vous à Section 4.8.1, « Comment éviter le problème avant d'effectuer la mise à niveau » et appliquez une des deux procédures proposées.

4.9. Préparations pour la prochaine version

Après la mise à niveau, il y a plusieurs choses que vous pouvez faire pour préparer la prochaine version.

4.10. Composants obsolètes

Avec la publication de Debian 9 (nom de code Stretch), un nombre important de fonctions seront obsolètes, et les utilisateurs devront changer pour de nouvelles alternatives pour prévoir le passage en 9.

Cela inclut les fonctions suivantes :

4.11. Paquets obsolètes

Avec Jessie, plusieurs milliers de nouveaux paquets apparaissent, tandis que plus de quatre mille anciens paquets présents dans Wheezy 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 leur suivi de sécurité un an après la sortie de Jessie[5], et n'assure normalement pas d'autre prise en charge dans l'intervalle. Il est recommandé de remplacer ces paquets par leurs alternatives disponibles quand elles existent.

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 Jessie 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 tels. Si vous utilisez aptitude, vous verrez une liste de ces paquets sous l'entrée « Paquets obsolètes ou créés localement ».

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 :

  • mysql-5.1, dont le successeur est mysql-5.5 ;

  • postgresql-8.4, dont le successeur est postgresql-9.1. Wheezy fournit uniquement un paquet postgresql-plperl-8.4 mis à jour lié avec la nouvelle version de libperl afin de permettre la mise à niveau vers la nouvelle version de Perl dans Wheezy sans rendre les installations existantes de postgresql-8.4 inutilisables. Après la mise à niveau du système, vous devriez également prévoir de mettre vos bases de données PostgreSQL 8.4 à niveau vers PostgreSQL 9.1 en utilisant l'outil pg_upgradecluster.

  • python2.5, dont le successeur est python2.7 ;

  • portmap, dont le successeur est rpcbind ;

  • sun-java6, dont le successeur est openjdk-7 ;

  • gdm, dont le successeur est gdm3. Les utilisateurs d'environnements de bureau légers tels que Xfce ou LXDE pourraient envisager lightdm en guise d'alternative plus légère.

  • mpich, dont les successeurs sont openmpi et mpich2 ;

  • compiz, un gestionnaire OpenGL de fenêtres et de composition. Consultez les rapports de bogues nº 677864 et nº 698815.

  • quelques pilotes graphiques ne sont plus fournis dans Jessie et sont obsolètes. On peut citer xserver-xorg-video-nv et xserver-xorg-video-radeonhd. Ils peuvent être supprimés pendant l'installation. Vous devriez utiliser xserver-xorg-video-all à la place ;

  • Tous les paquets Horde 3, fournissant des logiciels de travail collaboratif sur le web, ont été supprimés et sont obsolètes. Cela comprend ansel1, chora2, dimp1, gollem, horde-sam, horde3, imp4, ingo1, kronolith2, mnemo2, nag2, sork-forwards-h3, sork-passwd-h3, sork-vacation-h3 et turba2. Les paquets de Horde 4 n'ayant pas atteint une qualité suffisante avant la sortie de Jessie, ceux-ci ne sont pas disponibles. Ils pourraient être disponibles dans la distribution testing sous les noms php-horde-*.

  • La plupart des paquets Kolab, fournissant un serveur de travail collaboratif, ont été supprimés. Cela inclut kolab-cyrus-imapd, kolab-webadmin, kolabd, libkolab-perl, php-kolab-filter et php-kolab-freebusy. En 2012, Kolab était en cours de réécriture majeure et pourrait être livré avec une version ultérieure de Debian en tant que paquet kolab. N.B. : Le serveur SOGo (anciennement « Scalable OpenGroupware.org) est livré avec Jessie en tant que sogo.

  • Tous les paquets OpenERP 5 ont été supprimés et sont obsolètes. Cela comprend openerp-client, openerp-server et openerp-web.

  • Le paquet pootle en version 2.0.5 a été supprimé.

  • uw-imapd et ipopd ont été supprimés. De meilleures alternatives existent, comme par exemple dovecot-imapd et courier-imap pour IMAP, ou dovecot-pop3d et courier-pop pour POP3.

  • Le paquet drupal6 n'est plus disponible ; il a été remplacé par drupal7. En revanche, il n'existe pas de chemin de mise à niveau et les utilisateurs devraient lire les instructions sur le wiki Debian.

4.11.1. Paquets factices

Certains paquets de la version Wheezy ont été divisés en plusieurs paquets dans Jessie, souvent pour améliorer la maintenabilité du système. Pour faciliter la mise à niveau dans de tels cas, Jessie 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 Wheezy et dont les dépendances entraînent l'installation des nouveaux paquets. Ces paquets factices sont considérés comme des paquets redondants 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 car ils sont utilisés pour déterminer quelle est la version actuellement disponible d'un programme.



[1] 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.

[2] Par exemple : les 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 pour terminer le processus de mise à niveau.

[3] Cette fonctionnalité peut être désactivée en ajoutant le paramètre panic=0 aux paramètres d'amorçage.

[4] 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.

[5] 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 supportées à tout moment.