linux RPM,,Linux rpm命令参数使用大全(经典)

linux RPM,,Linux rpm命令参数使用大全(经典)

RPM是红帽包管理器中的“添加/删除程序”,类似于Windows。本文介绍了linux rpm命令参数的完整用法。有兴趣的朋友可以一起学习一下。

RPM是RedHat包管理器(RedHat包管理工具),类似于Windows中的“添加/删除程序”。

rpm 执行安装包

二进制包和源码包。二进制包可以直接安装在电脑里,而源码包会被RPM自动编译安装。源代码通常以src.rpm作为后缀。

常用命令组合:

- ivh: installation显示安装进度-install-verbose-hash

- Uvh:升级包-更新;

- qpl:列出RPM包中的文件信息【查询包列表】;

- qpi:列出RPM软件包的描述信息【查询包安装包】;

-qf:查找指定文件属于哪个RPM包【查询文件】;

-va:检查所有RPM软件包,找到丢失的文件[view lost];

-e:删除包

Rpm -q samba //查询程序是否安装。

rpm-IVH/媒体/cdrom/红帽/rpms/桑巴-.-. e . I . rpm//按照路径安装并显示进度。

rpm-IVH-relocate/=/opt/gaimgeim-.-. fc . I . rpm//指定安装目录。

Rpm-IVH-testgaim-.-. fc . I . rpm//用于检查依赖关系;不是真的装;

rpm-uvh-旧包gaim-.-. fc . I . rpm//新版本降级为旧版本。

Rpm-QA | grep httpd #[搜索是否安装了指定的rpm包]-all search *httpd*

Rpm-qlhttpd #[搜索rpm包]-列出所有文件安装目录

Rpm-qpi Linux-.I . rpm #[查看rpm包]-查询-包-安装包信息

Rpm-qpf Linux-.I . rpm #[查看rpm包]-文件

rpm-qpr file . rpm #[查看包]依赖项

rpm cpio file . rpm | cpio-div #[提取文件]

rpm-IVH file . rpm #[安装新rpm]-install-verbose-hash

rpm -ivh

rpm-uvh file . rpm #[升级rpm] -升级

Rpm-efile . rpm #[删除rpm包]-擦除

常用参数:

安装/升级/擦除选项:

-i,- install安装软件包

-v,- verbose提供更详细的输出

-h,- hash在软件包安装时打印散列标记(适用于-v)

-e,- erase擦除(卸载)软件包

-U,- upgrade=packagefile升级包

-replacekge强制安装软件包,而不管软件包是否已安装。

-测试安装测试,而不是实际安装。

- nodeps忽略软件包的依赖关系并强制安装它们。

- force忽略包和文件之间的冲突。

查询选项(使用-q或- query):

-a,- all查询/验证所有包

-p,- package查询/验证包文件

-l,- list列出包中的文件

-d,- docfiles列出所有文档文件

-f,- file查询/验证拥有文件的包

RPM源代码包装安装

src.rpm末尾的文件,由软件的源代码打包。要安装这种RPM软件包,用户必须使用命令:

rpm-recompile vim-4.6-4 . src . rpm #这个命令将会解包源代码并编译和安装它。如果用户使用该命令:

RPM-RPM-rebuild vim-4.6-4 . src . RPM # #安装完成后,编译好的可执行文件会重新打包到i386.rpm的RPM包中

我不喜欢写复杂的东西。如果麻烦的话,仅供参考。我甚至转给了一个文笔真的很全面的人。

作者:南北南北

出发地:LinuxSir。(同organic)有机

摘要:RPM是红帽包管理器的缩写,原意是红帽包管理;本文介绍了RPM,并举例说明了RPM手动安装和查询的应用。

文本:

RPM是红帽包管理器的缩写,意思是红帽包管理,顾名思义就是红帽贡献的包管理。在Fedora、Redhat、Mandriva、SuSE、YellowDog等主流发行版本中采用。以及在这些版本基础上开发的发行版本;

RPM包中包含什么?它包含一个可执行的二进制程序,类似于。Windows软件包中的exe文件。RPM包还包括程序运行所需的文件,类似于Windows的软件包。除了。exe文件,还有其他文件供程序在Windows中运行。

有时候,一个RPM包中的应用除了自己的附加文件之外,还需要其他特定的版本文件才能保证正常运行,这就是软件包的依赖性。依赖不是Linux独有的,Windows操作系统也存在。比如我们在Windows系统下运行3D游戏,安装的时候,他可能会提示安装Direct9Linux和Windows的原理差不多;

软件安装流程图:

本条款的使用范围:

