+ -
当前位置:首页 → 问答吧 → 推销一下udev,一个很好的设备名称管理机制(Debian Sid)

推销一下udev,一个很好的设备名称管理机制(Debian Sid)

时间:2004-06-03

来源:互联网

1、使用udev有什么好处?
首先,使用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

hotplug和discover能否共存?

作者: aries1998   发布时间: 2004-06-03

哇,看起来真不错!
但愿 debian-installer 开发小组能够放弃 devfs,使用 udev,呵呵。

作者: hiweed   发布时间: 2004-06-03

我装了udev,进入不了gnome.出错了!!!!

作者: qyl1   发布时间: 2004-06-03

apt-cache show udev
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

需要hotplug和2.6内核;-)

作者: faint   发布时间: 2004-06-03

gentoo我已经使用udev N年了!

作者: maxofmin   发布时间: 2004-06-04

引用:
最初由 aries1998 发表
hotplug和discover能否共存?
当然可以,没试过我可不敢乱推销!
不过,也许只安装一个就可以支持大部分设备。我是两个都装了的,启动时会提示某个模块已经加载了等等,有杀错没放过!
只是本人对于它们的配置还没有研究,配置一下discover可能根本就不需要从/etc/modules加载驱动了。

作者: waq   发布时间: 2004-06-04

引用:
最初由 qyl1 发表
我装了udev,进入不了gnome.出错了!!!!
如果怀疑是udev引起的问题,很简单
/etc/init.d/udev stop
把它停止(当然以root身份来做),你的/dev目录就恢复原貌了,再启动gnome试试。

作者: waq   发布时间: 2004-06-04

引用:
最初由 maxofmin 发表
gentoo我已经使用udev N年了!
N<1 ?

作者: carlos   发布时间: 2004-06-04

哈哈!

作者: faint   发布时间: 2004-06-04

我把udev删了就正常了。

作者: qyl1   发布时间: 2004-06-04

引用:
最初由 qyl1 发表
我把udev删了就正常了。
可能是X的鼠标配置问题,你可以看一下你的配置文件,是不是名字有不同。也许你的鼠标驱动模块没有自动加载。我的鼠标是USB的,同一个硬盘在几台不同配置的机子中都工作正常。

作者: waq   发布时间: 2004-06-04

sid
apt的2.6.7
结果/dev下很多东西都没有了。别的还好说psaux没有了,X起不来了 icon_sad.gif /dev/input/mice也没有啊
怎么搞阿

作者: cnhnln   发布时间: 2004-07-17

up

作者: cnhnln   发布时间: 2004-07-20

引用:
最初由 carlos 发表
N<1 ?
N 取整,N < 1
==> N<=0

作者: paulin   发布时间: 2004-07-20

usb disk的模块名称是什么?发现sda没有相应的设备

作者: niqiu   发布时间: 2004-08-02

请问如何安装到其他目录如/udev(Debian中缺省是/dev).难道要从新做包?还是用apt-get 可以指定

作者: xiachongbaogc   发布时间: 2004-08-02

引用:
最初由 maxofmin 发表
gentoo我已经使用udev N年了!
怎么可能 , Kernel 2.6 才出了多久

作者: jhuangjiahua   发布时间: 2004-08-19

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引起的?

作者: xiachongbaogc   发布时间: 2004-08-19

不要啥都归到udev,xia同志,这应该是你要装的那个包本身的问题。

作者: 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引起的?
现在好了.我发现exim4-config被卸载了就重装了一下.然后再装了下traceroute.突然就自动重启了. 然后发现一切正常了.呵呵...
不过也有遗憾. 比如我打开两个终端. 假设全屏的是A. 不是全屏的是B . 我可以把B放在A上面.应为没有完全复盖A,所以我点击A就可可见的地方写或读.同时B还在上面; 而切你一直安住某个键它的效果就和 安一次一样.呵呵..
可是现在恢复了就不行了.

作者: xiachongbaogc   发布时间: 2004-08-19

udev和hotplug会搞出一个/.dev目录,内容和/dev类似,但是有些设备只出现在/.dev中。用了自己最好再查看一下,因为有些符号连接用了绝对路径,可能指向不正确。

作者: Kalax   发布时间: 2004-08-19

我安装后
apt-get install udev
ls /dev
出现了14xx 多行啊。?
不是说能少的吗?

作者: wide288   发布时间: 2004-08-20

试了下,居然连/dev/tty0都没有,导致进rc2时在close bootlogd后停住。呵呵,结果只好用single起来,查了半天才发现,不过配置文件还算简单,猜了一下改对了,现在就是声卡那几个dsp、mixer什么的没有自动创建,奇怪

作者: x11   发布时间: 2004-12-08

搞定,需要在/etc/modules里加上
snd-mixer-oss
snd-pcm-oss

作者: x11   发布时间: 2004-12-08

小弟Slackware current,用udev感觉还行,就是/dev/cdrom(这个事实上是/dev/hdd的链接吧?)现在没有了,只有/dev/hdd,所以fstab要更改一下。udev不会自己建一个/dev/cdrom的链接吧?

作者: yisha   发布时间: 2004-12-08

引用:
最初由 yisha 发表
小弟Slackware current,用udev感觉还行,就是/dev/cdrom(这个事实上是/dev/hdd的链接吧?)现在没有了,只有/dev/hdd,所以fstab要更改一下。udev不会自己建一个/dev/cdrom的链接吧?
不清楚 slackware,Debian 里的 udev 会自动创建 cdrom 或 dvd 链接
如果需要,您也可以自己手动修改 udev 的配置文件

作者: carlos   发布时间: 2004-12-08

嘿嘿,我这里就没有自动创建/dev/cdrom
自己在/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

.dev目录干吗用的?
我认为一切.开始的都是配置文件 都可以删除 ……
于是……
然后起不来了
我!@#$%^&*(

作者: saltair   发布时间: 2004-12-08

我这里没有.dev

作者: x11   发布时间: 2004-12-08

复杂.让人难以选择.

新技术缺少连贯性, linux就是这点不好.

作者: njjesus   发布时间: 2004-12-08

专门讲udev的 而不是讲如何用上udev的中文文档好像还没有

作者: saltair   发布时间: 2004-12-09

引用:
最初由 saltair 发表
.dev目录干吗用的?
我认为一切.开始的都是配置文件 都可以删除 ……
于是……
然后起不来了
我!@#$%^&*(
.dev 是原来的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

热门下载

更多