没配置好dns导致安装软件时出现”W: 无法下载 http://mirrors.163.com/ubuntu/dists/precise-backports/main/i18n/Translation-en 解析“mirrors.163.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址) “的解决方法

使用ubuntu系统,之前使用一直正常,今晚配置了一下物理机的IP后,安装软件提示下载失败,于是打算更新软件包列表,

$sudo apt-get update,出现:

W: 无法下载 http://mirrors.163.com/ubuntu/dists/precise-security/universe/binary-i386/Packages 解析“mirrors.163.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址)

第一反应是是不是虚拟机没联网,已连接,桥接模式,$ifconfig查看参数正常,打开ubuntu软件中心,发现能刷新;

第二怀疑更新源有问题,于是Windows上网找更新源,先备份

$sudo cp /et/apt/sources.list /etc/apt/sources.list_bak,修改

$sudo gedit /etc/apt/sources.list,

ctrl+a,ctrl+v,ctrl+s,ctrl+q;问题还是没解决;

只好找度娘,看了几个帖子,最全的的页面是( http://blog.csdn.net/gavin_dinggengjia/article/details/7559765 ) ,提到的问题和我的很像,于是招样修复DNS,

原先设置的DNS是自动获取,可能ISP分配的动态DNS出问题,所以尝试使用固定DNS。
1、设置IP
这里我设成静态IP,因为局域网其他机器需要访问这台服务器。
$sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
加入:
auto eth1
iface eth1 inet static
address 192.168.199.162
netmask 255.255.255.0
gateway 192.168.199.1
2、配置DNS
目前比较好用的DNS是Google的8.8.8.8和OpenDNS的208.67.222.222。
$sudo vim /etc/resolv.conf
加入
#Google
nameserver 8.8.8.8
nameserver 8.8.4.4

#OpenDNS
nameserver 208.67.222.222
nameserver 208.67.220.220
3、重启网络
$sudo /etc/init.d/networking restart,

提示没有找到eth1,于是把“auto eth1
和iface eth1 inet static “改为”auto eth0
iface eth0 inet static “,再重启网络,提示正确;

满怀欢喜执行$sudo apt-get update,问题还是没解决;重启虚拟机和物理机,问题依然没解决。

只好再劳烦度娘,看到另一篇文章( http://www.myexception.cn/operating-system/513974.html ),操作一遍

$ echo 'nameserver 192.168.199.1' >> /etc/resolv.conf
bash: /etc/resolv.conf: 权限不够

于是sudo echo 'nameserver 192.168.199.1' >> /etc/resolv.conf
bash: /etc/resolv.conf: 权限不够,

没办法,只好切换到root,$sudo -i

# echo 'nameserver 192.168.199.1' >> /etc/resolv.conf

# echo 'nameserver 8.8.8.8' >> /etc/resolv.conf

# /etc/init.d/networking restart

# exit

$ sudo apt-get update

居然可以更新了!!!