लिनक्स में कई HDD के बीच स्वचालित रूप से अंतर?


1

मैं Ubuntu सर्वर 9.10 चला रहा हूं। मेरे पास दो बाहरी USB HDD हैं। मैं अलग-अलग बैकअप कारणों से उनका उपयोग करता हूं। तो कुछ डेटा को एक HDD पर संग्रहीत किया जाता है, और अन्य HDD पर अलग-अलग जानकारी संग्रहीत की जाती है।

मैं एक स्क्रिप्ट बनाना चाहता हूं जो बाहरी एचडीडी को देख सकता है, यह निर्धारित कर सकता है कि यह कौन सा एचडीडी है, ताकि यह इसके लिए उचित जानकारी की प्रतिलिपि बना सके। क्या यह निर्धारित करने के लिए लिनक्स के लिए एक रास्ता है? जैसे अगर मैं एक HDD को / dev / sdc1 के रूप में देखता हूं, तो इसे अनप्लग करें और दूसरे HDD में प्लग करें, क्या Linux को इसे / dev / sdd1 के रूप में देखना चाहिए या यह / dev / sdc1 होगा?

मैं एक लिनक्स न्यूब का थोड़ा सा हूं और मुझे यह समझ में नहीं आता है कि यह कैसे / dev / sdxx मानों को निर्धारित करता है जो इसे ड्राइव करने के लिए असाइन करता है।

जवाबों:


6

डिवाइस के उपयोग से स्टोरेज डिवाइस की पहचान की जा सकती UUIDहै। / Dev / sd * पर आधारित पहचान विश्वसनीय नहीं है।

Ubuntu 9.10 में आप उपयोग कर सकते हैं blkidउपकरणों 'सूची UUIDऔर आप एक स्क्रिप्ट में इस आदेश का उपयोग ठीक से एक विशिष्ट HDD पहचान कर सकते हैं के बाद से UUIDविशिष्ट रूप से एक विशिष्ट HDD करने के लिए आवंटित कर रहे हैं

आप यहां अधिक जानकारी पा सकते हैं , लेकिन ध्यान दें कि कमांड vol_idubuntu 9.10 के बाद से उपलब्ध नहीं है।


व्यक्तिगत रूप से मैं यूयूआईडी के बजाय वॉल्यूम लेबल का उपयोग करूँगा (मैं गारंटी-अद्वितीय के लिए मानव-पठनीय पसंद करता हूं), लेकिन अगर vol_idअनुपलब्ध है तो मुझे यकीन नहीं है कि उपयोग करने के लिए और क्या है। निश्चित रूप से udv / DeviceKit ऐसा करने के लिए कुछ उपकरण प्रदान करता है, लेकिन मुझे यह एटीएम नहीं मिल रहा है। यदि बाकी सब विफल हो जाता है, तो tune2fs -l /dev/sdXN | grep volumeउसे मिलेगा।
क्वैककोट को

blkid -s label /dev/sdXNकाम करना चाहिए। एकमात्र समस्या जो मैं लेबल का उपयोग करता हूं, वह यह है कि विभिन्न फाइल-सिस्टम प्रकारों के लिए लेबल सेट करने के लिए कोई कमांड-लाइन प्रोग्राम नहीं है। सहायता देखें ।ubuntu.com
RenameUSBDrive

लगभग: blkid -s LABEL /dev/sdXN(टैग संवेदनशील हैं)। उन्हें स्थापित करने के बारे में आपकी बात गलत है - लेबल स्थापित करने के लिए कमांडलाइन प्रोग्राम हैं, यह सिर्फ इतना है कि प्रत्येक फाइल सिस्टम को एक अलग प्रोग्राम की आवश्यकता होती है, जो एक दर्द हो सकता है। लेकिन मैं आमतौर पर जब स्वरूपण लेबल सेट; मुझे शायद ही बाद में उन्हें समायोजित करने की आवश्यकता है।
क्वैककोट

1

इसे वर्कअराउंड माना जा सकता है, न कि आपके प्रश्न का सीधा उत्तर, लेकिन इस समस्या के लिए मेरा दृष्टिकोण अपने HDD पर एक अलग फाइल बनाना है।

मेरे पास कई बाहरी HDD हैं, इसलिए मैं touchएक शून्य-बाइट फ़ाइल बनाने के लिए उपयोग करता हूं जैसे एक पर 'संगीत', या दूसरे पर 'वीडियो', और फिर मेरी बैकअप स्क्रिप्ट यह पता लगा सकती है कि इसे क्या लिखना है।

मुझे आशा है कि आपको अपने प्रश्न का निश्चित उत्तर मिलेगा। मुझे इसे देखने में दिलचस्पी होगी।


1

किसी और के भविष्य के संदर्भ के लिए बस अपने ही सवाल का जवाब ...

मैंने पाया है कि उपकरणों के बीच अंतर करने का एक अच्छा तरीका सिर्फ उन्हें लेबल का उपयोग करना है e2label

इसके अलावा, मैं यहां उपकरणों के बीच अंतर कर सकता हूं

/dev/disk/by-label/

तथा

/dev/disk/by-uuid
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.