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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM