最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CentOS6.5安裝glibc-2.14后locale出現(xiàn)No?such?file?or?directory解決辦法

 更新時(shí)間:2021年11月26日 17:18:48   作者:重慶春哥  
大家好,本篇文章主要講了CentOS6.5安裝glibc-2.14后locale出現(xiàn)No?such?file?or?directory解決辦法,感興趣的同學(xué)趕快來(lái)看看吧,希望對(duì)你有幫助

?一、掉進(jìn)坑里

最近公司內(nèi)部的一臺(tái)測(cè)試服務(wù)器(CentOS6.5),因?yàn)榘惭b某軟件需要升級(jí)glibc庫(kù),glibc是linux的一個(gè)核心庫(kù),如果直接替換升級(jí)原有版本,可能出現(xiàn)無(wú)法預(yù)料的異常(比如大面積出現(xiàn)命令不能運(yùn)行)。
于是手動(dòng)升級(jí)安裝了glibc-2.14,參考分享Centos6.5升級(jí)glibc過(guò)程
去官網(wǎng)下了個(gè)glibc-2.14的tar包,按照上面的步驟編譯安裝:

$ mkdir build  // 在glibc-2.14目錄下建立build文件夾
$ cd build     // 進(jìn)入build目錄
$ ../configure --prefix=/opt/glibc-2.14 // 注意:配置glibc并設(shè)置當(dāng)前glibc-2.14安裝目錄
$ make && make install     // 編譯安裝glibc-2.14庫(kù)

修改了/lib64/libc.so.6的軟連接指向,程序可以正常運(yùn)行,但中文出現(xiàn)了亂碼問(wèn)題

于是呼,按照自己的經(jīng)驗(yàn)和網(wǎng)上大多數(shù)N人的說(shuō)法,認(rèn)為這個(gè)簡(jiǎn)單,重新設(shè)置一下語(yǔ)言不就搞定了嗎?

說(shuō)干就干,在Shell中運(yùn)行l(wèi)ocale,出現(xiàn)如下錯(cuò)誤:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

_注:以上錯(cuò)誤不僅出現(xiàn)在手動(dòng)運(yùn)行l(wèi)ocale命令時(shí),而且每次ssh遠(yuǎn)程登錄進(jìn)shell時(shí)都會(huì)出現(xiàn)。_

二、掙扎無(wú)果

為解決以上問(wèn)題,大量度娘和G狗,嘗試過(guò)以下方法,問(wèn)題依舊。

使用如下命令:
export LANG="en_US.utf8"
可以修改環(huán)境變量LANG,修改之后立即生效,當(dāng)時(shí)當(dāng)系統(tǒng)重新啟動(dòng)時(shí)便會(huì)又變成原來(lái)的語(yǔ)言
另外兩種修改語(yǔ)言的方法:
1.配置如下文件:
vi /etc/sysconfig/i18n
將原來(lái)的配置如:
LANG="zh_CN.utf8"
修改為
LANG="en_US.utf8"
保存之后不會(huì)立即生效,而是要重啟之后生效。

三、青春的沖動(dòng)

焦頭爛額之時(shí),出去smoking了一下,看來(lái)還是要回到問(wèn)題的本質(zhì),既然出現(xiàn)了 No such file or directory錯(cuò)誤,說(shuō)明應(yīng)該是我們配置了某種不存在或者系統(tǒng)不支持的locale,比如上面解決辦法中的通過(guò)個(gè)修改語(yǔ)言LANG=”en_US.UTF-8”,將locale設(shè)置成了zh_CN.UTF-8,而操作系統(tǒng)在通過(guò)配置去初始化本地化環(huán)境的時(shí)候,沒有找到相應(yīng)的語(yǔ)言包(其實(shí)不只是語(yǔ)言包,locale還包括時(shí)區(qū)、貨幣度量等), 即OS找不到對(duì)應(yīng)的locale文件,想明白這個(gè)問(wèn)題就好辦了。

先使用locale命令看看系統(tǒng)中有沒有這個(gè)locale

[****@****** bin]# locale -a|grep en_US
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8

一看傻眼了,里面有en_US.utf8,也就是說(shuō)OS是支持將locale配置成en_US.utf8的,那為什么還是出現(xiàn)如下錯(cuò)誤:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

