Xubuntu 20.04 精简安装

在之前的多个Ubuntu版本中,我曾经使用过Xubuntu的最小安装(通过netboot mini.iso镜像)。然而,我注意到netboot安装程序已不再得到积极支持。我想知道现在获取Xubuntu 20.04最小安装的“官方”方法是什么(因为Xubuntu是唯一一个在其安装程序中没有“最小安装”选项的官方版本)。我了解以下选项及其各自的缺点:
  • Xubuntu核心描述在Xubuntu官网上仍然提到mini.iso,但它并不是官方支持的>18.04版本。在这个帖子中描述了20.04的mini.iso,尽管它不再得到官方支持。它可能随时消失或完全停止用于>20.04的未来版本。目前,这个镜像允许我安装一个最小化版本的Xubuntu。

  • Xubuntu Core镜像无法安装,安装程序崩溃(我在发布后多次尝试并使用了不同版本的VirtualBox):Installer crash

  • 在Ubuntu live server上通过apt安装xubuntu-core软件包,这被列为mini.iso的推荐替代方法,会占用>4GB的磁盘空间,因此与20.04 mini.iso和18.04 mini.iso的最小安装明显不同。

  • Ubuntu Core对我来说不是一个选择,因为它需要创建并链接到一个用户帐户。由于这个限制,我还没有尝试过它。我只想在虚拟机中安装Xubuntu并离线使用。

  • Ubuntu Base太简约了,并且需要很多准备步骤。我只想安装Xubuntu。

在这些选项中,有没有我错过的任何东西,可以让我以官方支持的方式进行Xubuntu 20.04的最小安装,并且很可能在未来版本中得到支持?

