Linux 파일 시스템 계층 구조에서 기본 디렉토리의 의미는 무엇입니까?


41

땜질을 위해 다양한 Linux 배포판을 설치 한 후 파티션 레이아웃을 제공하는 설치 관리자가 당황합니다. 쉬운 방법으로 사용 가능한 전체 디스크 공간을 사용합니다.

제공되는 일부 파티션에는 / var , swap , / usr/ home 등의 암호화 된 이름이 있습니다. 설치자들은 이것들을 나에게 실제로 설명하지 않습니다. 어떤 용도로 사용되어야하며 어떤 것이 사용되어야합니까?

답변:


61

디렉토리 이름에 대한 간단한 대답 : man hier터미널에 " "를 입력하십시오. :)

디렉토리 이름의 일반적인 목적과 그 내용을 설명하는 파일 시스템 계층의 매뉴얼 페이지입니다. 여기 에서 웹 버전을 볼 수 있습니다 .

Wikipedia에 대한 더 많은 자료도 있습니다 :

이 링크들은 어떤 파티션이 무엇이고 무엇을 그들이 저장하기 위해 (또는 역사적으로) 사용했는지에 대한 모든 것을 설명합니다.

동일한 파티션의 디렉토리가 아닌 별도의 파티션을 사용하는 것에 대한 대답은 유지 관리 성과 확장 성으로 돌아옵니다. 당신이 한 말과 파티션을 가지고 있다면 /그리고 /home그것에을, 조 사용자는 자신의 채울 수 /home/joe폴더를 전체 시스템 디스크 공간 및 정지 작업 밖으로 실행됩니다 (내가 여기에 간단 해요,하지만 일반적인 결과이다). 다른 파티션 이 /있고 /home다른 파티션에 있으면 Joe User가 /home/joe폴더를 채울 수 있으며 /home파티션이 가득 찼지만 /영향을받지 않기 때문에 시스템은 계속 작동합니다 .

따라서이 원칙을 다른 파티션에있는 거의 모든 다른 디렉토리로 확장하십시오. 특히 머신이 다중 사용자 및 다중 서비스 역할로 연중 무휴로 실행되는 경우에 유용한 방법을 알 수 있습니다.


12
+1 man hier한 명에게 물고기와 그 모든 것을 가르치십시오.
George Marian

예, hier (7)에 대한 포인터에 감사드립니다. 나는 훨씬 더 쉽게 답변을 얻을 수 있다는 것을 알지 못하고 항상 FHS 웹 페이지를 방문했습니다.
andol

문제는 이것들이 그것들의 사용법을 설명하지만 실제로는 / srv 디렉토리 에서처럼 기본적으로 사용되지 않는 것입니다.
호날두 나시 멘토

7

설치할 때 많은 배포판은 다른 파티션에 다른 디렉토리를 놓을 수있는 옵션을 제공합니다. 예를 들어 많은 사용자가 나머지 설치와 다른 파티션에 / home 디렉토리를 갖도록 선택합니다. 이는 / home 디렉토리의 모든 항목이 문서, 비디오 및 기타 모든 사용자 별 데이터로 사용자에게 속하기 때문입니다. / home 디렉토리를 별도의 파티션에 배치하고 실제 OS 파일을 다른 파티션에 배치하여 사용자가 Linux 운영 체제를 새로 설치하기로 결정한 경우 주 파티션을 다시 작성하고 / home 파티션 (및 모든 그의 파일 중 하나) 그대로.

또한 사용자는 서로 다른 파티션에 여러 개의 Linux 배포판을 설치할 수 있으며 모두 동일한 / home 파티션을 공유합니다. 이런 식으로 사용자는 자신이 사용하는 Linux 버전에 관계없이 파일에 액세스 할 수 있습니다.

일반 사용자는 별도의 / var, swap, / usr 등을 할당하는 것에 대해 너무 걱정할 필요가 없습니다. 이러한 모든 디렉토리는 OS의 일부이며 사용자 파일과는 거의 관련이 없습니다.


좋은 링크 +1. / swap이 항상 별도의 파티션이 아닙니까?
George Marian

@George Marian : 필요하지 않습니다. 파티션 스왑 대신 파일 시스템 스왑 (기존 파티션의 파일 시스템에있는 파일)을 구성 할 수 있습니다. 이런 식으로 Ubuntu 시스템은 하나의 단일 파티션에서 작동 할 수 있습니다.
txwikinger

