http://blog.csdn.net/wangweiqiang1325/article/details/53447123 texiao
转载请注明出处 转载请注明出处 转载请注明出处
在输入sudo apt-get update
出现暂时不能解析域名“us.archive.ubuntu.com”
折腾了一周,终于解决了
解决办法:有用的点个赞
先要吧源备份一个哦:
sudo cp /etc/apt/sources.list.d/ubuntukylin.list /etc/apt/sources.list.d/ubuntukylin.list.bak
接下来:
sudo vim /etc/apt/sources.list.d/ubuntukylin.list
第一步打开文件后将文件
原来的:deb http://archive.ubuntukylin.com:10006/ubuntukylin trusty main
修改的:deb http://archive.ubuntukylin.com:10006/ubuntukylin xenial main
最近一直有朋友加我 问我这个问题 说看我的这样弄了以后还是不好用
因为我这边缺少了源的添加:
添加新的源文件:
sudo vi /etc/apt/sources.list
并添加以下内容:注意,每一行的trusty应该用第一步查看得到的Codename来代替
deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
以下提供配置
1Codename=$( (lsb_release -a)|awk ‘{print $2}‘|tail -n 1 )
2echo "\
3deb http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe
4deb http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe
5deb http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe
6deb http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe
7deb http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe
8deb-src http://mirrors.aliyun.com/ubuntu/ $Codename main multiverse restricted universe
9deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-backports main multiverse restricted universe
10deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-proposed main multiverse restricted universe
11deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-security main multiverse restricted universe
12deb-src http://mirrors.aliyun.com/ubuntu/ $Codename-updates main multiverse restricted universe ">sources.list
13apt-get update
sudo运行该脚本即可(注意运行之前最好备份之前的sources.list)
第二步这一步干完了还不够 接下来配置dns
sudo vi /etc/resolv.conf
打开后添加
#阿里的dns 因为我用的是阿里的源哦 这里要根据你使用的源修改
nameserver 223.5.5.5
第三步接下来 重启网络服务
/etc/init.d/networking restart
这样就好了接下来先更新吧
sudo apt-get update
sudo apt-get upgrade
执行我完成后问题又来了 请看:
更新后出现:
AppStream cache update completed, but some metadata was ignored due to errors.
正在读取软件包列表... 完成
W: GPG 错误:http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8D5A09DC9B929006
W: 仓库 “http://archive.ubuntukylin.com:10006/ubuntukylin xenial InRelease” 没有数字签名。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
W: 以下 ID 的密钥没有可用的公钥:
8D5A09DC9B929006
解决办法:sudo apt-get install uk-keyring
注意:这个问题跟软件中没关系,是因为14.04的源没有翻译文件,在16.04以后apt默认源必须要有翻译文件,不然会报错。 所以上面已有人回复了将trusty改成xenial,然后update,会报没有安装源的签名公钥,所以update后装uk–keyring,然后在update就可以了
接下来有时候更新会出现hash 校验和不符
出现这样的问题,可能有两种原因:
一个是之前的更新没有顺利结束,有临时文件残留;
另一个就是网络的问题。
解决办法:
针对以上的两个原因,对应的有以下两个解决方案:
一、 清除临时文件
使用如下命令清除临时文件:
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
执行了以上命令后,再执行 update&&upgrade 命令试试,是不是OK了?
如果还是不行,看看第二种方案。
P.S. 笔者遇到这个校验和不符的问题,就是因为网络问题。
二、 选择更优的软件源(服务器)
在 系统设置 里,找到 软件和更新 ,在 Ubuntu软件 这个选项卡里有个 源代码 下载自 ,将其选为 其他 ,即会弹出如下图所示的服务器列表。
我们也不知道哪个源更好。
点击 选择最佳服务器 按钮,让它自己去选择。
这个需要一定的时间去检验,取决于你的网络状况。
选择好新的软件源后就可以继续更新了。
P.S. 最好,将第一步的清除临时文件的命令再执行一遍。
另外的ubuntu 问题 在更新的时候有时候会出现
“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
解决办法:
在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示:
无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
解决办法如下:
1。终端输入 ps -auxc | grep apt,列出进程。找到含有apt-get的进程,直接sudo killall apt*
2。强制解锁,命令
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock