Outils pour utilisateurs

Outils du site


issue66:tutoriel_-_do_painless_reinstall

Intro

Titre : Do Painless Reinstalls In this article I want to explain how, with a little preparation and planning, you can reliably and painlessly perform complete system reinstalls while, at the same time, retaining all of your data, apps and settings in the process. In the past, I have had problems when doing in-place upgrades… it seems that something always got broken in the process, and I ended up having to go the reinstall route anyway. Plus, I like the idea of everything being fresh and clean. With a fresh install, your hard drive is wiped clean and it's as if your drive has been defragged. Also, it gives me a chance to do some housecleaning by eliminating apps that I no longer want or use. Therefore, I have made the decision to forgo in-place upgrades, and just go for the reinstall from the get go. To this end I have developed a process that allows me to do this relatively painlessly.

Des réinstallations indolores

Dans cet article, je veux expliquer comment, avec un peu de préparation et de planification, vous pouvez faire des réinstallations de votre système entier, de manière fiable et sans douleur, tout en conservant vos réglages, données et applications sans aucune perte.

Par le passé, j'ai eu des problèmes lorsque j'ai fait des mises à niveau in situ… il est probable que quelque chose a toujours été cassé pendant le processus et, de toute façon, j'ai fini par devoir faire une réinstallation complète. En outre, j'aime l'idée que tout est nouveau, frais et propre. Avec une installation nouvelle, le disque dur est totalement nettoyé et c'est comme s'il avait été défragmenté. Et puis, cela me donne l'occasion de faire le ménage en éliminant les applications dont je n'ai plus l'utilité. C'est pourquoi j'ai décidé d'abandonner des mises à niveau in situ et faire une réinstallation dès le départ. Dans ce but, j'ai développé un processus que me permet de le faire presque sans douleur.

The methods and processes that I use certainly did not originate with me. The great thing about this community – of which we are a part – is that there are so many tremendously talented and intelligent people who are willing to share their expertise with us common folk. We just have to recognize our need, research the available solutions, select the solutions that fit our requirements, maybe adapt them to our situation, and then implement them. Sure, this involves some work on our part, but the real work has already been done by those talented and intelligent people I mentioned, and we get to reap the benefits of their work. Every six months a new version of *buntu comes out, and you are faced with making a choice about what to do. First of all: do you even want to upgrade to this version? Maybe you have the current version tweaked pretty much to your liking, and everything is running great, so, maybe you don't really need the new version. However, unless your system is a single-application machine that just runs and runs and never needs an update, then you know that this is not a viable option. Maybe you can skip an upgrade, or two, but eventually you will have to upgrade.

Il est évident que je n'ai pas créé les méthodes et les processus que j'utilise ici. Ce que notre communauté - et, encore une fois, nous en faisons partie - a de formidable est qu'il y a tant d'individus extrêmement talentueux et intelligents qui veulent bien partager leur expertise avec des gens du peuple comme nous. Il nous suffit de cerner nos besoins, rechercher les solutions disponibles, sélectionner les solutions qui répondent à nos exigences, les adapter à notre situation, le cas échéant, puis les implémenter. Bien sûr, cela implique du travail, mais le vrai travail a déjà été fait par les individus talentueux et intelligents déjà mentionnés et ils nous donnent, à nous, la possibilité de bénéficier de ce travail.

Une nouvelle version de *buntu sort tous les six mois et vous êtes alors obligé de choisir ce qu'il convient de faire. Tout d'abord, avez-vous vraiment envie de mettre à niveau vers cette version ? Vous avez peut-être fignolé la version actuelle et elle correspond presque totalement à vos désirs, tout se passe très bien et vous n'avez donc peut-être pas besoin de la nouvelle version. Cependant, à moins que votre système ne soit une machine sur laquelle tourne une seule application encore et toujours et qu'elle n'ait pas besoin de mises à jour, vous savez très bien que rester avec une vieille version n'est pas une option viable. Vous pouvez éventuellement sauter une ou deux mises à niveau, mais, à la longue vous serez obligé d'en faire une.

On the other hand, the new version may have some fixes and enhancements that you have been looking forward to, so you definitely do want to upgrade your system. If you do decide to upgrade, now you are faced with another decision: do you do an in-place upgrade of the current version, or a fresh install? When you weigh the pros and cons of these two options, you come up with something like this: Upgrade Pros: • simple and quick (if all goes well) • existing personal files and folders remain intact • existing programs and settings remain intact Upgrade Cons: • doesn't always work properly • old obsolete apps keep getting carried over (bloat) Fresh Install Pros: • everything is nice and fresh and clean • install only the apps you want/use • avoids potential upgrade problems Fresh Install Cons: • all apps and personal data must be reinstalled/restored • more time-consuming

Par ailleurs, la nouvelle version peut proposer des corrections et des améliorations que vous attendez avec impatience, ce qui fait que vous voulez sans aucun doute mettre votre système à niveau. Si vous décidez, en effet, de faire une mise à niveau, vous vous trouvez face à une autre décision : faites-vous une mise à niveau in situ ou une nouvelle installation ? Lorsque vous comparez les avantages et les inconvénients de ces deux options, vous arrivez à quelque chose comme ceci :

Avantages d'une mise à niveau : * simple et rapide (si tout se passe bien) ; * les fichiers et les dossiers personnels existants sont préservés ; * les programmes et les paramètres existants sont préservés.

