Linux 操作系统 10 – 软件安装管理

往期文章回顾
Linux 操作系统 01 – 目录篇
Linux 操作系统 02 – 文件篇
Linux 操作系统 03 – 用户和组管理
Linux 操作系统 04 – 权限管理
Linux 操作系统 05 – 定时任务调度
Linux 操作系统 06 – 磁盘管理
Linux 操作系统 07 – 进程管理
Linux 操作系统 08 – 服务管理
Linux 操作系统 09 – 络配置

软件包主要分为两类,第一类是源码包,包括脚本安装包,第二类是二进制包,包括 RPM 包,系统默认包。

一、RPM

RPM 是用于互联 下载包的打包及安装的工具,它包含在某些 Linux 发行版中。它生成具有 .RPM 扩展名的文件。RPM 是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe,这一文件格式名称虽然打上了 RedHat 的标志,但理念是通用的。Linux 的发行版本都有采用,例如 suse, redhat, centos 等,算是公认的行业标准了。

1.1 安装

包全名:操作的包是没有安装的软件包,使用包全名,即包全路径名称;
包名:操作已经安装的软件包时,使用包名,是搜索 /var/lib/rpm 中的数据库;

rpm 安装分为 rpm 手工安装和 rpm yum 在线安装。

功能描述:安装 rpm 包

选项

安装(install)
显示详细信息(verbose)
显示进度(hash)
不检测依赖性(该选项实际工作中不允许使用)

1.2 升级与卸载

功能描述:升级 rpm 包

选项

升级(upgrade)
显示详细信息(verbose)
显示进度(hash)

功能描述:卸载 rpm 包

选项

卸载(erase)
不检测依赖性(该选项实际工作中不允许使用)

说明

1)如果其它软件包依赖于要卸载的软件包,卸载时会产生错误信息;
2)如果一定要删除,可以增加参数 –nodeps,强制删除,但是不推荐;

1.3 查询

选项

查询(query)
所有(all)
查询软件包信息(information)
查询未安装包信息(package)
列表(list)
查询系统文件属于哪个rpm软件包(file)
查询软件包的依赖性(requires)

1.4 校验

功能描述:校验 rpm 包

选项

校验指定 rpm 包中的文件(verify)

功能描述:rpm 包中文件提取

选项

copy-in模式,还原
还原时自动新建目录
显示还原过程

说明

1)rpm2cpio 将 rpm 包转换为 cpio 格式的命令;
2)cpio 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件;

二、YUM

YUM 是一个 Shell 前端软件包管理器,基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

2.1 yum 基本命令

查询

功能描述:查询 yum 服务器所有可用软件包列表

功能描述:查询 yum 服务器是否有需要安装的软件

安装

功能描述:安装软件包

选项

自动确认安装(yes)

说明

1)yum 安装只需写包名即可,不同于 rpm 安装;

案例

1)安装 gcc 编译器

升级(慎用!!

功能描述:升级软件包

选项

自动确认升级(yes)

卸载

功能描述:卸载已经安装的 yum 包

选项

自动确认卸载(yes)

注意

1)rpm 包安装时,有依赖性;同样卸载时也有依赖性,所以原则上尽量不卸载;
2)服务器使用最小化安装,用什么软件安装什么软件,尽量不卸载;

2.2 yum 软件组管理命令

功能描述:列出所有可用的软件组列表

注意

1)使用 xshell 终端工具输入命令时软件组名是中文显示的;
2)使用 Linux 本机输入命令时软件组名是英文显示的;

功能描述:安装指定软件组,组名可以由 grouplist 查询出来

注意

1)此处软件组名必须是英文;
2)使用 xshell 终端工具设置中英文:LANG=en_US LANG=zh_CN.utf8

功能描述:卸载指定软件组

三、源码包安装

3.1 源码包和 RPM 包区别

1)安装之前的区别:概念上的区别;
2)安装之后的区别:安装位置不同;

源码包安装在指定位置当中,一般是 /usr/local/软件名/,因为源码包没有卸载命令,所以必须指定安装位置。

安装位置不同带来的影响

RPM 包安装的服务可以使用系统服务管理命令 service 来管理,例如 RPM 包安装的 apache
启动方法有两种

1)
2) service 命令搜索的目录实际上就是 etc 目录

源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中,只能使用绝对路径进行服务管理。

3.2 源码包安装过程

1)安装准备

安装 c 语言编译器,Linux 下源文件都是用 c 语言编写的;
下载源码包,例如 apache 源码包下载地址:http://mirror.bit.edu.cn/apache/httpd/

2)安装注意事项

源码包保存位置:/usr/local/src/
软件安装位置:/usr/local/

如何确定安装过程 错r> 安装过程停止,并且出现 error、warning 或 no 的提示。

3)源码包安装过程

第一步:下载源码包;

第二步:解压缩下载的源码包;

第三步:进入解压缩目录(不是可选项,必须要执行);

第四步:./configure 软件配置与检查

#指定apache安装位置

第五步:make 编译

#如果编译时出现 错,使用此命令清除编译时的缓存文件

第六步:make install 编译安装

这一步骤如果 错,需要删除 /usr/local/apache2 目录

第七步:启动服务

#prefix=/usr/local/apache2

4)源码包的卸载

不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。


慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树k8s包管理(helm)安装helm8829 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月19日
下一篇 2021年9月19日

相关推荐