Comment préserver les applications installées lors de la migration d'Ubuntu vers une autre plate-forme?

StackOverflow https://stackoverflow.com/questions/187629

  •  06-07-2019
  •  | 
  •  

Question

Je souhaite peut-être passer d'un ancien AMD64 à un nouveau processeur Intel double cœur 32 bits. L'installation n'est pas un problème, mais puis-je transférer toutes les applications installées? Je n'ai pas été capable de trouver quoi que ce soit sur Google jusqu'à présent, sauf dans le cas d'une migration vers une plateforme et un système de fichiers similaires Je ne changerai pas le système de fichiers mais la plateforme sera différente. Y at-il quelque chose sur les lignes du " Monde " fichier dans Gentoo?

Était-ce utile?

La solution

Vous pouvez facilement enregistrer votre liste de packages: voir "man dpkg " et recherchez --set-selections et --get-selections.

La base, cependant, est que pour sauvegarder la liste des paquets:

dpkg --get-selections > liste_packages

Pour restaurer cette liste sur un autre système:

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

Le passage d’une architecture à une autre signifie que certains packages ne seront pas disponibles. Ils seront ignorés. Par exemple, ia32-libs ne pourra pas être installé sur un système 32 bits. Cette sélection sera ignorée si vous passez de x86-64 à x86.

Autres conseils

C'est drôle, je me servais de SO comme référentiel howto (rédiger une question et ensuite choisir ma propre réponse), mais au moment où il m'a fallu pour écrire ma propre réponse, j'ai été battu au poinçon trois fois!

Quoi qu'il en soit, voici ce que je retiens pour le compte rendu:

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

Commencez par exporter 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 de cache apt pour minimiser les téléchargements: / var / cache / apt)

Enfin, indiquez à apt de télécharger et d'installer les packages sélectionnés:

sudo apt-get dselect-upgrade

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

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

Ceci créera un fichier texte avec tous les packages que vous avez installés. Ensuite, après 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

Notes:
1) Étant donné que vous passez de 64 bits à 32 bits, certains packages 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 des sources, vous devrez noter et réinstaller à partir des sources.

Bonne chance!

Si (comme moi) vous ne l'aviez pas fait avant de gâcher votre système, vous pouvez démarrer sur un live-cd ou une autre installation et utiliser chroot pour obtenir ces informations.

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

Ensuite, exécutez la dpkg --get-selections , 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 paramètres update-alternatives et debconf , ce qui prend toujours beaucoup de temps pour les réaliser. n'ont pas été transférés.

Sauvegarde sur un 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

De même, vous pouvez utiliser la même méthode pour effectuer régulièrement des sauvegardes de votre répertoire personnel et des sélections système (mentionnées ci-dessus) sur un stockage distant. Donc, en cas de vol / vol de votre ordinateur portable, la construction d’un système similaire est assez rapide.

Je ne suis pas sûr qu'il s'agisse d'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.

La meilleure façon de procéder consiste à sauvegarder la liste des packages installés sur votre système actuel, puis à utiliser cette liste pour définir les packages à installer sur le nouveau système. Instructions générales sur la sauvegarde et la restauration de vos sélections de packages:

Installer les outils

sudo apt-get install dselect

Liste des packages de sauvegarde

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

Restaurer les sélections de packages

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

Ceci ouvrira une session dselect. Tapez «I» et autorisez dselect à Installez les paquets listés dans votre document ubuntu-files. Une fois terminé, tapez «Q» et appuyez sur la touche Entrée pour quitter dselect.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top