標籤:
通常linux上的軟體安裝方裝方式:
- 線上安裝
- 從磁碟安裝deb軟體包
- 從二進位軟體包安裝
- 從原始碼編譯安裝
這幾種方法各有優劣,下面介紹前三種。
一、線上安裝
平時我們使用windows安裝軟體時,需要從網上下載安裝包,然後一直下一步... 現在我們來到了Linux的世界中,感受一下geek的思維方式——一個命令加斷行符號,等待一 下,軟體就安裝好了,這就是方便的線上安裝軟體的方式。有一點需要提前說明的是,由於linux發行版本不同,所以線上安裝方式存在一些差異(包括包管理工具和命令),這裡涉及的方式只適用於ubuntu發行版本,或基於ubuntu的發行版如ubuntukylin(優麒麟),ubuntu又是基於debian的發行版,它使用的是debian的包管理工具dpkg,所以一些操作也適用於debian。而採用其它包管理工具的發行版不適用。
(一).apt包管理工具及命令介紹
APT是Advance Packaging Tool(進階封裝工具)的縮寫,是Debian及其派生髮行版的軟體包管理器,APT可以自動下載,配置,安裝二進位或者原始碼格式的軟體包,因此簡化 了Unix系統上管理軟體的過程。APT最早被設計成dpkg的前端,用來處理deb格式的軟體包。現在經過APT-RPM組織修改,APT已經可以安裝 在支援RPM的系統管理RPM包。這個包管理器包含以 apt- 開頭的的多個工具,如 apt-get apt-cache apt-cdrom 等,在Debian系列的發行版中使用。
先來看幾個名詞:
軟體源:上傳下載軟體的伺服器
軟體源鏡像伺服器:和軟體源內容一樣(更新有延遲)的伺服器
軟體包列表:這個表裡會有軟體依賴資訊的記錄,對於軟體依賴,舉個例子:我們安裝 A軟體的時候,而這個軟體需要 B這個軟體包才能正常工作,這個時候 apt-get 在安裝軟體的時候會一併替我們安裝了,以保證 A 能正常的工作。我們需要定期從伺服器上下載一個軟體包列表,使用 sudo apt-get update 命令來保持本地的軟體包列表是最新的(有時你也需要手動執行這個操作,比如更換了軟體源)
1.apt-get
格式:apt-get <工具> <參數> <軟體包名>
apt-get 使用各用於處理apt包的公用程式集,我們可以用它來線上安裝、卸載和升級軟體包等,下面列出一些apt-get包含的常用的一些工具:
工具 說明
install 其後加上軟體包名,使用者安裝一個軟體包
update 從軟體源鏡像伺服器下載/更新本地軟體源的軟體包列表
upgrade 升級本地可更新的全部軟體包,但存在依賴問題時將不會升級,通常會在更新之前執行一次update
dist-upgrade 解決依賴關係並升級(存在一定危險性)
remove 移除已安裝的軟體包,包括與被移除軟體包有依賴關係的軟體包,但不包含軟體包的設定檔
autoremove 移除之前被其他軟體包依賴,但現在不再被使用的軟體包
purge 與remove相同,但會完全移除軟體包,包含其設定檔
clean 移除下載到本地的已經安裝的軟體包,預設儲存在/var/cache/apt/archives/
autoclean 移除已安裝的軟體的舊版本軟體包
下面是一些 apt-get 常用的參數:
參數 說明
-y 自動回應是否安裝軟體包的選項,在一些自動化安裝指令碼中使用這個參數將十分有
-s 類比安裝
-q 靜默安裝方式,指定多個q或者-q=#,#表示數字,用於設定靜默層級,這在你不想要在安裝軟體包時螢幕輸出過多時很有用
-f 修複損壞的依賴關係
-d 只下載不安裝
--reinstall 重新安裝已經安裝但可能存在問題的軟體包
--install-suggests 同時安裝APT給出的建議安裝的軟體包
2.軟體搜尋
當自己剛知道了一個軟體,想下載使用,需要確認軟體倉庫裡面有沒有,就需要用到搜尋功能了,命令如下:
sudo apt-cache search softname1 softname2 softname3……
3.軟體安裝
apt-get install <軟體包名>
註:如何在不知道軟體包完整名的時候進行安裝。通常我們是使用Tab鍵補全軟體包名,後面會介紹更好的方法來搜尋軟體包。有時候你需要同時安裝多個軟體包,你還可以使用Regex匹配軟體包名進行大量安裝。
4.軟體升級
# 更新軟體源$ sudo apt-get update# 升級沒有依賴問題的軟體包$ sudo apt-get upgrade# 升級並解決依賴關係$ sudo apt-get dist-upgrade
5.卸載軟體
sudo apt-get remove <軟體名>
二、使用dpkg從本地磁碟安裝deb軟體包1.dpkg介紹
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 |
顯示已安裝軟體包的目錄資訊 |
2.使用dpkg安裝deb軟體包
我們先使用 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程式
3.查看已安裝軟體包的安裝目錄
如果你依然在糾結到底linux將軟體安裝到了什麼地方,那麼很幸運你將可以通過dpkg找到答案
使用dpkg -L查看deb包目錄資訊
sudo dpkg -L emacs
三、從二進位包安裝
二進位包的安裝比較簡單,我們需要做的只是將從網路上下載的二進位包解壓後放到合適的目錄,然後將包含可執行檔主程式檔案的目錄添加進PATH環境變數即可。
ubuntu下軟體安裝