Teve que adicionar:
<string>-f</string>
para o array ProgramArguments no LaunchAgent for FUSE para forçar a operação e executar corretamente ...
Mac OS X Server 10.6.8
Unidade LTO 5: Unidade de Fita IBM System Storage TS2250
HBA: ExpressSAS H680 da ATTO
Instalei o HBA e o LTO no meu Mac e sou capaz de formatar e montar a mídia de fita. Eu gostaria de ter a mídia de fita montada na inicialização do sistema. Eu criei um 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>
No entanto, sempre que eu reiniciar a máquina, a mídia da fita não será montada, embora o log do sistema mostre que ela foi montada:
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
Se eu executar 'mount', a montagem não será listada. Se eu executar o comando manualmente, / usr / local / bin / ltfs / mnt / ltfs -o devname = 0, a mídia de fita será montada, mount:
ltfs on / mnt / ltfs (osxfusefs, nodev, nosuid, síncrono, montado por pw)
Eu tentei encapsular o comando em um script bash e ter o LaunchAgent executar o script sem sucesso. Eu até adicionei mais opções, / usr / local / bin / ltfs / mnt / ltfs -o devname = 0 -o gid = 20 -o uid = 501 -o work_directory = / tmp / ltfs
Não tenho certeza se é o Mac OS X (eu vi / private / etc / security / audit_control e / etc / security / audit_class aberto quando o launchd é executado, mas não quando eu o faço manualmente), ltfs (1.2.5) ou FUSE (IBM usa o OSXFUSE 2.3.8).
Ironicamente, se eu jogar o comando bash em um aplicativo Automator e fazer com que ele seja iniciado como um item de login do usuário por meio das Preferências do sistema, a mídia de fita será montada.
As permissões do LaunchAgent estão corretas, eu tentei LaunchDaemons e User LaunchAgents. Eu editei o /etc/security/auditor_control, removendo o argumento de política e removendo os naflags.
Eu não entendo. Qualquer ajuda apreciada.
Teve que adicionar:
<string>-f</string>
para o array ProgramArguments no LaunchAgent for FUSE para forçar a operação e executar corretamente ...