Encontré esta página wiki: Procedimiento de solución de problemas del Administrador de paquetes .
En él, había comandos como:
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
Entonces, ¿para qué sirve LANG=C;
?
package-management
locale
DK Bose
fuente
fuente
LANG=C command
y noLANG=C;command
. La primera forma fuerza el valor deLANG
la variable de entornocommand
mientras que la segunda forma es en realidad dos comandos donde la primera parte solo establece una variable local (no exportada) y la segunda parte ejecuta el comando sin establecer la variable de entorno requerida.LANG
esté en el entorno, por lo que probablemente funcione con punto y coma redundantes; pero es (1) redundante porque nada va a cambiarLANG
entre los comandos. También insinuar que alguien ejecute comandos de esta manera es (2) incorrecto debido a un entorno de cambio innecesario y no invitado, y (3) esto proporciona un patrón incorrecto para cualquier usuario no informado que luego vuelve a aplicar el uso, posiblemente con una variable de shell que no está en el entorno y, por lo tanto, ni siquiera tiene ningún efecto en los comandos que se ejecutan que lo requieren para una función correcta, quizás seguraRespuestas:
Si está solucionando problemas, es probable que publique sus resultados en algún foro, o aquí, tarde o temprano.
Cuando eso sucede, es mucho más simple para otros usuarios comprender sus registros y resultados, si no están internacionalizados.
Es decir, si usa francés, chino o hindi o lo que sea como idioma de su sistema, es probable que la salida use términos en ese idioma, y eso hace que sea aún más difícil entender lo que está sucediendo.
La configuración regional de C fuerza la salida predeterminada (que generalmente es inglés solo ASCII).
Es mejor comenzar una sesión de solución de problemas con:
En lugar de establecer variables locales específicas, o configurarlo solo para un comando específico.
fuente
LANG=C
hará que la salida de su terminal retroceda a la configuración regional predeterminada. Como esta guía sugiere que envíe su salida a Launchpad para obtener asistencia, le piden que haga esto para que, cuando lo pegue, otros puedan leerlo sin importar el idioma que use habitualmente.fuente
Una pequeña adición, aunque probablemente no se aplique en el caso de apt, ya que lo considero un software bastante estable:
Algunos programas se comportan notoriamente mal cuando usan una configuración diferente para LANG (o al menos diferente de C o en_US).
Unity tenía (¿todavía tiene?) Estos problemas (y juegos basados en Unity), Unreal Engine también tuvo algunos problemas. Además, algunos de los scripts de compilación para Android solo se ejecutaban correctamente con LANG = C o solo se compilaban con esta variable de entorno configurada de esta manera.
Por lo tanto, esto también podría ayudar a solucionar problemas, ya que el error podría no ocurrir incluso con esta configuración.
fuente