zoukankan      html  css  js  c++  java
  • Ubuntu 备份系统为ISO镜像 & 解决ISO限制4GB大小 & Clone当前系统到其他电脑

      看标题,标题涵盖了3个部分,Ubuntu 备份系统为ISO镜像,  解决ISO限制4GB大小 ,  Clone当前系统到其他电脑  我们就从三个部分说起.

    Ubuntu 备份系统为ISO镜像

    在Windows系统中,我们一般使用Ghost一键备份系统,Ghost是相对成熟的系统备份软件,来自赛门铁克,傻瓜式操作,各种PE中,系统镜像中都是默认自带.

    在Linux系统中,也有好几个系统备份工具.

    比如 dd命令

    参考:http://www.cnblogs.com/EasonJim/p/7442223.html

    rsync 命令

    参考: http://www.cnblogs.com/f-ck-need-u/p/7220009.html

    不是人人都喜欢命令行下的备份与还原,大道至简, 同样一个功能,能简单实现为什么要复杂完成呢,除非你属于爱折腾里面的极品.

    还有其他备份软件

    remastersys 与Respin, remastersys 早已不再维护,取而代之的是Respin  官网:http://www.remastersys.org/       

    但是Respin 也是问题一大堆,至少我的Ubuntu是这样的,

    一.只能备份系统目录,对于用户目录的数据无法备份

    二.限制4GB大小,如果你也是一个爱折腾的人,4GB是容不下你的.所以你可能会收到 "The compressed filesystem is larger than genisoimage allows for a single file."

    三.当我把系统精简后,的确打包成iso文件,问题是不管是虚拟机还是真机移植,4次移植两次失败,所以我认为Tespin不够稳定,好在Respin一直在更新,希望越做越好. gitlab地址 : https://gitlab.com/remastersys/LinuxRespin.git

    介绍了其他,现在有请主角登场:

    systemback  

    systemback 下载地址: https://sourceforge.net/projects/systemback/    Systemback_Install_Pack_v1.8.402.tar.xz    (2016-05-16)

    systemback功能很强大,可以创建还原点,恢复到还原点,可以系统复制,可以系统安装,可以创建live模式系统,可以包含用户目录数据.......

     liveCD模式

    LiveCD是一种光盘上的可运行出系统的激光光碟,简单的说就是一个光盘上的系统,你可以通过光盘启动电脑,启动出一个系统(这个系统在使用上和安装到硬盘上的是一样的,就是启动时速度比较慢)。Linux Live CD就是一套在光盘上的Linux系统(和装出来的Linux时一样的)它也有图形界面,也有终端。这种Linux Live CD主要是用于修复Linux系统或用于学习Linux系统。 来自百科的翻译.

    我们这里创建的备份系统就是liveCD模式镜像,通过U盘引导可直接开启LiveCD模式下的系统.

    备份系统

    我们不用从菜单-systemback中选择进入,因为备份的过程中可能出现错误,所以我们使用以下命令打开systemback

    DBGLEV=3 systemback-sustart

    当我备份的时候,就通过上面调试命令查看到了报错的信息

    一个是回收站Trash目录无法清空:

     另一个是开启了LNMP服务,mysql.pid, nginx.pid 占用资源无法释放,还有加载了CD或挂载目录无法读取只读系统文件,打包就出错了。

    所以备份之前一定要确定: .local/share/Trash 回收站为空, 关闭非系统的服务,不要使用专有驱动,建议使用开源驱动先备份,clone到新机子后在修改驱动.

    进入systemback,选择 创建live系统,勾选包含用户数据文件

               

    就这样等待十几分钟左右,就能创建.sblive完成, 等待的时间长短就要看你用户数据量的多少.

    生成的.sblive到底有多大? ???

    29.4GB到底有多大??? 因为你又不是iso文件,OK, 压缩.sblive的算法和.iso的算法差不多,也就是生成的.iso文件大小差不多的. 如何? 29.4GB那个系统有这么大,Ubuntu18.04也就2个GB大小, 一个企业版Windows10也就3.4GB.

    为什么我的系统生成这么大的.sblive文件呢,因为......

        

    用户目录下的一个子目录opt就将近42GB大小,其中大部分是VirtualBox安装虚拟系统的.vdi文件, Vbox目录大概39GB, 所以如果想减小生成iso文件的大小,就尽力把类似于虚拟系统这种占空间的文件放到非用户目录下.

    解决ISO限制4GB大小

    OK,现在已经生成.sblive文件了,可以选择选择转换为光盘镜像

    看到了,为什么是灰色的,那是因为已经超过4GB大小了,只有小于4GB大小的才能通过systemback转换为iso文件.

    那如何解决呢?

    上链接: 

    解决systemback 无法生成超过4G的iso的问题

    mkdir sblive
    tar -xf /home/systemback_live_2018-08-23.sblive -C sblive

    2:重命名 syslinux 至 isolinux

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

    3:mkisofs 命令

    发现了问题, Ubuntu自带mkisofs ,mkisofs命令用来将指定的目录与文件做成ISO9660格式的映像文件,但是自带的mkisofs命令貌似不支持4GB文件打包,

    在来说下cdrecord, 也就是cdrtools, 一个增强版的CD/DVD刻录软件

    下载地址: cdrtools-3.02a09.tar.gz   (2017-12-14)

    安装的时候make && make install 选择本系统的时候可以选择Ubuntu16.04,(无Ubuntu18.04选项, 但也可以用)安装好之后,在/opt/schily/bin/mkisofs 貌似就是增强版mkisofs, 其中-UDF参数就能看出来 Generate UDF file system, 所以默认情况下,当大于4GB的时候默认启用-UDF参数

    关于mkisofs 命令:

        -posix-H        Follow sylinks encountered on command line
        -posix-L        Follow all symlinks
        -posix-P        Do not follow symlinks (default)
        -o FILE, -output FILE    Set output file name
        -R, -rock        Generate Rock Ridge directory information
        -r, -rational-rock    Generate rationalized Rock Ridge directory info
        -J, -joliet        Generate Joliet directory information
        -print-size        Print estimated filesystem size and exit
        -UDF            Generate UDF file system
        -dvd-audio        Generate DVD-Audio compliant UDF file system
        -dvd-video        Generate DVD-Video compliant UDF file system
        -dvd-hybrid        Generate a hybrid (DVD-Audio/DVD-Video) compliant UDF file system
        -iso-level LEVEL    Set ISO9660 level (1..3) or 4 for ISO9660 v 2
        -V ID, -volid ID    Set Volume ID
        -graft-points        Allow to use graft points for filenames
        -M FILE, -prev-session FILE    Set path to previous session to merge

    4: 生成iso文件:

    /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

     在.sblive的同级目录下就生成了一个sblive.iso文件,大小和之前的.sblive文件差不多.

    Clone当前系统到其他电脑

    我们先打开这个sblive.iso可以看到casper目录下的filesystem.squashfs 文件, 这个文件大小几乎就是iso文件的大小,也就是说安装的系统文件数据肯定是在这个filesystem.squashfs文件中.

    filesystem.squashfs查看

    filesystem.squashfs文件都包含了那些内容,可以打开任何一个Ubuntu的iso文件 或者刚才解压的sblive文件就能看获取filesystem.squashfs. 解压命令:

    sudo unsquashfs filesystem.squashfs

    可以看到filesystem.squashfs就是系统数据文件

    参考: 

    Ubuntu误删系统文件修复办法

    那貌似制作liveCD更简单了, 找到本系统安装时的镜像版本文件,比如Ubuntu-mate18.04-desktop-amd64.iso, 将生成的filesystem.squashfs替换为源镜像中的filesystem.squashfs就ok了! 前提是你的文件小于4GB.

    可以通过systemback安装, 先通过U盘进入liveCD系统,安装systemback,选择系统安装-填写信息- 分区设置,勾选传递用户配置下一步安装

    参考: https://blog.csdn.net/sinat_33188616/article/details/56685553 

    参考教程: 

    How to Create a Disk Image from a Linux System Using Systemback

  • 相关阅读:
    事务传播机制,搞懂。
    洛谷 P1553 数字反转(升级版) 题解
    洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解
    洛谷 P1055 ISBN号码 题解
    洛谷 P2141 珠心算测验 题解
    洛谷 P1047 校门外的树 题解
    洛谷 P1980 计数问题 题解
    洛谷 P1008 三连击 题解
    HDU 1013 题解
    HDU 1012 题解
  • 原文地址:https://www.cnblogs.com/dcb3688/p/4610658.html
Copyright © 2011-2022 走看看