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

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

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

?一、掉進坑里

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

$ mkdir build  // 在glibc-2.14目錄下建立build文件夾
$ cd build     // 進入build目錄
$ ../configure --prefix=/opt/glibc-2.14 // 注意:配置glibc并設置當前glibc-2.14安裝目錄
$ make && make install     // 編譯安裝glibc-2.14庫

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

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

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

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

_注:以上錯誤不僅出現(xiàn)在手動運行l(wèi)ocale命令時,而且每次ssh遠程登錄進shell時都會出現(xiàn)。_

二、掙扎無果

為解決以上問題,大量度娘和G狗,嘗試過以下方法,問題依舊。

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

三、青春的沖動

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

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

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

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

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

四、柳暗花明

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

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

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

果然,這個locale只支持C和POSIX,而沒有en_US.utf8,所以如果我們將locale配置成en_US.utf8,自然會報No such file or directory錯誤。

問題又來了,/opt/glibc-2.14/bin/locale命令所列舉的本地化locale語言包,是從哪里來的?是通過配置文件?還是直接讀取某個目錄里面的文件?
當然如果去看源代碼很容易找到上面問題的答案,因為俺比較懶,便大膽猜測:應該是從某個目錄里面讀取的,這個目錄里面應該有系統(tǒng)所支持的所有的locale文件。這樣猜測是源于錯誤消息是“沒有這樣的文件或目錄”。

為了找到這個目錄的位置,想到了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)了一個路徑/opt/glibc-2.14/lib/locale/locale-archive,通過名字很容易猜出這個很可能就是locale命令去讀取所有被支持的locale目錄(/或歸檔文件)位置。

五、問題KO

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

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

現(xiàn)在解決辦法就很簡單了,直接將/usr/bin/locale這個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

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

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

六、后記

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

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

相關文章

  • linux下如何配置DNS域名

    linux下如何配置DNS域名

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

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

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

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

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

    如何在 Ubuntu 服務器上添加和刪除用戶

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

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

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

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

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

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

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

    關于Apache默認編碼錯誤 導致網(wǎng)站亂碼的解決方案

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

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

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

    詳解在Ubuntu16.10上安裝docker ce

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

最新評論

武城县| 南平市| 通河县| 万山特区| 东平县| 京山县| 天水市| 潼南县| 霞浦县| 肥乡县| 长汀县| 衢州市| 新津县| 四会市| 富源县| 衡阳县| 平乐县| 江源县| 彭阳县| 互助| 武功县| 韶关市| 广东省| 翁牛特旗| 平遥县| 达州市| 修武县| 句容市| 通化市| 岫岩| 老河口市| 松滋市| 佛坪县| 都昌县| 曲周县| 六盘水市| 牡丹江市| 民勤县| 乌审旗| 肥城市| 普洱|