2008年10月6日 星期一

VMWARE 呀! 我真是敗給您啦!

解決了前一篇 Fedora update 的衝突問題後

開開心心的 將 Fedora 8 的 kernel 從 2.6.25.14-69 update到2.6.26.5-28.fc8 , 沒想到又出了一個問題, vmware server 不會動了
天哪! 我的正經事都在 VM 裡吔!
下載 新的 vmware server 1.0.7 看看會不會活過來!
安裝時竟卡在 vmmon 無法 compile ...%$#@#$%#$@%
在 google 上及 vmware 的網站上有個建議
安裝 vmware-any-any-updateXXX 的修正檔
依照google 大神的指示下載了 vmware-any-any-update117d
執行了 其中的 runme.pl (會去找 vmware-confi.pl 接著執行安裝的設定及編繹動作)
可以安裝設定, 也可以正常啟動了..... ya- ^_^
但是故事就這麼結束了嗎? 好人從此高枕無憂了嗎?

.. $#@$%#@%$#@ B-- B-- B---

(B--是消音)


沒這麼好的事, 只要有可能發生的問題, 它一定會發生

打開 Vmware Consol 連上 server , 連的上吔!
可是 VM 竟然無法啟動
心中正在盤算要如何狡辯....不不不, 是如何解釋為何新的 os kernel 會造成這個結果
以及盤算那個伺服器可以暫住的當下

google 仙又開示啦!

有請東西南北的各方神明........%@%#$@!%$&^#$@#
沒有知識也要有常識, 沒有常識也要看電視, 沒看電視也要會打關鍵字
來自德國的好人
http://www.it-psycho.de/downloads/vmware-any-any-update117-itpsycho.tar.bz2
是一個不同於 vmware 網站上的 update
若您使用的 host os 和我不同, 可能要找適合的版本去修正
Kernel 2.6.26.5-28
vmware-any-any-update117-itpsycho.tar.bz2
vmware-server-1.0.7-108231
安裝及執行和上面一樣

總算, VMware Server 恢復正常 ^_^ , 我才有時間在這打這篇 BLOG

感謝 google 仙 !
參考資料
http://linux.derkeiler.com/Mailing-Lists/Fedora/2008-09/msg01579.html

2008年8月9日 星期六

升級成新版的 FEDORA

FEDORA 提供了一個簡單的 升級管理程式 yum
不只可以利用 yum 安裝, 管理, 升級各個程式
也可以用來升級 FEDORA 的安裝版本
像是
Fedora core 6 --> Fedora 7 啦!
Fedora 7 --> Fedora 8 啦!
Fedora 8 --> Fedora 9 (新增)
基本上的動作只有幾個
1 清掉 yum 的 cache
2 下載 新版的 資料
3 升級為新版本的程式

1 yum clean all

Fedora 8 --> Fedora 9 需要下的指令如下 (此處為舊的作法, 新的作法可用 preupgradey 進行 見後面附註2)
2 rpm -Uvh ftp://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/i386/os/Packages/fedora-release-9-2.noarch.rpm ftp://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/i386/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm
(需注意升級的目標的版本及相關位置)

Fedora 7 --> Fedora 8 需要下的指令如下
2 rpm -Uvh ftp://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/
i386/os/Packages/fedora-release-8-3.noarch.rpm
ftp://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/
i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm
(需注意升級的目標的版本及相關位置)

Fedora core 6 --> Fedora 7 執行如下
2 rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/
i386/os/Fedora/fedora-release-notes-7.0.0-1.noarch.rpm
http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/
i386/os/Fedora/fedora-release-7-3.noarch.rpm
)

3 yum upgrade
這裡要注意可能有些軟體在新舊版本中使用的套件並不相容, 可先移除後, 再在升級新版本完成後再安裝
同時要注意, 重要的檔案路徑其分割區需要的磁碟空間要夠大 (每個 版本間的 upgrade 大約要 1~1.2 G), 我在安裝過程中也曾經碰過 /usr 剩餘的空間不夠大, upgrade 不成功的情況

附註1
在Fedora 7 升級 Fedora 8完成1,2 後, 進行 3更新的時候, 出現了一個衝突的問題
avahi.i386 在list 中有兩個版本, 分別為 fc7 及 fc8
要繼續進行系統安全性升級等動作, 出現了下列錯誤訊息

Transaction Check Error:

