যদি আমি কোনও দৈহিক ডিভাইস সংযুক্ত করি তবে কীভাবে আমি কখনই জানতে পারি যে কোনও ডিভাইস ফাইল এটির সাথে সম্পর্কিত?


13

বলুন আমি কয়েকটি ইউএসবি ড্রাইভ প্লাগ ইন করি যা স্বয়ংক্রিয়ভাবে মাউন্ট হয় না। কোন ডিভাইস ফাইলটি কোন শারীরিক ডিভাইসের অন্তর্ভুক্ত তা আমি কীভাবে আবিষ্কার করতে পারি, তাই আমি উদাহরণস্বরূপ এটি মাউন্ট করতে পারি?

আমি ম্যাক ওএস এক্স চালাচ্ছি তবে আমি এমন একটি উত্তর পছন্দ করি যা সমস্ত (বা কমপক্ষে সর্বাধিক জনপ্রিয়) ইউনিক্স সিস্টেমে কাজ করে। অতীতে লিনাক্স নিয়ে আমার এই সমস্যা ছিল।


লিনাক্সে, উত্তরটি ইউদেবকে জড়িত করে। সুতরাং আপনি ওএসএক্সে ইউদেব সমতুল্যের আশেপাশে দেখার চেষ্টা করুন ; এটি বিশেষত ওএসএক্স এবং ওএসএক্স ইউএসবি ডিভাইস ইন্টারফেস গাইডে বিকল্পের ওদেব কার্যকারিতার দিকে নিয়ে যায় ।
গিলস 'দুষ্ট হওয়া বন্ধ করুন' ২২ শে

ম্যাকোএসএক্স-এ সবচেয়ে সহজ হ'ল তাদের লেবেলগুলির মাধ্যমে ভলিউমগুলি সনাক্ত করা। তবে গিলসের সঠিক সমাধান সম্পর্কে সঠিক ধারণা রয়েছে।
পিটারহ - মনিকা পুনরায় ইনস্টল করুন

উত্তর:


14

ইউদেব ব্যবহার:

আপনি দরকারী তথ্য অনুসন্ধান করতে পারেন udev(এটি ব্যবহার করা সিস্টেমগুলিতে - প্রায় সমস্ত ডেস্কটপ-টাইপ লিনাক্স নিশ্চিত)। উদাহরণস্বরূপ, যদি আপনি কোন সংযুক্ত ড্রাইভের সাথে সম্পর্কিত জানতে চান তবে আপনি এটি /dev/sdbব্যবহার করতে পারেন:

udevadm info --query=property --name=sdb

এটি আপনাকে সিরিয়াল (ID_SERIAL_SHORT) সহ সেই ডিভাইসের বৈশিষ্ট্যের তালিকা প্রদর্শন করবে। এই তথ্য থাকার পরে, আপনি আউটপুটটি lsusb -vদেখতে পারেন এবং নির্মাতা এবং পণ্যের নামের মতো জিনিসগুলি খুঁজে পেতে পারেন।

এটি করার জন্য একটি ছোট পথ হবে

udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"

এবং $ID_VENDOR_ID:$ID_MODEL_IDএর চেয়ে ছোট আউটপুটে মিলের সাথে লাইনটি দেখুন lsusb

আর একটি দরকারী বিকল্প হ'ল udevadm monitor। আপনি যদি ডিভাইস সংযুক্ত করার সময় কোন ডিভাইস নোড তৈরি হয় তা জানতে চাইলে এটি ব্যবহার করুন । তাই প্রথম রান

 udevadm monitor --udev --subsystem-match=block

এবং তারপরে ডিভাইসটি সংযুক্ত করুন। আপনি প্রতিটি আউটপুট লাইনের শেষে সনাক্ত করা ব্লক ডিভাইসগুলির (ডিস্ক / পার্টিশন) ডিভাইসের নামগুলি দেখতে পাবেন।

একটি বাস্তব উদাহরণ শেল ফাংশন:

আপনার .bashrc(বা .zshrc) এ রাখতে পারেন এমন একটি ফাংশন এখানে :