Inconvénients d'une mise à niveau : * cela peut se passer mal ; * de vieilles applis obsolètes sont reportées à l'infini (volumineux).

Avantages d'une nouvelle installation : * tout est comme il faut, frais et propre ; * vous n'installez que les applis souhaitées ; * évite les problèmes éventuels d'une mise à niveau.

Inconvénients d'une nouvelle installation : * toutes les applis et toutes les données personnelles doivent être réinstallées/restaurées ; * cela prend beaucoup plus de temps.

As I mentioned above, I have already made the decision to just always go for the fresh install, and, if they are honest with themselves, I think most people would really prefer a fresh install. But, then you fire up the live CD, and select the option to Erase Ubuntu 11.10 and reinstall, and you see the dire warning that says: This will delete all your Ubuntu 11.10 programs, documents, photos, music, and any other files, and your mind screams NO!!!, I don't want to delete all my stuff! So, how do you get past this mental roadblock? The answer, of course, is reliable backups and a safe, consistent method of getting all your stuff (applications, data and settings) back to the way it was before the reinstall.

Comme indiqué ci-dessus, j'ai déjà décidé de toujours opter pour une nouvelle installation et, s'ils sont honnêtes envers eux-mêmes, je pense que la plupart des gens préféreraient sans conteste une nouvelle installation. Mais alors, vous mettez le live CD et sélectionnez l'option Supprimer Ubuntu 11.10 et faire une réinstallation, vous voyez alors un avertissement des plus inquiétants vous disant : Ceci supprimera tout Ubuntu 11.10 : vos programmes, documents, photos, musique et autres fichiers et votre cerveau hurle NON !!!, je ne veux pas supprimer tous mes trucs !

Bien. Comment passer outre cet obstacle mental ? La réponse est, bien entendu, des sauvegardes fiables et une méthode sûre et régulière pour récupérer tous vos trucs (applications, données et paramètres) et pour restaurer votre système comme il était avant la réinstallation.

Les Sauvegardes

BACKUPS The first key to the process is having reliable backups. Now, I do not intend for this to be a tutorial on how to make reliable backups; an Internet search will provide you with any number of methods and strategies to accomplish this. You must decide for yourself what works best for you and what you are comfortable with. If, however, you have been looking for a good backup process I would like to direct you to this excellent article by Mike Rubel: http://www.mikerubel.org/computers/rsync_snapshots/ Mike Rubel's article describes a backup method using rsync that also keeps multiple copies of the backup so you can go back three or four (or more) versions. I am not going to go into a complete description of Mike's methodology; you really need to read and study his article to fully grasp the concept.

SAUVEGARDES

Le premier élément clé du processus est une sauvegarde fiable. Je n'ai pas l'intention d'écrire un tutoriel sur comment faire des sauvegardes fiables ; une recherche sur le Net vous donnera de nombreuses méthodes et stratégies pour ce faire. C'est à vous de décider ce qui fonctionne le mieux pour vous et ce qui vous met le plus à l'aise.

Cependant, si vous cherchez un bon processus de sauvegarde, j'aimerais vous diriger vers cet excellent article de Mike Rubel : http://www.mikerubel.org/computers/rsync_snapshots/

L'article de Mike Rubel présente une méthode de sauvegarde avec rsync qui garde de multiples copies de la sauvegarde afin de vous permettre de remonter dans trois ou quatre (ou plus) versions; je ne vais pas décrire la méthodologie de Mike en long et en large ; vous devez vraiment lire, et même étudier son article avant d'appréhender à fond son contenu.

But, let me give you a quick overview. Rsync is a very efficient *nix utility for keeping the files in a destination location synchronized with the files in a source location. As with all such utilities, it has a whole bunch of options and settings. Suffice to say, for our purposes, it has the ability to maintain all of the file properties (timestamps, owner, group, permissions, etc). If a source file is modified, it will be synced to the destination; if a source file is deleted, it will be deleted from the destination. And, of course, if a new source file is created, it will be synced to the destination. But, if a source file is the same as the destination file, no action is taken, they are already in sync. In a very real sense, once the initial rsync is done, all subsequent rsyncs are just incremental and you can then rsync your entire file system in a matter of minutes.

Cela étant dit, permettez-moi de vous en donner un bref aperçu. Rsync est un utilitaire très efficace *nix ; il garde synchronisés des fichiers dans un emplacement destinataire avec les fichiers dans un emplacement source. Comme c'est le cas de ce type d'utilitaire, il a des tonnes d'options et de paramètres. Pour ce qui nous concerne, il suffit de dire qu'il a la capacité de préserver toutes les propriétés du fichier (horodatage, propriétaire, groupe, permissions, etc.). Si un fichier source est modifié, il sera synchronisé à la destination ; si un fichier source est supprimé, il sera supprimé de la destination. Et, bien entendu, si un nouveau fichier source est créé, il sera synchronisé à la destination. Toutefois, si un fichier source est pareil au fichier destination, il n'y aura pas de synchronisation, car ils sont déjà synchronisés. Une fois le « rsync » initial fait, tous les « rsyncs » qui suivent ne sont qu'incrémentaux, ce qui veut dire que vous pouvez alors « rsync » votre système de fichiers entier en quelques minutes.

