创建我的自己的Ubuntu ISO

我正在运行每日Ubuntu镜像(Yakkety Yak),我想构建自己的Ubuntu镜像(现在是备用,但实时镜像的说明也有帮助),同时添加一些PPA。 Ubuntu社区帮助wiki上有几个指南,但它们似乎都已过时。我还尝试阅读Ubuntu和Debian的代码来完成此操作,但我没有看到它们的确切使用方式。
我如何在不安装古老的Trusty Tahr的情况下完成这个操作?

Ubuntu从来不会预装这些软件,你需要自己安装它们! - minigeek
2个回答

使用Respin,它是Remastersys软件包的当前分支,并且[源代码] 3 可用于Ubuntu 14.04到16.04版本的Ubuntu。现在Yakkety已经冻结,我希望很快也会有一个适用于该版本的软件包可用。
以下是我在Xenial(16.04)中安装respin的过程。
Respin依赖于xresprobe和isolinux,这两者都不在软件仓库中,所以我们需要添加一些PPA,更新软件包列表并安装它们。
sudo add-apt-repository ppa:sergiomejia666/respin
sudo add-apt-repository ppa:sergiomejia666/xresprobe
sudo apt install xresprobe
sudo apt install respin

进一步的研究表明,我们还需要 isolinux。
sudo apt install isolinux

我决定选择实时系统(脚本还提供其他选项,但对我来说,带有安装程序的实时系统更有用)。不带任何参数的"respin"将提供以下输出:
Examples:
 
   sudo respin backup   (to make a livecd/dvd backup of your system)
 
   sudo respin backup custom.iso
                        (to make a livecd/dvd backup and call the iso custom.iso)
 
   sudo respin clean    (to clean up temporary files of respin)
 
   sudo respin dist     (to make a distributable livecd/dvd of your system)
 
   sudo respin dist cdfs
                        (to make a distributable livecd/dvd filesystem only)
 
   sudo respin dist iso custom.iso
                        (to make a distributable iso named custom.iso but only
                         if the cdfs is already present)
 
   cdfs and iso options should only be used if you wish to modify something on the
   cd before the iso is created.  An example of this would be to modify the isolinux
   portion of the livecd/dvd

下一步,我们需要设置我们的重新生成(respin)。 sudo respin dist cdfs(用于创建可分发的可启动光盘/ DVD 文件系统),我们将使用它来创建自定义 ISO。
这将是一个相当耗时的过程(预计时间取决于硬件)。
在这一点上,我们可以根据自己的喜好修改 live 媒体的 isolinux 部分。
现在开始创建 ISO。
sudo respin dist iso custom.iso

注意:
由于我的16.04系统有许多添加/修改和几个虚拟机,因此生成的镜像非常大。
Making custom.iso a hybrid iso
isohybrid: Warning: more than 1024 cylinders: 2547
isohybrid: Not all BIOSes will be able to boot this device
Creating custom.iso.md5 in /home/respin/respin
/home/respin/respin/custom.iso which is 2.5G in size is ready to be burned or tested in a virtual machine.

启动“启动盘创建器”,选择您的custom.iso文件和目标位置。(我使用了一个4GB的闪存驱动器)
custom.iso文件将在/home/respin/respin目录中找到。
生成的镜像按预期工作。Yakkety的问题是,截至目前为止,我找不到xresprobe的安装候选项。也许你可以从source构建或等待。就个人而言,我发现大多数开发人员似乎更关注LTS版本。对我来说,这很有道理,因为在9个月的发布上投入大量精力似乎不太高效。 编辑:Ubuntu的最新发布的respin deb软件包可以在这里找到。

只是提供信息:你的第一个链接指向一个只有两个文本文件的存储库,第二个链接被我的ABP屏蔽列表拦截,而你底部的编辑链接是404。 - Frank N
1@FrankNocke 你还在使用这个回答最初写给的Ubuntu 16.04吗?我想你会发现,尽管第一个链接是4年前的,但它指向的页面包含了一个链接,可以跳转到https://gitlab.com/remastersys/LinuxRespin。至于你的ABP blocklist,你可以尝试使用https://gitlab.com/remastersys代替。你也可以考虑写一个更加当前的回答。祝好! - Elder Geek

使用Systemback

通过使用Systemback工具,您可以备份并创建实时ISO文件。您可以从其PPA安装它,并且它与remastersys(不再维护)的工作方式相同,我想。 Ubuntu 14.04还需要一个称为unionfs-fuse的额外软件包。它还可以创建实时USB映像。您可以将用户文件添加到ISO中,然后在其他设备上安装,但是其他设备可能具有不同的图形等,请确保您未卸载预装的xorg视频软件包。所以您只需添加PPA并安装即可。

sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update && sudo apt-get install systemback unionfs-fuse

创建完 ISO 文件后,制作一个 Live USB 并从同一台机器或不同的机器启动,您将会发现 Systemback 已安装。

enter image description here Systemback

使用 remastersys

(我不确定今天是否已经支持了)

 sudo add-apt-repository ppa:kranich/remastersys
 sudo apt-get update

跟随指南的GUI说明。(最好制作当前系统的ISO副本)
使用Ubuntu Builder
sudo add-apt-repository ppa:f-muriana/ubuntu-builder
sudo apt-get update && sudo apt-get install ubuntu-builder

按照图形界面的指示进行操作。

使用Pinguybuilder

这里下载.deb文件,并使用dpkg或gedbi安装它。这是一种新型的remastersys。


刚刚使用Systemback创建了一个6.8 GB的.sblive文件,可以将其制作成可启动的。 - minigeek
我不确定这个回答是否解决了我的问题。我特别指出了现有的说明已经过时,而且你提供的方法似乎与我在网上看到的方法相同。我希望使用Ubuntu或Debian使用的相同工具或至少相同的方法,而不是一些可能适用于Yakkety的软件。如果你已经在Yakkety上测试过从存档中构建镜像并且没有需要手动干预的话,我愿意接受这个答案。那就是我想要的。 - Simon Quigley
@Simon Quingley 这是一个ppa!外部项目!不是来自launchpad...而且yakkety是16.10的ubuntu版本...只需按照systemback应用程序说明进行操作,创建.sblive文件即可制作成可启动的...请记住,ubuntu要求至少有6GB的空间...这不会创建.iso文件,而是创建了一个6GB+的.sblive文件...就这样做吧...昨天我刚试过,因为我也想要保留我的备份...还有,请记住,无论何时安装它,都要将分区设在另一个系统上的相同位置,比如这里的70GB未分配空间,那边也应该有70GB未分配空间...尝试一下吧,兄弟 :) 并告诉我结果...我不想因为我的经验而得到负反馈 :( - minigeek
Yakkety和其他版本没有什么不同,只是它是短期支持版本。Systemback PPA可以安装在所有现有的Ubuntu版本上!我在16.04、Deepin(Debian)和14.04上都试过了。 - minigeek
我在Yaketty上使用了Live system create进行系统备份的测试,然后将其转换为ISO文件。我使用dd命令将ISO文件写入U盘。Live系统按预期启动,但意外地保留了原始帐户。安装尝试后出现了grub提示符。 - Elder Geek
@Elder Geek,我不知道dd是做什么的...是的,楼主希望在所有机器上保持相同的设置...是的,它会通过grub引导界面以及所有菜单进行提示。 - minigeek
抱歉造成困惑,我是指 grub rescue 提示符。grub> - Elder Geek
也许使用boot-repair可以解决这个错误,如果出现这种情况的话! - minigeek