解决Ubuntu报错 E: Unable to locate package yum
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
开门见山,Ubuntu的包管理工具是apt-get,所以不必再安装yum。如果要安装其他包需要使用apt-get命令。
# 这里以locate命令为例
sudo apt-get install mlocate
下文就是问题解决的全过程了。
1. 报错 E: Unable to locate package yum
我在学习 Linux 命令的时候需要使用 locate 命令,但是 Ubuntu 的系统里没有安装 locate 命令。根据弹幕的指示我使用了如下命令。
# yum安装locate
sudo yum install mlocate
sudo updatedb
locate -h
然后就会一直出现报错信息yum不存在,我寻思这破服务器咋要啥啥没有,现在看看,确实有点憨。那既然没有yum,就安装呗。于是就出现了题中的问题,属实是骚操作。
图1. yum 安装 locate 失败
图2. 用 apt-get 安装 yum 的骚操作
2. 修改sources.list
秉承着求知的心态我查找了相关的报错信息,得到做多的答案就是 update ,各种 update upgrade。
# 包括但不限于以下update方法
sudo apt-get update
sudo apt-get upgrade
sudo apt update
最有用的方法竟然没用了,确实让我很苦恼啊。到底是哪方面出了问题呢?在我掠过无数篇相同的文章之后,找到了解决办法。
# 修改 apt-get 源的配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
sudo vim /etc/apt/sources.list #修改
sudo apt-get update #更新列表
这里给出部分可用的镜像
阿里云源
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
这里提供vim的一些操作帮助
Shift + I 编辑文档
Esc 退出编辑
:q! 关闭文档
:wq! 保存文档并关闭
图3. 修改之后的 sources.list
修改完毕,再次执行 apt-get install yum,再次报错缺少依赖的库。这个问题好办多了,直接安装。
图4. 安装最后的问题-缺少依赖库
# 依赖库的安装
sudo apt-get install python-sqlitecachec
sudo apt-get install python-urlgrabber
sudo apt-get install python-libxml2
sudo apt-get install python-rpm
sudo apt-get install python-sqlite
sudo apt-get install python-urlgrabber
应该只有这么多需要的,再有其他的再安装。
图5. 这是最后 yum 安装成功的显示
终于安装好了yum,验证一下是否可用。
yum
图6. yum可用
3. 意识到问题没那么复杂
终于搞定了yum,心想这下可以消停了吧。
图7. repos相关的报错,解决应该很麻烦
又出错了,没使用过yum不是很理解,但应该是个很麻烦的问题,又得兜一圈。后来发现了一点Linux的常识。
linux系统基本上分两大类:
1 RedHat系列:Redhat、Centos、Fedora等
2 Debian系列:Debian、Ubuntu等
RedHat 系列:
1 常见的安装包格式 rpm 包,安装rpm包的命令是 “rpm -参数”
2 包管理工具 yum
3 支持tar包
Debian系列:
1 常见的安装包格式 deb 包,安装deb包的命令是 “dpkg -参数”
2 包管理工具 apt-get
3 支持tar包
所以问题最终的解法就是用apt-get 安装mlocate。
# apt-get 安装 mlocate
sudo apt-get install mlocate
图8. 最终的成功
到这里就结束了?
# 卸载yum
sudo apt-get remove yum
图9. 残忍抛弃
总结:Ubuntu使用apt-get就够用了。如果安装需要yum,这里没有解决repos的报错。以后的错误,以后再解决。