linux: මගේ පද්ධතියේ ඇති සියලුම තැටි සඳහා සියලුම UUIDs බැලීමට හැක්කේ කෙසේද?


179

මගේ /etc/fstabමෙය අඩංගු වේ:

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

මෙම පද්ධතියේ තවත් තැටි කිහිපයක් ඇති අතර, සියලු තැටි නිවැරදි ස්ථානයට සවි නොකෙරේ (නිදසුනක් ලෙස, / dev / sda1 සහ / dev / sdb1 සමහර විට ආපසු හරවනු ලැබේ).

මගේ පද්ධතියේ ඇති සියලුම තැටි සඳහා UUIDs දකින්නේ කෙසේද? මෙම පද්ධතියේ තුන්වන තැටිය සඳහා මට UUID දැකිය හැකිද?


zsetzamora පිළිතුර වඩා හොඳයි. කරුණාකර පිළිගත් පිළිතුර වෙනස් කරන්න.
ශුන්‍යයි

Answers:


158

තුළ /dev/disk/by-uuid එහි ප්රවේශය සඳහා එක් එක් තැටිය ගේ UUID සිතියම් symlinks ඇත /dev(උදා: /dev/sda1)


3
LVM කොටස් කරන විට එය කියවිය නොහැක.
ග්‍රෙස්ගෝර්ස් වයර්සොවිස්කි

1
LVM දැනටමත් එහි ව්‍යුහය තුළ දිගු UUID වැනි හඳුනාගැනීම් භාවිතා කරයි (වෙනස් ලෙස ඉදිරිපත් කර ඇතත්). LVM සමඟ ගොනු පද්ධති UUID භාවිතා කිරීමට ඇති එකම හේතුව යම් ආකාරයක ස්වයංක්‍රීයකරණයක් සඳහා ඒකාබද්ධ අතුරු මුහුණතක් වනු ඇතැයි මම සිතමි, LVM දැනටමත් LVs සිතියම් ගත කිරීම ඔබ වෙනුවෙන් මානව හිතකාමී නම් වලට සම්බන්ධ කර ඇත.
telcoM

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

187

මෙවලමක් ඇත blkid(එය root ලෙස හෝ සමඟ භාවිතා කරන්න sudo),

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

වැඩි විස්තර සඳහා ඔබට මෙම සබැඳිය පරීක්ෂා කළ හැකිය


13
සුළු අදහසක්: කණ්ඩායමේ සාමාජිකයෙකු වීම diskක්‍රියාත්මක කිරීමට ප්‍රමාණවත් බව පෙනේ blkid; පූර්ණ සුපිරි පරිශීලක වරප්‍රසාද අවශ්‍ය නොවේ.
arielf

11
ඔබට අවශ්‍ය වන්නේ UUID පමණි (ස්ක්‍රිප්ට් එකක විග්‍රහ කිරීම වැනි), ඔබට එය කළ හැකිය blkid /dev/sda1 -s UUID -o value.
ජැක් ඕ'කොනර්

3
මෙහි ඉක්මන් අදහස් දැක්වීම: මගේ ඩිස්ට්‍රෝ (ඩෙබියන් 8) හි මෙය UUID මෙන්ම "PARTUUID" ද ලබා දෙයි, එය තරමක් ව්‍යාකූල වේ. මම {lsblk} විධාන භාවිතා කළ අතර එය එක් අගයක් පමණක් ලබා දෙයි.
තකුමාර්

2
blkid /dev/sd*සියලුම ධාවක ලැයිස්තුගත කිරීමට මා කැමති වුවත්, මෙය විශාල කාලයක් ඉතිරි කරයි .. පිටවන තොරතුරු සාමාන්‍යයෙන් ඔබට අවශ්‍ය ධාවකය සොයා ගැනීමට ප්‍රමාණවත් නොවේ. :)

2
GPT- කොටස් කරන ලද තැටි සඳහා PARTUUID යනු කොටස සඳහා වන GPT UUID මිස එහි ඇති ගොනු පද්ධතිය සඳහා නොවේ. ගොනු පද්ධතියක් තවම නිර්මාණය කර නොමැති විට ප්‍රයෝජනවත් විය හැකිය. MBR- කොටස් කරන ලද තැටියක, PARTUUID සැබෑ UUID එකක් නොව MBR + ඩෑෂ් + කොටස් අංකයකින් වින්ඩෝස් ඩිස්ක් අත්සනකි.
telcoM

47

භාවිතා කිරීමට හොඳම විධානය වන්නේ lsblk -f. එකම ධාවකයේ LVM, crypto_LUKS, හෝ බහු වෙළුම් කණ්ඩායම් භාවිතා කිරීමේදී සියලුම උපාංග සහ කොටස්, ඒවා සවි කර ඇති ආකාරය (කිසිසේත් තිබේ නම්) සහ උපාංගවල ගස් ව්‍යුහය ලැයිස්තුගත කරයි.


