




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Linux 下編譯安裝源碼包軟件、什么是源碼包軟件?顧名思義,源碼包就是源代碼的可見(jiàn)的軟件包, 基于 Linux 和 BSD 系統(tǒng)的軟件最常見(jiàn); 在國(guó)內(nèi)源可見(jiàn)的軟件幾乎絕跡;大多開(kāi)源軟件都是國(guó)外出 品;在國(guó)內(nèi)較為出名的開(kāi)源軟件有 fcitx;luma;Luma 及 scim等; 但軟件的源代碼可見(jiàn)并不等于軟件是開(kāi)源的,我們 還要以軟件的許可為準(zhǔn);比如有些軟件是源碼可見(jiàn)的,但他 約定用戶只能按他約定的內(nèi)容來(lái)修改;比如 vbb 論壇程序;所以一個(gè)軟件是否是開(kāi)源軟件,得具備兩個(gè)條件;一是源代碼可見(jiàn);二是要有寬松的許可證書(shū), 比如 GPL 證書(shū)等;GNU Linux 或 BSD 社區(qū)中,開(kāi)發(fā)人員在放出
2、軟件的二進(jìn)制軟件包的同時(shí),也會(huì)為我們提供源代碼軟件包;、源代碼有何用?個(gè)軟件的如果有源碼,是任何人都能看到他是怎么開(kāi)發(fā)而來(lái)的,就像一個(gè)瓶子,比如瓶子制作的模 具是什么;需要什么材料;具體的用途以及瓶子的詳細(xì)說(shuō)明 書(shū)等等。軟件的開(kāi)放源碼就是類(lèi)似,開(kāi)發(fā)者在給我們軟件的 同時(shí),也會(huì)告訴我們軟件是怎么開(kāi)發(fā)出來(lái)的;只要我們的水 平足夠的高,所有的代碼都在那里,我們就可以修改和定制軟件,以適合我們的需要;如果 Windows 開(kāi)放源代碼,并以GPL 發(fā)布,一樣是有人能造出來(lái)N 多的 Windows 發(fā)行版;遺憾的是 Windows 并不是開(kāi)源系統(tǒng);所以軟件的源代碼的用處無(wú)非是以下兩點(diǎn);1、軟件根據(jù)用戶的需
3、要加以定制;2、次開(kāi)發(fā); 注:要根據(jù)軟件的許可證書(shū)約定為準(zhǔn),開(kāi)發(fā)者許可二次開(kāi)發(fā)才行;、怎樣安裝以源碼包打包的軟件1、源碼包的打包格式源代碼一般以 file.tar.gzfile.tar.bz2 或 file.src.rpm 打包; file.tar.gz 和 file.tar.bz2 格式的解包命令如下;# tar jxvf file.tar.bz2 # tar zxvf file.tar.gz 至于 file.src.rpm 的用法,請(qǐng)參見(jiàn): file.src.rpm1)使用方法的簡(jiǎn)介2、如何編譯安裝源碼包 (大多數(shù))解開(kāi)軟件包查看幫助文檔;我們解開(kāi)一個(gè)包后,進(jìn)入解壓包,一般都能發(fā)現(xiàn) REA
4、DME (或reame)和INSTALL(install);或doc(或DOC)目錄;看名字就知道個(gè)差不多;如我們下載一個(gè)比較新的 fcitx 的軟件包,比如是fcitx-3.2-050827.tar.bz2 我們?cè)诮忾_(kāi)這個(gè)軟件包會(huì)會(huì)發(fā)現(xiàn)如下的文件;# tar jxvf fcitx-3.2-050827.tar.bz2 #cd fcitx # ls aclocal.m4 config.guess configure debian INSTALLMakefile.in src xpm AUTHORS config.h.in configure.in depcomp install-sh miss
5、ing THANKS autogen.sh config.rpath COPYING doc lib mkinstalldirs TODOChangeLog config.sub data fcitx.spec.in Makefile.amREADME tools 所以我們就可以看 fcitx 的 INSTALL 和有時(shí)doc目錄的安裝文檔了; 里面都告訴我們?nèi)绾伟惭b;安裝文檔也會(huì)在開(kāi)發(fā)者的主頁(yè)上有詳細(xì)的說(shuō)明,及常見(jiàn)問(wèn)題的處理等; 比如 LumaQQ2)編譯安裝軟件的條件;先我們?cè)?Linux 系統(tǒng)中至少得把開(kāi)發(fā)工具安裝上,比如gcc ;perl;python;glibc;gtk;make ;
6、automake 等開(kāi)發(fā)工具或基礎(chǔ) 包;還要安裝一些相應(yīng)的開(kāi)發(fā)包, 一般是文件名包括 dev 的, 比如 kernel-devel ;還有一些開(kāi)發(fā)庫(kù),比如以 lib 開(kāi)頭的;如 果您在編譯軟件時(shí),有時(shí)提示缺少什么東西之類(lèi)的,大多少 的是這些開(kāi)發(fā)工具和開(kāi)發(fā)庫(kù)等;從光盤(pán)中找出安裝就是了;有時(shí)光盤(pán)沒(méi)有提供, 請(qǐng)用 google 搜索相應(yīng)的軟件包, 有時(shí)可能也會(huì)用到源碼包編譯安裝所依賴的包;有時(shí)本來(lái)系統(tǒng)中已經(jīng)安裝了所依賴的包,但系統(tǒng)提示找不到應(yīng)該怎么辦? 這時(shí)需要我們?cè)O(shè)置一下 PKG_CONFIG_PATH 的環(huán)境變量就 行了; #export PKG_CONFIG_PATH=/usr/lib/pkg
7、config或 #export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig然后我們?cè)賮?lái)運(yùn)行編譯的 ./configure ;make ;make install ,嘗 試著來(lái)吧; 以 java 開(kāi)發(fā)的工具開(kāi)發(fā)的程序,要用到 jre或者 jdk ;jdk 已經(jīng)包括 jre 了,所以如果我們只是要求有 個(gè) java 程序運(yùn)行的環(huán)境, 只需要安裝 jre 就行了; 安裝好 jre,配置一下 java 的環(huán)境變量就可以用了。 如果是圖形界面的程 序,點(diǎn)點(diǎn)鼠標(biāo)就 OK 了; 用 perl 開(kāi)發(fā)的程序, 是需要 perl環(huán)境的,所以必須得把 perl 的包安裝上, p
8、ython 也同理;3)編譯安裝軟件的方法;大多以 tar.gz 和 tar.bz2 打包軟件,大多是通過(guò) ./configure ;make ;make install 來(lái)安裝的; 有-prefix ,用當(dāng)我們不需要這個(gè)軟件時(shí),直接刪除軟件的目錄就行了;比如我們可以指定 fcitx 安裝到 /opt/fcitx 目錄中;#./configure-prefix=/opt/fcitx如果我們不需要 fcitx時(shí),可以直接刪除/opt/fcitx 目錄; 所以我們舉這個(gè)例子中,fcitx 如果定制安裝到 /opt/fcitx 目錄中,完整的安裝方法應(yīng)該是:# tarjxvf fcitx-3.2-0
9、50827.tar.bz2#cd fcitx # ./configure-prefix=/opt/fcitx# make應(yīng)該是 #/opt/fcitx/bin/fcitx# make install 調(diào)用 fcitx ,如果您想要讓 fcitx 只要執(zhí)過(guò) ./configure -help 來(lái)查看配置軟件的功能;大多軟件是提 供 ./configure 配置軟件的功能的;少數(shù)的也沒(méi)有,如果沒(méi)有 的就不用 ./configure ; 直接 make;make install 就行 了; ./configure 比較重要的一個(gè)參數(shù)是-prefix 參數(shù),我們可以指定軟件安裝目錄;中做行 fcitx
10、 ,就能調(diào)用,請(qǐng)配置環(huán)境變量,或者在 /usr/bin個(gè) fcitx 的鏈接; # ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx般的情況下都有說(shuō),但大多軟件沒(méi)有提供源碼包的卸載方法;我們可以找到軟件的安裝點(diǎn)刪除。主要看你把它安裝在哪了。所以您的 PATH 可以設(shè)置成這樣的;exportPATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/s bin:/opt/fcitx/bin" 當(dāng)然這只是舉個(gè)例子, fcitx 可以進(jìn)入桌 面自動(dòng)運(yùn)行的,請(qǐng)參看 官方站上的安裝說(shuō)明
11、;舉個(gè)例子只是讓大家好理解一點(diǎn);再舉一個(gè)例子,比如我想安裝#./configuremlterm ;并指定安裝目錄為 /opt/mlterm 中;安裝在哪里了;也方便卸載;3.其它類(lèi)型軟件1)基于perl 和 python 的程序的安裝;般情況下,用#perl-prefix=/opt/mlterm#make #make install 把源碼包安 裝的軟件, 都指定安裝在 /opt 目錄中, 這樣不就知道了軟件# perlfile.pl 安裝; 比如: VMware 的 Linux 版本的安裝;vmware-install.pl 基于 python 開(kāi)發(fā), 也得用 python file.py來(lái)
12、安裝般軟件包都有 README 和 INSTALL 或者DOC 文檔,看文檔安裝;2)有些安裝程序是腳本型的調(diào)用;要用 #sh 文件名 比如 NVdia 驅(qū)動(dòng)的安裝就是這樣當(dāng)然也的; # sh NFORCE-Linux-x86-1.0-0306-pkg1.run能通過(guò) chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run來(lái)安裝; 也然后 ./NFORCE-Linux-x86-1.0-0306-pkg1.run有一些是以 file.bin 文件 # chmod 755 file.bin # ./file.bin大抵如此。附錄 安裝軟件時(shí)最好用各自發(fā)行版所提供的
13、系統(tǒng)軟件 包管理工具對(duì)于 Fedora/Redhat 您可以參考如下文章RPM 基礎(chǔ) linuxchinaitlabcom/set/html> RPM 的介紹和應(yīng)用) Fedora 系統(tǒng)管理軟件包工具systemconfigpackages 方便的添加和移除系統(tǒng)安裝盤(pán)提供的 軟件包詳情請(qǐng)看 linuxchinaitlabcom/set/html> Fedora 軟件包管理器 systemconfigpackages) Redhat 系統(tǒng)管理軟件包工具新一點(diǎn)的系統(tǒng)應(yīng)該是redhatconfigpackages 用法和 linuxchinaitlabcom/set/ht
14、ml>Fedora 軟件包管理器systemconfigpackages 一樣)apt + synaptic 軟件包在線安裝移除升級(jí)工具 用法 linuxchinaitlabcom/unix/html>用 apt+synaptic 在線安裝或升級(jí) Fedora core 軟件包) yum 軟件包在線安裝升級(jí)移除工具用法linuxchinaitlabcom/set/html> Fedora/Redhat 在線安裝更新軟件包 yum 篇) linuxchinaitlabcom/set/html>filesrcrpm 使用方法的簡(jiǎn)介)如何編譯安
15、裝源碼包軟件目前 apt 和 yum 已經(jīng)極為成熟了建議我們安裝 軟件時(shí)采用 apt 或者 yum 如果安裝系統(tǒng)盤(pán)提供的軟件包可以用 systemconfigpackages 或 redhatconfigpackages、程序的組成部分Linux 下程序大都是由以下幾部分組成:進(jìn)制文件:也就是可以運(yùn)行的程序文件庫(kù)文件:就是通常我們見(jiàn)到的 lib 目錄的文件配置文件:這個(gè)不必多說(shuō),都知道幫助文檔:通常是我們?cè)?linux 下用man 命令查看的命令的文檔、 linux 下程序的存放目錄linux 程序的存放目錄大致有三個(gè)地方:/etc, /bin, /sbin,/lib :系統(tǒng)啟動(dòng)就需要用到的程
16、序,這些目錄不能掛載額外的分區(qū),必須在根文件系統(tǒng)的分區(qū)上/usr/bin,/usr/sbin,/usr/lib :操作系統(tǒng)核心功能,可以單獨(dú)分區(qū)/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:這個(gè)用于安裝第三方程序,分別對(duì)應(yīng)了二進(jìn)制文件、庫(kù)文件、配置文件、幫助文檔的目錄通常來(lái)說(shuō)我們安裝程序就安裝在 /usr/local 目錄下三、編譯安裝源程序1、使用如下命令查看當(dāng)前是否安裝了gcc 編譯器, 沒(méi)有可以先用 yum 安裝 gccgcc -version#查看是否安裝 gcc 2、解壓源碼包,
17、例如: tar -xvf nginx-1.7.7.tar.gz # 解壓源碼3、進(jìn)入解壓好的源碼包: cd nginx-1.7.7 # 進(jìn)入源碼包4、執(zhí)行 configure 文件, 此文件有兩個(gè)功能:1、讓用戶選定編譯特性;2、檢查編譯環(huán)境。 configure 執(zhí)行 后將生成 MakeFile 文件。例如: ./configure -prefix=/usr/local/nginx -conf-path=/etc/nginx/nginx.conf 其中我們通過(guò) -prefix 制定了安裝路徑,通過(guò) -conf-path 制定 了配置文件的具體位置。注意:不是所有的程序的 configure參
18、數(shù)都是一樣的 可以使用 ./configure -help 查看詳細(xì)參數(shù) 說(shuō)明。如果該程序所依賴的庫(kù)在當(dāng)前系統(tǒng)中沒(méi)有安裝,則會(huì)導(dǎo)致 configure 最后報(bào)錯(cuò), 遇到這種情況就需要你先安裝依賴庫(kù)。5、執(zhí)行 make 命令, 編譯程序 make6、編譯成功后就可以安裝了, 執(zhí)行如下命令 make install 到此程序就算安裝完成了,但是不要忘了還有后續(xù)的配置哦四、配置程序1、修改 PATH 環(huán)境變量, 以能夠識(shí)別此程序的二進(jìn)制文件路徑;修改 /etc/profile 文件,在文件中添加 export PATH=$PATH:/path/to/somewhere #記得是可執(zhí)行文件所在的目錄,路徑中不要包含可執(zhí)行文件。然后執(zhí)行 : source /etc/profile # 是我們的修改生效2、默認(rèn)情況下,系統(tǒng)搜索庫(kù)文件的路徑 /lib, /usr/lib; 要增添額外搜尋路徑 (注意:有的程序不提供庫(kù)文件,那就不需要此設(shè)置了 ) /etc/ld.so.conf.d/ 中創(chuàng)建以 .conf 為后綴名的文件,而后把要增3、如果程序提供了庫(kù)文件, 也會(huì)相應(yīng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)埋地管道重防腐靜電噴涂設(shè)備數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 統(tǒng)編版二年級(jí)語(yǔ)文下冊(cè)第八單元達(dá)標(biāo)測(cè)試卷(含答案)
- 上海市曹楊二中2024-2025學(xué)年高二上學(xué)期期末考試化學(xué)試卷(含答案)
- 遼寧省鞍山市高新區(qū)2024-2025學(xué)年九年級(jí)下學(xué)期開(kāi)學(xué)考試化學(xué)試題(含答案)
- 技校汽車(chē)底盤(pán)試題及答案
- 3 2025年耳鼻喉科相關(guān)疾病試題
- 色彩生命測(cè)試題及答案
- 遺產(chǎn)繼承分配方案合同
- 高等教育自學(xué)考試《00065國(guó)民經(jīng)濟(jì)統(tǒng)計(jì)概論》模擬試卷一
- 2025年度主管護(hù)師考試專(zhuān)項(xiàng)復(fù)習(xí)試題庫(kù)70題及答案(四)
- 六年級(jí)數(shù)學(xué)下冊(cè) 負(fù)數(shù)練習(xí)題(人教版)
- 2024-2030年中國(guó)康復(fù)醫(yī)院行業(yè)管理模式分析及發(fā)展規(guī)劃研究報(bào)告
- 斐訊PSG1218路由器的上網(wǎng)設(shè)置教程
- 八年級(jí)下冊(cè)《經(jīng)典常談》-2024年中考語(yǔ)文名著導(dǎo)讀專(zhuān)練
- 企業(yè)名稱(chēng)預(yù)先核準(zhǔn)通知書(shū)
- 內(nèi)容運(yùn)營(yíng)崗位招聘筆試題與參考答案(某大型央企)
- 體格檢查:腹部檢查(二)
- 1.3.1-二項(xiàng)式定理-公開(kāi)課一等獎(jiǎng)?wù)n件
- 垃圾清運(yùn)突發(fā)事件應(yīng)急預(yù)案
- 高教版中職教材-數(shù)學(xué)(基礎(chǔ)模塊)上冊(cè)電子教案
- 2024-2030年中國(guó)不銹鋼電纜橋架行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論