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)
N27_flypigN27_flypig
上一篇 2017-08-17 18:28
下一篇 2017-08-19 07:17

相关推荐

  • 第3周作业

    一、列出当前系统上的所有已经登录的用户的用户名 [root@bogon tmp]# who | cut -d ” ” -f1 | sort -urootwing[root@bogon tmp]# who | cut -d ” ” -f1 | uniqrootwing 二、取出最后登录到当前系统的用户相关信息 […

    Linux干货 2017-07-25
  • 如何正确安装一个源码包

        下周就要考试了,心情挺忐忑不安的,前几天做了25期的考试题,感觉每个题都是老师上课讲过的,但是自己做却想不起来了。这应该就像学习数学一样,需要大量练习,做的多了自然就会了。     这周我们学习了如何使用yum,还学习了磁盘管理。针对如何安装源码包,以httpd包为例我们…

    2017-08-19
  • Mysql备份II

    Mysql备份II V.II.I单台或共用机器,数据量和访问量小50G< 1 Mysqldump(全导出,导库,导表) 锁表 如果这时有些入会锁住或者超时 2 至少停止写入 防止innodb配置还没刷到磁盘里 先flash tables /usr/local/mysql/bin/mysqladmin -S /tmp/mysql.so…

    Linux干货 2016-06-09
  • 数据结构- 串的模式匹配算法:BF和 KMP算法

    Brute-Force算法的思想 1.BF(Brute-Force)算法   Brute-Force算法的基本思想是: 1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s 的第二个字符起再重新和串t进行比较。 2) 依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹…

    Linux干货 2015-04-07
  • 相关练习

    1、请使用命令行展开功能来完成以下练习:    (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d  mkdir /tmp/{a,b}_{c,d}    (2)、创建/tmp/mylinux目录下的:  mkdir -pv /tmp/mylinux/{bin,boot/grub,de…

    Linux干货 2016-11-05
  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fd…

    Linux干货 2016-10-07