Projects/KioFuse (ru)

From KDE TechBase


С помощью расширения KioFuse Вы сможете подключать (монтировать) любые каталоги, распознаваемые средой KDE, к локальной файловой системе, позволяя использовать расширенные возможности KDE по работе с файлами (такие как доступ к SSH, SAMBA/Windows, FTP, TAR/GZip/BZip2, WebDav и. т. д. ) другим совместимым со стандартами POSIX приложениям, таким, например, как Firefox, OpenOffice, программы среды GNOME, консольным программам... Другим существенным достоинством технологии KioFuse является то, что вы можете создать такую иерархию каталогов --- сетевых ресурсов, архивов, --- которая будет удобна именно вам.


Практически KioFuse является „мостом“ между системой доступа к файлам среды KDE и драйвером FUSE.

Установка

  • Установите пакет kdelibs (версии 4.0 или более свежей), предоставленной поставщиком Вашей ОС, либо соберите его самостоятельно (см. здесь.
  • выполните в терминале (н-р, konsole) следующие команды:
svn checkout svn://anonsvn.kde.org/home/kde/trunk/playground/libs/kiofuse
cd kiofuse
cmake .
make

Использование KioFuse

  • Команда монтирования:

kiofuse --mountpoint <mountpoint> --URL <URL>

  • Команда размонтирования:

fusermount -u <mountpoint>

Жизненные пример:

# Создайте точку монтирования:
mkdir ~/fuse-source

# Скачайте архив с исходным кодом FUSE:
wget http://superb-east.dl.sourceforge.net/sourceforge/fuse/fuse-2.7.2.tar.gz -P ~

# Теперь Вы можете смонтировать архив в каталог ~/fuse-source
./kiofuse --mountpoint ~/fuse-source --URL tar:~/fuse-2.7.2.tar.gz &

# ... и работать с содержимым архива в любом файл-менеджере!
dolphin ~/fuse-source &
nautilus ~/fuse-source &
thunar ~/fuse-source &

Снимки экрана

Особенности и планы на будущее

  • Некоторые модули KIO (например, tar:) не поддерживают произвольный доступ, из-за этого в отдельных случаях чтение и запись в файлы могут быть недоступными. Исправление тох модулей планируется.
  • Нужно изменить систему KIO так, чтобы она получала сведения о подмонтированных через FUSE каталогах и использовала „родные“ функции (согласно POSIX) для доступа к этим ресурсам.

Возможности POSIX

Для получения сведений о всех функциях ввода-вывода см. документацию FUSE.

Имя функции Описание Filename
GetAttr Права доступа, владелец, группа Готово
ReadLink Определение цели ссылки Готово
MkNod Создание файла Готово
MkDir Создание каталога Готово
UnLink Удаление ссылки на файл Готово
RmDir Удаление каталога Готово
SymLink Создание символьной ссылки Done
Rename Переименование файла или каталога Готово
Link Создание жёсткой ссылки Готово
Chmod Изменение прав доступа к файлу/каталогу Готово
Chown Изменение владельца файла/каталога Готово
Truncate Изменение размера файла Готово
Open Открытие файла для чтения, записи и/или изменения размера Готово
Read Чтение содержимого файла Готово
Write Запись данных в файл Готово
StatFS Получение данных о файловой системе Не приступали
Flush Сброс буферов обмена Не приступали
Release Закрыть открытый раннее файл Готово
FSync Синхронизировать файл Не приступали
SetXAttr Установка расширенных атрибутов Не приступали
GetXAttr Чтение расширенных атрибутов Не приступали
ListXAttr Получение списка расширенных атрибутов Не приступали
RemoveXAttr Удаление расширенных атрибутов Не приступали
OpenDir Вход в каталог Не приступали
ReadDir Получение списка файлов/каталогов в текущем каталоге Готово
ReleaseDir Покинуть каталог Не приступали
FSyncDir Синхронизировать содержимое каталога Не приступали
Init Инициализировать файловую систему Не приступали
Destroy Очистить файловую систему Не приступали
Access Узнать права доступа к файлу Работа идёт
Create Создать и открыть файл Не приступали
FTruncate Изменение размера открытого файла Не приступали
FGetAttr Получение атрибутов файла Не приступали
Lock Блокировка ресурса Не приступали
UTimeNS Изменение времён доступа и изменения файла (нсек) Не приступали

Исходный код

Исходный код KioFUSE расположен по адресу: http://websvn.kde.org/trunk/playground/libs/kiofuse/