LTFS-Laufwerk beim Systemstart mounten Mac OS X

LTFS-Laufwerk beim Systemstart mounten Mac OS X

Mac OS X Server 10.6.8
LTO 5-Laufwerk: IBM System Storage TS2250 Tape Drive
HBA: ATTO's ExpressSAS H680

Ich habe HBA und LTO in meinen Mac eingebaut und kann das Bandmedium formatieren und mounten. Ich möchte, dass das Bandmedium beim Systemstart gemountet wird. Ich habe einen LaunchAgent erstellt:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.pilotware.ltfs_mount</string>
    <key>ProgramArguments</key>
    <array>
            <string>/usr/local/bin/ltfs</string>
            <string>/mnt/ltfs</string>
            <string>-o</string>
            <string>devname=0</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>


Wenn ich den Rechner jedoch neu starte, wird das Bandmedium nicht gemountet, obwohl das Systemprotokoll anzeigt, dass es gemountet wurde:

9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS9015W Setting the locale to 'en_US.UTF-8'. If this is wrong, please set the LANG environment variable before starting ltfs.
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS14000I LTFS starting, LTFS version 1.2.5 (201202290), log level 2
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS14058I LTFS Format Specification version 2.0.0
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS14063I Sync type is "time", Sync time is 300 sec
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12158I Opening a device through iokit driver (0)
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12118I Drive identification is 'ULT3580-HH5     '
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12162I Vendor ID is IBM     
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12159I Firmware revision is BBNF
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12160I Drive serial is 1068062747
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS17160I Maximum device block size is 1048576
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS11005I Mounting the volume
9/19/12 3:15:32 PM  com.pilotware.ltfs_mount[321]   LTFS12015I Attempting to load the medium
9/19/12 3:15:52 PM  com.pilotware.ltfs_mount[321]   LTFS11031I Volume mounted successfully


Wenn ich „mount“ ausführe, wird das Mount nicht aufgelistet. Wenn ich den Befehl manuell ausführe, /usr/local/bin/ltfs /mnt/ltfs -o devname=0, wird das Bandmedium gemountet, mount:
ltfs auf /mnt/ltfs (osxfusefs, nodev, nosuid, synchron, gemountet nach Passwort).

Ich habe versucht, den Befehl in ein Bash-Skript einzubinden und den LaunchAgent das Skript ausführen zu lassen, aber ohne Erfolg. Ich habe sogar noch weitere Optionen angehängt: /usr/local/bin/ltfs /mnt/ltfs -o devname=0 -o gid=20 -o uid=501 -o work_directory=/tmp/ltfs

Ich bin nicht sicher, ob es Mac OS X ist (ich habe /private/etc/security/audit_control und /etc/security/audit_class geöffnet gesehen, als launchd ausgeführt wurde, aber nicht, wenn ich es manuell mache), ltfs (1.2.5) oder FUSE (IBM verwendet OSXFUSE 2.3.8).
Ironischerweise wird das Bandmedium gemountet, wenn ich den Bash-Befehl in eine Automator-App eingebe und ihn über die Systemeinstellungen als Benutzeranmeldeobjekt starten lasse.

Die Berechtigungen des LaunchAgent sind korrekt, ich habe LaunchDaemons und User LaunchAgents ausprobiert. Ich habe sogar /etc/security/audit_control bearbeitet, Richtlinie argv entfernt und Naflags entfernt.

Ich verstehe es nicht. Jede Hilfe ist willkommen.

Antwort1

Musste hinzufügen:

<string>-f</string>

zum ProgramArguments-Array im LaunchAgent für FUSE, um den Vorgang in den Vordergrund zu stellen und ordnungsgemäß auszuführen …

verwandte Informationen