Ни то, 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