# 当前使用的软件库
yum repolist
# 可供安装或更新的所有软件包信息
yum list
# 列出资源库中所有可以更新的rpm包
yum list updates
# 查看已经安装的软件包信息
yum list installed
# 查看软件包详情
yum info [package_name]
# 查看是否安装xx包
yum list [package_name1] [package_name2]
# 查看某个特定文件属于哪个软件包
yum provides /usr/bin/rm
# 查看软件包的依赖关系
yum deplist 包名
# 查找软件包命令(支持模糊查找):
yum search 包名
# 反查询命令在什么包中
yum whatprovides rm
# 反查询文件在什么包中
yum whatprovides /usr/bin/rm
# 查看yum源中的软件版本
yum list [package_name] --showduplicates
yum list [package_name] --showduplicates | sort -r # 按照版本号排序
# 检查软件更新,相当于apt upate
yum check-update
# 查看包安装了哪些文件
rpm -ql 包名
这种下载模式通常用于构建本地软件包存储库,以便稍后在离线环境中使用。
通过提前下载软件包,可以在没有互联网连接时安装软件包。
# 下载软件包到/opt/repo
yum install --downloadonly --downloaddir=/opt/repo [package_name1] [package_name2]
--downloadonly
:用于指示只下载软件包而不进行实际安装。--downloaddir=/opt/repo
:用于指定下载软件包的目标目录。# 安装指定版本的软件包
yum install -y [package_name]-1.23.0
# 从指定源安装软件
yum install nginx --enablerepo=epel # 从epel源安装nginx包
# 重新安装指定包
yum -y reinstall 包名
# 1、解压
tar -zxvf sysstat-11.1.1.tar.gz
# 2、 进入软件目录
cd sysstat-11.1.1
# 目录中应该能看到README或AAAREADME文件。该文件中包含了软件安装所需要的操作
# 3、配置sysstat
./configure
# 选项[ --prefix=PREFIX ]:安装路径
# 如果哪里有错了,在configure步骤中会显示一条错误消息说明缺失了什么东西。如果你所用的Linux发行版中没有安装GNU C编译器,那只会得到一条错误信息。对于其他问题,你会看到好几条消息,说明安装了什么,没有安装什么
# 4、编译源码,构建各种二进制文件;make命令会编译源码,然后链接器会为这个包创建最终的可执行文件
make
# make步骤结束时,可运行的sysstat软件程序就会出现在目录下
# 5、但是从那个目录下运行程序有些不便。你会想将它安装到Linux系统中常用的位置上。要这样的话,就必须以root用户身份登录或者用sudo命令,然后用make命令的install选项
make install
configure 命令执行完之后,会生成一个 Makefile 文件,这个 Makefile主要是被下一步的 make 命令所使用( Linux 需要按照Makefile 所指定的顺序来构建 (build) 程序组件)。
make 实际就是编译源代码,按照上一步生成makefile文件进行编译,并生成执行文件。
make install 实际上是把生成的执行文件拷贝到之前configure命令指定的安装目录下。
yum update
和yum upgrade
的功能都是一样的,都是将需要更新的package更新到源中的最新版。唯一不同的是,yum upgrade
会删除旧版本的package,而yum update
则会保留(obsoletes=0)。
生产环境中建议使用yum update
,防止因为替换,导致旧的软件包依赖出现问题。
# 更新指定软件
yum update 包名 -y
# 更新所有软件命令
yum update
# 所有可更新的软件清单命令
yum check-update
# 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum upgrade
# 更新软件包,自动解决依赖关系
yum upgrade --obsoletes -y
# 只卸载指定的包
yum remove [package_name]
# 忽略依赖关系强制删除
yum remove [package_name] --nodepes
# 卸载指定包并自动移除依赖包
yum autoremove [package_name]
# 删除软件包,以及软件包数据和配置文件
## 类似于Ubuntu的 apt autoremove --purge 包名
yum erase [package_name]
# 查看yum执行记录
yum history
# 查看命令记录详情
# 12:yum history查出的ID
yum history info 12
# 撤销yum执行记录--其实就是卸载
yum history undo 12
# 清理未完成事务
yum-complete-transaction
# 或
yum-complete-transaction –cleanup-only
# 修复依赖关系--再把依赖包装回去
yum check
有时在安装多个软件包时,某个包的软件依赖关系可能会被另一个包的安装覆盖掉。这叫作损坏的包依赖关系。
# 1、如果系统出现了损坏的包依赖关系,先试试下面的命令:
yum clean all
# 2、然后试着用yum命令的update选项。有时,只要清理了放错位置的文件就可以了
# 3、如果这还解决不了问题,试试下面的命令:
yum deplist [package_name]
# 这个命令显示了所有包的库依赖关系以及什么软件可以提供这些库依赖关系,一旦知道某个包需要的库,你就能安装它们了
# 4、如果这样仍未解决问题,还有最后一招:
yum update --skip-broken
# --skip-broken选项允许你忽略依赖关系损坏的那个包,继续去更新其他软件包。这可能救不了损坏的包,但至少可以更新系统上的其他包
# 清理Yum缓存中的所有软件包和元数据
yum clean all
运行该命令后,Yum将执行以下操作:
注意!运行yum clean all
将导致在下一次使用Yum时重新下载所需的软件包和元数据。如果不希望重新下载软件包,则可以使用其他选项,如:
# 仅清理软件包缓存
yum clean packages
# 仅清理元数据和索引
yum clean metadata
当使用Yum进行软件包安装、升级或删除时,Yum会将这些软件包和相关的元数据(如索引、依赖关系等)保存在本地缓存中。这样做是为了提高后续操作的速度,因为Yum可以直接从本地缓存中获取所需的软件包而无需再次下载。
但是,随着时间的推移,Yum缓存可能会变得庞大并占用大量磁盘空间。此时,可以使用yum clean all
命令来清理缓存,以释放磁盘空间。
# 用于生成本地软件包缓存,以提高后续Yum操作的速度和效率
yum makecache
yum makecache
命令的作用如下: