在Ubuntu Server 12.04上执行apt-get install命令时,报如下warning

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "zh_CN:zh",
        LC_ALL = (unset),
        LC_TIME = "zh_CN",
        LC_MONETARY = "zh_CN",
        LC_ADDRESS = "zh_CN",
        LC_TELEPHONE = "zh_CN",
        LC_NAME = "zh_CN",
        LC_MEASUREMENT = "zh_CN",
        LC_IDENTIFICATION = "zh_CN",
        LC_NUMERIC = "zh_CN",
        LC_PAPER = "zh_CN",
        LANG = "zh_CN.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
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

搜了一下解决办法,参考这篇文章,在家目录下

 
1
$ vi .bashrc

在文件尾加入

 
1
export LC_ALL=C

保存后执行

 
1
$ source .bashrc

问题解决。

为什么这么做?

看了这篇文章了解了下locale,上面报的warning意思大概可以归纳为

  • LC_ALL变量的值unset
  • LC_CTYPE和LC_MESSAGES的值设置的可能有问题

先将原来添加到.bashrc中的“export LC_ALL=C”删除,重启客户端会话,恢复系统到一开始的状态

su到root查看系统locale设置

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ su - root
# locale
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
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC=zh_CN
LC_TIME=zh_CN
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY=zh_CN
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER=zh_CN
LC_NAME=zh_CN
LC_ADDRESS=zh_CN
LC_TELEPHONE=zh_CN
LC_MEASUREMENT=zh_CN
LC_IDENTIFICATION=zh_CN
LC_ALL=

查看系统已安装的locale

 
1
2
3
4
5
6
7
8
9
10
# locale -a
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_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX
en_US.utf8
zh_CN
zh_CN.gb2312

定位错误为 (1) LC_ALL没设置值,(2) LC_CTYPE和LC_MESSAGES的值zh_CN.UTF-8系统未安装

1、设置LC_ALL的值为zh_CN.UTF-8

 
1
# vi /etc/default/locale

2、执行

 
1
2
# cd /usr/share/locales
# ./install-language-pack zh_CN

安装这个locale

问题解决。

正如这篇文章所说,LC_ALL的优先级最高,所以不执行步骤1只执行步骤2就可以解决问题。另外,为了避免locale设置成zh_CN可能带来的稀奇古怪的错误,我直接将/etc/default/locale文件从这样

 
1
2
3
4
5
6
7
8
9
10
11
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN"
LC_TIME="zh_CN"
LC_MONETARY="zh_CN"
LC_PAPER="zh_CN"
LC_NAME="zh_CN"
LC_ADDRESS="zh_CN"
LC_TELEPHONE="zh_CN"
LC_MEASUREMENT="zh_CN"
LC_IDENTIFICATION="zh_CN"

设置成这样

 
1
2
3
4
5
6
7
8
9
10
11
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"

解决perl: warning: Setting locale failed.的更多相关文章

  1. perl: warning: Setting locale failed. 解决

    perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAG ...

  2. perl: warning: Setting locale failed.

    本篇文章由:http://xinpure.com/perl-warning-setting-locale-failed/ 将 mac 系统切换成英文后,使用 git 命令出现如下错误: perl: w ...

  3. Linux perl: warning: Setting locale failed.perl: warning: Please check that your locale settings:

    使用 apt-get 安装软件时,总是出现下面的错误. perl: warning: Setting locale failed. perl: warning: Please check that y ...

  4. 解决:perl: warning: Please check that your locale settings

    问题: perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LAN ...

  5. pve proxmox 常见问题,perl warning

    pve命令,如下报错 perl: warning: Setting locale failed. perl: warning: Please check that your locale settin ...

  6. perl: warning: Falling back to the standard locale ("C").

    /********************************************************************************** * perl: warning: ...

  7. javamail发送邮件及错误解决方法javax.mail.AuthenticationFailedException: failed to connect, no password specified?

    javamail发送邮件及错误解决方法javax.mail.AuthenticationFailedException: failed to connect, no password specifie ...

  8. 解决 dpkg: warning: files list file for package 'x' missing 问题

    参考: dpkg: warning: files list file for package 'x' missing 解决 dpkg: warning: files list file for pac ...

  9. 解决C3P0在Linux下Failed to get local InetAddress for VMID问题

    解决C3P0在Linux下Failed to get local InetAddress for VMID问题 FailedtogetlocalInetAddressforVMID.Thisisunl ...

随机推荐

  1. 树莓派 Learning 002 装机后的必要操作 --- 00 修改键盘布局

    树莓派 装机后的必要操作 - 修改键盘布局 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 上网查,发现树莓派的键盘布局不对,树莓派(ras ...

  2. 19E Fairy

    Once upon a time there lived a good fairy A. One day a fine young man B came to her and asked to pre ...

  3. 嵌入式linux环境搭建

    花了两天时间,终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记. 首先搭建PC上的编译环境,因为编译的驱动是在板子上运行的,第一步当然需要安装交叉编译器,即arm-none-linux- ...

  4. day1_2_3

    DD烧写命令(mfgtools-without-rootfs.tar.gz) ubuntu minicom svn 应用层进程阻塞调试 多机共享 securecrt的远程登录以及调试 tengxunt ...

  5. Entity Framework Code-First(9.9):DataAnnotations - ForeignKey Attribute

    DataAnnotations - ForeignKey Attribute: ForeignKey attribute can be applied to properties of a class ...

  6. Python开发【第三篇】:分支循环

    1. if 条件语句   语法: if 条件: 代码块 # 条件为真执行 else: # else 可选 代码块 # 条件为假执行   示例: n = int(input('请输入一个数字:')) i ...

  7. SQL Server列属性修改

    0.创建表 create table Users(Id int,Name nvarchar(32) not null,Phone nvarchar(16),Email nvarchar(128)) 1 ...

  8. SQL Server远程调试失败

    前言 刚刚打开SQL Server 2008,想要新建一个数据库.发现出现了一个问题,这个问题由于之前没有遇到过,所以这次拿出来记录一些解决方式. 内容 出现上面这个错误的原因可能是由于咱们在装VS2 ...

  9. cf873F(xjb+二分)

    题目链接:http://codeforces.com/problemset/problem/837/F 题意:给出一个大小为 n 的数组 a 和一个数 k,每次操作后的到一个 a' 数组,a'i 为 ...

  10. cf811C(预处理&dp)

    题目链接: http://codeforces.com/problemset/problem/811/C 题意: 给一个有n个人排队上车,去相同地方的人要么坐在同一个车厢,要不就不上车,问最大舒适度和 ...