Bir dosya sisteminin UUID'sini nasıl bulabilirim? | m24sniperweaponsystem.com
Ubuntu'yu çalıştırıyorum ve öğrenmek istiyorum. UUID Belirli bir dosya sisteminin (bölüm değil). Biliyorum kullanabiliyorum e2label /dev/sda1 dosya sistemi etiketini bulmak için, ancak bulmak için benzer bir yol var gibi görünmüyor UUID.
Bütün cevaplar için teşekkürler, hepsini farklı durumlarda kullanacağımdan eminim. - Brad Gilbert
Başlığın, "Bir bölümün UUID'sini nasıl bulabilirim" şeklinde kullanıldığını unutmayın. Bu soru sadece bir GPT bölüm tablosu kullanırken anlamlıdır. İşte bu soruya bir cevap. - Alastair Irvine
Mevcut olabilecek ve bu konuda oldukça iyi çalışan başka bir komut 'blkid'. E2fsprogs paketinin bir parçası. Kullanım örnekleri:
/ Dev / sda1'deki verilere bakın:
Tüm bölümler için UUID verilerini göster:
Tüm bölümler için UUID verilerini daha kolay okunan formatta göster: (Not: daha yeni sürümlerde, blkid -L farklı bir anlamı vardır, ve blkid -o list bunun yerine kullanılmalıdır)
/ Dev / sda1 için sadece UUID'yi ve başka hiçbir şeyi göster:
Ubuntu bilgisayarımda sudo kullanmam gerekmiyor. - Brad Gilbert
Sadece yazarak blkid, tam olarak istediğimi aldım, ama tam olarak istediğim şeyi değil. (Yine de kabul ediyorum çünkü çoğu zaman kullanacağımdan eminim) - Brad Gilbert
Ubuntu'nun daha yeni sürümlerinde eşdeğer komut blkid -L şimdi blkid -o list; -L seçeneği olarak değiştirildi -L label belirtilen etiketi kullanan bir cihaza bakmak. - aculich
@aculich Son sözdizimini içerecek şekilde cevabı güncelledim blkid. Bahsettiğin için teşekkürler. - Christopher Cashell
Mükemmel, hiç bilemedim blkid; Ben her zaman yaptım ls -l /dev/disk/by-uuid. Gentoo'da, blkid içinde sys-apps/util-linux - AdmiralNemo
Sadece GPT Bölünmüş Diskler İçin
GPT biçimlendirilmiş bir diskte her bölüme, muhtemelen orijinal posterin atıfta bulunmadığı bir UUID biçimi olan bir GUID atanır. Bu nedenle, bu cevap orijinal sorgulayıcıya muhtemelen daha az yardımcı olur. Yine de fark edilmek için önemli bir ayrım olduğuna inanıyorum.
Bölüm 1'in GUID'sini GPT biçimlendirilmiş disk / dev / sda'nın yanı sıra bölüm etiketine ve benzeri şekilde almak için:
ya da hepsi:
Belirli bir bölümdeki dosya sisteminin köküyle önyükleme yapmak için linux kernel parametre sözdizimini kullanırsınız:
Bu durumda UUID'nin sadece başlangıcını belirtebilirsiniz - benzersiz olması için yeterli. Bu parametre daha ilkeldir ve önyükleme işleminde daha önce çekirdek tarafından anlaşılabilir.
Bunlar arasında semantik bir fark var:
Bir disk bölümleri tutar, bir bölüm bir dosya sistemi tutar, bir dosya sistemi dizinleri ve dosyaları tutar. Bazı kurulumlar ve işletim sistemleri için daha fazla katman vardır.
GUID UUID ve ilişkili etiket, bölümün içeriğini değil, bir bölümü ifade eder. Aynı diskteki yeni bir bölüm veya yeni bir diskteki bir bölümün yeni bir GUID UUID'si olacaktır. Aynı bölüm farklı bir günde bir dosya sistemini bir günde ve başka bir yerde tutabilir. Yalnızca GPT formatlı diskler için var, ancak eski bölümlenmiş diskler için değil. Burada belirtmekten genellikle daha fazla yarar yok root=/dev/sda1 veya root=8:1.
Diğer mevcut cevaplar UUID’nin dosya sistemi bazı bölümlerde. Dosya sistemi bir bütün olarak başka bir bölüme veya sabit diske kopyalanırsa, bu değer aynı kalır. Bu UUID, taşınan bir dosya sistemi bulmakta yararlıdır. Bu nedenle, bu muhtemelen çoğu insan için daha uygundur. Linux çekirdek parametresi root=UUID=87654321-4321-4321-a567-123456789012 bunu ifade eder.
inanıyorum root=LABEL= ve root=UUID= önceki kullanıcı tarafından başlatılan, benim sistemimde geçen gün gördüğüm init kodu bu parametreleri / dev / disk / by-uuid ve / dev / disk / by-etiketine çevirdim (linkler udev tarafından kullanıcı alanında oluşturulduğuna inanıyorum) sistemi).
Doğru kullanım görünüyor -i1 veya -i 1, aksine -i:1sgdisk 1.0.1 ile. - Charles Duffy
@CharlesDuffy Bu hatayı bulmak için teşekkürler. Düzeltmek için cevabı düzenledim. - John S Gruber
Bunu ext2 / ext3 / ext4 için yapmanın en kolay yolu:
Bu, dosya sisteminizin ext2, ext3 veya ext4 olarak biçimlendirilmiş olması koşuluyla çalışacaktır. Çoğu dosya sistemi bunlardan biri ama hepsi değil. Ayrıca takas bölümleri için çalışmayacaktır. Evrensel bir yol için cevabımı görün. - Hamish Downer
Bu benim durumumla sonuçlandı Couldn't find valid filesystem superblock. - Michel
Bunu yapmak için önerilen yol yapmaktır
UUID'leri kullanma hakkında daha fazla bilgi için bkz. Bu makale (ubuntu'dan yardım, ancak UUID'leri kullanarak herhangi bir Linux dağıtımında çalışmalı).
Bu soruya yapılan yorumlarda belirtildiği gibi, vol_id sizin yolunuzda olmayabilir. Ubuntu'da / sbin'de olduğu için yukarıdakiler çalışır. Fedora için ihtiyacı var gibi görünüyor
Diğer dağıtımlar başka yerlerde vol_id içeriyorsa, bir yorum gönderin ve bu cevabı ekleyeceğim.
Bu, Fedora 10 dizüstü bilgisayarımda çalışmıyor. - Eddie
Bu benimkinden çok daha iyi bir çözüm. Eddie, vol_id / lib / udev'de bulunur. mish, cevabınızı vol_id'in önündeki tam yolun önüne ekleyebilir misiniz? / lib / udev, farkında olduğum herhangi bir dağıtımda varsayılan olarak root'un yolunda değil. - Mihai Limbăşan
"/ lib / udev / vol_id / dev / sda2" çalışıyor görünüyor. Az sayıda insan yollarında / lib / udev olacaktır. - Eddie
Ubuntu bilgisayarımda, simgesel bir bağlantı var. /sbin/vol_id için /lib/udev/vol_id - Brad Gilbert
vol_id Ubuntu'dan Karmik'ten (9.10) itibaren düşmüştür, bu yüzden artık yararlı veya alakalı değildir. Oraya ulaşmak için birçok çarpıklıktan geçti. vol_id yerine koymak için bir noktada yapıldı blkid. - Alain O'Dea
UUID'yi sda1 için istediğinizi varsayarsak, şöyle bir şey deneyebilirsiniz:
Sda1'i buna göre ayarlayın. Tüm bölümler için UUID'leri almak için, grevleri ve kesintileri bırakın, bir la:
Masaüstümde sda1 için örnek çıktı:
Düzenleme: Bu çözüm, udev-> vol_id birinden daha fazla olsa da, unutmayın değil root ayrıcalıklarına gereksinim duyar, herhangi bir post-2005 veya çekirdek üzerinde çalışır ve herhangi bir kullanıcı için varsayılan olarak herhangi bir Linux dağıtımında bulunan araçlara dayanır.
Bu, yeni yeteri kadar devfs çalıştıran herhangi bir bilgisayarda çalışacaktır. - Eddie
Bu benim için çalışıyor gibi görünüyor:
Tüm UUID'leri yazdırmak için bunu da kullanabilirsiniz:
veya bu tartışmasız daha basit bir komut, yerine koyma sda1 aramak istediğiniz cihazla birlikte:
Tüm UUID'leri yazdırmak için ikinci yöntemin bir uyarlaması:
Herhangi bir dosya sistemi üzerinde çalışan betiğin temiz yolu şu şekildedir:
Veya, mountpoint (veya içindeki herhangi bir dosya) göz önüne alındığında:
Çıktı UUID, tüm UUID ve UUID'den başka bir şey değil.
Belirli bir sürücü için UUID almak için aşağıdakileri kullanabilirsiniz.
veya ekli medya için tüm UUID'leri listelemek için bunu kullanabilirsiniz.
Ubuntu 9.10 itibariyle artık geçerli değil vol_id Kaldırıldı. - Alain O'Dea
Yukarıdakiler, uzun yıllardan beri Linux sistemlerinde çalışıyor. Kusurları olabilir, bilmiyorum. Seri numarasını almayı tercih ederim ama ... bu kök dosya sisteminin UUID'sidir.
Eğer herhangi bir kimsenin root olarak (benimki gibi) olmaksızın seri numarasını elde etmek için bir yolu varsa ve Unix'in farklı sürümlerinde farklı olan "olağandışı" paketleri yüklemediyse bunu takdir ederim - her zaman bir şeyler öğrenebilir. Ve bir şeyleri karıştırdığımı bildiğim - bir dosya değil, kök dosya sistemi UUID.
BTW'nin amacı, her makine için değiştirilemeyen (disk seri numarası ve bir zamanlar çok uzun zaman önce MAC adresleri gibi) benzersiz bir sayı üretmektir.
Yazılımın tek bir makineye kodlanması için kullanılır. MAC adresi, sanal olmalarına izin verene kadar iyiydi ... bazı ahlaksız müşteriler, MAC adreslerini sabit olarak (elbette farklı ağlarda) ayarladılar ve bana ödeme yapılmasını önlediler.
AIX'de, makineyi tanımlayan bir numara almak için tek bir çağrı vardır. Donanım değişiklikleri veya yazılım güncellemelerinin gerçekleşmesi umrumda değil, bu yüzden nasıl yaptıklarını bilmiyorum. Eğer anakart değişirse, o zaman rakam değişir, o yüzden orada saklarlar. Ve bu nadiren ötesindedir.
Disk2VHD ve Hyper-V Port Yönlendirme kullanarak ESX Server'a vSphere ile bağlanın Linux Client Active Directory Kimlik Doğrulaması, yük devretme sırasında çalışmayı durdurur sudo echo “bla” >> / etc / sysctl.conf` izni reddedildi Uzak Masaüstü yalnızca eski istemcilerle çalışır SID geçmişini kullanarak iki grup birleştirebilir miyim? Centos7'de güvenlik duvarı kullanarak bir bağlantı noktasına erişim nasıl kaldırılır?