goodboy1881 发表于 2005-8-1 23:25:33

[已解决]locale损坏导致需要locale的脚本无法运行

问题现象:我在运行一些配置脚本。比如说rcconf. alsaconf dpkg-reconfigure等的时候。终端就会变成图示的这样,出现各种各样的错误,最常见的是段错误,其他的还有一些比如说无法找到文件等等。


问题原因:猜测是因为locale损坏导致需要locale的程序不知道如何处理字符串,比如说单字节字符串或者双字节字符串,所以就出现了各种各样莫名其妙的错误。

解决方案:这当然很简单了。重新建立你的locale.以debian为例,因为locale导致dpkg-reconfigure已经失效。所以我们手动在/etc/locale.gen下面添加自己需要的locale.保存退出后运行locale-gen重新建立locale数据库。相关的文件都在/usr/lib/locale下面。然后在/etc/environment设定你需要的locale名字,即lang= localename;重起系统,就可以了。

goodboy1881 发表于 2005-8-2 10:08:30

哪位大虾能给我指条明路啊。或者我还需要拿出关于我系统的什么信息才可以呢。请大家帮帮忙。

cnhnln 发表于 2005-8-2 14:02:55

clear
reset

默难 发表于 2005-8-2 14:32:37

汗……我的ML以前也有同样问题,不过现在解决了,解决方法是:改装了个gentoo……
到现在gentoo的一些X方面的设置还没好,所以只能用Xterm之类的,GNOME刚刚装上,所以还没用,不知道会不会出现类似错误,你可以到ML那里看看,我记得那里有解决方案,可是我不知道在哪,也没试过。我这就帮楼主看看

默难 发表于 2005-8-2 14:36:14

………………
你看看这里吧:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=120816
可能对你帮助不大……因为当初对我没什么大帮助~你要是解决了,劳驾把解决方法写出来发到这里,要是觉得麻烦,也劳驾跟我说一声解决的办法,给我发mail就行了:[email protected]
多谢多谢

goodboy1881 发表于 2005-8-2 14:41:03

我要是能解决了一定写成文章发到这里。


clear

我尝试过了,没有用。。。不过 reset没有用呢。呵呵

goodboy1881 发表于 2005-8-3 09:26:48

。。。今天发现了一个新的问题,可能是我的locale坏了。
perl 给出 warning
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
如果出现了这些语句,是不是就说明我的locale坏了。丢失了POSIX 和 C 的locale呢?可惜我还没有去 /lib/share/locale看看。
实际上我推断的大致错误如下。

因为locale 不能产生 C 环境。所以
LC_CTYPE 就无法被设置。所以呢,程序就没有办法处理脚本中的字符串,因为不知道是按照单字节处理还是双字节处理,所以就出现了脚本错误什么的。
rcconf
alsaconf
dpkg-reconfigure
这些东西就不能正常工作了。

不知道我这么推断合理么。

goodboy1881 发表于 2005-8-3 18:43:58

搞定了

事实证明了我的推断,我回家重新建立了自己的locale
过程很简单,
无非是在
/etc/locale.gen 里面加上自己要的locale,然后再运行
locale-gen重新建立locale
然后在
/etc/environment
设定一下LANG=zh_CN.UTF-8
就可以了,现在正常运行了。。。。show一下
:mrgreen:
页: [1]
查看完整版本: [已解决]locale损坏导致需要locale的脚本无法运行