LINUX下的RPM应用

一 前言

在进入RPM的应用前,关于可执行程序的一些基本知识有必要说明一下:

1 ABI:application binary interface,这是应用程序与系统间的协议,大家都知道同一个程序在不同的操作系统平台可能会无法执行,很大程度上就是因为ABI的不同,因此,对于可执行程序,选择对应操作系统平台是第一步

2 API:application programming interface,这个概念很重要,如何理解呢?抛开那些复杂的概念的不说,程序的运行并不是孤立的,运行过程中需要调用能实现各种功能的库(函数)文件,否则无法保证程序的正常运行(有兴趣的朋友可以试试#rm -f  /lib64/libc.so.6),所以在程序安装前,得保证相应的库文件已准备完毕

3 软件结构:通常一个完善的二进制应用程序应该包括四个部分(二进制文件,库文件,配置文件,帮助文件 )


二  RPM应用场景

               在软件安装的工具选择中,RPM因为软件依赖性的存在使得很多软件的安装过于复杂,通常对于RPM包的安装选择YUM会比较简单粗暴(YUM会自动解决依赖性问题),在此不介绍RPM的安装。RPM工具的使用更多是在查询,校验,抽取文件等等方面

1. 查询: RPM的查询基于软件包的数据库/var/lib/rpm,这个数据库很重要,一旦遭到破坏会影响整个         RPM的管理;查询的相关命令如下:

    rpm    -q   pkgname(包名):查询RPM包是否被安装

              -qa  查询所有已安装的RPM包,结合grep可用来获取想要查询的信息;也可以使用rpm -qa                             “keyword”的形式查询某些关键字相关的结果

              -qf   /path/to/file    查询某文来源于哪个包

              -ql   pkgname       查询已安装包在系统中的文件列表

              -qpl  /path/to/file    查询未安装包的文件列表 

              -qc    pkgname      查询相关包配置文件

2. 校验:RPM提供校验功能,可查看文件是否被修改过,以保证系统安全(特别针对于被改过的可执行     文件);校验结果是比对当前包与RPM数据库(RPM数据库的重要性!)得出的结果 

         rpm     -V     pkgname    

    校验结果为SM5DLUGTP:被修改后显示对应字母(每个字母表示特定内容)被修改,无改动显示为点         号”.” 

3. 验证包来源合法性与完整性,验证前需要先导入公钥——安装系统时/etc/pki/rpm-gpg下会生成

    导入公钥:rpm    –import    /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

                 rpm     -K    /path/to/file    

4. 包内文件查看并提取:rpm2cpio -tv /path/to/rpmpkgs | cpio -id ./path/to/file
    PS:-tv为查看rpm包内的文件,路径必须为完整路径 -id为提取某文件,提取的文件路径必须完整

原创文章,作者:sevenyellow,如若转载,请注明出处:http://www.178linux.com/73576

(2)
sevenyellowsevenyellow
上一篇 2017-04-17
下一篇 2017-04-18

相关推荐

  • python-多进程

    进程是由系统自己管理的。 1:最基本的写法 from multiprocessing import Pool def f(x):     return x*x if __name__ == '__main__': &nb…

    Linux干货 2016-11-05
  • 网络基础知识子网划分

    一、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子 公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?  根据要划分的子网数量来算子网掩码的。2的M次方大于等于N。其中M是划分子网时要借的位数。N是要划分的子网数。 将需求代入公式,M=3,C类IP默认的掩码为24位,再从主机位中借来3位,就是27位。二进制表示…

    Linux干货 2016-09-06
  • 马哥教育网络班20期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 vim三种模式: 用法:vim [option…] FILE 编辑模式:     字符跳转:         h:向左移动一个字符     &…

    系统运维 2016-07-22
  • 路由器解析路由表

    1.定义——>选择最佳路径;他只完成发送到下一个路径上就结束,任务到达就撤了(就像快递员一样,当他将物件发往到下一个目的地,那他的任务就结束了)2.分类:主机路由、网络路由、默认路由3.每个路由记录由四项主要组成部分目标地址:主机IP、网络ID号、未知地址(0.0.0.0)子网掩码接口interface:从哪个口发往目标地址 网…

    2017-09-05
  • LAMP运行环境搭建及部署php程序软件

    前言     Linux+Apache+MySQL+PHP是大多数web服务器的运行环境,能熟练配置此运行环境是每个运维的必备基本技能,本文以安装MySQL管理工具PHPmyadmin以及博客软件wordpress为例,演示编译安装LAMP运行环境的过程。 一、实验拓扑图 二、安装步骤 2.1 编译安装Apache h…

    2015-11-26
  • Net25-第10周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos系统启动过程分内核空间启动和用户空间启动: 内核空间启动流程: POST: post加点自检,检测计算机基本5大件是否完好,计算机可被正常点亮。 BootSequence: 位于ROM上的BIOS的BootSequence来选择启动顺序 Bootloader: 决定启动顺…

    Linux干货 2017-03-15

评论列表(1条)

  • renjin
    renjin 2017-04-21 09:46

    主要介绍了rpm命令常用的几个参数,内容总结的很好,建议插入一些示例和执行的结果,并将终端提示符类的命令或代码放入到”插入程序代码”中