Filesystem/ko
파일 시스템 은 데이터 정리 결과를 의미하며, 프로그램의 프로시저를 통해 데이터를 저장할 수 있는 장치의 남은 공간을 관리하면서 이곳에 저장하고, 전달하고, 데이터를 업데이트한 후 프로그램을 끝낸 상태에서 데이터를 유지하는 공간입니다.
리눅스에는 여러가지 파일 시스템이 있으며 각 파일 시스템의 활용을 고려했을 때 장점과 단점이 있습니다.
파일 시스템
일반 정보
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.
| Name | Userspace package | Description |
|---|---|---|
| JFFS2 | Journalling Flash File System version 2. | |
| YAFFS | sys-fs/yaffs2utils | Yet Another Flash File System. |
디스크 파일 시스템
| Name | Userspace package | Description |
|---|---|---|
| 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 | The File Allocation Table (FAT) filesystem. Originally created for use with Microsoft Windows. |
| GFS2 | Global File System 2: A shared disk filesystem. Typically used in compute clusters. | |
| HFS | sys-fs/hfsutils | Hierarchical File System (HFS). Originally created for use with the Macintosh System Software, later renamed to Mac OS (Classic). |
| HFS+ | sys-fs/hfsplusutils | The successor to HFS, introduced in Mac OS 8.1 and default filesystem for Mac OS X until 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 | Microsoft Windows' New Technology File System (NTFS) (Windows' default filesystem). | |
| OCFS2 | Oracle Cluster File System version 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 | The Unix File System (UFS) also called the 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] . |
가상 파일 시스템
Virtual filesystems, also called pseudo filesystems, are for storing temporary data in memory while the system is running.
| Name | Userspace package | Description |
|---|---|---|
| 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. |
네트워크 파일 시스템
| Name | Userspace package | Description |
|---|---|---|
| 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 기반 파일 시스템
| Name | Userspace package | Description |
|---|---|---|
| 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 - 파일에 접근할 때 자동으로 마운트합니다.