在linux平台上如何修改hostid

在linux平台上如何修改hostid,第1张

我们知道hostid作为一台主机的唯一标示符(hostname本身可能重复),而许多付费软件通过鉴别hostid发给相关的license.hostname的修改较为简单,只需要修改/etc/sysconfig/network中的hostname并重启即可。hostid的修改就不那么方便了,下面介绍一种方法:编辑一个c文件,是的之后你还需要修改它,就叫做host.c吧!#include <stdio.h>

#include <unistd.h>

int main() {

long id,res

// get real (default) hostid

id = gethostid()

printf("current hostid is: %x

",id)

// set new hostid if is superuser

res = sethostid(0xa090d01)//括号内填入你想要的hostid if (res == 0) printf("if result is zero - success! (%d)

",res)

printf("current hostid is: %x -PPPppppp

",id)}之后我们需要编译它[root@pmsora ~]# cc host.c[root@pmsora ~]# ./a.out //编译后运行 current hostid is: a090d01 ifresult is zero - success! (0) current hostid is: a090d01 -PPPppppp [root@pmsora ~]# hostid 0a090d01 //hostid正确修改了 注意运行编译好的目标文件时必须使用root用户。

可以不启动就生效

但为了安全目的,需要重启 systemd-hostnamed 服务来使得更改生效。

$ sudo systemctl restart systemd-hostnamed

在 Linux 中使用 nmtui 来更改主机名具体 *** 作如下:

nmtui 是一个基于 curses 库的 TUI 应用,被用来和 NetworkManager 交互。当启动 nmtui 后,如果没有指定 nmtui 的第一个命令行参数,它将提醒用户选择执行某项活动。

在终端中运行下面的命令来开启文本用户界面。

$ nmtui

使用向下箭头按键来选择 “Set system hostname” 这个选项,然后敲击回车键。

需要做的就是删除原来的主机名,再输入新的主机名,然后选中 “OK” 敲击回车确认就可以了。

然后它将在屏幕中向你展示更新后的主机名,再次选中 “OK” 敲击回车确认就完成更改了。

最后,选中 “Quit” 按钮来从 nmtui 终端界面离开。

它可以在不重启设备的情况下生效,但为了安全目的,需要重启 systemd-hostnamed 服务来使得更改生效。

$ sudo systemctl restart systemd-hostnamed

可以运行下面的命令来查看更新后的主机名。

$ hostnamectl

Static hostname: daygeek-Y700

Icon name: computer-laptop

Chassis: laptop

Machine ID: 31bdeb7b83230a2025d43547368d75bc

Boot ID: 267f264c448f000ea5aed47263c6de7f

Operating System: Manjaro Linux

Kernel: Linux 4.19.20-1-MANJARO

Architecture: x86-64


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7436025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存