Now we come to the real beauty of Mike Rubel's method: the way it makes multiple copies of the backup without consuming tons of disk space. Before going into that, though, we need just a brief explanation about hard links to files. If you have a file, file1, in directory dir1, that file name is not the actual file; file1 is a hard link pointing to some location on your hard drive where the actual file is stored. Using your GUI file manager, if you select file1 and do a ctrl-c (copy), then ctrl-v (paste) in another directory, dir2, and give it the same name, file1, what you have just done is told the file manager to go to the disk location pointed to by file1, copy that information and duplicate it in a new location, and use a new name, dir2/file1, as a link/pointer to this new location.

Et maintenant pour le véritable mérite de la méthode de Mike Ruble : sa façon de faire des copies multiples de la sauvegarde sans utiliser des tonnes d'espace disque. Avant d'approfondir cette idée cependant, nous avons besoin d'une brève explication d'un lien matériel vers un fichier. Supposons que vous ayez un fichier, fichier1, dans un répertoire rep1, le nom du fichier n'est pas le fichier même : fichier1 est un lien matériel vers un emplacement sur votre disque dur où le véritable fichier est stocké. En utilisant votre gestionnaire de fichiers avec une interface graphique, si vous sélectionnez fichier1 et faites un ctrl-c (copier), puis un ctrl-v (coller) dans un autre répertoire, rep2, et lui donnez le même nom, fichier1, alors ce que vous venez de faire, c'est de dire au gestionnaire de fichiers d'aller à l'emplacement disque indiqué par fichier1, de copier cette information, de la dupliquer dans un nouvel emplacement et d'utiliser un nouveau nom, rep2/fichier1 comme lien vers ce nouvel emplacement.

However, if you use the command line: cp -al dir1/file1 dir2/file1 This is telling the system to create a new filename, dir2/file1, but have it point to the same disk location as dir1/file1. While it appears that there are now two files, in reality, there are simply two filenames that both point to the same information on the disk. And this is how Mike Rubel's script creates multiple copies of the backup without using gobs of disk space. For example: let's say our main destination is called dest-1, and we have just rsynced our entire local file system to dest-1. Dest-1 now is an exact replica of our current local file system. The next time we do an rsync, the script will first execute the command: cp -al dest-1 dest-2

Si, cependant, vous utilisez la ligne de commande :

cp -al dir1/file1 dir2/file1

cette commande demande au système de créer un nouveau nom de fichier, rep2,Fichier1, et de faire en sorte qu'il pointe vers le même emplacement disque que rep1/fichier1. Alors qu'il semble y avoir deux fichiers maintenant, en réalité, il n'y a que deux noms de fichiers qui, tous les deux, pointent vers la même information sur le disque. Et c'est comme cela que le script de Mike Rubel crée de multiples copies de la sauvegarde sans utiliser des tonnes d'espace disque.

Par exemple : disons que notre destination principale s'appelle dest-1 et nous venons de faire un rsync de notre système de fichiers local en entier vers dest-1. Maintenant, dest-1 est une réplique identique à notre système de fichiers local actuel. La prochaine fois que nous ferons un rsync, le script exécutera d'abord la commande :

cp -al dest-1 dest-2

As a result, dest-2 (our “backup” of dest-1) will have hard links to the same disk locations as dest-1. We now apparently have two complete copies of the backup without taking up any more disk space than the original used. This not only saves a tremendous amount of disk space, it is much quicker too. At this point, the files in dest-1 and dest-2 are identical. You can access a file in either location and you will actually be accessing the same file because the file names in both locations are just links/pointers to the same file. Any modifications that you make to a file in one location will appear when you open the same file in the other location. You may wonder what happens then when the next rsync encounters a source file that is modified or deleted. If we modify file1 on our system, and then rsync those changes to dest-1, aren't those changes also going to appear in the hard linked file that is in dest-2? Not to worry. Rsync will UNlink the dest-1 file before overwriting or deleting it. Now, the dest-2 location still contains a link/pointer to the original file and dest-1 now contains a link/pointer to the new file.

Par conséquent, dest-2 (la « sauvegarde » de dest-1) aura des liens matériels vers les mêmes emplacements disque que dest-1. Apparemment nous avons maintenant deux copies entières de la sauvegarde sans utiliser plus d'espace disque que l'original. Ceci non seulement gagne beaucoup d'espace disque, mais est beaucoup plus rapide aussi. À ce stade, les fichiers en dest-1 et ceux en dest-2 sont identique. Vous pouvez accéder à un fichier dans ou l'un ou l'autre des emplacements et vous accéderez en réalité au même fichier car les noms du fichiers dans les deux emplacements ne sont que des liens/pointeurs vers le même fichier. Toutes les modifications que vous ferez à un fichier dans un emplacement apparaîtront quand vous ouvrirez le même fichier dans l'autre emplacement.

Vous pouvez vous demander ce qui arrive quand la prochaine synchronisation avec rsync rencontre un fichier source qui a été modifié ou supprimé. Si nous modifions fichier1 sur notre système, puis faisons un rsync de ces modifications vers dest-1, ces modifications apparaîtront aussi dans le fichier (via le lien matériel) qui est dans dest-2, non ? Ne vous inquiétez pas. Rsync supprimera le lien du fichier dest-1 avant de l'écraser ou de supprimer celui-ci. Maintenant, l'emplacement dest-2 contient toujours un lien/pointeur vers le fichier original et dest-1 contient un lien/pointeur vers le nouveau fichier.

