通过systemback制作系统镜像以及镜像安装,实现系统备份和复刻

2023-10-08 18:50

本文主要是介绍通过systemback制作系统镜像以及镜像安装,实现系统备份和复刻,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:使用systemback制作Ubuntu自定义系统镜像和系统备份_bluewhalerobot的博客-CSDN博客_systemback 制作iso

(Ubuntu系统下的备份软件很多,比如我之前用过的Remastersys、Respin、Pinguy等,但是它们都存在一个很难受的问题:所做的镜像最大不能超出4G。

SystemBack的功能

       Systemback是一个Ubuntu系统中用于发布自定义系统镜像和系统备份的软件,它同样有4G大小限制,但存在解决办法,故选用它来制作大内存镜像。有时候我们对自己的Ubuntu做了很多设置,比如各种软件包,各种自定义的配置。我们想要在另一台电脑上也安装一个和我们一模一样的系统,这个时候就会用到这种方法了。这个方法不仅可以用于发布系统,也可以用来作为系统备份使用。

下面就具体介绍一下这个软件的安装和使用方法

安装

1.添加ppa源 

sudo add-apt-repository ppa:nemh/systemback

2.更新软件库并安装systemback

sudo apt-get update && sudo apt-get install systemback unionfs-fuse

使用方法

安装完成后在Dash菜单中就能找到这个软件了 

å¨è¿éæå¥å¾çæè¿°

输入管理员密码,点击OK键。 

å¨è¿éæå¥å¾çæè¿°

打开后界面如下图所示:

如果需要创建系统备份,点击Create new ;如果需要创建活动系统,点击Live system create

å¨è¿éæå¥å¾çæè¿°

自定义系统的iso文件制作 

一、打包系统文件

1. 点击右侧的Live system create按钮,出现界面如下图所示  
å¨è¿éæå¥å¾çæè¿°
2. 勾选左侧的include the user data files,这样自己主文件夹内的文件都会被包含在系统镜像中。很多相关的程序的配置文件都是保存在主文件夹内的。

Working Directory是设置工作目录,程序运行时产生的临时文件都会被保存在这里,所以一定要保证这里有足够的存储空间。 

Name of the Live system是创建后的系统文件名。
3. 点击Create New按钮就开始创建了,等待创建完成。完成后界面如下图所示 
å¨è¿éæå¥å¾çæè¿°

二、生成ISO文件

 å¨è¿éæå¥å¾çæè¿°

       右侧的列表中就是已经创建的备份。此时文件没有转换成iso格式,选中你要转换的备份,点击convert to ISO 就可以开始转换了(当iso镜像大于4G是该按钮为灰色,解决办法见解决systemback 无法生成超过4G的iso的问题)。

å¨è¿éæå¥å¾çæè¿°

转换完成后,在你的工作目录下就能找到生成的iso文件。 

0_1488520901942_Screenshot from 2017-03-03 14-01-33.png

这个文件就可以用来安装系统了。同时还可以作为live系统来使用。

在备份过程中可能提示

The restore point creation is aborted!
There has been critical changes in the file system during this operation

这并不一定是由于系统发生了严重的更改,只要是在复制文件的过程中出现错误都会出现这个信息。 
详细的错误信息可以通过

systemback-sustart

这个指令去调试,看看具体哪一个文件复制出了问题。极有可能的是权限问题。 
也可以通过这个指令去调试

DBGLEV=3 systemback-sustart

当错误出现后会在/tmp文件夹下创建一个systemback的错误信息文件。可以方便的通过这个文件去找到错误的原因。

镜像安装,实现系统完整复刻

          经过实验,通过systemback制作的iso镜像文件的安装方法同Remastersys等方式不同。后者生成的iso文件同ubuntu官方直接下载的ubuntu.iso镜像一样,在虚拟机选定镜像文件xxx.iso后直接进入系统,然后安装系统即可;而systemback生成的iso镜像开机引导会是如下界面:

此时,选择第二项进行系统安装(图片是别人的,自己没截图,没差),填入各项信息,如下

点击下一步进入分区界面。

0_1495595659911_QQæªå¾20170524111410.png


选中你要安装的硬盘,然后点击Delete按钮

0_1495595742333_QQæªå¾20170524111500.png

再次选择硬盘中的新分区

0_1495595803274_QQæªå¾20170524111613.png

点击箭头进入下一步

0_1495595848336_QQæªå¾20170524111719.png

再次选择刚才新建的分区
设置右侧的Mount point,将主硬盘挂载点选择到根目录/并且勾选上Tansfer user configuration files,否则系统安装时不会导入个人文件,再次点击箭头进入下一步

点击右下角的next就可以继续了。如果你还想设置其他分区可以按照以上的步骤进行设置。

0_1495596017069_QQæªå¾20170524112010.png

等待系统安装完成后重新启动,发现系统和原来的一摸一样,但是由于网卡不同,所以网络需要重新配置,可参看我另一篇博客Ubuntu上网功能的配置,配置好之后,就大功告成了!

这篇关于通过systemback制作系统镜像以及镜像安装,实现系统备份和复刻的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/167314

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa