首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Debian、Ubuntu 中使用 apt-cache 命令|Linux 中国

导读:使用 apt-cache 命令,你可以在本地 APT 缓存中搜索软件包的详细信息。在本教程中学习使用 apt-cache 命令。

本文字数:2483,阅读时长大约:3分钟

https://linux.cn/article-12786-1.html

作者:Abhishek Prakash

译者:Xingyu.Wang

apt-cache 命令是用来干什么的?

APT

包管理器

工作在软件包元数据的本地缓存上。元数据通常由包名、版本、描述、依赖关系、仓库和开发者等信息组成。通过apt-cache命令,你可以查询这个本地 APT 缓存并获得相关信息。

你可以搜索一个包的可用性、它的版本号、它的依赖关系等等。我将通过实例告诉你如何使用apt-cache命令。

APT 缓存的位置是  目录。缓存哪些仓库元数据取决于你的源列表中  文件中添加的仓库,以及位于  目录下的额外仓库文件。

令人惊讶的是,apt-cache并不能清除 APT 缓存。为此,你必须使用 apt-get clean 命令。

不用说,APT 打包系统是在 Debian 和基于 Debian 的 Linux 发行版上使用的,比如 Ubuntu、Linux Mint、Elementary OS 等。你不能在 Arch 或 Fedora 上使用它。

使用 apt-cache 命令

就像其他 Linux 命令一样,apt-cache也有一些可用的选项,你可以随时参考它的手册页来了解这些选项。

然而,你可能并不需要使用所有的选项。这就是为什么我在本教程中只向你展示apt-cache命令中最常见和最有用的例子。

始终更新

更新本地 APT 缓存以与远程仓库同步是一个好主意。如何做到这一点呢?你可以使用命令:

搜索软件包

apt-cache

命令最常见的用途是查找软件包。你可以使用一个正则表达式来搜索本地 APT 缓存中的包。

默认情况下,它会在软件包的名称和描述中查找搜索关键词。它按字母顺序显示匹配的软件包及其简短的描述。

你也可以缩小搜索范围,只在软件包名称中查找搜索词。

如果你想知道所有匹配软件包的完整细节,你可以使用  标志。

获取详细的包装信息

如果你知道确切的软件包名称(或者你已经成功地通过搜索找到了它),你可以得到软件包的详细元数据信息。

你可以看到软件包元数据中的所有细节,比如名称、版本、开发者、维护者、仓库、长短描述、软件包大小甚至是校验和。

还有一个选项  可以显示软件包的名称、版本、正向和反向依赖关系等信息。

apt-cache 的策略

这是apt-cache命令中很少使用的一个选项。 选项可以帮助你调试与preference 文件相关的问题。

如果你指定了软件包的名称,它将显示该软件包是否已经安装,在哪个版本的仓库中可用,以及它的优先级。

默认情况下,每个已安装的软件包版本的优先级为 100,未安装的软件包的优先级为 500。同一软件包可能有多个不同优先级的版本。APT 会安装优先级较高的版本,除非安装的版本较新。

如果不理解这个部分,也没关系。对于一个普通的 Linux 用户来说,会极少纠结于这么深的软件包管理知识。

检查软件包的依赖关系和反向依赖关系。

你可以在安装之前(甚至在安装之后)检查一个包的依赖关系。它还会显示所有可能满足依赖关系的软件包。

你也可以通过  检查反向依赖关系来检查哪些包是依赖于某个包的。

坦白说,看到 Ansible 这样的 DevOps 工具对Cowsay 这样有趣的 Linux 命令有依赖性,我也很惊讶。我想可能是因为在安装 Ansible之后,它会在节点上显示一些信息。

检查未满足的依赖性

你可能会被Ubuntu 中未满足的依赖问题所困扰,其他 Linux 也有类似问题。apt-cache命令提供了一个选项来检查系统中各种可用软件包的所有未满足的依赖关系。

结论

你可以用apt-cache命令列出所有可用的软件包。输出结果会很庞大,所以我建议将其与wc 命令结合起来,得到可用软件包的总数,就像这样:

你是否注意到你不需要成为root 用户就可以使用apt-cache命令?

较新的apt 命令也有一些与apt-cache命令相对应的功能选项。由于apt比较新,所以在脚本中还是首选使用apt-get及其相关的apt-cache等命令。

希望你觉得本教程对你有帮助。如果你对上面讨论的任何一点有疑问或者有改进的建议,请在评论中告诉我。

via:https://itsfoss.com/apt-cache-command/

作者:Abhishek Prakash选题:lujun9972译者:wxy校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201104A059BM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券