That brings up another point about Mike Rubel's system that is different from the way most folks traditionally think of full and incremental backups and may appear, at first, to be somewhat counterintuitive. Traditionally, you would do a weekly full backup and daily incrementals. If you needed to do a restore, you would first have to restore the last full backup and then restore each incremental backup in sequence, in order to ensure that all files are restored to the latest version. Not so with Mike Rubel's system. You always, always, always rsync to dest-1. Dest-1 is always the full backup and it's always up-to-date. No more incremental restores! Dest-2, dest-3, dest-4, etc, will contain links/pointers to any files prior to when they were either modified or deleted and, additionally, they will also still contain links/pointers to the files that have not been modified or deleted. So, in essence, dest-2, dest-3, dest-4, etc, are each a complete snapshot of the entire file system as of the time that they were originally created. It's pretty cool and, once you grasp the concept, it just makes perfect sense.

Cela soulève un autre point au sujet du système de Mike Rubel qui est différent de ce que la plupart des gens pensent traditionnellement des sauvegardes entières et incrémentales et peut paraître, de prime abord, quelque peu contre-intuitif. Traditionnellement, vous feriez une sauvegarde hebdomadaire complète et des sauvegardes incrémentales quotidiennes. Si vous aviez besoin de faire une restauration, vous auriez besoin de restaurer d'abord, la dernière sauvegarde complète, puis de restaurer chaque sauvegarde incrémentale de façon séquentielle, afin de vous assurer que tous les fichiers soient restaurés à leur version la plus récente. Ce n'est pas le cas avec le système de Mike Rubel. Là vous faites toujours, toujours, toujours votre rsync à dest-1. Dest-1 est toujours la sauvegarde complète et est toujours à jour. Plus de restaurations incrémentales ! Dest-2, dest-3, dest-4, etc., contiendront des liens/pointeurs à tout fichier avant soit sa modification, soit sa suppression et, en plus, ils contiendront toujours aussi des liens/pointeurs vers les fichiers qui n'ont pas été modifiés ou supprimés. Ainsi, fondamentalement, dest-2, dest-3, dest-4, etc., sont chacun une photo complète du système de fichiers entier au moment de leur création. C'est très chouette et, une fois que vous aurez compris le concept, cela semblera tout à fait logique.

Les applications

APPLICATIONS As mentioned; the second key ingredient is a safe and consistent method of restoring all your apps and settings. One of the absolutely awesome things about *buntu is the package management system for installing apps. I know, I know; *buntu is not the only Linux distro that uses a package manager, but I get excited about it when I think of the environment that I escaped from several years ago. Yeah, you know the one I'm talking about, the one with registry settings, dynamic linked libraries that are always stepping on each other, frequent crashes and reboots, and where a package management system and an official package repository are completely foreign concepts. To be sure, there are Linux purists who insist on compiling all their apps from source code, but, the package manager has made life in *buntu land simple, quick, and easy for the rest of us.

Comme déjà mentionné, le deuxième ingrédient capital est une méthode sûre et uniforme pour la restauration de toutes vos applis et vos paramètres.

Sans conteste, l'une des choses merveilleuses dans *buntu est le système de gestion des paquets pour l'installation des applis. Je sais, je sais ; *buntu n'est pas la seule distrib. Linux qui utilise un gestionnaire de paquets, mais cela m'enthousiasme d'autant plus quand je pense à l'environnement dont je me suis échappé il y a plusieurs années. Ouais, vous savez de quoi il s'agit, celui avec des réglages de registre, des bibliothèques de liens dynamiques (DLL) qui envahissent le territoire les uns des autres, des plantages et redémarrages fréquents et où un système de gestion de paquets et un dépôt officiel des paquets sont des concepts parfaitement inconnus. Bien sûr, il y a des puristes Linux qui veulent absolument compiler toutes leurs applis à partir du code source, mais le gestionnaire de paquets a rendu la vie dans le pays de *buntu, simple, rapide et facile pour nous autres.

Many, if not most, folks are content to simply use the GUI tools for installing apps (Software Center or Synaptic Package Manager), but the real power and flexibility is in using the command line (apt-get). I confess to using the GUI myself to browse or search for apps, but then I always use the command line to actually install them. The reason I install with the command line is because I want to make sure I have the package name spelled correctly because, when a new package is installed, I immediately add the package name to my “list.” My list contains all the apps that I currently have installed above and beyond the apps that are included as part of the distro. It's not just a list though, it is in the form of an apt-get command line. As you may know, the apt-get command can be used to install multiple apps in one fell swoop. Here is what my list looks like: sudo apt-get install asunder apache2 audacity bum calibre dconf-tools devede dvdrip easytag filelight fldiff gconf-editor geany geany-plugin-macro gftp gimp gnome-rdp gnucash growisofs imagemagick imagination keepassx lame libgtk2.0-dev libmysql-java libreoffice lsb mysql-server mysql-workbench nfs-common ntfsprogs openssh-server openssh-client pdfedit php5 phpmyadmin psutils putty shutter vinagre winff xsane