很遗憾答案对你没用,希望能为你提供一个简单的解决方案。另外还有两个不太理想的替代选项:安装完整的桌面环境,然后手动删除你不需要的软件包(可能需要一些时间),或者在最小模式下安装标准版Ubuntu,并使用sudo apt install taskselsudo tasksel install xubuntu-core命令添加xfce桌面环境,但这可能会产生意想不到的后果。这里有一个详细的教程:https://linuxconfig.org/install-xfce-xubuntu-desktop-on-ubuntu-20-04-focal-fossa-linux - Mark Kirby
@MarkKirby: 你说的“意外后果”是什么意思? - Andreas Unterweger
在同一用户上拥有多个桌面可能会导致各种问题,我无法确定会出现什么问题,也可能没有问题。 - Mark Kirby
由于我不需要多个桌面,所以我更喜欢一个没有潜在副作用的解决方案。 - Andreas Unterweger
我猜你在寻找每日构建版本。 - s1mmel
@s1mmel:你的链接无效。每日构建版本如何回答我的问题?请详细说明。 - Andreas Unterweger
我觉得2GB可能会让你高兴起来,因为它是你现在使用的一半。这些每日构建版本已经准备好了虚拟机,并且可以与Multipass/KVM和其他虚拟化软件一起使用。我猜想,这些每日构建版本可能会取代网络安装程序?当时我也在寻找类似的东西,但没有成功。只有每日构建版本的镜像是我找到的唯一选择。我使用它们与Multipass一起使用。 - s1mmel
请访问以下链接以获取更多信息:https://ubuntu.com/download/server 和 http://cdimages.ubuntu.com/netboot/focal/。第一句话中提到了它。 - s1mmel
你的应该是这个吧?http://cdimage.ubuntu.com/xubuntu/daily-live/current/ - s1mmel
@s1mmel:谢谢提供的链接。如上述我的问题所述,我已经尝试过20.04的实时服务器安装,但在配置完成后的第一次登录仍然显示大于4GB。我无法看出20.04和21.04实时服务器安装之间有任何区别。我是不是漏掉了什么? - Andreas Unterweger
我正在开展一个自己的项目,脚本化Ubuntu Base自动安装。嗯,95%是自动的...大致如下...启动Ubuntu服务器,使用autoinstall,在早期命令中运行一堆命令以在sda上设置Ubuntu Base(由于必须手动输入chroot中的3个命令,所以有95%是自动的,但只需运行一个脚本即可完成),一旦退出 chroot,它将重新启动并希望进入Ubuntu Base,您可以只运行xubuntu-core的安装。我已经完成了大部分工作,但时间有点晚了,而且我被破损的grub困住了。否则,我认为我已经完成了大部分工作。如果您对这样的设置感兴趣,请告诉我。 - LuxZg
我使用 Multipass 和 Ubuntu 服务器镜像,然后在安装时使用 cloud-init.yaml 脚本进行配置。你可以尝试这样做。如果你使用其他虚拟化管理程序,也许有机会进行转换,以便在那里使用它。 - s1mmel
@LuxZg:听起来很有希望。如果你已经准备好了,随时可以发表完整的回复。 - Andreas Unterweger
@s1mmel: 我之前不知道 multipass,看起来确实很有意思。然而,它似乎只是为了给你提供一个命令行界面,图形设置似乎非常复杂。我需要的是一个完整的 Xubuntu Minimal 安装,包括图形用户界面。 - Andreas Unterweger
1@Andreas - 我会尽量在今天为你提供一些东西,但这完全取决于是否出现更多问题。希望你不急,我更倾向于给出一个正确的答案,这样其他人也能受益。我的研究有一半是基于两个有很多错误的不完整回答,所以不想再提供另一个不完整的解决方案 ;) - LuxZg
抱歉,我仍然在处理整个主引导记录(MBR)/引导加载程序(bootloader)的问题上遇到困难,现在我正在尝试切换到syslinux。无论如何,我目前有80MB的引导分区,662MB的根分区,并且apt-get install xubuntu-core命令显示将使用1803MB的空间,大约2.5GB大小。只要我能成功启动它就好了 :-/ 现在Syslinux已经加载了,但是无法加载它的ldlinux.c32依赖项,尽管它们位于同一个目录下,这很奇怪...而且又到了一天的末尾了 :( - LuxZg
凌晨1点...终于启动了,但是这个系统真的很简陋...我已经添加了nano和ping。我没有耐心等待2GB的xubuntu安装(实际上是下载)。也许这样可以解决系统无法使用的问题。明天再试试吧。基本上,你只需在自动安装的用户数据早期命令部分添加20个命令,然后重启后就会有一个700MB的Ubuntu基础系统。如果你在这些早期命令中添加apt install xubuntu-core,它将会安装所有组件。但是像我说的,这个系统有2GB大小,而且我的网络速度今天很慢,现在已经是凌晨1点了,所以明天再看吧。至少系统能够启动了,这是最烦人的问题。其他的应该没什么大问题。 - LuxZg
好消息!终于完成并发布了。看看它是否适合你的情况。请记住,在所有的调整之后,我有一种感觉,只需按照正常方式安装服务器+Xubuntu核心将会更容易 :) 但如果你需要大部分自动化,并且经常进行,甚至一天多次,那么这是不错的选择。在我的测试环境中安装大约花了10分钟(没有安装Xubuntu核心包,2GB,网络慢等)。总体上,它将主要取决于你的网络和磁盘速度。 - LuxZg
2个回答

使用Ubuntu Base和Live自动安装程序(subiquity)获取最小的Ubuntu/Xubuntu系统
以下是一个自动安装模板文件,您可以使用它来自动安装Ubuntu Base 20.10(及更高版本),并从中获得相对较小的Xubuntu安装。作为先决条件,您需要已经设置好PXE安装环境的其余部分(请参阅下面的链接以获取逐步指南)。PXE环境由DHCP服务、TFTP服务器、HTTP(S)服务器和可选的NFS服务器组成。当这些组合在一起时,它们为您网络中的设备提供了PXE引导功能。设备本身还需要支持从网络引导(无论是传统BIOS还是UEFI)。
我在我的所有测试中都使用了PXE引导、Ubuntu 20.04.1和20.10以及自动安装文件(请参阅下面的20.10)。要了解有关为20.04及更高版本逐步设置PXE的详细信息,请阅读我在此处的其他指南:https://askubuntu.com/a/1292097/1080682

注意:下面列出的命令也可以以其他方式执行,例如在Live-CD或任何其他实时引导会话中手动执行,我还使用PXE引导到安装程序(subiquity),然后在subiquity实时会话中通过SSH执行。请确保引导的会话/安装程序与您计划安装的Ubuntu Base的主要版本相同,例如,使用Ubuntu 20.10的Live-CD来创建Ubuntu Base 20.10。

自动安装脚本通过PXE作为"user-data"文件提供。

user-data

#cloud-config

