Ni man fstab
ni man diskarbitrationd
(voir ici, par exemple) ne mentionnez la dépréciation de /etc/fstab
.
Ce n'est pas là par défaut, mais pourquoi devrait-il en être ainsi s'il était vide car les valeurs par défaut sont bonnes? C'est là si vous en avez besoin.
Des réclamations de dépréciation de fstab
Internet circulent sur le Web depuis quelque temps déjà.
À partir d' ici :
etc / fstab est obsolète dans Leopard
À partir d' ici :
J'allais suggérer de modifier le fichier / etc / fstab, mais apparemment, il est obsolète dans Leopard et est probablement maintenant supprimé de Snow Leopard ...
Hormis le fait qu'il n'y ait aucune mention de dépréciation dans sa documentation, pourquoi Apple aurait-il ajouté des utilitaires pour éditer correctement des fichiers de configuration dépréciés?
Citant man vifs
:
NAME
vifs -- safely edit fstab
[...]
HISTORY
The vifs utility originates from Mac OSX 10.5.
Pendant l'exécution du programme suivant (boucle infinie, Ctrl-C pour quitter), aucun disque ne sera monté. Avec des conditions appropriées, vous pouvez le contrôler plus finement, bien sûr:
#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;
}
Enregistrez en tant que main.c et compilez en utilisant ce qui suit (vous avez besoin des outils de développement):
cc main.c -o mountstopd -framework Foundation -framework DiskArbitration