APT 如何工作(apt-get、cache、search)

APT 如何工作(apt-get、cache、search)

我对 APT 包管理器有一些疑问。

据我了解,我们的存储库网址/etc/apt/sources.list位于/etc/apt/sources.list.d/*

apt-get update被调用时,apt 会尝试连接文件中指定的所有存储库并下载有关这些存储库的信息,例如有哪些程序可用等等。

它将所有检索到的数据缓存在本地,以便以后使用,而无需向存储库发出互联网请求。

apt-get install被调用时,它会从可用的存储库中搜索本地缓存包列表,如果找不到包,它除了显示错误外不执行任何操作。

apt-get search还会查看本地缓存并且不会向互联网发出任何请求。

我说得对吗?我不确定发出请求而不是在本地缓存中搜索数据的命令。

apt-cache search另外,和之间有什么区别apt search?我猜它们都使用本地缓存。

答案1

您说得对,apt-get update从源(在线)和其他命令中读取apt-get search,并apt-get install从缓存的信息中读取。来自man apt

update (apt-get(8))
       update is used to download package information from all configured
       sources. Other commands operate on this data to e.g. perform
       package upgrades or search in and display details about all
       packages available for installation.

apt search <package>和之间的区别apt-cache search <package>在于 的输出apt search更精美(有颜色、按字母顺序排列、有良好的行分隔,便于阅读),因为 apt 是一个精美的新界面。这在关于 apt 和 apt-get 之间区别的答案

但是,搜索并不是 apt-cache 能做的唯一事情:

Usage: apt-cache [options] command
       apt-cache [options] show pkg1 [pkg2 ...]

apt-cache queries and displays available information about installed
and installable packages. It works exclusively on the data acquired
into the local cache via the 'update' command of e.g. apt-get. The
displayed information may therefore be outdated if the last update was
too long ago, but in exchange apt-cache works independently of the
availability of the configured sources (e.g. offline).

Most used commands:
  showsrc - Show source records
  search - Search the package list for a regex pattern
  depends - Show raw dependency information for a package
  rdepends - Show reverse dependency information for a package
  show - Show a readable record for the package
  pkgnames - List the names of all packages in the system
  policy - Show policy settings

这是info来自apt-cache

aptapt-get结合了和中的命令apt-cache,因此你可以从任何命令中获得相同或略微更漂亮/整洁的输出apt-cache [option] <package>apt [option] <package>例如

apt show gimp

显示几乎完全相同

apt-cache show gimp

相关内容