推销一下udev,一个很好的设备名称管理机制(Debian Sid)
时间:2004-06-03
来源:互联网
首先,使用udev后,你的/dev目录看起来简洁多了,可能象我的一样:
wsh@WSh:/dev$ ls
adsp hda3 log stderr tty19 tty32 tty46 tty6 vcs6
agpgart hda5 MAKEDEV stdin tty2 tty33 tty47 tty60 vcs7
audio hdc mem stdout tty20 tty34 tty48 tty61 vcsa
cdrom hdc1 mixer tty tty21 tty35 tty49 tty62 vcsa1
console hdc2 null tty0 tty22 tty36 tty5 tty63 vcsa2
core hdc3 port tty1 tty23 tty37 tty50 tty7 vcsa3
dsp hdc4 ppp tty10 tty24 tty38 tty51 tty8 vcsa4
fd hdc5 psaux tty11 tty25 tty39 tty52 tty9 vcsa5
fd0 hdc6 ptmx tty12 tty26 tty4 tty53 urandom vcsa6
full hdc7 pts tty13 tty27 tty40 tty54 vcs vcsa7
gpmctl hdd random tty14 tty28 tty41 tty55 vcs1 xconsole
gpmdata initctl rtc tty15 tty29 tty42 tty56 vcs2 zero
hda input shm tty16 tty3 tty43 tty57 vcs3
hda1 kmem snd tty17 tty30 tty44 tty58 vcs4
hda2 kmsg sndstat tty18 tty31 tty45 tty59 vcs5
wsh@WSh:/dev$
其次,使用了udev后,你就知道你的系统中到底有(驱动了)什么设备
还有,udev提供一个命名机制,让你可以定制设备的名字,或者某设备有一个唯一的名字。而不是简单的lp0,lp1,根本不知道lp0对应哪一个打印机。
2、使用udev后,/dev中少了什么东西?
主要是少了你系统中没有的东西,比如你的/dev中可能有超过1000个项目,实际上你根本没那么多的设备
另外还少了你没加载驱动的设备。
3、udev会象devfs那样自动加载设备的驱动吗?
不会!udev只是简单地把内核中存在的设备列表在一个目录中(如/dev),设备的驱动程序加载不是udev的事。
4、那为什么不就用devfs呢?
devfs的开发者已经不对其进行维护了(我不确切),而且devfs的机制存在一些问题,在2.6版的内核中已经被标记为“反对”了。关键是devfs可以做的事情udev也可以做,而且做得更好。当然你如果用2.4的内核,你没有机会选择udev,记得用devfs时安装devfsd!否则devfs提供的名字很多软件都不支持!
5、用udev时如何加载驱动呢?
当然,什么时候都可以手工加载模块,如
modprobe ide-cd
加载ide光驱驱动。当然这不是你想要的答案,你可以把ide-cd也就是模块的名字加一行在/etc/modules文件中,系统启动时就会加载了。
更好的方法是安装hotplug和discover,这样大多数设备如USB鼠标,U盘等都可以自动加载了。当然某些不支持即插即用的设备可能还需要像上面那样加载在/etc/modules中或者手工加载。
6、使用udev安全吗?
安全!我使用2.6内核开始,udev版本从0.21开始,一直使用到现在,只有几个小问题。使用udev不会导致系统不可启动、数据损坏等。还可以安装到其他目录如/udev(Debian中缺省是/dev),这样你甚至可以同时使用这两个目录中的设备。就算用2.4的内核启动,udev也不会搞什么破坏,它只是不工作而已。就算你已经使用了devfs,使用udev也不会有什么大问题,只要你把udev停止devfs就启作用了,如果你把udev配置在其他目录,如/udev,则两者互不干扰,都可使用。
7、使用udev有什么问题?
首先,udev还在不断改进完善中,可能会出现一些问题。但是还是很安全的。
我使用udev过程中碰到唯一的一个兼容性问题,就是使用hdparm时,如果在/dev/hdparm.conf设置了不存在的设备(如/dev/hdb),由于使用udev后,它的名字不会出现,hdparm的脚本执行到这里就会“异常”结束,后面的设备hdparm都不管了。你需要小心配置你的文件,防止出现这种情况。这个问题我已经提交了hdparm补丁,但还没有被改进。
还有就是某些设备(主要是非即插即用的)还不能由安装hotplug和discover检测到并安装驱动(我没有修改它们的配置),如:串口、PPPOE模块等。这些还需要在/dev/modules中加载,我的/dev/modules文件中有三个模块:
pppoe
ide-cd
floppy
8、我要如何才能使用udev?
首先你要使用2.6的内核,才能支持hotplug,支持udev
apt-get install udev
就可以了。
9、还有问题怎么办?
看一看系统中/usr/share/doc/udev/下面的文件吧
或者到这里http://www.kernel.org/pub/linux/utils/kernel/hotplug下载最新的udev包(025版361K),看里面的文档。
查Google
作者: waq 发布时间: 2004-06-03
作者: aries1998 发布时间: 2004-06-03
但愿 debian-installer 开发小组能够放弃 devfs,使用 udev,呵呵。
作者: hiweed 发布时间: 2004-06-03
作者: qyl1 发布时间: 2004-06-03
Package: udev
Priority: extra
Section: admin
Installed-Size: 648
Maintainer: Marco d'Itri <[email protected]>
Architecture: i386
Version: 0.024-7
Depends: libc6 (>= 2.3.2.ds1-4), libnewt0.51, libselinux1 (>= 1.8), debconf (>= 0.5) | debconf-2.0, hotplug, initscripts (>= 2.85-10)
Recommends: dbus-1 (>= 0.21)
Conflicts: lvm-common (<< 1.5.13)
Filename: pool/main/u/udev/udev_0.024-7_i386.deb
Size: 222220
MD5sum: fc12bebeeb063f148d5b13be75de8cd3
Description: /dev/ management daemon
udev is a program which dynamically creates and removes device nodes from
/dev/. It responds to /sbin/hotplug device events and requires a 2.6 kernel.
作者: faint 发布时间: 2004-06-03
作者: faint 发布时间: 2004-06-03
作者: maxofmin 发布时间: 2004-06-04
最初由 aries1998 发表 hotplug和discover能否共存? |
不过,也许只安装一个就可以支持大部分设备。我是两个都装了的,启动时会提示某个模块已经加载了等等,有杀错没放过!
只是本人对于它们的配置还没有研究,配置一下discover可能根本就不需要从/etc/modules加载驱动了。
作者: waq 发布时间: 2004-06-04
最初由 qyl1 发表 我装了udev,进入不了gnome.出错了!!!! |
/etc/init.d/udev stop
把它停止(当然以root身份来做),你的/dev目录就恢复原貌了,再启动gnome试试。
作者: waq 发布时间: 2004-06-04
最初由 maxofmin 发表 gentoo我已经使用udev N年了! |
作者: carlos 发布时间: 2004-06-04
作者: faint 发布时间: 2004-06-04
作者: qyl1 发布时间: 2004-06-04
最初由 qyl1 发表 我把udev删了就正常了。 |
作者: waq 发布时间: 2004-06-04
apt的2.6.7
结果/dev下很多东西都没有了。别的还好说psaux没有了,X起不来了 icon_sad.gif /dev/input/mice也没有啊
怎么搞阿
作者: cnhnln 发布时间: 2004-07-17
作者: cnhnln 发布时间: 2004-07-20
最初由 carlos 发表 N<1 ? |
==> N<=0
作者: paulin 发布时间: 2004-07-20
作者: niqiu 发布时间: 2004-08-02
作者: xiachongbaogc 发布时间: 2004-08-02
最初由 maxofmin 发表 gentoo我已经使用udev N年了! |
作者: jhuangjiahua 发布时间: 2004-08-19
Unpacking replacement openoffice.org-mimelnk ...
dpkg: error processing /var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_al l.deb (--unpack):
trying to overwrite `/usr/share/mimelnk/application/vnd.stardivision.calc.deskt op', which is also in package kdelibs-data
dpkg-deb: subprocess paste killed by signal (断开的管道)
Errors were encountered while processing:
/var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
请问这是怎么回事?? 是不是udev引起的?
作者: xiachongbaogc 发布时间: 2004-08-19
作者: jinzhcheng 发布时间: 2004-08-19
最初由 xiachongbaogc 发表 apt-get upgrade 升级后就没了而且还报错了.如下: Unpacking replacement openoffice.org-mimelnk ... dpkg: error processing /var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_al l.deb (--unpack): trying to overwrite `/usr/share/mimelnk/application/vnd.stardivision.calc.deskt op', which is also in package kdelibs-data dpkg-deb: subprocess paste killed by signal (断开的管道) Errors were encountered while processing: /var/cache/apt/archives/openoffice.org-mimelnk_1.1.2-3_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 请问这是怎么回事?? 是不是udev引起的? |
不过也有遗憾. 比如我打开两个终端. 假设全屏的是A. 不是全屏的是B . 我可以把B放在A上面.应为没有完全复盖A,所以我点击A就可可见的地方写或读.同时B还在上面; 而切你一直安住某个键它的效果就和 安一次一样.呵呵..
可是现在恢复了就不行了.
作者: xiachongbaogc 发布时间: 2004-08-19
作者: Kalax 发布时间: 2004-08-19
apt-get install udev
ls /dev
出现了14xx 多行啊。?
不是说能少的吗?
作者: wide288 发布时间: 2004-08-20
作者: x11 发布时间: 2004-12-08
snd-mixer-oss
snd-pcm-oss
作者: x11 发布时间: 2004-12-08
作者: yisha 发布时间: 2004-12-08
最初由 yisha 发表 小弟Slackware current,用udev感觉还行,就是/dev/cdrom(这个事实上是/dev/hdd的链接吧?)现在没有了,只有/dev/hdd,所以fstab要更改一下。udev不会自己建一个/dev/cdrom的链接吧? |
如果需要,您也可以自己手动修改 udev 的配置文件
作者: carlos 发布时间: 2004-12-08
自己在/etc/udev/devfs.rules里加个
KERNEL="hdd" SYMLINK="cdrom"
然后重新启动udev试试
作者: x11 发布时间: 2004-12-08
看来得改动/etc/udev/scripts/ide-devfs.sh
作者: x11 发布时间: 2004-12-08
/etc/udev/devfs.rules里
BUS="ide", KERNEL="hdd", SYMLINK="cdrom"
BUS="ide", KERNEL="hd[a-z]*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%c{1}", SYMLINK="%k %c{2}"
他好像是匹配一个就不往下匹配了,我第一次是把symlink=cdrom加到下面,结果什么都没有
作者: x11 发布时间: 2004-12-08
最初由 x11 发表 嘿嘿,我这里就没有自动创建/dev/cdrom 自己在/etc/udev/devfs.rules里加个 KERNEL="hdd" SYMLINK="cdrom" 然后重新启动udev试试 |
只要加个SYMLINK="cdrom"即可。scripts里面ide-devfs.sh不用改动了,大概是我的内核禁用了devfs的缘故吧。
作者: yisha 发布时间: 2004-12-08
我认为一切.开始的都是配置文件 都可以删除 ……
于是……
然后起不来了
我!@#$%^&*(
作者: saltair 发布时间: 2004-12-08
作者: x11 发布时间: 2004-12-08
新技术缺少连贯性, linux就是这点不好.
作者: njjesus 发布时间: 2004-12-08
作者: saltair 发布时间: 2004-12-09
最初由 saltair 发表 .dev目录干吗用的? 我认为一切.开始的都是配置文件 都可以删除 …… 于是…… 然后起不来了 我!@#$%^&*( |
看看/etc/init.d/udev 就知道
作者: faxian 发布时间: 2004-12-10
.dev是可以删掉的
# /.dev is used by /sbin/MAKEDEV to access the real /dev directory.
# if you don't like this, remove /.dev/.
作者: saltair 发布时间: 2004-12-10
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28