Linux软件管理 - RPM工具

Linux软件管理 - RPM工具

文本关键字:Linux、软件管理、RPM工具、软件依赖

一、RPM介绍

1. RPM含义

RPM的全称是:Red Hat Package Manager,是RPM软件包管理器。在Linux系统中对应命令是rpm,我们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此之外还包括和Red Hat最亲近的CentOS,以及其他一些主流发行版:SuSE、Fedora等。

2. RPM特点

  • rpm也是一种打包格式,使用rpm工具来进行管理
  • rpm包是预先已经编译并打包的文件,安装较为方便
  • 存在rpm相关的数据库,记录各软件间的依赖关系
  • 如果缺少相关依赖,则无法正常安装或无法正常运行
  • 如果逐一寻找依赖,在寻找过程中可能还有依赖关系,将会变成噩梦
  • 可以用yum工具解决rpm依赖问题,在后续文章中介绍

3. 软件包名称

  • vim:软件名称部分
  • enhanced:软件组件部分
  • 7:主版本号
  • 4:次版本号
  • 629:修订号
  • 5:发布次数
  • el6_10.2:平台名称,表示适用于哪种发行版
  • x86_64:系统位数,i386等表示适用于32位,x86_64表示适用于64位,noarch表示通用

二、常用命令

1. 查询

在进行软件查询时,适用rpm工具只能查询到以rpm软件包形式安装的软件信息,解压和编译安装的软件无法查询到信息。

  • q:query的简写

(1)查询已安装的软件信息

  • rpm -q 准确软件名称:查询某一个已安装软件

  • rpm -qa:显示已安装的所有软件列表

  • rpm -qi 准确软件名称:查询指定安装软件的详细信息

  • rpm -ql 准确软件名称:查看指定的软件包在系统中对应的目录和文件列表

  • rpm -qf 目录或文件夹:查看当前指定的文件或目录对应的软件包

  • 不确定具体名称时可以使用管道和筛选功能:rpm -qa|grep vim

  • 统计已安装的软件包总数:rpm -qa|wc -l


(2)查询未安装的软件信息
该操作主要是在软件包安装之前进行详细信息的查询,所以传入的参数是一个存在的软件包的路径。

  • rpm -qpi 软件包完整路径:查询待安装软件的详细信息

  • rpm -qpl 软件包完整路径:查询待安装软件的安装路径

2. 验证

使用-V可以验证软件包的正确性。

  • V:verify的简写

(1)常用命令

  • rpm -V 准确软件名称:只有校验失败时才会出现信息
  • rpm -Va:扫描验证所有软件包(推荐使用root用户,不会出现权限问题),列出产生变更的项目、欠佳的依赖关系、缺失的关键配置文件等


(2)信息标识

校验信息的后半部分显示对应的目录或文件,前半部分用大写字母表示产生变动的项目。

  • S:大小改变
  • M:权限改变
  • 5:MD5改变
  • L:链接改变
  • D:设备改变
  • U:属主改变
  • G:数组改变
  • T:修改时间改变

3. 卸载

软件包的卸载需要使用root用户来执行,必须完整提供卸载软件包的名称,可以先通过筛选查询获取。

  • e:erase的简写(擦除)

在进行卸载操作时,可能有其他软件依赖于此软件,卸载后可能会导致其他软件不可用,如果存在依赖关系,则会显示依赖信息,如果执意要删除,可以使用忽略依赖的选项:--nodeps。

  • rpm -e [--nodeps] 准确软件名称:卸载一个已安装软件,忽略依赖为可选项
rpm -e --nodeps vim-enhanced

4. 安装

软件包的安装需要使用root用户来执行,安装前一般会先查询已安装的相关软件,并卸载与之冲突的软件。

  • i:install的简写

