目录
一、 yum更换国内源
二、 yum下载rpm包
三、 源码包安装
一、 yum更换国内源
因为系统默认的yum源是国外的,所以安装软件时会比较慢。因此我们可以更换为国内的yum源,更换的步骤如下:
- cd /etc/yum.repos.d/ //进入yum.repos.d目录
- rm -f dvd.repo //删除之前创建的dvd.repo文件
- wget http://mirrors.163.com/.help/CentoOS7-Base-163.repo
或者 - curl -O http://mirrors.163.com/.help/CentoOS7-Base-163.repo //下载yum源(软件仓库)的配置文件
- yum list //测试一下查看到RPM包资源就是更换成功了
示例命令如下:
[root@minglinux-01 ~]# cd /etc/yum.repos.d/
[root@minglinux-01 yum.repos.d]# rm -f dvd.repo
[root@minglinux-01 yum.repos.d]# cp ../yum.repos.d_bak/* .
[root@minglinux-01 yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@minglinux-01 yum.repos.d]# rm -f CentOS-Base.repo
[root@minglinux-01 yum.repos.d]# wget http://mirrors.163.com/.help/CentoOS7-Base-163.repo
-bash: wget: 未找到命令
[root@minglinux-01 yum.repos.d]# curl -O http://mirrors.163.com/.help/CentoOS7-Base-163.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 100 162 100 162 0 0 373 0 --:--:-- --:--:-- --:--:-- 373
[root@minglinux-01 yum.repos.d]# ls
CentoOS7-Base-163.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
然后试试安装一个软件:
[root@minglinux-01 yum.repos.d]# yum install wget
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 wget.x86_64.0.1.14-15.el7_4.1 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================
Package 架构 版本 源 大小
============================================================================
正在安装:
wget x86_64 1.14-15.el7_4.1 base 547 k
事务概要
============================================================================
安装 1 软件包
总下载量:547 k
安装大小:2.0 M
Is this ok [y/d/N]: y
Downloading packages:
wget-1.14-15.el7_4.1.x86_64.rpm | 547 kB 00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : wget-1.14-15.el7_4.1.x86_64 1/1
验证中 : wget-1.14-15.el7_4.1.x86_64 1/1
已安装:
wget.x86_64 0:1.14-15.el7_4.1
完毕!
安装扩展源
有时候自带的源没有我们需要的一些扩展的RPM包,我们可以安装一个扩展源,安装命令如下:
[root@minglinux-01 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
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@minglinux-01 yum.repos.d]# ls
CentOS7-Base-163.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
安装完成后我们可以输入yum list |grep epel
查看新增的RPM包
二、 yum下载rpm包
有时我们需要下载RPM包但不安装,而仅仅是复制给其他机器使用。我们可以使用yum工具仅下载而不安装。
下载RPM包而不安装的命令是# yum install 包名 -y --downloadonly
。示例命令如下:
[root@minglinux-01 yum.repos.d]# yum install zsh --downloadonly
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirror.lzu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================
Package 架构 版本 源 大小
============================================================================
正在安装:
zsh x86_64 5.0.2-28.el7 base 2.4 M
事务概要
============================================================================
安装 1 软件包
总下载量:2.4 M
安装大小:5.6 M
Background downloading packages, then exiting:
zsh-5.0.2-28.el7.x86_64.rpm | 2.4 MB 00:14
exiting because "Download Only" specified
检查zsh是否安装:
[root@minglinux-01 yum.repos.d]# rpm -q zsh
未安装软件包 zsh
下载的RPM包默认会在/var/cache/yum/x86_64/7/xxx/packages 下面,这里的xxx指的是base、updatex或者extras等,它跟yum list最右侧的字符串是一致的。
所以刚下载的zsh安装包存放在/var/cache/yum/x86_64/7/base/packages这个目录下。如下所示:
[root@minglinux-01 yum.repos.d]# cd /var/cache/yum/x86_64/7/base/packages
[root@minglinux-01 packages]# ls
zsh-5.0.2-28.el7.x86_64.rpm
我们可以加上 --downloaddir参数下载RPM包到指定的目录下,示例命令如下:
[root@minglinux-01 packages]# yum install zsh --downloadonly --downloaddir=/tmp/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: repo.ugm.ac.id
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================
Package 架构 版本 源 大小
============================================================================
正在安装:
zsh x86_64 5.0.2-28.el7 base 2.4 M
事务概要
============================================================================
安装 1 软件包
总下载量:2.4 M
安装大小:5.6 M
Background downloading packages, then exiting:
exiting because "Download Only" specified
[root@minglinux-01 packages]# ls /tmp/
1.txt
passwd.sh
test_mv
vmware-root
yum_save_tx.2018-10-09.22-05.SGZcDJ.yumtx
yum_save_tx.2018-10-10.22-27.8AAyIO.yumtx
yum_save_tx.2018-10-10.22-49.NLAz6w.yumtx
yum_save_tx.2018-10-10.23-01.apJey6.yumtx
zsh-5.0.2-28.el7.x86_64.rpm
这里有一个问题,那就是如果RPM包已经安装过了,那么使用yum install --downloadonly就不起作用了,它会提示这个包已经安装过,根本就下载不下来,这时我们可以使用yum reinstall zsh --downloadonlyl
命令下载,示例命令如下:
[root@minglinux-01 packages]# yum install vim-enhanced --downloadonly
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.ustc.edu.cn
软件包 2:vim-enhanced-7.4.160-4.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@minglinux-01 packages]# yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.huaweicloud.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.160-4.el7 将被 已重新安装
--> 解决依赖关系完成
依赖关系解决
============================================================================
Package 架构 版本 源 大小
============================================================================
重新安装:
vim-enhanced x86_64 2:7.4.160-4.el7 base 1.0 M
事务概要
============================================================================
重新安装 1 软件包
总下载量:1.0 M
安装大小:2.2 M
Background downloading packages, then exiting:
vim-enhanced-7.4.160-4.el7.x86_64.rpm | 1.0 MB 00:01
exiting because "Download Only" specified
[root@minglinux-01 packages]# ls /tmp/
1.txt
passwd.sh
test_mv
vim-enhanced-7.4.160-4.el7.x86_64.rpm
vmware-root
yum_save_tx.2018-10-09.22-05.SGZcDJ.yumtx
yum_save_tx.2018-10-10.22-27.8AAyIO.yumtx
yum_save_tx.2018-10-10.22-49.NLAz6w.yumtx
yum_save_tx.2018-10-10.23-01.apJey6.yumtx
yum_save_tx.2018-10-10.23-07.aW_KCv.yumtx
zsh-5.0.2-28.el7.x86_64.rpm
三、 源码包安装
下载源码包
cd /usr/local/src
统一将源码包放到此目录下
wget https://cfhcable.dl.sourceforge.net/project/apachehttpserver/httpd-2.2.27.tar.gz
下载源码包解压源码包
tar -zxvf httpd-2.2.27.tar.gz
配置相关的选项并生成 Makefile
进入解压后的源码目录,在配置之前可以使用./configure --help命令查看可用的配置参数,篇幅太大就不予展示了。常用的配置选项有--prefix=PREFIX,它的意思是定义软件包的安装路径。
这里我们把Apache安装在/usr/local/apache2目录下:
[root@minglinux-01 httpd-2.4.34]# ./configure --prefix=/usr/local/apache2
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure:
configure: Configuring Apache Portable Runtime library...
configure:
checking for APR... no
configure: error: APR not found. Please read the documentation.
[root@minglinux-01 httpd-2.4.34]# echo $?
1
验证这一步是否成功的命令是echo $?
, 返回值是0,说明执行成功,否则就没有成功。如上例返回值是1,说明我们前面命令未能成功执行。
这里的报错是因为没有安装apr、apr-util以及pcre包,我们还需要手动编译安装这三个包。安装过程我是参照https://blog.csdn.net/superbirds/article/details/52373102。
安装完成后继续前面的步骤,执行./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --disable-proxy
生成Makefile。
configure: summary of build options:
Server Version: 2.4.34
Install prefix: /usr/local/apache
C compiler: gcc -std=gnu99
CFLAGS: -g -O2 -pthread
CPPFLAGS: -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
[root@minglinux-01 httpd-2.4.34]# echo $?
0
[root@minglinux-01 httpd-2.4.34]# ls -l Makefile
-rw-r--r--. 1 root root 11359 10月 11 2018 Makefile
进行编译
生成Makefile后,执行make
进行编译然后执行echo $?
验证是否编译成功。安装
执行make install
安装 ,执行echo $?
验证是否安装成功,执行完这一步,则会在/usr/local/apache2目录下增加很多目录。使用ls命令查看该目录,如下所示:
[root@minglinux-01 httpd-2.4.34]# ls /usr/local/apache/
bin cgi-bin error icons logs manual
build conf htdocs include man modules