如何在 CentOS 6.5 上更改主机名?

Red*_*ket 54 hostname centos

我似乎无法更改 CentOS 6.5 主机上的主机名。我正在按照我在此处找到的说明进行操作:http : //www.rackspace.com/knowledge_center/article/centos-hostname-change

/etc/hosts是这样设置的...

    [root@mig-dev-006 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain 
    192.168.32.128  ost-dev-00.domain.com ost-dev-00
    192.168.32.129  ost-dev-01.domain.com ost-dev-01
Run Code Online (Sandbox Code Playgroud)

......然后我/etc/sysconfig/network像这样制作我的文件......

    [root@mig-dev-006 ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=ost-dev-00.domain.com
    NTPSERVERARGS=iburst
Run Code Online (Sandbox Code Playgroud)

……那我就这样跑hostname……

    [root@mig-dev-006 ~]# hostname ost-dev-00.domain.com
Run Code Online (Sandbox Code Playgroud)

...然后我运行 bash,一切似乎都很好......

    [root@mig-dev-006 ~]# bash
Run Code Online (Sandbox Code Playgroud)

...但是当我重新启动网络时,旧的主机名又回来了:

    [root@ost-dev-00 ~]# /etc/init.d/network restart
    Shutting down interface eth0:  Device state: 3 (disconnected)
                                                               [  OK  ]
    Shutting down loopback interface:                          [  OK  ]
    Bringing up loopback interface:                            [  OK  ]
    Bringing up interface eth0:  Active connection state: activating
    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/6
    state: activated
    Connection activated
                                                               [  OK  ]
    [root@ost-dev-00 ~]# bash
    [root@mig-dev-006 ~]# 
Run Code Online (Sandbox Code Playgroud)

……我想不通。我在这里做错了什么。

Nid*_*dal 74

要永久更改主机名,您需要在两个地方更改它:

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=newHostName
Run Code Online (Sandbox Code Playgroud)

并且:如果您有任何需要解析主机名 IP 的应用程序,这是一个好主意)

vi /etc/hosts 
127.0.0.1 newHostName
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
Run Code Online (Sandbox Code Playgroud)

进而

 rebooting the system
Run Code Online (Sandbox Code Playgroud)

  • 在这两个更改末尾添加`hostname newHostName`,我认为没有必要重新启动 (7认同)
  • 似乎不需要编辑 /etc/hosts 文件 (4认同)
  • 我认为正确的答案应该可以作为问题的答案。只要答案说 OP 正确配置了它但没有执行加载新配置所需的操作(例如重新启动),重复问题中的数据就很好。 (3认同)
  • 答案已被接受,但首先,`/etc/hosts` 更改只是为了使主机名可解析,而不是更改它,并且 `/etc/sysconfig/network` 看起来与 OP 中的相同。任何人都可以解释 OP 究竟需要改变什么才能使其工作? (2认同)
  • 不需要重启。检查 strace -f 主机名等等。内核立即收到消息。/etc/hosts 不影响主机的主机名,至少在 CentOS 6.5(和 7)中。这个答案是不正确的,因为它缺少主机名命令,该命令通知内核其主机名。 (2认同)

小智 65

CentOS 7 的解决方案可以在这里找到:

hostnamectl set-hostname <new hostname>
Run Code Online (Sandbox Code Playgroud)

  • 问题是关于 CentOS 6.5。CentOS 7 是一个完全不同的野兽,这个答案不属于这里。 (6认同)
  • “hostnamectl”是我在 CentOS Linux 7.2.1511 版上唯一可行的解​​决方案 (3认同)

Vis*_*a k 20

您可以使用单个命令更改主机名。

  • 命令:hostname- 显示旧主机名
  • 命令:hostname <new name>-this 设置新的主机名

例子

$ hostname mynewhost
Run Code Online (Sandbox Code Playgroud)

用于在重启后保留新主机名

编辑 /etc/sysconfig/network文件如下所示

NETWORKING=yes
HOSTNAME=myhostanme
Run Code Online (Sandbox Code Playgroud)

视频帮助


qua*_*oft 6

除了已为 CentOS 6.5 提供的答案外,

CentOS 7还有一个基于文本的用户界面工具来更改主机名和其他网络设置),这是网络管理器的一部分:

nmtui
Run Code Online (Sandbox Code Playgroud)

启动此用户界面:

在此处输入图片说明

它可以选择Set system hostname.

NetworkManager 的文本用户界面默认安装在 CentOS-7-x86_64-DVD-1511.iso 镜像中,基本安装。如果你的没有它,你可以使用以下命令安装它:

yum install NetworkManager-tui
Run Code Online (Sandbox Code Playgroud)