對于 Linux 服務(wù)喝滞,想排錯得心應(yīng)手的話阁将,先要養(yǎng)成良好的操作習(xí)慣。
(1)錯誤信息
一定要仔細(xì)查看接收到的錯誤信息右遭。如果有錯誤提示的話做盅,根據(jù)錯誤提示,去判斷產(chǎn)生問題所在窘哈。
(2)配置文件
配置文件存放服務(wù)的設(shè)置信息吹榴, 用戶可以修改配置文件, 以實(shí)現(xiàn)服務(wù)的特定功能滚婉。 但是图筹,用戶的配置失誤, 會造成服務(wù)無法正常運(yùn)行让腹。 為了減少輸入引起的錯誤远剩, 很多服務(wù)的軟件包,都自帶配置文件檢查工具骇窍,用戶可以通過這些工具瓜晤,對配置文件進(jìn)行檢查。
(3)日志文件
一旦服務(wù)出現(xiàn)問題腹纳,不要驚慌痢掠,用組合鍵 Ctrl+Alt+F1 到 F6 切換到另外一個(gè)文字終端驱犹,使用 tail 命令來動態(tài)監(jiān)控日志文件。
[root@RHEL4 ~]#? testparm? -F? /var/log/messages
當(dāng)遇到問題時(shí)查看日志是比較效率的解決方法足画。在Linux系統(tǒng)中雄驹,有三個(gè)主要的日志子系統(tǒng):
1、連接時(shí)間日志
2淹辞、進(jìn)程統(tǒng)計(jì)
3荠医、錯誤日志
常用的日志文件如下:
access-log 紀(jì)錄HTTP/web的傳輸
acct/pacct 紀(jì)錄用戶命令
aculog 紀(jì)錄MODEM的活動
btmp 紀(jì)錄失敗的紀(jì)錄
lastlog 紀(jì)錄最近幾次成功登錄的事件和最后一次不成功的登錄
messages 從syslog中記錄信息(有的鏈接到syslog文件)
sudolog 紀(jì)錄使用sudo發(fā)出的命令
sulog 紀(jì)錄使用su命令的使用
syslog 從syslog中記錄信息(通常鏈接到messages文件)
utmp 紀(jì)錄當(dāng)前登錄的每個(gè)用戶
wtmp 一個(gè)用戶每次登錄進(jìn)入和退出時(shí)間的永久紀(jì)錄
xferlog 紀(jì)錄FTP會話
who:who命令查詢utmp文件并報(bào)告當(dāng)前登錄的每個(gè)用戶。Who的缺省輸出包括用戶名桑涎、終端類型彬向、登錄日期及遠(yuǎn)程主機(jī)。
w:w命令查詢utmp文件并顯示當(dāng)前系統(tǒng)中每個(gè)用戶和它所運(yùn)行的進(jìn)程信息攻冷。
last:last命令往回搜索wtmp來顯示自從文件第一次創(chuàng)建以來登錄過的用戶娃胆。
ac:ac命令根據(jù)當(dāng)前的/var/log/wtmp文件中的登錄進(jìn)入和退出來報(bào)告用戶連結(jié)的時(shí)間(小時(shí)),如果不使用標(biāo)志等曼,則報(bào)告總的時(shí)間里烦。
ac -d(回車)顯示每天的總的連結(jié)時(shí)間
ac -p (回車)顯示每個(gè)用戶的總的連接時(shí)間
lastlog:lastlog文件在每次有用戶登錄時(shí)被查詢。
可以使用lastlog命令來檢查某特定用戶上次登錄的時(shí)間禁谦,并格式化輸出上次登錄日志/var/log/lastlog的內(nèi)容胁黑。它根據(jù)UID排序顯示登錄名、端口號(tty)和上次登錄時(shí)間州泊。如果一個(gè)用戶從未登錄過丧蘸,lastlog顯示"**Never logged**。注意需要以root運(yùn)行該命令遥皂,
二力喷、網(wǎng)絡(luò)排錯的基本思路
? ? 基本思路如下,這跟網(wǎng)上的大多數(shù)人寫的應(yīng)該是差不多的演训。
(1)檢查物理鏈路是否有問題
(2)查看本機(jī)IP地址弟孟、路由、DNS的設(shè)置是否有問題
(3)測試網(wǎng)關(guān)或路由器的通暢情況样悟。先測網(wǎng)關(guān)然后再測路由器拂募,一級一級地測試
(4)測試ping公網(wǎng)ip的通暢情況(平時(shí)要記幾個(gè)外部IP)
(5)測試DNS的通暢情況,可以直接ping網(wǎng)站地址
? ? 下面的第三部分窟她,就針對上面的基本思路來進(jìn)行詳細(xì)的說明陈症。