RPM使用简介

简介: 如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/08/4699969.aspx          RPM全名是RedHat Package Manager,简称为RPM,又称之为RPM软件包管理器,使RedHat套件管理程序之一,类似于Windows控制面板中的添加删除模块,Windows添加删除程序通过将安装信息记录在注册表,以便于程序的更新,卸载。

如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/08/4699969.aspx

 

       RPM全名是RedHat Package Manager,简称为RPM,又称之为RPM软件包管理器,使RedHat套件管理程序之一,类似于Windows控制面板中的添加删除模块,Windows添加删除程序通过将安装信息记录在注册表,以便于程序的更新,卸载。而RPM同样有着类似的功能,用于linux下套件包的安装与管理。

      一、RPM与SRPM简介及功能

      1. RPM:RPM通过采用数据库记录的方式来将所需要的套件安装到Linux系统中。RPM包的格式为*.rpm,RPM包为已经经过编译且包装完成的rpm文件,这是其最大的特点。与我们通用的软件安装类似,在安装所需的套件之前,先根据套件中提供的安装参数检查该套件安装所需的环境,如果系统的环境与套件中所要求的环境相一致(软件包打包时的环境),则可以成功安装,否则会提示报错,或提示其安装依赖属性模块,需预先安装某某套件才可以再安装该套件。成功安装套件后,RPM套件管理器会将所安装的套件包记录到RPM数据库中,以便后续的查询、验证、升级、卸载等。

    

     2. SRPM:与RPM最大的特点相对应,SRPM就是包含了Source code的RPM,即SRPM提供的内容为源码,当然也就没有经过编译。 同时SRPM也提供了参数配置文件(configure与makefile)。想必大家已经知道,它与RPM最大的差异是,在安装套件时需要通过RPM管理器将要安装的套件以RPM管理的方式进行编译,根据系统环境修改参数配置文件,然后将编译好的RPM安装到Linux系统中。由此可以看出SRPM在编译时修改了参数配置文件,无需与当时打包的环境一致,从而降低了对套件包所需的安装环境。

     二、RPM,SRPM包的格式及其说明

     1.RMP与SRPM的格式通常为:

           *.rpm         如:compat-db-4.1.25-9.i386.rpm

            *.src.rpm   如:compat-db-4.1.25-9.i386.src.rpm

        按以上简介可知,compat-db-4.1.25-9.i386.rpm为已经经过编译的文件,compat-db-4.1.25-9.i386.src.rpm则为没有经过编译的文件,通常套件在发行之前,同时提供rpm及srpm文件。

    2. 关于文件中i386,i686的说明:

        i386指这个软件包适用于intel 80386以上的所有x86平台的计算机。
        i686指这个软件包适用于intel 80686以上,即Pentinum II以后Intel 系列的x86平台的计算机,K7以后等级的CPU。
        noarch指这个软件包与硬件架构无关,可以通用。

    3. 套件的文件名及版本:

        如上述compat-db-4.1.25-9说明该套件的名称为compat-db,4.1.25-9为版本信息及发布次数。

 

    三、RPM的查询功能

     1. 格式:[root@localhost ~]# rpm -parameter package_name

         rpm的查询路径: /var/lib/rpm目录下的数据库文件。

         parameter说明:

         -q  : 列出package_name是否已安装到系统中。

         -qa:查询系统中安装的所有的包。

         -ql :查询package_name中所有文件的安装路径。

         -qi :列出package_name中的详细信息,包括开发商,版本,说明等。

         -V  :若package_name被修改过,则将其列出。

     2. 以下我们以在RHEL5.4下安装oracle 10g为例,通过查询所需的软件包来介绍rpm的查询功能。

         Sample 1 :查询某套件是否已安装,如要查询binutils-2.15.92.0.2-13.EL4是否已安装,如下:

         [root@localhost ~]# rpm  -q binutils

         binutils-2.17.50.0.6-12.e15                --表明包binutils 已被成功安装,且列出的版本号高于所要查询的版本。

         [root@localhost ~]# rpm  -q compat-db

         package compat-db is not installed    --表明包compat-db没有被安装到系统中

       

         Sample 2 :查询binutils-2.15.92.0.2-13.EL4的详细信息:

         [root@localhost ~]# rpm  -qi binutils        --结果省略

      

         Sapmle 3 :查询binutils-2.15.92.0.2-13.EL4的所有目录与文件:

         [root@localhost ~]# rpm  -ql binutils       --结果省略

 

    四、RPM的安装卸载功能

         通过RPM查询功能我们可以得到某些软件包是否已安装到系统中以及列出其路径,详细信息等。对于那些没有安装到系统中,且由于相关程序的依赖性,需要将其安装的系统中,我们同样可以通过RPM来完成,格式同上所述,仅仅是给RPM不同的参数而已。当然也可以对其已安装的软件包进行升级或卸载。

     1. 安装软件包。同RPM查询功能中介绍的格式一样,仅仅将parameter改为 ivh 即可。ivh通常组合在一起使用,也可以分开使用。i代表install的意思,v则表示显示更详细的安装信息,h表示显示安装进度。因此本人更倾向于同时使用上述三个参数。

     Sample 1 :安装我们前一节所述的不存在的compat-db包

     [root@localhost ~]# rpm  -ivh compat-db-4.1.25-9    

     这里将安装结果图截屏供大家参考:

     image

      可以到Google搜索该软件包

      当然也可以通过网址来安装该软件包,前提是你的Linux系统能正常连接到Internet。

    

     Sample 2: 同时安装多个软件包,只要在参数ivh后面跟多个软件包即可,请确保路径可以正确找到所需的软件包。

     [root@localhost ~]# rpm  -ivh compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2

    

    2. 更新与卸载软件包

        此处包括更新软件包和卸载软件包,下面分开叙述。

        更新软件包的情况,以下仅提供参数说明,命令格式规范同前所述:

        参数:-Fvh,对于已安装的旧版软件包,系统自动更新,对于没有安装后的后续软件包系统则不会更新。

                 -Uvh,对于已安装的旧版软件包,系统自动更新,对于没有安装后的后续软件包系统直接安装。

       卸载软件包的情况,以下仅提供参数说明,命令格式规范同前所述:

       参数:-e 卸载package_name中指定的软件包。

       注:关于SRPM的使用涉及到编译的过程,在此不作叙述。

