dpkg的介紹及命令使用

首先要學習debian的中層包管理dpkg ,這是一個基礎.


簡介


dpkg 是Debian的中級軟件包管理器,類似RPM.


dpkg 是Debian軟件包管理系統的中流砥柱,負責安全卸載軟件包,配置,以及維護已安裝的軟件包.也是Debian系統中衆多軟件包管理工具的後端.有關dpkg 的更多介紹參閱:http://www.dpkg .org


系統中所有packages的信息都在/var/lib/dpkg /目錄下,其中子目錄”/var/lib/dpkg /info”用於保存各個軟件包的配置文件列表.


.conffiles 記錄了軟件包的配置文件列表


.list 保存軟件包中的文件列表,用戶可以從.list的信息中找到軟件包中文件的具體安裝位置.


.md5sums 記錄了軟件包的md5信息,這個信息是用來進行包驗證的.


.prerm 腳本在Debian報解包之前運行,主要作用是停止作用於即將升級的軟件包的服務,直到軟件包安裝或升級完成.


.postinst腳本是完成Debian包解開之後的配置工作,通常用於執行所安裝軟件包相關命令和服務重新啓動.


/var/lib/dpkg /available文件的內容是軟件包的描述信息,該軟件包括當前系統所使用的Debian安裝源中的所有軟件包,其中包括當前系統中已安裝的和未安裝的軟件包.





dpkg


查詢以安裝的信息


查詢當前系統所有已安裝的deb包


dpkg –l 命令用於查詢當前系統所有以安裝的deb包的信息.,通過less和grep可以執行更復雜的查詢工作.


例如查找跟vim有關的軟件包,dpkg –l |grep –ivim


(如發現iU 表示軟件包未安裝成功,ii表示安裝成功)





查看已安裝軟件包的詳細情況


dpkg –s 命令查看軟件包的詳細情況,包括版本,依賴之類的





查詢系統中所安裝軟件包所安裝的文件


dpkg –L 命令用於查詢系統中所安裝軟件包的安裝的文件安裝到系統的位置和安裝了那些.


小提示: 如何可以看軟件包裝到哪個地方?


用apt-get install *


如何可以看軟件包裝到哪個地方?


dpkg -L package-name|more





查詢系統中某個文件屬於那個軟件包


dpkg –S 命令用於瞭解當前的軟件屬於那個軟件包





查詢未安裝的信息


查詢未安裝軟件包詳細信息


dpkg –I 命令用於查看未安裝軟件包的詳細信息,以便了解該軟件包是否需要安裝.





查詢deb包文件中所包含的文件


dpkg –c  顯示未安裝deb軟件包所包含的文件列表,以及安裝位置





安裝軟件包


安裝deb軟件包


dpkg –i 手工安裝deb包到系統中,不過有時會存在Dpends關係,建議使用apt-get 來安裝.


如果通過dpkg –i安裝軟件後由於Dpends關係沒有安裝成功,可通過apt-get –f install解決





解決dpkg –i 安裝deb包出現Dpends問題


apt-get –f install 解決Dpends問題.


例如:dpkg –i lftp_3.1.3-1_i386.deb


Selecting previously deselected package lftp.


(Reading database … 20654 files and directories currently installed.)


unpacking lftp (from lftp_3.1.3-1_i386.deb)…


dpkg :dependency problems prevent configuration of lftp:


lftp depends on libexpat1 (<=1.95.8);however


dpkg : error processing lftp (--install)


dependency problems –leaving unconfigured


Errors were encountered while processing:


lftp


//lftp軟件包安裝失敗





dpkg –l |grep lftp


iU    lftp     3.1.3-1     Sophisticated


command-line FTP/HTTP client p


//”dpkg -l” 查詢信息表示lftp軟件包未安裝成功





(iU表示未安裝成功,ii表示安裝成功)





使用apt-get –f install解決





卸載deb軟件包


卸載deb包


dpkg –r用於卸載指定的軟件包,該命令只卸載軟件包安裝到系統中的文件,而不去刪除軟件包的配置文件,因此不是完全意義上的卸載.但是軟件包保存在系統中,可以提供給以後在安裝軟件包時使用.


例如:dpkg –r prozilla 移除後再用dpkg –l |grep prozilla 查看


會看到rc   proc  1.3.6-3woody3   multi-thraded download accelerator


表示軟件包已經被卸載,但配置文件仍在“rc”帶表配置文件仍在.





卸載軟件包並清除配置文件


dpkg –P 用於卸載軟件包同時也刪除配置文件,dpkg –P 不能解決Dpends問題,建議卸載時使用apt-get操作





重新配置軟件包


對於Debian系統中的衆多軟件包(尤其是系統和服務器軟件包)來說,在第一次安裝該軟件包時候會顯示對話框窗口,提示用戶輸入必要的配置信息.當用戶需要再次對軟件包配置的時候,可以使用dpkg -reconfigure來對指定的軟件包進行配置.


比如dpkg -reconfigure locales


用於配置語言





alien包轉換工具


如果我們有很喜歡的RPM包,而又沒有deb版本.


怎麼辦~?


可以同過alien來轉換或者直接安裝,這個小傢伙可是個很方便的東西!


基本命令如下:


首先通過apt-get install alien來安裝.


然後


alien -i name-of-the-pakage.rpm  /*用來直接安裝rpm包


alien -d , --to-deb  /*Make debian packages,This is the default


例:alien –d package.rpm


alien –r , --to-rpm  /*Make rpm packages


例:alien –r package.deb


alien –p , --to-pkg  /*Make Solaris pkg packages


alien –-to-slp  /*Make slp packages


alien –t , --to-tgz /*Make tgz packages


alien –T 檢測

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章