![如何构建定制Linux操作系统的ISO,以便我可以使用ISO安装在其他系统上?](https://linux22.com/image/76482/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E5%AE%9A%E5%88%B6Linux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84ISO%EF%BC%8C%E4%BB%A5%E4%BE%BF%E6%88%91%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8ISO%E5%AE%89%E8%A3%85%E5%9C%A8%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F%E4%B8%8A%EF%BC%9F.png)
我已经在 U 盘上安装了 CentOS6.7 的最小版本,复制/安装了一些应用程序/软件包并进行了相应的定制。
现在我想为我的定制操作系统构建 ISO,并希望使用 ISO 安装在其他系统上。
那可能吗?
提前致谢。
答案1
与 Microsoft Windows 等不同,文件系统上的任何文件都没有什么神奇或特别之处,如果它们与系统首次安装时位于磁盘的不同扇区,则系统不会崩溃。这意味着您只需将整个文件系统从一个磁盘复制到另一个磁盘即可正常工作。
了解这一点,您可以:
tar cfxz mysystem.tar.gz /
如果 /boot、/home、/usr 或 /var 位于不同的文件系统上,则需要在 tar 命令行上列出它们。该-x
选项防止下降到已安装的文件系统以排除/proc
, 和/sys
。例如,如果它们都是单独安装的文件系统:
tar cfxz mysystem.tar.gz / /boot /home /usr /var
调整以适合您的安装。
- 创建一个包含以下内容的 USB 记忆棒
gparted
- 安装它
- 复制
mysystem.tar.gz
到它。 卸载它。
将 USB 记忆棒(或其副本)发送给需要安装它的任何人,并附有说明:
- 启动它
- 使用 gparted 创建分区(rootfs、swap、任何其他分区)
- 启动 root shell
- 将分区挂载到 /target 下。例如,如果 /dev/sda1 和 /dev/sda2 上有 / 和 /boot:
mkdir -p /target mount /dev/sda1 /target mkdir -p /target/boot mount /dev/sda2 /boot
- 提取
mysystem.tar.gz
到/target
:
tar xfz /mysystem.tar.gz -C /target
根据需要进行编辑
/target/etc/fstab
,使其与新系统上的文件系统匹配。如果
/target/etc/udev/rules/70-persistent-net.rules
存在,则将其删除。准备 chroot 到 /target 以便运行
grub-install
:
for i in proc dev sys dev/pts ; do mount -o bind /$i /target/$i ; done
chroot /target
install-grub /dev/sda
exit
for i in proc dev sys dev/pts boot /; do umount /target/$i ; done
- 重启。您的系统应该被克隆到新磁盘上。
如果您创建包含两者的可启动 CD 或 DVDgparted
以及mysystem.tar.gz
.
答案2
您可以使用dd
以下命令来制作 iso:
sudo dd if=/dev/sda of=/path/to/new/iso.iso
(相应地更改if
(输入文件)和of
(输出文件)。)
并将其安装到您想要安装的每个磁盘上:
sudo dd if=/path/to/iso.iso of=/dev/sdb
(相应地更改if
(输入文件)和of
(输出文件)。)