¿Cómo obtener el nombre de la computadora (no su nombre de host)?


19

Todos los resultados de mis búsquedas terminan teniendo algo que ver con hostnameo uname -n. Busqué el manual para ambos, buscando opciones furtivas, pero no tuve suerte.

Estoy tratando de encontrar un equivalente de OSX scutil --get ComputerNameen sistemas Linux. En Mac OS X, el nombre de la computadora se usa como un identificador legible para la computadora; se muestra en varias pantallas de administración ( por ejemplo, en administración de inventario, acceso remoto basado en Bonjour, ...) y sirve como el nombre de host predeterminado (después de filtrar para manejar espacios, etc.).


Podría estar equivocado, pero definir el nombre de la computadora como su nombre de red significa que no tiene un nombre fijo, ¿verdad? Cuando instala un Linux u OSX en una máquina, generalmente elige un nombre para esa computadora (que es el nombre de red predeterminado que supongo). Por ejemplo, mi computadora portátil podría llamarse "FooBar", pero cuando me conecto a una red en el trabajo obtengo un nombre de host como "machine42.work.localnetwork".
Sheljohn el

@StephenKitt Exactamente, ¿esto tiene otro nombre en los sistemas Linux?
Sheljohn el

44
@ Sh3ljohn ¿para qué sirve computername osx? No creo que haya ningún equivalente en el sistema Linux.
Bibek_G

¿Le dio otro nombre que no sea hostname al instalar esa computadora? Intente buscar ese nombre en / etc:grep -ri 'name' /etc
ptman

@Bibek_G Me gustaría usar esto para identificar la máquina en la que me estoy ejecutando desde un software mío. UUID es insuficiente porque puede haber varios SO instalados en el mismo disco que a su vez se ejecutan en la misma máquina.
Sheljohn el

Respuestas:


31

El equivalente más cercano a un nombre legible por humanos (y elegido por humanos) para una computadora con Linux es el nombre de host predeterminado almacenado en /etc/hostname. En algunas (no todas) distribuciones de Linux, este nombre se ingresa durante la instalación como el nombre de la computadora (pero con restricciones de nombre de host de red, a diferencia del nombre de la computadora Mac OS X).


Pero este archivo se usa a menudo para establecer hostnamey uname -n, y @ Sh3ljohn quería explícitamente evitar la salida de esos dos comandos.
roaima

17

Estrictamente hablando, no hay tal cosa como un "nombre de computadora" no relacionado con la red en Linux, y en realidad no veo el propósito de nombrar las computadoras que no están en la red.

La razón por la que el equipo tiene diferentes cadenas en /etc/hostname, /etc/hostsy uname -nes que el protocolo DHCP cuenta con instalaciones para proporcionar un nombre de host junto con la dirección IP a un nuevo huésped. "machine42.work.localnetwork" se ve exactamente como un nombre que el servidor DHCP elegiría. Esta cadena se guarda y se devuelve mediante gethostnamellamadas.

Ver también:

¿Cómo cambio el nombre de la computadora? (tl; dr echo computername > /etc/hostname): eso es lo que sucede cuando eliges un nombre durante la instalación.

¿Cómo cambio el nombre de host sin reiniciar? (tl; dr hostname computername): eso es lo que sucede cuando obtienes una concesión de DHCP con un nombre de host.


"Hablando estrictamente, no hay tal cosa como" nombre de computadora "no relacionado con la red en Linux" - ¿No depende del servicio? Por ejemplo, creo que el equivalente de Windows es el nombre de NetBIOS. Es el nombre descriptivo sin las partes del dominio, y puede ser diferente de la parte del host de un nombre de dominio (totalmente calificado o no).

El nombre NetBIOS sigue siendo un nombre de red, incluso si es diferente de un nombre de dominio.
Dmitry Grigoryev

16

Podrías usar el sudo dmidecode | grep -A3 '^System Information'comando. Este comando lee información del BIOS y el hardware. Ejemplo de mi máquina:

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

Fuentes: [1]


No creo que esto sea lo que estoy buscando; esto requiere derechos de administrador y le brinda información sobre el hardware, no sobre el nombre elegido por el usuario en el momento en que instaló el sistema operativo en esa máquina.
Sheljohn el

13
nombre elegido por el usuario? eso me suena a nombre de host.
Bibek_G

2
Lo siento, me equivoqué. Dejaré la respuesta de todos modos. El único nombre elegido por el usuario que usa las distribuciones de Linux que conozco es el nombre de host.
jschlichtholz

@Bibek_G Es por eso que no puedo encontrar la respuesta a mi pregunta, en OSX estas son dos cosas diferentes. Estoy buscando el nombre que ingresé cuando instalé Linux en esa máquina, que supongo que sería el nombre de red predeterminado.
Sheljohn el

@jschlichtholz Por supuesto, esta respuesta podría ser útil para otra persona, pero como le dije a Bibek_G, estoy buscando cuál podría ser el nombre de red predeterminado en ese momento.
Sheljohn el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.