Я новичок в Ubuntu, и мне нужно создать файловую систему на основе FUSE. Я видел много примеров в Интернете, но не могу понять разницу между ними. Некоторые примеры из того, что я видел до сих пор, включают программы на C, например:
py.test
. Я повредил Ваш вопрос в эти три области, которыми Вы были обеспокоены. В то время как я не могу помочь Вам записать файловую систему FUSE, я могу ответить на те 3 вопроса:
В отношении того, почему использовался Python: Это было сделано, потому что некоторые, если не все языки программирования содержат Платформы Поблочного тестирования. Платформа позволяет программисту использовать что-то, что уже существует, чтобы расширить и протестировать их код. Python был выбором программиста для libfuse проекта. См. Руководство Автостопщика по Python: Тестирование Вашего Кода.
FUSE (Файловая система в Пространстве пользователя) является интерфейсом для программ пространства пользователя для экспорта файловой системы в ядро Linux. Проект FUSE состоит из двух компонентов: модуль ядра предохранителя (сохраняемый в обычных репозиториях ядра) и libfuse библиотека пространства пользователя (сохраняемый в этом репозитории). libfuse обеспечивает ссылочную реализацию для общения с модулем ядра FUSE.
Файловая система FUSE обычно реализуется как автономное приложение, которое связывается с libfuse. libfuse, обеспечивает функции, чтобы смонтировать файловую систему, размонтировать его, считать запросы из ядра и передать ответы обратно. libfuse предлагает два API: "высокий уровень", синхронный API и асинхронный API "низкого уровня". В обоих случаях входящие запросы от ядра передаются основной программе с помощью обратных вызовов. При использовании высокоуровневого API обратные вызовы могут работать с именами файлов и путями вместо inodes, и обработка запроса заканчивается, когда функция обратного вызова возвращается. При использовании API низкого уровня обратные вызовы должны работать с inodes, и ответы должны быть отправлены явно с помощью отдельного набора API-функций.
В отношении Вашего вопроса все архивы должны содержать Файлы C. Если то, что Вы загрузили, не содержало файлы C, это, вероятно, не был архив FUSE.
Весь основанный на Linux исходный код всегда прибывает в формат <packagename-Ver.si.on>.<compression format>
.
.tar.gz
характерно для Linux. Это коротко для Архива Tar GZipped. Читать man tar
и man gzip
для получения дополнительной информации..zip
распространено в Windows. Это коротко для Заархивированного Файла. Это - эквивалентный Linux, стал двумя командами. Читать man zip
и man unzip
..asc
обычно упоминается как Контрольная сумма ASCII. Этот файл используется, чтобы проверить, что файл, который Вы загрузили, не повреждается. Проверить это использование программа охраны Конфиденциальности GNU. Посмотрите UNIX / Linux: Проверка Ключей Подписи Файла PGP TarBall для примеров.Обратите внимание на то, что Вы, вероятно, не должны писать свою собственную файловую систему FUSE, поскольку большинство дистрибутивов содержит пакет FUSE. Ubuntu является одним из тех дистрибутивов. Посмотрите Чиновника Страница Репозитория Ubuntu для FUSE и установите его с sudo apt-get-update && sudo apt-get install fuse
.