Comment conserver les applications installées lors de la migration d’Ubuntu vers une autre plateforme?

Je cherche peut-être à passer d’un ancien AMD64 à un nouveau dual-core Intel 32 bits. L’installation n’est pas un problème, mais puis-je transférer toutes les applications installées? Je n’ai pas pu trouver quelque chose jusqu’à présent sur Google, sauf en ce qui concerne la migration vers une plate-forme et un système de fichiers similaires. Je ne changerai pas le système de fichiers mais la plateforme sera différente. Y a-t-il quelque chose sur les lignes du fichier “World” dans Gentoo?

Vous pouvez enregistrer votre liste de paquets facilement: voir “man dpkg” et recherchez –set-selections et –get-selections.

La base de cela, cependant, est que pour enregistrer la liste des paquets:

dpkg --get-selections > package_list

Pour restaurer cette liste sur un autre système:

cat package_list | sudo dpkg --set-selections && sudo apt-get dselect-upgrade

Passer d’une architecture à l’autre signifie que certains paquets seront indisponibles. Ils seront ignorés; Par exemple, ia32-libs ne sera pas installable sur un système 32 bits. Cette sélection sera ignorée si vous passez de x86-64 à x86.

C’est marrant, j’utilisais SO comme référentiel de howto (écrivez une question puis sélectionnez ma propre réponse), mais au moment où il m’a fallu écrire ma propre réponse, j’ai été battu à trois resockets!

En tout cas, voici ma prise pour le record:

Utilisez les options –get-selections et –set-selections de dpkg pour capturer et sélectionner les packages actuellement installés.

Tout d’abord, exportez votre liste de paquets actuelle sur votre ancien système:

 sudo dpkg --get-selections > mypackages.txt 

Sélectionnez ensuite cette liste en tant que packages à installer sur votre nouveau système:

 sudo dpkg --set-selections < mypackages.txt 

(Pour plus de crédit, copiez votre répertoire apt cache afin de minimiser les téléchargements: /var/cache/apt)

Enfin, dites à apt pour télécharger et installer les paquets sélectionnés:

 sudo apt-get dselect-upgrade 

Pour tout ce que vous avez utilisé pour installer apt-get, si vous souhaitez créer un enregistrement de ce qui est installé, procédez comme suit:

 dpkg -l|awk '/^ii\s*(.*)\s*/ {print $2}'|packages.txt 

Cela va créer un fichier texte avec tous les paquets que vous avez installés. Ensuite, après avoir effectué l’installation, créez et exécutez un script avec les éléments suivants:

 #!/bin/sh for p in $(cat packages.txt); do apt-get install $p; done 

Remarques:
1) Puisque vous passez de 64 bits à 32 bits, certains des paquets peuvent ne pas être compatibles. Je voudrais grep packages.txt pour ’64’ avant d’exécuter le script ci-dessus et trouver des alternatives si elles sont nécessaires.
2) Tout ce que vous avez installé à partir de la source, vous devrez noter et installer à nouveau à partir des sources.

Bonne chance!

Si (comme moi) vous ne l’avez pas fait avant d’avoir endommagé votre système, vous pouvez démarrer dans un live-cd ou une autre installation, et utiliser chroot pour obtenir ces informations.

 sudo chroot /path/to/old/system /bin/bash 

Ensuite, faites le dpkg --get-selections dance et vous pouvez utiliser le fichier résultant pour configurer votre nouveau système.

C’est ce que je fais généralement pour résoudre un problème similaire (migré plusieurs fois vers un nouvel ordinateur portable).

Il y a deux ajouts aux autres réponses à cette question, cela déplacera également vos parameters update-alternatives et debconf , ce qui prend toujours beaucoup de temps pour réaliser que ceux-ci n’ont pas été transférés.

Sauvegarde sur l’ancien système:

 sudo apt-get install dselect debconf-utils mkdir system-selections update-alternatives --get-selections > system-selections/alternatives-selections dpkg --get-selections '*' > system-selections/dpkg-selections sudo debconf-get-selections > system-selections/debconf-selections 

Copiez le répertoire de configuration dans le système de news (” scp -r oldsystem:system-selections ~ “):

 sudo apt-get install dselect debconf-utils sudo dselect update sudo dpkg --set-selections < system-selections/dpkg-selections sudo debconf-set-selections < system-selections/debconf-selections sudo apt-get -u dselect-upgrade sudo update-alternatives --set-selections < system-selections/alternatives-selections 

En outre, vous pouvez utiliser la même méthode pour transférer régulièrement des sauvegardes de votre répertoire personnel et system-selections (mentionnées ci-dessus) vers un stockage distant. Donc, en cas de vol ou de vol de votre ordinateur portable, la construction d'un système similaire est assez rapide.

Je ne suis pas sûr que ce soit une réponse, mais je viens de découvrir l’existence de la commande aptitude-create-state-bundle. Oui, c’est une commande. Consultez la page de manuel.

Le meilleur moyen d’y parvenir est de sauvegarder la liste des packages installés sur votre système actuel, puis d’utiliser cette liste pour définir les packages à installer sur le nouveau système. Instructions générales sur la sauvegarde et la restauration des sélections de paquets:

Installer des outils

 sudo apt-get install dselect 

Liste de packages de sauvegarde

 dpkg --get-selections | grep -v deinstall > ubuntu-files 

Restaurer les sélections de paquet

 sudo apt-get update sudo apt-get dist-upgrade dpkg --set-selections < ubuntu-files sudo dselect 

Cela ouvrira une session dselect. Tapez «I» et autorisez dselect à installer les packages répertoriés dans votre document ubuntu-files. Quand c'est fini, tapez 'Q' et appuyez sur la touche ENTRÉE pour quitter dselect.