使用UDEV在Linux 7操作系统下为磁盘配置名称_V1.0
udev语法

udev是Linux系统中一个重要的系统工具,用于管理设备驱动程序和设备节点。
它通过监视系统中的设备变化,自动更新设备文件和相关配置,使得设备管理和维护更加方便和高效。
下面是对udev语法的介绍,希望能够对您有所帮助。
udev语法主要涉及udev规则文件的使用,规则文件用于指定设备文件的关联规则,以及相关的动作和选项。
udev规则文件使用文本编辑器编写,语法规则如下:1. 规则文件的基本格式:udev规则文件以一个数字开头,后面跟着一系列规则,每个规则由一个或多个规则条目组成。
每个规则条目由一个动作(action)和一个或多个条件(condition)组成。
2. 动作(action):udev规则文件中的动作指定了当满足条件时应该执行的操作。
常见的动作包括:* add:将新设备添加到系统中,并创建相应的设备文件和配置文件。
* remove:将已存在的设备从系统中移除,并删除相应的设备文件和配置文件。
* change:当设备属性发生变化时触发,通常用于更新设备文件和相关配置。
* move:将设备移动到不同的挂载点,并更新设备文件路径。
3. 条件(condition):udev规则文件中的条件用于指定哪些设备应该匹配该规则。
条件通常包括设备节点名称、设备属性、设备驱动程序等。
当满足所有条件时,该规则才会生效。
* 节点名称:使用节点名称进行匹配,可以指定具体的设备文件路径或通配符匹配多个文件路径。
* 属性:使用属性进行匹配,例如设备的厂商、型号、接口等。
* 驱动程序:使用驱动程序进行匹配,可以指定特定的驱动程序或使用通配符匹配多个驱动程序。
除了基本语法规则外,udev还提供了许多选项和功能,可以根据需要进行配置。
例如,可以使用选项指定挂载点、设备文件的权限和所有权、日志记录等。
此外,udev还支持插件机制,可以扩展其功能,满足不同场景下的需求。
总之,udev语法是Linux系统中的重要概念,用于管理设备驱动程序和设备文件。
linux udev 磁盘盘符 uuid规则

linux udev 磁盘盘符uuid规则Linux操作系统中的udev是一个用于自动设备管理的子系统。
在Linux 中,磁盘是通过盘符来识别和访问的,而uuid是一个用于唯一标识磁盘的字符串。
本文将逐步介绍Linux udev子系统中如何设置磁盘盘符和uuid规则。
1. udev简介udev(User Device)是Linux操作系统中的一个设备管理子系统,它负责自动检测和识别系统中所有的硬件设备。
udev可以根据设备的属性和规则,动态地创建设备文件,以便用户和应用程序可以方便地访问和使用硬件设备。
在本文中,我们将重点关注udev在磁盘设备管理方面的应用。
2. 磁盘盘符在Linux系统中,磁盘设备的访问和识别是通过盘符来实现的。
常见的磁盘盘符包括/dev/sda、/dev/sdb等。
通常,系统会按照插入顺序给磁盘分配盘符。
例如,第一个插入的磁盘设备可能被分配为/dev/sda,第二个插入的磁盘设备可能被分配为/dev/sdb,以此类推。
然而,磁盘设备的插拔、固件更新等操作会导致磁盘设备的盘符发生变化,这给使用者和应用程序带来了不便。
因此,我们可以使用udev规则来设置磁盘设备的盘符,以便在设备插拔或固件更新后保持一致。
3. uuid规则实际上,使用磁盘的盘符来识别和访问设备有一定的局限性。
当磁盘设备的插拔或者系统重启时,盘符可能会发生变化,从而导致出现错误。
这给系统管理员和应用程序带来了一些麻烦。
为了解决这个问题,Linux系统引入了uuid(Universally Unique Identifier)的概念,用于唯一标识磁盘设备。
uuid是一个字符串,通常由一串字符和数字组成,它的长度为32个字符。
uuid是在磁盘分区时自动生成的,并且在设备插拔和系统重启后保持不变。
通过使用uuid作为磁盘设备的唯一标识,我们可以避免使用盘符来识别设备的局限性,以及磁盘插拔和系统重启时的错误。
4. 设置磁盘盘符和uuid规则为了设置磁盘设备的盘符和uuid规则,我们需要编辑udev的规则文件。
UDEV 配置

