Baik man fstab
atau man diskarbitrationd
(lihat di sini misalnya) menyebutkan penghentian /etc/fstab
.
Itu tidak ada di sana secara default, tetapi mengapa harus begitu, jika itu hanya kosong karena standarnya baik? Itu ada di sana jika Anda membutuhkannya.
Klaim penghentian fstab
telah melayang di web untuk beberapa waktu sekarang.
Dari sini :
etc / fstab sudah usang di Leopard
Dari sini :
Saya akan menyarankan untuk mengedit file / etc / fstab, tetapi tampaknya itu sudah usang di Leopard, dan mungkin sekarang dihapus dari Snow Leopard ...
Terlepas dari kenyataan bahwa tidak ada menyebutkan penghinaan dalam dokumentasinya, mengapa Apple akan menambah utilitas untuk mengedit file konfigurasi yang sudah usang dengan benar?
Mengutip man vifs
:
NAME
vifs -- safely edit fstab
[...]
HISTORY
The vifs utility originates from Mac OSX 10.5.
Sementara program berikut berjalan (infinite loop, Ctrl-C untuk berhenti), tidak ada disk yang akan dipasang, dengan kondisi yang tepat Anda dapat mengendalikannya lebih halus tentu saja:
#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;
}
Simpan sebagai main.c dan kompilasi menggunakan yang berikut (Anda membutuhkan Alat Pengembang):
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration