linux系统中,许多软件的安装有依赖关系。安装一个软件安装包需要先安装其所依赖的软件安装包。Yum库是基于RPM包构建的软件更新机制,自动解决软件包依赖关系,所有软件安装包均由集中的yum软件仓库提供。


现我们需要在系统中安装apache源码包。首先挂载镜像文件。

挂载之前要先卸载。有的系统会设为自动挂载,我们需要将其卸载,然后挂载到我们需要将其放到的目录下。系统默认自动挂载到/medida下。

/dev/cdrom/dev/hdc的软链接


查看/media目录下,可以看到光盘镜像里的文件

[root@localhost~]# ls /media/

AdobeReader_chs-8.1.2-1.i486.tar.gz          linuxqq-v1.0.2-beta1.i386.rpm

aria2-1.17.1.tar.gz                          RealPlayer11GOLD.rpm

httpd-2.2.25.tar.gz                          

webmin-1.630.tar.gz

LibreOffice_4.1.1.2_Linux_x86-64_rpm.tar.gz



新建一个目录/usr/src/tools,将文件全部复制到/usr/src/tools下,然后查看/usr/src/tools目录下的文件,确定复制成功。

[root@localhost~]# mkdir /usr/src/tools

[root@localhost~]# cp /media/* /usr/src/tools/

[root@localhost~]# ls  /usr/src/tools/

AdobeReader_chs-8.1.2-1.i486.tar.gz          linuxqq-v1.0.2-beta1.i386.rpm

aria2-1.17.1.tar.gz                          RealPlayer11GOLD.rpm

httpd-2.2.25.tar.gz                          

webmin-1.630.tar.gz

LibreOffice_4.1.1.2_Linux_x86-64_rpm.tar.gz


创建一个新的目录/data,将我们所要安装的源码包解压到/data目录下。

[root@localhost~]# mkdir /data

[root@localhost~]# tar -zxvf /usr/src/tools/httpd-2.2.25.tar.gz -C /data/

[root@localhost~]# cd /data/httpd-2.2.25/

[root@localhosthttpd-2.2.25]# ls

ABOUT_APACHE  config.layout httpd.spec      LICENSE        README.platforms

acinclude.m4  configure     include         Makefile.in    README-win32.txt

Apache.dsw    configure.in   INSTALL         Makefile.win   ROADMAP

build         docs           InstallBin.dsp  modules       server

BuildAll.dsp  emacs-style   LAYOUT          NOTICE         srclib

BuildBin.dsp  httpd.dep     libhttpd.dep    NWGNUmakefile  support

buildconf     httpd.dsp      libhttpd.dsp    os             test

CHANGES       httpd.mak      libhttpd.mak    README         VERSIONING


源码包的安装需要对其先进行配置。执行./configure未成功会发现以以下信息的存在,即此源码包的安装需要gcc cc等的支持。因此我们需要为系统安装gcc

[root@localhosthttpd-2.2.25]# ./configure

checkingfor gcc... no

checkingfor cc... no

checkingfor cl.exe... no


RHEL5的镜像文件放进光驱。

新建一个目录/var/rhe5l,将光盘挂载到/var/rhel5目录下,查看目录中是否已存在全部文件。

[root@localhost~]# mkdir /var/rhel5

[root@localhost~]# mount /dev/cdrom /var/rhel5/

[root@localhost~]# ls /var/rhel5/


因为软件包直接存在许多依赖关系,所以我们要配置yum软件仓库,自动解决依赖关系安装软件。刚才已经将RHEL5镜像挂载到目录下,gcc的安装文件在Server目录下。我们把/var/rhel5/Server作为yum的软件仓库。然后进入/etc/yum.repos.d中进行yum的配置。

[root@localhost~]# cd /etc/yum.repos.d/

[root@localhostyum.repos.d]# ls

rhel-debuginfo.repo


在目录下一般有一个模板,可以复制模板到一个新建的文件,一般不直接对模板进行操作,但是文件的后缀必须是.repo

[root@localhostyum.repos.d]# cp rhel-debuginfo.repo server.repo

[root@localhostyum.repos.d]# ls

rhel-debuginfo.repo  server.repo


server.repo进行vim编辑。编辑完成后末行模式:wq保存退出。

[root@localhostyum.repos.d]# vim server.repo

l[server]      自定义名称,具有唯一性

lname=RedHat Enterprise Linux server 描述字串

lbaseurl=file:///var/rhel5/Server/软件仓库地址,本机为file://

lenabled=1     是否启用此频道,1表示启用 0表示未启用

lgpgcheck=1   是否验证待安装的RPM

lgpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release基于RPM验证的秘钥文件一般不做更改


查看yum是否配置成功。

[root@localhostyum.repos.d]# yum list |wc -l

3347


在用yum之前先清空yum缓存。

[root@localhostyum.repos.d]# yum clean all


使用yum安装gcc

[root@localhostyum.repos.d]# yum install gcc


安装完gcc之后我们就可以安装apache服务了。进入到源码包解压的目录。

[root@localhostdata]# cd /data/httpd-2.2.25/

[root@localhosthttpd-2.2.25]# ls


进行配置。执行./configure –-prefix=路径可以配置安装路径。

[root@localhosthttpd-2.2.25]# ./configure


查看上一条命令是否执行成功。

[root@localhosthttpd-2.2.25]# echo $?

0


进行编译和安装。make make install 两条命令可以分开执行,也可以make&&make install一起执行。

[root@localhosthttpd-2.2.25]# make&&make install

[root@localhosthttpd-2.2.25]# echo $?

0


启动apache服务。

[root@localhost~]# /usr/local/apache2/bin/apachectl start


打开浏览器,因为虚拟机未连接其他设备,输入本机地址查看,显示It works,表示服务启动,安装成功。