1.本文是对RPM管理软件的讲解,使用make for file.tar.gz或file.tar.bz2源码包;Make make安装软件无效;

2.安装软件时,最好使用各自发行版提供的系统包管理工具。对于Fedora/Redhat,可以参考以下文章;

1)Fedora系统管理软件包工具system-config-packages,方便添加和删除系统安装盘提供的软件包。详情请咨询《Fedora 软件包管理器system-config-packages》。

2)Redhat系统管理软件包工具。较新的系统应该是redhat-config-packages,用法和《Fedora 软件包管理器system-config-packages》一样;

3)apt新立得软件包在线安装、卸载和升级工具;用法:《用apt+synaptic 在线安装或升级Fedora core 4.0 软件包》

4)在线安装、升级和移除4)yum软件包的工具;用法:《Fedora/Redhat 在线安装更新软件包,yum 篇》

5)所有yum和apt教程《apt and yum》

目前apt和yum已经极其成熟。建议我们安装软件的时候用apt或者YUM。如果安装系统盘提供的包,可以使用system-config-packages或者Red Hat-Config-Packages;

一、RPM包管理的目的;

1.可以安装、删除、升级、管理软件;当然也支持软件在线安装升级;

2.通过RPM包管理,可以知道一个软件包包含哪些文件,系统中某个文件属于哪个软件包;

3.可以查询系统中的软件包是否安装及其版本;

4.作为开发者,你可以把自己的程序打包成RPM包发布;

5.软件包签名GPG和MD5的导入、验证和签名发布

6.检查依赖性以查看是否有任何软件包由于不兼容而干扰系统;

第二,RPM的使用权;

RPM软件只有root权限才能安装、删除和更新;任何用户都可以操作查询功能;如果普通用户有安装目录的权限,也可以安装。

第三,rpm的简单用法;

除了软件包管理器,我们可以通过rpm命令安装它。不是所有软件包都可以用rpm命令安装吗?不,文件结尾是。rpm后缀。有时候我们在一些网站上找到file.rpm,要用rpm安装;

一)初始化rpm 数据库;

通过rpm命令查询是否安装了rpm包也是通过rpm数据库完成的;因此,我们应该始终使用以下两个命令来初始化rpm数据库;

[root @ localhost Bei nan]# rpm-initdb

[root @ localhost beinan]# rpm-rebuild db

注意:这需要很长时间;

注意:这两个参数非常有用。有时候rpm系统有问题,无法安装和查询。大部分都在这里。

二)RPM软件包管理的查询功能:

命令格式

rpm {-q |-query }[选择选项][查询选项]

RPM的查询功能极其强大,是最重要的功能之一;几个常见的例子,详情请参考#man rpm。

1.查询系统中已安装的软件;

1)查询系统已安装的软件;

语法:rpm -q软件名称

示例:

[root @ localhost Bei nan]# rpm-q gaim

gaim-1.3.0-1.fc4

-q是- query,中文意思是“问”。此命令指示系统中是否安装了Gaim如果安装了,会有信息输出;如果没有安装,则输出没有安装gaim的信息;

要查看系统中所有已安装的软件包,请添加-a参数;

[root@localhost RPMS]# rpm -qa

如果分页,添加pipeline |和more命令;

[root @本地主机RPMS]# rpm-QA |更多

在所有已安装的软件包中寻找某个软件,比如GAIM;可以通过grep提取;

[root @ localhost RPMS]# rpm-QA | grep gaim

以上函数与rpm -q gaim的输出结果相同;

2)查询安装文件属于哪个软件包;

语法rpm -qf文件名

注意:应该指出文件名所在的绝对路径。

举个例子

[root @ localhost RPMS]# rpm-qf/usr/lib/libacl . la

libacl-devel-2.2.23-8

3)查询已安装软件包的安装位置;

语法:rpm -ql软件名或rpm rpmquery -ql软件名

示例:

[root @ localhost RPMS]# rpm-QL lynx

[root @ localhost RPMS]# rpm query-QL lynx

4)查询已安装软件包的信息。

语法:rpm -qi软件名称

示例:

[root @ localhost RPMS]# rpm-qi lynx

5)检查已安装软件的配置文件;

格式:rpm -qc软件名称

示例:

[root @ localhost RPMS]# rpm-QC lynx

6)检查已安装软件的文件的安装位置:

格式:rpm -qd软件名称

示例:

[root @ localhost RPMS]# rpm-qd lynx

7)检查已安装软件所依赖的软件包和文件;

格式:rpm -qR软件名称

示例:

[root @ localhost Bei nan]# rpm-qR rpm-python

查询已安装软件汇总:对于一个已经安装的软件包,我们可以结合一系列参数;如RPM-QIL;例如:

