web-dev-qa-db-fra.com

Après une réinstallation, ajout d’une partition de base: Puis-je copier l’ancien dossier de base sur la nouvelle partition?

Je cours 16.04 sur un système combiné et une partition à la maison. Je planifie une réinstallation complète avec une partition home séparée. Est-ce une bonne idée de sauvegarder l'intégralité de votre dossier/home/myUser sur un support externe et de le copier dans la nouvelle partition d'accueil (en écrasant les fichiers s'ils existent)?

Ou dois-je simplement sauvegarder les données utilisateur telles que les images, les fichiers que j'ai édités, etc. sur un support externe. Également des fichiers "système" sélectionnés? Le seul auquel je pense maintenant est .vimrc. (Et ne pas écraser les fichiers.)

Quels problèmes/doubles travaux peuvent se produire dans ce processus?

(Il y a longtemps que j'ai entendu parler de procédures pour créer une partition principale séparée sans utiliser de support externe, mais c'est peut-être un risque inutile?)

5
ycc_swe

Oui! Vous pouvez copier l'ancien dossier de base sur la nouvelle partition (via un disque dur externe).

Mais ... qu'en est-il des autorisations de fichiers?

Le problème est que si votre disque dur externe est formaté pour les incompatibilités Windows, il ne respectera pas la propriété du fichier ni les autorisations lorsque vous les copiez sur le disque externe.

Pour la plupart des fichiers, cela n'aura pas d'importance. Cependant, pour certains fichiers tels que clé privée ssh , les autorisations sont importantes et sans clé, la clé ne fonctionnera pas.

Solution 1

Formatez le disque externe au ext4 le format par défaut utilisé par Ubuntu. L'inconvénient est que toutes les données du disque externe seront perdues si vous le reformatez en ext4. Sur le plan positif, vous aurez un lecteur externe spécifiquement pour transférer des données entre deux ordinateurs Ubuntu (n'importe quel Linux).

Glisser-déposer ou copier coller par Ctrl+C et Ctrl+V dans Nautilus ne fonctionnerait que si vous êtes le seul utilisateur de l'ordinateur et qu'il n'y a qu'un seul compte d'utilisateur (le vôtre).

Si l'ordinateur a d'autres comptes d'utilisateur que vous souhaitez copier à l'aide du terminal. Supposons que votre disque dur externe est monté en tant que /media/$USER/USB2TB. Ouvrez un terminal en appuyant sur Ctrl+Alt+T et entrez:

Sudo cp -rp /home /media/$USER/USB2TB/home

Au lieu de la commande cp, vous pouvez utiliser rsync comme:

Sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.

Voir https://stackoverflow.com/questions/6339287/copy-or-rsync-command pour obtenir des réponses diverses sur la différence entre cp et rsync.

Dans tous les cas, rappelez-vous d'éjecter ou en toute sécurité le disque dur et ATTENDEZ jusqu'à ce que vous puissiez le débrancher en toute sécurité.

Solution 2

Utilisez le logiciel de sauvegarde par défaut fourni avec Ubuntu pour sauvegarder votre dossier personnel. Assurez-vous que la cible de la sauvegarde est le lecteur externe. Cela garantit que les données de propriété et d'autorisation sont préservées même si le lecteur est au format FAT32 ou NTFS.

Solution 3

Mettez tout dans une archive compressée. Ouvrez un terminal en appuyant sur Ctrl+Alt+T et entrez:

tar czvf /media/$USER/USB2TB/myhomebackup.tar.gz /home/$USER

$USER est votre ID utilisateur pour cet ordinateur. Les options tar czvf effectuent les opérations suivantes:

  • c crée une nouvelle archive
  • z filtre l'archive via gzip pour la compresser
  • v lister verbalement les fichiers traités
  • f <name of archive> utilise le nom du fichier archive <name of archive>

Pour écraser ou pas?

Puisqu'il s'agit de la même machine, sans nouveau matériel, je remplacerais les fichiers existants. Tout d'abord, avec une nouvelle installation, il n'y a pas de "vraies" données dans votre dossier personnel. Deuxièmement, le remplacement des fichiers cachés ramène les configurations, les signets, etc. de votre ancienne installation.