file /etc/avahi/avahi-autoipd.action from install of avahi-autoipd-0.6.21-8.fc8.i386 conflicts with file from package
avahi-0.6.17-1.fc7.i386
file /usr/sbin/avahi-autoipd from install of avahi-autoipd-0.6.21-8.fc8.i386 conflicts with file from package
avahi-0.6.17-1.fc7.i386

若利用 yum 先移除 avahi.i386 再安裝也會出錯
發生原因是, avahi-daemon avahi-dnsconfid 在 fc7 及 fc8 中 安裝在不同的位置
升級過程 中執行移除 avahi.i386 的script 會依 fc7 的路徑刪除檔案後再依 fc8 的script 再作一次 (或是反過來), 就會出現找不到檔案或路徑的錯誤
若手動移除 avahi*.fc7.i386 及 avahi.fc8.i386 會影響很多package, 重裝費時

請執行下面的指令, 跳過rpm套件的script直接將 avahi*.fc7 移除掉

rpm -e --noscripts avahi-0.6.17-1.fc7

成功後即可繼續利用 yum 進行 update

附註2 改用 preupgrade 套件進行

1 更新 yum
yum update fedora-release
2 安裝 preupgrade 套件
yum install preupgrade
3 在 x window 中執行 preupgrade
preupgrade

2008年8月4日 星期一

/var/log/messages stopped to log 系統記錄檔停止寫入 log 資料

跑了一段時間的 Server 通常都需要升級許多的套件, 升級結果偶而會發生下列的情況
/var/log 下面與系統有關的 記錄檔都不再寫入任何資料
包括 /var/log/messages /var/log/security etc.
會發生這個情況的原因是 SELINUX 的檔案目錄權限控管阻擋了許多檔案的寫入動作
造成幾個結果
1. syslogd klogd 仍舊可執行
2. /var/log/messages 長度 0, 無寫入任何資料
3. 手動執行 klogd -x -c 4; syslogd -m 0 可正常啟動
4. 使用服務啟動的script 無法正常寫入任何 log 資料
5. dmesg | grep syslog 會顯示類似下面的訊息
audit(1151150355.645:2): avc: denied { read } for pid=2204 comm="syslogd" name="services" dev=dm-0 ino=14567535 scontext=system_u:system_r:syslogd_t tcontext=rootbject_r:tmp_t tclass=file

第5 項就是問題的解答了 ^_^

遇到這樣的問題, 很容易困擾一些新手管理人員, 但修正的方法很簡單
執行 SELINUX的檔案目錄權限修正程式 fixfiles

fixfiles relabel

等它修正完成, 重啟動 syslogd 就一切正常囉!

google 您真是神啊!

2008年5月22日 星期四

vi 中利用 sort 排序資料

用vi 來看log檔常要排序一下資料
可以用外部的sort 程式協助排序

指令用法如下:
:1,$!sort -k 3
表示從第1列開始, 以第3 欄資料進行排序

:4,$!sort -k 3
表示從第4列開始, 以第3 欄資料進行排序 給有標題的文件用

:1,$!sort -k 4 -t"."
表示從第1列開始, 以第8 欄資料進行排序, 分欄字元是 "."
結果會如下 :
192.168.1.20
192.168.1.218
192.168.1.22
218 竟然排在 22 的前面? 是因為以"文字順序"排序的關係

:1,$!sort -k 4 -t"." -n
表示從第1列開始, 以第4 欄資料進行排序, 分欄字元是 "." , 並且依數字大小而非文字順序排序
結果會改變如下
192.168.1.20
192.168.1.23
192.168.1.218

vi 還真滿好用的

設定 DHCPD 記錄檔至 DHCPD.log

為了將DHCPD的 ip 分配記錄獨立設定到其他記錄檔可作如下的設定
1 建立 DHCPD.log
2修改 syslog.conf及 dhcpd.conf
i syslog.conf中加入下面的資料
##新增自定記錄及記錄檔
local6.* -/var/log/DHCPD.log
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
# 新增 local6.none 設定local6的記錄不寫入messages
*.info;mail.none;authpriv.none;cron.none;local6.none /var/log/messages
ii dhcpd.conf 中加入(我放在 dhcpd.conf最前面)
log-facility local6;
3建立DHCPD.conf
touch /var/log/DHCPD.log
4修改 /etc/logrotate.d/syslog的設定
增加 /var/log/DHCPD.log 到系統記錄自動壓縮儲存列表中
到此就大功告成了