Para responder à pergunta atual sobre cpio : esses são os sinalizadores que eu usaria para cpio :
find / -xdev -depth \! -path ./lost+found -print0 | cpio --pass-through --null --dot --make-directories --unconditional --preserve-modification-time --sparse /mnt/sdb5
É claro que, como você não está copiando pela rede, basta usar cp :
cp --archive --sparse=always --verbose --one-file-system --target-directory=/mnt/sdb5 /
E se você quiser fazer a cópia várias vezes, rsync é a melhor opção para retomar seus recursos. (Ele também, como cp , manipula ACLs e atributos estendidos e pode, opcionalmente, trabalhar pela rede como cpio . Portanto, é a opção mais útil, exceto para fazer a primeira cópia localmente, o que prefiro fazer usando cp .)
rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress / /mnt/sdb5
Não se esqueça de copiar /boot e /dev !
/boot é fácil, basta copiá-lo. Mas /dev é muito mais complicado hoje em dia, já que está oculto por udev . Eu recomendo o seguinte procedimento:
-
mkdir /tmp/dev -
mount --move /dev /tmp/dev - Copie
/devpara/mnt/sdb5usando um dos comandos acima -
mount --move /tmp/dev /dev -
rmdir /tmp/dev