Debian essaie d'éviter de changer les paquets originaux, et les changements dans les paquets originaux se retrouveront dans Debian GNU/Linux.
Dans Debian GNU/Linux 2.2 « Potato », tar
utilisait
l'option
-I
pour la compression par bzip
, alors que l'option
-j
est maintenant utilisée pour cela. Vous risquez donc de devoir répercuter ce changement dans vos scripts.
Les utilisateurs de détecteurs de virus tels que amavis
,
scannerdaemon
et clamav
devraient conserver leurs
paquets à jour, sinon il est possible qu'un paquet bogué laisse passer des
virus à l'intérieur de votre système, avec des conséquences désastreuses. Il
faut aussi mentionner le fait que la base de données des virus présente dans
Woody est statique et est maintenant obsolète. Une solution consiste à
étiqueter les paquets pour les antivirus avec les distributions testing ou
unstable.
Le décret n° 84 du gouvernement estonien (en date du 21 février 2002),
applicable depuis le 1er mars 2002, stipule qu'à partir de l'été 2002,
l'Estonie utilisera une heure d'été. Le début de cette période (« sommer time
» en estonien) est fixé au dernier dimanche de mars à 01:00 GMT (03:00 heure
locale) et la fin au dernier dimanche d'octobre à 01:00 GMT (04:00 heure
locale). Vous devriez pouvoir utiliser les mêmes règles que pour Helsinki,
disponibles dans le fichier /usr/share/zoneinfo/Europe/Helsinki
.
La nouvelle version de PostgreSQL est plus stricte et restrictive dans sa
gestion des données. Cela signifie que des lignes comme foo =
NULL
, qui ne sont pas valides, ne seront plus acceptées. Cela signifie
aussi qu'avec un codage UNICODE, ISO 8859-1 et ISO 8859-15 ne sont plus des
codages valides à utiliser quand des données sont insérées dans la relation en
question. Si vous vous trouvez dans ce cas, vous devriez convertir la
sauvegarde de la base, ce qui peut toujours être fait avec pg_dump -t
table base
puis recode latin1..utf-16
.
Ce changement en particulier peut aussi affecter le processus de mise à jour, car la sauvegarde et la restauration de données entre l'ancienne et la nouvelle base de données peuvent mettre en jeu des données invalides.
La version de m4 dans Woody ne fonctionne pas avec les noyaux Linux de la série 2.0. Il est donc fortement recommandé aux utilisateurs de sendmail de mettre à jour leur noyau Linux (avec une série 2.2 ou ultérieure) avant de procéder à la mise à jour.
Avant de mettre à niveau votre système, il est fortement conseillé de faire une sauvegarde complète ou, du moins, une sauvegarde des données ou informations de configuration que vous ne supporteriez pas de perdre. Les outils de mise à niveau sont tout à fait fiables, mais une panne matérielle au milieu de la mise à niveau pourrait fortement endommager votre système.
Ce que vous voudrez principalement sauvegarder est le contenu des répertoires
/etc
et /var/lib/dpkg
, et la sortie de dpkg
--get-selections \*.
Il est sage d'informer à l'avance tous les utilisateurs que vous planifiez une
mise à niveau, bien que les utilisateurs accédant à votre système par ssh (au
moins) ne devraient pas remarquer grand chose durant la mise à niveau et
pourraient continuer à travailler. Si vous voulez prendre des précautions
supplémentaires, sauvegardez ou démontez la partition /home
des
comptes des utilisateurs avant la mise à niveau. Normalement, un redémarrage
ne sera pas nécessaire.
Vous devriez 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.
Vous ne devriez pas effectuer la mise à niveau en utilisant
telnet
, rlogin
, rsh
, ou depuis une
session X gérée par xdm
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.
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 que l'on peut mettre à 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 de votre système en
utilisant dselect
, ou avec des commandes comme
# dpkg -l | pager
ou
# dpkg --get-selections > ~/curr-pkgs.txt
Il est souhaitable d'enlever tout paquet bloqué (on hold) avant de passer à la nouvelle version. Si un paquet essentiel pour la mise à jour est bloqué, la mise à jour va échouer. Vous pouvez identifier les paquets bloqués avec
# dpkg --audit
Si vous aviez modifié et recompilé un paquet localement, sans changer son nom
et sans mettre de date dans la version, vous devez le bloquer pour éviter qu'il
ne soit mis à niveau. L'état de blocage d'un paquet peut être changé en
utilisant le programme dselect
(dans le menu sélection, utilisez
les touches « H » et « G » pour respectivement bloquer et
débloquer) ou en modifiant le fichier produit par
dpkg --get-selections > ~/curr-sels.txt
pour remplacer « hold » par « install » (ou vice versa), et ensuite, en étant super-utilisateur (root), faire
dpkg --set-selections < ~/curr-sels.txt
Le SSH propriétaire situé dans le paquet ssh
avant la version 2.2,
ou dans le paquet ssh-nonfree
dans la version 2.2, a été remplacé
dans cette version par le paquet ssh
(OpenSSH) satisfaisant aux
DFSG. L'ensemble SSH propriétaire n'est plus distribué. Le paquet
ssh
contient un questionnaire Debconf qui générera une
configuration compatible avec OpenSSH.
Il est important que le répertoire /etc/rcS.d
existe avant la mise
à niveau. L'installation du paquet libc6
échouera sinon.
Le répertoire /usr/share/doc
(s'il existe déjà) ne devrait pas
être un lien symbolique (vers /usr/doc
par exemple) puisque cela
destructurerait certains paquets. Néanmoins, il est permis de faire un lien
symbolique de /usr/doc
vers /usr/share/doc
. Veuillez
noter que si vous utilisez un tel lien symbolique, il y aura de nombreux
messages à propos de répertoires /usr/doc
qui ne peuvent être
enlevés. C'est normal et vous pouvez les ignorer sans risque.
La méthode recommandée pour effectuer la mise à niveau est d'utiliser la
méthode apt
avec dselect
, comme décrit dans cette
section. L'analyse des dépendances qui y est faite permet une mise à niveau et
une installation faciles.
Vous ne devriez pas faire de mise à niveau de paquet majeur en
utilisant d'autres méthodes d'accès qu'apt
dans
dselect
, car, à l'inverse de la méthode apt
, elles ne
procèdent pas à un tri logique des paquets durant l'installation, et par
conséquent ne sont pas aussi fiables. De plus, de telles mises à niveau sont
bien moins testées et donc non supportées par Debian.
Vous devez faire toutes les opérations d'installation de paquets avec les
privilèges du super-utilisateur. Donc, soit vous vous connectez comme
root, soit vous utilisez su
ou sudo
pour
obtenir les droits nécessaires.
Avant de commencer la mise à niveau, vous devez ajuster
/etc/apt/sources.list
, le fichier de configuration des listes de
paquets d'apt
.
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 Debian, on indiquera
d'abord un disque dur local, puis des cédéroms, puis les miroirs FTP et HTTP).
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.
Autrement, 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 »
— Full list of mirrors). Les miroirs HTTP sont en général
plus rapides que les miroirs FTP.
Par exemple, supposons que votre miroir Debian le plus proche est http://mirrors.kernel.org/debian/. Si vous regardez 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/woody/main/binary-m68k/... http://mirrors.kernel.org/debian/dists/woody/contrib/binary-m68k/...
Pour utiliser ce miroir avec apt
, vous ajoutez cette ligne à votre
fichier sources.list
:
deb http://mirrors.kernel.org/debian woody main contrib
Notez que « dists » est ajouté implicitement, et les arguments qui suivent le nom de version sont utilisés pour étendre le chemin à plusieurs répertoires.
Après avoir ajouté les nouvelles sources, commentez les lignes
« deb » existantes dans le fichier
sources.list
en plaçant des signes # au début des
lignes.
Chaque paquet nécessaire pour une installation est récupéré depuis le réseau et
stocké dans le répertoire /var/cache/apt/archives
(et dans le
sous-répertoire partial
pendant son transfert). Vous devez vous
assurer d'avoir assez de place avant de commencer l'installation. Avec un
système Debian relativement important, attendez-vous à télécharger au moins 300
Mo de données.
Note : si vous utilisez les versions statiques d'apt
et de
dpkg
, la recherche des noms de machine est boguée (c'est une des
raisons pour lesquelles vous devez utiliser le paquet apt
normal
pour une mise à niveau par le réseau). La solution est de simplement mettre
l'adresse IP des miroirs dans les lignes « deb » (pour
obtenir l'adresse IP, utilisez par exemple : nslookup
some-server).
Plutôt que d'utiliser des miroirs de paquets HTTP ou FTP, vous pouvez modifier
/etc/apt/sources.list
pour utiliser un miroir sur un disque local
(éventuellement monté par NFS).
Par exemple, votre miroir de paquets peut être sous
/var/ftp/debian/
, et avoir des répertoires principaux tels
que :
/var/ftp/debian/dists/woody/main/binary-m68k/... /var/ftp/debian/dists/woody/contrib/binary-m68k/...
Pour utiliser ceci avec apt
, ajoutez cette ligne à votre fichier
sources.list
:
deb file:/var/ftp/debian woody main contrib
Notez que « dists » est ajouté implicitement, et les arguments qui suivent le nom de version sont utilisés pour étendre le chemin à plusieurs répertoires.
Après avoir ajouté les nouvelles sources, commentez les lignes
« deb » existantes dans le fichier
sources.list
en plaçant des signes # au début des
lignes.
Voyez ci-dessus si vous devez d'abord installer les dernières versions
d'apt
, et de dpkg
, comme décrit précédemment.
Si vous voulez utiliser seulement les cédéroms, 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 cédérom au point de montage /cdrom
(ce
point de montage /cdrom
est nécessaire pour utiliser
apt-cdrom
). Par exemple, si /dev/hdc
est votre
lecteur de cédérom, 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 cédérom et essayez d'exécuter
mount /cdrom (montera le cédérom au point de montage /cdrom) ls -alF /cdrom (devrait afficher le contenu de la racine du cédérom) umount /cdrom (démontera le cédérom)
Ensuite, lancez :
apt-cdrom add
pour chaque cédérom binaire Debian en votre possession, afin d'ajouter les données concernant chaque cédérom dans la base de données d'apt.
La méthode recommandée pour mettre à jour vers Debian GNU/Linux 3.0 est
d'utiliser le gestionnaire de paquets dselect
. Cet outil prend
des décisions plus conservatrices qu'apt-get
.
Si dselect
n'est pas installé, veuillez installer la version
fournie avec votre distribution de Debian GNU/Linux.
La méthode d'accès pour les archives (avec APT) est déjà configurée, vous pouvez cependant modifier la configuration avec l'entrée « [A]ccess » dans le menu. Si vous êtes content de votre configuration, passez à l'étape suivante en choisissant l'option « [U]pdate » dans le menu. Cela met à jour la base de données des paquets.
Si aucun problème n'est survenu pendant la phase de mise à jour, choisissez
l'option « [S]elect » du menu. dselect
examinera quels
sont les paquets disponibles et décidera de façon intelligente quels paquets
ont besoin d'être mis à jour et quels nouveaux paquets doivent être installés
pour permettre ces mises à jour. Il vous suggèrera aussi de supprimer des
paquets. Appuyer sur « Entrée » dans l'écran de sélection des
paquets va soit afficher un écran de résolution des conflits/dépendances (dans
lequel vous pouvez avoir à changer les choix sélectionnés, puis appuyez de
nouveau sur « Entrée »), soit vous faire revenir dans le menu
principal. De l'aide sur l'étape de sélection des paquets est disponible en
appuyant sur la touche « ? ».
Maintenant que le choix des paquets est terminé, il est nécessaire d'installer les nouveaux paquets. Choisissez « [I]nstall » dans le menu principal. Les paquets seront téléchargés et installés avec APT à partir de votre support de prédilection. Allez vous chercher une tasse de café, cela peut prendre un certain temps.
Les deux dernières étapes sont « [C]onfig » et « [R]emove » qui vont achever le processus de mise à jour en configurant les nouveaux paquets et en supprimant les paquets devenus inutiles.
N'oubliez pas de monter les partitions requises (notamment la racine et la
partition /usr
) en lecture et écriture, avec une commande telle
que :
mount -o remount,rw /point_de_montage
Après avoir configuré le fichier sources.list
d'apt
,
comme expliqué ci-dessus, exécutez (sous le compte super utilisateur
root) :
apt-get update
Ceci synchronisera le fichier des paquets disponibles à partir de leur source, en mettant à jour les informations concernant les paquets nouveaux ou mis à niveau.
On vous recommande chaudement d'utiliser le programme
/usr/bin/script
pour enregistrer une transcription de la session
de mise à niveau. Ainsi, si des problèmes apparaissent, vous pouvez avoir un
enregistrement de ce qui s'est produit, et vous pouvez fournir, s'il le faut,
les informations exactes pour un rapport de bogue. Pour démarrer un
enregistrement, tapez :
script -a ~/upgrade-to-woody.typescript
ou équivalent. Souvenez-vous de ne pas mettre 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).
Il est important de mettre à jour apt, dpkg et debconf avant de faire le reste de la mise à jour. Apt a été considérablement amélioré depuis les versions précédentes. Debconf est un outil essentiel qui est de plus en plus utilisé dans les paquets récents.
apt-get install dpkg apt debconf
Ceci installera les dernières versions de dpkg
, apt
et debconf
, qui sont nécessaires pour le reste de la mise à
niveau. Cela mettra aussi à niveau des bibliothèques système nécessaires.
Quand debconf vous demande le type des questions à poser, ne choisissez pas « critique », car vous risqueriez de rater des questions importantes
Certaines personnes préfèrent préparer d'abord la mise à niveau en utilisant
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
Bien qu'elle prenne pas mal de temps, cette commande peut éviter des surprises. Cela vous dira soit ce qui ne va pas avec votre système (et comment le corriger), soit, plus probablement, exactement ce qui sera fait durant la mise à niveau. Soyez particulièrement attentif aux paquets qui seront « REMOVED » (i.e. retirés) ; aucun paquet essentiel ne devrait être listé ici.
Après avoir vérifié qu'apt-get
devrait fonctionner correctement,
exécutez :
apt-get --fix-broken --show-upgraded dist-upgrade
Ceci effectuera une mise à jour complète du système, c.-à-d. installera les versions les plus récentes de tous les paquets, et résoudra tous les changements possibles de dépendances entre paquets des différentes versions. Si nécessaire, cela installera de nouveaux paquets (habituellement de nouvelles versions de bibliothèques, ou des paquets ayant changé de nom), et retirera les paquets obsolètes en conflit.
Lorsque l'installation se fait à partir d'un ensemble de cédéroms, on vous demandera d'insérer d'autres cédéroms à plusieurs moments de la mise à niveau. Vous pourriez devoir insérer plusieurs fois le même cédérom. Cela est dû aux relations entre paquets répartis sur plusieurs cédéroms.
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).
Par conséquent, il peut être nécessaire d'utiliser dpkg
ou
dselect
pour enlever et réinstaller des paquets défectueux ou des
dépendances. Une autre solution est d'utiliser apt-get
dselect-upgrade après apt-get -f dist-upgrade (voir la page
de manuel apt-get(8)
).
L'option --fix-broken ou simplement -f indique à
apt
de corriger un système qui possède des dépendances
défectueuses. Apt
n'autorise pas l'existence de dépendances
défectueuses sur un système.
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 donnant 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 requière une intervention manuelle. Habituellement, cela
signifie qu'il faut utiliser dselect
ou
dpkg --remove nom_du_paquet
pour éliminer certains des paquets en cause, ou
apt-get --fix-broken --show-upgraded 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
Après cela, vous devriez être en mesure de continuer la mise à niveau, en utilisant la commande dist-upgrade précédemment décrite.
Durant la mise à niveau, on vous posera des questions pour configurer ou
reconfigurer de nombreux paquets. Quand on vous demandera si des fichiers des
répertoires /etc/init.d
ou /etc/terminfo
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.
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.
Le plus important est que vous pouvez avoir besoin d'installer les paquets
locales
et util-linux
. Cela peut être fait
avec :
apt-get install locales util-linux
Si vous avez fait une mise à niveau depuis une version 2.0 ou antérieure, cela
aura retiré le paquet getty
, car le programme getty
est maintenant dans le paquet util-linux
.
Il existe probablement d'autres paquets qui devront être installés et
qu'apt-get
n'a pas pris en compte, car apt-get
ne
sélectionne pas automatiquement les paquets dont aucun autre paquet ne dépend,
en particulier les paquets recommandés ou suggérés (dans les champs Recommends:
et Suggests:) par les paquets installés. On peut les trouver facilement en
utilisant dselect
ou une autre interface. Avec
dselect
, choisissez la méthode « apt » dans l'écran
[A]ccès ([A]ccess) — si ce n'est déja fait — et mettez à
jour la base de données avec la nouvelle liste de paquets en utilisant l'option
« Mise à jo[U]r » ([U]pdate). Après cela, dans l'écran
[S]élection ([S]elect), appuyez sur les touches « o »,
« o », « v », et « Maj-d », puis recherchez
l'en-tête :
--- Obsolete and local packages present on system ---
Dans cette section, tous les paquets de cette catégorie seront affichés. Par
exemple, l'ancien paquet gimp
a été remplacé par le paquet
gimp1.2
. Vous pouvez soit installer le nouveau paquet via
dselect
(qui affichera alors l'écran de « résolution des
conflits de dépendances » indiquant que le vieux paquet doit être enlevé),
soit utiliser la commande :
apt-get install gimp1.2
qui enlèvera les versions plus anciennes en une seule fois (il vous faudra peut-être confirmer).
Un autre exemple, qui souvent n'apparaît même pas dans
dselect
: les clients et serveurs telnet et talk, ainsi que
le serveur NFS, qui ont été créés avec l'éclatement de l'ancien paquet
netstd
. Vous pouvez les installer avec une commande telle
que :
apt-get install telnet telnetd talk talkd nfs-server
La même chose s'applique à manpages-dev
, qui est une partie de
manpages
.
Veuillez consulter les notes de publication concernant les versions précédentes de Debian GNU/Linux pour de plus amples informations sur les paquets éclatés dans cette distribution ; veuillez relire Paquets ayant changé de nom, Section 5.1 et Paquets éclatés, Section 5.2 plus haut pour voir la liste des paquets éclatés dans cette distribution.
Si vous effectuiez la mise à niveau d'un version Debian 2.0 ou antérieure, et si vous aviez déja installé le système X Window, exécutez les commandes suivantes :
apt-get remove xbase apt-get install xfonts-base xfonts-75dpi xfonts-100dpi xfonts-scalable
Et si vous ne voulez pas que xdm
soit lancé au démarrage
(X autostart), entrez aussi :
apt-get remove xdm
Vous pouvez lire le fichier
/usr/share/doc/xfree86-common/README.Debian-upgrade
pour de plus
amples informations sur comment mettre le système de fenêtrage à jour. C'est
intéressant pour tous les utilisateurs d'une version précédente de Debian. En
clair, vous devez lire ce document.
La configuration système des modules du noyau a changé depuis la distribution
Debian GNU/Linux 2.0. Si vous faites la mise à niveau depuis un système Debian
2.0 ou antérieur, vous devez convertir votre système avant le prochain
redémarrage. Normalement, lancer la commande update-modules force
devrait suffire ; néanmoins il est recommandé de lire la page de manuel
update-modules(8)
.
Veuillez noter que ces procédures n'ont pas mis à niveau le noyau
Linux. Vous pouvez le faire vous-même, soit en installant l'un des paquets
kernel-image-*
, soit en compilant un noyau personnalisé depuis les
sources.
Debian GNU/Linux est fourni avec un noyau 2.2.20 de la série 2.2, l'ancienne série des noyaux Linux stables. Vous pourriez avoir envie d'utiliser un noyau de la série 2.4 pour un meilleur support matériel, ou pour de meilleures performances. Démarrer sur le 3e cédérom le permettra automatiquement, mais vous pouvez installer un noyau précompilé.
apt-get install kernel-image-2.4.18-{386,586tsc,686}
Pour les plus aventuriers, il existe un moyen facile de compiler votre propre
noyau sur Debian GNU/Linux. Installez le paquet kernel-package
et
lisez la documentation dans /usr/share/doc/kernel-package
.
Appréciez votre nouveau système Debian GNU/Linux 3.0 ! ;-)
Notes de publication pour Debian GNU/Linux 3.0 (« woody »), Motorola 680x0
$Id: release-notes.fr.sgml,v 1.40 2002/10/30 01:40:29 barbier Exp $debian-doc@lists.debian.org