debian- 文件到包的映射

debian- 文件到包的映射

我最近在我的 Debian 機器上安裝了 java6。我去使用 javac 並發現它沒有安裝。最終我發現(在網路上搜尋後)javac是java6-sdk套件的一部分。這不是我第一次知道我想要的命令,但我不知道它所在的包。

我的問題是 - 有沒有辦法在命令列上找出哪個檔案屬於哪個套件?因此,如果我想查看 javac 屬於哪些套件,它將列出 java6-sdk、java5-sdk 等,因為它們都包含 javac。

答案1

apt-file是您正在尋找的命令。

答案2

您可以使用apt 檔案 搜尋檔案名稱為了那個原因。你可以去Debian 軟體包並蒐索線上版本。

答案3

我知道這並不完全是您想要的,但是:

dpkg -L packagename

將列出屬於某個的所有文件安裝包。 (但你想要這個用於卸載的軟體包)

我不知道它是如何做到這一點的,但是 Ubuntu(源自 Debian)會建議一個軟體包,如下所示:

$ chkrootkit
The program 'chkrootkit' is currently not installed.  You can install it by typing:
sudo apt-get install chkrootkit
bash: chkrootkit: command not found

我經常做一些顯而易見的事情,然後在谷歌中輸入文件名和“Debian”來查找軟體包。

答案4

您可能還想查看 dlocate 包。它有許多有用的選項來列出包和包內的文件。它最初被編寫為 dpkg -L、dpkg -S 等的更快版本,但多年來獲得了許多有用的功能(同時仍然保持速度:)

免責聲明:我是 dlocate 的作者和 Debian 維護者。

順便說一句,安裝測試版或不穩定版的 dlocate。它比穩定版本有許多改進(特別是,它不再依賴 GNU 定位)並且在穩定版本中仍然可以正常工作(不依賴任何新的/更新的庫等)。

相關內容