J'ai besoin de faire une copie d'un système Linux fonctionnel qui (étant contenu dans /, et le nouvel emplacement est préparé dans / mnt / sdb5) semble contenir une quantité considérable de liens durs, doux et spéciaux dans / dev; serait cpio
gérer ce travail sans appliquer la magie supplémentaire?
Garanties actuellement connues:
- ne va pas supprimer / modifier le système en cours d'exécution jusqu'au moment où la copie est considérée comme amorçable et avec laquelle travailler
root=/dev/sdb5
; avant la suppression, effectuez une sauvegarde complète de la partition. - utilisera cpio pour archiver chaque répertoire racine séparément, donc le décompressera de l'environnement LiveCD afin que la partition du donneur ne soit pas endommagée
Mais encore, ne va pas perdre de temps juste parce que cpio a raté un indicateur et a paralysé les autorisations / type de nœud / soft ou hardlink.
Quel outil utiliser / quelles roches sous-marines éviter?
Réponses:
Pour répondre à la question réelle concernant
cpio
: Ce sont les drapeaux que j'utiliserais pourcpio
:Bien sûr, puisque vous ne copiez pas sur le réseau, j'utiliserais simplement
cp
:Et si vous voulez pouvoir faire la copie plusieurs fois,
rsync
c'est un meilleur choix pour ses capacités de reprise. (Ilcp
gère également les listes de contrôle d'accès et les attributs étendus et peut éventuellement fonctionner sur le réseau commecpio
. C'est donc l'option la plus utile, sauf pour faire la première copie localement, ce que je préfère faire en utilisantcp
.)N'oubliez pas de copier
/boot
et/dev
!/boot
est facile, il suffit de le copier. Mais/dev
c'est beaucoup plus délicat de nos jours car il est caché parudev
. Je recommande la procédure suivante:mkdir /tmp/dev
mount --move /dev /tmp/dev
/dev
vers à l'/mnt/sdb5
aide de l'une des commandes ci-dessusmount --move /tmp/dev /dev
rmdir /tmp/dev
la source
Comme @Klox l'a mentionné, lors de la copie de partitions de la même taille, j'accepte d'utiliser
dd
.Mais quand vous voulez copier un disque sur une partition différente avec une taille différente, je préfère y aller
rsync
. Montez la nouvelle partition (disons, / mnt / new) et:Pas de magie supplémentaire pour les liens symboliques et pas besoin de cd live (utilisateur unique / init 1 fera très bien l'affaire).
la source
rsync
tout le temps et j'ai raté l'évidence. J'aimedd
pour les raisons que j'ai indiquées, maisrsync
est mieux adapté aux besoins du PO.La variante la plus optimale
dd
consiste à utiliserpartimage
, il copiera uniquement la section utilisée de la partition, ce qui rendra plus pratique la copie de grandes partitions inutilisées.Notez la mise en garde importante:
Une copie pratique est incluse dans la distribution du CD System Rescue .
la source
Lorsque je déplace des installations Linux entre des disques durs, je démarre toujours à partir d'un Live CD et j'utilise
dd
pour copier la partition entière. Je reconnais que cela ne traite pas des changements de taille de disque (inévitablement le nouveau disque est plus gros, ce qui simplifie les choses), mais j'aime la technique pour exactement les raisons pour lesquelles vous êtes préoccupé par l'utilisationcpio
: quelque chose peut mal tourner. En utilisant ladd
technique, c'est tout ou rien: soit le nouveau disque démarre et tout est pareil, soit le disque ne démarre pas. Il n'y a aucun risque de problèmes cachés plus tard.Maintenant, bien sûr, il y a le problème de la partition qui ne remplit pas le nouveau disque, mais je préfère simplement créer une nouvelle partition pour remplir l'espace supplémentaire et compter sur des liens symboliques pour déplacer les répertoires. (Je suis sûr qu'il existe également des outils pour redimensionner les partitions, mais je ne les ai pas utilisés.)
la source
xfs_grow
), et la partition racine est également XFS; pire encore, c'est un Gentoo bien établi qui est presque cette graisse elle-même. Pire encore, le déplacement doit être effectué sans ajouter plus de stockage et ne peut actuellement pas sauvegarder plus de 60 concerts - donc aucune opération de partition. Besoin de mettre Win 'sur cette machine pour tester des trucs.