簡略翻譯,原文在 All about Linux的Blog上。其實,這裡有個更全的早就翻譯過的APT HOWTO,強烈推薦。 Debian是最早的Linux發行版之一。它能引起公眾注意就因為它讓安裝與卸載軟體非常簡單。在其他發行版還陷在依賴性的泥潭裡時,Debian用戶因為有更好的包管理系統而免受這些困擾。 所有基於Debian的發行都使用這個包管理系統。Deb包可以把一個應用的文件包在一起,大體就如同Windows上的安裝文件。這裡要介紹的就是如何使用安裝包處理軟體來達到我們的目的。 用apt -get的第一步就是引入必需的軟體庫,Debian的軟體庫也就是所有Debian軟體包的集合,它們存在互聯網上的一些公共站點上。把它們的地址加 入,apt-get就能搜索到我們想要的軟體。/etc/apt/sources.list是存放這些地址列表的配置文件,其格式如下: deb [web或ftp地址] [發行版名字][main/contrib/non-free] 比如Ubuntu是一個基於Debian的發行,它的Sources.list可以是這樣的: deb http://in.archive.ubuntu.com/ubuntu breezy main restrcted 你可以自己加上自己的地址。apt-get.org 上面有一些不錯的地址列表。 設好地址之後,就要把本機上的軟體庫跟網上的庫同步(只是軟體描述信息,不包含軟體本身)。這樣,本機上就有了一個可用的軟體的清單,命令如下: # apt-get update 運行成功之後,你就可以搜到在你的發行版中有哪些軟體了,命令是apt-cache,運行這個命令是在本機是檢索,而不連到網上。如: # 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 一些強制的命令:dpkg --force-help
[火星人
]
Debian新手apt-get/dpkg簡明入門 已經有477 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-130571.html