Могу ли я читать и записывать альтернативные файловые виджеты HFS + или потоки данных NTFS из Linux?

В Linux можно установить файловые системы Apple HFS + и Microsoft NTFS.

Обе файловые системы поддерживают несколько потоков контента для каждого файла, хотя это широко не используется.

  • Apple использует термин fork .
  • Microsoft использует термин Alternate Data Stream .

Существуют ли (полу) стандартные способы доступа к этим функциям файловой системы из Linux? Если это методы, одинаковые между двумя файловыми системами, или доступны только тайные ad-hoc-методы? (Возможно, что-то с ioctl ?)

ntfs-3g может читать альтернативные потоки данных в NTFS. Из его manpage:

Альтернативные потоки данных (ADS)

NTFS хранит все данные в потоках. Каждый файл имеет ровно один неназванный поток данных и может иметь много именованных потоков данных. Размер файла – это размер его неназванного потока данных. По умолчанию ntfs-3g будет читать только неназванный поток данных.

Используя опции «streams_interface = windows», с драйвером ntfs-3g (невозможно с lowntfs-3g), вы сможете читать любые именованные потоки данных, просто указав имя потока после двоеточия. Например:

  cat some.mp3:artist 

Именованные потоки данных действуют как обычные файлы, поэтому вы можете читать их, писать им и даже удалять их (используя rm). Вы можете перечислить все именованные потоки данных, которые имеет файл, получив расширенный атрибут «ntfs.streams.list».

Для hfs + я не смог найти ничего убедительного (например, документацию ядра), но этот вопрос в Super User указывает на предложение:

Добавьте /rsrc в конец имени файла для доступа к ресурсу fork. У меня нет идеи, где это описано, если где угодно. Редактирование: просто для разъяснения я имел в виду использование командной строки, например, cp somefile/rsrc destfile скопирует resouce fork somefile файл с именем destfile. Все функции командной строки работают таким образом. Я не тестировал его ни с чем графическим.