我和小伙伴们今天来探讨下安装及管理程序的知识点
1.Linux应用程序基础
2.查询软件包信息
3.安装、升级、卸载、软件包
4.源代码编译安装(源代码编译安装了解即可)
TIP: yum仓库能让软件安装更加流畅。

一、Linux应用程序基础

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

TIP:环境变量知道命令所存放的位置

■典型应用程序的目录结构
1.文件类型普通执行程序文件:/usr/bin
2.服务器执行程序文件和管理程序文件:/usr/sbin
3.应用程序配置文件:/etc
4.日志文件:/var/log
5.应用程序文档文件:/usr/share/doc
6.应用程序手册页文件:/usr/share/man

软件包简介:
1.全称:RMP Package Manager
2.由Red Hat公司提出,被众多Linux发行版所采用
3.建立统一的数据文件
4.详细记录软件安装、卸载等变化信息
5.自动分析软件包依赖关系

软件素材参考、一般命名格式:
yum库离线创建,软件包安装管理_第1张图片

二、查询软件包信息

查询已安装的软件包信息
rpm -q 【子选项】 【软件名】
常用选项
-qa -qi -ql -qf -qc -qd
查询未安装的软件包文件中信息
rpm -qp【子选项】 软件包文件
常用选项
-qpi -qpl -qpc -qpd


-qa:检查已安装的所有软件包
-qi:检查某个软件包详情
Ql:软件包包含了哪些内容
-qc:检查当中的配置文件
-qf:检查有多少文件
-qd:检查文档手册

三、安装、升级、卸载、RPM软件包

摘要:Mnt/package目录放软件包。
官方提供yum源给yum仓库,yum源是软件包的存放地点,Yum install就可以解决依赖关系

1.安装或升级软件包
rpm 【选项】 rpm包文件 ......
-i:安装软件包
-u:更新软件包
-F:检查文件目录属于哪个安装包
Man--rpm:告诉你软件包具体信息以及如何去使用。

2.卸载指定的软件包
-e:卸载已安装包
---force:强制执行
--nodeps:解决依赖关系
-h:友好显示
-v :显示过程

用软件包命令更新软件包,突然关机,数据库可能丢失。此时需重建RPM数据库:
yum库离线创建,软件包安装管理_第2张图片
yum库离线创建,软件包安装管理_第3张图片
小结:
1.学会使用软件包命令查询软件包信息的常用选项;
2.熟练掌握使用软件包命令安装、升级、卸载软件包的常用选项。

四、源代码编译安装(目前了解即可,日后会提及)

源代码编译概述
1.■使用源代码安装软件的优点
●获得最新的软件版本,及时修复bug
●根据用户需要, 灵活定制软件功能
2.■应用场合举例
●安装较新版本的应用程序时
●当前安装的程序无法满足需要时
●需要为应用程序添加新的功能时
yum库离线创建,软件包安装管理_第4张图片
yum库离线创建,软件包安装管理_第5张图片
yum库离线创建,软件包安装管理_第6张图片

运用

打开centos虚拟系统,用xshell软件连接上linux系统(没有安装软件的小伙伴去我之前的博客中找到安装路径,并按照我所总结的安装流程,把软件安装好),输入命令查看到已安装软件包为1324个。
yum库离线创建,软件包安装管理_第7张图片

所有的软件包都放在yum仓库中,仓库中的软件包都会实时更新,所以用yum安装软件包安装的都是最新软件包。我们来看一下内中乾坤,这时要输入“yum.list”查看具体信息。
yum库离线创建,软件包安装管理_第8张图片

官方会对更新软件包去维护,那问题来了,它的官方地址在哪?接下来,我们一起来探索它的地址究竟躲在哪了。
先输入一波命令,查看etc目录下详情:
yum库离线创建,软件包安装管理
yum库离线创建,软件包安装管理_第9张图片

