AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1512931
Accepted
Blacklight MG
Blacklight MG
Asked: 2024-05-05 18:48:47 +0800 CST2024-05-05 18:48:47 +0800 CST 2024-05-05 18:48:47 +0800 CST

为什么 APT 存储库中的某些“Packages”文件为 0 字节,APT 如何从其他发行版本中选择包?

  • 772

编辑-简介:

我问这个问题是为了了解 APT 的行为,它从那时起应该已经发生了很大的变化。我不想在当前系统上安装这些旧软件包。

  • 我知道 Gazebo Classic <11 已停产
  • 我知道 Ubuntu (LTS) < 22.04 (Focal Fossa) 和 Ubuntu < 23.10 (Mantic Minotaur) 已停产
  • 我知道为一个版本打包的包可能与其他版本中的包存在依赖性冲突

如果你查看Gazebo 3.0安装教程,它说Gazebo 3.0可以安装在Ubuntu Raring Ringtail版本上。

但如果你查看dists/raring/main/binary-amd64/,该Packages文件的大小为 0 字节。

因此,它以某种方式退回到使用 Precise Pangolin 中提供的软件包。但我不明白这是怎么发生的。precise如果我们必须使用 Raring,我们是否应该手动添加该存储库?

使用的命令是sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu raring main" > /etc/apt/sources.list.d/gazebo-latest.list',所以它只查看raring存储库。

该软件包gazebo3仅针对 Precise Pangolin 和 Trusty Tahr 进行了打包(说明中未列出),并且绝对应该使用 Precise 的版本,因为 Trusty 较新。


另一个例子:

根据Gazebo 2.2安装教程,它说Gazebo 2.2可以安装在从Precise到Trusty的每个版本上。

它说Precise to Roaring应该使用gazebo-current,Saucy和Trusty应该使用gazebo2。

如果您检查pool/main/g/gazebo-current/,gazebo-current(v2.2.5),它仅打包为precise,同样,pool/main/g/gazebo2/,gazebo2(v2.2.6)仅打包为trusty。

因此,在这种情况下,Quantal Quetzel 和 Raring Ringtail 将回落到 Precise Pangolin,而 Saucy Salamander 将前进到 Trusty Tahr。

和前面的情况一样,、和Packages中的文件都是 0 字节。这甚至与他们是否是 LTS 无关。Yakkety Yak 和 Zesty Zapus 有非空文件,它们列出了在pool/main/g/中也可用的 Gazebo 软件包(对于 Yakkety 和Zesty )。quantalraringsaucyPackagesgazebo8gazebo7gazebo8

包管理器如何知道要使用哪个包?甚至似乎没有标准格式,例如回退到以前的版本。由于我们指定的是版本代号而不是版本号,APT 甚至不应该能够推断出有旧版本或新版本可供提取。

后面的说明只是说sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable 'lsb_release -cs' main" > /etc/apt/sources.list.d/gazebo-stable.list',所以无论发布是什么,都会在 中指定sources.list.d。如果只有打包它的版本能够安装它,那就有意义了。但这里的情况并非如此。


所以我的问题是,这些 0 字节文件如何Packages与 APT 查询一起使用?当 APT 遇到这样的 repos 时,如何选择另一个版本?

dists/raring/Release文件还显示它Packages是 0 字节,因此它不是像此处提到的损坏存储库的实例。

apt
  • 1 1 个回答
  • 60 Views

1 个回答

  • Voted
  1. Best Answer
    user535733
    2024-05-06T00:31:21+08:002024-05-06T00:31:21+08:00

    列出的存储库并未“损坏”。
    那些旧的存储库已关闭,其中的包已被撤回。

    那些旧的存储库根本无法使用。尝试使用它们时出现 APT 错误是预期的行为。

    不再支持 18.04 之前的 Ubuntu 版本,并且这些存储库已关闭(例外:Pro/esm)。

    Apt 不会“选择另一个版本”;它将仅使用 apt 源中指定的版本。它不知道任何其他版本。

    • 2

相关问题

  • 如何编写 shell 脚本来安装应用程序列表?

  • 如何查看存档中可用的软件包的所有版本?

  • 是否可以说出我安装的哪些软件包不在原版安装中?

  • 如何删除 PPA?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve