Bir Linux dosya sisteminin çoğu yeni bir sürücüye nasıl kopyalanır?


1

Bir SSD alıyorum ve yeni Linux önyükleme sürücüm olmasını istiyorum. Ancak, mevcut sabit sürücümün kök Linux bölümünden daha küçük, bu yüzden dosya sistemine kopyalamak ve bazı dizinleri (başka bir sabit disk sürücüsüne bırakacağım) dışlamak istiyorum. Bu yüzden bölmeyi ayrık veya benzer şekilde klonlayamam çünkü çok büyük.

Tüm verilerin, meta verilerin, bağlantıların ve benzeri şeylerin korunduğundan emin olmak istiyorum. Bu, "cp" yi hariç tutuyor, çünkü tüm meta veriyi ve bağlantı bilgilerini korumuyor.

Tanımlayabildiğim iki temel teknik şöyle görünüyor:

 find / -xdev -print0 | cpio -pa0V /mnt/dst

ve:

 rsync -avP -H -S --numeric-ids / /mnt/dst

Biri geçmişte kullandıklarını, bunlardan birini mi yoksa farklı bir yöntemi mi kullanacaklarını veya bu yaklaşımlarda herhangi bir kusur gördüklerini farkedebilir mi?

Yanıtlar:


0

Meta verilerle ne kastettiğinizden emin değilsiniz. Inode numaraları? Bir cp-a tüm izinleri, bağlantıları vb. Kopyalar. Şeyleri hariç tutmak istersem rsync's --exclude seçeneğini kullanırdım. Seyrek dosyalarınız varsa (sanallaştırma yapmıyorsanız muhtemelen kullanmazsınız), rsync kullanacaksanız -S seçeneğini kullanmalısınız.

Önyükleme sürücünüz ise, önyükleyici, vb. Yeniden yüklemeniz ve bölümlerinizi de yapılandırmanız gerekir.


0

Genel olarak, find ve cpio kullanma yaklaşımı iyi olmalıdır (find, xargs ve tar kullanmaya meyilliyim, fakat bu daha çok bu araçların mevcut bilgisinden kaynaklanıyor). Genellikle, katran ve cpio yedekleme için yapılır ve bu nedenle gereken her şeyi depolamalıdır. Bununla birlikte, eklemek istemedikleri bazı meta veriler olabilir (ACL gibi SELinux etiketleri gibi), bunun için daha iyi desteği olan bir yıldız var. Rsync'in cp'den daha iyi olacağını, ancak ek meta verileri işlemede yıldızdan daha kötüsünü beklerdim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.