顧名思義,源碼包就是源代碼的可見的軟件包,基於Linux和BSD系統的軟件最多見;在國內源可見的軟件幾乎絕跡;大多開源軟件都是國外出品;在國內較爲出名的開源軟件有fcitx;lumaqq;Lumaqq及scim等;
但軟件的源代碼可見並不等於軟件是開源的,咱們還要以軟件的許可爲準;好比有些軟件是源碼可見的,但他約定用戶只能按他約定的內容來修改;好比vbb論壇程序;因此一個軟件是不是開源軟件,得具有兩個條件;一是源代碼可見;二是要有寬鬆的許可證書,好比GPL證書等;
在GNU Linux或BSD社區中,開發人員在放出軟件的二進制軟件包的同時,也會爲咱們提供源代碼軟件包;html
一個軟件的若是有源碼,是任何人都能看到他是怎麼開發而來的,就像一個瓶子,好比瓶子製做的模具是什麼;須要什麼材料;具體的用途以及瓶子的詳細說明書等等。軟件的開放源碼就是相似,開發者在給咱們軟件的同時,也會告訴咱們軟件是怎麼開發出來的;只要咱們的水平足夠的高,全部的代碼都在那裏,咱們就能夠修改和定製軟件,以適合咱們的須要;若是Windows開放源代碼,並以GPL發佈,同樣是有人能造出來N多的Windows發行版;遺憾的是Windows並非開源系統;java
因此軟件的源代碼的用處無非是如下兩點:python
一、軟件根據用戶的須要加以定製;
二、二次開發;注:要根據軟件的許可證書約定爲準,開發者許可二次開發才行;linux
源代碼通常以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令以下;bash
# tar jxvf file.tar.bz2 # tar zxvf file.tar.gz
至於file.src.rpm 的用法,請參見:file.src.rpm 使用方法的簡介工具
咱們解開一個包後,進入解壓包,通常都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差很少;開發工具
好比咱們下載一個比較新的fcitx 的軟件包,好比是 fcitx-3.2-050827.tar.bz2
咱們在解開這個軟件包會會發現以下的文件;google
[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
因此咱們就能夠看fcitx的INSTALL 和doc目錄的安裝文檔了;裏面都告訴咱們如何安裝;
有時安裝文檔也會在開發者的主頁上有詳細的說明,及常見問題的處理等;好比 linux.chinaitlab.com/info/38307.html" target=_blank>LumaQQ.net
首先咱們在Linux系統中至少得把開發工具安裝上,好比 gcc ;perl;python;glibc;gtk;make ;automake 等開發工具或基礎包;還要安裝一些相應的開發包,通常是文件名包括dev的,好比kernel-devel;還有一些開發庫,好比以lib開頭的;若是您在編譯軟件時,有時提示缺乏什麼東西之類的,大多少的是這些開發工具和開發庫等;從光盤中找出安裝就是了;有時光盤沒有提供,請用google搜索相應的軟件包,有時可能也會用到源碼包編譯安裝所依賴的包;
有時原本系統中已經安裝了所依賴的包,但系統提示找不到應該怎麼辦?這時須要咱們設置一下PKG_CONFIG_PATH的環境變量就好了;開放源代碼
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig 或 #export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
而後咱們再來運行編譯的
./configure ;make ;make install
嘗試着來吧;
以java開發的工具開發的程序,要用到 jre或者jdk ;jdk已經包括jre了,因此若是咱們只是要求有一個java程序運行的環境,只須要安裝jre就好了;安裝好jre,配置一下java的環境變量就能夠用了。若是是圖形界面的程序,點點鼠標就OK了;
用perl 開發的程序,是須要perl環境的,因此必須得把perl的包安裝上,python 也同理;
大多以tar.gz 和tar.bz2打包軟件,大可能是經過 ./configure ;make ;make install 來安裝的;有的軟件是直接make;make install ;
咱們能夠經過./configure --help 來查看配置軟件的功能;大多軟件是提供./configure 配置軟件的功能的;少數的也沒有,若是沒有的就不用./configure ;直接make;make install 就好了;
./configure 比較重要的一個參數是 --prefix ,用--prefix 參數,咱們能夠指定軟件安裝目錄;當咱們不須要這個軟件時,直接刪除軟件的目錄就好了;
好比咱們能夠指定fcitx 安裝到 /opt/fcitx 目錄中;
[root@localhost fcitx]#./configure --prefix=/opt/fcitx
若是咱們不須要fcitx 時,能夠直接刪除 /opt/fcitx 目錄;
因此咱們舉這個例子中,fcitx若是定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是:
[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
調用fcitx ,應該是
[beinan@localhost ~]#/opt/fcitx/bin/fcitx
若是您想要讓fcitx 只要執行fcitx ,就能調用,請配置環境變量,或者在/usr/bin 中作一個fcitx 的連接;
[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx
通常的狀況下都有說,但大多軟件沒有提供源碼包的卸載方法;咱們能夠找到軟件的安裝點刪除。主要看你把它安裝在哪了。
設置環境變量PATH,請參見:《在Fedora Core 中,有些經常使用命令怎麼沒有?解決辦法設置PATH》
因此您的PATH能夠設置成這樣的;
export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/fcitx/bin"
固然這只是舉個例子,fcitx 能夠進入桌面自動運行的,請參看 fcitx 官方站上的安裝說明;舉個例子只是讓你們好理解一點;
再舉一個例子,好比我想安裝mlterm ;並指定安裝目錄爲/opt/mlterm中; http://mlterm.sourceforge.net
#./configure --prefix=/opt/mlterm #make #make install
把源碼包安裝的軟件,都指定安裝在 /opt目錄中,這樣不就知道了軟件安裝在哪裏了;也方便卸載;
通常狀況下,用 #perl file.pl安裝;好比:VMware 的Linux版本的安裝;
[root@localhost vmware-distrib]# perl vmware-install.pl
基於python 開發,也得用 python file.py 來安裝
通常軟件包都有README和INSTALL 或者 DOC 文檔,看文檔安裝;
好比NVdia驅動的安裝就是這樣的;
[beinan@localhost ~]# sh NFORCE-Linux-x86-1.0-0306-pkg1.run
固然也能經過
chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run ./NFORCE-Linux-x86-1.0-0306-pkg1.run 來安裝;
也有一些是以file.bin 文件
[beinan@localhost ~]# chmod 755 file.bin [beinan@localhost ~]# ./file.bin
大抵如此。。。。。。。。
源碼包及特殊格式的軟件安裝就寫這麼多,寫的再多也是寫不完。咱們主要仍是以軟件的安裝文檔爲準;安裝軟件時,若是隻是簡單的應用,若是有rpm包,儘量的用rpm包;主要是方便和易於管理;
安裝軟件時,最好用各自發行版所提供的系統軟件包管理工具,對於Fedora/Redhat 您能夠參考以下文章;