Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

只更新 CentOS 4.3 的 sqlite 到 CentOS 4.4 之後, 使用 yum 會當機
post by tommy @ 15 九月, 2006 14:33
今天在我們的某台測試主機 (使用 CentOS 4.3) 上頭, 想要把 php 換成 5.1.6 的版本, 所以就抓了 Fedora Core 5 裡頭的 php 5.1.6 的 source rpm 回來想要自行編成 rpm 使用.

由於自行 build 這個 rpm 時, 需要安裝一些我們原本沒有安裝的東西, 因為我們自己的 CentOS 4 的 mirror, 已經更新到最新的 4.4 了, 所以使用 yum 安裝時, 自然抓到的都是 4.4 的東西, 而不是 4.3 的東西.

在安裝完後發現, 只要我們一執行 yum 指令, 系統的 CPU 就被 yum 佔用了 (後來發現應該是記憶體會被一直用掉), 然後 loading 持續往上跑, 最後... 完全沒辦法使用.

到 Google 找了一下, 發現有人碰過這個問題, 也提出的解決的方法如下:

rpm -e sqlite python-sqlite yum sqlite-devel
rm -rf /var/cache/yum
rpm -ivh http://centos.cs.ucr.edu/centos/4.3/os/x86_64/CentOS/RPMS/python-sqlite-1.1.6-1.x86_64.rpm \
http://centos.cs.ucr.edu/centos/4.3/os/x86_64/CentOS/RPMS/sqlite-3.2.2-1.x86_64.rpm \
http://centos.cs.ucr.edu/centos/4.3/os/x86_64/CentOS/RPMS/sqlite-devel-3.2.2-1.x86_64.rpm \
http://centos.cs.ucr.edu/centos/4.3/os/x86_64/CentOS/RPMS/yum-2.4.2-2.centos4.noarch.rpm
 

把 sqlite, yum, sqlite-devel, python-sqlite 移除後, 然後重裝 4.3 版本的 yum 就可以了.

經過上頭的方式處理後, 果然可以正常使用了. 


注意:
  1. 猜測這個是因為 sqlite 所引起的, 因為我們那時安裝的軟體有 sqlite-devel, 那時會把 sqlite 也更新到新的版本上頭去,  而 yum 及 python-sqlite 仍是舊的版本吧. 不過...我沒試過是不是只要把 sqlite 換回 4.3 的版本就可以了.
  2. 如果照正常的 yum update, 直接把 CentOS 4.3 升到 4.4, 並不會有這個問題.
  3. 關於自行 build php 5.1.6 的部份, 使用原本系統的 gcc 3.3 版本, 無法編譯, 我們是安裝 gcc4, gcc4-++ 兩個軟體, 然後到 /usr/bin 下頭, 把原本的 gcc, g++ 先改名, 再把 gcc4, g++4 改成 gcc, g++. 這樣子就可以使用 rpmbuild 由 FC5 中的 php 5.1.6 的 srpm 來產生相關的 rpm 檔案了.
Del.icio.us Furl HEMiDEMi Technorati MyShare
迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 49 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS