背景:现在Docker容器化盛行的前提下,对于Linux系统的封装需求已经很少了,但还是存在一些直接将系统封装成ISO镜像文件的需求。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(1)

今天跟大家分享下这款神奇的开源免费故障恢复和备份工具 —— Mondo Rescue

什么是 Mondo Rescue?

Mondo Rescue(简称 Mondo):是一款开源免费的故障恢复和备份工具,可以说是 Linux 操作系统下的 Ghost ,你可以轻松地创建系统(Linux 或 Windows)克隆或备份的 ISO 镜像,可以将这些镜像存放在 CD、DVD、磁带、USB 设备、硬盘和 NFS 上。

万一数据丢失了,你将可以从备份介质还原系统所有数据或根据实际需求还原所有数据。

除此之外,Mondo Rescue 还可用来快速恢复或者重新部署工作镜像到其他系统中。

Mondo 支持 LVM 1/2、RAID、ext 2/3/4、JFS、XFS、ReiserFS、VFAT 等,并且可以轻松支持其他文件系统,支持软件 RAID 和大多数硬件 RAID 控制器,支持磁盘几何形状的调整,包括从非 RAID 到 RAID 的迁移。支持 BIOS 和 UEFI 引导模式。

Mondo 在所有主要的 Linux 发行版(Fedora、RHEL、OpenSUSE、SLES、Mageia、Debian、Ubuntu、Gentoo)上运行,可使用它来备份非 Linux 分区,例如:NTFS。

安装

下载安装包

你可以根据你的实际系统类型自行去官网下载,由于会有很多依赖关系,也可以通过 yum 的形式安装。

# wget ftp://ftp.mondorescue.org/rhel/6/x86_64/mondorescue.repo

进入 /etc/yum.repos.d/ 目录中操作,如在其他目录操作可能会起不到作用。

# yum install -y mondo

yum 安装过程中,可能会出现如下问题。

"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

解决办法:

# cd /etc/pki/rpm-gpg/
# wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

使用 CentOS 时,会出现如下错误:

warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID XXXXXX: NOKEY

解决办法:

加上"--nogpgcheck"参数

就是在你要执行的语句后面加上该参数即可;

# yum install -y mondo --nogpgcheck

制作镜像

安装完毕后,以 root 为身份用户,在终端下输入 mondoarchive,即可进入图形操作界面。

# mondoarchive
See /var/log/mondoarchive.log for details of backup run.
Checking sanity of your Linux distribution
.......
备份到什么介质

选择 Hard disk 备份 ISO 镜像到硬盘

如何把文件变成iso格式(如何制作linuxiso镜像文件)(2)

备份位置选择

输入备份 ISO 镜像所在目录的完整路径名或默认。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(3)

压缩类型选择

建议选择 gzip ,压缩率大。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(4)

压缩率选择

压缩选项选择 Maximum(9)

如何把文件变成iso格式(如何制作linuxiso镜像文件)(5)

选择每个镜像大小

输入你所想要的每个 ISO 镜像的大小,并以 MB(兆字节)为单位。

该数值应当小于等于 CD-R(W)(700)或 DVD(4480)的容量。

这里默认即可。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(6)

制定镜像名称

制定 ISO 镜像文件名,例如默认的 mondorescue,也可自定义或默认。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(7)

选择要备份的目录

输入你所要备份的文件目录,默认为根目录要备份全系统(默认即可)。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(8)

排除不需要备份的目录

排除不备份的文件系统并以 | 分隔。

一般来说有一些文件是不需要的,是可以排除掉的,而如果想要完整地备份你的操作系统,直接默认回车。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(9)

选择临时目录路径

输入临时目录路径,选择默认路径即可。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(10)

选择暂存目录路径

输入暂存目录路径,选择默认路径即可。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(11)

选择是否备份扩展的属性

选择备份扩展的属性,选择 yes。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(12)

备份机器的内核

默认直接选择 OK 回车即可。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(13)

验证备份文件

如要验证你的备份文件,在 Mondo 创建备份文件之后,选择 “Yes” 即可。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(14)

到这步骤之后软件会自动去备份(创建 “/” 文件系统目录、文件列表划分为集合、调用 MINDI、创建 boot+data 磁盘、备份文件系统、备份大文件、运行 mkisofs、创建 ISO 镜像文件、验证 ISO 镜像的压缩包、验证 ISO 镜像的大文件等)执行过程中无需人工交互操作。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(15)

最后,mondo archive 已经结束了它的运行,归档完成,选择 OK 回车键返回到 shell 提示符界面中。

如何把文件变成iso格式(如何制作linuxiso镜像文件)(16)

这时我们回到 /var/cache/mondo/ 目录下验证是否有一个 ISO 镜像文件。

# cd /var/cache/mondo/

# ls

difflevel.0  mondorescue-1.iso

到这步后,你就可以将备份镜像刻录到 CD/DVD 中了,便于以后恢复系统使用,可以用 Mondo 生成的 ISO 镜像引导操作系统,在引导提示符界面中选择 “(手动输入)nuke” 类型,恢复文件。

以上为 CentOS 为例,下面简单的以 Ubuntu 操作系统为例,可以使用 remastersys 和 remastersys-gui 工具。

Remastersys 可以将你安装的 Ubuntu、Debian 及其衍生版打包成一个可以用来安装的 Live CD/DVD 的 ISO 镜像文件,可打包一个包含个人数据的 ISO 镜像文件作为操作系统备份,也可以打包一个不包含个人数据的 ISO 镜像文件发布给其他人安装。

Remastersys 包下载

$ mkdir tools
$ cd tools/
$ wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys/remastersys_3.0.4-2_all.deb 
$ wget ftp://ftp.gwdg.de/pub/linux/easyvdr/mirror/remastersys/ubuntu/remastersys-gui/remastersys-gui_3.0.4-1_amd64.deb

安装 Remastersys 依赖

$ sudo apt-get install syslinux-utils isolinux squashfs-tools casper libdebian-installer4 ubiquity-frontend-debconf user-setup discover xresprobe systemd

安装 Remastersys-gui 依赖

$ sudo apt-get install libvte-common libvte9 plymouth-x11

开始安装 Remastersys

$ cd tools/
$ sudo dpkg -i remastersys_3.0.4-2_all.deb
$ sudo dpkg -i remastersys-gui_3.0.4-1_amd64.deb

Remastersys 备份操作系统

命令行模式:

$ sudo remastersys backup

图形化模式:

$ sudo remastersys-gui