環境描述
安裝環境:VMware5.5.3 build-34685 虛擬機內資源:1G內存 7G硬盤空間 CPU 2核
OS:
目的:
1 熟悉Linux安裝
2 熟悉Linux啟動順序
3 理解Linux啟動原理
4 試着解決Linux啟動不起來等故障
啟動日志
---------------------Power On-------------------------------------------------
加電(Power On):
計算機啟動后,BIOS(Basic Input/Output System)將尋找第一個可啟動的設備(通常為硬盤),
而后從MBR(Master Boot Record:硬盤的主引導記錄)中載入啟動程序,然后把控制交給這段代碼。MBR位於硬盤的前512字節內。
---------------------分頁線------------------------------------------
Press any key to enter the menu
Booting Red Hat Enterprise Linux AS (2.6.9-89.ELsmp) in 2 seconds...
---------------------分頁線------------------------------------------
GNU GRUB version 0.95 (638K lower / 1042368K upper memory)
二選一:
Red Hat Enterprise Linux AS (2.6.9-89.ELsmp)
Red Hat Enterprise Linux AS-up (2.6.9-89.EL)
---------------------分頁線------------------------------------------
Booting Red Hat Enterprise Linux AS (2.6.9-89.ELsmp)
root(hd0,0)
Filesystem type is ext2fs,partition type 0x83
kernel /vmlinuz-2.6.9-89.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet
[Linux-bzImage, setup=0x1e00, size=0x16574f]
initrd /initrd-2.6.9-89.LSsmp.img
[Linux-initrd @ 0x37e9a000, 0x155ef7 bytes]
Uncompressing Linux... Ok, booting the kernel.
PCI:Cannot allocate resource region 4 of device 0000:00:07.1
Red Hat nash version 4.2.1.13 starting
sda: assuming drive cache:write through
sda: assuming drive cache:write through
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
INIT: version 2.85 booting
Setting default font (latarcyrheb-sun16): [ OK ]
---------------------分頁線------------------------------------------
Welcome to Red Hat Enterprise Linux AS
Press 'I' to enter interactive startup.
Setting clock (utc): Wed Nov 14 08:17:53 CST 2012 [ OK ]
Starting udev:
Initializing hardware... storage network audio done
/dev/VolGroup00/LogVol00: 167198/647680 files (1.4% non-contiguous),979562/1294336 blocks
/boot: 40/26104 files(7.5% non-contiguous), 16702/104388 blocks
INIT: Entering runlevel: 5quotas:
Entering non-interactive startup
Applying Inte Microcode update:
Starting monitoring for VG VolGroup00:
Starting readahead_early:
Checking for new hardware
Applying iptables firewall rules:
Starting pcmcia:
Setting network parameters:
Bringing up loopback interface:
Bringing up interface etho:
Starting system logger: ----------- 系統開始記錄日志
Starting kernel logger:
Starting irqbalance:
Starting portmap:
Starting NFS statd
Starting RPC idmapd:
Mounting other filesystems:
Starting lm_sensors:
Starting automount: No Mountpoints Defined
Starting smartd: [FAILED]
Starting acpi daemon:
Starting cups:
Starting sshd:
Starting xinetd:
Starting sendmail:
Starting sm-client:
Starting console mouse services:
Starting crond:
Starting xfs:
Starting anacron:
Starting atd:
Starting jexec:
Starting readahead:
Starting system message bus:
... ...
---------------------分頁線------------------------------------------
Press 'I' to enter interactive startup
Setting clock (localtime): Wed Nov 14 08:17:53 CST 2012 [ OK ]
Starting udev:
Initializing hardware... storage network audio done
Configuring kernel parameters:
Loading default keymap(us):
Setting hostname localhost.localdomain:
Your system appears to have shut down uncleanly
Checking root filesystem
Remounting root filesystem in read-write mode:
No RAID disks
Setting up Logical Volume Management:
Checking filesystems
Mounting local filesystems:
Enabling local filesystem quotas:
Enabling swap space:
---------------------分頁線------------------------------------------
Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
Kernel 2.6.9-89.ELsmp on an i686
localhost login:
---------------------分頁線------------------------------------------
進入圖形登陸界面(Username:)
language配置:
Session配置:(1.GHOME 2.Default System Session 3.KDE 4.Failsafe_Terminal)
Reboot
Shut Down
---------------------分頁線------------------------------------------
啟動日志分析
---------------------Power On-------------------------------------------------
加電(Power On):
計算機啟動后,BIOS(Basic Input/Output System)將尋找第一個可啟動的設備(通常為硬盤),
而后從MBR(Master Boot Record:硬盤的主引導記錄)中載入啟動程序,然后把控制交給這段代碼。MBR位於硬盤的前512字節內。
---------------------分頁線------------------------------------------
Press any key to enter the menu
Booting Red Hat Enterprise Linux AS (2.6.9-89.ELsmp) in 2 seconds...
注:敲回車鍵進入GNU GRUB
---------------------分頁線------------------------------------------
GNU GRUB version 0.95 (638K lower / 1042368K upper memory)
二選一:
Red Hat Enterprise Linux AS (2.6.9-89.ELsmp)
Red Hat Enterprise Linux AS-up (2.6.9-89.EL)
注:
GNU GRUB(簡稱“GRUB”)是一個來自GNU項目的啟動引導程序。
GNU GRUB http://zh.wikipedia.org/wiki/GNU_GRUB
Red Hat Linux:ELSMP與EL的區別?
版本號EL :Red Hat Linux kernel for uniprocessor machines 支持單處理器機器
版本號ELsmp:Red Hat Linux kernel that support symmetric multiprocessing(multiple processor machines);對稱多處理器機器
版本號ELhugemem:Red Hat Linux kernel that support up to 64 GB of RAM 支持64GB內存的對稱多處理器機器
---------------------分頁線------------------------------------------
Booting Red Hat Enterprise Linux AS (2.6.9-89.ELsmp)
root(hd0,0)
Filesystem type is ext2fs,partition type 0x83
kernel /vmlinuz-2.6.9-89.ELsmp ro root=/dev/VolGroup00/LogVol00 rhgb quiet
[Linux-bzImage, setup=0x1e00, size=0x16574f]
initrd /initrd-2.6.9-89.LSsmp.img
[Linux-initrd @ 0x37e9a000, 0x155ef7 bytes]
注:
Linux文件類型:
Ext2(ext2fs)是GNU/Linux系統中標准的文件系統。這是Linux中使用最多的一種文件系統,它是專門為Linux設計的,擁有極快的速度和極小的CPU占用率。Ext2既可以用於標准的塊設備(如硬盤),也被應用在軟盤等移動存儲設備上。
Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。Ext3是一種日志式文件系統(Journal File System),最大的特點是:它會將整個磁盤的寫入動作完整的記錄在磁盤的某個區域上,以便有需要時回溯追蹤。當在某個過程中斷時,系統可以根據這些記錄直接回溯並重整被中斷的部分,重整速度相當快。該分區格式被廣泛應用在Linux系統中。
Ext4是一種針對ext3系統的擴展日志式文件系統,是專門為Linux開發的原始的擴展文件系統(ext或 extfs)的第四版。 Linux kernel自2.6.28開始正式支持新的文件系統 Ext4。 Ext4是Ext3的改進版,修改了Ext3中部分重要的數據結構,而不僅僅像Ext3對Ext2那樣,只是增加了一個日志功能而已。Ext4可以提供更佳的性能和可靠性,還有更為豐富的功能,當前應用不廣泛。
Linux swap是Linux中一種專門用於交換分區的swap文件系統。Linux是使用這一整個分區作為交換空間。一般這個swap格式的交換分區是主內存的2倍。在內存不夠時,Linux會將部分數據寫到交換分區上。
VFAT叫長文件名系統,這是一個與Windows系統兼容的Linux文件系統,支持長文件名,可以作為Windows與Linux交換文件的分區。
Uncompressing Linux... Ok, booting the kernel.
PCI:Cannot allocate resource region 4 of device 0000:00:07.1
Red Hat nash version 4.2.1.13 starting
sda: assuming drive cache:write through
sda: assuming drive cache:write through
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
INIT: version 2.85 booting
Setting default font (latarcyrheb-sun16): [ OK ]
注:
PCI:(Pedpherd Component Interconnect,周邊元件擴展接口)
Red Hat nash:"nash"是linux內核引導時initrd中常用的一個簡單的類似於shell的工具,說它類似主要是因為它只能執行一些內嵌的命令,如mount、mkdir、pivot_root、mkrootdev等等。你可以使用man 8 nash查看它具體的命令。
cache strategy: write through、write back
lvm2:第二代Logical Volume Manager
INIT:init進程,它是一個由內核啟動的用戶級進程。
運行級別:
那么,到底什么是運行級呢?
簡單的說,運行級就是操作系統當前正在運行的功能級別。這個級別從1到6 ,具有不同的功能。
不同的運行級定義如下:(可以參考Red Hat Linux 里面的/etc/inittab)
# 0 - 停機(千萬不能把initdefault 設置為0 )
# 1 - 單用戶模式
# 2 - 多用戶,沒有 NFS
# 3 - 完全多用戶模式(標准的運行級)
# 4 - 沒有用到
# 5 - X11 (xwindow)
# 6 - 重新啟動 (千萬不要把initdefault 設置為6 )
---------------------分頁線------------------------------------------
Welcome to Red Hat Enterprise Linux AS
Press 'I' to enter interactive startup.
Setting clock (utc): Wed Nov 14 08:17:53 CST 2012 [ OK ]
Starting udev:
Initializing hardware... storage network audio done
注:
udev 是Linux kernel 2.6系列的設備管理器。它主要的功能是管理/dev目錄底下的設備節點。它同時也是用來接替devfs及hotplug的功能,這意味着它要在添加/刪除硬件時處理/dev目錄以及所有用戶空間的行為,包括加載firmware時。
/dev/VolGroup00/LogVol00: 167198/647680 files (1.4% non-contiguous),979562/1294336 blocks
/boot: 40/26104 files(7.5% non-contiguous), 16702/104388 blocks
INIT: Entering runlevel: 5quotas:
Entering non-interactive startup
Applying Inte Microcode update:
Starting monitoring for VG VolGroup00:
Starting readahead_early:
Checking for new hardware
Applying iptables firewall rules:
Starting pcmcia:
Setting network parameters:
Bringing up loopback interface:
Bringing up interface etho:
注:
VG:Visual Graph
iptables firewall:iptables是與Linux內核集成的IP信息包過濾系統。如果Linux系統連接到因特網或LAN服務器或連接LAN和因特網的代理服務器, 則該系統有利於在Linux系統上更好地控制IP信息包過濾和防火牆配置。
netfilter/iptablesIP信息包過濾系統是一種功能強大的工具,可用於添加、編輯和除去規則,這些規則是在做信息包過濾決定時,防火牆所遵循和組成的規則。這些規則存儲在專用的信息包過濾表中,而這些表集成在Linux內核中。在信息包過濾表中,規則被分組放在我們所謂的鏈(chain)中。
雖然 netfilter/iptablesIP信息包過濾系統被稱為單個實體,但它實際上由兩個組件netfilter和iptables組成。
netfilter組件也稱為內核空間(kernelspace),是內核的一部分,由一些信息包過濾表組成,這些表包含內核用來控制信息包過濾處理的規則集。
iptables組件是一種工具,也稱為用戶空間(userspace),它使插入、修改和除去信息包過濾表中的規則變得容易。
pcmcia:Personal Computer Memory Card International Association又稱PC card。有Type I、Type II Typelll三種標准,分別規定了所用PC卡的尺寸及相應的電路等。PCMCIA插槽就是來插PC卡的。
loopback:本地環回接口(或地址),亦稱回送地址(loopback address)。此類接口是應用最為廣泛的一種虛接口,幾乎在每台路由器上都會使用。
etho(ethernet network 0):"etho"在計算機里表示網絡設備,如果是“etho0”一般表示第一張網卡,“etho1”表示第二張網卡。
“etho端口”代表你網絡連接的端口,這是一個概念,一台主機一般有一個IP,一個IP有幾萬個有用端口,而不同的端口傳輸着不同的數據。
Starting system logger: ----------- 系統開始記錄日志
Starting kernel logger:
Starting irqbalance:
Starting portmap:
Starting NFS statd
Starting RPC idmapd:
Mounting other filesystems:
Starting lm_sensors:
Starting automount: No Mountpoints Defined
Starting smartd: [FAILED]
Starting acpi daemon:
Starting cups:
Starting sshd:
Starting xinetd:
Starting sendmail:
Starting sm-client:
Starting console mouse services:
Starting crond:
Starting xfs:
Starting anacron:
Starting atd:
Starting jexec:
Starting readahead:
Starting system message bus:
Starting haldaemon
Starting gdm(pam_unix)[6590]
gconfd
注:
system logger: syslogd 記錄系統日志工具
kernel logger: klogd 記錄內核日志工具
irqbalance:能夠在多個CPU之間均衡分配硬件中斷,試圖達到SMP系統CPU負載均衡的目的,啟用此守護進程之后,IRQ的分配確實趨向平衡。
portmap進程的主要功能是把RPC程序號轉化為Internet的端口號。
NFS statd:該守護進程使用lockd為鎖定管理器提供崩潰和恢復功能。statd守護進程可跟蹤在NFS服務器上保存鎖定的客戶機。如果服務器崩潰,則在重新引導時,服務器上的statd將與客戶機上的statd進行聯系。隨后,客戶機statd便會嘗試回收服務器上的所有鎖定。客戶機statd還會通知服務器statd客戶機發生崩潰的時間,以便可以清除服務器上的客戶機鎖定。
rpc idmapd的守護進程,監控nfsv4的服務狀況
lm_sensors是一款linux的硬件監控的軟件,可以幫助我們來監控主板,CPU的工作電壓,風扇轉速、溫度等數據。這些數據我們通常在主板的 BIOS也可以看到。當我們可以在機器運行的時候通過lm_sensors隨時來監測着CPU的溫度變化,可以預防呵保護因為CPU過熱而會燒掉。
smartd是一個守護進程(一個幫助程序),它能監視擁有自我監視,分析和匯報技術(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盤。 SMART系統使得硬盤能監視並匯報自己的運行狀況。它的一個重要特性是能夠預測失敗,使得系統管理員能避免數據丟失。
acpid daemon:也就是the ACPI event daemon。也就是acpi的消息進程。用來控制、獲取、管理acpi的狀態的服務程序。
CUPS(Common UNIX Printing System,通用Unix打印系統)是Fedora Core3中支持的打印系統,它主要是使用IPP(Internet Printing Protocol)來管理打印工作及隊列,但同時也支持"LPD"(Line Printer Daemon)和"SMB"(Server Message Block)以及AppSocket等通信協議。
sshd:Open Secure Shell Daemon
xinetd(eXtended InterNET services daemon): xinetd提供類似於inetd+tcp_wrapper的功能,但是更加強大和安全。xinetd已經取代了inetd,並且提供了訪問控制、加強的日志和資源管理功能,已經成了Red Hat 7 和 Mandrake 7.2的Internet標准超級守護進程。
sendmail是最重要的郵件傳輸代理程序。理解電子郵件的工作模式是非常重要的。一般情況下,我們把電子郵件程序分解成用戶代理,傳輸代理和投遞代理。 用戶代理用來接受用戶的指令,將用戶的信件傳送至信件傳輸代理,如:outlook express、foxmail等。而投遞代理則從信件傳輸代理取得信件傳送至最終用戶的郵箱,如:procmail。
sm-client是郵件服務器軟件sendmail的郵件客戶端服務,安裝sendmail服務后,才會有這個服務,安裝sendmail后,沒正確配置sendmail或沒有配置這個服務就會出現你說的錯誤。
crond的概念和crontab是不可分割的。crontab是一個命令,常見於Unix和類Unix的操作系統之中,用於設置周期性被執行的指令。該命令從標准輸入設備讀取指令,並將其存放於“crontab”文件中,以供之后讀取和執行。該詞來源於希臘語 chronos,原意是時間。而crond正是它的守護進程。
XFS是由Silicon Graphics為他們的IRIX操作系統創造的高性能日志文件系統,后來被移植到Linux內核上。XFS特別擅長處理大文件,同時提供平滑的數據傳輸。XFS健壯的、優秀的以及功能豐富的文件系統,並且這種文件系統所具有的可伸縮性能夠滿足最苛刻的存儲需求。
anacron: crontab 可以指定任務在每天幾點鍾運行,可是如果那個鍾點機器沒有開,
那個任務便錯過了時間在一個新的時間輪回之內不再運行了。
而 anacron 可以在每天、每周、每月(時間輪回天數可以自己指定)服務啟動時便會
將所有服務置為 Ready 狀態,只等時間一到,便執行任務。
atd(arranged task daeamon):計划任務服務
jexec工具:管理jail時我們可以選擇jexec工具,先用jls找出運行Apache的jid(此例中apache_jail的jid為1),然后用jexec命令進入此jail機器中
readahead工具的基本原理是先預先載入開機過程可能使用的檔案到記憶體中(page cache)。如此開機程式執行時,便可節省讀入檔案的時間,進而加快開機速度。
system message bus工具 messagebus服務負責在各個系統進程之間傳遞消息。
其中,hotplug是核心,當硬件設備接入系統后,首先由hotplug服務檢測到並自動配置內核狀態,調用添加相關的內核模塊。
udev負責動態維護/dev目錄,使/dev目錄和當前的系統狀態保持一致,創建/dev/sdax等設備文檔。
messagebus服務負責在各個系統進程之間傳遞消息。
haldaemon接受由udev通過D-BUS傳遞來的消息后調fstab-sync修改 fstab文檔,動態創建/media目錄下的子目錄作為掛載點。
gamin檢測到 fstab 發生變化之后,負責通知桌面系統。桌面系統在 “電腦” 項目中建立驅動器圖標。
因此實現自動加載移動存儲設備時必須確保上述的幾個服務正常啟動。通常在進行系統優化時可能會無意中關閉haldaemon服務,這樣就會導致無法動態更改/etc/fstab文檔,從而導致移動設備接入系統后無法自動識別。此時能夠通過mount命令進行手動掛載。
---------------------分頁線------------------------------------------
Press 'I' to enter interactive startup
Setting clock (localtime): Wed Nov 14 08:17:53 CST 2012 [ OK ]
Starting udev:
Initializing hardware... storage network audio done
Configuring kernel parameters:
Loading default keymap(us):
Setting hostname localhost.localdomain:
Your system appears to have shut down uncleanly
Checking root filesystem
Remounting root filesystem in read-write mode:
No RAID disks
Setting up Logical Volume Management:
Checking filesystems
Mounting local filesystems:
Enabling local filesystem quotas:
Enabling swap space:
注:
RAID disks:(Redundant Arrays of Inexpensive Disks)磁盤陣列
---------------------分頁線------------------------------------------
Red Hat Enterprise Linux AS release 4 (Nahant Update 8)
Kernel 2.6.9-89.ELsmp on an i686
localhost login:
---------------------分頁線------------------------------------------
進入圖形登陸界面(Username:)
language配置:
Session配置:(1.GHOME 2.Default System Session 3.KDE 4.Failsafe_Terminal)
Reboot
Shut Down
---------------------分頁線------------------------------------------
Linux啟動常見故障診斷解決
對大多數用戶來說,由於Linux操作系統的易用性和Windows操作系統相比較起來還是存在一定差別的。在Windows操作系統下,如果系統發生一些故障或問題的時候,我們經常會用一些補救的措施來進行故障的排除,這些方法很多,而且簡單易用。但是,這種在Linux操作系統進行故障排除的工作卻要復雜一些,而且故障的發現不像在Windows操作系統那樣可以及時預見,需要手工運行一些系統和網絡的管理命令。下面,就對系統和網絡兩種類型在Linux操作系統中的常見故障診斷進行說明。
系統故障診斷
1.啟動故障
這是在Linux操作系統中經常會遇到的問題。
系統不能啟動的原因主要有:在安裝Linux操作系統的過程中,LILO配置信息錯誤,導致安裝完畢后,系統不能正常啟動;重新安裝其他的操作系統,也經常會導致原有的Linux不能啟動。因為,這些新安裝的操作系統默認為計算機中沒有其他的操作系統,因而改寫了硬盤的主引導記錄(MBR),覆蓋了Linux操作系統中的LILO系統引導程序,致使最后無法啟動LILO;在操作linux操作系統過程中,由於運行錯誤的Linux命令,使系統重新啟動時,出現異常。
解決方法: 如果在Linux操作系統安裝過程中或安裝過程后,制作了Linux系統的急救啟動盤組,使用這些急救盤啟動系統即可進入系統,然后對相應錯誤,進行配置即可解決問題;如果沒有制作急救啟動盤組,Linux系統不能啟動,該怎么辦呢?下面介紹三種解決方法:
(1)進入Linux操作系統單用戶模式,在boot提示符后,敲入:
linux single
此模式下啟動Linux,LILO配置和網絡配置信息不加載在啟動過程中。
(2)光盤啟動,用第一張安裝Linux操作系統的光盤(啟動光盤)啟動硬盤的Linux系統,主板BIOS里要設置光盤啟動,重啟機器后,出現 boot: 提示符后鍵入:
vmlinuz root=/dev/linuxrootpartition noinitrd
其中,root=后面填入您的Linux root分區的分區號,也就是Linux系統的root文件系統所在的硬盤分區位置,例如:
vmlinuz root=/dev/hda3 noinitrd
回車之后,即可進Linux系統。如果想恢復被破壞的LILO系統引導程序,可以編輯/etc/lilo.conf 之后, 運行/sbin/lilo即可。 這種方法也適合其它原因對Linux操作系統造成的破壞。(注:軟盤啟動操作系統的過程也同上)。
(3)在DOS下運行loadlin程序啟動系統。在個人計算機使用 Linux系統時,通常都是Linux和Windows 9x或Windows 2000並存的。如果知道Linux系統在硬盤上的確切安裝分區,並且有loadlin程序(在 Red Hat Linux 光盤的 dosutil目錄下就有這個程序),也可以啟動Linux系統。loadlin是DOS系統下的程序,運行它可以從DOS系統下直接啟動Linux系統,快速進入Linux環境。 除loadlin程序之外,還需要一個 Linux啟動內核的映像文件vmlinuz,在 Red Hat linux光盤的 images目錄下有這個文件。例如,如果在Windows 2000系統下面,進入DOS的命令模式,然后運行下述的loadlin命令,即可重新進入Linux系統:
loadlin vmlinuz root=/dev/linuxrootpartition
命令執行后,就開始引導Linux系統。用root身份登錄后,編輯/etc/lilo.conf 之后,運行/sbin/lilo即可,這樣操作后則重新將LILO系統引導程序裝入MBR。
2.文件系統故障
在Linux操作系統中,這也是一種經常會遇到的故障。由於系統不正常關機,或突然掉電等原因引起文件系統被破壞。
解決方法: 當文件系統被破壞時,可以使用相應的fsck命令進行文件系統的修復。例如下面的命令:
fsck /dev/hda5
關於fsck命令具體參數的使用方法,可以參閱MAN參考手冊。如果使用的是ext2fs類型的文件系統,就可從軟盤運行e2fsck命令來修正文件系統中被損壞的數據。 但是有一點要注意:如果文件系統被破壞的原因是超級塊被損壞,超級塊是文件系統的“頭部”。它包含文件系統的狀態、尺寸和空閑磁盤塊等信息。如果損壞了一個文件系統的超級塊(例如不小心直接將數據寫到了文件系統的超級塊分區中),那么Linux可能會完全不識別該文件系統,即使采用fsck或e2fsck命令也不能修復它了。這時候,只有到安裝光盤中看看有沒有對應的文件系統,將此文件覆蓋原操作系統被破壞的文件來恢復了。如果不小心刪除了系統中重要的文件,也可采用這種方法來試試。
3.函數庫故障
在Linux操作系統中,如果不慎將系統中的函數庫文件破壞,或者破壞了/lib目錄下符號鏈接,那么將導致依賴這些庫的命令無法執行。這也是比較常見的系統故障。
解決方法: 最簡單的解決辦法是用急救啟動盤組啟動系統,在/mnt目錄中安裝硬盤文件系統,然后修復/mnt/lib目錄下的庫。
4.登錄系統故障
由於管理員忘記密碼,或者由於系統受到黑客的入侵,系統密碼文件被修改。導致管理員可能無法用帳號登錄系統。 解決方法: 方法一,在系統啟動時,進入單用戶模式(linux single),然后用passwd命令重新設置密碼,或修改密碼文件即可恢復正常。 方法二,用急救啟動盤組啟動系統,然后將硬盤的文件系統安裝到/mnt目錄下,編輯/mnt/etc/passwd文件進行恢復。 方法三、將安裝系統的硬盤拆下來,放在另一個Linux系統中,然后(mount)掛載此硬盤的系統安裝區,將次硬盤分區中的/etc/passwd, /etc/shadow,/etc/group文件覆蓋或修改,也可以恢復。
5.KDE環境故障
如果Linux系統的KDE環境無法正常啟動,例如以普通賬號運行startx命令后,出現:
“...... can not start X server. Perhaps you do not have console ownershiip? ”
類似的提示。出現這種提示的原因是可能別的用戶曾經運行過KDE環境,並在系統中留下標示此用戶的緩存文件。 解決方法: 運行如下命令:
rm -rf /tmp/*
然后,重新運行startx 命令即可進入KDE環境。 如果以普通賬號運行startx命令后,出現“can not start X server”的錯誤提示,並且不斷地有報錯提示的英文字符向上翻滾,導致無法進入KDE環境。出現這種情況,可能是由於對Linux系統的不正常關機,從而導致不能進入Linux的KDE環境。 解決方法: 在控制台下以root身份登陸,鍵入setup命令,出現系統設置菜單,選擇其中的“X窗口設置”,然后依照提示正確設置顯示器的類型、刷新頻率、顯存大小、分辨率等。這樣將系統中的X窗口重新設置一遍, 如果沒有報錯,系統會自動啟動KDE環境,可能需要注意的一點是:在用setup命令進行設置時,可能還會有大量的英文字符在屏幕上翻滾,這時不要緊,請繼續看清屏幕,使用TAB鍵或方向鍵進行上面的配置,配置無誤后,會立刻恢復KDE環境的。
6. 網絡故障
1).IP地址無法ping通
當在linux系統中IP地址無法ping通時,主要原因是由於網絡信息配置的錯誤導致的。
解決方法:
(1)使用ifconfig 命令重新配置網卡地址,命令行如下:
$ ifconfig eth0 192.168.1.2 netmask
255.255.255.0 $ ifdown eth0 $ ifup eth0
然后用ping命令,就可以ping通IP地址192.168.1.2了。
(2) 修改系統中的網絡配置文件也可以達到上面的目的,建議使用這種方法,這樣的操作更加可靠。
操作步驟如下: 進入網絡配置文件所在目錄:
$ cd /etc/sysconfig/network-scripts $ ls ifcfg-eth0
ifdown-ipv6 ifdown-sit ifup-aliases ifup-plip ifup-ppp
ifup-sl ifcfg-lo ifdown-post ifdown-sl ifup-ipv6
ifup-plusb ifup-routes network-functions ifdown
ifdown-ppp ifup ifup-ipx ifup-post ifup-sit
network-functions-ipv6
用vi命令修改ifcfg-eth0 文件中下面的一行即可,例如:
IPADDR=192.168.1.2
其中192.168.1.2是所要修改或重新配置的地址,配置完畢后,重新啟動機器就可以使IP地址的改動生效。
2).無法訪問外部
如果在Linux操作系統中無法訪問外部,例如ping公網的IP地址不通,而ping自己機器的地址可以通,一般原因是網關信息沒有配置正確。 解決方法: 采用上面的第二種方法(直接修改網關配置文件)可以快速解決問題,操作步驟如下,進入網關配置文件所在目錄:
$ cd /etc/sysconfig $ ls apmd authconfig clock.OLD
gpm i18n keyboard network provider sendmail
apm-scripts cbq console harddisks identd kudzu
用vi命令修改此目錄下network文件中下面的一行即可,例如:
GATEWAY=192.168.1.1
其中192.168.1.1是所要修改或重新配置的網關地址,配置完畢后,重新啟動機器就可以使網關地址的改動生效。
3).域名故障
如果在linux系統中無法進行域名解析,最可能原因是沒有在本地指定有效的域名服務器,這種情況比較常見。
解決辦法:
一般修改和域名服務相關的文件如/etc/hosts或 /etc/resolv.conf,在這些文件中添加有效的域名服務器的IP地址就可以解決。如果判斷不是本地域名解析的問題,例如在本地可以解析公司域名,但外面的客戶無法正常解析公司域名,則需要和域名注冊服務提供商聯系,一同解決問題。因為此種情況的發生,可能是公司系統中的IP地址和注冊的域名不對應的原因造成的。