关于linux root用户下无法通过vi、vim修改文件的问题


事情的起因:

我在做lsyncd的同步服务时提示我inotify的最大检测数量被超过了,让我查看inotify的最大配置,如下图:

于是我去用vim修改这个文件,但是保存的时候报错了:

E667: Fsync failed

查看文件权限为644,环境为root下应该是可以修改的。但是就是无法修改。

查找资料发现是文件被加载占用又是系统服务,无法用常规办法修改。

所以又去找了一波资料。

问题的解决:

最后采用echo和dd命令搞定这个问题:

echo 1310720 | sudo dd of=/proc/sys/fs/inotify/max_user_watches

其中这个dd命令还可以用来创建任意大小的文件:

dd if=/dev/zero of=./file.txt bs=2M count=50 //创建一个2*50M的名字为file.txt的文件,内容从/dev/zero 里面取