我在此处重新发布此内容是因为它与 Askubuntu 上的主题无关。
我安装了 Linux Mint 17.3,自定义了主题,删除和添加了软件包,对文件管理器进行了许多更改等。我想知道一种简单的方法来将我所做的所有工作转换为可引导的 ISO,以便我可以在朋友之间分发。我可以使用 rematersys 和 relinix 创建 ISO,但由于某种原因我无法启动它们。我认为它们不再受支持,因为它们已经多年没有更新了。我可以使用什么以及如何使用它?谷歌提供了许多指南,但它们缺乏信息并且已经过时。
建议使用 Systemback 作为另一种选择,但会返回此错误:
Traceback (most recent call last):
File "/usr/lib/linuxmint/mintSources/mintSources.py",
line 1455, in <module> codename = config_parser.get("general", "base_codename")
File "/usr/lib/python2.7/ConfigParser.py",
line 330, in get raise NoSectionError(section) ConfigParser.NoSectionError: No section: 'general
答案1
我认为你可以通过这些步骤来做到这一点(这些是第一的和第二分步指南的一部分)...
准备主机
sudo apt-get install squashfs-tools
sudo apt-get install chroot
设置我们的工作环境。首先,我们将在 /tmp/livecd 下安装 iso:
mkdir /tmp/livecd
sudo mount -o loop ~/Desktop/ubuntu-7.10-desktop-i386.iso /tmp/livecd
然后在我们的工作目录中创建一个包含我们未来的 CD 映像 (cd) 的目录,并将除 casper/filesystem.squashfs 之外的所有 CD 内容复制到我们的 ~/livecd/cd 目录中
mkdir ~/livecd
mkdir ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd
现在我们需要将 casper/filesystem.squashfs 挂载到名为 ~/livecd/squashfs 的目录中,以便将其内容复制到我们要编辑 Live CD 文件系统的目录中:~/livecd/custom
mkdir ~/livecd/squashfs
mkdir ~/livecd/custom
sudo modprobe squashfs
sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/
sudo cp -a ~/livecd/squashfs/* ~/livecd/custom
最后,将 /etc/resolv.conf 和 /etc/hosts 复制到我们的 ~/livecd/custom/etc 中,这样我们就可以从我们要自定义的映像中访问网络(通过 chroot)
sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
进入我们未来的形象
为了自定义镜像,我们将 chroot 到 ~/livecd/custom 目录,挂载一些必要的伪文件系统(/proc 和 /sys)。从那里,我们将能够定制我们的 Live CD。
sudo chroot ~/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root
定制我们未来的现场 CD
删除一些包什么的...
更新现有图像
现在我们已经删除了不需要的软件,我们可以更新 /etc/apt/sources.list 以启用 Universe 和 Multiverse 存储库以及 gutsy-updates、gutsy-security 和合作伙伴存储库,以便我们可以安装 vmware-服务器
vim /etc/apt/sources.list
(您可以在该帖子顶部的第二个链接中查看最终文件)
现在我们可以通过运行更新图像:
apt-get update
apt-get dist-upgrade
安装新包
安装一些你想要的软件包...
好了,就是这样,我们现在拥有您使用 Live CD 时需要的任何软件。现在是时候进行一些清理了
清理 chroot
当我们安装软件包时,apt会缓存这些软件包,我们需要删除它们以节省一些空间:
apt-get clean
另外,/tmp 中有一些文件需要删除:
rm -rf /tmp/*
在 chroot 之前,我们添加了 2 个文件:/etc/hosts 和 /etc/resolv.conf,让我们删除它们:
rm -f /etc/hosts /etc/resolv.conf
最后,我们准备退出 chroot 并重新打包 CD。我们首先需要卸载 /proc 和 /sys:
umount /proc/
umount /sys/
exit
最后,我们回到我们的主机,因为我们修改了一些软件包,我们需要重建一些清单文件,重新创建squashfs并重新创建ISO
重新创建 ISO
首先,让我们重新创建清单文件:
chmod +w ~/livecd/cd/casper/filesystem.manifest
sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
并重新生成squashfs文件:
sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
Parallel mksquashfs: Using 2 processors
Creating little endian 3.0 filesystem on ~/livecd/cd/casper/filesystem.squashfs, block size 65536.
....
....
现在,或者,您可能想要自定义文件:〜/livecd/cd/README.diskdefines,最后更新〜/livecd/cd/md5sum.txt,其中包含〜/livecd/cd md5 sums中的文件:
sudo rm ~/livecd/cd/md5sum.txt
sudo -s
(cd ~/livecd/cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
我们现在几乎完成了,剩下的最后一件事就是使用以下命令创建 ISO:
cd ~/livecd/cd
sudo mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/Ubuntu-Live-7.10-custom.iso .
好了,您现在可以通过启动计算机或使用虚拟化/仿真软件(例如 qemu、kvm、vmware...)来测试您的映像。