La plupart des gens, sinon la presque totalité, sont contents d'utiliser tout simplement les outils avec interface graphique pour installer leurs applis (la Logithèque ou Synaptic), mais la véritable puissance et la flexibilité se trouvent dans la ligne de commande (apt-get). J'avoue que j'utilise moi-même une interface graphique pour parcourir les applis ou pour en chercher, mais ensuite j'utilise la ligne de commande pour les installer. J'utilise la ligne de commande parce que je veux être certain d'orthographier le nom du paquet correctement, car, lorsqu'un nouveau paquet est installé j'ajoute tout de suite son nom à ma « liste ». Cette liste contient toutes les applis qui sont actuellement installées au-delà de celles qui sont comprises dans la distrib. Ce n'est pas qu'une liste, cependant, car c'est dans le format d'une ligne de commande apt-get. Comme vous le savez, peut-être, vous pouvez utiliser la commande apt-get pour installer de multiples applications d'un seul coup. Voici à quoi ressemble ma liste :

sudo apt-get install asunder apache2 audacity bum calibre dconf-tools devede dvdrip easytag filelight fldiff gconf-editor geany geany-plugin-macro gftp gimp gnome-rdp gnucash growisofs imagemagick imagination keepassx lame libgtk2.0-dev libmysql-java libreoffice lsb mysql-server mysql-workbench nfs-common ntfsprogs openssh-server openssh-client pdfedit php5 phpmyadmin psutils putty shutter vinagre winff xsane

Sometimes, there are glitches with this method; if I'm switching from one *buntu to another, I may find that I am missing an important app because it used to be part of the distro in the previous version but it is not part of the distro in the new version. No problem… I just sudo apt-get install it, and then add it to my list. Sometimes, though, a package gets dropped from the official package repository. In this case, I have to either find an alternative app, or find someone who has a PPA for the app. In spite of the occasional minor glitch, though, this method will generally get all of your apps back. But… it takes personal discipline to keep your list up-to-date whenever you add or remove apps on your system. I should also note that the file where I keep my list is where I also make notes about special cases. For example: if I need to install an app from a PPA, as mentioned above, I will have the command lines in this file so that, later, all I have to do is cut and paste them in a terminal session.

Parfois, il peut y avoir des problèmes avec cette méthode ; si je change de distrib. *buntu, je peux constater qu'une application importante me manque parce qu'elle faisait partie de la distrib. de la version précédente, mais ne paraît plus dans la nouvelle version. Pas de soucis… Je fais tout simplement apt-get install l'appli et je la rajoute à ma liste. Toutefois, il arrive, parfois, qu'un paquet n'apparaît plus dans les dépôts officiels. Dans ce cas, je dois trouver soit une appli alternative, soit quelqu'un qui maintient une PPA pour l'appli.

Malgré des problèmes mineurs occasionnels, cette méthode récupérera généralement la totalité de vos applications. mais… il faut de la discipline personnelle pour maintenir la liste à jour chaque fois que vous ajoutez ou enlevez des applications sur votre ordinateur.

Je dois aussi vous faire remarquer que le fichier où je garde la liste est aussi celui où je fais des notes sur des cas spéciaux. Par exemple : si j'ai besoin d'installer une appli à partir d'une PPA, comme mentionné ci-dessus, j'aurai les lignes de commande dans ce fichier à fin de pouvoir les couper et les coller dans une session du terminal ultérieure.

Un raccourci

A SHORTCUT However, it is possible to completely eliminate having to restore your data and application settings in situations where you are simply upgrading or refreshing your system. This is a HUGE time saving because your data is usually far and away the biggest slice of your disk space, so restoring it from backup takes a long time. The way you eliminate having to restore it is by NOT deleting it during the system reinstall. And the way you accomplish this is by partitioning your hard drive so that the /home directory is on a separate partition. If you are performing a disaster recovery or migrating to a new hard drive or computer, then you will, of course, still have to do a full restore, as explained later.

UN RACCOURCI

Il est néanmoins possible d'éliminer totalement la nécessité de restaurer vos données et paramètres lorsque vous ne faites qu'une mise à niveau ou un rafraîchissement de votre système. C'est un ÉNORME gain de temps, parce que vos données occupent généralement la majeure partie de votre espace disque et leur restauration à partir d'une sauvegarde prend beaucoup de temps. La façon de ne pas avoir à les restaurer c'est de ne PAS les supprimer pendant la réinstallation du système. Et la façon de le faire est de partitionner votre disque dur pour que votre répertoire /home soit sur une partition distincte.

Si vous faites une restauration d'urgence après une catastrophe ou si vous changez de disque dur ou d'ordinateur, alors vous devrez, bien entendu, faire une restauration complète (voir ci-dessous).

Many folks, when doing a reinstall as opposed to an in-place upgrade, simply tell the *buntu installer to use their entire hard drive for the installation. It's the easy way, and does have the advantage of not forcing you to decide how you want to partition your hard drive or how big each partition should be, etc. Designating too much space for a partition means that there will be unused, wasted, space that might be needed by another partition. On the other hand, if you don't designate enough space for a partition, especially the root partition, you may run out of space and might even crash the system. If you want to establish a starting point for your partition sizes, use a disk space analyzer such as Filelight to see how much your current /home directory is using. Use the df command to see how much total space you are using. The difference is how much space everything else is using. Add a comfortable margin to this and use this as the root partition size. You also need a swap partition equal to the amount of physical RAM you have in your computer. Use the remaining space for /home.

