Všechny výsledky mých vyhledávání mají nakonec něco společného s hostname nebo uname -n. Vyhledal jsem příručku pro oba a hledal záludné možnosti, ale bez štěstí.

Pokouším se najít ekvivalent OSX scutil --get ComputerName v systémech Linux . V systému Mac OS X se název počítače používá jako identifikátor čitelný člověkem pro počítač; je zobrazen na různých obrazovkách správy ( např. v řízení zásob, vzdálený přístup založený na Bonjour, .. .) a slouží jako výchozí název hostitele (po filtrování pro zpracování mezer atd.).

Komentáře

  • Možná se mýlím, ale definice názvu počítače jako jeho síťový název znamená, že nemá ' pevný název, že? Když instalujete Linux nebo OSX na stroj, obvykle si vyberete název tohoto počítače (což je výchozí název sítě, který předpokládám). Například můj laptop může být pojmenován " FooBar ", ale když se v práci připojím k síti, zobrazí se mi název hostitele, například " machine42.work.localnetwork ".
  • @StephenKitt Přesně tak, má to v systémech Linux jiný název?
  • @ Sh3ljohn k jakému účelu slouží název_počítače OSX? ' Nemyslím si, že v systému linux existuje ' ekvivalent.
  • Dali jste jiné jméno než název hostitele při instalaci tohoto počítače? Zkuste toto jméno vyhledat v souboru / etc: grep -ri 'name' /etc
  • @Bibek_G Chtěl bych ho použít k identifikaci stroje, na kterém běžím ze svého softwaru . UUID je nedostatečné, protože na stejném disku může být nainstalováno několik OS ' s, které zase běží na stejném stroji.

Odpověď

Nejbližší ekvivalent lidsky čitelného (a člověkem zvoleného) názvu počítače se systémem Linux je výchozí název hostitele uložený v /etc/hostname. U některých (ne všech) distribucí systému Linux se tento název zadává během instalace jako název počítače (ale s omezeními názvu hostitele v síti, na rozdíl od názvu počítače v systému Mac OS X).

Komentáře

  • Tento soubor se ale často používá k nastavení hostname a uname -n a @ Sh3ljohn výslovně chtěl vyhnout se výstupu těchto dvou příkazů.

Odpověď

Můžete použít sudo dmidecode | grep -A3 "^System Information" příkaz. Tento příkaz čte informace z BIOSu a hardwaru. Příklad z mého stroje:

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

Zdroje: [1]

Komentáře

  • Nemyslím si ', že to je to, co hledám; vyžaduje to administrátorská práva a získáte informace o hardwaru, nikoli o uživatelsky zvoleném jménu v době, kdy jste nainstalovali OS na tento stroj.
  • uživatelsky zvolené jméno? to pro mě zní jako název hostitele.
  • Omlouvám se, pomýlil jsem se. Odpověď stejně nechám. Jediným uživatelem zvoleným jménem používajícím linuxové distribuce je název hostitele.
  • @Bibek_G Z tohoto důvodu nemohu ' najít odpověď na mou otázku, na OSX, to jsou dvě různé věci. Hledám jméno, které jsem zadal, když jsem nainstaloval Linux na tento stroj, což předpokládám, že by byl výchozí název sítě.
  • @jschlichtholz Tato odpověď by samozřejmě mohla být užitečná pro někoho jiného, ale jak jsem řekl Bibek_G, hledám, jaký by mohl být výchozí název sítě.

Odpověď

Přísně vzato , v Linuxu neexistuje nic jako „počítačový název“ nesouvisející se sítí a vlastně nevidím účel pojmenování počítačů, které nejsou v síti.

Důvod, proč má váš počítač různé řetězce v /etc/hostname, /etc/hosts a uname -n je to, že protokol DHCP má zařízení k poskytnutí názvu hostitele s IP adresou na nového hostitele. „machine42.work.localnetwork“ vypadá přesně jako název, který by vybral server DHCP. Tento řetězec je poté uložen a vrácen gethostname voláními.

Viz také:

Jak změním název počítače? (tl; dr echo computername > /etc/hostname) – to je co se stane, když během instalace vyberete jméno.

Jak mohu změnit název hostitele bez restartu? (tl; dr hostname computername) – to se stane, když dostanete zapůjčení DHCP se jménem hostitele.

Komentáře

  • " Přesně řečeno neexistuje nic, co by nesouviselo se sítí. " název počítače " v systému Linux " – není ' to záleží na službě? Například si myslím, že ekvivalentem Windows je název NetBIOS. Je to popisný název bez částí domény a může se lišit od hostitelské části názvu domény (plně kvalifikovaný nebo ne).
  • Název NetBIOS je stále název sítě, i když ' se liší od názvu domény.
  • tools.ietf.org/html/rfc1178 nedoporučuje NE použít název domény pro název vašeho počítače. Jeden počítač může poskytnout server pro více doménových jmen. V tomto případě může název hostitele poskytnout pouze jeden ze serverů.

Odpověď

Podle dalších odpovědí neexistuje Linuxový ekvivalent, i když ve skutečnosti existuje. Nazývá se to " Hezký název hostitele ". Spusťte následující příkaz:

 hostnamectl --pretty  

Komentáře

  • hostnamectl vyžaduje SystemD. Pěkné informace jsou uloženy v /etc/machine-info
  • +1. Myslím, že by to měla být zvolená odpověď. — Wikipedia říká: " Název hostitele je název domény, který má přidružený záznam DNS. " Zkombinujte to s tools.ietf.org/html/rfc1178, který radí NEPOUŽÍVEJTE název domény pro název vašeho počítače. To znamená, že byste také neměli používat název hostitele pro název vašeho počítače. Co dává, když se jeden počítač pokusí spustit dvě sítě současně? V tomto případě název hostitele nemůže být ' t název hostitele pro oba. název hostitele je zjevně přetížen, snaží se být jak název hostitele DNS, tak název počítače v t on zároveň.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *