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

相关推荐

  • 磁盘配额

    磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统。 [root@local ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4. 然后把/dev/sda5分区挂载到 /home [root@local ~]# mount /dev/sda5 /home [root@local ~]# …

    Linux干货 2017-05-02
  • 计算机组成原理

                                 计算机组成原理 Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于…

    Linux干货 2016-10-27
  • 第二周 文件管理

    1.Linux上的文件管理类型命令都有哪些,其常用的使用方法及其相关示例演示 mkdir—— 创建目录  make directory 命令格式——mkdir [OPTION]… DIRECTORY… -p:自动按需创建父目录; -v:verbose,显示详细过程; -m MODE:创建目录直接给定权限,否则是默认权限; 注意:路径基…

    2017-12-10
  • 硬链接和软链接的区别

    硬链接和软链接在文件系统实现上的区别决定了两者之间功能上的不同,也就是说硬链接和软链在文件系统上两者实现的方式不同,让其各自具有不同的功能和特色,也决定了各自的优点和缺点。接下同文件系统上创建硬链接和软链接看各自的特点。 一文件系统上创建硬链接 下面命令是在文件系统上创建一个硬链接: ~]# ln test /testdir/t…

    Linux干货 2016-10-29
  • 系统基础之sed工具详解

    sed工具详解 NAME:  sed – stream editor for filtering and transforming text(实现文本替换和过滤功能)  类型: 行编辑器(流) 特点: 把文件中的每一行加载到内存中,匹配模式,把能够匹配到模式的内容输出到屏幕,不修改原文件 工作模式:   每一次读取一…

    Linux干货 2016-08-10
  • 一周学会shell编程之小结1

    一周学会shell编程之小结1 内容: shell脚本创建与执行 变量 条件测试 if,case判断语句 练习   检查错误: bash -n path 调试执行: bash -x path   创建shell脚本步骤: 1 添加第一行 #!/bin/bash 2 给予…

    Linux干货 2016-08-15