Lorsqu'ils font une réinstallation et non pas une mise à niveau in situ, beaucoup de gens demandent à l'installeur *buntu d'utiliser simplement le disque dur en entier pour l'installation. C'est la solution de facilité qui a l'avantage de ne pas vous obliger à décider comment vous voudrez partitionner votre disque sur ou la taille de chaque partition, etc. Si vous choisissez trop d'espace pour une partition, il y aura de l'espace inutilisé, donc gaspillé, qui pourrait servir dans une autre partition. Par ailleurs, si vous ne choisissez pas assez d'espace pour une partition, surtout pour la partition racine, l'espace commencera éventuellement à vous manquer et le système pourrait se planter complètement.

Pour définir un point de départ pour la taille des partitions, utilisez un analyseur d'espace disque comme Filelight pour voir la quantité d'espace utilisée par votre répertoire /home actuel. Utilisez la commande df pour voir combien d'espace vous utilisez en tout. La différence entre les deux équivaut à combien d'espace tout le reste utilise. Ajoutez-y une marge confortable et utilisez ceci comme taille de la partition racine. Vous aurez également besoin d'une partition swap de la taille de la quantité de RAM physique présente dans l'ordinateur. Utilisez le reste pour votre partition /home.

The following will help illustrate this. Note that I am using VirtualBox running on my laptop so that I can get screenshots of some of these steps. The partition sizes shown are not meant to be recommendations. I am using a relatively small 16 GB virtual disk, and simply split it into three partitions to use for this illustration. Select the Something else option when asked about which installation type you want. This will allow you to create separate partitions for root, swap, and /home. If you currently have everything on a single partition then the next screen is where you will add your partitions. Highlight the device, /dev/sda, and click Add… In the next screen specify the file system type and select / as the mount point for root. Add another partition for swap. Then add another partition and select /home for the mount point Now your Installation Type screen looks something like the one shown below left. Since this was a single partition disk that we are splitting into three partitions, both the / and the /home partitions will be formatted, as indicated by the check marks. Continue with the rest of the installation. Because this is the first time you have split your drive into multiple partitions, you will be required to fully restore everything to your /home partition because it has been newly formatted.

En voici une illustration qui devrait aider. Il faut savoir que j'utilise VirtualBox sur mon portable pour me permettre de faire une capture d'écran de quelques-unes des étapes. Il ne faut pas prendre la taille des partitions pour des recommandations. Je me sers d'un disque virtuel de 16 Go qui est plutôt petit et je l'ai tout simplement divisé en trois partitions pour les besoins de cette illustration.

Sélectionnez l'option « Something else » (Autre chose) à la demande du type d'installation souhaité. Cela vous permettra de créer des partitions distinctes pour la racine, le swap et votre dossier /home.

Si, actuellement, tout est sur une seule partition, alors c'est à l'écran suivant que vous ajouterez vos partitions.

Surlignez le dispositif /dev/sda et cliquez sur « Add » (Ajouter)… À l'écran suivant spécifiez le type de système de fichiers et sélectionnez / comme le point de montage pour la partition racine. Ajoutez une deuxième partition pour le swap. Puis ajoutez une autre partition et choisissez /home pour le point de montage.

Maintenant votre écran Installation Type ressemble à celui montré ci-dessous à gauche.

Puisqu'il s'agissait d'un disque à une seule partition que nous divisons en trois partitions, la partition / et la partition /home seront formatées, comme indiqué par les cases cochées.

Poursuivez l'installation. Étant donné que c'est la première fois que vous divisez votre disque en plusieurs partitions, vous allez devoir restaurer votre partition /home complètement, car elle vient d'être formatée.

But, in the future, when you get to this step, here is what your Installation Type screen will look like the one shown below right. It has found all your partitions that were set up previously, but the installer does not know what you want to do with them until you give it specific instructions. Select the partition that you had originally set up as the / (root) partition, /dev/sda1 in my case, and click change… Here you will have to tell it, again, what kind of file system to put on the partition and where you want it mounted. Also, make sure the format box is checked. Then select the partition that you had originally set up for /home. Specify the type of file system and the mount point, but MAKE SURE THAT THE FORMAT BOX IS UN-CHECKED. Now continue with the reinstallation. Because this time we did NOT format the /home partition, all of our data and application settings remain intact, giving us most of the advantages of doing an in-place upgrade since none of our /home stuff has to be restored from backup.

Mais à l'avenir, quand vous arriverez à cette étape, votre écran Installation Type ressemblera à celui ci-dessous à droite.

Il a trouvé toutes les partitions créées précédemment, mais l'installeur ne sait pas ce que vous voulez en faire jusqu'à ce que vous lui donniez des instructions précises.

Sélectionnez la partition que vous avez paramétrée au départ comme la partition / (racine), /dev/sda1 dans mon cas, et cliquez sur « change »… Ici vous aurez à lui dire, à nouveau, le type de système de fichiers à mettre sur la partition et le point de montage. Aussi, il faut vous assurer que la case « format » soit cochée.

Ensuite, sélectionnez la partition que vous avez paramétrée au départ comme la partition /home. Précisez le type de système de fichiers et le point de montage, mais ASSUREZ-VOUS QUE LA CASE « FORMAT » NE SOIT PAS COCHÉE.

Poursuivez la réinstallation. Parce que, cette fois-ci, nous n'avons PAS formaté la partition /home, toutes nos données et les paramètres de nos applications restent intactes, ce qui nous donne la plupart des avantages d'une mise à niveau in situ puisque nous n'étions pas obligés de faire une restauration de /home à partir d'une sauvegarde.

Le processus

