源碼編譯安裝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
下一篇 2016-08-24

相關推薦

  • Linux的哲學思想和文件系統

    Linux的哲學思想 Linux是一個自由的操作系統,其內部也有著自己獨特的一些特定的規則,就是我們所說的關于Linux的哲學思想。 Linux系統的哲學思想 1.一切皆文件:Linux系統把幾乎所有的系統資源全部都抽象為文件形式,包括硬件設備,甚至通信的接口都是以文件形式存在的。 2.Linux系統是由許許多多的小程序組成的,這些小程序的功能性單一,組合這…

    Linux干貨 2016-11-01
  • Linux啟動流程

    Linux的啟動流程有以下部分組成,以下流程以CentOs 6.8為例 1、POST加電自檢,檢測各項硬件工作是否正常,BIOS選擇啟動設備。 2、根據設備的前446字節,加載bootloader程序 3、initramfs是1.5階段,intramfs文件是創建系統時生成的文件。intramfs是一個過渡階段,initramfs加載系統的一些設備驅動,比如…

    2017-05-15
  • 編譯內核制作小型的linux

    1.  前言       今天我將會給大家帶來如何定制一個屬于自己linux系統,也就是編譯內核,那為什么要編譯內核呢? 內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統管理,決定著系統的性能和穩定性。Linux作為一個自由軟件,在廣 大愛好者的支持下,內核版本不…

    Linux干貨 2016-08-03
  • GRUB詳解

    GRUB的啟動流程: grub: 在centos56中:0.X版本 grub legacy 在centos7中:1.X版本  grub2 grub可分為三個階段: stage1:mbr前446字節中保存的Boot Loader程序 stage1.5:mbr之后的扇區,讓stage1中的Boot Loader能夠識別stage2所在的分區上的文件系統…

    Linux干貨 2016-09-13
  • linux磁盤管理之LVM

                        LVM  LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁…

    Linux干貨 2016-09-09
  • N25-第一周作業

    第一周作業 一 、計算機的組成及其功能 計算機由CPU,控制器,存儲器,輸入設備,輸出設備組成的。 CPU是計算機的重要硬件之一,主要負責運算和指令解釋。 控制器是控制計算機系統的各個硬件設備協同工作的如(主板的南橋,北橋等) 存儲器分為內存和硬盤,內存負責程序運行,硬盤負責數據存儲。 輸入設備有鍵盤,鼠標等。 輸出設備有顯示器,打印機等。 二 、…

    Linux干貨 2016-12-04
欧美性久久久久