源码编译安装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

相关推荐

  • 文件查找与解压缩

    文件查找 脚本文件名的查询 which(寻找执行文件) which [-a] command -a :将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令名称 文件名的查找 文件查找:实时查找:遍历所有文件进行条件匹配;(find)非实时查找:根据索引查找;(whereis、locate) whereis whereis [-bmsu] […

    Linux干货 2017-04-08
  • N22-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp # vim /tmp/rc.sysinit …

    Linux干货 2016-09-26
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 date命令查看系统时间,clock或者hwclock命令查看硬件时间, 将系统时间同步到硬件时间的方法hwclock -s   2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。在生产环境的中创建SCREEN会话,会话的…

    Linux干货 2016-10-18
  • ansible日常入门指南

    ansible的一些基本用法

    2018-01-24
  • 15磁盘管理

    在系统中,常见的硬盘接口有分两类:并行的和串行的 并行: IDE: 133MB/s SCSI: 640MB/s 串行: SATA: 6Gbps SAS: 6Gbps USB: 480MB/s 存储设备的设备文件命名方式大致为:/dev/DEV_FILE IDE: /dev/hd#  #–>0,1,2,3 SCSI,SATA,SAS…

    Linux干货 2016-12-02
  • grub知识与故障排除

    知识点回顾 at 任务的存放位置:/var/spool/at/ crond 任务存放位置:/var/spool/cron/username 查看服务有没有运行 centos6:  service  atd  status    chkconfig –list atd chkconfig atd o…

    Linux干货 2016-09-13