THE PROCESS Okay, let's assume that you have been faithful in your backups and in keeping your “list” up-to-date, and it is now time to reinstall your system, whether it be an upgrade to a new version, or a new distro, or a disaster recovery, or you simply want to refresh your system. Here is the process: Make a note of your computer name – generally, you will want the new system to have the same name as the old system. However, changing the computer name should not cause any problems. Usually, you can just open a terminal and the computer name will be displayed at the command prompt. Mine looks like the image shown above right. So, Lubuntu-D620 is my computer name. As you can see, I am running Lubuntu on a Dell D620. The D620 is not the most up-to-date hardware and I was looking for something “lighter” than Ubuntu, and have settled on Lubuntu… for now. If you normally use a wireless network connection, you might want to instead use a wired network connection for the install. In my case at least, the wireless always gets broken when I reinstall because the Broadcom drivers are not included in the distro. You will probably need a network connection before your installation is complete, so don't take a chance, just plug it in now.

LE PROCESSUS

OK, supposons que vous ayez religieusement fait des sauvegardes, gardé votre « liste » à jour et que le moment soit venu de réinstaller votre système, que ce soit une mise à niveau vers une nouvelle version ou une nouvelle distrib., ou une restauration d'urgence ou que vous vouliez tout simplement rafraîchir votre système. Voici le processus :

Notez le nom de votre ordinateur - en général, vous voudrez que le nouveau système aie le même nom que l'ancien. Cependant, une modification du nom de l'ordinateur ne devrait pas poser de problème. D'habitude il suffit d'ouvrir un terminal et le nom de l'ordinateur apparaîtra à l'invite de commande. Le mien ressemble à l'image ci-dessus à droite.

Bon, le nom de mon ordinateur est Lubuntu-D620. Comme vous pouvez le voir, mon Dell D620 tourne sous Lubuntu. Le D620 est loin d'être à la pointe de la technologie et je cherchais quelque chose de plus « léger » que Ubuntu. J'ai opté pour Lubuntu… pour le moment.

Si vous avez l'habitude d'utiliser une connexion réseau sans fil, vous pourriez vouloir utiliser à la place une connexion réseau câblée pour l'installation. Dans mon cas, notamment, le sans-fil se casse toujours quand je fais une réinstallation parce que les pilotes Broadcom ne sont pas inclus dans la distrib. Vous aurez sans doute une connexion réseau avant la fin de votre installation, alors ne tentez pas le diable, branchez le câble maintenant.

Pop the live CD in, and reboot from the CD, and select the ‘Something else’ option described above to either set up your partitions, or to format just the root partition while leaving the /home partition intact. Here is where you will have to enter your computer name and your username. You definitely want to use the same username that you had in the old system so that the installation will use your existing home directory rather than creating a new user directory in /home, and so that the permissions for all your data remain intact. Let it run, and reboot when complete. After the reboot, run Update Manager to get all the updates and patches for your new install. If necessary, restore your home directory from the backup. You need to do this step only if you are migrating to a new hard drive or to a new computer, or performing a disaster recovery. If you are simply reinstalling the operating system, and have your drive partitioned as explained above, then all of your data and application settings are still in your /home partition, and you do NOT need to restore anything. In either case, whether you restore your home directory or use the existing /home partition, your home directory will contain all the hidden files that have the configuration settings for all your apps. In my case there are also some other files that I restore outside of my home directory: /var/www (for my local web sites), and /lib/firmware/b43 (for my wireless). I have another rsync script that I run to restore all these things at once.

Insérez le live CD, redémarrez à partir du CD et sélectionnez l'option « Something else » décrite ci-dessus soit pour configurer vos partitions, soit pour formater uniquement la partition root en laissant la partition /home telle quelle. C'est ici qu'il faudra donner le nom de votre ordinateur et votre nom d'utilisateur. Il faut impérativement utiliser le même nom d'utilisateur qu'il y avait dans l'ancien système pour que l'installation utilise le répertoire /home existant au lieu de créer un nouveau répertoire personnel dans /home et pour garder les permissions afférentes à vos données intactes aussi. Laissez-la s'exécuter et redémarrez quand l'installation sera terminée.

Après avoir redémarré, lancez le gestionnaire de mises à jour pour récupérer toutes les mises à jour et les patches pour votre nouvelle installation.

Si nécessaire, restaurez votre répertoire personnel à partir de la sauvegarde. Vous aurez besoin de faire cela uniquement si vous avez changé de disque dur ou d'ordinateur ou si vous faites une restauration d'urgence. S'il s'agit simplement d'une réinstallation du système d'exploitation et si le disque est partitionné comme expliqué ci-dessus, alors toutes vos données et les paramètres de vos applications se trouvent toujours dans votre partition /home - NUL BESOIN de restaurer quoi que ce soit. Dans un cas comme dans l'autre, que vous restauriez votre répertoire home ou utilisiez la partition /home existante, votre répertoire home contiendra tous les fichiers cachés contenant les paramètres de configuration pour toutes vos applis. Dans mon cas, il y a quelques autres fichiers aussi que je restaure en dehors de mon répertoire home : /var/www (pour mes sites web locaux) et /lib/firmware/b43 (pour ma carte sans fil). J'ai un autre script rsync que je lance pour restaurer tous ces trucs en une fois.

