1. 程式人生 > >linux_tar.gz 和tar.bz2 詳細解釋

linux_tar.gz 和tar.bz2 詳細解釋

大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ; 

我們可以通過./configure --help 來檢視配置軟體的功能;大多軟體是提供./configure 配置軟體的功能的;少數的也沒有,如果沒有的就不用./configure ;直接make;make install 就行了; 

./configure 比較重要的一個引數是 --prefix ,用--prefix 引數,我們可以指定軟體安裝目錄;當我們不需要這個軟體時,直接刪除軟體的目錄就行了; 

比如我們可以指定fcitx 安裝到 /opt/fcitx 目錄中; 

[[email protected] fcitx]#./configure --prefix=/opt/fcitx 

如果我們不需要fcitx 時,可以直接刪除 /opt/fcitx 目錄; 

所以我們舉這個例子中,fcitx如果定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是: 

[[email protected] fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 

[[email protected] fcitx]#cd fcitx 

[[email protected] fcitx]# ./configure --prefix=/opt/fcitx 

[[email protected] fcitx]# make 

[[email protected] 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格式的解包命令如下; 

[[email protected] beinan]# tar jxvf file.tar.bz2 

[[email protected] 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 

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

[[email protected] fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 

[[email protected] fcitx]#cd fcitx 

[[email protected] 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 目錄中; 

[[email protected] fcitx]#./configure --prefix=/opt/fcitx 

如果我們不需要fcitx 時,可以直接刪除 /opt/fcitx 目錄; 

所以我們舉這個例子中,fcitx如果定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是: 

[[email protected] fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 

[[email protected] fcitx]#cd fcitx 

[[email protected] fcitx]# ./configure --prefix=/opt/fcitx 

[[email protected] fcitx]# make 

[[email protected] fcitx]# make install 

呼叫fcitx ,應該是 

[[email protected] ~]#/opt/fcitx/bin/fcitx 

如果您想要讓fcitx 只要執行fcitx ,就能呼叫,請配置環境變數,或者在/usr/bin 中做一個fcitx 的連結; 

[[email protected] 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版本的安裝; 

[[email protected] vmware-distrib]# perl vmware-install.pl 

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

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

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

比如NVdia驅動的安裝就是這樣的; 

[[email protected] ~]# 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 檔案 

[[email protected] ~]# chmod 755 file.bin 

[[email protected] ~]# ./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 

相關推薦

linux_tar.gz tar.bz2 詳細解釋

大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ;  我們可以通過./configure --help 來檢視配置軟體的功能;大多軟體是提供./configure 配置軟體的

tar.gz .gz tar.bz2解壓

.tar.xz 解包 csdn str net 參考 https detail article tar.gz .gz 和 tar.bz2解壓 .tar.gz 格式解壓為 tar -zxvf xx.tar.gz .tar.bz2 格式解

Linux解壓tar.gztar.bz2報錯

Linux解壓tar.gz和tar.bz2的命令 兩者的命令主要是引數的不同,解壓tar.gz和tar.bz2不同壓縮檔案的命令如下: 解壓tar.gz檔案 tar -zxvf ×××.tar.gz 解壓tar.bz2檔案 tar -jxvf ×××

Linux解壓tar.gztar.bz2的命令

兩者的命令主要是引數的不同,解壓tar.gz和tar.bz2不同壓縮檔案的命令如下:    1 解壓tar.gz檔案 tar -zxvf ×××.tar.gz 1   2 解壓tar.bz2檔案 tar -jxvf ×××.tar.bz2 1   -z :是否同時具有

Linux系列:Linux中如何安裝.rpm、.tar、.tar.gztar.bz2檔案

我以下面三個包為例:(三個包都在/etc/opt下) A. example-1.2.3-1.rpm B. example-1.2.3-1.tar C. example-1.2.3-1.tar.gz1. 安裝rpm包 說起RPM(REDHAT Package Management)標準的軟體包,大家可能都會想起

Linux下建立與解壓zip, tar, tar.gztar.bz2檔案及該檔案壓縮對比

目前Linux下常見的壓縮副檔名: *.Z compress程式壓縮的檔案(最早期使用),壓縮後取代原始檔; *.zip一個誇平臺的檔案打包程式,適用於Linux、windows和Mac OS系統; *.bz2 bzip2程式壓縮的檔案; *.gz

tar.gztar.bz2軟體包如何解壓安裝

在網上下載軟體包,常見的格式就是tar.gz或者是tar.bz2,那麼這兩種壓縮包怎麼解壓和安裝呢? 1. 解壓tar.gz命令: tar -zxvf  filename.tar.gz 2. 解壓ta.bz2命令: tar -jxvf filename.tar.bz2 3.

Linux系列:Linux中如何安裝.rpm、.tar、.tar.gztar.bz2文件

建議 ins 安裝 微軟 得到 rpm onf zip 1.0 轉載自:https://blog.csdn.net/lanxuezaipiao/article/details/21896579 我以下面三個包為例:(三個包都在/etc/opt下) A. example-1

編寫一個shall腳本,采用case語句,自動解壓“.tar.gz”或“.tar.bz2”格式文件

名稱 ech .tar.gz 軟件包 all export 解壓 case語句 cas #!/bin/bash#thisexport LC_ALL=C read -p "請輸入軟件包名稱:" PAG case $PAG in *[z] )

http請求頭響應頭詳細解釋

pad 使用 after 網絡資源 max OS lai 通信 緩存 想對http請求頭和響應頭有更細致的了解,請看如下 Requests部分 Header解釋示例 Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html

Spring中IOCAOP的詳細解釋

獲得 當我 行為 bean spring 完成 耦合 模式 初始化 我們是在使用Spring框架的過程中,其實就是為了使用IOC,依賴註入,和AOP,面向切面編程,這兩個是Spring的靈魂。 主要用到的設計模式有工廠模式和代理模式。 IOC就是典型的工廠模式,通過sess

GitSVN的詳細解釋

Git歷史 同生活中的許多偉大事件一樣,Git 誕生於一個極富紛爭大舉創新的年代。Linux 核心開源專案有著為數眾廣的參與者。絕大多數的 Linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上(1991-2002年間)。到 2002 年,整個專案組開始啟用分散式版本控制系

tar,tar.gz,zip,tar.bz2壓縮演算法比較,tar.bz2壓縮率最大最耗cpu

壓縮、解壓縮是日常工作中常用的兩個操作,對於 Windows 平臺而言,最常用的格式是 zip 和 rar,國內大多數是用 rar,國外大多數是用 zip。 而對於類 Unix 平臺而言,常用的格式是 tar 和 tar.gz,zip 比較少一些,rar 則幾乎沒有。 ZIP 格式 zip 格式是開

Linux作業系統中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的壓縮與解壓

zip格式 壓縮: zip -r [目標檔名].zip [原檔案/目錄名] 解壓: unzip [原檔名].zip 注:-r引數代表遞迴 tar格式(該格式僅僅打包,不壓縮) 打包:tar -cvf [目標檔名].tar [原檔名/目錄名] 解包:tar -xvf [原檔名].tar

Android中ViewViewGroup的詳細解釋

Android中View和ViewGroup的詳細解釋 1. 概述: Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎上的。所有View的子類成為”Widget”,所有ViewGroup的子類成為”Layout

C/C++中的日期時間time_t詳細解釋

摘要: 本文從介紹基礎概念入手,探討了在C/C++中對日期和時間操作所用到的資料結構和函式,並對計時、時間的獲取、時間的計算和顯示格式等方面進行了闡述。本文還通過大量的例項向你展示了time.h標頭檔案中宣告的各種函式和資料結構的詳細使用方法。更多學習資料盡在這裡!關鍵字:UTC(世界標準時間),Calend

Python_安裝官方whl包tar.gz

bsp tar.gz 安裝 pytho fig configure whl 環境 all Windows環境:   安裝whl包:pip install wheel -> pip install **.whl   安裝tar.gz包:cd到解壓後路徑,p

Ubuntu解壓縮zip,tar,tar.gz,tar.bz2

最大 ubunt 解壓縮 ron .tar.gz tor 是你 bz2 目前 ZIP zip可能是目前使用得最多的文檔壓縮格式。它最大的優點就是在不同的操作系統平臺,比如Linux, Windows以及Mac OS,上使用。缺點就是支持的壓縮率不是很高,而tar.gz和ta

linux安裝 redis(redis-3.0.2.tar.gz) mongodb(mongodb-linux-x86_64-rhel62-4.0.0)

壓縮包 data 配置 查看 serve etc all linux sta 1:首先 要下載 這兩個 壓縮包 註意:liunx是否已經安裝過 gcc沒安裝的話 先安裝:yum install gcc-c++ 2:安裝 redis:redis-3.0.2.tar.gz   

windows CMD命令大全及詳細解釋語法

windows CMD命令大全及詳細解釋和語法       引用:   http://letle.iteye.com/blog/