Weder erwähnen man fstab
noch man diskarbitrationd
(siehe hier zum Beispiel) Verfall von /etc/fstab
.
Es ist nicht standardmäßig vorhanden, aber warum sollte es sein, wenn es nur leer wäre, weil die Standardeinstellungen gut sind? Es ist da, wenn Sie es brauchen.
Behauptungen über die Nichtbeachtung von fstab
schweben seit einiger Zeit im Internet.
Von hier :
etc / fstab ist in Leopard veraltet
Von hier :
Ich wollte vorschlagen, die Datei / etc / fstab zu bearbeiten, aber anscheinend war das in Leopard veraltet und wird wahrscheinlich jetzt aus Snow Leopard entfernt ...
Abgesehen von der Tatsache, dass die Dokumentation keine Hinweise auf veraltete Konfigurationsdateien enthält , warum sollte Apple Dienstprogramme hinzufügen, um veraltete Konfigurationsdateien ordnungsgemäß zu bearbeiten?
Zitat man vifs
:
NAME
vifs -- safely edit fstab
[...]
HISTORY
The vifs utility originates from Mac OSX 10.5.
Während das folgende Programm ausgeführt wird (Endlosschleife, Strg-C zum Beenden), wird keine Festplatte gemountet. Unter geeigneten Bedingungen können Sie es natürlich feiner steuern:
#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;
}
Speichern Sie es als main.c und kompilieren Sie es wie folgt (Sie benötigen Developer Tools):
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration