从 Ubuntu 为 Debian 构建 Ubuntu Overlayroot-chroot

从 Ubuntu 为 Debian 构建 Ubuntu Overlayroot-chroot

我以前overlayroot-chroot在Ubuntu中使用:

http://manpages.ubuntu.com/manpages/bionic/man8/overlayroot-chroot.8.html

但现在我已经换成Debian了,它不存在了,也sudo apt install overlayroot-chroot没有找到它。

如何在 Debian 上获得它?

答案1

看来这个二进制子包于 2014 年从 Debian 版本中删除因为此时没有覆盖文件系统在 Debian 上编译。当前的 Debian 11 内核确实提供了覆盖文件系统

然后看起来 Launchpad 有这些来源有问题

cloud-initramfs-tools 0.18 比当前打包版本旧。 Launchpad 可能缺少 trunk 系列的发行信息,或者此软件包链接到错误的 cloud-initramfs-tools 系列。

而 0.47 可用。 Debian 从未超过 0.18,这可能是巧合,也可能不是巧合。

你可以重建:

  • 来自 Debian 源

    apt-get source cloud-initramfs-tools
    

    您必须取消overlayroot文件中包的构建部分的注释cloud-initramfs-tools-*/debian/control,并希望稍后在 0.18 和 0.47 之间没有任何重要的调整。

    无论构建了额外的内容,您都应该仅安装新构建的overlayroot_*.deb包(使用apt-get而不是dpkg仍然引入依赖项)。

  • 或来自 Ubuntu Launchpad 来源:

    最简单的方法是从https://launchpad.net/ubuntu/+source/cloud-initramfs-tools/0.47ubuntu1.tar.xz文件.dsc并使用:

    dpkg-source -x cloud-initramfs-tools_0.47ubuntu1.dsc
    

然后,在这两种情况下,请遵循有关如何从源代码(重新)构建包的指南:https://wiki.debian.org/BuildingTutorial包括步骤 2(依赖项)和 4(如果需要,编辑源)。

警告:未经测试,无法保证结果行为。

也可以看看:

答案2

以下是 @AB 提供的流程的一些扩展详细说明:

从 Ubuntu 为 Debian 构建 Ubuntu Overlayroot-chroot

  • sudo apt install overlayroot在 Debian 中不可用
  • overlayroot(启用overlayfs)和overlayroot-chroot(允许更改文件系统)是cloud-initramfs-tools

为构建创建一个目录

mkdir ~/overlayroot; cd ~/overlayroot

获取源代码

wget -O cloud-initramfs-tools_0.47ubuntu1.dsc https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-initramfs-tools/0.47ubuntu1/cloud-initramfs-tools_0.47ubuntu1.dsc
wget -O cloud-initramfs-tools_0.47ubuntu1.tar.xz https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/cloud-initramfs-tools/0.47ubuntu1/cloud-initramfs-tools_0.47ubuntu1.tar.xz

解压应用程序

dpkg-source -x cloud-initramfs-tools_0.47ubuntu1.dsc

构建应用程序

debuild -b -uc -us

安装应用程序

sudo apt install -y ../overlayroot_0.47ubuntu1_all.deb

配置 OVERLAYROOT

  • /etc/overlayroot.conf根据需要 设置,例如:
    overlayroot_cfgdisk="disabled"
    overlayroot="tmpfs:swap=1,recurse=0"
    
  • 重启

笔记

  • 可以使用以下命令进行永久更改: sudo Overlayroot-chroot

相关内容