安装新版本时,“apt-cache policy”将旧版本的 youtube-dl 报告为候选版本

dar*_*dar -2 updates package-management apt

youtube-dl通过命令 更新后youtube-dl -U,我继续使用检查结果apt-cache policy,得到以下结果:

$ apt-cache policy youtube-dl
youtube-dl:
  Installed: (none)
  Candidate: 2014.02.17-1
  Version table:
     2014.02.17-1 0
        500 http://se.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
Run Code Online (Sandbox Code Playgroud)

该实用程序自己的版本报告给出了不同的结果:

$ youtube-dl --version
2020.05.29
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 即使应用程序安装不久且仅更新过,为何仍会apt-cache policy报告?(none)Installed
  2. 为什么youtube-dl报告对我的查询更合理的答复--version(报告的日期更接近发布时间youtube-dl -U)以及报告的日期apt-cache policy真正意味着什么?

Mal*_*ppa 5

youtube-dl看起来您的维护不是由 维护的apt,原因有两个:

  • 如您所见,apt policy输出Installed: (none).
  • 您说您youtube-dl使用 进行了更新youtube-dl -U,但 youtube-dl 的自我更新机制在 Ubuntu 上被禁用,因为apt当您通过 来安装应用程序时,它会维护已安装的版本本身apt。如果您youtube-dl通过安装apt然后尝试运行youtube-dl -U,您将收到一条错误消息告诉您这一点。

既然你说你最初是使用安装它的apt-get,我只能推测为什么会出现这种情况。也许在某个时候您从存储库中卸载了该版本并手动安装了一个版本,然后忘记了这一点?谁知道。

apt policy另外,报告的原因2014.02.17-1是因为这是 Trusty 上可用的最新版本(您正在使用的 Ubuntu 版本)。如果您通过.youtube-dlapt它不是已安装的;而是已安装的。apt的角度来看,这个软件包没有安装。

附言。我还建议您安装最新的 Ubuntu 版本。Trusty 一年多前就已寿终正寝(您的问题即将因此结束)。不会有更多的更新(youtube-dl或其他),并且已经一年没有任何更新了。因此,你确实无法使用过时的 Ubuntu 版本安装任何最新的软件(至少不能通过apt)。