`

【转载:】 查看linux下安装了哪些软件(rpm)和 rpm 常用命令

 
阅读更多

【摘自:】

http://home.phpchina.com/blog-170695-186519.html

 

 

 

1、查看是否安装了gcc

   命令 #rpm -ql gcc

        #rpm -qa |grep gcc

   参数:q-询问

         a-查询全部

         l-显示列表

2、权限

   安装和删除只有root和有安装权限的用户才可以进行。查询是每个用户都可以进行操作的。

 

*********************************************************************************************

下面是转来的一篇文章,先存着

http://www.linuxsir.org/main/?q=node/50

RPM 的介绍和应用
作者:北南南北
来自:LinuxSir.Org
提要:RPM 是 Red Hat Package Manager 的缩写,原意是Red Hat 软件包管理;本文介绍RPM,并结合实例来解说RPM手工安装、查询等应用;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用; RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件;一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ;Linux和Windows原理是差不多的;软件安装流程图:
本文使用范围:

1、本文是对RPM管理的软件的说明,对通过file.tar.gz 或file.tar.bz2源码包用 make ;make install 安装的软件无效;
2、安装软件时,最好用各自发行版所提供的系统软件包管理工具,对于Fedora/Redhat 您可以参考如下文章; 1)Fedora 系统管理软件包工具 system-config-packages,方便的添加和移除系统安装盘提供的软件包,详情请看 《Fedora 软件包管理器system-config-packages》 2)Redhat 系统管理软件包工具,新一点的系统应该是 redhat-config-packages ,用法和 《Fedora 软件包管理器system-config-packages》 一样; 3)apt + synaptic 软件包在线安装、移除、升级工具; 用法:《用apt+synaptic 在线安装或升级Fedora core 4.0 软件包》
4)yum 软件包在线安装、升级、移除工具;用法:《Fedora/Redhat 在线安装更新软件包,yum 篇》 5)所有的yum和apt 教程 《apt and yum》 目前 apt和yum 已经极为成熟了,建议我们安装软件时,采用 apt或者yum ;如果安装系统盘提供的软件包,可以用 system-config-packages 或redhat-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 beinan]# rpm --initdb 
[root@localhost beinan]# rpm --rebuilddb   注:这个要花好长时间;
注:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题;

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

命令格式
rpm {-q|--query} [select-options] [query-options]
RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm

1、对系统中已安装软件的查询;
1)查询系统已安装的软件;
语法:rpm -q 软件名
举例:
[root@localhost beinan]# rpm -q   gaim
gaim-1.3.0-1.fc4
-q就是 --query ,中文意思是“问”,此命令表示的是,是不是系统安装了gaim ;如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息;查看系统中所有已经安装的包,要加 -a 参数 ;
[root@localhost RPMS]# rpm -qa

如果分页查看,再加一个管道 |和more命令;
[root@localhost RPMS]# rpm -qa |more
在所有已经安装的软件包中查找某个软件,比如说 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]# rpmquery -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 beinan]# rpm -qR  rpm-python
查询已安装软件的总结:对于一个软件包已经安装,我们可以把一系列的参数组合起来用;比如 rpm -qil ;比如:
[root@localhost RPMS]# rpm -qil lynx

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

查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看等; 1)查看一个软件包的用途、版本等信息;
语法: rpm -qpi   file.rpm
举例:
[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm 
2)查看一件软件包所包含的文件;
语法: rpm -qpl   file.rpm
举例:
[root@localhost RPMS]# rpm -qpl  lynx-2.8.5-23.i386.rpm 
3)查看软件包的文档所在的位置;
语法: rpm -qpd   file.rpm
举例:
[root@localhost RPMS]# rpm -qpd  lynx-2.8.5-23.i386.rpm 
5)查看一个软件包的配置文件;
语法: rpm -qpc   file.rpm
举例:
[root@localhost 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_noarch.rpm
/bin/bash
/usr/bin/python
config(yumex) = 0.42-3.0.fc4
pygtk2
pygtk2-libglade
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
usermode
yum >= 2.3.2

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

1、安装和升级一个rpm 包;
[root@localhost beinan]#rpm  -vih file.rpm 注:这个是用来安装一个新的rpm 包;
[root@localhost beinan]#rpm -Uvh file.rpm 注:这是用来升级一个rpm 包;
如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;语法结构:
[root@localhost beinan]# rpm -ivh file.rpm --nodeps --force
[root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force
更多的参数,请查看 man rpm 举例应用:
[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm
Preparing...                ########################################### [100%]
   1:lynx                   ########################################### [100%]


[root@localhost RPMS]# rpm -ivh --replacepkgs  lynx-2.8.5-23.i386.rpm
Preparing...                ########################################### [100%]
   1:lynx                   ########################################### [100%]
注: --replacepkgs 参数是以已安装的软件再安装一次;有时没有太大的必要;测试安装参数 --test ,用来检查依赖关系;并不是真正的安装;
[root@localhost RPMS]# rpm -ivh --test  gaim-1.3.0-1.fc4.i386.rpm
Preparing...                ########################################### [100%]
由新版本降级为旧版本,要加 --oldpackage 参数;
[root@localhost RPMS]# rpm -qa gaim
gaim-1.5.0-1.fc4

[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm
Preparing...                ########################################### [100%]
   1:gaim                   ########################################### [100%]

[root@localhost RPMS]# rpm -qa gaim
gaim-1.3.0-1.fc4
为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中;
[root@localhost RPMS]# rpm -ivh  --relocate /=/opt/gaim  gaim-1.3.0-1.fc4.i386.rpm
Preparing...                ########################################### [100%]
   1:gaim                   ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim
为软件包指定安装目录:要加 -relocate 参数;下面的举例是把lynx-2.8.5-23.i386.rpm 指定安装在 /opt/lynx 目录中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]
我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s ;
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx

Configuration file /etc/lynx.cfg is not available.

[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 忽略依赖的检查来删除。但尽可能不要这么做,最好用软件包管理器 systerm-config-packages 来删除或者添加软件;
[root@localhost beinan]# rpm -e lynx --nodeps

四、导入签名:

[root@localhost RPMS]# rpm --import 签名文件 举例:
[root@localhost fc40]# rpm --import RPM-GPG-KEY
[root@localhost fc40]# rpm --import RPM-GPG-KEY-fedora
关于RPM的签名功能,详情请参见 man rpm

五、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.fc4.i386.rpm
# rpm  -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
举一反三吧;
六、对已安装软件包查询的一点补充;

[root@localhost RPMS]# updatedb
[root@localhost RPMS]#  locate 软件名或文件名
通过updatedb,我们可以用 locate 来查询一些软件安装到哪里了;系统初次安装时要执行updatedb ,每隔一段时间也要执行一次;以保持已安装软件库最新;updatedb 是slocate软件包所有;如果您没有这个命令,就得安装slocate ;举例:
[root@localhost RPMS]#  locate gaim


七、从rpm软件包抽取文件;

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

举例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div
抽取出来的文件就在当用操作目录中的 usr 和etc中;其实这样抽到文件不如指定安装目录来安装软件来的方便;也一样可以抽出文件;为软件包指定安装目录:要加 -relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中;
[root@localhost RPMS]# rpm -ivh  --relocate /=/opt/gaim  gaim-1.3.0-1.fc4.i386.rpm
Preparing...                ########################################### [100%]
   1:gaim                   ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim
这样也能一目了然;gaim的所有文件都是安装在 /opt/gaim 中,我们只是把gaim 目录备份一下,然后卸掉gaim;这样其实也算提取文件的一点用法;
八、RPM的配置文件;

RPM包管理,的配置文件是 rpmrc ,我们可以在自己的系统中找到;比如Fedora Core 4.0中的rpmrc 文件位于;
[root@localhost RPMS]# locate rpmrc
/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc
我们可以通过 rpm --showrc 查看;具体的还得我们自己来学习。呵。。。不要问我,我也不懂;只要您看了这篇文章,认为对您有用,您的水平就和我差不多;咱们水平是一样的,所以我不能帮助您了;请理解;

九、src.rpm的用法:

《file.src.rpm 使用方法的简介》
后记:Fedora/Redhat 入门教程中的软件包管理篇,我已经写了很多了;目前还缺少通过源码包安装软件我方法以及一篇总结性的文档;我想在最近两天补齐,这两篇我以前写过;重新整理一下贴出来就行了;以我的水平来看,写Fedora 入门教程是极为费力气的,只能一点一点的完善和补充;我所写的教程是面对的是对Linux一无所知新手;教程中实例应用占大部份;我发现没有实例的情况下,新手不如看man ;能看man了,当然也不是什么新手;经常在论坛上看一些弟兄的提问,虽然一问话解说过去也能应付;但想让大家更方便一点,不如写系统入门教程;虽然所花的时间要长一点;
分享到:
评论

相关推荐

    Linux下snmp的rpm安装包及安装教程.rar

    RPM(Red Hat Package Manager)是Linux发行版中常用的软件包管理工具,用于安装、升级和卸载软件。本教程将详细介绍如何在Linux环境下通过RPM包安装SNMP。 首先,你需要了解SNMP的基本概念。SNMP由三个主要组件...

    linux离线安装perl需要rpm

    RPM是Linux发行版如CentOS、Fedora、RHEL等常用的包管理器,它允许用户安装、升级、查询、验证和删除软件包。RPM文件通常包含了预编译的软件及其元数据,便于系统管理。 在Linux下离线安装Perl,你需要先获取对应的...

    Linux rpm 常用命令总结

    Linux rpm 常用命令总结 Linux 操作系统中,rpm(Red Hat Package Manager)是一种软件包管理器,用于安装、升级、删除和查询软件包。下面是 Linux rpm 常用命令总结: 一、安装 安装命令格式:rpm -i (or --...

    linux\linux-rpm安装命令

    ### Linux RPM 安装命令详解 在Linux系统中,RPM(Red Hat Package Manager)是一种广泛使用的软件包管理系统,主要用于管理、安装、卸载及升级软件包。通过RPM,用户可以轻松地处理各种类型的软件包,从而简化了在...

    linux下elasticsearch8.2.2 rpm安装包 linux下elasticsearch8.2.2 rpm安装

    linux下elasticsearch8.2.2 rpm安装包linux下elasticsearch8.2.2 rpm安装包linux下elasticsearch8.2.2 rpm安装包linux下elasticsearch8.2.2 rpm安装包linux下elasticsearch8.2.2 rpm安装包linux下elasticsearch8.2.2...

    Linux常用命令RPM 的详解文档

    - `--root &lt;路径&gt;`:让 RPM 将指定的路径作为“根目录”,这样预安装程序和后安装程序都会安装到这个目录下。 - `--rcfile &lt;文件&gt;`:设置 RPM 配置文件。 - `--dbpath &lt;路径&gt;`:设置 RPM 数据库存储路径。 #### 五...

    常用linux命名rpm包

    在Linux操作系统中,RPM(Red Hat Package Manager)是一种广泛使用的软件包管理器,它能够帮助用户方便地安装、升级、查询和卸载软件。"常用Linux命令rpm包"指的是包含了若干常用Linux命令的RPM软件包,这些命令在...

    linux的rpm软件安装的方法

    "Linux RPM 软件安装方法详解" 在 Linux 系统中,RPM(Red Hat Package Manager)是最常用的软件包管理器之一。RPM 软件包通常具有类似 foo-1.0-1.i386.rpm 的文件名,其中包括软件包的名称(foo)、版本号(1.0)...

    linuxRPM命令详解

    ### Linux RPM 命令详解 #### 概述 RPM (Red Hat Package Manager) 是...通过掌握 RPM 的基本命令和选项,用户可以更加高效地管理自己的 Linux 系统。无论是日常使用还是系统维护,了解 RPM 都是一项必不可少的技能。

    linux 下安装软件

    RPM(Red Hat Package Manager)是一种常用的 Linux 软件包管理器,几乎所有 Linux 发行版本都使用某种形式的软件包管理安装、更新和卸载软件。RPM 的优点是易于安装和卸载、易于更新已安装的软件包、易于保护配置...

    linux 安装软件tar和rpm命令.docx

    linux 安装软件tar和rpm命令.docx

    Linux centos telnet 离线安装rpm

    在IT行业中,Linux系统是广泛应用于服务器操作系统的平台,尤其在企业级环境中。CentOS是Linux发行版之一,以其...不过,了解如何离线安装和管理RPM包是Linux系统管理的重要技能,这对于没有公网连接的环境至关重要。

    linux rpm包命令

    本文详细介绍了Linux环境下RPM包的基本管理和操作命令,包括安装、卸载、查询以及验证等操作。此外,还介绍了如何从源码包构建RPM包的过程。这些命令对于日常维护和管理Linux系统至关重要。希望本文能够帮助读者更好...

    linux系统unzip的rpm安装包

    在Linux操作系统中,`unzip`命令用于解压缩`.zip`格式的文件,而`rpm`则是一个软件包管理器,主要用于安装、升级、查询、验证RPM(Red Hat Package Manager)格式的软件包。本篇文章将深入探讨如何在Linux系统中通过...

    redis linux rpm离线安装.zip

    Linux RPM(Red Hat Package Manager)是Linux系统下的一种软件包管理器,它可以帮助用户方便地安装、升级和卸载软件。在没有网络连接或者网络环境不稳定的情况下,离线安装Redis在Linux上通常是通过RPM包来完成的。...

    linux系统下tftp安装rpm包和源代码

    总之,这个压缩包集合了Linux下利用TFTP传输文件、RPM包的管理和源代码安装等多个方面的知识,对于熟悉和掌握Linux系统的运维工作大有裨益。无论是新手还是经验丰富的系统管理员,都能从中受益,提升自己的Linux技能...

    linux_rpm命令

    ### Linux RPM 命令详解 ...理解这些命令和选项对于 Linux 用户来说至关重要,特别是对于系统管理员而言更是如此。希望本文能帮助大家更深入地了解 RPM 的功能和用法,从而更加高效地管理 Linux 系统中的软件包。

    Linux软件安装rpm包的管理.pdf

    a) 查询和验证rpm软件包的信息:可通过rpm命令配合-q选项进行,如查询所有已安装的rpm软件包可用rpm -qa,查看特定软件包的详细信息可用rpm -qi 软件名,查看软件包安装的目录文件列表可用rpm -ql 软件名,查看指定...

    linux下如何彻底卸载RPM或yum安装的mysql_linux的yum命令

    以下是如何在Linux下彻底卸载由RPM或yum安装的MySQL的详细步骤: 1. **停止MySQL服务**: 首先,确保MySQL服务已经停止,以防止在卸载过程中发生任何问题。你可以使用以下命令来停止服务: ``` sudo systemctl ...

    Linux_Oracle客户端全部rpm包

    RPM(Red Hat Package Manager)是Linux发行版中常用的软件包管理器,用于安装、升级、查询和删除软件。Oracle客户端的rpm包包含了所有必要的库和工具,使得Linux系统能够与Oracle数据库进行通信。 在Linux服务器上...

Global site tag (gtag.js) - Google Analytics