程序包管理之編譯安裝

一、程序包編譯安裝流程:java


src格式的源碼包能夠根據CPU的平臺靈活編譯安裝使用c++

     testapp-VERSION-release.src.rpm --> 安裝後,使用rpmbuild命令製做成二進制格式的rpm包,然後再安裝;apache

從源代碼到被使用的過程:緩存

     源代碼 --> 預處理 --> 編譯(gcc) --> 彙編 --> 連接 --> 執行app

     源代碼組織格式:maven

          多文件:文件中的代碼之間,極可能存在跨文件的依賴關係;ide

     項目管理器(代碼管理工具):可以根據配置文件實現自動完成大多複雜步驟工具

          C、C++: make (configure --> Makefile.in --> makefile)開發工具

          java: mavenui


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


二、C代碼編譯安裝三步驟:

    (1) ./configure

          (a) 經過選項傳遞參數,指定啓用特性、安裝路徑等;執行時會參考用戶的指定以及Makefile.in文件生成makefile;

          (b) 檢查依賴到的外部環境;

    (2) make

          根據makefile文件,構建應用程序;

    (3) make install

          將生成的可執行文件或者生成的庫拷貝到相應的目錄

開發工具:

     autoconf: 生成configure腳本

     automake:生成Makefile.in文件

     建議:安裝前查看INSTALL,README


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


三、開源程序源代碼的獲取:

     (1) 官方自建站點:

          apache.org (ASF)

          mariadb.org

          ...

     (2) 代碼託管站點:

          SourceForge

          Github.com

          code.google.com

          ...


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


四、編譯安裝源代碼:

編譯器:

     c/c++: gcc (GNU C Complier)

編譯C源代碼:

     前提:提供開發工具及開發環境

          開發工具:make, gcc等

          開發環境:開發庫,頭文件

               glibc:標準庫

          經過「包組」提供開發組件

               CentOS 6: "Development Tools", "Server Platform Development", ...

               CentOS 7:"Development Tools"

     第一步:configure腳本

          選項:指定安裝位置、指定啓用的特性

          --help: 獲取其支持使用的選項

               選項分類:

                    安裝路徑設定:

                         --prefix=/PATH/TO/SOMEWHERE: 指定默認安裝位置;默認爲/usr/local/

                         --sysconfdir=/PATH/TO/SOMEWHERE:指定配置文件安裝位置;

                    System types:指定編譯時的系統類型,實現交叉編譯(例如在x86_64平臺上編譯能夠在PowerPC平臺上運行的程序)

                    Optional Features: 可選特性

                         --disable-FEATURE 禁用指定特性

                         --enable-FEATURE[=ARG] 啓用指定特性

                    Optional Packages: 可選包(依賴到的其餘程序包)

                         --with-PACKAGE[=ARG] 必須使用指定的程序包

                         --without-PACKAGE 不使用指定的程序包

     第二步:make

     第三步:make install


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


五、安裝後的配置

     (1) 導出二進制程序目錄至PATH環境變量中;(不指定環境變量則只能使用絕對路徑了)

          編輯文件/etc/profile.d/NAME.sh

               export PATH=/PATH/TO/BIN:$PATH

     (2) 導出庫文件路徑

          編輯/etc/ld.so.conf.d/NAME.conf

               添加新的庫文件所在目錄至此文件中;

          讓系統從新生成緩存:

               ldconfig [-v]

     (3) 導出頭文件

          基於連接的方式實現:

               ln -sv

     (4) 導出幫助手冊

          編輯/etc/man.config文件

               添加一個MANPATH


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


示例:CentOS 6


一、安裝編譯環境gcc工具spacer.gif

wKiom1aDZkOCUOM3AAA5FHNBBhE068.png

wKiom1aDZkOQQjYsAAAVovCxq34079.png


二、查看是否提供了gcc工具

wKioL1aDZnDj6ohCAAAk1ifmP1M833.png


三、下載源碼包,解包釋放出源代碼文件

wKiom1aDZmfiGHB4AABVnqzyDzc848.png


四、能夠查看INSTALL的安裝說明

wKioL1aDZpSS4-bTAAA0dzbr0so884.png


五、可使用configure --help獲取configure的使用幫助

wKioL1aDZqDSC0joAABMRAyS4Yw856.png


六、安裝CentOS6的開發包組,提供開發組件

wKiom1aDZp-ADo1lAAAIIAtMA_0119.png

wKiom1aDZp-yZ1cCAAAJFOSszoQ830.png


七、執行configure腳本指定默認安裝位置以及配置文件的位置 

wKioL1aDZtPy2JtVAAAKWm4JDSk952.png


八、執行make,根據makefile文件,構建應用程序

wKioL1aDZuXBwKILAAAGxAmsThY934.png


九、執行make install,將生成的可執行文件或者生成的庫拷貝到相應的目錄

wKiom1aDZtXCjdwLAAAHJrvjSOA181.png


十、安裝完成就能夠在安裝目錄下看到生成的對應的目錄了

wKioL1aDZwLQ2eIMAAASFxYFxYw888.png


十一、執行bin目錄下的apachectl腳本,啓動httpd服務

wKiom1aDZvSyXBnNAAAvP5DxmKY157.png


十二、查看80端口是否處於監聽狀態,是則表示服務已啓動

wKioL1aDZx2xvgD7AAAMAi9zRPI530.png

wKiom1aDZwHzD183AAAlbWfRLNM805.png

spacer.gif

相關文章
相關標籤/搜索