首先要學(xué)習(xí)debian的中層包管理dpkg,這是一個基礎(chǔ). 簡介 dpkg是Debian的中級軟件包管理器,類似RPM. dpkg是Debian軟件包管理系統(tǒng)的中流砥柱,負(fù)責(zé)安全卸載軟件包,配置,以及維護已安裝的軟件包.也是Debian系統(tǒng)中眾多軟件包管理工具的后端.有關(guān)dpkg的更多介紹參閱:http://www. 系統(tǒng)中所有packages的信息都在/var/lib/dpkg/目錄下,其中子目錄”/var/lib/dpkg/info”用于保存各個軟件包的配置文件列表. .conffiles 記錄了軟件包的配置文件列表 .list 保存軟件包中的文件列表,用戶可以從.list的信息中找到軟件包中文件的具體安裝位置. .md5sums 記錄了軟件包的md5信息,這個信息是用來進行包驗證的. .prerm 腳本在Debian報解包之前運行,主要作用是停止作用于即將升級的軟件包的服務(wù),直到軟件包安裝或升級完成. .postinst腳本是完成Debian包解開之后的配置工作,通常用于執(zhí)行所安裝軟件包相關(guān)命令和服務(wù)重新啟動. /var/lib/dpkg/available文件的內(nèi)容是軟件包的描述信息,該軟件包括當(dāng)前系統(tǒng)所使用的Debian安裝源中的所有軟件包,其中包括當(dāng)前系統(tǒng)中已安裝的和未安裝的軟件包. dpkg 查詢以安裝的信息 查詢當(dāng)前系統(tǒng)所有已安裝的deb包 dpkg –l 命令用于查詢當(dāng)前系統(tǒng)所有以安裝的deb包的信息.,通過less和grep可以執(zhí)行更復(fù)雜的查詢工作. 例如查找跟vim有關(guān)的軟件包,dpkg –l |grep –ivim (如發(fā)現(xiàn)iU 表示軟件包未安裝成功,ii表示安裝成功) 查看已安裝軟件包的詳細情況 dpkg –s 命令查看軟件包的詳細情況,包括版本,依賴之類的 查詢系統(tǒng)中所安裝軟件包所安裝的文件 dpkg –L 命令用于查詢系統(tǒng)中所安裝軟件包的安裝的文件安裝到系統(tǒng)的位置和安裝了那些. 小提示: 如何可以看軟件包裝到哪個地方? 用apt-get install * 如何可以看軟件包裝到哪個地方? dpkg -L package-name|more 查詢系統(tǒng)中某個文件屬于那個軟件包 dpkg –S 命令用于了解當(dāng)前的軟件屬于那個軟件包 查詢未安裝的信息 查詢未安裝軟件包詳細信息 dpkg –I 命令用于查看未安裝軟件包的詳細信息,以便了解該軟件包是否需要安裝. 查詢deb包文件中所包含的文件 dpkg –c 顯示未安裝deb軟件包所包含的文件列表,以及安裝位置 安裝軟件包 安裝deb軟件包 dpkg –i 手工安裝deb包到系統(tǒng)中,不過有時會存在Dpends關(guān)系,建議使用apt-get 來安裝. 如果通過dpkg –i安裝軟件后由于Dpends關(guān)系沒有安裝成功,可通過apt-get –f install解決 解決dpkg –i 安裝deb包出現(xiàn)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用于卸載指定的軟件包,該命令只卸載軟件包安裝到系統(tǒng)中的文件,而不去刪除軟件包的配置文件,因此不是完全意義上的卸載.但是軟件包保存在系統(tǒng)中,可以提供給以后在安裝軟件包時使用. 例如:dpkg –r prozilla 移除后再用dpkg –l |grep prozilla 查看 會看到rc proc 1.3.6-3woody3 multi-thraded download accelerator 表示軟件包已經(jīng)被卸載,但配置文件仍在“rc”帶表配置文件仍在. 卸載軟件包并清除配置文件 dpkg –P 用于卸載軟件包同時也刪除配置文件,dpkg –P 不能解決Dpends問題,建議卸載時使用apt-get操作 重新配置軟件包 對于Debian系統(tǒng)中的眾多軟件包(尤其是系統(tǒng)和服務(wù)器軟件包)來說,在第一次安裝該軟件包時候會顯示對話框窗口,提示用戶輸入必要的配置信息.當(dāng)用戶需要再次對軟件包配置的時候,可以使用dpkg-reconfigure來對指定的軟件包進行配置. 比如dpkg-reconfigure locales 用于配置語言 alien包轉(zhuǎn)換工具 如果我們有很喜歡的RPM包,而又沒有deb版本. 怎么辦~? 可以同過alien來轉(zhuǎn)換或者直接安裝,這個小家伙可是個很方便的東西! 基本命令如下: 首先通過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 檢測 alien –-patch=patch 設(shè)置patch |
|