笔记内容:
l 7.6 yum更换国内源
l 7.7 yum下载rpm包
l 7.8/7.9 源码包安装
笔记日期:2017.8.10
7.6 yum更换国内源
CentOS自带yum仓库源网址是国外的网址,所以从国内下载国外网址的rpm包有时候会很慢或者无法下载,这时可以更换国内的yum仓库源来解决这个问题。
1.删除yum.repos.d目录下的CentOS-Base.repo文件
2.使用curl命令或使用wget命令下载163的源,因为上一步我把CentOS-Base.repo文件给删掉了,所以只能使用curl命令:
命令如下:
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
3.查看yum.repos.d目录下是否有CentOS7-Base-163.repo文件:
4.最后可以使用yum list查看一下可用的rpm包。
安装wget命令:
7.7 yum下载rpm包
因为仅有一个163的基础yum源,所以可能会有一些rpm包是仓库里没有的,需要安装扩展源来下载一些仓库里没有的rpm包。
1.安装epel:
2.查看yum.repos.d目录会发下载了两个epel开头的文件:
3.使用yum list列出可用的rpm包,会发现包增加了很多:
可以使用grep过滤一下看得比较直观:
因为本地yum仓库的rpm包有限,所以有很多rpm包需要在网络上下载。但是我希望把rpm包下载到本地,下一次再使用就不需要到网络上下载了,所以我们需要用yum下载rpm包到本地。
下载rpm包时要确保这个包没有下载过,不然系统就会提示已经下载过了。
1.下载示例:
2.查看存放rpm包的路径:
ls /var/cache/yum/x86_64/7/updates/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/路径下,方便查找、方便使用这个操作系统的其他人。
使用wget下载Apache:
可以到以下网址获得Apache源码包下载链接:
r.aminglinux.com
解压下载好的源码包:
列出源码包下的内容:
大写名称的都是官方文档,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/apache2/ --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包:
[root@localhost src]# tar -xvzf apr-util-1.6.0.tar.gz
编译:
完成上面操作就再次编译Apache,这一步不仅需要指定apr包的安装目录,还要指定apr-util包的安装目录,因为我们都是自定义安装的:
./configure --prefix=/usr/local/apache2/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
然后发现依旧报错,缺少PRCE,对此我有句MMP不知道当不当讲,编译Apache。。。这真是个so eggache的过程:
到以下网址找PCRE下载链接:
http://jaist.dl.sourceforge.net/project/pcre/pcre/
获得下载链接:
https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz
下载PCRE:
解压PCRE:
在编译之前先在yum可用安装组里下载安装Development Tools,因为这玩意需要C++来编译:
安装完之后倒回去编译PCRE:
现在继续倒回去编译Apache,这次得加上pcre的安装路径,如果还报错我就不玩了:
终于编译成功没有报错,甚感欣喜之余,需要最后测试一下apache
启动服务后出现这个信息的话,需要编辑apache里conf目录下的httpd.conf文件,将里面的#ServerName www.example.com:80位之下添加ServerName localhost:80:
然后重启服务:
如果有安装lynx浏览器可以用以下命令访问apache的网页:
打完收工!到此为止apache就安装完成了。
扩展
1. 配置yum源优先级
http://ask.apelearn.com/question/7168
2. 把源码包打包成rpm包
http://www.linuxidc.com/Linux/2012-09/70096.html