软件包之RPM包管理

一.rpm包的命令格式

源程序:name-version.tar.{gz|bz2|xz}

version:major.minor.release

rpm包:name-version-release.arch.rpm

release:通常只包含发行号和os平台

el6:redhat enterprise linux

CentOS5

arch:

x86_64

i386,i586

ppc

分包:把一个复制的程序打包制作成多个rpm格式

二.来源合法性

源程序:通过md5或sha1校验码验证

rpm包:发行商光盘

验证包完整性:校验码

验证来源合法性:公钥加密算法

三.获取rpm的途径

1.发行商光盘或站点服务器

获取rpm的途径:
       1、发行商的光盘或站点服务器
              CentOS:
           http://mirrors.163.com
           http://mirrors.sohu.com
         2、rpmfind
               http://rpmfind.net
         3、rpmpbone
               http://rpm.pbone.net
     注意:
       1、发行商。发行光盘中的包,需要升级时,官方释放出升级包
       2、Fedora EPEL

四.安装RPM包

rpm –ivh package_name //-i 安装 –v 显示安装信息 –h hash以#显示安装进度

rpm –ivh package_name --nodeps //忽略依赖关系

rpm –ivh package_name –replacepkgs //重新安装

注:原来的配置文件不会被覆盖,新安装的配置文件将会重命名为以.rpmnew为后缀的文件

五.RPM包查询

查询所有已安装的包:
rpm -qa
查询包的描述信息:
rpm -qi package_name

查询某单个包是否已安装

rpm –q package_name

查询安装包生成的文件列表位置

rpm –ql package_name

查询某文件是由哪个包安装生成的

rpm –qf /path/to/file

查询安装后生成的帮助文档

rpm –qd package_name

查询安装后生成的配置文件

rpm –qc package_name

查询包相关的脚本

rpm –q –scripts package_name

preinstall 安装前脚本
        postinstall 安装后脚本
        preuninstall 卸载前脚本
        postuninstall 卸载后脚本

查询尚未安装的rpm包文件的相关信息:
           查询安装后会生成的文件列表: rpm -qpl 包名
           查询其简单描述信息:rpm -qpi 包名

六.升级

rpm -U:升级或安装
rpm -F:只升级
rpm {-Uvh|-Fvh}/path/to/package_file

--nodeps: 忽略依赖关系
--force:强行安装

注意:不要对内核执行升级操作;
       多版本内核可以并存,因此,建议执行安装操作

七.校验来源合法性和软件完整性

包完整行:通过单向加密机制(MD5|sha1)
       来源合法性:通过公钥加密机制(RSA)
    命令:gpg
     rpm -K /path/to/somefile
     rpm --checksig /path/to/package_file
      --nosigeature:不检查来源合法性
      --nodigest:不检查包完整性
 

导入密钥:
    rpm --import /path/to/gpg-key-file
     导入以后再做验证
数据库
     位置:/var/lib/rpm
     重建:rpm --initdb:初始化
            如果事先不存在一个数据库,则新建之
           rpm --rebuilddb 重建,直接新建数据库,会覆盖原有库

时间: 2024-10-13 02:11:11

软件包之RPM包管理的相关文章

linux软件包管理之一(rpm包管理)

开场白 1.软件的安装卸载是很平常的事情,但是在linux上面却也这么的不简单.Linux的其中一个哲学思想就是 一个程序只做一件事,并且做好. 组合小程序来完成复杂任务.这样做有很多好处.但世界上的东西总是两面的,有得必有失.各个小程序之间往往会存在着复杂的依赖关系. 2.再往前走一步.软件最初的安装方式只有一种,那就是源代码编译安装,这种方式安装的软件更贴近本机的系统运行环境,但也更复杂.不仅要解决软件之间的依赖关系(所依赖的软件还要再编译安装),还要配置开发编译环境(可能会抓狂的),一切都

Linux软件包的管理--RPM包管理器

