ubuntu 軟件包管理整理 dpkg apt ppa

對於Ubuntu軟件的管理,很多東西用的時候總是忘了,所以就自己整理下了。


Ununtu軟件管理工具
主要功能:安裝,刪除,查詢


dpkg(Debian Package Management System)
deb實現對二進制軟件的管理,無法自動解決軟件之間的依賴關係,所以要提供一個前端程序apt解決

deb包的安裝,首先要下載包,是以.deb爲後綴的去安裝包,安裝完後的軟件是沒有.deb後綴的
使用dpkg安裝
sudo dpkg -i 包名.deb
安裝完成後,系統的數據庫會存儲這個包,是沒有deb後綴的

查詢系統已經安裝的包,就是把已安裝的包的數據庫打印出來
dpkg -l | less
每個記錄的屬性分別是
在數據庫標識符(可看最頂端的的信息進行配對) 包的名稱  包的版本 
包支持的體系結構 包的說明信息

注意一下命令包名的區別

查詢包的信息(查詢的名稱是數據裏的)
sudo dpkg --status 包名
查詢帶.deb的命令
sudo dpkg --info deb_name

查詢一個包裏包含了哪些文件
sudo dpkg --listfiles 包名
deb結尾
sudo dpkg --contents 包名.deb

查看一個文件或者命令是由哪個包啓動的,如/bin/ls
sudo dpkg --search /bin/ls

刪除包,這個包一定要是在上面的數據庫存在的
sudo dpkg -r 數據庫裏的包名


apt(Advanced Packaging Tool)
使用apt-get(是一個apt其中一個命令),可以對二進制包和源代碼包進行管理
包所在的服務器的地址列表
運行apt-get install時候,首先讀取包源地址,就是/etc/apt/sources.list裏的地址,然後就下載包,把包下載到
/var/cache/apt/archives,而包的說明信息則會存儲到/var/lib/apt/lists,運行apt-cache show package這個命令的獲取包的說明信息的時候,去讀取/var/lib/apt下的信息就可以獲取信息了

顯示服務器所有的包
sudo apt-cache pkgnames | less
顯示服務器所有的包的個數
sudo apt-cache pkgnames | wc -l 
顯示已經安裝的包
sudo dpkg -l 
顯示已經安裝包的個數
sudo dpkg -l | wc -l
安裝包
sudo apt-get install
整個過程是自動的,通過剛纔地址列表連接服務器,讀取服務器描述包的源數據信息,找到包進行下載,下載完解壓,然後配置,最後就安裝完成了

查看剛纔下載後的包
sudo dpkg -l | grep 剛下載的包名
查詢包的說明信息
sudo apt-cache show 包名

查詢軟件包所含文件
apt-file list package
查詢命令是由哪個包提供(文件歸屬),如/bin/ls
apt-file search /bin/ls

由於要查詢的命令是由哪個包提供的,是用源數據描述的,源數據是在提供包源的服務器上的,
要用apt-file update 連接,獲取源數據信息,將這些信息放到本地的緩存裏

查詢包的說明信息,一些包安裝後在本地會有緩存信息
sudo apt-get show 包名(如果本地緩存有,就用本地的,如果沒有,則連接上服務器的信息)
清除緩存
sudo apt-get clean

移除軟件
sudo apt-get remove 軟件名

自動解決依賴關係,-f參數是試圖解決包的依賴關係


ubuntu服務器包含的包並不是所有的,第三方或者個人的包沒有,這樣的話要下載deb包或者下面所說的PPA

sudo apt-get -f install


ubuntu的服務器並不是包含所有的包,比如個人的包
PPA(Personal Package Archives):
是ubuntu的私人軟件倉庫,允許用戶上傳源代碼包,由launchpad編譯併發布作爲apt的倉庫
發佈成功後,針對這個用戶的軟件包都有一個PPA地址,用戶需要把這個地址添加到用戶地址列表了,那麼就可以
通過apt安裝了

登錄launchpad.net,搜索想要安裝的包
命令行添加PPA地址:
sudo add-apt-repostiory ppa:user/ppa-name
在/etc/apt/sources.list.d已經生成
sudo apt-get update
同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,這樣才能獲取到最新的軟件包這個過程是對/etc/apt/sources.list每一個網址建立索引,這樣以後安裝找地址就很快了,不用從頭開始遍歷
然後就可以安裝了
sudo apt-get install 包

刪除ppa
sudo add-apt-repository --remove ppa:user/ppa-name

如果服務器和ppa上都沒有這個包,那麼只能手動下載deb包了,然後dpkg安裝

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