سؤال كيف يمكنني معرفة / dev هو محرك أقراص محمول USB؟


أرغب في تركيب محرك أقراص USB ، اثنان منهم وأنا بحاجة إلى نقطتي تثبيت مختلفتين. للأسف ، خضعت نواة لينكس لتغيير الاسم ولا يمكنني معرفة أي منها /dev الموقع هو الصحيح. هل هناك طريقة للنظر من خلال dmesg أو /proc أو في مكان آخر لمعرفة عقدة الجهاز التي هي محرك أقراص USB.

(أنا أستخدم ArchLinux إذا كان ذلك يساعد أي .../dev/sda هو أول قرص صلب /dev/sr0 هو محرك أقراص DVD ، وما إلى ذلك)

تحرير: يتم توصيل محرك أقراص USB بلوحة وصل USB. نظرت من خلال dmesg ويقول أن لوحة الوصل متصلة وتم فحصها للأجهزة الثلاثة المتصلة بها. ما زلت لا أرى أين محرك أقراص USB الخاص بي هو على الرغم من.


155
2017-09-16 03:51


الأصل


لا تستطيع رؤيتها؟ ربما انتظر قليلاً أو جرب منفذ USB آخر. انظر ما هي الاختلافات في "lsusb" - Nick Devereaux
قد ترغب في إعادة صياغة السؤال إلى حد ما - ليست جميع أجهزة USB هي الأقراص ، بعد كل شيء. - Arafangion
ال df الأمر يظهر لك المكان الذي تم تركيبه فيه - Will Sheppard


الأجوبة:


الطريقة الأسهل: انظر إلى مخرجات dmesg بعد توصيل جهاز USB. يجب أن تظهر لك ما /dev تم تعيين العقدة لها.


77
2017-09-16 03:53



dmesg يعمل كبيرة ، ولكن لدي حالة فيها dmesg لا تظهر /dev العقدة: [421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd ماذا يعني هذا؟ كيف يمكنني تركيب هذا الجهاز؟ الجهاز يظهر على lsusb... - modulitos
في الواقع ، أنا برزت بها. كان هناك تحديث kernel منذ إعادة التشغيل الأخير الذي كان يسبب هذه المشكلة. بعد إعادة التشغيل ، يتصاعد USB بلدي على ما يرام. نأمل أن يساعد هذا شخص ما! - modulitos


طالما كنت تعمل ديف، يمكنك القيام بذلك بسهولة عن طريق الرجوع / dev / disk / by-id / usb-اسم المصنع_رقم سري. تظهر هذه الروابط كروابط رمزية يمكنك إما الإشارة إليها مباشرة داخل fstab الخاص بك ، أو التي يمكنك استخدام dereference باستخدامها readlink -e لتحديد جهاز الحظر المرتبط.

هنا مثال حقيقي على جهازي ، لدي 3 محركات أقراص USB متصلة. تظهر كل منها في / dev / disk / by-id مع الأرقام التسلسلية الفريدة (على الرغم من أنها تتشارك في سلسلة مصنع مشتركة). لقد قمت بإنشاء ارتباطات رمزية لكل من هذه الإدخالات الثلاثة الفريدة ، ويمكن الآن تحديد محرك الأقراص الذي هو (وأي جهاز مقترن بكل محرك أقراص) بسرعة عن طريق تشغيل readlink -e linkname. على سبيل المثال ، تشغيل readlink -e / root / disk2 على الجهاز الخاص بي يعرض حاليا "/ ديف / سدي"، في حين readlink -e / root / disk3 لا تنتج أي مخرجات على الإطلاق.


53
2017-09-16 19:29



باختصار وببساطة: for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done - Felipe Alcacibar


كل هذه اقتراحات جيدة ، ولكن الطريقة الأسرع والأقل المطلقة هي فقط كتابة ما يلي في المحطة:

mount

والتي سوف تعطي قائمة بجميع الأجهزة المحملة (وهذا يفترض أن محرك أقراص USB مركب ، وهو ما يحدث عادة مع توزيعات لينكس الحديثة).


51
2017-09-04 18:51



لا ، إنه لا يقوم بتثبيت جهازك بطريقة سحرية. عليك أن تحدده مع mount /dev/id /mount/point، لذلك هذا لا يعمل. - polym
تتناول إجابتي سؤال المستخدم "هل هناك طريقة للنظر من خلال dmesg أو / proc أو في مكان آخر لمعرفة عقدة الجهاز التي هي محرك أقراص USB." ، وليس الهدف منها توفير إرشادات حول التطبيق العملي لتركيب محرك أقراص تحت نظام التشغيل Linux . - AnotherLongUsername
هذه الإجابة حلت مسألة متطابقة تقريبا بالنسبة لي. - Matthew Brown aka Lord Matt
أعتقد أن سلوك automount يعتمد كثيرًا على نوع توزيعة. - jiggunjer
df أيضا ، أفترض. - Alexey


جرب الأمر udevinfo -q all -n /dev/sda، أين /dev/sda هو المسار إلى القرص الخاص بك. هذا يعطيك زورق من المعلومات حول القرص الذي تبحث عنه - هناك مدخل يخبرك عن الحافلة التي يتصل بها.

هذا بالطبع يوفر لك من خلال grep من خلال dmesg و / أو سجلات.

تحديث 

udevadm info --query=all -n /dev/sda 

من يوليو 2010 على الأقل [1]  udevinfo تم استبداله في دبيان (ومشتقة) بواسطة udevadm info مع مرور مؤقت قليل مع وجود ارتباطات رمزية سرعان ما تم إهمالها وإزالتها (لا يزال بإمكانك العثور عليها في آلة قديمة لم يتم تحديثها). دائما من [1] نستطيع القراءة:

في udev 117 ، udevadm قدم و udevinfo وبرامج أخرى تحولت إلى روابط متوافقة. تم إيقاف الروابط الرمزية في udev 128 وإزالتها للخير udev 147.


24
2017-09-16 03:59



في دبيان ، udevinfo يتم إعادة تسمية udevadm. - Steve Pomeroy
على Ubuntu ، يبدو أن الأمر "udevadm info --query = all -n / dev / sda" - machineghost
أفترض أنهم قاموا بإعادة تسمية الأمر في مرحلة ما - عندما كتبت الإجابة (منذ زمن طويل) ، عمل الأمر على نظام أوبونتو الذي نشرته من ؛) - Eltariel
لا تزال تعمل الأوامر في أوبونتو ، udevadm info --query=all -n /dev/ttyUSB1 - Siddharth
udevadm info --query=all -n /dev/ttyUSB في فيدورا أيضا. - slm