මෙය හොඳම පිළිතුරයි - වඩාත්ම ගැඹුරු සහ සැබවින්ම එක්-නැවතුම් ක්‍රමයක්.
රොයිස් විලියම්ස්

එකතු කිරීමක්: මට මේ ඉදිරිපිට සුඩෝ තැබීමට සිදු විය, එසේ නොමැතිනම් කොටසේ UUID ලබා ගැනීමට නොහැකි වූ අතර තීරුව හිස් විය.
Mnementh

14

UUIDවිශේෂිත තැටි උපාංගයක් පමණක් ලබා ගැනීමට (උදාහරණයක් ලෙස ස්ක්‍රිප්ට් එකක භාවිතා කිරීමට) ඔබට භාවිතා කළ හැක්කේ:

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

/dev/sdXYඋපාංගයේ නම කොහිද ?


12

මෙය මට වැඩ කරයි:

ls -la /dev/disk/by-uuid

කොටස කුමක්දැයි පරීක්ෂා කිරීමට ඔබට අවශ්‍ය නම්, භාවිතා කරන්න:

df -Th

ඔබට ext3 හෝ ext2 තිබේ නම් එය ඔබට පෙන්වයි. අද එය මට උදව් කළේ ආකෘතිගත කරන ලද ext2 කොටසක් ඇති නිසා සහ එය ext3 යැයි සිතූ නිසා සවිකිරීම අසාර්ථක වීමට හේතු විය.


ඔබට සැමවිටම උත්සාහ කළ හැකිය mount -t auto /dev/sda1 /media/sda1.
ott--

7
lsblk -o +uuid,name

-o( --output) සමඟ එකතු කළ හැකි සියලු ප්‍රතිදානයන් ඔබට දැක ගත හැකිය

lsblk --help

එසේම මෙය කාර්යය ඉටු කරනු ඇත

# blkid

නැත nameපෙරනිමියෙන් මුද්රණය?
don_crissti

එය එසේ ය. එය අධ්‍යාපනික අරමුණු සඳහා පමණක් එකතු කර ඇත (ඔබට අවශ්‍ය ක්ෂේත්‍ර වෙන් කිරීමට කොමාව එක් කරන්න)
නිකෝ රොඩ්සෙවිච්

2

පෙර පිළිතුරු බහු උපාංග සඳහා හෝ සමාන UUID සහිත උපාංග සඳහා ක්‍රියා නොකරයි.

මේක උත්සාහ කරන්න:

sudo blkid /dev/sd*

1
ඇත්තටම ? ඔබ අදහස් කළේ, වැඩිපුරම ඡන්දය දුන් පිළිතුර ක්‍රියාත්මක නොවේද?
don_crissti

විශ්වීය අද්විතීය හඳුනාගැනීමක් (UUID) සෑම විටම අද්විතීය විය යුතුය. UUID හි සමස්ත අරමුණ අද්විතීය, විශ්වීය වීමයි. එසේ නොවේ නම්, ගැටලුවක් තිබේ. ක්ලෝන කරන ලද VM වල අනුපිටපත් කරන ලද UUIDs අවම වශයෙන් ජාල උපාංග සඳහා මම දැක ඇත්තෙමි.
ස්ටෙෆාන් ලසිව්ස්කි

5
ඔබ ddවිධානය සමඟ කොටසක් ක්ලෝන කළහොත් පිටපතට එකම uuid ඇති අතර ඔව්, එය ගැටළුවකි. මෙහි ඇති අනෙක් පිළිතුරු එය නොපෙන්වයි.
කෙවින්

1

පහත දැක්වෙන විධාන රේඛාව සමඟ ඔබට UUID සහ කොටස් වලට සිතියම්ගත කිරීම දැකිය හැකිය.

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


එක් කොටසකට ගොනු පද්ධතියක් සඳහා එක් UUID එකක් ඇත. Sda හි, මට කොටස් 4 ක් ඇත, එබැවින් මට UUID 4 ක් තිබුණි. wiki.debian.org/Part-UUID
නිකොලස් ගුරිනෙට්

1

මට ඔබ හා සමාන ගැටළුවක් ඇත: නැවත /dev/sd**පණගැන්වීමෙන් පසු කර්නලය මගින් නැවත නම් කිරීම:

ඇත්ත වශයෙන්ම මගේ සියලුම ස්වයංක්‍රීය සවිකිරීම් /etc/fstabLABEL හෝ UUID විසින් යොමු කර ඇත, එබැවින් මූලික වශයෙන් ඒ සඳහා කිසිදු ගැටළුවක් නොමැත. ඉහත සියලුම විධානයන් වන blkid හෝ lsblk මේ ආකාරයේ තොරතුරු ලබා දේ.

