fstab
Lion에서 더 이상 사용되지 않는 경우 (그리고 이전에 생각합니까?) 파티션이 시스템 부팅시 마운트되지 않도록하려면 어떻게해야합니까?
이것은 이 게시물 과 관련 하여이 질문에 느슨하게 관련되어 있습니다.
편집하다:
그래서 혼란은 fstab 에 대해 읽고 편집하라는 말을 들었습니다 /etc/fstab.hd
. 그렇다면 … /etc/fstab
파티션이 마운트되지 않도록 UUID 정보를 어디에 추가해야합니까?
$ cat /etc/fstab.hd
IGNORE THIS FILE.
This file does nothing, contains no useful data, and might go away in
future releases. Do not depend on this file or its contents.
답변
또한 ( 예를 들어 여기 참조 )의 비난을 언급 man fstab
하지도 않습니다 .man diskarbitrationd
/etc/fstab
기본적으로는 없지만 기본값이 좋기 때문에 비어 있었다면 왜 있어야합니까? 필요한 경우 거기에 있습니다.
더 이상 사용되지 않는다는 주장이 fstab
웹에 떠 올랐습니다.
에서 여기 :
etc / fstab은 Leopard에서 더 이상 사용되지 않습니다
에서 여기 :
/ etc / fstab 파일을 편집 할 것을 제안했지만 Leopard에서는 더 이상 사용되지 않으며 아마도 Snow Leopard에서 제거되었을 것입니다 …
문서에 지원 중단에 대한 언급이 없다는 사실 외에도 Apple은 더 이상 사용되지 않는 구성 파일을 올바르게 편집하기 위해 유틸리티를 추가하는 이유 는 무엇입니까?
인용 man vifs
:
NAME
vifs -- safely edit fstab
[...]
HISTORY
The vifs utility originates from Mac OSX 10.5.
다음 프로그램이 실행되는 동안 (무한 루프, 종료하려면 Ctrl-C) 디스크가 마운트되지 않으며 적절한 조건으로 더 세밀하게 제어 할 수 있습니다.
#include <CoreFoundation/CoreFoundation.h>
#include <DiskArbitration/DiskArbitration.h>
DADissenterRef BlockMount(DADiskRef disk, void *context)
{
DADissenterRef dissenter = DADissenterCreate(kCFAllocatorDefault, kDAReturnNotPermitted, CFSTR("forbidden!"));
return dissenter;
}
int main (int argc, const char * argv[])
{
DAApprovalSessionRef session = DAApprovalSessionCreate (kCFAllocatorDefault);
if (!session)
{
fprintf(stderr, "failed to create Disk Arbitration session");
}
else
{
DARegisterDiskMountApprovalCallback(session, NULL, BlockMount, NULL);
DAApprovalSessionScheduleWithRunLoop(session, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
while (true) {
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 60 /* seconds */, false);
}
DAApprovalSessionUnscheduleFromRunLoop(session, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
DAUnregisterApprovalCallback(session, BlockMount, NULL);
CFRelease(session);
}
return 0;
}
main.c로 저장하고 다음을 사용하여 컴파일하십시오 (개발자 도구 필요).
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration
답변
프로그램을 실행할 필요가 없으며 fstab의 위치에 대해 걱정할 필요가 없습니다.
sudo vifs를 실행하고 파일에 적절한 줄을 추가하십시오. 광산은 :-
#
# Warning - this file should only be modified with vifs(8)
#
# Failure to do so is unsupported and may be destructive.
#
UUID=E00F307A-9295-482E-8A79-2FA2C922F3CD none ntfs rw,noauto
LABEL=Tempy none ntfs rw,noauto
vim에서 파일을 수정하고 저장하는 방법을 알고 있어야합니다. 변호사가 기본 사항을 알려줄 것입니다.
PS / private / etc는 실제로 / etc와 동일합니다. OS X은 URL을 내부적으로 처리합니다 (이것은 API 설명서에 설명되어 있습니다-여전히 이유는 이해할 수 없습니다)
답변
동일한 문제가 있으며 이에 대한 해결책을 찾지 못했기 때문에 지정된 레이블로 볼륨을 마운트하지 못하게하는 작은 시작 데몬 서비스를 작성했습니다.
여기 있습니다 : https://github.com/nanoant/mountblockd