目录
相关文章
|
1月前
|
Rust 监控 大数据
从 Pandas 转向 Polars:新手常见的10 个问题与优化建议
Polars 高性能但易误用,新手常犯10大错误:如滥用 `read_csv`、过早 `collect`、误用 Python 循环等。正确做法是善用惰性计算、表达式向量化、列裁剪、流式聚合,避免频繁物化。掌握这些技巧才能释放其真正性能。
172 4
|
算法 测试技术
详细设计文档格式
1、背景 (背景、原因) 2、名词解释 (对文档中出现新的或不常见的名词、概念或简略语给出定义和解释) 3、设计目标 3.1、实现的功能 (概要描述要实现的功能,列出要实现的功能点及子功能点,并对每一个功能点进行详细说明。
6109 0
|
监控 Ubuntu 算法
chrony介绍和安装
Chrony是一款高精度网络时间同步工具,支持NTP协议,提供纳秒级时钟校准,适用于服务器及对时间精度要求高的系统。具备自动漂移补偿、断网恢复、灵活配置等特性,广泛用于Linux环境的时间管理。
892 0
|
4月前
|
监控 数据可视化 Linux
LangSmith:大模型应用开发的得力助手
LangSmith 是大模型应用开发的高效助手,提供从调试、追踪到评估的全流程支持。通过可视化追踪树,清晰展现 LLM 应用每一步执行逻辑,提升可观察性;支持提示词优化、实时监控与自动化评估,助力开发者快速定位问题、迭代优化,构建稳定可靠的智能应用。
479 0
LangSmith:大模型应用开发的得力助手
|
域名解析 缓存 网络协议
减少域名dns解析时间
域名解析中的TTL值设置多少合适
742 5
|
11月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
430 1
YOLOv11改进策略【注意力机制篇】| 2023 MCAttention 多尺度交叉轴注意力 获取多尺度特征和全局上下文信息
|
12月前
|
人工智能 自然语言处理 搜索推荐
“AI拜年”火遍朋友圈,营销的终局是拼技术
2025年春节前夕,AI拜年成为新潮流。百度通过“春节祝福语”活动,利用文心大模型4.0 Turbo生成个性化拜年贺卡,用户只需上传照片和输入文案,即可获得高度逼真的定制贺卡。这项技术凭借iRAG(检索增强生成)实现了高精度图像生成,避免了常见的“AI味儿”,使AI生成的内容既真实又富有文化内涵,为普通用户带来了专业级的创作体验,也为图像生成的产业化落地铺平了道路。
579 9
|
Java 应用服务中间件 Apache
浅谈Tomcat和其他WEB容器的区别
Tomcat是一款轻量级的免费开源Web应用服务器,常用于中小型系统及并发访问量适中的场景,尤其适合开发和调试JSP程序。它不仅能处理HTML页面,还充当Servlet和JSP容器。相比之下,物理服务器是指具备处理器、硬盘等硬件设施的服务器,如云服务器,其设计目标是在处理能力、稳定性和安全性等方面提供高标准服务。简言之,Tomcat专注于运行Java应用,而物理服务器则提供基础计算资源。
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像12
【7月更文挑战第12天】安装【银河麒麟V10】linux系统--并挂载镜像
5596 0
|
测试技术 数据库 关系型数据库
ORA-03113: end-of-file on communication channel 解决思路&方法
场景:测试数据库的hang住问题。 长期解决的方法:定时做rman备份,删除归档日志 1.把数据库启动至mount状态 SQL> startup mount ORACLE instance started.
2954 0