Centos
在舊的 Linux (Centos 5) 中安裝新軟體 (httpd)?
我需要
httpd
在生產環境中執行的舊版 Centos 5 32 位機器上升級 Apache。由於所有官方 repo 版本都已過時,我試圖在 docker 容器中編譯它;但這似乎由於各種原因而失敗:1)它抱怨舊
PCRE
版本:util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)
我通過將適當的值添加到
pcre.h
只是為了查看它的去向來修補它……2)然後它抱怨
flex
安裝版本中不存在的某些功能:"/usr/src/httpd-2.4.43/server/util_expr_scan.l", line 32: unrecognized %option: reentrant "/usr/src/httpd-2.4.43/server/util_expr_scan.l", line 33: unrecognized %option: bison-bridge flex: could not create
我想我正在嘗試解決一個難題,那麼我有什麼替代方案?
在 a中靜態編譯並在機器中執行它可以嗎?這樣做有什麼注意事項嗎?另一種選擇是在 Centos 5.x 上從頭開始編譯所有內容,但這似乎是一些任務 :)
httpd``Centos 7.x``Centos 5.x
升級
httpd
機器正在被推回 - 有人可以建議一個可行的解決方案嗎?
作業系統必須升級。大約十年左右這樣做是維護這些通用 LTS 作業系統的最低要求。不這樣做是不負責任的,因為生命週期結束的 CentOS 5 具有未修補的安全漏洞。為易受攻擊的軟體添加補償性安全控制比升級它需要更多的工作。
出於其他原因,您需要進行 httpd 重大升級。這已經是一個閱讀發行說明、調整配置和測試的項目了。
從原始碼編譯增加了工作量:建構、安裝和維護。雖然您當然可以自由地這樣做,但您不會像 EL httpd 建構那樣快速或經過良好測試。而且您自己的建構不會改善不升級作業系統的技術債務。
所以在 CentOS 8 上配置一個 Web 伺服器,測試,然後切換。
如果這不起作用,請保留升級後的主機,但限制舊版軟體。比如在容器中。並啟動一個項目以正確升級或替換它。