在进行软件安装时,可能系统当中缺少某个依赖,导致无法正常安装,可以使用--force选项进行强制安装,但无法保证安装后能够正常使用。常规的解决办法是先安装需要的依赖软件包,再安装该软件,或者使用yum工具。

  • rpm -i [--force] 软件包完整路径:安装一个软件,强制安装为可选项
  • rpm -ivh 软件包完整路径:常用命令,安装一个软件,显示详细信息和进度(用#表示)

    5. 升级

    与安装类似,使用root用户操作来操作,升级某一软件。

  • U:update的简写
  • F:freshen的简写

由于在升级时,旧版本的软件可能已经安装,也可能从未安装,针对这种情况,提供了两个参数。

  • U表示:如果对应的软件包原来未安装,则直接安装,和i的效果相同
  • F表示:如果对应的软件包原来未安装,则放弃安装
  • rpm -U/F 软件包完整路径:升级一个软件

    6. 维护

    (1)RPM数据库维护
    如果本机的RPM数据库损坏,可能会导致无法正确的读取依赖关系,致使无法正常执行rpm相关功能,此时可以使用--initdb选项。

    rpm --initdb

    (2)签名验证
    当下载了一个软件后,如果我们无法确保它的来源,以及是否被篡改,则需要使用相应的GPG文件。一般在光盘镜像、网络镜像中都可以找到该文件,使用--import命令导入,在安装软件时会自动生效。

    rpm --import /mnt/cdrom/RPM-GPG-KEY-CentOS-6

原文地址:https://blog.51cto.com/10984944/2471489

时间: 2024-12-19 06:41:48

Linux软件管理 - RPM工具的相关文章

Linux软件管理 - YUM工具

Linux软件管理 - YUM工具 文本关键字:Linux.软件管理.YUM工具.解决依赖 一.YUM介绍 1. YUM含义 YUM的全称是:Yellowdog Updater Modified,是一个基于RPM包管理的Shell前端软件包管理器.由于是基于RPM包管理器,那么使用的场景也就和RPM类似,主要支持的Linux操作系统为:RedHat.CentOS.Fedora.YUM还提供了图形化前端工具:yumex和kyum,需要在yum正常工作的前提下使用. 2. YUM特点 使用pytho

linux入门基础——linux软件管理RPM

因为linux入门基础是基于CentOS讲解的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RPM软件包管理 源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要手动编译成二进制形式之后才能够运行使用 源代码基本编译流程: 1 ./configure   检查编译环境.相关库文件以及配置参数并生成makefile 2 make  

Linux软件管理(rpm、yum、tar)

RPM软件包安装 YUM安装 源代码安装 TAR包管理:实现对文件的备份和压缩 rpm包管理 rpm命令是RPM软件包的管理工具. -a:查询所有套件:-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称:-c:只列出组态配置文件,本参数需配合"-l"参数使用:-d:只列出文本文件,本参数需配合"-l"参数使用:-e<套件档>或--erase<套

36.Linux软件管理--YUM工具

软件分类: v 源码软件包:软件开发者,源代码集合包.适用于所有的Linux系统. v 定制软件包:根据特定系统和版本从源码包提取的软件包.RPM包和DEB包都是属于定制软件包.RPM包适用于Redhat,CentOS,Fedora等操作系统.DEB包适用于Debian,Ubuntu等操作系统. 源码包和定制软件包的区别 源码包 RPM.DEB包 安装复杂,卸载容易 安装简单,卸载麻烦 安装目录集中 安装目录分散 兼容性好 兼容性差 命令执行需要跟全路径 命令执行不需要跟全路径 特定的软件也需要

linux软件管理RPM

rpm ---> 软件包的管理工具-i ---> 安装-v ---> 显示过程-h ---> hash加密-e ---> 卸载 -q ---> 查看-a ---> 所有-p ---> 软件包 -qa ---> c查看所有软件包-ql ---> 查看软件在系统中的安装文件路径-qlp ---> 查看未安装的软件包在系统中如果安装后产生文件的路径-qf ---> 根据某个文件找出此文件属于那个安装包-qc ---> 查看软件的配置文

Linux软件包管理{rpm|yum|源码包}2015082901

CentOS软件包管理 Linux程序安装有三种方式: 1.  二进制包安装 a.RPM b.YUM 2.  源码包安装 (1)二进制包管理: RPM CentOS上的二进制包为rpm格式,并且rpm软件包管理程序也叫做rpm(RPM is Package Manager) RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程.此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息至数据库中(/var/lib/rpm),这样方便了软件日后的

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

linux软件管理(六)

[教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软件的安装.升级.查询.反安装的功能.优点:a.安装方便,软件中所有数据都经过编译和打包b.查询.升级.反安装方便缺点:a.缺乏灵活性b.存在相依属性 用法: rpm  参数   软件包 指令选项-i:安装.-U:升级安装,如果不存在也安装.-F:更新安装,如果不存在不安装.-v:查看信息.-h:有进

Linux服务器管理: RPM包

服务安装类型主要分两种: RPM安装和源码包编译安装: 1.RPM包查看: rpm -qa | grep 包名 用chkconfig --list 查看服务自启动命令    只对RPM包安装的服务生效 源码包未必生效 ps -aux (查看系统当中所有启动的进程)  ps aux | grep 服务名 如果有返回则说明服务在运行 netstat -tlun (守护进程没有端口是看不到的) 2.源码包查看安装服务 源码包的所有都放置在安装目录当中如果删除该目录那么该服务就会干净的在服务器上消失.