Fájlrendszer
A fájlrendszer egy eszköz az adatok rendszerezésére, amely lehetővé teszi azok megőrzését a program leállítása után. A fájlrendszerek eljárásokat biztosítanak az adatok tárolására, visszakeresésére és frissítésére, valamint a rendelkezésre álló hely kezelésére az azt tartalmazó eszköz(ök)ön.
A Linux rendszerekhez több tucat fájlrendszer érhető el, amelyek mindegyike saját előnyökkel és hátrányokkal rendelkezik egy adott felhasználási eset figyelembevételekor.
Fájlrendszerek
Általános információ
- 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 memória fájlrendszerek
Az alábbi flash memóriás fájlrendszerek beágyazott flash memóriákhoz lettek tervezve, amelyek MTD-ként ismertek. Ezek nem alkalmasak USB-alapú flash adathordozókhoz, SD-kártyákhoz vagy más típusú, eltávolítható flash blokkeszközökhöz való használatra.
Név | Felhasználói térben lévő szoftvercsomag | Leírás |
---|---|---|
JFFS2 | Naplózó Flash fájlrendszer második verziója. | |
YAFFS | sys-fs/yaffs2utils | Még egy flash fájlrendszer. |
Adathordozó lemezek fájlrendszerei
Név | Felhasználói térben lévő szoftvercsomag | Leírás |
---|---|---|
bcachefs | sys-fs/bcachefs-tools | Egy következő generációs, robusztus, nagy teljesítményű fájlrendszer, amely támogatja a natív rétegezést, a másolatkészítést íráskor, a tömörítést és a titkosítást. |
btrfs | sys-fs/btrfs-progs | Egy copy-on-write (másolatkészítést íráskor) használó B-fa fájlrendszer (btrfs) fejlett funkciókkal. Alapértelmezett fájlrendszer számos Linux disztribúció számára. |
Cramfs | sys-fs/cramfs | Egy memóriaérzékeny és helyérzékeny tömörített fájlrendszer, amely támogatja a véletlenszerű olvasást. Kikerüli a blokkeszköz réteget, és hasznos a nagyon szűk memória-korlátozásokkal rendelkező apró beágyazott rendszerekben. |
eCryptfs | sys-fs/ecryptfs-utils | Az eCryptfs egy vállalati szintű titkosító-fájlrendszer Linux számára. |
efivarfs | Egy (U)EFI változó fájlrendszer[1]. | |
exFAT | sys-fs/exfatprogs | A Microsoft által fejlesztett Extensible File Allocation Table (exFAT) fájlrendszer, amelyet natívan támogatnak a Linux 5.7-es verziójától kezdve[2]. |
ext4 | sys-fs/e2fsprogs | GPL licencelt naplózó fájlrendszer számos Linux disztribúció számára. |
F2FS | sys-fs/f2fs-tools | Egy Flash-Friendly File System (F2FS), amelyet a Samsung hozott létre a Linux kernel számára. |
FAT | sys-fs/dosfstools | A File Allocation Table (FAT) fájlrendszer, amelyet eredetileg a Microsoft Windows rendszerhez hoztak létre. Erősen kerülendő a használata. |
GFS2 | Global File System 2: Egy megosztott adathordozó lemezes fájlrendszer, amelyet általában számítógépes klaszterekben használnak. | |
HFS | sys-fs/hfsutils | Hierarchical File System (HFS): Eredetileg a Macintosh rendszer szoftveréhez készült, később Mac OS (Classic) névre keresztelve. |
HFS+ | sys-fs/hfsplusutils | A HFS utódja, amelyet a Mac OS 8.1-ben vezettek be, és alapértelmezett fájlrendszerként szolgált a Mac OS X számára egészen a macOS 10.12 Sierra verzióig. |
JFS | sys-fs/jfsutils | Egy GPL licencelt, 64 bites naplózott fájlrendszer (JFS), amelyet az IBM fejlesztett ki[3]. |
NILFS | sys-fs/nilfs-utils | Egy naplózott fájlrendszer implementációja a Linux kernelhez. |
NTFS | A Microsoft Windows New Technology File System (NTFS), amely a Windows alapértelmezett fájlrendszere. Linux világhoz képest egy sokkal butább fájlrendszer. Erősen kerülendő a használata. | |
OCFS2 | Oracle Cluster File System 2. verziója. | |
OverlayFS | Az egyetlen, Linux kernelbe beépített unió-szerű fájlrendszer. | |
ReiserFS | sys-fs/reiserfsprogs | A ReiserFS fájlrendszer harmadik verziója, amelyet 2025-ben terveznek eltávolítani a kernelből. |
SquashFS | sys-fs/squashfs-tools, sys-fs/squashfs-tools-ng | Egy tömörített, csak olvasható fájlrendszer Linuxhoz[4]. |
UDF | sys-fs/udftools | Universal Disk Format (UDF). Egy fájlrendszer, amely szükséges bizonyos .iso képfájlok csatolásához. |
UFS | A Unix File System (UFS), amelyet Berkeley Fast File Systemként is emlegetnek. | |
XFS | sys-fs/xfsprogs | Egy GPL licencelt, 64 bites naplózott fájlrendszer, amelyet a Silicon Graphics hozott létre.[5] |
ZFS | sys-fs/zfs | Egy CDDL (nem GPL kompatibilis) licencelt, másolatkészítést íráskor használó fájlrendszer, amelyet a Sun Microsystems hozott létre[6]. |
virtuális fájlrendszerek
A virtuális fájlrendszerek, amelyeket ál illetve pszeudo fájlrendszereknek is neveznek, ideiglenes adatok tárolására szolgálnak a memóriában, amíg az operációs rendszer fut.
Név | Felhasználói térben lévő szoftvercsomag | Leírás |
---|---|---|
debugfs | Hibakeresési célokra használják, elsősorban a Linux kernel fejlesztéséhez. | |
procfs | Rendszerinformációk és folyamatinformációk kiírására és módosítására használják. | |
securityfs | A TPM BIOS karakterillesztő, AppArmor és az IMA, amely egy integritási szolgáltató, által használt fájlrendszer[7]. | |
sysfs | Eszközökkel és illesztőprogramokkal kapcsolatos információk kiírására és beállítására használják. | |
tmpfs | Az ideiglenes fájlok memóriában (RAM) történő tárolására használják. | |
devtmpfs | A udev megköveteli a devtmpfs fájlrendszert (a devtmpfs fájlrendszer fenntartása a /dev csatolásához) a kernelben. |
Hálózati fájlrendszerek
Név | Felhasználói térben lévő szoftvercsomag | Leírás |
---|---|---|
Ceph | sys-cluster/ceph | Egy elosztott objektumtároló és fájlrendszer, amely kiváló teljesítményt, megbízhatóságot és skálázhatóságot kínál. |
GlusterFS | sys-cluster/glusterfs | Egy nagy teljesítményű hálózati/klaszter fájlrendszer. |
NFS | net-fs/nfs-utils | Egy általános Linux hálózati fájlrendszer protokoll. |
Samba | net-fs/samba | Egy SMB/CIFS hálózati protokoll újraimplementációja. |
FUSE-alapú fájlrendszerek
Név | Felhasználói térben lévő szoftvercsomag | Leírás |
---|---|---|
CurlFtpFS | net-fs/curlftpfs | Egy fájlrendszer, amely FTP host számítógépek elérésére szolgál FUSE alapokon. |
FuseISO | sys-fs/fuseiso | Egy FUSE modul, amely ISO fájlrendszer-képfájlok csatolására szolgál. |
MTPfs | sys-fs/mtpfs | Egy FUSE fájlrendszer, amely hozzáférést biztosít a Media Transfer Protocol (MTP) eszközökhöz. |
smbnetfs | net-fs/smbnetfs | Egy FUSE fájlrendszer, amely SMB megosztások elérésére szolgál. |
SSHFS | net-fs/sshfs | A FUSE-t használja arra, hogy fájlrendszereket csatoljon a felhasználói térben. |
squashfuse | sys-fs/squashfuse | SquashFS archívumok csatolása FUSE használatával. |
Használat
Csatolás
A fájlrendszereket többféleképpen lehet csatolni:
- mount - A parancs, amelyet fájlrendszerek csatolására használnak. Rendszergazdai jogosultságokat vagy bejegyzéseket igényel a /etc/fstab fájlban.
- /etc/fstab - Leíró információkat tartalmaz azokról a fájlrendszerekről, amelyeket a rendszer csatolni tud.
- Removable media - Fájlok szükség szerinti csatolása.
- Udevil - Egy kis automatikus csatoló segédprogram, minimális függőségekkel.
- AutoFS - Automatikus csatolás fájlhozzáféréskor.
További olvasnivaló a témában
- Bcache — a Linux kernel block layer cache.
- Filesystem security — one of the basic means to harden a system.
- Filesystem in Userspace — egy lehetőséget a felhasználóknak fájlrendszerek felcsatolására különleges jogosultságok nélkül
- Filesystems in Handbook AMD64
Külső források
- Linux Sea, by Sven Vermeulen, chapter about filesystems
- Bitrot and atomic COWs: Inside “next-gen” filesystems (Ars Technica)
- A Study of Linux File System Evolution (PDF document from USENIX)