V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ericgui
V2EX  ›  Linux

请教一个 hostname 的问题:怎样在 CentOS 6.8 里更改 hostname?

  •  
  •   ericgui · 2016-10-20 16:13:31 +08:00 · 6161 次点击
    这是一个创建于 2981 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的 shell 一直显示是 root@localhost
    然后昨天我不知道做了什么,结果我的 shell 就成了 root@bogon
    用命令 hostname ,显示: bogon
    但用 cat /etc/sysconfig/network 看了
    结果是:
    NETWORKING=yes
    HOSTNAME=localhost
    用 cat /etc/hosts
    显示:
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost4.localdomain6

    我查了半天, google 半天,都是说要改 HOSTNAME
    这 TM 本来 HOSTNAME 就是 localhost ,这个咋办?

    求高人帮助,谢谢!
    20 条回复    2016-10-21 20:09:46 +08:00
    ppwangs
        1
    ppwangs  
       2016-10-20 16:53:09 +08:00
    /etc/hostname
    ppwangs
        2
    ppwangs  
       2016-10-20 16:54:20 +08:00
    $ hostname --help
    Usage: hostname [OPTION...] [NAME]
    Show or set the system's host name.

    -a, --aliases alias names
    -d, --domain DNS domain name
    -f, --fqdn, --long DNS host name or FQDN
    -F, --file=FILE set host name or NIS domain name from FILE
    -i, --ip-addresses addresses for the host name
    -s, --short short host name
    -y, --yp, --nis NIS/YP domain name
    -?, --help give this help list
    --usage give a short usage message
    -V, --version print program version

    Mandatory or optional arguments to long options are also mandatory or optional
    for any corresponding short options.

    Report bugs to <[email protected]>.
    morven
        3
    morven  
       2016-10-20 17:00:36 +08:00 via iPhone
    直接改$PS1 ?
    holyzhou
        4
    holyzhou  
       2016-10-20 17:01:19 +08:00
    我就一句话
    你先重启下试试
    然后要了解到临时生效与永久生效的区别
    再接着 你要多啃啃鸟哥,基础打打牢
    lxf1992521
        5
    lxf1992521  
       2016-10-20 17:07:52 +08:00
    sudo sysctl -w kernel.hostname="test"

    退出 SSH 再进行登录就行了。
    ericgui
        6
    ericgui  
    OP
       2016-10-20 17:48:44 +08:00
    @ppwangs 我这样 centos6 里没这文件
    watara
        7
    watara  
       2016-10-20 18:38:26 +08:00
    /etc/sysconfig/network 里面改下,重启一下就好了吧?实在不行 在命令行里运行写“ hostname XXXX ”,不过肯定需要注销重新登录才能看到结果的
    akwIX
        8
    akwIX  
       2016-10-20 18:39:36 +08:00
    salmon5
        9
    salmon5  
       2016-10-20 20:40:33 +08:00
    1 , vim /etc/sysconfig/network
    2 , hostname xxx
    退出重新登陆。
    ericgui
        10
    ericgui  
    OP
       2016-10-20 21:15:26 +08:00
    @salmon5
    @watara 两位看看我的帖子嘛,我这个文件里,本来 HOSTNAME 就是 localhost ,仍然显示 root@bogon ,所以才实在不知道怎么解决了。。。。。
    chinabingyang
        11
    chinabingyang  
       2016-10-20 21:59:11 +08:00   ❤️ 1
    你好,来自百度的答案,不知是否正确

    我 mac 电脑也曾出现过这种情况

    如何解决这个问题
    修改你的 DNS 为公共 DNS ,例如 114.114.114.114 或者谷歌的 8.8.8.8 。
    然后修改你的主机名:
    sudo hostname localhost

    出现这个问题的原因
    终端在初始化时,需要确定主机的名字,此时终端会向 DNS 服务器反向查询本机 IP 地址,然后把得到的名字作为自己的主机名。如果没有反向解析的结果,就会显示本机设置的主机名。

    那么 bogon 是什么意思呢?一个 DNS 反向解析名为 bogon 的 IP 地址不会显示在 traceroute 中。

    我猜题主可能在一个路由器组织的局域网环境中,并且你的 DNS 地址是你路由器的地址,这样终端反向查询你本机 IP 地址得到的结果是 bogon ,于是你在终端里显示的主机名就变成了 bogon 。

    作者: Helvetica
    salmon5
        12
    salmon5  
       2016-10-20 22:09:42 +08:00
    @ericgui /etc/sysconfig/network 这个只是开机的时候加载一次,加载一次后,就不管用了。
    那么你 hostname xxx 后,主机名就是 xxx 了,和 /etc/sysconfig/network 无关了。
    很简单,你重启下机器就可以啦。
    1120101929
        13
    1120101929  
       2016-10-20 23:17:41 +08:00
    刚刚我也遇到这个问题了。家里使用的是小米路由器,主机名是 MiWifi****。
    按照 @chinabingyang 给的方法解决了。感谢。
    introom
        14
    introom  
       2016-10-21 01:04:34 +08:00 via Android
    补充一下,关于 hostname,有个东西叫 hostnamectl, 基础知识,基础知识啊,一言不合动不动手工修改 hostname 也成,但那不是最佳实践。
    我们做事呢,讲究 best practice, best practice.
    bao3
        15
    bao3  
       2016-10-21 03:20:41 +08:00 via Android
    有几个可能, 1 是你的 shell 修改了 hostname 变量,所以不管改哪个,只要 shell 的配置写了,你也改不了。 2 ,重启后看看有没有恢复,没有的话,就是你的 文件有问题,你可以自己写一个 hostname 文件,使用 hostname 指令读一下看会发生什么。 3 ,你安装你自己不知道的东西,那个东西会随机启动,这个只能自己想一下了。
    shlabc
        16
    shlabc  
       2016-10-21 06:50:04 +08:00
    CentOS5 配置主机名

    #( 1 )修改 /etc/sysconfig/network ,修改 HOSTNAME

    #( 2 )命令行继续修改: hostname newname ,命令执行后退出,重新登陆即刻生效(重启系统后也有效)
    [root@www ~]# logout

    #( 3 )注意同时修改 /etc/hosts 里的相关信息
    ericgui
        17
    ericgui  
    OP
       2016-10-21 15:27:33 +08:00
    @introom hostnamectl command not found 亲,我郁闷啊
    ericgui
        18
    ericgui  
    OP
       2016-10-21 15:32:27 +08:00
    @bao3 哪里可以查看 shell 的变量设置?似乎我要改的是 PS1 ,但不知道应该怎么改
    okudayukiko0
        19
    okudayukiko0  
       2016-10-21 19:02:35 +08:00
    应该是 vim /etc/hostname
    PaleCheung
        20
    PaleCheung  
       2016-10-21 20:09:46 +08:00
    @introom 这个命令 rhel /centos 7 才有。

    一般用来看跑什么虚拟化比较有用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:59 · PVG 08:59 · LAX 16:59 · JFK 19:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.