- Paragon открыла свой драйвер NTFS для Linux, предложив включить его в ядро
- NTFS-3G (Русский)
- Contents
- Установка
- Ручное монтирование
- Настройка
- Стандартные настройки
- Linux-совместимые права доступа
- Разрешение доступа пользователю/группе
- Основные параметры NTFS-3G
- Монтирование разделов от имени обычного пользователя
- Изменение размера раздела NTFS
- Решение проблем
- Повреждённая файловая система NTFS
- Metadata kept in Windows cache, refused to mount
- Отказ в монтировании
- Форматирование в NTFS
- Не учитывается umask при создании файлов
- Линус Торвальдс заявил, что драйвер NTFS готов к добавлению в ядро Linux
- Россияне подарили ОС Linux полную бесплатную поддержку NTFS — файловой системы Windows
- Инициатива Paragon
- Патч могут не принять
- Ситуация с поддержкой NTFS в Linux и macOS
- Несколько слов о Paragon Software
Paragon открыла свой драйвер NTFS для Linux, предложив включить его в ядро
Компания Paragon Software опубликовала набор патчей с полноценной реализаций файловой системы NTFS, открыв код драйвера под лицензией GPL. Драйвер поддерживает работу как в режиме чтения, так и в режиме записи.
По словам разработчиков, эта реализация поддерживает все возможности версии NTFS 3.1.Сейчас в драйвере используется урезанная реализация журнала NTFS. Но в будущем Paragon Software добавит поддержку полного журналирования поверх уже встроенного в ядро универсального блочного устройства JBD, на базе которого организовано журналирование в ext3, ext4, OCFS2.
Среди поддерживаемых возможностей:
- Расширенные атрибуты файлов.
- Режим сжатия данных.
- Эффективная работа с пустотами в файлах.
- Воспроизведение изменений из журнала для восстановления целостности после сбоев.
Источник: servernews.ru
Предложенные патчи компания оформила в соответствии с требованиями по подготовке кода для Linux, в них нет привязок к дополнительным API. А это дает возможность включить драйвер в основной состав ядра. В случае включения компания обещает обеспечить сопровождения патчей, исправление ошибок и расширение функциональности.
Проблема с нативным драйвером NTFS от Tuxera в том, что он не поддерживает большое количество возможностей, включая запись. Плюс ко всему, он давно не развивается. В качестве альтернативы есть решение NTFS-3G, которое работает через FUSE в пространстве пользователя. Оно поддерживает возможности, отсутствующие в нативном драйвере, но у него есть проблемы с производительностью на старых и слабых системах. Но и этот драйвер не обновлялся с 2017 года. Оба драйвера созданы компанией Tuxera.
У предложенного Paragon патча есть проблемы. Например, он включает 27 тысяч строк. Это слишком много, поскольку при рецензировании и проверке возникают сложности. Кроме того, сторонние разработчики предложили явно определить политику дальнейшего сопровождения кода в файле MAINTAINERS, плюс указать Git-ветку, в которую нужно присылать исправления.
В конце прошлого года компания Paragon открыла код драйвера с реализацией файловой системы exFAT. Первая версия драйвера была ограничена работой в режиме только для чтения, но затем появился и вариант с поддержкой записи. Эти патчи так и не были включены в основной состав ядра. Вместо них приняли аналог от Samsung, который применяется в прошивках Android-смартфонов.
Источник
NTFS-3G (Русский)
NTFS-3G — свободная реализация файловой системы NTFS с поддержкой записи и чтения данных. Для упрощения разработки и обеспечения лучшей переносимости NTFS-3G использует драйвер файловой системы FUSE.
Contents
Установка
Ручное монтирование
Вручную примонтировать раздел с NTFS можно двумя способами. Традиционный:
При этом тип файловой системы (в данном случае ntfs-3g ) явно сообщать необязательно. По умолчанию команда mount будет использовать программу /usr/bin/mount.ntfs , которая является символьной ссылкой на /usr/bin/ntfs-3g и появляется после установки пакета ntfs-3g.
Второй способ — напрямую вызвать ntfs-3g :
Настройка
Можно настроить автоматическое монтирование разделов NTFS, или заранее указать параметры монтирования и делать это вручную в удобное для вас время. Настройки задаются в файле fstab или с помощью правил udev.
Стандартные настройки
При использовании стандартных настроек разделы с NTFS будут монтироваться при загрузке системы, если директория, родительская по отношению к той, куда происходит монтирование, имеет соответствующие права доступа.
Добавьте эти строки в файл /etc/fstab :
Linux-совместимые права доступа
Как правило, права доступа в Linux устанавливаются как 755 для директорий и 644 для файлов. Если вы часто используете NTFS-раздел, рекомендуется использовать эти права доступа и на нём. Следующий пример показывает, как можно присвоить такие права разделу для работы с ним из-под непривилегированного пользователя:
Разрешение доступа пользователю/группе
Через файл /etc/fstab можно передать драйверу ntfs-3g и другие параметры монтирования, например разрешить доступ на чтение данных определённому пользователю или группе. Чтобы дать доступ к разделу пользователям, входящим в группу users , можно использовать следующие параметры:
В этом случае запись данных на раздел будет возможна только для пользователя root. Чтобы разрешить запись от имени непривилегированных пользователей, нужно указать, кому из них следует дать такой доступ. Для этого используйте параметр uid с именем пользователя:
Если у вас однопользовательская система, для большего удобства можно дать себе полный доступ к разделу:
Основные параметры NTFS-3G
В большей части случаев для работы должно хватить параметров, описанных выше. Далее описываются параметры, общие для многих файловых систем Linux. Полный список параметров конфигурации ntfs-3g можно посмотреть здесь [устаревшая ссылка 2021-05-17]
umask umask — команда командного интерпретатора, позволяющая автоматически присваивать нужные права доступа при создании новых файлов. Стандартные значения umask в Arch Linux для root и обычных пользователей — 0022. При этом новые директории получают права 755, а новые файлы — 644. Дополнительную информацию о umask можно найти здесь. noauto Если установлен параметр noauto , соответствующий раздел не будет монтироваться автоматически при загрузке системы. uid Идентификационный номер пользователя. Позволяет дать полный доступ к разделу определённому пользователю. Идентификатор пользователя можно определить с помощью команды id . fmask и dmask Похожи на umask , но задают права доступа к файлам и директориям отдельно.
Монтирование разделов от имени обычного пользователя
По умолчанию, ntfs-3g требует права суперпользователя для монтирования разделов, даже если добавить параметр «uid» в /etc/fstab (со причинами можно ознакомиться здесь). Чтобы иметь возможность монтировать раздел от имени обычного пользователя, выполните следующие шаги:
Если опция uid отсутствует в /etc/fstab, добавьте её:
Убедитесь, что пользователю разрешена работа с соответствующим устройством. Проще всего сделать это, добавив пользователя в группу disk с помощью следующей команды:
Далее, необходимо обеспечить пользователю доступ к директории, в которую монтируется раздел. Если вы собираетесь монтировать раздел от имени обычного пользователя, есть смысл поставить его владельцем точки монтирования:
Кроме того, необходимо использовать драйвер ntfs-3g со встроенной поддержкой FUSE. Пакет ntfs-3g из официальных репозиториев не имеет его поддержки, поэтому можно установить пакет ntfs-3g-fuse AUR из AUR.
При выполнении этих условий у вас должна появиться возможность монтировать разделы NTFS без прав суперпользователя.
Изменение размера раздела NTFS
Некоторые пользователи с установленной системой Windows хотели бы оставить её при установке Arch Linux. Часто для того, чтобы освободить место на диске под установку Arch Linux, возникает необходимость изменить размер системного раздела, на котором установлена Windows. Эту задачу можно выполнить одним из двух способов:
1) Воспользоваться встроенным в Windows средством управления разделами. Для его запуска нажмите Win+R, введите в появившееся окно diskmgmt.msc и нажмите Enter. Кликните по разделу, размер которого нужно уменьшить, правой кнопкой мыши, и выберите в меню пункт Сжать том. Укажите количество места, которое нужно освободить, и нажмите OK. После завершения операции за изменённым разделом появится свободное место, в котором можно будет создать необходимые разделы в процессе установки системы.
2) Воспользоваться сторонним LiveCD. Для этого скачайте ISO-образ любого диструбитива, в состав которого входят ntfs-3g и gparted (например, Ubuntu), либо образ специализированной системы для работы с разделами (например, GParted, Parted Magic или SystemRescueCD), и запишите его на компакт-диск или USB-накопитель с помощью программы UNetbootin или Rufus, после чего загрузитесь с подготовленного носителя. Дальнейшие инструкции можно получить в документации к используемому дистрибутиву.
Для изменения размера NTFS-раздела из существующей системы Arch Linux установите пакеты ntfs-3g и gparted и запустите программу gparted. Если в системе отсутствует графический пользовательский интерфейс, можно использовать программу parted, входящую в состав пакета parted .
Решение проблем
Повреждённая файловая система NTFS
Если в файловой системе NTFS есть ошибки, ntfs-3g смонтирует её в режиме «только чтение». Для штатного исправления файловой системы NTFS загрузите Windows и запустите chkdsk (chkdsk /F).
Для коррекции файловой системы NTFS без использования Windows установите пакет ntfs-3g , доступный в официальных репозиториях.
Для исправления файловой системы NTFS раздел должен быть отмонтирован. Пример ремонта NTFS-раздела /dev/sda2:
Если всё прошло без ошибок, раздел будет доступен для записи.
Metadata kept in Windows cache, refused to mount
Если вместе с Arch Linux на компьютере используется Windows 8, при монтировании системного раздела может возникнуть следующая ошибка:
Проблема вызвана новой функцией Windows 8 под названием «быстрый запуск». Когда эта функция включена, часть метаданных файловых систем всех используемых разделов при загрузке восстанавливается к тому состоянию, в котором они находились при завершении работы Windows. В результате изменения содержимого разделов, совершённые из Linux, могут быть утеряны. Это может произойти с любым разделом жёсткого диска, когда работа Windows завершается выбором пункта «Выключить» или «Гибернация». Однако, завершение работы Windows с помощью пункта «Перезагрузка» не должно вызывать таких проблем.
Чтобы получить возможность беспроблемно записывать данные на раздел из других операционных систем, убедитесь, что функция «быстрый запуск» отключена. Для этого загрузите Windows и выполните следующую команду в командной строке, запущенной от имени администратора:
Чтобы проверить текущее значение параметра, зайдите в Панель управления -> Оборудование и звук -> Электропитание -> Действия кнопок питания. Флажок Включить быстрый запуск должен быть снят либо отсутствовать.
Отказ в монтировании
Если, даже следуя этому руководству, вам не удаётся примонтировать раздел NTFS, попробуйте отредактировать файл /etc/fstab , указав UUID вместо имён устройств для всех разделов NTFS. С примером можно ознакомиться здесь.
Форматирование в NTFS
На современных устройствах большого объема такой способ может занять много времени. Для быстрого форматирования используйте команду:
Не учитывается umask при создании файлов
Если в /etc/fstab указана опция монтирования permissions , разделы NTFS-3G смогут имитировать работу с привычной системой прав доступа Linux. Однако, при создании файлов вплоть до версии 2014.2.15-1 не учитывается umask пользователя.
Как решение, используйте ABS для пересборки NTFS-3G без поддержки ACL ( —enable-posix-acls ):
Источник
Линус Торвальдс заявил, что драйвер NTFS готов к добавлению в ядро Linux
Драйвер файловой системы NTFS, разработанный российской компанией Paragon Software, готов для включения в ядро ОС Linux, если Paragon сама займется его интеграцией и сопровождением, сообщил создатель Linux Линус Торвальдс.
Торвальдс отметил, что старый драйвер NTFS, вышедший в 2001 году, уже «не в лучшем состоянии», тогда как драйвер Paragon за последний год прошел все нужные проверки и готов к добавлению в ядро.
Торвальдс подчеркнул, что в сообществе Linux нет никого, кто бы принимал pull-запросы с новыми файловыми системами, так что запрос стоит направить ему лично.
За последний год в списке рассылки linux-fsdevel для рецензирования было предложено 26 версий патчей NTFS3, однако, несмотря на все устраненные замечания, добавить драйвер в ядро было некому.
Если новый драйвер NTFS и появится, то только в будущих релизах ядра — превью-версия 5.14-rc2 уже вышла. Торвальдс отметил, что это самая внушительная версия по количеству коммитов за цикл 5.x.
Файловая система NTFS (New Technology File System, или «файловая система новой технологии») – стандартная файловая система для семейства операционных систем Windows NT, выпущенная в 1993 году. Несмотря на то, что это самая распространенная файловая система для компьютеров с ОС Windows, ее спецификации закрыты. Это затрудняет создание драйверов для ее поддержки.
Paragon Software открыла исходный код своего драйвера для NTFS в августе прошлого года. Драйвер Paragon включает все возможности актуальной версии NTFS 3.1: воспроизведение изменений из журнала, поддержка обычных, сжатых и разреженных файлов.
На тот момент разработка была не готова к добавлению в ядро Linux из-за несоблюдения авторами требований по оформлению патчей. В частности, патч был выгружен в виде ссылки на единый файл, содержащий более 27 тыс. строк кода, что затрудняло его проверку.
Источник
Россияне подарили ОС Linux полную бесплатную поддержку NTFS — файловой системы Windows
Инициатива Paragon
Российская компания Paragon Software опубликовала исходный код собственной реализации драйвера файловой системы NTFS для Linux. Соответствующий патч в список рассылки разработчиков ядра отправил один из основателей и генеральный директор компании Константин Комаров. Код разработки опубликован на условиях свободной лицензии GPL 2.0.
Драйвер добавляет в Linux полноценную поддержку основной файловой системы Microsoft Windows на уровне ядра, включая возможности актуальной версии NTFS 3.1. В их числе – воспроизведение изменений из журнала; поддержка обычных, сжатых и разреженных файлов.
Paragon Software планирует взять на себя сопровождение проекта, обеспечить исправление ошибок и добавление новой функциональности. В частности, разработчики обещают добавить поддержку полного журналирования поверх универсального блочного устройства (Journaling Block Device, JBD). На его основе, к примеру, организовано журналирование в «родной» для Linux файловой системе ext4.
Ранее Paragon Software предлагала лишь закрытую коммерческую версию драйвера Microsoft NTFS for Linux. Вероятно, на коде данной разработки и базируется новый открытый драйвер.
Патч могут не принять
Как отмечает тематический ресурс Phoronix, в текущем виде разработка Paragon Software не готова к включению в ядро Linux, в частности из-за несоблюдения авторами ряда требований по оформлению патчей. К примеру, патч отправлен в рассылку в виде ссылки на единственный файл, содержащий более 27 тыс. строк, что существенно затрудняет обязательную процедуру проверки кода.
В комментариях к сообщению Комарова в рассылке также обращают внимание, что проект не собирается из исходного кода без внесения небольших изменений в Makefile проекта – специальный файл, который содержит инструкции утилиты автоматизации сборки make.
Ситуация с поддержкой NTFS в Linux и macOS
NTFS (New Technology File System, «файловая система новой технологии») – стандартная файловая система для семейства операционных систем Windows NT (куда входит в том числе и Windows 10) корпорации Microsoft. Впервые представлена в 1993 г. Спецификации NTFS закрыты, что значительно усложняет разработку драйверов для ее поддержки.
Операционные системы на базе ядра Linux «из коробки» поддерживают ряд современных файловых систем, в том числе XFS, JFS, BtrFS, ext4. Последняя является наиболее частым выбором пользователя. Поддержка NTFS в Linux также реализована – в ядро с версии 2.2 по умолчанию включен модуль, обеспечивающий поддержку данной файловой системы, но только в режиме чтения. То есть при необходимости пользователь Linux сможет подключить и скопировать данные с дисков и флеш-накопителей, записанных под Windows, однако полноценная работа с ними ему недоступна.
В настоящее время единственный способ получения в Linux полноценного доступа к NTFS-разделам, в том числе на запись, без приобретения коммерческих продуктов предполагает использование открытого проекта ntfs-3g. При применении ntfs-3g разделы NTFS монтируются (подключаются) с использованием модуля FUSE (Filesystem in Userspace, «файловая система в пользовательском пространстве»). Из недостатков ntfs-3g можно отметить невысокую производительность по сравнению с оригинальным драйвером для Windows и отсуствие обновлений с 2017 г.
В операционной системе Apple macOS встроенный драйвер NTFS по умолчанию работает в режиме чтения. После выпуска версии Snow Leopard была найдена возможность включения экспериментальной поддержки записи на NTFS, которую можно активировать через терминал. Однако она может работать нестабильно и приводить к различным проблемам.
Пользователям macOS также доступны коммерческие решения по поддержке NTFS, в том числе и разработка Paragon Software – Microsoft NTFS for Mac, и все тот же ntfs-3g, установка и настройка которого для рядового пользователя может стать нетривиальной задачей.
Несколько слов о Paragon Software
Компания Paragon Software была основана в 1994 г. студентами и выпускниками Московского физико-технического института (МФТИ), преимущественно вышедшими из компании «Физтехсофт». Первыми двумя продуктами фирмы стали Paragon DOS и Paragon BootManager. В дальнейшем к ним добавилось ПО для карманных компьютеров – компания начала с локализации популярного тогда PDA Newton и с технологии распознавания рукописного ввода Penreader.
Сегодня одним из приоритетных направлений компании является создание программных решений для управления жесткими дисками, распределения и защиты данных. Офисы группы расположены в США, Китае, Японии, Польше и России, головной офис – в немецком городе Фрайбург-им-Брайсгау.
Paragon Software сотрудничала с Microsoft, в том числе по вопросу разработки закрытых коммерческих версий драйверов файловых систем, права на которые принадлежат корпорации из Редмонда. Например, в начале 2017 г. россияне выпустили Paragon exFAT для Android – первую на рынке потребительскую версию файловой системы для беспрепятственного обмена данными между внешними носителями объемом более 32 ГБ и устройствами на базе Android – операционной системой, основанной на Linux.
В октябре 2019 г. CNews писал, что Paragon Software представила Linux-сообществу собственную реализацию драйвера файловой системы exFAT, предназначенной для флеш-накопителей. На тот момент драйвер работал в режиме только чтения, но в разработке находилась версия, поддерживающая режим записи.
В январе 2020 г. южнокорейская корпорация Samsung предложила собственную реализацию exFAT. Именно в ее пользу впоследствии сделали выбор разработчики Linux.
Источник