Linux fstab 파일이란 무엇이며 어떻게 작동합니까?
게시 됨: 2022-01-29Linux를 실행하는 경우 파일 시스템에 대한 일부 옵션을 변경해야 할 수 있습니다. fstab에 익숙해지면 전체 프로세스가 훨씬 쉬워지며 생각보다 훨씬 쉽습니다.
Fstab이란 무엇입니까?
Fstab은 운영 체제의 파일 시스템 테이블입니다. 파일 시스템에 대한 리뷰가 필요하면 HTG가 설명하는 다른 기사를 확인하십시오. 어떤 Linux 파일 시스템을 선택해야 합니까? 예전에는 시스템이 파일을 자동으로 마운트하는 주요 방법이었습니다. 요즘에는 어떤 종류의 USB 드라이브도 연결할 수 있으며 Windows 및 Mac OS에서와 같이 Nautilus에 팝업됩니다. 하지만 옛날에는 " 마운트” 명령. 이것은 DVD, CD, 심지어 플로피에서도 마찬가지였습니다(기억나시나요?).
그 당시에 유일한 대안은 특정 장치가 연결될 때마다 특정 위치에 자동으로 마운트되어야 한다고 컴퓨터에 알리는 것이었습니다. 여기에서 fstab이 등장했고 정말 훌륭했습니다. IDE 또는 SCSI 컨트롤러에서 하드 디스크를 교체했다고 가정합니다. 컴퓨터는 파일 시스템을 다른 순서로 로드하여 잠재적으로 문제를 일으킬 수 있습니다. Fstab은 특정 파일 시스템을 찾아 매번 원하는 방식으로 자동 마운트하도록 구성되어 수많은 재해가 발생하지 않도록 합니다.
Fstab 파일
fstab 파일은 다음 위치에 있습니다.
/etc/fstab
내 fstab 파일을 살펴볼까요?
확실히 차이가 나는 것을 볼 수 있지만 자신의 fstab을 따르고 싶다면 이 명령을 터미널에 띄우기만 하면 됩니다.
nano에 익숙하지 않은 경우 gedit를 사용할 수도 있습니다.
명백한 옵션
모든 항목이 UUID로 시작하는 것을 알 수 있습니다. 이전 기사인 Linux PC에 대한 파티션 구성표를 선택하는 방법에서 이것을 본 것을 기억할 수 있지만 어쨌든 다시 설명하겠습니다. 포맷하는 동안 각 파일 시스템에는 범용 고유 식별자가 할당되어 무덤까지 가져갑니다. 변경할 수 없기 때문에 마운트할 파일 시스템, 특히 중요한 파일 시스템을 선택하는 이상적인 방법입니다. /home 파티션이 두 번째 하드 드라이브에 있고 외부 하드 드라이브로 이동하게 되었다고 가정해 보겠습니다. fstab은 여전히 해당 파티션을 찾아 올바르게 마운트하여 부팅 실패를 방지합니다. 장치 식별자를 사용하여 파티션을 선택하는 이전 방법(예: /dev/sda1)으로 전환하면(또는 사용이 중단되면) 하드 드라이브와 파티션이 컨트롤러에 의해 계산되고 변경될 수 있기 때문에 이 이점이 사라집니다.
편집: fstab 파일에서 UUID를 사용하면 대부분의 가정 사용자에게 편리하지만 몇 가지 큰 주의 사항이 있습니다. "조립된" 또는 "네트워크 기반" 장치와 같은 것을 사용할 때는 작동하지 않습니다. 고급 사용자이거나 향후 소프트웨어 RAID와 같은 것을 사용할 계획이라면 UUID를 사용하지 않는 것이 좋습니다.
fstab의 다음 섹션은 모든 후속 섹션과 마찬가지로 공백이나 탭 또는 이들의 조합으로 구분됩니다. 여기에서 마운트 지점을 찾을 수 있습니다. 보시다시피 루트(/) 마운트 포인트, 스왑 및 공유 네트워크 스토리지 드라이브에 수동으로 추가한 2개가 있습니다. fstab에 항목을 추가하는 경우 컴퓨터를 다시 시작하기 전에 수동으로 탑재 지점을 만들어야 합니다(변경 사항이 적용됨).
다음은 파티션의 파일 시스템 유형을 식별하는 섹션입니다. ext2/3/4, ReiserFS, jFS 등과 같은 많은 것들은 기본적으로 Linux에서 읽습니다. 특정 시스템에 읽고 쓸 수 있으려면 특정 패키지를 설치해야 할 수도 있습니다. 완벽한 예는 내 NTFS 파티션입니다. ntfs-3g 드라이버를 사용하여 액세스하고 있음을 알 수 있습니다.
더 무서운 것들
다음 몇 섹션은 일반적으로 신규 이민자를 두려워하지만 실제로 그렇게 복잡하지 않습니다. 사용할 수 있는 옵션이 많지만 매우 일반적인 옵션이 몇 개 있습니다. 살펴보겠습니다. (기본 옵션이 첫 번째이고 대안이 뒤따르지만 Linux 배포판은 매우 다를 수 있으므로 마일리지가 다를 수 있습니다.)
- auto/noauto: 부팅 시 파티션을 자동으로 마운트할지 여부를 지정합니다. "noauto"를 사용하여 부팅 시 특정 파티션이 마운트되지 않도록 차단할 수 있습니다.
- exec/noexec: 파티션이 바이너리를 실행할 수 있는지 여부를 지정합니다. 컴파일할 스크래치 파티션이 있는 경우 유용하거나 별도의 파일 시스템에 /home이 있는 경우에 유용합니다. 보안이 걱정된다면 "noexec"로 변경하십시오.
- ro/rw: "ro"는 읽기 전용이고 "rw"는 읽기-쓰기입니다. 루트가 아닌 사용자로 파일 시스템에 쓸 수 있으려면 "rw"를 지정해야 합니다.
- sync/async: 이것은 흥미롭습니다. "동기화"는 명령을 실행하는 즉시 쓰기를 강제 실행합니다. 이것은 플로피(얼마나 괴짜입니까?) 및 USB 드라이브에 이상적이지만 내부 하드 디스크에는 완전히 필요하지 않습니다. "비동기"가 하는 일은 사용자 활동이 중단될 때 등의 경과된 시간 동안 명령이 실행되도록 하는 것입니다. "변경 사항이 드라이브에 기록되는 동안 기다려 주십시오"라는 메시지를 받은 적이 있습니까? 이것이 일반적으로 이유입니다.
- nouser/user: 이것은 사용자가 마운트 및 마운트 해제 권한을 갖도록 합니다. 중요한 참고 사항은 "user"는 자동으로 "noexec"를 의미하므로 바이너리를 실행하고 여전히 사용자로 마운트해야 하는 경우 "exec"를 옵션으로 명시적으로 사용해야 합니다.
이러한 옵션은 공백 없이 쉼표로 구분되며 임의의 순서로 배치할 수 있습니다. 기본값이 확실하지 않은 경우 옵션을 명시적으로 언급해도 됩니다. USB와 같은 임시 위치에서 마운트된 항목은 fstab에서 UUID로 항목을 생성하지 않는 한 이 기본 패턴을 따르지 않습니다. 일반 썸 드라이브 등이 영향을 받지 않기 때문에 외장 하드 드라이브를 항상 특정 방식으로 장착하려는 경우에 편리합니다.