找到源配置地点后,进入其中。里面的文件后缀都是repo。
yum库离线创建,软件包安装管理_第10张图片
进入centos-Base.repo中,会有各种路径,连接着官网的服务器。但缺点就是:只有在有网的时候才可以安装,没网就不行。
yum库离线创建,软件包安装管理_第11张图片

先来安装httpd的软件包,用yum安装系统自动解决依赖问题(非常友好)。
yum库离线创建,软件包安装管理_第12张图片

安装成功后,先开启httpd服务,然后把防火墙暂时关闭(不关的话会被拦截),最后把增强安全功能关闭(即置0)
yum库离线创建,软件包安装管理
用系统的ip地址在宿主机上进行查询,发现可以浏览到Apache的网站,即我们的httpd软件包安装成功。
yum库离线创建,软件包安装管理_第13张图片

以上软件包的安装均是在有网环境下进行。那么,问题来了,假设我们处在一个没有网络的环境中,系统是否可以在没有网络的情况下进行软件包的安装呢?
现在我来为大家揭晓如何在没网时安装软件包,如何给它建立一个yum仓库。
首先把centos系统设置成仅主机模式,在此模式下系统不能上网,只能与宿主机、宿主机中的虚拟机进行通讯。
yum库离线创建,软件包安装管理_第14张图片
yum库离线创建,软件包安装管理_第15张图片

进系统发现没有ip地址,我们来给系统配一个静态地址。
输入命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33回车。
进入到网络状态下,先配置静态模式,以及ip地址、掩码和网关,完成后保存退出。退出后千万千万千万不要忘了重启网络服务,命令:service network restart回车。
yum库离线创建,软件包安装管理_第16张图片
查看系统ip地址:
yum库离线创建,软件包安装管理_第17张图片

现在是没网状态,使用yum clean all清除yum仓库的缓存。再运行yum list会有各种错误。我们现在要用到镜像安装包,还要给它建一个yum仓库。我们回到系统的设置上来,给它配置镜像文件(用原来的镜像即可):
yum库离线创建,软件包安装管理_第18张图片
输入命令df -h查看镜像是否挂载进来:

yum库离线创建,软件包安装管理_第19张图片

由上图可知,镜像文件在光驱里,那么光驱在哪呢?它在dev设备文件下。现在要把光驱挂载到一个我设置的mnt空目录当中。
yum库离线创建,软件包安装管理_第20张图片

查看mnt目录下,镜像文件都在这里,软件包都在packages下。
yum库离线创建,软件包安装管理

我们进packages中看一下,里面全是软件包。
yum库离线创建,软件包安装管理_第21张图片
在packages目录下找出vim的工具,然后使用卸载命令删除vim-enhanced-7.4.160-2.el7.x86-64文件,再用下载命令下安装及管理程序
yum库离线创建,软件包安装管理_第22张图片
总结:软件包在进行卸载、下载时会存在依赖关系,解决依赖关系的途径为yum仓库,在断网情况下,yum仓库又显示不出来。那么我们现在就要把刚刚的packages做成yum仓库。(此为断网下安装软件包最优方法,即创建私有yum仓库)
进入/etc/yum.repos.d目录下创建私有yum库,建好后保存退出:
yum库离线创建,软件包安装管理_第23张图片
完成后查看yum仓库:
yum库离线创建,软件包安装管理_第24张图片
将删除的httpd文件全部安装上去:
yum库离线创建,软件包安装管理_第25张图片
安装完毕后,
yum库离线创建,软件包安装管理_第26张图片

安装成功后,先开启httpd服务,然后把防火墙暂时关闭(不关的话会被拦截),最后把增强安全功能关闭(即置0)。即可以ping通外界设备。
总结:
1.有线安装软件包速度快,一旦没网离线时,就得自己创建私有yum仓库。
2.离线安装完全依赖于镜像文件(服务器一般都全程在线,很少情况下会没网掉线)。