【图文教程】 Linux 软件包安装和卸载

预习内容:

7.1 安装软件包的三种方法
7.2 rpm包介绍
7.3 rpm工具用法
7.4 yum工具用法
7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean)
7.6 yum更换国内源
7.7 yum下载rpm包
7.8/7.9 源码包安装

扩展:

  1. yum保留已经安装过的包 http://www.360doc.com/content/11/0218/15/4171006_94080041.shtml
  2. 搭建局域网yum源 https://blog.csdn.net/miouqi/article/details/73159297

7.1 安装软件包的三种方法:

在这里插入图片描述

7.2 rpm包介绍:

rpm 工具类似于 Windows 的 exe 文件,可以直接进行安装,而且安装路径和文件名一般都是固定好的。在 CentOS 和 Red Hat 下的安装包一般称为 rpm 包。yum 是用 Python 开发的工具,yum 相对于 rpm 于一个优势,就是能自动去安装依赖的包。源码包则需要自己将源码编译成二进制可执行的文件,所以源码包是最麻烦的。

在这里插入图片描述

1. 虚拟机的光驱能够正常连接,并且放入一个iso镜像文件:

在这里插入图片描述
在这里插入图片描述

2. 挂载光驱:
[root@sc ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
3. cd 进 /mnt/ 目录就可以看到光驱里的文件:

在这里插入图片描述

4. 这里的 Packages/ 目录里有很多 rpm 包,我们来看看这些 rpm 包的格式:
[root@sc mnt]# cd Packages/
[root@sc Packages]# ls        

在这里插入图片描述在这里插入图片描述

7.3 rpm工具用法:

1. rpm -ivh 是安装 rpm 包指令 示例:
[root@sc Packages]# rpm -ivh zsh-5.0.2-31.el7.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:zsh-5.0.2-31.el7                 ################################# [100%]
[root@sc Packages]# 
2. rpm -Uvh 是升级 rpm 包指令 示例:
[root@sc Packages]# rpm -Uvh zsh-5.0.2-31.el7.x86_64.rpm 
准备中...                          ################################# [100%]
	软件包 zsh-5.0.2-31.el7.x86_64 已经安装
[root@sc Packages]# 
3. rpm -e 是卸载 rpm 包指令 示例:
[root@sc Packages]# rpm -e zsh
[root@sc Packages]# 
4. rpm -qa 是查询 rpm 安装过的包的命令,同时会列出系统中安装过的 rpm 包:
[root@sc Packages]# rpm -qa
firewalld-filesystem-0.5.3-5.el7.noarch
grub2-common-2.02-0.76.el7.centos.noarch
kbd-1.15.5-15.el7.x86_64
kbd-legacy-1.15.5-15.el7.noarch
tuned-2.10.0-6.el7.noarch
tzdata-2018e-3.el7.noarch
。。。。。
5. rpm -q “包名”,查询指定包是否安装:
[root@sc Packages]# rpm -q ppp
未安装软件包 ppp 
[root@sc Packages]# 
6. rpm -qi “包名”,查询指定包是否安装:
[root@sc Packages]# rpm -qi vim-enhanced 
Name        : vim-enhanced
Epoch       : 2
Version     : 7.4.160
Release     : 5.el7
Architecture: x86_64
Install Date: 2019年03月23日 星期六 22时56分02秒
Group       : Applications/Editors
Size        : 2296666
License     : Vim
Signature   : RSA/SHA256, 2018年11月12日 星期一 22时48分44秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : vim-7.4.160-5.el7.src.rpm
Build Date  : 2018年10月31日 星期三 03时57分29秒
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.vim.org/
Summary     : A version of the VIM editor which includes recent enhancements
Description :
VIM (VIsual editor iMproved) is an updated and improved version of the
vi editor.  Vi was the first real screen-based editor for UNIX, and is
still very popular.  VIM improves on vi by adding new features:
multiple windows, multi-level undo, block highlighting and more.  The
vim-enhanced package contains a version of VIM with extra, recently
introduced features like Python and Perl interpreters.

Install the vim-enhanced package if you'd like to use a version of the
VIM editor which includes recently added enhancements like
interpreters for the Python and Perl scripting languages.  You'll also
need to install the vim-common package.
7. rpm -qi “包名”,查询指定包信息示例:
[root@sc Packages]# rpm -ql vim-enhanced 
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
[root@sc Packages]# 
8. 列出某个rpm包安装的文件:
[root@sc Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-5.el7.x86_64
[root@sc Packages]# 
9. 根据文件的绝对路径来查看一个文件是由哪个包安装的和按命令查看由那个包安装的
[root@sc Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-5.el7.x86_64
[root@sc Packages]# rpm -qf `which cd`  # 反引号 直接查看 cd 这个命令的安装包
bash-4.2.46-31.el7.x86_64
[root@sc Packages]# 

7.4 yum工具用法:

Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

在这里插入图片描述

使用 yum 安装 rpm 包的时候能自动去安装依赖的包,而且只需要写包名即可:
[root@sc Packages]# yum install texlive

由上图可见,依赖的包有两百多个,如果使用rpm包安装的话得一个个去安装,估计没人也有耐心和时间手动安装两百多个包吧,所以 yum 工具最大的优势就是在这里,能够自动去安装依赖的包。
在这里插入图片描述

使用yum list命令可以列出可用的rpm包,示例:
[root@sc Packages]# yum list

在这里插入图片描述

查看 yum 仓库的配置文件,里面有很多核心文件:
[root@sc Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@sc Packages]# ls /etc/yum.repos.d/CentOS-Base.repo  # 查看最核心的文件
[root@sc Packages]# cat /etc/yum.repos.d/CentOS-Base.repo

在这里插入图片描述

yum search “指令”,搜索某个包:
[root@sc Packages]# yum search vim
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
============================================================================ N/S matched: vim =============================================================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor

  名称和简介匹配 only,使用“search all”试试。

更精准的搜索某个包: yum list |grep ‘vim’
在这里插入图片描述

使用 yum 工具安装 rpm 包,不想被询问加 -y 示例:
[root@sc Packages]# yum install -y vim -enhanced  # 不想被询问加 -y
yum grouplist 列出可用的组:
[root@sc Packages]# yum grouplist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

yum groupinstall 可以安装某个可用组:
[root@sc Packages]# yum groupinstall ‘Virtualization Host’
在这里插入图片描述

卸载包示例:
[root@sc Packages]# yum remove vim

在这里插入图片描述

yum update升级指令,不指定包名,会把系统所有的 rpm 包,包括系统,内核全部升级,这个操作往往是刚安装完系统去操作,如果已经安装了一些服务,搭建了一些环境,就不要随意升级了,可能会出问题:
[root@sc Packages]# yum update
检索某个命令的 rpm 包,例如我要检索 vim 命令的 rpm 包,前提条件是没安装过 vim 这个包:
[root@sc Packages]# yum provides "/*/vim"

在这里插入图片描述

7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean)

在这里插入图片描述

因为yum需要联网连接一个资源才能下载、检索rpm包,而搭建本地库可以预防在没有网络情况,也可以通过本地库去安装一些包。

配置本地仓库的思路:
1.需要把centos7的iso镜像加载倒光驱,把光驱挂载到mnt目录下,即可查看;
2.需要把之前电脑的yum源仓库配置文件copy一份,仓库配置文件在 /etc/yum.repo/ ;
3.把源仓库配置文件删除;
4.新建一个dvd.repo仓库的文件,把配置文件写入;
5.使用yum clear all 清除yum源的缓存;
6.之后即可使用本地yum源;

准备一个镜像文件挂载到 mnt 目录下:
备份 yum.repos.d 目录:
[root@sc Packages]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak
[root@sc Packages]# 
删除 yum.repos.d 目录下的所有文件:
[root@sc Packages]# cd /etc/yum.repos.d
[root@sc yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-fasttrack.repo
[root@sc yum.repos.d]# rm -fr ./*
[root@sc yum.repos.d]# 
在 yum.repos.d 目录下创建一个 dvd.repo 文件:
[root@sc yum.repos.d]# vi dvd.repo

在这里插入图片描述

在 dvd.repo 文件中写入以下内容:

清除之前 yum 仓库中的缓存:

[root@sc yum.repos.d]# yum clean all
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Cleaning repos: dvd
Other repos take up 138 M of disk space (use --verbose for details)
[root@sc yum.repos.d]# 
列出本地仓库的包:
[root@sc yum.repos.d]# yum list
[root@sc yum.repos.d]# yum list |less

在这里插入图片描述在这里插入图片描述

尝试安装本地仓库的包 GConf2.x86_64 3.2.6-8.el7 dvd :
[root@sc yum.repos.d]# yum install GConf2
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package GConf2.x86_64 0:3.2.6-8.el7 will be installed
--> Processing Dependency: /usr/bin/killall for package: GConf2-3.2.6-8.el7.x86_64
--> Running transaction check
---> Package psmisc.x86_64 0:22.20-15.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================
 Package  Arch     Version           Repository
                                            Size
=================================================
Installing:
 GConf2   x86_64   3.2.6-8.el7       dvd   1.0 M
Installing for dependencies:
 psmisc   x86_64   22.20-15.el7      dvd   141 k

Transaction Summary
=================================================
Install  1 Package (+1 Dependent package)

Total download size: 1.1 M
Installed size: 6.8 M
Is this ok [y/d/N]: y
Downloading packages:
-------------------------------------------------
Total               3.2 MB/s | 1.1 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : psmisc-22.20-15.el7.x86_64    1/2 
  Installing : GConf2-3.2.6-8.el7.x86_64     2/2 
  Verifying  : psmisc-22.20-15.el7.x86_64    1/2 
  Verifying  : GConf2-3.2.6-8.el7.x86_64     2/2 

Installed:
  GConf2.x86_64 0:3.2.6-8.el7                    

Dependency Installed:
  psmisc.x86_64 0:22.20-15.el7                   

Complete!

7.6 yum更换国内源:

在这里插入图片描述

CentOS 自带 yum 仓库源网址是国外的网址,所以从国内下载国外网址的 rpm 包有时候会很慢或者无法下载,这时可以更换国内的 yum 仓库源来解决这个问题。

删除 yum.repos.d 目录下的 CentOS-Base.repo 文件:
[root@sc Packages]# cd /etc/yum.repos.d
[root@sc yum.repos.d]# ls
dvd.repo
[root@sc yum.repos.d]# rm -fr dvd.repo 
[root@sc yum.repos.d]# ls
[root@sc yum.repos.d]# 
把之前在 /etc/ 备份的 yum.repos.d.bak 文件拷贝回来:
[root@sc yum.repos.d]# cp ../yum.repos.d.bak/* .
[root@sc yum.repos.d]# ls
CentOS-Base.repo       CentOS-Media.repo
CentOS-CR.repo         CentOS-Sources.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo
CentOS-fasttrack.repo
[root@sc yum.repos.d]# 
[root@sc yum.repos.d]# rm -f CentOS-Base.repo 
[root@sc yum.repos.d]# ls
CentOS-CR.repo         CentOS-Media.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-fasttrack.repo  CentOS-Vault.repo

使用 wget 命令或者用curl命令下载 163 的源,因为上一步我把 CentOS-Base.repo 文件给删掉了,所以只能使用 curl 命令:

163国内源:
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
注意:刚把外国源删除,所以 yum 不了 wget 这个命令
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
注意:只能使用 curl -O 这个命令来安装 yum 源

[root@sc yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1572  100  1572    0     0  16618      0 --:--:-- --:--:-- --:--:-- 16723
[root@sc yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@sc yum.repos.d]# 
[root@sc yum.repos.d]# vim CentOS7-Base-163.repo

在这里插入图片描述

最后可以使用 yum list 查看一下可用的 rpm 包。

[root@sc yum.repos.d]# yum install -y zsh
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-31.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================
 Package
        架构      版本             源       大小
=================================================
正在安装:
 zsh    x86_64    5.0.2-31.el7     base    2.4 M

事务概要
=================================================
安装  1 软件包

总下载量:2.4 M
安装大小:5.6 M
Downloading packages:
zsh-5.0.2-31.el7.x86_64.rpm | 2.4 MB   00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zsh-5.0.2-31.el7.x86_64      1/1 
  验证中      : zsh-5.0.2-31.el7.x86_64      1/1 

已安装:
  zsh.x86_64 0:5.0.2-31.el7                      

完毕!
安装 wget 命令:
[root@sc yum.repos.d]# yum install -y wget
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-18.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================
 Package 架构      版本            源       大小
=================================================
正在安装:
 wget    x86_64    1.14-18.el7     base    547 k

事务概要
=================================================
安装  1 软件包

总下载量:547 k
安装大小:2.0 M
Downloading packages:
wget-1.14-18.el7.x86_64.rpm | 547 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : wget-1.14-18.el7.x86_64      1/1 
  验证中      : wget-1.14-18.el7.x86_64      1/1 

已安装:
  wget.x86_64 0:1.14-18.el7                      

完毕!

在这里插入图片描述

因为仅有一个 163 的基础 yum 源,所以可能会有一些 rpm 包是仓库里没有的,需要安装扩展源来下载一些仓库里没有的 rpm 包。

安装 epel-release:

[root@sc yum.repos.d]# yum install -y epel-release
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 安装
--> 解决依赖关系完成

依赖关系解决

===========================================================================================================================================================================
 Package                                       架构                                    版本                                  源                                       大小
===========================================================================================================================================================================
正在安装:
 epel-release                                  noarch                                  7-11                                  extras                                   15 k

事务概要
===========================================================================================================================================================================
安装  1 软件包

总下载量:15 k
安装大小:24 k
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                        |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-11.noarch                                                                                                                               1/1 
  验证中      : epel-release-7-11.noarch                                                                                                                               1/1 

已安装:
  epel-release.noarch 0:7-11                                                                                                                                               

完毕!
[root@sc yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo  epel-testing.repo
CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo  epel.repo
[root@sc yum.repos.d]# cat epel.repo 
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
使用 yum list 列出可用的 rpm 包,会发现包增加了很多,可以使用 grep 过滤一下看得比较直观:在这里插入图片描述

7.7 yum下载rpm包:

因为本地 yum 仓库的 rpm 包有限,所以有很多 rpm 包需要在网络上下载。但是我希望把 rpm 包下载到本地,下一次再使用就不需要到网络上下载了,所以我们需要用 yum 下载 rpm 包到本地。
下载 rpm 包时要确保这个包没有下载过,不然系统就会提示已经下载过了。

在这里插入图片描述

查看存放rpm包的路径:

ls /var/cache/yum/x86_64/7/base/packages/
在这里插入图片描述

下载rpm包时可以通过 --downloaddir 指定 rpm 的存放路径,例如我放在 tmp目录下:

yum install zsh --downloadonly --downloaddir=/tmp/

在这里插入图片描述在这里插入图片描述

如果要下载的rpm包已经安装了,会出现以下提示:

在这里插入图片描述

如果需要下载已经安装了的rpm包可以使用reinstall命令:

yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/
在这里插入图片描述在这里插入图片描述

7.8/7.9 源码包安装:

在这里插入图片描述

源码包最好放到/usr/local/src/路径下,方便查找、方便使用这个操作系统的其他人。

可以到以下网址获得Apache源码包下载链接: r.aminglinux.com

在这里插入图片描述在这里插入图片描述

解压下载好的源码包:

在这里插入图片描述
在这里插入图片描述

列出源码包下的内容:

在这里插入图片描述###### 查看README说明文件:
在这里插入图片描述
在这里插入图片描述

大写名称的都是官方文档,INSTALL文档里有介绍如何安装源码包。

在这里插入图片描述
在这里插入图片描述

关于echo $?命令:
如果你执行一条命令,而且这个命令会输出很多信息,例如安装源码包时使用的那些命令。因为输出的信息太多,有时候命令执行完了并不能确定是否执行成功了,这时候就可以使用echo $?命令查看上一条令是否是正确的,结果是1就是执行失败,0则是执行成功。

安装gcc编译器:

在这里插入图片描述

然后就可以进行编译了,但是我这编译出了问题,缺少APR包:

在这里插入图片描述

所以我需要先下载这些apr包:
在以下链接可以找到这些包的下载地址:
http://archive.apache.org/dist/apr/

下载apr-1.5.2.tar.gz包:

wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

在这里插入图片描述

解压apr-1.5.2.tar.gz包:

在这里插入图片描述

编译:
1…/configure --prefix=/usr/local/apr/
2.[root@localhost apr-1.5.2]# make
3.[root@localhost apr-1.5.2]# make install

完成上面操作就继续编译Apache,这一步需要指定apr包的安装目录,因为我们是自定义安装的:
./configure --prefix=/usr/local/apache4/ --with-apr=/usr/local/apr/

继续编译发现还是缺少一个包:

在这里插入图片描述

再去刚刚那个网址找这个包的下载链接:
http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz

下载apr-util-1.6.0.tar.gz包:
wget http://archive.apache.org/dist/apr/apr-util-1.6.0.tar.gz

解压apr-util-1.6.0.tar.gz包:

在这里插入图片描述

编译:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完成上面操作就再次编译Apache,这一步不仅需要指定apr包的安装目录,还要指定apr-util包的安装目录,因为我们都是自定义安装的:在这里插入图片描述
然后发现依旧报错,缺少PRCE:

在这里插入图片描述

获得下载链接:
https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz

下载PCRE:

在这里插入图片描述

解压PCRE:

在这里插入图片描述

安装完之后倒回去编译PCRE:

在这里插入图片描述
[root@localhost pcre-8.41]# make
[root@localhost pcre-8.41]# make install

在编译之前先在yum可用安装组里下载安装Development Tools,因为这玩意需要C++来编译:在这里插入图片描述

现在继续倒回去编译Apache,这次得加上pcre的安装路径:
[root@localhost httpd-2.4.37]# ./configure --prefix=/usr/local/apache4/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/
[root@localhost httpd-2.4.37]# make
[root@localhost httpd-2.4.37]# make install

猜你喜欢

转载自blog.csdn.net/weixin_44816331/article/details/88903165