我在 Raspbian(用于 RaspberryPi)下工作:
Linux 版本 3.18.14-v7+ (root@vagrant-ubuntu-trusty-32) (gcc 版本 4.8.3 20140106 (预发布) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) )
注意:我正在使用 ssh 会话从笔记本电脑连接到 pi。
当试图在这里解决这个问题时: 如何修复 perl:警告:设置本地失败
我跑
sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = "en_US.UTF-8",
LC_PAPER = "fr_FR.UTF-8",
LC_ADDRESS = "fr_FR.UTF-8",
LC_MONETARY = "fr_FR.UTF-8",
LC_NUMERIC = "fr_FR.UTF-8",
LC_TELEPHONE = "fr_FR.UTF-8",
LC_IDENTIFICATION = "fr_FR.UTF-8",
LC_MEASUREMENT = "fr_FR.UTF-8",
LC_TIME = "fr_FR.UTF-8",
LC_NAME = "fr_FR.UTF-8",
LANG = "en_US.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
dpkg-query: package 'locales' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
/usr/sbin/dpkg-reconfigure: locales is not installed
未安装语言环境,因此我运行此命令来安装语言环境
sudo apt-get install locales
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
apache2-mpm-prefork : Depends: apache2.2-bin (= 2.2.22-13+deb7u5) but it is not going to be installed
apache2.2-common : Depends: apache2.2-bin (= 2.2.22-13+deb7u5) but it is not going to be installed
Depends: apache2-utils but it is not going to be installed
Depends: procps but it is not going to be installed
Depends: perl but it is not going to be installed
Recommends: ssl-cert but it is not going to be installed
libbz2-1.0 : PreDepends: multiarch-support but it is not going to be installed
libc6 : Breaks: locales (< 2.19)
libcomerr2 : PreDepends: multiarch-support but it is not going to be installed
libdb5.1 : PreDepends: multiarch-support but it is not going to be installed
libgcc1 : PreDepends: multiarch-support but it is not going to be installed
libgssapi-krb5-2 : Depends: libkeyutils1 (>= 1.4) but it is not going to be installed
Depends: libkrb5support0 (>= 1.12~alpha1+dfsg) but it is not going to be installed
PreDepends: multiarch-support but it is not going to be installed
libk5crypto3 : Depends: libkeyutils1 (>= 1.4) but it is not going to be installed
Depends: libkrb5support0 (>= 1.12~alpha1+dfsg) but it is not going to be installed
PreDepends: multiarch-support but it is not going to be installed
libkrb5-3 : Depends: libkeyutils1 (>= 1.5.9) but it is not going to be installed
Depends: libkrb5support0 (= 1.12.1+dfsg-19) but it is not going to be installed
PreDepends: multiarch-support but it is not going to be installed
libmagic1 : PreDepends: multiarch-support but it is not going to be installed
libpcre3 : PreDepends: multiarch-support but it is not going to be installed
libssl1.0.0 : Depends: debconf (>= 0.5) but it is not going to be installed or
debconf-2.0
PreDepends: multiarch-support but it is not going to be installed
libxml2 : Depends: liblzma5 (>= 5.1.1alpha+20120614) but it is not going to be installed
PreDepends: multiarch-support but it is not going to be installed
Recommends: xml-core but it is not going to be installed
locales : Depends: glibc-2.13-1
Depends: debconf (>= 0.5) but it is not going to be installed or
debconf-2.0
php5-common : Depends: sed (>= 4.1.1-1) but it is not going to be installed
Depends: psmisc (>= 22.15-1~) but it is not going to be installed
Depends: lsof but it is not going to be installed
PreDepends: dpkg (>= 1.16.1~) but it is not going to be installed
tzdata : Depends: debconf (>= 0.5) but it is not going to be installed or
debconf-2.0
ucf : Depends: debconf (>= 1.5.19) but it is not going to be installed
Depends: coreutils (>= 5.91) but it is not going to be installed
zlib1g : PreDepends: multiarch-support but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
有什么提示吗?
答案1
这是我的问题的完整解决方案
- 安装语言环境
sudo vim /etc/apt/sources.list
-
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb http://apt.adafruit.com/raspbian/ wheezy main
将喘息改为杰西
跑步
sudo apt-get update && sudo apt-get install locales
恢复到 wheezy (将 jessie 更改为 wheezy )
sudo apt-get update
sudo dpkg-reconfigure locales
现在如果我跑
perl
我收到以下警告
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "fr_FR.UTF-8",
LC_ADDRESS = "fr_FR.UTF-8",
LC_MONETARY = "fr_FR.UTF-8",
LC_NUMERIC = "fr_FR.UTF-8",
LC_TELEPHONE = "fr_FR.UTF-8",
LC_IDENTIFICATION = "fr_FR.UTF-8",
LC_MEASUREMENT = "fr_FR.UTF-8",
LC_TIME = "fr_FR.UTF-8",
LC_NAME = "fr_FR.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
- 生成 fr_FR.UTF-8 和 en_US.UTF-8
须藤纳米 /etc/locale.gen
取消注释以下几行:
en_US.UTF-8
fr_FR.UTF-8
最后运行
sudo locale-gen
答案2
这是非常奇怪的默认设置openssh
,它将您的locale
信息发送到您正在连接的服务器。如果您有一些非标准(非美国)区域设置,它会导致比实用程序更多的麻烦。
您可以通过删除笔记本电脑上的SendEnv LANG LC_*
线路来 摆脱这个问题。/etc/ssh/ssh_config
这将不再触发未来 ssh 会话的警告,因为它将使用 pi 的默认区域设置。