두 개의 스토리지 드라이브에 사용자 탑재 권한이 활성화되어 있고 읽기-쓰기 액세스가 활성화되어 있으며 자동 마운트가 켜져 있는 것을 볼 수 있습니다. 나는 많은 소프트웨어를 컴파일하지 않지만 컴파일할 때 목록 끝에 "exec" 옵션을 추가합니다.
덤핑 및 Fscking
다음 옵션은 "덤핑"에 대한 이진 값(거짓인 경우 "0" 및 true인 경우 "1")입니다. 이것은 시스템이 다운된 경우에 대비하여 상당히 오래된 백업 방법입니다. 이 값은 "0"으로 남겨 두어야 합니다.
마지막 옵션은 "합격"에 대한 숫자 값입니다. 이것은 시스템에 fsck(원하는 대로 발음) 또는 파일 시스템 검사를 수행하는 순서를 알려줍니다. 디스크에 "0" 옵션이 있으면 NTFS로 포맷된 저장 드라이브처럼 건너뜁니다. 루트 파일 시스템은 항상 "1"이어야 하며 다른 파일 시스템은 그 이후에 갈 수 있습니다. 이것은 ext3/4 및 ReiserFS와 같은 파일 시스템 저널링에 가장 적합합니다. FAT16/32 및 ext2와 같은 오래된 파일 시스템은 시간이 걸릴 수 있으므로 fscking을 끄고 주기적으로 직접 수행하는 것이 좋습니다.
이제 수행 중인 작업을 알았으므로 자동 마운팅 등을 사용할 수 있습니다. 관리해야 하는 파티션이 많을 때 매우 편리합니다. 문제가 발생할 경우를 대비하여 항상 백업하는 것을 잊지 마세요. 하지만 재미있게 보내시고 댓글에 경험을 남겨주세요!
리눅스 명령어 | ||
파일 | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · 보기 · 문자열 · 유형 · 이름 바꾸기 · zip · 압축 풀기 · 마운트 · 언마운트 · 설치 · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · 패치 · 변환 · rclone · 파쇄 · srm | |
프로세스 | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · 종료 · 재부팅 · 정지 · poweroff · passwd · lscpu · crontab · 날짜 · bg · fg | |
네트워킹 | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
관련: 개발자 및 열광자를 위한 최고의 Linux 노트북