Debian,以及基于 Debian 的系統(tǒng),,如 Ubuntu 等,,所使用的包格式為 deb。以下為操作 deb 包的常用 Dpkg 指令表,,供初學(xué)的朋友參考,。
命令 | 作用 |
dpkg -i package.deb | 安裝包 |
dpkg -r package | 刪除包 |
dpkg -P package | 刪除包(包括配置文件) |
dpkg -L package | 列出與該包關(guān)聯(lián)的文件 |
dpkg -l package | 顯示該包的版本 |
dpkg –unpack package.deb | 解開 deb 包的內(nèi)容 |
dpkg -S keyword | 搜索所屬的包內(nèi)容 |
dpkg -l | 列出當前已安裝的包 |
dpkg -c package.deb | 列出 deb 包的內(nèi)容 |
dpkg –configure package | 配置包 |
注意:更多選項可通過 dpkg -h 查詢,有些指令需要超級用戶權(quán)限才能執(zhí)行,。
apt-cache search package 搜索包
apt-cache show package 獲取包的相關(guān)信息,,如說明,、大小,、版本等
sudo apt-get install package 安裝包
sudo apt-get install package - - reinstall 重新安裝包
sudo apt-get -f install 強制安裝
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
sudo apt-get autoremove 自動刪除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 升級系統(tǒng)
sudo apt-get dselect-upgrade 使用 dselect 升級
apt-cache depends package 了解使用依賴
apt-cache rdepends package 了解某個具體的依賴
sudo apt-get build-dep package 安裝相關(guān)的編譯環(huán)境
apt-get source package 下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean 清理下載文件的存檔
sudo apt-get check 檢查是否有損壞的依賴
aptitude 與 apt-get 一樣,,是 Debian 及其衍生系統(tǒng)中功能極其強大的包管理工具,。與 apt-get 不同的是,aptitude 在處理依賴問題上更佳一些,。舉例來說,,aptitude 在刪除一個包時,,會同時刪除本身所依賴的包。這樣,,系統(tǒng)中不會殘留無用的包,,整個系統(tǒng)更為干凈。以下是筆者總結(jié)的一些常用 aptitude 命令,,僅供參考,。
命令 | 作用 |
aptitude update | 更新可用的包列表 |
aptitude upgrade | 升級可用的包 |
aptitude dist-upgrade | 將系統(tǒng)升級到新的發(fā)行版 |
aptitude install pkgname | 安裝包 |
aptitude remove pkgname | 刪除包 |
aptitude purge pkgname | 刪除包及其配置文件 |
aptitude search string | 搜索包 |
aptitude show pkgname | 顯示包的詳細信息 |
aptitude clean | 刪除下載的包文件 |
aptitude autoclean | 僅刪除過期的包文件 |
當然,你也可以在文本界面模式中使用 aptitude,。
===========================================
Debian是最早的Linux發(fā)行版之一,。它能引起公眾注意就因為它讓安裝與卸載軟件非常簡單,。在其他發(fā)行版還陷在依賴性的泥潭里時,Debian用戶因為有更好的包管理系統(tǒng)而免受這些困擾,。
所有基于Debian的發(fā)行都使用這個包管理系統(tǒng),。Deb包可以把一個應(yīng)用的文件包在一起,大體就如同Windows上的安裝文件,。這里要介紹的就是如何使用安裝包處理軟件來達到我們的目的,。
用apt-get的第一步就是引入必需的軟件庫,Debian的軟件庫也就是所有Debian軟件包的集合,,它們存在互聯(lián)網(wǎng)上的一些公共站點上,。把它們的地址加入,apt-get就能搜索到我們想要的軟件,。/etc/apt/sources.list是存放這些地址列表的配置文件,,其格式如下:
deb [web或ftp地址] [發(fā)行版名字][main/contrib/non-free]
比如Ubuntu是一個基于Debian的發(fā)行,它的Sources.list可以是這樣的:
deb http://in.archive./ubuntu breezy main restrcted
你可以自己加上自己的地址,。apt-get.org 上面有一些不錯的地址列表,。
設(shè)好地址之后,就要把本機上的軟件庫跟網(wǎng)上的庫同步(只是軟件描述信息,,不包含軟件本身),。這樣,本機上就有了一個可用的軟件的清單,,命令如下:
# apt-get update
運行成功之后,,你就可以搜到在你的發(fā)行版中有哪些軟件了,命令是apt-cache,,運行這個命令是在本機是檢索,,而不連到網(wǎng)上,。如:
# apt-cache search baseutils
這個命令可以列出baseutils這個軟件包的情況,有還是沒有,,還有版本等,。
看到庫里有這個軟件包后,就可以安裝它:
# apt-get install baseutils
這時我們就可以看到apt-get的威力了,。如果baseutils依賴于某個另外的軟件,,或者一個運行庫xyz.0.01.so,apt-get會自動下載這個包(或含有這個庫的軟件包),。這叫做自動依賴性處理,。通常,如果你只用Debian軟件庫內(nèi)的軟件,,是不會發(fā)生找不到包或包版本不對的情況的,,除非用的是正在開發(fā)的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
最后是最強力的--把整個發(fā)行版都升到新版本:
# apt-get dist-upgrade
升級時注意那些影響系統(tǒng)起動的東西,,比如升級了內(nèi)核,,升級了grub或lilo等,這之后你應(yīng)當重新運行g(shù)rub或是lilo,,讓它們指向正確的位置,,否則升級之后會工作不正常的。
用apt-get安裝軟件時,,它會從網(wǎng)上(在sources.list里指的那個站點)下載所用的軟件包,,這個包將存在本機上,目錄是:/var/cache/apt/archives/,。時間長了,,這里會變得非常巨大,占用大量的硬盤空間,。要想清理這個目錄,,可以運行:
# apt-get clean
還有一個自動清理功能,它只清除那些沒用的或者是不完整的軟件包:
# apt-get autoclean
這樣在重裝某軟件時就依然能使用已經(jīng)下載好的,,而不是再到網(wǎng)上去下載,。
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*
這會列出所有g(shù)cc開頭的軟件包:
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 表示已經(jīng)安裝,,第3個字段是問題(如果有)(這3個字的含義可以看上面那3行,,desired, status, err),后面是名字,,版本和描述,。un就表示,Unknown, not-installed,。
如果想看某包是否已經(jīng)安裝:
# dpkg -s gedit
如果想看某軟件都有哪些文件,,都裝到了什么地方:
# dpkg -L gedit
如果只想看其中的某些文件,就加上Grep:
# dpkg -L gedit grep png
當然還有aptitude和Aptitude,,前者是終端上運行的帶菜單的工具,,后者是X窗口上運行的圖形化的程序。
還有,,列出某包的詳情:apt-cache show gedit
一些強制的命令:dpkg --force-help