rpm软件包管理

软件包管理

软件运行环境

API   应用程序开发接口

ABI   二进制接口

Rpm包命名方式

Name-version-release-arch-rpm

例如

zziplib-devel-0.13.162-5.el7.i686.rpm

zziplib :主包名

dewel:次包名

0.13.162: 主版本号 次版本号  最小版本号

5rpm包编译完后的版本

el7系统版本号,代表centos7

i686硬件架构

有的软件包硬件架构位置会有noarch的字样,表示与硬件架构无关,可以运行在任何架构的机器上。

常见的arch有:x86  i386  i486   i586   i686  x6464  x64

互联网上的很多软件的发布,不一定是rpm的方式,都是以源代码的方式发布,源代码的方式发布会有各种后缀,但是一般都要tar打包,在打包的基础上压缩。

包的分类和拆包

Application-VERITION-ARCH.rpm  主包

Application-devel-VERITION-ARCH.rpm    开发子包

Application-tuils-VERITION-ARCH.rpm    工具子包

Application-libs-VERITION-ARCH.rpm    库包

库文件

查看二进制文件所依赖的库文件

Ldd  /PATH/TO/BINARY_FILE

例如:ldd  /bin/ls    ldd  /bin/bash

管理及查看本机装载的库文件:

    Ldconfig

/sbin/ldconfig  -p:显示本机已经缓存的所有可用库文件名及文件路径的映射关系。

配置文件:/etc/ld.so.conf    /etc/ld.so.conf.d/*.conf

缓存文件:/etc/ld.so.cache

RPM包管理

Centos系统上使用rpm命令管理程序包

作用

    安装  卸载  升级  查询  校验   数据库维护

rpm包的安装

    rpm    -i  /path/rpm    安装(要写具体路径)

           -v-vv          详细显示安装过程

           -h               以#显示安装进度

           -q               查询rpm包是否安装

           -ql               查询rpm包的安装位置

一般rpm  -ivh  一起使用

rpm  -ivh  – -test    测试安装,但不真正执行安装

           – -nodeps   忽略依赖关系

           – -repleasepkgs  覆盖安装rpm

           – -repleasefiles   覆盖安装rpm包中的单个文件。比如有两个包,其中个

                          别文件是一样的,就可以用此命令,只覆盖个别文件,而

                          不是整个rpm包。

           – -nodigest       不检查包的完整性

           – -nosignature     不检查包的合法来源

           – -noscipts        不执行程序包脚本片段

                   %per       先运行脚本再安装rpm程序包  –nopre    

                   %post      先安装rpm包再运行脚本      –nopost

                   %preun     先运行脚本后卸载rpm包      –nopreun

                   %postun     先卸载rpm包,再运行脚本   –nopostun

rpm包升级

rpm   -U    [install -option]

       如果安装有旧版本,则升级,没有安装旧版本则安装。

blob.png 

    注意:上图对于tree的安装,是在当前路径下安装的,所以没有写路径,如果不

           在当前路径下,要写rpm包的完整路径。

Rpm   -F    [install-option]

        如果安装有旧版本,则升级,没有安装旧版本则不执行任何操作。

            – -oldpackage    降级

            – -force         强行升级

包查询

    rpm    -e     卸载

           -a     所有包

        若包名记得不全,则可以rpm  -qa  |  grep “”模糊搜索

           -f     查看指定的文件由哪个安装包生成。

           -p  rpmfile(完整路径)  针对尚未安装的程序波文件做查询操作。

           – -changelog     查询rpm的更改日志

 Rpm   -q  [option]  配合q使用  

            – -changelog   查询rpm包的更改日志

            -c  查询程序的配置文件

blob.png 

 

 

               -d      查询程序的文档

 

 blob.png

                – i      rpm包的信息

blob.png 

                 -l       查看指定程序包安装后生成的所有文档

                 – -scripts  查看程序包自带的程序片段

 blob.png

                  -R     查看程序包的依赖关系

blob.png 

                  – -provides     列出指定程序包所指定的程序和功能

blob.png 

导入所需的公钥

Rpm    -K   rpmfile       检查包的完整性

例如

blob.png 

    运行后有报错信息,这不是因为该包不完整,是因为系统现在没有检测能力。需要

导入公钥文件才能用。

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

                 blob.png

    再次执行-K命令就不会报错了。

rpm  -qa gpg-pubkey*      下图显示的结果就是导入的密钥文件

blob.png 

RPM数据库

数据库重建

    /var/lib/rpm

    安装或卸载一个包,该数据库都会更新,该文件被破坏后,会造成rpm无法查询

Rpm包的信息。

    Rpm  – -initdb   初始化

如果事先不存在数据库,则新建,否则不执行任何操作,

    Rpm  – -rebuilddb   重建

无论当前存在与否,直接重新创建数据库。

 

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

(1)
zzdzzd
上一篇 2016-08-24 10:12
下一篇 2016-08-24 10:12

相关推荐

  • CollabNetSubversionEdge服务搭建

    准备目录并设置权限 [root@localhost ~]# mkdir /var/svn [root@localhost ~]# chown bohui:bohui /var/svn/ [root@localhost ~]# chmod 700 /v…

    Linux干货 2015-10-18
  • Linux的哲学思想

    初学Linux,了解一下Linux的哲学思想,对学习Linux还是非常有帮助的。 在了解Linux的哲学思想之前,可以先考虑一下,现在我们所学的Linux系统到底是面向什么应用场景而研发和使用的?个人认为:面向企业,是一个服务器操作系统。其所关注的地方是:高性能、可靠性、易维护性。 基于上述方面的考虑,Linux系统在构建和设计的时候,遵循了如下的哲学思想进…

    Linux干货 2017-08-30
  • 马哥教育网络班22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    [test2@localhost ~]$ who |cut -d " " -f1|sort -u   &nbsp…

    Linux干货 2016-08-30
  • Linux的磁盘管理:

    Linux的磁盘管理: Linux的核心:一切介文件:     open,read,write,close 块设备:block,存取单位‘块’,磁盘 字符设备:char 存取单位‘字符’,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信: 设备号码:   &nbs…

    Linux干货 2016-07-22
  • grep命令及正则表达式

    grep命令和正则表达式 grep基本概念 grep:global search regular expression and print out the line. 作用:文本过滤器,用于文本搜索,用指定“模式”逐行匹配。 模式:由正则表达式字符及文本字符所编写的过滤条件 正则表达式:由一类特殊字符和文本字符所编写的模式,其有些字符不表示字符字面意义,而表…

    Linux干货 2016-11-05
  • 第八周练习脚本部分

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;在线的主机使用绿色显示;不在线的主使用红色显示; #!/bin/bash # for((i=1;i<=254;i++));do     site="172.16.250.${i}&quot…

    Linux干货 2016-12-15