源码编译安装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)解压源码包

      blob.png

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

       blob.png

     二、make&&make install

       blob.png

       编译成功,无报错

    三、配置man地址

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

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

      blob.png

      blob.png

         man文档配置成功

       blob.png

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

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

        blob.png

        blob.png

    

   五、导入库文件路径

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

            blob.png

               blob.png

  六、做头文件的软链接

           blob.png

           blob.png

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

作业:

  

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

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

 

  答案:

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

    blob.png

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

   (1)删除rpm包

       blob.png

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

    blob.png

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

    blob.png

 (4)选择紧急救援模式

  blob.png

  blob.png

 (5)挂载镜像文件

    blob.png

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

    blob.png

(7)系统重启成功!

blob.png

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

(0)
因为有你因为有你
上一篇 2016-08-24 21:21
下一篇 2016-08-24 21:21

相关推荐

  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;   (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 在扩展分区/dev/sda4下新建一个10G的分…

    Linux干货 2016-10-25
  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别统计这两类用户的个数;通过字符串比较来实现;    #!/bin/bash     echo "可登录类型有有$(awk -F: '/[^\<nologin\&gt…

    Linux干货 2017-02-07
  • 第三章 Linux文件系统初步

    用户界面:      可分为两种GUI和CLI         GUI(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。 GNOME(英语发音:/ɡˈnoʊm/或英语发音:/…

    Linux干货 2016-06-03
  • DNS服务基础

    DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的 我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名) 常见的顶级域中的…

    Linux干货 2016-11-07
  • 马哥教育网络班21期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ~]# fdisk &n…

    Linux干货 2016-08-30
  • lamp的搭建

    方法一编译安装amp:   1.系统环境:CentOS 6,7       CentOS6:apr,apr-util的版本为1.3.9,不适合httpd-2.4    CentOS7:apr,apr-util的版本为1.4+2.开发环境需要安装:    Developm…

    Linux干货 2016-10-16