Muszę zrobić kopię działającego systemu linux, który (znajdujący się w /, a nowe miejsce jest przygotowane w / mnt / sdb5) wydaje się zawierać znaczną ilość twardych, miękkich linków i specjalnych plików w / dev; będzie cpio
obsługiwać tę pracę bez stosowania dodatkowej magii?
Obecnie znane zabezpieczenia:
- nie zamierza usuwać / modyfikować działającego systemu, dopóki kopia nie zostanie uznana za rozruchową i nie będzie działać
root=/dev/sdb5
; przed usunięciem wykonaj pełną kopię zapasową partycji. - użyje cpio do archiwizacji każdego katalogu głównego osobno, dlatego rozpakuje go ze środowiska LiveCD, aby partycja dawcy nie została uszkodzona
Ale nadal nie będę tracić czasu tylko dlatego, że cpio pominęło jakąś flagę i sparaliżowało uprawnienia / typ węzła / soft lub hardlink.
Którego narzędzia użyć / jakich podwodnych skał należy unikać?
Odpowiedzi:
Aby odpowiedzieć na aktualne pytanie dotyczące
cpio
: Oto flagi, których użyłbym docpio
:Oczywiście, ponieważ nie kopiujesz przez sieć, użyłbym tylko
cp
:A jeśli chcesz móc kopiować kilka razy,
rsync
jest to lepszy wybór ze względu na jego możliwości wznowienia. (Obsługuje równieżcp
listy ACL i rozszerzone atrybuty i może opcjonalnie działać w sieci jakcpio
. Jest to więc najbardziej użyteczna opcja, z wyjątkiem wykonywania pierwszej kopii lokalnie, co wolę robić przy użyciucp
.)Nie zapomnij skopiować
/boot
i/dev
!/boot
jest łatwe, wystarczy skopiować. Ale w/dev
dzisiejszych czasach jest znacznie trudniejszy, ponieważ jest ukrytyudev
. Polecam następującą procedurę:mkdir /tmp/dev
mount --move /dev /tmp/dev
/dev
do/mnt/sdb5
stosując jedną z powyższych poleceńmount --move /tmp/dev /dev
rmdir /tmp/dev
źródło
Jak wspomniano @Klox, przy kopiowaniu partycji o tym samym rozmiarze zgadzam się na użycie
dd
.Ale jeśli chcesz skopiować dysk na inną partycję o innym rozmiarze, wolę
rsync
. Zamontuj nową partycję (powiedzmy / mnt / new) i:Brak dodatkowej magii dla dowiązań symbolicznych i brak potrzeby Live CD (pojedynczy użytkownik / init 1 zrobi dobrze).
źródło
rsync
cały czas i przeoczyłem to, co oczywiste. Podoba mi siędd
z podanych przeze mnie powodów, alersync
lepiej pasuje do potrzeb PO.Bardziej optymalny wariant
dd
polega napartimage
skopiowaniu tylko używanej sekcji partycji, co znacznie ułatwia kopiowanie dużych nieużywanych partycji.Zwróć uwagę na ważne zastrzeżenie:
Wygodna kopia znajduje się w dystrybucji System Rescue CD .
źródło
Przenosząc instalacje Linuksa między dyskami twardymi, zawsze uruchamiam z Live CD i używam
dd
do skopiowania całej partycji. Rozumiem, że to nie dotyczy zmian wielkości dysku (nieuchronnie nowy dysk jest większy, co upraszcza rzeczy), ale podoba mi się ta technika z dokładnie powodów, dla których martwisz się użyciemcpio
: coś może pójść nie tak. Korzystając z tejdd
techniki, wszystko jest albo nic: albo nowy dysk uruchamia się i wszystko jest takie samo, albo dysk nie uruchamia się. Nie ma ryzyka pojawienia się problemów w przyszłości.Teraz oczywiście jest problem, że partycja nie zapełnia nowego dysku, ale wolałbym po prostu utworzyć nową partycję, aby wypełnić dodatkowe miejsce i polegać na dowiązaniach symbolicznych do przenoszenia katalogów. (Jestem pewien, że są też narzędzia do zmiany rozmiaru partycji, ale ich nie użyłem).
źródło
xfs_grow
), a partycją główną jest także XFS; co gorsza, jest to ugruntowany Gentoo, który sam w sobie jest prawie taki gruby. Co gorsza, przeniesienie musi zostać wykonane bez dodawania większej ilości miejsca i obecnie nie można wykonać kopii zapasowej więcej niż 60 koncertów - więc nie ma operacji partycjonowania. Musisz umieścić Win na tym komputerze, aby przetestować niektóre rzeczy.