无法安装语言环境

无法安装语言环境

我在 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

这是我的问题的完整解决方案

  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").
  1. 生成 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 的默认区域设置。

相关内容