Yum包管理器-学习笔记
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
什么是repo文件?
repo 文件是 Linux 中yum源(软件仓库)的配置文件,通常一个 repo 文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
1、备份源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
有多个时通过下面命令备份
mv /etc/yum.repos.d/CentOS* /etc/yum.repos.d/CentOS-Base.repo.backup
2、进入yum源配置文件夹
cd /etc/yum.repos.d/
3、根据centos版本下载对应的新源
这里以CentOS7为例
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装,或者使用
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
下载wget
yum -y install wget
4、yum makecache 生成缓存,会把新下载CentOS-Base.repo源生效。
更新时会报某个aliyun timeout,他会自动尝试阿里其他镜像,最后自己会用基础镜像,然后自动更新一部分。因为基础镜像过时了。
生成缓存
yum makecache
5、执行yum源更新命令
yum clean all
yum makecache
yum -y update
试试更新系统 yum -y update (不是root的加 sudo),这回可以顺利安装docker或更新系统了
yum install docker
systemctl start docker
就可以使用docker了
6、常用yum命令
安装
yum install softwarename
卸载软件
yum remove softwarename
查看软件源中是否有此软件
yum list softwarename
列出所有软件名称
yum list all
列出已经安装的软件名称
yum list installed
列出可以用yum安装的软件
yum list available
清空yum缓存
yum clean all
根据软件信息搜索软件名字(如,使用search web搜索web浏览器)
yum search softwareinfo
在yum源中查找包含filename文件的软件包(如,whatprovides rm搜索汉含rm的软件,命令实质上是文件)
yum whatprovides filename
更新软件,会存在未知问题,一般不对服务器升降级
yum update
查看系统软件改变历史
yum history
重新安装
yum reinstall softwarename
查看软件信息
yum info softwarename
查看软件组信息
yum groups list
查看软件组内包含的软件
yum groups info softwarename
安装组件
yum groups remove softwarename
卸载组件
yum groups remove softwarename
7、清理缓存
yum clean all