Linux에서 Fstab 파일에 항목을 추가하는 방법

일반적인 윈도우 운영체제와는 다르게, 리눅스에서는 시스템과 직접 연결되지 않은 하드 드라이브가 자동으로 인식되지 않습니다. 이러한 이유로, 사용자는 매번 PC를 켤 때마다 파일 관리자를 열어 각 드라이브와 파티션을 수동으로 연결해야 하는 불편함을 겪습니다. 하지만 리눅스에서는 fstab 파일을 수정하여 이러한 불편을 해소할 수 있습니다.

참고: 이 글의 끝부분에 첨부된 비디오 튜토리얼을 참조하시면 더욱 쉽게 이해하실 수 있습니다.

fstab 파일 백업하기

fstab 파일은 시스템의 핵심 구성 요소 중 하나이므로, 수정 시에는 주의가 필요합니다. 만약 수정 과정에서 실수가 발생하면 시스템에 심각한 문제가 생길 수 있습니다. 따라서 작업을 시작하기 전에 반드시 fstab 파일의 전체 백업을 만드는 것이 중요합니다. 또한 백업 파일을 드롭박스나 구글 드라이브와 같은 클라우드 서비스에 업로드하여 혹시 모를 상황에 대비하는 것이 좋습니다.

백업을 생성하려면 먼저 터미널을 열고 다음 명령어를 사용하여 백업 파일을 저장할 새 폴더를 만듭니다.

mkdir /home/username/system-backups

그 다음, 루트 권한을 얻기 위해 다음 명령어를 실행합니다.

sudo -s

루트 권한으로 /etc/ 디렉토리로 이동한 후, fstab 파일을 백업 폴더에 복사합니다.

cd /etc/
cp fstab /home/username/system-backups

마지막으로, 기존 fstab 파일의 이름을 fstab.bak으로 변경합니다.

mv fstab fstab.bak

fstab 백업 복원하기

만약 fstab 파일을 잘못 수정한 경우, 클라우드 스토리지에 업로드해둔 fstab.bak 파일을 system-backups 폴더로 다운로드하거나 (만약 파일이 로컬에 있는 경우) cd 명령어를 사용하여 해당 폴더로 이동합니다.

cd ~/system-backups

루트 권한을 얻은 후, 다음 명령어를 사용하여 fstab.bak 파일을 /etc/ 디렉토리로 이동합니다.

sudo -s
mv fstab.bak /etc/

기존의 손상된 fstab 파일을 삭제합니다.

cd /etc/
rm fstab

마지막으로, 백업 파일을 원래 이름으로 복원합니다.

mv fstab.bak fstab

fstab 파일의 역할

fstab은 ‘파일 시스템 테이블’의 약자로, 시스템이 어떤 파티션을 사용해야 하는지, 어디에 마운트해야 하는지, 부팅 시에 정리해야 하는지, 그리고 파일 시스템 형식이 무엇인지 등의 정보를 담고 있는 파일입니다. 리눅스 설치 시 이 파일은 보통 자동으로 생성되며, 일반 사용자는 이 파일을 직접적으로 수정할 일은 거의 없습니다.

하지만, 리눅스 PC에서 특정 드라이브에 특별한 마운트 설정을 하고 싶다면 fstab 파일을 수정하는 것이 가장 효과적인 방법입니다. 이 파일을 수정하지 않으면, 매번 부팅 시마다 터미널이나 파일 관리자를 통해 수동으로 하드 드라이브를 마운트해야 하는 번거로움을 겪게 됩니다.

fstab 파일에 항목 추가하기

fstab 파일에 항목을 추가하는 과정은 간단하지만, 실수로 인해 시스템에 문제가 발생할 수 있으므로 주의가 필요합니다. 여기서는 UUID 방식과 블록 장치 방식을 모두 사용하여 드라이브를 추가하는 방법을 살펴보겠습니다.

블록 장치 방식

블록 장치 방식은 fstab 파일에서 파티션을 지정하는 가장 쉬운 방법이지만, 가장 안전하지 않은 방법이기도 합니다. 이 방식은 사용자가 시스템 내의 하드 드라이브 블록 장치를 직접 지정하는 방식인데, 일부 리눅스 초보 사용자들의 생각과는 달리 블록 장치는 항상 동일하게 유지되지 않습니다. 블록 장치는 연결된 SATA 포트에 따라 변경될 수 있으며, PC의 하드 드라이브 순서가 변경될 경우 심각한 문제가 발생할 수 있습니다. 따라서, 마더보드에 연결된 하드 드라이브를 자주 변경하는 경우에는 이 방식을 사용하지 않는 것이 좋습니다.

1단계: 터미널을 열고 `lsblk -f` 명령어를 실행하여 PC의 모든 블록 장치 정보를 확인합니다. 이 정보를 통해 정확한 파티션을 찾고 레이블을 기록해 두어야 합니다.

예를 들어, 세 번째 하드 드라이브의 첫 번째 파티션을 추가하려면 다음 정보가 필요합니다.

