软件包的安装与管理

一•软件包的封装类型
(1) RPM软件包:扩展名为“.rpm”,在使用RPM软件包管理器机制的Linux操作系统中安装。需要使用系统的rpm命令。
(2) DEB软件包:扩展名为“.deb”在使用DPKG包管理器机制的Linux操作系统中进行安装,需要使用系统中的dpkg命令。
(3) 源代码软件包:程序员开发完成的原始代码,一般被制作成“.tar.gz”.tar.bz2”等格式的压缩包文件,安装源码软件包需要使用相应的编译工具。
(4) 附带安装程序的软件包:扩展名不一,以TarBall格式居多,软件中会提供用于安装的可执行程序或脚本文件。
二•使用RPM包管理工具
(1) RPM包格式
① 获得关于rpm命令的详细帮助信息
Man rpm
[root@localhost ~]# man rpm
RPM(8) System Manager's Manual RPM(8)

NAME
rpm - RPM Package Manager

SYNOPSIS
QUERYING AND VERIFYING PACKAGES:
rpm {-q|--query} [select-options] [query-options]

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

//省略部分信息

(2) 查询RPM软件包信息
1)已安装
① q:查看软件包是否被安装
[root@localhost ~]# rpm -q elinks
package elinks is not installed
② -qa:显示当前系统中所有RPM安装的软件
root@localhost ~]# rpm -qa
gnutls-dane-3.3.24-1.el7.x86_64
mesa-private-llvm-3.8.1-1.el7.x86_64
plymouth-theme-charge-0.8.9-0.26.20140113.el7.centos.x86_64
//省略部分信息
③ -qi:查询指定软件的详细信息和描述
[root@localhost ~]# rpm -qi gcc
Name : gcc
Version : 4.8.5
Release : 11.el7
Architecture: x86_64
Install Date: Fri 11 May 2018 12:43:34 AM CST
//省略部分信息
④ -ql:查看软件包即将安装到哪些目录
[root@localhost ~]# rpm -qlwget
/etc/wgetrc
/usr/bin/wget
/usr/share/doc/wget-1.14
/usr/share/doc/wget-1.14/AUTHORS
//省略部分信息
⑤ -qf:查看某个文件或者命令是由哪个软件安装的
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7.x86_64

2)查询rpm包文件中的相关信息
①-qpi:未安装的软件包的名称,版本,许可协议,用途描述等详细信息。
[root@localhost Packages]# rpm -qpi ethtool-4.5-3.el7.x86_64.rpm
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Name : ethtool
Epoch : 2
Version : 4.5
Release : 3.el7
Architecture: x86_64
Install Date: (not installed)
//省略部分信息
②-qpl:软件包准备要安装的所有目标目录,文件列表。
[root@localhost Packages]# rpm -qpl ethtool-4.5-3.el7.x86_64.rpm
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
/usr/sbin/ethtool
/usr/share/doc/ethtool-4.5
/usr/share/doc/ethtool-4.5/AUTHORS
//省略部分信息

(3) 安装,升级,卸载RPM软件包
① -i:--install 安装
② -v:--verbose 显示安装过程程详细信息
③ -h:--human 以人类可读的方式显示,以###表示安装进度
[root@localhost Packages]# rpm -ivh ethtool-4.5-3.el7.x86_64.rpm
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
package ethtool-2:4.5-3.el7.x86_64 is already installed
④ --test:只是测试安装,并不会真正安装软件
⑤ -e:卸载指定名称的软件包
[root@localhost Packages]# rpm -e ethtool-4.5-3.el7.x86_64.rpm
error: package ethtool-4.5-3.el7.x86_64.rpm is not installed
⑥ -U:更新软件包,如果没有安装功能等同与-i
⑦ -F:辅助选项,检查并且更新某个软件包,如果软件没有被安装则放弃
A.--force:强制替换现有软件,例如低版本替换高版本时使用。
B.—nodeps:在安装或升级,卸载一个软件包时,不检查与其他软件包的依赖关系。
[root@localhost Packages]# rpm -F ethtool-4.5-3.el7.x86_64.rpm
warning: ethtool-4.5-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

(4)维护rpm数据库
①--rebuilddb/initdb:重建rpm信息库,用于软件的修复
[root@localhost Packages]# rpm -rebuilddb
② --import:用于导入厂商密钥
[root@localhost /]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7

猜你喜欢

转载自blog.51cto.com/13468179/2320214