mount는 새로 연결된 파일 시스템에 대한 기본 마운트 옵션을 어떻게 결정합니까?

mount는 새로 연결된 파일 시스템에 대한 기본 마운트 옵션을 어떻게 결정합니까?

mount다양한 파일 시스템 유형 및 각 파일 시스템에 대한 다양한 설정과 함께 사용해도 mount오랜 시간 테스트를 거쳤습니다 . mount파일 시스템을 마운트할 때 기본 설정이 무엇인지 아는 방법을 알고 싶습니다 . 데몬이 파일 시스템을 자동으로 마운트한다는 사실 외에도 udisksd다음과 같은 옵션 없이 파일 시스템을 마운트할 때 적절한 설정을 어떻게 결정합니까?mount

# mount /dev/sdc /media/usb_drive

우리는 특히 관심이 있습니다긴 옵션예를 들어 mount( ro,,,,,,... ). rw위에 표시된 대로 이 명령은 긴 옵션을 나열하지 않습니다.noexecexecnodev

$ mount | grep /dev/sdc
/dev/sdc on /media/usb_drive type ext4 (rw,relatime,data=ordered)

(rw,relatime,data=ordered)/dev/sdc : 를 마운트할 때 ext4 파일 시스템이 기본적으로 일부 옵션을 사용하는 것을 볼 수 있습니다 . 그러나 fstab에는 /dev/sdc 항목이 없습니다. 파일 시스템은 파티션이 아닌 전체 USB 드라이브에 있습니다. 위 명령은 다음 명령을 실행한 것과 같습니다.

# mount /dev/sdc /media/usb_drive -o rw,relatime,data=ordered 

mount적절한 기본 설치 옵션을 결정하는 데 사용되는 메커니즘은 무엇입니까?

답변1

적어도 Linux에서는 모든 기본값이 다음과 같이 하드코딩됩니다.

  1. mount스스로 명령을 내리다
  2. 파일 시스템별 마운트 도우미( mount.ext4이 경우).
  3. mount커널의 일반적인 VFS 계층 기능
  4. mount커널의 파일 시스템별 기능

relatime이는 사례 3에 속하며 실제로 사람들이 사용자 정의 커널을 로컬에서 패치하는 일반적인 장소입니다(보통 default 로 패치됨 noatime). 사례 3도 있지만 커널의 FS 특정 기능으로 재정의 rw될 수 있습니다 .mount

data=ordereddata=writeback4부터 시작하는 것은 ext*에 특정하며 자체 커널을 빌드하는 경우 빌드 시 변경될 수 있습니다 (일부 배포판에서는 다를 수 있음).

얻을 수 있는 기본 옵션의 정확한 목록은 파일 시스템 유형(예: BTRFS에는 ext4 이외의 다른 설정이 있음 rw,relatime), 파일 시스템의 세부 사항(ext4의 수퍼 블록에 일부 기본 옵션을 포함할 수 있음), 때로는 심지어 하드웨어 기반(BTRFS는 SSD가 있는지 추측하고 있다고 ssd판단되면 FS 관련 마운트 옵션을 추가합니다).

상황은 대부분의 다른 시스템에서도 매우 유사하지만 일부 이전 UNIX 시스템에서는 mountFS 관련 설치 명령의 멀티플렉서일 뿐입니다.

답변2

이것은 mount(8)Ubuntu 시스템의 매뉴얼입니다:

파일 시스템 독립적 설치 옵션

이러한 옵션 중 일부는 파일에 있는 경우에만 유용합니다 /etc/fstab.

이러한 옵션 중 일부는 시스템 커널에서 기본적으로 활성화하거나 비활성화할 수 있습니다. 현재 설정을 확인하려면 의 옵션을 참조하십시오 /proc/mounts. 파일 시스템에는 각 파일 시스템에 특정한 기본 마운트 옵션도 있습니다( 파일 시스템 tune2fs -l에 대한 출력 예 참조 extN).

예를 들어, OpenBSD의 해당 매뉴얼에서는 매뉴얼에 나열된 옵션이 기본이 아닌 설치 옵션을 설정하는 데 사용된다는 점을 명확하게 명시하고 있습니다. 예를 들어 and가 기본 옵션이기 때문에 softdepand 옵션이 있습니다 .noatimenosoftdepatime

관련 정보