Файловая система на основе FUSE

С помощью библиотеки FUSE создать виртуальную файловую систему, дерево файлов для которой закодированно в одном из форматов данных.

Эта файловая система должна монтироваться в режиме только чтение, после чего можно будет осуществить листинг виртуальных директорий и просмотр содержимого виртуальных файлов (содержимое файлов будет находится в соответствующем fuse-файле описания).

Абстрактное представление этой файловой системы (которое можно получить с помощью команды tree):
/
|--docs
|   |--pdfs
|   |   |--article.pdf
|   |   |--example.pdf
|   |   `--example.pdf~
|   `--spreadsheets
|       |--.hidden
|       `--test
|--etc
|   `--fuse
|       `--fuse.conf
`--forbidden dir
   `--test

Базовые варианты:

  1. XML — см. fuse.xml
  2. JSON — cм. fuse.json
  3. CSV — см. fuse.csv
  4. INI — см. fuse.ini
  5. S-expressions — см. fuse.sexp

Продвинутые варианты (для этих вариантов таже необходимо обеспечить проверку прав доступа при обращении к директориям и файлам):

  1. BSON — см. fuse.bson
  2. YAML — cм. fuse.yaml
  3. Protocol Buffers — см. fuse.protobuf (cм. также def.proto с определениями структур)
  4. ASN.1 — см. attachment:fuse.asn1 (cм. также attachment:def.asn1 с определениями структур)
  5. Thrift — см. attachment:fuse.thrift (cм. также attachment:def.thrift с определениями структур)

fuse.xml (1.2 KB) vseloved, 2010-11-20 23:23

fuse.json (2.8 KB) vseloved, 2010-11-20 23:25

fuse.bson (1.8 KB) vseloved, 2010-11-20 23:29

fuse.yaml (3 KB) vseloved, 2010-11-20 23:29

fuse.protobuf (704 Bytes) vseloved, 2010-11-20 23:29

def.proto (385 Bytes) vseloved, 2010-11-20 23:30

fuse.csv (734 Bytes) vseloved, 2010-11-20 23:30

fuse.ini (1.3 KB) vseloved, 2010-11-20 23:30

fuse.sexp (1.5 KB) vseloved, 2010-11-20 23:30

Also available in: HTML TXT