autoinstall:
  version: 1
  early-commands:
    - dd if=/dev/zero of=/dev/sda bs=8M count=30
    - (echo o; echo n; echo p; echo 1; echo ""; echo +200M; echo n; echo p; echo 2; echo ''; echo ''; echo a; echo 1; echo p; echo w) | fdisk /dev/sda
    - mkfs.fat -F 32 -D 0x80 -M 0xF8 -n BOOT /dev/sda1
    - mkfs.ext4 -F /dev/sda2
    - mkdir /mnt/boot /mnt/root
    - mount /dev/sda2 /mnt/root
    - curl http://cdimage.ubuntu.com/ubuntu-base/releases/20.10/release/ubuntu-base-20.10-base-amd64.tar.gz -o /ubuntu-base-20.10-base-amd64.tar.gz
    - tar -xzvf /ubuntu-base-20.10-base-amd64.tar.gz -C /mnt/root
    - touch /mnt/root/etc/resolv.conf
    - echo "nameserver 8.8.8.8" > /mnt/root/etc/resolv.conf
    - chroot /mnt/root sh -c "apt-get update"
    - chroot /mnt/root sh -c "apt-get install -y linux-image-5.8.0-28-generic initramfs-tools init dbus iproute2 sudo nano --no-install-recommends"
    - chroot /mnt/root sh -c "useradd -m ubuntu -s '/bin/bash' && echo ubuntu:ubuntu | chpasswd"
    - chroot /mnt/root sh -c "addgroup ubuntu adm"
    - chroot /mnt/root sh -c "addgroup ubuntu sudo"
    - apt-get update
    - apt-get install -y syslinux
    - syslinux -i /dev/sda1
    - dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sda bs=440 count=1 conv=notrunc
    - mount /dev/sda1 /mnt/boot
    - touch /mnt/boot/syslinux.cfg
    - (echo PROMPT 0; echo DEFAULT base; echo LABEL base; echo KERNEL vmlinuz; echo APPEND root=/dev/sda2 rw; echo INITRD initrd.img) > /mnt/boot/syslinux.cfg
    - cp /mnt/root/boot/vmlinuz /mnt/boot
    - cp /mnt/root/boot/initrd.img /mnt/boot
    - touch /mnt/root/etc/systemd/network/00-wired.network
    - (echo [Match]; echo Name=enp0s10f0; echo [Network]; echo Address=10.10.2.101/24; echo Gateway=10.10.2.99; echo DNS=8.8.8.8) > /mnt/root/etc/systemd/network/00-wired.network
    - chroot /mnt/root sh -c "systemctl enable systemd-networkd.service"
    - chroot /mnt/root sh -c "apt-get clean"
    - umount /mnt/boot
    - umount /mnt/root
    - reboot

上面的脚本只是纯粹的BIOS / 传统引导脚本,原样复制/粘贴应该可以正常工作。
要添加UEFI功能,请在apt-get clean命令之后和umount & reboot命令之前插入以下行。
    - mkdir -p /mnt/boot/EFI/BOOT/
    - cp /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi /mnt/boot/EFI/BOOT/BOOTX64.EFI
    - cp /usr/lib/syslinux/modules/efi64/ldlinux.e64 /mnt/boot/EFI/BOOT/
    - cp /mnt/boot/syslinux.cfg /mnt/boot/EFI/BOOT/syslinux.cfg
    - cp /mnt/root/boot/vmlinuz /mnt/boot/EFI/BOOT/
    - cp /mnt/root/boot/initrd.img /mnt/boot/EFI/BOOT/

需要注意的行,可能需要更改:

  • useraddaddgroup - 更改为您自己的用户名和密码,或者保留为ubuntu/ubuntu
  • /etc/systemd/network/00-*.network - 随意更改配置文件名,并确保将接口名称(在我的情况下为enp0s10f0)、IP(10.10.2.101/24)和网关(10.10.2.99)更改为您实际期望的内容
  • 如果您还安装了DHCP客户端软件包(isc-dhcp-client),您可以使用类似于echo [Match]; echo Name=eth0; echo [Network]; echo DHCP=yes的命令(只需检查接口名称)
  • 您也可以完全按原样保留脚本,在重启后更改用户/密码或网络设置
一旦你通过自动安装程序运行脚本,它将安装Ubuntu Base并重新启动。重新启动后,请使用用户名ubuntu和密码ubuntu(如果你已更改密码,则使用你自己的密码)登录。 请注意,我正在运行xubuntu-core的安装,请参阅下面脚本中的注释以及答案下面的注释。 更多详细信息 为了解释这个过程,我还附上了带有所有注释的脚本,供其他人了解更多细节、理解这个过程,并根据自己的喜好进行修改。
#cloud-config

