第5周第4次课(4月19日)
课程内容:
7.6 yum更换国内源
7.7 yum下载rpm包
7.8/7.9 源码包安装
7.6 yum更换国内源
当yum仓库的软件不好用时,例如很多yum源都是国外的,如果在国内访问就比较慢很不方便,所以我们可以更换为国内的yum仓库源。
操作实例步骤如下:
首先删除dvd本地仓库,然后把之前备份的yum源copy回来,再删除CentOS-base.repo,通过wget从网上下载一个163的repo,但是提示找不到wget命令,而且刚才又删除了CentOS-base.repo,所以无法使用yum去安装wget。
虽然无法使用wget下载,但是可以用另外一条命令下载。
[root@jimmylinux-002 yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum list 查看yum仓库软件包
如何判断下载的就是163国内的yum源,可以把163.repo改名为.123的后缀去验证。
[root@jimmylinux-002 yum.repos.d]# mv CentOS7-Base-163.repo CentOS7-Base-163.repo.123
重新把CentOS7-Base-163.repo.123 改成正确的后缀名 CentOS7-Base-163.repo 这个时候再去yum clean all 或者安装软件包就没有问题了,所以也就说明已经成功更换yum仓库源。
wget的作用其实就是去下载 CentOS7-Base-163.repo
7.7 yum下载rpm包
光一个163基础源不够用,有时候需要安装rpm包基础源没有,所以就可以安装一个扩展源。
在基础源里面只有7个文件
[root@jimmylinux-002 yum.repos.d]# yum install -y epel release 安装 epel-release 后有9个文件。
这个时候在使用yum list 会查看到更多的安装包搜索出来
搜索出来的安装包太多,既有base的又有epel,看起来不方便,可以做一个管道方式只查看epel的安装包。
[root@jimmylinux-002 yum.repos.d]# yum list |grep epel
使用yum去下载rpm包,网上的rpm包有很多,也可以在光驱找到,但是有些安装包在光驱是没有的。可以安装一个插件把rpm包下载到本地,方便其他机器使用,省的yum安装时候下载半天,等需要使用的时候再安装。(使用这个方法的前提是下载的安装包没有被安装过,如果已经安装了会有提示这个rpm包已被安装过了)
[root@jimmylinux-002 yum.repos.d]# yum install zsh --downloadonly 仅仅是下载不会安装
[root@jimmylinux-002 yum.repos.d]# rpm -q zstd 可以验证是否被安装
下载的rpm包默认存放路径
[root@jimmylinux-002 yum.repos.d]# yum install zstd --downloadonly --downloaddir=/tmp/ 也可以指定下载路径
[root@jimmylinux-002 yum.repos.d]# ls /tmp/ 查看下载到指定路径的rpm文件
如果下载一个已经安装过的rpm包,这个时候会提示“无须任何处理”,因为这个包已经安装过,那正常情况下可以卸载在安装,但是假如安装的包已经使用很久,并且还搭载一些服务,这个时候就不可能再卸载重装了,使用reinstall方式重新去下载安装即可。
7.8/7.9 源码包安装
源码包安装,首先根据自己的需求去下载一个源码包,下载完源码包以后编译安装就可以了。
建议:以后所有的源码包都下载到这个路径 [root@jimmylinux-002 ~]# cd /usr/local/src/
[root@jimmylinux-002 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz 下载一个Apache,如果下载地址失效,提示错误404,我们可以到r.aminglinux.com 去复制最新的正确地址重新下载。
可以使用这个链接下载:http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz
下载完以后是一个.tar.gz压缩包文件,使用 # tar -zxvf httpd-2.4.33.tar.gz 解压。
[root@jimmylinux-002 httpd-2.4.33]# more README 查看说明文档
[root@jimmylinux-002 httpd-2.4.33]# more INSTALL 查看安装文档
[root@jimmylinux-002 httpd-2.4.33]# ./configure --prefix=/usr/local/apache2 安装Apache过程中出现报错,说明还没有安装gcc编译器,使用 yum install -y gcc 安装。
小技巧:如果不知道使用的命令是否正确,可以用echo $?检测一下,如果出现非0说明有问题,仅针对上一条命令。
[root@jimmylinux-002 httpd-2.4.33]# yum install -y gcc 安装gcc编译器
[root@jimmylinux-002 httpd-2.4.33]# ./configure --prefix=/usr/local/apache2 安装好编译器后继续装Apache,所需要的一些包都已经配置完成。
通过echo $? 验证,如果显示0说明没有问题。
接下来在make,运行时间长短取决硬件配置。
[root@jimmylinux-002 httpd-2.2.9]# make
make install 把编译完的二进制文件还有一些配置文件和目录放到指定的目录下,最后echo $? 验证。
[root@jimmylinux-002 httpd-2.2.9]# ls /usr/local/apache2/ 查看出来的目录就是源码编译安装的包,如果需要卸载安装包,直接删除这个目录就可以了。
建议:以后去下载源码包一定要去官方网站或可信的网站下载,不要随意去下载其他网站上的源码包,避免存在木马程序造成安全隐患。
扩展
1. 配置yum源优先级 http://ask.apelearn.com/question/7168
2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm