noatime 마운트를 기본값으로 설정하려면 어떻게합니까?


8

우분투 파생물을 만들고 있는데, noatime을 모든 파일 시스템의 기본 마운트 옵션으로 만들고 싶습니다 (우분투의 기본값 인 relatime 대신).

default_relatime기본값을 atime 또는 relatime (/ proc / sys / kernel / default_relatime에 기록하여 사용 가능)으로 전환 하는 부울 커널 매개 변수 가있는 것 같지만 noatime에 해당하는 항목을 찾을 수 없으며 어떻게 해야할지 모르겠습니다. 기본적으로 배포판 에서 활성화하십시오 .

pendrive에 데이터를 즉시 기록하도록 구성하는 방법은 무엇입니까? udev를 통해 noatime 마운트 매개 변수를 추가하는 방법이 있지만 내부 미디어에서 작동하는지와 수행 방법을 모르겠습니다.

커널을 기본적으로 noatime으로 설정하는 가장 침략적인 방법은 무엇입니까?

"cat / proc / mounts"를 사용하여 현재 기본값을 볼 수 있습니다. 암시 적 마운트 매개 변수도 표시하기 때문입니다. "마운트"를 신뢰하지 마십시오.

예, 읽었습니다. Nottime으로 Ext4를 튜닝 할 가치가 있습니까? 그리고 나는 아직도 그것을하고 싶습니다.


3
커널은 우분투 자체가 아닌 커널의 기본 옵션입니다. 커널을 수정하거나 옵션을 추가 해야 /etc/fstab합니다.
정렬

답변:


4

커널은 ATIME 또는 RELATIME 사용 여부에 대한 구성 옵션을 가지고있었습니다. NOATIME에 대한 옵션도 포함되어 있다면 dunno입니다. 어쨌든 지금은 사라졌습니다.

mount 명령에 구성 가능한 기본값이 있는지 또는 수정할 수 있는지 확인하기 위해 util-linux도 연구했지만 실제로는 그렇지 않았습니다.

그러나 기본 동작을 변경하기 위해 커널을 패치 할 수있는 것 같습니다. 2334 행에서 ./fs/namespace.c를 수정하십시오.

long do_mount(...)
...
    /* Default to relatime unless overriden */
    if (!(flags & MS_NOATIME))
            mnt_flags |= MNT_RELATIME;
...

그 주위를 교환하십시오 :

long do_mount(...)
...
    /* Default to noatime unless overriden */
    if (!(flags & MS_RELATIME))
            mnt_flags |= MNT_NOATIME;
...

그리고 그렇게해야합니다.


1
두 번째 @Bryce의 솔루션-이것이 유일한 방법 인 것 같습니다. 물론, 이것은이 패치로 커널 업데이트를 롤링하는 것을 의미합니다. 얼마나 침습적인지는 당신에게 달려 있습니다 :)
ish

그것은 사용자 정의 커널 빌드를 유지해야하고 보안 부팅으로 많은 골치 아픈 결과를 초래할 것이므로 IMHO는 실제로 침습적입니다. 여전히 가능하기 때문에 +1입니다.
Shnatsel

askubuntu.com/questions/61448/… udev 규칙이 마운트 매개 변수를 추가 할 수 있다고 제안합니다. 이 링크로 본문을 업데이트하겠습니다 ...
Shnatsel

이것들은 리눅스 3.2에서 2315+ if (flags & MS_NOATIME) mnt_flags |= MNT_NOATIME; 라인입니다. 당신의 도움을 주셔서 감사합니다!
Shnatsel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.