問題描述
我想查看 debian 包的內容,特別是如果該包正確清理了它安裝的任何內容。
我還想看看它是如何安裝軟件的,它創建了什麽目錄,符號鏈接等。
最佳方法
采用
dpkg -x somefile.deb somefolder
將 somefile.deb
包含的文件解壓到文件夾 somefolder
采用
dpkg -e somefile.deb somefolder
將 somefile.deb
的控製數據(包腳本、元數據…)提取到文件夾 somefolder
中。
某些檔案管理器讓您可以像瀏覽任何其他檔案文件一樣瀏覽 Debian 軟件包。
次佳方法
您可以在終端中使用 dpkg
來查看哪些文件在已安裝的包中。
dpkg -L <package>
您還可以使用它來找出特定文件來自哪個包。
dpkg -S <file>
列出 .deb-file 的內容。
dpkg -c <file.deb>
為了評估采取了哪些 pre/post-install 操作,需要提取並手動查看這些文件。
dpkg -e <file.deb> [folder]
有關更多選項,請參閱 dpkg
的 man-page。
第三種方法
有 dpkg -c package.deb
,它列出了包安裝的文件,還有 dpkg --info package.deb
,它顯示了一般信息,包括存在哪些配置腳本(這些腳本在安裝過程中的不同點運行)。
此外,.deb 包很難不清理已安裝的文件,因為這些文件是自動跟蹤的,除了從腳本創建的文件。 Debian 有 piuparts 服務,它會自動測試 Debian 檔案庫中的軟件包。
第四種方法
是的。 Debian 軟件包實際上隻是一個存檔文件夾。因此,您應該能夠使用默認的存檔管理器打開它(右鍵單擊 -> 使用存檔管理器打開)。或者,您還可以在任何地方提取。我希望你能從中學到很多東西。
第五種方法
是的,它隻是一個普通的 AR 存檔,就像 tar.gz 文件中的 tar 部分(在這種情況下是 Tape ARchive)
此存檔的內容是三個文件:
-
debian-binary:deb 格式版本號。這是當前 Debian 版本的 “2.0”。
-
control.tar.gz:所有包meta-information。它告訴 dpkg 在安裝軟件包時要配置什麽。 data.tar、data.tar.gz、data.tar.bz2、data.tar.lzma 或 data.tar.xz:實際的可安裝文件。
-
debian-binary 文件必須是存檔中的第一個條目,否則它不會被識別為 Debian 軟件包。