为阐述下字符串替换的概念,我们来展示几个例子:
KERNEL=="mice", NAME="input/%k"
KERNEL=="loop0", NAME="loop/%n", SYMLINK+="%k"
第一条规则确保鼠标设备节点一定出现在/dev/input目录下(缺省是在/dev/mice下面). 第二条规则确保名字为loop0的设备节点在/dev/loop/0创建,也会照常创建一个符号链接/dev/loop0.
最常用的操作符是%k和%n. %k计算设备的内核名, 例如设备的"sda3"将(缺省)出现在/dev/sda3. %n计算设备(存储设备的分区号)的内核号码, 例如"3"将被换成"/dev/sda3".
udev也提供了一些高级功能替换操作符. 在读完本文剩下内容后可以查询udev的手册页. 以上例子中的操作符也有一个可选的语法 - $kernel和$number. 因此如果你希望在规则中匹配字符%, 你必需写成%%, 如果你希望匹配字符$, 你必须写成$$.
介绍
关于本文档
udev面向2.6以上的linux内核在用户空间提供动态的/dev下固定设备命名方案. 之前的/dev实现: devfs现在已被废弃, udev成为继任者. udev vs devfs是一个敏感的谈话内容,在进行比较之前你应该读一下这个文档(/pub/linux/utils /kernel/hotplug/udev_vs_devfs).
这里有一个匹配sysfs中单个属性例子. 更多细节将在稍后的帮助你基于sysfs属性书写规则的文档中提供.
(转载)linux中设备文件配置程序udev详解

(转载)linux中设备⽂件配置程序udev详解如果你使⽤Linux⽐较长时间了,那你就知道,在对待设备⽂件这块,Linux改变了⼏次策略。
在Linux早期,设备⽂件仅仅是是⼀些带有适当的属性集的普通⽂件,它由mknod命令创建,⽂件存放在/dev⽬录下。
后来,采⽤了devfs, ⼀个基于内核的动态设备⽂件系统,他⾸次出现在2.3.46内核中。
Mandrake,Gentoo等Linux分发版本采⽤了这种⽅式。
devfs创建的设备⽂件是动态的。
但是devfs有⼀些严重的限制,从2.6.13版本后移⾛了。
⽬前取代他的便是⽂本要提到的udev--⼀个⽤户空间程序。
⽬前很多的Linux分发版本采纳了udev的⽅式,因为它在Linux设备访问,特别是那些对设备有极端需求的站点(⽐如需要控制上千个硬盘)和热插拔设备(⽐如USB摄像头和MP3播放器)上解决了⼏个问题。
下⾯我我们来看看如何管理udev设备。
实际上,对于那些为磁盘,终端设备等准备的标准配置⽂件⽽⾔,你不需要修改什么。
但是,你需要了解udev配置来使⽤新的或者外来设备,如果不修改配置,这些设备可能⽆法访问,或者说Linux可能会采⽤不恰当的名字,属组或权限来创建这些设备⽂件。
你可能也想知道如何修改RS-232串⼝,⾳频设备等⽂件的属组或者权限。
这点在实际的Linux实施中是会遇到的。
为什么使⽤udev在此之前的设备⽂件管理⽅法(静态⽂件和devfs)有⼏个缺点:*不确定的设备映射。
特别是那些动态设备,⽐如USB设备,设备⽂件到实际设备的映射并不可靠和确定。
举⼀个例⼦:如果你有两个USB 打印机。
⼀个可能称为/dev/usb/lp0,另外⼀个便是/dev/usb/lp1。
但是到底哪个是哪个并不清楚,lp0,lp1和实际的设备没有⼀⼀对应的关系,因为他可能因为发现设备的顺序,打印机本⾝关闭等原因⽽导致这种映射并不确定。
理想的⽅式应该是:两个打印机应该采⽤基于他们的序列号或者其他标识信息的唯⼀设备⽂件来映射。
linux udev规则

