华南俳烁实业有限公司

考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
  當(dāng)前位置:操作系統(tǒng) > Linux > 文章內(nèi)容
  

Linux操作系統(tǒng)學(xué)習(xí)筆記管理應(yīng)用程序安裝(5)

 [ 2016年6月20日 ] 【

從源碼包編譯安裝程序

  1、源碼編譯簡(jiǎn)介

  既然有了RPM安裝,那么為什么需要源碼安裝呢?首先它能獲得最新的軟件版本,及時(shí)修復(fù)bug;然后它那能根據(jù)用戶需要,靈活定制軟件功能。它的應(yīng)用場(chǎng)合也非常廣泛,比如安裝較新版本的應(yīng)用程序時(shí)、當(dāng)前安裝的程序無(wú)法滿足需要時(shí)或者需要為應(yīng)用程序添加新的功能時(shí)等。

  Tarball封包:多為.tar.gz或者tar.bz2格式。

  確認(rèn)源代碼編譯環(huán)境:

  需要安裝支持C/C++程序語(yǔ)言的編譯器。

[root@localhost ~]# gcc --version  ==>或g++ -v  [--version]
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
Copyright (C) 2006 Free Software Foundation, Inc.
本程序是自由軟件;請(qǐng)參看源代碼的版權(quán)聲明。本軟件沒(méi)有任何擔(dān)保;
包括沒(méi)有適銷性和某一專用目的下的適用性擔(dān)保。
[root@localhost ~]# g++ --version
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
……

(備注:在實(shí)際編譯安裝軟件的操作中,大多數(shù)情況是通過(guò) make 來(lái)自動(dòng)調(diào)用gcc或g++進(jìn)行工作,無(wú)需用戶手動(dòng)執(zhí)行g(shù)cc等命令)

  2、從源碼編譯安裝程序的基本過(guò)程

解包 —— tar

    解包、釋放出源代碼文件

配置 —— ./configure    (configure 一般是位于軟件包目錄中的可執(zhí)行腳本文件)

    針對(duì)當(dāng)前系統(tǒng)、軟件環(huán)境,配置好安裝參數(shù)

編譯 —— make

    將源代碼文件變?yōu)槎M(jìn)制的可執(zhí)行程序

安裝 —— make install

    將編譯好的程序文件復(fù)制到系統(tǒng)中

  3、源碼編譯安裝程序示例

  1)、解包

(習(xí)慣上將軟件包釋放到 /usr/src/ 目錄;解包后的源代碼文件位置:/usr/src/軟件名-版本號(hào)/)

 

[root@localhost ~]# tar zxvf axel-1.0a.tar.gz -C /usr/src/
[root@localhost ~]# ls /usr/src/axel-1.0a/
API     axelrc.example  configure  CREDITS  gui       nl.po     tcp.c
axel.1  CHANGES         conn.c     de.po    http.c    README    tcp.h
axel.c  conf.c          conn.h     ftp.c    http.h    search.c  text.c
axel.h  conf.h          COPYING    ftp.h    Makefile  search.h

==>configure執(zhí)行腳本用于下一步的配置,README或INSTALL文件可提供安裝方法

  2)、配置

  (需將工作目錄切換到軟件源碼所在目錄;使用源碼目錄中的 configure 腳本;執(zhí)行“./configure --help” 可以查看幫助;典型的配置選項(xiàng): --prefix=���件安裝目錄)

[root@localhost ~]# cd /usr/src/axel-1.0a
[root@localhost axel-1.0a]# ./configure --prefix=/usr/local/axel 
==>若不指定任何配置選項(xiàng),將采用默認(rèn)值

(備注:不同的應(yīng)用程序其配置參數(shù)會(huì)存在區(qū)別,因此學(xué)會(huì)使用“./configure --help”非常重要(“./”表示當(dāng)前目錄);用戶應(yīng)用程序習(xí)慣上安裝到“/usr/local/軟件名”文件夾中;編譯過(guò)程中如果出現(xiàn)錯(cuò)誤,通常是由于缺少依賴軟件包所致;根據(jù)軟件大小不同,配置過(guò)程可能會(huì)需要不同的時(shí)間)

  3)、編譯  :執(zhí)行make命令

  4)、安裝  :執(zhí)行make  install命令 

[root@localhost axel-1.0a]# make
[root@localhost axel-1.0a]# make install

    驗(yàn)證已編譯安裝完成的程序:

 

[root@localhost axel-1.0a]# ls /usr/local/axel/  /usr/local/axel/bin/
/usr/local/axel/:
bin  etc  share
/usr/local/axel/bin/:
axel
[root@localhost axel-1.0a]# /usr/local/axel/bin/axel –help
Usage: axel [options] url1 [url2] [url...]
--max-speed=x      -s x    Specify maximum speed (bytes per second)
……

本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
民权县| 霍邱县| 富顺县| 阿瓦提县| 奉化市| 白山市| 察隅县| 扶绥县| 南木林县| 偃师市| 贺州市| 阆中市| 启东市| 龙泉市| 阳新县| 昆山市| 敦煌市| 鹤岗市| 双江| 广平县| 吉安县| 渝北区| 兰考县| 红安县| 进贤县| 斗六市| 神农架林区| 渝北区| 库车县| 麻阳| 三原县| 绵竹市| 宣汉县| 开远市| 米泉市| 阿荣旗| 芦山县| 临沭县| 清河县| 连南| 都江堰市|