为什么推荐使用“LANG = C; sudo apt-get clean”等?

我遇到了这个wiki页面: Package Manager故障排除过程 。

在其中,有如下命令:

LANG=C;sudo apt-get clean LANG=C;sudo apt-get autoclean LANG=C;sudo apt-get -f install LANG=C;sudo apt-get --fix-missing install LANG=C;sudo apt-get --purge autoremove LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000 LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade 

那么LANG=C;的目的是什么LANG=C;

如果您正在进行问题排查,您可能会将结果发布到某个论坛或早晚。

当发生这种情况时,如果他们没有国际化,那么其他用户理解您的日志和输出要简单得多。

也就是说,如果您使用法语,中文或印地语或其他任何系统语言,输出可能会使用该语言中的术语,这使得理解正在发生的事情变得更加困难。

C语言环境强制默认输出(通常为ASCII-only English)。

最好开始一个故障排除会话:

 export LC_ALL=C 

而不是设置特定的区域设置变量,或仅为特定命令设置它。

LANG=C将使终端输出回退到默认语言环境。 由于本指南建议您将输出发送到Launchpad以获得支持,因此他们正在执行此操作,以便在您粘贴它时,无论您通常使用何种语言,其他人都可以阅读它。

虽然它可能不适用于apt,但我认为它是一个非常稳定的软件:

当使用LANG的不同设置(或至少与C或en_US不同)时,某些程序会出现exception错误。

Unity(仍有?)这些问题(以及基于Unity的游戏),虚幻引擎也存在一些问题。 另外一些Android的构建脚本只能正确运行LANG = C,或者仅使用这种环境变量进行编译。

因此,这也有助于排除故障,因为此设置可能甚至不会发生错误。