(no subject)

Jun 09, 2009 15:22

Заметки.

XFS имеет еще одну feature, называемую "extended attributes". Такие extended attributes позволяют вам associate user-defined данные с объектами файловой системы. Например, если вы имеете графический файл по имени mygraphic.png, можно attach к нему атрибут, называемый "thumbnail", содержащий маленькую версию image. Эти данные не будут viewable обычными IO файловыми операциями, но к ним можно обращаться из программ, использующих special extended attributes API. По своей сути, extended attributes похожи на "resource fork", существующие на MacOS системах.

Имеется пример использования extended attributes через команду attr из командной строки. Скажем, я желаю добавить description attribute к моему home каталогу. Я ввожу:

$ attr -s description -V "Home of Daniel Robbins" /home/drobbins
Attribute "description" set to a 22 byte value for /home/drobbins:
Home of Daniel Robbins

После этого, чтобы видеть список атрибутов, ассоциированных с /home/drobbins, можно ввести:

$ attr -l /home/drobbins
Attribute "description" has a 22 byte value for /home/drobbins/

А чтобы просмотреть содержание description attribute, я ввожу:

$ attr -q -g description /home/drobbins/
Home of Daniel Robbins

Extended attributes просты и забавны в использовании. Вы можете узнать о них больше, прочитав man attr. XFS включает также API C для взаимодействия с extended attributes. Если вы интересуетесь работой с C++ IOStream интерфейсом к extended attributes, можете посмотреть libferris на SourceForge (Resources).

Конечно, extended attributes и ACL открывают интересные возможности, но будьте осторожны. Большинство backup программ в настоящее время еще "не понимают" ни EA, ни ACL. Известные мне исключения - xfsdump и xfsrestore, поставляемые с XFS distribution. Если используете другую backup программу, проведите сначала интенсивное тестирование на поддержку EA и ACL.

тут
------------

для Мандривы и ext3/2 справедливо все тоже самое, единственно нужно перемонтировать файловую систему
дописать как полагается в fstab

/dev/sdb /home ext3 relatime,user_xattr 1 2

и сделать

mount /home -o remount

бекапить подобное нужно star архиватором который умеет сохранять extended file attributes.

*UPD*
так же можно брать атрибуты другой тулзой

getfattr -n "user.desc" /home/ok/test/
getfattr: Removing leading '/' from absolute path names
# file: home/ok/test/
user.desc="test"

В двух словах EA (или extended attributes) - нечто вроде базы данных которая позволяет записывать дополнительную информацию в атрибуты каждого файла в виде имя_атрибута=значение.
Т.е. мы можем дописать любому файлу такие атрибуты какие захотим, и потом извлечь их.

.... дописать про star.

mandriva, linux

Previous post Next post
Up