linux使用yum安装编译环境,Linux yum的配置使用和程序包的编译安装

程序包的编译安装

我们有的时候并不能获取到相应软件的rpm包或者是原本就是没有rpm包的,但是一般项目网站都会给我们提供对应的源代码,然后我们可以使用工具进行编译安装。

编译C源代码的前提:

提供开发环境及开发工具。

开发工具:make,gcc等

开发环境:开发库,头文件,标准库等

在CentOS中是通过“包组”提供开发组件

在centos6中:

yum groupinstall "Development Tools"

yum groupinstall "Server Platform Development"

在centos7中:

yum groupinstall "Development Tools" #即可

然后就可以开始编译安装了!

建议:安装前查看install或者readme文件

第一步:

运行configure脚本(./configure):

(1)通过传递参数,指定启动特性、安装路径等,执行时会参考用户指定以及Makefile.in文件(有的时候可能没有configure文件和Makefile.in文件,autoconf根据指定的配置文件可以生成configure文件,automake可以根据指定的配置文件生成Makefile.in文件),最终生成Makefile。

(2)检查依赖到外部环境

选项:--help:获取其他支持的使用选项--prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置;默认为/usr/local/

--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置

Optional Features: 可选特性--disable-FEATURE--enable-FEATURE[=ARG]

Optional Packages: 可选包--with-PACKAGE[=ARG]--without-PACKAGE

如果不指定--prefix选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件放在/usr/local/etc,其他的资源文件放在/usr/local/share。指定prefix的好处就是当你想卸载软件的时候,直接删除该安装目录就行了,也可以将整个目录拷贝到其他的机器上使用,前提是同样的操作系统。

第二步:

make(make其实是一个项目的构建工具,它可以对代码进行预处理、编译等操作)

根据makefile文件,构建应用程序

第三步:

make install

用来安装,它从Makefile中读取指令,安装到指定的位置。

安装后的配置:

(1)导出二进制程序目录至PATH环境变量中:

编辑文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

再让shell进程重新读配置文件 source /PATH/FROM/CONFI_FILE

(2)导出库文件路径

编辑/etc/ld.so.conf.d/NAME.conf

添加新的库文件所在目录至此文件中

让系统重新生成缓存:ldconfig [-v]

(3)导出头文件

基于链接的方式实现:ln -sv

(4)导出帮助手册

编辑/etc/man_db.config文件,添加一个MANPATH。

编译安装apache 2.2并启动此服务

1.解压缩并展开文件:

[root@localhost ~]# tar xf httpd-2.2.34.tar.bz2

2.查看目录下的文件:

4d697b5cda030d00630d11616f4bfcd1.gif

[root@localhost ~]# cd httpd-2.2.34[root@localhost httpd-2.2.34]#

[root@localhost httpd-2.2.34]# ll

total1160

-rw-r--r--. 1 1001 1001 14882 Nov 21 2004ABOUT_APACHE-rw-r--r--. 1 1001 1001 18613 Jul 6 2012acinclude.m4-rw-r--r--. 1 1001 1001 56952 Oct 5 2010Apache.dsw

drwxr-xr-x. 6 1001 1001 4096 Jul 6 15:19build-rw-r--r--. 1 1001 1001 2644 Aug 24 2007BuildAll.dsp-rw-r--r--. 1 1001 1001 2692 Jul 29 2009BuildBin.dsp-rwxr-xr-x. 1 1001 1001 5786 Sep 19 2012buildconf-rw-r--r--. 1 1001 1001 147887 Jun 28 20:16CHANGES-rw-r--r--. 1 1001 1001 11701 Feb 27 2012config.layout-rwxr-xr-x. 1 1001 1001 574593 Jul 6 15:19configure-rw-r--r--. 1 1001 1001 24720 May 25 2015 configure.indrwxr-xr-x. 9 1001 1001 124 Jul 6 15:19docs-rw-r--r--. 1 1001 1001 403 Nov 21 2004 emacs-style-rw-r--r--. 1 1001 1001 1248 May 7 2011httpd.dep-rw-r--r--. 1 1001 1001 4124 Jun 11 2008httpd.dsp-rw-r--r--. 1 1001 1001 8994 May 6 2011httpd.mak-rw-r--r--. 1 1001 1001 12053 Jul 6 15:19httpd.spec

