Mini_HOWTO Mettez � jour votre distribution Linux Greg Louis, glouis@dynamicro.on.ca v1.11, 6 Juin 1996 _________________________________________________________________ _Trucs et astuces pour mettre � jour une distribution � partir d'une autre._ _________________________________________________________________ 1. IMPORTANT !!! D�sistement de responsabilit� et propri�t� l�gale Le proc�d� pour lequel ce document essaie d'�tre un guide est par nature dangereux pour les programmes et les donn�es stock�es sur votre ordinateur. Vous utilisez une telle m�thode � vos risques et p�rils. Les �tapes d�crites dans ce document ont fonctionn� pour l'auteur ; il n'y a aucune garantie qu'elles fonctionnent chez vous, ni que vous pouvez les suivre sans d�g�ts importants pour les programmes et/ou les donn�es de votre ordinateur. Vous effectuez sous votre propre responsabilit� toutes les utilisations des informations contenues ici, et l'auteur (NdT : ou le traducteur) ne peut(vent) �tre tenu(s) pour responsable(s) en aucune fa�on, quels que soient les dommages ou les probl�mes dont vous pourriez souffrir par ces utilisations. Ce document est sous copyright 1996, Dynamicro Consulting Limited, et est distribu� suivant les termes de la GNU General Public License. Plus simplement, cela signifie que vous pouvez le copier et le modifier � volont�, mais que vous ne pouvez pas priver les autres de ces possibilit�s. Les commentaires et les questions peuvent �tre envoy�es � l'auteur. Les rapports de mises � jour de syst�mes complexes r�ussies sont particuli�rement les bienvenues, pour �tre utilis�es dans les prochaines versions. 2. Modifications depuis la version 1.1 * Ajout de cette section historique. * Ajout de la suggestion de Zolt�n Hidv�gi concernant mtime et ctime. Merci Zolt�n ! * Ajout d'une section Remerciements 3. Introduction 3.1 Comment tuer et r�incarner votre machine Linux ! Le but de ce document est d'offrir des astuces vous aidant dans la suppression et la r�installation d'un syst�me Linux. Ce n'est en aucun cas un livre de recettes parfaites, mais j'esp�re qu'il vous donnera des indications concernant ce � quoi vous devez penser et dans quel ordre vous devez faire les choses. Cela aurait �t� une aide pour moi si quelqu'un d'autre avait �crit quelque chose comme cela avant que je fasse ma premi�re mise � jour ; c'est pourquoi j'esp�re que cela sera une aide pour vous si vous avez une machine Linux � mettre � jour. Ne suivez pas tout � la lettre n�anmoins : vous pouvez avoir plus ou moins de �bouteille�. M�me les noms de r�pertoires cit�s dans ce document peuvent �tre diff�rents de ceux que vous devrez utiliser : par exemple, certains personnes utilisent /usr/home � la place de /home, d'autres l'appellent /u, et certains (petit frisson :) mettent m�me tous leurs utilisateurs directement dans /usr m�me ! Je ne peux �tre sp�cifique pour votre syst�me, donc j'ai simplement utilis� les noms tels qu'ils �taient sur le mien. Vous noterez aussi que j'utilise les distributions Slackware, et que je suppose que vous disposez de suffisamment de m�moire vive et d'espace disque pour installer les sources du noyau Linux et compiler votre propre noyau. Si votre syst�me est diff�rent, certaines de mes recommandations ne s'appliqueront pas ; mais j'esp�re que vous trouverez l'id�e g�n�rale sous-jacente utile dans votre projet de mise � jour. 3.2 Pourquoi quelqu'un voudrait-il faire cela ? Bonne question ! S'il est possible de l'�viter, ne le faites pas ! (Ceci est la plus importante recommandation de tout ce guide !!!). Mais il existe des cas o� vous devrez le faire. Par exemple, j'ai install� un disque dur de 4 Go et j'ai alors d�couvert que le cru Linux Slackware 2.0 ne savait pas g�rer un disque dur d'une taille sup�rieure � 2 Go ; j'ai alors �t� terriblement embarrass�. Donc je devais faire une mise � jour vers la Slackware 2.3. Cette mise � jour a �t� une exp�rience �puisante, et c'est en partie pour cela que j'ai �crit ces notes. J'ai quasiment tout fait de travers, et c'est seulement la chance et le fait que je poss�de une autre machine sous Linux qui m'ont sauv�s du d�sastre. Voici un autre exemple : j'ai d�couvert que je ne pouvais pas r�ussir � compiler un noyau Linux a.out qui marche dans la s�rie des 1.3 en utilisant une Slackware 2.3 directement apr�s l'installation (sur une autre machine, pas sur celle que j'ai charcut�e). J'ai retrouss� mes manches, achet� une Slackware 3.0 en cd-rom et je suis pass� en format ELF. Cette fois, la r�installation s'est mieux pass�e, en partie � cause de la premi�re exp�rience douloureuse, et cela est l'origine de la plupart des id�es que je vous propose ici. 3.3 Ai-je � �d�truire et r�installer� ? Chose �trange, cela est plus s�r. Si vous installez par dessus un syst�me Linux, il y a des chances que vous ayez un m�lange de nouveaux et d'anciens ex�cutables, d'anciens et de nouveaux fichiers de configuration, et g�n�ralement un fouillis � essayer d'organiser. Faire un nettoyage par le vide et ensuite r�installer seulement ce que vous savez n�cessaire est une m�thode violente mais efficace pour avoir un r�sultat propre. (Bien sur nous parlons ici de l'installation d'une distribution Linux compl�te et non pas de la mise � jour d'un ou deux paquetages ! La meilleure fa�on d'�viter d'avoir � faire une r�installation compl�te est pr�cis�ment de garder chaque composant -- en particulier gcc et ses biblioth�ques, et les binutils -- � jour. Si les programmes que vous utilisez sont raisonnablement � jour, et vous pouvez r�aliser ceci en r�cup�rant, et en compilant si n�cessaire, les derniers sources de temps en temps, alors il n'y a nul besoin d'une mise � jour massive.) Comme Patrick Volkerding le souligne (lui aussi recommande la proc�dure du grand nettoyage pour les mises � jour), installer ELF par dessus un syst�me bas� sur a.out engendre un d�sastre ; en tout cas, si vous en savez assez pour essayer cela, vous n'avez pas besoin de lire ce guide ! M�me sans cette complication, vous feriez mieux d'installer � partir de z�ro. 3.4 Combien de temps cela va-t-il prendre ? Cela d�pend, bien sur, de la complexit� de votre syst�me. Mais je suppose que, pour l'installation r�ussie (pour l' autre ? -- ne me le demandez pas ! :) j'ai pass� environ 10 heures � faire des sauvegardes, six heures � installer tout le syst�me jusqu'au point � partir duquel j'ai pu autoriser les connexions, et une autre demi-journ�e, ou quasiment, � restaurer les choses moins importantes. Ensuite, au fur et � mesure, j'ai bien d�couvert des petites choses qui n'�taient pas exactement comme je les voulais -- je les ai corrig�es d�s que je les rencontrais -- mais pour l'essentiel, une vingtaine d'heures devraient suffire pour r�installer un syst�me raisonnablement complexe. Peut-�tre moins si vous r�installez � partir d'un disque dur (j'ai utilis� un cd-rom) ou plus � partir de disquettes. Peut-�tre moins si vous utilisez un Pentium rapide, plus si vous utilisez un 386. Mais c'est de cet ordre de grandeur. Cette introduction est finie. Voyons maintenant comment r�aliser cela, une fois que vous avez d�cid� que cela devait �tre fait. Armez vous de courage, respirez un bon coup, et : 4. Notez tout ce que vous faites. C'est extr�mement profitable d'avoir un rapport sur tout ce que vous avez fait pour pr�parer, et r�aliser, les modifications. En particulier, la liste de toutes les sauvegardes que vous allez r�aliser durant la pr�paration de la destruction de votre syst�me actuel est tr�s importante. 5. Faites une sauvegarde compl�te du syst�me actuel. De fa�on g�n�rale, les sauvegardes sont �crites sur des m�dia � acc�s s�quentiel. Dans ce cas l�, vous ne voudrez pas utiliser cette sauvegarde compl�te pour restaurer un nombre important de fichiers ; il y a trop de fichiers dedans que vous ne souhaitez pas restaurer. Il vaut mieux cr�er des petites sauvegardes de zones que vous savez que vous restaurerez enti�rement. J'ai list� un ensemble d'exemples plus loin. Pourquoi alors devez-vous commencer par une sauvegarde totale ? Deux raisons simples : d'abord en cas d'�chec catastrophique durant l'installation du nouveau syst�me, vous aurez une solution pour retourner au point de d�part avec une peine minimale. Ensuite, quelle que soit la m�ticulosit� avec laquelle vous avez pr�par� la nouvelle installation, il y a une large probabilit� qu'un ou deux fichiers importants aient �t� oubli�s. Dans ce cas la contrainte de la restauration de ces un ou deux fichiers de la sauvegarde compl�te sera pr�f�rable � la g�ne d'une continuation sans eux. Pour �conomiser du temps et de l'espace disque, si vous avez encore le m�dium contenant la distribution de votre ancienne version de Linux, vous pouvez ne sauvegarder que les fichiers dans les mtime ou ctime sont plus r�cents que ceux de la date de son installation. 6. Sauvegardez /etc et ses sous-r�pertoires sur une ou plusieurs disquettes. Ceci est l'autre extr�mit� : vous n'allez pas restaurer ces fichiers (pour la plupart en tout cas) ; vous allez les comparer avec les nouveaux cr��s durant l'installation. Pourquoi ? Parce que les nouveaux peuvent contenir des informations que les anciens ne contenaient pas, ou exprimer ces informations de fa�ons diff�rentes. Changements de protocoles, ajout de nouveaux outils ou implantation de nouvelles fonctionnalit�s dans des outils existants peuvent engendrer des changements dans les formats des fichiers de configuration et dans ceux des scripts de lancement que la sous-arborescence /etc contient, et vous devrez s�rement editer vos anciennes donn�es contenues dans ces fichiers pour respecter les nouveaux formats et tirer avantage des am�liorations. 7. Faites des sauvegardes s�par�es pour chaque groupe de fichiers que vous souhaitez garder. Ceci est la partie la plus variable du travail, et tout ce que je peux r�ellement faire pour vous aider est de vous d�crire ce que je fais sur mon syst�me, dans l'espoir que cela vous servira comme un guide de base. Basiquement, vous devez regarder dans chaque r�pertoire qui contient : * des fichiers qui ne font pas partie de l'installation Linux standard ou * des fichiers qui sont actuellement plus r�cents que ceux que vous allez installer lorsque vous ferez votre nouvelle installation de Linux et isoler seulement ceux que vous voulez garder. (Une autre strat�gie possible est de sauvegarder tous les fichiers dont les mtime ou ctime sont plus r�cents que le jour de votre pr�c�dente installation de Linux, comme mentionn� plus haut, et ensuite de les restaurer � partir de l�. Si vous faites cela, vous devez prendre en compte le fait que la nouvelle distribution de Linux peut contenir des versions de certains fichiers qui sont plus r�centes que celles que vous avez sauvegard�es. Dans mon cas, je suis arriv� � faire un fichier .tgz sur un m�dia de sauvegarde pour chacun des �l�ments * /usr/lib/rn * /usr/lib/smail * /usr/lib/trn (le reste de /usr/lib sera r�install�) * /usr/local/src * /usr/local/bin * /usr/local/lib * /usr/local/lpfont * /usr/local/man * /usr/local/sbin * /usr/local/thot (il y avait d'autres fichiers dans /usr/local dont je n'avais pas besoin) * /usr/openwin * /usr/src/lilo-17 (car ma nouvelle Slackware avait encore une version 16) * /usr/src/linux-1.2.13 (car j'avais fait ma configuration) * /usr/X11R6/lib/X11/app-defaults * /usr/X11R6/lib/X11/initrc (le reste de XFree86 sera r�install�) * /var/named * /var/openwin * /var/texfonts Ma machine �tait relativement simple car il n'y avait aucun fichier de spool � prendre en compte. Je n'utilisais pas de spool pour les news sur cette machine, et il y avait seulement deux utilisateurs ; il �tait tr�s facile de r�cup�rer tout le courrier �lectronique lu avant l'arr�t. Sinon, les r�pertoires /var/spool auraient �t� sauvegard�s � la derni�re minute. (Et, bien sur, les r�pertoires contenant la liste de news et des serveurs !) 8. Pr�parez des disquettes root et boot pour la nouvelle installation. Des d�tails pour faire ceci peuvent �tre trouv�s dans le guide d'installation de votre nouvelle distribution. 9. Formattez des disquettes pour le noyau temporaire et l'installation finale. Vous aurez besoin de deux disquettes, une pour chaque. Lorsque tout cela est fait, vous �tes pr�ts pour le Grand Moment. L'�tape suivante met le syst�me hors service. 10. Bloquez les connexions et sauvegardez les arborescences /root et /home. Ceci est la derni�re chose � faire sur le vieux syst�me avant que vous ne l'effaciez, pour conserver la version la plus � jour des informations sur les utilisateurs et le super-utilisateur. 11. D�marrez � partir des nouvelles disquettes boot et root. 12. Effacez les partitions Linux avec fdisk et recr�ez-les. Le guide d'installation vous expliquera comment faire cela, ce qui va effacer votre ancien syst�me. A partir de maintenant, vous �tes d�pendants de la qualit� des sauvegardes que vous avez faites aux �tapes pr�c�dentes ! Vous avez �t� averti ! 13. Lancez la nouvelle installation. Il y a d�j� plusieurs bons documents d�crivant comment faire cela, donc je ne vais pas d�tailler. Reprenez ici quand le nouveau syst�me bootera � partir de son disque dur. Pendant ce processus, pensez � faire une disquette de boot, car le noyau que l'installation de Linux installe doit �tre remplac�, et des accidents peuvent survenir durant cette �tape. Pensez aussi � installer les paquetages de d�veloppement et les sources du noyau. 14. Configurez le swap. Avec le nouveau syst�me Linux d�marr� � partir du disque dur, �ditez /etc/fstab et ajoutez votre partition de swap. Ensuite lancer la commande "swapon -a". Je ne sais pas pourquoi, mais l'installation de la Slackware ne vous propose pas ceci lorsque la partition de swap existe d�j�. Donc, lorsque vous d�marrez votre nouveau syst�me et que les scripts rc.S essaient d'activer le swap, la partition ne peut �tre trouv�e dans le fichier fstab et le swap n'est pas activ�. Cette �tape corrige cela. 15. Restaurez la configuration du r�pertoire /etc et de ses sous-r�pertoires. Comme d�crit plus haut, vous ne pouvez pas juste recopier tous les vieux fichiers dans /etc et esp�rer que tout va marcher correctement apr�s. Avec certains fichiers, vous pouvez faire cela ; par exemple /etc/XF86Config (aussi longtemps que vous utilisez la m�me version de Xfree86 -- et le m�me mat�riel vid�o -- dans l'ancienne et la nouvelle installation). Pour la plus grande partie cependant, il vaut mieux utiliser diff pour comparer les anciens et les nouveaux fichiers avant de faire les copies. En particulier, surveiller les changements significatifs dans les fichiers de /etc/rc.d, qui peuvent n�cessiter de r�tablir votre ancienne configuration en �ditant � la main, plut�t que de recopier vos anciens scripts rc � partir de votre sauvegarde. Une fois que tout est fini, rebootez. 16. Configurez et recompilez le noyau Linux. M�me si vous n'avez absolument pas besoin de faire cela pour obtenir un noyau qui supporte votre mat�riel, il est important de faire cela pour avoir un noyau qui ne contienne pas des quantit�s de pilotes inutiles pour votre machine. Pour plus de d�tails, regardez le Kernel HOWTO. Installez le noyau recompil� sur une disquette d'abord ; une fois que vous avez v�rifier qu'il d�marre, ok, installez le sur le disque dur, lancez lilo si vous l'utilisez, et red�marrez. 17. Restaurez le contenu des sauvegardes faites pr�c�demment. Certains ex�cutables peuvent n�cessiter d'�tre r�install�s � partir des r�pertoires des sources ; j'ai eu � faire cela pour lilo par exemple, car ma version �tait plus r�cente que celle de l'installation de la Slackware et que je ne m'�tais pas pr�occup� de sauvegarder l'ex�cutable plac� dans /sbin. Vous devrez v�rifier les programmes restaur�s et confirmer l'existence et l'exactitude des fichiers de configuration, des biblioth�ques, etc. Dans certains cas, vous pourrez avoir � restaurer des choses dans un ordre pr�cis ; vous aviez pris des notes pendant la sauvegarde, n'est-ce pas ? ;-) 18. Revoyez la s�curit�. V�rifier les permissions sur les fichiers et les r�pertoires pour �tre sur que l'acc�s n'est ni trop restrictif ni trop libre. Je trouve que la Slackware laisse un environnement trop ouvert � mon gout, donc je me prom�ne en changeant les 755 en 711 pour les ex�cutables dans les r�pertoires bin/ et autres choses du genre. Ou m�me en 700 pour ceux des r�pertoires sbin/. Une attention particuli�re est n�cessaire si vous avez un serveur FTP ; mais vous y avez alors probablement d�j� pens�. :) 19. Autorisez les connexions. �a tourne et �a fonctionne. Pendant un petit moment, il y aura probablement des d�tails � r�gler, mais le gros du travail est fait. R�jouissez-vous ! 20. D�sol�, mais une fois encore : _VOUS UTILISEZ CES INFORMATIONS � VOS RISQUES ET P�RILS ! _ (Voir le d�sistement de responsabilit� au d�but du document.) 21. Remerciements Je remercie Zolt�n Hidv�gi pour sa contribution au contenu de ce mini-HOWTO. 22. Traduction Ce document a �t� traduit par Beno�t Sibaud (pas d'adresse fixe, cherchez dans les news). NdT : N'h�sitez pas � user et � abuser des HOWTO et Mini-HOWTO, ils sont l� pour �a. Certaines parties de ce document sont d�crites en d�tails dans d'autres HOWTO et Mini-HOWTO.