關於archlinux備份,archlinux備份
咦啊,uqi也不是大神,懂的都是皮毛。也不獻醜。僅作記錄之效。
tar備份arch:
建立exclude列表,排除不需要備份的檔案。一個範例:
#vi /excl
/proc/*/dev/*/sys/*/tmp/*/mnt/*/media/*/run/*/var/lock/*/var/run/*/var/lib/pacman/*/var/cache/pacman/pkg/*/lost+found
準備一個liveCD,也就是安裝arch的u盤。
插入u盤,進入bios,設定u盤為優先啟動。
進入u盤系統,掛載好原系統的分區。一個範例:
mount /dev/sda2 /mntmkdir /mnt/{boot,home}mount /dev/sda1 /mnt/bootmount /dev/sda3 /mnt/home
掛載之後就可以執行chroot進入要備份的系統了。
arch-chroot /mnt /usr/bin/bash
進去之後,執行
tar cvpjf backup20160910.tar.bz2 --exclude-from=/excl /
註:這裡excl是一開始建立的過濾列表,若它不在tar命令的執行路徑內,則應將路徑寫完整。
這裡建議tar的執行路徑不包含在需要打包的路徑內,即tar的執行路徑最好放在excl列表中的某個檔案夾內,只是為了防止遞迴備份。
最後,當然要保證磁碟空間充足。
這樣,整個系統就被打包好了。在tar的執行路徑下,應該可以看到備份檔案了。
備份好的包可以用來還原,遷移系統。
tar恢複arch:
首先,插u盤進入liveCD。
規劃好分區,格式化啥的,參見archwiki的Beginner's Guide.
同樣的,掛載好分區。一個範例:
mount /dev/sda2 /mntmkdir /mnt/{boot,home}mount /dev/sda1 /mnt/bootmount /dev/sda3 /mnt/home
當然,需要掛在備份包的儲存分區。一個範例:
mkdir /backupmount /dev/sda4 /backup
其中,備份包的儲存位置是sda4,這裡插一句,大家是怎麼分辨sdax對應哪塊空間的?反正我是根據大小啦=。=
建立臨時目錄/backup作為sda4的掛載點。
最後執行:
cd /mnttar xvpjf /backup/backup20160910.tar.bz2
將備份包解壓到對應的位置。
然後產生fstab:
genfstab -U -p /mnt >> /mnt/etc/fstab
執行完成後建議檢查一下/etc/fstab的正確性。
接著進入恢複好的系統:
arch-chroot /mnt /bin/bash
重新設定啟動引導:
grub-mkconfig -o /boot/grub/grub.cfg
這樣,備份包就恢複好了。
退出chroot,卸載目錄,重啟,應該可以進入系統了,還是熟悉的面孔。
exitumount -R /mntreboot
後話:
咦呀,uqi也是第一次寫部落格,而且是部落格園這樣大的平台,寫到這裡還是驚魂未定0v0。uqi也有自知之明,一開始申請寫部落格許可權的時候也寫明了:借園子這樣的好地方,邊學習,邊記錄。事實上,uqi也是剛剛接觸linux,今年6月份端午的時候。折騰了三個月,一直在折騰,因為它總是冒出莫名其妙的問題,有的解決了,有的沒能解決。事後觀之,在折騰的過程中,雖說沒學到啥實質性的技術,但至少瞭解了一些處理問題的架構模式,自己也能動手解決一些小問題了,對自己還是很有協助的。
事實上,本文寫的事情uqi已經折騰了三四次了。一開始打算裝著玩,linux這邊分的空間太少了。期間加過一兩次,加上這次的大改,重新划了分區表。每次操作都重新找教程,於是這次自己把它寫下來,方便以後查看,O(∩_∩)O哈哈~
好了,就這樣,uqi第一次寫部落格,希望看官手下留情啊,任何意見我都會聽的。謝謝~