在Linux中如何安装.升级.卸载软件,是我们日常运维中重要的组成部分.接下来一CentOS6系统为例,讲解如何使用 RPM 包管理器,yum包管理器以及源码的方式来管理我们的软件包. 一.相关的背景知识 许多程序的源程序,例如使用C语言编写的源代码,要经过预处理,编译,汇编,链接才能生成真正的可执行程序(二进制),才可以使用.为了简化这样的过程,就出现了所谓的包管理器.它出现的目的是:将编译好的程序打包成一个文件或有限的几个文件,可用于实现安装.卸载.升级.查询等功能. 一个包管理器应该具有如

linux软件包管理——rpm包管理

软件运行环境API:Application Programming Interface 应用程序接口(应用程序和操作系统之间的接口) 凡是符合该api标准的应用程序都可以在支持该api的操作系统上编译通过 程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接  静态编译:自身包含所有需要调用的库文件  动态编译:自身不包含,需要时调用共享库文件(.so文件)ABI:Application Binary Interface 应用程序二进制接口 规定了二进制文件的格式.

Linux的rpm包管理

我们都知道,windows的程序无法直接在linux中运行,windows中大量的木马和病毒也无法被linux识别,所有的软件包都必须针对linux再做单独的开发. 软件包分类 源码包 (把源代码直接开放的包) 脚本安装包(源码包写一个安装界面,不需要手动安装) 二进制包(RPM包.系统默认包) 源码包的优点: 1.开源,如果有足够的能力,可以修改源代码 2.可以自由选择所需的功能 3.软件是编译安装,所以更加适合自己的系统,更加的稳定也效率更高 4.卸载方便 缺点: 1.安装步骤较多,尤其在安

RPM包管理命令rpm

RPM包管理器是Linux系统中最早的软件包管理软件之一,也是目前最流行的软件包管理器,许多发行版都使用RPM作为默认的软件包管理软件. RPM软件包名称格式: samba-client-3.0.33-3.7.el5.i386.rpm samba-client为软件包的名称:3.0.33-3.7中的3.0.33表示软件包的主要版本号,紧跟在后面的3.7表示软件发布的次要版本号:el5表示适用于Red Hat Enterprise Linux 5 系统,fc6表示适用于Fedora Core Li

rpm包管理器用法详解

1,简介 rpm(Red Hat Pakage Manager),现在更名为RPM Package Manager,是一款业界公认的标准包管理器.所谓包管理器,就是把编译好的应用软件的各组成部分组成一个或几个程序包文件,从而实现程序包的安装,升级,卸载和查询等相关操作.广泛应用与redhat,centos,opensuse等发行版本上.当然,Dibian系列用的包管理器是dpkg. 2.rpm的组成 二进制程序,配置文件,帮助手册,以及如何组织,安装等其他元数据信息,不过,rpm都能理解. 3,

rpm包管理功能全解

rpm包管理功能全解            linux rpm问题:怎样查看rpm安装包的安装路径                     rpm -qa l grep  xxxxxx.rpm                    rpm的命令:rpm  [OPTIONS]  [PACKAGE_FILE]            安装:-i, --install            升级:-U, --update, -F, --freshen            卸载:-e, --erase 

RPM 包管理与 yum安装源码包

RPM工具 RPM 是 Red HatPackage Manager 的缩写,是由Redhat所开发一款包管理程序.目前Redhat系的Linux使用rpm可以完成软件的安装.查询.卸载.升级等工作. 需要注意的是,RPM包之间存在依赖性的问题:在安装一个包的过程中可能需要安装其它包,并且其它包又有所依赖的包.所以必须先安装好所有所依赖的包后才能安装自己想要安装的包. 获取程序包的途径:优先选择系统附带的光盘或到官方的服务器下载:项目的官方站点下载. 每个rpm包名称都由"-"和&qu

【Linux相识相知】rpm包管理

我们日常在使用Windows的时候,如果要安装某个软件,最简单的方法就是在程序包的官网直接下载软件包到本地,一般是以.exe或者.msi格式的文件,然后一直下一步下一步就能安装成功了,但是在使用linux的操作系统的时候也许不是这么的友好,即使现在有的linux发行版也可以通过简单的搜索点击安装来实现软件包的安装,但这并不一种很好的安装方法,因为你必须安装桌面环境,消耗和占用一定的内存资源,除非只是你日常使用.本次博客就如何使用rpm命令来实现centos上的软件包的安装与管理,rpm也许不是最