您好,登錄后才能下訂單哦!
小編給大家分享一下linux登錄時候提示字符集有問題怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
字符集報錯一直存在
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
背景
公司有臺jenkins服務器,因歷史原因一直使用centos6.5,突然登錄時候提示字符集有問題,本人其實已經使用centos7很久,沒碰到過這樣問題,排查過程也一臉懵逼。
就是各種字符集報錯,設置無效,n天后經過不斷排查,發現為glibc導致,拍錯過程還發現不能使用2.15版本,我擦,趕緊記一下。
排錯過程
1.直接反應為字符集,百度查了多個文檔,各種配置,各種更新插件,就是不生效,再趕上手頭還有其他工作,也耽誤了幾天。
今天仔細想了一下,既然任何字符集都不生效,應該不是字符集問題,肯定加載過程出問題了,但是這幾天服務器沒做啥工作啊,無聊翻了下百度,突然看到了glibc的相關帖子,然后繼續百度搜了一下,還真有別的哥們碰到過類似的,說編譯時候要加make localedata/install-locales,了解辦法后趕緊嘗試。
2.系統默認是2.12,我因為有的插件需求,我升級到了2.14。我本想降到2.12,但是又一想,不如下載個2.15,重新編譯,理論應該就都解決了。
3.網上找glibc-2.15資源,下載,編譯,安裝,常規操作后,將/lib64/libc.so.6軟鏈接指向glibc-2.15,然后就又報錯了 Illegal instruction (core dumped),系統也無法登陸了,趕緊修復 LD_PRELOAD=/lib64/libc-2.12.so ln -sf /lib64/libc-2.12.so /lib64/libc.so.6 先降會2.12,起碼字符集故障解決了,但是這樣不行啊,經過多次嘗試升級2.15,最終還是失敗了,網上也沒找到相關解決辦法。
4.無奈,想是不是和系統兼容問題,不放棄,又嘗試升級2.17,依然常規操作,這次終于可以了。。。
具體過程
1.查看系統glibc版本庫
strings /lib64/libc.so.6 |grep GLIBC_
發現最高到2.12,準備升級到2.17,一定不要裝2.15,我不知道是不是我自己有問題,反正我裝不上
2.下載安裝
進入下載目錄/data/install,執行命令,具體不解釋了,都懂
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar xvf glibc-2.17.tar.gz
mkdir glibc-build-2.17
cd glibc-build-2.17/
../glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j8 && make install && make localedata/install-locales
3.驗證
strings /lib64/libc.so.6 | grep GLIBC
都不用替換/lib64/libc.so.6文件,而且文件軟鏈接已指向glibc-2.17,完事了。
看完了這篇文章,相信你對“linux登錄時候提示字符集有問題怎么辦”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。