小編給大家分享一下linux登錄時(shí)候提示字符集有問(wèn)題怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都主動(dòng)防護(hù)網(wǎng)等成都網(wǎng)站設(shè)計(jì)公司、全網(wǎng)整合營(yíng)銷(xiāo)推廣解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
字符集報(bào)錯(cuò)一直存在
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
背景
公司有臺(tái)jenkins服務(wù)器,因歷史原因一直使用centos6.5,突然登錄時(shí)候提示字符集有問(wèn)題,本人其實(shí)已經(jīng)使用centos7很久,沒(méi)碰到過(guò)這樣問(wèn)題,排查過(guò)程也一臉懵逼。
就是各種字符集報(bào)錯(cuò),設(shè)置無(wú)效,n天后經(jīng)過(guò)不斷排查,發(fā)現(xiàn)為glibc導(dǎo)致,拍錯(cuò)過(guò)程還發(fā)現(xiàn)不能使用2.15版本,我擦,趕緊記一下。
排錯(cuò)過(guò)程
1.直接反應(yīng)為字符集,百度查了多個(gè)文檔,各種配置,各種更新插件,就是不生效,再趕上手頭還有其他工作,也耽誤了幾天。
今天仔細(xì)想了一下,既然任何字符集都不生效,應(yīng)該不是字符集問(wèn)題,肯定加載過(guò)程出問(wèn)題了,但是這幾天服務(wù)器沒(méi)做啥工作啊,無(wú)聊翻了下百度,突然看到了glibc的相關(guān)帖子,然后繼續(xù)百度搜了一下,還真有別的哥們碰到過(guò)類(lèi)似的,說(shuō)編譯時(shí)候要加make localedata/install-locales,了解辦法后趕緊嘗試。
2.系統(tǒng)默認(rèn)是2.12,我因?yàn)橛械牟寮枨?,我升?jí)到了2.14。我本想降到2.12,但是又一想,不如下載個(gè)2.15,重新編譯,理論應(yīng)該就都解決了。
3.網(wǎng)上找glibc-2.15資源,下載,編譯,安裝,常規(guī)操作后,將/lib64/libc.so.6軟鏈接指向glibc-2.15,然后就又報(bào)錯(cuò)了 Illegal instruction (core dumped),系統(tǒng)也無(wú)法登陸了,趕緊修復(fù) LD_PRELOAD=/lib64/libc-2.12.so ln -sf /lib64/libc-2.12.so /lib64/libc.so.6 先降會(huì)2.12,起碼字符集故障解決了,但是這樣不行啊,經(jīng)過(guò)多次嘗試升級(jí)2.15,最終還是失敗了,網(wǎng)上也沒(méi)找到相關(guān)解決辦法。
4.無(wú)奈,想是不是和系統(tǒng)兼容問(wèn)題,不放棄,又嘗試升級(jí)2.17,依然常規(guī)操作,這次終于可以了。。。
具體過(guò)程
1.查看系統(tǒng)glibc版本庫(kù)
strings /lib64/libc.so.6 |grep GLIBC_
發(fā)現(xiàn)最高到2.12,準(zhǔn)備升級(jí)到2.17,一定不要裝2.15,我不知道是不是我自己有問(wèn)題,反正我裝不上
2.下載安裝
進(jìn)入下載目錄/data/install,執(zhí)行命令,具體不解釋了,都懂
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.驗(yàn)證
strings /lib64/libc.so.6 | grep GLIBC
都不用替換/lib64/libc.so.6文件,而且文件軟鏈接已指向glibc-2.17,完事了。
看完了這篇文章,相信你對(duì)“l(fā)inux登錄時(shí)候提示字符集有問(wèn)題怎么辦”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!