නමුත් කරදරය ආරම්භ වන්නේ ඔබ RAW මාදිලියේ කොටස් භාවිතා කරන විට, දැනට ආරම්භ කර ඇති පද්ධති දෘෂ්ටි කෝණයෙන් ය: උදාහරණයක් ලෙස: කොටස අමු උපාංගයක් ලෙස භාවිතා කරයි, අතථ්‍ය බොක්ස් සඳහා අථත්‍ය තැටියක් සෑදීම සඳහා (එසේ නම්) මෙම කොටස සඳහා යොමු වගේ දෙයක් තමයි: /dev/sdf3) හෝ කොටස් (ඒ නිසා මෙම කොටස සඳහා යොමු වගේ දෙයක් තමයි iSCSI සඳහා LUN විසින් කිරීමට, අමු උපාංගයක් ලෙස භාවිතා කල හැකිය: /dev/sdc6)

දැන් ආරම්භයේදී, උදාහරණයක් ලෙස rc.local හි, ඔබ විශ්වාසදායක ආකාරයකින් සොයා ගත යුතුය, /dev/sdXXඔබේ කැපවූ RAW කොටසේ උපාංගය කුමක්ද , සහ සමහර ගොනුවක් අනුවර්තනය කරන්න:

උදාහරණ 1

වර්චුවල් බොක්ස් තැටිය * .vmk මෙම අමු තැටිය පිළිබඳ විස්තරය, කොටසක් වැනි:

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

ඉන්පසු VirtualBox සේවාව නැවත ආරම්භ කරන්න

උදාහරණ 2

tgtd වින්‍යාසය තුළ, ඉලක්කයක්: target0 /dev/sdd6ගොඩනැගීමේ වේලාවට සම්බන්ධ විය. නැවත පණගැන්වීමෙන් පසු ඔබට එම කොටසම නැවත නම් කරන ලදි /deb/sdc6 මෙය ඉවත් කළ හැකි තැටියක්, USB හෝ eSATA සමඟ සිදු වේ! ඉතින් නව උපාංගය ස්වයංක්‍රීයව සොයා ගන්නේ කෙසේද? නැවතත් /etc/rc.d/rc.local හි

එබැවින් මෙම අවස්ථාවේදී නව උපාංගයේ නම කුමක්දැයි සොයා ගැනීමට අපට විශ්වාසදායක ක්‍රමයක් අවශ්‍ය වේ. GPT කොටස GPT වගුවේ ලියා ඇති ඕනෑම GPT කොටසක් සඳහා අද්විතීය GUID ලබා දෙයි.

gdisk මෙම තොරතුරු ලැයිස්තුගත කිරීමේ මාදිලියෙන් සපයන්නේ නැත, නමුත්: i විධානය සමඟ අන්තර්ක්‍රියාකාරී ආකාරයෙන් පමණි. වාසනාවකට මෙන්, blkid එය කරයි!

එබැවින් /dev/sdXXකොටස් සෑදීමේ වේලාවේදී හඳුනාගත් GUID හා සම්බන්ධ උපාංගය වන ඔබේ සියලු තැටි දෙස බැලීමට ඔබට ෂෙල් ස්ක්‍රිප්ට් එකක් ලිවිය යුතුය .

Search_device_by_partUUID.sh වැනි දෙයක්:

\#!/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

දෘ disk තැටි කොටසක uuid බැලීමට මම ලිනක්ස් සංයුක්ත තැටියක් සමඟ පද්ධතිය ආරම්භ කර මගේ පරිගණකය සවි කර, මට දැකීමට අවශ්‍ය කොටස මත ක්ලික් කරන්න. ලිනක්ස් කොටසේ uuid අංකය පෙන්වනු ඇත.

ලිනක්ස් සීඩී ආරම්භ කිරීමෙන් පසු ලිනක්ස් ඩිස්ක් උපයෝගීතාව ක්‍රියාත්මක කිරීමෙන් ඔබට ඩිස්ක් යූයිඩ් දැකිය හැකිය.


"මගේ පරිගණක සවිකිරීම" යනු කුමක්ද? “ලිනක්ස් ඩිස්ක් උපයෝගීතාව” යනු කුමක්ද?
Xen2050

0

මෙම අවස්ථා වලදී ඔබ / dev / disk / by-partuuid පරීක්ෂා කළ යුතුය. එක් එක් ධාවකයේ PARTUUID / dev / sdb1 යනාදී ප්‍රවේශයට සිතියම් ගත කරන සිම්ලින්ක් ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.