我在虚拟化环境下运行 Ubuntu(作为 VMware ESXi、HyperV 或 KVM 的客户机)。由于虚拟化客户机 Ubuntu 无论如何都无法访问物理硬件,因此我应该删除哪些在虚拟化环境下不需要的软件包?我的意思是像 linux-firmware、intel-microcode、amd64-microcode、thermald、acpid 等软件包。您能否以某种方式建议我可以删除的不必要软件包列表?我正在运行许多虚拟机,我不希望它们仅仅因为某些软件包(例如 linux-firmware)已通过 unattended-upgrades 更新而无谓地重启。
答案1
如果你从 Ubuntu 开始云图像,则无需删除任何与硬件相关的内容。这对您当前的虚拟机没有帮助,但对您未来的虚拟机来说是一个更简单的起点。
以下是使用 KVM 和云镜像的入门示例:
您需要的一切,包括 KVM,都依赖于奇妙的
uvtool
包裹。没有 PPA,这都是 Ubuntu 原装主版本。$ sudo apt install uvtool
下载云映像。它有 400MB,所以需要几分钟。不要担心没有反馈 - 让它运行。
$ uvt-simplestreams-libvirt sync release=disco arch=amd64
创建虚拟机:
$ uvt-kvm create my_VM_name release=disco
好了 - 它现在正在运行。您可以使用virsh
它来控制虚拟机(暂停、恢复、关闭、启动、列出等)。您可以通过 SSH 进入它,或者使用virt-viewer
。
或者,如果你不想使用uvtool
,你可以从下载云图像https://cloud-images.ubuntu.com/
答案2
到目前为止,我已经确定了以下软件包,它们倾向于操作物理硬件,因此在虚拟化环境下无法执行任何操作,因此可以安全地删除它们,以避免在更新时进行不必要的重启unattended-upgrades
:
amd64-microcode intel-microcode iucode-tool thermald acpid linux-firmware mdadm