linux udev规则Linux中的udev是一种设备管理器,用于动态管理设备节点和设备驱动程序的加载。
udev规则是在udev管理器中定义的规则集,用于自定义设备的命名、权限设置和其他操作。
下面是关于linux udev规则的详细介绍:规则文件位置:udev规则文件通常存储在/etc/udev/rules.d/目录下,以.rules为后缀。
您可以在该目录中创建新的规则文件或编辑已有的文件。
规则语法:udev规则采用简单的文本配置语法。
每个规则由一行表示,并包含以下几个部分:规则名称:规则名称是一个描述性的字符串,以SUBSYSTEM、KERNEL或ATTR开头,后跟一个可选的匹配条件。
匹配条件:匹配条件用于在设备和属性之间进行匹配。
您可以使用设备的子系统(subsystem)、内核属性(kernel attribute)和设备属性(device attribute)进行匹配。
动作:规则的最后部分是要执行的动作。
动作可以是设置设备权限、创建符号链接、运行脚本等。
规则示例:命名设备节点:您可以使用udev规则为设备节点定义自定义名称。
例如,您可以为一个特定的USB设备设置自定义名称,以便更容易识别。
示例规则为一个USB设备节点命名:SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", ATTR{idProduct}=="XXXX", NAME="my_device"设置设备权限:您可以使用udev规则设置设备节点的权限。
例如,您可以设置特定设备节点的所有者和访问权限。
示例规则设置设备权限:SUBSYSTEM=="input", MODE="0666"创建符号链接:您可以使用udev规则在/dev目录下创建符号链接,以便使用更友好的设备名称。
示例规则创建一个名为my_link 的符号链接:KERNEL=="sda1", SYMLINK+="my_link"规则的加载和生效:当系统启动时,udev会读取/etc/udev/rules.d/目录中的规则文件,并将规则加载到内核中。
udev env 规则

