yum更换国内源
- 从国外下载rpm包有时会很慢
- 所以更改为国内的下载源会快很多
- 进入 /etc/yum.repos.d 目录
- 使用 rm -f CentOS-Base.repo 删除 CentOS-Base.repo 文件

- curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
- 使用以上命名可以下载 CentOS7-Base-163.repo 文件到当前目录
- 完成后使用ls命令查看是否下载该文件成功


- 使用 wget 或者 curl 都可以下载163的源文件
- 如果系统没有安装 wget 可以先用 curl 下载
- 下载完成后,可以使用 yum repolist 或者 yum repolist all 查看可用的yum源

- 如图,可以看到图中三个源都是163.com的
yum下载rpm包
- 之前更换的国内源是基础的源
- 包含的rpm包不够多,有时候需要rpm包基础源里面没有
- 所以就需要增加扩展源,扩展源里面有更多的rpm包可以下载

- 使用 yum install -y epel-release 安装扩展源文件

- 如图,使用安装命令后,会多出这两个文件
- epel.repo文件内有安装源地址等信息
- 现在使用 yum list 查看可以安装的包,就可以看到许多来自epel源的包
- 也可以使用 yum list |grep epel 查看epel源的rpm包
- 这条命令是把 yum list 的结果进行过滤,只列出epel源的包
- 有时候需要下载rpm包,保存起来,等到需要的时候使用

- 使用 yum install zsh --downloadonly 命令可以只下载zsh包,但是不安装
- 看安装信息可以看到,安装源是 base
- 使用这个方法下载rpm包有一个前提,就是这个包还没有被安装
- 可以使用 rpm -q zsh 查看zsh包是否已安装
- 在以上命令中 --downloadonly 参数就是可以设置只下载不安装的参数

- 下载了安装包后,默认的存放路径,可以查看 /var/cache/yum/x86_67/7 目录
- 该目录下面有许多子目录,这些子目录其实是根据安装源命名的
- 子目录可以看到有 base 目录,epel 目录等
- 从上面的安装信息可以看到,安装源是 base
- 所以下载的rpm包应该在base目录下面
- 使用命令 ls /var/cache/yum/x86_67/7/base/packages

- base 目录里面有一个子目录叫做 packages
- 下载回来的rpm包一般会在 packages 目录里面
- 可以看到 packages 目录下面有一个 zsh 的rpm包
- 除了存放默认目录以外,还可以指定存放路径

- 如图,在原来的下载语句后面增加一个参数 --downloaddir=/tmp/
- 这样就把下载回来的rpm包的存放路径指定在了 /tmp/ 目录下面了

- 使用 ls 命令查看 tmp 目录内容
- 如图,可以看到,zsh包文件以及存在于/tmp目录下面了
- 如果要下载一个已经安装了的rpm包文件
- 例如,系统已经安装了 vim
- 但是现在需要使用系统下载一个 vim 的rpm包文件
- 那么有两种方法
- 一种是先删除vim,然后重新下载,但是这样可能产生很多问题,影响使用
- 第二种方法如下图

- 一般安装包的时候使用 install ,现在重新下载就使用 reinstall
- 使用 reinstall 就可以重新下载已经安装了的包文件
源码包安装
- 首先指定一个专门存放源码包的路径
- 以后全部源码包都放里面,方便管理
- 这里使用 /usr/local/src/ 这个目录专门放源码包
- 使用 cd /usr/local/src/ 进入这个目录
- 输入网址 r.aminglinux.com 打开这个网页

- 如图,找到apache源码包的下载地址
- 使用 wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.39.tar.gz
- 就会把这个源码包下载到当前目录
- 用ls查看当前目录可以看到httpd-2.4.39.tar.gz文件
- 使用命令 tar -zxvf httpd-2.4.39.tar.gz 解压缩该文件

- 使用ls查看,可以看到多出一个 httpd-2.4.39 的目录,这就是解压出来的目录
- ls 查看该目录

- 可以看到目录里面很多文件,其中 README 是说明文档
- INSTALL 是安装文档
- cd 进入 httpd-2.4.39 目录

- 使用这条命令将apache可以指定安装目录为 /usr/local/apache2
- 并且会检测需要的依赖包,检测通过才能安装

- 检测过程发现了一些错误
- 使用 echo $? 可以查看上一条命令执行是否出错
- 返回结果是 1 ,代表上一条命令出错,如果是 0 就是没出错
- 这里出现的错误是,缺少 apr 的支持

- 可以用 wget+官网文件下载地址 下载 apr 压缩包
- 解压缩后进入apr目录
- 还是使用 ./configure --prefix=/usr/local/src/apr 命令检测并指定安装目录
- 通过检测后,使用 make 编译,编译通过后
- 使用 make install 命令
- 这样,文件就安装到目录 /usr/local/src/apr 中了
- 安装结束后,使用 echo $? 检测
- 返回 0 说明安装成功,1就是安装不成功

















