刚装上ubuntu 8.04的时候,使用sudo指令,发现总是有这样的提示:unable to resolve host init-ubuntu。当时还以为新的版本没有这条指令了(见笑了)。
后来发现不少的人碰到了这个问题,于是开始想办法解决。网上的办法就是修改/etc目录下的hosts文件,但是要修改这个文件也需要root权限,现在就是卡在这个环节上了。
1、尝试的办法一:登录界面进入安全模式,但是进入之后同样不能sudo,报错依旧。
2、进入recovery mode,从指令窗口调用修改,再次报错。
3、实际解决办法:
进入“系统”(system)->“系统管理”(Administration)->“用户与组”(Users and Groups),然后解锁,这些步骤还是可以实现的。然后选中root组,点击右边的“属性”(Properties),这个时候会发现下面有“手动输入密码”(Set password by hand)的选项,安装之后我没有填过这个选项,现在设置上这个密码。确定就ok了。(忘记了要不要注销或者重启。) 注:不是必须的
然后,在终端中运行代码:
*************************My Q***************************
su root
输入root密码,现在就是在root下面操作了,可以直接:
gedit /etc/hosts
将hosts中的127.0.1.1 后面的名字改成自己想要的主机名,我的是init-ubuntu。
同时要保证/etc/hostname中的主机名与刚才修改的一致,不一致的话一定要改过来。
重启,ok。
*************************My Q***************************
导致问题原因:
用vmware workstation(版本6.5)装Ubuntu(版本8.04)时,/etc/hostname 和 /etc/hosts 中出现xxx-desktop(xxx为vm装Ubuntu的时候的Full name),为了名字更简洁些,把hostname中的-desktop去掉了,但没修改hosts中的名字,重启时出现这样的问题。That's all.
问题分析:
网络中有人提出是主机名中含有非法字符造成的,我发现我的系统出现这个问题不在于这一点。我安装的时候填了一个域名mshome,结果host文件中主机名就被设置成了init-ubuntu.mshome,而hostname中依旧是init-ubuntu,两个名字不一致,所以不能resolve(解析)。
在此也提出一个假设的办法,我没有试验过,但是如果我分析的对,相比以上办法要简单的多:打开“系统”->“系统管理”->“网络”,解锁,将“常规”选项卡中“域名”的内容删除,我的这一栏写的是mshome。然后在“主机”选项卡中找127.0.1.1,发现后面是localhost,点击“属性”修改主机名为想要用的名字。
重启,问题应该同样能得到解决。这个办法就不需要用代码来帮忙了。
转载地址:http://blog.sina.com.cn/s/blog_58e54a3801009dnn.html