自定义安装在一个 VirtualBox 中有效,而不在其他 VirtualBox 或硬件上有效

自定义安装在一个 VirtualBox 中有效,而不在其他 VirtualBox 或硬件上有效

我正尝试通过 USB 记忆棒在 Dell Optiplex 9020 上安装自定义 18.04 ISO,但出现“在定义的 APT 源中未找到可安装的内核”。

当我在 VirtualBox 上使用相同的 ISO 安装时,我没有看到此错误。

对于这两台机器,我都看到 /cdrom/pool/main/l/linux-signed/linux-image-4.15.0-20-generic_4.15.0-20.21_amd64.deb,并且该软件包列在 /cdrom/dists/bionic/main/binary-amd64/Packages.gz 中。对于这两台机器,/target/etc/apt/sources.list 只是:

deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180426)]/ bionic extras main restricted

但是当我从安装程序控制台运行时:

chroot /target apt-cache search linux-image

在 9020 上,这不会返回任何内容,但在 VirtualBox 中,我可以看到列出的软件包。此外,当我运行

chroot /target apt-cache policy

在虚拟机中,它显示 2 个目录,分别用于主目录和受限目录(amd64 和 i386),以及 1 个用于 extras amd64 的目录。在 9020 上,它仅显示 extras 目录。

为什么会这样?在 9020 上运行时安装程序是否无法获取某些信息?

编辑:尝试

chroot /target apt update

我懂了

Ign:1 cdrom://Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180426) bionic InRelease
Ign:1 cdrom://Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180426) bionic Release
Reading package lists... Done
Building dependency tree
Reading state information... Done

但‘apt-cache policy’仍然返回与之前相同的结果。

运行“chroot /target apt --print-uris update”会找到所有路径,但列出的文件是 Packages.xz,而不是 Packages.gz,大小为 0,并且没有哈希!这些行如下:

'cdrom://[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180426)]/dists/bionic/main/binary-amd64/Packages.xz' Ubuntu-Server%2018.04%20LTS%20%5fBionic%20Beaver%5f%20-%20Release%20amd64%20(20180426)_dists_bionic_main_binary-amd64_Packages 0

编辑:我在另一个 VirtualBox VM 上尝试了此操作,但出现了同样的错误。所以,这个好的 VM 不知何故“脏”了!不过,所有症状都相同。

经过进一步检查,问题在于并非所有 apt-ftparchive 命令都运行。见下文。如果有人向我解释为什么一个 VBox 可以找到软件包而另一个找不到,我会将其标记为答案。

答案1

由于我的人为错误,只有最后一行被运行:

apt-ftparchive -c $APTCONF generate $BASEDIR/apt-ftparchive-deb.conf
apt-ftparchive -c $APTCONF generate $BASEDIR/apt-ftparchive-udeb.conf
apt-ftparchive -c $APTCONF generate $BASEDIR/apt-ftparchive-extras.conf

运行另外两个解决了这个问题。conf 文件如下https://help.ubuntu.com/community/InstallCDCustomization,其中“xenial”更改为“bionic”。如该网页所述,我还必须将覆盖文件放在 /opt/indices 中,如下所示:

pushd /opt/indices
for SUFFIX in extra.main main main.debian-installer restricted restricted.debian-installer; do
  wget http://archive.ubuntu.com/ubuntu/indices/override.bionic.$SUFFIX
done

相关内容