Ubuntu 16.04 更新源失败问题

32 篇文章 0 订阅
20 篇文章 0 订阅

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

更改了源之后,update会失败 解决办法看上面

实在不会联系:3207502808 [qq]

如果您遇到不同问题请留言 我会及时同您一起解决

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值