一般 Linux 上的軟件安裝主要有四種方式:前端
APT是Advance Packaging Tool(高級包裝工具)的縮寫,是Debian及其派生髮行版的軟件包管理器,APT能夠自動下載,配置,安裝二進制或者源代碼格式的軟件包,所以簡化了Unix系統上管理軟件的過程。APT最先被設計成dpkg的前端,用來處理deb格式的軟件包。如今通過APT-RPM組織修改,APT已經能夠安裝在支持RPM的系統管理RPM包。這個包管理器包含以
apt-
開頭的的多個工具,如apt-get
apt-cache
apt-cdrom
等,在Debian系列的發行版中使用。sql
當你在執行安裝操做時,首先apt-get
工具會在本地的一個數據庫中搜索關於 w3m
軟件的相關信息,並根據這些信息在相關的服務器上下載軟件安裝,這裏你們可能會一個疑問:既然是在線安裝軟件,爲啥會在本地的數據庫中搜索?要解釋這個問題就得提到幾個名詞了:數據庫
咱們須要按期從服務器上下載一個軟件包列表,使用 sudo apt-get update
命令來保持本地的軟件包列表是最新的(有時你也須要手動執行這個操做,好比更換了軟件源),而這個表裏會有軟件依賴信息的記錄,對於軟件依賴,我舉個例子:咱們安裝 w3m
軟件的時候,而這個軟件須要 libgc1c2
這個軟件包才能正常工做,這個時候 apt-get
在安裝軟件的時候會一併替咱們安裝了,以保證 w3m
能正常的工做。ubuntu
apt-get
是用於處理 apt
包的公用程序集,咱們能夠用它來在線安裝、卸載和升級軟件包等,下面列出一些apt-get
包含的經常使用的一些工具:ruby
工具 | 說明 |
---|---|
install |
其後加上軟件包名,用於安裝一個軟件包 |
update |
從軟件源鏡像服務器上下載/更新用於更新本地軟件源的軟件包列表 |
upgrade |
升級本地可更新的所有軟件包,但存在依賴問題時將不會升級,一般會在更新以前執行一次update |
dist-upgrade |
解決依賴關係並升級(存在必定危險性) |
remove |
移除已安裝的軟件包,包括與被移除軟件包有依賴關係的軟件包,但不包含軟件包的配置文件 |
autoremove |
移除以前被其餘軟件包依賴,但如今再也不被使用的軟件包 |
purge |
與remove相同,但會徹底移除軟件包,包含其配置文件 |
clean |
移除下載到本地的已經安裝的軟件包,默認保存在/var/cache/apt/archives/ |
autoclean |
移除已安裝的軟件的舊版本軟件包 |
下面是一些apt-get
經常使用的參數:bash
參數 | 說明 |
---|---|
-y |
自動迴應是否安裝軟件包的選項,在一些自動化安裝腳本中使用這個參數將十分有用 |
-s |
模擬安裝 |
-q |
靜默安裝方式,指定多個q 或者-q=# ,#表示數字,用於設定靜默級別,這在你不想要在安裝軟件包時屏幕輸出過多時頗有用 |
-f |
修復損壞的依賴關係 |
-d |
只下載不安裝 |
--reinstall |
從新安裝已經安裝但可能存在問題的軟件包 |
--install-suggests |
同時安裝APT給出的建議安裝的軟件包 |
當本身剛知道了一個軟件,想下載使用,須要確認軟件倉庫裏面有沒有,就須要用到搜索功能了,命令以下:服務器
sudo apt-cache search softname1 softname2 softname3……
apt-cache
命令則是針對本地數據進行相關操做的工具,search
顧名思義在本地的數據庫中尋找有關 softname1
softname2
…… 相關軟件的信息。網絡
dpkg 是 Debian 軟件包管理器的基礎,它被伊恩·默多克建立於 1993 年。dpkg 與 RPM 十分類似,一樣被用於安裝、卸載和供給和 .deb 軟件包相關的信息。編輯器
dpkg 自己是一個底層的工具。上層的工具,像是 APT,被用於從遠程獲取軟件包以及處理複雜的軟件包關係。"dpkg"是"Debian Package"的簡寫。工具
咱們常常能夠在網絡上見到以deb
形式打包的軟件包,就須要使用dpkg
命令來安裝。
dpkg
經常使用參數介紹:
參數 | 說明 |
---|---|
-i |
安裝指定deb包 |
-R |
後面加上目錄名,用於安裝該目錄下的全部deb安裝包 |
-r |
remove,移除某個已安裝的軟件包 |
-I |
顯示deb 包文件的信息 |
-s |
顯示已安裝軟件的信息 |
-S |
搜索已安裝的軟件包 |
-L |
顯示已安裝軟件包的目錄信息 |
咱們先使用apt-get
加上-d
參數只下載不安裝,下載emacs編輯器的deb包,下載完成後,咱們能夠查看/var/cache/apt/archives/目錄下的內容,以下圖:
而後咱們將第一個deb
拷貝到home目錄下,並使用dpkg
安裝
$ cp /var/cache/apt/archives/emacs24_24.3+1-4ubuntu1_amd64.deb ~ # 安裝以前參看deb包的信息 $ sudo dpkg -I emacs24_24.3+1-4ubuntu1_amd64.deb
如你所見,這個包還額外依賴了一些軟件包,這意味着,若是主機目前沒有這些被依賴的軟件包,直接使用dpkg安裝可能會存在一些問題,由於dpkg
並不能爲你解決依賴關係。
# 使用dpkg安裝 $ sudo dpkg -i emacs24_24.3+1-4ubuntu1_amd64.deb
跟前面預料的同樣,這裏你可能出現了一些錯誤:
咱們將如何解決這個錯誤了,這就要用到apt-get
了,使用它的-f
參數了,修復依賴關係的安裝
$ sudo apt-get -f install
沒有任何錯誤,這樣咱們就安裝成功了,而後你能夠運行emacs程序