it-swarm-tr.com

linux: Sistemimdeki kullanılabilir tüm diskler için tüm UUID'leri nasıl görüntüleyebilirim?

Benim /etc/fstab şunu içerir:

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

Bu sistemde başka diskler de vardır ve tüm diskler doğru konuma monte edilmemektedir (Örneğin,/dev/sda1 ve/dev/sdb1 bazen ters çevrilebilir).

Sistemimdeki tüm diskler için UUID'leri nasıl görebilirim? Bu sistemdeki üçüncü disk için UUID'yi görebilir miyim?

177
Stefan Lasiewski

İçinde /dev/disk/by-uuid her bir sürücünün UUID'sini /dev (Örneğin. /dev/sda1)

155
Michael Mrozek

blkid adlı bir araç var (bunu root olarak veya Sudo ile kullanın),

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

daha fazla bilgi için bu bağlantı kontrol edebilirsiniz

186
setzamora

Kullanılacak en iyi komut lsblk -f. Aynı sürücüde LVM, crypto_LUKS veya birden fazla birim grubu kullanılması durumunda tüm cihazları ve bölümleri, nasıl monte edildiklerini (varsa) ve ağaçların yapısını listeler.

46
John Rea

Belirli bir disk aygıtının yalnızca UUID değerini almak için (örneğin bir komut dosyasında kullanılacak) şunları kullanabilirsiniz:

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

nerede /dev/sdXY cihazın adıdır.

14

Bu benim için çalışıyor:

ls -la /dev/disk/by-uuid

Bölümün ne tür olduğunu kontrol etmek istiyorsanız, şunu kullanın:

df -Th

ve ext3 veya ext2'niz olup olmadığını gösterecektir. Bugün bana yardımcı oldu çünkü biçimlendirilmiş bir ext2 bölümü vardı ve ext3 olduğunu düşündüm, bu da bağlantının başarısız olmasına neden oldu.

11
MIrra
lsblk -o +uuid,name

İle -o (--output) Öğesine eklenebilecek tüm çıktıları görebilirsiniz.

lsblk --help

Ayrıca bu işi yapacak

# blkid
7
Nico Rodsevich

Önceki yanıtlar birden fazla cihazda veya aynı UUID'leri olan cihazlarda çalışmaz.

Bunu dene:

Sudo blkid /dev/sd*
2
Kevin

Aşağıdaki komut satırıyla UUID artı bölümlerle eşleştirmeyi görebilirsiniz.

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
1

Seninle aynı problemim var: /dev/sd** yeniden başlattıktan sonra:

Tabii ki tüm otomatik montajlarım /etc/fstab, LABEL veya UUID tarafından referans verildiğinden, temelde bunun için bir sorun yoktur. Ve yukarıdaki tüm komutlar, blkid veya lsblk, bu tür bilgileri verir.

Ancak sorun, benim durumumda olduğu gibi, RAW modunda, şu anda önyüklenen sistem bakış açısından kullandığınızda başlar: örneğin: bölüm: VirtualBox için bir sanal disk yapmak için ham aygıt olarak kullanılır (yani bu bölüme başvuru şuna benzer: /dev/sdf3) veya bölüm iSCSI için bir LUN yapmak için ham aygıt olarak kullanılır (bu nedenle bu bölüme başvuru şuna benzer: /dev/sdc6)

Öyleyse şimdi önyüklemede, örneğin rc.local'da, güvenilir bir şekilde bulmak zorundasınız, /dev/sdXX özel RAW bölümünün cihazını açın ve bazı dosyaları uyarlayın:

ÖRNEK 1

Bu ham diskin VirtualBox diski * .vmk açıklaması, kısmen şöyle:

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

ve sonra VirtualBox hizmetini yeniden başlatın

ÖRNEK 2

tgtd yapılandırmasında bir hedef: target0 /dev/sdd6 oluşturma zamanında. Yeniden başlattıktan sonra aynı bölümü yeniden adlandırırsınız /deb/sdc6 Bu çıkarılabilir bir disk, USB veya eSATA ile olur! Peki yeni cihazı otomatik olarak nasıl bulabilirim? Yine /etc/rc.d/rc.local içinde

Bu durumda, yeni cihaz adının ne olduğunu bulmak için güvenilir bir şekilde ihtiyacımız var. GPT bölümü, GPT tablosunda yazılmış herhangi bir GPT bölümü için benzersiz GUID) sunar.

gdisk bu bilgiyi listeleme modu ile sağlamaz, sadece aşağıdakilerle etkileşimli modda sağlar: i komutu. Neyse ki, blkid bunu yapar!

Bu nedenle, tüm disklerinize bakmak için bir Shell betiği yazmanız gerekir, bu da /dev/sdXX, GUID bölüm oluşturma zamanında fark edildi.

Şuna benzer, 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

ve sonra /dev/shm/blkdevice, rc.local betiğinizde.

Bu durumlarda/dev/disk/by-partuuid öğesini kontrol etmeniz gerekir. her sürücünün PARTUUID değerini/dev/sdb1 vb. girişiyle eşleyen semboller vardır.

0
Sachin Mokashi

Bir sabit disk bölümünün uuid'ini görmek için sistemi sadece bir Linux CD ile önyüklerim ve bilgisayar montajıma gittim, tıklayın, görmek istediğim bölümü. Linux bölümünün uuid numarası görüntülenecektir.

Ayrıca, disk CD'sini Linux CD'si başlatıldıktan sonra Linux Disk yardımcı programını çalıştırarak da görebilirsiniz.

0
man puk tam