I like to reboot again at this point just to make sure that my login is now using all the system settings that I had previously defined. Run your sudo apt-get install command to reinstall all your apps. Now is the time to review your list to eliminate any apps that you no longer use or want. Since all of your application settings (hidden files) are already in your /home directory, the package installer will find those settings and use them. In most cases, the reinstalled app will be configured just as it was before. If you do decide to eliminate apps from your list, the configuration settings files will still reside in your home directory. Don't be concerned about that; they don't take up much space, and later, if you decide you want that app back again, you can sudo apt-get install it and the settings will still be there. At this point I usually reboot one more time. The system should now be fully operational and should look and feel pretty much as before, but you may have to do some minor tweaking. For instance, I always have to manually reinstall my printer since there is no official package for my Epson Artisan 730 printer drivers in the repository. I have a .deb package that is in my Downloads folder, so I just have to manually install that and then go into CUPS to add the printer. I also use MySql and have to manually import all my databases from backup. These are the kinds of things that you will want to keep track of in your notes in the file where your “list” is kept.

À ce stade, j'aime redémarrer à nouveau pour m'assurer que mon nom d'utilisateur utilise tous les paramètres système que j'avais définis auparavant.

Lancez votre commande sudo apt-get install pour réinstaller toutes vos applis. C'est le moment de revoir votre liste pour supprimer toutes les applis que vous ne voulez plus. Puisque tous les paramètres des applications (des fichiers cachés) sont déjà dans votre répertoire /home, l'installeur des paquets trouvera ces paramètres et les utilisera. Dans la plupart des cas, l'appli réinstallée sera configurée exactement comme avant. Si vous décidez effectivement d'éliminer des applis de votre liste, les fichiers configuration de leurs paramètres se trouveront toujours dans votre répertoire home. Ne vous en inquiétez pas ; ils ne prennent pas beaucoup de place et, plus tard, si vous décidez de récupérer cette application à nouveau, vous pouvez l'obtenir en lançant sudo apt-get install et les paramètres s'y trouveront toujours.

En général, à ce stade, je redémarre une nouvelle fois. Le système devrait maintenant être complètement opérationnel et devrait vous procurer presque les mêmes sensations qu'avant, mais il vous faudra le fignoler un peu, le cas échéant. Par exemple, je dois toujours réinstaller mon imprimante moi-même puisqu'aucun paquet officiel de mes pilotes d'imprimante, une Epson Artisan 730 n'existe dans les dépôts. J'ai un paquet .deb dans mon dossier des Téléchargements ; ainsi, il me suffit de l'installer, puis d'aller dans CUPS et ajouter l'imprimante. J'utilise aussi MySql et dois moi-même importer toutes mes bases de données à partir de mes sauvegardes. Ce sont ces genres de trucs qu'il faut surveiller dans vos notes dans le fichier où votre « liste » se trouve.

Avertissements

CAVEATS No process is foolproof; do not just dive into this without thoroughly testing everything. Hard drive prices being what they are, it is relatively inexpensive to have a spare drive on hand for testing this. Just remove your system drive and pop in a spare. If things don't work as they should, you have not jeopardized your system in the least. Alternatively, you could set up VirtualBox on your computer and create a VM for testing the process. Admittedly, this is not as fast because the IO of a VM is not as efficient, but, for testing purposes, it does have the advantage of being able to quickly undo a mistake if you make snapshots of the VM at critical stages of the process.

MISES EN GARDE

Aucun processus n'est infaillible ; avant de vous lancer dans celui-ci, il faut absolument tout tester et en profondeur. Les disques dur étant actuellement abordable, avoir un disque de rab à portée de main pour le tester, ne représenterait pas un gros investissement. Il suffit d'enlever le disque de votre système et d'insérer un disque de rechange. Si les choses ne vont comme elles devraient, vous n'aurez point mis votre système en péril.

Ou alors vous pourriez installer VirtualBox puis créer une machine virtuelle pour tester le processus. Certes, ce n'est pas aussi rapide parce que les entrées-sorties d'une machine virtuelle ne sont pas aussi efficaces, mais, pour des tests, l'avantage est que vous serez à même de rapidement corriger une erreur si vous faites de captures d'écran de la machine virtuelle lors des étapes critiques du processus.

Conclusion

CONCLUSION My goal in this article is to show that it is possible to have the perceived advantages of an in-place upgrade and the very real advantages of a reinstall. Once you are familiar with the entire process, and confident in your ability to perform it, you can have peace of mind in knowing that if your computer is lost, stolen or damaged, you can quickly and easily recover from any catastrophe. Hopefully, this article will stimulate you into doing some planning and preparation for your next upgrade so that you will have the tools and expertise in place when you need it.

CONCLUSION

Dans cet article, mon objectif était de démontrer qu'il est possible d'avoir les avantages perçus d'une mise à jour in situ et les avantages réels d'une réinstallation. Une fois que vous vous serez familiarisé avec le processus entier et que vous serez confiant dans vos capacités de le faire, vous pourrez vivre l'esprit en paix, sachant que si votre ordinateur est perdu, volé ou endommagé, vous pouvez vous remettre facilement et rapidement de n'importe quelle catastrophe.

J'espère que cet article vous incitera à réfléchir à votre prochaine mise à niveau (planification, préparation) afin que vous ayez les outils et l'expertise à portée de main quand le besoin s'en fera sentir.

issue66/tutoriel_-_do_painless_reinstall.txt · Dernière modification : 2013/01/04 17:16 de frangi