Файловая система
Файловая система является средством для организации данных, которые необходимо сохранить после завершения программы. Файловые системы предоставляют процедуры хранения, поиска и обновления данных, а также управляют доступным пространством на содержащим данные устройствах.
В Linux есть несколько десятков файловых систем, каждая обладает преимуществами и недостатками и может применяться в только в определенных условиях.
Файловые системы
Основная информация
- Filesystem/Access Control List Guide — an additional security control feature for multiuser systems.
- Filesystem/Security — one of the basic means to harden a system.
Flash memory filesystems
The following flash memory filesystems are designed to be used on embedded flash memory known as MTDs; they are not intended to be used for USB based flash drives, SD cards, or other types of removable flash block devices.
Название | Пакет пользовательского окружения | Описание |
---|---|---|
JFFS2 | Journalling Flash File System, версия 2. | |
YAFFS | sys-fs/yaffs2utils | Yet Another Flash File System. |
Дисковые файловые системы
Название | Пакет пользовательского окружения | Описание |
---|---|---|
bcachefs | sys-fs/bcachefs-tools | A next generation, robust, high performance filesystem that supports native tiering, copy-on-write, compression, and encryption. |
btrfs | sys-fs/btrfs-progs | A copy-on-write B-tree file system (btrfs) with advanced features. |
Cramfs | sys-fs/cramfs | A memory and space sensitive compressed filesystem that supports random reading. It avoids the block device layer and usefulness in tiny embedded systems with very tight memory constraints. |
eCryptfs | sys-fs/ecryptfs-utils | The enterprise cryptographic filesystem for Linux. |
efivarfs | A (U)EFI variable filesystem[1] | |
exFAT | sys-fs/exfatprogs | Extensible File Allocation Table (exFAT) filesystem by Microsoft, natively supported since Linux 5.7[2] |
ext4 | sys-fs/e2fsprogs | The default, GPL licensed journaling filesystem for many Linux distributions. |
F2FS | sys-fs/f2fs-tools | A Flash-Friendly File System (F2FS) created by Samsung for the Linux kernel. |
FAT | sys-fs/dosfstools | File Allocation Table (FAT). Первоначально создавалась для использования в Microsoft Windows. |
GFS2 | Global File System 2: A shared disk filesystem. Typically used in compute clusters. | |
HFS | sys-fs/hfsutils | Hierarchical File System (HFS). Первоначально создана для использования в Macintosh System Software, позднее переименованном в Mac OS (Classic). |
HFS+ | sys-fs/hfsplusutils | Наследница HFS, появившаяся в Mac OS 8.1 и ставшая файловой системой по умолчанию для Mac OS X (до macOS 10.12 Sierra). |
JFS | sys-fs/jfsutils | A GPL licensed, 64-bit Journaled File System (JFS) developed by IBM.[3] |
NILFS | sys-fs/nilfs-utils | A log-structured file system implementation for the Linux kernel. |
NTFS | New Technology File System (NTFS) для Microsoft Windows (файловая система по умолчанию в Windows). | |
OCFS2 | Oracle Cluster File System, версия 2. | |
OverlayFS | The only union-like filesystem built-in to the Linux kernel. | |
ReiserFS | sys-fs/reiserfsprogs | Version 3 of the ReiserFS filesystem. Scheduled for removal from the kernel in 2025. |
SquashFS | sys-fs/squashfs-tools, sys-fs/squashfs-tools-ng | A compressed, read-only file system for Linux[4] |
UDF | sys-fs/udftools | Universal Disk Format - needed for mounting some kind of .iso files |
UFS | Unix File System (UFS), также называемая Berkeley Fast File System. | |
XFS | sys-fs/xfsprogs | A GPL licensed, 64-bit journaling filesystem created by Silicon Graphics.[5] |
ZFS | sys-fs/zfs | A CDDL (non-GPL compatible) licensed, copy-on-write filesystem created by Sun Microsystems[6]. |
Виртуальные файловые системы
Виртуальные файловые системы, также называемые псевдо-файловыми системами, созданы для хранения вре́менной информации в памяти, пока запущена система.
Название | Пакет пользовательского окружения | Описание |
---|---|---|
debugfs | Used for debugging purposes; primarily Linux kernel development. | |
procfs | Used to output and change of system and process information. | |
securityfs | Used by the TPM BIOS character driver, AppArmor and IMA, an integrity provider.[7] | |
sysfs | Used to output information about and to configure devices and drivers. | |
tmpfs | Used to store files in memory (RAM). | |
devtmpfs | udev requires devtmpfs (Maintain a devtmpfs filesystem to mount at /dev) in the kernel. |
Сетевые файловые системы
Название | Пакет пользовательского окружения | Описание |
---|---|---|
Ceph | sys-cluster/ceph | A distributed object store and filesystem designed to provide excellent performance, reliability, and scalability. |
GlusterFS | sys-cluster/glusterfs | A powerful network/cluster filesystem. |
NFS | net-fs/nfs-utils | A common Linux network file system protocol. |
Samba | net-fs/samba | A re-implementation of the SMB/CIFS networking protocol. |
Файловые системы, основанные на FUSE
Название | Пакет пользовательского окружения | Описание |
---|---|---|
CurlFtpFS | net-fs/curlftpfs | File system for accessing FTP hosts based on FUSE. |
FuseISO | sys-fs/fuseiso | FUSE module to mount ISO filesystem images. |
MTPfs | sys-fs/mtpfs | A FUSE filesystem providing access to Media Transfer Protocol (MTP) devices. |
smbnetfs | net-fs/smbnetfs | A FUSE filesystem for SMB shares. |
SSHFS | net-fs/sshfs | Implements FUSE to mount filesystems in user space. |
squashfuse | sys-fs/squashfuse | Mount SquashFS archives using FUSE. |
Использование
Монтирование
Файловые системы могут быть смонтированы несколькими способами:
- mount — команда используется для монтирования файловых систем. Требует административных привилегий или записи в /etc/fstab.
- /etc/fstab — содержит информацию о файловых системах, которые могут быть смонтированы.
- Removable media — монтирование по необходимости.
- Udevil — небольшая утилита для автоматического монтирования с небольшим количеством зависимостей.
- AutoFS — автоматическое монтирование при доступе к файлу.
Смотрите также
- Bcache — a Linux kernel block layer cache.
- Filesystem security — one of the basic means to harden a system.
- Filesystem in Userspace — a way for users to mount file systems without needing special permissions
- Файловые системы в Руководстве пользователя AMD64
Внешние ресурсы
- Linux Sea, от Sven Vermeulen. Глава о файловых системах
- Bitrot and atomic COWs: Inside “next-gen” filesystems (Ars Technica)
- A Study of Linux File System Evolution (PDF document from USENIX)