ubuntu包管理系統

1.什麼是包管理系統(針對Debian派系CentOS派系有點區別)

        大多數同學接觸的最多的PC端系統應該是Windows系統,我們都知道在Windows安裝以及卸載軟件其實是十分麻煩的,可以總結爲下面幾個步驟:

官網找安裝包
執行安裝程序
接受軟件協議
選擇安裝位置
下一步
下一步...
安裝完成

        可能還會有軟件不可用❌ 、找遍整個官網都找不到安裝包以及破解等過程🏃 學習可以哈,商用還是乖乖買

圖1-2 Windows找安裝包現狀

        Ubuntu爲了解決這個問題(當然這並不是Ubuntu的纔有的,許多Linux發行版本都有包管理軟件),包管理軟件可以滿足你對軟件安裝、更新以及卸載的所有要求。這個模式其實我們也不陌生,不就是手機應用商城嘛!
        這種中心化的機制極大地簡化了軟件的安裝、更新和卸載。軟件開發者准許規範將程序編譯、打包,並上傳到公開的服務器中,供系統用戶通過包管理工具獲取。

圖1-2 中心化機制示意圖

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會去軟件源可修改尋找對應軟件和依賴文件
圖2-1 vim的依賴文件

3.APT包管理工具

        雖然來說,ubuntu也有一個可視化操作的ubuntu軟件中心,也是基於APT開發的,但是我自己也沒在上面安裝過幾次軟件,🦆鵝且,ubuntu雖說是目前最流行linux桌面版,但是相比Windows,linux的可視化操作真的不忍直視👀,下面主要講命令行操作!

        APT包管理工具包含了很多小工具,比較常用的有apt-getapt-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-getapt。以安裝vim爲例對比!

3.1.1 apt-get
  • 安裝
sudo apt-get install vim
圖3-1 apt-get安裝示意圖
  • 卸載
sudo apt-get remove vim
圖3-2 apt-get卸載示意圖
3.1.2 apt
  • 安裝
sudo apt install vim
圖3-3 apt安裝示意圖
  • 卸載
sudo apt remove vim
圖3-4 apt卸載示意圖
3.1.3 總結

        總體來看就是shell命令apt看起來更簡潔<—屁話 ,我現在覺得唯一的區別就是,apt會提供進度條,很高級!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章