详解程序包管理RPM

一、定义
      RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。


二、RPM包管理的用途

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
3、可以在查询系统中的软件包是否安装以及其版本;
4、作为开发者可以把自己的程序打包为RPM 包发布;
5、软件包签名GPG和MD5的导入、验证和签名发布
6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

三、程序包的组成与命名格式

1、程序包的组成:
  二进制程序:/bin,/sbin,/usr/bin,/usr/sbin
         库文件:/lib,/lib64,/usr/lib,/usr/lib64
         配置文件:/etc
         帮助文件(文档):/usr/share/doc,/usr/share/man
2、RPM命名格式:
  appname-VERSION-RELEASE.ARCH.rpm
     appname:程序名称
     VERSION:
         major:主版本号
         minor:次版本号
         release:发行号
      release:包自身的修订号及适用的OS信息
      ARCH:适用的平台
         x86,i386,i486,i586,i686
     例如: zsh-4.3.10-9.el6.x86_64.rpm

四、光盘的挂载

       1、 #mkdir /media/cdrom
             #mount -r -t iso9660 /dev/cdrom /media/cdrom

2、验正光盘程序包

说明:如果不进行验正光盘程序包,则会因为找不到光盘中软件KEY而出现以下错误:

五、程序包管理RPM常用命令

1、安装:
  rpm [option]  PACKAGE_FILE
     -i :安装程序包
     -h:以#号来表示安装进度
     --test:测试安装
     -v,--verboss:显示详细信息
     --nodeps:忽略依赖关系
     --force:强制安装
     --oldpackage:降级

    2、升级:
   rpm -U PACKAGE_FILE
       -U:升级或安装upgrde
   rpm -F PACKAGE_FILE
       -F:升级  freshen
      --test:测试升级
      --nodeps:忽略依赖关系
      --force:强制安装
      --oldpackage:降级   
    #rpm -F --test zip-3.0-1.el6.x86_64.rpm

3、卸载:
      rpm -e PACKAGE_NAME
       -e:erase 卸载
       --test:测试卸载
       --nodeps:忽略依赖关系
       --allmatches:同时卸载多个版本

#rpm -e --test zsh

4、查询:  
      rpm -q PACKAGE_NAME
      [select-options]
        -a:all,查询已安装所有程序包
        -f:file,查询文件由哪个程序包安装生成
        -p PACKAGE_FILE:查询未安装程序包安装后的文件列表
      [query-options]
        -q:查询系统是否已安装某程序包

-qi:查询程序包的简要
        -ql:查询程序包安装文件列表
        -c:configfiles,查询程序包安装的所有配置文件
        -qd:查询程序包文档信息
        -q --changelog:查询程序包制作时版本变化的changelog信息
        -q --provides:查询程序包提供的capabilities
        -q --requires:查询程序包的依赖关系
        -q --scripts: 查询程序包安装或卸载时执行脚本
           脚本分类:
             preinstall:安装前执行脚本
             postinstall:安装后
             preuninstall:卸载前
             postuninstall:卸载后

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

(2)、查询文件由哪个包安装生成

(3)、查询程序包安装文件列表
    

5、校验:
     查询包安装后生成的文件是否发生改变
      rpm -V PANKAGE_NAME
         S file Size differs
         M Mode differs (includes permissions and file type)
         5 digest (formerly MD5 sum) differs
         D Device major/minor number mismatch
         L readLink(2) path mismatch
         U User ownership differs
         G Group ownership differs
         T mTime differs
         P caPabilities differ
     程序包的合法性验正:
         来源全法:信任的制作者提供,依赖于制作者的数字签名,签名使用私钥加密程序包的特性码
         内容合法:完整性校验成功,未二次修改,依赖于制作者的程序特征码,验正方式,安装者用
         提取特性码与制作者提供的比较。

时间: 2024-10-14 03:40:54

详解程序包管理RPM的相关文章

详解程序包管理YUM

一.定义      Yum(全称为 Yellowdog Updater Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软包,无须繁琐地一次次下载.安装二. yum组成部分: (1).文件服务器(共享rpm包):    原理:通过yum所支持的文件共享机制将各rpm包通过文件服务共享    repository: 仓库      1.数据

程序包管理rpm、yum与简单编译安装程序

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档. ?

Linux程序包管理rpm与yum

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档.  

程序包管理rpm,yum用法解析及自动化部署apache server实战,让您轻松拥有apache网站!

程序包管理器rpm,yum用法及apache httpd服务的自动化部署 程序包管理? 通常来说在windows中将需要安装的程序,程序名.exe下载下来然后点击setup的安装程序或直接点击程序包,下一步下一步即可.而Linux中程序包不是exe,不同的主流发行版有着不同的程序包管理机制.比较主流的主要是rpm程序包管理器和deb程序包管理. 这里要区别: 包名(PACKAGEFILE): rpm包程序文件的全名程序名(PACKAGENAME): rpm包不带版本号的程序名,比如QQ而不是QQ

程序包管理RPM、YUM及源代码编译

一.YUM YUM: Yellowdog Update Modifier.YUM是通过分析RPM的标题相关数据后,根据软件的相关性制作出的软件安装时属性依赖的解决方案,其可以自动处理软件之间的依赖问题,以尽量方便用户解决软件在安装.删除或升级的问题. YUM分为YUM客户端和YUM服务器,而我们经常使用到的就是客户端. 客户端的配置文件分两种: /etc/yum.config:为所有的仓库提供公共的配置 /etc/yum.repos.d/*.repo:为仓库的指向提供配置 我们在安装软件时通常使

学习笔记之Linux程序包管理rpm、yum、编译

无论是Windows系统还是Linux系统,我们用户想要在操作系统上获得更多的乐趣还是更多的功能的话,就需要在一个干净的系统上安装各式各样的软件程序,Linux上的是ELF格式的,目前比较常见的程序包管理器如: Redhat软件包管理器---rpm Debian软件包管理器---dpkg 一.1.RPM 安装:rpm {-i|--install} [install-options] PACKAGE_FILE... -v: verbose,详细信息 -vv: 更详细的输出 -h: hashmark

linux程序包管理rpm,yum和编译安装以及冒泡排序练习

linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇编--> 链接 静态编译: 共享编译:.so ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux: WIN

程序包管理rpm、quota、磁盘配额

下面介绍的是磁盘配额.quota及相关命令.rpm程序包管理器.rpm命令行工具的功能等. 一.磁盘配额 1.磁盘配额功能:磁盘配额可以用来构建文件服务器. 文件服务器功能:用来共享存储空间,让用户能够随时存储数据. 常见的文件服务器有FTP.SMB.网盘.网盘(极速上传) 磁盘配额主要是针对这类文件服务器进行用户的磁盘空间使用限制而提出的. 2.磁盘配额的设定对象 (1).能够实施读写操作的块设备: (2).要有正确的文件系统. 3.磁盘配额主要限制哪些人的访问行为 (1).用户 磁盘配额为指

Linux 程序包管理 rpm yum dnf

Linux程序包管理: 包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具 deb:debian Linux使用 包括ubuntu rpm:Redhat Package Manager ,Centos等在使用 程序包的组成: 二进制程序:/bin,  /sbin,  /usr/bin, /usr/sbin 库文件: /lib64, /usr/64 配置文件:/etc 帮助文件:manual, info 包管理器: 打包:将源文件,一个一个单一的归档文