
Mac OS X Server 10.6.8
LTO 5 привод: IBM System Storage TS2250 Tape Drive
HBA: ATTO's ExpressSAS H680
Я установил HBA и LTO на свой Mac и могу форматировать и монтировать ленточный носитель. Я хотел бы, чтобы ленточный носитель монтировался при запуске системы. Я создал LaunchAgent:
<?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>
Однако всякий раз, когда я перезапускаю машину, ленточный носитель не монтируется, хотя системный журнал показывает, что он монтируется:
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
Если я запускаю 'mount', монтирование не отображается. Если я запускаю команду вручную, /usr/local/bin/ltfs /mnt/ltfs -o devname=0, ленточный носитель монтируется, mount:
ltfs на /mnt/ltfs (osxfusefs, nodev, nosuid, synchronous, installed by pw).
Я пытался инкапсулировать команду в скрипт bash и заставить LaunchAgent выполнить скрипт, но безрезультатно. Я даже добавил больше опций, /usr/local/bin/ltfs /mnt/ltfs -o devname=0 -o gid=20 -o uid=501 -o work_directory=/tmp/ltfs
Я не уверен, Mac OS X это (я видел /private/etc/security/audit_control и /etc/security/audit_class открывающимися при выполнении launchd, но не когда я делаю это вручную), ltfs (1.2.5) или FUSE (IBM использует OSXFUSE 2.3.8).
По иронии судьбы, если я вставляю команду bash в приложение Automator и запускаю его как элемент входа пользователя через системные настройки, ленточный носитель монтируется.
Разрешения LaunchAgent правильные, я пробовал LaunchDaemons и User LaunchAgents. Я даже отредактировал /etc/security/audit_control, удалив argv политики и вычеркнув naflags.
Я не понимаю. Любая помощь приветствуется.
решение1
Пришлось добавить:
<string>-f</string>
в массив ProgramArguments в LaunchAgent для FUSE, чтобы перевести операцию на передний план и выполнить ее правильно...