Ubuntu를 처음 설치했을 때 /
및 home
다른 파티션으로 분리했습니다. 그러다가 생각해보니 어떻게 이런 일이 가능했을까?
home
"에 없습니다 /
.
답변1
파티션에는 파일 시스템이 포함될 수 있습니다. Linux는 마운트 지점(디렉토리)에 파일 시스템을 마운트할 수 있습니다. 이 마운트 지점은 /home
루트 디렉토리에 있는 마운트 지점과 함께 다른 파일 시스템의 디렉토리 트리에 있을 수 있습니다 /
.
마운트는 마운트된 디렉터리의 내용을 마운트 지점을 통해 사용할 수 있음을 의미합니다. 이는 홈 디렉토리가 루트 디렉토리(디렉토리 트리)에 있지만 여전히 자체 파티션의 자체 파일 시스템에 있음을 의미합니다.
답변2
mount
이 명령에 대한 매뉴얼 페이지 항목을 읽어볼 수도 있습니다 .https://www.man7.org/linux/man-pages/man8/mount.8.html
Unix 시스템에서 액세스할 수 있는 모든 파일은 루트가 있는 파일 계층 구조로 배열되어 있으며
/
이러한 파일은 여러 장치에 분산될 수 있습니다.
파일 계층 구조는 시스템에서 파일을 논리적으로 구성하는 방법이지만 파일이 물리적으로 저장되는 방식을 실제로 나타내지는 않습니다.
답변3
파일 시스템의 구조(계층적 데이터베이스)와 실행 중인 시스템의 계층적 디렉터리 트리 표현 사이에는 약간의 혼동이 있습니다.
모든 계층에는 몇 가지 루트가 있습니다. 따라서 각 계층적 파일 시스템에는 자체 루트가 있습니다.
그러나 마운트되면 루트는 메모리 계층 구조 어딘가에 매핑됩니다.가상 파일 시스템 계층. 따라서 실제로 귀하의 콘텐츠 /home
가뿌리파일 시스템의 경우다음으로 설치됨/home
, 그 내용은 다음과 같다현재의그 길 아래로. 이러한 혼란의 원인은 메모리 계층 구조의 루트에 마운트되어 루트가 메모리 계층 구조의 루트가 되는 "루트"라는 중요한 단일 파일 시스템이 있다는 것입니다.
다양한 상황에서 이러한 파일 시스템이 대체 경로에 마운트되는 것을 볼 수 있습니다. 일반적인 상황은 다음과 같습니다.
- 설치하다.운영 체제를 설치하는 동안 새 설치의 "루트"가 될 파일 시스템은 다른 곳에 마운트됩니다(데비안 설치 프로그램은 마운트 지점을 사용하고
/target
젠투 매뉴얼에서는 마운트 지점을 권장합니다/mnt/gentoo
등). 문제의 일부는 설치 프로그램 자체가 자체 루트 파일 시스템이 설치되어 실행되어야 하는 운영 체제 위에서 실행되는 응용 프로그램이라는 것입니다. - 다시 덮다.이는 이전 항목의 변형으로 간주될 수 있습니다. 자체 루트로 복구 OS를 실행하지만 복구하려는 루트 시스템(또는 다른 파일 시스템)의 파일에 액세스하려면 다른 곳에 설치해야 합니다.
- 시작합니다.운영 체제 부팅 프로세스에서는 기본 루트 파일 시스템에 액세스하기 전에 스토리지를 초기화해야 하는 경우가 많습니다. 예를 들어 암호화된 볼륨에 배치될 수 있으므로 해당 파일 시스템에 액세스하려면 투명한 암호화 경로를 인스턴스화해야 하며 이를 수행하려면 이미 일부 애플리케이션을 실행할 수 있어야 합니다. 비밀번호나 키를 요청하고 확인하세요. , 등. 다른 상황으로는 소프트웨어 RAID, 볼륨 관리, 드라이버 로딩, 루트 파일 시스템이 네트워크로 연결된 경우 네트워크 구성(NFS 또는 iSCSI) 등이 있을 수 있습니다. 모든 경우에 작은 임시 루트 파일 시스템이 사용됩니다.파일 시스템 초기화커널 이미지와 함께 부팅 볼륨에 저장되거나 PXE 부팅 도구에서 커널과 함께 전송되거나 커널 이미지에 내장될 수도 있습니다. 이 파일 시스템에는 기본 루트 파일 시스템을 초기화하는 데 필요한 모든 구성, 프로그램, 드라이버 및/또는 스크립트가 포함되어 있습니다. 완료되면 기본 루트가 initramfs 루트의 일부 경로(보통 this
/newroot
) 에 마운트됩니다 .변화실행 후 커널은 런타임 시 한 루트에서 다른 루트로 전환됩니다. (점유된 메모리는initramfs
해제되어 정상적인 사용으로 돌아갑니다.)initramfs 쉘 디버깅부팅 메뉴에서 이는 전환하기 전에 부팅 프로세스를 중지하는 방법이므로 해당 단계에서 시스템이 어떻게 보이는지 탐색할 수 있습니다.