autoinstall:
  version: 1
  early-commands:
# delete any old partition data, up to 240MB size, if this was reinstall
# erases partition tables and whole boot partition as well, by erasing 30x8MB=240MB (partition is 200MB)
    - dd if=/dev/zero of=/dev/sda bs=8M count=30
# create new 200MB boot partition and rest as root partition
    - (echo o; echo n; echo p; echo 1; echo ""; echo +200M; echo n; echo p; echo 2; echo ''; echo ''; echo a; echo 1; echo p; echo w) | fdisk /dev/sda
# format boot as FAT 32
    - mkfs.fat -F 32 -D 0x80 -M 0xF8 -n BOOT /dev/sda1
# format rest as ext4
    - mkfs.ext4 -F /dev/sda2
# create mount points for boot and root
    - mkdir /mnt/boot /mnt/root
# don't mount boot yet, as later syslinux requires it unmounted, or mount it here and unmount before syslinux -i
#    - mount /dev/sda1 /mnt/boot
    - mount /dev/sda2 /mnt/root
# optional commands to see what's mounted, note if you did not mount it, don't ls it because subiquity installer will fail
#    - df -h
#    - ls -al /mnt
#    - ls -al /mnt/boot
#    - ls -al /mnt/root
# download ubuntu Base from official repo, we download 20.10 below, this will download to / (root) of ubiquity installer, which means - into memory
# if you want 20.04 or 20.10 or anything else (future releases) just change following these two lines (curl and tar) to reflect that, plus later in script change kernel version
    - curl http://cdimage.ubuntu.com/ubuntu-base/releases/20.10/release/ubuntu-base-20.10-base-amd64.tar.gz -o /ubuntu-base-20.10-base-amd64.tar.gz
# extract all files to our sda2, mounted at /mnt/root
    - tar -xzvf /ubuntu-base-20.10-base-amd64.tar.gz -C /mnt/root
# create temporary resolv.conf in the new system
    - touch /mnt/root/etc/resolv.conf
    - echo "nameserver 8.8.8.8" > /mnt/root/etc/resolv.conf
# chroot to /mnt/root and start executing commands one by one
# update apt's package cache
    - chroot /mnt/root sh -c "apt-get update"
# install Linux image, which will install kernel and create initrd and all
# you need to install specific version depending on OS, eg 20.04 will use linux-image-5.4.0-42-generic
# we also install: init, dbus, iproute2, sudo, which also pull systemd - to have actually usable system
# additionally install nano to be able to edit confs, you can change that to any other editor
    - chroot /mnt/root sh -c "apt-get install -y linux-image-5.8.0-28-generic initramfs-tools init dbus iproute2 sudo nano --no-install-recommends"
# I personally always install openssh-server as well, ping for debugging
# and you may also want to add isc-dhcp-client package to enable networking setup by DHCP server
    - chroot /mnt/root sh -c "apt-get install -y openssh-server isc-dhcp-client iputils-ping --no-install-recommends"
# add at least one user, here we add user ubuntu with password ubuntu, change it here or later after first login
    - chroot /mnt/root sh -c "useradd -m ubuntu -s '/bin/bash' && echo ubuntu:ubuntu | chpasswd"
# add this new user to correct groups to enable it to be admin and to have sudo access
    - chroot /mnt/root sh -c "addgroup ubuntu adm"
    - chroot /mnt/root sh -c "addgroup ubuntu sudo"
# this would installs Xubuntu ... or switch to whatever you need... if you install some other package or desktop environment - it will be there after your login
# but it is quite large (2GB) so if ANY package fails or throws ANY error - whole subiquity installer crashes; so I recommend this to be done on first interactive login after reboot
#    - chroot /mnt/root sh -c "apt-get install -y xubuntu-core"
# below is syslinux install the easy way, through Ubuntu's official package/repo
# get the syslinux package, note this is not in chroot, this installs just to subiquity memory, so we need to run apt update again
    - apt-get update
    - apt-get install -y syslinux
# tell syslinux to install itself to your sda1 which is your boot partition
# if you mounted it earlier, unmount boot!! use command below (which is commented out by default)
#    - umount /mnt/boot
    - syslinux -i /dev/sda1
