Linux rpm文件安装指南

本文介绍了如何使用RPM命令进行软件包的安装、卸载、升级及查询等操作,并提供了实用技巧,如通过FTP安装软件包、系统完整性检查及确定文件所属软件包的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1)用RPM安装软件包,最简单的命令如下:
# rpm -ivh foo-1.0-l.i386.rpm (这里讲的软件包是foo-1.0-l.i386.rpm,以下都是)
foo####################
下面rpm就会输出该软件包的名称,并显示一个状态条。安装很简单。

2)拆除已安装的软件包
要反安装软件包foo,只需输入以下这行命令:
# rpm -e foo
注意:软件包名是foo,而不是rpm文件名"foo-1.0-l.i386.rpm"。

3)升级软件包
升级软件类似于安装软件:
# rpm -Uvh foo-2.0-l.i386.rpm
foo####################

用户要注意的是:rpm会自动反安装相应软件包的老版本。如果老版本软件的配置文件通新版本的不兼容,rpm会自动将其保存为另外一个文件,用户会看到下面的信息:
saving /etc/foo.conf as /etc/foo.conf.rpmsave
这样用户就可以自己手工去更改相应的配置文件。
另外如果用户要安装老版本的软件,用户就会看到下面的出错信息:
# rpm -Uvh foo-1.0-l.i386.rpm
foo packag foo-2.0-l(which is newer) is already installed
error:foo-1.0-l.i386.rpm cannot be installed
如果用户要抢行安装就使用-oldpackage参数。

4)查询软件包
用户可以用rpm -q在rpm的数据库中查询相应的软件,rpm会给出软件包的名称,版本,发布版本号,例如:
# rpm -q foo
foo-2.0-l

下面是查询时可以使用的特定参数:
-a 查询目前系统安装的所有软件包。
-f 文件名查询包括嘎文件的软件包。
-F 同-f参数,只是输入是标准输入(例如 find /usr/bin | rpm -qF)
-q 软件包名 : 查询该软件包
-Q 同-p参数,只是输入是标准输入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)
下面是输出时的格式选择:
-i 显示软件包的名称,描述,发行,大小,编译日期,安装日期,开发人员等信息。
-l 显示软件包包含的文件
-s 显示软件包包含的文件目前的状态,只有两种状态:normal和missing
-d 显示软件包中的文档(如man,info,README等)
-c 显示软件包中的配置文件,这些文件一般是安装后需要用户手工修改的,例如:sendmail.cf,passwd,inittab等
如果用-v参数就可以得到类似于ls -l的输出

5)用rpm校验软件包
用户可以用rpm来校验已经安装的软件包,rpm可以校验文件大小、MD5校验码、文件权限、类型和属主等信息。
下面是校验时的参数说明:
-a 简单校验软件包中的文件是否存在
-b 校验软件包中的单个文件
-c 校验安装的所有软件包
-d 比较一个源软件包和已经安装的软件包

如果检验通过就没有任何出错信息,如果有出错信息,它的格式如下:出错信息是一个8位的字符串,如果是一个".",就代表没有问题,下面是相应的字符的意义:
5 MD5校验错
S 文件大小错
L 符号连接
T 文件修改时间错
D 设备文件错
U 用户名错
G 组名错
M 属性(包括改写权和文件类型)错
如果用户看到这些信息,最好重新安装或者手工修复。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rpm 实用技巧!
1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:
比如:现在在ftp.linuxsir.com/pub/linux/redhat/RPMS/下有这个文件包:foo-1.0-1.i386.rpm,那就可以用这样的命令:
# rpm -i ftp.linuxsir.com/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm
来安装,也可以查询!

2)如果用户不小心巫山了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用:
# rpm -Va

3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做:
# rpm -qf /usr/X11R6/bin/xjewel
结果会得到以下信息:
xjewel-1.6-1

4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做:
# rpm -qpi koules-1.2-2.i386.rpm
结果会获得很多信息!

### 如何在Linux系统中安装RPM包 #### 使用`rpm -ivh`命令安装单个RPM包 在基于Red Hat的Linux发行版(如Fedora、CentOS、Red Hat Enterprise Linux等),可以利用`rpm -ivh`命令来完成RPM包的安装过程[^1]。 此命令的具体功能如下: - `i`: 表示安装(Install)指定的软件包。 - `v`: 提供详细的输出信息,帮助用户了解安装进度以及遇到的问题。 - `h`: 显示哈希标记(#)作为安装进度指示符,在整个过程中可以看到这些符号逐渐填充屏幕底部,表示正在处理中的状态。 例如要安装名为example.rpm文件,则可以在终端输入以下指令并执行: ```bash sudo rpm -ivh example.rpm ``` #### 批量安装多个RPM包 对于需要一次性安装多于一个以上的RPM包的情况,可以通过简单的语法扩展实现批量操作。如果所有待安装RPM文件位于同一目录下,可以直接给出该路径下的通配符表达式;也可以通过编写脚本来循环调用上述基本形式的命令针对不同文件依次执行安装动作[^4]。 假设当前目录存在一组相互依赖关系已经解决好的RPM文件,那么就可以这样来进行全部安装: ```bash sudo rpm -ivh *.rpm ``` 需要注意的是,当采用这种方式更新大量现有程序时,有可能会替换掉一些自定义过的配置文档,所以建议事先做好备份措施,并认真审核新版本设置是否满足业务需求。 #### 解决依赖性问题 有时单独尝试安装某个特定版本的应用程序可能导致其所需的其他组件缺失而失败。为了确保顺利完成部署流程,应当先确认目标机器上的环境能够支持所选应用正常运作所需的一切条件。通常情况下,现代Linux发行版自带的yum或dnf工具能更好地自动解析和获取必要的依赖项,从而简化这一环节的工作负担[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值