剛裝上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