如何正确创建/ dev / dvd?


10

某些程序/dev/dvd默认情况下会查找DVD。当我第一次启动未插入DVD的计算机时,该计算机/dev/dvd存在并且指向正确的位置(/dev/sr0)。但是,当我插入DVD时,它/dev/dvd消失了。我希望它能坚持下去,所以我不必/dev/sr0在正在寻找DVD的程序中导航。如何确保/dev/dvd符号链接存在并指向正确的位置?

看来我可以在中添加一些内容/etc/udev/rules.d/70-persistent-cd.rules该站点提供了一些示例,但是70-persistent-cd.rules文件显示“将ENV {GENERATED} = 1标志添加到您自己的规则中”,这不是示例的一部分。该man 7 udev页面是坚不可摧的我,我不相信链接页面提供的信息,我需要100%。

那么,在现代的Ubuntu 12.04(或更高版本)系统上,我该怎么做才能/dev/dvd始终存在并指向正确的设备?

编辑:是否像添加ENV{GENERATED}=1到链接页面中的规则一样简单:

SUBSYSTEM=="block", KERNEL=="sr0", SYMLINK+="dvd", GROUP="cdrom", ENV{GENERATED}=1

这是现代Ubuntu的正确信息吗?ENV{GENERATED}不是生成而是手写的,在那里做什么?


我在Dell Inspiron 660s上遇到了相同的问题。希望对此问题有更好的答案。
Cerin 2013年

Answers:


8

本教程非常不错地说明了如何做您想做的事情:

根据它,有两种创建符号链接的方法。第一个是使用型号名称和序列号:

SUBSYSTEM=="block", ENV{ID_MODEL}=="...", ENV{ID_SERIAL}=="...", ENV{GENERATED}="1", SYMLINK+="dvd"

这样,即使将驱动器移动到IDE总线上的其他位置,符号链接也将保持正确,但是/dev/dvd如果更换驱动器,则不会创建符号链接。

第二个基于设备在总线上的位置:

SUBSYSTEM=="block", ENV{ID_TYPE}=="...", ENV{ID_PATH}=="pci-...", ENV{GENERATED}="1", SYMLINK+="dvd"

这样,即使您用不同型号替换驱动器,但将它们放置在IDE总线上的相同位置,符号链接也将保持正确。ENV{ID_TYPE}如果在总线上的该位置放置DVD以外的其他东西,该键可确保符号链接消失。

你可以找到的值ID_MODELID_SERIALID_TYPEID_PATH(在使用下面的命令udevtest? -了-在教程中不起作用命令在Ubuntu):

udevadm info --query=all --name=sr0

SUBSYSTEM=="block"关键是必要的,以避免匹配SCSI通用设备。没有它,对于SCSI DVD,符号链接有时会指向正确的/dev/sr0设备,有时会指向/dev/sg0,这是错误的。

ENV{GENERATED}="1"需要使用该密钥来防止udev 75-cd-aliases-generator.rules文件覆盖您的自定义规则。


感谢您提供所有信息。我去尝试了其中一些规则,但是发现我的/dev/dvd符号链接在最近几个月的某个时间神奇地修复了自己。我还读到了这个错误,指出/dev/dvd天数。那好吧。目前,您的答案似乎提供了解决此问题所需的所有信息。
chazomaticus

0

我在fedora论坛上发现了这一点可能会有所帮助:

创建一个Shell脚本文件,在该文件中,输入:

#!/bin/bash
ln -s /dev/sr0 /dev/dvd

确保文件是可执行的:

sudo chmod +x /etc/rc.d/rc.local

如果要使用rc.local路由,则还需要以root用户身份执行此操作:

systemctl enable rc-local.service

因为默认情况下未启用

来源: http : //forums.fedoraforum.org/showthread.php?t=295048

---------这些天的首选方式是UDev规则--------------

基于创建/ dev / cdrom符号链接的/lib/udev/rules.d/60-cdrom_id.rules,尝试添加文件/etc/udev/rules.d/60-dvd.rules,其中包含:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.