3
집에서 놀고있는 사람들에게는 일반 파일 시스템에서 스왑 파일을 사용하는 기능이 파일 시스템에 따라 다르다는 점에 주목할 가치가 있습니다. IE : btrfs로 이것을 시도하지 마십시오. 이전 커널에서는 데이터를 자동으로 손상시키고 새로운 커널에서는 스왑을 추가하려고 할 때 오류가 발생합니다.
RAOF

5

사용 가능한 전체 디스크 공간을 사용하는 것은 개인용 컴퓨터에 완벽하게 유효한 (아마도 권장되는) 옵션입니다. 필자의 의견으로는 RAID 또는 가상 볼륨 관리가 소프트웨어에서 실용적이기 전에 고대부터의 숙식이라고 생각합니다.

UNIX 계열 시스템에서 파일 시스템은 루트 디렉토리 '/'에서 시작합니다. DOS / Windows 용어에서 'C :'

DOS / Windows에서는 문자 D :, E : 등으로 드라이브를 추가합니다. UNIX 계열 시스템에서는 드라이브를 디렉토리에 '마운트'합니다. 10 ~ 10 메가 바이트 하드 드라이브를 사용하던 시절에는 여러 드라이브와 파티션에 다양한 디렉토리를 마운트하여 하나의 큰 드라이브를 환영 할 수있었습니다. 가난한 사람의 RAID 0과 거의 같습니다.

다양한 루트 디렉토리를 분할하는 데는 여러 가지 이유가 있지만 스왑 및 / var 파티션이 가장 많이 기록 되었기 때문에 실패 할 가능성이 가장 높습니다. 다른 파티션으로 분리하면 백업에서 다른 드라이브를 추가하고 다시 마운트하는 것이 매우 쉽습니다.

또한 하나의 시스템에서 여러 버전의 Linux를 실행하는 경우 별도의 / home 패리티를 갖는 것이 좋습니다. (예 : Ubuntu 및 Red Hat). 유닉스 / 리눅스 프로그램은 사용자 설정을 자신의 홈 디렉토리에 넣습니다. 이것은 실제보다 이론적으로 훨씬 잘 작동합니다. 권한의 의미를 철저히 이해해야하기 때문입니다.

다음은 UNIX와 같은 운영 체제에 대한 몇 가지 중요한 디렉토리와 그 설명입니다.

  • /bin -기본 시스템 실행 파일
  • /lib -기본 시스템 라이브러리 (Linux에서는 .so, Windows에서는 .dll)
  • /boot-커널이있는 곳. 이 컴퓨터가 없으면 컴퓨터가 시작되지 않습니다.
  • /var-디렉토리는 서비스가 파일을 저장할 수있었습니다. 로그 파일 및 사서함처럼
  • /etc -시스템 구성 파일
  • /usr-비 필수 사용자 응용 프로그램. (유닉스 시스템 / usr없이 부팅 할 수 있지만 (복구 목적으로) 재밌지 않을 것입니다. 오래된 시스템에서는 / home과 같습니다.)
  • /home-사용자의 홈 디렉토리. 일반 사용자는 자신의 홈 디렉토리에만 쓸 수 있습니다.
  • swap (디렉토리 아님) 이것은 일반적으로 UNIX에서 별도의 파티션입니다. 스왑 디렉토리는 없지만 Linux에서 스왑 파일을 만들 수 있습니다.

2
데스크탑 / 개인용 컴퓨터의 경우에도 / home을 별도의 파티션에 두는 것이 좋습니다. 이렇게하면 홈 디렉토리를 채워야하는 두통이 줄어 듭니다.
George Marian

@George 다른 드라이브에서 홈 디렉토리로 심볼릭 링크를하는 것을 막을 수있는 것은 없습니다. 설정에서 Windows와의 호환성을 허용하기 위해 홈 파티션은 NTFS이며 홈 폴더에 사용하는 모든 폴더를 symlink로 연결합니다. 전체 폴더를 심볼릭 링크하지만 새로 설치하기로 결정한 경우 숨겨진 항목을 ~ / 별도로 유지하고 싶습니다. 별도의 파티션에 연결된 하드 코드 된 파일 경로를 사용하는 것은 20 년 전에 필요할 수 있었지만,이를 필요로하는 구조적 제약은 현재 존재하지 않습니다.
Evan Plaice

1
@evan 혼란 스러워요. 디렉토리를 홈 디렉토리로 심볼릭 링크하거나 다른 곳에서 홈 디렉토리를 심볼 링크하는 것을 언급하고 있습니까? / home을 다른 파티션으로 설정하면 어떻게 다른가요? ( "다른 파티션"은 완전히 다른 드라이브에있을 수 있습니다.) 루트 파티션을 실수로 채우는 기본 동작 (예 : 홈 폴더의 하위 디렉토리에 다운로드되는 경우)을 방지하는 것을 언급하고있었습니다.
George Marian

