Filesystem/ko

파일 시스템은 데이터 정리 결과를 의미하며, 프로그램의 프로시저를 통해 데이터를 저장할 수 있는 장치의 남은 공간을 관리하면서 이곳에 저장하고, 전달하고, 데이터를 업데이트한 후 프로그램을 끝낸 상태에서 데이터를 유지하는 공간입니다.

리눅스에는 여러가지 파일 시스템이 있으며 각 파일 시스템의 활용을 고려했을 때 장점과 단점이 있습니다.

일반 정보

 * 접근 제어 안내서
 * 파일 시스템 보안

디스크 파일 시스템

 * bcachefs - 기록복사(Copy-on-write), 압축, 암호화를 지원하는 차세대 고신뢰성 고성능 파일 시스템.
 * eCryptfs - 리눅스용 기업체 암호화 파일 시스템
 * ext4 - 기본 파일 시스템이며, GPL 라이선스를 적용한 대부분의 리눅스 배포판에서 사용하는 저널링 파일 시스템입니다.
 * JFS - GPL 라이선스를 적용하였으며, IBM이 개발한 64비트 저널링 파일 시스템입니다.
 * Btrfs - 고급 기능을 갖춘 기록 복사 방식 B-트리 파일 시스템(Btrfs)입니다(완전한 오픈소스 라이선스로 관리하는 ZFS 대안).
 * NTFS - 마이크로소프트 윈도우 신기술 파일 시스템(윈도우 기본 파일 시스템).
 * Aufs - 고급 다층 통합 파일 시스템(Aufs) 이며, 다른 유니온 파일 시스템으로 알려짐.
 * OverlayFS - 리눅스 커널에 들어간 유사 유니온 파일 시스템.
 * ReiserFS - ReiserFS 버전 3 파일 시스템.
 * Reiser4 - ReiserFS 버전 4 파일 시스템. 현재 메인라인 리눅스 커널에는 구현체가 없습니다.
 * SquashFS - 리눅스용 읽기 전용 압축 파일 시스템입니다.
 * UDF - 통합 디스크 형식 - .iso 파일 종류를 마운트할 때 필요.
 * UFS/UFS2 - 버클리 고속 파일 시스템이라고도 하는 유닉스 파일 시스템(UFS).
 * XFS - GPL 라이선스를 적용하였으며, 실리콘 그래픽스에서 만든 64비트 저널링 파일 시스템입니다.
 * ZFS - CDDL (GPL 비호환) 라이선스를 적용하였으며, 썬 마이크로시스템에서 만든 기록시 복사하는 방식의 파일 시스템입니다.
 * F2FS - 삼성에서 제조한 리눅스 커널용 플래시 친화 파일 시스템(F2FS)

가상 파일 시스템

 * debugfs - 디버깅 목적. 리눅스 커널 개발이 근본 목적입니다.
 * procfs - 시스템과 프로세스 정보가 바뀔 때 출력시 사용.
 * securityfs - TPM 바이오스 캐릭터 드라이버 및 무결성 제공자에서 사용합니다.
 * sysfs - 장치 및 드라이버 정보를 출력하고 설정할 때 사용.
 * tmpfs - 메모리에 파일을 저장할 때 사용(RAM).
 * devtmpfs - 커널 동작시 에서 필요로 하는 devtmpfs (에 마운트할 목적으로 devtmpfs 파일 시스템을 관리).

네트워크 파일 시스템

 * Ceph - 최상의 성능, 신뢰도, 확장성을 갖춘 분산 객체 저장소 및 파일 시스템.
 * NFS - 흔한 리눅스 네트워크 파일 시스템 프로토콜.
 * SSHFS - 사용자 영역에서 파일 시스템에 마운트하도록 구현한 FUSE.
 * Tahoe-LAFS - 최소 권한 파일 저장소(LAFS).

FUSE 기반 파일 시스템

 * CurlFtpFS - FUSE 기반 FTP 호스트 접근용 파일 시스템
 * exFAT - 확장 FAT 파일 시스템의 FUSE 파일 시스템.
 * FuseISO - ISO 파일 시스템 이미지를 마운트하난 FUSE 모듈.
 * MTPfs - 미디어 전송 프로토콜(MTP) 장치에 접근하는 FUSE 파일 시스템.
 * smbnetfs - SMB 공유용 FUSE 파일 시스템.
 * squashfuse - FUSE 용 SquashFS 아카이브 마운트 꾸러미.

마운트
파일 시스템은 여러가지 방식으로 마운트할 수 있습니다:


 * - 직접 파일 시스템을 마운트할 때 활용하는 명령어입니다. 관리 권한을 갖추거나 에 항목을 넣으면 됩니다.
 * fstab - 시스템에서 마운트할 수 있는 파일 시스템을 자세하게 알려주는 정보가 들어있습니다.
 * Removable media - 파일을 요청할 때마다 마운트합니다.
 * Udevil - 적은 의존성을 지닌 소규모 자동 마운트 유틸리티.
 * AutoFS - 파일에 접근할 때 자동으로 마운트합니다.

추가 참조

 * bcache - 리눅스 커널 블록 계층 캐시.
 * FUSE - 사용자 영역 파일 시스템(FUSE).

외부 자료

 * Linux Sea, by Sven Vermeulen, chapter about filesystems
 * https://wiki.archlinux.org/index.php/File_systems