iT邦幫忙

0

centos 6.9 升級 php 5.4以上版本相依性問題

大家好
linux 最難處理就是相依性,今天想請教大家一下,就是我想把centos 6.9內
的php 5.3升級5.4以上版本,目前裡面有cacti mysql apache postfix phpmyadmin這些東西在run想請問我除了先移除這些東西才能有辦法更新嗎??

目前我用yum和rpm安裝都存在相依性問題一直不能解決,新版php部份
我有把remi的repo加入yum裡面,似乎因為php-common相依性太多無法完成
使用rpm 手動更新更別說也是死,只有移除所有東西套件才有辦法升級嗎??
我知道有可以忽略相依性參數更新,但這個似乎大動作更新怕會掛掉,有高手能指導的嗎??
謝謝大家!

現有安裝套件
http://ithelp.ithome.com.tw/upload/images/20170829/20024460cRJAvtROZk.jpg

yum和rpm無法通過相依性畫面
http://ithelp.ithome.com.tw/upload/images/20170829/20024460ehVQuC0lH3.jpg

http://ithelp.ithome.com.tw/upload/images/20170829/20024460KOhnpCgzK3.jpg

wiseguy iT邦超人 1 級 ‧ 2017-08-29 12:05:02 檢舉
不要用升級的,直接把所有 php 都移除,再安裝新版本:
yum remove $(rpm -qa | fgrep php)
如果擔心重新安裝也有問題,想要復原的話,先下一個指令
echo 'yum install '$(rpm -qa | fgrep php) > /tmp/r.sh
等等要是無法安裝,要復原,就執行 bash /tmp/r.sh 即可。
jeremy168 iT邦新手 4 級 ‧ 2017-08-29 18:41:34 檢舉
你好,目前我想到也只能全部移除,但相對一推服務會被移除,如apache和postfix這些有用到php的也都會被移除,這樣等於全部要再設定,不如直接重灌centos 7不就比較快囉!

1 個回答

0
bizpro
iT邦大師 1 級 ‧ 2017-08-29 16:33:09

linux 最難處理就是相依性,

相依性問題是結果, 告訴您真正的原因是您試圖安裝有問題的套件, 不要倒果為因.

在您的相依性問題中, 最大的問題是您要安裝的套件要求較新版本的核心套件glibc和pthread, 可能的解決方案:

  1. 更新核心套件glibc和pthread. 更新核心套件的風險是可能讓其他套件無法運作.
  2. 使用相依於現有核心套件的版本的正確套件, 通常需要付費取得RedHat的授權服務, 第三方套件不一定可用, 如您的情況.
  3. 自行對現有核心套件編譯PHP, 這是我的做法, 在我的系統中, 可同時運行不同版本的PHP.
  4. 使用新版的CentOS或其他發行. 建議使用Ubuntu 16.04.3, 風險是您可能面臨應用層上更大的問題, 例如您的PHP腳本不相容, 需一一修正, 但這是必經之路. 另外, PHP 5.5及以下已經淘汰了.
  5. 不升級, 但在前面使用反向代理伺服器保護此舊系統.
jeremy168 iT邦新手 4 級 ‧ 2017-08-29 21:00:51 檢舉

謝謝你分享你的意見,目前系統是用yum update整機更新上來了,所以可以說目前套件因該是如你說的正式版本最終版本,對於沒有授權版本來說,有授權是否能在更新我就不清楚。

額外想請問一下如果使用SRPMS自行編譯方式如php-common之外其他的不需要嗎?還是編譯完php-common然後安裝後其他相依套件在yum更新嗎?謝謝你寶貴意見。

bizpro iT邦大師 1 級 ‧ 2017-08-29 21:20:25 檢舉

因為我都是自己編譯的, 我的系統中沒有php-common, 但您可以用指令ldd來查相關php到底連結了那一些套件.

jeremy168 iT邦新手 4 級 ‧ 2017-08-30 11:39:06 檢舉

大大果然高人,這年頭都自己編譯安裝不多人了,說實在太累了,尤其有相依性較多套件,謝謝你,我在試試看,真不行也只能放棄了,太多東西要設定了

我要發表回答

立即登入回答