怎么在CentOS中使用rpm包管理器

2022年 10月 16日 发表评论

新春采购季点击领腾讯云8888元代金券阿里云史上最大力度降价,最高降55%:点击了解续费贵、升级贵,选配置高、长期的产品;腾讯云老用户享新人优惠方法:用Q登录、1人可注册3个新账号帕鲁火热:点击一键部署阿里云帕鲁服务器点击一键部署腾讯云帕鲁服务器

如何在CentOS中使用rpm包管理器?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想解决这个问题的伙伴找到更简单易行的方法。

RPM包的命名怎么在CentOS中使用rpm包管理器

比如bash-4 . 3 . 2-1 . centos 6 . x86 _ 64 . rpm。

rpm的应用装置

代码如下:

rpm {-I |-install }[install-options]PACKAGE _ FILE.

-i安装

-v显示详细信息,可以叠加查看更详细的信息,如-vv,-vvv

-h显示进度,50 #作为进度条

我们通常结合使用-ivh来安装rpm包

-节点取消依赖关系

- replacepkgs重新安装

-测试测试安装,而不是实际安装

示例:

代码如下:

[root @ localhost ~]# rpm-IVH package . rpm

升级

rpm {-U| -升级}[安装-选项] PACKAGE_FILE.

如果有旧版本的软件包,请升级安装;如果没有,直接安装

rpm {-F |-fresh }[安装选项] PACKAGE_FILE.

如果有旧版本的软件包,请升级安装;如果没有,终止

我们通常结合使用-Uvh和-Fvh来安装rpm包

[安装选项]

-旧软件包降级安装

-强制忽略冲突并实施冲突

注意:

不要升级内核包;Linux支持多版本内核共存,可以直接安装新版内核;

如果原包的配置文件在安装后发生了变化,那么在升级时,新版本的文件不会直接覆盖旧版本的文件,而是会被重命名(后缀。rpmnew)并保留;

示例:

代码如下:

[root @ localhost ~]# rpm-Uvh package . rpm

从计算机上卸载

代码如下:

rpm {-e |-erase }[-all matches][-node PS][-no script][-no triggers][-test]PACKAGE _ NAME.

- nodeps忽略依赖关系

-测试卸载测试

示例:

代码如下:

[root@localhost ~]# rpm -ev包

询问

代码如下:

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

[选择-选项]

1.询问软件包是否已安装。

包装名称.

2.查询所有已安装的软件包

中间有空格

3.查询哪个包安装并生成了文件

rpm -qf /path/to/somefile

4.查询尚未安装的安装包的相关信息。

转速-qp包_文件

[查询-选项]

1.查询包的简要描述信息

包装名称

2.查询安装软件包后生成的所有文件的列表

rpm -ql PACKAGE_NAME

3.查询安装软件包后生成的所有配置文件的列表

质量控制包_名称

4.查询软件包安装后生成的所有帮助文件的列表

包装名称

5.查询变更日志列表信息,该信息在rpm包生成时会随版本而变化

变更日志包名

6.查询包提供的功能

提供包装名称

7.查询包依赖的功能

要求包装名称

8.安装和卸载软件包时查询脚本

rpm -q -脚本

安装和卸载有四个脚本:

预安装:之前执行的脚本

安装后执行的脚本:

br/> preuninstall: 卸载前执行的脚本 postuninstall: 卸载后执行的脚本举例:查询系统中所有已安装 RPM 包

代码如下:

[root@localhost ~]# rpm -qa

查询 RPM 包中包含的文件列表

代码如下:

[root@localhost ~]# rpm -qlp package

查询 RPM 包中包含的帮助文件列表

代码如下:

[root@localhost ~]# rpm -qdp package

校验

代码如下:

rpm {-V|--verify} [select-options] [verify-options]

常用用法:rpm -V PACKAGE_NAME文件改动后校验会有下列相关信息提示:5:文件的MD5校验值S:文件大小L:链接文件T:文件创建的时间D:设备文件U:文件的用户G:文件的用户组M:文件的权限举例:先用vim对yum.conf文件进行修改,再进行校验

代码如下:

[root@localhost ~]# rpm -V yum.confS.5....T. c /etc/yum.conf

包来源合法性及完整性验正rpm --import PUBKEY ... 导入密钥rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE ... 验证密钥 --nosignature: 不检查来源合法性 --nodigest: 不检查完整性举例:

代码如下:

[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-*[root@localhost ~]# rpm -k /var/ftp/pub/Server/kernel-PAE-2.6.18-194.el5.i686.rpm/var/ftp/pub/Server/kernel-PAE-2.6.18-194.el5.i686.rpm: (sha1) dsa sha1 md5 gpg OK

公共数据库:/var/lib/rpm

重建数据库

代码如下:

rpm {--initdb|--rebuilddb}

初始化:--initdb 如果事先不存在数据,则会新之;否则,不执行任何操作 重新构造:--rebuilddb 无论当前是否已经存在数据库,都会直接重建并覆盖现有数据库举例:

代码如下:

[root@localhost ~]# rpm --initdb[root@localhost ~]# rpm --rebuilddbyum: Yellow dog Updater,Modified

主要功能是更方便的添加/删除/更新RPM包,它能自动解决包的倚赖性问题,便于管理大量系统的更新问题使用rpm2cpio,cpio提取rpm包的中的特定文件有些时候,我们需要提取rpm包中的一些文件,通过如下方法可以快速提取首先查询rpm包中的文件

代码如下:

[root@taotips ~]# rpm -qpl anaconda-11.4.1.62-1.src.rpm anaconda-11.4.1.62.tar.bz2 anaconda.spec

我们需要提取 anaconda-11.4.1.62.tar.bz2 这个文件,执行下面的命令,提取到当前目录

代码如下:

rpm2cpio anaconda-11.4.1.62-1.src.rpm | cpio -idv anaconda-11.4.1.62.tar.bz2

注意: cpio参数后的文件路径 "anaconda-11.4.1.62.tar.bz2" 必须和前面查询的相对路径一样,否则提取不成功。相关知识说明cpio参数说明:-t 列出的意思,和"--list"等同,注意,此时列出的是“相对路径”-i 抽取的意思,和"--extract"等同-d 建立目录,和"--make-directories"等同-v 冗余信息输出,和"--verbose"等同rpm参数说明:-q --query 查询-l --list 列出-f --file 指定文件-p --package 指定rpm包

rpm 数据库修复的方法第一种方法:当进行包安装、升级、卸载等操作时,可能损坏RPM DB,需要通过--rebuild参数来修复RPM DB,但有时会碰到这样的问题:

代码如下:

[root@taotips lib]# rpm -v --rebuilddb rpmdb: fatal region error detected; run recovery error: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery error: cannot open Packages index

此时需要手动删除/var/lib/rpm目录下的类似 __db.* 的文件

代码如下:

rm -fr /var/lib/rpm/__db*

然后再运行

代码如下:

rpm -v --rebuilddb

即可.第二种方法 :

代码如下:

# cd /var/lib # mv rpm rpm.old # mkdir rpm # rpmdb --initdb # cp rpm.old/Packages rpm # rpmdb --rebuilddb

关于怎么在CentOS中使用rpm包管理器问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: