লিনাক্স: আমি আমার সিস্টেমে উপলব্ধ সমস্ত ডিস্কের জন্য সমস্ত ইউআইডিগুলিকে কীভাবে দেখতে পারি?


153

আমার /etc/fstabএতে রয়েছে:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1

এই সিস্টেমে আরও কয়েকটি ডিস্ক রয়েছে এবং সমস্ত ডিস্ক সঠিক স্থানে মাউন্ট করা হচ্ছে না (উদাহরণস্বরূপ, / dev / sda1 এবং / dev / sdb1 কখনও কখনও বিপরীত হয়)।

আমি আমার সিস্টেমে সমস্ত ডিস্কের জন্য ইউআইডিগুলি কীভাবে দেখতে পারি? আমি কি এই সিস্টেমে তৃতীয় ডিস্কের জন্য ইউইউডি দেখতে পারি?


@setzamora উত্তর আরও ভাল। গৃহীত উত্তর পরিবর্তন করুন।
nslntmnx

উত্তর:


134

এতে /dev/disk/by-uuidপ্রতিটি ড্রাইভের ইউআইইডিকে এর প্রবেশদ্বারে ম্যাপিং করে সিমলিংক রয়েছে /dev(যেমন /dev/sda1)


3
LVM পার্টিশন করার সময় এটি পঠনযোগ্য নয়।
গ্রেজগোর্জ ওয়েয়ারজোইইকি

1
LVM এর কাঠামোর মধ্যে ইতিমধ্যে দীর্ঘ ইউইউডি-জাতীয় সনাক্তকারী (যদিও আলাদাভাবে উপস্থাপিত হয়েছে) ব্যবহার করে। আমি মনে করি এলভিএমের সাথে ফাইল সিস্টেম ইউইউডিগুলি ব্যবহারের একমাত্র কারণ হ'ল এক ধরণের অটোমেশনের জন্য একীভূত ইন্টারফেস হবে, কারণ ইতিমধ্যে এলভিএম আপনার পক্ষে মানব-বান্ধব নামের সাথে এলভিগুলি ম্যাপিং করে।
telcoM

2
ls -lha /dev/disk/by-uuid
deFreitas

157

এখানে একটি সরঞ্জাম রয়েছে blkid(এটি রুট হিসাবে বা এর সাথে ব্যবহার করুন sudo),

# blkid /dev/sda1
/dev/sda1: LABEL="/" UUID="ee7cf0a0-1922-401b-a1ae-6ec9261484c0" SEC_TYPE="ext2" TYPE="ext3"

আপনি আরও তথ্যের জন্য এই লিঙ্কটি চেক করতে পারেন


12
কেবল একটি সামান্য মন্তব্য: মনে হচ্ছে গ্রুপের সদস্য হওয়া diskচালানোর পক্ষে যথেষ্ট blkid; পূর্ণ সুপারভাইজার সুবিধার দরকার নেই।
আরিফ

10
আপনি যদি কেবল ইউইউডি চান (যেমন কোনও স্ক্রিপ্টে পার্স করার জন্য), আপনি এটি করতে পারেন blkid /dev/sda1 -s UUID -o value
জ্যাক ও'কনোর

3
এখানে দ্রুত মন্তব্য করুন: আমার ডিসট্রোতে (ডাবিয়ান 8) এ ইউআইডির পাশাপাশি "পার্টিউইউড" দেয় যা বিভ্রান্তিকর। আমি {lsblk} কমান্ড ব্যবহার করেছি যা কেবল একটি মান দেয়।
তাকুমার

2
এটি একটি বেশিরভাগ সময় সাশ্রয় করে, যদিও আমি blkid /dev/sd*সমস্ত ড্রাইভের তালিকা তৈরি করতে পছন্দ করি .. যে তথ্যটি স্পিট করে তা সাধারণত আপনার প্রয়োজনীয় ড্রাইভ সন্ধান করার জন্য পর্যাপ্ত পরিমাণে বেশি। :)
জাফল্টকা

2
জিপিটি-পার্টিশনযুক্ত ডিস্কগুলির জন্য পার্টুইউড হ'ল জিপিটি ইউআইইডি পার্টিশনের জন্য, এতে থাকা ফাইল সিস্টেমের জন্য নয়। কোনও ফাইল সিস্টেম এখনও তৈরি না হলে দরকারী হতে পারে। এমবিআর-পার্টিশনযুক্ত ডিস্কে, পার্টুইউডটি আসল ইউআইডি নয়, কেবল এমবিআর + একটি ড্যাশ + পার্টিশন নম্বর থেকে উইন্ডোজ ডিস্ক স্বাক্ষর।
telcoM

31

