1.什麼是包管理系統(針對Debian派系CentOS派系有點區別)
大多數同學接觸的最多的PC端系統應該是Windows系統,我們都知道在Windows安裝以及卸載軟件其實是十分麻煩的,可以總結爲下面幾個步驟:
可能還會有軟件不可用❌ 、找遍整個官網都找不到安裝包以及破解等過程🏃 學習可以哈,商用還是乖乖買
Ubuntu爲了解決這個問題(當然這並不是Ubuntu的纔有的,許多Linux發行版本都有包管理軟件),包管理軟件可以滿足你對軟件安裝、更新以及卸載的所有要求。這個模式其實我們也不陌生,不就是手機應用商城嘛!
這種中心化的機制極大地簡化了軟件的安裝、更新和卸載。軟件開發者准許規範將程序編譯、打包,並上傳到公開的服務器中,供系統用戶通過包管理工具獲取。
2.Ubuntu安裝軟件的方式
Ubuntu安裝軟件也有多種方式選擇,主要有如下幾類:
- 源碼安裝(不推薦)
由於開源協議,Ubuntu平臺上的很多軟件都會開放源碼,用戶可以自行下載,按照手冊進行編譯、生成目標程序,這種方式需要我們十分了解源碼的組成結構以及編譯規則,否則就是自找麻煩。當然這種方式在某些場景下也會使用,比如我們可以根據需求裁剪程序功能。
- 包管理工具(推薦)
- dpkg:Debian Packager是Debian開發的底層包管理工具,是整個包管理系統的基礎。dpkg用於安裝、卸載以及升級,但是使用dpkg需要提供 .deb 軟件包,也就是說dpkg僅僅是本地安裝,需要開發者提供資源,所以使用dpkg安裝會存在一個問題就是,開發者需要自行解決依賴問題。所謂的依賴問題可以理解爲我安裝A軟件,A軟件需要B軟件支持,那麼我們就需要手動安裝B軟件才能成功安裝A軟件。
- APT:Advanced Package Tool是Debian開發的上層包管理工具,APT提供一系列完整的包管理工具,我們可以很方便的安裝、卸載以及升級,不一樣的是,開發者無需提供 .deb軟件包以及手動解決依賴關係,只需知道軟件名稱即可。APT會去軟件源可修改尋找對應軟件和依賴文件
3.APT包管理工具
雖然來說,ubuntu也有一個可視化操作的ubuntu軟件中心,也是基於APT開發的,但是我自己也沒在上面安裝過幾次軟件,🦆鵝且,ubuntu雖說是目前最流行linux桌面版,但是相比Windows,linux的可視化操作真的不忍直視👀,下面主要講命令行操作!
APT包管理工具包含了很多小工具,比較常用的有apt-get、apt-cache以及apt-config。最近ubuntu 16.04之後APT上還更新了一個功能更全的apt。
-
apt-get:負責軟件以及依賴文件的獲取、安裝、卸載以及更新等事務,apt-get install會掃描本地存放的軟件包更新列表/var/lib/apt/lists/,找到最新版本的軟件包我們安裝軟件之前應該update軟件源!,然後檢查軟件包依賴關係,找到支持該軟件正常運行的 所有軟件包,並從鏡像源地址中下載所需的軟件包,最後解壓軟件包,自動完成應用程序的安裝和配置;
-
apt-cache:負責查詢軟件的相關信息;
-
apt-config:用於配置APT工具。
-
apt:這貨敢跟老爹同名,肯定牛逼!🐂 apt其實常用小工具的集合,也就是把零散的接口封裝起來,通過檢測用戶的參數輸入的參數確定功能,使得工具更加健壯💪 。
3.1 apt-get和apt
我們使用APT最多的就是安裝和卸載工具,那麼就會涉及到兩個工具:apt-get和apt。以安裝vim爲例對比!
3.1.1 apt-get
- 安裝
sudo apt-get install vim
- 卸載
sudo apt-get remove vim
3.1.2 apt
- 安裝
sudo apt install vim
- 卸載
sudo apt remove vim
3.1.3 總結
總體來看就是shell命令apt看起來更簡潔<—屁話 ,我現在覺得唯一的區別就是,apt會提供進度條,很高級!