===Passer son système Debian x86 en x86-64===

:!: Avertissement : Certaines manipulations (partitionnement...) sont potentiellement dangereuses.
Le détail des commandes n'est pas donné, il est supposé connu que "copiez le fichier /home/blabla.txt" se traduit en console par  "cp /home/blabla.txt .", si cela vous pose problème c'est sans doute qu'il serait risqué pour vous de suivre ce tutoriel sans faire quelques lectures et expériences préalables, en particulier le système de [[apt-get:|gestion de paquet de Debian]].\\ 
Cela dit c'est en forgeant...

:!: Avertissement 2 : cette procédure est aléatoire, pas reproductible à la lettre et assez vague par endroit car dépendante de votre installation. Si vous terminez avec une choucroute garnie à la place d'un clone de votre système Debian en 64bit cela ne devra pas trop vous étonner... Pour moi tout a fonctionné du premier coup... à quelques "retouches" près !

Situation : vous avez un système configuré aux petits oignons en 32bit, mais pour des raisons diverses vous aimeriez goûter aux joies de l'architecture 64bits, en retrouvant exactement le même système évidemment pour ne pas perdre des heures de configuration.

La transition est possible, sans gros risque ni réelle difficultée, et aujourd'hui les inconvénients du 64bits se résorbent au point de ne plus être une raison d'hésiter : les plug-in flash et java fonctionneront correctement dans la plupart des cas, et [[skype:|Skype]] fonctionne parfaitement. On y va ?

La procédure présenté ici est simple, mais fait appel à une bonne dose de jugement personnel et d'organisation, il faut également prévoir du temps.
En résumé vous allez installer un système minimal 64bit, puis migrer la structure et la configuration de votre système 32bits vers   ce nouveau système.
Il existe d'autres méthodes qui n'impliquent pas de partir d'une installation minimale 64bits, mais aucune n'a jamais fonctionnée pour moi...

J' allais oublier, il faut avoir un processeur compatible avec l'architecture 64bits, qu'il soit AMD ou Intel. La commande :

<code>cat /proc/cpuinfo</code>

vous donnera toutes les informations sur votre processeur, si à la ligne "flags" vous voyez "lm" (pour "long mode") votre processeur supporte le 64bit.

==Préparation==

Tout d'abord le conseil habituel : sauvegardez vos documents importants. C'est moins critique ici car votre système original ne sera pas touché par les manipulations, mais à partir du moment où on manipule des outils de partitionnement une assurance n'est pas superflue...

Faite de la place sur votre (vos) disque(s) pour accueillir le système 64bits, deux partitions suffisent pour / et /home, une partition swap étant sans doute déjà présente. Les utilisateurs avancés choisiront leur partitionnement habituel, ça n'a pas d'importance.
À l'aide d'un live-cd ([[gparted_livecd:|Gparted-live]], [[system_rescue_cd:|System Rescue cd]], [[deb:knoppix:|Knoppix]]...) redimensionnez les partitions existantes, et créez les nouvelles.

