Portál AbcLinuxu, 28. července 2025 18:23
cp
. Bohuzel ukazalo se, ze volba to byla spatna. Jsou rozhozena prava - napr. u sudo souboru schazel nastaveny user id extension atd. Jde nejak rsyncnout stary disk (jsem jej nevyhodil) s novym tak aby se opravily tyto chyby?
Řešení dotazu:
1) nabootuji z usb do něčeho jiného 2) rsync -a <source> <destination> (bez /proc /sys /tmp ) 3) upravím si /etc/fstab na <destination> 4) nainstaluji grub do mbr nového disku (záleží, jestli je tohle pro tebe vhodné) 5) chrootnu se do nového disku a dám grub-updatePomodlím se a většinou to naběhne ;))
# mount -o bind / /mnt/oldroot
# rsync -aAXH /mnt/oldroot/ /mnt/newroot
# for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt/newroot$i; done
# chroot /mnt/newroot
# vim /etc/mdadm/mdadm.conf
# vim /etc/fstab
# update-initramfs -k all -c
# update-grub
# grub-install /dev/sda
# grub-install /dev/sdb
rsync -aAXH --one-file-system / /mnt/newroot
rsync --one-file-system
používám roky a nikdy s tím problém nebyl.
Jediné s čím je potřeba počítat je, že /proc, /sys a /dev se v záloze neobjeví, takže je dobré je tam jednou vyrobit ručně (hlavně /dev s nějakým minimálním obsahem), aby se člověk při obnově nedivil, že to nebootuje když je init nemůže mountnout. Týká se to třeba provozu zálohy v chrootu a různých exotických situací, kdy tmpfs v /dev ještě není připraven.
(bez /proc /sys /tmp )k tomu slouzi rsync volba --one-file-system viz rsync help:
-x, --one-file-system don't cross filesystem boundaries
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.