の廃止も言及していませ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