Contents ...
udn網路城邦
更新linux共享庫
2015/07/20 10:46
瀏覽106
迴響0
推薦0
引用0

http://netstat168.blogspot.hk/2015/07/linux_91.html

當一個應用程序依賴某個動態庫時,如果直接cp覆蓋原動態庫,會導致應用程序Segmentation fault,下面介紹幾種方法:
1.    rm old.so + cp new.so old.so
2.    mv old.so old.so.so + cp new.so old.so
上述方法都是“rm+cp”或者“mv+cp”來替代直接“cp”,是可以達到更新動態庫的,直接cp無效時由於damand page導致。還有個rfilesync
這種辦法可行,但是很不優秀,下面推薦一種。
假設系統需要更新共享庫libtest.so,這裏可以做一個軟連接,假設每次更新的都是libtest.so.0.0.1,其版本會更新一直累加,此時把libtest.so連接到libtest.so.0.0.1,以後每次只更新,只需要更新libtest.so.0.0.1到libtest.so.0.0.2類似,然後手動修改libtest.so的連接,即可以無縫升級。

全站分類:知識學習 科學百科
自訂分類:不分類
上一則: linux多線程信號總結
下一則: Linux系統服務與進程管理
你可能會有興趣的文章:

限會員,要發表迴響,請先登入