- 相關(guān)推薦
Linux系統(tǒng)恢復(fù)10個(gè)方法
在Linux中有一些應(yīng)用程序可以幫助你保存系統(tǒng)快照。大多數(shù)應(yīng)用程序都是針對(duì)于新手的,并不需要高級(jí)的Linux操作技巧。我們?cè)谶@里挑選了10個(gè),你可以從中選擇適合自己的應(yīng)用。
Windows中的系統(tǒng)恢復(fù)功能
Windows家族最初的系統(tǒng)恢復(fù)功能要回溯到2000年的Windows ME版本,當(dāng)時(shí)還只能恢復(fù)系統(tǒng)文件和注冊(cè)表,而且并不穩(wěn)定。在Windows XP和Vista中系統(tǒng)恢復(fù)的性能得到了很大的提高。也是從那時(shí)起,系統(tǒng)恢復(fù)開始依賴于一個(gè)叫做硬盤快照服務(wù)(Volume Snapshot Service)的系統(tǒng)服務(wù)功能,能夠自動(dòng)創(chuàng)建系統(tǒng)快照–包括正在使用的文件–然后將這些文件轉(zhuǎn)換為可恢復(fù)的節(jié)點(diǎn)文件。
新的方式給用戶提供了更多的自定義功能,比如用戶可以為快照分配磁盤空間,可以選擇監(jiān)視哪些文件目錄等等。但是還是有很多的限制,比如只有NTFS格式的分區(qū)具有系統(tǒng)恢復(fù)快照功能,而且在Windows 8版本之前,快照并不能長期保存。
Windows的每次版本更新都帶來了混亂,比如Vista的家庭版中沒有提供恢復(fù)從前的系統(tǒng)快照的用戶界面,而Windows 8出現(xiàn)了不兼容之前版本的系統(tǒng)快照的問題,最終Windows 10索性禁用了系統(tǒng)恢復(fù)功能,讓用戶手動(dòng)啟用與操作,這么看起來這項(xiàng)決定是有意而為。
好了,不再說關(guān)于Windows的事了,還是來看看在Linux中我們應(yīng)該怎么做吧!
Linux系統(tǒng)恢復(fù)的工作原理是什么
呃,實(shí)際上這并不是一項(xiàng)系統(tǒng)功能,至少不應(yīng)該在名字里帶上“系統(tǒng)”這兩個(gè)字,因?yàn)槟悴粫?huì)在任何一個(gè)Linux系統(tǒng)發(fā)行版的系統(tǒng)菜單中找到所謂的系統(tǒng)恢復(fù)(System Restore)功能。你要做的是找到一個(gè)合適的應(yīng)用程序并安裝才可以。絕大多數(shù)的系統(tǒng)恢復(fù)應(yīng)用程序和Windows中系統(tǒng)恢復(fù)功能的工作原理是相同的,在特定的時(shí)間節(jié)點(diǎn)為你的系統(tǒng)創(chuàng)建快照文件,然后在系統(tǒng)出現(xiàn)問題的時(shí)候,允許你回滾到選定的時(shí)間點(diǎn)。
在介紹這些應(yīng)用程序之前,讓我們先簡單的了解一下系統(tǒng)快照究竟是什么?
系統(tǒng)快照與備份的區(qū)別
拋開這兩者的名字不同,總的來說,備份(Backup)是指將文件復(fù)制出一份副本并且保存到另一個(gè)位置。備份很少會(huì)將整個(gè)磁盤備份,那樣做通常是叫做磁盤鏡像或者是磁盤克隆,這種類型的備份實(shí)際上是對(duì)整個(gè)磁盤做了一個(gè)鏡像,包括用戶數(shù)據(jù),操作系統(tǒng),啟動(dòng)分區(qū)等等。磁盤鏡像可以被用在裸機(jī)恢復(fù)工作中。這時(shí)候你就可以在不需要安裝操作系統(tǒng)情況下,將一塊硬盤的全部內(nèi)容復(fù)制到另一臺(tái)電腦上。
而系統(tǒng)快照(Snapshot)則是在特定的時(shí)間節(jié)點(diǎn)上保存文件系統(tǒng)的狀態(tài),并且保存在與文件系統(tǒng)相同的存儲(chǔ)設(shè)備上。通常系統(tǒng)快照中會(huì)包含所有的目錄與文件信息,或者至少是保存了操作系統(tǒng)所需要的文件信息。
將快照和文件系統(tǒng)保存在同一個(gè)位置就實(shí)現(xiàn)了回滾的可能性,同樣也有利于節(jié)省磁盤空間。在這種情況下,每新建一個(gè)系統(tǒng)快照并不需要將整個(gè)文件系統(tǒng)的狀態(tài)全部保存下來。形象地說,系統(tǒng)快照就像是一個(gè)不斷增長的備份過程,每次只是保存和上次不同的信息變化,這也就意味著每一個(gè)系統(tǒng)快照都要依賴于上一次系統(tǒng)快照,這樣才能完全完成系統(tǒng)恢復(fù)工作。而與之相反的是,一個(gè)完整的磁盤備份或者是磁盤鏡像則與其他的備份文件相互獨(dú)立,可以單獨(dú)完成系統(tǒng)恢復(fù)工作。
系統(tǒng)快照可能會(huì)碰到的問題是它們對(duì)于硬盤故障非常的脆弱。如果你的硬盤受到了嚴(yán)重的物理損傷,那么很可能你的系統(tǒng)快照就無法幫助你恢復(fù)系統(tǒng)了。為了防止這一點(diǎn),我們建議在安裝與設(shè)置好你的Linux系統(tǒng)之后立即做一份系統(tǒng)快照,然后把它單獨(dú)復(fù)制到另外的存儲(chǔ)設(shè)備中。
保存系統(tǒng)快照
在Linux中有一些應(yīng)用程序可以幫助你保存系統(tǒng)快照。大多數(shù)應(yīng)用程序都是針對(duì)于新手的,并不需要高級(jí)的Linux操作技巧。我們?cè)谶@里挑選了一些,你可以從中選擇適合自己的應(yīng)用。
TimeShift
TimeShift提供了一個(gè)非常簡潔的圖形用戶界面,你也可以直接在終端輸入命令使用它。默認(rèn)情況下。TimeShift并不會(huì)包含用戶的個(gè)人文件,但你可以通過自定義將特殊的目錄添加到快照中去。Ubuntu及其分支的用戶可以從開發(fā)者的PPA獲取TimeShift:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
其他版本的用戶可以下載安裝文件并在命令行終端運(yùn)行:
./timeshift-latest-amd.64.run
TimeShift還提供了專門針對(duì)BTRFS文件系統(tǒng)的版本,可以支持原生的BTRFS系統(tǒng)快照功能。
工作方式
TimeShift能夠幫助你隨時(shí)完成快照工作,或者你也可以設(shè)置讓TimeShift自動(dòng)創(chuàng)建快照。你可以安排任務(wù)計(jì)劃,每小時(shí)、每天、每周或者每個(gè)月進(jìn)行快照,也可以設(shè)置清除這些快照的時(shí)間。TimeShift有一個(gè)特殊的選項(xiàng)叫做重啟快照,用來在每次系統(tǒng)重啟之后創(chuàng)建一個(gè)新的快照文件。
TimeShift從快照中進(jìn)行系統(tǒng)恢復(fù)是一項(xiàng)非常簡單直接的工作,只要選擇快照文件并且告訴它應(yīng)該存儲(chǔ)的位置就可以了。TimeShift提供了將快照恢復(fù)到外設(shè)的選項(xiàng),克隆功能能夠直接將現(xiàn)有系統(tǒng)狀態(tài)復(fù)制到另一個(gè)設(shè)備中,這在將你的操作系統(tǒng)遷移到另一臺(tái)新電腦時(shí)非常方便,因?yàn)槟悴辉傩枰獜念^開始安裝各種功能和應(yīng)用。
在恢復(fù)快照之前,TimeShift會(huì)詢問你是不是需要保存現(xiàn)有的應(yīng)用設(shè)置,并且讓你選擇保存哪一個(gè)。請(qǐng)記住TimeShift需要GRUB 2啟動(dòng)進(jìn)入快照恢復(fù)。
cronopete
如果你認(rèn)為TimeShift的操作已經(jīng)足夠簡單的話,那么Cronopete甚至更加簡單,至少從外觀上看來是這樣的。Cronopete自稱為OS X的時(shí)間機(jī)器,與TimeShift工作起來稍有不同。Cronopete為Ubuntu,Debian和Fedora提供了包文件,Arch Linux使用者可以在AUR中找到它。
工作方式
與本文中介紹的其他應(yīng)用程序不同,Cronopete將備份與快照功能捆綁在一起,并且要求你將快照保存在外部設(shè)備上。默認(rèn)情況下,它會(huì)每個(gè)小時(shí)都檢查一遍你的文件變化,但是當(dāng)然可以在設(shè)置中改變這個(gè)時(shí)間間隔。如果某個(gè)文件并沒有發(fā)生變化,那么Cronopete將對(duì)這個(gè)文件只進(jìn)行一個(gè)硬鏈接而并不復(fù)制這份文件,這會(huì)幫助節(jié)省磁盤空間。
Cronopete的文件恢復(fù)可能是它最酷的功能,好像真的能幫助你“穿越時(shí)間”,也就是說,可視化的瀏覽所有儲(chǔ)存版本的文件與文件夾。想要恢復(fù)哪一個(gè)文件,只需要選上它,然后點(diǎn)擊恢復(fù)就可以了,這個(gè)文件就會(huì)從外部的存儲(chǔ)設(shè)備中復(fù)制到你現(xiàn)有的系統(tǒng)中來。當(dāng)然這里你可能也猜測到了,Cronopete對(duì)于全系統(tǒng)恢復(fù)并不十分具有意義,但是如果你想要保存單獨(dú)文件的多個(gè)版本,那么它是一個(gè)很好的選擇。
Back In Time
Back In Time的用戶界面看起來非常友好,能夠吸引住Linux新手。它的設(shè)置對(duì)話框中提供了非常精細(xì)的操作控件,用戶界面看上去就像是一個(gè)文件管理器一樣,在這里你可以閱覽所有的快照,瀏覽快照中的文件,以及恢復(fù)選定的文件與文件夾。
Ubuntu用戶可以從PPA中安裝Back In Time:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime-qt4
有些發(fā)行版會(huì)在自己的資源庫中提供Back In Time,如果你的發(fā)行版沒有的話,也總可以在網(wǎng)上找到源代碼并且下載安裝。
工作方式
Back In Time會(huì)對(duì)那些你選擇的目錄創(chuàng)建快照,但是只會(huì)恢復(fù)那些擁有寫權(quán)限的目錄。你可以對(duì)快照進(jìn)行加密并且存儲(chǔ)在網(wǎng)絡(luò)設(shè)備、外部硬盤或者是本地的文件系統(tǒng)中。Back In Time只會(huì)對(duì)那些改變過的文件進(jìn)行更新。在設(shè)置>選項(xiàng)標(biāo)簽中,你可以選擇在沒有變化發(fā)生的時(shí)候禁用快照。
Back In Time的快照時(shí)間根據(jù)計(jì)劃設(shè)定,每天、每周、每個(gè)月或者是每天的某個(gè)或某幾個(gè)時(shí)間段,或者是每次重啟之后。你可以在主工具欄的菜單中自己更改計(jì)劃時(shí)間。
與Cronopete相似,Back In Time更加適合于基于文件夾或者是基于文件的回滾操作,但是如果你想對(duì)整個(gè)文件系統(tǒng)進(jìn)行回滾也是同樣可行的;謴(fù)一個(gè)快照相當(dāng)簡單,只要選擇它,并且選擇在哪里進(jìn)行恢復(fù)就可以了,取決于你是只想恢復(fù)幾個(gè)文件夾還是對(duì)整個(gè)系統(tǒng)進(jìn)行恢復(fù)。
Systemback
Systemback的界面很小巧,但是功能卻非常強(qiáng)大。但不幸的是只有Debian和Ubuntu及其分支的用戶可以使用,而沒有提供其他Linux發(fā)行版的安裝文件。Systemback可以通過開發(fā)者PPA安裝:
sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback
工作方式
Systemback并不僅僅是另一個(gè)快照工具。它可以把你現(xiàn)在的系統(tǒng)轉(zhuǎn)變?yōu)橐粡坙ive CD或DVD,這樣就可以直接在另一臺(tái)電腦上啟動(dòng)了。它可以修復(fù)或重裝GRUB 2啟動(dòng)器以及修復(fù)fstab文件,當(dāng)然,Systemback的主要用途還是用于系統(tǒng)快照。
Systemback將快照的總數(shù)量限制在10個(gè)以內(nèi)。用戶擁有刪除快照的權(quán)限?煺盏墓δ芸梢赃x擇為遞增,也就是只復(fù)制被改變過的文件,而將其他的文件以硬鏈接的形式保存。但是在設(shè)置對(duì)話框中,你可以禁用這個(gè)功能。在恢復(fù)文件的時(shí)候,你可以選擇執(zhí)行全系統(tǒng)恢復(fù),或者只是復(fù)制關(guān)鍵的系統(tǒng)文件。個(gè)人數(shù)據(jù)比如照片與文檔并不會(huì)被包含在快照中,但是你可以在創(chuàng)建>包含用戶數(shù)據(jù)的選項(xiàng)中通過自定義操作將它們轉(zhuǎn)移到live CD中。
Systemback允許用戶自定義自動(dòng)快照的計(jì)劃,但你也將這個(gè)選項(xiàng)關(guān)閉來手動(dòng)設(shè)置恢復(fù)點(diǎn)。需要注意的是Systemback并不支持NTFS文件系統(tǒng),因此不能對(duì)NTFS系統(tǒng)分區(qū)進(jìn)行快照或者是恢復(fù)操作。
Snapper
Snapper和openSUSE的關(guān)系非常密切。在其他Linux版本上也許能夠安裝Snapper,但是并不一定能正常工作了。在openSUSE中安裝Snapper的最簡單方法是將它安裝在BTRFS分區(qū)上,這樣做Snapper就能夠自動(dòng)安裝與配置。你可以使用命令行工具來操作Snapper,或者通過YaST工具,此外還有另一種替代方案snapper-GUI。
工作方式
Snapper能夠創(chuàng)建幾種不同類型的快照,比如在安裝新的應(yīng)用程序之前與之后創(chuàng)建快照。通過這種方式你可以將快照進(jìn)行對(duì)比,并且更有效的進(jìn)行系統(tǒng)恢復(fù)。Snapper會(huì)為快照自動(dòng)建立時(shí)間計(jì)劃,你當(dāng)然也可以把這個(gè)功能禁用掉。在Snapper中,快照是存放在與系統(tǒng)相同的分區(qū)中,因此它們會(huì)不斷長大,要記得隨時(shí)檢查自己的硬盤容量。
默認(rèn)情況下,Snapper只對(duì)根分區(qū)創(chuàng)建快照。如果想要包含其他分區(qū)和BTRFS副磁盤卷,你就需要為每一個(gè)項(xiàng)目創(chuàng)建一個(gè)配置,這必須在命令行終端中完成,你需要以root權(quán)限運(yùn)行下面的命令:
snapper -c CONFIGNAME create-config /PATH
在這里-c代表著配置“configure”,CONFIGNAME是你為這個(gè)配置所取的名稱,/PATH則是分區(qū)或是副磁盤卷的位置,例如:
snapper -c home create-config /home
你可以用下面的命令查看當(dāng)前的配置:
snapper list-configs
所有的配置文件都保存在/etc/snapper/configs目錄。在這里,你可以用一個(gè)常用的文本編輯器來修改它們,例如你可以禁用每小時(shí)創(chuàng)建快照的功能,啟用自動(dòng)刪除快照的功能,手動(dòng)設(shè)置可保存舊快照的數(shù)量。
在YaST Snapper模式中,你可以創(chuàng)建并對(duì)比快照進(jìn)行系統(tǒng)回滾操作,或者將一個(gè)文件或者其他一些被選擇的文件恢復(fù)到以前的版本。
怎樣備份與恢復(fù)已安裝的應(yīng)用程序
了解了怎樣對(duì)整個(gè)操作系統(tǒng)進(jìn)行恢復(fù)之后,你可能想知道怎樣恢復(fù)那些已經(jīng)安裝的應(yīng)用軟件。這在系統(tǒng)新版升級(jí)或重裝系統(tǒng)的情況下很常見。幸運(yùn)的是已經(jīng)有一些工具提供了應(yīng)用程序遷移的功能,而且使用起來非常方便。
Aptik
首先我要提到的是Aptik,它是由TimeShift的開發(fā)者創(chuàng)建的應(yīng)用程序備份工具。
Aptik只能用于基于Ubuntu的發(fā)行版,你可以直接從開發(fā)者PPA安裝:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik
Aptik能夠以列表的形式輸出系統(tǒng)現(xiàn)有的已安裝的包以及所使用的庫以及下載的包文件。此外還有用于導(dǎo)出應(yīng)用程序設(shè)置、桌面主題和圖標(biāo)集的選項(xiàng)。Aptik會(huì)根據(jù)安裝類型對(duì)這些包進(jìn)行分類,例如分為操作系統(tǒng)預(yù)裝、用戶自主安裝、自動(dòng)安裝的依賴與從.deb文件安裝等等。對(duì)于.deb文件你可以將它們拖拽到列表中并且包含在備份文件里。備份可以保存在任何位置,如果想把它們提取到一個(gè)新安裝的發(fā)行版中,只需要先安裝Aptik,然后在主窗口中選擇備份并進(jìn)行恢復(fù)即可。
Linux Mint
Linux Mint的用戶可以選擇Mint備份工具,功能幾乎與Aptik一模一樣。除了恢復(fù)已安裝的應(yīng)用程序之外,這個(gè)工具還可以對(duì)所選定的文件夾及其權(quán)限執(zhí)行快速備份。
Arch Linux
Arch Linux的用戶可以使用Backpac來備份與恢復(fù)應(yīng)用程序。Backpac可以建立手動(dòng)安裝包的列表文件,也可以按照你的選擇單獨(dú)備份文件。使用Backpac恢復(fù)系統(tǒng)狀態(tài)會(huì)重新安裝所輸出的包,刪除掉快照中并不包含的文件,并且會(huì)用之前輸出的版本覆蓋系統(tǒng)文件。
dpkg
當(dāng)然,你可以不使用任何一個(gè)第三方工具來完成這樣的操作。在包管理系統(tǒng)中提供了這樣的工具。在基于dpkg的系統(tǒng)中,你可以使用下面的操作來輸出一個(gè)已安裝應(yīng)用的列表文件:
dpkg --get-selections > /home/yourusername/apps.txt
然后,將這個(gè)txt文件與庫信息從/etc/apt/sources.d/目錄與/etc/apt/sources.list文件復(fù)制到新的系統(tǒng)中。使用如下命令行并提供正確的文件路徑就可以將備份的應(yīng)用遷移到新的系統(tǒng)中:
dpkg --set-selections < /path/to/apps.txt
sudo apt-get update
sudo apt-get dselect-upgrade
有些圖形化的包管理工具例如Synaptic能夠提供圖形化的用戶界面,用來輸出與導(dǎo)入已經(jīng)安裝的應(yīng)用程序的列表,不需要使用終端命令行的形式來操作。
高級(jí)系統(tǒng)回滾解決方案
如果上面建議的這些應(yīng)用你并不認(rèn)為合適,那么我們還有其他的解決方案。我在這里將它們稱為“高級(jí)”并不意味著這些方案非常復(fù)雜,而是說它們可能并不是新手用戶的第一選擇。
Rsnapshot
如果你想在命令行終端使用一種極簡而快速的方法進(jìn)行快照操作,那么可以試一下Rsnapshot。你可以在絕大多數(shù)Linux發(fā)行版的資源庫中找到它。Rsnapshot的所有設(shè)置都在/etc/rsnapshot.conf這個(gè)文件中。你可以打開這個(gè)文件,自定義快照時(shí)間表,設(shè)置何時(shí)刪除舊的快照,以及需要包含哪些文件與文件夾。當(dāng)你設(shè)置完畢之后,最好使用下面兩個(gè)命令來做一下測試:
rsnapshot configtest
rsnapshot -t hourly
這樣可以保證你的所有設(shè)置都正常啟用。請(qǐng)記住修改設(shè)置文件時(shí)需要在兩個(gè)功能選項(xiàng)中使用一個(gè)tab符進(jìn)行分割而并不是空格,因此不要用空格鍵移動(dòng)這些參數(shù)。Rsnapshot沒有自動(dòng)恢復(fù)功能,所以你只能從選定的快照中手動(dòng)復(fù)制文件。
Obnam
Obnam與Rsnapshot非常相似,另外還提供了一些有趣的功能。它可以先創(chuàng)建一個(gè)全系統(tǒng)備份,然后逐漸生成包含新的或是改變過的文件的快照。你可以對(duì)快照進(jìn)行加密與自動(dòng)解密。Obnam在進(jìn)行系統(tǒng)恢復(fù)時(shí)的操作也是相似的,提供命令,并且讓你選擇存儲(chǔ)的位置。
你可以設(shè)置或是修改自定義路徑,將快照存放在服務(wù)器上或者是其他遠(yuǎn)程設(shè)備上。Obnam提供的官方手冊(cè)是一項(xiàng)很了不起的工作,清楚的解釋了所有的功能操作。
LVM Snapshots
如果系統(tǒng)中將會(huì)存放一些重要的數(shù)據(jù),那么一定要事先考慮好備份與恢復(fù)的方法。如果你正在安裝與設(shè)置Linux系統(tǒng)的話,那么值得考慮將LVM(Logical Volume Manager)作為硬盤的管理工具。
準(zhǔn)確的說,LVM并不算是一個(gè)應(yīng)用程序,它在Linux內(nèi)核中提供了內(nèi)置的快照功能,可以將快照安裝到任何其他磁盤或分區(qū),合并若干個(gè)快照,并還原它們來解決系統(tǒng)問題;蛘吣憧梢允褂肔inux內(nèi)核模塊dattobd支持對(duì)運(yùn)行中的系統(tǒng)進(jìn)行增量快照,這樣無需卸載分區(qū)或重新啟動(dòng)計(jì)算機(jī)。
總結(jié)
正如你所看到的,有很多種選擇可以在Linux中獲得系統(tǒng)恢復(fù)功能,然而你會(huì)發(fā)現(xiàn)它們?cè)诩夹g(shù)上是非常相似的,那么有沒有更好的方法來代替現(xiàn)有的系統(tǒng)恢復(fù)功能呢?也許在未來隨著這些應(yīng)用程序的不斷發(fā)展將會(huì)出現(xiàn)更好的方法,或者是對(duì)這些現(xiàn)有的工具更有效的進(jìn)行組合應(yīng)用,這些都需要使用者們不斷進(jìn)行探索發(fā)掘。
【Linux系統(tǒng)恢復(fù)10個(gè)方法】相關(guān)文章:
Linux系統(tǒng)守護(hù)進(jìn)程的啟動(dòng)方法12-15
Linux系統(tǒng)安全的九個(gè)關(guān)鍵點(diǎn)11-07
word 恢復(fù)未保存文件的方法04-10
Linux新手必備的20個(gè)命令08-28
Linux常用命令匯總08-30
linux認(rèn)證的面試題及答案04-02