咦啊,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 /mnt mkdir /mnt/{boot,home} mount /dev/sda1 /mnt/boot mount /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 /mnt mkdir /mnt/{boot,home} mount /dev/sda1 /mnt/boot mount /dev/sda3 /mnt/home
當然,需要掛在備份包的存儲分區。一個樣例:
mkdir /backup mount /dev/sda4 /backup
其中,備份包的存儲位置是sda4,這裡插一句,大家是怎麼分辨sdax對應哪塊空間的?反正我是根據大小啦=。=
創建臨時目錄/backup作為sda4的掛載點。
最後執行:
cd /mnt tar 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,卸載目錄,重啟,應該可以進入系統了,還是熟悉的面孔。
exit umount -R /mnt reboot
後話:
咦呀,uqi也是第一次寫博客,而且是博客園這樣大的平台,寫到這裡還是驚魂未定0v0。uqi也有自知之明,一開始申請寫博客權限的時候也寫明了:借園子這樣的好地方,邊學習,邊記錄。事實上,uqi也是剛剛接觸linux,今年6月份端午的時候。折騰了三個月,一直在折騰,因為它總是冒出莫名其妙的問題,有的解決了,有的沒能解決。事後觀之,在折騰的過程中,雖說沒學到啥實質性的技術,但至少了解了一些處理問題的框架模式,自己也能動手解決一些小問題了,對自己還是很有幫助的。
事實上,本文寫的事情uqi已經折騰了三四次了。一開始打算裝著玩,linux這邊分的空間太少了。期間加過一兩次,加上這次的大改,重新劃了分區表。每次操作都重新找教程,於是這次自己把它寫下來,方便以後查看,O(∩_∩)O哈哈~
好了,就這樣,uqi第一次寫博客,希望看官手下留情啊,任何意見我都會聽的。謝謝~
http://xxx/Linuxjc/1157476.html TechArticle