LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 761|回复: 7

[HELP]:让人痛苦的主机名!!!

[复制链接]
发表于 2005-9-8 18:02:16 | 显示全部楼层 |阅读模式
主机名这个问题一直捆饶着我:
首先,是关于sendmail的,当我刚装完系统时,在sendmail时很快就显示ok,就接着往下,但是当我修改了主机名之后,停sendmail处的时间要很久,这是什么原因啊?比不修改要长好多好多啊!
   其次,我发现了个问题:如果只是在/etc/sysconfig/network下将hostname改为自己的,并且将这个自己的名字加到etc/hosts下,系统可以正常启动,但是要是localhost.localdomain 和它后面的localhost改为自己的别名,系统将在注销时提示:请将localhost..localdomain加到/etc/hosts下或许会解决这个问题!也就是说:当我在/etc/sysconfig/etwork将hostname 改为自己的名字,但是在系统设置里的DNS里的主机名还是localhost.localdomain,也就是没有修改,请问大家有没有发现那个地方有个主机名呢?但是只要我在系统设置里编辑这些,将DNS里的主机名改为自己的名字,那么127.0.0.1 后面的名称是改了的名字,再将后面的别名改为自己的,再注销就没有任何问题!但是重启后再sendmail处会停很长的时间!??
我对Linux里这个主机名可以说是痛心疾首啊?!!
怎么老不是这问题就是那个问题!?我觉得这和windows有很大的区别啊,它又搞个别名干什么呢?!!
请指点!真的很发愁啊!!
多谢了!!
发表于 2005-9-8 19:23:23 | 显示全部楼层
localhost.localdomain 那一行不要改动。
修改/etc/sysconfig/network/hostname后,只要把名字加到/etc/hosts即可,比如我的/etc/hosts:

  1. 127.0.0.1              localhost.localdomain  localhost  #这一行不要改动!
  2. 127.0.0.1              bsd.free.org bsd #同一个ip可以对应多个名字
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-9-8 21:58:44 | 显示全部楼层
兄弟有问题还是尽量发帖子吧,短信的形式不太好:一不能获取更多帮助,二不能共享解决方案。

Post by dragon527
谢谢你的回答!
你/etc/sysconfig/network/hostname里的主机名是
bsd.free.org bsd 吗?怎么这么长,又有“.”啊??哈哈!
我还有一个问题要请教一下你,不知道你有没有研究:当我在/etc/sysconfig/network将hostname 改为自己的名字,如Dragon,但是在"系统设置"里的DNS一栏里的主机名还是localhost.localdomain,也就是没有修改,但是我认为这里的主机名和/etc/sysconfig/network里的主机名是一致的,因为修改主机名也可以直接在这里修改吗!是不是在/etc/sysconfig/network里修改主机名以后,要重启系统,不知道重启系统后,这里是否和/etc/sysconfig/network里的主机名一致!?


我的/etc/sysconfig/network/hostname里头只有主机名bsd, free.org是随便设的域名。一个主机就是由主机名+域名构成的,当然,你可以不设域名。域名一般在domainname文件中出现。

为什么在hostname里头设定了主机名(如你的Dragon)后还要在/etc/hosts里头添加呢,因为很多网络服务(如sendmail)在启动的时候要解析主机名,解析过程常见的是先检查/etc/hosts,看看里头有没有Dragon以及它对应的ip,有则立即结束解析过程(此时sendmail启动很快);若没有,sendmail就会尝试从你的dns服务器获取Dragon的ip(很显然,不会成功的,因为你没有注册这个域名),这个过程将等待很久,直到超时为止。所以,在/etc/hosts里头加上Dragon后,什么问题都解决了。

如果你要在系统设置DNS一栏中主机名显示为Dragon,可以把/etc/hosts的Dragon条目放在localhost条目之前。比如:

  1. 127.0.0.1        Dragon
  2. 127.0.0.1         localhost
复制代码


因为我用的是gentoo linux,和你的某些设置不同,所以难免有出入。有错莫怪
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-8 23:13:47 | 显示全部楼层
谢谢
你说的很对,我只是想早点得到答案,以后一定以帖子的形式请求帮助,发扬linux的风格!
上楼的大哥看来是对linux了解的非常深入了!我才刚刚学了一个月,所以很多的东西不懂,见谅!!
我还有个问题就是别名的问题,为什么要名称后有别名啊,像127.0.0.1   Dragon这样,那就是没有别名,这
可以吗?
回复 支持 反对

使用道具 举报

发表于 2005-9-9 05:53:27 | 显示全部楼层
可以不要别名
别名可以方便操作,比如 我的例子,ping bsd.free.org 和 ping bsd是一样的(后者多短呀)。

我也是linux刚刚入门而已。linuxsir文档丰富人气也不错,新手很快就可以变老手了:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-9 08:06:22 | 显示全部楼层
如果我在/etc/sysconfig/network/hostname将主机名改为Dragon,那么我将/etc/hosts里的改为
127.0.0.1  Dragon  却不行呢?而是要在127.0.0.1  localhost.localdomain  localhost  里加入
127.0.0.1    Dragon 呢?而且你上面的又是127.0.0.1   localhost呢?,到底是localhost 还是
localhost.localdomain  啊??你说"sendmail就会尝试从你的dns服务器获取Dragon的ip(很显然,不会成功的,因为你没有注册这个域名)",这里所说的域名是只什么啊??那么我要是将/etc/hosts里将
127.0.0.1  localhost.localdomain  localhost   改为127.0.0.1    Dragon ,为什么就不行呢?
而是要保留原来的127.0.0.1  localhost.localdomain  localhost  呢?总之还是不太明白,请还解释一下耗吗?
回复 支持 反对

使用道具 举报

发表于 2005-9-9 08:29:36 | 显示全部楼层
好读书不求甚解,很多东西现在即使说给你听也很难明白.
在初学阶段知其然就可以了,等你所学渐深,自然会慢慢会意,欣然忘食
回复 支持 反对

使用道具 举报

发表于 2005-9-9 09:47:15 | 显示全部楼层
在很多的地方,比如DNS在引用127.0.0.1这个环回接口的时候都默认其对应的主机名是localhost.localdomain。一般这行是最好不要修改的。而当我们在/etc/sysconfig/network文件中修改了我们的主机名的时候(其实我觉得这里应该叫做网络结点名),只要在/etc/hosts文件中加上我们的主机名和IP的映射就行了。

而且你上面的又是127.0.0.1  localhost呢?,到底是localhost 还是
localhost.localdomain 啊??

hosts文件是主机名到IP地址的简单解析过程。hosts文件中的每一行包含一项设置,每一项设置由一个IP地址,一个主机名和一个主机别名组成的。各个字段用空格或者制表符分开。
所以这里localhost.localdomain是主机名,localhost是别名。

你说"sendmail就会尝试从你的dns服务器获取Dragon的ip(很显然,不会成功的,因为你没有注册这个域名)",这里所说的域名是只什么啊??

  这里的域名就是在DNS服务器里设置的域名。如果你没有在hosts文件中指定主机到IP的映射,那这个请求会被转到DNS服务器来解析,由于你的DNS服务器没有存在或是没有配置Dragon这个域和其中的主机的主机名到IP地址的映射。所以最后就会返回Dragon这个主机不可达或不存在的回应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表