我正在嘗試更新符號鏈接libc.so.6。它正確地指向libc-2.17.so。我需要將它指向libc-2.18.so。我試圖做一個符號鏈接,但沒有任何工作。我也試圖解開鏈接符號鏈接。如何在RedHat上更新libc.so.6的符號鏈接?
如何更新符號鏈接?我看到多個問題,但沒有爲我工作(包括ldconfig)。
我希望有人有答案。所有的
我正在嘗試更新符號鏈接libc.so.6。它正確地指向libc-2.17.so。我需要將它指向libc-2.18.so。我試圖做一個符號鏈接,但沒有任何工作。我也試圖解開鏈接符號鏈接。如何在RedHat上更新libc.so.6的符號鏈接?
如何更新符號鏈接?我看到多個問題,但沒有爲我工作(包括ldconfig)。
我希望有人有答案。所有的
首先,你必須做的ls -l/lib64目錄/ libc的*看到所有的鏈接和libc庫
然後做:
cd /lib64
unlink libc.so.6
/sbin/sln /lib64/libc-2.18.so /lib64/libc.so.6
應該這樣做。
請注意,當您取消鏈接libc.so.6在您的服務器上沒有任何功能可以正常工作。否ls,no cp,甚至不是ln。所以,你必須使用SLN代替(SLN是ln靜態鏈接版本)
如何更新符號鏈接?
你要明白,GLIBC由幾百個文件,符號鏈接必須所有的人都在更新一次。
如果更新libc.so.6
符號鏈接,但不會同時更新ld-linux*
,則所有動態鏈接的程序將無法運行。同上,用於libpthread.so
,libdl.so
,等等,等等
這裏犯錯誤的最有可能的最終結果是無法啓動的系統,必須用急救盤或完全重新安裝恢復。
執行此操作的最佳方法是讓包管理器執行此操作。
如果你不能這樣做,那麼你最好的選擇是從備用磁盤啓動,將根文件系統掛載到/mnt
並做make install DESTDIR=/mnt
。
sudo yum -y更新glibc不會從2-17更新到更新的版本。無論如何,我可以告訴它更新至2.18? – ksoop
你可以發佈你的實際符號鏈接和libc-2.8.so位置的完整路徑嗎? –
libc.so.6位於/lib64/libc.s0.6。它目前指向/lib64/libc-2.17.so。我安裝了最新的glibc 2.18並將其放入/lib64/libc-2.18.so。 – ksoop
請注意,更改庫的文件名不會立即生效。例如,如果您遇到有關'GLIBC_2.18'符號版本的錯誤,則此更改後錯誤將保留。 –