(openSUSE 13.2 を実行しています)
現在の設定
起動時に次の行でマウントする外付けバックアップ ドライブがあります/etc/fstab
。
/dev/mapper/cr_backup /backup ext4 comment=systemd.automount,nofail 0 2
nofail
バックアップ ドライブが存在しないこともあり、その場合にブートがハングしないようにしたいので、このオプションがあります。
問題
バックアップ ドライブが存在しない場合、ls
ルート ディレクトリで実行すると無限ループに入り、Ctrl + C でキャンセルする必要があります。エラー メッセージは次のとおりです。
ls: cannot access /backup: Interrupted system call
ls
バックアップ ドライブにアクセスしようとしたがアクセスできなかったため、失敗しているようです。
/backup/backup
1 つの解決策は、バックアップ ドライブをネストして、トリップしないようにすることですls /
。ただし、これは汚いハックのように思われ、より洗練された解決策があるかどうか疑問に思っています (システムの仕組みについてもっと知りたいです)。
私の (限られた) 経験ではmount
、デバイスがマウントされていない場合、マウント ポイントは空のディレクトリになります。ここで同様のことを実現できますか? ただし、デバイスがマウントされていない場合は現在実行されない、1 時間ごとの自動バックアップがスケジュールされているので、注意が必要です。バックアップ ドライブがマウントされていない場合、バックアップによって空のディレクトリにすべてがダンプされるのは絶対に避けたいです。
答え1
私の意見では、起動時にバックアップ ファイルシステムをマウントしようとするのは悪い習慣です。何か問題が発生した場合 (rm -rf / [enter] 操作)、バックアップ上のデータも一緒に削除される可能性があるためです。
したがって、スクリプトを使用してこれを行う場合は、スクリプト内または cron 内でマウントし、完了したらアンマウントします。
これにより、起動時にハングすることはなくなり、ファイルシステムが動作するようになります。
ただし、別の解決策としては、これを fstab から削除し、rc.local に「&」文字を含むマウント コマンドとして配置して、バックグラウンドで実行する方法があります。
mount /dev/mapper/cr_backup /backup -t ext4&
リムーバブルデバイスの場合、autofs ソリューションも利用できます。 https://linuxconfig.org/automatically-mount-usb-external-drive-with-autofs
答え2
SUSEを使っているのは知っていますが、Ubuntu fstab wikiのこの記述(https://help.ubuntu.com/community/Fstab) が正しい方向を指し示すかもしれません:
フラッシュドライブなどのリムーバブルデバイスできるfstab に追加できますが、通常は gnome-volume-manager によってマウントされるため、このドキュメントの範囲外となります。
更新: これは興味深いかもしれないhttp://www.novell.com/coolsolutions/tip/17785.html、SUSE に関する古い記事。