Projects/KioFuse (ru)
С помощью расширения 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/