Todos os resultados das minhas pesquisas acabam tendo algo a ver com hostname
ou uname -n
. Eu pesquisei o manual de ambos, procurando opções sorrateiras, mas sem sorte.
Estou tentando encontrar um equivalente do OSX “s scutil --get ComputerName
em sistemas Linux . No Mac OS X, o nome do computador é usado como um identificador legível para o computador; ele é mostrado em várias telas de gerenciamento ( por exemplo, em gerenciamento de inventário, acesso remoto baseado em Bonjour, .. .) e serve como o nome do host padrão (depois de filtrar para lidar com espaços etc.).
Comentários
Resposta
O equivalente mais próximo a um nome legível (e escolhido por humanos) para um computador executando Linux é o nome de host padrão armazenado em /etc/hostname
. Em algumas (não todas) distribuições Linux, este nome é inserido durante a instalação como o nome do computador (mas com restrições de nome de host de rede, ao contrário do nome de computador do Mac OS X).
Comentários
- Mas este arquivo é frequentemente usado para definir
hostname
euname -n
, e @ Sh3ljohn explicitamente desejado para evitar a saída desses dois comandos.
Resposta
Você pode usar o . Este comando lê informações do BIOS e do hardware. Exemplo da minha máquina:
System Information Manufacturer: LENOVO Product Name: 20BHA06YGB Version: ThinkPad W540
Fontes: [1]
Comentários
- Não ' acho que é isso que estou procurando; isso requer direitos de administrador e fornece informações sobre o hardware, não sobre um nome escolhido pelo usuário no momento em que você instalou o sistema operacional nessa máquina.
- nome escolhido pelo usuário? isso soa como nome do host para mim.
- Desculpe, entendi errado. Vou deixar a resposta de qualquer maneira. O único nome escolhido pelo usuário usando as distribuições Linux que conheço é o nome do host.
- @Bibek_G É por isso que não consigo ' encontrar a resposta para minha pergunta, em OSX são duas coisas diferentes. Estou procurando o nome que digitei quando instalei o Linux nessa máquina, que presumo ser o nome de rede padrão.
- @jschlichtholz Claro, esta resposta pode ser útil para outra pessoa, mas como eu disse a Bibek_G, estou procurando qual pode ser o nome de rede padrão.
Resposta
Estritamente falando , não existe “nome de computador” não relacionado à rede no Linux e, na verdade, não consigo ver o propósito de nomear computadores que não estão na rede.
A razão pela qual seu computador tem strings diferentes em /etc/hostname
, /etc/hosts
e uname -n
é que o protocolo DHCP tem recursos para fornecer um nome de host junto com endereço IP para um novo host. “machine42.work.localnetwork” parece exatamente com um nome que o servidor DHCP escolheria. Essa string é salva e retornada por chamadas gethostname
.
Veja também:
Como altero o nome do computador? (tl; dr echo computername > /etc/hostname
) – esse “s o que acontece quando você escolhe um nome durante a instalação.
Como altero o nome do host sem reiniciar? (tl; dr hostname computername
) – isso é o que acontece quando você obtém uma concessão de DHCP com um nome de host.
Comentários
- " Estritamente falando, não existe algo como não relacionado à rede " nome do computador " no Linux " – Doesn ' Não depende do serviço? Por exemplo, acho que o equivalente do Windows é o nome NetBIOS. É o nome amigável sem as partes do domínio e pode ser diferente da parte do host de um nome de domínio (totalmente qualificado ou não).
- O nome NetBIOS ainda é um nome de rede, mesmo se ' s diferente de um nome de domínio.
- tools.ietf.org/html/rfc1178 aconselha NÃO para usar um nome de domínio para o nome do seu computador. Um computador pode fornecer um servidor para vários nomes de domínio. Neste caso, o nome do host pode fornecer apenas um dos servidores.
Resposta
As outras respostas dizem que não há Equivalente do Linux, embora realmente exista. Chama-se " Pretty hostname ". Execute o seguinte comando para obtê-lo:
hostnamectl --pretty
Comentários
-
hostnamectl
requer SystemD. A informação bonita é armazenada em/etc/machine-info
- +1 Acho que esta deve ser a resposta escolhida. — Wikipedia diz: " Um nome de host é um nome de domínio que possui um registro DNS associado. " Combine isso com tools.ietf.org/html/rfc1178 que informa NÃO usar um nome de domínio para o nome do seu computador. Isso significa que também não se deve usar um nome de host para o nome do seu computador. O que acontece quando um único computador tenta executar duas redes ao mesmo tempo? Neste caso, o nome do host não pode ' ser o nome do host de ambos. hostname está claramente sobrecarregado, tentando ser um nome de host DNS e um nome de máquina em t ao mesmo tempo.
grep -ri 'name' /etc