rpm 命令解析

rpm命令解析

    rpm是redhat(红帽)公司开发的一个包管理器,专门用于管理rpm安装包的。

        rpm名字解析:

原为:redhat package manager

现为:RPM is Package Manager

rpm是现在linux的工业级标准

包管理器的功能:

打包、安装、卸载、升级、校验、数据库管理

rpm优缺点:

安装方便,相对于古老的为编译方式。

还是不能直接解决依赖关系,如果碰到需要依赖关系的程序,要一个一个依赖包都转起来

rpm包源代码命名:

name-version.tar.{gz,bz2,xz}

rpm包的命名格式

name-version-relase.arch.rpm

version:major.minor.release,同源代码,跟源代码的version一样

release:

rpm自身的发行号,与程序源代码的发行号无关,仅用于表示对rpm包不同制作的修订;

同时,release还包含此包适用的OS

例如:bash-4.2.3-3.centos5

arch:适用于的硬件平台

X86:i386,i486,i586,i686等,不用的86表示支持不通可能较新兼容性更好,

可以使用32位更新的特性

X86_64:x86_64

powerpc:pcc

noarch:依赖于虚拟机

例如:bash-4.2.3-3.centos5.x86_64.rpm

一个程序有20个功能:常用功能有8个,特殊场景A:3个,特殊场景B:6个,二次开发相关功能:3个

分包机制:

核心包(主包):

例如:

主包命名与源程序一致

bash-4.2.3-3.centos7.x86_64.rpm

子包:bash-a-4.2.3-3.centos7.x86_64.rpm

bash-b-4.2.3-3.centos7.x86_64.rpm

bash-devel-4.2.3-3.centos7.x86_64.rpm

安装程序包:

格式:rpm [option] /path/to/package_file

-i:install,安装

-v:显示安装信息

-vv:显示更详细的安装信息

-vvv:显示更加详细的安装信息

-h:显示安装进度

组合选项:-ivh

--test:仅作测试,没有真正执行安装,检测安装是否正常

如果依赖于其他包:

1、解决依赖关系

2、忽略依赖关系,能装上,但有可能无法运行

--nodeps:表示忽略依赖关系

重新安装:

--replacepkgs:替换上次原有的安装包

重新安装时,如果原有的配置文件做了修改,很有可能不执行替换,而是将安装应该生成的配置文件重命名为.rpmnew

卸载程序包:

格式:rpm [option] package_name

-e:erase,擦除,卸载

如果被其他包所依赖:

1、将依赖于此包的所有包一并卸载

2、忽略依赖关系

能卸载,但依赖于此包的程序包可能会运行不正常

--nodeps:表示忽略依赖关系

如果包的配置文件安装后曾被改动过,卸载时,此文件将不会被卸载,而是被重命名并保留

例如: warning:/etc/zprofile saved as /etc/zprofile.rpmsave

升级程序包:

新版本替换老版本

格式:rpm [option] /path/to/package_file

1、升级或安装,有老版本就替换升级,没有就安装

-U:组合Uvh

2、纯升级,一定要有老版本

-F:组合Fvh

升级也有依赖关系,升级后的版本可能会有冲突:

--force:强制升级

注意:不应该对内核执行升级操作,而是安装

Linux系统允许多内核并存,如果升级了Linux,启动Linux的时候会崩溃

查询操作:

1、查询某包是否安装

格式:rpm -q package_name...

一次可以查询多个,各个包之间用空格隔开

2、查询所有已经安装的包

rpm -qa

按条件过滤:rpm -qa | grep ‘PATTERN‘

3、查询包的描述信息

rpm -qi package_name

4、查询某包安装生成了哪些文件

rpm -ql package_name

(1)查询某包安装生成了哪些配置文件:rpm -qc package_name

(2)查询某包安装生成了哪些帮助文档:rpm -qd package_name

(3)查询程序包的相关脚本:rpm -q --scripts package_name

脚本有四类:

preinstall:安装前脚本

postinstall:安装后脚本

preuninstall:卸载前脚本

postuninstall:卸载后脚本

