您的位置:首页 > 运维架构 > Linux

【Linux相识相知】yum的配置使用和程序包的编译安装

2017-09-11 02:07 615 查看
在上一篇博客中,写到了如何使用rpm命令来安装、卸载软件等,但是大家都知道,各个软件包之间可能存在依赖关系,如果安装某个软件需要额外的依赖其他若干的包,那么我们就需要将其他额外的包一个一个的安装上去,这样的一个过程是非常耗时的,所以出现了一个前端工具,如yum,dnf,apt-get等,本次博客就centos上的yum和程序包的编译安装做出详细的描述,最后还通过实际的例子介绍了程序包的编译安装。

yum的实现原理

yum实现软件包的获取其实是基于C/S架构的,C为你的主机,S为yum repository(文件服务器或者本地yum repository),yum repository里面存储了众多的rpm包,以及包的相关元数据文件(包含软件包的列表和依赖关系等)和计算出来的特征码,一般放在repodata目录下面。

当我们使用yum安装一个软件包的时候,会进行如下几个步骤:

[root@localhost ~]# cd httpd-2.2.34
[root@localhost httpd-2.2.34]#
[root@localhost httpd-2.2.34]# ll
total 1160
-rw-r--r--.  1 1001 1001  14882 Nov 21  2004 ABOUT_APACHE
-rw-r--r--.  1 1001 1001  18613 Jul  6  2012 acinclude.m4
-rw-r--r--.  1 1001 1001  56952 Oct  5  2010 Apache.dsw
drwxr-xr-x.  6 1001 1001   4096 Jul  6 15:19 build
-rw-r--r--.  1 1001 1001   2644 Aug 24  2007 BuildAll.dsp
-rw-r--r--.  1 1001 1001   2692 Jul 29  2009 BuildBin.dsp
-rwxr-xr-x.  1 1001 1001   5786 Sep 19  2012 buildconf
-rw-r--r--.  1 1001 1001 147887 Jun 28 20:16 CHANGES
-rw-r--r--.  1 1001 1001  11701 Feb 27  2012 config.layout
-rwxr-xr-x.  1 1001 1001 574593 Jul  6 15:19 configure
-rw-r--r--.  1 1001 1001  24720 May 25  2015 configure.in
drwxr-xr-x.  9 1001 1001    124 Jul  6 15:19 docs
-rw-r--r--.  1 1001 1001    403 Nov 21  2004 emacs-style
-rw-r--r--.  1 1001 1001   1248 May  7  2011 httpd.dep
-rw-r--r--.  1 1001 1001   4124 Jun 11  2008 httpd.dsp
-rw-r--r--.  1 1001 1001   8994 May  6  2011 httpd.mak
-rw-r--r--.  1 1001 1001  12053 Jul  6 15:19 httpd.spec
drwxr-xr-x.  2 1001 1001   4096 Jul  6 15:19 include
-rw-r--r--.  1 1001 1001   5129 Jan  9  2017 INSTALL
-rw-r--r--.  1 1001 1001   2909 Dec  7  2006 InstallBin.dsp
-rw-r--r--.  1 1001 1001   5145 Nov 29  2005 LAYOUT
-rw-r--r--.  1 1001 1001  30119 May  7  2011 libhttpd.dep
-rw-r--r--.  1 1001 1001  17039 Jan 12  2007 libhttpd.dsp
-rw-r--r--.  1 1001 1001  28503 May  6  2011 libhttpd.mak
-rw-r--r--.  1 1001 1001  28690 Jan 18  2008 LICENSE
-rw-r--r--.  1 1001 1001   8739 Nov 25  2008 Makefile.in
-rw-r--r--.  1 1001 1001  34759 Jan 19  2014 Makefile.win
drwxr-xr-x. 20 1001 1001   4096 Jul  6 15:19 modules
-rw-r--r--.  1 1001 1001    828 Jan  2  2017 NOTICE
-rw-r--r--.  1 1001 1001  12894 Mar 15  2012 NWGNUmakefile
drwxr-xr-x.  9 1001 1001    149 Jul  6 15:19 os
-rw-r--r--.  1 1001 1001   5954 Jan 10  2007 README
-rw-r--r--.  1 1001 1001   4178 Aug 27  2014 README.platforms
-rw-r--r--.  1 1001 1001   2553 Dec 20  2010 README-win32.txt
-rw-r--r--.  1 1001 1001  10183 Mar 14  2005 ROADMAP
drwxr-xr-x.  3 1001 1001   4096 Jul  6 15:19 server
drwxr-xr-x.  5 1001 1001     64 Jul  6 15:19 srclib
drwxr-xr-x.  4 1001 1001   4096 Jul  6 15:19 support
drwxr-xr-x.  2 1001 1001    248 Jul  6 15:19 test
-rw-r--r--.  1 1001 1001   8183 Oct 17  2005 VERSIONING


