Ubuntu/Linux入門介紹-dpkg(轉)

BSDLite發表於2007-08-17
Ubuntu/Linux入門介紹-dpkg(轉)[@more@] Linux系統中,軟體通常以原始碼或者預編譯包的形式提供。
軟體原始碼需要您親自編譯為二進位制的機器程式碼才能夠使用,安裝比較耗時,不過您可以自行調節編譯選項,決定您需要的功能或元件,或者針對您的硬體平臺作出最佳化。
預編譯的軟體包,通常是由軟體的釋出者進行編譯,您只要將軟體複製到系統中就可以了。考慮到預編譯軟體包的適用性,預編譯軟體包通常不會針對某種硬體平臺最佳化。它所包含的功能和元件也是通用的組合。

Ubuntu系統中,軟體通常以“deb”格式的包檔案釋出,它是一種預編譯軟體包。deb包中除了包含已編譯的軟體,通常還包括軟體的複製路徑、對其它軟體包的依賴關係紀錄、一個比較通用的配置檔案以及軟體的描述、版本、作者、類別、佔用空間等資訊。

deb軟體包命令遵行如下約定:
soft_ver-rev_arch.deb
soft為軟體包名稱,ver為軟體版本號,rev為Ubuntu修訂版本號,arch為目標架構名稱
例如:azureus_2.4.0.2-0ubuntu2_all.deb

您需要使用“dpkg”命令來管理deb軟體包:
dpkg -i | --install xxx.deb 安裝deb軟體包
dpkg -r | --remove xxx.deb 刪除軟體包
dpkg -r -P | --purge xxx.deb 連同配置檔案一起刪除
dpkg -I | -info xxx.deb 檢視軟體包資訊
dpkg -L xxx.deb 檢視檔案複製詳情
dpkg -l 檢視系統中已安裝軟體包資訊
dpkg-reconfigure xxx 重新配置軟體包

有些時候,您使用“dpkg”安裝一個軟體包,系統會提示您該軟體包依賴其它軟體包。這時,您先安裝其它軟體包,直到滿足依賴關係為止。或者同時安裝多個軟體包
dpkg -i aaa.deb bbb.deb ccc.deb


APT
===
如果一個軟體依賴關係過於複雜,使用“dpkg”來安裝它,並不是一個明智的選擇,這個時候您就需要用到APT軟體包管理系統。APT可以自動的檢查依賴關係,透過您預設的方式來獲得相關軟體包,並自動安裝配置它。事實上,在多數情況下,我們推薦您使用APT軟體包管理系統。
APT系統需要一個軟體資訊資料庫和至少一個存放著大量deb包的軟體倉庫,我們稱之為“源”。“源”可以是網路伺服器,安裝CD或者本地軟體倉庫。您需要修改“/etc/apt/sources.list”檔案,使APT系統能夠連線到“源”。
您可以在以下頁面中獲得網路安裝源的列表,並且根據您的網路環境,選擇速度較快的源。


APT系統主要包括“apt-get”和“apt-cache”等命令。它們通常都是複合命令,包含若干個子命令。
apt-get install xxx 安裝xxx
-d 僅下載
-f 強制安裝
apt-get remove xxx 解除安裝xxx
apt-get update 更新軟體資訊資料庫
apt-get upgrade 進行系統升級
apt-cache search 搜尋軟體包

Tips:建議您經常使用“apt-get update”命令來更新您的軟體資訊資料庫

原始碼包
======
對於絕大多數軟體,我們建議您使用APT系統來安裝它。在少數情況下,例如某軟體沒有以deb包的格式釋出,或者您需要定製適合自己的軟體,您可以透過編譯原始碼的方式安裝它。

首先您需要下載軟體的原始碼包,並且將它解包為一些原始碼檔案。並了便於管理,我們建議您將下載的原始碼包移動到“/usr/local/src/”目錄下,並在這裡解包。
sudo mv xxx.tar.gz /usr/local/src 移動原始碼包
cd /usr/local/src 進入“/usr/local/src/”目錄
sudo tar -xzvf xxx.tar.gz 解包原始碼
cd xxx_ver/ 進行解包後的原始碼目錄

原始碼目錄中通常有一個“configure”指令碼,用來配置即將開始的編譯過程。您可以執行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
它會自動檢測軟體的編譯環境和依賴關係,並且生成“Makefile”檔案。
您可以使用帶引數的命令“./configure --help”,或者閱讀“INSTALL”檔案,檢視該指令碼允許的引數。例如使用“--prefix=/usr/local/xxx”引數,將軟體的安裝目錄設定為“/usr/local/xxx/”。(如果您一定要將軟體安裝在一個目錄下,我們建議您安裝在這裡)

現在執行“make”命令,系統會根據“Makefile”檔案中的設定,透過“make”工具呼叫編譯器和所需資原始檔,將原始碼檔案編譯成目標檔案。
sudo make

執行“make install”命令,“make”工具會自動將連線目標檔案,將最終生成的檔案複製到“Makefile”檔案設定的路徑中,並且完成更改檔案的屬性,刪除殘留檔案等活動。
sudo make install

現在,您的編譯安裝已經完成,為了更方便的使用它,需要給程式的可執行檔案作一個符號連結。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe


Tips:為了順利的進行編譯,您至少需要安裝“build-essential”軟體包。
使用命令“sudo apt-get install build-essential”安裝它。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963430/,如需轉載,請註明出處,否則將追究法律責任。

相關文章