LCPI 시험을 준비하는 과정에서 다음과 같은 문구를 접하게 되었습니다.
여러 개의 디스크를 사용할 수 있는 경우 /usr 및 /home 디렉토리를 별도의 파티션에 배치하는 것이 가장 좋습니다.http://en.wikibooks.org/wiki/LPI_Linux_Certification/Design_Hard_Disk_Layout
데스크톱 워크스테이션의 경우 홈 디렉터리를 별도의 드라이브나 파티션에 두는 것이 좋습니다.
나는 많은 Linux 서버에 로그인했지만 시스템 관리자가 이러한 폴더를 별도의 파티션에 배치하는 것을 본 적이 없습니다.
Linux 서버에서 이러한 폴더를 분리하는 것이 일반적인 관행입니까?
/usr과 /home을 별도로 유지하는 이유는 무엇입니까?(재설치가 더 쉬워지는 것 외에도).
답변1
별도의 파티션으로 만드는 세 가지 주요 이유는 다음과 같습니다.
- 성능
- 격리
- 안전
예
분리하면
/home
이 데이터를 공유 네트워크 디스크에 배치하여 사용자 A가 특정 도메인의 서버에 로그인할 때 해당 데이터가/home/$USER
시스템 간에 따라다니는 단일 복사본이 되도록 할 수 있습니다. 이는 일반적autofs
으로 NFS 및 자동 마운트(일명 .데이터를 자체 파티션에 배치 하면
/usr
읽기 전용 모드로 마운트할 수 있으므로 쉽게 조작할 수 없도록 디렉터리의 데이터를 어느 정도 보호할 수 있습니다.격리를 수행하는 몇 가지 추가 이유
/usr
는 동일한 시스템을 더 쉽게 배포할 수 있도록 하기 위한 것입니다. 이러한 파티션은 한 번 준비한 다음 시스템 전체에 더 쉽게 복제할 수 있습니다.또한 데이터를 별도로 보관하면 백업 주기가 더 쉬워질 수 있습니다.
마지막으로, 예를 들어 휘발성 디렉터리를 분리하면
/home
실수로 또는 악의적인 사용자가 시스템의 기본 디스크를 가득 채우는 것을 방지할 수 있습니다.
/home
15년 이상 이 작업을 하면서 저는 별도(NFS를 통한 네트워크 공유)와 별도의 파티션으로 격리된 /boot
디렉터리 만 보았습니다 . /var
일부 난해한 Solaris 상자 외에는 Linux 시스템을 위한 별도의 시스템을 본 기억이 없습니다 . /usr
부팅하기 전에 /usr
설치 하지 않으면 init
시스템이 난해하고 조용한 방식으로 충돌할 것이라는 점을 기억하십시오.
답변2
별도의 파티션을 배치하는 것이 일반적입니다 /home
. 이는 일반적으로 시스템 파일( /
)과 사용자 파일( /home
)을 분할합니다. 두 파일 시스템은 서로 다른 성능 장단점, 서로 다른 백업 전략, 서로 다른 할당량, 서로 다른 보안 정책 등을 가질 수 있습니다. 또한 이 방법을 사용하면 사용자 데이터와 별도로 운영 체제를 다시 설치하거나 이미지를 다시 설치할 수 있습니다. /home
분할은 단일 사용자 워크스테이션과 사용자 파일을 저장하는 다중 사용자 시스템 모두에 좋은 아이디어입니다. /home
관리자 프로필 이외의 사용자 파일이 없는 서버의 동일한 파티션에 보관할 것입니다 (그러나 해당 컴퓨터에 있는 모든 항목 /var/mail
(데이터베이스 등)에 대해 별도의 파티션이 있을 수 있음) 또는 설치가 빠르고 쉬운 경우 , 특히 랩탑에서는 두 번째 디스크를 사용하기 위해 재조정할 필요가 없습니다.
/usr
예전에는 운영체제가 많은 디스크 공간(예: 1GB 중 300MB)을 사용할 때 별도의 파티션을 두는 것이 일반적이었습니다. 이 파티션은 읽기 전용으로 만들 수 있으며 네트워크를 통해 공유될 수 있습니다. 읽기 전용으로 설정 하면 /usr
정전 시 fsck가 필요하지 않다는 장점이 있습니다. 요즘 모든 주요 파일 시스템은 긴 fsck가 필요하지 않은 저널링을 사용하며 디스크 크기는 OS 크기보다 훨씬 더 커집니다. 1TB에 30GB는 아주 작은 용량이므로 공유가 필요하지 않습니다. ( /usr
, , , /bin
… )을 나머지 시스템과 분리할 이유가 없습니다 . 분할 제안이 표시되면 오래된 것입니다./etc
/var
/usr
답변3
/usr
와 를 구분하는 것이 매우 일반적입니다 /home
. 많은 이유가 있습니다. 다음은 일부입니다:
암호화
콘텐츠를 암호화하면 몇 가지 이점이 있지만 완전히 암호화된 파티션을 디렉터리 /usr
전용으로 지정하고 암호화되지 않은 상태로 두는 것이 일반적입니다 ./home
/usr
다른 드라이브
제가 현재 사용하고 있는 노트북에는 작은 SSD와 대용량 하드 드라이브가 탑재되어 있습니다. 루트 파티션(포함 /usr
)은 SSD에 있습니다. /home
하드 드라이브에 위치합니다. SSD는 기록할 때 비교적 빨리 마모됩니다. SSD 와 같은 /home
휘발성 디렉토리를 SSD에 배치하면 수명이 크게 단축됩니다. /var
루트 파티션을 SSD에 배치하면 시스템의 부팅 시간이 단축됩니다.
안전
/home
이 옵션을 사용하여 디렉토리를 마운트하는 것이 일반적입니다 nosetuid
. 이 옵션은 마운트 시 setuid 파일이 실행되는 것을 허용하지 않습니다. 이 옵션을 설정하면 사용자가 루트가 소유한 setuid 셸을 숨기기가 더 어려워집니다.
답변4
내가 찾은 또 다른 이유는 파일 시스템 최적화였습니다. /usr에는 응용 프로그램이 실행되는 동안 사용되는 공유 개체와 기타 공용 리소스가 포함되어 있으므로 파일 시스템을 자주 사용하기에 더 적합하게 만들기 위해 이를 분리할 수 있습니다. 마찬가지로 /home의 경우 빅 데이터에 적합한 파일 시스템에도 사용할 수 있습니다.