Hostid. O que é e existe um problema com o hostid no Ubuntu 12.04?

2

O que exatamente é o hostid? É equivalente ao endereço Hwaddr / MAC ou é um identificador exclusivo que é derivado dos endereços Hwaddr?

Estou tentando ativar o software matemático Maple, mas ele me dá um erro dizendo que o software não conseguiu determinar o hostid. Eu segui todas as instruções listadas na seguinte página de ajuda da Maplesoft, mas sem sorte até agora.

link

Quando eu coloco o hostid no Teminal, ele gera “007f0101”, o que é provavelmente incorreto. Eu li que um hostid deve produzir um identificador único para cada máquina similar ao UNIX, mas eu tentei hostid em duas instalações diferentes do Ubuntu 12.04 e ambos retornam a mesma sequência “007f0101”. Algo está errado, a menos que eu tenha entendido mal o que é um hostid.

Ah, essa instalação do Ubuntu foi feita com o instalador WUBI, portanto, tecnicamente, é um disco virtual que reside na partição do Windows. Tenho a sensação de que pode ser um problema, mas isso não muda o fato de que o hostid era o mesmo em dois computadores diferentes, um dos quais era uma instalação padrão.

Alguém tem alguma idéia de qual é o problema em relação ao hostid?

Obrigado!

    
por Dave 19.10.2012 / 23:31

2 respostas

1

hostid é o seu endereço IP em hexadecimal, bytes usados.

Por exemplo:

01234567 -> 23.01.67.45

Ou no seu caso:

007f0101 -> 7f.00.01.01  = 127.0.1.1

Qual é encontrado em /etc/hosts . Isso é normal se a sua máquina foi instalada usando um endereço atribuído DHCP .

Um hack rápido é vi /etc/hosts e colocar no seu endereço IP em vez de 127.0.1.1. Mas isso é um truque ... se o seu endereço IP mudar na próxima inicialização, seu hostid não irá mais corresponder ao seu IP.

O resultado é que o hostid é uma merda.

Atualização:

Eu escrevi meu próprio script de host em perl / shell e coloquei no caminho primeiro:

#!/usr/bin/perl -w
printf("%02x%02x%02x%02x\n",(split /\./,'ip addr list|grep " inet "|grep -v " 127.0"|head -1|cut -f1 -d/|rev|cut -f1 -d" "|rev')[1,0,3,2]);

Notavelmente, não recorre ao uso de loopback se não houver outras interfaces.

    
por TheAmigo 03.04.2014 / 19:52
0

Eu tenho três máquinas físicas, todas as três 12.04 (2 desktop, 1 server), todas as três AMD64, todas as três com o mesmo hostid "007f0101".

Parece que na implementação glibc do gethostid (veja man gethostid), o hostid é armazenado no arquivo / etc / hostid, que por padrão está ausente em 12.04. Se esse arquivo não existir, ele usará o endereço ipv4 do host local para gerar o hostid. Se você usar DHCP, no arquivo de hosts, o host local será mapeado para 127.0.0.1 em todas as máquinas, resultando em hostid's não exclusivos.

Você pode criar o arquivo / etc / hostid com conteúdo aleatório para obter um hostid exclusivo.

    
por Robert 05.11.2012 / 08:46