linux的hostname修改详解
时间:2023-05-14 05:15:42 点击:430

  Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。

  #hostname

  #cat /proc/sys/kernel/hostname

  上面两种输出结果相同。

  修改运行时linux系统的hostname,即不需要重启系统

  hostname命令可以设置系统的hostname

  #hostname newname

  newname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。

  永久更改Linux的hostname

  man hostname里有这么一句话,“The host name is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains the host name, e.g. /etc/hostname).“ RedHat里没有这个文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,它读取/etc /sysconfig/network这个文本文件,RedHat的hostname就是在这个文件里设置。

  所以,如果要永久修改RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。

  Debian发行版的hostname的配置文件是/etc/hostname。

  修该配置文件后,重启系统就会读取配置文件设置新的hostname。

  hostname与/etc/hosts的关系

  很过人一提到更改hostname首先就想到修改/etc/hosts文件,认为hostname的配置文件就是/etc/hosts。其实不是的。

  hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以man hosts。

  Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录

  127.0.0.1 localhost.localdomain localhost

  hosts文件格式是一行一条记录,分别是IP地址 hostname aliases,三者用空白字符分隔,aliases可选。

  127.0.0.1到localhost这一条建议不要修改,因为很多应用程序会用到这个,比如sendmail,修改之后这些程序可能就无法正常运行。

  修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。比如我的eth0的IP是192.168.1.61,我将hosts文件修改如下:

  #hostname blog.infernor.net

  # cat /etc/hosts

  127.0.0.1 localhost.localdomain localhost

  192.168.1.61 blog.infernor.net blog

  这样,我就可以通过blog或者blog.infernor.net来访问本机。

  从上面这些来看,/etc/hosts于设置hostname是没直接关系的,仅仅当你要在本机上用新的hostname来访问自己的时候才会用到/etc/hosts文件。两者没有必然的联系。

  RHEL还有个问题。

  我开始在测试的时候,只修改/etc/hosts,里面添加 192.168.1.61 blog.infernor.net blog,而/etc/sysconfig/network维持原状,也就是里面的HOSTNAME=localhost.localdomain。我重启系统后居然发现hostname给修改成了blog.infernor.net。这样看的话,倒真觉得/etc/hosts是hostname的配置文件。后来终于在/etc/rc.d/rc.sysinit这个启动脚本里发现了问题的所在。

  rc.sysinit文件里一开始就设置了hostname

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

  . /etc/sysconfig/network

  fi

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

  HOSTNAME=localhost

  fi

  确实使用了/etc/sysconfig/network里的hostname值。不过后面还有一段关于设置hostname的

  ipaddr=

  if [ “$HOSTNAME“ = “localhost“ -o “$HOSTNAME“ = “localhost.localdomain“ ]

  ; then

  ipaddr=$(ip addr show to 0/0 scope global | awk '/[[:space:]]inet

  / { print gensub(“/.*“,““,“g“,$2) }')

  if [ -n “$ipaddr“ ]; then

  eval $(ipcalc -h $ipaddr 2>/dev/null)

  hostname ${HOSTNAME}

  fi

  fi

  脚本判断hostname是否为localhost或者localhost.localdomain,如果是的话,将会使用接口IP地址对应的 hostname来重新设置系统的hostname。问题就出在这里,我的/etc/sysconfig/network默认的hostname是 localhost.localdomain,eth0的IP是192.168.1.61,而/etc/hosts里有192.168.1.61的记录。于是就用192.168.1.61这条记录来替换了hostname。

  估计这也是很多人将/etc/hosts误以为是hostname的配置文件的原因。

  hostname带选项查询

  hostname的-s -f -i等等选项都用到了/etc/hosts或者DNS系统,跟我们讨论的hostname有点远了,也容易产生误会。具体可以man hostname查看。

展开 ↓
标签: linux hostname linux的hostname修改详解 《原神》日语配音修改攻略大全(原神日语配音好听吗) 八方旅人修改器没有找到地址(八方旅人ce修改器怎么用) switch暗黑3修改存档会ban吗(ns暗黑3存档修改器下载) chroniconce修改(chronicon怎么修改中文) steam星露谷物语修改(steam星露谷物语修改运气) 《轩辕剑7》手柄键位修改方法介绍(《轩辕剑7》手柄键位修改方法介绍视频) 《鬼谷八荒》修改逆天改命方法解析(鬼谷八荒修改已有逆天改命) 《幻塔》捏脸后还能不能修改名字(《幻塔》捏脸后还能不能修改名字了) 《暗黑地牢2》逃犯修改代码是什么(暗黑地牢2修改) epic修改地区无法通过审核(epic改不了地区) 暗黑地牢修改mod人物数据(暗黑地牢修改mod人物数据在哪) 2k19怎么改名字(2k19修改) 《森林之子》作弊码用不了怎么办(森林之子修改器) grounded修改(grounded修改器联机) 《银河破裂者》修改怪物配置方法(银河破裂者新手教程) 《暗黑地牢2》故事模式修改代码(暗黑地牢2boss) 《轩辕剑7》手柄键位修改方法解析图(轩辕剑7pc手柄) theslormancer技能修改(theslormancer熟练度) thiswarofmine背包(thiswarofmine背包修改) 八方旅人修改(八方旅人修改) thiswarofmine背包(thiswarofmine背包容量修改) gtfo多人联机(gtfo多人联机可以用修改器吗) 奥日与萤火意志怎么修改键位(奥日与萤火意志键盘操作) 《csgo》给其他玩家修改血量指令(csgo怎么改血) 《离去之前》游戏特色内容解析是什么(离去之前修改器) 暗黑地牢修改mod人物数据(暗黑地牢mod角色修改) ps4怎么游戏存档(ps4游戏存档修改) csgo怎么修改参数(csgo参数大小修改) 《csgo》给其他玩家修改血量指令(csgo怎样改血量颜色) wegame电竞俱乐部存档(电竞俱乐部存档修改) 《原神》实名认证修改攻略(原神修改实名认证信息) 暗黑地牢怎么扎营(暗黑地牢扎营技能修改) 《暗黑破坏神3》switch版材料修改教程攻略(暗黑破坏神3switch修改) 《天命奇御2》功法修改方法介绍图(天命奇御2官方悬念站) jump大乱斗修改按键(jump大乱斗如何修改按键) ce修改mr等级(ce修改装备) 《csgo》修改自己血量指令怎么改(csgo自定义修改血量上限) csgo改变血量颜色指令(csgo血量颜色和钱的颜色怎么修改) 暗黑地牢招人修改(暗黑地牢人物癖好修改) 暗黑地牢招人修改(暗黑地牢修改当前人物怪癖) ps4死亡搁浅修改器(死亡搁浅pc线上修改器) 《龙崖》装备修改方法是什么(龙崖装备大全) 《团战经理》换英雄的方法是什么(团战经理英雄特性修改) 《鬼谷八荒》修改逆天改命方法解析图(鬼谷八荒修改已有逆天改命) 《三国群英传8》新武将特技修改方法解析图(三国群英传8武将特技) 《东方月神夜》存档修改方法(东方月神夜无法进游戏) 暗黑地牢mod角色修改(暗黑地牢修改) 《死亡之夜》游戏存档位置不对(死亡之夜修改文件) chroniconsteam(chroniconsteam存档修改) nba2k23手游(nba2k23手游修改器) 《循环勇者》游戏修改方法是什么(循环勇者全图鉴) 《lol手游》拳头账号用户名修改方法是什么(联盟手游拳头账号怎么修改密码) 《qq飞车》如何进行实名认证修改(qq飞车实名认证怎么更改) 《幻塔》捏脸后还能不能修改名字(幻塔能捏男角色吗) apex设置特色旗帜(apex怎么修改特色旗帜) 暗黑破坏神二装备打孔(暗黑破坏神装备打孔修改器) 修改Linux(CentOS)的hostname 详解 Linux下修改网卡工作模式 li 巧妙修改hosts文件手工屏蔽恶意网站

最新游戏更多

最新软件更多

  • 玩家推荐
  • 游戏攻略

金钼软件下载站 Copyright(C) 2008- 601958.cn All Rights Reserved!

闽ICP备2023004188号| 免责声明