[root @ localhost RPMS]# rpm-qil lynx

2、对于未安装的软件包的查看:

查看的前提是你有一个. rpm文件,也就是说查看现有的软件file.rpm等。

1)检查软件包的用途、版本和其他信息;

语法:rpm -qpi file.rpm

示例:

[root @本地主机RPMS]# rpm-qpi lynx-2 . 8 . 5-23 . i386 . rpm

2)检查软件包中包含的文件;

语法:rpm -qpl file.rpm

示例:

[root @本地主机RPMS]# rpm-qpl lynx-2 . 8 . 5-23 . i386 . rpm

3)检查软件包文档的位置;

语法:rpm -qpd file.rpm

示例:

[root @本地主机RPMS]# rpm-qpd lynx-2 . 8 . 5-23 . i386 . rpm

5)检查软件包的配置文件;

语法:rpm -qpc file.rpm

示例:

[root @本地主机RPMS]# rpm-qpc lynx-2 . 8 . 5-23 . i386 . rpm

4)检查软件包的依赖性。

语法:rpm -qpR file.rpm

示例:

[root @ localhost archives]# rpm-qpR yumex _ 0.42-3.0 . fc4 _ no arch . rpm

/bin/bash

/usr/bin/python

配置(yumex)=0.42-3.0.fc4

pygtk2

pygtk2-libglade

rpmlib(compressed filenames)=3 . 0 . 4-1

rpmlib(PayloadFilesHavePrefix)=4.0-1

用户模式

yum=2.3.2

三)软件包的安装、升级、删除等;

1、安装和升级一个rpm 包;

[root @ localhostbeinan]# rpm-VIH file . rpm注意:这是用来安装一个新的rpm包;

[root @ localhost Bei nan]# rpm-uvh file . rpm注意:这是用来升级一个rpm包的;

如有依赖,请解决依赖。事实上,软件包管理器可以很好地解决依赖性。请看之前软件包管理器的介绍。如果在包管理器中也找不到依赖包;那只能通过编译他所依赖的包来解决依赖,或者强制安装;

语法结构:

[root @ localhost beinan]# rpm-IVH file . rpm-nodeps-force

[root @ localhost beinan]# rpm-Uvh file . rpm-nodeps-force

更多参数见手册rpm。

示例:

[root @本地主机RPMS]# rpm-IVH lynx-2 . 8 . 5-23 . i386 . rpm

准备的.########################################### [100%]

1:lynx # # # # # # # # # # # # # # # # 100%]

[root @ localhost RPMS]# rpm-IVH-replace pkgs lynx-2 . 8 . 5-23 . i386 . rpm

准备的.########################################### [100%]

1:lynx # # # # # # # # # # # # # # # # 100%]

注意:- replacepkgs参数用于再次安装已安装的软件;有时候没必要;

测试参数- test,用于检查依赖关系;不是真的装;

[root @ localhost RPMS]# rpm-IVH-test gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

准备的.########################################### [100%]

从新版本降级到旧版本,add - oldpackage参数;

[root @ localhost RPMS]# rpm-QA gaim

gaim-1.5.0-1.fc4

[root @ localhost RPMS]# rpm-Uvh-old package gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

准备的.########################################### [100%]

1:gaim # # # # # # # # # # # # # # # # # # # # # # # # # # # # #[100%]

[root @ localhost RPMS]# rpm-QA gaim

gaim-1.3.0-1.fc4

指定软件包的安装目录:添加-relocate参数;下面的例子是在/opt/gaim目录下安装gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm;

[root @ localhost RPMS]# rpm-IVH-relocate/=/opt/gaim gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

准备的.########################################### [100%]

1:gaim # # # # # # # # # # # # # # # # # # # # # # # # # # # # #[100%]

[root @本地主机RPMS]# ls /opt/

盖姆

指定软件包的安装目录:添加-relocate参数;下面的例子是在/opt/lynx目录下安装lynx-2 . 8 . 5-23 . i386 . rpm;

[root @ localhost RPMS]# rpm-IVH-relocate/=/opt/lynx-badreloc lynx-2 . 8 . 5-23 . i386 . rpm

准备的.########################################### [100%]

1:lynx # # # # # # # # # # # # # # # # 100%]

我们如何调用安装在指定目录下的程序?一般执行程序放在安装目录的bin或sbin目录下;看下面这个例子;如果有错误输出,做相应的链接,使用LN-S;

[root @本地主机RPMS]# /opt/lynx/usr/bin/lynx

配置文件/etc/lynx.cfg不可用。

