dpkg 與apt-get

dpkg -i package.deb
sudo apt-get install package 安裝包
sudo apt-get install package - - reinstall 從新安裝包
sudo apt-get -f install 修復安裝"-f = ——fix-missing"


顯示該包的版本、安裝信息等
dpkg -l package  
dpkg -s package (詳細)
apt-cache show package 獲取包的相關信息,如說明、大小、版本等

搜索特定的包
apt-cache search package
列出當前全部已安裝的包
dpkg -l   

刪除包
dpkg -r package  
dpkg -P package  (包括配置文件)
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等

列出與該包關聯的文件
dpkg -L package


解開 deb 包的內容
dpkg –unpack package.deb

從全部安裝包中找尋文件keyword
dpkg -S keyword  

列出 deb 包的內容
dpkg -c package.deb



sudo apt-get update 更新源
# apt-get update
運行成功以後,你就能夠搜到在你的發行版中有哪些軟件了,命令是apt-cache,運行這個命令是在本機是檢索,而不連到網上。如:


sudo apt-get upgrade 更新已安裝的包

sudo apt-get dist-upgrade 升級系統

sudo apt-get dselect-upgrade 使用 dselect 升級

apt-cache depends package 瞭解使用依賴

apt-cache rdepends package 是查看該包被哪些包依賴

sudo apt-get build-dep package 安裝相關的編譯環境

apt-get source package 下載該包的源代碼

sudo apt-get clean && sudo apt-get autoclean 清理無用的包

sudo apt-get check 檢查是否有損壞的依賴

================================舉例=============================
# apt-cache search baseutils

這個命令能夠列出baseutils這個軟件包的狀況,有仍是沒有,還有版本等。

看到庫裏有這個軟件包後,就能夠安裝它:

# apt-get install baseutils

這時咱們就能夠看到apt-get的威力了。若是baseutils依賴於某個另外的軟件,或者一個運行庫xyz.0.01.so,apt-get會自動 下載這個包(或含有這個庫的軟件包)。這叫作自動依賴性處理。一般,若是你只用Debian軟件庫內的軟件,是不會發生找不到包或包版本不對的狀況的,除 非用的是正在開發的Testing或Unstable版本。

卸載軟件:

# apt-get remove baseutils

若是想看一下庫裏有多少軟件:

# apt-cache stats
Total package names : 22502 (900k)
Normal packages: 17632
Pure virtual packages: 281
Single virtual packages: 1048
Mixed virtual packages: 172
Missing: 3369
...

把本機全部軟件升級到最新版:

# apt-get upgrade

最後是最強力的--把整個發行版都升到新版本:

# apt-get dist-upgrade

升級時注意那些影響系統起動的東西,好比升級了內核,升級了grub或lilo等,這以後你應當從新運行grub或是lilo,讓它們指向正確的位置,不然升級以後會工做不正常的。

用apt-get安裝軟件時,它會從網上(在sources.list裏指的那個站點)下載所用的軟件包,這個包將存在本機上,目錄是:/var/cache/apt/archives/。時間長了,這裏會變得很是巨大,佔用大量的硬盤空間。要想清理這個目錄,能夠運行:

# apt-get clean

還有一個自動清理功能,它只清除那些沒用的或者是不完整的軟件包:

# apt-get autoclean

這樣在重裝某軟件時就依然能使用已經下載好的,而不是再到網上去下載。

dpkg - 底層一些的包管理工具

用上apt(高級包管理工具)以後,通常是不須要處理單個的deb文件的。若是須要,就要用dpkg命令。好比想本身裝gedit:

# dpkg -i gedit-2.12.1.deb

卸載:

# dpkg -r gedit

這裏只寫名字便可。還能夠加上--purge(-P)標誌:

# dpkg -P gedit

這會連同gedit的配置文件一塊兒刪除,只用-r的話是不刪除配置文件的。

若是不想安裝一個deb包,但想看一下它裏面有什麼文件:

# dpkg -c gedit-2.12.1.deb

若是想多看點信息:

# dpkg -I gedit-2.12.1.deb

也能夠用通配符來列出機器上的軟件:

# dpkg -l gcc*

這會列出全部gcc開頭的軟件包:

Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Installed/Config-files/Unpacked/Failed-config/.
/ Err?=(none)/Hold/Reinst-required/X=both-problems
/ Name Version Description
+++-===============-==============-========================
ii gcc 4.0.1-3 The GNU C compiler
ii gcc-3.3-base 3.3.6-8ubuntu1 The GNU Compiler Colletio
un gcc-3.5 none (no description available)

其中,第1個 i 表示但願安裝,第2個 i 表示已經安裝,第3個字段是問題(若是有)(這3個字的含義能夠看上面那3行,desired, status, err),後面是名字,版本和描述。un就表示,Unknown, not-installed。

若是想看某包是否已經安裝:

# dpkg -s gedit

若是想看某軟件都有哪些文件,都裝到了什麼地方:

# dpkg -L gedit

若是隻想看其中的某些文件,就加上Grep:

# dpkg -L gedit grep png

固然還有aptitude和Aptitude,前者是終端上運行的帶菜單的工具,後者是X窗口上運行的圖形化的程序。

還有,列出某包的詳情:apt-cache show gedit


=====================
通常用apt-get 與本地包查尋apt-cache就能夠了。dpkg是針對單獨的deb包的。
與dpkg主要不一樣的是,apt-get能看上去解決依賴關係。ubuntu

相關文章
相關標籤/搜索