查看
3.运行configure脚本,并指定软件安装目录为/usr/local/apache2,指定配置文件的路径为/etc/http2

[root@localhost httpd-2.2.34]# ./configure --prefix=/usr/local/apache2  --sysconfdir=/etc/httpd2  #这里指定了配置文件的存放位置,也可以不指定,如果不指定默认在安装目录下有一个conf目录,建议不指定


4.make

[root@localhost httpd-2.2.34]#make


5.make install

[root@localhost httpd-2.2.34]#make install


如果没有任何报错就代表已经安装成功了,我们去安装目录下面看一下(如果指定了安装目录,所有的东西都会被放在指定的目录下面,建议大家这么做,因为以后想删除软件的时候,直接将整个目录删除了进行了,本次例子中的配置文件是放在/etc/httpd2下,如果卸载也要记得删除此目录):

[root@localhost httpd-2.2.34]# cd /usr/local/apache2/
[root@localhost apache2]# ll
total 40
drwxr-xr-x.  2 root root  283 Sep 10 12:03 bin
drwxr-xr-x.  2 root root  253 Sep 10 12:03 build
drwxr-xr-x.  2 root root   38 Sep 10 12:03 cgi-bin
drwxr-xr-x.  3 root root 4096 Sep 10 12:03 error
drwxr-xr-x.  2 root root   24 Jul  6 15:19 htdocs
drwxr-xr-x.  3 root root 8192 Sep 10 12:03 icons
drwxr-xr-x.  2 root root 4096 Sep 10 12:03 include
drwxr-xr-x.  3 root root 4096 Sep 10 12:03 lib
drwxr-xr-x.  2 root root    6 Sep 10 12:03 logs
drwxr-xr-x.  4 root root   30 Sep 10 12:03 man
drwxr-xr-x. 14 root root 8192 Jul  6 15:20 manual
drwxr-xr-x.  2 root root   23 Sep 10 12:03 modules


好的,接下来进行安装后的一些工作:

1.导出二进制配置文件至PATH环境变量中:

[root@localhost apache2]# vim /etc/profile.d/apache.sh

export PATH=/usr/local/apache2/bin:$PATH

[root@localhost apache2]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost apache2]#
[root@localhost apache2]# source /etc/profile.d/apache.sh #让进程重新读取一些配置文件
[root@localhost apache2]# echo $PATH
/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin


2.导出库文件路径

[root@localhost apache2]# vim /etc/ld.so.conf.d/apache2.conf

/usr/local/apache2/lib
[root@localhost apache2]# ldconfig #使用ldconfig重新生成缓存


3.导出头文件,创建软连接

[root@localhost include]# ln -sv /usr/local/apache2/include/  /usr/include/apache2
‘/usr/include/apache2’ -> ‘/usr/local/apache2/include/’


4.导出帮助手册





修改完之后我们就可以使用man手册了

[root@localhost include]man apachectl




以上步骤完成之后,我们可以运行服务了:

[root@localhost ~]# apachectl start  #启动,停用则使用apachectl stop
[root@localhost ~]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0     52 192.168.172.134:22      192.168.172.1:61089     ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN     #当80端口被监听说明已经启用成功了
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN


可以直接在浏览器里面查看啦!It works(记得关闭防火墙,systemctl stop firewalld)!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: