天天看點

apt-get包管理詳解

apt-get使用source.list檔案進行軟體包管理。如果您想了解關于如何編輯和更新source.list中的條目的資訊,請參閱SourcesList

“起初GNU/Linux系統中隻有.tar.gz。使用者必須自己編譯他們想使用的每一個程式。在Debian出現之後,人們認為有必要在系統中添 加一種機制用來管理安裝在計算機上的軟體包。人們将這套系統稱為dpkg。至此着名的‘package’首次在GNU/Linux上出現。不久之後紅帽子 也開始着手建立自己的包管理系統‘rpm’。

“GNU/Linux的創造者們很快又陷入了新的窘境。他們希望通過一種快捷、實用而且高效的方式來安裝軟體包。這些軟體包可以自動處理互相之間的 依賴關系,并且在更新過程中維護他們的配置檔案。Debian又一次充當了開路先鋒的角色。她首創了APT(Advanced Packaging Tool)。這一工具後來被Conectiva移植到紅帽子系統中用于對rpm包的管理。在其他一些發行版中我們也能看到她的身影。”

  • -- 摘自 Debian APT HOWTO

"同時,apt是一個很完整和先進的軟體包管理程式,使用它可以讓你,又簡單,又準确的找到你要的的軟體包, 并且安裝或解除安裝都很簡潔。 它還可以讓你的所有軟體都更新到最新狀态,而且也可以用來對ubuntu進行更新。"

"apt是需要用指令來操作的軟體,不過現在也出現了很多有圖形的軟體,比如Synaptic, Kynaptic 和 Adept。"

指令

下面将要介紹的所有指令都需要sudo!使用時請将“packagename”和“string”替換成您想要安裝或者查找的程式。

  • apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後運作該指令。此外您需要定期運作這一指令以確定您的軟體包清單是最新的。
  • apt-get install packagename——安裝一個新軟體包(參見下文的aptitude)
  • apt-get remove packagename——解除安裝一個已安裝的軟體包(保留配置檔案)
  • apt-get --purge remove packagename——解除安裝一個已安裝的軟體包(删除配置檔案)
  • dpkg --force-all --purge packagename 有些軟體很難解除安裝,而且還阻止了别的軟體的應用,就可以用這個,不過有點冒險。
  • apt-get autoclean apt會把已裝或已卸的軟體都備份在硬碟上,是以如果需要空間的話,可以讓這個指令來删除你已經删掉的軟體
  • apt-get clean 這個指令會把安裝的軟體的備份也删除,不過這樣不會影響軟體的使用的。
  • apt-get upgrade——更新所有已安裝的軟體包
  • apt-get dist-upgrade——将系統更新到新版本
  • apt-cache search string——在軟體包清單中搜尋字元串
  • dpkg -l package-name-pattern——列出所有與模式相比對的軟體包。如果您不知道軟體包的全名,您可以使用“*package-name-pattern*”。
  • aptitude——詳細檢視已安裝或可用的軟體包。與apt-get類似,aptitude可以通過指令行方式調用,但僅限于某些指令——最常見的有安裝和解除安裝指令。由于aptitude比apt-get了解更多資訊,可以說它更适合用來進行安裝和解除安裝。
  • apt-cache showpkg pkgs——顯示軟體包資訊。
  • apt-cache dumpavail——列印可用軟體包清單。
  • apt-cache show pkgs——顯示軟體包記錄,類似于dpkg –print-avail。
  • apt-cache pkgnames——列印軟體包清單中所有軟體包的名稱。
  • dpkg -S file——這個檔案屬于哪個已安裝軟體包。
  • dpkg -L package——列出軟體包中的所有檔案。
  • apt-file search filename——查找包含特定檔案的軟體包(不一定是已安裝的),這些檔案的檔案名中含有指定的字元串。apt-file是一個獨立的軟體包。您必須 先使用apt-get install來安裝它,然後運作apt-file update。如果apt-file search filename輸出的内容太多,您可以嘗試使用apt-file search filename | grep -w filename(隻顯示指定字元串作為完整的單詞出現在其中的那些檔案名)或者類似方法,例如:apt-file search filename | grep /bin/(隻顯示位于諸如/bin或/usr/bin這些檔案夾中的檔案,如果您要查找的是某個特定的執行檔案的話,這樣做是有幫助的)。

* apt-get autoclean——定期運作這個指令來清除那些已經解除安裝的軟體包的.deb檔案。通過這種方式,您可以釋放大量的磁盤空間。如果您的需求十分迫切,可 以使用apt-get clean以釋放更多空間。這個指令會将已安裝軟體包裹的.deb檔案一并删除。大多數情況下您不會再用到這些.debs檔案,是以如果您為磁盤空間不足 而感到焦頭爛額,這個辦法也許值得一試。

http://hi.baidu.com/igi_sysu/blog/item/0342c3082240a734e924888f.html

繼續閱讀