linux修改hostname

修改hostname

 

旧的hostname信息

[root@dg-master ~]# more /proc/sys/kernel/hostname

dg-master

[root@dg-master ~]# /bin/hostname

dg-master

[root@dg-master ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=dg-master

 

修改为新的hostname

 

1.1 只修改networkhostname+reboot重启的方式

[root@dg-master ~]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mail.dg.com

[root@dg-master ~]# hostname

dg-master

[root@dg-master ~]# more /proc/sys/kernel/hostname

dg-master

[root@dg-master ~]# sysctl kernel.hostname

kernel.hostname = dg-master

[root@dg-master ~]# reboot

 

重启之后生效

[root@mail ~]# more /proc/sys/kernel/hostname

mail.dg.com

[root@mail ~]# /bin/hostname

mail.dg.com

[root@mail ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mail.dg.com

 

1.2修改kernel.hostname

[root@mail ~]# echo mail.test.com > /proc/sys/kernel/hostname

[root@mail ~]# more /proc/sys/kernel/hostname

mail.test.com

[root@mail ~]# hostname

mail.test.com

[root@mail ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mail.dg.com

Note:这里可以看到/etc/sysconfig/network未修改成mail.test.com

重启之后的hostname

[root@mail ~]# hostname

mail.dg.com

[root@mail ~]# more /proc/sys/kernel/hostname

mail.dg.com

[root@mail ~]# more /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mail.dg.com

 

Note:重启之后,hostname应用的是network的配置,而不是kernel.hostname的设置

 

为什么会这样

 

Hostname is a kernel parameter which stores hostname of the system. Its location is"/proc/sys/kernel/hostname" The value for this parameter is loaded to kernel by rc.sysinit file during the boot process.

 

Hostname的值是启动过程中读取rc.sysinit文件里面的设置加载的。

 

[root@mail ~]# more /etc/rc.d/rc.sysinit

#!/bin/bash

#

# /etc/rc.d/rc.sysinit - run once at boot time

#

# Taken in part from Miquel van Smoorenburg's bcheckrc.

#

 

HOSTNAME=$(/bin/hostname)

 

set -m

 

if [ -f /etc/sysconfig/network ]; then

    . /etc/sysconfig/network

fi

if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then

    HOSTNAME=localhost

Fi

 

Note:如果存在/etc/sysconfig/network文件,则生效此文件,如果hostname为空则设置为localhost,可以看到,启动的过程中,采用的networkhostname的设置。

 

不重启的修改新的hostname(重启和新开的会话值一样)

 

[root@mail ~]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=mail.fa.com

[root@mail ~]# echo mail.fa.com > /proc/sys/kernel/hostname

[root@mail ~]# more /proc/sys/kernel/hostname

mail.fa.com

 

Notehostname是内核参数,确实是来自kernal.hostname的设置,但是重启会收到network里面的hostname影响。所有同时修改两者就可以不重启的生效hostname了。而不是单一的修改某一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值