源碼編譯安裝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.www58058.com/39789

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

相關推薦

  • bash 循環語句while、until練習

    bash 循環語句while、until while練習題          1、求100以內所有正整數之和     2、通過ping命令探測172.16.250.1 – 254范圍內的所有主機的在線狀態,統計在線主機和…

    Linux干貨 2016-08-19
  •  編譯安裝步驟     大致過程:(源代碼–預處理–編譯–匯編–鏈接–執行)   第一步 下載安裝開發工具“Development toos” 第二步 下載解壓源代碼包 仔細閱讀“Install和 Read me” 第三步 使用./conf…

    Linux干貨 2017-04-24
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • shell腳本編寫-2

    1、條件判斷if語句       1)、 單分支 if  判斷條件;then     條件為真的分支代碼     fi 2)、雙分支     if  判斷條件; then    &…

    Linux干貨 2016-08-15
  • Centos 7 快速進入圖形界面

    Centos 7 快速進入圖形界面.pdf

    系統運維 2016-04-05
  • vim編輯器-練習題

    1 、復制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符 #cp /etc/profile /tmp #vim /tmp/profile :%s/^[[:space:]]\+// 2 、復制/etc/rc.d/init.d/functions 文件至/tmp 目錄,用查找替換命令為/tmp/func…

    Linux干貨 2016-08-15
欧美性久久久久