Saya perlu membuat salinan dari sistem linux yang berfungsi, yang (karena terdapat di /, dan tempat baru disiapkan di / mnt / sdb5) tampaknya berisi banyak sekali tautan keras, lunak, dan file khusus di / dev; akan cpio
menangani pekerjaan ini tanpa menerapkan sihir tambahan?
Perlindungan yang saat ini dikenal:
- tidak akan menghapus / memodifikasi sistem yang sedang berjalan sampai salinan dianggap dapat di-boot dan bekerja dengan
root=/dev/sdb5
; sebelum menghapus, ambil cadangan partisi penuh. - akan menggunakan cpio untuk mengarsipkan setiap direktori root secara terpisah, sehingga akan membukanya dari lingkungan LiveCD sehingga partisi donor tidak akan dirugikan
Tapi tetap saja, tidak akan kehilangan waktu hanya karena cpio melewatkan beberapa flag dan melumpuhkan izin / tipe simpul / lunak atau hardlink.
Alat mana yang digunakan / batuan bawah laut mana yang harus dihindari?
Jawaban:
Untuk menjawab pertanyaan aktual mengenai
cpio
: Ini adalah bendera yang akan saya gunakan untukcpio
:Tentu saja, karena Anda tidak menyalin melalui jaringan, saya hanya akan menggunakan
cp
:Dan jika Anda ingin dapat melakukan penyalinan beberapa kali,
rsync
merupakan pilihan yang lebih baik untuk kemampuan melanjutkannya. (Ini juga, seperticp
, menangani ACL dan atribut yang diperluas dan secara opsional dapat bekerja melalui jaringan seperticpio
. Jadi itu adalah opsi yang paling berguna, kecuali untuk melakukan salinan pertama secara lokal, yang saya lebih suka lakukan menggunakancp
.)Jangan Lupa menyalin
/boot
dan/dev
!/boot
itu mudah, cukup salin saja. Tetapi/dev
jauh lebih rumit saat ini karena disembunyikan olehudev
. Saya merekomendasikan prosedur berikut:mkdir /tmp/dev
mount --move /dev /tmp/dev
/dev
untuk/mnt/sdb5
menggunakan salah satu dari perintah di atasmount --move /tmp/dev /dev
rmdir /tmp/dev
sumber
Seperti @Klox sebutkan, ketika menyalin partisi dengan ukuran yang sama saya setuju untuk menggunakan
dd
.Tetapi ketika Anda ingin menyalin disk ke partisi yang berbeda dengan ukuran yang berbeda, saya lebih suka menggunakannya
rsync
. Pasang partisi baru (katakanlah, / mnt / baru) dan:Tidak ada sihir tambahan untuk symlink dan tidak perlu live cd (pengguna tunggal / init 1 akan baik-baik saja).
sumber
rsync
semua waktu dan melewatkan yang jelas. Saya sukadd
karena alasan yang saya nyatakan, tetapirsync
lebih cocok untuk kebutuhan OP.Varian yang lebih optimal
dd
adalah menggunakanpartimage
, itu hanya akan menyalin bagian yang digunakan dari partisi membuat menyalin partisi yang tidak digunakan besar lebih bijaksana.Perhatikan peringatan penting:
Salinan praktis disertakan pada distribusi CD Penyelamatan Sistem .
sumber
Saat memindahkan instalasi Linux di antara hard drive, saya selalu boot dari Live CD dan menggunakannya
dd
untuk menyalin seluruh partisi. Saya menyadari bahwa ini tidak berurusan dengan perubahan dalam ukuran disk (mau tidak mau disk baru lebih besar, yang menyederhanakan hal-hal), tapi saya suka teknik untuk alasan yang Anda khawatirkan tentang menggunakancpio
: sesuatu mungkin salah. Menggunakandd
teknik ini, semuanya atau tidak sama sekali: baik disk baru boot dan semuanya sama, atau disk tidak bisa boot. Tidak ada risiko mengintai masalah yang muncul nanti.Sekarang, tentu saja, ada masalah partisi yang tidak mengisi disk baru, tetapi saya lebih suka membuat partisi baru untuk mengisi ruang tambahan dan mengandalkan symlink untuk memindahkan direktori. (Saya yakin ada alat untuk mengubah ukuran partisi juga, tapi saya belum menggunakannya.)
sumber
xfs_grow
), dan partisi root juga XFS; lebih buruk lagi, ini adalah Gentoo mapan yang hampir setinggi itu sendiri. Lebih buruk lagi, langkah itu harus dilakukan tanpa menambahkan lebih banyak penyimpanan dan saat ini tidak dapat membuat cadangan lebih dari 60 pertunjukan - jadi tidak ada operasi partisi. Perlu memasukkan Win 'ke mesin itu untuk menguji beberapa hal.