看標題,標題涵蓋了3個部分,Ubuntu 備份系統爲ISO鏡像, 解決ISO限制4GB大小 , Clone當前系統到其餘電腦 咱們就從三個部分提及.html
在Windows系統中,咱們通常使用Ghost一鍵備份系統,Ghost是相對成熟的系統備份軟件,來自賽門鐵克,傻瓜式操做,各類PE中,系統鏡像中都是默認自帶.node
在Linux系統中,也有好幾個系統備份工具.mysql
好比 dd命令linux
參考:http://www.cnblogs.com/EasonJim/p/7442223.htmlnginx
rsync 命令git
參考: http://www.cnblogs.com/f-ck-need-u/p/7220009.html算法
不是人人都喜歡命令行下的備份與還原,大道至簡, 一樣一個功能,能簡單實現爲何要複雜完成呢,除非你屬於愛折騰裏面的極品.sql
還有其餘備份軟件session
remastersys 與Respin, remastersys 早已再也不維護,取而代之的是Respin 官網:http://www.remastersys.org/ ide
可是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文件的大小,就盡力把相似於虛擬系統這種佔空間的文件放到非用戶目錄下.
OK,如今已經生成.sblive文件了,能夠選擇選擇轉換爲光盤鏡像
看到了,爲何是灰色的,那是由於已經超過4GB大小了,只有小於4GB大小的才能經過systemback轉換爲iso文件.
那如何解決呢?
上連接:
也就是 ISO9660標準最大文件大小限制不能超過4GB,
解決的辦法就是採用udf文件系統.
UDF是統一光盤格式(Universal Disc Format)的縮寫當數據寫入光盤,須要寫入的數據體積>2G 時,須要採用此種格式.
1:解壓 .sblive 文件 (先su root)
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文件差很少.
咱們先打開這個sblive.iso能夠看到casper目錄下的filesystem.squashfs 文件, 這個文件大小几乎就是iso文件的大小,也就是說安裝的系統文件數據確定是在這個filesystem.squashfs文件中.
filesystem.squashfs文件都包含了那些內容,能夠打開任何一個Ubuntu的iso文件 或者剛纔解壓的sblive文件就能看獲取filesystem.squashfs. 解壓命令:
sudo unsquashfs filesystem.squashfs
能夠看到filesystem.squashfs就是系統數據文件
參考:
那貌似製做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
參考教程: