स्वचालित रूप से एक रास्पबेरी पीआई पर यूएसबी डिवाइस माउंट करें

यह लेख किसके द्वारा प्रकाशित किया गया है? अरे हमारे में मंच

रास्पबेरी पर यदि आप ग्राफ़िकल इंटरफ़ेस का उपयोग नहीं करते हैं, तो हमारी USB मेमोरी को बार-बार माउंट करना कष्टप्रद हो जाता है। साथ ही, इस क्रिया को स्वचालित करने की प्रक्रिया में (जो मैं नीचे दिखा रहा हूं) आप इस बारे में थोड़ा सीख सकते हैं कि लिनक्स उपकरणों को कैसे संभालता है।

ऑटोफ़्स और udev स्थापित करें

पहली चीज़ जो हम करने जा रहे हैं वह है इंस्टॉल करना autofs y udv

sudo apt-get install autofs udev

udev एक लिनक्स कर्नेल टूल है जो /dev निर्देशिका को प्रबंधित करने का प्रभारी है, जहां सभी डिवाइस स्थित हैं। और ऑटोफ़्स हमें अनुमति देता है, एक बार कॉन्फ़िगर होने के बाद, यूएसबी कनेक्ट या डिस्कनेक्ट होते ही सब कुछ स्वचालित रूप से माउंट और अनमाउंट हो जाता है।

पहली चीज़ जो हम करेंगे वह है अपनी यूएसबी मेमोरी (मैं किंग्स्टन ब्रांड का उपयोग करूंगा) को अपने कंप्यूटर/रास्पबेरी पाई में कनेक्ट करना। फिर हम निष्पादित करते हैं:

fdisk-L sudo

आपके पास इसके समान आउटपुट होगा:

डिस्क /dev/mmcblk0: 15.7 जीबी... डिवाइस बूट स्टार्ट एंड ब्लॉक आईडी सिस्टम /dev/mmcblk0p1 2048 1607421 802687 और W95 FAT16 (LBA) /dev/mmcblk0p2 1613824 30613503 14499840 85 Linux विस्तारित /de v/mmcblk0p3 30613504 30679039 32768 83 लिनक्स… .. डिस्क / देव / एसडीए: 30.9 जीबी ... डिवाइस बूट स्टार्ट एंड ब्लॉक्स आईडी सिस्टम / देव / एसडीए1 2048 60436479 30217216 सी डब्ल्यू95 एफएटी32 (एलबीए)

मेरी बाहरी यूएसबी मेमोरी में 30.9 जीबी है (अर्थात्, यह /dev/sda1 है) जबकि एसडी मेमोरी, जहां मैंने लिनक्स स्थापित किया है, 15.7 जीबी है।

Udev में कस्टम नियम

यह जानते हुए कि sda1 हमारा उपकरण है, हम मेमोरी से जानकारी निकालने के लिए udev का उपयोग करेंगे, इसलिए हम निम्नलिखित कमांड निष्पादित करते हैं:

udevadm जानकारी -a -p $(udevadm जानकारी -q पथ -n /dev/sda1)

"मूल डिवाइस को देखना'/डिवाइस/..." वाक्यांश द्वारा अलग किए गए ब्लॉक होंगे।

खोज को थोड़ा आसान बनाने के लिए हम grep का उपयोग कर सकते हैं, इसलिए मैं निम्नलिखित कार्य करता हूँ:

udevadm जानकारी -a -p $(udevadm जानकारी -q पथ -n /dev/sda1)| ग्रेप निर्माता

मेरे मामले में, चूँकि मेरी मेमोरी किंग्स्टन है, आउटपुट है:

    ATTRS{निर्माता}=='किंग्स्टन' #1 ATTRS{निर्माता}=='लिनक्स 3.12.28+ dwc_otg_hcd'

या हम यह भी खोज सकते हैं:

udevadm जानकारी -a -p $(udevadm जानकारी -q पथ -n /dev/sda1) | ग्रेप मॉडल udevadm जानकारी -a -p $(udevadm जानकारी -q पथ -n /dev/sdd1) | ग्रेप विक्रेता

मेरी दिलचस्पी है:

एटीटीआरएस{निर्माता}=='किंग्स्टन'

कैसा था पहला मैच? कमांड आउटपुट में udevadm मैं उस ब्लॉक की तलाश करता हूं जहां "एटीटीआरएस {निर्माता}" पहली बार दिखाई देता है

मेरे मामले में, मैं कुछ डेटा लेता हूं जिन्हें मैं ब्लॉक के डिवाइस से अद्वितीय मानता हूं:

   ATTRS{उत्पाद}==xxx' ATTRS{सीरियल}==xxxx ड्राइवर==usb

आपको बस नियम बनाने की जरूरत है. हम udev में .rules से समाप्त होने वाली एक फ़ाइल बनाते हैं:

सुडो नैनो /etc/udev/rules.d/personal.rules

फ़ाइल के अंदर हम डालते हैं

एटीटीआरएस{उत्पाद}=='xxx', एटीटीएस{सीरियल}=='xxx', ड्राइवर=='यूएसबी', SYMLINK+='myusb'

अब जब मैं अपना यूएसबी कनेक्ट करूंगा तो एक फ़ाइल /dev/myusb होगी। यह सबसे कठिन हिस्सा था.

ऑटोफ़्स को कॉन्फ़िगर करना

हम निष्पादित करते हैं:

सुडो नैनो /आदि/डिफ़ॉल्ट/ऑटोफ़्स

जहाँ लिखा है "TIMEOUT =" उन्होंने "TIMEOUT = 1" डाल दिया

आइये /etc/auto.master पर जाएँ

नैनो /etc/auto.master

और फ़ाइल के अंदर हम अंतिम पंक्ति डालते हैं:

/मीडिया /etc/auto.misc

अब हम /etc/auto.misc पर जाते हैं

नैनो /etc/auto.master

और अंतिम पंक्ति में हम लिखते हैं:

mymemory -fstype=vfat,users,rw,umask=000 :/dev/myusb

अंत में हम इसे स्टार्टअप पर ऑटोफ़्स मॉड्यूल लोड करते हैं:

सुडो नैनो /आदि/मॉड्यूल

और अंतिम पंक्ति में हम लिखते हैं:

ऑटोफ़्स4

और हो गया, हम रास्पबेरी को पुनः आरंभ करते हैं। ध्यान रखें कि फ़ोल्डर /मीडिया में मौजूद नहीं है लेकिन जब हम ऐसा करते हैं

सीडी/मीडिया/मायमेमोरी

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


5 टिप्पणियाँ, तुम्हारा छोड़ दो

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   अरे कहा

    इसे पोस्ट करने के लिए धन्यवाद 🙂

  2.   पाब्लो कहा

    मुझे लगता है कि एक त्रुटि है, auto.misc संपादन चरण में, कोड में auto.master लिखा है, यदि कोई लापरवाह व्यक्ति ऐसा करता है और उसे इसका एहसास नहीं होता है 🙂

  3.   फर्नांडो डियाज कहा

    धन्यवाद, आर्क का उपयोग करने से पहले मैं इसे रास्पबियन पर करना चाह रहा था और यह आसान था।

  4.   अज्युरियस कहा

    बहुत अच्छा, जब मैंने अपने पाई को सांबा द्वारा साझा की गई निर्देशिकाओं के साथ एक टोरेंट क्लाइंट के रूप में रखा तो मुझे इसका उपयोग करने को मिला।
    एफस्टैब मैनुअल कहता है कि ड्राइव लेबल को # blkid के साथ जांचना थोड़ा अधिक मजबूत है, मेरे मामले में मेरे पास प्रत्येक बूट पर एक विंडोज़ विभाजन स्वचालित है:

    / / देव sda2
    UUID=24A0729FA07276E0 /home/azureus/Windows ntfs ऑटो, डिफ़ॉल्ट 0 2

    रास्पबेरी पर मेरे पास एक एलवीएम लगा हुआ है, मुझे कॉन्फ़िगरेशन अच्छी तरह से याद नहीं है।
    मैनुअल के अनुसार, आप ड्राइव अक्षर और नंबर प्राप्त करने के लिए # fdisk -l का उपयोग कर सकते हैं और यह पता लगाने के लिए # blkid का उपयोग कर सकते हैं कि कौन सा लेबल किस ड्राइव से मेल खाता है।

    नमस्ते.

    1.    अज्युरियस कहा

      [अद्यतन]
      यह लेबल इस तथ्य से उत्पन्न होता है कि ऐसे लोग हैं (मेरे जैसे) जो हर बार कंप्यूटर बंद होने पर वॉल्यूम डिस्कनेक्ट करने में आलसी महसूस करते हैं, समस्या तब होती है जब आपके पास कई वॉल्यूम होते हैं क्योंकि कई रीबूट के बाद वे हमेशा एक ही क्रम में माउंट नहीं होते हैं . वैसे, इसमें एक खामी है, जब ऑटोमाउंट के लिए निर्दिष्ट लेबल से संबंधित डिवाइस को हटा दिया जाता है, तो यह एक त्रुटि उत्पन्न करता है और विभाजन को घर पर माउंट करने की स्थिति में /home को लोड करने की अनुमति नहीं देता है। इसे fstab में परस्पर विरोधी डिवाइस पर टिप्पणी करके या डिवाइस को पुनः कनेक्ट करके ठीक किया गया है