【AWSL】之Linux管理(RPM)程序

序言

在主机中安装了Linux操作系统之后,就具备了提供软件服务,网络服务等功能的基础。然而随着操作系统一起安装的软件包毕竟只有少数,实现的功能也比较有限,当需要为主机提供更多功能时,安装新的应用程序就成为必然要面对的工作。

一.Linux应用程序基础

1.应用程序与系统命令的关系

角色系统命令应用程序
文件位置一般在/bin和/sbin目录中, 或为Shell内部指令通常在/usr/bin(/usr/local/bin)和/usr/sbin(/usr/local/sbin)目录中
主要用途完成对系统的基本管理工作,例如IP配置工具完成相对独立的其他辅助任务, 例如网页浏览器
适用环境一般只在字符操作界面中运行根据实际需要,有些程序可在图形界面中运行
运行格式一般包括命令字、 命令选项和命令参数通常没有固定的执行格式

2.典型应用程序的目录结构

文件类型保存目录
普通执行程序文件/usr/bin
服务器执行程序文件和管理程序文件/usr/sbin
应用程序配置文件/etc
日志文件/var/log
应用程序参考文档文件/usr/share/doc
应用程序手册页文件/usr/share/man

3.常见的软件包封装类型

文件类型保存目录
RPM软件包扩展名为".rpm"
DEB软件包扩展名为".deb"
源代码软件包一般为 “.tar.gz” 、".tar.bz2" 等格式的压缩包包含程序的原始代码
绿色免安装的软件包(软件包的扩展名不一,以TarBall格式的居多 ) (在压缩包内提供已编译好的执行程序文件) (解开压缩包后的文件即可直接使用)

二.RPM

1.RPM包管理工具

  • 建立统一的数据库文件
  • 详细记录软件包安装、卸载等变化信息
  • 自动分析软件包依赖关系

2.RPM命令的格式

一般命名格式:bash-4.1.2-15.el6 _4.x86_ 64.rpm 软件名称:bash 版本号:4.1.2 发布时间:15.el6 _4 硬件平台:x86_ 64 扩展名:rpm

  • rpm命令能够实现几乎所有对RPM软件包的管理功能
  • 执行"man rpm”命令可以获得关于rpm命令的详细帮助信息

①rpm命令功能

  • 查询、验证RPM软件包的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护RPM数据库信息等综合管理操作

3.查询RPM软件包信息

①. 查询已安装的RPM软件信息

rpm -q[子选项] [软件名]

常用选项

rpm -q 软件名 			#查询指定软件是否已安装
rpm -q elink lynx 
rpm -qi 软件名  		#显示已安装的指定软件的详细信息
rpm -qi samba-client
rpm -ql 软件名  		#显示已安装的指定软件的文件列表
rpm -ql wget
rpm -qc 软件名  		#列出已安装的指定软件的配置文件
rpm -qc httpd
rpm -qd 软件名  		#列出已安装的指定软件的软件包文档所在位置
rpm -qd httpd
rpm -qR 软件名  		#列出已安装的指定软件的依赖的软件包及文件
rpm -qR wget
rpm -qF 文件或目录  	#查询已安装的指定软件属于哪个安装包
rpm -qF yum
rpm	-qa 	#显示当前系统中以 rpm方式安装的所有软件列表
rpm -qa | grep -i postfix 		#查询软件postfix是否已安装
rpm -qf /usr/bin/passwd   #查看指定的文件或目录是由哪个软件包所安装

②. 查询未安装的RPM软件包文件中信息

rpm -qp[子选项] RPM包文件

  • 使用“-qp”选项时,必须以RPM包文件的路径作为参数(可以有多个),而不是软件包名称。
  • 命令都与“-q”类似

常用选项

rpm -qpi RPM包文件名 		#查询指定软件包的详细信息
rpm -qpi /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm
rpm -qpl RPM包文件名 		#查询指定软件包的文件列表
rpm -qpl /mnt/Packages/ethtool-4.8-10.el7.x86_64.rpm
rpm -qpc RPM包文件名 		#查询指定软件包的配置文件
rpm -qpc /mnt/Packages/elinks-0.12-0.37.pre6.el7.0.1.x86_64.rpm 
rpm -qpd RPM包文件名 		#查询指定软件包的软件包文档的位置
rpm -qpd /mnt/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm

4.安装,升级,卸载RPM软件包

①.安装和升级RPM软件

rpm [选项] RPM包文件

常用选项

-i:安装一个新的 RPM 软件包。
-U:升级某个软件包,若未安装过,则进行安装。
-F:升级某个软件包,若未安装过,则放弃安装。
-h:在安装或升级软件包的过程中,以“#”号显示安装进度。
-v:显示软件安装过程中的详细信息。
--force:强制安装某个软件包,比如要安装版本更旧的软件包

②.卸载指定的RPM软件

rpm [选项] RPM包文件

-e:卸载指定名称的软件包。
--nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

③.辅助选项

1.--nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了。
2.--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装
--force、--nodeps、-h、-v
先rpm -ivh  /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm 
rpm -ivh --nodeps /mnt/Packages/perl-URI-1.60-9.el7.noarch.rpm

5.维护RPM数据库

①.重建RPM数据库

当 RPM 数据库发生损坏,可通过 重建RPM数据库 修复
rpm --rebuilddb		或者		rpm --initdb

②.导入验证密钥

在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件
mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-CentOS-7

6.解决软件包依赖关系方法

①.安装有依赖关系的多个软件时

  • 被依赖的软件包需要先安装
  • 可同时指定多个.rpm包文件进行安装

②.卸载有依赖关系的多个软件时

  • 依赖其他程序的软件包需要先卸载
  • 可同时指定多个软件名进行卸载

③.忽略依赖关系

  • 结合"-nodeps"选项,但可能导致软件异常

总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJ Thoreau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值