Linux 中改变主机名的 4 种方法

今天,我们将向你展示使用不同的方法来修改主机名。你可以从中选取最适合你的方法。

-- Magesh Maruthamuthu

昨天我们已经在我们的网站中写过 如何在 Linux 中修改主机名的文章 。今天,我们将向你展示使用不同的方法来修改主机名。你可以从中选取最适合你的方法。

使用 systemd 的系统自带一个名为 hostnamectl 的好用工具,它可以使我们能够轻易地管理系统的主机名。

当你使用这个原生命令时,它可以立刻改变主机名而无需重启来生效。

但假如你通过手动修改某个配置文件来更改主机名,那么就可能需要经过重启来生效。

在这篇文章中,我们将展示在使用 systemd 的系统中改变主机名的 4 种方法。

hostnamectl 命令允许在 Linux 中设置三类主机名,它们的细节如下:

  • 静态: 这是静态主机名,由系统管理员添加。
  • 瞬时/动态: 这个由 DHCP 或者 DNS 服务器在运行时赋予。
  • 易读形式: 它可以由系统管理员赋予。这个是自由形式的主机名,以一种易读形式来表示服务器,例如 “JBOSS UAT Server” 这样的名字。

这些都可以使用下面 4 种方法来设置。

  • hostnamectl 命令:控制系统主机名。
  • nmcli 命令:是一个控制 NetworkManager 的命令行工具。
  • nmtui 命令:是一个控制 NetworkManager 的文本用户界面。
  • /etc/hostname 文件:这个文件中包含系统的静态主机名。

方法 1:在 Linux 中使用 hostnamectl 来改变主机名

hostnamectl 可被用来查询和改变系统的主机名,以及相关设定。只需运行 hostnamectl 便可以查看系统的主机名了。

$ hostnamectl

或者使用下面的命令:

$ hostnamectl status

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

假如你想改变主机名,可以使用下面的命令格式:

语法格式:

$ hostnamectl set-hostname [YOUR NEW HOSTNAME]

使用下面的命令来使用 hostnamectl 更改主机名。在这个例子中,我将把主机名从 daygeek-Y700 改为 magi-laptop。

$ hostnamectl set-hostname magi-laptop

你可以使用下面的命令来查看更新后的主机名。

$ hostnamectl

Static hostname: magi-laptop

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

方法 2:在 Linux 中使用 nmcli 命令来更改主机名

nmcli 是一个命令行工具,旨在控制 NetworkManager 并报告网络状态。

nmcli 被用来创建、展示、编辑、删除、激活和注销网络连接,同时还可以用来控制和展示网络设备的状态。另外,它也允许我们更改主机名。

使用下面的命令来利用 nmcli 查看当前的主机名。

$ nmcli general hostname

daygeek-Y700

语法格式:

$ nmcli general hostname [YOUR NEW HOSTNAME]

使用下面的命令来借助 nmcli 命令可以更改主机名。在这个例子中,我将把主机名从 daygeek-Y700 变成 magi-laptop。

$ nmcli general hostname magi-laptop

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

$ sudo systemctl restart systemd-hostnamed

再次运行相同的 nmcli 命令来检查更改后的主机名。

$ nmcli general hostname

magi-laptop

方法 3:在 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

方法 4:在 Linux 中使用 /etc/hostname 来更改主机名

除了上面的方法外,我们还可以通过修改 /etc/hostname 文件来达到修改主机名的目的。但这个方法需要服务器重启才能生效。

使用下面的命令来检查 /etc/hostname 文件以查看当前的主机名:

$ cat /etc/hostname

daygeek-Y700

要改变主机名,只需覆写这个文件就行了,因为这个文件只包含主机名这一项内容。

$ sudo echo "magi-daygeek" > /etc/hostname

$ cat /etc/hostname

magi-daygeek

然后使用下面的命令重启系统:

$ sudo init 6

最后查看 /etc/hostname 文件的内容来验证主机名是否被更改了。

$ cat /etc/hostname

magi-daygeek

原文地址:https://www.cnblogs.com/wu2198/p/10595586.html

时间: 2025-01-09 03:47:01

Linux 中改变主机名的 4 种方法的相关文章

Linux中执行shell脚本的4种方法

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh). 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: ./ 的意思是说在当前的工作目录下执行hello.sh.如果不加上

RHEL7.x版本,修改主机名的3种方法

RHEL7.x不再使用/etc/sysconfig/network作为主机名的配置文件,而是改用/etc/hostname文件,那么如何在RHEL7.x中设置主机名呢?下面将介绍3种方法进行设置. 方法1:修改/etc/hostname文件,修改后,bash命令生效配置. [[email protected] /]# vim /etc/hostname [[email protected] /]# bash [[email protected] /]# 方法2:使用hostnamectl命令,修

JS获取IP、MAC和主机名的几种方法

方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000): 获取客户端IP. <HTML> <HEAD> <TITLE>GetLocalIP</TITLE> </HEAD> <BODY> 获取IP: <script language="JavaScript"> function GetLocalIPAddr(){ var oSetting = null; v

Linux中执行shell脚本的4种方法总结

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在

忘记linux中root密码怎么办?两种方法两步教你轻松搞定修改新的密码(仅限CentOS6.X)

忘记了Linux的系统管理员密码时,可以在本地通过进入单用户模式来重置root密码.两种方法(只需两步)具体步骤如下: 方法一: 在进入grub启动菜单的时候 按"a" 键操作编辑 kernel 参数后面加"single"告诉linux内核以单用户模式运行,回车启动即可.进去后,在命令行输入passwd回车,输入新的密码,重复输入,搞定.重启后输入新的密码即可登录.(注:grub界面时间很短,大概5秒,把握机会,如果不想等的话,在linux启动的时候随便按下一个键例

Linux中判断大小端的一种方法

大小端的定义无需赘言,常用的方法有使用联合体和指针法,如: int checkCPU() { union w { int a; char b; }c; c.a = 1; return (c.b == 1); // 小端返回TRUE,大端返回FALSE } 实际上Linux操作系统的源码中,其判断更为简洁: static union { char c[4]; unsigned long mylong; } endian_test = {{ 'l', '?', '?', 'b' } }; #defi

Linux中Kill掉进程的10种方法

常规篇: 首先,用ps查看进程,方法如下: 复制代码 代码如下: $ ps -ef--smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0 11:38 pts/0 00:00:02 bashsmx 1827 1 4 11:38 ? 00:26:28 /usr/lib/firefox-3.6.18/firefox-binsmx 1857

Linux中增加软路由的两种方法/删除的方法

第一种: route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0 route del gw 172.16.2.254 route del -net 172.16.86.0/24 route /* 显示当前路由表 */ 第二种: 实现的功能和上面的一样 ip route add 172.16.6.0/24 via 172.16.2.254 dev eth0 ip route del gw 172.16.2.2

Linux中查看IP地址的9种方法

[[email protected] ~]# ifconfig eth0      Link encap:Ethernet  HWaddr DA:DE:BE:41:89:18 inet addr:192.168.150.53  Bcast:192.168.150.255  Mask:255.255.255.0 inet6 addr: fe80::d8de:beff:fe41:8918/64 Scope:Link UP BROADCAST RUNNING MULTICAST  MTU:1500