Linux系統(tǒng)中,軟件通常以源代碼或者預(yù)編譯包的形式提供。
軟件源代碼需要您親自編譯為二進制的機器代碼才能夠使用,安裝比較耗時,不過您可以自行調(diào)節(jié)編譯選項,決定您需要的功能或組件,或者針對您的硬件平臺作出優(yōu)化。
預(yù)編譯的軟件包,通常是由軟件的發(fā)布者進行編譯,您只要將軟件拷貝到系統(tǒng)中就可以了。考慮到預(yù)編譯軟件包的適用性,預(yù)編譯軟件包通常不會針對某種硬件平臺優(yōu)化。它所包含的功能和組件也是通用的組合。
Ubuntu系統(tǒng)中,軟件通常以“deb”格式的包文件發(fā)布,它是一種預(yù)編譯軟件包。deb包中除了包含已編譯的軟件,通常還包括軟件的拷貝路徑、對其它軟件包的依賴關(guān)系紀錄、一個比較通用的配置文件以及軟件的描述、版本、作者、類別、占用空間等信息。
deb軟件包命令遵行如下約定:
soft_ver-rev_arch.deb
soft為軟件包名稱,ver為軟件版本號,rev為Ubuntu修訂版本號,arch為目標架構(gòu)名稱
例如: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 查看系統(tǒng)中已安裝軟件包信息
dpkg-reconfigure xxx 重新配置軟件包
有些時候,您使用“dpkg”安裝一個軟件包,系統(tǒng)會提示您該軟件包依賴其它軟件包。這時,您先安裝其它軟件包,直到滿足依賴關(guān)系為止。或者同時安裝多個軟件包
dpkg -i aaa.deb bbb.deb ccc.deb
APT
===
如果一個軟件依賴關(guān)系過于復(fù)雜,使用“dpkg”來安裝它,并不是一個明智的選擇,這個時候您就需要用到APT軟件包管理系統(tǒng)。APT可以自動的檢查依賴關(guān)系,通過您預(yù)設(shè)的方式來獲得相關(guān)軟件包,并自動安裝配置它。事實上,在多數(shù)情況下,我們推薦您使用APT軟件包管理系統(tǒng)。
APT系統(tǒng)需要一個軟件信息數(shù)據(jù)庫和至少一個存放著大量deb包的軟件倉庫,我們稱之為“源”。“源”可以是網(wǎng)絡(luò)服務(wù)器,安裝CD或者本地軟件倉庫。您需要修改“/etc/apt/sources.list”文件,使APT系統(tǒng)能夠連接到“源”。
您可以在以下頁面中獲得網(wǎng)絡(luò)安裝源的列表,并且根據(jù)您的網(wǎng)絡(luò)環(huán)境,選擇速度較快的源。
http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%BD%AE%E6%8C%87%E5%8D%97/DapperDrake
APT系統(tǒng)主要包括“apt-get”和“apt-cache”等命令。它們通常都是復(fù)合命令,包含若干個子命令。
apt-get install xxx 安裝xxx
-d 僅下載
-f 強制安裝
apt-get remove xxx 卸載xxx
apt-get update 更新軟件信息數(shù)據(jù)庫
apt-get upgrade 進行系統(tǒng)升級
apt-cache search 搜索軟件包
Tips:建議您經(jīng)常使用“apt-get update”命令來更新您的軟件信息數(shù)據(jù)庫
源碼包
======
對于絕大多數(shù)軟件,我們建議您使用APT系統(tǒng)來安裝它。在少數(shù)情況下,例如某軟件沒有以deb包的格式發(fā)布,或者您需要定制適合自己的軟件,您可以通過編譯源代碼的方式安裝它。
首先您需要下載軟件的源碼包,并且將它解包為一些源代碼文件。并了便于管理,我們建議您將下載的源碼包移動到“/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”腳本,用來配置即將開始的編譯過程。您可以執(zhí)行它
sudo ./configure [--prefix=/usr/loca/xxx ......]
它會自動檢測軟件的編譯環(huán)境和依賴關(guān)系,并且生成“Makefile”文件。
您可以使用帶參數(shù)的命令“./configure--help”,或者閱讀“INSTALL”文件,查看該腳本允許的參數(shù)。例如使用“--prefix=/usr/local/xxx”參數(shù),將軟件的安裝目錄設(shè)定為“/usr/local/xxx/”。(如果您一定要將軟件安裝在一個目錄下,我們建議您安裝在這里)
現(xiàn)在執(zhí)行“make”命令,系統(tǒng)會根據(jù)“Makefile”文件中的設(shè)定,通過“make”工具調(diào)用編譯器和所需資源文件,將源代碼文件編譯成目標文件。
sudo make
執(zhí)行“make install”命令,“make”工具會自動將連接目標文件,將最終生成的文件拷貝到“Makefile”文件設(shè)定的路徑中,并且完成更改文件的屬性,刪除殘留文件等活動。
sudo make install
現(xiàn)在,您的編譯安裝已經(jīng)完成,為了更方便的使用它,需要給程序的可執(zhí)行文件作一個符號鏈接。
sudo ln -sf /usr/local/xxx/exe /usr/local/bin/exe
Tips:為了順利的進行編譯,您至少需要安裝“build-essential”軟件包。
使用命令“sudo apt-get install build-essential”安裝它
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。