Je trouve plus facile de parcourir les dossiers et les fichiers cachés (les noms de fichiers et de dossiers commençant par un .dot) et de supprimer ceux qui ne sont pas nécessaires. Par exemple, si je n'ai plus besoin du programme foo et que je n'ai pas installé foo dans la nouvelle installation, je supprimerais le dossier .foo de mon dossier personnel. Même si je ne supprime pas .foo, cela ne prend pas beaucoup de place. Si je décide d’utiliser à nouveau foo un jour, la configuration sera là.

Peut-on le faire sans nouvelle installation?

Oui! Vous pouvez déplacer le dossier de départ vers une nouvelle partition. Il existe un excellent guide à ce sujet sur: https://help.ubuntu.com/community/Partitioning/Home/Moving

Je vous conseille vivement de faire une sauvegarde (ou deux sauvegardes!) De vos images, de vos chansons ou de tout ce qui vous tient à cœur avant d’essayer.

Les erreurs se produisent. Si vous en créez une, vos données risquent de disparaître pour toujours. Veillez donc à conserver au moins deux sauvegardes des fichiers importants avant de tenter quoi que ce soit.

J'espère que cela t'aides

10
user68186

Je fais exactement la même chose sur mon système et n'ai généralement aucun problème.

  • Je ne restaure pas tous les fichiers sur ~/.config, mais ne sélectionne que les fichiers contenant certaines données que je souhaite
  • Je recopie les fichiers dans ~/.mozilla et ~/.Thunderbird
  • Je copie des fichiers dans ~/.config/variété et ~/.config/qBittorrent

La plupart des fichiers de ~/.config sont reconstruits lorsque le programme qui les utilise démarre pour la première fois, et les modifications que j'ai apportées sont sans importance.

5
Charles Green

Oui, vous pouvez copier le conten de l'ancien dossier de base sur la nouvelle partition.

Disons que vous avez démarré à partir d'un lecteur live et montez la partition racine et la partition de démarrage,

_Sudo mkdir /mnt/root
Sudo mkdir /mnt/home

Sudo mount /dev/sdxm /mnt/root  # the root partition
Sudo mount /dev/sdyn /mnt/home  # the home partition
_

où x, y sont des lettres de lecteur et m, n des numéros de partition.

Ensuite, vous pouvez copier avec rsync d’une manière qui préserve les autorisations et la propriété,

_Sudo rsync -Havn /mnt/root/home/ /mnt/home
_

Veuillez noter la barre oblique finale _/_ dans la spécification source. Ceci est un 'essai à sec', et si le résultat est bon, vous pouvez faire la copie réelle,

_Sudo rsync -Hav /mnt/root/home/ /mnt/home
_

N'oubliez pas d'ajouter une ligne pour la partition _/home_ dans le fichier /etc/fstab, qui se trouve à _/mnt/root/etc/fstab_ lorsque vous êtes toujours démarré à partir du lecteur live.

_Sudo nano /mnt/root/etc/fstab
_

La ligne devrait être semblable à cette ligne,

_UUID=2175f8ed-4ab3-4268-b5d6-f38c2017e547 /home  ext4  errors=remount-ro  0  2
_

où vous devez remplacer la chaîne hexadécimale UUID par celle de votre partition _/home_ telle que vue par blkid (sans guillemets).

Comme indiqué dans la réponse de Charles Green, vous pouvez ou non ignorer certaines données dans _~/.config_.


J'ai utilisé une autre méthode lors de la mise à niveau vers 16.04 LTS: J'ai des données personnelles dans une partition de données séparée, qui est également montée via le fichier _/etc/fstab_. Cela rend mon répertoire _/home_ plutôt petit, de sorte qu'il peut être conservé dans la partition racine. J'ai liens symboliques du répertoire my _/home_ à la partition de données, où les boîtes aux lettres, les fichiers VirtualBox et d’autres fichiers volumineux peuvent résider.

2
sudodus