Assumindo aqui o que você está se referindo é o hostid unix tradicional. Se eu quisesse ligar software a um sistema eu usaria um dongle ou algum meio mais strong para identificar um sistema visto como um hostid é muito arbitrário, mas mesmo assim ...
O hostid é recuperado usando a chamada da biblioteca "gethostid". É meramente um valor genérico que, se não for definido, será baseado no endereço ipv4 do sistema host.
Veja "man 2 gethostid"
In the glibc implementation, if gethostid() cannot open the file containing the host ID, then it obtains the hostname using gethostname(2), passes that hostname to gethostbyname_r(3) in order to obtain the host's IPv4 address, and returns a value obtained by bit-twiddling the IPv4 address. (This value may not be unique.)
Você pode configurá-lo para o que quiser, colocando o arquivo / etc / hostid no lugar com o valor que deseja (presumivelmente é o mesmo que o resultado do programa 'hostid' na sua caixa de doação).
Para configurá-lo é um pouco complicado. o arquivo requer uma representação binária compactada do hostid.
Eu usei python, mas você pode fazer o que quiser .. (certeza de que alguém sabe um meio mais fácil de imprimir bytes compactados).
from struct import pack
f = open('/etc/hostid', 'w')
f.write(pack('i', 12345))
f.close()
Isto irá definir o hostid de uma forma pela qual gethostid retornará o mesmo valor da caixa de doação que a caixa de migração.