ব্যবহারের সেরা কমান্ডটি lsblk -f। এটি LVM, crypto_LUKS, বা একই ড্রাইভে একাধিক ভলিউম গ্রুপ ব্যবহার করার ক্ষেত্রে সমস্ত ডিভাইস এবং পার্টিশনগুলি, কীভাবে সেগুলি মাউন্ট করা হয় (যদি আদৌ হয়) এবং ডিভাইসের গাছের কাঠামো তালিকাভুক্ত করে।


10

এটি আমার পক্ষে কাজ করে:

ls -la /dev/disk/by-uuid

পার্টিশনটি কী ধরণের তা পরীক্ষা করতে চাইলে ব্যবহার করুন:

df -Th

আপনার কাছে ext3 বা ext2 থাকলে এটি আপনাকে দেখায়। আজ এটি আমাকে সহায়তা করেছিল কারণ এখানে একটি ফর্ম্যাট করা এক্সট্রি পার্টিশন ছিল এবং আমি ভেবেছিলাম এটি এক্সট্রোম 3, যা মাউন্টটিকে ব্যর্থ করে দিচ্ছে।


আপনি সর্বদা চেষ্টা করতে পারেন mount -t auto /dev/sda1 /media/sda1
অট--

8

কেবলমাত্র UUIDএকটি নির্দিষ্ট ডিস্ক ডিভাইস পেতে (উদাহরণস্বরূপ স্ক্রিপ্টে ব্যবহৃত হতে পারে) আপনি ব্যবহার করতে পারেন:

sudo blkid -s UUID -o value /dev/sdXY

/dev/sdXYডিভাইসের নাম কোথায় ?


6
lsblk -o +uuid,name

-o( --output) এর সাথে যুক্ত করা যাবে এমন সমস্ত আউটপুট আপনি দেখতে পাচ্ছেন

lsblk --help

এছাড়াও এই কাজ করবে

# blkid

nameডিফল্ট মুদ্রিত হয় না ?
don_crissti

এটাই. এটি কেবলমাত্র শিক্ষাগত উদ্দেশ্যে যুক্ত করা হয়েছে (আপনি যে ক্ষেত্রগুলি চান তা পৃথক করতে কমা যুক্ত করুন)
নিকো রডসেভিচ

2

পূর্ববর্তী উত্তরগুলি একাধিক ডিভাইস বা অভিন্ন ইউআইডি সহ ডিভাইসের জন্য কাজ করে না।

এটা চেষ্টা কর:

sudo blkid /dev/sd*

1
সত্যি? মানে, সবচেয়ে বেশি ভোট দেওয়া উত্তর কি কাজ করে না?
don_crissti

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

5
আপনি যদি ddকমান্ডটি দিয়ে কোনও পার্টিশন ক্লোন করেন তবে অনুলিপিটিতে একই ইউউইড থাকবে এবং হ্যাঁ, এটি সমস্যা। এখানে অন্যান্য উত্তরগুলি এটি দেখায় না।
কেভিন

1

নিম্নলিখিত কমান্ড লাইনের সাহায্যে আপনি পার্টিশনে ইউআইডি প্লাস ম্যাপিং দেখতে পাবেন।

ls /dev/disk/by-uuid -lt

lrwxrwxrwx 1 root root 10 Sep  1 18:51 57eacf4e-1940-436e-b945-85f8d4833aa5 -> ../../sda2
lrwxrwxrwx 1 root root 10 Sep  1 18:51 656f4cae-8527-43a0-a80f-00ac82818744 -> ../../sda1
lrwxrwxrwx 1 root root  9 Sep  1 18:51 d627595d-4060-440e-8380-a1fe9f3f2a81 -> ../../md0
lrwxrwxrwx 1 root root 10 Sep  1 18:51 0dfd6dfe-1852-460d-852c-676a5b9035ed -> ../../sda4
lrwxrwxrwx 1 root root 10 Sep  1 18:51 b1ddf850-8f81-429f-a653-38ae4a4ebb6f -> ../../sda3
lrwxrwxrwx 1 root root  9 Sep  1 18:51 b4b729f7-5699-411c-8f5a-424bbc7c89fc -> ../../sdb

কেন আমরা
এসডিএ

পার্টিশন অনুযায়ী ফাইল সিস্টেমের জন্য একটি ইউআইডি রয়েছে। এসডিএ-তে, আমার 4 টি পার্টিশন রয়েছে তাই আমার 4 টি ইউআইডি ছিল। wiki.debian.org/Part-UUID
নিকোলাস গুরিনেট

1

আপনার মতো আমারও একই সমস্যা আছে: /dev/sd**একটি রিবুটের পরে কার্নেল দ্বারা নামকরণ :

অবশ্যই আমার সমস্ত স্বয়ংক্রিয় মাউন্টিং /etc/fstabলেবেল বা ইউইউডি দ্বারা রেফারেন্স করা হয়েছে, সুতরাং মূলত এটির জন্য কোনও সমস্যা নেই। এবং উপরের সমস্ত কমান্ড, blkid বা lsblk এই ধরণের তথ্য দেয়।

