मैं कैसे ठीक से / देव / डीवीडी बना सकता हूं?


10

कुछ प्रोग्राम /dev/dvdडीवीडी खोजने के लिए डिफ़ॉल्ट रूप से देखते हैं। जब मैं पहली बार अपने कंप्यूटर को बिना डीवीडी डाले बूट करता हूं, तो वह /dev/dvdमौजूद होता है और सही जगह ( /dev/sr0) को इंगित करता है । हालाँकि, जब मैं एक डीवीडी सम्मिलित करता हूँ, /dev/dvdगायब हो जाता है। मुझे लगता है कि यह चारों ओर छड़ी करने के लिए है, इसलिए मुझे उन /dev/sr0कार्यक्रमों में नेविगेट नहीं करना है जो डीवीडी की तलाश कर रहे हैं। मैं यह कैसे सुनिश्चित कर सकता हूं कि /dev/dvdसहिष्णु मौजूद है और सही जगह पर इंगित करता है?

ऐसा लगता है कि मैं इसमें कुछ जोड़ सकता हूं /etc/udev/rules.d/70-persistent-cd.rulesयह साइट कुछ उदाहरण देती है, लेकिन 70-persistent-cd.rulesफ़ाइल "ENV {जेनरेटेड} = 1 ध्वज को अपने नियमों में जोड़ें" कहती है, जो उदाहरणों का हिस्सा नहीं है। man 7 udevपेज मेरे लिए अभेद्य है, और मैं आश्वस्त नहीं हूँ लिंक किए गए पृष्ठ जानकारी मैं जरूरत की 100% देता है।

तो, मैं हमेशा एक आधुनिक, Ubuntu 12.04 (या बाद में) सिस्टम पर क्या कर सकता हूं ताकि /dev/dvdहमेशा मौजूद रहूं और सही डिवाइस को इंगित कर सकूं?

संपादित करें: क्या यह ENV{GENERATED}=1लिंक किए गए पृष्ठ में नियमों को जोड़ने जैसा सरल है , कुछ इस प्रकार है:

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

क्या यह आधुनिक उबंटू के लिए सही जानकारी है? ENV{GENERATED}वहाँ क्या कर रहा है, जब यह उत्पन्न नहीं हुआ था, लेकिन हाथ से लिखा गया था?


मैं एक Dell Inspiron 660s पर एक ही समस्या में भाग गया। काश इस समस्या के लिए एक बेहतर जवाब होता।
1

जवाबों:


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}कुंजी सुनिश्चित करें कि सिमलिंक गायब हो जाता है, तो आप बस पर उस स्थिति में एक डीवीडी के अलावा कुछ डाल बनाता है।

आप के लिए मान प्राप्त कर सकते ID_MODEL, ID_SERIAL, ID_TYPEऔर ID_PATH(निम्न आदेश का उपयोग कर udevtest? - अब - ट्यूटोरियल में के रूप में काम नहीं करता है आदेश उबंटू में):

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

SUBSYSTEM=="block"कुंजी आदेश SCSI मिलान सामान्य उपकरणों से बचने के लिए की जरूरत है। इसके बिना, एससीएसआई डीवीडी के मामले में, सिमिलिंक कभी-कभी सही /dev/sr0उपकरणों को इंगित करेगा , और कभी-कभी /dev/sg0, जो गलत है।

ENV{GENERATED}="1"कुंजी udev को रोकने के लिए की जरूरत है 75-cd-aliases-generator.rulesअपने कस्टम नियमों अधिभावी से फ़ाइल।


सारी जानकारी के लिए शुक्रिया। मैं इनमें से कुछ नियमों को आज़माने के लिए गया था, लेकिन मैंने पाया कि मेरी /dev/dvdसहानुभूति जादुई रूप से पिछले कुछ महीनों में ही तय हुई थी। मैं इस बग में भी पढ़ता हूं कि /dev/dvdदिन गिने जा रहे हैं। ओह अच्छा। अभी के लिए, आपका उत्तर इस समस्या को ठीक करने के लिए आवश्यक सभी जानकारी देता है।
चाजोमेटिकस

0

मैं एक फेडोरा मंच पर पाया यह मदद कर सकता है:

एक शेल स्क्रिप्ट फ़ाइल बनाएँ, उस फ़ाइल में:

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

सुनिश्चित करें कि फ़ाइल निष्पादन योग्य है:

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

यदि आप r.local मार्ग का उपयोग करने जा रहे हैं, तो आपको इसे रूट के रूप में भी करने की आवश्यकता है:

systemctl enable rc-local.service

क्योंकि यह डिफ़ॉल्ट रूप से सक्षम नहीं है

स्रोत: http://forums.fedoraforum.org/showthread.php?t=295048

--------- इन दिनों पसंदीदा तरीका एक UDev नियम होगा --------------

/Lib/udev/rules.d/60-cdrom_id.rules के आधार पर, जो / dev / cdrom प्रतीकात्मक लिंक बनाता है, जिसमें एक फ़ाइल /etc/udev/rules.d/60-dvd.rules शामिल करने का प्रयास करें:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.