Synaptic 中某些任务的命令行等效性

Synaptic 中某些任务的命令行等效性

我已经使用 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它来获取全部软件包 [其中显然会包含很多你想保留的软件包,但你也可以了解一下哪些软件包是你不想要的,删除它们不会影响其他软件包]

相关内容