阅读量:45
Ubuntu下inotify安装步骤
1. 更新系统软件包列表
在安装inotify-tools前,建议先更新系统的软件包列表,确保获取到最新的软件版本:
sudo apt update
2. 安装inotify-tools(核心命令行工具)
inotify-tools是Ubuntu下最常用的inotify用户空间工具集,包含inotifywait(监控文件系统事件)和inotifywatch(统计事件发生次数)两个命令。通过以下命令安装:
sudo apt install inotify-tools
安装完成后,可通过inotifywait --help或inotifywatch --help验证安装是否成功。
3. (可选)安装开发库(用于源码编程)
若需要通过C语言等编程语言调用inotify的底层接口(如inotify_init()、inotify_add_watch()),需额外安装libinotify-dev开发库:
sudo apt install libinotify-dev
该库提供了访问inotify功能的头文件(如/usr/include/sys/inotify.h)和静态/动态库文件。
4. (可选)调整内核参数(解决监控规模限制)
默认情况下,Ubuntu系统对每个用户可监控的文件/目录数量有限制(通常为8192)。若需要监控大量文件(如整个系统目录),需调整max_user_watches参数:
# 查看当前限制值
cat /proc/sys/fs/inotify/max_user_watches
# 临时增加限制(重启后失效,例如设置为524288)
echo 524288 | sudo tee /proc/sys/fs/inotify/max_user_watches
# 永久生效:编辑sysctl.conf文件,添加以下内容
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
# 使配置生效
sudo sysctl -p
5. (可选)验证基础功能
安装完成后,可通过以下命令测试inotifywait的基本功能(监控当前目录的文件创建、修改、删除事件):
inotifywait -m -e create,modify,delete .
按下回车键后,终端会持续监听当前目录。若新建、修改或删除文件,会输出类似以下信息:
./test.txt CREATE
./test.txt MODIFY
./test.txt DELETE
注意事项
- inotify是Linux内核2.6.13及以上版本的内置功能,Ubuntu 18.04及以上版本均支持;
- 若通过源码编译安装(非推荐),需提前安装
gcc、make、libc6-dev等编译工具,并下载inotify-tools源码包(如从SourceForge获取),执行./configure && make && sudo make install完成安装。但包管理器安装更便捷且易于维护。