drwxr-xr-x. 2 1001 1001 4096 Jul 6 15:19include-rw-r--r--. 1 1001 1001 5129 Jan 9 2017INSTALL-rw-r--r--. 1 1001 1001 2909 Dec 7 2006InstallBin.dsp-rw-r--r--. 1 1001 1001 5145 Nov 29 2005LAYOUT-rw-r--r--. 1 1001 1001 30119 May 7 2011libhttpd.dep-rw-r--r--. 1 1001 1001 17039 Jan 12 2007libhttpd.dsp-rw-r--r--. 1 1001 1001 28503 May 6 2011libhttpd.mak-rw-r--r--. 1 1001 1001 28690 Jan 18 2008LICENSE-rw-r--r--. 1 1001 1001 8739 Nov 25 2008 Makefile.in

-rw-r--r--. 1 1001 1001 34759 Jan 19 2014Makefile.win

drwxr-xr-x. 20 1001 1001 4096 Jul 6 15:19modules-rw-r--r--. 1 1001 1001 828 Jan 2 2017NOTICE-rw-r--r--. 1 1001 1001 12894 Mar 15 2012NWGNUmakefile

drwxr-xr-x. 9 1001 1001 149 Jul 6 15:19os-rw-r--r--. 1 1001 1001 5954 Jan 10 2007README-rw-r--r--. 1 1001 1001 4178 Aug 27 2014README.platforms-rw-r--r--. 1 1001 1001 2553 Dec 20 2010 README-win32.txt-rw-r--r--. 1 1001 1001 10183 Mar 14 2005ROADMAP

drwxr-xr-x. 3 1001 1001 4096 Jul 6 15:19server

drwxr-xr-x. 5 1001 1001 64 Jul 6 15:19srclib

drwxr-xr-x. 4 1001 1001 4096 Jul 6 15:19support

drwxr-xr-x. 2 1001 1001 248 Jul 6 15:19test-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

total40drwxr-xr-x. 2 root root 283 Sep 10 12:03bin

drwxr-xr-x. 2 root root 253 Sep 10 12:03build

drwxr-xr-x. 2 root root 38 Sep 10 12:03 cgi-bin

drwxr-xr-x. 3 root root 4096 Sep 10 12:03error

drwxr-xr-x. 2 root root 24 Jul 6 15:19htdocs

drwxr-xr-x. 3 root root 8192 Sep 10 12:03icons

drwxr-xr-x. 2 root root 4096 Sep 10 12:03include

drwxr-xr-x. 3 root root 4096 Sep 10 12:03lib

drwxr-xr-x. 2 root root 6 Sep 10 12:03logs

drwxr-xr-x. 4 root root 30 Sep 10 12:03 mandrwxr-xr-x. 14 root root 8192 Jul 6 15:20manual

drwxr-xr-x. 2 root root 23 Sep 10 12:03 modules

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

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

[root@localhost apache2]# vim /etc/profile.d/apache.shexport 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.导出帮助手册

f901341ae04d8b0bba21053bf07c329a.png

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

[root@localhost include]man apachectl

eaa501b3168a839f2bd67c7d2d08d312.png

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

[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

tcp0 0 0.0.0.0:22 0.0.0.0:*LISTEN

tcp0 0 127.0.0.1:25 0.0.0.0:*LISTEN

tcp0 52 192.168.172.134:22 192.168.172.1:61089ESTABLISHED

tcp60 0 :::80 :::*LISTEN #当80端口被监听说明已经启用成功了

tcp60 0 :::22 :::*LISTEN

tcp60 0 ::1:25 :::* LISTEN

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

5bc6c3aa0606366a08a4d5bd6a0eb1e4.png

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值