Linux软件安装中rpm与yum区别和联系(待整理)

1 Linux软件安装概述

安装程序的方式:

  • 通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。
  • 软件包管理器:如RPM。
  • 软件包管理器的前端工具:如YUM。
  • 源代码编译。

1.1 软件包概述

软件包的组成部分:

  • 二进制程序,位于 /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 等目录中。
  • 库文件,位于 /lib, /usr/lib, /usr/local/lib 等目录中。Linux中库文件以 .so(动态链接库)或 .a(静态链接库)作为文件后缀名。
  • 配置文件,位于 /etc 目录中。
  • 帮助文件:手册, README, INSTALL (/usr/share/doc/)

在没有软件包管理器之前,安装程序,卸载程序是非常繁杂的。

一、yum 常用命令

1. 软件包管理

安装软件包:
yum install <软件包名>  # 安装指定软件
yum install -y <软件包名>  # 自动确认安装(无需手动输入y)
 
 
卸载软件包:
yum remove <软件包名>  # 卸载软件(保留配置文件)
yum erase <软件包名>   # 彻底卸载(包括配置文件)
 
 
更新软件包:
yum update <软件包名>  # 更新指定软件
yum update            # 更新系统所有软件(包括内核)
yum upgrade           # 类似update,但会删除旧版本包

 

2. 查询操作

搜索软件包:
yum search <关键词>  # 搜索包含关键词的软件
 
 
查看软件包信息:
yum info <软件包名>  # 显示软件的详细信息(版本、描述等)
 
 
查看已安装软件:
yum list installed  # 列出所有已安装的软件包
yum list installed | grep <关键词>  # 过滤特定软件
 
 
查看可更新的软件:
yum check-update  # 检查有哪些可更新的软件包
 

 

3. 缓存管理

清除缓存:
yum clean all  # 清除所有缓存(包括元数据和包文件)
yum clean packages  # 仅清除下载的包文件
 
 
生成缓存:
yum makecache  # 提前生成元数据缓存,加速后续操作

 

4. 仓库管理

查看启用的仓库:
yum repolist  # 列出所有启用的yum仓库
yum repolist all  # 列出所有仓库(包括禁用的)
 
 
启用 / 禁用仓库:
yum-config-manager --enable <仓库名>  # 启用指定仓库
yum-config-manager --disable <仓库名>  # 禁用指定仓库

二、yum 镜像配置(更换国内源)

默认 yum 源可能在国内访问较慢,可更换为阿里云、网易等国内镜像源。
以 CentOS 7 更换阿里云镜像为例:
备份默认源配置:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
 
下载阿里云源配置:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 
清除并生成新缓存:
yum clean all
yum makecache

其他常用国内镜像:
网易镜像:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
 
清华大学镜像:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm

 

三、扩展:EPEL 仓库配置

EPEL(Extra Packages for Enterprise Linux)提供了很多官方源没有的软件,建议安装:
yum install -y epel-release  # 安装EPEL仓库
yum clean all && yum makecache  # 刷新缓存
安装后即可通过 yum install 安装 EPEL 仓库中的软件(如 htopnginx 等)。
通过上述命令和配置,可以高效地使用 yum 管理系统软件,更换国内镜像后能显著提升下载速度。
 

四、实操整理

导出yum安装的 rpm包
# 示例:备份所有已安装的包(谨慎使用,可能占用大量空间)
for pkg in $(rpm -qa|grep docker); do
  yum reinstall --downloadonly --downloaddir=/backup/rpms $pkg >/dev/null 2>&1
done

安装本地rpm包

rpm -ivh /路径/包名.rpm
#或 yum localinstall
/路径/包名.rpm -y
#区别
方法优点缺点适用场景
rpm -ivh 直接操作,不依赖 yum 仓库 需手动解决所有依赖(缺少依赖会报错) 无网络环境、依赖已全部准备好
yum localinstall 自动下载并安装依赖,更省心 依赖包需从 yum 仓库获取(需网络或本地仓库) 有网络、依赖需自动解决

查看rpm包的依赖

#查看未安装的本地 RPM 包的依赖关系
rpm -qpR /路径/包名.rpm

-q:查询模式
-p:指定查询的是本地 .rpm 包文件(而非已安装的包)
-R:显示该包的依赖关系(即该包需要哪些其他包才能正常安装 / 运行)

#查看已安装的 RPM 包的依赖关系
rpm -qR 已安装的包名

 

 

 
 
posted @ 2020-02-27 13:52  指令跳动  阅读(690)  评论(0)    收藏  举报