如何使用 chroot 从 casper/filesystem.squashfs 安装 Ubuntu?

如何使用 chroot 从 casper/filesystem.squashfs 安装 Ubuntu?

我想从其他 Linux 安装 Ubuntu,并获得与从 ISO 文件启动的全新安装相同的一切。

ubuntu-20.10-live-server-amd64.iso安装和都很简单casper/filesystem.squashfs。但是,在rsync -ahPHAXx设置目标和之后arch-chroot,我仍然需要模仿服务器安装程序来设置语言环境和时区以及其他内容。

有没有关于该过程的文档?或者我可以在哪里阅读 Ubuntu 服务器安装程序的脚本?

答案1

还有其他方法可以实现,正如 Ubuntu 团队所设想的那样。

从 开始Ubuntu Base,然后继续安装所有内容。无需 ISO 中的 filesystem.squashfs。

大致按照我这里的回答: https://askubuntu.com/a/1293305/1080682

相反,从其他 LiveCD 启动或网络启动使用您当前的 Ubuntu,跳过格式化启动权限,只需编辑引导加载程序,然后使用 Ubuntu Base squashfs,然后使用 APT 安装整个桌面。

您可以在终端/CLI 中执行脚本,而不是将脚本放入自动安装程序中。只需小心在 chroot 内外执行的内容即可。

因为我是在答案中输入了这个而不是在评论中(清晨)所以这里是粗略的步骤(有关确切的命令,请参阅链接):

  • 启动当前的操作系统
  • 下载 Ubuntu Base squashfs(实际上是 tar.gz)-http://cdimage.ubuntu.com/ubuntu-base/releases/
  • 为新操作系统准备分区
  • 将文件系统解压到新分区
  • chroot 添加内核(linux-image-generic)、用户、密码、组成员设置网络等,请参阅链接以了解一些附加信息和原因解释
  • 在你的情况下,你可以在 chroot 中运行任何其他 APT 安装命令(例如 ubuntu-desktop)——这是可选的,可以在从 CLI 重启后完成
  • 如果你需要离线执行此操作,你可以挂载 ISO,并使用 dpkg 安装其中的软件包 - 这也可以在重启后从 CLI 执行
  • 使用指向新分区/操作系统启动文件的新条目来更新你的 grub
  • 重启

抱歉,还没打完就发帖了

答案2

包含casper/filesystem.squashfs所有linux文件/,例如/bin,/etc...
要 chroot 到此系统casper/filesystem.squashfs,只需使用树方法之一提取

  • 挂载到/path/of/new/dir然后 cp 到新目录
  • 取消压缩squashfsh-tools
  • 使用 7z 7z x casper/filesystem.squashfs 你需要一些东西gz
  • 但是如果您想启动,我们在服务方面遇到了麻烦,您必须在重启后启用,用指向新分区/操作系统启动文件、区域设置、密码、网络、fstab 的新条目更新您的 grub...

相关内容