`/dev/sdc` (여기서 SDC는 전체 하드 드라이브를 의미)

`/dev/sdc1` (여기서 /dev/sdc의 첫 번째 파티션을 의미)

2단계: 터미널에서 파티션을 마운트할 파일 시스템의 폴더를 만듭니다. 이 예에서는 ~/ 디렉토리에 파티션을 마운트합니다.

mkdir ~/Storage

3단계: `sudo -s` 명령어로 루트 권한을 얻은 후, `nano /etc/fstab` 명령어를 사용하여 fstab 파일을 편집합니다.

파일에서 사용자는 드라이브가 마운트될 위치에 대한 모든 것을 지정해야 합니다. 다음은 그 예시입니다.

/dev/sdc1 /home/username/Storage ext4 defaults 0 3

이것을 문장이나 공식처럼 생각하면, 작동 방식은 다음과 같습니다. 먼저 블록 장치 파티션을 지정합니다.

/dev/sdc1

그 다음, 시스템에 파일 시스템 유형을 알려줍니다. (`lsblk` 명령어를 통해 이 정보를 확인할 수 있습니다.):

ext4

셋째, 마운트에 필요한 옵션 및 속성을 지정합니다. 여기서는 “기본값”을 사용했지만, 필요에 따라 더 복잡한 옵션을 설정할 수 있습니다. 자세한 내용은 리눅스 배포판의 매뉴얼이나 위키를 참조하십시오.

defaults

넷째, dump 및 fsck 순서를 지정합니다. “덤프” 기능은 거의 사용하지 않으므로 0을 입력하고 스페이스바를 누릅니다. 그 다음, 이 마운트를 정리해야 하는 순서를 지정합니다. 부팅 시 FSCK 검사 도구는 하드 드라이브의 오류를 지웁니다. fstab 파일에서 순서는 1(루트), 2(홈), 그 다음 순으로 지정합니다.

이것이 시스템이 마운트할 세 번째 항목이라면 3을 입력합니다. 결과는 다음과 같습니다.

0 3

결과적으로 다음과 같은 마운트 라인이 생성됩니다.

`/dev/sdc1 /home/username/Storage ext4 defaults 0 3`

fstab 파일에 이 라인을 작성했다면, 커서를 라인 위로 이동한 후 “Enter” 키를 눌러 빈 줄을 삽입하고, “#” 기호를 사용하여 주석을 추가합니다. 예를 들면 다음과 같습니다.

# 이것은 /home/username/Storage에 마운트되는 1TB 하드 드라이브입니다.
`/dev/sdc1 /home/username/Storage ext4 defaults 0 3`

완료되면 CTRL + O를 눌러 파일을 저장하고 시스템을 재부팅합니다. 다시 로그인하면 하드 드라이브가 올바르게 마운트됩니다.

UUID 방식

fstab 파일에서 파티션을 마운트할 때 UUID 방식을 사용하는 것이 훨씬 안전합니다. UUID는 수동으로 변경하지 않는 한 동일하게 유지되기 때문입니다(블록 장치 레이블과 다름). 다음은 파티션 UUID 스타일을 사용하여 마운트하는 방법입니다.

참고: 이 방식에 대한 지침은 블록 장치 방식과 동일합니다 (1단계 제외). 만약 진행에 어려움이 있으면, 이 글의 해당 섹션을 다시 참조하십시오.

1단계: 터미널에서 `lsblk -f` 명령어를 실행합니다.

`-f` 스위치는 `lsblk` 명령어 자체보다 더 많은 정보를 표시합니다. (예: 파일 시스템 형식 등). 마운트하려는 하드 드라이브 파티션의 블록 장치 ID를 찾은 후, 해당 ID 옆에 있는 UUID 번호를 복사합니다.

2단계: `sudo -s` 명령어를 사용하여 터미널에서 루트 권한을 얻은 후, `fstab` 파일을 엽니다.

sudo -s
nano /etc/fstab

3단계: 마운트 라인을 작성합니다. 예를 들어, UUID 마운트 라인은 다음과 유사해야 합니다.

# 이것은 /home/username/Storage에 마운트되는 1TB 하드 드라이브입니다.
`UUID=9332b261-e089-468e-92a0-ffe07b0ae51f /home/username/Storage ext4 defaults 0 3`

완료되면 CTRL + O를 사용하여 fstab 파일을 저장한 다음 PC를 재부팅합니다.

결론

리눅스에서 fstab 파일을 편집하는 것이 다소 복잡하게 느껴질 수 있지만, 추가적인 하드 드라이브 파티션을 자동으로 마운트할 수 있게 해주기 때문에 그만한 가치가 있습니다. 리눅스에는 이 과정을 더 간단하게 만들어주는 도구들이 있지만, 자동화 도구를 사용하면 사용자가 실제로 배우는 것이 적다는 단점이 있습니다. fstab에 대한 지식을 쌓으면 시스템에 문제가 발생했을 때 더 쉽게 대처할 수 있습니다.