自從FreeBSD 4.11無法從母站下載新的Ports Index DB,就陷入痛苦的package版本錯亂時代。眼尖的同事早就發現最近的安全性更新都不再提供FreeBSD 4的更新。
為了要安裝新套件,只好勇敢的把沒有備援機的Server用CD升級成6.2 Release。這次升級雖然有用VM模擬過,但畢竟是用了六年的系統,一堆legacy so檔,升級時Server上的筆電用cdrom又會挑片,痛苦指數100%呀!這次升級遇到許多的問題:
如果真的照他說的下 portupgrade -urRfa,大概三天三夜也跑不完,沒事千萬不要加-Rrfa,用 -Rrua,再手動更新一些套件就應該夠了。
參考:
[續] FreeBSD port tree 的保養: portupgrade 的用法
upgrade Perl with portupgrade
[FreeBSD] portupgrade 可能出現的問題和解決方法
為了要安裝新套件,只好勇敢的把沒有備援機的Server用CD升級成6.2 Release。這次升級雖然有用VM模擬過,但畢竟是用了六年的系統,一堆legacy so檔,升級時Server上的筆電用cdrom又會挑片,痛苦指數100%呀!這次升級遇到許多的問題:
- 升級完由於某些自動機制沒搞好,帳號必須自己再手動把master.passwd從/var/tmp/etc裏和新的帳號合併,這點我還可以接受。
- 再來則是升級完pop3馬上不能用,升級也發生錯誤,後來發現舊套件似乎相依性有問題,移除qpopper再重新編譯安裝後解決。
- 接著是發現mysql和postgresql都跑不起來,也只好重新安裝。在perl升級的過程中,才是真正的地獄,連compile都有錯誤,是真的Dll Hell呀!想到用別台FreeBSD 6.2,做出一個tbz丟過來安裝,似乎還能用,沒想到馬上openwebmail就掛了,維護者leeym最近到米國似乎很忙,要問也找不到人呀!雖然用了很多怪招,但一時之間太多舊的package需要升級,只好先把speedy-cgi關掉,才暫時化解危機,隔一天才看到這裏的解法。
portupgrade -f "perl-5.8.*" -m "ENABLE_SUIDPERL=yes" -r "perl-5.8.*"
再編輯
/usr/local/www/cgi-bin-dist/openwebmail/etc/defaults/suid.conf
將
has_savedsuid_support yes → no - 套件更新的過程中又遇到openssl升級的問題,openssl升級後apache之類與SSL相關的程式全掛,但因為升級順序必須自己手動重新編譯。
如果真的照他說的下 portupgrade -urRfa,大概三天三夜也跑不完,沒事千萬不要加-Rrfa,用 -Rrua,再手動更新一些套件就應該夠了。
參考:
[續] FreeBSD port tree 的保養: portupgrade 的用法
upgrade Perl with portupgrade
[FreeBSD] portupgrade 可能出現的問題和解決方法
留言