Linux
用新版本更新手動編譯的 unix 程序?
我想將之前手動編譯的程序版本更新到 /opt。我可以只編譯新版本並讓它覆蓋以前的安裝(假設沒有兼容性問題)還是這是不好的做法?
我在完全備份的伺服器上執行此操作;所以最壞的情況是最壞的,我可以重新成像。
我可以只編譯新版本並讓它覆蓋以前的安裝(假設沒有兼容性問題)還是這是不好的做法?
是的,你應該沒事的。二進製文件總是被覆蓋**,**有時是由於手動編譯的包,但更頻繁的是因為 yum/apt/etc。二進制包更新。
這實際上取決於程序和版本之間的差異,以及它的安裝過程是如何工作的。例如,如果您使用不同的設置對其進行配置,從而導致在支持外部動態模組(Apache、heartbeat、ProFTPd 等)的程序中建構不同的模組集,則目錄中可能會留下模組這是針對舊版本建構的。
根據安裝過程,配置文件也可能被覆蓋或未寫入新的配置文件。這經常讓我對 postfix 感到不滿,master.cf 中需要新服務,但 Postfix 提供了一個有用的工具來修復這些實例。
就個人而言,在我手動安裝軟體(而不是使用分發包)的極少數情況下,我會嘗試將它們放在基於版本命名的目錄中,然後創建從通用名稱到特定名稱的符號連結。這樣我就可以將新版本安裝在一個全新的目錄中。否則,最好將舊目錄移開,例如將其重命名為“.old”,然後重新安裝。