在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/
[[email protected]]# 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。
[[email protected]]# ./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/
[[email protected]]# ls
rhel-debuginfo.repo
在目录下一般有一个模板,可以复制模板到一个新建的文件,一般不直接对模板进行操作,但是文件的后缀必须是.repo
[[email protected]]# cp rhel-debuginfo.repo server.repo
[[email protected]]# ls
rhel-debuginfo.repo server.repo
对server.repo进行vim编辑。编辑完成后末行模式:wq保存退出。
[[email protected]]# 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是否配置成功。
[[email protected]]# yum list |wc -l
3347
在用yum之前先清空yum缓存。
[[email protected]]# yum clean all
使用yum安装gcc。
[[email protected]]# yum install gcc
安装完gcc之后我们就可以安装apache服务了。进入到源码包解压的目录。
[root@localhostdata]# cd /data/httpd-2.2.25/
[[email protected]]# ls
进行配置。执行./configure �C-prefix=路径可以配置安装路径。
[[email protected]]# ./configure
查看上一条命令是否执行成功。
[[email protected]]# echo $?
0
进行编译和安装。make 和 make install 两条命令可以分开执行,也可以make&&make install一起执行。
[[email protected]]# make&&make install
[[email protected]]# echo $?
0
启动apache服务。
[root@localhost~]# /usr/local/apache2/bin/apachectl start
打开浏览器,因为虚拟机未连接其他设备,输入本机地址查看,显示It works,表示服务启动,安装成功。