Linux RPM安装软件
来自CloudWiki
目录
RPM包管理机制
RPM Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系
RPM软件包
软件素材参考:http://rpmfind.net
一般命名格式:bash-3.1-16.1.i386.rpm
(软件名称+版本号+硬件平台. 扩展名)
在图形界面中管理RPM包
图形界面中的“添加/删除软件”
依赖于YUM(Yellow dog Updater,Modified)机制 调用yum命令工具进行软件更新
使用“添加/删除软件”工具的条件
能够访问互联网中的YUM源服务器 若使用默认源,需有合法的安装序列号和服务订阅号
RPM包管理命令 —— rpm
主要功能
- 查询RPM软件、包文件的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息
查询RPM软件信息
查询现在已安的所有软件包
格式:rpm -qa
[root@localhost ~]# rpm -qa|less [root@localhost ~]# rpm -qa|grep httpd
查询特定的RPM包是否已经安装
格式:rpm -q[子选项] [软件名]
用法:结合不同的子选项 完成不同查询
-qa:查看系统中已安装的所有RPM软件包列表 -qi:查看指定软件的详细信息 -ql:查询指定软件包所安装的目录、文件列表 -qc:仅显示指定软件包安装的配置文件 -qd:仅显示指定软件包安装的文档文件
查询特定的软件是否已安装:
[root@localhost ~]# rpm -q httpd httpd-2.2.15-5.el6.x86_64
rpm -q lynx package lynx is not installed
查询带特定关键字的安装包是否已安装
[root@localhost ~]# rpm -qa | grep bash bash-3.1-16.1 [root@localhost ~]# rpm -q bash bash-3.1-16.1
查询软件包的说明信息
命令格式为: rpm -qi 软件包名称
[root@localhost ~]# rpm -qi bash Name : bash Relocations: (not relocatable) Version : 4.1.2 Vendor: Red Hat, Inc. Release : 3.el6 Build Date: Tue 22 Jun 2010 11:52:17 PM CST Install Date: Thu 28 Jun 2018 04:29:58 AM CST Build Host: x86-008.build.bos.redhat.com Group : System Environment/Shells Source RPM: bash-4.1.2-3.el6.src.rpm Size : 3143558 License: GPLv3+ Signature : RSA/8, Mon 16 Aug 2010 11:30:37 PM CST, Key ID 199e2f91fd431d51 Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> URL : http://www.gnu.org/software/bash Summary : The GNU Bourne Again shell Description : The GNU Bourne Again shell (Bash) is a shell or command language interpreter that is compatible with the Bourne shell (sh). Bash incorporates useful features from the Korn shell (ksh) and the C shell (csh). Most sh scripts can be run by bash without modification. [root@localhost ~]#
查询bash软件包安装的文件列表
格式:rpm -ql 软件包名称
例如,要查询bash软件包含有哪些文件,以及都安装在什么位置。
[root@localhost ~]# rpm -ql bash /bin/bash /bin/sh /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc ……
查询未安装的RPM包文件
格式:rpm -qp[子选项] RPM包文件
用法:结合不同的子选项 完成不同查询
-qpi:通过.rpm包文件查看该软件的详细信息 -qpl:查看.rpm安装包内所包含的目录、文件列表 -qpc:查看.rpm安装包内包含的配置文件列表 -qpd:查看.rpm安装包内包含的文档文件列表
查询lynx软件安装包的摘要信息
[root@localhost ~]# rpm -qpi lynx-2.8.5-28.1.i386.rpm warning: lynx-2.8.5-28.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Name : lynx Relocations: (not relocatable) Version : 2.8.5 Vendor: Red Hat, Inc. Release : 28.1 Build Date: 2006年07月13日 星期四 14时10分20秒 ……
查询lynx安装包中的文件列表
[root@localhost Server]# rpm -qpl lynx-2.8.5-28.1.i386.rpm /etc/lynx-site.cfg /etc/lynx.cfg ……
查询某个文件属于哪个RPM包
查询vim是由哪个软件包安装的
[root@localhost ~]# rpm -qf /usr/bin/vim vim-enhanced-7.0.109-3
安装RPM软件包
安装或升级RPM软件
格式:rpm [选项] RPM包文件...
用法:不同选项适用于不同情况
-i:安装一个新的rpm软件包 -U:升级某个rpm软件,若原本未装,则进行安装 -F:更新某个rpm软件,若原本未装,则放弃安装
辅助选项
--force:强制安装所指定的rpm软件包 --nodeps:安装、升级或卸载软件时,忽略依赖关系 -h:以“#”号显示安装的进度 -v:显示安装过程中的详细信息
公网安装rpm包
常用的RPM下载网址:
https://pkgs.org/ http://rpmfind.net http://rpm.pbone.net/
搜索到你不要的rpm包,鼠标复制地址,在命令行:
下载好以后 rpm -ivh *.rpm安装,就可以使用。
rpm -ivh https://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.0-1.el8.ngx.x86_64.rpm
本地安装rpm包
准备工作:挂载Redhat的光盘到Linux系统
mkdir /mnt/downloads mount -o loop /dev/cdrom /mnt/downloads ls /mnt/downloads
查询相关的gcc包:
[root@localhost ~]# find /mnt/downloads -name "*.rpm" | grep gcc /media/RHEL_6.0 x86_64 Disc 1/Packages/gcc-2.8.6-27.el6.x86_64.rpm
将查询到的包复制到当前目录
[root@localhost media]# cp "/mnt/downloads/RHEL_6.0 x86_64 Disc 1/Packages/gcc-2.8.6-27.el6.x86_64.rpm" /home [root@localhost media]# ls ~ anaconda-ks.cfg Downloads lynx-2.8.6-27.el6.x86_64.rpm Public Desktop install.log Music Templates Documents install.log.syslog Pictures Videos [root@localhost media]# cd
执行安装:
[root@localhost ~]# rpm -ivh gcc-2.8.6-27.el6.x86_64.rpm warning: gcc-2.8.6-27.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:gcc ########################################### [100%]
安装rpm包示例2
升级RPM软件包
升级wget软件包:
[root@localhost ~]# rpm -i wget-1.10.2-3.2.1.i386.rpm [root@localhost ~]# rpm -q wget wget-1.10.2-3.2.1 [root@mail ~]# rpm -Uvh /media/cdrom/wget-1.10.2-7.el5.i386.rpm warning: /media/cdrom/wget-1.10.2-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:wget ########################################### [100%] [root@localhost ~]# rpm -q wget wget-1.10.2-7.el5
卸载RPM软件包
卸载指定的RPM软件
格式:rpm -e 软件名
辅助选项
--force:强制安装所指定的rpm软件包 --nodeps:安装、升级或卸载软件时,忽略依赖关系 -h:以“#”号显示安装的进度 -v:显示安装过程中的详细信息
卸载lynx软件包:
[root@localhost ~]# rpm -q lynx lynx-2.8.5-28.1 [root@localhost ~]# rpm -e lynx [root@localhost ~]# rpm -q lynx package lynx is not installed
思考:
如何用rpm方式安装软件包 ?升级软件包 ?卸载软件包 ?查询某软件包是否已安装?