怎么理解ubuntu中的软件包管理器apt和dpkg
大家都知道在ubuntu下,安裝軟件經常會用到一個命令就是“apt-get install”,這里的apt命令,其實是linux系統下一個通用的軟件包管理器,使用該命令可以很方便的用來安裝和卸載軟件。然而,很多同學應該也知道,ubuntu下,還有另外一個軟件包管理器,叫做dpkg,它也可以實現軟件的安裝和卸載。那么,它們二者究竟各自負責什么,又有什么區別呢?
1、apt命令
Advanced Packaging Tool(apt)是Linux下的一款安裝包管理工具,是一個客戶/服務器系統。在服務器上先復制所有DEB包(DEB是Debian軟件包格式的文件擴展名),然后用APT的分析工具(genbasedir)根據每個DEB 包的包頭(Header)信息對所有的DEB包進行分析,并將該分析結果記錄在一個文件中,這個文件稱為DEB 索引清單,APT服務器的DEB索引清單置于base文件夾內。一旦APT 服務器內的DEB有所變動,一定要使用genbasedir產生新的DEB索引清單。客戶端在進行安裝或升級時先要查詢DEB索引清單,從而可以獲知所有具有依賴關系的軟件包,并一同下載到客戶端以便安裝。
當客戶端需要安裝、升級或刪除某個軟件包時,客戶端計算機取得DEB索引清單壓縮文件后,會將其解壓置放于/var/state/apt/lists/,而客戶端使用apt-get install或apt-get upgrade命令的時候,就會將這個文件夾內的數據和客戶端計算機內的DEB數據庫比對,知道哪些DEB已安裝、未安裝或是可以升級的。
apt命令的幾個缺省路徑:
- 下載的軟件存放位置:/var/cache/apt/archives
- 安裝后軟件默認位置:/usr/share
- 可執行文件位置:/usr/bin
- 配置文件位置:/etc
- 庫文件位置:/usr/lib
常用的apt命令集:
sudo apt-get install # package 安裝包 sudo apt-get reinstall # package - - reinstall 重新安裝包 sudo apt-get remove # package 刪除包 sudo apt-get remove --purge # package 刪除包,包括刪除配置文件等 sudo apt-get autoremove --purge # package 刪除包及其依賴的軟件包配置文件等 sudo apt-get update # 更新源 sudo apt-get upgrade # 更新已安裝的包 sudo apt-get dist-upgrade # 升級系統2、dpkg命令
Ubuntu是基于Debian的Linux系統,而Debian系統的軟件是使用APT和dpkg進行管理。dpkg是"Debian Packager"的簡寫,是一個底層的軟件包管理工具。
可以輸入dpkg -l來查看軟件的狀態,輸入dpkg -P來卸載軟件。因為dpkg --remove只是刪除安裝的文件,但不刪除配置文件。而dpkg --purge則安裝文件和配置文件都刪除。
常用的dpkg命令:
dpkg -i package.deb # 安裝一個 Debian 軟件包,如手動下載的文件。 dpkg -c package.deb # 列出 package.deb 的內容。 dpkg -I package.deb # 從 package.deb 中提取包信息。 dpkg -r package # 移除一個已安裝的包。 dpkg -P package # 完全清除一個已安裝的包。和 remove 不同的是,remove 只是刪掉數據和可執行文件,purge 另外還刪除所有的配制文件。 dpkg -L package # 列出 package 安裝的所有文件清單。 dpkg -s package # 顯示已安裝包的信息。 dpkg -reconfigure package # 重新配制一個已經安裝的包,如果它使用的是 debconf (debconf 為包安裝提供了一個統一的配置界面)。 dpkg -S package # 查看軟件在哪個包里;3、區別
- apt是會解決和安裝模塊的依賴問題,并會咨詢軟件倉庫,是在線安裝。
- dpkg只能安裝本地的deb文件,不會關心Ubuntu的軟件倉庫內的軟件,不會解決模塊的依賴關系。
- 兩者的區別是dpkg繞過apt包管理數據庫對軟件包進行操作,所以你用dpkg安裝過的軟件包用apt可以再安裝一遍,系統不知道之前安裝過了,將會覆蓋之前dpkg的安裝。
總結
以上是生活随笔為你收集整理的怎么理解ubuntu中的软件包管理器apt和dpkg的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么设置图片密码 win10设
- 下一篇: 如何在Ubuntu系统的顶部标题栏中增加