@George 둘 다 당신이 선호하는 것. 내가하려고하는 요점은 시스템 설치 중에 하드 링크 된 링크를 설정하여 몇 가지 심볼릭 링크를 던지면 동일한 작업을 수행하고 언제든지 쉽게 변경할 수있는 이유는 무엇입니까?
Evan Plaice

@evan 공정한 포인트. 나는 설치 후에 이런 종류의 물건을 엉망으로 만들지 않았으므로 항상 "기본"방법을 선호합니다.
George Marian


1

스왑 파티션은 최대 절전 모드에도 사용됩니다. 랩톱 또는 데스크톱을 최대 절전 모드로 전환하려면 실행중인 운영 체제 및 열려있는 응용 프로그램을 보관할 수있을만큼 큰 스왑 파티션 또는 스왑 파일이 필요합니다.

스왑 파티션의 크기가 RAM 메모리와 같은 것이 좋습니다.


1

설치하는 동안 별도의 파티션을 만들 수 있습니다. /home파티션은 우분투를 설치마다 개인 사용자 설정이 유지됩니다 의미합니다.

/-루트입니다.
/var-(위에 설명)
/dev-등록 된 장치에 대한 "링크"를 포함합니다. 즉, / dev / Video0은 캡처 카드입니다.

/bin /sbin -응용 프로그램을 포함

더 나은 아직 Wikipedia는 훌륭한 페이지 http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard를 가지고 있습니다

내가 찾은 가장 큰 것은 물건에 대한 두 번째 파티션 (가장 큰)을 가지고 있으며 다시 설치하거나 업그레이드 할 때마다 말한 것처럼. 해당 파티션을 다시 선택하고 포맷 상자를 선택 취소하면 모든 것이 돌아옵니다. 심지어 당신의 벽지!


1

음, swap스왑 공간을 사용한다. Windows의 페이지 파일과 같습니다. 그것은 RAM을 보충합니다.

/home Windows의 내 문서와 같은 사용자 데이터에 사용됩니다.

/usr 대부분의 프로그램은 C : \ Windows와 매우 유사합니다.

/var 시스템이 정상적으로 실행될 때 변경되는 데이터를 포함합니다.

왜 별도의 파티션에 있는지에 관해서는 주로 OS가 다운되면 데이터가 다운되지 않는다고 생각합니다. 그러나 나는 확실하지 않다.


/var대 차이점 은 /etc무엇입니까?
Pacerier

1

역사적으로,이 생각하는 최선의 방법이있을 수 있습니다 /home, swap및 기타 중요한 노드는 다른 파티션, 다른 물리적 디스크, 또는 다른 물리적 시스템에 있습니다. 편의상 (더 좋든 나쁘 든) 저렴하고 외부 또는 클라우드 기반 백업이 등장함에 따라 모든 것이 하나의 큰 파티션에 저장되므로 개인 정보를 다른 곳으로 백업하기 만하면됩니다.

/usr, Unix System Resources의 약자

/sbin, 시스템 바이너리

인기있는 믿음과는 반대로, /etc위해 서 있지 않는 등등 . 대신 확장 도구 상자를 나타냅니다 . 그러나 대중의 신념과는 반대로 여전히 논쟁의 여지가 있습니다.

해당 폴더에 대한 자세한 정보 와 구성 방법은 다음과 같습니다 .


0

스왑은 사용하는 경우 별도로 보관해야합니다. 그리고 1.5-2.0 x 램 크기를 사용하십시오.

나머지는 함께 보관할 수 있으며 실제로 중요하지 않습니다 (Linux / Unix는 Windows가 아니며 단일 디렉토리 계층 구조를 갖습니다 (/ var 디렉토리가 별도의 파티션인지 여부에 관계없이 정확하게 동일하게 보입니다)). 파티셔닝의 주요 목적은 다른 파일 시스템을 사용하고 가능한 "디스크 꽉 참"시나리오를 분할하는 것입니다 (예를 들어, / var이 미친 앱의 로그를 채운 경우, / home stil works)

참고로, LVM을 사용하여 원하는만큼 자유롭게 크기를 조절할 수있는 이동식 파티션을 만들 수 있으며 가족에게 새 하드 디스크를 추가 할 수도 있습니다. 그럼에도 불구하고, 그것은 약간의 커맨드 라인을 배우기를 요구하므로 전체 초보자를위한 것은 아닙니다.

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