我已经使用 apt-get 进行大多数软件包管理。但是,有时我偶尔需要使用 Synaptic 来执行某些操作。我想学习在 Synaptic 中执行以下操作的等效命令:
- 检查包的依赖项/依赖包。(这可以在 Synaptic 中通过查看包的属性来完成)。
- 浏览可用的包
- 搜索(在包名称以及详细信息/描述中)某些键。(突触顶部的搜索功能)
- 检查包是否已安装
另外,有没有办法找到不再需要的软件包(例如,由于我删除了依赖项而不再使用的软件包)。我感觉我的系统非常臃肿,因为我删除了某些程序,但并非所有依赖项都随之删除。
答案1
检查包的依赖项/依赖包。(这可以在 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
答案2
回答你关于查找不再需要的软件包的最后一个问题。你可以使用以下命令查找不再需要的软件包
sudo deborphan
此外,aptitude
默认情况下还设置为自动删除未使用的软件包,因此我建议您使用它来代替apt-get
(它还有其他不错的功能)。请注意,您可能必须安装 deborphan 和 aptitude,因为它们不在默认安装中(可以通过 apt-get 安装)。
如果你想继续使用 apt-get,你可以使用以下命令删除未使用的软件包
sudo apt-get autoremove
然而,我发现 deborphan 比 aptitude 和 apt-get 能找到更多未使用的软件包。
最后,请注意,aptitude 和 apt-get 都可以使用以下命令从计算机的档案中删除旧软件包autoclean
:
sudo aptitude autoclean
sudo apt-get autoclean
还可以设置 Aptitude 以使其自动执行此操作。
答案3
“此外,有没有办法找到不再需要的软件包(例如,由于我删除了依赖项而不再使用的软件包)。”
安装deborphan
。默认模式提供以下列表图书馆不依赖任何包的包 - 你也可以使用-a
它来获取全部软件包 [其中显然会包含很多你想保留的软件包,但你也可以了解一下哪些软件包是你不想要的,删除它们不会影响其他软件包]