Copiez ensuite une image de votre partition /home dans l'une des nouvelles partition. Dans [[gparted:|Gparted]] un simple "clic-droit >copier" sur la partition à copier, suivi d'un "clic-droit>coller" sur la nouvelle fera le travail, la partition d'accueil doit être au moins aussi grande que celle d'origine (réduisez la partition d'origine avant la copie si besoin). Je vous conseil d'attribuer un [[expert:identifier_les_partitions_par_label:|label]] à cette partition pour éviter tout risque de confusion avec l'originale, ici je l'appellerai "/home64" . Si la place vous manque contentez vous de copier un squelette de /home avec l'ensemble des fichiers et répertoires cachés (les  ~/.*), vous récupérerez vos données par la suite (utilisez un outils qui respecte les droits sur les fichiers, comme la commande "cp -a" ).

La copie du répertoire /home ne demande normalement aucune manipulation supplémentaire.


Téléchargez les pilotes dont vous pourrez avoir besoin en version 64bits (Nvidia...) et enregistrez les sur votre nouvelle partition /home64 (à monter auparavant...). Vous pouvez aussi préparer une "traduction" de votre sources.list pour le système 64bit, c'est nécessaire seulement vous utilisez des dépôts non-standard qui sont dépendant de l'architecture, pour les dépôts Debian rien ne change car les entrées du fichier /etc/apt/sources.list ne contiennent pas de référence à l'architecture.

Préparez également une copie de vos fichiers de préférences de apt si vous en utilisez (pour le "package pinning"...), la solution "à la louche" étant de copier totalement le répertoire /etc/apt en changeant simplement le sources.list pour la version modifiée. L'avantage de cette copie complète est de récupérer aussi les signatures des dépôts. Rien de plus pour le moment.

Sur le système en 32bits faite une mise à jour complète et exécutez :

<code># dpkg --get-selections > selection.txt</code>

Le fichier "selection.txt" généré contient la liste de l'ensemble des paquets installés, sans précision d'architecture. C'est ce fichier qui va nous permettre  de réinstaller exactement les mêmes paquets pour la nouvelles architecture.

Ouvrez "selection.txt" dans un éditeur de texte et parcourez le minutieusement, effacez toutes les lignes faisant référence à des paquets que vous ne souhaitez pas installer automatiquement parce qu'ils sont susceptibles de poser problème. Effacez par exemple les paquets correspondants au noyau, headers et source du système 32bit, la libc6 (libc6-i686 ou libc6-i386 par exemple) également.
Si vous avez installé w32codecs, remplacez par w64codecs ; vous pouvez aussi supprimer les paquets relatifs à java, flash, et tous les paquets téléchargés et installés manuellement avec "dpkg -i" , [[kpackage:|KPackage]] ou Gdebi ; supprimez les paquets installés depuis les sources avec [[principe_d_installation_de_code_sources:|Checkinstall]] et qui apparaissent dans la liste...
La liste n'est pas exhaustive, à vous de faire preuve de flaire. Si vous loupez quelques paquets vous ne provoquerez sans doute pas de catastrophe, juste quelques messages d'erreur de la part de apt-get et éventuellement un blocage de l'installation vous obligeant à vérifier la liste avant de recommencer.

Quand tout est propre enregistrez "selection.txt" sur /home64.

Vous êtes prêt pour la suite.

==Installation d'un système minimum 64bit==

Téléchargez un cd d'installation Debian x86-64, peu importe le media utilisé (net-install, multi-arch, dvd, voir debootstrap...). Installez un système de base, sans environnement graphique, sur une partition libre créée précédemment, indiquez la copie de votre /home (/home64) comme répertoire /home, mais attention à préciser de NE PAS FORMATER cette partition.

Attention aussi à l'installation de grub, par sécurité il vaut mieux pour le moment conserver votre configuration intacte et installer grub sur la partition racine du futur système 64bit et non le mbr du disque maître. Il vous suffira ensuite d'ajouter une entrée au menu.lst de "l'ancien" système 32bit pour démarrer le "nouveau" système 64bit.

==Redémarrage sur le système 64bits==

Une fois l'installation terminée redémarrez sur le nouveau système (si vous avez bien suivis vous vous retrouvez en console), vérifier que la partition /home64 est bien présente et montée (en listant avec "ls" les fichiers du répertoire /home/user par exemple), copiez le fichier sources.list ou l'ensemble du répertoire /etc/apt que vous avez préparé à l'étape précédente dans le répertoire /etc/apt/ de votre nouveau système, et exécutez :

<code># apt-get update
apt-get upgrade</code>

(ou utilisez "aptitude" selon vos habitudes, c'est sans doute d'ailleurs préférable.)

Attention à vous retrouver dans la même version de Debian que précédemment en 32bits : Stable, Testing ou Sid, ça devrait être le cas si vous avez copié votre répertoire /etc/apt et votre sources.list.

==Le clonage==

La première étape est d'**installer le même groupe de paquets** que sur le système d'origine, pour cela on utilise le fichier "selection.txt" créé et enregistré sur le /home64 précédemment :

<code># dpkg --set-selections < /home/selection.txt
apt-get dselect-upgrade</code>

Là vous êtes bon pour une petite attente, votre présence est requise par les quelques questions de configuration qui vous seront éventuellement posées et suspendent l'installation en attendant une réponse. Il vaut mieux être devant l'écran si une erreur bloque l'ensemble de l'installation...
Prenez le temps de parcourir l'ensemble des paquets qui sont proposés à l'installation par apt, par le jeux des dépendances vous noterez peut-être des paquets installés et susceptibles de poser problème par la suite (comme "nvidia-glx-*" si vous voulez utiliser le .run de nvidia...).

:!: Apt va stocker en cache (/var/cache/apt/archives) les paquets téléchargés pour l'installation, si vous avez été avare pour fixer la taille de / (ou /var) ça risque de coincer sérieusement et définitivement ! Dans ce cas il ne vous reste qu'à vider le cache (manuellement ou avec « apt-get clean ») et installer manuellement par petits groupes les paquets listés dans selection.txt, ou redimensionner la partition / (ou /var).


Une fois l'installation terminée il reste à **récupérer les fichiers de configuration** dans /etc de l'ancien système. Faites le tri de ce qui peut servir : /X11/xorg.conf, /network/interfaces, sysctl.conf, group, profile, sudoers, pare-feu, samba... d'une manière générale tout logiciel ou service qui a nécessité une configuration manuelle. Il est bien sûr possible de copier l'ensemble du répertoire /etc, mais cette façon de procéder risque de générer des problèmes inattendus, et qui seront difficiles à diagnostiquer.
/srv/ contiendra aussi des choses indispensables si vous avez un serveur.
Cette étape vous amènera peut-être à prendre l'habitude de conserver une copie de tout fichier de configuration modifié, c'est utile pour les migrations/upgrades, ou quand une mise à jour écrase le fichier en question... 

Faites aussi un tour dans /usr/share où se cachent quelques répertoires intéressant, comme /usr/share/apps si vous utilisez kde (le theme de l'écran de login de kdm par exemple), /usr/share/wallpapers et icons pour l'esthétique, les templates de Scribus...

Plus important, pensez à vos clés ssh (/etc/ssh) et autres certificats, et conservez de toutes façon une sauvegarde de votre ancien système pour y piocher les oublis probables.

Voilà, à ce stade vous devriez avoir un système 64bit d'aspect parfaitement identique à votre ancien système. Faites le tour des logiciels qui sont les plus importants pour vous, réinstallez ceux qui dépendaient de paquets externes aux dépôts ou étaient compilés depuis les sources.

Attention à bien vérifier les points névralgiques comme la configuration du pare-feu ou de ssh : il est facile de se croire à l'abri d'une bonne configuration alors que c'est le fichier par défaut qui est utilisé...