歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Debian軟件包管理工具apt-get和dpkg操作備忘

Debian軟件包管理工具apt-get和dpkg操作備忘

日期:2017/2/28 14:33:43   编辑:Linux教程

【搜索軟件包】
apt-cache search package

【查看二進制包基本信息】
apt-cache showpkg package

【查看二進制包詳細信息】
apt-cache show package 用來出這個軟件包的詳細信息及其用途的完整描述如果你的系統中已安裝 了某個軟件包而系統又搜索到它的新版本,系統會將它們的詳細信息一並列出。

【查看源碼包信息】
apt-cache showsrc package

【查看軟件包的依賴關系】
apt-cache depends package

【查看可以更新的軟件包】
apt-show-versions

【安裝和刪除軟件包】
假如用戶不小心損壞了已安裝的軟件包而想修復它,或者僅僅想重新安裝軟件包中某 些文件的最新版本,這是可以做到的,你可以用如下的--reinstall選項:
$ apt-get --reinstall install gdm

如果用戶不再使用某些軟件包,你可以用APT將其從系統中刪除。要刪除軟件包只需輸入:apt-get remove package。如下所示:
$ apt-get remove gnome-panel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
gnome-applets gnome-panel gnome-panel-data gnome-session
0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 14.6MB will be freed.
Do you want to continue? [Y/n]
由上例可知,APT會關注那些與被刪除的軟件包有依賴關系的軟件包。使用APT刪除一個軟件包將會連帶刪除那些與該軟件包有依賴關系的軟件包。
上例中運行apt-get會刪除指定軟件包以及與之有依賴關系的軟件包,但它們的配置文件,如果有的話,會完好無損地保留在系統裡。如果想徹底刪除這些包及其配置文件,運行:
$ apt-get --purge remove gnome-panel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 14.6MB will be freed.
Do you want to continue? [Y/n]

【清理緩存文件】
用戶需要安裝某個軟件包時,APT從/etc/apt/sources.list中所列的主機下載所需的文件,將它們保存到本機軟件庫/var/cache/apt/archives/中, 然後開始安裝
本地軟件庫會不斷膨脹占用大量硬盤空間,幸運的是,APT提供了工具來管理本地 軟件庫:apt-get的clean方法和autoclean方法。
apt-get clean將刪除/var/cache/apt/archives目錄 和/var/cache/apt/archives/partial目錄下鎖文件以外的所有文件。 這樣當用戶需要再次安裝某個軟件包時,APT將重新下載deb。
apt-get autoclean僅刪除那些不需要再次下載的文件。

【下載二進制包】
apt-get source packagename

【安裝二進制包】
下載到本地的二進制包(.deb包)可以通過命令安裝:
dpkg -i ***.deb

【源碼包下載、解壓、編譯】
apt-get source packagename
獲取源碼包時,源碼包首先會下載到當前目錄,通常會下載三個文件:一個.orig.tar.gz、一個.dsc和一個.diff.gz文件。
然後會調用dpkg-source命令,根據dsc文件中的信息,將源碼包解壓到同名目錄中。如果沒有沒有安裝dpkg-dev,則無法使用dpkg-source命令,下載過程則不會自動解壓源碼包。
如果下載後不需要自動解壓,可以指定-d選項,即:apt-get source packagename -d

下載源碼包後,也可以手動解開源碼包,運行一下命令: dpkg-source -x foo_version-revision.dsc,dpkg-source通過.dsc文件中的信息,將源碼包解包到 packagename-version目錄,
下載下來的源碼包中有一個debian/目錄,裡面是創建.deb包所需的文件。所以,如果需要將自己編寫的代碼按照debian標准打包,需要准備好源碼工程,並在目錄中創建debian目錄,其中
按debian標准准備所需文件。

想要下載的源碼包自動編譯成二進制包,可以指定 -b 選項,即:apt-get source packagename -b

下載的源碼包解壓後,也可以使用 dpkg-buildpackage 手動編譯成二進制包,在解壓後的源碼目錄中(該目錄中包含debian目錄)執行命令:
$ dpkg-buildpackage -rfakeroot -uc -b
-b選項表示創建二進制包,dpkg-buildpackage 也可以創建源碼包(-S選項),不指定-b和-S時,源碼包和二進制包都會被創建。

【安裝編譯依賴包】
sudo apt-get build-dep adduser -y

通常,編譯源碼包時要用到某些頭文件和共享庫,所有的源碼包的控制文件中都有一個域“Build-Depends:”,域中指出了編譯該源碼包需要哪些附加包,通過該命令安裝編譯的依賴關系。

推薦閱讀:

Debian 7.0 Wheezy 測試體驗 http://www.linuxidc.com/Linux/2013-05/84646.htm

Debian 7.0 Wheezy 發布! http://www.linuxidc.com/Linux/2013-05/83883.htm

U盤安裝Debian 7.0 Wheezy http://www.linuxidc.com/Linux/2013-05/84647.htm

Copyright © Linux教程網 All Rights Reserved