[root @ localhost RPMS]# ln-s/opt/lynx/etc/lynx . CFG/etc/lynx . CFG

[root @ localhost RPMS]#/opt/lynx/usr/bin/lynx www.linuxsir.org

2、删除一个rpm 包;

第一,你要学会查询rpm包;请看前面的说明;

[root@localhost beinan]#rpm -e包名

示例:我想删除lynx包。完整的操作应该是:

[root@localhost RPMS]# rpm -e lynx

如果存在依赖项,也可以使用- nodeps忽略依赖项检查来删除它。但是尽量不要这么做。最好使用软件包管理器system-config-packages来删除或添加软件;

[root @ localhost beinan]# rpm-e lynx-nodeps

四。导入签名:

[root @ localhost RPMS]# rpm-导入签名文件

示例:

[root @ localhost fc40]# RPM-import RPM-GPG-KEY

[root @ localhost fc40]# RPM-import RPM-GPG-KEY-fedora

有关RPM的签名功能的详细信息,请参见man RPM。

5.RPM管理包管理器支持网络安装和查询;

比如我们想通过一个Fedora Core 4.0的镜像来查询和安装软件包;

地址:

http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/

示例:

命令格式:

rpm包文件的参数rpm http或ftp地址

# rpm-qpi http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

# rpm-IVH http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

举一反三;

不及物动词对已安装软件包查询的一点补充;

[root@localhost RPMS]# updatedb

[root@localhost RPMS]#定位软件名或文件名

通过updatedb,我们可以使用locate查询一些软件安装在哪里;Updatedb应该在系统第一次安装的时候执行,每隔一段时间执行一次。使安装的软件库保持最新;Updatedb归slocate包所有;如果没有这个命令,就得安装slocate

示例:

[root@localhost RPMS]#找到gaim

七。从rpm软件包中提取文件;

命令格式:rpm2cpio file.rpm |cpio -div

示例:

[root @ localhost RPMS]# rpm 2 cpio gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm | cpio-div

提取的文件在当前操作目录下的usr和etc中;

其实安装软件不如指定安装目录方便。您也可以提取文件;

指定软件包的安装目录:添加-relocate参数;下面的例子是在/opt/gaim目录下安装gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm;

[root @ localhost RPMS]# rpm-IVH-relocate/=/opt/gaim gaim-1 . 3 . 0-1 . fc 4 . i386 . rpm

准备的.########################################### [100%]

1:gaim # # # # # # # # # # # # # # # # # # # # # # # # # # # # #[100%]

[root @本地主机RPMS]# ls /opt/

盖姆

这个也可以一目了然;gaim的所有文件都安装在/opt/gaim中。我们只需备份gaim目录并卸载gaim。其实这是解压文件的一点用法;

八。RPM的配置文件;

RPM包管理,配置文件是rpmrc,可以在我们自己的系统中找到;例如,Fedora Core 4.0中的rpmrc文件位于;

[root @ localhost RPMS]# locate RPC

/usr/lib/rpm/rpmrc

/usr/lib/rpm/redhat/rpmrc

我们可以通过rpm - showrc来查看;我们必须自己了解细节。哦。别问我,我也不懂;只要你看了这篇文章,觉得对你有用,你的水平和我差不多;我们水平一样,我帮不了你;请理解;

九。src.rpm的用法:

《file.src.rpm 使用方法的简介》

后记:我在Fedora/Redhat入门教程里写过很多关于软件包管理的内容;目前还缺乏通过源码包和一个总结文档来安装软件的方法;我想这两天补上。之前写过这两篇文章;只是重新整理一下,贴出来;

就我的水平来说,写Fedora入门教程是极其费力的,只能一点一点完善补充;我写的教程是给对Linux一无所知的初学者的;教程中的例子占大多数;我发现在没有例子的情况下,新手看man比较好;我能看见人,当然我不是新手。

经常在论坛上看一些兄弟的问题,虽然一问一解我也能应付。但是为了让大家更方便,不如写一个系统的入门教程;虽然需要的时间长一点;

Ps: Linux rpm删除命令

命令格式:

rpm -e(或- erase)选项pkg1.pkgN

参数

Pkg1.pkgN:要删除的包

详细选项

- test仅执行已删除的测试。

- noscripts不运行安装前和安装后脚本。

- nodeps不检查依赖关系。

常规选项

-vv显示调试信息。

- root >让RPM使用指定的路径作为“根目录”,以便可以预安装和后安装程序。

程序将安装在这个目录中。

- rcfile >将rpmrc文件设置为

- dbpath >将RPM数据清单所在的路径设置为

linux RPM,,Linux rpm命令参数使用大全(经典)