udev env 规则udev 是Linux 下的设备管理器,它通过监测内核的事件,实现对设备的动态管理。
udev env 规则是 udev 所使用的一种规则语言,用于定义设备的环境变量。
本文将介绍udev env 规则的相关内容。
一、udev env 规则的基本结构udev env 规则由一系列的key-value 对组成,每个key-value 对占据一行。
其中key 是环境变量的名称,value 是环境变量的值。
一个基本的 udev env 规则如下所示:ENV{ENV_NAME}="ENV_VALUE"其中ENV_NAME 是环境变量的名称,ENV_VALUE 是环境变量的值。
二、udev env 规则的使用场景udev env 规则可以用于设备的自动配置和管理。
通过定义设备的环境变量,可以实现对设备的特定操作或配置。
下面是一些常见的使用场景:1. 自动挂载设备通过udev env 规则,可以在设备插入时自动挂载设备。
例如,可以定义一个名为 ACTION 的环境变量,当 ACTION 等于 "add" 时,执行挂载操作。
ENV{ACTION}=="add", RUN+="/bin/mount %E{DEVNAME} /mnt"上述规则中,当设备插入时,udev 会将设备的名称(%E{DEVNAME})作为参数,执行"/bin/mount" 命令来挂载设备到 "/mnt" 目录。
2. 设置设备权限通过udev env 规则,可以设置设备文件的权限。
例如,可以定义一个名为 MODE 的环境变量,指定设备文件的权限。
ENV{ACTION}=="add", MODE="0666"上述规则中,当设备插入时,udev 会将设备文件的权限设置为"0666"。
udev env 规则
udev env 规则**一、了解udev简介**udev是一个用于管理系统设备和驱动的Linux内核模块。
它能够根据设备的唯一标识符(如UEFI、MAC地址等)动态地加载和卸载驱动,实现对设备的自动识别和管理。
udev的环境变量配置对于系统的设备管理至关重要。
**二、掌握udev环境变量配置**1.配置udev环境变量在Linux系统中,可以通过在`/etc/udev/udev.conf`文件中配置udev的环境变量。
主要配置项包括:- `ACTION`:设置设备动作,如`KERNEL=="module",RUN+="modprobe $module"`。
- `SUBSYSTEM`:设置设备子系统,如`SUBSYSTEM=="usb", ATTRS{idVendor}=="0x1234", ATTRS{idProduct}=="0x5678"`。
2.编写udev规则udev规则文件位于`/etc/udev/rules.d/`目录下。
规则文件以`.rules`为扩展名,例如`01-mydevice.rules`。
编写规则时,可以使用以下语法:- `ACTION`:设置设备动作,如`ACTION=="add",KERNEL=="module", RUN+="modprobe $module"`。
- `ATTRS`:设置设备属性,如`ATTRS{idVendor}=="0x1234", ATTRS{idProduct}=="0x5678"`。
- `DEVICE`:设置设备路径,如`DEVICE=="/dev/ttyUSB0"`。
**三、实践udev规则编写**以一个USB设备为例,编写udev规则使其在插入时自动加载驱动。
银河麒麟udev规则生效
银河麒麟udev规则生效如何使银河麒麟udev规则生效。
银河麒麟是一种基于Linux系统的操作系统,它与其他Linux发行版一样,使用udev(用户空间设备管理器)来管理硬件设备。
udev规则是一组配置文件,用于定义设备的行为,例如在插入设备时启动特定的脚本或程序。
本文将一步一步解释如何使银河麒麟udev规则生效。
第一步:理解udev规则的基本结构在开始之前,让我们先了解一下udev规则的基本结构。
udev规则由一条或多条规则组成,每条规则包含一个匹配条件和一系列动作。
当udev 检测到设备插入或其他事件发生时,它会按顺序检查规则,并执行与匹配的规则相关联的动作。
第二步:创建udev规则文件要创建udev规则文件,您需要在`/etc/udev/rules.d/`目录下创建一个新的文件,以`.rules`为后缀。
您可以使用任何文本编辑器创建文件。
以下是一个简单的示例:# This is a udev rule for a USB deviceACTION=="add", SUBSYSTEM=="usb",ATTR{idVendor}=="1234", ATTR{idProduct}=="5678",RUN+="/path/to/script.sh"在上面的示例中,我们定义了一个规则,以在添加一个USB设备且它的供应商ID为1234,产品ID为5678时运行`/path/to/script.sh`脚本。
第三步:重启udev服务在创建udev规则文件后,您需要重启udev服务以使规则生效。
您可以使用以下命令来重启udev服务:sudo systemctl restart udev第四步:测试udev规则为了确保您的udev规则已经生效,您可以插入相关的设备并观察执行的动作。
您可以在脚本中添加一些打印语句或创建一个简单的弹窗来验证规则是否正确触发。
udev文件的写法
udev文件的写法1. 规则文件位置:udev规则文件通常存放在`/etc/udev/rules.d/`目录下,以`.rules`为后缀。
可以在该目录下创建新的规则文件或编辑已有的规则文件。
2. 规则文件的命名:规则文件的命名可以是任意的,但建议使用描述性强的名称,以便于理解和管理。
命名时应该遵循一定的命名规范,例如以数字开头,以`.rules`结尾。
3. 规则文件的语法:udev规则文件采用类似于shell脚本的语法。
每条规则由若干个键值对组成,用空格或制表符分隔。
常见的键包括`KERNEL`、`SUBSYSTEM`、`ATTRS`等,用于匹配设备的属性。
4. 规则文件的编写:在规则文件中,可以使用条件语句、变量、函数等来实现复杂的规则。
以下是一个示例规则文件的写法:# 示例规则文件(例如,99-mydevice.rules)。
# 匹配设备的子系统和属性。
SUBSYSTEM=="usb", ATTRS{idVendor}=="1234",ATTRS{idProduct}=="5678", MODE="0666", SYMLINK+="mydevice"# 匹配设备的内核名称。
KERNEL=="sda", ENV{DEVTYPE}=="disk",RUN+="/path/to/script.sh"上述示例中,第一条规则匹配USB设备的特定厂商和产品ID,设置设备的权限和创建一个符号链接。
第二条规则匹配内核设备名称为"sda"的磁盘设备,当该设备出现时执行一个脚本。
5. 规则文件的加载:在修改或创建udev规则文件后,需要重新加载udev规则才能使其生效。
可以使用`udevadm control --reload-rules`命令重新加载规则文件,或者重启udev服务。
Linux命令行技巧如何查看和修改硬件配置
Linux命令行技巧如何查看和修改硬件配置Linux操作系统以其高度可定制性和灵活性而闻名,它允许用户通过命令行界面(CLI)来查看和修改硬件配置。
本文将介绍一些常用的Linux命令行技巧,帮助您在操作系统层面上了解和调整硬件配置。
1. 查看硬件信息通过以下命令,您可以查看系统中各种硬件设备的信息:$ lshw该命令将显示系统中所有硬件设备的详细信息,包括CPU、内存、显卡、硬盘、网络适配器等。
$ lspci该命令用于列举PCI总线上连接的设备,显示它们的详细信息,如厂商、型号、硬件ID等。
$ lsusb该命令用于列举USB总线上连接的设备,显示它们的详细信息,如厂商、型号、硬件ID等。
$ lsblk该命令用于列举系统中的块设备(如硬盘、固态硬盘等),显示它们的详细信息,如设备名称、大小、挂载点等。
2. 修改硬件配置在Linux系统中,您可以通过修改相应的配置文件来调整硬件设备的设置。
下面是一些常见的硬件配置文件及其修改方法:/etc/fstab该文件用于配置磁盘分区的挂载点和参数。
您可以使用文本编辑器(如vi或nano)打开该文件并进行修改。
/etc/network/interfaces该文件用于配置网络接口的IP地址、子网掩码、网关等参数。
您可以使用文本编辑器打开该文件,并根据需要进行相应的修改。
/etc/X11/xorg.conf该文件用于配置X窗口系统的相关设置,如显示分辨率、显卡驱动等。
您可以使用文本编辑器打开该文件,并按需修改。
3. 使用udev管理设备udev是Linux系统中用于管理设备的工具,通过它,您可以在插入或移除硬件设备时执行自定义的操作。
以下是一些udev管理设备的常用命令:$ udevadm monitor该命令用于监视udev事件,当设备插入或移除时,它将显示相应的信息。
$ udevadm info该命令用于获取设备的详细信息,包括设备路径、驱动程序、设备属性等。
$ udevadm control该命令用于控制udev的运行状态,如启用/禁用设备事件处理等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用UDEV在Linux 7操作系统下为磁盘配置名称
Version 1.1
关键字:UDEV、Linux、Storage、Oracle
chan
Chan Revival InfoTech Lab
2017年8月16日
版本控制
目录
1 APPLIES TO (4)
2 GOAL (4)
3 SOLUTION (4)
4 REFERENCES (5)
1适用于 (4)
2目标 (4)
3解决方案 (4)
4参考文献 (5)
1 APPLIES TO
Linux OS - Version Oracle Linux 7.0 and later Linux x86-64
2 GOAL How to set customer device name using udev on Oracle Linux 7
3 SOLUTION
In order to create customer name (/dev/asmdisk01p1) for /dev/sdb set udev rules as below:
2) Create new udev rule
Create new udev rule file in appropriate location as
1 适用于
Linux 操作系统 – Oracle Linux 7.0版本及更新 Linux x86-64
2 目标
如何使用udev 在Oracle Linux 7平台设置自定义的设备名称。
3 解决方案
为/dev/sdb 设置自定义的设备名(/dev/asmdisk01p1),配置udev 规则如下:
2) 创建新的
udev 规划
在以下合适的位置创建新的udev 规划文件:
3) Test new udev rule
Run below command or reboot to verify new udev rule
Note: Remember to manually remove the device file if no longer needed. 4 REFERENCES
NOTE:603868.1 - How to Dynamically Add and Remove SCSI Devices on Linux
NOTE:1521757.1 - How to set udev rule for setting the disk permission on ASM disks when using multipath on OL 6.x NOTE:730996.1 - How to Create UDEV Rules for Network Cards on OEL5/RHEL5 3) 测试新建的udev 规则
运行以下命令或重启系统,验证新的udev 规则
注意:当设备文件不再需要时,要记得手动移除。
4 参考文献
NOTE:603868.1 - How to Dynamically Add and Remove SCSI Devices on Linux
NOTE:1521757.1 - How to set udev rule for setting the disk permission on ASM disks when using multipath on OL 6.x NOTE:730996.1 - How to Create UDEV Rules for Network Cards on OEL5/RHEL5。