在全新安装的 ubuntu server 20.04 上,运行 apt-offline 安装第一个更新失败,并显示ERROR: Path for keyring is invalid: /etc/apt/trusted.gpg
离线机器是使用最近下载的映像 ubuntu-20.04.4-live-server-amd64.iso 构建的虚拟机。虚拟机运行后,手动安装了两个软件包并创建了 sig 文件:
sudo dpkg -i python3-magic_0.4.15-3_all.deb
sudo dpkg -i apt-offline_1.8.2-1_all.deb
sudo apt-offline set initial-update-01.sig --update
在线机:
sudo apt-offline get initial-update-01.sig --bundle initial-update-01-bundle.zip
离线机器:
sudo apt-offline install initial-update-01-bundle.zip
ERROR: Path for keyring is invalid: /etc/apt/trusted.gpg
在尝试解决错误时,由于 debian-archive-keyring 被列为 apt-offline 的推荐依赖项,因此下载并手动安装了它:
sudo dpkg -i debian-archive-keyring_2019.1ubuntu2_all.deb
尝试安装该捆绑包时,错误仍然存在并且仍然相同。
Apt-offline 正在寻找/etc/apt/trusted.gpg
不存在但包含/etc/apt/trusted.gpg.d
几个 gpg 文件的目录ubuntu-keyring-2012-archive.gpg ubuntu-keyring-2012-cdimage.gpg ubuntu-keyring-2018-archive.gpg
。
看起来需要以某种方式告诉 apt-offline 使用/etc/apt/trusted.gpg.d
,这是否正确?如果正确,该怎么做?如果不对,我该如何解决列出的密钥环错误?
编辑1: 这个帖子指的是 ubuntu 18.04。此外,apt-offline 似乎是维护离线安装的一种简单且当前的方法,但也可以使用其他相对简单的替代方案。
编辑2:
我看到某处说不正确的系统时间会影响 gpg。NTP 未配置,但时钟大致正确。
运行完后,
sudo apt-offline install initial-update-01-bundle.zip
下一步是使用创建一个新的签名文件sudo apt-offline set upgrade.sig --upgrade
。这个新的签名文件与前一个文件相同,因此看起来好像没有任何更新。修改了 [apt-offline “密钥环路径无效”错误] 的标题,旨在更具描述性
答案1
我在使用 Ubuntu 20.04 时也遇到了这个问题。现在 22.04 已经可用,我发现问题已经解决了。
因此,我参观了https://packages.ubuntu.com/jammy/all/apt-offline/download并下载了 apt-offline 的 deb 文件,并将其安装到我用于测试的一对 20.04 虚拟机上。测试成功。没有关于密钥环的警告。我首先通过安装 htop 进行测试。我的第二个测试是安装 gcc。
注意:一个虚拟机可以访问互联网,另一个虚拟机根本没有网络。两台机器都可以访问主机上的共享目录。(我用它来模拟使用 USB 驱动器/CD 磁盘)。
无法正常工作的 apt-offline 版本是 1.8.2。可以正常工作的版本是 1.8.4。