File systems (Русский)
Ссылки по теме
- Разметка дисков
- Файл устройства#lsblk
- File permissions and attributes
- fsck (Русский)
- fstab (Русский)
- List of applications#Mount tools
- QEMU#Mounting a partition from a raw image
- udev (Русский)
- udisks (Русский)
- umask Из Википедии:
- Файловая система (англ. file system) — порядок, определяющий способ организации, хранения и именования данных на носителях информации в компьютерах, а также в другом электронном оборудовании: цифровых фотоаппаратах, мобильных телефонах и т.п. Файловая система определяет формат содержимого и способ физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имен файлов и (каталогов), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
- gitfs — файловая система FUSE, которая полностью интегрируется с git.
- mhddfs — файловая система Multi-HDD FUSE, объединенная на основе FUSE.
- http://mhddfs.uvw.ru || mhddfsAUR
- OpenAFS — реализация с открытым исходным кодом распределенной файловой системы AFS
- OrangeFS — это масштабируемая сетевая файловая система, предназначенная для прозрачного доступа к дисковой памяти на нескольких серверах параллельно. Имеет оптимизированную поддержку MPI-IO для параллельных и распределенных приложений. Упрощает использование параллельного хранения не только для клиентов Linux, но и для Windows, Hadoop и WebDAV. POSIX-совместимая. Часть ядра Linux, начиная с версии 4.6.
- https://www.orangefs.org/ || not packaged? search in AUR
- использование флагов в командной строке с mount
- редактирование fstab
- создание правил udev
- самостоятельно компилировать ядро
- или используя скрипты монтирования файловой системы (расположенные по адресу ).
Отдельные разделы дисков можно настроить с использованием одной из множества доступных файловых систем. У каждой есть свои преимущества, недостатки и уникальные особенности. Ниже приведен краткий обзор поддерживаемых файловых систем; также и ссылки на страницы Википедии, которые предоставляют гораздо больше информации.
Типы файловых систем
Смотрите для общего обзора и Википедию:Сравнение файловых систем для подробного сравнения функций. Файловые системы, поддерживаемые ядром, перечислены в /proc/filesystems
.
Файловая система | Команда создания | Утилиты пользовательского пространства | Archiso | Документация ядра | Заметки | |
---|---|---|---|---|---|---|
Btrfs | mkfs.btrfs(8) | btrfs.html | Статус стабильности | |||
VFAT | vfat.html | |||||
exFAT | N/A (на основе FUSE) | |||||
F2FS | f2fs-tools | f2fs.html | Флэш-устройства | |||
ext3 | mke2fs(8) | () | ext3.html | |||
ext4 | mke2fs(8) | () | ext4.html | |||
HFS | hfs.html | Файловая система MacOS | ||||
JFS | () | jfs.html | ||||
NILFS2 | nilfs2.html | |||||
NTFS | mkfs.ntfs(8) | N/A (на основе FUSE) | Файловая система Windows | |||
Reiser4 | mkfs.reiser4(8) | |||||
ReiserFS | () | |||||
XFS | () |
xfs.html |
||||
ZFS | N/A (порт OpenZFS) |
Журналирование
Все вышеупомянутые файловые системы, за исключением ext2, FAT16/32, Btrfs и ZFS, используют ведение журнала. Журналирование обеспечивает отказоустойчивость путем регистрации изменений до того, как они будут привязаны к файловой системе. В случае сбоя системы или сбоя питания такие файловые системы быстрее возвращаются в сеть и реже становятся поврежденными. Ведение журнала происходит в выделенной области файловой системы.
Не все методы ведения журнала одинаковы. Ext3 и ext4 предлагают журналирование в режиме данных, в котором регистрируются как данные, так и метаданные, а также возможность вести журнал только изменений метаданных. Журналирование в режиме данных имеет ограничение скорости и не включено по умолчанию. В том же ключе Reiser4 предлагает так называемые "модели транзакций", которые включают в себя чистое ведение журнала (эквивалентное журнальному ведению журнала данных ext4), чистый подход копирования при записи (эквивалент по умолчанию btrfs) и комбинированный подход, который эвристически чередуется между двумя бывшими.
Другие файловые системы обеспечивают упорядоченное ведение журнала, которое регистрирует только метаданные. Хотя все журналирование вернет файловую систему в допустимое состояние после сбоя, журналирование в режиме данных обеспечивает максимальную защиту от повреждений и потери данных. Однако есть компромисс в производительности системы, поскольку журналирование в режиме данных выполняет две операции записи: сначала в журнал, а затем на диск. При выборе типа файловой системы следует учитывать компромисс между скоростью системы и безопасностью данных.
Файловые системы, основанные на механизме копирования при записи, такие как Btrfs и ZFS, не должны использовать традиционный журнал для защиты метаданных, потому что они никогда не обновляются на месте. Хотя Btrfs все еще имеет журнальное дерево, подобное журналу, оно используется только для ускорения работы fdatasync/fsync.
Файловые системы на основе FUSE
Файловая система в пользовательском пространстве (FUSE) - это механизм для Unix-подобных операционных систем, который позволяет не-привилегированным пользователям создавать свои собственные файловые системы без редактирования кода ядра. Это достигается путем запуска кода файловой системы в пространстве пользователя, в то время как модуль ядра FUSE предоставляет только "мост" для реальных интерфейсов ядра.
Некоторые файловые системы на основе FUSE:
Для получения допольнительной информации смотрите Википедия:Файловая система в пространстве пользователей#Примеры использования.
Штабелируемые файловые системы
Файловые системы только для чтения
Кластерные файловые системы
Определение существующих файловых систем
Чтобы определить существующие файловые системы, вы можете использовать lsblk:
Существующая файловая система, если она есть, будет показана в столбце . Если она смонтирована, тогда появится в столбце .
Создание файловой системы
Файловые системы обычно создаются на разделе, внутри логических контейнеров, таких как LVM, RAID и dm-crypt, или в обычном файле (смотрите w:Loop device). В этом разделе описывается случай раздела.
Прежде чем продолжить, определите устройство, в котором будет создана файловая система, и независимо от того, монтируется ли она. Например:
Перед продолжением необходимо размонтировать файловые системы. В приведенном выше примере существующая файловая система находится на /dev/sda2
и монтируется в /mnt
. Он будет размонтирован командой:
Чтобы найти только смонтированные файловые системы, смотрите #Список смонтированных файловых систем.
Чтобы создать новую файловую систему, используйте . Смотрите #Типы файловых систем для точного типа, а также утилиты пользовательского пространства, которые вы, возможно, захотите установить для конкретной файловой системы.
Например, чтобы создать новую файловую систему типа ext4 (обычно для разделов данных Linux) на , запустите:
# mkfs.ext4 /dev/sda1Новая файловая система теперь может быть смонтирована в выбранный каталог.
Монтирование файловой системы
Чтобы вручную смонтировать файловую систему, расположенную на устройстве (например, раздел) к каталогу, используйте . В этом примере монтируется в /mnt
.
Это прикрепляет файловую систему раздела в каталог /mnt
, делая содержимое файловой системы видимым. Любые данные, существовавшие в /mnt
перед этим действием, становятся невидимыми до тех пор, пока устройство не будет размонтировано.
fstab содержит информацию о том, как устройства должны автоматически монтироваться, если они присутствуют. Для получения дополнительной информации о том, как изменить это поведение, смотрите статью fstab.
Если устройство указано в , и в командной строке указывается только устройство или точки монтирования, эта информация будет использоваться при монтирование. Например, если содержит строку, указывающую, что должен быть смонтирован в /mnt
, тогда он автоматически будет монтировать это устройство к этому месту:
Или
# mount /mntmount содержит несколько параметров, многие из которых зависят от указанной файловой системы. Параметры могут быть изменены:
Более подробную информацию смотрите в связанных статьях и статье интересующей файловой системы.
Список смонтированных файловых систем
Чтобы просмотреть все смонтированные файловые системы, используйте :
$ findmntfindmnt принимает множество аргументов, которые могут фильтровать вывод и отображать дополнительную информацию. Например, в качестве аргумента может принимать устройство или точку монтирования для отображения только информации о том, что указывается:
$ findmnt /dev/sda1findmnt собирает информацию из , и /proc/self/mounts
.
Размонтирование файловой системы
Чтобы размонтировать файловую систему, используйте . Можно указать либо устройство, содержащее файловую систему (например, ), либо точку монтирования (например, /mnt
):
Или
# umount /mnt