Linode Lish bash:警告:setlocale:LC_ALL:无法更改区域设置 (en_US.UTF-8)

Jad*_*eye 3 bash ubuntu linode setlocale

遵循 Linode 的指南Copy a Disk Over SSH

ssh root@xx.xx.xxx.xx "dd if=/dev/sdX " | dd of=/PathToLocalLocation/server.img
Run Code Online (Sandbox Code Playgroud)

xx.xx.xxx.xx您服务器的 IP在哪里,sdX-X代表您的驱动器分配的字母,并且您必须说明image's 的名称 =server.img

我遇到了这个问题(在我的本地计算机上):

bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Run Code Online (Sandbox Code Playgroud)

我进行了长时间的搜索,得到了很多结果,但都没有奏效,Lish也不是完整的解决方案。

我不能设置localesLish command line,无论我做什么....一切答案了有关于command-line在本地或服务器,而不是rescue-mode....想法?

S.D*_*.D. 38

对于任何在 Debian11 上看到这篇文章的人 - 但也应该适用于早期版本 - 以及类似 Ubuntu 的风格。该错误表明您的区域设置未生成。

解决:

 sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

选择所需的区域设置 - 或全部。接下来,系统将询问您是否要设置默认系统区域设置。选择所需的选项 - 例如 en_US.UTF-8 并使用 TAB 转至“确定”并按 Enter 键。

全做完了。

  • 由于某种原因,raspberry pi OS lite安装会导致同样的错误;按照此处的建议成功修复(不添加到 /etc/ 文件) (2认同)

Jad*_*eye 9

不同答案的试验和错误,我想出了这个解决方案(Lish当服务器在时rescue-mode):

echo "LC_ALL=en_US.UTF-8" >> /etc/environment
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
locale-gen en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

最后一条命令导致以下错误:

locale-gen: command not found

这是您需要做的(仍在Lish):

apt-get clean && apt-get update
apt-get install locales
locale-gen en_US.UTF-8
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete
Run Code Online (Sandbox Code Playgroud)

你很高兴……将你的服务器磁盘复制到你的本地机器上。


小智 6

要修复该警告,请按照以下步骤操作:

使用您喜欢的编辑器打开 etc 文件夹中的环境文件。

vi /etc/environment
Run Code Online (Sandbox Code Playgroud)

i键进入编辑模式,将以下行添加到文件中。

LANG=en_US.utf-8
LC_ALL=en_US.utf-8
Run Code Online (Sandbox Code Playgroud)

按 Esc 键并键入:wq“写入/保存”文件并退出编辑器。跑步source /etc/environment

该警告现已修复,应该会从终端消失。