# now that syslinux is installed, burn it's mbr.bin (or maybe gptmbr.bin if you plan to use GPT + UEFI) to start of your disk; note we target whole device "sda" - NOT sda1
    - dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sda bs=440 count=1 conv=notrunc
# now we can safely mount boot partition
    - mount /dev/sda1 /mnt/boot
# we create syslinux.cfg, I do touch, as if it doesn't exist it will break subiquity again
    - touch /mnt/boot/syslinux.cfg
# echo your config to it; explaining
# PROMPT 0 - don't ask use default / 1 - ask for user input (good for diag); DEFAULT - set which label is default so syslinux can autoboot; LABEL - this is config for our Ubuntu Base OS; KERNEL - vmlinuz or eqivalent kernel name; APPEND - to mount your /root partiton as writeable; INITRD - name of your initrd image
    - (echo PROMPT 0; echo DEFAULT base; echo LABEL base; echo KERNEL vmlinuz; echo APPEND root=/dev/sda2 rw; echo INITRD initrd.img) > /mnt/boot/syslinux.cfg
# copy vmlinuz & initrd files that you've installed in your chroot, you can specify exact version, just make sure to change syslinux.cfg echo (above) accordingly
# can also copy * to copy all, but all we need is these ones really
    - cp /mnt/root/boot/vmlinuz /mnt/boot
    - cp /mnt/root/boot/initrd.img /mnt/boot
# setup EFI boot, you can keep both BIOS and UEFI bootloaders at the same time
# install additional package
    - apt-get install -y syslinux-efi
# create directories, will create both BOOT and parent EFI folders
    - mkdir -p /mnt/boot/EFI/BOOT/
# copy all files, in order: UEFI bootloader, bootloader's module (required), syslinux config (same as above), kernel and initrd (same as above)
    - cp /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi /mnt/boot/EFI/BOOT/BOOTX64.EFI
    - cp /usr/lib/syslinux/modules/efi64/ldlinux.e64 /mnt/boot/EFI/BOOT/
    - cp /mnt/boot/syslinux.cfg /mnt/boot/EFI/BOOT/syslinux.cfg
    - cp /mnt/root/boot/vmlinuz /mnt/boot/EFI/BOOT/
    - cp /mnt/root/boot/initrd.img /mnt/boot/EFI/BOOT/
# now we create network config, make sure to change: interface name, IP, gateway
    - touch /mnt/root/etc/systemd/network/00-wired.network
    - (echo [Match]; echo Name=enp0s10f0; echo [Network]; echo Address=10.10.2.101/24; echo Gateway=10.10.2.99; echo DNS=8.8.8.8) > /mnt/root/etc/systemd/network/00-wired.network
# and enable networkd service so it runs on first boot already
    - chroot /mnt/root sh -c "systemctl enable systemd-networkd.service"
# this is optional, but cleans 100+MB from our chroot partition
    - chroot /mnt/root sh -c "apt-get clean"
# and finally, I leave this uncommented sometimes, to allow me to do anything in interactive bash shell before final reboot (or to just pause and wait for you if you took coffee and don't want your system to reboot unattended)
#    - bash -c "exec bash"
# unmount partitions
    - umount /mnt/boot
    - umount /mnt/root
# and reboot!
    - reboot
# after reboot login with your user (ubuntu/ubuntu in this script) and complete installation and/or configuration
# you can also connect using ssh to this machine, sudo, and install or configure whatever you wish! Congrats!

这个带有注释的脚本也可以直接使用,复制/粘贴即可。与之前一样,请检查您的用户名/密码和网络(接口名称、IP、网关等)。 请注意,它不会安装Xubuntu,我已经将其注释掉。
这将引导到小于400MB的/(root)分区(还有一个用于引导的小分区,设置为200MB但可以更小,两个BIOS+EFI文件需要大约58MB)。 添加Xubuntu Core大约需要1.8GB(apt说的)。安装了xubuntu-core后,分区使用量增加到2.4GB,运行apt clean后降低到1.9GB,所以实际上是在Ubuntu Base的基础上额外增加了1.5GB的内容。
如果您遇到任何问题,请告诉我以便为每个人修复说明。
所有这些都经过了Ubuntu 20.04.1的测试(PXE服务器、Live安装ISO映像和Base映像),并且在20.10 "client"上进行了相同或类似的测试,并且对于任何未来的发布版本来说应该都是相同或类似的,只要您根据需要更改文件名(例如在curl和tar命令中以及apt安装Linux镜像的位置)。除非Canonical改变了某些东西,否则其余部分应该是相同的。

