更新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的連接,即可以無縫升級。
你可能會有興趣的文章:
限會員,要發表迴響,請先登入


