16.1 前言
我们在前面已经了解了文件权限及用户管理,这一章我们来着重了解一下Linux的软件管理,软件管理,顾名思义,就是进行软件安装卸载等一些操作,话不多说,我们直接开始正文!
16.2 Windows安装及卸载
windows安装/卸载有两种方式,分别如下:
- 方法一:双击exe安装包,就可以安装
- 用exe安装的软件会被记录到注册表中
- 注册表会记录安装位置、软件名称(如下图)
- 如电脑管家安装的QQ,微信等程序大部分都为exe安装
- 方法二:用绿色方试进行安装
不用写到注册表里,因此无法在开始菜单里面查看和卸载软件(如下图) 这类软件为绿色方式进行安装,绿色软件和exe安装区别如下:
- 方式一:exe安装大多数拥有注册表,可以在开始菜单中查看。而且可以在应用和功能中进行卸载
- 在进行卸载软件的时候会在注册表中读取软件的安装记录,然后将安装位置下的文件一一删除,这 样实现软件的卸载
- 方式二:直接删除软件原文件就可以卸载
windows的软件管理大概就是这些,接下来我们来看今天的重头戏:linux的软件安装及卸载
16.3 Linux软件安装卸载
Linux的安装卸载分为三类,分别为:
- 方式一:rpm包安装
- 方式二:yum安装
- 方式三:源码编译安装
而在linux中,安装包的来源大概分为两个大类:
本地 rpm 包:安装系统的光盘中,一般存放于光盘中的Packages下,如下图:线上 rpm 包:
- 阿里云:https://mirrors.aliyun.com/centos/7/os/x86_64/
- 华为:https://mirrors.huaweicloud.com/
- 清华:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
- 中科大:USTC Open Source Software Mirror
- 华为:https://mirrors.huaweicloud.com/
我们先来讲讲rpm安装
16.3.1 rpm安装
命令格式:rpm [选项] 软件名
选项:
- -i:安装软件
- -v:显示安装过程信息
- -h:用#表示安装进度,一个#代表2%
- -ivh:安装软件,显示安装过程
- -e:卸载软件
- -q:查看软件是否安装
- -ql:查看安装文件生成文件列表
- -qc:查看安装软件生成的配置文件
- -qf:查看某个文件是哪个软件安装过程中生成的
- --nodeps:强制安装忽略依赖关系
- --replacepkgs:覆盖安装
rpm安装操作步骤:
第一步:挂载光盘
挂载光盘命令如下:
mount /dev/cdrom /mnt
这里需要注意的是,我们需提前在虚拟机上将cd/dvd的设备状态设置为已连接状态,才能进行正常挂载,否则会报错!具体演示如下
没有使用已连接所进行的挂载所显示的反馈:
他会显示找不到介质,因此我们需要将cd /dvd的设备状态进行更改。具体更改如下图:
这里需要注意的是,作者所指定的ios映像路径为Linux系统光盘映像文件,在指定后我们可以进行上一步的操作,继续执行mount命令!
我们现在来看反馈:
ok,我们确认一下
第二步:查看mnt文件:
mnt里面有东西了,说明会挂载成功!!
第三步:切换到/mnt/Pcakges
cd /mnt/Packages
第四步:执行rpm安装:
格式如下:
rpm -ivh 软件名
注意:这里要输入全名,举个例子,安装wget
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
看结果:
安装完成,我们来查看一下:
rpm -q wget
看结果:
ok,说明已经安装成功!
这里需要注意的是:挂载点不是只可以挂载在mnt目录下,挂载在其他目录下也是可以的
rmp安装看上去很好使,但是有一个比较大的缺点,就是无法一次性安装全部依赖!这个时候我们就需要去利用yum安装去解决软件依赖的问题了!
16.3.2 yum 安装
这里我们先来了解一下什么是依赖,举个例子,我们在Windows中玩一些4399游戏,很多游戏需要用到flash或者unity3d等插件,玩三a大作需要用到游戏启动引擎,这里就可以理解为游戏的依赖,而在linux中,虚弱软件都需要用到依赖,最为常见的是nginx,apache,等中间件,因此,一般yum安装是最为方便的,但是!yum也有缺点,那就是无法查看安装软件的位置,各有利弊,还请各位根据个人情况来使用。
yum安装
优点:
不需要安装依赖
缺点:
无法查看软件安装位置
yum运行机制
yum安装与rpm安装不同,yum安装需要在配置文件对安装包进行路径指定,指定完毕后才可进行yum安装。
yum配置文件:
yum分为主配置文件和子配置文件,两者位置如下:
- yum主配置文件:
/etc/yum.conf
- yum子配置文件:
/etc/yum.repos.d下的以 .repo 结尾的文件一般情况下,我们不需要修改yum的主配置文件,只需要修改yum的子配置文件即可,这里我们在之后通过安装nginx举例来进行详细讲解,yum默认子配置文件中的文件目录如下:我们发现,这里都是.repo为后缀的文件,是因为yum安装都是通过.repo文件为后缀进行指示的,该文件可以指示目录的本地源,也可以去指示网络的yum源好了,话不多说,我们直接开始实操,通过实操来看yum安装:例:yum安装nginx
配置yum源:
安装nginx,需要先了解软件包在什么位置,一般来讲,默认的iso文件是没有nginx的,因此我们需要 配置网络源,而在网络源中,这种安装包一般存放在 epel扩展源中,但他的一些依赖软件可能存放在一些我们没有的安装包中,因此我们还需要安装网络源的CentOS 7的相关网络源,这里我给大家推荐几个镜像网站方便大家来获取网络源:相关镜像网站
- - 中科大:https://mirrors.ustc.edu.cn/
- 阿里:https://mirrors.aliyun.com/
- - 华为:https://mirrors.huaweicloud.com/
- - 网易:https://mirrors.163.com/
- - 清华:https://mirrors.tuna.tsinghua.edu.cn/
在了解我们需要用到那些镜像之后,我们开始配repo源,配置repo源,需要做到以下几步:
第一步 :
切换路径:
cd /etc/yum.repos.d/
第二步:备份 / 删除 / 改后缀原来文件rm -rf *.repo
第三步:
新建一个空文件,文件名字要以.repo 结尾touch my.repo
第四步:
vi该文件,输入下面东西
[base] name=myrepo baseurl=file:///mnt gpgcheck=0 enabled=1 [mynetrepo] name=my net repo enabled=1 gpgcheck=0 baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/ [mynetepelrepo] name=my net epel repo enabled=1 gpgcheck=0 baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
上述文件从上到下分别为本地yum源,网络centos源以及网络epel源,而我们发现,三个源格式几乎一模一样,我们来以本地源为模板,来进行举例:
[base] 指定yum仓库的id,不能有空格 name=myrepo yum仓库的名称,可以随便写 baseurl=file:///mnt 指定yum的位置 gpgcheck=0 指定是否要检查rpm的来源合法性 0不检查 1检查 enabled=1 是否启动 0不启动 1启动
我们来看一下笔者的yum.源文件:
ok,
我们在完成这几步后,开始下一个阶段操作:
挂载本地光盘
挂在本地光盘命令:
mount /dev/cdrom /mnt
挂载完成后查看本地光盘:
ls /mnt
看结果:
ok,本地光盘也已经挂在上了,接下来我们来检查配置是否成功、
检查是否配置成功
两个命令
命令一:
yum clean all 清空之前的yum缓存
命令二:
yum repolist 加载yum的缓存
两个命令依次执行
第一个命令执行正确的反馈
第二个命令执行正确的反馈:
安装软件:
格式如下:
yum install 软件名称,软件名称
我们yum安装nginx
yum install nginx
看结果:
我们现在来启动nginx,启动命令如下:
systemctl start nginx
我们来看是否启动:
lsof -i :80
我们来再次确认一下,主机浏览器直接输入虚拟机ip,但在此之前,我们需要先关闭Linux防火墙才可以,命令如下:
systemctl stop firewalld
systemctl stop iptables
setenforce 0
浏览器输入网址
192.168.1.251
看结果
nginx安装并且启动成功!!!
删除软件:
yum remove 软件名
yum就先暂时讲到这里,我们接下来来看编译安装
16.3.3 编译安装
编译安装,就是将安装包写好的源码编译成计算机可读的二进制数字,从而安装软件并进行使用,这里编译安装也有属于自己的优缺点,具体如下:
优缺点:
优点:
可以指定安装位置
缺点:
无法安装依赖,安装较为复杂
我们先来了解一下编译安装的过程:
编译安装的过程:
- 1.解压源码包
- 2. 进入解压目录
- 3. 安装依赖
- 4. 执行./configure
- 1.检查当前系统环境是否满足后续操作
- 2.指定软件的安装路径
- 5. 执行make
- 1. 进行编译
- 6. 安装,执行:make install
- 1. 将编译好的程序进行安装
老规矩,我们来安装nginx
编译安装nginx
第一步:安装组件
yum install lrzsz -y
之后我们将安装包通过xshell拖进去
我们现在放置于root家目录中,
解压安装包
tar -xvf 软件名
操作如下:
tar -xvf nginx-1.24.0.tar.gz
完成后看目录:
第二步:进入解压目录
cd nginx-1.24.0
安装依赖,依赖如下:
gcc gcc-c++ pcre-devel zlib-devel openssl-devel ncurses-devel
安装命令如下:
yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel ncurses-devel -y
安装后看结果:
第三步:进行编译安装
之后执行目录里面的.configure并指定安装目录,具体操作如下:
1.创建一个空目录
mkdir /ng
2.检查环境并指定安装位置:
./configure --prefix=/ng
3.执行编译:
make
看结果:
4.进行编译安装:
make install
看/ng里面有没有东西
第四步:启动nginx
/ng/sbin/nginx
我们通过lsof查看80端口判断nginx是否启动
lsof -i:80
看结果:
nginx已启动,现在我们关闭防火墙:
systemctl stop firewalld
systemctl stop iptables
setenforce 0
我们物理机输入linux的ip地址查看中间件是否成功运行:
运行成功,ok!!
第五步:关闭nginx
在编译安装中,我们只能通过杀死进程来关闭nginx,具体如下
lsof命令查看80端口
lsof -i:80
看结果:
删除nginx的pid,命令格式如下:
kill -9 pid
命令如下:
kill -9 8957 8958
再次查看80端口
ok完成·!!!
ok,软件进程和管理就到这里了,篇幅有些略长和,一定会有一些错误,如果有错误还请各位多多指正,感谢各位的观看,我们下期再见!