基礎知識:
通常情況下,linux會這樣放軟體的元件(一般規範):
程式的文檔->/usr/share/doc; /usr/local/share/doc
程式->/usr/share; /usr/local/share
程式的啟動項->/usr/share/apps; /usr/local/share
程式的語言包->/usr/share/locale; /usr/local/share/locale
可執行檔案->/usr/bin; /usr/local/bin
而有的軟體為了和系統元件分隔開,選擇栖息于 /opt,但目錄結構往往是一樣的,把/usr或/usr/local 替換為了/opt/"軟體名"
DPKG
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 安裝一個軟體包,系統會提示您該軟體包依賴其它軟體包。這時,
您先安裝其它軟體包,直到滿足依賴關系為止。或者同時安裝多個軟體包
sudo dpkg -i aaa.deb bbb.deb ccc.deb
APT
如果一個軟體依賴關系過于複雜,使用 dpkg 來安裝它,并不是一個明智的選擇,這個時
候您就需要用到 APT 軟體包管理系統。APT 可以自動的檢查依賴關系,通過您預設的方式來
獲得相關軟體包,并自動安裝配置它。事實上,在多數情況下,我們推薦您使用 APT 軟體
包管理系統。
APT 系統需要一個軟體資訊資料庫和至少一個存放着大量 deb 包的軟體倉庫,我們稱之為
源 。 源 可以是網絡伺服器,安裝 CD 或者本地軟體倉庫。您需要修改
/etc/apt/sources.list 檔案,使 APT 系統能夠連接配接到 源。
從以下頁面中獲得網絡安裝源的清單,并且根據您的網絡環境,選擇速度較快的源。
http://wiki.ubuntu.org.cn/%E5%BF%AB%E9%80%9F%E8%AE%BE%E7%B
D%AE%E6%8C%87%E5%8D%97/DapperDrake
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 搜尋軟體包
Tip:建議您經常使用 sudo apt-get update 指令來更新您的軟體資訊資料庫
APT 系統修複
由于各種意外,APT 系統可能會出現問題,使用如下指令,嘗試進行修複:
apt-get -f install
源碼包
對于絕大多數軟體,我們建議您使用 APT 系統來安裝它。在少數情況下,例如某軟體沒有以 deb 包的格式釋出,或者需要定制适合自己的軟體,您可以通過編譯源代碼的方式安裝它。
首先需要下載下傳軟體的源碼包,并且将它解包為一些源代碼檔案(一般裡面都有README等安裝說明檔案)。并了便于管理,建議将下
載的源碼包移動到 /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/可執行檔案 /usr/local/bin/可執行檔案
解除安裝軟體用: sudo make uninstall
Tip:為了順利的進行編譯,至少需要安裝 build-essential 軟體包。
sudo apt-get install build-essential
附錄:對于build-essential的解釋:
linux作業系統上面開發程式, 光有了gcc/g++ 是不行的,它還需要一個 build-essential軟體包,該包是一個meta package,包含了許多與編譯有關的軟體包,作用是提供編譯程式必須軟體包的清單資訊。
也就是說 編譯程式有了這個軟體包,它才知道 頭檔案在哪 才知道庫函數在哪,還會下載下傳依賴的軟體包 最後才組成一個開發環境。
當然 build-essential包 安裝時 需要的依賴包 有些你用不上,用build-essential 隻不過友善管理罷了!
二進制安裝包安裝
bin或run或sh檔案或沒有擴充名的檔案安裝(需要安裝的二進制包installer)
此類型為Linux通用的2進制安裝包,可能隻對應x86,也可能包括x86-64支援(64位系統支援)
首先滑鼠操作,在“屬性”把檔案權限更改為“可以執行”。 指令行界面操作也可, 然後運作, 指令行則是到那個目錄下 ./檔案名 (.bin或.run) 或 sh ***.sh 例子: ./realplayer.bin ./install.run sh setup.sh
參考資料:
軟體安裝指南