理解@在包管理中的含义

理解@在包管理中的含义

我发现tmux我的系统上安装了。为了查明它是否预装了 fedora,我运行了dnf info tmux打印出的命令:

Installed Packages
Name         : tmux
Version      : 2.7
Release      : 1.fc28
Arch         : x86_64
Size         : 765 k
Source       : tmux-2.7-1.fc28.src.rpm
Repo         : @System
From repo    : updates
Summary      : A terminal multiplexer
URL          : https://tmux.github.io/
License      : ISC and BSD
Description  : tmux is a "terminal multiplexer."  It enables a number of terminals (or
             : windows) to be accessed and controlled                     from a single terminal.  tmux is
             : intended to be a simple, modern, BSD-licensed alternative to programs such
             : as GNU Screen.

根据上面的输出,这似乎@意味着“在”,因此 Repo: @System意味着“在系统”(即该软件包不在存储库中,而是该软件包安装在系统中),或者换句话说(软件包tmux)安装在系统中。

然而,跟踪tmux安装时的事务dnf history list tmux(显示事务 ID 55 之类的内容),dnf history list 55以下行是结果输出的一部分:

Install    tmux-2.7-1.fc28.x86_64               @updates

基于以上发现,以下关于@包管理的理解哪一个是正确的?

  • 上面的行清楚地表明是tmux从更新存储库安装的,但假设这@意味着“at”,这不应该意味着安装在更新存储库中吗?换句话说,为什么@在 的输出中dnf info <packagename>意思是“at”eg@System意思是“at System”,但在 的输出中dnf history list 55@似乎意思是“from”?

  • 或者,是否意味着“在存储库中@安装软件包”,或者换句话说,“安装存储库中的软件包”?这是有道理的,因为同一输出中的以下行应为:在存储库升级。tmux-2.7-1.fc28.x86_64@updatestmux-2.7-1.fc28.x86_64updatessubversionfedora/27

Upgraded   subversion-1.9.7-1.fc27.x86_64       @fedora/27

编辑:我的问题不是重复的。另一个问题是问什么@意思,这个问题的不同之处在于我研究/调查了包管理器中的含义,@然后我发布了一个问题来确认我对研究/调查结果的理解是正确的。除了以下问题的答案之外其他问题质量低。例如,第一个答案做出以下陈述:

所有“已安装的软件包”前面都有@符号,而“可用的软件包”则没有。所以我相信@迹象表明软件包已安装。

这是不正确的,因为例如这个有缺陷的答案

Install    tmux-2.7-1.fc28.x86_64         @updates

意味着tmux已经安装了,但实际上还没有安装。因此这排除了@软件包已经安装的情况

第二个答案指出:

DNF 用于@表示安装包的存储库。正如你所指出的

这是错误的,因为这@System意味着该软件包是从您的系统安装的。我@对主要问题的理解表明了为什么另一个问题的第二个答案中的这句话是错误的。

相关内容