/ home 이외의 것을 별도의 파티션에 넣는 이유는 무엇입니까?


53

그래서 최근 데비안 5.0.5 인스톨러는 별도 /usr/home, /var/tmp파티션 (하나의 물리 디스크에)을 제공했습니다.

이것에 대한 실질적인 이유는 무엇입니까? /home사용자 파일을 별도로 암호화 할 수 있기 때문에 별도의 파티션에 배치하는 것이 유리 할 수 ​​있음을 이해 하지만 다른 이유는 무엇입니까?


10
/home별도로 보관해야하는 또 다른 이유 는 개인 파일을 잃지 않고 시스템을 다시 설치하거나 배포판을 자유롭게 전환 할 수 있기 때문입니다 .
David Z

4
@David Zaslavsky : 배포판을 전환하는 데 권장하지 않습니다. 홈 디렉토리의 숨겨진 구성 파일이 충돌하는 경우가 종종 있습니다.
Troubadour

7
@Troubadour : 사실 그렇게 생각하지 않습니다. 이러한 구성 파일은 특정 응용 프로그램에 의해 배치되며 일반적으로 현재 사용중인 배포와 관련이 없습니다. 예를 들어, ~/.mozilla/firefoxUbuntu, Fedora 또는 Gentoo의 Firefox 에서는 내용을 동일하게 사용할 수 있습니다. ~/.bashrc어떤 기본 시스템을 실행하든 항상 Bash에 동일한 영향을 미칩니다. 나는 상당한 양의 전환 배포판을 수행했으며 실제로 해당 구성 파일에 문제가 없었습니다.
David Z

3
@David Zaslavsky : 새로운 배포판이 이전 버전보다 이전 버전의 응용 프로그램을 사용하면 구성 파일을 읽는 방법을 모를 수 있기 때문에 문제가 발생할 수 있습니다. 즉, 나는 어떤 종류의 일도 스스로 시도하지 않았습니다.
직관

또 다른 이유로, hdd와 ssd를 모두 사용하는 경우 ssd에 대량의 설치를 원하지만 많은 수를 피하기 위해 hdd에 / home 및 / var를 넣고 싶습니다. ssd에 씁니다.
Kevin

답변:


55
  1. 손실 최소화 : /usr별도의 파티션에있는 경우 손상 /usr되었다고해서 복구 할 수없는 것은 아닙니다 /etc.
  2. 보안 : /항상 ro 일 수는 없지만 ( /rootrw 등일 수 있음) /usr가능합니다. 가능한 한 ro를 만드는 데 사용할 수 있습니다.
  3. 다른 FS 사용 : /tmp(신뢰할 수는 없지만 많은 파일에 빠름)과 /home(신뢰해야 함)에 대해 다른 시스템을 사용하고 싶을 수도 있습니다. 유사성 /var에는 데이터 /usr가 포함되어 /usr있지만 안정성은 희생 될 수 있지만 그다지 높지는 않습니다 /tmp.
  4. fsck 기간 : 파티션이 작을수록 하나를 확인하는 것이 빠릅니다.
  5. 다른 방법은 할당량이지만 부분 채우기를 언급했습니다.

23

/usr동일한 OS를 공유하는 여러 시스템이있는 경우 별도의 기능이 유용 할 수 있습니다. /usr모든 시스템에서 복제하는 대신 단일 중앙을 공유 할 수 있습니다 . /usr읽기 전용으로 마운트 할 수 있습니다.

/var/tmp사용자 프로그램이나 데몬에 의해 작성 될 수있다. 따라서 /루트 파티션이 100 % 가득 차서 시스템에 치명적인 영향을 미치지 않는 별도의 파티션에 보관하는 것이 안전 할 수 있습니다 . 이것에 대해 두 개의 별개의 파티션이없는 것을 피하기 위해 /tmp, 심볼릭 링크가 나타나는 것은 드문 일이 아닙니다 /var/tmp.


나는 / var 및 / tmp를 이해할 수 있다고 생각하지만 설치 프로그램이 단일 디스크 파티션을 제안했기 때문에 별도의 유틸리티 /usr가 상당히 제한되어 있습니까?
Alex B

/usrNFS를 통해 다른 시스템 과 공유 할 수 있습니다 . 그러나 별도의 파티션이 아니더라도 공유 할 수 있습니다. 사실입니다 ... 소리내어 생각 합니다 ... 읽기 전용 마운트가 충분한 이유입니까?
Didier Trosset

이런 종류의 설정으로 어떻게 업데이트합니까? 종종 (적어도 Linux에서는) 패키지는 시스템 로컬 디렉토리의 파일을 변경합니다 (예 :) /etc.
intuited

/ usr 읽기 전용 마운트의 경우 +1 업데이트하기 전에 rw를 다시 마운트하십시오.
LawrenceC

13

일반 사용자는 사물을 /var및에 쓸 수 있으므로 /tmp전체 시스템에 문제를 일으킬 수 있기 때문입니다. 이 방법은 사용자 프로세스는 채울 수 /var/tmp루트 파일을,하지만. NFS /usr/usr통해 또는 기타 원격 fs에 별도의 기능 이 유용합니다 .

(나는 이것이 분명하기를 바란다. 나는 아직 커피를 먹지 않았다)


첫 번째 문장이 가장 좋은 설명입니다. 감사합니다.
greenoldman

11

