Dosya / klasör izinlerini kaybetmeden dosyaları kopyala


36

Dosya / klasörleri ext4 dosya sistemindeki bir ubuntu bilgisayardan, dosya izinlerini kaybetmeden vfat dosya sistemini kullanan bir usb bellek kullanarak ext4 dosya sistemindeki başka bir ubuntu bilgisayara nasıl kopyalayabilirim?

Temel ctrl-c'yi kaynak bilgisayardan denedim, sonra ctrl-v'yi usb'e, sonra ctrl-c'yi usb'den, sonra ctrl-v'yi hedef bilgisayara, ve dosya / klasör izinlerinin hiçbiri bozulmadan kalmadı.


vfatunix dosya sistemi izinlerini desteklemiyor. Onları korumak istiyorsanız, bunları bir tarballda veya benzer bir şeyde saklamanız gerekir.
Alex L.

neden rsyncönerdiğim gibi değil ?
SiddharthaRT

Yanıtlar:


56

Kaynağın tar arşivini oluşturabilir, USB sürücüyü kullanarak diğer bilgisayara kopyalayabilir ve buraya çıkarabilirsiniz. Tar dosya izinlerini korur.

1 - Kaynak bilgisayarda:

cd /path/to/folder/to/copy
tar cvpzf put_your_name_here.tar.gz .

2 - put_your_name_here.tar.gzUSB sürücüye ve ardından diğer bilgisayara kopyalayın

3 - Hedef bilgisayarda:

cd /path/to/destination/folder
tar xpvzf put_your_name_here.tar.gz

tar Arşivlenmiş klasör yapısını tüm izinleri eksiksiz olacak şekilde yeniden oluşturacak.

Bu komutlar kaynak klasörün içeriğini arşivler ve ardından hedef klasöre çıkarır. Klasörün kendisini kopyalamak istiyorsanız, 1. adımda:

cd /path/to/parent/folder
tar cvpzf put_your_name_here.tar.gz folder_to_copy

Aynı mekanizma tek dosyalar için de kullanılabilir.


Bir bilgisayardan diğerine kullanarak bağlanabiliyorsanız ssh, @siddharthart answer ( rsync) daha pratik olabilir.


İzinlerin korunmasını sağlamak için -pbayrağı unutma tar.
haziz

@haziz Aslında, -pgerçekten gerekli değil, yorumumun @ mikewhat'ın cevabı. Aynı -zzamanda, tareski bir versiyon olmadığı sürece, sıkıştırma türünü kendi kendine çözebildiği gibi , açarken de gerekli değildir . Bayrakları komuta dahil etmek zor değil.
sierrasdetandil

3
Bu davranışa güvenebileceğini sanmıyorum. BTW "tar, -p, --preserve-permections, --same-permections dosya izinleri hakkında bilgi edinir (süper kullanıcı için varsayılan)" man tar sayfasından alıntı yapar. Bu varsayılan davranış olarak sayılmaz. -zSıkıştırırken veya sıkıştırmayı kaldırırken (veya -jbzip2 kullanıyorsanız) her zaman açıkça bayrağı heceleyecektim .
haziz

(Temel) şifreleme kolayca eklenebilir mi? (Sanırım bunu yapmanın pek çok yolu vardır, ama merak ediyorum, ama komut satırı üzerinden yapılırsa, şifre / şifreleme anahtarı / parolası nasıl sağlanacak? sudo şifresi gibi, hiçbir tuş vuruşunun görünmez olduğu yer mi?)
natty hakkında delice,

tarÇok ciddi bir problem yaşar - 100 karakterden daha uzun yollarda boğulur.
Nathan Osman

12

Kopyalarken tüm izinleri korumak rsynciçin -abayrakla deneyebilirsiniz . Daha basit bir çözümün farkında değilim, ancak geçmişte bir amaç için kullanmıştım.

Rsync, cayır cayır yanan hızlı kalırken tekrarlanan fotokopi, klasör güncelleme vb.


6
Ben sevmiyorum rsync(: -] aslında, aşk o), ancak hedef cihaz oshirowanen açıklanan gibi biçimlendirilmiş vfat ise ext4 dosya izinleri kaybolacaktır. tarSolüsyon bu durumda daha iyidir.
yuric

6

Bence taring ve daha sonra da untaring hem dosyalarda hem de dizinlerde çalışmalı.

tar:

tar cvpfz /target.tar.gz /source/

açmak için:

tar xvpfz /source/

pBayrak açılımı --preserve-permissions.

Daha man tarfazla bilgi için görmelisin .


Sadece emin olmak -piçin gerekli olmayan hızlı bir test yaptım - tar en azından kullanıcı arşivlenen / çıkartılan dosyaların sahibi olduğunda izinleri varsayılan olarak koruyor.
sierrasdetandil

2
Doğru, ancak hangi dosyaları kopyalamak istediğinizi bize söylemediniz ve kendi başıma hiçbir şey üstlenmek için hiçbir nedenim yoktu.
mik1
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.