추가 읽기

추가 읽기

/etc/mtab리눅스에는 무엇이 있나요?

왜 필요하며, 이를 가지면 어떤 이점이 있습니까?

답변1

% 파일/etc/mtab
/etc/mtab: ../proc/self/mounts에 대한 심볼릭 링크
% 파일/프로시저/마운트
/proc/mounts: self/mounts에 대한 심볼릭 링크
%

/etc/mtab이는 호환성 메커니즘입니다. 수십 년 전, Unix에는 기존 마운트 정보를 읽기 위한 시스템 호출이 없었습니다. 대신, 파일 시스템을 마운트하는 프로그램은 /etc/mtab마운트된 내용과 위치를 기록하는 테이블을 협력하고 자발적으로 유지해야 합니다 .

분명한 이유로 이는 이상적인 메커니즘이 아닙니다.

mountsLinux는 "procfs"라는 개념을 얻었고 그 중 하나는 의사 정규 파일 형태로 해당 테이블의 커널 유지 버전이었습니다. 커널에서 마운트 정보를 읽는 "시스템 호출"은 파일에 대한 열기-읽기-닫기 시퀀스가 ​​되고 그 결과는 사람이 읽을 수 있는 형식에서 기계가 읽을 수 있는 형식으로 구문 분석됩니다. 2주 전의 버그 보고서를 통해 알 수 있습니다.)

/etc/mtab결과적으로, 이는 /proc/mounts해당 이름으로 하드와이어된 프로그램이 해당 파일에서 마운트 테이블을 계속 읽을 수 있도록 하는 기호 링크로 인기를 얻었으며, 파일 시스템을 마운트하고 마운트 해제한 프로그램은 더 이상 최신 상태를 유지하기 위해 명시적으로 어떤 작업도 수행할 필요가 없었습니다. (그러나 /etc/mtab결과가 쓰기 가능한 일반 파일 인 경우 일부는 여전히 그럴 것입니다 . 그리고 mounts커널이 아닌 모든 항목에 대한 정규화 정보가 부족하여 꼭 필요한 것은 아니지만 일부 극단적인 경우도 있습니다. 하지만 중요하지는 않습니다. 일반적인 문제에 /etc/mtab.)

이제 각 프로세스는 설치된 항목에 대한 별도의 보기를 가질 수 있으므로 이제 mounts각 프로세스는 procfs에 별도의 파일을 가지며 각 프로세스의 자체 테이블은 심볼릭 링크 를 self통해 액세스 할 수 있습니다.self/mounts/proc/mounts반품이제 호환성 메커니즘이 있습니다. (흥미롭게도 현재 Linux doco에는 모든 프로세스에 대한 문서나 문서 형식이 없지만 mounts비슷한 유사 정규 파일이 있습니다.)mountsmountinfo

SunOS/Solaris에도 비슷한 메커니즘이 있습니다. 이 /etc/mnttab파일은 실제로 테이블을 읽는 것 외에도 read()마운트 지점 변경을 모니터링 poll()하고 파일의 열린 파일 설명자를 통한 시스템 호출을 통해 다양한 추가 정보를 얻는 데 사용할 수 있는 단일 파일 파일 시스템입니다 ioctl().

HP-UX에서는 /etc/mnttab파일 이름이기도 하지만 버전 11부터는 여전히 시스템 유틸리티에서 내용을 공동으로 유지 관리하는 일반 파일입니다.

AIX는 프로그램이 구문 분석해야 하는 사람이 읽을 수 있는 텍스트 테이블을 내보내지 않으며 이에 상응하는 파일이 없습니다. 마찬가지로 BSD에는 getfsstat()프로그램이 사람이 읽을 수 있는 중간 형식을 통해 마샬링할 필요 없이 기계가 읽을 수 있는 형식으로 커널에서 마운트 테이블을 얻을 수 있도록 하는 FreeBSD 및 OpenBSD에 대한 성숙한 시스템 호출이 있습니다.

추가 읽기

답변2

에 따르면 man mount:

전통적으로 마운트 및 마운트 해제 프로그램은 /etc/mtab 파일에 현재 마운트된 파일 시스템 목록을 유지했습니다. 이 실제 mtab 파일은 계속 지원되지만 현재 Linux 시스템에서는 이를 /proc/mounts에 대한 심볼릭 링크로 만드는 것이 더 좋습니다. 사용자 공간에 유지되는 일반 mtab 파일은 네임스페이스, 컨테이너와 안정적으로 인터페이스할 수 없으며 다른 고급 Linux와 함께 사용됩니다. 특징.

설치 중에 기록되지 않음 /etc/mtab:

-n, --no-mtab

마운트하기 위해 /etc/mtab에 쓸 필요가 없습니다. 예를 들어 /etc가 읽기 전용 파일 시스템에 있는 경우 이 작업이 필요합니다.

자세한 내용은 매뉴얼 페이지에 나와 있습니다.

답변3

JdeBP의 답변이 아마도 가장 실용적이고 유용할 것입니다. 이전에 어떻게 사용되었는지에 대한 보기를 제공하는 (다소 오래된) Linux 학습 준비 가이드에서 내용을 추가할 수 있습니다.

/etc/mtab와 차이점은 커널이 저장하는 사용자 공간 관리 정보 /proc/mounts와 커널 이 저장하는 정보라는 점이다./etc/mtabmount/proc/mounts원천

관련 정보