rpm包管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm包管理相关的知识,希望对你有一定的参考价值。

rpm 执行安装包

二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以.rpm作为后缀名。


例: rpm -qa |grep rsync

安装:


rpm {-i|--install} [install-option]   PACKAGE-FILE(rpm包所在的路径)                 安装

     option 

        -v, --verbose               显示详细安装信息

        -h, --hash                  以#显示安装进度 

        -vv                         显示详细安装信息(比-v详细)

        --replacepkgs              覆盖安装,重新安装并覆盖原文件(如原文件被修改则先删除后在安装包)                    

        --test                      安装测试,并不实际安装

        --nodeps                    忽略软件包的依赖关系,安装成功后比一定有能用,却少其他包

        --force                     强制安装

        --nodigest                  不检测完整性性

        --nosignature               不检测来源合法性和签名信息 


  

升级:

rpm  {-U|--upgrade}   [install-option]   PACKAGE-FILE      升级

   -U:升级或安装(安装有旧版本则升级,若没有则安装)

rpm  {-F|--freshen}   [install-option]   PACKAGE-FILE      升级

    -F:升级(只升级没有,不做操作)

     option

           --test         不执行真正的的安装操作,仅报告依赖关系和信息冲突

           --nodeps       忽略软件包的依赖关系,安装成功后比一定有能用,却少其他包

           --for          强制安装

           --oldpackage   降级到旧版本               

 


卸载:

rpm  {-e|--erase} [--allmatches] [--nodeps] [--test]  PACKAGE-FILE

简单用法:  rpm -e  PACKAGE-FILE


        --nodeps    忽略依赖关系

        --test      测试卸载

        --allmatches    如果一个程序包同时安装多个版本,次选项一次安装


查询:

rpm {-q|–query} [select-options] [query-options]


    option常与 -q 连用

例:

1、查询某包或某些包是否安装

 rpm  -q  PACKAGE-FILE

2、查询已安装的所有包

 rpm   -qa

3、查询某文件是有那个包安装生成

 rpm -qf /PATH/TO/SOMEFILE

4、查询某包的简要信息

 rpm  -qi  PACKAGE-FILE

5、查询未安装包的相关信息     

 rpm  -qpi  PACKAGE-FILE

6、查询某包安装生成的文件列表

 rpm  -ql  PACKAGE-FILE

7、查询某包安装完成后生成的所有配置文件

  rpm  -qc  PACKAGE-FILE

8、查询某包安装完成后生成的所有帮助文件

 rpm  -qd  PACKAGE-FILE

9、查询某包安装或卸载时执行的脚本

 rpm  -q --scripts  PACKAGE-FILE

10、查询某包所依赖的capabilities

 rpm  -q  --requires PACKAGE-FILE

11、查询某包所提供的capabilities

rpm  -q  --provides  PACKAGE-FILE



脚本有四类:

    preinstall  :安装过程开始之前执行的脚本;

    postinstall :安装过程完成之后执行的脚本;

    preuninstall:卸载开始之前执行的脚本;

    postuninstall:卸载过程完成之后执行的脚本;


校验:

rpm  {-V|--verify}   [select-option]   PACKAGE-FILE 

用法:rpm -V  PACKAGE-FILE


        --nodigest                  不检测完整性性

        --nosignature               不检测来源合法性


rpm {--initab| --rebuilddb}[-v] [--dbpath DIRECORY]

    --initdb :初始化数据库,不存在时创建。


yum是解决安装包的依赖关系


yum的主配置文件:

    /etc/yum.conf    为各仓库指向提供公共配置文件


yum仓库的定义:

    /etc/yum.repos.d/*.repo  以.repo结尾的文件  为仓库指向提供配置信息

仓库配置(简写):

[repositoryid]  标识repository指向

baseurl=url://path/to/repdity  服务器路径

        ftp服务:ftp://SERVER/PATH/TO/REPOSITORY

        http服务:http://SERVER/PATH/TO/REPOSITORY

        file服务:file:///SERVER/PATH/TO/REPOSITORY

  

gpgcheck={1|0}  是否对程序包校验





yum的命令形式一般是如下:yum [options] [command] [package ...]

其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。



自动搜索最快镜像插件:   yum install yum-fastestmirror

安装yum图形窗口插件:    yum install yumex

查看可能批量安装的列表: yum grouplist


yum仓库

 yum repolist :列出已经配置的所有可用仓库

 yum [all|enabled|disabled]

yum缓存:

 yum clean :清理缓存

yum makecache :创建缓存


程序包查看:

 yum list [all|glob_exp1]

yum list {available|updates|installed|...}

yum groplist [hidden] [groupwidcard]



程序包安装

yum install package1  [package2] [...]


重新安装(覆盖安装)

yum reinstall package1  [package2] [...]


程序包升级

yum update package1  [package2] [...]


程序包降级

yum downgrade package1  [package2] [...]


检测有那些升级可用

yum check-update


软件包卸载

yum remove package1  [package2] [...]




1.yum的一切配置文件内容

[main]

cachedir=/var/cache/yum

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

metadata_expire=1800

cost=   当前repository的访问开销,默认为1000

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d




查询:yum info 查询程序的相关信息




包组:



列出所有包组

 yum grouplist 


显示指定包组信息

yum groupinfo group1

安装

yum groupinstall package1  [package2] [...]


升级

yum groupupdate package1  [package2] [...]


卸载

yum remove package1  [package2] [...]




1.清除缓存目录(/var/cache/yum)下的软件包

命令:yum clean packages


2.清除缓存目录(/var/cache/yum)下的 headers


命令:yum clean headers


3.清除缓存目录(/var/cache/yum)下旧的 headers


命令:yum clean oldheaders


4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers


命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)


以上是关于rpm包管理的主要内容,如果未能解决你的问题,请参考以下文章

RPM 程序包管理详解

rpm包管理 命令

rpm包管理

Linuxlinux服务管理RPM包管理源码包安装管理

rpm包管理_yum在线管理

LINUX RPM包管理