网络安全快速入门(十六)软件管理

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 包:

我们先来讲讲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,软件进程和管理就到这里了,篇幅有些略长和,一定会有一些错误,如果有错误还请各位多多指正,感谢各位的观看,我们下期再见!

相关推荐

  1. php 快速入门

    2024-06-12 17:26:04       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 17:26:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 17:26:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 17:26:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 17:26:04       18 阅读

热门阅读

  1. vuePC 录制桌面 并下载到本地

    2024-06-12 17:26:04       8 阅读
  2. Redis:原理、概念、用法与实例解析

    2024-06-12 17:26:04       6 阅读
  3. 探索FPGA技术:零成本入门指南

    2024-06-12 17:26:04       6 阅读
  4. Android shell 常用 debug 命令

    2024-06-12 17:26:04       8 阅读
  5. Spring Boot 面试热点(一)

    2024-06-12 17:26:04       8 阅读
  6. 初识Docker

    2024-06-12 17:26:04       5 阅读