RPM 的資料庫掛了...
這邊的文章好少...
這至少說明了幾個問題:
1. Linux 太難....難到根本看不懂, 以致於大家都沒興趣....
2. 不然就是有可能, 遇到Dead Lock 沒人可幫忙....
3. 要不然就是根本太簡單,簡單到根本沒問題??!!
不知道大家是哪一種情況....不過無論大家是哪種情況...
只要小弟有時間我就會盡力把我身邊發生的問題以及解法 POST出來...
( 唯一希望的是....現在POST,不過明天 Server要更新...不知道站長會不會忘記備份... )
情況是這樣的:
公司有一台雙AMD CPU...已經安裝上 Fedora Core 1 ,日前因為開發程式需要...
必須升級到 Fedora Core 4...
因此我的做法直接將 光碟片插進去...然後重新利用光碟片開機...
然後順利升級了....
安裝完畢後卻發現...
RPM DB 掛了....
按照標準程序的做法當然是....
rm -f /var/lib/rpm/__*
rpm --rebuilddb
不過當然是沒用.....( 多說的...要是有用,我寫這篇幹麻??!! )
錯誤訊息如下:
rpmdb: unable to initialize mutex: Function not implemented
rpmdb: /var/lib/rpm/__db.001: unable to initialize environment lock:
Function not implemented
error: db4 error(38) from dbenv->open: Function not implemented
error: cannot open Packages index using db3 - Function not implemented (38)
error: cannot open Packages database in /var/lib/rpm
二話不說,馬上殺到 RedHat 總部的官方論壇查一下 RPMDB
結果有個傢伙跟我一樣....對這個問題頭大...
喔....
原來是 LD_ASSUME_KERNEL 系統變數出問題了....
也就是說....我的 Kernel 改了....但是....LD_ASSUME_KERNEL 變數值卻沒改...
哇塞....這可大條了!!...
因為改 LD_ASSUME_KERNEL 是要自己 Compiler Kernel 的...
ㄟ.....=_=||| 不會吧.....只是想喝杯牛奶....竟然買了條牛不打緊,還要我蓋個牧場....
這會不會玩太大了???!!!
當下決定到對岸"同胞", 尋求協助.....
果然沒讓我失望....
有高手說 :
修改 /usr/lib/rpm/macros
找到
%__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb
改成
%__dbi_cdb create cdb mpool mp_mmapsize=16Mb mp_size=1Mb private
即可....
二話不說馬上試試....
哇塞果然可以....嘿嘿....好強阿....
不敢耽誤,馬上 POST 以饗同好....( ㄟ....寫的好的話來點掌聲吧!!.... )
|