Une telle approche est très compliquée et il est peu probable que tous vos paquets soient la amd64
version au lieu de la i386
version. Seuls les packages qui reçoivent réellement des mises à niveau seront probablement modifiés dans l'architecture, et probablement que si aucun autre package non mis à niveau ne repose sur leur appartenance à l' i386
architecture. Étant donné que certains paquets ne recevront aucune mise à jour tout au long du cycle de support de votre version d'Ubuntu, vous ne disposerez probablement jamais d'un amd64
système complet utilisant une telle technique. En outre, il n’ya certainement aucun soutien officiel en faveur d’une telle approche.
Nous vous conseillons de remplacer votre système Ubuntu existant par une nouvelle installation 64 bits.
Toutefois, si vous souhaitez essayer cette technique, vous devrez télécharger manuellement les .deb
fichiers pour dpkg
et apt
. Vous pouvez les trouver dans les pages dpkg
Ubuntu et apt
Ubuntu sur Launchpad - développez la dernière version sous "The Oneiric Ocelot" qui est marquée comme étant une version, une sécurité et / ou des mises à jour (mais vous ne voulez probablement pas une version marquée uniquement). proposés et / ou backports, s’il en existe un). Ensuite, téléchargez les .deb
fichiers marqués amd64
. Spécifiquement, les fichiers que vous voulez sont: celui-ci pourdpkg
(et les autres listés, aussi, si vous avez ces paquets installés) et ceci et ceci et ceci et celaet ceci pour apt
.
Avant de faire quoi que ce soit avec ces fichiers, vous devez vous assurer de sauvegarder tous les documents importants de votre système Ubuntu installé et tout autre fichier important (par exemple, de la musique, des livres électroniques, des vidéos), car il est plutôt probable que cette technique se retournera contre vous. et laissez votre système Ubuntu complètement inutilisable.
Vous pouvez installer tous ces packages en les plaçant dans un dossier ne contenant rien d'autre (supposez que le dossier est appelé debs
et se trouve dans votre Downloads
répertoire), puis en exécutant cette commande:
sudo dpkg -Ri ~/Downloads/debs
Bien sûr, une fois que vous les aurez installés, ils ne fonctionneront pas car leurs exécutables sont 64 bits et votre système Ubuntu 32 bits exécute un noyau 32 bits (qui n'exécutera que des exécutables 32 bits). En fait, ils pourraient même ne pas terminer l'installation, car ils pourraient avoir des scripts de post-installation qui invoquent leurs exécutables inimaginables de 64 bits.
Il existe différentes façons d’installer un noyau 64 bits sur un système 32 bits, mais elles sont toutes extrêmement complexes. Je vous recommande donc de démarrer à partir d’un Live CD Oneiric 64 bits (qui exécute lui-même un disque 64 bits). noyau), chroot dans le système Ubuntu installé et utiliser la version 64 bits récemment installé apt
et dpkg
installer un noyau 64 bits.
Voici des instructions spécifiques pour le faire ... mais s'il vous plaît ne prenez pas cela pour dire que je dis que cela fonctionnera. Je n'ai pas essayé cela. (J'ai chrooté dans les systèmes Ubuntu installés à partir de CD live et effectué la gestion des paquets et d'autres opérations, mais je n'ai pas tenté les opérations inter-architectures suggérées ici.)
Dans votre système Ubuntu installé, ouvrez une fenêtre de terminal ( Ctrl+ Alt+ T) et exécutez-la mount | grep ' on / '
(en la collant dans le terminal et en appuyant sur Entrée). Vous devriez voir quelque chose comme /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)
. La partie qui vous intéresse est le nom de l’appareil avant on
(dans cet exemple, c’est /dev/sda2
). Rappelez-vous-le ou écrivez-le.
L'étape 1 vous a donné le nom de périphérique de la /
partition. Si vous avez une /boot
partition séparée , vous devez également connaître le nom du périphérique correspondant. Donc dans ce cas, courez mount | grep ' on /boot '
. Vous verrez quelque chose comme /dev/sda1 on /boot type ext2 (rw)
. Rappelez-vous ou écrivez cela aussi.
Démarrez à partir d’un live CD Oneiric amd64 (c’est-à-dire 64 bits) et sélectionnez "Essayer Ubuntu" plutôt que "Installer Ubuntu".
Allez dans un navigateur Web et assurez-vous que la connectivité Internet est entièrement fonctionnelle. Si ce n'est pas le cas, installez-le.
Ouvrez une fenêtre de terminal et lancez-la sudo mount /dev/sda2 /mnt
(remplacez-le /dev/sda2
par le nom de périphérique obtenu à l'étape 1, s'il est différent).
Si votre système installé possède une /boot
partition distincte , exécutez-le sudo mount /dev/sda1 /mnt/boot
(remplacez-le /dev/sda1
par le nom de périphérique indiqué à l'étape 2, s'il est différent).
Maintenant, exécutez ces commandes pour chroot dans votre système installé:
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
Exécuter ping -c 4 launchpad.net
pour voir si la connectivité Internet fonctionne pleinement depuis le chroot. Vous espérez quelque chose comme ça:
PING launchpad.net (91.189.89.223) 56(84) bytes of data.
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=1 ttl=41 time=141 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=2 ttl=41 time=143 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=3 ttl=41 time=142 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=4 ttl=41 time=140 ms
--- launchpad.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
Si, au contraire, vous ne pouviez pas transmettre ou recevoir de paquets, vous devrez configurer la connectivité Internet dans le chroot. Pour ce faire, exécutez ces commandes (pour quitter le chroot, copiez les fichiers de configuration appropriés du système de CD live dans le chroot, puis entrez-le de nouveau):
sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo cp /etc/hosts /mnt/etc/hosts
Bien qu'en règle générale, vous devriez arrêter ce processus en cas d'erreur, ne vous inquiétez pas si la première et / ou la deuxième de ces quatre commandes échouent, à condition que la façon spécifique dont cela échoue consiste à vous dire que /mnt/etc/resolv.conf
(ou /mnt/etc/hosts
) n'existe pas. .
Retournez dans le chroot et essayez à nouveau:
sudo chroot /mnt
ping -c 4 launchpad.net
Exécutez ces commandes pour rendre votre environnement chrooté entièrement prêt à être utilisé:
export HOME=/root
export LC_ALL=C
Si vous n'avez pas installé les .deb
fichiers pour les versions 64 bits de dpkg
et apt
, faites-le maintenant. Si vous les avez installées mais que des erreurs de configuration se sont produites, exécutez-les dpkg --configure -a
pour les réparer. (J'espère que cela fonctionnera ... il vaudra peut-être mieux attendre d'essayer de les installer jusqu'à ce que vous soyez dans l'environnement du CD live, au cas où l'installation du 64 bits au dpkg
démarrage du système installé resterait dpkg
dans un état inutilisable.)
Avec les versions 64 bits de dpkg
et apt
installées, en supposant qu'elles installent automatiquement les packages 64 bits, vous pouvez maintenant supprimer tous vos noyaux 32 bits et installer un noyau 64 bits. Pour supprimer vos noyaux 32 bits, exécutez dpkg -l | grep linux-
. Ceci répertorie les paquets installés qui commencent par linux-
. Vous êtes plus particulièrement intéressé dans des emballages qui commencent comme linux-generic
, linux-image
, linux-server
et / ou linux-headers
. Supprimez ces fichiers avec apt-get purge ...
où ...
est remplacé par une liste de paquets que vous supprimez, séparés par un espace.
Maintenant, réinstallez les paquets que vous avez supprimés. (En fait, pour les packages contenant des numéros de version dans le nom du package, par exemple linux-image-3.0.0-13-generic
, il vous suffit d'installer les derniers noms de packages versionnés.) Pour ce faire, exécutez apt-get install ...
où ...
est remplacé par une liste des packages que vous installez séparés par un espace. .
Mettez à jour la configuration du chargeur de démarrage, démontez certains périphériques et laissez le chroot:
update-grub
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount mnt/dev
Si vous avez couru sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
et que cela n'a pas échoué, exécutez maintenant sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf
.
Si vous avez couru sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
et que cela n'a pas échoué, exécutez maintenant sudo cp /mnt/etc/hosts.old /mnt/etc/hosts
.
Si votre système installé possède une /boot
partition séparée , démontez-le:sudo umount /mnt/boot
Démontez la /
partition de votre système installé :sudo umount /mnt
Quittez la fenêtre du terminal (exécutez exit
), puis redémarrez (ou éteignez) le système de CD live et démarrez le système installé.
Voyez si le système est utilisable et exécute un noyau 64 bits ( uname -m
devrait dire l'architecture est x86_64
).
Pour que cela fonctionne, il se peut que vous deviez installer des packages supplémentaires, tels que ia32_libs
et / ou la version 64 bits de libc6
celle-ci. Pour certains d'entre eux, vous pouvez être informé que vous en avez besoin lorsque vous essayez d'installer la version 64 bits de dpkg
et / ou apt
. Pour d'autres, vous pourriez ne pas être informé.
(Les instructions ci - dessus pour chroot et opérant dans l'environnement chroot reposent en grande partie sur cette procédure connexe mais différente et aussi sur certains Launchpad Réponses messages de moi, en particulier # 6 ici et # 6 ici . Et merci à Césium pour souligner 64 bits dpkg
et les apt
exécutables ne fonctionneront pas sur un système exécutant un noyau 32 bits.)