তবে সমস্যাটি আমার ক্ষেত্রে যেমন শুরু হয় আপনি যখন RAW মোডে পার্টিশনটি ব্যবহার করছেন, বর্তমানে বুট করা সিস্টেমের পয়েন্ট-ভিউতে: উদাহরণস্বরূপ: পার্টিশনটি ভার্চুয়ালবক্সের জন্য ভার্চুয়াল ডিস্ক তৈরির জন্য কাঁচা ডিভাইস হিসাবে ব্যবহৃত হয় (সুতরাং এই পার্টিশনের রেফারেন্সটি হ'ল /dev/sdf3:) বা iSCSI এর জন্য LUN তৈরি করতে পার্টিশনটি কাঁচা ডিভাইস হিসাবে ব্যবহৃত হয় (সুতরাং এই পার্টিশনের রেফারেন্সটি হ'ল /dev/sdc6:)

সুতরাং এখন বুটে, উদাহরণস্বরূপ, rc.local এ, আপনাকে একটি নির্ভরযোগ্য পদ্ধতিতে অনুসন্ধান করতে হবে, /dev/sdXXআপনার উত্সর্গীকৃত RAW পার্টিশনের ডিভাইসটি কী , এবং কিছু ফাইল মানিয়ে নিতে:

উদাহরণ 1

ভার্চুয়ালবক্স ডিস্ক * .vmk এই কাঁচা ডিস্কের বর্ণনা, অংশে কিছু:

\# Extent description
RW 488397167 FLAT "/dev/sdXX" 0

এবং তারপরে ভার্চুয়ালবক্স পরিষেবাটি পুনরায় চালু করুন

উদাহরণ 2

tgtd কনফিগারেশনে, একটি লক্ষ্য: টার্গেট 0 /dev/sdd6নির্মাণের সময় সম্পর্কিত ছিল। পুনরায় বুট করার পরে আপনি একই পার্টিশনটির নাম পরিবর্তন করে পাবেন /deb/sdc6 এটি একটি অপসারণযোগ্য ডিস্ক, ইউএসবি বা ইএসটাএটি দিয়ে ঘটে! তাহলে কীভাবে নতুন ডিভাইসটি স্বয়ংক্রিয়ভাবে সন্ধান করবেন? আবার /etc/rc.d/rc.local এ

সুতরাং এই ক্ষেত্রে নতুন ডিভাইসের নাম কী তা খুঁজে বের করার জন্য আমাদের একটি নির্ভরযোগ্য পদ্ধতি প্রয়োজন manner জিপিটি পার্টিশনটি জিপিটি সারণিতে লিখিত যে কোনও জিপিটি পার্টিশনের জন্য অনন্য জিআইডি দেয় offers

gdisk তালিকা মোডের সাথে এই তথ্য সরবরাহ করে না, তবে কেবল ইন্টারেক্টিভ মোডে: i কমান্ড দিয়ে। ভাগ্যক্রমে, ব্লকিড এটি করে!

সুতরাং আপনার শেল স্ক্রিপ্টটি লিখতে হবে, আপনার সমস্ত ডিস্ক, যা ডিভাইস /dev/sdXX, যা পার্টিশন তৈরির সময় লক্ষ্য করা GID- র সাথে সম্পর্কিত in

এরকম কিছু, অনুসন্ধান_দেখানো_বাই_ পার্ট ইউইউডি.এসএস:

\#!/bin/bash

PART_UUID=$1
if [ "$PART_UUID" = "" ]
then
    echo "Syntax: $0 <a valid partition UUID>"
    exit 3
fi
lsblk | grep '^sd' | awk '{print $1}' | while read DISK_DEVICE
do 
    INFO=`blkid /dev/${DISK_DEVICE}* | grep "PARTUUID=\"$PART_UUID\"" `
    if [ "$INFO" != "" ]
    then
        echo INFO : "$INFO"
        BLK_DEVICE=`echo "$INFO" | awk '{print $1}'`
        echo $BLK_DEVICE > /dev/shm/blkdevice
        echo -n "BLK_DEVICE : " ; cat /dev/shm/blkdevice
    fi
done

এবং তারপরে /dev/shm/blkdeviceআপনার rc.local স্ক্রিপ্টে ব্যবহার করুন ।


0

হার্ড ডিস্ক পার্টিশনের উউইড দেখতে আমি কেবল একটি লিনাক্স সিডি দিয়ে সিস্টেমটি বুট করেছি এবং আমার কম্পিউটারে মাউন্ট করতে গিয়ে, যে পার্টিশনটি দেখতে চাই তাতে ক্লিক করুন। লিনাক্স পার্টিশনের uuid নম্বর প্রদর্শিত হবে।

লিনাক্স সিডি বুট করার পরে লিনাক্স ডিস্ক ইউটিলিটি চালিয়ে আপনি ডিস্ক ইউইডও দেখতে পাবেন।


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