编译源代码的方式安装软件包
解压文件 (axel..为例)
tar xf axel...tar.gz
解压完成后会在工作目录下生成一个axel..的目录
1.在此目录中找到configure并执行
#./configure options
--help 获取帮助信息
--preofix= 安装路径
--bindir= 可执行文件存放位置
--etcdir= 配置文件的存放位置
--mandir= man文档存放位置
--locale=
--i8n=0/1 是否开启国际功能
此命令会与Makefile.in生成Makefile文件,Makefile.settings存放的有./configure命令指定的内容
2.#make 编译二进制
3.安装
#make install
Apache
./configure --sysconf= 指定配置文件存放位置
编译过程与上述过程类似
刚完成安装后,使用apachectl命令,应该无法找到此命令,如果能找到,说明已安装了httpd
如果此时使用rpm安装了httpd(使用 rpm -q httpd 查询),则make install会因出现冲突而异常,所以需要卸载,httpd包,并且卸载已安装
的Apache文件
1.删除httpd包
yum remove httpd
2.卸载Apache文件,只需将安装路径(./configure --prefix= 指定的)删除即可,即删除$prefix指向的目录
rm -rf $prefix
上述完成以后,不需要再完成完成./configure(检查本地环境)和make(编译),只需执行#make install即可
如果别的程序需要使用到Apache的库文件(lib),使用手册(man) 可执行程序(bin) 还有头文件(include),我们必须能让系统找到这些文件,所以
在需要的时候必须导出这些文件
假设我们的Apache安装在/usr/local/apache/下
1.导出库文件
1.在/etc/ld.so.conf/新建一个以.conf结尾的文件,并将此Apache库文件路径添加至此文件当中比如
#vim /etc/ld.so.conf/httpd.conf
/usr/local/Apache/lib
2.此时系统无法知道做了什么改变,必须使用ldconfig 让系统重新安装库文件
#ldconfig -v 显示相关信息
2.可执行程序导出方法(其实就是让系统能找到可执行文件)
1.暂时性的,重启就消失
#export PATH=$PATH:/usr/local/apache/bin
2.永久性的,就写入配置文件
对所有用户有效 #vim /etc/pfofile
pathmunge /usr/local/apache/bin
仅对某个用户有效
#vim ~/.bash_profile
PATH=$PATH:/usr/local/apache/bin
3.man文件路径导出方法
临时使用 man -M /usr/local/apache/man httpd 来查找httpd命令
编辑/etc/man.config文件,新增加如下一行
MANPATH /usr/local/apache/man
4.头文件
创建软链接
#ln -s from to
/usr/local/apache/include /usr/include/httpd
系统头文件一般放到/usr/include
转载于:https://blog.51cto.com/bloodhero/789581