tar.gz 和tar.bz2詳解
大多以tar.gz 和tar.bz2打包(bāo)軟件,大(dà)多(duō)是通過(guò) ./configure ;make ;make install 來安裝(zhuāng)的;有(yǒu)的軟件(jiàn)是直接(jiē)make;make install ;
我們可以通過./configure --help 來查看配置軟件的功(gōng)能;大多(duō)軟件是提供(gòng)./configure 配(pèi)置軟件的功能的;少(shǎo)數的也(yě)沒有,如果沒有的就不用./configure ;直接make;make install 就行了;
./configure 比較重要的一個(gè)參數是 --prefix ,用--prefix 參數,我們可以指定(dìng)軟件安裝(zhuāng)目錄(lù);當我們(men)不需要這個軟件時,直接刪除軟件的(de)目錄就行了;
比如我們可(kě)以(yǐ)指定fcitx 安裝到 /opt/fcitx 目錄中(zhōng);
[root@localhost fcitx]#./configure --prefix=/opt/fcitx
如果我們(men)不需(xū)要fcitx 時(shí),可以直接刪除 /opt/fcitx 目錄;
所以(yǐ)我們舉這個例子(zǐ)中,fcitx如果定製安裝(zhuāng)到 /opt/fcitx目錄中,完(wán)整的安裝方(fāng)法應該是:
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ./configure --prefix=/opt/fcitx
[root@localhost fcitx]# make
[root@localhost fcitx]# make install
====================================================================
一、什麽是源碼包(bāo)軟件;
顧名思(sī)義,源碼包就是源(yuán)代(dài)碼(mǎ)的可(kě)見(jiàn)的軟(ruǎn)件包,基於Linux和BSD係統的軟件最常見;在國內源可見的軟(ruǎn)件幾乎絕跡;大多開源軟(ruǎn)件(jiàn)都是(shì)國外出品(pǐn);在國(guó)內較為(wéi)出名的開(kāi)源軟件有(yǒu)fcitx;lumaqq;Lumaqq及scim等;
但軟件(jiàn)的(de)源代碼(mǎ)可見並不(bú)等於軟件是開源的,我們還要以軟件的許可為(wéi)準;比如有些(xiē)軟件(jiàn)是源碼可見的,但他約定用戶(hù)隻能按他約定的內容來修改(gǎi);比如vbb論(lùn)壇程序;所(suǒ)以一個(gè)軟件是否是開源軟件,得(dé)具備兩(liǎng)個條(tiáo)件;一是源(yuán)代碼可見(jiàn);二是要(yào)有寬鬆的許可證(zhèng)書,比如GPL證書等;
在(zài)GNU Linux或BSD社區中,開發人員在放(fàng)出(chū)軟件的二進(jìn)製軟件包(bāo)的同時,也會為我(wǒ)們提供源代(dài)碼軟(ruǎn)件(jiàn)包;
二、源代碼有何用?
一個軟(ruǎn)件的如果有(yǒu)源碼,是任何人(rén)都能(néng)看到他是怎麽開(kāi)發而來(lái)的,就(jiù)像(xiàng)一個瓶子,比如瓶子製(zhì)作的(de)模具是什麽(me);需要什麽材料(liào);具體(tǐ)的用途以(yǐ)及瓶子的詳細(xì)說明書(shū)等等。軟件的開放源(yuán)碼(mǎ)就是類似,開(kāi)發(fā)者在給我們(men)軟件(jiàn)的同(tóng)時,也會(huì)告訴我們(men)軟(ruǎn)件是怎麽開發出來的;隻要我(wǒ)們的水平(píng)足夠(gòu)的高,所有的代碼都在那裏,我們就可以修改和(hé)定製軟件,以適合我們的需要(yào);如果Windows開放源代碼,並以GPL發布,一樣(yàng)是有人能造出來(lái)N多的Windows發行版;遺憾的是 Windows並不是開(kāi)源(yuán)係(xì)統;
所以軟件的源代碼的用處(chù)無非是(shì)以下兩點;
1、軟件根據用(yòng)戶(hù)的需(xū)要加(jiā)以定(dìng)製;
2、二次(cì)開發(fā);注:要(yào)根據軟件的許可證書約(yuē)定為準,開發者許可二次(cì)開發(fā)才(cái)行;
三、怎樣安裝以源碼(mǎ)包打(dǎ)包的(de)軟件(jiàn);
1、源碼包的(de)打包格式;
源代碼一般以file.tar.gz file.tar.bz2或(huò)file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包(bāo)命令如(rú)下;
[root@localhost beinan]# tar jxvf file.tar.bz2
[root@localhost beinan]# tar zxvf file.tar.gz
至(zhì)於(yú)file.src.rpm 的用法,請參見:《file.src.rpm 使用方法的簡(jiǎn)介》
2、如何編(biān)譯安裝源碼(mǎ)包(bāo);(大多數)
1)解開軟(ruǎn)件包查看幫助(zhù)文(wén)檔;
我們解開一個包後,進入解(jiě)壓(yā)包,一般都能(néng)發現README(或(huò)reame)和INSTALL( 或install);或doc(或(huò)DOC)目錄;看名字就知道個差不(bú)多;
比如我們下載一(yī)個比較新(xīn)的fcitx 的軟件(jiàn)包,比如是 fcitx-3.2-050827.tar.bz2
我們在解開這(zhè)個軟件包會會發現如下(xià)的文件(jiàn);
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ls
aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm
AUTHORS config.h.in configure.in depcomp install-sh missing THANKS
autogen.sh config.rpath COPYING doc lib mkinstalldirs TODO
ChangeLog config.sub data fcitx.spec.in Makefile.am README tools
所以(yǐ)我們就可以看(kàn)fcitx的(de)INSTALL 和doc目錄的安裝文檔了;裏(lǐ)麵都告訴我們如(rú)何安裝(zhuāng);
有時安裝文檔也會在(zài)開發(fā)者(zhě)的主頁上有詳細(xì)的(de)說明,及常見(jiàn)問題的處理等;比如 LumaQQ
2)編譯安裝軟(ruǎn)件的條件;
首(shǒu)先我們在(zài)Linux係統中至少得把(bǎ)開發工具(jù)安裝上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等(děng)開發工具(jù)或基礎包;還要(yào)安裝一些相(xiàng)應的開發包(bāo),一般(bān)是文件名包括dev的,比如kernel-devel;還有一些開發庫,比如以lib開(kāi)頭的(de);如果(guǒ)您在編譯(yì)軟件時(shí),有時提示缺少什麽東西之類的,大多少的是這些開(kāi)發工具和(hé)開發庫等;從(cóng)光盤中找出安裝就是了;有時光盤沒有提供,請用google搜索相(xiàng)應的軟件包,有(yǒu)時可(kě)能也(yě)會用到源碼包(bāo)編譯安裝所(suǒ)依賴的包;
有(yǒu)時本(běn)來係統中已經安裝(zhuāng)了(le)所(suǒ)依(yī)賴的(de)包(bāo),但係統提(tí)示找不到應(yīng)該怎麽辦?這時需要我們設(shè)置一下PKG_CONFIG_PATH的環境變量就行了;
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig
或
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然後我(wǒ)們再(zài)來運行編(biān)譯(yì)的./configure ;make ;make install ,嚐試著來吧(ba);
以java開發(fā)的工具開發(fā)的(de)程序,要用到 jre或者jdk ;jdk已(yǐ)經包括jre了,所以如果我們隻是要(yào)求有一(yī)個java程序運行的環境,隻需(xū)要安裝jre就(jiù)行(háng)了;安裝好jre,配置一下java的環境變量就可以用了。如(rú)果是圖形界麵的程(chéng)序,點點鼠標就OK了;
用perl 開發的程序(xù),是需要perl環(huán)境的,所以必須得把perl的包安裝上,python 也同理;
3)編譯安裝軟(ruǎn)件的方法(fǎ);
大多以tar.gz 和tar.bz2打包軟件,大多是通過 ./configure ;make ;make install 來安裝(zhuāng)的;有的軟件是直接make;make install ;
我們可以通過(guò)./configure --help 來查看配置軟(ruǎn)件(jiàn)的功能;大多軟件是提供./configure 配置軟件的功能的(de);少數的也沒(méi)有,如果沒有的(de)就不用./configure ;直接(jiē)make;make install 就行了;
./configure 比較重要的一個參數是 --prefix ,用--prefix 參數(shù),我(wǒ)們可以指定軟件安裝目錄;當我(wǒ)們不需要這個軟(ruǎn)件(jiàn)時,直(zhí)接刪(shān)除軟件的(de)目(mù)錄就行了;
比如我們可以指定(dìng)fcitx 安裝到(dào) /opt/fcitx 目錄(lù)中;
[root@localhost fcitx]#./configure --prefix=/opt/fcitx
如果我們不需要fcitx 時,可以(yǐ)直接(jiē)刪除 /opt/fcitx 目錄;
所以我們舉這(zhè)個例子中,fcitx如果定製安裝到 /opt/fcitx目錄(lù)中(zhōng),完整的(de)安裝方法應該是:
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ./configure --prefix=/opt/fcitx
[root@localhost fcitx]# make
[root@localhost fcitx]# make install
調用(yòng)fcitx ,應該是
[beinan@localhost ~]#/opt/fcitx/bin/fcitx
如果您(nín)想要(yào)讓fcitx 隻要執(zhí)行fcitx ,就能調用,請配置(zhì)環境變量,或者在/usr/bin 中做一個(gè)fcitx 的鏈接;
[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx
一般(bān)的情(qíng)況下(xià)都有說,但(dàn)大多軟件沒有提供源碼(mǎ)包的卸載方(fāng)法(fǎ);我們可以找到軟件的安裝點刪除。主要看你把它安裝在哪了(le)。
設置環境變量PATH,請參見:《在Fedora Core 中,有些常用命令怎麽沒有?解(jiě)決辦法設置PATH》
所以您(nín)的PATH可以設置成這樣(yàng)的;
export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/fcitx/bin"
當(dāng)然這隻(zhī)是(shì)舉個例子,fcitx 可(kě)以進入桌麵自動運行的,請參看 http://www.fcitx.org 官方(fāng)站上的安裝(zhuāng)說(shuō)明;舉個例子(zǐ)隻(zhī)是讓大家好理解一點;
再(zài)舉一個例子(zǐ),比如我想安裝mlterm ;並指定安裝目錄為(wéi)/opt/mlterm中(zhōng); http://mlterm.sourceforge.net
#./configure --prefix=/opt/mlterm
#make
#make install
把源碼包安(ān)裝的軟件,都指定安裝在 /opt目錄中,這樣不(bú)就知道了軟件安裝在哪裏(lǐ)了(le);也方便卸載;
3.其它類型軟件;
1)基於(yú)perl 和python 的程序的安裝;
一般情況下(xià),用 #perl file.pl安裝;比(bǐ)如:VMware 的(de)Linux版本的安裝;
[root@localhost vmware-distrib]# perl vmware-install.pl
基於python 開發,也得用 python file.py 來安裝
一般(bān)軟(ruǎn)件包都有(yǒu)README和INSTALL 或者 DOC 文(wén)檔,看文檔(dàng)安裝;
2)有些安(ān)裝程(chéng)序是腳本型的調(diào)用;要用 #sh 文件名
比如NVdia驅動的安裝就(jiù)是這樣的;
[beinan@localhost ~]# sh NFORCE-Linux-x86-1.0-0306-pkg1.run
當然也能(néng)通過 chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run ,然後 ./NFORCE-Linux-x86-1.0-0306-pkg1.run 來安裝(zhuāng);
也有一(yī)些是以file.bin 文件
[beinan@localhost ~]# chmod 755 file.bin
[beinan@localhost ~]# ./file.bin
大抵如此。。。。。。。。
後(hòu)記: 源(yuán)碼包及特(tè)殊格式的軟件(jiàn)安(ān)裝就寫這麽(me)多,寫的再多也(yě)是(shì)寫不完。我們主要還是以軟件的安裝文檔為準;安裝軟件時,如果隻是簡單的應用,如果有rpm包,盡可能的(de)用rpm包;主要是方便和易於(yú)管理;
附錄:
安裝軟件(jiàn)時,最好用(yòng)各自發行版所提供的(de)係統(tǒng)軟件包管理工具,對於(yú)Fedora/Redhat 您可(kě)以參(cān)考如(rú)下文(wén)章;
0)RPM 基礎(chǔ) 《RPM 的介紹和應(yīng)用》
1)Fedora 係統管理軟件包工具 system-config-packages,方便的(de)添(tiān)加和移除係統安裝盤提供的軟件包,詳(xiáng)情請看 《Fedora 軟件(jiàn)包管理器system-config-packages》
2)Redhat 係(xì)統管理
關鍵詞:tar.gz,tar.bz2
閱讀本(běn)文後您有什麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0