把 SELinux 關閉的方法

網路上看到的,先當筆記吧...
vi /etc/sysconfig/selinux
找到 SELINUX=enforcing 並改成 SELINUX=disabled
重啟動測試:
setsebool -P httpd_disable_trans=1
(詳全文...)

LINUX DHCP (Dynamic Host Configuration Protocol) Failover 實作

在完成單台 DHCP server 的設定後,便是開始兩台 DHCP server redundancy 的實作囉,在 DHCP failover 中,有分成 Primary server 和 Secondry server,這裡要做的例子是:
第一台 Primary DHCP server (Host name: KHXDHCPS1, IP: 10.69.10.30)
第二台 Secondary DHCP server (Host name: KHXDHCPS2, IP: 10.69.10.31)
這兩台都是 RedHat EL ES4 Update6,dhcpd 的版本是 dhcp-3.0.1-59.EL4。

接下來的部分我將要讓 DHCP client 連上來時取得一個 10.69.100.1~10.69.100.240 之間
的 IP address (Netmask:255.255.255.0),Default gateway 為:10.69.100.254。

這裡我的 dhcpd 是跑在 eth0, 如果有需要跑在另一張網卡的話,可以自行去修改/etc/sysconfig/dhcpd 的內容:
例如要跑在eth1的話:
[root@KHXDHCPS1 ~]# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth1
當然也可以直接去修改 start 那一段:
start() {
# Start daemons.
echo -n $"Starting $prog: "

daemon /usr/sbin/dhcpd ${DHCPDARGS} 2>/dev/null

上面的第三行便是定義 dhcpd daemon 啟動時的 option,其中 ${DHCPDARGS} 就是剛剛 /etc/sysconfig/dhcpd 裡面給的值,
其他還有一些可用的 option 如下:
-f — 把 daemon 跑在 fg。這在測試時最常用。
-d — 把 DCHP daemon 記錄到標準錯誤描述器中。也是在測試時最常用。如果沒指定將被寫入 /var/log/messages。
-cf filename — 指定設定檔的位置。Default 是 /etc/dhcpd.conf。
-lf filename — 指定IP 租用記錄的位置。如果檔案已存在,在 DHCP service 每次啟動時使用同一個文件是很重要的。
強烈建議你只在無關緊要的機器上為調試目的才使用該選項。Default 的位置是 /var/lib/dhcp/dhcpd.leases.
-q — 在啟動該 daemon 時,不顯示整篇版權信息。

像上一篇提到的 /usr/sbin/dhcpd -d -f eth0 -lf /var/lib/dhcp/dhcpd.leases 就是我用來測試的。

以下便是實作開始:
首先就先編輯 Primary DHCP server 的設定檔:
這是第一台 DHCP server 的 dhcpd.conf 的內容:
[root@KHXDHCPS1 ~]# cat /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
#ignore unknown-clients;

authoritative;
failover peer "dhcp-failover" {
primary;
address 10.69.10.30;
port 690;
peer address 10.69.10.31;
peer port 691;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}

subnet 10.69.0.0 netmask 255.255.0.0 {
option routers 10.69.100.254;
option subnet-mask 255.255.255.0;
option mobile-ip-home-agent 10.69.10.35;
option domain-name-servers 10.69.10.22;
default-lease-time 21600;
max-lease-time 43200;
pool {
failover peer "dhcp-failover";
range 10.69.100.1 10.69.100.240;
deny dynamic bootp clients;
}
}
這是第二台 DHCP server 的 dhcpd.conf 的內容:
[root@KHXDHCPS2 ~]# cat /etc/dhcpd.conf
ddns-update-style none;
ignore client-updates;
#ignore unknown-clients;

authoritative;
failover peer "dhcp-failover" {
secondary;
address 10.69.10.31;
port 691;
peer address 10.69.10.30;
peer port 690;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}

subnet 10.69.0.0 netmask 255.255.0.0 {
option routers 10.69.100.254;
option subnet-mask 255.255.255.0;
option mobile-ip-home-agent 10.69.10.35;
option domain-name-servers 10.69.10.22;
default-lease-time 21600;
max-lease-time 43200;
pool {
failover peer "dhcp-failover";
range 10.69.100.1 10.69.100.240;
deny dynamic bootp clients;
}
}
這裡有幾個重點要注意一下:
1. 這一行一定要有,ddns-update-style 動態更新 DNS 資料,設定方式有三種:
ddns-update-style ad-hoc
ddns-update-style interim
ddns-update-style none
2. 關於 "deny dynamic bootp clients;" 這一行,因為 failover 不支援 bootp 用戶端,必須拒絕才行,
所以如果你想搞個 Boot Server 帶 DHCP failover 的話,恐怕要失望了...
3. failover peer "dhcp-failover" 這是定義一下 failover 的名字
4. primary; 是指定這台 DHCP server 為 Master server。
5. secondary; 是指定這台 DHCP server 為 Slave server。
6. address 10.69.10.30 監聽 failover 訊息的 IP address。
7. port 690; 與 peer port 691; 監聽 failover 訊息的 TCP port。
8. peer address 10.69.10.31; 指定 Slave server 的 IP address。
9. max-response-delay 30; 同步信息最大延遲時間。
10. max-unacked-updates 10; 在收到對端 BNDACK 訊息之前最大可發送 BNDUPD 訊息的數量。
11. mclt 1800; 節點在互相通知之前更新一個租約的時間。
12. split 128; 固定值,必須是 128;這個值和 mclt 都只需設定在 primary 的設定檔上就好。
13. option mobile-ip-home-agent 10.69.10.35; 這是我測試環境裡給 WiMAX 用的 Home Agent 的 IP address。

接下來是驗證的課程囉:
把 dhcpd service 先打開然後到兩台 DHCP server 上去看一下 /var/log/messages 的內容吧:
[root@KHXDHCPS1 ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
這是第一台 DHCP server 的 dhcpd 啟動訊息:
[root@KHXDHCPS1 ~]# tail -f /var/log/messages
Jul 10 10:38:14 KHXDHCPS1 dhcpd: dhcpd shutdown succeeded
Jul 10 10:38:14 KHXDHCPS1 dhcpd: dhcpd shutdown succeeded
Jul 10 10:59:54 KHXDHCPS1 sshd(pam_unix)[29885]: session opened for user root by (uid=0)


Jul 10 11:02:29 KHXDHCPS1 dhcpd: Internet Systems Consortium DHCP Server V3.0.1
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Copyright 2004 Internet Systems Consortium.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: All rights reserved.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Internet Systems Consortium DHCP Server V3.0.1
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Copyright 2004 Internet Systems Consortium.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: All rights reserved.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Wrote 0 leases to leases file.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Wrote 0 leases to leases file.
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Listening on LPF/eth0/00:1e:c9:ad:55:bf/10.69/16
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Sending on LPF/eth0/00:1e:c9:ad:55:bf/10.69/16
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Sending on Socket/fallback/fallback-net
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Listening on LPF/eth0/00:1e:c9:ad:55:bf/10.69/16
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Sending on LPF/eth0/00:1e:c9:ad:55:bf/10.69/16
Jul 10 11:02:29 KHXDHCPS1 dhcpd: Sending on Socket/fallback/fallback-net
Jul 10 11:02:29 KHXDHCPS1 dhcpd: failover peer dhcp-failover: I move from recover to startup
Jul 10 11:02:29 KHXDHCPS1 dhcpd: failover peer dhcp-failover: I move from recover to startup
Jul 10 11:02:29 KHXDHCPS1 dhcpd: dhcpd startup succeeded
Jul 10 11:02:29 KHXDHCPS1 dhcpd: dhcpd startup succeeded
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer moves from unknown-state to recover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: requesting full update from peer
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: I move from startup to recover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Sent update request all message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer moves from recover to recover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: requesting full update from peer
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Sent update request all message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Sent update done message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Update request all from dhcp-failover: nothing pending
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Sent update done message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS1 dhcpd: Update request all from dhcp-failover: nothing pending
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer update completed.
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: I move from recover to recover-done
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer update completed.
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer moves from recover to recover-done
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: I move from recover-done to normal
Jul 10 11:02:31 KHXDHCPS1 dhcpd: failover peer dhcp-failover: peer moves from recover-done to normal
Jul 10 11:02:31 KHXDHCPS1 dhcpd: pool 9d0e008 10.69/16 total 240 free 240 backup 0 lts -120
Jul 10 11:02:31 KHXDHCPS1 dhcpd: pool 9d0e008 10.69/16 total 240 free 240 backup 0 lts 120
這是第二台 DHCP server 的 dhcpd 啟動訊息:
[root@KHXDHCPS2 ~]# tail -f /var/log/messages
Jul 10 10:38:08 KHXDHCPS2 dhcpd: dhcpd shutdown succeeded
Jul 10 10:38:08 KHXDHCPS2 dhcpd: dhcpd shutdown succeeded
Jul 10 10:59:57 KHXDHCPS2 sshd(pam_unix)[31706]: session opened for user root by (uid=0)


Jul 10 11:02:30 KHXDHCPS2 dhcpd: Internet Systems Consortium DHCP Server V3.0.1
Jul 10 11:02:30 KHXDHCPS2 dhcpd: Copyright 2004 Internet Systems Consortium.
Jul 10 11:02:30 KHXDHCPS2 dhcpd: All rights reserved.
Jul 10 11:02:30 KHXDHCPS2 dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jul 10 11:02:30 KHXDHCPS2 dhcpd: Internet Systems Consortium DHCP Server V3.0.1
Jul 10 11:02:30 KHXDHCPS2 dhcpd: Copyright 2004 Internet Systems Consortium.
Jul 10 11:02:30 KHXDHCPS2 dhcpd: All rights reserved.
Jul 10 11:02:30 KHXDHCPS2 dhcpd: For info, please visit http://www.isc.org/sw/dhcp/
Jul 10 11:02:30 KHXDHCPS2 dhcpd: Wrote 0 leases to leases file.
Jul 10 11:02:30 KHXDHCPS2 dhcpd: Wrote 0 leases to leases file.
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Listening on LPF/eth0/00:1e:c9:ad:55:a6/10.69/16
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sending on LPF/eth0/00:1e:c9:ad:55:a6/10.69/16
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sending on Socket/fallback/fallback-net
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Listening on LPF/eth0/00:1e:c9:ad:55:a6/10.69/16
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sending on LPF/eth0/00:1e:c9:ad:55:a6/10.69/16
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sending on Socket/fallback/fallback-net
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: I move from recover to startup
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: I move from recover to startup
Jul 10 11:02:31 KHXDHCPS2 dhcpd: dhcpd startup succeeded
Jul 10 11:02:31 KHXDHCPS2 dhcpd: dhcpd startup succeeded
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer moves from unknown-state to recover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: requesting full update from peer
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: I move from startup to recover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sent update request all message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer moves from recover to recover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: requesting full update from peer
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sent update request all message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sent update done message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Update request all from dhcp-failover: nothing pending
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Sent update done message to dhcp-failover
Jul 10 11:02:31 KHXDHCPS2 dhcpd: Update request all from dhcp-failover: nothing pending
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer update completed.
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: I move from recover to recover-done
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer update completed.
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer moves from recover to recover-done
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: I move from recover-done to normal
Jul 10 11:02:31 KHXDHCPS2 dhcpd: failover peer dhcp-failover: peer moves from recover-done to normal
Jul 10 11:02:31 KHXDHCPS2 dhcpd: pool 9399ed0 10.69/16 total 240 free 240 backup 0 lts 120
明顯的 KHXDHCPS1 目前的確是 primary server,而 KHXDHCPS2 則是 secondary server。

接著把 Quanta Beceem BCS200 的 WiMAX 卡插上電腦開始嘗試著去取得 IP 吧,DHCP Client 向 DHCP Server 要求 IP 時主要的四個動作 ( DHCPDISCOVER , DHCPOFFER , DHCPREQUEST , DHCPACK ),如果能看到這四個動作,這就代表 Client 已經成功獲得 IP .而 /var/lib/dhcp/dhcp.lease 就會將此 IP 租用紀錄下來,所以這時會看到 KHXDHCPS1 (Master server) 上的 log 出現:
Jul 10 11:03:37 KHXDHCPS1 dhcpd: pool 9d0e008 10.69/16 total 240 free 120 backup 120 lts 0
Jul 10 11:03:37 KHXDHCPS1 dhcpd: DHCPDISCOVER from 00:17:c4:12:77:97 via 10.69.10.11
Jul 10 11:03:38 KHXDHCPS1 dhcpd: DHCPOFFER on 10.69.100.120 to 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
Jul 10 11:03:38 KHXDHCPS1 dhcpd: DHCPREQUEST for 10.69.100.120 (10.69.10.30) from 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
Jul 10 11:03:38 KHXDHCPS1 dhcpd: DHCPACK on 10.69.100.120 to 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
而這時 KHXDHCPS2 (Slave server) 上的 log 則只出現:
Jul 10 11:03:37 KHXDHCPS2 dhcpd: pool 9399ed0 10.69/16 total 240 free 120 backup 120 lts 0
到 Client 上去看,果然有拿到正確的 IP address 了:
C:\Documents and Settings\Demo>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : WiMAX-demoXX
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Wireless Network Connection:

Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/Wireless 3945ABG Network Connection
Physical Address. . . . . . . . . : 00-18-DE-19-B5-92

Ethernet adapter Local Area Connection:

Media State . . . . . . . . . . . : Media disconnected
Description . . . . . . . . . . . : Intel(R) PRO/1000 PL Network Connection
Physical Address. . . . . . . . . : 00-15-58-30-80-C5

Ethernet adapter Local Area Connection 4:


Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Beceem Communications Inc. BCS200
Physical Address. . . . . . . . . : 00-17-C4-12-77-97
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 10.69.100.120
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.69.100.254
DHCP Server . . . . . . . . . . . : 10.69.10.30
DNS Servers . . . . . . . . . . . : 10.69.10.22
Lease Obtained. . . . . . . . . . : Thursday, July 10, 2008 11:07:15 PM
Lease Expires . . . . . . . . . . : Thursday, July 10, 2008 12:37:15 PM
這時我們看一下 /var/lib/dhcp/dhcpd.leases 的內容多了剛剛 IP 的租用訊息:
lease 10.69.100.120 {
starts 4 2008/07/10 03:03:38;
ends 4 2008/07/10 03:33:38;
cltt 4 2008/07/10 03:03:38;
binding state active;
next binding state expired;
hardware ethernet 00:17:c4:12:77:97;
uid "\001\000\027\304\022w\227";
client-hostname "WiMAX-demoXX";
}
當然在 Slave 的機器上也會有一筆相同的紀錄在。

接著測試一下 IP Rlease 跟 IP Renew 都可以得到相同的 IP address:

這是 Master DHCP server 的訊息:
Jul 10 11:05:31 KHXDHCPS1 dhcpd: DHCPRELEASE of 10.69.100.120 from 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11 (found)
Jul 10 11:05:35 KHXDHCPS1 dhcpd: DHCPDISCOVER from 00:17:c4:12:77:97 via 10.69.10.11
Jul 10 11:05:36 KHXDHCPS1 dhcpd: DHCPOFFER on 10.69.100.120 to 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
Jul 10 11:05:36 KHXDHCPS1 dhcpd: DHCPREQUEST for 10.69.100.120 (10.69.10.30) from 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
Jul 10 11:05:36 KHXDHCPS1 dhcpd: DHCPACK on 10.69.100.120 to 00:17:c4:12:77:97 (WiMAX-demoXX) via 10.69.10.11
這是 Slave DHCP server 的訊息:
Jul 10 11:05:31 KHXDHCPS2 dhcpd: DHCPRELEASE of 10.69.100.120 from 00:17:c4:12:77:97 via 10.69.10.11 (found)
Jul 10 11:05:35 KHXDHCPS2 dhcpd: pool 9399ed0 10.69/16 total 240 free 120 backup 120 lts 0
這是 /var/lib/dhcp/dhcpd.leases 的部分:
lease 10.69.100.120 {
starts 4 2008/07/10 03:03:38;
ends 4 2008/07/10 03:05:31;
cltt 4 2008/07/10 03:03:38;
binding state released;
next binding state free;
hardware ethernet 00:17:c4:12:77:97;
uid "\001\000\027\304\022w\227";
client-hostname "WiMAX-demoXX";
}
lease 10.69.100.120 {
starts 4 2008/07/10 03:03:38;
ends 4 2008/07/10 03:05:31;
tstp 4 2008/07/10 03:05:31;
cltt 4 2008/07/10 03:03:38;
binding state free;
hardware ethernet 00:17:c4:12:77:97;
uid "\001\000\027\304\022w\227";
}
lease 10.69.100.120 {
starts 4 2008/07/10 03:05:36;
ends 4 2008/07/10 03:35:36;
cltt 4 2008/07/10 03:05:36;
binding state active;
next binding state expired;
hardware ethernet 00:17:c4:12:77:97;
uid "\001\000\027\304\022w\227";
client-hostname "WiMAX-demoXX";
好了,以上便是今天的實作報告~

相關的參考資料:
DHCP Failover/load balancing
Failover with ISC DHCP
(詳全文...)

LINUX AutoFS 實作

昨天做到在 DHCP server 上把將遠端 KHXDB server (也就是 Veritas cluster 的 VIP) 上的 /DB mount 到 DHCP server 上的 /DB 來,然後再將 /var/lib/dhcp/DB/dhcp mount 到 /var/lib/dhcp 來,不過由於是將 Mount 的動作寫在 /etc/fstab 裡面,所以今天一早來就先把他改成 Automount,需要讀寫IP 租用紀錄檔時才自動去掛載遠端 KHXDB server 的 mount point。

Autofs 與 Mount/Umount 的不同之處在于,它是一種看守程序。如果它檢測到有任何使用者的動作試圖存取一個尚未掛載的檔案或目錄,它就會自動檢測該目錄或檔案,如果存在,那麼 Autofs會自動將其掛載。另外,如果它檢測到某個已掛接的目錄在一段時間內沒有被使用,那麼 Autofs會自動將其卸載。因此一旦執行了 Autofs後,使用者就不用再手動做系統的 Mount/Umount。

接下來就是實作的部分了,首先,在這次的範例中,要掛載遠端機器 KHXDB server 上的 /DB/dhcp 目錄到 DHCP server 的 /NFSDB/dhcp 掛載點,所以我們先編輯一下 /etc/auto.master
將下列這一行加入到 auto.master 檔案中:
/NFSDB /etc/auto.nfs --timeout 60
接著增加下列這一行至 /etc/auto.nfs 檔案中:
dhcp -rw,bg,soft,rsize=8192,wsize=8192 KHXDB:/DB/dhcp
其中 /etc/auto.nfs 檔案的第一個欄位 dhcp 是 /DBNFS 之下子目錄的名稱,這個目錄是由 automount 動態建立的,
它不應該實質上存在於近端機器上也就是 DHCP server 啦,第二個欄位包含掛載選項,如 rw 代表允許讀取與寫入的存取,第三個欄位就是 NFS 所匯出的位置,包括遠端主機名稱與目錄。

千萬要注意喔:
/NFSDB 目錄必須存在於本機的檔案系統中,而且 /NFSDB 目錄下不可以含有任何的子目錄喔。
Autofs 是一項服務,如要啟動這個服務,請在 shell 提示符號下輸入下列指令:
/sbin/service autofs restart
如果要檢視現行的掛載點,可以在 shell 提示符號下輸入下列指令:
[root@KHXDHCPS1 ~]# service autofs status
Configured Mount Points:
------------------------
/usr/sbin/automount --timeout=60 /NFSDB file /etc/auto.nfs

Active Mount Points:
--------------------
/usr/sbin/automount --timeout=60 /NFSDB file /etc/auto.nfs
假如在 autofs 執行中的情況下修改了 /etc/auto.master 設定檔案,那就必須在 shell 提示符號下輸入以下指令來讓 automount 系統程式重新載入:
[root@KHXDHCPS1 ~]# service autofs reload
Checking for changes to /etc/auto.master ....
Reload map /usr/sbin/automount --timeout=60 /NFSDB file /etc/auto.nfs
最後,可以有幾個方式確認一下遠端 mount 過來的狀況,第一個當然是直接去 ls 一下最後的 mount point,像是在這個例子中:
[root@KHXDHCPS1 ~]# ls -alrt /var/lib/dhcp
total 72
drwxr-xr-x 17 root root 4096 Jul 7 19:36 ..
-rw-r--r-- 1 root root 0 Jul 9 11:52 dbserver-id.donot-delete-me
-rw-r--r-- 1 root root 34779 Jul 9 19:47 dhcpd.leases~
drwxr-xr-x 2 root root 4096 Jul 9 19:47 .
-rw-r--r-- 1 root root 18033 Jul 9 19:47 dhcpd.leases
其中 dbserver-id.donot-delete-me 便是我擺在遠端 KHXDB server 上當作辨識用的檔案囉。

另一種方式便是直接去看 mount status:
[root@KHXDHCPS1 ~]# mount
/dev/sda2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/sda3 on /inactive_root type ext3 (rw)
/dev/sda6 on /others type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

automount(pid18972) on /NFSDB type autofs (rw,fd=5,pgrp=18972,minproto=2,maxproto=4)
/NFSDB/dhcp on /var/lib/dhcp type none (rw,bind)
KHXDB:/DB/dhcp1 on /NFSDB/dhcp type nfs (rw,bg,soft,rsize=8192,wsize=8192,addr=10.69.10.41)
(詳全文...)

DHCP server 上發生 Can't open lease database /var/lib/dhcp/dhcpd.leases: Permission denied -- 的錯誤訊息

這兩天為了將 DHCP server 的 IP 租用紀錄檔變更到另外兩台有裝 Veritas cluster 的機器所 mount 的 Dell-MD3000 storage 上,首先,我所想到的方法有兩個,第一個是直接更改 /etc/rc.d/init.d/dhcpd 檔案中關於 daemons start 的那一部份,加上 -lf /path-of-leases-file (例如:/NFSDB/dhcp/dhcpd.leases) 的 option,另一種方法是直接把遠端的 /DB/dhcp mount 到 DHCP server 的 /var/lib/dhcp 來,沒想到不管哪一種都發生了 DHCP server 上的 dhcpd 起不來的問題。

以下的範例是將遠端 KHXDB server (也就是 Veritas cluster 的 VIP) 上的 /DB mount 到 DHCP server 上的 /NFSDB 來,然後再將 /NFSDB/dhcp mount 到 /var/lib/dhcp 來:
[root@KHXDHCPS1 ~]# mount -o bind /NFSDB/dhcp /var/lib/dhcp
[root@KHXDHCPS1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 4.0G 1.8G 2.1G 46% /
/dev/sda1 1012M 40M 921M 5% /boot
none 4.0G 0 4.0G 0% /dev/shm
/dev/sda3 4.0G 41M 3.7G 2% /inactive_root
/dev/sda6 21G 77M 19G 1% /others

KHXDB:/DB 537G 105M 510G 1% /NFSDB
/NFSDB/dhcp 537G 105M 510G 1% /var/lib/dhcp
原來的 /var/lib/dhcp/dhcpd.leases 在這時已經被指到 KHXDB:/DB/dhcp/dhcpd.leases 去了:
然後將 dhcpd servive 重啟,就出現了 Can't open lease database /var/lib/dhcp/dhcpd.leases: Permission denied -- 的錯誤訊息,
[root@KHXDHCPS1 ~]# service dhcpd start
Starting dhcpd: Internet Systems Consortium DHCP Server V3.0.1
Copyright 2004 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Can't open lease database /var/lib/dhcp/dhcpd.leases: Permission denied --
check for failed database rewrite attempt!
Please read the dhcpd.leases manual page if you
don't know what to do about this.

If you did not get this software from ftp.isc.org, please
get the latest from ftp.isc.org and install that before
requesting help.

If you did get this software from ftp.isc.org and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-server@isc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.
[FAILED]
偏偏,在開啟除錯模式,並把 dhcpd 放到“幕前” (foreground)來執行後發現一切正常:
[root@KHXDHCPS1 ~]# /usr/sbin/dhcpd -d -f eth0 -lf /var/lib/dhcp/dhcpd.leases
Internet Systems Consortium DHCP Server V3.0.1
Copyright 2004 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 0 leases to leases file.
Listening on LPF/eth0/00:1e:c9:ad:55:bf/0/0
Sending on LPF/eth0/00:1e:c9:ad:55:bf/0/0
Sending on Socket/fallback/fallback-net
在幾次測試之後,終於發現只要改到 IP 租用紀錄檔的指定路徑 (例如:/NFSDB/dhcp/dhcpd.leases),或是這個路徑是經過 mount 過的路徑,都會造成 service dhcpd start 失敗。幾經波折,才發現原來這一台 DHCP server 是使用公司精裝的 OS 版本 (RHEL ES4 U6一片 CD 裝),而且重點是,居然把 SELinux 給 enable 了......真是給他一個無語,以前自己裝的 RHEL OS 都習慣性的把 SELinux 給 disable 掉,所以這次才完全沒想到這個方向去,所以接下來便是進去改設定囉:

這裡就直接進 X GUI 畫面,到安全配制項目內,於 SELinux 項目內把 dhcp 部分設定為不監控處理即可。首先:
接著,點開 Modify SELinux Policy 底下 SELinux Service Protection,然後把第一項 Disable SELinux protection for dhcpd daemon 打勾,再按 OK 就行了~
當然要關閉整個 SELinux 也是可行方式,不過這裡就以第一種方式來處理囉。
改完之後,已經可以直接用 service dhcpd start 的方式成功的帶起 dhcpd service 囉:
root@KHXDHCPS1 ~]# service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
[root@KHXDHCPS1 ~]#
[root@KHXDHCPS1 ~]# ps -aef |grep dhcp
root 21218 1 0 21:08 ? 00:00:00 /usr/sbin/dhcpd eth0
root 21223 20605 0 21:08 pts/0 00:00:00 grep dhcp

檢查一下新的 IP 租用紀錄檔果然已經有新的租用訊息寫進來囉:
[root@KHXDHCPS1 ~]# cat /var/lib/dhcp/dhcpd.leases
# All times in this file are in UTC (GMT), not your local timezone. This is
# not a bug, so please don't ask about it. There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature. If this is inconvenient or confusing to you, we sincerely
# apologize. Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.1


lease 10.69.100.244 {
starts 2 2008/07/08 13:02:25;
ends 2 2008/07/08 19:02:25;
binding state active;
next binding state free;
hardware ethernet 00:17:c4:12:77:65;
uid "\001\000\027\304\022we";
client-hostname "WiMAX-demoXX";
}
這裡加註一下:可以用 ls -Z 去觀察一下 /var/lib/dhcp 的目錄屬性,可以秀出關於 SELinux 的權限部分喔:
下面第一部份是修改 SELinux 之前:
[root@KHXDHCPS1 ~]# ls -alZ /var/lib/
drwxr-xr-x root root system_u:object_r:var_lib_t .
drwxr-xr-x root root system_u:object_r:var_t ..
drwxr-xr-x root root system_u:object_r:rpm_var_lib_t alternatives
drwxr-xr-x root root system_u:object_r:var_lib_t cs
drwx------ apache apache system_u:object_r:var_lib_t dav
drwxr-xr-x root root system_u:object_r:dhcp_state_t dhcp
drwxr-x--- root root system_u:object_r:var_lib_t dhcpv6
drwxr-xr-x root root system_u:object_r:var_lib_t games
-rw-r--r-- root root system_u:object_r:var_lib_t logrotate.status
drwxr-xr-x root root system_u:object_r:var_lib_t misc
drwxr-xr-x root root system_u:object_r:var_lib_nfs_t nfs
drwxr-xr-x ntp ntp system_u:object_r:ntp_drift_t ntp
drwxr-xr-x root root system_u:object_r:var_lib_t pcmcia
-rw------- root root user_u:object_r:var_lib_t random-seed
drwxr-xr-x rpm rpm system_u:object_r:rpm_var_lib_t rpm
drwxr-xr-x root root user_u:object_r:var_lib_t scrollkeeper
drwxr-x--- root slocate system_u:object_r:var_lib_t slocate
-rw-r--r-- root root system_u:object_r:var_lib_t supportinfo
drwxr-xr-x root root system_u:object_r:var_lib_t up2date
drwxr-xr-x root root system_u:object_r:var_lib_t xkb
下面這一部份是修改 SELinux 之後,並掛載遠端機器的目錄,會發現 /var/lib/dhcp 的目錄權限部分會被變更,所以在修改 SELinux 之前才會 dhcpd 一直啟動失敗:
[root@KHXDHCPS1 ~]# ls -alZ /var/lib/
drwxr-xr-x root root system_u:object_r:var_lib_t .
drwxr-xr-x root root system_u:object_r:var_t ..
drwxr-xr-x root root system_u:object_r:rpm_var_lib_t alternatives
drwxr-xr-x root root system_u:object_r:var_lib_t cs
drwx------ apache apache system_u:object_r:var_lib_t dav
drwxr-xr-x root root dhcp
drwxr-x--- root root system_u:object_r:var_lib_t dhcpv6
drwxr-xr-x root root system_u:object_r:var_lib_t games
-rw-r--r-- root root system_u:object_r:var_lib_t logrotate.status
drwxr-xr-x root root system_u:object_r:var_lib_t misc
drwxr-xr-x root root system_u:object_r:var_lib_nfs_t nfs
drwxr-xr-x ntp ntp system_u:object_r:ntp_drift_t ntp
drwxr-xr-x root root system_u:object_r:var_lib_t pcmcia
-rw------- root root user_u:object_r:var_lib_t random-seed
drwxr-xr-x rpm rpm system_u:object_r:rpm_var_lib_t rpm
drwxr-xr-x root root user_u:object_r:var_lib_t scrollkeeper
drwxr-x--- root slocate system_u:object_r:var_lib_t slocate
-rw-r--r-- root root system_u:object_r:var_lib_t supportinfo
drwxr-xr-x root root system_u:object_r:var_lib_t up2date
drwxr-xr-x root root system_u:object_r:var_lib_t xkb
接下來的部分是把遠端的載點 Umount 掉之後的狀態:
[root@KHXDHCPS1 ~]# umount /var/lib/dhcp
[root@KHXDHCPS1 ~]# ls -alZ /var/lib/
drwxr-xr-x root root system_u:object_r:var_lib_t .
drwxr-xr-x root root system_u:object_r:var_t ..
drwxr-xr-x root root system_u:object_r:rpm_var_lib_t alternatives
drwxr-xr-x root root system_u:object_r:var_lib_t cs
drwx------ apache apache system_u:object_r:var_lib_t dav
drwxr-xr-x root root root:object_r:var_lib_t dhcp
drwxr-x--- root root system_u:object_r:var_lib_t dhcpv6
drwxr-xr-x root root system_u:object_r:var_lib_t games
-rw-r--r-- root root system_u:object_r:var_lib_t logrotate.status
drwxr-xr-x root root system_u:object_r:var_lib_t misc
drwxr-xr-x root root system_u:object_r:var_lib_nfs_t nfs
drwxr-xr-x ntp ntp system_u:object_r:ntp_drift_t ntp
drwxr-xr-x root root system_u:object_r:var_lib_t pcmcia
-rw------- root root user_u:object_r:var_lib_t random-seed
drwxr-xr-x rpm rpm system_u:object_r:rpm_var_lib_t rpm
drwxr-xr-x root root user_u:object_r:var_lib_t scrollkeeper
drwxr-x--- root slocate system_u:object_r:var_lib_t slocate
-rw-r--r-- root root system_u:object_r:var_lib_t supportinfo
drwxr-xr-x root root system_u:object_r:var_lib_t up2date
drwxr-xr-x root root system_u:object_r:var_lib_t xkb
對了,附註一點,/var/lib/dhcp/dhcpd.leases 檔案中的時間是採用 GMT 所以跟系統實際有所差異,這是正常的。
(詳全文...)

以 X-Manager 來連 Linux 的圖形介面

在安裝完新的 Linux 機器之後,如果有將 X11 跑起來,並把 run-level 設為 5 的話,應該就可以進到 Linux 的圖形介面了,但當想要遠端連進去使用 Linux 的圖形介面時,該怎麼辦呢?
這裡我們用 X-Manager 來示範連上 Linux 機器的 XDMCP session:

一般我看到的資料是寫著如下的步驟:
· Edit /etc/X11/xdm/Xaccess file
>> uncomment the line “# * #any host can get a login window”.
· Edit /etc/X11/xdm/xdm-config file
>> comment out the line “DisplayManager.RequestPort: 0″.
· Edit /etc/X11/gdm/gdm.conf file
>> set the enable status to True (or 1) in [xdmcp] section.
· Edit /etc/kde/kdm/kdmrc file
>> set the enable status to True (or 1) in [xdmcp] section.
· reboot system.
· The system needs to run in init level 5 (/etc/inittab).
但是,據我測試的結果,其實只要下面的步驟就好了:
· Edit /etc/X11/xdm/Xaccess file
>> uncomment the line “# * #any host can get a login window”.
· Edit /etc/X11/gdm/gdm.conf file
>> set the enable status to true (or 1) in [xdmcp] section.
· Edit /etc/X11/gdm/gdm.conf file
>> uncomment the line "Port=177" in [xdmcp] section.
· reboot system.
機器重啟之後,就可以打開你的 Xmanager3 來連上機器囉:
1. 打開 Xbrowser 直接點選 New 來建一個新的 XDMCP session:
2. 敲入機器的 IP address 之後按 Next :
下面這一頁可以跳過直接按 Next:
4. 填入一個易於辨別的 Session Name 吧,通常 Host name 就好;記得下面的"Execute the session when this new session wizard is finished"接著按 Finish:
5. 在右邊的工作區點選剛剛建立的 KHXAAAS1 按右鍵 Properties :
6. 假如你像我有多個網卡時,在 Local Address 處下拉選擇正確要 Display 的 IP address:
7. 確定之後 open 剛剛建立的 KHXAAAS1:
8. 敲入 User name 跟 Password 之後,呵呵,漂亮的圖形介面就出現囉~
附上參考的網站:How to configure a new Linux host to accept XDMCP sessions
(詳全文...)

用 dmidecode 來看 LINUX 或 Solaris 的硬體訊息

在 Linux 系統開機狀態下要看目前的 CPU, Memory 狀態,基本的狀態可以由 /proc/cpuinfo 和 /proc/meminfo 得知,但是...你知道你的機器是雙核心?四核心?還是單核的呢?實體有一顆還是兩顆ㄌㄟ?記憶體到底是插了幾個 slot 呢?恐怕就沒辦法從剛剛的兩個檔案中得知了;甚至於萬一機器遠在別縣市客戶的 site,卻又臨時需要查看機器的序號時,這時候有個實用的工具可以輕易的配合來完成這個需求。

那就是 dmidecode 了,他支援了很多的系統喔:
* Linux i386
* Linux x86_64
* Linux ia64
* FreeBSD i386
* FreeBSD x86_64
* NetBSD i386
* OpenBSD i386
* BeOS i386
* Cygwin i386
* Solaris x86 (CVS version)
dmidecode 官方網站:http://www.nongnu.org/dmidecode/
dmidecode 下載位置:http://download.savannah.gnu.org/releases/dmidecode/

下面就是在我的一台機器 (Dell 2950 Power edge with 2 quad core processors, 8G RAM) 上跑出來的結果,給大家參考參考:(其中 Handle 0x0400~Handle 0x0401 秀出的是兩顆實體 CPU 的訊息,另外 Handle 0x1101~Handle 0x1104 可以看到每個 slot 各插 2G的記憶體,總共是8G的記憶體;這一台機器最大可安插的記憶體量為 32GB 可安裝於 DIMM1~8,可參考 Handle 0x1000 的數據。)
[root@KHXDBS1 ~]# dmidecode
# dmidecode 2.2
SMBIOS 2.5 present.
66 structures occupying 3399 bytes.
Table at 0xCFB9C000.
Handle 0xDA00
DMI type 218, 11 bytes.
OEM-specific Type
Header And Data:
DA 0B 00 DA B2 00 17 00 0E 20 00
Handle 0x0000
DMI type 0, 24 bytes.
BIOS Information
Vendor: Dell Inc.
Version: 2.2.6
Release Date: 02/05/2008
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 1024 kB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Handle 0x0100
DMI type 1, 27 bytes.
System Information
Manufacturer: Dell Inc.
Product Name: PowerEdge 2950
Version: Not Specified
Serial Number: BQFQV1S
UUID: 44454C4C-5100-1046-8051-C2C04F563153
Wake-up Type: Power Switch
Handle 0x0200
DMI type 2, 9 bytes.
Base Board Information
Manufacturer: Dell Inc.
Product Name: 0J250G
Version: A00
Serial Number: ..CN1374084800LQ.
Handle 0x0300
DMI type 3, 21 bytes.
Chassis Information
Manufacturer: Dell Inc.
Type: Rack Mount Chassis
Lock: Present
Version: Not Specified
Serial Number: BQFQV1S
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: Unknown
OEM Information: 0x00000000
Heigth: 2 U
Number Of Power Cords: Unspecified
Contained Elements: 0
Handle 0x0400
DMI type 4, 40 bytes.
Processor Information
Socket Designation: CPU1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: 76 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 17, Stepping 6
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
SBF (Signal break on FERR)
Version: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
Voltage: 1.4 V
External Clock: 1333 MHz
Max Speed: 3600 MHz
Current Speed: 2333 MHz
Status: Populated, Enabled
Upgrade:
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: 0x0702
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0401
DMI type 4, 40 bytes.
Processor Information
Socket Designation: CPU2
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: 76 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 17, Stepping 6
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
SBF (Signal break on FERR)
Version: Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
Voltage: 1.4 V
External Clock: 1333 MHz
Max Speed: 3600 MHz
Current Speed: 2333 MHz
Status: Populated, Idle
Upgrade:
L1 Cache Handle: 0x0703
L2 Cache Handle: 0x0704
L3 Cache Handle: 0x0705
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified

Handle 0x0700
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative

Handle 0x0701
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 12288 KB
Maximum Size: 12288 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Other

Handle 0x0702
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 0 KB
Maximum Size: 0 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Unknown

Handle 0x0703
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative

Handle 0x0704
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 12288 KB
Maximum Size: 12288 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Other

Handle 0x0705
DMI type 7, 19 bytes.
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 0 KB
Maximum Size: 0 KB
Supported SRAM Types:
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: Unknown

Handle 0x0800
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-15 female
Port Type: Video Port

Handle 0x0801
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-15 female
Port Type: Video Port

Handle 0x0802
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0803
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0804
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0805
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB

Handle 0x0806
DMI type 126, 9 bytes.
Inactive
Handle 0x0807
DMI type 126, 9 bytes.
Inactive
Handle 0x0808
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: Access Bus (USB)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: USB

Handle 0x0809
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-45
Port Type: Network Port

Handle 0x080A
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-45
Port Type: Network Port

Handle 0x080B
DMI type 8, 9 bytes.
Port Connector Information
Internal Reference Designator: Not Specified
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-9 male
Port Type: Serial Port 16550A Compatible

Handle 0x0900
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI1
Type:
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0901
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI2
Type:
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0902
DMI type 9, 17 bytes.
System Slot Information
Designation: PCI3
Type:
Current Usage: In Use
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported

Handle 0x0903
DMI type 126, 17 bytes.
Inactive
Handle 0x0904
DMI type 126, 17 bytes.
Inactive
Handle 0x0905
DMI type 126, 17 bytes.
Inactive
Handle 0x0A00
DMI type 10, 10 bytes.
On Board Device Information
Type: Video
Status: Enabled
Description: Embedded ATI ES1000 Video
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5708 NIC 1
On Board Device Information
Type: Ethernet
Status: Enabled
Description: Embedded Broadcom 5708 NIC 2

Handle 0x0B00
DMI type 11, 5 bytes.
OEM Strings
String 1: Dell System
String 2: 5[0000]
Handle 0x7E00
DMI type 126, 154 bytes.
Inactive
Handle 0x0C00
DMI type 12, 5 bytes.
System Configuration Options
Option 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaults
Option 2: PWRD_EN: Close to enable password

Handle 0x0D00
DMI type 13, 22 bytes.
BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1

Handle 0x1000
DMI type 16, 15 bytes.
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 32 GB
Error Information Handle: Not Provided
Number Of Devices: 8

Handle 0x1100
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 1
Locator: DIMM1
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 052469A5
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1101
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 1
Locator: DIMM2
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 0524673C
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1102
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 2
Locator: DIMM3
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 052469A4
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1103
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor:
Set: 2
Locator: DIMM4
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: 80CE808980CE
Serial Number: 05246B9B
Asset Tag: 010817
Part Number: M395T5750EZ4-CE65

Handle 0x1104
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 3
Locator: DIMM5
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1105
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 3
Locator: DIMM6
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1106
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 4
Locator: DIMM7
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1107
DMI type 17, 28 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor:
Set: 4
Locator: DIMM8
Bank Locator: Not Specified
Type:
Type Detail: Synchronous
Speed: Unknown
Manufacturer:
Serial Number:
Asset Tag:
Part Number:

Handle 0x1108
DMI type 126, 28 bytes.
Inactive
Handle 0x1109
DMI type 126, 28 bytes.
Inactive
Handle 0x110A
DMI type 126, 28 bytes.
Inactive
Handle 0x110B
DMI type 126, 28 bytes.
Inactive
Handle 0x1300
DMI type 19, 15 bytes.
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000CFFFFFFF
Range Size: 3328 MB
Physical Array Handle: 0x1000
Partition Width: 0

Handle 0x1301
DMI type 19, 15 bytes.
Memory Array Mapped Address
Starting Address: 0x00100000000
Ending Address: 0x0022FFFFFFF
Range Size: 4864 MB
Physical Array Handle: 0x1000
Partition Width: 0

Handle 0x2000
DMI type 32, 11 bytes.
System Boot Information
Status: No errors detected

Handle 0x2600
DMI type 38, 18 bytes.
IPMI Device Information
Interface Type: KCS (Keyboard Control Style)
Specification Version: 2.0
I2C Slave Address: 0x10
NV Storage Device: Not Present
Base Address: 0x0000000000000CA8 (I/O)
Register Spacing: 32-bit Boundaries

Handle 0x2900
DMI type 41, 11 bytes.
Unknown Type
Header And Data:
29 0B 00 29 01 85 01 00 00 03 00
Strings:
Embedded NIC 1

Handle 0x2901
DMI type 41, 11 bytes.
Unknown Type
Header And Data:
29 0B 01 29 01 85 02 00 00 07 00
Strings:
Embedded NIC 2

Handle 0xD000
DMI type 208, 19 bytes.
OEM-specific Type
Header And Data:
D0 13 00 D0 02 00 FE 00 B2 01 00 00 00 00 00 00
00 00 02

Handle 0xD200
DMI type 210, 12 bytes.
OEM-specific Type
Header And Data:
D2 0C 00 D2 F8 03 04 03 06 80 04 05

Handle 0xD400
DMI type 212, 127 bytes.
OEM-specific Type
Header And Data:
D4 7F 00 D4 70 00 71 00 00 10 2D 2E 03 00 11 7F
80 04 00 11 7F 00 42 00 11 FE 01 43 00 11 FE 00
00 00 11 9F 20 00 00 11 9F 00 6E 01 11 9F 20 6D
01 11 9F 00 31 40 11 FB 00 32 40 11 FB 04 9D 00
11 FD 02 9E 00 11 FD 00 9F 00 26 FE 01 A0 00 26
FE 00 51 00 26 3F 00 52 00 26 3F 40 53 00 26 3F
80 54 00 26 3F C0 28 40 26 DF 20 29 40 26 DF 00
D6 01 26 F7 00 D7 01 26 F7 08 FF FF 00 00 00

Handle 0xD401
DMI type 212, 207 bytes.
OEM-specific Type
Header And Data:
D4 CF 01 D4 70 00 71 00 03 40 5A 6D 6B 00 78 7F
80 6C 00 78 7F 00 58 00 78 FA 05 59 00 78 FA 00
5C 00 78 BF 40 5D 00 78 BF 00 04 80 78 FD 02 01
A0 78 FD 00 00 00 55 E7 00 00 00 55 E7 08 00 00
55 E7 10 6C 01 57 FC 00 6B 01 57 FC 01 6A 01 57
FC 02 77 01 54 FC 00 78 01 54 FC 01 79 01 54 FC
02 7A 01 54 FC 03 33 40 54 CF 00 34 40 54 CF 10
35 40 54 CF 20 36 40 54 CF 30 1A 40 54 FB 04 1B
40 54 FB 00 1C 40 54 F7 08 1D 40 54 F7 00 43 40
58 DF 20 42 40 58 DF 00 6E 00 58 FC 01 2D 00 58
FC 02 DA 01 58 FC 03 2E 00 58 FC 00 22 40 58 EF
10 23 40 58 EF 00 BB 00 58 F3 04 BC 00 58 F3 08
DB 01 58 F3 0C BA 00 58 F3 00 FF FF 00 00 00

Handle 0xD402
DMI type 212, 47 bytes.
OEM-specific Type
Header And Data:
D4 2F 02 D4 70 00 71 00 03 40 5A 6D D8 00 55 7F
80 D9 00 55 7F 00 00 C0 5C 00 0A 03 C0 67 00 05
83 00 76 00 00 84 00 77 00 00 FF FF 00 00 00

Handle 0xD403
DMI type 212, 247 bytes.
OEM-specific Type
Header And Data:
D4 F7 03 D4 72 00 73 00 00 40 5D 5E 71 01 46 FB
04 72 01 46 FB 00 73 01 46 F7 08 74 01 46 F7 00
00 00 46 FE 00 00 00 46 FE 01 4A 01 46 BF 40 4B
01 46 BF 00 D3 00 00 00 02 D4 00 02 00 02 00 90
2C 00 00 01 90 2D 00 00 00 00 49 EB 14 DB 00 49
EB 00 00 00 49 FC 00 00 00 49 FC 01 00 00 49 FC
02 00 00 49 7F 00 00 00 49 7F 80 17 01 4A FE 00
18 01 4A FE 01 19 01 4A FD 00 1A 01 4A FD 02 00
00 4A FB 00 00 00 4A FB 04 00 00 4A F7 00 00 00
4A F7 08 35 01 4B FC 00 37 01 4B FC 01 3B 01 4B
F3 04 DE 00 63 FE 01 26 40 42 FE 01 27 40 42 FE
00 49 01 47 FE 01 48 01 47 FE 00 A1 00 45 CF 20
A3 00 45 CF 10 A2 00 45 CF 00 02 40 46 DF 00 01
40 46 DF 20 95 01 7E FC 00 96 01 7E FC 01 97 01
7E FC 02 09 80 7E F3 00 0A 80 7E F3 04 0B 80 7E
F3 08 FF FF 00 00 00

Handle 0xD404
DMI type 212, 77 bytes.
OEM-specific Type
Header And Data:
D4 4D 04 D4 72 00 73 00 00 40 5D 5E 41 40 40 FE
01 40 40 40 FE 00 CF 01 40 FD 02 D0 01 40 FD 00
45 40 40 F7 08 44 40 40 F7 00 FC 01 45 BF 00 FD
01 45 BF 40 40 01 47 FD 02 41 01 47 FD 00 31 02
47 FB 00 32 02 47 FB 04 FF FF 00 00 00

Handle 0xD405
DMI type 212, 27 bytes.
OEM-specific Type
Header And Data:
D4 1B 05 D4 70 00 71 00 03 40 5A 6D 12 02 57 EF
00 11 02 57 EF 10 FF FF 00 00 00

Handle 0xD800
DMI type 216, 9 bytes.
OEM-specific Type
Header And Data:
D8 09 00 D8 01 02 01 00 00
Strings:
ATI
RN50 A20 BIOS

Handle 0xDE00
DMI type 222, 16 bytes.
OEM-specific Type
Header And Data:
DE 10 00 DE 01 04 FF FF 00 00 00 00 00 00 00 01

Handle 0x7F00
DMI type 127, 4 bytes.
End Of Table
[root@KHXDBS1 ~]#
(詳全文...)

Firefox 3.0 下載拼金氏世界紀錄的證書喔

今天有一起幫忙創造小火狐下載金氏紀錄的人客啊,別忘了去領自己的證書喔~

中文版證書:按這裡
英文版證書:按這裡
日文版證書:按這裡
(詳全文...)

如何在 Firefox3 上面使用不相容的舊套件

今天開心的下載了小火狐 3.0 之後,發現...噫?我熟悉的那狂奔的小火狐的佈景主題ㄌㄟ?
還有一些常用的套件怎麼在相容性檢查中都掛了ㄌㄟ?
Firefox 附加元件的網頁去喵了一下,居然那幾個套件都沒有新版的了,
實在是用的習慣不想換啊....向 Google 大神祈求指示之後,找到了暫時的解決方案,
就是把附加元件相容性檢查給暫時關閉吧~

要怎麼做ㄌㄟ?只要以下三個步驟就行了:
1. 網址輸入「about:config」,接著按下 我會小心的,我保證!的按鈕。
2. 在頁面任一處按滑鼠右鍵選擇〔新增〕->〔真假 (Boolean) 值〕,然後在跳出的視窗中輸入「extensions.checkCompatibility」,將它設為「false」。這樣就可以關閉附加元件的相容檢查了。
3. 第二步驟再做一次,不過這次改成輸入「extensions.checkUpdateSecurity」,也是將它設為「false」。這樣可以關閉附加元件更新時的安全性檢查。
接著重新啟動一下小火狐,呵呵,慣用的套件就又回來囉~

參考資料:Make Your Extensions Work with the Firefox 3 Beta
(詳全文...)

Firefox3 火狐鬥陣拼紀錄,有你一份!

火狐鬥陣拼紀錄,有你一份!

臺灣時間 6 月 18 日凌晨 1 點後 24 小時內大家一起來下載 Firefox 3,我們就有機會達成「單日最多人下載軟體」的金氏世界紀錄囉~加油,各位小火狐的愛用者~

時間開始之後可以到這裡下載囉:按我直接下載 (詳全文...)