Systemback更改默认存储目录/home,并在Ubuntu18创建大于4G的Linux镜像教程


前言

最近在公司负责将Linux的Ubuntu18系统以及公司所安装的程序环境统一打包成 ISO 文件,以方便后面的标准盘制作。但在打包过程中遇到了各种各样的问题,遂在此记录下自己的踩坑内容和解决方法。

1.首先是Linux系统加上程序环境内容较大,导致最后生成的ISO文件远大于4G(最终是13G),故无法用常规方法打包。网上也有很多大于4G的ISO制作教程(利用Systemback),所以这个问题倒也好解决。

2.在网上找了Systemback安装教程,但发现Systemback默认没有支持Ubuntu18系统,这个问题可以通过更改一些命令行参数解决。

3.由于我的磁盘总空间是64G,并不算大,导致在生成ISO文件时,会出现磁盘内存不足的情况。利用Systemback生成ISO时,首先会生成一个中间文件sblive,而在生成这个生成文件的过程又会产生很多缓存文件,导致磁盘空间不够。比如我所用的硬盘是64G大小,其中/home目录下有25G空闲空间,且最后生成的sblive文件应该也就13G左右,按理来说是够用的(25G>13G)。但是在这个过程中systemback会产生很多缓存文件,导致所需磁盘空间远大于13G,也超过了/home目录的25G空闲空间。

我第一次生成sblive文件的时候没注意,以为磁盘空间足够,就挂着机让Systemback在那跑,导致最后磁盘空间爆了,Linux都启动不了。最后我也是自己找了方法,将systemback的默认工作目录/home更改为自己的U盘,让sblive文件直接在U盘里生成(我就不信64G的空U盘还不够!)。

如果你想尝试直接在/home目录下生成sblive文件,那我也建议你在Systemback运行过程中,多用df -h命令查看自己的磁盘空间大小变化情况,如果发现快要爆满了,则需及时终止Systemback运行。


以下是本篇文章正文内容,仅供参考

一、Ubuntu18系统安装Systemback

部分内容参考于网上的教程
参考链接: 基于 systemback 的 Ubuntu 系统镜像制作与安装

如果你也是Ubuntu18系统,那么你在按照网上的教程安装Systemback时应该会出现这种情况:
在这里插入图片描述

这是因为Systemback不支持Ubuntu18版本。
想要在Ubuntu18系统安装Systemback的话,需要进行如下操作:

1. 移除先前建立的仓库连接(如果有建立的话)

sudo add-apt-repository --remove ppa:nemh/systemback

2. 通过密钥建立连接

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B

3. 添加目标软件仓库

sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"

4. 更新系统软件仓库

sudo apt update

5. 安装 systemback

sudo apt install systemback

至此,Ubuntu18系统下的Systemback安装成功。

二、系统镜像的制作

1.启动Systemback

在Linux搜索栏直接搜索并启动Systemback:

在这里插入图片描述
或者通过命令行启动(虽然我用命令行启动不了):

 sudo systemback

2.修改默认存储目录/home

如果确定你的/home目录下磁盘空间够的话(我生成13G的sblive文件时,至少需要近28G的内存空间),那就无需更改存储目录,不够的话则需要执行下面步骤:

启动Systemback后可以看到默认存储文件夹是/home目录,且选择其他目录的时候基本都是红叉,选择不了。
在这里插入图片描述
一开始我以为直接外接个空间足够的U盘,然后将存储目录更改为U盘挂载的目录不就行了吗。但后面发现这条路也不通,U盘也是不可选择的格式(红叉)。
在经过一番资料查询后,我在官网找到了以下这段话

You can also set the Working directory where you store live images and isos. This directory must be a writable linux filesystem - no fat, exfat, fat32 nor ntfs directories or partitions can be used for storage.

此处意思是,选择写入的目录文件夹不可以是fat,exfat,fat32或者ntfs等格式,且必须是可写的linux文件系统。这时我才恍然大悟,因为自己的U盘是格式化为NTFS格式的,怪不得选择不了。

解决方法如下:

1.将U盘插入带有Linux系统的主机中,右键选择格式化
在这里插入图片描述
2.格式化类型选择Ext4:
在这里插入图片描述
格式化成Ext4后,我们的Systemback就可以识别到我们的U盘了。

3.为了方便查看U盘目录,我还将U盘目录进行了重新挂载(可选操作):

首先查看自己的U盘信息

sudo fdisk -l

输入这条指令后,你就可以大概根据自己的U盘大小和可用空间找到对应地址。

比如我的U盘地址是/dev/sdb ,且默认挂载在/media/用户名/U下。为了方便查看U盘内容,我将重新挂载到了/home/Udisk/下(Udisk不需要自己创建,他会自行创建)

用umout指令取消挂载 /media/用户名/U :
在这里插入图片描述

mount指令重新挂载至 /home/Udisk/ :
在这里插入图片描述

这时候我们就可以在Systemback的存储文件夹中选择挂载好的Udisk文件夹了(可以看到这里的黑色Udisk/为可选目录了,红叉Udisk是我之前自己建立的文件夹,结果发现用mount指令挂载的时候,它自己就会创建文件夹)在这里插入图片描述

到这一步就更改目录成功了。

3.生成sblive文件

由于自己没有截图,以下是我在网上找的一张网图,流程都一样。

首先,你需要将1中的工作目录 /home更改为你的U盘文件目录 /home/Udisk2中的系统名称可以自定义。如果你不止想备份裸系统,还想备份程序环境的话,那还需要勾选“包含用户数据文件”!!!
设置完成后选择创建新的,即可直接在U盘生成sblive文件
在这里插入图片描述

4.将U盘中的sblive文件移动回Linux主机

在经过漫长的等待后,我们的U盘也是生成了sblive文件,但我们要将其移动回Linux系统。移动回Linux主机的原因是因为我们的这个U盘到时候是要用来做启动盘的,所以要先把sblive保存回Linux主机(任意装有Systemback的主机都可),再用Systemback工具把sblive文件写入到启动盘中。

虽然制作sblive文件过程所需缓存空间很大,但制作完成后,Systemback会自动删除多余的缓存,只留下个13G大小的sblive文件,故又可以移回原先25G大小的/home目录下。

sudo mv /home/Udisk/Ubuntu_ISO.sblive /home/Ubuntu_ISO.sblive

5.制作启动盘

由于自己没有截图,以下是我在网上找的一张网图 ,流程都一样:
在这里插入图片描述

插入U盘后,下面Write target会显示你的U盘,勾选后,再在右上角选择你刚刚移动到Linux中的sblive文件,点击Write to target,Systemback就会把sblive文件直接写入到你的U盘里,从而制作好U盘启动盘。(注意,这里的Convert to ISO 应当是灰色的,因为其大于4G,无法转换。但我们可以跳过Convert to ISO的步骤,让Systemback直接帮我们生成U盘启动盘)

到了这一步,U盘启动盘已经制作完成。Systemback自动帮我们省去了转换成ISO的过程,直接就将大于4G的sblive文件制作成启动盘。如果你的目标只是制作启动盘的话,那你可以直接跳过第6和第7小节,直接去第三部分查看如何安装。

如果你想要的是单独的 ISO 文件的话,那你还需要通过第6和第7小节的内容,来利用cdrtools工具,将大于4G的sblive文件转换成 ISO 文件。

6.( 可选 )如何将sblive转成ISO文件

进入home目录:

cd /home

6.1 创建 sblive 文件夹

mkdir sblive

6.2 解压上一步获取的 .sblive 文件至 sblive 文件夹

tar -xf /home/target_iso.sblive -C sblive

6.3 对相关文件进行重命名操作

mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
mv sblive/syslinux sblive/isolinux

6.4 安装 cdrtools 工具

sudo apt-get install aria2
wget https://nchc.dl.sourceforge.net/project/cdrtools/alpha/cdrtools-3.02a07.tar.gz
tar -xzvf cdrtools-3.02a07.tar.gz
cd cdrtools-3.02/
make
sudo make install

6.5 在安装 cdrtools 工具时可能遇到资源被占用的情况,执行如下命令后再次进行安装

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

6.6 返回上级目录

cd ..

6.7开始镜像制作

sblive.iso 处 的 sblive 可以修改为目标名称

/opt/schily/bin/mkisofs -iso-level 3 -r -V sblive -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o sblive.iso sblive

接下来等待转换完成即可(一定要确保系统还有足够的空间留给转换ISO文件过程)。

7.( 可选 )如何利用ISO文件制作U盘启动盘

如果你不想通过Systemback直接制作U盘启动盘,而是想利用ISO镜像来制作启动盘,那么你可以在Windows下借助Ventoy这个工具来完成。

Ventoy工具下载地址:
链接:https://pan.baidu.com/s/1ezq_eEqhMgjFonrLvdcFTg
提取码:4DEF

在这里插入图片描述
解压后运行Ventoy2Disk.exe即可,该工具会自行检测U盘设备,选择好设备后点击安装即可在U盘安装引导工具(会自动格式化)。

安装完成后,将你的ISO文件放入U盘里即可,此时你的U盘就已经成为启动盘了。

三、启动盘安装系统

将U盘插入你要安装系统的主机,按键盘快捷键进入Boot界面,并在Boot界面把U盘设置为第一启动项。
这里各个主机的Boot界面启动后快捷键都有所区别,可以自行上网查阅资料。

1. 选择安装系统

在这里插入图片描述
这里我的U盘启动盘界面显示是乱码(我看到其他人也有这种情况,不知道为什么),不过没有什么影响。
网上其他人的原图如下:
在这里插入图片描述
第一个选项是将U盘作为系统,即直接在U盘上运行Linux系统,作为临时办公用。(注意,这里U盘的Linux系统无法保存用户做的任何修改,你下次重启后,再进入U盘的Linux系统会发现你新增或修改的内容都重置了)

第二个选项才是系统的安装,所以在这里我们选择第二个选项。

2. 进入安装界面

在这里插入图片描述

这里要求输入你母系统的密码,按要求登陆即可。

登陆后可以看到如下界面:
在这里插入图片描述
在这里填写你的新系统用户登录名和密码。
新用户全名也可以作为登陆账号,虽然首字母要求必须大写,但后面安装完系统后可以在Linux界面右上角账户一栏重新更改用户全名,所以也没什么影响。

在这里插入图片描述
接下来是进行分区的安装。
一般需要分成三个区,即boot,swap和根目录/
空间大小自行决定。

我这边建议勾选传递用户配置文件及用户数据,并安装GRUB2引导程序,不然系统可能无法正常安装。
安装GRUB2引导程序时,需要你有节点挂载在/boot/efi上,故我最后选择的三个分区是 /boot/efi , swap/
/boot换成/boot/efi似乎没有影响,最后系统也能正常安装并运行程序。

3. 安装成功

按照提示进行安装:
在这里插入图片描述
在这里插入图片描述
等待安装后重启即可。
有的用户重启界面可能会提示你拔掉启动盘,按照提示拔掉即可,否则可能会一直卡在加载Ubuntu的界面。

总结

网上虽然关于制作大于4G的ISO启动盘教程有很多,但还是有许多细节没有讲到,这篇教程也只是作为补充而已。若有错误,欢迎在评论区指出。

猜你喜欢

转载自blog.csdn.net/Bartender_VA11/article/details/126498468
今日推荐