测试环境(包括PXE服务器、服务和测试客户端)均在Hyper-V虚拟机上完成。

注意:最初是为了传统BIOS安装,现在已添加UEFI支持。UEFI的更改很小,syslinux安装已扩展。

文档:

Ubuntu Base wiki(已过时)

Ubuntu Base repository

Ubuntu Base Installation Example Guide(严重过时,GUI工具)

编辑-2020-11-22:修改了Ubuntu 20.10的脚本。如果您查看修订历史记录,早期脚本适用于20.04.1,但我同时也进行了一些调整,请进行比较以查看更改。

编辑 - 2020-12-06:修改了脚本,使其更简单直接,具有更好的网络功能,并添加了EFI引导程序支持。我没有为20.04编写新的脚本,只是字面上只需要更改curltarapt-get install中的linux-image-x.x.x-xx-generic这几行代码,您可以查看此答案的修订版本,最初的版本包含了20.04.1 Ubuntu Base的路径和名称。


谢谢你的努力。我会尝试这个。不幸的是,在你回答之前,悬赏已经过期了。如果它有效,我会将其标记为我的问题的答案。 - Andreas Unterweger
1没关系,我已经在为自己使用类似的东西做了一些工作,我只是稍微调整了一下才发布出来。如果它能正常运行,请告诉我,我会继续努力和调整,所以欢迎任何反馈(建设性的批评在这里受到欢迎!)祝你好运! - LuxZg
@AndreasUnterweger - 我需要警告你,因为我今天下午试过了... Xubuntu是一个"庞大"的软件包,根据大多数软件包的标准来衡量。如果任何软件包出现错误,apt将以非0(零)的错误代码退出。Subiquity非常敏感,一旦发生这种情况就会退出。可能是因为我的连接问题,下载和安装了大约1小时后,某个随机软件包出现了错误。然后,一切都结束了。然后你必须从头开始。因此,我建议你在第一次交互登录(重新启动后)时安装xubuntu-core。基本安装只需10分钟,然后再安装xubuntu。 - LuxZg
Xubuntu终于安装成功了(在首次启动后的交互登录中)。登录顺利,界面看起来不错,在sda2上占用了2.6GB的空间。现在我可以开始尝试使用基于openbox的极简图形界面了 :) - LuxZg
@AndreasUnterweger - 我已经对我的答案进行了一些调整和更新,版本号为20.10。我添加了一些内容,删除了其他的...现在应该更好用了。如果有人想查看之前的20.04版本,请查看修订历史记录。 - LuxZg
1感谢您的努力。如果您能在先决条件中添加更多细节(“您需要已经设置好其余的安装环境”),我将很乐意接受这个答案。这将帮助其他人轻松创建一个全新的虚拟机。 - Andreas Unterweger
好的。我稍微扩展了需求段落。其余的步骤和细节由“要逐步了解有关为 20.04 和更新版本设置 PXE 的详细信息,请阅读我的其他指南:https://askubuntu.com/a/1292097/1080682”来覆盖。 - LuxZg
1@AndreasUnterweger 我进行了一次大规模的脚本重写,并通过它更新了我的答案。这次我以“正确的方式”进行了网络设置,删除了很多软件包(甚至跳过了 ubuntu-minimal),加入了 EFI 引导,最后还添加了 apt 清理,并在此过程中将初始安装大小降低到了不到 400MB(之前版本约为 850MB)。另外,我还添加了一堆新的注释、注意事项和警告。通过这个设置,Xubuntu Core 的启动大小约为 1.9GB(经过 apt 清理后)。除非有人发现错误或有办法能有实质性的改进答案,否则我相信这将是我最后的编辑和评论。祝好! - LuxZg
有人能告诉我为什么这变得如此复杂吗?以前只需要下载一个小ISO文件,一切都搞定了。现在用户需要费尽周折才能得到一个更糟糕的结果。 - rbaleksandar

你是对的。 Xubuntu Core 在 VirtulaBox 6.1 上安装失败。

此时,唯一的选项是在线上创建用户 ID,然后将机器断开与互联网的连接。

请访问 https://core.docs.ubuntu.com/en/guides/manage-devices/ 安装 Xubuntu Core,以防您想要调整此需求并创建一个全新的 ISO...


谢谢您的回复,但是根据我的问题所述,我的要求不允许创建用户ID。 - Andreas Unterweger