私のワークステーションはDebianJessieを実行しており、shouldユーザーがデスクトップにログオンすると、SSHFSを介してリモートディレクトリを自動的にマウントします。これを行うためのスクリプトがユーザーのワークステーションにあります。
#!/bin/bash
fusermount -u ~/remote-directory
sshfs -o reconnect remote@server:/home/shared ~/remote-directory
私は考えられるすべてを試しました。 crontab @rebootおよびrc.localの.shファイルを参照し(チルダをディレクトリへの直接パスに変更した後)、コマンド自体を実行するように変更しました。 .shとrc.localの両方が実行可能であることを確認しました。
ワークステーションを再起動しても、ディレクトリは自動的にマウントされません。 Syslogを確認すると、次のエラーが発生します。
rc.local[3140]: fusermount: failed to unmount /home/user/remote-directory: Invalid argument
systemd-udevd[1592]: Process '/bin/mount -t fusectl fusectl /sys/fs/Fuse/connections' failed with exit code 32.
これにより、fusermountコマンドの-uスイッチに問題があると思われますが、ログイン後にスクリプトを手動で実行すると、完全に正常に機能します。手動で機能する場合、なぜそれはちょうど機能する自動的に機能しないのですか?
私は同じ問題に遭遇しました。可能な限りすべてを試した後、私はついに問題が奇妙であるが単純であることに気付きました-sshfsをインストールした後にマシンを再起動するだけです。再起動後、fusermountは文句を言わなくなり、アンマウントは期待どおりに機能しました。