أبسط طريقة لمعرفة ما يجري هو مجرد كتابة (كجذر بالطبع):

blkid -c /dev/null

يمنحك هذا نظرة عامة كاملة حول كافة أجهزة الحظر حتى إذا لم يتم تركيبها


23
2018-01-02 08:37



ليس كل التوزيعي لديه هذا. التي كنت تستخدم؟ - New Alexandria
هذا لا يخرج شيئا على توزيعة راسببيان. - Igor G.
القيادة غير موجودة: blkid - Igor G.
لا إخراج من هذا الأمر على أوبونتو 14.04 64 بت. - gbmhunter


/dev/disk/by-* هي الطريقة الأسهل في هذه الحالة ، إذا أردت لسبب ما جعل الحياة أكثر إثارة للاهتمام يمكنك استخدام HAL.

لسرد جميع الأجهزة التي تستخدمها:

hal-device

للحصول على خاصية معينة تستخدمها (سيعود هذا /dev/sd* على جهاز تخزين USB):

hal-get-property --udi $UDI --key block.device

يوجد ايضا:

hal-find-by-capability
hal-find-by-property

إذا كنت تريد أن تجعل الأمر أكثر تعقيدًا ، فيمكنك بسهولة الكتابة بسهولة HAL مقرها السيارات المركب، والتي يمكن أن تكون مفيدة للغاية إذا كنت تريد أتمتة الأشياء بشكل كامل.

وفقط من أجل الكمال هناك أيضا:

lsusb -v
lshw

الذي يوفر بعض المعلومات العامة حول USB والأجهزة الخاصة بك بشكل عام.


11
2017-09-24 22:36



/ dev / disk / by-id / * usb * مفيد جدًا. - Rob
/ dev / disk / by-label ftw. شكر :) - Triptych


sudo fdisk -l

ومجرد تحليل النتيجة.


8
2017-11-10 02:47



صفحة رجل FDISK "إذا لم يتم إعطاء أي أجهزة ، فسيتم استخدام تلك المذكورة في / proc / partitions (إن وجدت)." قد لا يكون تشغيل الأداة fdisk خياراً ... استناداً إلى نظام Debian واحد أعرف أنه لم يتم تثبيته ، أعتقد أن بعض أنظمة GPT قد لا تقوم بتثبيت البرامج غير الضرورية. ومع ذلك ، يجب أن يكون فحص / proc / partitions خيارًا. - TOOGAM
كان هذا هو الخيار الوحيد الذي عمل بشكل جيد بالنسبة لي. أنا آسف إذا لم ينجح لك! - Felipe


استعمال

ls -l /dev/disk/by-id/usb*

ضمن قواعد udev الافتراضية ، سيظهر لك ذلك معظم أجهزة USB وسيظهر لك الرابط إلى اسم جهاز الحظر على النظام.

إذا لم يفلح ذلك ، انظر /dev/disk/by-id/ مباشرة.


8
2017-09-16 04:18