我最近在我的debian盒子上安装了java6。 我去使用javac,并注意到它没有安装。 最终我find了(在线search后)javac是java6-sdk包的一部分。 这不是我第一次知道我想要的命令,但我不知道它所在的软件包。
我的问题是,有没有办法在命令行上找出哪个文件属于哪个软件包? 所以,如果我想看看javac属于哪个包,它会列出java6-sdk,java5-sdk,..因为它们都包含javac。
apt-file是你正在查找的命令。
你可以使用apt-file search文件名 。 你可以去Debian软件包并search在线版本。
我知道这不是你想要的,但是:
dpkg -L packagename
将列出属于已安装软件包的所有文件。 (但是你想要这个卸载软件包)
我不知道它是如何做到这一点,但Ubuntu(从Debian派生)将build议如下一个包:
$ chkrootkit The program 'chkrootkit' is currently not installed. You can install it by typing: sudo apt-get install chkrootkit bash: chkrootkit: command not found
我经常做的很明显,并input文件的名称,以及“Debian”到谷歌find包。
你可能也想看看dlocate包。 它有很多有用的选项来列出软件包中的包和文件。 它最初被写为dpkg -L,dpkg -S等的一个更快的版本,但是多年来获得了许多有用的function(虽然仍然保持速度:)
免责声明:我是dlocate的作者和debian维护者。
顺便说一句,从testing或不稳定安装dlocate的版本。 它在稳定的版本上有很多的改进(特别是它不依赖于GNU的定位),并且仍然稳定地工作(不依赖于任何新的/更新的库等)。