2010. 12. 10. 12:42

[Linux/Ubuntu 파일 시스템 관리] 기초

file system은 linux로 부터 액세스되는 file, directory, device, 그리고 시스템의 다른 요소들의 구조를 제공합니다. linux는 많은 종류의 다른 file system(ext3, VFAT, ISO9660, NTFS, 기타)과 다른 종류의 매체(hard disk, CD, USB, Zip drive, 기타)들을 지원합니다.

disk partition과 이러한 partition에서의 file system을 생성하고 관리하는 것은 linux system에서 가장 critical한 작업중 하나입니다. 만약 file system을 순대기 시작했다면, hard disk나 다른 매체의 중요한 데이터를 날려버릴 수 있기 때문입니다.

이제부터, 저장 매체를 partition하고, file system을 생성하고, partition을 mount/unmount하고, 그리고 file system의 error와 disk space에 대한 체크하는 명령을 알아보도록 합니다.


기본 file system 이해하기

linux에서는 다른 종류의 file system을 사용할 수 있음에도 불구하고 linux system을 구동하는 데에 필요한 것은 많지는 않습니다. 기본 linux system을 위해 hard disk는 단지 3개의 partition만 있으면 됩니다.
  • swap partition : RAM이 제공하는 용량을 초가하는 정보를 처리하기 위한 공간
  • boot partition : boot loader와 kernel을 포함
  • root file system partition

boot partition과 root file system partition은 ext3 file system이 주로 사용됩니다.
ext3 file system은 ex2 file system을 근간으로 하는데, journaling이라 알려진 기능이 추가되었습니다. journaling은 clean하지 못한 system이 shutdown 이후에 특별히 data 무결성과 복원을 향상시켜줍니다. clean하지 못한 system의 shutdown이후 다음 부팅 동안에는 시간을 많이 소비하는 file system check를 회피하게 되는데, 이는 가장 최근에 disk에 기록된 변경사항이 저장되고 복원이 준비되기 때문입니다.

대부분의 [Linux/Ubuntu 파일 시스템 관리] 부분은 ext3 file system을 사용하며, 어떻게 생성되고 관리되는지를 설명합니다. 그러나 linux에서 지원되는 다른 종류의 file system을 알고 싶다면, 다음을 확인하시기 바랍니다.

File system 종류

설명

ext3

대부분의 linux 시스템에서 사용됨. 의도하지 않은 shutdown이후 data 안전하게 하고 reboot 빨리 있도록 journaling 포함.

ex2

journaling 포함되지 않음

iso9660

High Sierra file system(보통의 경우 CD-ROM 표준)으로 부터 발전됨. 이름과 다른 정보(권한,소유,link) 지원하기 위해 Rock ridge externsion 포함한다.

Jffs2

Journaling Flash File System version 2. USB flash drive에서 주로 사용

jfs

OS/2 Warp 위해 IBM에서 개발함. 대형 file system 고성능 환경을 위해 기능을 향상시킴

msdos

MS-DOS file system. Floopy disk등에서 사용되는 이전 MS-DOS file system.

ntfs

Microsoft New Technology File System(NTFS). 새로운 window systems file 공유하는데 필요한 file system.

reiserfs

SUSE, Slackware, 그리고 다른 linux system에서 기본적으로 사용되는 journaling file system. Ubuntu에서는 지원하지 않음

squashfs

수많은 Linux live CD 같이 압축, 읽기 전용의 file system

swap

현재 RAM에서 지원할 없는 data 가지기 위한 임시로 사용되는 swap partition에서 사용됨

ufs

Sun Microsystem으로 부터 만들어져 Solaris SunOS에서 주로 사용되는 file system

vfat

확장 FAT(VFAT) file system. 새로운 window systems file 공유하는데 필요한 file system.

xfs

고성능 환경을 위한 journaling file system. terabyte data 초당 gigabyte 전송하는 기능이 포함된 규모를 확장할 있는 file system.


위 나열된 file system 이외에도 network로 공유하는 file system을 언급해야 할 듯 합니다. ext3 file나 ntfs의 local file system에서 network로 공유되는 경우 입니다. 그러나 이러한 file system의 전체 혹은 일부는 Samba(smbfs or cifs file system), nfs, 그리고 NetWare(ncpfs)를 통해서도 공유될 수 있습니다.

많은 종류의 사용 가능한 file system은 모든 version의 linux에서 생성, 지원이 이뤄지지 않을 수 있습니다. 예를 들어, minix(Minix systems), befs(BeOS systems), 그리고 affs(Amiga systems)와 같은 file system은 해당 system으로 부터 과거의 backup 매체에 접근하고 mount는 유용하게 쓰일지도 모릅니다. 게다가 다른 유명한 file system은 완벽하게 지원되지 않을 수 있습니다. 예를 들어, reisers file system은 완벽하게 지원되지 않습니다.