5、查询某文件是由哪个包安装生成的

rpm -qf /path/to/some_file

数据库重建:

数据库目录:/var/lib/rpm

数据库包含了:程序的各个数据,有安装目录,文件大小,key等

重建:

1、rpm --initdb:初始化

如果事先没有库,会新建一个,如果有,则不新建

2、rpm --rebuilddb:重建

直接重建,覆盖原有的数据库


时间: 2024-10-19 11:43:10

rpm 命令解析的相关文章

linux安装软件-rpm命令解析

1.rpm参数 与安装相关的参数     -i:安装     -h:显示进度     -v:显示详细过程     -vv:更详细过程     示例:rpm -ivh 软件包名称   与查询相关的参数     描述:查询指定的包是否安装     命令:rpm -q 软件包名称          描述:查询已经安装的所有包     命令:rpm -qa          描述:查询指定包的说明信息     命令:rpm -qi 软件包名称          描述:查询指定包安装后生成的文件列表   

yum配置与命令解析

YUM命令解析 yum是rpm的强化版 yum全名为:Yellowdog Update Modifier 由于rpm的功能不是非常全面,不能解决程序间的依赖关系,并且如果没有rpm包的情况下不能安装. yum可以完美的解决软件的依赖关系,可以在安装软件的时候自动分析软件的各个数据,从依赖关系到软件兼容性,会选择出最好的安装方法. yum运行在C/S架构上 有yum服务端读取数据,再下载到客户端. yum组成: yum服务端:也称为yum仓库 包含有linux中常用的rpm包 包含有仓库的元数据,

闲云控制台(一)控制台命令解析框架

发布闲云控制台连载系列,会不定期加入新功能~ 先发一个命令解析的框架 /************************************************** *******************闲云万能控制台********************* ********* ********* 作者: 闲云野鹤 ********* QQ: 836663997 ********* QQ群: 116920287 欢迎加入 ********* 邮箱: [email protected]

linux 命令解析2

基本命令  uname -a -s hostname显示主机名若是要永久生效,则编辑以下文件  #vim /etc/sysconfig/network    ssh远程登录#ssh 10.1.1.54 (是以root用户登录的)  #ssh [email protected](是以tom身份登录)  #ssh -Y 10.1.1.54(可以启动图形界面的远程登陆) scp远程拷贝  #scp 10.1.1.54:/etc/passwd /tmp/test(将目的地址10.1.1.54上的/etc

liunx 命令解析1

RHEL5.3安装光盘主要文件内容:ClusterClusterStorageimagesisolinuxServerVT showmount -e 10.1.1.20显示指定的主机可供挂载的目录 将U盘作为引导盘dd if=diskboot.img of=/dev/sdb CTRL + SHIFT + T增加终端标签 常用的shell  cat /etc/shells    /bin/sh   /bin/bash   /sbin/nologin   /bin/tcsh   /bin/csh 

ASA 8.0命令解析

有些朋友对配防火墙还是有问题,其实配置ASA防火墙很简单,常用的命令有hostname.interface(ip address.no shutdown.nameif.security-level).nat.global.route.static.access-list.access-group. 下面来解析一台ASA 8.0的配置 ASA Version 8.0(2)  //注意版本,8.3以后NAT命令有所变化!hostname ciscoasa   //主机名domain-name san

rpm命令

rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度. 语法 rpm(选项)(参数) 选项 -a:查询所有套件: -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称: -c:只列出

rpm包及rpm 命令详解

一.软件运行环境 API: Application Programming Interface 国际标准 POSIX: Portable OS 执行流程: 程序源代码 –> 预处理 –> 编译 –> 汇编 –> 链接 静态编译:将编译完成的程序代码以及所依赖的库文件一起打包使用 共享(动态)编译:使用独立的外置的库文件,与系统中的其他程序共享库,linux 中以 .so结尾,译为共享对象 ABI: Application Binary Interface 应用程序二进制接口 (Wi

Linux rpm 命令参数使用详解[

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update:-qpl:列出RPM软件包内的文件信息[Quer