突触中某些任务的命令行等效项


24

我已经将apt-get用于大多数软件包管理。但是,有时候我有时需要使用Synaptic来做某些事情。我想学习在Synaptic中执行以下操作的等效命令:

  • 检查程序包的依赖项/从属程序包。(这可以在Synaptic中通过查看包的属性来完成)。
  • 浏览可用软件包
  • 搜索(在程序包名称以及详细信息/描述中)某些密钥。(突触顶部的搜索功能)
  • 检查是否安装了软件包

另外,还有一种方法可以找到不再需要的软件包(例如,由于删除了依赖项而不再使用的软件包)。我感觉我的系统非常肿,因为我删除了某些程序,但并不是所有的依赖项都伴随着它们。


参观man aptman dpkg
Pandya 2014年

Answers:


24
  • 检查程序包的依赖项/从属程序包。(这可以在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

aptitude如果您需要一个程序包管理器而不访问GUI,也可以提供帮助。
Davidson Chua 2013年

8

回答关于找到不再需要的软件包的最后一个问题。您可以通过以下方式找到不再需要的软件包

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

还可以设置智能程度,使其自动执行此操作。


2

“此外,还有一种方法可以找到不再需要的软件包(例如,由于删除了依赖项而不再使用的软件包)。”

安装deborphan。默认模式提供了不依赖任何内容的软件包列表-您还可以使用它-a来获取所有软件包的列表[显然,其中包括要保留的很多软件包,但是您可以了解什么您可能不希望删除不会影响其他任何内容]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.