四、柳暗花明

是不是忽略了什么,再次回到原點(diǎn)審視。突然,想到了一個(gè)問(wèn)題:我們重新安裝了一個(gè)新的glibc庫(kù),而不是覆蓋升級(jí),也就是說(shuō)系統(tǒng)中目前至少有兩個(gè)locale命令,CentOS如何知道用哪個(gè)?

會(huì)不會(huì)是用了我們新裝的/opt/glibc-2.14/bin/locale,而不是系統(tǒng)默認(rèn)的/usr/bin/locale,用下面的命令很容易驗(yàn)證這個(gè)想法:

[****@****** bin]# /opt/glibc-2.14/bin/locale -a 
C
POSIX

果然,這個(gè)locale只支持C和POSIX,而沒有en_US.utf8,所以如果我們將locale配置成en_US.utf8,自然會(huì)報(bào)No such file or directory錯(cuò)誤。

問(wèn)題又來(lái)了,/opt/glibc-2.14/bin/locale命令所列舉的本地化locale語(yǔ)言包,是從哪里來(lái)的?是通過(guò)配置文件?還是直接讀取某個(gè)目錄里面的文件?
當(dāng)然如果去看源代碼很容易找到上面問(wèn)題的答案,因?yàn)榘潮容^懶,便大膽猜測(cè):應(yīng)該是從某個(gè)目錄里面讀取的,這個(gè)目錄里面應(yīng)該有系統(tǒng)所支持的所有的locale文件。這樣猜測(cè)是源于錯(cuò)誤消息是“沒有這樣的文件或目錄”。

為了找到這個(gè)目錄的位置,想到了strings命令,直接使用如下命令:

[****@****** bin]# strings /opt/glibc-2.14/bin/locale|grep locale
setlocale
/locale.
locale (GNU %s) %s
/opt/glibc-2.14/lib/locale
/opt/glibc-2.14/share/locale
all-locales
/opt/glibc-2.14/lib/locale/locale-archive
locale: %-15.15s archive: /opt/glibc-2.14/lib/locale/locale-archive
locale: %-15.15s directory: %.*s
Cannot set LC_CTYPE to default locale
Cannot set LC_MESSAGES to default locale
Cannot set LC_COLLATE to default locale
Cannot set LC_ALL to default locale
Write names of available locales
Get locale-specific information.

果然上面出現(xiàn)了一個(gè)路徑/opt/glibc-2.14/lib/locale/locale-archive,通過(guò)名字很容易猜出這個(gè)很可能就是locale命令去讀取所有被支持的locale目錄(/或歸檔文件)位置。

五、問(wèn)題KO

ls一下上面那個(gè)目錄,的確里面是空的,沒有l(wèi)ocale-archive這個(gè)歸檔文件。

[****@****** bin]# ll /opt/glibc-2.14/lib/locale/

現(xiàn)在解決辦法就很簡(jiǎn)單了,直接將/usr/bin/locale這個(gè)locale命令使用的locale-archive文件copy到/opt/glibc-2.14/lib/locale/locale-archive即可

[****@****** bin]# cp /usr/lib/locale/locale-archive /opt/glibc-2.14/lib/locale/locale-archive

可能有小伙伴會(huì)問(wèn)了,你怎么知道/usr/bin/locale使用的locale文件目錄是/usr/lib/locale/locale-archive,答案很簡(jiǎn)單:度娘一把,很容易查到。

copy完成后,exit會(huì)話,重新登錄進(jìn)來(lái),再運(yùn)行/opt/glibc-2.14/bin/locale命令,未出現(xiàn)No such file or directory錯(cuò)誤了,而且之前的亂碼問(wèn)題也解決了。

六、后記

上面記錄一次了筆者自己解決centos 6.5環(huán)境下手動(dòng)安裝glibc庫(kù)后出現(xiàn)的亂碼問(wèn)題,過(guò)程中涉及到一些關(guān)于locale的原理知識(shí),也順便了解了一下。
By the way,上面猜測(cè)的/opt/glibc-2.14/bin/locale命令locale讀取路徑,后來(lái)也的確看一下locale.c源碼,證實(shí)的確是從/opt/glibc-2.14/lib/locale/locale-archive讀取的(當(dāng)然還有其他的讀取位置)。

