Deepin "系統" 備份 & 還原
Tofloor
poster avatar
dailidu
deepin
2016-01-01 02:42
Author
本帖最后由 dailidu 于 2015-12-31 18:42 编辑

簡介
在沒有圖型化工具的現在, 可先配合 btrfs 或, zfs 達成此目標.

前者簡單些, 在安裝 Deepin 時可選擇根文件系統為 btrfs, 不過, /home 最好放在其他如 ext4 之類的文件系統.

zfs 的話要手工完成安裝或轉移, 有興趣的話我再寫篇介紹
http://zfsonlinux.org/debian.html
https://github.com/zfsonlinux/pkg-zfs/wiki/HOWTO-install-Debian-GNU-Linux-to-a-Native-ZFS-Root-Filesystem

基本概念
這裡假設你已將系統安裝在 btrfs 上了. 所有的備份及還原動作都是以 btrfs 的子卷 (subvolume) 完成. 以下介紹簡單的操作.

產生一個叫 subvol1 的新 (空) 子卷
$ sudo btrfs subvol create subvol1

複製 (snapshot, 快照) subvol1 產生一個名叫 subvol2 的子卷
$ sudo btrfs subvol snapshot subvol1 subvol2

複製 subvol1 產生一個名叫 subvol3 的只讀子卷. 好處是可配合 btrfs send/receive 進行遠程備份, 不小心下錯指令如 'sudo rm -rf /' 備份也不會受影響
$ sudo btrfs subvol snapshot -r subvol1 subvol3

刪除子卷
$ sudo btrfs subvol delete subvol1

子卷的操作基本都是一瞬間完成. 複製 (snapshot) 只是對原內容增加一筆參考, 所以成本非常低, 所以你可以產生幾乎任意數量的子卷, 只要你管得來.

備份
接著, 我們可以將目前系統的狀態備份下. 首先建個目錄放置它們
$ sudo mkdir /root/snapshots

對 / (根本身也是子卷) 備份, 產生新只讀子卷位置在 /root/snapshots/v1
$ sudo btrfs subvol snapshot -r / /root/snapshots/v1

然後裝上你想裝的東西
$ sudo apt-get install very-unstable-package

還原
如果系統出了問題, 就回滾到先前的版本. 做法是複製一份 v1, 然後用它當新的根文件系統.

先建個目錄放可讀寫子卷
$ sudo mkdir /root/clones

複製子卷
$ sudo btrfs subvol snapshot /root/snapshots/v1 /root/clones/v1-1

更新 grub 設定$ cd /root/clones/v1-1
$ sudo mount -R /boot boot && \

    sudo mount --bind /proc proc && \
    sudo mount --bind /dev dev && \
    sudo mount --bind /sys sys && \
    sudo chroot . update-grub

重啟, 應該就會以 /root/clones/v1-1 做為根文件系統啟動了.
Reply Favorite View the author
All Replies
linux-d
deepin
2016-01-01 02:47
#1
本人现在用的系统是WIN10,想要再装个deepin15正式版系统成双系统。目前电脑上的4个盘都有些重要文件,不可以删掉,但我想把deepin15正式版系统装到E盘上去,要格式化E盘才能安装的了deepin15系统吗,还是不格式化也一样可以安装的了?求大神指教。
Reply View the author
MattD
deepin
2016-01-01 02:52
#2
btrfs的缺点是没有zfs那样直观的rollback命令,还原略繁琐。如果zfs和Linux内核的兼容性更好一点的话,我宁愿选择zfs。
Reply View the author
xhu2013
deepin
2016-01-01 03:01
#3
https://bbs.deepin.org/post/35012
本人现在用的系统是WIN10,想要再装个deepin15正式版系统成双系统。目前电脑上的4个盘都有些重要文件,不可 ...

不用格式化,wubi安装。
Reply View the author
moonkissme
deepin
2016-01-01 03:22
#4
https://bbs.deepin.org/post/35012
本人现在用的系统是WIN10,想要再装个deepin15正式版系统成双系统。目前电脑上的4个盘都有些重要文件,不可 ...

把最后一个盘,压缩出来50G,装在这50G上就行了{:4_87:}
Reply View the author
dailidu
deepin
2016-01-01 08:28
#5
https://bbs.deepin.org/post/35012
btrfs的缺点是没有zfs那样直观的rollback命令,还原略繁琐。如果zfs和Linux内核的兼容性更好一点的话,我宁 ...

我自已主要的資料也都是存放在 zfs 上, 4 顆 4T 組成的 raidz2, 家用很足夠, 可惜沒有 ECC RAM, 不然更安全.

zfs 主要是 license 問題, CDDL 與 GPL 不兼容, 所以除非 Oracle 再放出一版 GPL license 或是 dual or multiple license 的版本, 不然基本進 linux kernel 是沒望的, 非技術問題, 哈!
Reply View the author