軟體包安裝 -
apt-get install 軟體包名稱 - 安裝一個新軟體包 (參見下面的 Aptitude)。 -
aptitude - Ncurses (譯注:一種 API,在指令行模式下做出類似GUI的界面)制作的已安裝和可安裝的軟體包檢視器。 Aptitude 也可以像 apt-get 一樣在指令行下使用,不過它隻包含 apt-get 一部分的指令,例如常用的 install 和 remove 之類。不過因為 Aptitude 能比 apt-get 顯示更多資訊,是以在安裝和解除安裝軟體的時候要更好用一些。 auto-apt 指令 auto-apt run 指令 - 這條指令可以自動安裝包含缺失檔案的軟體包。如果這裡的“指令”在運作的時候通路了一個系統中沒有的檔案,那麼 auto-apt 會用 apt-get 來安裝包含缺失檔案的的軟體包。這項功能需要有 APT 以及 sudo 來工作。比如說你在編譯一個軟體,但是彈出一個錯誤說你缺少某個檔案,那麼 auto-apt 就會詢問你是否要安裝包含這個缺少的檔案的軟體包。同樣它也會暫停相應的編譯程序,并且在安裝完畢之後恢複它。例如可以這樣用: # auto-apt run ./configure 這樣如果缺少檔案,auto-apt 就會自動使用 apt-get 來安裝它。如果 X 伺服器正在運作,也會有相應的圖形界面。 auto-apt 有一個資料庫,需要必要的更新以适應不斷的變化。更新的指令為 auto-apt updatedb 以及 auto-apt update-local 。 軟體包維護 -
apt-get update - 在你更改了/etc/apt/sources.list 或 /etc/apt/preferences 後,需要運作這個指令以令改動生效。同時也要定期運作該指令,以確定你的源清單是最新的。該指令等價于新立得軟體包管理器中的“重新整理”,或者是 Windows和OS X 下的 Adept 軟體包管理器的 “check for updates”。 -
apt-get upgrade - 更新所有已安裝的軟體包。類似一條指令完成了新立得軟體包管理器中的“标記所有軟體包以便更新”并且“應用”。 -
apt-get dist-upgrade - 更新整個系統到最新的發行版。等價于在新立得軟體包管理器中“标記所有更新”,并在首選項裡選擇“智能更新” — 這是告訴APT更新到最新包,甚至會删除其他包(注:不建議使用這種方式更新到新的發行版)。 -
apt-get -f install — 等同于新立得軟體包管理器中的“編輯->修正(依賴關系)損毀的軟體包”再點選“應用。如果提示“unmet dependencies”的時候,可執行這行指令。 -
apt-get autoclean - 如果你的硬碟空間不大的話,可以定期運作這個程式,将已經删除了的軟體包的.deb安裝檔案從硬碟中删除掉。如果你仍然需要硬碟空間的話,可以試試 apt-get clean ,這會把你已安裝的軟體包的安裝包也删除掉,當然多數情況下這些包沒什麼用了,是以這是個為硬碟騰地方的好辦法。 -
apt-get clean 類似上面的指令,但它删除包緩存中的所有包。這是個很好的做法,因為多數情況下這些包沒有用了。但如果你是撥号上網的話,就得重新考慮了。 - 包緩存的路徑為/var/cache/apt/archives,是以,
du -sh /var/cache/apt/archives 将告訴你包緩存所占用的硬碟空間。 -
dpkg-reconfigure foo - 重新配置“foo”包。這條指令很有用。當一次配置很多包的時候, 要回答很多問題,但有的問題事先并不知道。例如, dpkg-reconfigure fontconfig-config ,在Ubuntu系統中顯示字型配置向導。每次我安裝完一個 Ubuntu 系統,我都會運作這行指令,因為我希望位圖字型在我的所有應用程式上都有效。 -
echo “foo hold” | dpkg –set-selections - 設定包“foo”為hold,不更新這個包,保持目前的版本,目前的狀态,目前的一切。類似新立得軟體包管理器中的“軟體包->鎖定版本”。 - 注:
apt-get dist-upgrade 會涵蓋上面的設定,但會事先提示。 另外,你必須使用 sudo。輸入指令 echo “foo hold” | sudo dpkg –set-selections 而不是 sudo echo “foo hold” | dpkg –set-selections -
echo “foo install — 删除“hold”“locked package”狀态設定。指令行為 echo “foo install” | sudo dpkg –set-selections 軟體包删除 -
apt-get remove 軟體包名稱 - 删除已安裝的軟體包(保留配置檔案) -
apt-get –purge remove 軟體包名稱 - 删除已安裝包(不保留配置檔案) - 特别技巧:如果你想在删除‘foo’包同時安裝‘bar’:
apt-get –purge remove foo bar+ 。 -
apt-get autoremove - 删除為了滿足其他軟體包的依賴而安裝的,但現在不再需要的軟體包。 軟體包搜尋 -
apt-cache search foo - 搜尋和”foo”比對的包。 -
apt-cache show foo - 顯示”foo”包的相關資訊,例如描述、版本、大小、依賴以及沖突。 -
dpkg –print-avail 軟體包名稱 - 與上面類似。 -
dpkg -l *foo* - 查找包含有”foo”字樣的包。與 apt-cache show foo 類似,但是還會顯示每個包是安裝了還是沒安裝。 -
dpkg -l package-name-pattern - 列出名為package-name-pattern的軟體包。除非你知道軟體包的正确全稱,否則可以使用“*package-name-pattern*”. -
dpkg -L foo - 顯示名為“foo”的包都安裝了哪些檔案以及它們的路徑,很有用的指令。 -
dlocate foo - 在已安裝的包中搜尋“foo”的檔案。對于回答“這個檔案來源于哪個包”這個問題,是非常實用的。dlocate是一個軟體包,必須安裝它才能使用本指令。 -
dpkg -S foo - 和上面的指令一樣,但相比更慢一些。他隻能在Debian或Ubuntu系統下運作。另外,不需要安裝dlocate包。 -
apt-file search foo - 類似dlocate和dpkg -S,但搜尋所有有效軟體包包,不單單隻是你系統上的已安裝的軟體包。– 它所回答的問題是“哪些軟體包提供這些檔案”。你必須安裝有apt-file軟體包,并且確定apt-file資料庫是最新的。 -
dpkg -c foo.deb - “foo.deb”包含有哪些檔案?注:foo.deb是含路徑的檔案名。– 這個是針對你自己下載下傳的.deb包。 -
apt-cache dumpavail - 顯示所有可用軟體包,以及它們各自的詳細資訊(會産生很多輸出)。 -
apt-cache show 軟體包名稱 - 顯示軟體包記錄,類似 dpkg –print-avail 軟體包名稱 。 -
apt-cache pkgnames - 快速列出已安裝的軟體包名稱。 -
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-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’”。 為apt-get設定http代理 可以通過三種方法為apt-get設定http代理 方法一 這是一種臨時的手段,如果您僅僅是暫時需要通過http代理使用apt-get,您可以使用這種方式。 在使用apt-get之前,在終端中輸入以下指令(根據您的實際情況替換yourproxyaddress和proxyport)。 export http_proxy=http://yourproxyaddress:proxyport 方法二 這種方法要用到/etc/apt/檔案夾下的apt.conf檔案。如果您希望apt-get(而不是其他應用程式)一直使用http代理,您可以使用這種方式。 注意: 某些情況下,系統安裝過程中沒有建立apt配置檔案。下面的操作将視情況修改現有的配置檔案或者建立配置檔案。 gksudo gedit /etc/apt/apt.conf 在您的apt.conf檔案中加入下面這行(根據你的實際情況替換yourproxyaddress和proxyport)。 Acquire::http::Proxy "http://yourproxyaddress:proxyport"; 儲存apt.conf檔案。 方法三 這種方法會在您的主目錄下的.bashrc檔案中添加兩行。如果您希望apt-get和其他應用程式如wget等都使用http代理,您可以使用這種方式。 gedit ~/.bashrc 在您的.bashrc檔案末尾添加如下内容(根據你的實際情況替換yourproxyaddress和proxyport)。 http_proxy=http://yourproxyaddress:proxyport
export http_proxy 儲存檔案。關閉目前終端,然後打開另一個終端。 使用apt-get update或者任何您想用的網絡工具測試代理。我使用firestarter檢視活動的網絡連接配接。 如果您為了糾正錯誤而再次修改了配置檔案,記得關閉終端并重新打開,否自新的設定不會生效。 代理伺服器的登入 如果代理伺服器需要登入,那麼可以在指定代理伺服器位址的時候,用如下格式(根據情況把username,password, yourproxyaddress和proxyport替換為相應内容): http_proxy=http://username:[email protected]:proxyport |