熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux系統常見緊急情況的處理方法

2013-11-13 22:11:27  來源: Oracle 

  .使用急救盤組進行維護
  急救盤組(也稱為boot/root盤組)是系統管理員必不可少的工具用它可以獨立地啟動和運行一個完整的Linux系統實際上急救盤組中的第張盤上就有一個完整的Linux系統包括root文件系統而第張盤則存放了可啟動的內核
  使用急救盤組維護系統很簡單只需用這兩張盤啟動系統後進入急救模式這時使用的是root賬戶為了能訪問硬盤上的文件需要手工安裝硬盤文件系統例如用下面的命令可在/mnt目錄中安裝/dev/hda盤上的extfs類型的Linux文件系統
  # monut t ext/dev/hda/mnt
  注現在根目錄是急救盤上的根目錄為了訪問硬盤文件系統中的文件必須先把它安裝到某個目錄下這樣如果將硬盤上文件系統安裝在/mmt目錄下則硬盤上原來的/etc/passwd文件的路徑就是/mnt/etc/passwd
  
  文件系統被破壞時的處理方法
  當文件系統被破壞時如果使用的是extfs類型的文件系統就可從軟盤運efsck命令來修正文件系統中被損壞的數據對於其他類型的文件系統可以使用相應的fsck命令 當從軟盤上檢查文件系統時最好不要mount安裝
  注文件系統被破壞的常見原因是超級塊被損壞超級塊是文件系統的頭部它包含文件系統的狀態尺寸和空閒磁盤塊等信息如果損壞了一個文件系統的超級塊(例如不小心直接將數據寫到了文件系統的超級塊分區中)那麼系統可能會完全不識別該文件系統這樣也就不能安裝它了即使采用efsck命令也不能處理這個問題
  不過extfs類型的文件系統將超級塊的內容進行了備份並存放於驅動程序的塊組(block group)邊界可以用如下的命令通知efsck使用超級塊的備份  
  # efsck b
  是指文件系統所在的分區b 選項用於顯示使用存放在文件系統中的塊的超級塊的備份數據
  
  恢復丟失的文件
  如果不小心刪除了重要的文件那麼沒有辦法直接恢復但是還可以將相應的文件從急救盤復制到硬盤上例如如果刪除了文件/bin/login此時系統無法正常進到登錄界面可以用急救盤組啟動系統將硬盤文件系統安裝到/mnt目錄下然後使用下述命令   
  #cp a /bin/login /mnt/bin
  a選項用於告訴cp在拷貝時保持文件的訪問權限 當然如果被刪除的基本文件不在急救盤組也就不能用這種方法了如果以前做過系統備份的話那麼也可以用以前的備份來恢復
  
  .函數庫破壞時的處理方法
  如果不小心將系統函數庫文件破壞了或者破壞了/lib目錄下符號鏈接那麼將導致依賴這些庫的命令無法執行最簡單的解決辦法是用急救盤組啟動系統在/mnt目錄中安裝硬盤文件系統然後修復/mnt/lib目錄下的庫
  
  無法用root賬號登錄系統
  由於系統管理員的疏忽或者由於系統受到黑客的入侵系統管理員可能無法用root帳號登錄系統   
  對於第種情況可能是系統管理員忘記了root密碼用急救盤組就可以解決問題
  對於第種情況由於很可能是密碼被黑客修改了因此系統管理員無法進入系統也就是說Linux系統完全失去了控制因此應盡快重新獲得系統的控制權在取得 root權限後還應檢查系統被破壞的情況以防被黑客再次入侵
  需要做的最主要的工作就是重新設置root的密碼獲得Linux操作系統的控制權首先用急救盤組啟動系統然後將硬盤的文件系統安裝到/mnt目錄下編輯/mnt/etc/passwd文件將其對應於root賬戶的一行加密口令域置空如下所示
  root::::root:/root:bin/bash
  注 如果系統使用 shadow工具就需要對文件/etc/shadow進行上述的操作使root登錄系統不需要口令
  這樣root賬戶就沒有口令了當重新從硬盤啟動Linux系統時就可以用root賬戶登錄(系統不會要求輸入密碼)進入系統後再用命令passwd設置新的口令
  
  Linux系統不能啟動
  一般來說如果系統管理員不能正常進入系統就需要考慮使用急救盤組進入急救模式排除系統的故障但在沒有制作急救盤組的情況下Linux系統不能啟動該怎麼辦?
  在個人計算機使用 Linux系統時通常都是Linux和MS Windows x或MS Windows NT並存的由於重新安裝其他的操作系統經常會導致原有的Linux不能啟動這主要是因為這些操作系統默認為計算機中沒有其他的操作系統因而改寫了硬盤的主引導記錄(MBR)沖掉了Linux的LILO系統引導程序
  如果有急救盤組那麼很簡單用第一張啟動盤啟動硬盤的Linux系統重新運行LILO命令就可以將LILO系統引導程序寫回硬盤的主引導記錄再次開機即可
  如果沒有系統啟動盤怎樣恢復硬盤上的Linux呢?在這種情況下如果知道Linux在硬盤上的確切安裝分區且有loadlin程序就可以重新返回Linux loadlin程序是DOS下的程序運行它可以從DOS下直接啟動Linux快速進入Linux環境在 Red Hat Linux 光盤的 dosutil/目錄下就有這個程序除此之外還需要一個 Linux啟動內核的映像文件在 Red Hat linux 光盤的 images/目錄下有這個文件——vmlinuz
  例如在Windows 系統下面進入DOS的單用戶模式然後運行下述的loadlin命令即可重新進入Linux系統
  loadlin vmlinuz root=/dev/hda
  /dev/hda是Linux的root文件系統所在的硬盤分區位置命令執行後就引導Linux系統用root登錄後運行LILO命令則重新將LILO裝入MBR回到以前多操作系統並存使用的狀態
From:http://tw.wingwit.com/Article/program/Oracle/201311/18430.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.