Comment migrer les paramètres utilisateur et les données vers une nouvelle machine?


52

Je suis nouveau sur Ubuntu et je l’ai récemment utilisé sur mon PC. Je vais remplacer ce PC par une nouvelle machine. Je souhaite transférer mes données et paramètres vers le nettop. Quels aspects dois-je considérer?

Évidemment, je veux transférer mes données. Que manque-t-il si je ne copie que le dossier de départ en entier?

Ceci est un ordinateur à la maison (pas d'entreprise) donc les droits des utilisateurs et d'autres problèmes de sécurité ne sont pas une préoccupation, sauf que les fichiers doivent être accessibles sur la nouvelle machine!

Veuillez prendre en compte le fait que la nouvelle machine est un nettop qui n’a pas de lecteur optique et ne me permet pas d’y insérer l’ancien disque SATA. Par conséquent, tout transfert de données doit être traité via le réseau domestique (je peux l’ancienne et la nouvelle machine allumée et connectée au réseau local domestique) et j’ai une clé USB avec une capacité limitée (2 Go).
Cela semble pouvoir limiter l’applicabilité générale, mais le rendrait en fait plus général.

Réponses:


43

Les paramètres utilisateur sont stockés dans le dossier de base. Donc, si vous copiez votre /home/your-usernamesur votre nouvel ordinateur, ça devrait aller.

... mais il y a des mises en garde:

  • Autorisations Il est courant que des "programmes" (scripts de commande, programmes de construction personnalisés) soient placés dans le dossier de base. Pour conserver les autorisations, utilisez le --preserve=modecommutateur (using cp) ou -p(using tar)
  • UserID / GroupID. Même si les noms d'utilisateur sont égaux sur les deux systèmes, l'ID utilisateur n'est pas obligé. Généralement, cela ne pose pas de problème, mais si des scripts / programmes / paramètres relaient l’ID utilisateur, vous devez vous assurer que l’ID utilisateur et le groupe doivent être identiques sur le système cible.
    Vous pouvez trouver l'ID utilisateur et l'ID groupe actuels en les exécutant id. Par exemple, pour modifier l'ID utilisateur de l'utilisateur "votre nom d'utilisateur", exécutez sudo usermod --uid 1234 your-username. Pour changer l'ID de groupe, vous devez exécuter sudo groupmod --gid 1234 your-username.

Les paramètres (profil Firefox, apparence, ...) sont souvent stockés dans des dossiers (ou fichiers) cachés. Les dossiers / fichiers cachés sont précédés d'un point, comme .mozillapour Firefox (et les autres applications Mozilla).

Comme la sécurité n’est pas un problème et que vous souhaitez effectuer la copie le plus rapidement possible, je suggère une combinaison des programmes netcat et tar. Les deux applications sont installées par défaut. Assurez-vous que les pare-feu des deux ordinateurs autorisent l'accès entrant au port de destination 8888 (ordinateur source) et sortant vers le port de destination 8888 (ordinateur cible). Placez le nettop à côté de l'ordinateur pour pouvoir exécuter les commandes rapidement.

Sur l’ordinateur source, vous devez installer le programme Netcat traditionnel (alias Swiss Army Knife, et non pas BSD). Pour ce faire, installez le netcat-traditionalpackage. Vous voudrez peut-être aussi configurer le programme netcat traditionnel par défaut. Commandes pour installer netcat-traditional et l'utiliser par défaut:

sudo apt-get install netcat-traditional 
sudo update-alternatives --set nc /bin/nc.traditional

Sur l’ordinateur source, tapez la commande suivante dans un terminal (n’appuyez pas encore sur Entrée):

 tar cz -C/home $(whoami) | nc -l -p 8888 -w 10

Explication:

  • tar est un utilitaire de compression de fichiers
  • cz c reates un tel fichier compressé ( "tarball")
  • L'archive tar est compressée à l'aide de l' algorithme G Z ip pour réduire la taille du fichier.
  • -C/home $(whoami)modifie le répertoire de travail en /homeet met votre dossier de nom d'utilisateur. Alternative, vous pouvez taper votre your-usernamedossier dans l'archive
  • nc (netcat) est utilisé pour établir facilement des connexions entre des machines
  • -l: Mode d'écoute, permet aux autres machines de se connecter à la machine actuelle
  • -p 8888: Écoute sur le port 8888 (numéro choisi au hasard, il peut également s'agir de tout autre numéro supérieur à 1024)
  • -w 10: quitte netcat après 10 secondes de silence. Vous devez vous connecter à cet ordinateur source dans ce délai.

Maintenant, allez à l'ordinateur cible (nettop). Pour ajouter les fichiers à la machine cible, tapez (ne l'exécutez pas encore):

nc 192.168.1.2 8888|tar xzp -C/home
  • 192.168.1.2est l'adresse IP de l'ordinateur source. Pour obtenir son adresse IP, lancez: ifconfigsur la machine source
  • 8888 est le numéro de port saisi sur la machine source
  • xzp: E x voies du G Z archive compressée ip-tout p permissions de la réserve.
  • -C/home: extrait le your-usernamedossier pour/home/your-username
  • Ajoutez éventuellement le -vcommutateur à la commande tar pour une extraction détaillée, afin de vous donner une idée de la progression. Cela pourrait ralentir le processus de copie car chaque fichier doit être imprimé.

Maintenant, allez sur l'ordinateur source, appuyez sur Entrée pour exécuter la commande du serveur. Basculez rapidement sur votre nettop et appuyez sur Entrée pour exécuter la commande client.

Si vous avez des questions, utilisez simplement le champ de commentaire ci-dessous.


1
Absolument excellent aperçu! Merci également pour l'explication détaillée des commandes. Étant donné que je n'ai qu'un seul moniteur, j'aimerais configurer les deux machines l'une à côté de l'autre et utiliser une sorte de VNC pour accéder à l'ancienne machine. Je suis sûr que je peux rapidement google un excellent guide pour les nuls - mais pouvez-vous en recommander un?
Torben Gundtofte-Bruun

Je n'ai pas utilisé d'autre VNC que l'application fournie avec Kubuntu (Krdc). Si vous n'avez pas besoin d'une interface graphique (comme ce processus de copie), installez-la simplement openssh-serveret vous pourrez vous connecter à votre ordinateur en exécutant ssh your-username@192.168.1.2. Pour l’ accès à distance à l’ interface graphique , je n’utilise pas VNC, car il est extrêmement lent, même sur un réseau (sans fil). Je recommande X2go pour le contrôle à distance de l' interface graphique ( guide d'installation ).
Lekensteyn

La machine source me dit: "Ceci provient du paquet netcat-openbsd. Une alternative à nc est disponible dans le paquet netcat-traditional. Utilisation: nc [-46DdhklnrStUuvzC] [-i intervalle] [-P nom_utilisateur_proxy] [-p source_port ] [-s adresse_ip_source] [-T ToS] [-w délai] [-X protocole_proxy] [-x adresse_proxy [: port]] [nomhôte] [port [s]] ", l'invite du terminal est à nouveau visible et le la machine cible ne reçoit rien. Est-ce que je fais quelque chose de mal?
Daniel

@ Daniel: La seule chose que vous faites mal, c'est de poster votre question sous forme de commentaire. Ouvrez une nouvelle question et un lien vers celle-ci.
Torben Gundtofte-Bruun

Bonjour @Lekensteyn, je reçois de nombreux messages "Ne peut pas ouvrir" et "Ne peut pas utiliser mkdir: aucun fichier ou répertoire de ce type" ... Est-ce que cela s'applique également lorsque vous essayez de le faire sur une machine virtuelle (en tant qu'invité)?
George Katsanos

16

Pour les packages logiciels, vous devez lire les informations suivantes: http://www.omgubuntu.co.uk/2010/05/transfer-your-packages-to-a-clean-install/

oldmachine$ sudo dpkg --get-selections > installedsoftware
newmachine$ sudo dpkg --set-selections < installedsoftware
newmachine$ sudo apt-get --show-upgraded dselect-upgrade

Pour les paramètres et les données, c'est un peu plus compliqué :-( La plupart des paramètres sont stockés dans votre dossier personnel, une sauvegarde de votre HOME peut donc suffire ... Mais bien sûr, cela ne couvre pas le système. les applications dont la configuration est stockée dans / etc ...


newmachine$ sudo apt-get --show-upgraded dselect-upgradedonne l'erreurE: Command line option --show-upgrade is not understood
frepie

12

La majorité de tous les paramètres pour les applications sont dans votre dossier personnel masqué par défaut. Si vous appuyez sur Ctrl+hdans Nautilus, vous verrez ces dossiers. J'ai trouvé que le moyen le plus simple est simplement de rsynciser les dossiers dont vous avez besoin pour les configurations. Quelque chose comme ça:

rsync -avz me@remote:/home/me/.foo me@remote:/home/me/.var me@remote:/home/me/.ack me@remote:/home/me/.bar /home/me/

Vous pouvez également - synchroniser tout votre dossier personnel sur le nouvel ordinateur - mais cela peut poser problème en fonction de vos configurations.




8

Si vous avez une installation que vous aimez sur une seule machine, vous pouvez simplement la cloner. Peu importe si les machines ont un matériel différent tant qu'elles fonctionnent selon la même architecture (32 bits ou 64 bits, c'est-à-dire i386 ou amd64 ou ...).

