Linux重定向console口控制臺(tái)
Linux重定向console口控制臺(tái)的具體操作步驟如下:
首先,因?yàn)長(zhǎng)inux系統(tǒng)的版本不一樣,重定向規(guī)則也稍有不同。所以這里只以Fedora13版的Linux系統(tǒng)來(lái)說(shuō)明,下文以Linux自稱。
Linux從啟動(dòng)到啟動(dòng)完成的所有輸出均復(fù)制到Com口上,一共需要修改3個(gè)文件。在此之前還要確認(rèn)/sbin/agetty文件是否存在,此文件用來(lái)把系統(tǒng)的輸入輸出映射到其它設(shè)備上。
1.首先在 /etc/inittab里面添加如下內(nèi)容,最后一行另加一行加上:
sc:2345:respawn:/sbin/agetty ttyS0 1152000,115200 xterm
“sc”為改行ID,“2345”指改行的運(yùn)行級(jí)別是2、3、4、5級(jí);“respawn”是使命令退出后再執(zhí)行一次,以便其他用戶能夠登錄;“/sbin/agetty ttyS0 9600 vt100”表示具體的命令,即通過(guò)他來(lái)執(zhí)行打開(kāi)串口/dev/ttyS0(COM1),后面是波特率和終端模式
xterm是一個(gè)X Window System上的標(biāo)準(zhǔn)虛擬終端。用戶可以在同一個(gè)顯示器上開(kāi)啟許多xterm,每一個(gè)都為其中運(yùn)行的進(jìn)程提供獨(dú)立的輸入輸出(一般來(lái)說(shuō)此進(jìn)程是Unix shell)。
2.修改/etc/securetty里面的內(nèi)容:
第2行另加一行加上:ttyS0
該文件是允許root身份登錄的tty設(shè)備列表,這些設(shè)備由/bin/login程序讀取,為了使用戶能以root身份通過(guò)串口登錄,需要在該文件中添加“ttyS0”,說(shuō)明系統(tǒng)認(rèn)為這里的COM1是安全的;
3.修改/etc/grub.conf文件里面的內(nèi)容:
重定向grub:
在#Enable Serial Console下另加一行(有時(shí)可能有誤差)加上:
serial --unit=0 --speed=115200 --word=8 --paity=no --stop=1 terminal --timeout=10 serial console serial
初始化一個(gè)串口設(shè)備。
重定向console:
在/etc/grub.conf文件中kernel語(yǔ)句本行加上:
console=tty0 console=ttyS0,115200n8
其中“ttyS0”,“0”表示串口使用COM1;“9600”表示波特率為9600bps;“n”表示無(wú)校驗(yàn)位;“8”表示有8位數(shù)據(jù)位。
其實(shí)Linux啟動(dòng)時(shí)的信息都是由KERNEL顯示的,缺省情況下啟動(dòng)完畢了后init再運(yùn)行mingetty來(lái)提供6個(gè)虛擬終端來(lái)登陸系統(tǒng),這可以在/etc/inittab文件中清楚地看到。其實(shí)login和內(nèi)核是沒(méi)有關(guān)系的,所以如果只是在內(nèi)核中加入?yún)?shù)使其能從COM口交互式地操作并不代表能從超級(jí)終端登錄系統(tǒng),我們需要另外運(yùn)行一個(gè)提供從串口登錄能力的程序,這個(gè)程序就是agetty,它是屬于util-Linux軟件包中的一員,大家可以參考其man手冊(cè)頁(yè)以獲得更多的信息,這些信息在其他的文檔[1][3]中也都提及到了。
COM口的傳輸距離有限制,普通的線纜只有15米的有效距離,建議使用5類雙絞線,可以擴(kuò)展到50米仍能正常操作;
一般想使用root從ttyS0登錄,默認(rèn)的這是不行的,我們需要把該終端加入到文件/etc/securetty中,就是說(shuō)終端ttyS0是安全的終端,可以使用root登錄; 如果服務(wù)器長(zhǎng)時(shí)間開(kāi)著的話,最好每次都使用exit退出該終端,因?yàn)槿绻煌顺鰜?lái)的話,下次再登陸可能會(huì)出現(xiàn)輸入亂碼導(dǎo)致終端不可用等問(wèn)題,而在登錄提示符下輸入亂碼則無(wú)關(guān)緊要;
如果你是通過(guò)這種方法管理一臺(tái)實(shí)際24X7開(kāi)著的服務(wù)器的話,你可能會(huì)有時(shí)發(fā)現(xiàn)在終端中按回車沒(méi)有任何反映,有一種可能性就是系統(tǒng)在停電后再開(kāi)機(jī)出現(xiàn)不能啟動(dòng)NFS和sendmail之類的服務(wù),就這樣卡在那里死鎖住了,這在電源不穩(wěn)定的情況下尤其多見(jiàn),所以一定要給你的Linux服務(wù)器接上UPS不間斷電源,或者在系統(tǒng)BIOS里設(shè)置斷電后不再啟動(dòng)系統(tǒng)(如果它不是太重要的話),在這種情況下只有按鍵盤(pán)重新啟動(dòng)或者直接斷電再重新啟動(dòng)一次,檢查啟動(dòng)過(guò)程到底發(fā)生了什么事情,一般只需要檢查一遍硬盤(pán)就沒(méi)有問(wèn)題了;
如果你的ttyS0出現(xiàn)亂碼沒(méi)有辦法使用的話,可以嘗試著從網(wǎng)絡(luò)登陸,把/etc/inittab中ttyS0那一行注釋,使用"init q"命令停止通過(guò)inittab啟動(dòng)的agetty,然后再重新取消/etc/inittab中的注釋,再次"init q"命令啟動(dòng)agetty,不出意外就能恢復(fù)正常了。
【編輯推薦】















 
 
 




 
 
 
 