• apt-cache手册翻译


    NAME

    apt-cache - 查询APT缓存

    概要

      apt-cache [-agipns] [-o=config_string] [-c=config_file] {gencaches |
                     showpkg pkg...  | showsrc pkg...  | stats | dump | dumpavail |
                     unmet | search regex...  |
                     show pkg [{=pkg_version_number | /target_release}]...  |
                     depends pkg [{=pkg_version_number | /target_release}]...  |
                     rdepends pkg [{=pkg_version_number | /target_release}]...  |
                     pkgnames [prefix]  |
                     dotty pkg [{=pkg_version_number | /target_release}]...  |
                     xvcg pkg [{=pkg_version_number | /target_release}]...  |
                     policy [pkg...]  | madison pkg...  | {-v | --version} |
                     {-h | --help}}
    

    描述

    apt-cache对APT的包缓存执行各种操作。不操作系统的状态,但会从包的元数据中搜索和生成有趣的输出。元数据通过一些命令的update来获取和更新,如apt-get,所以如果上次更新之间过于久远,它可能会过时,但是作为交换,apt-cache的运行独立于配置的源(比如当离线了)。

    下面是命令:

    • gencaches

      • 创建APT的包缓存。这是由所有需要缓存的命令完成的,当缓存过时或者丢失时。
    • showpkg pkg…

      • 显示有关命令中列出的软件包的信息线。剩下的参数是包名。包的可用的版本和反向依赖关系会被列出,以及每个版本的正向依赖。正向依赖是所询问包依赖的,反向依赖是那些依赖于所询问包的。因此,必须满足包的正向依赖关系,但不需要满足反向依赖关系。例如,apt-cache showpkg libreadline2会产生类似下面的输出:
        Package: libreadline2
        Versions: 2.1-12(/var/state/apt/lists/foo_Packages),
        Reverse Depends:
            libreadlineg2,libreadline2
            libreadline2-altdev,libreadline2
        Dependencies:
        2.1-12 - libc5 (2 5.4.0-0) ncurses3.0 (0 (null))
        Provides:
        2.1-12 -
        Reverse Provides:
        
        可以看出,因此可以看出 libreadline2 版本 2.1-12 依赖于 libc5, ncurses3.0 。反过来,libreadlineg2 和 libreadline2-altdev 依赖于 libreadline2。对于输出其余部分的具体含义,最好查阅apt源代码。
    • stats
      stats 显示有关缓存的一些统计信息。不需要更多参数。报告的统计信息是:

      • Total package names是缓存中找到的包名数量。
      • Normal packages是常规包名的数量。这些包的名字和被它们依赖的包的名字之间具有一一对应关系的。大多数包都属于这一来。
      • Pure virtual packages是仅以一个虚拟包名而存在的包的数量。也就是说,包们只“提供”虚拟包名称,并且没有包真正使用这个名称。例如,Debian系统中的“mail-transport-agent”就是这样; 又比如十几个包提供名字“mail-transport-agent”,但实际上没有包叫做“mail-transport-agent”。
      • Single virtual packages是那些仅仅有一个包但提供了特定虚拟包的包。例如,在Debian系统,“X11-text-viewer”是一个虚拟包,但只有一个包 xless 提供“X11-text-viewer”。
      • Mixed virtual packages指那些要么提供了一个特定的虚拟包,要么把虚拟包名作为包名的包。例如,在 Debian 系统中,“debconf”既是一个实际的包,又是一个被 debconf-tiny提供的虚拟包。
      • Missing是包名被一个依赖所指向,但是没有被任何包所提供的包
        Misskng packages可用作为一个没有访问完整发布的证据,或者,一个包(真实的或虚拟的)已经被从发行中移除。通常它们会Conflicts 或 Breaks被引用。
      • Total distinct versinos是缓存中的包版本数量。如果正在访问多个分发版(例如,“stable”和“unstable”),这个值可以远大于总包名称的数量。
      • Total dependencies是缓存中所有包声明了的依赖关系的数量。
    • showsrc pkg…

      • 展示所给包的源包记录。所有版本都会显示,包括二进制包的名字。使用--only-source来只展示源包名。
    • dump

      • 显示缓存中每个包的简短列表。这个主要用于调试。
    • dumpavail

      • 打印一个可用的列表到标准输出流。这适合和dpkg(1)一起只用,并且被dselect(1)方法调用。
    • unmet

      • 显示缓存中所有未满足的依赖项的概要。
    • show pkg…

      • 类似于执行dpkg --print-avail,它展示命名包的记录。
    • search regex…

      • 对所有可获取的包的列表执行全文搜索,匹配给出的POSIX正则表达式(见regex(7))。它根据正则表达式中搜索包名和描述并打印包名和剪短的表述,包括虚拟包名。如果--full被指定,那么会为每个匹配的包产生和show一样的输出,如果--names-only被指定,长表述不会被搜索,只会搜索包名和被提供的包。
    • depends pkg…

      • 展示一个包有的每个依赖,以及所有能够满足这个依赖的的其他包。
    • rdepends pkg

      • 显示一个包具有的反向依赖。
    • pkgnames [prefix]

      • 这个命令打印APT知道的包的名称。可选参数是一个前缀匹配,用以过滤名字列表。输出适合在shell tab补全功能中使用,并且输出产生非常地快。这个命令最好和--generate一起使用。
      • 注意APT知道的包不一定是能够下载的,可安装的或已经安装的。例如虚拟包也会被列出。
    • dotty pkg

      • 这个命令根据命令行上的包来产生合适可用的输出,供给GraphViz[1] 包中的 dotty 。这个结果是一些表示包之间关系的点和边的集合。 默认会给出的包会追踪出所有依赖的包,这回产生一个很大的图。若要限制只输出命令行上的包,使用APT::Cache::GivenOnly选项。
        • 生成的节点会由多种形状。普通的包是盒子,纯虚拟包是三角形,混合虚拟包是钻石,缺少的包是六边形。橙色盒子表示递归停止(叶子包),蓝色行是前置依赖,绿色行是冲突。
        • 注意,dotty无法回执比较大的包集。
    • xvcg pkg

      • 和dotty一样,只适用于VCG tool[2]的xvcg
    • policy [pkg…]

      • 这个命令旨在帮助调试和首选项文件相关的问题。如果没有参数,它会打印所有源的优先级。
    • madison pkg…

      • 尝试模仿输出格式和Debian 档案管理工具madison的功能子集。它以表格形式展示包可获取的版本。不同于原始的madison,它只显示那些APT已为其检索了包列表的架构的信息 (APT::Architecture)。

    选项

    所有命令现象都可以通过配置文件来设置,描述指明了要设置的配置项。对于布尔类型的选项,你可以使用一些选项来覆盖配置文件,比如“-f-, --no-f, -f=no”或者其他的变体。

    • -p, --pkg-cache

      • 选择用来存储包缓存的文件。包缓存是所有操作要使用的基本缓存。
      • Configuration Item:Dir::Cache::pkgcache.
    • -s, --src-cache

      • 选则用来存储源缓存的文件。元仅仅被gencaches使用,并且它存储解析了的远程包的版本信息。当构建包缓存时,源缓存被用来避免重新解析所有的文件。
      • Configuration Item:Dir::Cache::srcpkgcache.
    • -q, --quiet

      • 产生适合作为日志的输出,隐藏进度指示。更高等级的q会产生更安静的结果,安静等级最高为2。可通过 -q=#来设置安静等级,这会覆盖配置文件。
      • Configuration Item: quiet.
    • -i, --important

      • 只打印重要的依赖,和unmetdepends一起使用。会使得只有依赖和预依赖项被打印。
      • Configuration Item:APT::Cache::Important.
    • –no-pre-depends, --no-depends, --no-recommends, --no-suggests,–no-conflicts, --no-breaks, --no-replaces, --no-enhances

      • 默认情况下dependsrdepends打印所有的依赖项。这可以通过这些标志来调整,也就是会省略特定的依赖类型。
      • Configuration Item: APT::Cache::ShowDependencyType e.g.APT::Cache::ShowRecommends.
    • –implicit

      • 默认请看下dependsrdepends只打印元信息中明确指出的依赖项。带上这个标志,会把发现的隐含的依赖项也打印出来。一个冲突:foo之类的表明这个包的foo与来自其他架构的包的foo冲突。
      • Configuration Item: APT::Cache::ShowImplicit
    • -f, --full

      • 打印出完整的包记录。
      • Configuration Item:APT::Cache::ShowFull.
    • -a, --all-versions

      • 打印出所有可获得版本的完整记录。这是默认的启动的。要关闭它,请使用--no-all-versions。如果--no-all-version被指定,只有候选的版本会被展示(也就是选择被安装的那个版本)。这个选项只对show适用。
      • Configuration Item: APT::Cache::AllVersions.
    • -g, --generate

      • 自动重新生成包缓存,而不是使用缓存中的。这是默认启动的,要关闭它请使用--no-generate
      • Configuration item: APT::Cache::Generate
    • –names-only, -n

      • 只搜索包和提供包名,不包括长的描述。
      • Configuration Item: APT::Cache::NamesOnly.
    • –all-names

      • 使得pkgnames打印所有的名字,包括虚拟包和缺失的依赖项。
      • Configuration Item: APT::Cache::AllNames.
    • –recurse

      • 使得dependsrdepends递归,以便所有提及的包都被打印一次。
      • Configuration Item: APT::Cache::RecurseDepends.
    • –installed

      • dependsrdepends的输出限制在已经安装的包。
      • Configuration Item: APT::Cache::Installed.
    • –with-source-filename

      • 把给定的文件作为一个源来获取元信息。可用重复使用来添加多个文件。支持*.deb*.dsc*.changes、源包、包、源包目录。文件会仅根据它们的名字来匹配,而不是它们的内容!
      • 源和包可以以任何apt支持的格式压缩,只要它们有正确的扩展名。如果你需要在一个目录存放多个文件,你可以把选择的名字作为前缀,后面跟上下划线"_",例如:my.example_Packages.xz。
      • 注意,这些源会被当做受信任的(参阅apt-secure(8))。
      • Configuration Item: APT::Sources::With.
    • -h, --help

      • 展示一个简短的使用摘要。
    • -v, --version

      • 展示程序版本。
    • -c, --config-file

      • 指定要使用的配置文件。这个程序会读取默认的配置文件,然后是这个文件。如果配置要设定在默认配置被解析之前,请使用APT-CONFIG环境变量。语法信息参阅apt.conf(5)。

    文件

    • /etc/apt/sources.list

      • 从中获取包裹的位置。
      • 配置项:Dir::Etc::SourceList 。
    • /etc/apt/sources.list.d/

      • 获取包的位置的文件片段。
      • 配置项:目录::Etc::SourceParts。
    • /var/lib/apt/lists/

      • 存放sources.list(5)中指定的包资源的状态信息。
      • 配置项:Dir::State::Lists。
    • /var/lib/apt/lists/partial/

      • 存放传输中的状态信息。
      • 配置项:Dir::State::Lists (partial将被隐式附加)

    另见

    apt.conf(5),sources.list(5),apt-get(8)

    诊断

    apt-cache正常操作后返回0,返回十进制100表示错误。

    BUGS

    APT bug page[3]. If you wish to report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

    作者

    Jason Gunthorpe

    APT team

    提醒

    1. GraphViz
      http://www.research.att.com/sw/tools/graphviz/

    2. VCG tool
      http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html

    3. APT bug page
      http://bugs.debian.org/src:apt

    APT 2.2.4 04 April 2019 APT-CACHE(8)

  • 相关阅读:
    ant.design 的 Pro Component 的 ProTable 清除表单内容的方法
    0基础学习VR全景平台篇 第100篇:美团酒店丨平台上传全景全流程
    爬虫项目-爬取股吧(东方财富)评论
    【C++】内存管理
    面对数据增量同步需求,怎样保障准确性和及时性?
    Linux操作系统
    UE4C++学习篇(十八)-- SceneCaptureComponent组件处理小地图
    SpringBoot:如何优雅地进行响应数据封装、异常处理?
    如何在后台执行 SwiftData 操作
    2019史上最全java面试题题库大全800题含答案(面试宝典)
  • 原文地址:https://blog.csdn.net/qq_51470638/article/details/127124033