在這一節,我們要說明如何利用不斷電系統(以下簡稱UPS,https://en.wikipedia.org/wiki/Uninterruptible_power_supply),來防止突然的跳電或停電時,可以利用不斷電系統所提供的電池,讓電腦主機可以再使用短暫時間,並利用這短暫時間,可以對使用者或使用工作,來發布訊息,再來正常關機。如此才不會因跳電或停電,對硬體裝置,或正在執行的程式與作業系統,來造成不可回復的影響。UPS一般分為三種,離線式(offline)、在線式(online)與線上交錯式(line-interactive),除了隨著電池容量愈大,價格愈高外,在線式亦比離線式或線上交錯式價格高出許多。但若預算真的充足,筆者還是相當建議買在線式的,畢竟可以使用的電器較多,而電力轉換時間較無縫接軌。
因筆者本身僅擁有離線式之UPS,其品牌為 APC(www.apc.com),主要因 APC 所出產的UPS其有 opensource 的 apcupsd(http://www.apcupsd.org/)之套件可供 CentOS6_x86 使用,故使用此套件來說明,分別利用 USB 線(https://en.wikipedia.org/wiki/USB)與主機直接連接,或 Ethernet 網路卡與主機在相同內部網路等方式,來做停電時殘餘電量的監控,而可以自動的正常將電腦主機安全的關機。除此之外,APC 的UPS亦有自家的 PowrChute 軟體(https://www.apc.com/us/en/tools/download/software_comp.cfm?sw_sku=SFPCBE911&ISOCountryCode=us)可供在 MS Windows Server 與 Linux 上監控其UPS的健康狀況。
首先,我們先以 root 權限,利用指令 yum install來下載 apcupsd ,並且按下鍵盤 y 與鍵盤 Enter 令其安裝,如前節的 ntfs-3g 套件安裝模式,如圖 3-44:
(圖3-44)
接著,確認 UPS 的 USB 監控線是否已插入在主機的 USB 連接埠上,然後利用指令 vim /etc/apcupsd/apcupsd.conf 來編輯 apcupsd 的設定檔,如圖3-45-1至3-45-3。
(圖3-45-1)
(圖3-45-2)
(圖3-45-3)
圖3-45-1至圖3-45-3的內容,對於使用 USB 連結方式監控,我們主要修改個參數,如以下:
UPSCABLE usb # 維持預設,參數名稱可在 vim 下用搜尋來找到,如前章所說明。
UPSTYPE usb # 圖3-45-1的此參數上方說明檔,書寫得相當詳細,故我們維持預設。
BATTERYLEVEL 5 # 為設定當UPS電池殘餘電量剩少於 5% 時,便讓電腦主機做正常關機的動作。
MINUTE 3 /* 為設定當UPS電池殘餘電量可提供負載少於3分鐘時,讓主機做正常關機的動作,與 BATTERYLEVEL 可以互相搭配,誰先到條件就先執行誰,與 BATTERYLEVEL 一樣端看管理者的需求 */
NOLOGON percent # 可以設定為看電量殘餘量百分比數,來決定是否拒絕再有連線連入。
------------
其他設定參數,請維持預設即可,再來須利用指令 service apcupsd start,來啟動監控後,再輸入指令 apcaccess,就可以看到 APC UPS 的參數與監控設定是否有成功。請讀者記得,若往後要開機亦載入 apcupsd 的監控,則需輸入以下指令:
$ chkconfig --level 35 apcupsd on /* 代表開機進入 init3 (多人連線之文字介面) 與 init5 (多人連線之圖形介面) 的模式時,皆會自動啟動 apcupsd */
$ chkconfig /* 看到現在所有開機會載入的 services 或 daemons,如MS Windows下的指令 services.msc 以及 msconfig.exe ,所看到的開機載入程式與服務相似,如圖 3-46。 */
(圖3-46)
除此之外,需要24小時不讓電腦主機間斷的使用的,請記得進入主機的BIOS介面,再把能源選項內的 restore on AC Power Loss 修改成 always on,這樣就算主機因長時間停電,而正常關機,一旦有電源供應,便可自動重開機。各家電腦廠牌,進入設定 BIOS 介面的方式不盡相同,一般為PC機器開機,出現第一個畫面時,由按下鍵盤Del鍵,即可進入 BIOS。
若我們需要 UPS 經由網路,來提供很多台有上網的主機同時監控 UPS 的狀況,並可以因 UPS 電量低時,連接同一台UPS的多台主機皆自行正常關機,那要如何設定呢,除了 UPS 需要有網路卡的功能,並將其與其他要主機接在同一個交換器下,並先記下UPS網路卡的 MAC 位址值(通常會印或貼在網路卡上),再來僅需要修改設定檔 /etc/apcupsd/apcupsd.conf,如以下:
UPSCABLE ether # 表示利用 ethernet network 連接
UPSTYPE SNMP /* 表示利用 SNMP (https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol) 傳遞UPS監控訊息 */
DEVICE 192.168.100.100:APC:private
(圖3-47)
接下來,筆者要說明如何在 CentOS6_x64 下,安裝印表機(Printer,中國稱打印機兒)。一般印表機連接方式,可分為USB連接,ethernet 有線網路連接,wifi無線網路連接(註:因為現在使用平行埠的印表機已少見,https://en.wikipedia.org/wiki/Parallel_port )以一般中小企業或小型辦公室/實驗室,筆者相當推薦經由 ethernet 網路來連接內部網域,讓內部各種電腦主機皆可以使用同一組印表機資源,且印表機語言請選擇有支援 PostScript 語言(一般MS Window下的環境,僅 GDI 或 PCL 列印語言的印表機,皆可以在MS Window下驅動,但Linux下,各廠牌印表機可以要至原廠網站看看是否有Linux的驅動程式或是此網站 http://www.openprinting.org/printers 看是否有驅動程式可下載或支援 )與支援 JetDirect 或 LPD 列印,較易於在Linux下安裝。而USB連接方式,通常建議僅使用於個人的機器,並一對一的使用,盡量不要使用USB hub(https://en.wikipedia.org/wiki/USB_hub),來讓多電腦主機共同使用同一組印表機。
在 linux 下,最普遍的就是利用CUPS( https://en.wikipedia.org/wiki/CUPS )來安裝,一般為利用 web browser 並於網址列輸入 localhost:631 或 127.0.0.1:631 來進入CUPS的web安裝模式。但筆者在此處,要先利用GNOME的系統管理程式來說明。首先我們在 terminal 介面下輸入system-config 按下鍵盤 tab 鍵,看看可用系統管理的程式,然後可以知道指令 system-config-printer 為管理印表機的系統管理程式。故我們輸入 system-config-printer & 後按鍵盤Enter鍵,讓system-config-printer程式可以在背景執行,且執行此指令的 terminal ,還可以再做執行下一個指令的動作(圖3-48)。
(圖3-48)
圖3-48為進入system-config-printer的介面,點選介面左上 New 後,會出現調整防火牆的訊息,此時我們若無用到 IPP 或 mDNS (https://en.wikipedia.org/wiki/Internet_Printing_Protocol) 連接方式,可以選擇Do It Later。若如筆者一樣,不想用大腦想太多的讀者,請點選 Adjust Firewall 即可。接著,會出現圖3-49畫面,我們再把 Network Printer 點開。
(圖3-49)
圖3-49在左方選項,一般選擇 JetDirect 走 9100 連接埠,接下來,就是選擇何種品牌的印表機,可指定,或是匯入PPD檔(https://en.wikipedia.org/wiki/PostScript_Printer_Description),或網路搜尋驅動並下載(http://www.openprinting.org/drivers and http://www.openprinting.org/driver/Postscript),如圖3-50。點選Forward後,在選擇何種型號與驅動程式類型,如圖3-51,建議點選 PostScript 類型的驅動程式( 與foomatic的差異,請見 https://en.wikipedia.org/wiki/Foomatic ) ,若為太早期型號,或是無在清單內的機器,讀者可自行試著利用相似或相近的型號( 如1400與1450同為14XX型 ),一樣選擇 PostScript 的驅動,說不定,也可以正常的使用印表機喔。
(圖3-50)
(圖3-51)
圖3-51點選Forward後,在選擇印表機的功能參數,如圖3-52,若有自動雙面列印功能的印表機,請記得把 Duplex Unit 勾選,Fit to Page 調整成 Nearest Size and Scale,其他參數若不清楚,請維持預設值就好。再點選 Forward後,就是最後設定名稱與放置位置的畫面,如圖3-53,老話一句,您看得明白與清楚可分辨就好,維持預設名稱也可以。亦可以多設定的印表機的顏色或是可否雙面的備註,來幫忙對機器型號不熟的使用者,列印時挑選。
(圖3-52)
(圖3-53)
最後,附上利用 CUPS 的網頁安裝畫面(圖3-54),再請讀者自行玩一玩,並且利用 OpenOffice 來測試列印一下安裝成功的印表機吧。
(圖3-54)
再補充一個在 Terminal 下安裝印表機方式,如要安裝一個由 usb 連接的 hp 印表機,首先,要從網站 http://www.openprinting.org/drivers 或印表機原廠網站(若有提供),下載印表機的 ppd 檔(https://en.wikipedia.org/wiki/PostScript_Printer_Description或http://www.openprinting.org/driver/Postscript),再來利用
指令 lpadmin -E -p hp4350 -v usb:/dev/usb/lp0 -m HP-LaserJet_4350-Postscript.ppd
再利用指令 lpstat -p hp4350 -l 來列出印表機的狀態。
筆者想起以前用個印表機列印,還要在 Terminal 用到指令 lpr 列印,lpq 查詢列印工作,lprm 刪除列印工作,列印前,還要用到指令 a2ps 來轉成 PostScript 檔,但現在在較完好的圖形環境下,還真的比較少用到了呢。但或許有些利用 Shell Script 處理的檔案,還是用指令式的批次列印,可能還是比較有效率喔。
If you have any feedback or question, please go to my forum to discuss.
因筆者本身僅擁有離線式之UPS,其品牌為 APC(www.apc.com),主要因 APC 所出產的UPS其有 opensource 的 apcupsd(http://www.apcupsd.org/)之套件可供 CentOS6_x86 使用,故使用此套件來說明,分別利用 USB 線(https://en.wikipedia.org/wiki/USB)與主機直接連接,或 Ethernet 網路卡與主機在相同內部網路等方式,來做停電時殘餘電量的監控,而可以自動的正常將電腦主機安全的關機。除此之外,APC 的UPS亦有自家的 PowrChute 軟體(https://www.apc.com/us/en/tools/download/software_comp.cfm?sw_sku=SFPCBE911&ISOCountryCode=us)可供在 MS Windows Server 與 Linux 上監控其UPS的健康狀況。
首先,我們先以 root 權限,利用指令 yum install來下載 apcupsd ,並且按下鍵盤 y 與鍵盤 Enter 令其安裝,如前節的 ntfs-3g 套件安裝模式,如圖 3-44:
(圖3-44)
接著,確認 UPS 的 USB 監控線是否已插入在主機的 USB 連接埠上,然後利用指令 vim /etc/apcupsd/apcupsd.conf 來編輯 apcupsd 的設定檔,如圖3-45-1至3-45-3。
(圖3-45-1)
(圖3-45-2)
(圖3-45-3)
圖3-45-1至圖3-45-3的內容,對於使用 USB 連結方式監控,我們主要修改個參數,如以下:
UPSCABLE usb # 維持預設,參數名稱可在 vim 下用搜尋來找到,如前章所說明。
UPSTYPE usb # 圖3-45-1的此參數上方說明檔,書寫得相當詳細,故我們維持預設。
BATTERYLEVEL 5 # 為設定當UPS電池殘餘電量剩少於 5% 時,便讓電腦主機做正常關機的動作。
MINUTE 3 /* 為設定當UPS電池殘餘電量可提供負載少於3分鐘時,讓主機做正常關機的動作,與 BATTERYLEVEL 可以互相搭配,誰先到條件就先執行誰,與 BATTERYLEVEL 一樣端看管理者的需求 */
NOLOGON percent # 可以設定為看電量殘餘量百分比數,來決定是否拒絕再有連線連入。
------------
其他設定參數,請維持預設即可,再來須利用指令 service apcupsd start,來啟動監控後,再輸入指令 apcaccess,就可以看到 APC UPS 的參數與監控設定是否有成功。請讀者記得,若往後要開機亦載入 apcupsd 的監控,則需輸入以下指令:
$ chkconfig --level 35 apcupsd on /* 代表開機進入 init3 (多人連線之文字介面) 與 init5 (多人連線之圖形介面) 的模式時,皆會自動啟動 apcupsd */
$ chkconfig /* 看到現在所有開機會載入的 services 或 daemons,如MS Windows下的指令 services.msc 以及 msconfig.exe ,所看到的開機載入程式與服務相似,如圖 3-46。 */
(圖3-46)
除此之外,需要24小時不讓電腦主機間斷的使用的,請記得進入主機的BIOS介面,再把能源選項內的 restore on AC Power Loss 修改成 always on,這樣就算主機因長時間停電,而正常關機,一旦有電源供應,便可自動重開機。各家電腦廠牌,進入設定 BIOS 介面的方式不盡相同,一般為PC機器開機,出現第一個畫面時,由按下鍵盤Del鍵,即可進入 BIOS。
若我們需要 UPS 經由網路,來提供很多台有上網的主機同時監控 UPS 的狀況,並可以因 UPS 電量低時,連接同一台UPS的多台主機皆自行正常關機,那要如何設定呢,除了 UPS 需要有網路卡的功能,並將其與其他要主機接在同一個交換器下,並先記下UPS網路卡的 MAC 位址值(通常會印或貼在網路卡上),再來僅需要修改設定檔 /etc/apcupsd/apcupsd.conf,如以下:
UPSCABLE ether # 表示利用 ethernet network 連接
UPSTYPE SNMP /* 表示利用 SNMP (https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol) 傳遞UPS監控訊息 */
DEVICE 192.168.100.100:APC:private
/* 此為利用指令 arp -a 來查詢 UPS 網路卡的MAC位址值與內部網路 DHCP 的 IP 值對應,或是利用
arp -s [MAC值] */
------------------------------------
將上述這些參數更改後,再用 service apcupsd start,並再利用指令 apcaccess 來看看( 圖3-47,HOSTNAME的值,因資訊安全,已被筆者覆蓋 ),有上網的主機是否有與 UPS 連線並監控,並且將設定檔設定在每一台需要監控UPS的上網主機。
(圖3-47)
接下來,筆者要說明如何在 CentOS6_x64 下,安裝印表機(Printer,中國稱打印機兒)。一般印表機連接方式,可分為USB連接,ethernet 有線網路連接,wifi無線網路連接(註:因為現在使用平行埠的印表機已少見,https://en.wikipedia.org/wiki/Parallel_port )以一般中小企業或小型辦公室/實驗室,筆者相當推薦經由 ethernet 網路來連接內部網域,讓內部各種電腦主機皆可以使用同一組印表機資源,且印表機語言請選擇有支援 PostScript 語言(一般MS Window下的環境,僅 GDI 或 PCL 列印語言的印表機,皆可以在MS Window下驅動,但Linux下,各廠牌印表機可以要至原廠網站看看是否有Linux的驅動程式或是此網站 http://www.openprinting.org/printers 看是否有驅動程式可下載或支援 )與支援 JetDirect 或 LPD 列印,較易於在Linux下安裝。而USB連接方式,通常建議僅使用於個人的機器,並一對一的使用,盡量不要使用USB hub(https://en.wikipedia.org/wiki/USB_hub),來讓多電腦主機共同使用同一組印表機。
在 linux 下,最普遍的就是利用CUPS( https://en.wikipedia.org/wiki/CUPS )來安裝,一般為利用 web browser 並於網址列輸入 localhost:631 或 127.0.0.1:631 來進入CUPS的web安裝模式。但筆者在此處,要先利用GNOME的系統管理程式來說明。首先我們在 terminal 介面下輸入system-config 按下鍵盤 tab 鍵,看看可用系統管理的程式,然後可以知道指令 system-config-printer 為管理印表機的系統管理程式。故我們輸入 system-config-printer & 後按鍵盤Enter鍵,讓system-config-printer程式可以在背景執行,且執行此指令的 terminal ,還可以再做執行下一個指令的動作(圖3-48)。
(圖3-48)
圖3-48為進入system-config-printer的介面,點選介面左上 New 後,會出現調整防火牆的訊息,此時我們若無用到 IPP 或 mDNS (https://en.wikipedia.org/wiki/Internet_Printing_Protocol) 連接方式,可以選擇Do It Later。若如筆者一樣,不想用大腦想太多的讀者,請點選 Adjust Firewall 即可。接著,會出現圖3-49畫面,我們再把 Network Printer 點開。
(圖3-49)
圖3-49在左方選項,一般選擇 JetDirect 走 9100 連接埠,接下來,就是選擇何種品牌的印表機,可指定,或是匯入PPD檔(https://en.wikipedia.org/wiki/PostScript_Printer_Description),或網路搜尋驅動並下載(http://www.openprinting.org/drivers and http://www.openprinting.org/driver/Postscript),如圖3-50。點選Forward後,在選擇何種型號與驅動程式類型,如圖3-51,建議點選 PostScript 類型的驅動程式( 與foomatic的差異,請見 https://en.wikipedia.org/wiki/Foomatic ) ,若為太早期型號,或是無在清單內的機器,讀者可自行試著利用相似或相近的型號( 如1400與1450同為14XX型 ),一樣選擇 PostScript 的驅動,說不定,也可以正常的使用印表機喔。
(圖3-50)
(圖3-51)
圖3-51點選Forward後,在選擇印表機的功能參數,如圖3-52,若有自動雙面列印功能的印表機,請記得把 Duplex Unit 勾選,Fit to Page 調整成 Nearest Size and Scale,其他參數若不清楚,請維持預設值就好。再點選 Forward後,就是最後設定名稱與放置位置的畫面,如圖3-53,老話一句,您看得明白與清楚可分辨就好,維持預設名稱也可以。亦可以多設定的印表機的顏色或是可否雙面的備註,來幫忙對機器型號不熟的使用者,列印時挑選。
(圖3-52)
(圖3-53)
最後,附上利用 CUPS 的網頁安裝畫面(圖3-54),再請讀者自行玩一玩,並且利用 OpenOffice 來測試列印一下安裝成功的印表機吧。
(圖3-54)
再補充一個在 Terminal 下安裝印表機方式,如要安裝一個由 usb 連接的 hp 印表機,首先,要從網站 http://www.openprinting.org/drivers 或印表機原廠網站(若有提供),下載印表機的 ppd 檔(https://en.wikipedia.org/wiki/PostScript_Printer_Description或http://www.openprinting.org/driver/Postscript),再來利用
指令 lpadmin -E -p hp4350 -v usb:/dev/usb/lp0 -m HP-LaserJet_4350-Postscript.ppd
再利用指令 lpstat -p hp4350 -l 來列出印表機的狀態。
筆者想起以前用個印表機列印,還要在 Terminal 用到指令 lpr 列印,lpq 查詢列印工作,lprm 刪除列印工作,列印前,還要用到指令 a2ps 來轉成 PostScript 檔,但現在在較完好的圖形環境下,還真的比較少用到了呢。但或許有些利用 Shell Script 處理的檔案,還是用指令式的批次列印,可能還是比較有效率喔。
If you have any feedback or question, please go to my forum to discuss.