我尝试使用 Debian Wheezy 在我的 VDS 上安装 nodejs 和 npm 包。但是无法编译源代码,出于懒惰,我在网上找到了包含 jessie 源并从中安装的说明。
安装未完成,我甚至没有在系统中安装 nodejs 和 npm。但现在我的语言环境设置中出现了这个问题:
# 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=ru_RU.UTF-8
....
我从源列表中删除了 jessie 源。然后更新并升级系统。当我尝试重新安装语言环境时,出现此错误,因此 jessie 的一些源仍然存在:
# apt-get install --reinstall 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:
locales : Depends: glibc-2.13-1
Depends: debconf (>= 0.5) but it is not going to be installed or
debconf-2.0
E: Unable to correct problems, you have held broken packages.
你能帮助我吗?我该怎么办?现在这个错误经常出现,尤其是在安装新软件包时。我不知道它是否会影响其他任务,但我还没有感觉到影响。
谢谢!
答案1
第一的:
sudo apt-get purge locales
然后:
sudo aptitude install locales
以及著名的:
sudo dpkg-reconfigure locales
这将删除系统中的语言环境,然后重新安装语言环境并将 libc6 从 2.19 降级到 2.13(这是问题所在)。然后再次配置语言环境。
答案2
每当有人告诉你将不稳定或测试源添加到稳定系统上时,你应该别理他们并继续寻找其他选项。这是 Debian 系统崩溃的最常见原因。
要修复您的系统,请将所有源改回wheezy
,然后运行:
apt-get update
apt-get dist-upgrade