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
下一篇 2016-08-24

相关推荐

  • haproxy实验

    实验1: 部署discuz 1、  不做会话绑定 基于roundrobin —————————10.1.72.40|30————————&#821…

    Linux干货 2016-12-05
  • 计算机基础

    计算机组成 计算机发展史 采用电子管的第一代计算机(1946~1959年) 第一代计算机的内部元件使用的是电子管。第一代计算机主要用于科学研究和工程计算。 采用晶体管的第二代计算机(1960~1964年) 第二代计算机的内部元件使用的是晶体管,晶体管比电子管小得多,处理更迅速、更可靠。第二代计算机主要用于商业、大学教学和政府机关。 采用集成电路的第三代计算机…

    Linux干货 2017-12-03
  • Linux Basics–part4

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 ~]# cp -rf /etc/skel/ /home/tuser1 && chmod -R go=— /home/tuser1 [root@ronny1 ~]# ll -d /home/tuser…

    Linux干货 2017-08-07
  • samba服务部署WordPress

    简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Inter…

    Linux干货 2017-04-28
  • redis主从复制(2)— replication buffer与replication backlog

    1、redis主从复制过程先不解释replication buffer和replication backlog,而先看看redis主从复制的过程。 redis的主从复制分为两个阶段: 1)同步(sync rdb snapshot):slave复制master的某时间点(t)的全量数据,t为master接收到slave的sync命令后执行rdb bgsave的…

    Linux干货 2016-04-05
  • PXE实践

    本篇只以记录个人部署pxe过程中所遇问题,至于原理,只做部分简单说明。 pxe部署必要软件: syslinux (用于提供引导中所必备文件) tftp(用于提供存放vmlinuz,initrd,syslinux.0等引导类文件) dhcp(用于自动获取IP包括指明去哪个主机获取syslinux.0文件) 最后还需要一个web或者ftp服务,已提供系统安装中所…

    Linux干货 2017-02-05