刪除以前咱們設置的本地源dvd.repolinux
[root@yong-02 yum.repos.d]# rm dvd.repo rm:是否刪除普通文件 "dvd.repo"?y
將以前備份的文件拷貝到yum.repos下apache
[root@yong-02 yum.repos.d]# cp -r /etc/yum.repos.d.bak/* ./ [root@yong-02 yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
CentOS-Base.repo 這個配置文件就是咱們要設置的網絡源,先將它備份一下。vim
[root@yong-02 yum.repos.d]# mv CentOS-Base.repo Centos-Base.repo.bak
下載一個163的yum源,由於以前將CentOS-Base.repo重命名了,使用wget下載須要安裝wget包,可是咱們這個時候yum是沒辦法安裝wget包的,因此能夠curl –O 來下載:centos
[root@yong-02 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 7651 0 --:--:-- --:--:-- --:--:-- 7820 [root@yong-02 yum.repos.d]# ls CentOS7-Base-163.repo CentOS-fasttrack.repo CentOS-Vault.repo CentOS-CR.repo CentOS-Media.repo CentOS-Debuginfo.repo CentOS-Sources.repo
編輯看下配置文件緩存
[root@yong-02 yum.repos.d]# vim CentOS7-Base-163.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 163.com #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - 163.com baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
[root@yong-02 yum.repos.d]# yum clean all 已加載插件:fastestmirror 正在清理軟件源: base extras updates Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors
2.yum list //生成yum緩存網絡
3.安裝zsh包架構
[root@yong-02 yum.repos.d]# yum install -y zsh 已加載插件:fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/4): base/7/x86_64/group_gz | 156 kB 00:00:00 (2/4): extras/7/x86_64/primary_db | 185 kB 00:00:01 (3/4): updates/7/x86_64/primary_db | 6.9 MB 00:00:04 (4/4): base/7/x86_64/primary_db | 5.7 MB 00:00:11 Determining fastest mirrors 正在解決依賴關係 --> 正在檢查事務 ---> 軟件包 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 Downloading packages: zsh-5.0.2-28.el7.x86_64.rpm | 2.4 MB 00:00:04 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安裝 : zsh-5.0.2-28.el7.x86_64 1/1 驗證中 : zsh-5.0.2-28.el7.x86_64 1/1 已安裝: zsh.x86_64 0:5.0.2-28.el7 完畢!
[root@yong-02 yum.repos.d]# yum install -y epel-release 已加載插件:fastestmirror Loading mirror speeds from cached hostfile 正在解決依賴關係 --> 正在檢查事務 ---> 軟件包 epel-release.noarch.0.7-9 將被 安裝 --> 解決依賴關係完成 依賴關係解決 ==================================================================================== Package 架構 版本 源 大小 ==================================================================================== 正在安裝: epel-release noarch 7-9 extras 14 k 事務概要 ==================================================================================== 安裝 1 軟件包 總下載量:14 k 安裝大小:24 k Downloading packages: epel-release-7-9.noarch.rpm | 14 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction 正在安裝 : epel-release-7-9.noarch 1/1 驗證中 : epel-release-7-9.noarch 1/1 已安裝: epel-release.noarch 0:7-9 完畢! [root@yong-02 yum.repos.d]# ls CentOS7-Base-163.repo CentOS-fasttrack.repo CentOS-Vault.repo CentOS-CR.repo CentOS-Media.repo epel.repo##多出來了這個epel.repo源 CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo [root@yong-02 yum.repos.d]# cat epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=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 mirrorlist=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 mirrorlist=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
[root@yong-02 yum.repos.d]# yum list |grep epel |tail -10 zsh-lovers.noarch 0.9.0-1.el7 epel zstd.x86_64 1.3.4-1.el7 epel zulucrypt.x86_64 5.0.1-1.el7 epel zulucrypt-console.x86_64 5.0.1-1.el7 epel zulucrypt-devel.x86_64 5.0.1-1.el7 epel zulucrypt-doc.noarch 5.0.1-1.el7 epel zulucrypt-libs.x86_64 5.0.1-1.el7 epel zvbi.x86_64 0.2.35-1.el7 epel zvbi-devel.x86_64 0.2.35-1.el7 epel zvbi-fonts.noarch 0.2.35-1.el7 epel
有時候咱們須要下載rpm包,而僅僅是複製給其餘機器使用,yum工具安裝rpm包時,首先下載這個rpm包,而後再去安裝,因此咱們能夠作到只下載而不安裝。less
[root@yong-02 yum.repos.d]# yum install -y 2ping.noarch --downloadonly 已加載插件:fastestmirror Loading mirror speeds from cached hostfile * epel: mirror01.idc.hinet.net 正在解決依賴關係 --> 正在檢查事務 ---> 軟件包 2ping.noarch.0.3.2.1-2.el7 將被 安裝 --> 解決依賴關係完成 依賴關係解決 ==================================================================================== Package 架構 版本 源 大小 ==================================================================================== 正在安裝: 2ping noarch 3.2.1-2.el7 epel 62 k 事務概要 ==================================================================================== 安裝 1 軟件包 總下載量:62 k 安裝大小:204 k Background downloading packages, then exiting: 警告:/var/cache/yum/x86_64/7/epel/packages/2ping-3.2.1-2.el7.noarch.rpm.1317.tmp: 頭V3 RSA/SHA256 Signature, 密鑰 ID 352c64e5: NOKEY 2ping-3.2.1-2.el7.noarch.rpm.1317.tmp 的公鑰還沒有安裝 2ping-3.2.1-2.el7.noarch.rpm | 62 kB 00:00:00 exiting because "Download Only" specified
yum默認下載到/var/cache/yum/x86_64/7/XXX/packages/ 下面;這裏的XXX指的是base,updates,epel等,它跟yum list最右側的字符串一致。curl
[root@yong-02 yum.repos.d]# ls /var/cache/yum/x86_64/7/epel/packages/ 2ping-3.2.1-2.el7.noarch.rpm
[root@yong-02 yum.repos.d]# ls /var/cache/yum/x86_64/7/epel/packages/ 2ping-3.2.1-2.el7.noarch.rpm [root@yong-02 yum.repos.d]# ls /tmp/ 2ping-3.2.1-2.el7.noarch.rpm
若是已經安裝過的包使用—downloadnoly就不起做用了,他會提示這個包已經安裝過了,根本下載不下來: 工具
[root@yong-02 yum.repos.d]# yum install -y vim-enhanced --downloadonly --downloaddir=/tmp/ 已加載插件:fastestmirror Loading mirror speeds from cached hostfile * epel: mirror01.idc.hinet.net 軟件包 2:vim-enhanced-7.4.160-2.el7.x86_64 已安裝而且是最新版本 無須任何處理
[root@yong-02 yum.repos.d]# yum reinstall -y vim-enhanced --downloadonly --downloaddir=/tmp/ 已加載插件:fastestmirror Loading mirror speeds from cached hostfile * epel: mirrors.ustc.edu.cn 正在解決依賴關係 --> 正在檢查事務 ---> 軟件包 vim-enhanced.x86_64.2.7.4.160-2.el7 將被 已從新安裝 --> 解決依賴關係完成 依賴關係解決 ========================================================================================================================= Package 架構 版本 源 大小 ========================================================================================================================= 從新安裝: vim-enhanced x86_64 2:7.4.160-2.el7 base 1.0 M 事務概要 ========================================================================================================================= 從新安裝 1 軟件包 總下載量:1.0 M 安裝大小:2.2 M Background downloading packages, then exiting: vim-enhanced-7.4.160-2.el7.x86_64.rpm | 1.0 MB 00:00:01 exiting because "Download Only" specified
解包後,咱們開始安裝前要查看 INSTALL ;REDME 兩個安裝指導文件,查看怎麼安裝, 安裝源碼包一般有3個步驟:
./configure //這一步能夠定製功能,./configure --prefix=/usr/local/apache2 定義安裝目錄
make //編譯成電腦識別的二進制文件
make install //用於建立相關軟件的存放目錄和配置文件
注意:將源碼包移動到/usr/local/src 下;約定,將源碼包都放在這個文件下
[root@yong-02 src]# wget wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz [root@yong-02 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz [root@yong-02 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2
[root@yong-02 src]# ls apr-1.6.3 apr-util-1.6.1 httpd-2.4.33 apr-1.6.3.tar.gz apr-util-1.6.1.tar.bz2 httpd-2.4.33.tar.gz
[root@yong-02 httpd-2.4.33]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
注意: checking for gcc... no;沒有安裝gcc編譯器
編譯可能出現的報錯:
須要編譯安裝apr 進去cd /usr/local/src/apr-1.6.3/
./configure --prefix=/usr/local/apr make&&make install
再次進入cd /usr/local/src/httpd-2.4.33/ 進行編譯
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
缺乏APR-util,繼續編譯安裝
cd /usr/local/src/apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
安裝 yum install expat-devel
yum install -y gcc
yum install -y pcre-devel
在繼續編譯apache ,出現如下提示 說明編譯成功。
[root@yong-02 httpd-2.4.33]# echo $? 0
[root@yong-02 httpd-2.4.33]# make && make install
[root@yong-02 httpd-2.4.33]# echo $? 0
[root@yong-02 httpd-2.4.33]# ls /usr/local/apache2/ bin build cgi-bin conf error htdocs icons include logs man manual modules
擴展
1. 配置yum源優先級 http://ask.apelearn.com/question/7168
2. 把源碼包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm