J'ai un système 32 bits qui fonctionne sur un processeur 64 bits. Comment puis-je le convertir entièrement en 64 bits sans avoir à le réinstaller? J'ai vu quelque part que c'est faisable grâce au nouveau cadre Multiarch .
36
J'ai un système 32 bits qui fonctionne sur un processeur 64 bits. Comment puis-je le convertir entièrement en 64 bits sans avoir à le réinstaller? J'ai vu quelque part que c'est faisable grâce au nouveau cadre Multiarch .
Réponses:
TL; DR: C'est faisable, mais compliqué. J'ai esquissé une alternative au bas.
Maintenant la description longue , et prenez-la avec un grain de sel, car je n’ai peut-être pas choisi la meilleure voie:
C'est possible, et voici ce que j'ai fait ces deux dernières nuits: il y a une entrée wiki décrivant la manière de la vieille école sans support multiarch. C'est utile pour réparer les paquets cassés.
Pour migrer votre système de base, procédez comme suit :
Certains de vos paquets sont alors amd64, mais la plupart resteront i386.
apt-get upgrade
s'occupera de certains paquets,apt-get -f install
réparera certaines des erreurs, mais la plupart des paquets resteront i386. Si vous voulez faire face à cela, passez la partie la plus délicate;)Utiliser
dpkg --get-selections | grep :i386
retournera tous vos paquets, que vous devrez toujours migrer.Ma prochaine idée était de faire:
Mais cela s'est avéré être une mauvaise idée: certains paquets ne sont pas disponibles dans amd64 (par exemple, libc6-i686), apt-get sera confus et de nombreux paquets seront installés dans les deux versions. Beaucoup de travail manuel dans l'aptitude doit être fait.
Plus de difficultés: certains paquets essentiels peuvent être remplacés, de sorte que les fichiers binaires seront toujours installés pour l'installation, mais certains paquets devront être supprimés et réinstallés, par exemple, j'ai eu ce problème avec tar. J'ai wgot les paquets sur un autre système, extrait les paquets via
ar p package.deb data.tar.gz | tar zx
et ensuitescp
édité les fichiers extraits viascp -r ./* root@other_computer:/
, de sorte que les fichiers binaires sont à nouveau disponibles. Rincez et répétez, et lesscp
fichiers ed seront écrasés.Ce que je ferais à la place
J'ai effectué les opérations suivantes chaque fois que j'ai changé de système:
Sauvegardez
/home
,/etc
(et peut - être/var
,/usr/local
certains autres fichiers que vous avez changé,/root
..., YMMV).Obtenez une liste des packages installés avec
dpkg --get-selections > packagelist
et copiez également le fichier résultantpackagelist
.Faites ensuite une réinstallation propre de Debian, créez à nouveau tous les utilisateurs, peut-être des rôles, etc.
Réinstallez tous les paquets avec
dpkg --set-selections < packagelist; apt-get -f install
.Copiez en arrière les répertoires sauvegardés, les fichiers, et vous avez presque terminé.
Un inconvénient de cette approche: tous vos paquets, y compris les bibliothèques, seront marqués comme installés manuellement, de sorte qu'ils ne seront pas désinstallés, alors qu'aucun paquet ne dépend d'eux plus.
la source
apt-mark showauto
pour exporter la liste automatiquement installée etapt-mark auto
pour les marquer dans la nouvelle installation.x86_64
, et que mon paquet système n'utilise pas le processeur 64 bits de manière optimale ? J'utilise également un système d'exploitation 32 bits. Je suppose que je pensais que mon processeur était en 32 bits lors de ma première installation :(Les autres réponses ici montrent que, bien que cela soit théoriquement possible, cela reste très complexe et ne vaut probablement pas la peine. Vous pouvez toutefois effectuer une installation propre et rendre le processus relativement simple si vous restez
$HOME
le même.Le processus général sera
Faites une sauvegarde de votre liste de packages installés et de la liste des packages installés automatiquement.
Notez que vous pouvez également vouloir supprimer l’architecture de tout nom de paquet que vous avez installé avec multiarch :
Si votre
/home
partition est une partition distincte, veillez simplement à ne pas la formater pendant le processus d'installation. S'il ne se trouve pas sur une partition séparée, effectuez une sauvegarde que vous pourrez restaurer ultérieurement:Une fois que vous avez installé votre nouveau système, installez les packages manquants
Restaurez votre $ HOME. Copiez le fichier tgz et extrayez-le dans votre répertoire $ HOME:
Vous voudrez peut-être également consulter les outils fournis par Mint pour faciliter cette tâche. Ils devraient tous être installables sur Ubuntu également.
la source
C'est théoriquement possible, mais probablement perfide. Debian multiarch at current supporte les bibliothèques multiarch, mais pas les fichiers binaires. Donc, il y a ça.
Le système comprend principalement sa propre architecture
dpkg-architecture
(qui est en fait un script Perl, mais il extrait et affiche les informations sur la voûte), qui prétend également pouvoir définir l’architecture.AVERTISSEMENT: JE N'AI FAIT PAS CELA NI MÊME TENTATIF !!!
Le processus approximatif serait:
libgcc1
)dpkg-architecture -aamd64
pour décaler votre arcade (remarque, il peut se plaindre de GCC)dpkg
et de ses dépendancesapt-get
et du noyau (remarque, cela peut se plaindre BEAUCOUP)apt-get
Ces étapes sont basées sur ce que je sais de la conception de Debian l'ayant utilisé presque exclusivement parmi les distributions Linux au cours des 12 dernières années (y compris les utilisations
debtakeover
précédentes) et de l'approche que je prendrais. Considérez ceci à vos risques et périls . Votre système peut devenir inutilisable tout moment après avoir essayé de l' étape 4. Autre pour les étapes 4 et 5 pourraient êtredebbootstrap
.Plus important encore, je suggère fortement d'essayer cela sur une machine virtuelle avant de le faire pour tout ce qui compte pour vous.
Bonne chance et que la force soit avec vous .
la source
Pas une réponse à la question, mais il peut être difficile de mettre à jour tous les paquets de x86 à amd64, mais vous pouvez au moins facilement installer le paquet de noyau amd64, ce qui vous permettra au moins d’exécuter des applications 64 bits, des machines virtuelles et des conteneurs ( qui peut être suffisant pour ce dont vous avez besoin).
Installez simplement le paquet amd64 linux-image avec
dpkg -i --force-architecture
.la source
--force-architecture
n'est pas nécessaire, et le noyau amd64 peut être installé via apt sur i386.Il existe pas mal de manuels, mais ils ne montrent pratiquement pas à quoi s'attendre. J'écris ceci sur un ordinateur portable Debian Wheezy que je viens de terminer de mettre à niveau de 32 bits à 64 bits et cela fonctionne.
J'ai suivi ces instructions et elles étaient vraiment précises sur ce à quoi vous allez réellement faire face:
http://blog.zugschlus.de/archives/972-How-to-amd64-an-i386-Debian-installation-with-multiarch.html
Il est recommandé de maintenir le système sous tension tout au long du processus. Ne redémarrez pas sauf si vous êtes sûr d'avoir tout migré et que tout ce qui a été supprimé a été réinstallé (notamment les packages essentiels), sinon vous ne pourrez pas redémarrer le système.
la source
Suivant l’idée d’utiliser awk , j’ai utilisé:
J'ai dû l'exécuter plusieurs fois.
dpkg --get-selections
est simplement une liste alphabétique, donc les paquets en haut qui nécessitent des paquets en bas seront ignorés. Si vous voulez voir combien d’installations sont en cours, faites-ledpkg --get-selections | grep amd64 | wc -l
à l’intérieur de lawhile
boucle.la source
J'ai peu d'expérience dans ce domaine, mais je pense que vous avez raison de dire qu'une conversion de 32 à 64 devrait être compatible avec le multi-arch. Je serais cependant prudent quant à la qualité du support de ce nouveau système.
Voici l'un des documents que j'ai lus qui ont discuté de la question, peut-être que cela vous aidera: https://wiki.ubuntu.com/MultiarchSpec
Notez les troisièmes User Stories. Voici un autre lien autour du même sujet: https://help.ubuntu.com/community/MultiArch
Même si cela pourrait être un peu différent entre Debian et Ubunutu, il s'agit d'une fonctionnalité essentielle. Ce qui, j'imagine, Ubuntu et Debian travaillerait en étroite collaboration pour que cette structure fonctionne sur le terrain avant qu'Ubuntu ne se retire et ne fasse quelque chose de son goût.
Bonne chance!
la source