2013-12-16 24 views
6

Bu basit bir soru ama biraz araştırma yaptım ve herhangi bir cevap bulamadım ... xattr yoluyla genişletilmiş öznitelikleri tanımladığımızda, bu özniteliklerin - bir parçası olarak - içeride saklanıp saklanmadığını bilen var mı? 'içeriği (biggining, in sonunda?), veya inode bunları saklamak için özel bir bölgeye sahipse? Bu arada, ext4'te her uzatılmış özniteliğin bir dosya sistemi bloğuyla (ör., 4 KiB) sınırlandırıldığını okudum. Dosya sistemindeki her dosyaya 7 genişletilmiş özniteliği depolamak istediğimde bunun yeterli olup olmadığını anlayamıyorum. Bu reallistic mi?Genişletilmiş özellikler nerede saklanıyor?

Son sorum, bu uzatılmış özniteliklerin, dosyaların farklı dosya sistemlerine sahip diğer makinelere taşınması durumunda bu özniteliklere ne zaman gerçekleşirse taşınabilir olmasıdır?

+0

Henüz oylamadığınızdan beri, sorunuzu tam olarak cevaplamadığımı varsayıyorum. Soruyu biraz daha netleştirebilir misiniz? – aleatha

cevap

5

Eğer inode özelliğine bakarsanız, genişletilmiş özniteliklere uyum sağlamak için inode'un sonunda az miktarda alan olduğunu fark edeceksiniz. Bu alanı taşarsanız, ext4 ek genişletilmiş özellikler için başka bir bloğu (temelde bir kaynak çatalı gibi) ayırmanıza izin verir. Bu 4 KB kısıtlaması, dosya başına özniteliktir, bu nedenle öznitelik 4 KB'den büyük bir BLOB olmadıkça, dosya başına 7 genişletilmiş özniteliği kesinlikle saklayabilirsiniz. Ancak, inode'un sonunda alanı aşarsanız, dosya sisteminizin kullanılabilir boyutunu azaltarak veri yerine meta verilere bloklar atayacaksınız.

Kaynak: https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Extended_Attributes

taşınabilirlik ilgili sorunuza için, genişletilmiş özellikler hatta tek bir dosya sistemi içinde, varsayılan olarak kopyalanmaz ve dosya sistemleri arasında taşınabilir değildir. Bu konuyla ilgili daha fazla tartışma için bkz. (http://support.microsoft.com/kb/91606302). Rysnc genişletilmiş öznitelikleri kopyalamak için çok şey yapabilir, ancak hedef dosya sistemi xattr'leri desteklemiyorsa, şansınız kalmaz.

+0

[Taşınabilirlikle ilgili sorunuzu yanıtlamak için, uzatılmış öznitelikler varsayılan olarak kopyalanmaz] macOS Sierra ve en az OS X El Capitan varsayılan olarak xattr kopyala – cavalcade