Linux命令:yum
- 操作系统
- 2022-11-28
- 12热度
- 0评论
作用
解决安装包依赖问题。
yum 和 dnf
[root@server1 ~]# ls -l \which yum\
lrwxrwxrwx. 1 root root 5 3月 8 2021 /usr/bin/yum -> dnf-3
[root@server1 ~]# ls -l \which dnf\
lrwxrwxrwx. 1 root root 5 3月 8 2021 /usr/bin/dnf -> dnf-3
配置文件
/etc/yum.repo/xxx.repo
# 名字,用于标注不同的源
[base]
# 注释信息
name=CentOS-8 - Base
# 如果哪个url路径下有 repodata 目录,则此 url 为其 baseurl
baseurl=http://mirrors.ustc.edu.cn/centos-vault/8.4.2105/BaseOS/x86_64/os/
# 用于指定是否启用这个源,值:0/1
enabled=1
# 用于指定安装的软件包是否要进行数字签名的验证,值:0/1
gpgcheck=0
# 如果 gpgcheck 值为 1 ,则下面此项生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
国内的linux源镜像站点
企业源
站名 | 地址 |
---|---|
阿里云开源镜像站 | http://mirrors.aliyun.com/ |
搜狐开源镜像站 | http://mirrors.sohu.com/ |
网易开源镜像站 | http://mirrors.163.com/ |
教育源
yum 命令
查找
[root@server1 yum.repos.d]# yum repolist 列出已经配置的仓库信息(id及名称)
[root@server1 yum.repos.d]# yum list vsftpd 列出软件包,可以看到是否安装过,此为精确匹配,需要用完整名称查找
[root@server1 yum.repos.d]# yum list vsftp* 匹配 vsftp 开头的软件
[root@server1 yum.repos.d]# yum search vsftpd 列出软件包,不能看到是否安装过,此为模糊匹配
[root@server1 yum.repos.d]# yum list updates 列出所有可更新的软件包
[root@server1 yum.repos.d]# yum list installed 列出所有已安装的软件包
[root@server1 yum.repos.d]# yum list extras 列出所有已安装,但是不在yum仓库范围的软件
[root@server1 yum.repos.d]# yum info vsftpd 列出软件信息
[root@server1 yum.repos.d]# yum info updates 列出所有可更新软件的信息
[root@server1 yum.repos.d]# yum info installed 列出所有已安装软件的信息
[root@server1 yum.repos.d]# yum info extras 列出所有已安装但不在yum仓库范围的软件的信息
安装
[root@server1 yum.repos.d]# yum install vsftpd 安装,会提示是否安装,手动确认
[root@server1 yum.repos.d]# yum install -y vsftpd 安装,-y表示自动确认
[root@server1 yum.repos.d]# yum install vsftpd --downloaddir=/tmp --downloadonly 仅下载,并指定下载路径,不执行安装
更新
[root@server1 yum.repos.d]# yum update vsftpd 升级此软件包
[root@server1 yum.repos.d]# yum update 安装所有软件更新
[root@server1 yum.repos.d]# yum check-update 列出所有可更新的软件包
[root@server1 yum.repos.d]# yum --exclude=kernel* update 只更新软件,不更新内核
删除
[root@server1 yum.repos.d]# yum remove vsftpd 卸载,会提示是否卸载,手动确认
[root@server1 yum.repos.d]# yum remove -y vsftpd 卸载,-y表示自动确认
其他
[root@server1 yum.repos.d]# yum whatprovides */smbclient 通过命令反向查找安装包
[root@server1 yum.repos.d]# yum provides vsftpd 列出软件包提供哪些文件
[root@server1 yum.repos.d]# yum clean packages 清除下载的rpm
[root@server1 yum.repos.d]# yum clean metadata 清除元数据
[root@server1 yum.repos.d]# yum clean dbcache
[root@server1 yum.repos.d]# yum clean expire-cache
[root@server1 yum.repos.d]# yum clean all 清除所有缓存
[root@server1 ~]# yum history 查看安装历史
[root@server1 ~]# yum history undo 3 3是history中的ID,表示回滚此步操作
group的使用
[root@server1 ~]# yum grouplist 可以列出系统已经安装的哪些组
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元数据过期检查:0:00:06 前,执行于 2022年11月28日 星期一 07时43分46秒。
可用环境组:
服务器
最小安装
工作站
虚拟化主机
定制操作系统
已安装的环境组:
带 GUI 的服务器
已安装组:
容器管理
无头系统管理
可用组:
.NET 核心开发
RPM 开发工具
开发工具
图形管理工具
传统 UNIX 兼容性
网络服务器
科学记数法支持
安全性工具
智能卡支持
系统工具
[root@server1 ~]#
[root@server1 ~]# yum groupinstall '虚拟化主机' #安装工具组
module功能
RHEL8新增的功能
[root@server1 ~]# yum module list 列出yum源中的模块
[root@server1 ~]# yum module list php 列出 php 模块,[d]表示默认安装
CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
[root@server1 ~]# yum module info php 列出php模块的信息,可以看到各模块装哪些包
[root@server1 ~]# yum module install php 安装默认的模块、版本、即 php:7.2/common
[root@server1 ~]# yum module install php:7.4/devel 安装指定模块
[root@server1 ~]# yum module remove php:7.4/devel 卸载
[root@server1 ~]# yum module reset php:7.4 卸载后重置
创建本地yum源
[root@server1 ~]# yum install createrepo_c.x86_64 安装这个包,用于生成本地源的 repodata 目录
然后拷贝rpm文件,并配置 repo 为本地的baseurl地址
[root@server1 ftp]# createrepo -v ansible 对ansible目录生成repodata目录,使ansible目录成为yum源