http://blog.csdn.net/wyabc1986/article/details/6989532
[舉例]
目前常用的
==========
*更新本機中的數據庫緩存:
sudo apt-get update
*查找包含部分關鍵字的軟件包:
sudo apt-cache search <你要查找的name>
*安裝指定的軟件:
sudo apt-get install <你要安裝的軟件包>
*下載軟件包源代碼(如果有的話):
apt-get source <你要下載的源代碼包名>
詳細的資料
=========
http://www.debian.org/doc/manuals/apt-howto/ch-sourcehandling.en.html
apt-get:
安裝和卸載------
*更新本機中的數據庫緩存:
sudo apt-get update
最好定期更新一下使你自己機器上面的數據和服務器(/etc/apt/sources.list列出)上面的信息保持一致,在安裝軟件之前可以運行一下這個命令保證成功性。
*安裝軟件:
#apt-get install packagename
這裏將安裝你需要的在sources.lists中的最新的軟件包,如果有其他依賴則自動安裝相應的依賴軟件包。packagename可以是多個軟件包。
一些有用的選項:
-h This help text.
-d Download only - do NOT install or unpack archives
-f Attempt to continue if the integrity check fails
-s No-act. Perform ordering simulation
-y Assume Yes to all queries and do not prompt
-u Show a list of upgraded packages as well
*卸載軟件(用install):
#apt-get install packagename-
在需要卸載的包後面加上一個'-'(我沒有實驗過),當然可以apt-get install p1 p2-這樣多個命令合併了,裝p1卸p2。
*卸載軟件2:
#apt-get remove packagename
這會卸載相應的軟件,同時也會卸載依賴的部分,沒辦法指定不卸載依賴的。但是軟件的配置文件還是會留在系統中。
*完全卸載軟件包括刪除配置:
#apt-get --purge remove packagename
這樣配置文件也會被刪除。
*安裝軟件2(用remove):
#apt-get remove packagename+
這個和用install來卸載軟件的意義類似,在包名稱後面添加一個+,表示安裝。
*修復或者只安裝最新版本:
#apt-get --reinstall install packagename
這裏,如果你的軟件包被破壞了,或者你想要安裝一個最新的軟件,運行這個。
升級軟件包------
*升級軟件包1:
#apt-get -u upgrade
這裏加上-u選項列出將要升級的軟件,可能會提示有些軟件不會升級,因爲可能會破壞依賴關係,更好的方法是利用apt-get dist-upgrade
你可以通過cd或者添加源地址來更新,如果你想從cd來升級,首先運行apt-cdrom把cd中的軟件添加到/etc/apt/sources源中,然後運行apt-get dist-upgrade來升級,但是因爲apt-get總是使用最新版本,如果cd中的不是最新的版本,那麼也不會用到cd。
*升級軟件包2:
#apt-get -u dist-upgrade
這樣安裝的軟件前面apt-get -u upgrade安不了的也會安裝了,但個別的仍然不能安裝,例如:升級會導致需要卸載一些包,卸載這些包會導致另外的軟件不能用,所以就不升級了。
*升級軟件包3:
#apt-get -u install packagename
假設前面升級的時候packagename無法升級,那麼這個命令會升級packagename如果需要卸載默寫模塊而卸載這些模塊導致一些軟件無法使用,那麼幹脆把這些軟件都卸載了,然後升級,這個命令會導致packagename最終升級了。
清理沒用的包文件------
用apt-get 安裝軟件包的時候,apt會從/etc/apt/sources.list裏面將相應的軟件包恢復出來,把它們存放在一個本地的文檔庫中(/var/cache/apt/archives/)然後纔開始安裝,隨着時間的增長,這將不斷地消耗硬盤的空間。
*清理所有的緩存文件:
#apt-get clean
這會清理所/var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/中沒有被鎖定的文件。當然你再次安裝軟件的時候,這個軟件又被恢復到本地文檔庫中了。
*僅僅清理舊的緩存文件:
#apt-get autoclean
這會清理舊版本的/var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/中的文件。舊版本是指已經有更新的版本的軟件了,再下載的話應下載最新的而不是這個舊版本的了。根據apt-show-versions -p可以知道哪些是舊的。
*安裝指定版本的軟件包:
# apt-get install package=version
查找信息--------
*查找一個含有packagename字符串的包:
#apt-cache search packagename
這樣將輸出所包含packagename字符串的包。
*顯示軟件包的詳細信息:
# apt-cache show stella
這包含了軟件包許多的信息,例如如果你已經安裝了這個軟件包,信息裏面也會顯示。
*顯示軟件包的大致信息:
apt-cache showpkg packagename
這會顯示大致的信息。
*查看那些包可以升級的信息:
$ apt-show-versions -u
這個apt-show-versions工具需要安裝一下的。
*查看當前特定軟件版本:
apt-show-versions -p packagename
*檢查packagename依賴的包:
#apt-cache depends packagename
工作相關--------
*安裝編譯源代碼需要的庫(包):
# apt-get build-dep packagename
所的源代碼包一個'Build-Depends'域,指明瞭從源代碼編譯這個包需要安裝的軟件。上面的命令可以下載這些包,其中'packagename'是包名。
*查看編譯一個包需要哪些其他的庫(包):
#apt-cache show packagename
如果你只是想要檢查編譯一個包需要哪些其他的包,那麼可以利用上面的命令,其中'packagename'是包名。
*下載包packagename的源代碼:
$ apt-get source packagename
這將在當前目錄下載個文件:*.orig.tar.gz,*.dsc,*.diff.gz。如果這個包是debian的,那麼最後一個文件沒有,並且第一個文件名裏面不包括"orig"字符串。
.dsc文件被dpkg-source使用,把源代碼包解壓到目錄 packagename-version.每一個下載的源代碼包裏面都有一個debian/目錄,這個目錄包含了用於創建.deb包的文件。
*下載的時候自動把源代碼包編譯:
$ apt-get -b source packagename
可能是編譯成.deb包,我沒有試過。
*根據下載的源代碼創建deb包:
$ dpkg-buildpackage -rfakeroot -uc -b
如果你決定在下載的時候不創建deb包,你可以以後通過在下載的包之後創建的目錄裏面運行這個命令來創建。
*直接利用包管理器安裝包:
# dpkg -i file.deb
需要直接使用包管理器,運行這個命令來安裝包。
-------dpkg查找
*已知軟件包中有一個文件,根據文件查找軟件包:
# dpkg -S stdio.h
輸入之後,輸出如下:
libc6-dev: /usr/include/stdio.h
libc6-dev: /usr/include/bits/stdio.h
perl: /usr/lib/perl/5.6.0/CORE/nostdio.h
這在知道包中某些文件的時候,來根據文件查找軟件包這種情況下非常用。
*查找安裝在你的機器上面的軟件包:
dpkg -l
*自動安裝缺失的軟件:
# auto-apt run command
這裏,command是你要運行的命令。例如 auto-apt run ./configure .當缺失依賴軟件的時候,它會詢問你安裝,方便了編譯。安裝之後會繼續運行。auto-apt需要保持一個最新的數據庫,利用這個命令進行更新:auto-apt update, auto-apt updatedb and auto-apt update-local。
--------apt-get查找
*利用apt-file根據文件名查找相應的軟件包:
$ apt-file search filename
如果你只知道程序名字filename,那麼你可以運行這個命令,它的工作方式和 dpkg -S差不多,就是根據某個軟件包裏可能包含的文件來查找這個軟件包的名字。另外,它也會顯示包含這個文件的沒有安裝的軟件包。當你編譯的時候,提示缺了什麼頭文件的時候,利用這個很方便地確定需要裝哪些軟件包(當然利用audo-apt更方便).
*列出一個軟件包中包含的文件:
$apt-file list packagename
這裏,apt-file是根據一個數據庫來讀取信息的,所以需要保持數據庫是最新的。
*更新apt-file的數據庫:
# apt-file update
默認情況下,apt-file的數據庫和auto-apt是一樣的。
[其他]
問題:
如何查看已經安裝的軟件?
如何確定一個軟件是否已經安裝?