ইউইউডি ব্যবহার করে পুরো ডিস্ক (/ dev / sda) উল্লেখ করুন


9

আমার সিস্টেম (ডেবিয়ান), আমি দেখতে পাচ্ছি UUIDআমার ডিস্ক পার্টিশন সব জন্য আইডেন্টিফায়ার (যেমন /dev/sda1, dev/sda2, ..)

ls /dev/disk/by-uuid/

তবে আমি নিজের UUIDজন্য সনাক্তকারী দেখতে পাচ্ছি না /dev/sda। পুরো ডিস্কের সাথে রেফারেন্স করা কি সম্ভব UUID?

আমি এই প্রয়োজন কারণ আমি একটি নির্দিষ্ট ডিস্ক উল্লেখ করতে চান, এবং আমি ভরসা করতে পারছি না এটা বলা হবে /dev/sda

সম্পাদনা

@ ডন_ক্রিসটি প্রস্তাবিত সমাধানটি দুর্দান্ত। তবে আমি চাই ইউআইডি একই মডেল / নির্মাতার সমস্ত হার্ড ডিস্কের জন্য একরকম হোক, সিরিয়াল নম্বর অনুসারে অনন্য নয়।

ব্যবহার করে udevadm, আমি ডিস্কের বৈশিষ্ট্যগুলি দেখতে পারি:

udevadm info -n /dev/sda -a
ATTRS{model}=="Samsung SSD 840 "
ATTRS{vendor}=="0x8086"
ATTRS{class}=="0x010700"
ATTRS{device}=="0x1d6b"
....

UUIDএই বৈশিষ্ট্যগুলি থেকে কীভাবে আমি উত্পন্ন করতে পারি , যাতে একই মডেল / উত্পাদনকারী ডিস্কের একই রকম থাকে UUID?


ইউআইডিগুলি ফাইল-সিস্টেমগুলির জন্য, পার্টিশন নয়। পার্টিশনের জন্য পার্টিউইউড রয়েছে তবে পুরো ডিস্কের জন্য কিছুই নেই। /dev/sdaপরিবর্তে একটি নির্দিষ্ট নাম দেওয়ার জন্য আপনাকে সম্ভবত একটি ওদেব বিধি লিখতে হবে।
মারু

1
এটি সম্পর্কে আকর্ষণীয় বিষয়টি হ'ল এমবিআর-তে এখন একটি ইউইউডি রয়েছে (এটি যদি উইন্ডোজ দ্বারা তৈরি করা হয়েছিল তবে কমপক্ষে) এটি ব্যবহার করার আপাতদৃষ্টিতে কোনও উপায় নেই way
জোশুয়া

উত্তর:


12

এর অধীন থাকা সিমলিংকগুলি ফাইল সিস্টেম ইউআইডি-র ভিত্তিতে বিধি /dev/disk/by-uuid/দ্বারা তৈরি করা হয় । আপনি যদি তাকান তবে আপনি এন্ট্রি পাবেন:udev/usr/lib/udev/rules.d/60-persistent-storage.rules

...... ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"

ডিস্কের রেফারেন্সের জন্য আপনি ডিস্কের ক্রমিক নম্বর এবং ENV{ID_SERIAL_SHORT}কীটি ব্যবহার করতে পারেন ।
নিম্নলিখিত udevনিয়মটি ক্রমিক নংয়ের সাথে ড্রাইভের সাথে মেলে। 0000000013100925DB96এবং নীচে একই নামের সাথে একটি সিমিলিংক তৈরি করে /dev/disk/by-uuid/:

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL_SHORT}=="0000000013100925DB96", SYMLINK+="disk/by-uuid/$env{ID_SERIAL_SHORT}"

আপনার অন্যান্য প্রশ্ন হিসাবে ... অবশ্যই, আপনি সর্বদা ENV{ID_MODEL}পরিবর্তে ব্যবহার করতে পারেন ENV{ID_SERIAL_SHORT}এবং আপনার সিমলিংক নামের জন্য একটি কাস্টম স্ট্রিং ব্যবহার করতে পারেন।
নীচের নিয়মটি ID_MODEL= এর সাথে যে কোনও ড্রাইভের সাথে মেলে M4-CT128M4SSD2এবং এর M4-SSD-1234567890অধীনে একটি সিমিলিংক তৈরি করে /dev/disk/by-uuid/:

KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_MODEL}=="M4-CT128M4SSD2", SYMLINK+="disk/by-uuid/M4-SSD-1234567890"

নোট যে এই যতদিন সেখানে শুধুমাত্র একটি মিলে ড্রাইভ হিসাবে কাজ করে জরিমানা ID_MODEL। যদি একই মডেলের একাধিক ড্রাইভ থাকে তবে তাদের প্রত্যেকের জন্য আবারও বিধি প্রয়োগ করা হবে এবং সিমলিংকটি সর্বশেষ সনাক্ত করা / যুক্ত ড্রাইভের দিকে নির্দেশ করবে।


আসলে, আমি UUIDএকই মডেল / প্রকার / প্রস্তুতকারকের সমস্ত ডিস্কের জন্য একই হতে চাই the আপনি কি জানেন যে এর জন্য কোন নিয়ম ব্যবহার করা উচিত? স্পষ্টতই সিরিয়াল নম্বর নয়।
মাইকেল বোইস

আমার সম্পাদনা দেখুন। আমি কীটি সম্পাদন করার চেষ্টা করছি: আমার HDDবিরতিগুলি বলতে দিন , তবে আমার প্রতিস্থাপন অভিন্ন ডিস্ক রয়েছে। আমি এটি প্রতিস্থাপন করেছি এবং আমি UUIDআগের মতো দেখতে চাই (যদিও সিরিয়াল নম্বরটি পরিবর্তিত হয়েছে)। আমি একই সাথে উভয় ডিস্ক ব্যবহার করার ইচ্ছা করি না।
মাইকেল বোইস

@ মিশেলবয়েস - আপনি সরাসরি ইউইউডি ডাব্লু / এ পরিবর্তন করতে পারবেন gdiskতবে আমি নিশ্চিত নই যে এটি এত ভাল ধারণা। ডন - লিঙ্কগুলিতে সরাসরি পরিবর্তন করা আসলে ইউআইডিতে পরিবর্তনের চেয়ে এটি করার একটি ভাল উপায় - কম্পিউটার সম্ভবত বুট করা বন্ধ করবে।
মাইকজার্ভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.