到此這篇關(guān)于CentOS6.5安裝glibc-2.14后locale出現(xiàn)No such file or directory解決辦法的文章就介紹到這了,更多相關(guān)安裝glibc出現(xiàn)中文亂碼解決辦法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux下如何配置DNS域名

    linux下如何配置DNS域名

    這篇文章主要介紹了linux下如何配置DNS域名問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Linux下安裝grafana并且添加influxdb監(jiān)控的方法

    Linux下安裝grafana并且添加influxdb監(jiān)控的方法

    這篇文章主要介紹了Linux下安裝grafana并且添加influxdb監(jiān)控的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • CentOS下MySQL的徹底卸載的幾種方法

    CentOS下MySQL的徹底卸載的幾種方法

    本篇文章主要介紹了CentOS下MySQL的徹底卸載的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 如何在 Ubuntu 服務(wù)器上添加和刪除用戶

    如何在 Ubuntu 服務(wù)器上添加和刪除用戶

    這篇文章詳細(xì)介紹了在Ubuntu服務(wù)器上如何使用命令行工具添加和刪除用戶,包括adduser、useradd、deluser等命令的使用方法和示例,感興趣的朋友一起看看吧
    2024-12-12
  • linux 清理內(nèi)存命令詳細(xì)介紹

    linux 清理內(nèi)存命令詳細(xì)介紹

    這篇文章主要介紹了linux 清理內(nèi)存命令詳細(xì)介紹的相關(guān)資料,這里對(duì)Linux 清理內(nèi)存進(jìn)行了詳解及查看內(nèi)存條命令,需要的朋友可以參考下
    2016-11-11
  • Vim中查找替換及正則表達(dá)式的使用詳解

    Vim中查找替換及正則表達(dá)式的使用詳解

    Vim中的正則表達(dá)式功能很強(qiáng)大,如果能自由運(yùn)用,則可以完成很多難以想象的操作。下面這篇文章主要給大家介紹了關(guān)于Vim中查找替換及正則表達(dá)式使用的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-07-07
  • Linux 文件權(quán)限的詳細(xì)介紹

    Linux 文件權(quán)限的詳細(xì)介紹

    這篇文章主要介紹了Linux 文件權(quán)限的詳細(xì)介紹,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 關(guān)于Apache默認(rèn)編碼錯(cuò)誤 導(dǎo)致網(wǎng)站亂碼的解決方案

    關(guān)于Apache默認(rèn)編碼錯(cuò)誤 導(dǎo)致網(wǎng)站亂碼的解決方案

    Apache默認(rèn)編碼UTF-8在解析A網(wǎng)站的時(shí)候沒有任何問(wèn)題,當(dāng)運(yùn)行B網(wǎng)站時(shí)出現(xiàn)的"蝌蚪文"亂碼問(wèn)題
    2011-12-12
  • Centos7的apache網(wǎng)站環(huán)境搭建wordpress

    Centos7的apache網(wǎng)站環(huán)境搭建wordpress

    本篇文章給大家詳細(xì)分析了在Centos7的apache網(wǎng)站環(huán)境搭建wordpress的詳細(xì)操作方法,有興趣的朋友參考下。
    2018-02-02
  • 詳解在Ubuntu16.10上安裝docker ce

    詳解在Ubuntu16.10上安裝docker ce

    本篇文章主要介紹了詳解在Ubuntu16.10上安裝docker ce,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05

最新評(píng)論

永胜县| 霸州市| 灌云县| 永靖县| 布拖县| 平果县| 信宜市| 苏尼特右旗| 读书| 贺兰县| 集贤县| 宣恩县| 墨竹工卡县| 涪陵区| 玉屏| 历史| 兴安盟| 乐都县| 河北省| 建宁县| 遂川县| 海盐县| 凤阳县| 行唐县| 万盛区| 峨眉山市| 辽宁省| 兰州市| 屏东市| 秭归县| 南京市| 呼图壁县| 英德市| 泗阳县| 麻城市| 浑源县| 钦州市| 攀枝花市| 紫阳县| 长寿区| 伊宁市|