web-dev-qa-db-fra.com

Déplacement du dossier de départ vers la nouvelle installation d'Ubuntu

Est-il possible de déplacer le dossier de départ vers une nouvelle installation d'Ubuntu afin de conserver tous les réglages et réglages apportés à l'utilisateur sur cet ordinateur? C'est comme si je créais un nouvel utilisateur sur la nouvelle installation d'Ubuntu avec le même nom et le même mot de passe que l'utilisateur que je souhaitais migrer vers la nouvelle installation d'Ubuntu. Cela fonctionnera-t-il, ou mieux encore, est-ce sûr?

3
Esbjörn Stenberg

Oui. Je l'ai fait plusieurs fois. rsync a un mode "-a" qui préserve la propriété, les temps de fichier, tout. Peut envoyer des fichiers sur le réseau. Ou vous pouvez copier sur un disque externe formaté ext4 et restaurer avec rsync. Rappelez-vous simplement que ne copiez pas avec le glisser-déposer ordinaire, utilisez rsync et conservez l'archive de toutes les propriétés ("-a").

Supposons que mon.old.computer ait votre compte "myuser".

Configurez le nouvel ordinateur my.new.computer. Créez "myuser" ici. si vous êtes fastidieux, obtenez l'ID utilisateur et l'ID de groupe de l'ancien système et affectez-les lorsque vous créez le compte d'utilisateur. Cela peut réduire les problèmes, mais je pense que je le fais uniquement parce que je suis démodé et que cela a mal tourné une fois en 2005. Vous savez ce que je veux dire à propos de uid et de gid? Numéros du compte d'utilisateur. Sur l'ancien système, exécutez "id myuser", puis, lorsque vous créez le nouvel utilisateur sur le nouvel ordinateur, vous affectez les mêmes uid et gid.

Pour créer un autre compte sur ces deux systèmes, nous ne voulons pas essayer de copier un dossier utilisateur pour "myuser" lorsque cet utilisateur est connecté, car une session dépend des fichiers que vous détruisez. Répéter: vous ne devez pas vous connecter en tant que myuser lorsque vous souhaitez copier des fichiers pour le compte myuser. Sur l'un ou l'autre système.

Sur le nouveau système, en tant que root, déplacez le répertoire utilisateur par défaut hors du chemin (soyez prudent, ne supprimez pas!), Puis créez un nouveau répertoire.

Sudo mv /home/myuser /home/myuser.orig
Sudo mkdir /home/myuser
Sudo chown myuser.myuser /home/myuser

Vous avez besoin de cette dernière étape pour que votre compte utilisateur ordinaire puisse rsync les fichiers. Nous ne voulons pas le faire en tant que root.

Copiez ensuite le dossier /home/myuser de l’ancien vers le nouveau, à l’aide des balises rsync. -rav.

Peut envoyer des fichiers de l'ancien système au nouveau système. Sur l'ancien système

cd /home
rsync -e ssh -ravn myuser  [email protected]:/home

Où:

  • -r: récursif
  • -a: mode d'archivage
  • -v: mode verbeux. Vous pouvez laisser cela de côté, cela ira plus vite. Mais avec moins de réconfort.
  • -n: n'effectue aucune modification

J'ai mis le drapeau -n parce que je veux un test; s'il y a des erreurs, nous le découvrirons. Après le test, exécutez la même commande sans le drapeau -n.

Cela ne fonctionnera que si votre compte utilisateur dispose des autorisations nécessaires pour copier et écrire les fichiers dans/home/myuser. Je ne sais pas trop comment faire cela sans être root, mais je le savais, et je parie que quelqu'un ici sait quoi faire.

Ou, si vous êtes dans un nouveau système, pouvez copier d’autres

cd /home
rsync -e ssh -rav my.old.computer:/home/myuser .

La période . signifie le répertoire de travail actuel. Exécutez d'abord le -n pour voir ce qui ne va pas.

Je l'ai fait plusieurs fois. Le paramétrage manuel de l'uid et du gid ne devrait vraiment pas être nécessaire, car la combinaison de ssh et de rsync devrait attribuer correctement les nouveaux fichiers. Cependant, je me suis trompé une fois et tous les nouveaux fichiers ont été utilisés tels quels par le mauvais utilisateur. Où vous vous attendez à voir la sortie ls -la comme ceci:

rw-------   1 myuser myuser        174 Aug  4 22:43 .Xauthority

vous voyez des numéros d'utilisateur, comme

rw-------   1 504 50004        174 Aug  4 22:43 .Xauthority

ou pire, le nom d'un autre utilisateur. Cela se produit parce que les uid et gid déterminent vraiment la propriété du fichier; le nom lisible par l'homme est superficiel.

Vous pouvez généralement vous en sortir avec chown, mais vous ne verrez pas si vous alignez uid et gid.

Ne vous inquiétez pas trop si la copie échoue une fois ou fait une chose à laquelle vous ne vous attendez pas, car vous pouvez toujours la répéter. Vous ne détruisez pas l'ancien ordinateur, et le nouvel ordinateur est une ardoise vierge.

Je pense que certains amateurs de tar diront que la meilleure façon de procéder consiste à tarifier l’ancien, de déplacer le fichier tar.gz, puis de le développer. En 2003 ou à peu près, cela nous semblait essentiel, mais dernièrement, la méthode rsync a bien fonctionné.

À propos, si vous souhaitez en savoir plus sur rsync, le man rsync est l’une des meilleures pages de manuel les plus utiles. Il est lisible par l'homme avec une tonne d'exemples et c'est l'une des raisons pour lesquelles je m'accroche à rsync comme un radeau de sauvetage dans la maintenance du système.

5
pauljohn32