Làm thế nào tôi có thể tạo / dev / dvd đúng cách?


10

Một số chương trình tìm kiếm /dev/dvdtheo mặc định để tìm DVD. Khi tôi khởi động máy tính lần đầu tiên mà không có DVD, hãy /dev/dvdtồn tại và trỏ đến đúng vị trí ( /dev/sr0). Tuy nhiên, khi tôi chèn một đĩa DVD, /dev/dvdbiến mất. Tôi muốn nó dính xung quanh vì vậy tôi không phải điều hướng đến /dev/sr0các chương trình đang tìm kiếm DVD. Làm cách nào để đảm bảo rằng /dev/dvdsymlink tồn tại và trỏ đến đúng nơi?

Có vẻ như tôi có thể thêm một cái gì đó vào /etc/udev/rules.d/70-persistent-cd.rules. Trang web này đưa ra một vài ví dụ, nhưng 70-persistent-cd.rulestệp có nội dung "thêm cờ ENV {GENERATED} = 1 vào quy tắc của riêng bạn", đây không phải là một phần của ví dụ. Các man 7 udevtrang là bất khả xâm phạm đối với tôi, và tôi không thuyết phục trang liên kết cung cấp cho 100% thông tin mà tôi cần.

Vậy, tôi có thể làm gì trên một hệ thống hiện đại, Ubuntu 12.04 (hoặc mới hơn) để /dev/dvdluôn luôn tồn tại và trỏ đến đúng thiết bị?

EDIT: Có đơn giản như việc thêm ENV{GENERATED}=1vào các quy tắc trong trang được liên kết, đại loại như thế này:

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

Đó có phải là thông tin phù hợp cho Ubuntu hiện đại? Điều gì đang ENV{GENERATED}làm ở đó, khi nó không được tạo ra, nhưng được viết bằng tay?


Tôi gặp vấn đề tương tự trên một chiếc Dell Inspiron 660. Mong muốn có một câu trả lời tốt hơn cho vấn đề này.
Cerin

Câu trả lời:


8

Hướng dẫn này giải thích rất hay về cách làm những gì bạn muốn:

Theo nó, có hai cách tiếp cận để tạo liên kết tượng trưng. Đầu tiên là sử dụng tên model và số sê-ri:

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

Bằng cách này, symlink sẽ giữ nguyên ngay cả khi bạn di chuyển ổ đĩa đến các vị trí khác nhau trên bus IDE, nhưng /dev/dvdsymlink sẽ không được tạo nếu bạn thay thế ổ đĩa.

Cái thứ hai dựa trên vị trí của thiết bị trên xe buýt:

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

Theo cách này, symlink sẽ giữ nguyên ngay cả khi bạn thay thế các ổ đĩa bằng các mô hình khác nhau, nhưng đặt chúng vào cùng một vị trí trên bus IDE. Các ENV{ID_TYPE}chìa khóa đảm bảo rằng các liên kết tượng trưng biến mất nếu bạn đặt một cái gì đó khác hơn là một DVD ở vị trí đó trên xe buýt.

Bạn có thể tìm các giá trị cho ID_MODEL, ID_SERIAL, ID_TYPEID_PATHsử dụng các lệnh sau đây (các udevtestlệnh như trong hướng dẫn không làm việc - nữa - trong Ubuntu?):

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

Các SUBSYSTEM=="block"chủ chốt là cần thiết để tránh phù hợp với các thiết bị SCSI generic. Nếu không có nó, trong trường hợp với SCSI DVD, đôi khi symlink sẽ trỏ đến đúng /dev/sr0thiết bị và đôi khi /dev/sg0, điều đó là sai.

Các ENV{GENERATED}="1"chủ chốt là cần thiết để ngăn chặn sự udev 75-cd-aliases-generator.rulestập tin từ trọng quy tắc tùy chỉnh của bạn.


Cảm ơn tất cả các thông tin. Tôi đã đi thử một số quy tắc này, nhưng thấy rằng /dev/dvdliên kết tượng trưng của tôi đã tự sửa chữa một cách kỳ diệu trong vài tháng qua. Tôi cũng đọc trong lỗi này/dev/dvdngày 's được đánh số. Ồ tốt Hiện tại, câu trả lời của bạn dường như cung cấp tất cả các thông tin cần thiết để khắc phục vấn đề này.
chazomaticus

0

Tôi tìm thấy điều này trên một diễn đàn fedora có thể giúp:

Tạo một tập tin shell shell Trong tập tin đó, đặt:

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

Hãy chắc chắn rằng tập tin được thực thi:

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

Nếu bạn sẽ sử dụng tuyến đường RC.local, bạn cũng cần thực hiện việc này, với quyền root:

systemctl enable rc-local.service

bởi vì nó không được bật theo mặc định

nguồn: http://forums.fedoraforum.org/showthread.php?t=295048

--------- Cách ưa thích ngày nay sẽ là quy tắc UDev --------------

Dựa trên /lib/udev/rules.d/60-cdrom_id.rules, tạo liên kết tượng trưng / dev / cdrom, hãy thử thêm tệp /etc/udev/rules.d/60-dvd.rules có chứa:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.