rpm 详解

 rpm 包详解

程序包的命名格式:name-VERSION.tar.gz

拆包:主包和分包

主包:name-VERSION-release.arch.rpm

支包:name-function-VERSION-release.arch.rpm

 

注意:程序包之间有时会存在依赖关系,依靠前端工具解决依赖关系

yum

Rhel系列系统上的rpm包管理工具

apt-get

debian/ubuntu包管理前端工具

zipper

suserpm包管理工具

dnf

Fedora 22+系统上的rpm包管理前端工具

 

程序包管理器:位置/var/lib/rpm/

 

 

rpm命令:rpm[OPTION]+PACKETFILE

*安装:-i/–install

*升级:-U/–update,

         -F/–freshen

*卸载:-e/–erase

*查询:-q/–query

*校验:-V/–verify

*数据库维护:–builddb,–initdb

 

 

rpm安装

rpm
{-i|–install} [install-options] PACKAGE_FILE …

rpm -ivh +PACKETFILE

-ivh:i是安装;v是显示详细信息(vv)更详细的输出;h输出进度条,每个#表示2%进度

       –test:测试安装,检查并报告依赖关系及冲突消息等

       –nodeps:忽略依赖关系;(不建议)

       –replacepkgs:重新安装

注意:rpm包可以自带脚本

perinstall

安装过程开始之前运行的脚本

%pre

postinstall

安装过程完成之后运行的脚本

%post

preuninstall

卸载过程真正开始执行之前运行的脚本

%pre

postuninstall

卸载过程完成之后运行的脚本

%postun

 

 

rpm升级:

rpm {-U|–upgrade} [install-options]
PACKAGE_FILE …

rpm {-F|–freshen} [install-options]
PACKAGE_FILE …

-U存在旧包,想删除旧包安装新包就用-Uvh

-F在旧包的基础上升级,就用-Fvh

 

rpm降级:–oldpackage

 

注意:1、不要对内核做升级,Linux支持多内核版本并存,因此,直接安装新版本内核

         2、如果某原程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供

 

 

rpm卸载

rpm -e  PACKGE_NAME..

       –allmatches 卸载所有匹配指定名称的程序包的各种版本

       –nodeps 忽略依赖关系

       –test 测试卸载

 

 

rpm查询

rpm +OPTION +PACKGE_NAME

       -qa 查询所有安装的包

       -qf 查询所有已经安装过的包

       -qp 用于实现对未安装程序包的查询

       -ql  查询程序安装生成的多有文件列表

       -qi 查询软件包的详细信息

       -qc 查询指定的程序包提供的配置文件

       -qd 查询指定的程序包提供的文档

       -q
–provides
列出指定的程序包提供的所有的CAPABILITY

       -qR 查询指定的程序包的依赖关系

 

 

rpm校验

rpm
-V +PACKAGE_NAME

       如未导入则导入公钥:rpm –import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-(6/7)

 

 

数据库的重建

rpm {–initdb|–rebuilddb}
[–dbpath DIRECTORY] [–root DIRECTORY]

       –initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;

       –rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建;

rpm 详解rpm 详解

 rpm 详解

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

(0)
上一篇 2017-08-17 18:28
下一篇 2017-08-19 07:17

相关推荐

  • SSH——安全的通信

    SSH ·ssh:secure shell, protocol, 22/tcp,  安全的远程登录 ·OpenSSH:ssh协议的开源实现 ·dropbear:另一个开源实现 ·SSH协议版本:          v1:基于CRC-32做MAC,不安全;man-in-m…

    Linux干货 2016-09-25
  • 实现软RAID0的方法

    实验利用三个分区分别为10G组成一个RAID0 分区时要注意ID的转换 创建RAID的设备名称为md0 通过mdadm -D /dev/md0可以查看md0的信息 创建配置文件: mdadm -Ds > /etc/mdadm.conf(为了系统启动时自动加载) 给RIAD0创建文件系统: 创建挂载目录mkdir /mnt/raid0 挂载: 同步: m…

    2017-12-11
  • 字段分隔符和迭代器

        内部字段分隔符(Internal Field Separator)是shell脚本编程中的一个重要概念。在处理文本数据时,有很大的作用。内部字段分隔符是用于特定用途的定界符,IFS是存储定界符的环境变量,它是当前shell环境中使用的默认定界符字符串。     例一:da…

    Linux干货 2016-08-15
  • shell 脚本中数组的总结

    描述:   变量是存储单个元素的内存空间,而数组是多个变量的集合,是一个连续的空间;但整个数组只能有 的名字。   数组内的数据都有指定的索引,从而找到数组内所指定的数据。索引的编号是从0开始的,依次递增(0,1,2,3,…),这种方式叫数值索引。格式为:数组名[索引];${ARRAY_NAME[INDEX]}。索引也支持自定…

    Linux干货 2016-08-29
  • Lnmp安装脚本

    1、源码编译安装LNMP架构环境; 此题略 此链接为安装nginx时,编译参数和各个模块和第三方模块的介绍,十分丰富,安装前可以参考学习 https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/ 2、编写一个脚本完成以下功能:    (1)、一键搭建…

    Linux干货 2016-12-05
  • find查找

    find查找是生产中最常见的日志查找工具 下面看看它的用法 基本用法: find    查找路径    查找标准    查找到以后的处理动作 查找路径:需要被查找的文件所在的路径,一定是个目录,默认情况下为当前的目录 查找的标准:查找的时候用什么方式去查找 处理动作:文件查找完毕后,需要对查找出来的…

    Linux干货 2017-05-08