rpm

dpkg: Debian series
RPM: Redhat series

Redhat RPM rpm, rpmbuild YUM(yum)
Debian DPKG dpkg APT(apt-get)

SRPM: Source RPM (*.src.rpm)

硬件平台:
i386: 适合所有x86平台
i586
i686
x86_64
noarch: 无硬件等级限制,一般为shell script

rpm -ivh pkg.i386.rpm --test
-i: install
-v: verbose
-h: 进度条
--test: 测试安装包的依赖性
# 重新安装
rpm -ivh pkg.i386.rpm --replacepkgs

# upgrade(不存在,自动安装)
rpm -Uvh pkg.i386.rpm  

# freshen(不存在,不安装)
rpm -Uvh pkg.i386.rpm  

# 系统安装的所有rpm包
rpm -qa 

rpm -q logrotate

# ql: 包相关的所有文件目录列表
rpm -ql logrotate

# qi: 包详细信息
rpm -qi logrotate

# qc: 配置文件
rpm -qc logrotate

# qd: man相关文件
rpm -qd logrotate

# qR: 依存关系
rpm -qR logrotate

# qf: 反查命令所属软件包
rpm -qf /bin/bash

# qpR: 查询安装包的依存文件
rpm -qpR pkg.i386.rpm

# 检查
rpm -V vsftpd

# 配置文件被改动过
rpm -Vf /etc/vsftpd.conf

# 所有被修改的文件
rpm -Va

# 卸载
rpm -e pam-devel

# 重建数据库
rpm --rebuilddb

安装 rpm -ivh *.rpm
全升级 rpm -Uvh *.rpm 针对系统原本没有的软件,会执行安装,将引入一些不需要使用的软件
增量升级 rpm -Fvh *.rpm 只会针对系统上已经安装的软件进行对应的升级,建议使用

### RPM 包管理工具使用说明 RPM(Red Hat Package Manager)是一种广泛应用于 Red Hat 及其衍生 Linux 发行版中的二进制包管理系统,旨在简化软件的安装、升级、查询和卸载操作。以下是关于 RPM 的详细介绍: #### 功能概述 RPM 提供了一种高效的方式来管理软件包,支持多种基本操作,包括但不限于安装、升级、查询和卸载软件包。它还通过维护一个内部数据库来跟踪已安装的软件及其相关信息[^2]。 #### 命令格式与常用选项 RPM 工具的核心命令结构如下: ```bash rpm [选项] RPM包文件 ``` 常用的选项及其作用包括: - `-i`:安装新的 RPM 软件包。 - `-U`:升级某个软件包;如果该软件尚未安装,则会自动完成安装。 - `-F`:仅当目标软件已经存在时才进行升级,否则放弃操作。 - `-e`:卸载指定的软件包。 - `--force`:强制执行某些可能违反常规规则的操作,例如安装较旧版本的软件包。 - `-h` 和 `-v`:分别用于显示安装进度标记以及提供详细的日志信息[^3]。 #### 查询功能 为了帮助用户更好地理解当前系统上的软件状态,RPM 还提供了丰富的查询手段: - `rpm -qa`:列举所有已安装的软件名称。 - `rpm -ql {package_name}`:展示某一具体软件包对应的实际文件位置列表[^5]。 #### 处理依赖关系 尽管 RPM 自身具备一定的能力去检测并报告缺失的依赖项,但它并不主动解决这些问题。因此,在遇到复杂的多层依赖场景时,推荐借助更高层次的解决方案如 YUM 来自动化这一流程。 #### 数据库修复 偶尔情况下,RPM 内部使用的元数据存储可能出现错误或者损坏现象。对此情况下的恢复措施有两种主要方法可用: - 初始化新数据库:`rpm --initdb` - 重新构建现有数据库:`rpm --rebuilddb` #### 启动由 RPM 安装的服务实例 对于那些作为后台守护进程运行的应用程序来说,一旦它们被成功部署到操作系统之后,就可以利用标准的服务控制接口对其进行操控。举个例子,假设我们刚刚完成了 Apache HTTP Server (httpd) 的设置工作,那么下面两条指令都可以用来激活这个网络服务器组件[^4]: ```bash /etc/rc.d/init.d/httpd start service httpd start ``` ### 示例代码片段 这里给出一段简单的 Python 脚本来批量处理多个 .rpm 文件的安装请求: ```python import os def install_rpms(rpm_list): success = True for rpm in rpm_list: result = os.system(f"sudo rpm -ivh {rpm}") if result !=0 : print(f"Failed to install {rpm}.") success=False return success if __name__=="__main__": rpms=["example1.rpm","example2.rpm"] outcome=install_rpms(rpms) if not outcome: exit(1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值