Linux 下安裝卸載 .tar.gz 格式的檔案

來源:互聯網
上載者:User
tar.gz檔案的安裝,是屬於自己編譯原始碼的方法。多說一句,tar是把檔案打成一個包,並不壓縮;.gz是用gzip把打成包的.tar檔案壓縮,所以成了一個.tar.gz的檔案。

安裝的話,先解包,tar -zxvf xxx.tar.gz,這樣會產生一個以檔案名稱命名的檔案夾。裡面會有一些README、INSTALL、DOC等等一些文檔,仔細讀讀,可以知道這個軟體安裝需要什麼特殊的設定什麼的。這個沒有辦法細說了吧:)

一般軟體包裡會有一個叫configure的指令檔,完成配置的任務。可以加很多參數,具體的可以運行.
/configure --help得到協助的,比如./configure
--prefix=xxx是設定軟體安裝到哪裡。設定好參數,運行./configure,會產生makefile檔案,這是你後面編譯的基礎。

接下來就要編譯了,很簡單,因為有makefile檔案的存在,只要運行make就可以完成編譯的。make是將讀
入所有由configure指令碼程式建立的製作檔案。這些製作檔案會告訴make哪些檔案需要被編譯以及按照怎樣的順序對它們進行編譯,因為可能會有上百
個來源程式檔案。當make工作的時候,會在螢幕上顯示出正在執行的每一個命令,以及與這個命令相關的全部參數。這些輸出通常都是編譯器的調用聲明和所有傳
遞給編譯器的參數。如果編譯器順利地完成了工作,就不會出現什麼錯誤資訊。大多數編譯器的錯誤資訊十分清楚和明確,因此不用擔心可能會漏掉一個錯誤。如果
確實看到有一錯誤,也不用慌張。大多數錯誤資訊並不反映出程式本身出現了一個問題,通常都是系統這裡或者那裡的問題。典型情況下,這些資訊大多是因為檔案
存取權限不正確而產生的或者是因為檔案沒有找到。

完成編譯,之後就是安裝軟體了。這就更簡單了,make install就好了,這個命令將啟動安裝指令碼程式。因為make命令會在執行每一個命令的時候把它顯示出來,所以將會看到許許多多的文字掠過眼前。如果沒有看到什麼錯誤資訊,就說明這個軟體包安裝好了。

反安裝就是make uninstall了,不要再具體說明了吧。

----------------------------------------------------------------------------

在tar.gz的東西不多了~~~~
========================================
大多以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

====================================================================

一、什麼是源碼包軟體;

顧名思義,源碼包就是原始碼的可見的軟體包,基於Linux和BSD系統的軟體最常見;在國內源可見的軟體幾乎絕跡;大多開源軟體都是國外出品;在國內較為出名的開源軟體有fcitx;lumaqq;Lumaqq及scim等;

但軟體的原始碼可見並不等於軟體是開源的,我們還要以軟體的許可為準;比如有些軟體是源碼可見的,但他約定使用者只能按他約定的內容來修改;比如vbb論壇程式;所以一個軟體是否是開源軟體,得具備兩個條件;一是原始碼可見;二是要有寬鬆的許可認證,比如GPL認證等;

在GNU Linux或BSD社區中,開發人員在放出軟體的二進位軟體包的同時,也會為我們提供原始碼軟體包;

二、原始碼有何用?


個軟體的如果有源碼,是任何人都能看到他是怎麼開發而來的,就像一個瓶子,比如瓶子製作的模具是什麼;需要什麼材料;具體的用途以及瓶子的詳細說明書等
等。軟體的開放源碼就是類似,開發人員在給我們軟體的同時,也會告訴我們軟體是怎麼開發出來的;只要我們的水平足夠的高,所有的代碼都在那裡,我們就可以修
改和定製軟體,以適合我們的需要;如果Windows開放原始碼,並以GPL發布,一樣是有人能造出來N多的Windows發行版;遺憾的是
Windows並不是開源系統;

所以軟體的原始碼的用處無非是以下兩點;

1、軟體根據使用者的需要加以定製;
2、二次開發;註:要根據軟體的許可認證約定為準,開發人員許可二次開發才行;

三、怎樣安裝以源碼包打包的軟體;

1、源碼包的打包格式;

原始碼一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下;
[root@localhost beinan]# tar jxvf file.tar.bz2
[root@localhost beinan]# tar zxvf file.tar.gz

至於file.src.rpm 的用法,請參見:《file.src.rpm 使用方法的簡介》

2、如何編譯安裝源碼包;(大多數)

1)解開軟體包查看協助文檔;

我們解開一個包後,進入解壓包,一般都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差不多;

比如我們下載一個比較新的fcitx 的軟體包,比如是 fcitx-3.2-050827.tar.bz2

我們在解開這個軟體包會會發現如下的檔案;

[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目錄的安裝文檔了;裡面都告訴我們如何安裝;

有時安裝文檔也會在開發人員的首頁上有詳細的說明,及常見問題的處理等;比如 LumaQQ

2)編譯安裝軟體的條件;


先我們在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 也同理;

3)編譯安裝軟體的方法;

大多以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 可以進入案頭自動啟動並執行,請參看 http://www.fcitx.org 官方站上的安裝說明;舉個例子只是讓大家好理解一點;

再舉一個例子,比如我想安裝mlterm ;並指定安裝目錄為/opt/mlterm中; http://mlterm.sourceforge.net

#./configure --prefix=/opt/mlterm
#make
#make install

把源碼包安裝的軟體,都指定安裝在 /opt目錄中,這樣不就知道了軟體安裝在哪裡了;也方便卸載;

3.其它類型軟體;

1)基於perl 和python 的程式的安裝;

一般情況下,用 #perl file.pl安裝;比如:VMware 的Linux版本的安裝;
[root@localhost vmware-distrib]# perl vmware-install.pl

基於python 開發,也得用 python file.py 來安裝

一般軟體包都有README和INSTALL 或者 DOC 文檔,看文檔安裝;

2)有些安裝程式是指令碼型的調用;要用 #sh 檔案名稱

比如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 您可以參考如下文章;

0)RPM 基礎 《RPM 的介紹和應用》

1)Fedora 系統管理軟體包工具 system-config-packages,方便的添加和移除系統安裝盤提供的軟體包,詳情請看 《Fedora 軟體包管理器system-config-packages》

2)Redhat 系統管理軟體包工具,新一點的系統應該是 redhat-config-packages ,用法和 《Fedora 軟體包管理器system-config-packages》 一樣;

3)apt + synaptic 軟體包線上安裝、移除、升級工具; 用法:《用apt+synaptic 線上安裝或升級Fedora core 4.0 軟體包》
4)yum 軟體包線上安裝、升級、移除工具;用法:《Fedora/Redhat 線上安裝更新軟體包,yum 篇》

5)《file.src.rpm 使用方法的簡介》

6)《如何編譯安裝源碼包軟體》

目前 apt和yum 已經極為成熟了,建議我們安裝軟體時採用 apt或者yum ;如果安裝系統硬碟提供的軟體包,可以用 system-config-packages 或redhat-config-packages

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.