linux文件系統修復
㈠ linux操作系統故障處理-ext4文件系統超級塊「can't read superblock」損壞修復
前幾天在廣州參加植物病毒學會議,一邊聽會一邊開著TeamViewer遠程連接實驗室裝有linux系統的工作站跑程序幹活。有一天下午發現TeamViewer顯示伺服器離線,原來是因為施工導致停電。Anyway, 不重要,發微信讓小青兒給我重啟伺服器,結果發現重啟不了,大概就是這個界面。
怎麼著都進不去圖形界面,簡而言之,工作站重啟不了了。索性不管了,好好聽報告,心想回到福州再收拾工作站。回到福州第一件事就是坐下來重啟工作站,發現無論怎麼折騰都進不去系統。
雖然圖形界面進不去,好在還能夠在命令行下進行操作。當看到 /bioinfor ,這個存放目錄的路徑下啥都沒有的時候,這可是我所有的數據啊!如果這個盤里的數據沒了,各個合作者還不得把我手撕了。想到這里,冷汗差點下來了。
於是開始尋找解決方法。
首先得想辦法進入系統,在反復地 sudo reboot 都無法進入系統之後,通過 df -h 也看不到/dev/sda(也就是掛載到/bioinfor路徑的磁碟)信息。然後猜測是不是因為磁碟以及分區表之類出現了錯誤導致不能進入系統。通過 sudo vi /etc/fstab 將除了系統安裝盤之外的所有硬碟的掛載信息全部注釋掉,再 reboot , 這時候果然可以進入圖形界面系統了。但依然看不到 /bioinfor 盤下的數據。能夠開機就讓我放心了很多。通過 gparted 工具,能夠看到/dev/sda硬碟里used space大概是1.7T,還剩下1.9T左右,這就表示我的數據還在。試圖通過 sudo umount /dev/sda 先取消掛載,再重新 sudo mount /dev/sda /bioinfor 掛載到/bioinfor路徑,結果報錯。
報錯信息顯示:
搜索網頁發現,有一個哥們經歷了跟我一樣的遭遇, 意外斷電造成mount掛載硬碟報錯 。所以,這次事故是因為意外斷電,基本實錘了。
但到底什麼是superblock呢?
繼續搜索,直到讀到一篇技術文章 linux操作系統故障處理,ext4文件系統超級快損壞修復 。本文可以忽略,但這篇技術文章得認真讀讀。裡面講解了磁頭,磁軌,柱面,扇區,以及硬碟容量等等概念,以及最重要的inode和block,Superblock(超級塊)概念。
既然報錯提示Superblock出了問題,那我們就應該從這里入手。linux系統提供了一個磁碟命令 fsck 來嘗試對設備進行修復。但可惜,用這個命令的時候,都會提醒你,應該安裝最新的 fsck 工具包。
提示如下:
根據這篇文章 E2FSCK: how to handle the 「metadata_csum」 error by advancing the e2fsck version beyond default installed version 的提示,需要安裝1.43X的 e2fsck , 安裝方法小結如下。
檢驗一下是否更新成功:
能夠看到已經更新到1.43.5版本。
安裝完之後,開始對磁碟進行修復,命令如下:
一般都能修復完畢,然後可以再進行取消掛載或者重新掛載的操作。看到數據都還完好無缺地在電腦上,還處於後怕的我趕緊掏出移動硬碟進行原始數據的備份。
本次debug結束
這篇技術日誌對讀者可參考性並不高,是因為應用場合實在是少,(試想誰會天天斷電呢),但還是有一些體會和感悟:
㈡ linux 文件系統 是什麼意思
文件系統是操作系統用於明確存儲設備(常見的是磁碟,也有基於NANDFlash的固態硬碟)或分區上的文件的方法和數據結構;
即在存儲設備上組織文件的方法。
操作系統中負責管理和存儲文件信息的軟體機構稱為文件管理系統,簡稱文件系統。
文件系統由三部分組成:文件系統的介面,對對象操縱和管理的軟體集合,對象及屬性。
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。
㈢ Linux文件系統損壞的修復技術
有時候維護Linux伺服器時會面臨這樣一種錯誤,即顯示文件系統變成(Read
Only
System),即文件系統變成只讀的方式,產生這一問題的原因可能有兩種,一種是多機寫入時同步機制出現問題,另一種方式是單機寫入時出現伺服器掉電的情況。
當出現這種問題後,會讓應用系統用戶非常緊張,運氣好時可以通過只讀的方式去讀取數據,運氣不好時系統根本就無法啟動。
這里給出一種解決方法:
(1)修改/etc/fstab,將受損的文件系統先注釋掉,如果無法讀寫該文件則採用mount
-o
remount
rw
,
/
將文件系統改成讀寫模式。
(2)針對受損的文件系統,執行fsck命令,如:fsck
/dev/sda1等。
注意事項:
(1)在執行之前最好先進行數據備份,以防止修復失效後數據丟失。
㈣ linux系統起不來了,怎麼修復
在C盤的根目錄下,選擇「工具」--「文件夾選項」--「查看」--去掉「隱藏受保護的操作系統文件」選取「顯示所有文件和文件夾」,然後你就可以看到boot.ini了
另外,lz看看下面的內容:
修改c盤根目錄下的boot.ini文件(系統文件,要調整文件查看選項才可以看到,方法為:我的電腦/選擇頂部菜單欄的工具/文件夾選項/查看/隱藏受保護的操作系統文件),在最後面添加一行:c:\grldr = "Click this item to install linux."
修改boot文件夾裡面的menu.lst(是字元L,而不是數字1)文件。在最後面添加下面的指令,保存退出,並重新啟動系統。
title Click this item to install linux.
root (磁碟號,分區號)----即為vmlinuz和initrd.img所在分區
kernel /vmlinuz
initrd /initrd.img
boot
補充:若無法正確引導,則可以不用修改menu.lst文件,而改用手動設定方式來啟動,步驟為:
當選擇「Click this item to install linux.」,進入如下界面(如圖一)。鍵入「p」並輸入密碼(默認為123456),取得特權控制功能,接著鍵入「c」,進入grub引導模式進行手工操作
㈤ 當LINUX文件系統受到破壞時,如何檢查和修復系統
fsck: 對Linux系統中常用文件系統的檢查是通過fsck工具來完成的。檢查文件系統並嘗試修復錯誤。
Linux不正常關機,有時候再次啟動時會報文件系統損壞,如何修復文件?
首先會讓你輸入root用戶的密碼。
1)出錯的時候如果告訴你是哪一塊硬碟的分區有問題,比如是/dev/hda3
接著用如下的命令去對付它呀:
#fsck -y /dev/hda3
結束後,reboot。這樣就OK了!
2)如果你不知道時哪個地方出了問題。(常用此種方法)
可以直接
#fsck
在隨後的多個確認對話框中輸入:y
結束後,reboot。就ok了。
說明:對Linux系統中常用文件系統的檢查是通過fsck工具來完成的。
功能說明:檢查文件系統並嘗試修復錯誤。
語法:fsck [-aANPrRsTV][-t ][文件系統...]
補充說明:當文件系統發生錯誤四化,可用fsck指令嘗試加以修復。
參數:
-a 自動修復文件系統,不詢問任何問題。
-A 依照/etc/fstab配置文件的內容,檢查文件內所列的全部文件系統。
-N 不執行指令,僅列出實際執行會進行的動作。
-P 當搭配"-A"參數使用時,則會同時檢查所有的文件系統。
-r 採用互動模式,在執行修復時詢問問題,讓用戶得以確認並決定處理方式。
-R 當搭配"-A"參數使用時,則會略過/目錄的文件系統不予檢查。
-s 依序執行檢查作業,而非同時執行。
-t<文件系統類型>指定要檢查的文件系統類型。
-T 執行fsck指令時,不顯示標題信息。
-V 顯示指令執行過程。
㈥ 如何在Linux上實現文件系統的自動檢查和修復
系統一啟動,就觸發文件系統自動檢查機制 如果你希望系統一啟動,就自動觸發fsck,那麼有一些方法可以設置在啟動過程中實現無人值守的fschk,這些方法具體取決於特定的Linux發行版。 在Debian、Ubuntu或Linux Mint上,編輯/etc/default/rcS,如下所示。 $ sudo vi /etc/default/rcS # 啟動過程中,自動修復出現不一致性的文件系統 FSCKFIX=yes 在CentOS上,使用下列內容,編輯/etc/sysconfig/autofsck(要是它沒有,就創建)。 $ sudo vi /etc/sysconfig/autofsck AUTOFSCK_DEF_CHECK=yes 強制定期檢查文件系統 如果文件系統很龐大,你可以強制定期檢查文件系統,而不是每次系統啟動時檢查文件系統。為了實現這個操作,先要藉助tune2fs命令,找到文件系統配置。下面這個命令行顯示了文件系統相關參數的當前值。請注意:/dev/sda1是文件系統超級塊所在的分區。 $ sudo tune2fs -l /dev/sda1 從tune2fs的輸出結果中,我們不僅可以看到文件系統的狀態(干凈與否),還可以看到與文件系統檢查有關的一些參數。"Maximum mount count"(最大掛載次數)這個參數是指文件系統檢查被觸發後的掛載次數。"Check interval"(檢查時間間隔)這個參數顯示了兩次文件系統檢查之間的最長時間。在大多數Linux發行版上,這些參數並不是默認情況下被設置的,這意味著並不進行任何定期的文件系統檢查。 如果想強制每隔30次掛載就檢查文件系統,請運行下面這個命令。 $ sudo tune2fs -c 30 /dev/sda1 如果想強制每隔3個月就檢查文件系統,請使用下面這個命令。 $ sudo tune2fs -i 3m /dev/sda1 現在確認剛添加上去的文件系統檢查條件已正確設置。 $ sudo tune2fs -l /dev/sda1 . . . Last mount time: n/a Last write time: Fri Mar 14 22:29:24 2014 Mount count: 20 Maximum mount count: 30 Last checked: Mon Mar 3 20:55:08 2014 Check interval: 7776000 (3 months) Next check after: Sun Jun 1 21:55:08 2014 強制下一次系統重啟時,進行一次性的文件系統檢查 如果你想在下一次系統重啟時觸發一次性的文件系統檢查,可以使用這個命令。 $ sudo touch /forcefsck 一旦你在類似上面的頂層目錄(/)中創建了一個名為forcefsck的空文件,它就會在你下一次重啟時,強制進行文件系統檢查。系統成功啟動後,/forcefsck則會自動被清除。
㈦ LInux怎麼用光碟修復模式恢復系統
1.用隨便一張可啟動的linux光碟啟動並進入命令行(不是你裝的linux),比如liveCD也行,linux安裝盤的維護慎和模式也行,都可以。進入後自動以root登錄且沒密碼。但此時這個linux的根分區是在光碟上的,它的掛載點一般是/mnt/runtime/。x0dx0ax0dx0a2.所以你要用mount把你的linux的根分區掛載上來。比如把它掛到/tmp/oldroot/這個目錄,然後缺畢/tmp/oldroot/etc就是你原linux中的/etc了x0dx0a接下來不用多說了吧,cp命伏孝芹令侍候。x0dx0ax0dx0aPS:大多數linux的維護模式會自動檢測你的linux系統並會掛載到/mnt/sysimage上,也就是說/mnt/sysimage就是你的linux的/目錄,/mnt/sysimage/etc就是你原來的/etc
㈧ Linux系統恢復10個方法
Linux系統恢復10個方法
在Linux中有一些應用程序可以幫助你保存系統快照。大多數應用程序都是針對於新手的,並不需要高級的Linux操作技巧。我們在這里挑選了10個,你可以從中選擇適合自己的應用。
Windows中的系統恢復功能
Windows家族最初的系統恢復功能要回溯到2000年的Windows ME版本,當時還只能恢復系統文件和注冊表,而且並不穩定。在Windows XP和Vista中系統恢復的性能得到了很大的提高。也是從那時起,系統恢復開始依賴於一個叫做硬碟快照服務(Volume Snapshot Service)的系統服務功能,能夠自動創建系統快照–包括正在使用的文件–然後將這些文件轉換為可恢復的節點文件。
新的方式給用戶提供了更多的自定義功能,比如用戶可以為快照分配磁碟空間,可以選擇監視哪些文件目錄等等。但是還是有很多的限制,比如只有NTFS格式的分區具有系統恢復快照功能,而且在Windows 8版本之前,快照並不能長期保存。
Windows的每次版本更新都帶來了混亂,比如Vista的家庭版中沒有提供恢復從前的系統快照的用戶界面,而Windows 8出現了不兼容之前版本的系統快照的問題,最終Windows 10索性禁用了系統恢復功能,讓用戶手動啟用與操作,這么看起來這項決定是有意而為。
好了,不再說關於Windows的事了,還是來看看在Linux中我們應該怎麼做吧!
Linux系統恢復的工作原理是什麼
呃,實際上這並不是一項系統功能,至少不應該在名字里帶上“系統”這兩個字,因為你不會在任何一個Linux系統發行版的系統菜單中找到所謂的系統恢復(System Restore)功能。你要做的是找到一個合適的應用程序並安裝才可以。絕大多數的系統恢復應用程序和Windows中系統恢復功能的工作原理是相同的,在特定的時間節點為你的系統創建快照文件,然後在系統出現問題的時候,允許你回滾到選定的時間點。
在介紹這些應用程序之前,讓我們先簡單的了解一下系統快照究竟是什麼?
系統快照與備份的區別
拋開這兩者的名字不同,總的來說,備份(Backup)是指將文件復制出一份副本並且保存到另一個位置。備份很少會將整個磁碟備份,那樣做通常是叫做磁碟鏡像或者是磁碟克隆,這種類型的備份實際上是對整個磁碟做了一個鏡像,包括用戶數據,操作系統,啟動分區等等。磁碟鏡像可以被用在裸機恢復工作中。這時候你就可以在不需要安裝操作系統情況下,將一塊硬碟的全部內容復制到另一台電腦上。
而系統快照(Snapshot)則是在特定的時間節點上保存文件系統的狀態,並且保存在與文件系統相同的存儲設備上。通常系統快照中會包含所有的目錄與文件信息,或者至少是保存了操作系統所需要的文件信息。
將快照和文件系統保存在同一個位置就實現了回滾的可能性,同樣也有利於節省磁碟空間。在這種情況下,每新建一個系統快照並不需要將整個文件系統的狀態全部保存下來。形象地說,系統快照就像是一個不斷增長的備份過程,每次只是保存和上次不同的信息變化,這也就意味著每一個系統快照都要依賴於上一次系統快照,這樣才能完全完成系統恢復工作。而與之相反的是,一個完整的磁碟備份或者是磁碟鏡像則與其他的備份文件相互獨立,可以單獨完成系統恢復工作。
系統快照可能會碰到的問題是它們對於硬碟故障非常的脆弱。如果你的硬碟受到了嚴重的物理損傷,那麼很可能你的系統快照就無法幫助你恢復系統了。為了防止這一點,我們建議在安裝與設置好你的Linux系統之後立即做一份系統快照,然後把它單獨復制到另外的存儲設備中。
保存系統快照
在Linux中有一些應用程序可以幫助你保存系統快照。大多數應用程序都是針對於新手的,並不需要高級的Linux操作技巧。我們在這里挑選了一些,你可以從中選擇適合自己的應用。
TimeShift
TimeShift提供了一個非常簡潔的圖形用戶界面,你也可以直接在終端輸入命令使用它。默認情況下。TimeShift並不會包含用戶的個人文件,但你可以通過自定義將特殊的目錄添加到快照中去。Ubuntu及其分支的用戶可以從開發者的PPA獲取TimeShift:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
其他版本的用戶可以下載安裝文件並在命令行終端運行:
./timeshift-latest-amd.64.run
TimeShift還提供了專門針對BTRFS文件系統的版本,可以支持原生的BTRFS系統快照功能。
工作方式
TimeShift能夠幫助你隨時完成快照工作,或者你也可以設置讓TimeShift自動創建快照。你可以安排任務計劃,每小時、每天、每周或者每個月進行快照,也可以設置清除這些快照的時間。TimeShift有一個特殊的選項叫做重啟快照,用來在每次系統重啟之後創建一個新的快照文件。
TimeShift從快照中進行系統恢復是一項非常簡單直接的工作,只要選擇快照文件並且告訴它應該存儲的位置就可以了。TimeShift提供了將快照恢復到外設的選項,克隆功能能夠直接將現有系統狀態復制到另一個設備中,這在將你的操作系統遷移到另一台新電腦時非常方便,因為你不再需要從頭開始安裝各種功能和應用。
在恢復快照之前,TimeShift會詢問你是不是需要保存現有的應用設置,並且讓你選擇保存哪一個。請記住TimeShift需要GRUB 2啟動進入快照恢復。
cronopete
如果你認為TimeShift的操作已經足夠簡單的話,那麼Cronopete甚至更加簡單,至少從外觀上看來是這樣的。Cronopete自稱為OS X的時間機器,與TimeShift工作起來稍有不同。Cronopete為Ubuntu,Debian和Fedora提供了包文件,Arch Linux使用者可以在AUR中找到它。
工作方式
與本文中介紹的其他應用程序不同,Cronopete將備份與快照功能捆綁在一起,並且要求你將快照保存在外部設備上。默認情況下,它會每個小時都檢查一遍你的文件變化,但是當然可以在設置中改變這個時間間隔。如果某個文件並沒有發生變化,那麼Cronopete將對這個文件只進行一個硬鏈接而並不復制這份文件,這會幫助節省磁碟空間。
Cronopete的文件恢復可能是它最酷的功能,好像真的能幫助你“穿越時間”,也就是說,可視化的瀏覽所有儲存版本的文件與文件夾。想要恢復哪一個文件,只需要選上它,然後點擊恢復就可以了,這個文件就會從外部的存儲設備中復制到你現有的`系統中來。當然這里你可能也猜測到了,Cronopete對於全系統恢復並不十分具有意義,但是如果你想要保存單獨文件的多個版本,那麼它是一個很好的選擇。
Back In Time
Back In Time的用戶界面看起來非常友好,能夠吸引住Linux新手。它的設置對話框中提供了非常精細的操作控制項,用戶界面看上去就像是一個文件管理器一樣,在這里你可以閱覽所有的快照,瀏覽快照中的文件,以及恢復選定的文件與文件夾。
Ubuntu用戶可以從PPA中安裝Back In Time:
sudo add-apt-repository ppa:bit-team/stable
sudo apt-get update
sudo apt-get install backintime-qt4
有些發行版會在自己的資源庫中提供Back In Time,如果你的發行版沒有的話,也總可以在網上找到源代碼並且下載安裝。
工作方式
Back In Time會對那些你選擇的目錄創建快照,但是只會恢復那些擁有寫許可權的目錄。你可以對快照進行加密並且存儲在網路設備、外部硬碟或者是本地的文件系統中。Back In Time只會對那些改變過的文件進行更新。在設置>選項標簽中,你可以選擇在沒有變化發生的時候禁用快照。
Back In Time的快照時間根據計劃設定,每天、每周、每個月或者是每天的某個或某幾個時間段,或者是每次重啟之後。你可以在主工具欄的菜單中自己更改計劃時間。
與Cronopete相似,Back In Time更加適合於基於文件夾或者是基於文件的回滾操作,但是如果你想對整個文件系統進行回滾也是同樣可行的。恢復一個快照相當簡單,只要選擇它,並且選擇在哪裡進行恢復就可以了,取決於你是只想恢復幾個文件夾還是對整個系統進行恢復。
Systemback
Systemback的界面很小巧,但是功能卻非常強大。但不幸的是只有Debian和Ubuntu及其分支的用戶可以使用,而沒有提供其他Linux發行版的安裝文件。Systemback可以通過開發者PPA安裝:
sudo add-apt-repository ppa:nemh/systemback
sudo apt-get update
sudo apt-get install systemback
工作方式
Systemback並不僅僅是另一個快照工具。它可以把你現在的系統轉變為一張live CD或DVD,這樣就可以直接在另一台電腦上啟動了。它可以修復或重裝GRUB 2啟動器以及修復fstab文件,當然,Systemback的主要用途還是用於系統快照。
Systemback將快照的總數量限制在10個以內。用戶擁有刪除快照的許可權。快照的功能可以選擇為遞增,也就是只復制被改變過的文件,而將其他的文件以硬鏈接的形式保存。但是在設置對話框中,你可以禁用這個功能。在恢復文件的時候,你可以選擇執行全系統恢復,或者只是復制關鍵的系統文件。個人數據比如照片與文檔並不會被包含在快照中,但是你可以在創建>包含用戶數據的選項中通過自定義操作將它們轉移到live CD中。
Systemback允許用戶自定義自動快照的計劃,但你也將這個選項關閉來手動設置恢復點。需要注意的是Systemback並不支持NTFS文件系統,因此不能對NTFS系統分區進行快照或者是恢復操作。
Snapper
Snapper和openSUSE的關系非常密切。在其他Linux版本上也許能夠安裝Snapper,但是並不一定能正常工作了。在openSUSE中安裝Snapper的最簡單方法是將它安裝在BTRFS分區上,這樣做Snapper就能夠自動安裝與配置。你可以使用命令行工具來操作Snapper,或者通過YaST工具,此外還有另一種替代方案snapper-GUI。
工作方式
Snapper能夠創建幾種不同類型的快照,比如在安裝新的應用程序之前與之後創建快照。通過這種方式你可以將快照進行對比,並且更有效的進行系統恢復。Snapper會為快照自動建立時間計劃,你當然也可以把這個功能禁用掉。在Snapper中,快照是存放在與系統相同的分區中,因此它們會不斷長大,要記得隨時檢查自己的硬碟容量。
默認情況下,Snapper只對根分區創建快照。如果想要包含其他分區和BTRFS副磁碟卷,你就需要為每一個項目創建一個配置,這必須在命令行終端中完成,你需要以root許可權運行下面的命令:
snapper -c CONFIGNAME create-config /PATH
在這里-c代表著配置“configure”,CONFIGNAME是你為這個配置所取的名稱,/PATH則是分區或是副磁碟卷的位置,例如:
snapper -c home create-config /home
你可以用下面的命令查看當前的配置:
snapper list-configs
所有的配置文件都保存在/etc/snapper/configs目錄。在這里,你可以用一個常用的文本編輯器來修改它們,例如你可以禁用每小時創建快照的功能,啟用自動刪除快照的功能,手動設置可保存舊快照的數量。
在YaST Snapper模式中,你可以創建並對比快照進行系統回滾操作,或者將一個文件或者其他一些被選擇的文件恢復到以前的版本。
怎樣備份與恢復已安裝的應用程序
了解了怎樣對整個操作系統進行恢復之後,你可能想知道怎樣恢復那些已經安裝的應用軟體。這在系統新版升級或重裝系統的情況下很常見。幸運的是已經有一些工具提供了應用程序遷移的功能,而且使用起來非常方便。
Aptik
首先我要提到的是Aptik,它是由TimeShift的開發者創建的應用程序備份工具。
Aptik只能用於基於Ubuntu的發行版,你可以直接從開發者PPA安裝:
sudo apt-add-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik
Aptik能夠以列表的形式輸出系統現有的已安裝的包以及所使用的庫以及下載的包文件。此外還有用於導出應用程序設置、桌面主題和圖標集的選項。Aptik會根據安裝類型對這些包進行分類,例如分為操作系統預裝、用戶自主安裝、自動安裝的依賴與從.deb文件安裝等等。對於.deb文件你可以將它們拖拽到列表中並且包含在備份文件里。備份可以保存在任何位置,如果想把它們提取到一個新安裝的發行版中,只需要先安裝Aptik,然後在主窗口中選擇備份並進行恢復即可。
Linux Mint
Linux Mint的用戶可以選擇Mint備份工具,功能幾乎與Aptik一模一樣。除了恢復已安裝的應用程序之外,這個工具還可以對所選定的文件夾及其許可權執行快速備份。
Arch Linux
Arch Linux的用戶可以使用Backpac來備份與恢復應用程序。Backpac可以建立手動安裝包的列表文件,也可以按照你的選擇單獨備份文件。使用Backpac恢復系統狀態會重新安裝所輸出的包,刪除掉快照中並不包含的文件,並且會用之前輸出的版本覆蓋系統文件。
dpkg
當然,你可以不使用任何一個第三方工具來完成這樣的操作。在包管理系統中提供了這樣的工具。在基於dpkg的系統中,你可以使用下面的操作來輸出一個已安裝應用的列表文件:
dpkg --get-selections > /home/yourusername/apps.txt
然後,將這個txt文件與庫信息從/etc/apt/sources.d/目錄與/etc/apt/sources.list文件復制到新的系統中。使用如下命令行並提供正確的文件路徑就可以將備份的應用遷移到新的系統中:
dpkg --set-selections < /path/to/apps.txt
sudo apt-get update
sudo apt-get dselect-upgrade
有些圖形化的包管理工具例如Synaptic能夠提供圖形化的用戶界面,用來輸出與導入已經安裝的應用程序的列表,不需要使用終端命令行的形式來操作。
高級系統回滾解決方案
如果上面建議的這些應用你並不認為合適,那麼我們還有其他的解決方案。我在這里將它們稱為“高級”並不意味著這些方案非常復雜,而是說它們可能並不是新手用戶的第一選擇。
Rsnapshot
如果你想在命令行終端使用一種極簡而快速的方法進行快照操作,那麼可以試一下Rsnapshot。你可以在絕大多數Linux發行版的資源庫中找到它。Rsnapshot的所有設置都在/etc/rsnapshot.conf這個文件中。你可以打開這個文件,自定義快照時間表,設置何時刪除舊的快照,以及需要包含哪些文件與文件夾。當你設置完畢之後,最好使用下面兩個命令來做一下測試:
rsnapshot configtest
rsnapshot -t hourly
這樣可以保證你的所有設置都正常啟用。請記住修改設置文件時需要在兩個功能選項中使用一個tab符進行分割而並不是空格,因此不要用空格鍵移動這些參數。Rsnapshot沒有自動恢復功能,所以你只能從選定的快照中手動復制文件。
Obnam
Obnam與Rsnapshot非常相似,另外還提供了一些有趣的功能。它可以先創建一個全系統備份,然後逐漸生成包含新的或是改變過的文件的快照。你可以對快照進行加密與自動解密。Obnam在進行系統恢復時的操作也是相似的,提供命令,並且讓你選擇存儲的位置。
你可以設置或是修改自定義路徑,將快照存放在伺服器上或者是其他遠程設備上。Obnam提供的官方手冊是一項很了不起的工作,清楚的解釋了所有的功能操作。
LVM Snapshots
如果系統中將會存放一些重要的數據,那麼一定要事先考慮好備份與恢復的方法。如果你正在安裝與設置Linux系統的話,那麼值得考慮將LVM(Logical Volume Manager)作為硬碟的管理工具。
准確的說,LVM並不算是一個應用程序,它在Linux內核中提供了內置的快照功能,可以將快照安裝到任何其他磁碟或分區,合並若干個快照,並還原它們來解決系統問題。或者你可以使用Linux內核模塊dattobd支持對運行中的系統進行增量快照,這樣無需卸載分區或重新啟動計算機。
總結
正如你所看到的,有很多種選擇可以在Linux中獲得系統恢復功能,然而你會發現它們在技術上是非常相似的,那麼有沒有更好的方法來代替現有的系統恢復功能呢?也許在未來隨著這些應用程序的不斷發展將會出現更好的方法,或者是對這些現有的工具更有效的進行組合應用,這些都需要使用者們不斷進行探索發掘。
;