问题描述
我已经使用apt-get进行大多数包裹管理了。但是,有时候我有时需要使用Synaptic来做某些事情。我想学习在Synaptic中执行以下操作的等效命令:
-
检查程序包的依赖项/从属程序包。 (这可以在Synaptic中通过查看包的属性来完成)。
-
浏览可用软件包
-
搜索(在软件包名称以及详细信息/描述中)一些密钥。 (突触顶部的搜索功能)
-
检查是否安装了软件包
另外,还有一种方法可以找到不再需要的软件包(例如,由于删除了依赖项而不再使用的软件包)。我感觉我的系统非常肿,因为我删除了某些程序,但并不是所有的依赖项都伴随着它们。
最佳回答
-
检查程序包的依赖项/从属程序包。 (这可以在Synaptic中通过查看包的属性来完成):
apt-cache depend 'package-name' apt-cache rdepend 'package-name'
-
浏览可用软件包
apt-cache pkgnames apt-cache search '.*' apt-cache show 'package-name'
-
搜索(在软件包名称以及详细信息/描述中)一些密钥。 (突触顶部的搜索功能)
apt-cache search pattern apt-cache --names-only search pattern
-
检查是否安装了软件包
dpkg -l | grep package-name
最后一个不能给出期望的结果,因为当终端宽度变窄时,列将被截断。更安全的选择是
dpkg-query -Wf '${Package}\n' | grep pkg
dpkg --get-selections | grep pkg
次佳回答
回答关于找到不再需要的软件包的最后一个问题。您可以通过以下方式找到不再需要的软件包
sudo deborphan
另外,默认情况下还将aptitude
设置为自动删除未使用的软件包,因此建议您使用它而不是apt-get
(它也具有其他不错的功能)。请注意,您可能必须安装deborphan和aptitude,因为它们不是默认安装(可以通过apt-get安装)。
如果您想坚持使用apt-get,则可以使用
sudo apt-get autoremove
但是,我发现deborphan设法找到比aptitude和apt-get都更多的未使用的程序包。
最后,请注意,智能和apt-get都可以使用autoclean
选项从计算机上的存档中删除旧软件包:
sudo aptitude autoclean
sudo apt-get autoclean
还可以设置智能程度,使其自动执行此操作。