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

相关推荐

  • 关于大型网站技术演进的思考(四):存储的瓶颈(4)

    原文出处: 夏天的森林    如果数据库需要进行水平拆分,这其实是一件很开心的事情,因为它代表公司的业务正在迅猛的增长,对于开发人员而言那就是有不尽的项目可以做,虽然会感觉很忙,但是人过的充实,心里也踏实。 数据库水平拆分简单说来就是先将原数据库里的一张表在做垂直拆分出来放置在单独的数据库和单独的表里后更进一步的把本来是一个整体…

    2015-03-11
  • OpenSSL

    一、什么是OpenSSL 在电脑网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通讯,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。 OpenSSL由三部分组成:     libencryp…

    Linux干货 2016-04-25
  • ☞Nginx

    Nginx 概述 yum安装Nginx 编译安装Nginx 主要文件路径 主配置文件nginx.conf main block:全局配置段 http/https 协议相关配置段 性能优化初步 调试、定位问题的配置 events段配置 worker、method、accept_mutex http协议相关配置段 虚拟主机 基于PORT、IP、Server Na…

    Linux干货 2016-10-24
  • vsftp的使用(土著篇)

        这个vsftp本地用户登录模式(简称土著)配置方法论坛网站有一堆堆的,都是默认的东西,就那么多也写不出什么花来。     还是直接上酸菜好了,接着上回提到的vsftp的接着用,首先查看下你vsftp的配置情况。      这是上次匿名用户的配置,稍微得改一改。 配置本地用户登录的配…

    2017-07-30
  • N22-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    Linux干货 2016-08-29
  • 初学Linux之标准 I/O 和管道

    前面我们已经了解了文件系统的部分内容,我们可以通过 ls 命令让当前目录下的内容都显示在屏幕上,也可以使用 pwd 命令,显示当前的所在的目录路径。但是我们输入的是命令,本身并没有输入“显示”这类命令和要求,但是系统就自动的在屏幕上输出我们命令指定的信息。由此可以想象到,系统自身有默认的一种输出方式,同时,有输出就有输入,当输入的和系统无关,系统也会自动提示错误,以上就是我们接下来要了解的基础内容——标准 I/O。具体的涉及内容包括:三种 I/O 设备,把 I/O 重定向入文件,tr 命令的使用,使用管道链接命令。

    2017-12-02