Necesito hacer una copia de un sistema Linux en funcionamiento, que (al estar contenido en / y el nuevo lugar está preparado en / mnt / sdb5) parece contener una cantidad considerable de enlaces duros, blandos y archivos especiales en / dev; sería cpio
manejar este trabajo sin aplicar mágico adicional?
Garantías conocidas actualmente:
- no va a eliminar / modificar el sistema en ejecución hasta el momento en que la copia se considere arrancable y funcione
root=/dev/sdb5
; antes de eliminar, realice una copia de seguridad de partición completa. - utilizará cpio para archivar cada directorio raíz por separado, por lo que lo descomprimirá del entorno LiveCD para que la partición de donantes no se vea perjudicada
Pero aún así, no va a perder tiempo solo porque cpio perdió alguna bandera y paralizó los permisos / tipo de nodo / soft o hardlink.
¿Qué herramienta usar / qué rocas submarinas evitar?
Respuestas:
Para responder la pregunta real sobre
cpio
: Estas son las banderas que usaría paracpio
:Por supuesto, como no está copiando a través de la red, simplemente usaría
cp
:Y si desea poder copiar varias veces,
rsync
es una mejor opción por sus capacidades de reanudación. (También, comocp
, maneja las ACL y los atributos extendidos y, opcionalmente, puede funcionar en la red comocpio
. Por lo tanto, es la opción más útil, excepto para hacer la primera copia localmente, que prefiero usarcp
).No te olvides de copiar
/boot
y/dev
!/boot
es fácil, solo cópialo. Pero/dev
es mucho más complicado hoy en día ya que está oculto porudev
. Recomiendo el siguiente procedimiento:mkdir /tmp/dev
mount --move /dev /tmp/dev
/dev
para/mnt/sdb5
usar uno de los comandos anterioresmount --move /tmp/dev /dev
rmdir /tmp/dev
fuente
Como @Klox mencionó, al copiar particiones del mismo tamaño, estoy de acuerdo en usar
dd
.Pero cuando desea copiar un disco en una partición diferente con un tamaño diferente, prefiero ir con
rsync
. Monte la nueva partición (digamos, / mnt / new) y:Sin magia adicional para enlaces simbólicos y sin necesidad de CD en vivo (un solo usuario / init 1 funcionará bien).
fuente
rsync
todo el tiempo y perdí lo obvio. Me gustadd
por las razones que dije, perorsync
se ajusta mejor a las necesidades del OP.La variante más óptima de
dd
usar espartimage
, copiará solo la sección usada de la partición, lo que hace que la copia de particiones grandes no utilizadas sea más conveniente.Tenga en cuenta la advertencia importante:
Se incluye una copia conveniente en la distribución del CD de System Rescue .
fuente
Cuando muevo instalaciones de Linux entre discos duros, siempre inicio desde un Live CD y lo uso
dd
para copiar toda la partición. Reconozco que esto no trata con los cambios en el tamaño del disco (inevitablemente, el nuevo disco es más grande, lo que simplifica las cosas), pero me gusta la técnica exactamente por las razones que le preocupa usarcpio
: algo puede salir mal. Usando ladd
técnica, es todo o nada: o el nuevo disco arranca y todo es igual, o el disco no arranca. No hay riesgo de que surjan problemas al acecho más tarde.Ahora, por supuesto, está el problema de que la partición no llene el nuevo disco, pero prefiero crear una nueva partición para llenar el espacio extra y confiar en enlaces simbólicos para mover los directorios. (Estoy seguro de que también hay herramientas para cambiar el tamaño de las particiones, pero no las he usado).
fuente
xfs_grow
), y la partición raíz también es XFS; peor aún, es un Gentoo bien establecido que es casi tan gordo. Peor aún, el movimiento debe hacerse sin agregar más almacenamiento y actualmente no puede hacer una copia de seguridad de más de 60 conciertos, por lo que no hay operaciones de partición. Necesito poner Win 'en esa máquina para probar algunas cosas.