ни man fstab
nor man diskarbitrationd
(см. здесь например) упоминают об использовании /etc/fstab
.
это не там по умолчанию, но почему это должно быть, если он просто был пуст, потому что значения по умолчанию хороши? Он там, если тебе понадобится.
утверждения об устаревании fstab
уже некоторое время плавает по сети.
С здесь:
etc / fstab устарел в Леопард
С здесь:
Я собирался предложить отредактировать файл /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;
}
Сохранить как основной.c и компилировать, используя следующие (вам нужны инструменты разработчика):
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration