Bilgisayar adı nasıl alınır (ana bilgisayar adı değil)?


20

Aramalarımın tüm sonuçları, hostnameveya ile ilgili bir şeye sahip uname -n. Her ikisi de, sinsi seçenekleri arayan, ancak şans için el kitabı baktı.

scutil --get ComputerNameLinux sistemlerinde OSX'lerin eşdeğerini bulmaya çalışıyorum . Mac OS X'te bilgisayar adı, bilgisayar için okunabilir bir tanımlayıcı olarak kullanılır; çeşitli yönetim ekranlarında gösterilir ( ör. , envanter yönetimi, Bonjour tabanlı uzaktan erişim, ...) ve varsayılan ana bilgisayar adı olarak işlev görür (boşlukları işlemek için filtrelemeden sonra vb.).


Yanlış olabilirim, ancak bilgisayarın adını ağ adı olarak tanımlamak, sabit bir adı olmadığı anlamına gelir, değil mi? Bir makineye Linux veya OSX yüklediğinizde, genellikle bu bilgisayar için bir ad seçersiniz (varsayılan ağ adıdır). Örneğin, dizüstü bilgisayarım "FooBar" olarak adlandırılabilir, ancak işteki bir ağa bağlandığımda "machine42.work.localnetwork" gibi bir ana bilgisayar adı alıyorum.
Sheljohn

@StephenKitt Kesinlikle, bunun Linux sistemlerinde başka bir adı var mı?
Sheljohn

4
@ Sh3ljohn bilgisayar adı osx'ın hangi amaca hizmet eder? Linux sisteminde eşdeğer olduğunu düşünmüyorum.
Bibek_G

Bu bilgisayarı yüklerken ana bilgisayar adı dışında bir ad verdiniz mi? / Etc içinde bu adı aramayı deneyin:grep -ri 'name' /etc
ptman

@Bibek_G Bunu, bir yazılımımdan çalıştırdığım makineyi tanımlamak için kullanmak istiyorum. UUID yetersizdir çünkü aynı diskte aynı makinede çalışan birkaç işletim sistemi olabilir.
Sheljohn

Yanıtlar:


31

Linux çalıştıran bir bilgisayarın insan tarafından okunabilir (ve insan tarafından seçilen) adına en yakın eşdeğer, saklanan varsayılan ana bilgisayar adıdır /etc/hostname. Bazı (hepsi değil) Linux dağıtımlarında, bu ad yükleme sırasında bilgisayarın adı olarak girilir (ancak Mac OS X'in bilgisayar adından farklı olarak ağ ana bilgisayar adı kısıtlamalarıyla).


Ama bu dosya genellikle sette için kullanılır hostnameve uname -nve Sh3ljohn açıkça bu iki komutların çıktısını kaçınmak istedi @.
roaima

17

Açıkçası, Linux'ta ağ ile ilgili olmayan "bilgisayar adı" diye bir şey yoktur ve aslında ağda olmayan bilgisayarları adlandırmanın amacını göremiyorum.

Bilgisayarınız farklı dizeleri vardır sebebi /etc/hostname, /etc/hostsve uname -nDHCP protokolü yeni ana bilgisayara bir IP adresi ile birlikte bir hostname sağlamak için tesisler olmasıdır. "machine42.work.localnetwork", DHCP sunucusunun seçeceği bir ada benziyor. Bu dize daha sonra kaydedilir ve gethostnameçağrılarla döndürülür .

Ayrıca bakınız:

Bilgisayar adını nasıl değiştirebilirim? (tl; dr echo computername > /etc/hostname) - kurulum sırasında bir isim seçtiğinizde olan budur.

Yeniden başlatmadan ana makine adını nasıl değiştirebilirim? (tl; dr hostname computername) - ana bilgisayar adıyla bir DHCP kirası aldığınızda olan budur.


"Açıkçası, Linux'ta ağ ile ilgili olmayan" bilgisayar adı "diye bir şey yoktur - Hizmete bağlı değil mi? Örneğin, Windows eşdeğerinin NetBIOS adı olduğunu düşünüyorum. Etki alanı bölümleri olmayan kolay addır ve bir etki alanı adının ana bilgisayar bölümünden farklı olabilir (tam olarak nitelenmiş veya edilmemiş).

NetBIOS adı, bir etki alanı adından farklı olsa bile hala bir ağ adıdır.
Dmitry Grigoryev

16

sudo dmidecode | grep -A3 '^System Information'Komutu kullanabilirsiniz . Bu komut, BIOS ve donanımdan bilgileri okur. Makinemden bir örnek:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

Kaynaklar: [1]


Aradığımın bu olduğunu düşünmüyorum; bu, yönetici hakları gerektirir ve işletim sistemini bu makineye yüklediğinizde kullanıcı tarafından seçilen bir ad hakkında değil, donanım hakkında bilgi verir.
Sheljohn

13
kullanıcı tarafından seçilen ad? bana hostname gibi geliyor.
Bibek_G

2
Üzgünüm, yanlış anladım. Yine de cevabı bırakacağım. Bildiğim Linux dağıtımlarını kullanarak seçilen tek kullanıcı ana bilgisayar adıdır.
jschlichtholz

@Bibek_G Bu yüzden sorumun cevabını bulamıyorum, OSX'te bunlar iki farklı şey. Bu makineye Linux kurduğumda girdiğim adı arıyorum, varsayılan ağ adı olacağını varsayıyorum.
Sheljohn

@jschlichtholz Tabii ki, bu cevap başka biri için yararlı olabilir, ama Bibek_G'ye söylediğim gibi, o zaman varsayılan ağ adı ne olabilir arıyorum.
Sheljohn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.