Ubuntu軟件包管理相關部分命令

Ubuntu 軟件管理

  1. Debian軟件包通常爲預編譯的二進制格式的擴展名“.deb” ,類似rpm文件,因此安裝快速,無需編譯軟件。包文件包括特定功能或軟件所必需的文件、元數據和指令
  2. dpkg:package manager for Debian,類似於rpm,dpkg是基於Debian的系統的包管理器。可以安裝,刪除和構建軟件包,但無法自動下載和安裝軟件包或其依賴項
  3. APT:Advanced Packaging Tool,功能強大的軟件管理工具,甚至可升級整個Ubuntu的系統,基於客戶/服務器架構
  4. APT工作原理:在服務器上先複製所有DEB包,然後用APT的分析工具genbasedir根據每個DEB 包的包頭(Header)信息對所有的DEB包進行分析,並將該分析結果記錄在文件夾base內的一個DEB 索引清單文件中,一旦APT服務器內的DEB有所變動,要使用genbasedir產生新的DEB索引清單客戶端在進行安裝或升級時先要查詢DEB索引清單,從而獲知所有具有依賴關係的軟件包,並一同下載到客戶端以便安裝。
    當客戶端需要安裝、升級或刪除某個軟件包時,客戶端計算機取得DEB索引清單壓縮文件後,會將其解壓置放於 /var/cache/apt/,而客戶端使用apt-get install或apt-get upgrade命令的時候,就會將這個文件夾內的數據和客戶端計算機內的DEB數據庫比對,知道哪些DEB已安裝、未安裝或是可以升級的

dpkg命令

dpkg常見用法: man dpkg

dpkg -i package.deb 安裝包
dpkg -r package 刪除包,不建議,不自動卸載依賴於它的包
dpkg -P package 刪除包(包括配置文件)
dpkg -l 列出當前已安裝的包,類似rpm -qa
dpkg -l package 顯示該包的簡要說明,類似rpm –qi
dpkg -L package 列出該包中所包含的文件,類似rpm –ql
dpkg -S \< pattern\> 搜索包含pattern的包,類似rpm –qf
dpkg -s package 列出該包的狀態,包括詳細信息,類似rpm –qi
dpkg --configure package 配置包,-a 使用,配置所有沒有配置的軟件包
dpkg -c package.deb 列出 deb 包的內容,類似rpm –qpl
dpkg --unpack package.deb 解開 deb 包的內容

dpkg示例:

  • 列出系統上安裝的所有軟件包
    dpkg -l
  • 列出軟件包安裝的文件
    dpkg -L bash
  • 查看/bin/bash來自於哪個軟件包
    dpkg -S /bin/bash
  • 安裝本地的 .deb 文件
    dpkg -i /mnt/cdrom/pool/main/z/zip/zip_3.0-11build1_amd64.deb
  • 卸載軟件包
    dpkg -r zip
  • 注意:一般建議不要使用dpkg卸載軟件包。因爲刪除包時,依賴於它的其他任何包仍將安裝,並且可能無法再正常運行

apt

  1. Debian 使用APT工具來管理包系統,它與 rpm 命令不同。 在基於 Debian 的 Linux 發行版中,有各種工具可以與 APT 進行交互,以方便用戶安裝、刪除和管理的軟件包。
  2. apt-get 是其中一個常用的命令行工具,另外一款較爲流行的命令行與 GUI 兼顧的工具是 Aptitude ,之前最常用的 Linux包管理命令都被分散在了 apt-get、 apt-cache和 apt-config 這三條命令中
  3. 在 2014 年apt 命令發佈第一個穩定版,Ubuntu 16.04 引入新特性之一便是 apt 命令,apt 命令解決了命令過於分散的問題,它包括 apt-get 命令出現以來使用最廣泛的功能選項,以及 apt-cache 和 apt-config命令中很少用到的功能。在使用 apt 命令時,用戶不必再由 apt-get 轉到 apt-cache 或 apt-config,提供管理軟件包所需的必要選項
  4. apt 相當於 apt-get、 apt-cache 和 apt-config 中最常用命令選項的集合
  5. apt 具有更精減但足夠的命令選項,而且參數選項的組織方式更爲有效。此外,啓用的幾個特性也非常有幫助。例如,可以在使用 apt命令安裝或刪除程序時看到進度條。apt 還會在更新存儲庫數據庫時提示用戶可升級的軟件包個數
  6. apt 與 apt-get有一些類似的命令選項,但它並不能完全向下兼容 apt-get 命令,也即可用 apt 替換部分 apt-get 系列命令,但不是全部

查看幫助:apt help

apt與apt-get命令對比

apt 命令 被取代的命令 命令的功能
apt install apt-get install 安裝軟件包
apt remove apt-get remove 移除軟件包
apt purge apt-getpurge 移除軟件包及配置文件
apt update apt-get update 刷新存儲庫索引
apt upgrade apt-get upgrade 升級所有可升級的軟件包
apt autoremove apt-get autoremove 自動刪除不需要的包
apt full-upgrad e apt-getdist-upgrade 在升級軟件包時自動處理依賴關係
apt search apt-cache search 搜索應用程序
apt show apt-cache show 顯示安裝細節

apt 特有的命令

apt list 列出包含條件的包(已安裝,可升級等)
apt edit-sources 編輯源列表

APT包索引來自/etc/apt/sources.list文件和/etc/apt/sources.list.d目錄中定義的存儲庫的可用包的數據庫,類似於yum中的兩個相關文件(默認已經配置好國外和部分國內的apt源)。要使用存儲庫中所做的最新更改來更新本地程序包索引

apt命令操作(如安裝和刪除軟件包)記錄在/var/log/dpkg.log日誌文件中

apt示例:

  • 安裝包:
    apt install tree zip
  • 刪除包:
    apt remove tree zip
    說明:apt remove中添加--purge選項會刪除包配置文件,謹慎使用
  • 更新包索引:
    apt update
  • 升級包:要升級系統,請首先更新軟件包索引,再升級
    apt upgrade

注意點:

  1. 安裝包在光盤的pool文件夾內
  2. sudo -i 切換到root用戶(或者強行用vim刪除 shadow裏面root的鎖歎號!,然後切換爲root之後增加密碼,下次就能直接root登陸了,不過想要遠程root登陸還需要配置一下openssl的設置,具體查詢其他幫助)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章