Dosyaları yedeklerde saklamak için tar yardımcı programını kullanırken, bir genişletilmiş ACL'leri kaybeder.
ACL'leri korumak için sık kullanılan ve kesilmeyen bir çözüm var mı (gibi: ACL'leri sıfırdan okuyacak bir komut dosyası oluşturun)?
Dosyaları yedeklerde saklamak için tar yardımcı programını kullanırken, bir genişletilmiş ACL'leri kaybeder.
ACL'leri korumak için sık kullanılan ve kesilmeyen bir çözüm var mı (gibi: ACL'leri sıfırdan okuyacak bir komut dosyası oluşturun)?
Yanıtlar:
Tar kullanarak
Yaratmak:
tar --acls -cpf backup.tar some-dir-or-file
Yıldızını kaldırmak için:
tar --acls -xpf backup.tar
tar: unrecognized option '--acls'
çalışmıyor.
--acls
tar
desteklemiyor --acls
. (Bkz . # 732071 no'lu hata .) Bu özellik paketten de edinilebilir wheezy-backports
.
Aslında, sorunun (standart) dosya izin bitleriyle ilgili olmadığını, fakat ACL bilgilerinin genişlediğini düşünüyorum (bkz. Setfacl (1) veya acl (5)).
Bildiğim kadarıyla, değiştirilmemiş GNU katranı ACL bilgisini görmezden geliyor. (RHEL 5.2 ile birlikte gönderilen GNU katran 1.15.1 man sayfası, --acls ve --no-acls düğmelerinden bahseder, ancak ben onları çalıştırmadım.)
Ancak, exustar formatını seçerseniz, yıldız programı ACL'leri yedekleyebilir ve geri yükleyebilir :
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Yıldız giriş sayfası: http://cdrecord.berlios.de/new/private/star.html Yıldız, en azından ubuntu'da bulunur.
star
Debian'da mevcut değildir ve bir "ekip" tarafından tutulmuyor gibi görünmektedir. Proje 30 yaşından sonra hala hayatta ve sürdürülüyor. bsdtar
Başka bir şey istersen dene .
Şu ana kadar şunu buldum, şu ana kadar bir çözüm arıyorum:
ilk önce klasörümden bir getfactl yap
getfacl -R /a_folder > folder.acl
sonra düzenli bir katran yapın
tar -czvf folder.tar.gz /a_folder
çıkardığımda
tar -xvf folder.tar.gz
izinler için bir setfacl yapın.
setfacl --restore=folder.acl
bu benim için çalışıyor.
Kullanımı basit ama güçlü bir çözüm arıyorsanız, tavsiye ederim rdiff-backup
.
Temel olarak, bir kaynak dizinin bir kopyasını bir hedef dizine oluşturur, ancak ek bilgileri kaydeder, böylece istediğiniz zaman geri gidebilirsiniz.
Ve tabii ki, sembolik bağlantıları, özel dosyaları, basılı linkleri, izinleri, kullanıcı kimliği ve değiştirme zamanlarını korur.
Ben Kullanmak önermek bsdtar
.
bsdtar
yedekleri, varsayılan olarak ACL uzatıldı kullandığı, aynı sözdizimi olarak GNU tar
, hem de ürettiği arşivleri tarafından okunabilir GNU tar
.
Paket ve komut adı (Debian tabanlı dağıtımlar altında) bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
2. (özü) komutu ACL'leri geri yükler.
Katran Man Sayfasından.
-p, --same-permections, --preserve-permections,
dosyaları çıkartırken umask'ı yok sayar
Aslında erişim izinlerini (ACL) değiştiren bir arşivleme eylemi değil, paketlerini açma eylemidir. Tar, dosyaları bir kullanıcıdan diğerine dağıtmak için sıkça kullanılır ve bu nedenle, bir kullanıcının paketlerini açtığında umask uygulamasının uygun olduğu düşünülür .
Önceden izin verilen dosyaları korumak için, seçenekleriniz için bir reklam vermeniz yeterlidir. Örneğin
Düz katran:
tar xvp some-file
bz.tar:
tar xvjp some-file
gz.tar:
tar xvzp some-file