ラズベリーパイを使っていて、
Failed to add /run/systemd/ask-password to directory watch: No space left on device
というエラーメッセージが出た時の対処方法です。
スポンサーリンク
原因
原因は、監視対象ファイルの上限数にありました。具体的には、
/proc/sys/fs/inotify/max_user_watches
の設定です。何の設定かというと、Debianのドキュメントを確認します。
(ラズパイのOS,RaspbianはDebianベースのため「Raspbianホームページ」)
ドキュメントの該当ページ(INOTIFY(7))によると、
/proc/sys/fs/inotify/max_user_watches
作成可能な監視対象の数の実 UID 単位の上限を指定する。
とのことです。ということで、max_user_watchesの数を増やしていきましょう。
対処方法
現状確認
まずは、現状確認です。
$ cat /proc/sys/fs/inotify/max_user_watches 8192
8192となっています。これがいっぱいということなので、増やしていきます。
短期的な対処方法
まずはすぐにできる方法です。
sudo -i echo 1048576 > /proc/sys/fs/inotify/max_user_watches
とりあえずこれでもOKですが、これだと再起動したときにまた設定が戻ってしまいます。ですので、設定ファイルに追記します。
長期的な対処方法
こちらが本丸です。
sudo nano /etc/sysctl.conf
で設定ファイルを開けて、
fs.inotify.max_user_watches = 1048576
を最終行に追加してください。nanoでファイルを触るときは、Ctrl+エディター下に表示されているコマンドで保存等の操作が可能です。
この操作でエラーが解消されます。