LXF76:Учебник Fuse
|
|
|
Fuse Виртуальные файловые системы
Ник Вейтч (Nick Veitch) копается в ядре, чтобы подружить файловые системы с пространством
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Виртуальные файловые системы — это по-настоящему здорово, и к тому же весьма полезно. В духе Unix вообще все рассматривать как файлы, включая ресурсы, устройства и т. п. Файл-ориентированная операционная система может извлечь немало полезного из виртуальных файловых систем, и Linux в самом деле уже сейчас поддерживает некоторые из них (вспомним /proc).
Тем не менее, Fuse — свежая идея, способная заставить по-новому взглянуть на использование виртуальных файловых систем (VFS). Fuse означает «файловые системы в пространстве пользователя» (Filesystems in USErspace). Это не что иное, как часть исходного кода ядра ОС, которая позволяет программам генерировать свои собственные файловые системы. Зачем ВАМ это нужно? Вы только представьте: автоматизированная, с шифрованием, со сжатием, удаленная, — Fuse может сделать файловую систему практически из всего.
Даже если вам и неохота хлопотать по поводу создания собственной файловой системы, на Fuse стоит обратить внимание.
Компилируем Fuse
Первый шаг — раздобыть исходные тексты… но постойте — если у вас уже есть новое ядро (выпущенное не раньше ноября 2005), вам это делать ни к чему. С выходом версии ядра 2.6.14, Fuse был официально принят в состав Linux. Так что, если вы являетесь обладателем этой или более поздней версии ядра, либо же читаете данную статью летом 2006 года, наблюдая за развитием чемпионата мира по футболу, можете спокойно перейти к следующему шагу.
Да, Fuse представляет собой модуль ядра, но особо переживать по этому поводу не стоит. Вам будет несложно его настроить и скомпилировать. Не потребуется даже пересобирать ядро заново. Однако если вы используете основной пакет ядра с вашего дистрибутива, следует убедиться в наличии установленных исходных текстов или заголовков ядра. Сегодня немногие дистрибутивы включают полный исходный код при стандартной установке; тем не менее, мы настоятельно рекомендуем вам его установить, особенно если вы желаете немного поэкспериментировать.
Исходные коды Fuse вы найдете в директории Magazine на прилагаемом к журналу диске, а также посетив сайт http://fuse.sourceforge.net, где, возможно, есть более свежая версия программы. Перед тем как непосредственно приступить к процессу компиляции, распакуйте исходный код и перейдите в директорию с Fuse. Далее компилируем Fuse — процедура вполне стандартная для большинства программ, разве что потребуется указать путь к исходным текстам ядра Linux (обычно это /usr/src/linux).
./configure –with-kernel=/usr/src/linux make make install
Е сли на этой стадии у вас возникли какие-либо трудности, возможно, они связаны с отсутствием файла .config в корне директории исходных текстов ядра. Скорее всего вы обнаружите его установленным в директории /boot, и все, что от вас потребуется — просто скопировать его.
Процесс установки автоматически настроит устройство Fuse. Это символьное устройство, которое будет «обитать» (равно как и другие устройства) в директории /dev. Данное устройство используется для передачи информации между ядром и файловой системой в адресном пространстве пользователя. Как это все взаимодействует, вы можете узнать, посмотрев на схему (см. Рис.1).
Так как это модуль ядра, вы можете запустить (либо перезапустить) его, используя стандартные утилиты ядра:
modprobe fuse rmmod fuse
Перед тем как попробовать смонтировать файловую систему, основанную на Fuse, вам следует проверить, присутствует ли устройство Fuse и готово ли оно к работе. Сделать это можно, просто набрав команду ls. Получится примерно следующее:
ls /dev/fuse crw-rw-rw- 1 root root 10, 229 Dec 20 10:04 /dev/fuse
Заметьте, что устройство Fuse принадлежит суперпользователю, но остальные пользователи могут выполнять операции чтения и записи. Дальше, чтобы проверить работоспособность Fuse, вы можете попробовать смонтировать одну из файловых систем, поставляемых в качестве примеров. Для этого, находясь в директории Fuse, выполните следующие действия:
cd example mkdir plop ./hello plop cat plop/hello
Здесь я создал директорию ‘plop’, но вы можете использовать любую точку монтирования, какую пожелаете. Заметьте, в отличие от обычных файловых систем, эта работает даже с непривилегированными пользователями, то есть любой может без особого труда монтировать и размонтировать такую файловую систему, когда потребуется. Команда mount, как таковая, при этом не нужна. В данном случае, как и с другими Fuse-ориентированными файловыми системами, запуск программы осуществляется вместе с указанием точки монтирования. Программа, а точнее сказать, библиотека Fuse, сама позаботится о монтировании.
Когда файловая система будет смонтирована, внутри директории как по волшебству появится файл, который будет содержать стандартное приветствие — «Hello World!». На самом деле никакого файла не существует, он — виртуальный, но это не означает, что его нельзя использовать. Он обладает всеми характеристиками обыкновенного файла — к нему применимы и ls, и cat, и less, вы даже можете скопировать его куда угодно. Так как мой пример весьма простенький, файл помечен атрибутом «только для чтения» — вы не сможете его отредактировать. Тем не менее, с остальными файловыми системами под управлением Fuse это не должно составить особого труда.
Fuse без проблем может работать сразу с несколькими файловыми системами одновременно, однако не стоит забывать размонтировать файловую систему, как только вы закончили с ней работать. Команда
fusermount –u plop
все сделает за вас. Вы не можете использовать для этого стандартную утилиту mount — она не сможет снять приложение, да и точку монтирования найти не сумеет.
Итак, мы готовы увидеть Fuse в действии. Сегодня самая полезная (на мой взгляд) файловая система во Fuse — это sshfs. Она позволяет монтировать файловую систему через простое SSH-соединение, а так как SSH поддерживает все необходимое, оно будет работать на любом сервере SSH. Ну, а пользователям это намного упрощает жизнь.
Включаем SSH
Итак, скачиваем последние исходные тексты с http://fuse.sourceforge.net/sshfs.html. После простой компиляции, вы сможете монтировать файловую систему SSH. Проще всего сразу испробовать это на вашей системе.
mkdir plop ./sshfs mysshserver.net plop
В зависимости от настроек сервера, вам, возможно, потребуется ввести пароль (если только вы уже не настроили ключи доступа SSH). А в чем тут прелесть Fuse? Можно, конечно, использовать SFTP для передачи файлов, но монтирование файловой системы означает, что вам будут доступны для использования все привычные утилиты, например,
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить