Tutti i risultati delle mie ricerche finiscono per avere qualcosa a che fare con hostname o uname -n. Ho cercato il manuale per entrambi, cercando opzioni subdole, ma senza fortuna.

Sto cercando di trovare un equivalente di OSX “s scutil --get ComputerName su sistemi Linux In Mac OS X, il nome del computer viene utilizzato come identificatore leggibile dalluomo per il computer; viene visualizzato in varie schermate di gestione ( ad esempio sulla gestione dellinventario, accesso remoto basato su Bonjour, .. .) e funge da nome host predefinito (dopo aver filtrato per gestire gli spazi, ecc.).

Commenti

  • Potrei sbagliarmi, ma definire il nome del computer come nome di rete significa che ' non ha un nome fisso, giusto? Quando installi un Linux o un OSX su una macchina, di solito scegli un nome per quel computer (che è il nome di rete predefinito presumo). Ad esempio, il mio laptop potrebbe essere denominato " FooBar " ma quando mi connetto a una rete al lavoro ottengo un nome host come " machine42.work.localnetwork ".
  • @StephenKitt Esattamente, ha un altro nome nei sistemi Linux?
  • @ Sh3ljohn a che scopo serve nomecomputer is osx? Non ' credo che ' sia equivalente nel sistema Linux.
  • Hai dato un nome diverso da nome host durante linstallazione di quel computer? Prova a cercare quel nome in / etc: grep -ri 'name' /etc
  • @Bibek_G Vorrei usarlo per identificare la macchina su cui sto eseguendo da un mio software . LUUID non è sufficiente perché potrebbero esserci più sistemi operativi ' installati sullo stesso disco che a loro volta vengono eseguiti sulla stessa macchina.

Risposta

Lequivalente più vicino a un nome leggibile (e scelto dalluomo) per un computer che esegue Linux è il nome host predefinito memorizzato in /etc/hostname. Su alcune (non tutte) distribuzioni Linux, questo nome viene immesso durante linstallazione come nome del computer (ma con vincoli di nome host di rete, a differenza del nome computer di Mac OS X).

Commenti

  • Ma questo file viene spesso utilizzato per impostare hostname e uname -n e @ Sh3ljohn voluti esplicitamente per evitare loutput di questi due comandi.

Risposta

Potresti utilizzare . Questo comando legge le informazioni dal BIOS e dallhardware. Esempio dalla mia macchina:

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

Fonti: [1]

Commenti

  • Non ' penso che questo sia quello che sto cercando; ciò richiede diritti di amministratore e fornisce informazioni sullhardware, non su un nome scelto dallutente al momento dellinstallazione del sistema operativo su quella macchina.
  • nome scelto dallutente? mi sembra un hostname.
  • Mi spiace, ho sbagliato. Lascerò comunque la risposta. Lunico nome scelto dallutente utilizzando le distribuzioni Linux che conosco è il nome host.
  • @Bibek_G Questo è il motivo per cui non posso ' trovare la risposta alla mia domanda, su OSX queste sono due cose diverse. Sto cercando il nome che ho inserito quando ho installato Linux su quella macchina, che presumo sarebbe il nome di rete predefinito.
  • @jschlichtholz Naturalmente, questa risposta potrebbe essere utile a qualcun altro, ma come io detto a Bibek_G, sto cercando quello che potrebbe essere il nome di rete predefinito allora.

Risposta

A rigor di termini , in Linux non esiste nulla come “nome computer” non correlato alla rete, e in realtà non riesco a vedere lo scopo di nominare computer che non sono sulla rete.

Il motivo per cui il tuo computer ha stringhe diverse in /etc/hostname, /etc/hosts e uname -n è che il protocollo DHCP ha strutture per fornire un nome host insieme con indirizzo IP a un nuovo host. “machine42.work.localnetwork” assomiglia esattamente al nome scelto dal server DHCP. Questa stringa viene quindi salvata e restituita dalle chiamate gethostname .

Vedi anche:

Come cambio il nome del computer? (tl; dr echo computername > /etc/hostname) – quello “s cosa succede quando si sceglie un nome durante linstallazione.

Come si cambia il nome host senza riavviare? (tl; dr hostname computername) – questo è ciò che accade quando si riceve un contratto DHCP con un nome host.

Commenti

  • " A rigor di termini, non esiste qualcosa come non correlato alla rete " nome computer " in Linux " – Doesn ' dipende dal servizio? Ad esempio, penso che lequivalente di Windows sia il nome NetBIOS. È il nome descrittivo senza le parti di dominio e potrebbe essere diverso dalla parte host di un nome di dominio (completo o meno).
  • Il nome NetBIOS è ancora un nome di rete, anche se ' è diverso da un nome di dominio.
  • tools.ietf.org/html/rfc1178 consiglia di NON per utilizzare un nome di dominio per il nome del tuo computer. Un computer può fornire un server per più nomi di dominio. In questo caso il nome host può fornire solo uno dei server.

Risposta

Le altre risposte dicono che non cè Equivalente a Linux, anche se in realtà esiste. Si chiama " Bel nome host ". Esegui il comando seguente per ottenerlo:

 hostnamectl --pretty  

Commenti

  • hostnamectl richiede SystemD. Le belle informazioni sono memorizzate in /etc/machine-info
  • +1 Penso che questa dovrebbe essere la risposta scelta. — Wikipedia dice: " Un nome host è un nome di dominio a cui è associato un record DNS. " Combinalo con tools.ietf.org/html/rfc1178 che consiglia NON usare un nome di dominio per il nome del tuo computer. Ciò significa che non dovresti nemmeno usare un nome host per il nome del tuo computer. Cosa succede quando un singolo computer cerca di eseguire due reti contemporaneamente? In questo caso il nome host non può ' essere il nome host per entrambi. hostname è chiaramente sovraccarico, cercando di essere sia un nome host DNS che un nome macchina in t lui stesso tempo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *