fstab에서 2보다 큰 전달된 값을 사용할 수 있나요?

fstab에서 2보다 큰 전달된 값을 사용할 수 있나요?

fstab 매뉴얼 페이지에는 이 값에 대해 다음과 같이 설명되어 있습니다 pass.

pass(fsck 명령) fsck 명령은 파일 시스템을 확인하는 데 사용할 명령을 fsck에 알려줍니다. "0"으로 설정하면 파일 시스템이 무시됩니다.

종종 혼란스러울 수 있습니다. 옵션은 3개뿐입니다.

0 == 확인하지 않습니다. 1 == 먼저 이 파티션을 확인하세요. 2 == 다음으로 이 파티션이 실제로 루트 파티션에 "1"을 사용하고 나머지 파티션에 / 2를 사용하는지 확인하세요. "2"로 표시된 모든 파티션은 순차적으로 검사되므로 순서를 지정할 필요가 없습니다.

시작 시 파일 시스템이나 네트워크 공유 확인을 비활성화하려면 "0"을 사용합니다.

2보다 큰 값을 명시적으로 언급하지는 않지만, 0, 12가 사용 가능한 유일한 값임을 암시합니다.

다른 소스(예:fsck 매뉴얼 페이지)는 위의 값을 0오름차순으로 처리한다는 의미입니다("passno 값이 0보다 큰 경우 순서대로 검사합니다").

2보다 큰 값을 사용할 수 있나요?

답변1

대답은...상황에 따라 다르지만 아마도 그렇지 않을 것입니다.

긴 이야기 짧게를 사용하면 systemd0이 아닌 통과 숫자가 에 나타나는 순서대로 확인됩니다 fstab. 그렇지 않은 경우 systemd합격 번호를 오름차순으로 확인하여 2보다 큰 값을 사용할 수 있습니다.

대부분의 Linux 배포판에서 fsck바이너리는 다음에서 제공됩니다.util-linux. 이것fsck 2보다 큰 패스 번호 허용, 순서대로 처리됩니다.

직접 호출하는 모든 시스템은 fsck2보다 큰 "패스 번호" 값을 이해합니다 fstab.

util-linuxs 가 fsck항상 확인에 사용되는 것은 아니라는 것이 밝혀졌습니다 fstab. systemd자체 내부 fsck사본 유지systemd-fsckfstab, 발생 순서대로 0이 아닌 모든 것을 처리합니다.아니요다른 사람보다 먼저 출입증 번호 1항목을 스캔하세요.)

사용중인 Linux 배포판에서systemd, systemd-fsck이러한 경우 자동 파일 시스템 검사용패스번호는부울로 처리됨( 0is는 "거짓" 또는 "확인하지 않음"을 의미하고, != 0is는 "참" 또는 "확인"을 의미합니다).

/또한 가끔 루트 드라이브(마운트)를 별도로 확인하는 것도 잊지 마세요 .

매우 감사합니다네드 64, 그들은 많은 연구를 했어답변.

답변2

아니요, 0, 1, 2만 가능합니다.

매뉴얼 페이지에서 ( man fstab):

여섯 번째 필드(fs_passno). fsck(8)는 이 필드를 사용하여 부팅 시 파일 시스템 검사가 수행되는 순서를 결정합니다. 루트 파일 시스템의 경우 fs_passno를 1로 지정해야 합니다. 다른 파일 시스템의 경우 fs_passno는 2여야 합니다. 드라이브 내의 파일 시스템은 순차적으로 검사되지만, 하드웨어에서 사용 가능한 병렬성을 활용하기 위해 다른 드라이브에 있는 파일 시스템은 동시에 검사됩니다. 존재하지 않는 경우 기본값은 0입니다(fsck가 수행되지 않음).

요즘(즉, 그 시대)에는 0의 항목이 검사를 비활성화하기 위해 테스트된 다음 (루트) 파일 시스템만 먼저 검사되는 systemd것 같습니다 (마치 ). 다른 모든 사람들은 동등하게 대우받습니다. 보다pass_no/etc/fstab/pass_no == 1systemd/fsck.c 소스그리고systemd//fstab-generator.c 소스자세히 알아보십시오(또는 pass_no0에 대한 테스트를 제외하고 누락된 항목).

즉, 다른 숫자(예: 17)를 쓸 수 있더라도 이 숫자는 0에 대해서만 테스트되며 그렇지 않으면 정확한 값이 무시됩니다.

관련 정보