国内的搜索引擎有哪些,宁波做网站优化的公司,青岛网站推广 软件,昆明百度搜索排名优化1.udev概述
udev是 Linux2.6内核里的一个功能#xff0c;它替代了原来的 devfs#xff0c;成为当前 Linux 默认的设备管理工具#xff0c;能够根据系统中的硬件设备的状态动态更新设备文件#xff0c;包括设备文件的创建#xff0c;删除等。udev以守护进程的形式运行它替代了原来的 devfs成为当前 Linux 默认的设备管理工具能够根据系统中的硬件设备的状态动态更新设备文件包括设备文件的创建删除等。udev以守护进程的形式运行通过帧听内核发出来的uevent来管理/dev目录下的设备文件。不像之前的设备管理工具udev在用户空间运行而不在内核空间运行。udev会根据/etc/udev/udev.conf文件中的udev_rules指定的目录逐个检查该目录下的文件这个目录下的文件都是针对某类或某个设备应该施行什么措施的规则文件。
2.配置udev
配置使用udev通常涉及创建和编辑udev规则这些规则定义了设备在系统中行为。在使用udev之前了解一些基本概念例如subsystem、KERNEL、ACTION等。
键含义ACTION事件 (uevent) 的行为例如add( 添加设备 )、remove( 删除设备 )。KERNEL在内核里看到的设备名字比如sd*表示任意SCSI磁盘设备DEVPATH内核设备路径比如/devices/*SUBSYSTEM子系统名字例如sda 的子系统为 block。BUS总线的名字比如IDE,USBiscsiDRIVER设备驱动的名字比如ide-cdromID独立于内核名字的设备名字SYSFS{value}sysfs属性值可以表示任意ENV{key}环境变量可以表示任意PROGRAM可执行的外部程序如果程序返回0值该键则认为为真(true)RESULT上一个PROGRAM调用返回的标准输出。NAME根据这个规则创建的设备文件的文件名。注意仅仅第一行的NAME描述是有效的后面的均忽略。如果你想使用使用两个以上的名字来访问一个设备的话可以考虑SYMLINK键。SYMLINK为/dev/下的设备文件产生符号链接。由于udev只能为某个设备产生一个设备文件所以为了不覆盖系统默认的 udev 规则所产生的文件推荐使用符号链接。OWNER设备文件的属组GROUP设备文件所在的组。MODE设备文件的权限采用8进制RUN为设备而执行的程序列表LABEL在配置文件里为内部控制而采用的名字标签(下面的GOTO服务)GOTO跳到匹配的规则通过LABEL来标识有点类似程序语言中的GOTOIMPORT{type}导入一个文件或者一个程序执行后而生成的规则集到当前文件WAIT_FOR_SYSFS等待一个特定的设备文件的创建。主要是用作时序和依赖问题。OPTIONS特定的选项last_rule 对这类设备终端规则执行ignore_device 忽略当前规则ignore_remove 忽略接下来的并移走请求。all_partitions 为所有的磁盘分区创建设备文件。
/etc/udev/rules.d/目录下有一些默认的udev规则文件。可通过创建新的规则文件或编辑已有的规则文件来定义udev规则。规则文件的命名约定是以数字和描述性名称开头。数字决定了规则优先级数字越小规则越早被处理。
重新加载规则 在编辑或创建规则文件后需要重新加载udev规则
sudo udevadm control --reload-rules测试规则 插入或移除设备观察规则是否按照预期执行。可以使用udevadm monitor命令来监视udev事件。
sudo udevadm monitor查看udev事件信息 使用udevadm info命令来查看设备的udev信息。
sudo udevadm info --attribute-walk --path/sys/path/to/device替换/sys/path/to/device为实际设备的路径。对udev的配置更改可能会影响设备的命名和系统的行为因此在进行更改之前请确保了解其影响。
例如以下规则表示当USB设备插入时在/tmp/usb_log.txt文件中写入一条日志
ACTIONadd, SUBSYSTEMusb, RUN/bin/sh -c echo USB device inserted /tmp/usb_log.txt可以根据自己的需求添加其他规则。