Dee*_*put 532 hostname restart
我想更改操作系统主机名,但不想重新启动。
我已经编辑过,/etc/hostname
但它需要重新启动才能实施。如何避免这种情况?
jas*_*ado 673
这很简单。只需单击齿轮图标(位于屏幕右上角),打开“关于这台计算机”屏幕(位于齿轮图标)并编辑“设备名称”。
或者,在终端中,使用以下命令:
sudo hostname your-new-name
Run Code Online (Sandbox Code Playgroud)
这会将主机名设置为 your-new-name,直到您重新启动。请参阅man hostname
以及如何更改计算机名称?了解更多信息。不要_
以您的名义使用。
笔记
重新启动/etc/hostname
后将使用您的更改,因此(正如您在问题中所说),您仍然应该使用
sudo -H gedit /etc/hostname
Run Code Online (Sandbox Code Playgroud)
(或其他一些编辑器)以便该文件包含主机名。
要测试文件设置是否正确,请运行:
sudo service hostname start
Run Code Online (Sandbox Code Playgroud)
您还应该编辑/etc/hosts
和更改以下行:
127.0.1.1 your-old-hostname
Run Code Online (Sandbox Code Playgroud)
以便它现在包含您的新主机名。(这是必需的,否则许多命令将停止运行。)
mur*_*uru 301
该hostnamectl
命令是桌面版和服务器版默认安装的一部分。
它结合了通过hostname
命令设置主机名和编辑/etc/hostname
. 除了设置静态主机名外,它还可以设置“漂亮”的主机名,这在 Ubuntu 中没有使用。不幸的是,编辑/etc/hosts
仍然必须单独进行。
hostnamectl set-hostname new-hostname
Run Code Online (Sandbox Code Playgroud)
这个命令是systemd-services
包的一部分(从 Ubuntu 14.04 开始,它还包括timedatectl
和localectl
命令)。随着 Ubuntu 迁移到systemd
,这个工具是未来。
One*_*ero 64
在 ubuntu 中更改主机名或计算机名而无需重新启动
编辑 /etc/hostname 并更改为新值,
nano /etc/hostname
Run Code Online (Sandbox Code Playgroud)
编辑 /etc/hosts 并将旧的 127.0.1.1 行更改为您的新主机名
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Run Code Online (Sandbox Code Playgroud)
注意:我已经在论坛上阅读过 > 编辑 /etc/hosts 并将旧的 127.0.1.1 行更改为您的新主机名(如果您不这样做,您将无法再使用 sudo。如果您已经这样做了,在 grub 菜单上按 ESC,选择恢复,然后将您的主机文件编辑为正确的设置)
现在重新启动后,您的主机名将是您选择的新主机名
要在不重新启动的情况下进行更改,您可以在编辑 /etc/hostname 后使用 hostname.sh。您必须将两个主机名都保存在 /etc/hosts (127.0.0.1 newhost oldhost) 中,直到您执行以下命令:
sudo service hostname start
Run Code Online (Sandbox Code Playgroud)
注意:以上命令使更改生效。保存在此文件 (/etc/hostname) 中的主机名将在系统重新启动时保留(并将使用相同的服务进行设置)。
Moh*_*Gh. 44
默认名称是在安装 Ubuntu 时设置的。通过编辑主机和主机名文件,您可以在桌面和服务器中轻松将其更改为您想要的任何内容。下面是方法:
sudo hostname NEW_NAME_HERE
这将更改主机名,直到下次重新启动。更改不会立即在您当前的终端中可见。启动一个新终端以查看新主机名。
要永久更改名称,请运行命令来编辑主机文件:
sudo -H gedit /etc/hostname
和 sudo -H gedit /etc/hosts
对于Ubuntu的服务器没有GUI,运行sudo vi /etc/hostname
和sudo vi /etc/hosts
和编辑他们一个接一个。在这两个文件中,将名称更改为您想要的名称并保存它们。
最后,重新启动计算机以应用更改。
Pie*_*erz 20
虽然上述方法(hostnamectl
、etc/hostname
等)适用于立即更改主机名,但随着cloud-init的出现- 它可以控制主机名的设置 - 以及许多其他事情。因此,如果安装了 cloud-init,它不会在重新启动后粘住。如果您希望更改在重新启动后保留,那么您需要编辑cloud-init 配置文件,禁用 cloud-init 的主机名设置/更新模块:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
Run Code Online (Sandbox Code Playgroud)
或完全禁用 cloud-init:
sudo touch /etc/cloud/cloud-init.disabled
Run Code Online (Sandbox Code Playgroud)
Luc*_*cas 17
这是一个以规定方式更改主机名的脚本。它不仅可以确保sudo
X11 应用程序继续运行,而无需重新启动。
用法: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
Run Code Online (Sandbox Code Playgroud)
Tom*_*art 14
无需重启:
/etc/hostname
/etc/hosts
相应sudo sysctl kernel.hostname=mynew.local.host
检查您当前的主机名 hostname -f
要获取您当前的主机名:
cat /etc/hostname
Run Code Online (Sandbox Code Playgroud)
这可以在任何文本编辑器中更改。您还需要针对 /etc/hosts 中的 127.0.0.1 更新除 localhost 以外的条目。
对原始发帖者问题的经典回答是,一旦编辑了/etc/hostname
,就可以通过以 root 身份运行带有( ) 选项的hostname(1)来应用它,而无需重新启动:-F
--file
sudo hostname -F /etc/hostname
Run Code Online (Sandbox Code Playgroud)
二十多年来,处理上述程序的主机名(5)在 Debian 及其衍生版本中一直是相同的,提供它的软件包已被标记为Essential和required,并且 IIRC 的初始化脚本实际上使用了相同的东西几十年了(仍然包含它),所以我不得不说我真的很困惑为什么没有人提到这一点:)/etc/hostname
/etc/init/hostname.conf
归档时间: |
|
查看次数: |
999455 次 |
最近记录: |