linux源码编译安装http,源码编译安装http

为什么需要编译安装软件?

1、软件在编译期间需要配置:比如需要指定安装路径,定制模块等功能;

2、软件需要统一安装路径:在编译安装时可以方便指定这些路径;

3、需要最新的版本:对于某些软件来说可能需要最新的版本。

编译前的准备工作:

1、安装开发工具:make、gcc等

2、安装开发包组:如centos 6的为:Development Tools

C代码编译安装三步骤:

(一)./configure:

(1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in生成makefile文件;

(2)检查安装软件时需要依赖到的外部环境

(二)make:make是项目管理器,会根据makefile文件的内容自动构建应用程序;

(三)make install :复制文件到相应的路径

注意:在安装前请注意查看INSTALL、README文件,根据文档配置编译软件。

正式编译安装

第一步:configure脚本

选项:指定安装位置、指定启用的特性

–help:获取其支持使用选项

选项分类:

安装路径设定:

–prefix=/PATH:指定安装路径,默认为/usr/local

–sysconfdir=/PATH:配置文件安装位置

Optional Features:可选特性

–disable-FEATURE

–enable-FEATURE

Optional Packages:可选包

–with-PACKAGE:依赖包

–without-PACKAGE:禁用依赖关系

第二步:make

第三部:make install

编译后的配置:

在这里以http服务作为示例,httpd服务安装在/usr/local/httpd2路径下:

1、man地址的配置路径

centos 6 (/etc/man.config)(centos 6的man配置路径) 将httpd服务的man文档路径在配置文档中添加一条路径

#every automatically generated MANPATH include these fields

添加:

MANPATH    /usr/local/httpd2/man

centos 7 (/etc/man_db.conf)

2、将httpd2的启动路径写入PATH

vim /etc/profile.d/httpd2.sh

PATH=$PATH:/usr/local/httpd2/bin

. /etc/profile.d/httpd2.sh

3、导入库文件路径

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

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

ldconfig –  :重新生成缓存

4、做软链接到包的头文件

ln -s /usr/local/httpd2/include /usr/include

示例:

我以http服务的源码编译包做演示:

一、./configure :配置makefile文件

(1)解压源码包

3c8ce6380daa33c267ccb0e2e66a02de.png

(2)运行.configure :指定路径启用的特性等:

3c8ce6380daa33c267ccb0e2e66a02de.png

二、make&&make install

3c8ce6380daa33c267ccb0e2e66a02de.png

编译成功,无报错

三、配置man地址

vim /etc/man_db.conf (centos 7的man配置文档的路径)

(centos 6的man配置文档的路径为/etc/man.config)

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

man文档配置成功

3c8ce6380daa33c267ccb0e2e66a02de.png

四、将httpd的启动路径写入环境变量

vim /etc/profile.d/httpd2.sh(最后的httpd2.sh可以自定义,但需要以.sh结尾)

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

五、导入库文件路径

vim /etc/ld.so.conf/httpd2.conf  (httpd2.conf可以自定义名称,需要以.conf结尾)

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

六、做头文件的软链接

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

至此,httpd的源码编译演示完成!

作业:

1、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

2、删除kernel包后,无法启动,并恢复之

答案:

1、冒泡算法,实现升序排序

3c8ce6380daa33c267ccb0e2e66a02de.png

2、删除kernel包后,无法启动,并恢复  (centos 6)

(1)删除rpm包

3c8ce6380daa33c267ccb0e2e66a02de.png

(2)内核已删除,无法启动系统

3c8ce6380daa33c267ccb0e2e66a02de.png

(3)在系统进入读条界面时,按一下esc键(只能按一下,不能多按)进入boot menu菜单,选择CD-ROM Drive 从光盘启动

3c8ce6380daa33c267ccb0e2e66a02de.png

(4)选择紧急救援模式

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

(5)挂载镜像文件

3c8ce6380daa33c267ccb0e2e66a02de.png

(6)安装kernel,并指定根所在的路径,将rpm包安装到对应路径下

3c8ce6380daa33c267ccb0e2e66a02de.png

(7)系统重启成功!

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:因为有你,如若转载,请注明出处:http://www.178linux.com/39789

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值