it-swarm.com.de

Mac Lion: fstab ist veraltet. Was ersetzt es also, um die Montage einer Partition zu verhindern?

Wenn fstab in Lion veraltet ist (und früher, glaube ich?), Wie kann man dann ordnungsgemäß verhindern, dass eine Partition beim Systemstart bereitgestellt wird?

Dies hängt lose mit dieser Frage zusammen, die ab diesem Beitrag keine Antwort hat.

Bearbeiten:

Meine Verwirrung rührt daher, dass ich über fstab lese und aufgefordert werde, /etc/fstab.hd zu bearbeiten. Also .../etc/fstab muss ich erstellen und wo füge ich UUID-Informationen hinzu, um das Mounten von Partitionen zu verhindern?

$ cat /etc/fstab.hd 
IGNORE THIS FILE.
This file does nothing, contains no useful data, and might go away in
future releases.  Do not depend on this file or its contents.
39
Meltemi

Weder man fstab noch man diskarbitrationd (siehe hier zum Beispiel) erwähnen die Nichtbeachtung 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, fstab sei veraltet, 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 es in der Dokumentation keine Erwähnung von Veraltetheit gibt, warum würde Apple Dienstprogramme zum korrekten Bearbeiten veralteter Konfigurationsdateien hinzufügen?

Zitier 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 den richtigen 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
29
Daniel Beck

Sie müssen keine Programme ausführen oder sich Gedanken darüber machen, wo sich fstab befindet.

Führen Sie einfach Sudo vifs aus und fügen Sie der Datei die entsprechenden Zeilen hinzu. Meins ist:-

#
# Warning - this file should only be modified with vifs(8)
#
# Failure to do so is unsupported and may be destructive.
#
UUID=E00F307A-9295-482E-8A79-2FA2C922F3CD none ntfs rw,noauto
LABEL=Tempy none ntfs rw,noauto

Stellen Sie sicher, dass Sie wissen, wie Sie eine Datei in vim ändern und speichern. Vimtutor bringt Ihnen die Grundlagen bei.

PS/private/etc ist eigentlich dasselbe wie/etc. OS X verarbeitet die URL intern (dies wird in der API-Dokumentation erklärt - obwohl ich immer noch nicht verstehe, warum)

20
Milliways

Da ich das gleiche Problem habe und keine vernünftige Lösung dafür gefunden habe, habe ich einen kleinen Dienst zum Starten von Daemons geschrieben, der das Mounten von Volumes mit angegebenen Bezeichnungen verhindert.

Hier ist es: https://github.com/nanoant/mountblockd

2
Adaś