Voici un moyen de le faire. C'est un peu long, mais assez peu technologique. De nombreuses variations sont possibles.

  1. Branchez le disque de la nouvelle machine à la machine existante (ou vice versa).
  2. Démarrez à partir de l'installation existante.
  3. Configurez le nouveau disque :
    • Si les disques ont la même taille: démarrez l'outil de partition (Système / Administration / GParted, package gparted) et copiez l'ancien disque entier sur le nouveau.
      • Vous devez donner aux copies des systèmes de fichiers de nouveaux identifiants uniques, pour éviter toute confusion si vous montez le disque d'un ordinateur dans un autre ordinateur ultérieurement. Pour le système de fichiers ext2 / ext3 / ext4, utilisez une commande comme sudo tune2fs -U $(uuidgen) /dev/sdz1sdzest le nouveau disque et 1le numéro de la partition.
      • Si vous avez attribué des noms à vos volumes, vous pouvez attribuer des noms différents.
    • Sinon, configurez les partitions sur le nouveau disque avec GParted ou System / Administration / Disk Utility et formatez-les. Si vous avez des partitions de même taille sur les deux disques, vous pouvez les copier dans GParted.
  4. Montez la partition racine de la nouvelle installation qui devrait maintenant apparaître dans les lieux.
  5. (Ignorez cette étape si vous avez copié l'intégralité du disque.) Copiez les données de la partition racine de l'ancienne installation sur la nouvelle. Notez qu'il est essentiel de préserver les autorisations et la propriété des fichiers à cette étape. Cela signifie que vous devez le faire en tant que superutilisateur (racine). Je ne sais pas quelle est la méthode de l'interface graphique Ubuntu. Sur la ligne de commande, exécutez sudo cp -ax / /media/disk9(remplacez /media/disk9par l'emplacement où la nouvelle partition racine est montée).
  6. Répétez les deux étapes précédentes pour toute autre partition de votre choix (par exemple, une partition de départ distincte), sauf si vous avez copié cette partition (ou le disque) dans son ensemble à l'étape 3.
  7. Tweak la nouvelle installation (en supposant qu'elle est montée à /media/disk9; adjust as needed):
    • Modifier pour définir le nom de la nouvelle machine. Vérifiez les fichiers sous d'autres occurrences du nom d'hôte - il peut apparaître dans , etc./media/disk9/etc/hostname/media/disk9/etc//media/disk9/etc/hosts/media/disk9/etc/mailname
    • Si vous utilisez un serveur ssh , supprimer /media/disk9/etc/ssh/ssh_host_*_key*. Le serveur générera de nouvelles clés lorsque vous démarrez la nouvelle installation.
    • Si vous avez configuré le réseau en le modifiant /etc/network/interfaces, modifiez-le /media/disk9/etc/network/interfacespour la nouvelle installation.
    • En option, supprimer les fichiers /etc/udev/rules.d/70-persistent-*.rulessi elle est présente, afin que vos disques et les interfaces réseau réutiliser les mêmes noms ( sda, eth0, ...) sur la nouvelle machine.
    • Si vous utilisez des pilotes vidéo propriétaires (ATI ou Nvidia) et que la nouvelle machine ne doit pas utiliser le même pilote, passez /media/disk9/etc/X11/xorg.confà /media/disk9/etc/X11/xorg.conf.old-machine, sinon vous ne pourrez peut-être pas démarrer sur une interface graphique de la nouvelle machine.
  8. Déplacez le disque avec la nouvelle installation vers sa machine légitime.
  9. Si vous n'avez pas cloné le disque dans son ensemble, insérez un live CD / USB et réparez le chargeur de démarrage .
  10. Démarrez à partir de la nouvelle installation et effectuez les étapes de transition restantes nécessaires:
    • Vous devrez peut-être installer de nouveaux pilotes propriétaires ( pilotes Système / Administration / Matériel).
    • Si vous aviez une adresse IP statique configurée via Network Manager, configurez la mise en réseau pour le nouvel ordinateur.
    • Si vous exécutez un serveur ssh , exécutez-le dpkg-reconfigure openssh-serverpour générer une nouvelle clé d'hôte.

Bonjour à partir de 2013 :) Etes-vous sûr que le matériel différent n'est pas important? Même si je passe d'un ordinateur portable chinois à un Mac Air?
Scythargon

@scythargon Tant qu'il s'agit du même type de processeur (x86 dans les deux cas), il n'y a pas de différence majeure, juste quelques pilotes à installer et les fichiers de configuration que je mentionne. Contrairement à Windows, Linux concentre ses dépendances matérielles dans quelques fichiers faciles à identifier.
Gilles, arrête de faire le mal '12

1
Vous pouvez jeter un coup d'œil à ce guide (similaire) que j'ai écrit: positon.org/clone-a-linux-system-install-to-another-computer
Marc M

Merci pour le résumé. J'aimerais beaucoup si vous pouviez ajouter que la suppression de /etc/udev/rules.d/70-persistent-net.rulesudev, qui est un fichier généré automatiquement, est utilisée pour garantir que les nouveaux périphériques réseau ne reçoivent pas le même nom que celui précédemment installé.
tvn

@tvn Vous n'avez pas réellement besoin de supprimer ce fichier. Cela empêchera les mêmes noms d'interface / disque d'être réutilisés, mais ce n'est pas nécessairement une mauvaise chose.
Gilles 'SO- arrête d'être méchant'

6

Toutes vos données et paramètres vivent en direct sur votre maison.

Si vous ne le copiez que, vous perdrez:

  • Programmes installés. Mais voir la réponse de Sabacon à cette question .
  • Configurations à l'échelle du système, dans un ordinateur domestique, il ne s'agit généralement que de PPA supplémentaires.
  • Programmes à l’échelle du système (généralement des démons) des données (telles que des bases de données MySQL).

Je pense que le moyen le plus simple de créer une copie réseau est le suivant:

  • Installez OpenSSH Server Télécharger Gwibber sur l'ancien ordinateur.
  • Assurez-vous que les deux ordinateurs sont connectés au réseau.
  • Ouvrez Nautilus (le navigateur de fichiers) sur le nouvel ordinateur.
  • Dans le menu Affichage, cochez la case "Afficher les fichiers cachés".
  • Appuyez sur CTRL + L, dans le type de barre d'adresse. ssh://ip-of-old-computer/home/
  • Votre nom d'utilisateur et votre mot de passe devraient vous être demandés sur l'ancien ordinateur.
  • Copiez tout ce que vous voulez en utilisant l'interface graphique.

entrez la description de l'image ici


4

Dropbox.

C’est ainsi que je sauvegarde mes paramètres d’une machine à une autre, et si je perds complètement mon disque dur, ce n’est pas grave.

Dropbox est un service de sauvegarde / synchronisation en ligne. Il permet de lancer un grand butin gratuitement. Il est disponible sous Ubuntu Karmic et dans les référentiels de partenaires. Vous cherchez un paquet appelé nautilus-dropbox. Ou, vous pouvez simplement le télécharger sur le site: https://www.dropbox.com/downloading?os=lnx

Comme mentionné ci-dessus, la plupart de vos paramètres pertinents sont enregistrés sous /home/yourname/.whatever

Par exemple, les paramètres de configuration de gnome sont enregistrés sous

/home/username/.gnome2

Donc, pour faire la synchronisation:

Première partie: Sauvegardez les paramètres de configuration sur Dropbox. (Tout cela se trouve sur la "vieille" machine, où vous avez vos paramètres / configuration comme vous le souhaitez.)

  1. Accédez à votre répertoire personnel et trouvez le plus grand nombre possible de "fichiers .dot" et de répertoires. Presque tous ces éléments seront pertinents pour les paramètres de configuration personnels (cliquez sur Ctrl + H dans Nautilus pour afficher les fichiers cachés).
  2. Vous allez vouloir copier ces fichiers de configuration dans votre dossier Dropbox. FAITES UNE SAUVEGARDE SI VOUS AVEZ PEUR DE LES PERDRE.
  3. Supprimez les fichiers originaux de votre répertoire personnel, puis créez un lien vers le répertoire personnel du fichier situé dans son nouveau répertoire personnel (sous votre dossier de dépôt). Vous pouvez le faire en glissant-déposant le fichier / dossier dans le nom de votre répertoire personnel tout en maintenant la touche "Alt" enfoncée, puis en sélectionnant "créer un lien".

Deuxième partie: (sur le nouvel ordinateur). Créez des liens à partir des paramètres de configuration synchronisés par Dropbox.

  1. Sur votre "nouvelle" machine, c'est à dire. Une nouvelle installation Ubuntu, supprimez ( ET SAUVEGARDEZ SI NÉCESSAIRE ) vos anciens fichiers de configuration du répertoire de base. Installez la boîte de dépôt sur le nouvel ordinateur. Autorisez-le à se synchroniser, AKA téléchargera vos anciens paramètres de machine.
  2. Répétez l'étape 3 ci-dessus sur le nouvel ordinateur - copiez les liens des dossiers synchronisés par Dropbox dans le répertoire de base.

Voila. Vous disposez maintenant d'une sauvegarde et d'une migration des paramètres Internet.


2

Jetez un coup d'œil à Stipple, ça me semble intéressant:

"Enregistrez une liste d'applications installées, de fichiers .config et d'autres paramètres dans un divanDB. Synchronisez cette base de données avec d'autres ordinateurs avec Ubuntu One. Cette application vous aide également à installer ces packages et ces fichiers .config sur vos autres ordinateurs."

https://launchpad.net/stipple


Ubuntu One ne serait plus une option puisque le service a été arrêté.
Tomislav Nakic-Alfirevic le

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.