/dev/loop0
RHEL 과 같은 특정 마운트 지점에 마운트를 시도하는 스크립트가 있습니다 /mnt/mp
. 내가 사용하는 명령은 다음과 같습니다.
mount /dev/loop0 /mnt/mp --no-mtab -o ro
에 항목이 생성되어서는 안 됩니다 /etc/mtab
. 이 명령은 RHEL 6 이전에는 제대로 작동했지만 RHEL 7에서는 이 명령이 실패했습니다 /etc/mtab
. 이유는 무엇입니까? RHEL 7에서 이를 억제하는 방법은 무엇입니까?
답변1
최신 시스템에서 /etc/mtab은 /proc/mounts에 대한 심볼릭 링크입니다. /proc/mounts는 모든 마운트의 현재 상태를 표시하는 커널에서 제공하는 가상 파일입니다. 따라서 모든 작업 후에는 항상 업데이트됩니다 /proc/mounts
. mount
바라보다 man mount
.
전통적으로 마운트 및 마운트 해제 프로그램은 /etc/mtab 파일에 현재 마운트된 파일 시스템 목록을 유지했습니다. 이 실제 mtab 파일은 여전히 지원되지만 현재 Linux 시스템에서는 /proc/mounts에 대한 심볼릭 링크로 만드는 것이 더 좋습니다. 사용자 공간에 유지되는 일반 mtab 파일은 네임스페이스, 컨테이너 및 기타와 안정적으로 인터페이스할 수 없기 때문입니다. 고급 Linux에서 사용 특징.
RHEL7은 그런 시스템인 것 같습니다.
/etc/mtab 및 /proc/mounts 파일이 일치하지 않을 수 있습니다.
...
파일 시스템에 대한 정보 소스로 커널(/proc/mounts)을 사용하십시오. 이 솔루션은 RHEL7에서 작동합니다.
답변2
/etc/mtab의 내용을 읽는 것이 손상될 수 있으므로 이 방법을 권장하지 않지만 다음과 같이 할 수 있습니다.
# cd /etc
# rm mtab
# touch mtab.real
# ln -s mtab.real mtab
# reboot
systemd가 mtab을 업데이트하지 않는 것 같아서 여전히 비어 있습니다.