歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> ubuntu關於aptitude和apt-get

ubuntu關於aptitude和apt-get

日期:2017/2/27 15:48:40   编辑:Linux教程
起初GNU/Linux系統中只有.tar.gz。用戶 必須自己編譯他們想使用的每一個程序。在Debian出現之後,人們認為有必要在系統 中添加一種機 制用來管理 安裝在計算機上的軟件包。人們將這套系統稱為dpkg。至此著名的‘package’首次在GNU/Linux上出現。不久之後紅帽子也開始著 手建立自己的包管理系統 ‘rpm’。

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

"同時,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文件,因此如果您為磁盤空間不足 而感到焦頭爛額,這個辦法也許值得一試。


典型應用

我是個賽車發燒友,想裝個賽車類游戲玩玩。有哪些賽車類游戲可供選擇呢?

apt-cache search racing game

出來了一大堆結果。看看有沒有更多關於torcs這個游戲的信息。

apt-cache show torcs

看上去不錯。這個游戲是不是已經安裝了?最新版本是多少?它屬於哪一類軟件,universe還是main?

apt-cache policy torcs

好吧,現在我要來安裝它!

apt-get install torcs

在 控制台下我應該調用什麼命令來運行這個游戲呢?在這個例子中,直接用torcs就行了,但並不是每次都這麼簡單。我們可一通過查找哪些文件被安 裝到了 “/usr/bin”文件夾下來確定二進制文件名。對於游戲軟件,這些二進制文件將被安裝到“/usr/games”下面。對於系統管理工具相應的文件夾 是“/usr/sbin”。

dpkg -L torcs|grep /usr/games/

這個命令的前面一部分顯示軟件包“torcs”安裝的所有文件(您自己試試看)。通過命令的第二部分,我們告訴系統只顯示前一部分的輸出結果中含有“/usr/games”的那些行。

這個游戲很酷哦。說不定還有其他賽道可玩的?

apt-cache search torcs

我的磁盤空間不夠用了。我得把apt的緩存空間清空才行。

apt-get clean

哦不,老媽叫我把機器上的所有游戲都刪掉。但是我想把配置文件保留下來,這樣待會我只要重裝一下就可以繼續玩了。

apt-get remove torcs

如果我想連配置文件一塊刪除:

apt-get remove --purge torcs

額外的軟件包

deborphan和debfoster工具可以找出已經安裝在系統上的不會被用到的軟件包。

提高命令行方式下的工作效率

您可以通過定義別名(alias)來提高這些命令的輸入速度。例如,您可以在您的*~/.bashrc*文件中添加下列內容

alias acs='apt-cache search'
alias agu='sudo apt-get update'
alias agg='sudo apt-get upgrade'
alias agd='sudo apt-get dist-upgrade'
alias agi='sudo apt-get install'
alias agr='sudo apt-get remove'

或者使用前面介紹的aptitude命令,如“alias agi='sudo aptitude install'”。

----------------------------------------------------------------------------------------------

aptitude 與 apt-get 一樣,是 Debian 及其衍生系統中功能極其強大的包管理工具。與 apt-get 不同的是,aptitude 在處理依賴問題上更佳一些。舉例來說,aptitude 在刪除一個包時,會同時刪除本身所依賴的包。這樣,系統中不會殘留無用的包,整個系統更為干淨。以下是筆者總結的一些常用 aptitude 命令,僅供參考。
命令 作用
aptitude update 更新可用的包列表
aptitude upgrade 升級可用的包
aptitude dist-upgrade 將系統升級到新的發行版
aptitude install pkgname 安裝包
aptitude remove pkgname 刪除包
aptitude purge pkgname 刪除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 顯示包的詳細信息
aptitude clean 刪除下載的包文件
aptitude autoclean 僅刪除過期的包文件

當然,你也可以在文本界面模式中使用 aptitude。

aptitude 與 apt-get 一樣,是 Debian 及其衍生系統中功能極其強大的包管理工具。與 apt-get 不同的是,aptitude 在處理依賴問題上更佳一些。舉例來說,aptitude 在刪除一個包時,會同時刪除本身所依賴的包。這樣,系統中不會殘留無用的包,整個系統更為干淨。以下是筆者總結的一些常用 aptitude 命令,僅供參考。
命令 作用
aptitude update 更新可用的包列表
aptitude upgrade 升級可用的包
aptitude dist-upgrade 將系統升級到新的發行版
aptitude install pkgname 安裝包
aptitude remove pkgname 刪除包
aptitude purge pkgname 刪除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 顯示包的詳細信息
aptitude clean 刪除下載的包文件
aptitude autoclean 僅刪除過期的包文件

當然,你也可以在文本界面模式中使用 aptitude。
Copyright © Linux教程網 All Rights Reserved