listusbdisks () 
{
    [["x $ 1" == "xv"]] && শিফট && স্থানীয় VERBOSE = -v
    sk {@ - / dev / sd? in এ dsk এর জন্য
    করা
        / sbin / udevadm তথ্য --query = পাথ - নাম = "$ dsk" | grep --colour = অটো-কিউ ইউএসবি || অবিরত
        প্রতিধ্বনি "===== ডিভাইস sk dsk হ'ল:"
        (eval $ (/ sbin / udevadm তথ্য --query = সম্পত্তি - নাম = "sk dsk" | গ্রেপ "\ (মডেল \ | বিক্রেতা \) _ আইডি")
          ["$ ID_VENDOR_ID: $ ID_MODEL_ID" == ":"] && "প্রতিচ্ছবি" প্রতিধ্বনি || \
            lsusb $ VERBOSE -d "$ ID_VENDOR_ID: $ ID_MODEL_ID"
        )
        গ্রেপ-কিউ "sk ডিএসকি" / প্রোক / মাউন্টস অ্যান্ড& ইকো "----- ডিভাইসটি মাউন্ট করা হয়েছে ----"
        প্রতিধ্বনি
    সম্পন্ন
}

এটি এর মতো ব্যবহার করুন:

  • listusbdisks- সমস্ত /dev/sdxডিভাইস সনাক্ত করতে ;
  • listusbdisks sdbবা listusbdisks /dev/sdbবা listusbdisks sdb sdc- কিছু ডিভাইস সম্পর্কে তথ্য পেতে শুধুমাত্র;
  • listusbdisks -v [optional devices as above] - এর ভার্বোজ আউটপুট প্রদর্শন করতে lsusb

[সম্পাদনা]: অনেকগুলি ডিভাইস জিজ্ঞাসা করা, মাউন্টগুলি পরীক্ষা করা এবং এর ভার্বোসিকে নিয়ন্ত্রণ করার মতো কিছু কার্যকারিতা যুক্ত করেছে lsusb


যতদূর যায় তা সত্য, তবে সমস্ত সিস্টেম ব্যবহার করে না udev
কালেব

@ কালেব ট্রু ... আসলে, lsusbএটি একটি alচ্ছিক প্রোগ্রামও। তবে উভয়ই অত্যন্ত সাধারণ।
রোজিট্রিজেভিয়াচজ 4'11

@rozcietrzewiacz প্রশ্নটি মূলত ওএসএক্স সম্পর্কিত, তবে ইউদেব লিনাক্সের জন্য স্বতন্ত্রভাবে নির্দিষ্ট।
গিলস 21'99-এ

@ গিল ভাল, সত্য। ওএসএক্সের সাথে আমার কোনও অভিজ্ঞতা নেই, সুতরাং আমি আমার উত্তরটি বিভ্রান্তিকর না হওয়ার জন্য আপডেট করেছি।
rozcietrzewiacz

এই ক্ষেত্রে আমি সাধারণত যা করি তা হ'ল, আমি ডিভাইসটি প্লাগ ইন করি এবং ততক্ষণে চালিত করি dmesg। তবে ডিভাইসটি ইতিমধ্যে প্লাগ ইন করা থাকলে এবং প্রথমটির পরে যদি আরও ডিভাইস প্লাগ ইন করা থাকে তবে এটি সহায়ক হবে না। :)
অভিষেক এ

3

সর্বজনীন উত্তর নেই। লিনাক্সে সহজতম উপায়টি সম্ভবত জিনোম ডিস্কের ইউটিলিটিটি সরিয়ে ফেলা এবং এটি সনাক্ত করা ডিস্কগুলি প্রদর্শন করবে, সেগুলি মাউন্ট করা আছে কি না। কমান্ড লাইন থেকে, আপনি blkidবা এর আউটপুট পরামর্শ করতে পারেন udevadm info --export-db


3

ম্যাক ওএস এক্সে আপনি ব্যবহার করার চেষ্টা করতে পারেন diskutil list


1

সমস্ত ইউনিক্সের প্রতি শ্রদ্ধা রেখে, আমি মনে করি এটি সম্ভবপর নয়।

সাধারণ বাহ্যিক বাসগুলি আজ তাদের বন্দরের জন্য নির্দিষ্ট নম্বর স্কিম ব্যবহার করে না, যেমন আইডিই করেছে। সুতরাং, আপনার প্রয়োজনীয় ম্যাপিংয়ের জন্য কেবলমাত্র অবশিষ্ট ডেটা উত্সগুলি হ'ল ড্রাইভের প্রস্তুতকারকের নাম, তাদের ক্রমিক সংখ্যা বা পার্টিশনের ইউআইডি।

উত্পাদকের নাম কোনও প্রদত্ত মেশিনে অগত্যা অনন্য নয় (মনে করুন আপনি একই সিরিজ থেকে দুটি বাহ্যিক ড্রাইভ সংযুক্ত করেছেন - তারা স্বতন্ত্রভাবে সনাক্ত করবে)। ক্রমিক সংখ্যাগুলি "বাহির থেকে দৃশ্যমান" নয়, যেমন পার্টিশন ইউআইডি রয়েছে।

সুতরাং, একমাত্র সর্বজনীন সমাধান সম্পর্কে আমি ভাবতে পারি সিরিয়াল নম্বর সহ ফিজিকাল ড্রাইভগুলি লেবেল করা এবং ইউসিডিএভি উপলব্ধ থাকলে রোজিয়েট্রজেভিয়াক্স এর উত্তরে প্রদত্ত ইউদেবডম কমান্ডটি ব্যবহার করা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.