문제는 전체 루트 fs로 인해 Linux 시스템을 관리자가 복구 CD 또는 이와 유사한 도구없이 수정해도 확장 할 수 없습니다. 때 /tmp/var특히 /home별도의 파티션에있는 루트 FS는 그 일을 관리자없이 채워 적이 없습니다. 가지고 /usr모든 일반적인 설치 횟수가 배치됩니다있는 혼합으로, 심지어는 새로운 소프트웨어를 설치하면이 문제가 발생할 수 없습니다.


그것이 설치되지 않는 한 /opt:)
Troubadour

1
잘. 이것에 대해 다른 파티션을 만들거나 / opt가 실제로 / usr 파티션에 있도록 링크를 만들 수 있습니다. 원리는 여전히 동일합니다.
txwikinger

10

일반적으로 별도의 파티션을 갖는 데 필요한 인수는 다음과 같습니다.

  1. 보안 : 예를 들어, 악의적 인 사용자 (또는 프로세스)가 바이너리를 덮어 쓰거나 바이너리를 트로이 목마로 바꾸지 않도록 파티션을 읽기 전용으로 마운트 할 수 있습니다. 따라서 ssh 바이너리가 / usr / local / bin에 있고 / usr / local이 읽기 전용으로 마운트되면 누구나이 바이너리를 대체하기가 어려울 것입니다.

  2. 유연성 / 편의성 : 예를 들어 자체 파티션에 / var을 설정하고 80 %가 찼을 경우 크기를 조정하거나 필요한 경우 다른 디스크로 옮길 수도 있습니다. / var 아래의 로그가 어떤 식 으로든 건초로 이동했기 때문에 '/'가 100 % 가득 찬 시스템을 처리하는 것보다 오히려 그렇게해야합니다. 파티션마다 파일 시스템이 완전히 다를 수 있으므로 OS에서 ext3 (예 :)을 사용하고 데이터베이스에서 ext4를 사용하거나 객체 저장소에서 XFS를 사용하거나 사용자 지정 앱을 사용하여 원시 장치를 사용할 수 있습니다!


첫 번째 경우 시스템 업데이트를 처리하는 일반적인 방법은 무엇입니까?
intuited

6

전통적으로 개발 된 DEC 하드웨어의 특성으로 인해 이러한 방식으로 수행되었습니다. 루트 및 스왑을 위해 작고 빠른 디스크를 구입하고 사용자 데이터를 위해 더 크고 느린 디스크를 구입하는 것이 더 경제적이었습니다 ( /usr). 어떤면에서는 협약이 막혔습니다.

그러나 여전히 몇 가지 이유가 있습니다. 몇 가지 일반적인 사항은 다음과 같습니다.

  • 디스크의 시작 부분에 가까운 별도의 작은 파티션에 / boot를 넣습니다. 구형 PC BIOS 펌웨어는 디스크의 처음 1024 개 트랙에서만 부팅됩니다. 최신 하드웨어에서는 문제가되지 않습니다.

  • 사용자 데이터에 액세스 할 때 병목 현상을 제거하기 위해 별도의 디스크 와 같은 /var또는 /tmp다른 디스크에 사용 중인 파티션을 배치 합니다.

  • 다른 파티션의 다른 파일 시스템. 예를 들어, /usrOracle과 같은 DBMS 용 파일을 호스팅하는 파티션 에는 저널링 파일 시스템을 사용하고 싶지만 DBMS는 자체 저널링을 수행하고 저널링 파일 시스템은 상당한 오버 헤드를 유발할 수 있습니다.

  • 별도의 디스크 나 파티션에 사용자 데이터가 있으면 머신을 크게 수술하지 않고도 더 큰 디스크로 쉽게 마이그레이션 할 수 있습니다.

  • NFS를 통해 홈 디렉토리 또는 응용 프로그램 바이너리와 같은 공유 데이터를 마운트 할 수 있습니다.

  • fsck특정 유형의 파일 시스템에 대해 많은 양의 시간이 걸립니다. 시스템 영역 (자주)과 사용자 영역 (빈번하지 않음)에 대해 다른 파일 시스템 유지 관리 일정을 원할 수 있습니다.


5

파일 시스템을 포맷하는 것도 rm -rf'ing보다 빠를 수 있습니다. 특히 수천 개의 작은 파일을 지울 경우. 처리해야하지만 최종 결과가 생성 된 후에 버릴 수있는 수많은 톤의 이미지 파일을 완전히 재생성하려는 오징어 캐시. 거대한 컴파일의 .obj 파일 등


4

때때로 별도의 파티션에 넣은 폴더는 /usr/local/배포판을 변경 / 업그레이드하거나 그 옆에 설치된 다른 배포판으로 배포판 패키지 관리자와 별도로 구축하여 설치 한 소프트웨어를 재사용 할 수 있도록하기위한 것입니다. 가능한 모든 조합에서 작동한다고 보장되지는 않지만 해를 끼치 지 않습니다.


2

나는 /tmptmpfs를 넣었 으므로 내용은 디스크 대신 RAM에 저장됩니다. 즉 유용하지 않을 것 /etc또는 /usr그러나.

그러나 다른 파일 시스템에 다른 디렉토리를 배치 할 수 있으면 유리할 수 있습니다. 즉 /home, ext4와 같은 빠르고 실험적인 파일 시스템 대 ext2와 같은 안정적이고 안정적인 파일 시스템에 /etc있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.