Error de finalización de la pestaña scp: F-bash: advertencia: setlocale: LC_CTYPE: no se puede cambiar la configuración regional (en_US.UTF-8)

1. Descripción del problema

Durante una determinada operación de Linux, se utilizó el comando de función scp y el siguiente directorio no se pudo completar usando Tab. Se informó el error: -bash: advertencia: setlocale: LC_CTYPE: no se puede cambiar la configuración regional (en_US.UTF-8): No dicho archivo o directorio

Insertar descripción de la imagen aquí
Enlaces relacionados: archivo de mapa de caracteres 'UTF-8' no encontrado

2. Procesamiento de causas

1) Como se muestra arriba, el mensaje es que hay un problema con el juego de caracteres de Linux;

2) Verifique la ejecución: locale -a y verifique la codificación de caracteres instalada en el sistema, como se muestra a continuación: No hay en_US.UTF-8

Insertar descripción de la imagen aquí

localectl status    #检查当前设定

System Locale: LANG=en_US.UTF-8
VC Keymap: cn
X11 Layout: cn

ls /usr/lib/locale/    #查看当前的雨具路径,显示也没有英文
C.utf8         zh_CN.gbk   zh_HK.utf8  zh_SG.utf8   zh_TW.utf8
zh_CN          zh_CN.utf8  zh_SG       zh_TW
zh_CN.gb18030  zh_HK       zh_SG.gbk   zh_TW.euctw

3) Ejecutar: buscar / -nombre local*

/etc/locale.conf
/usr/include/c++/8/bits/locale_facets_nonio.h
/usr/include/c++/8/bits/locale_classes.h
/usr/include/c++/8/bits/locale_facets_nonio.tcc
/usr/include/c++/8/bits/locale_facets.h
/usr/include/c++/8/bits/localefwd.h
/usr/include/c++/8/bits/locale_classes.tcc
/usr/include/c++/8/bits/locale_facets.tcc
/usr/include/c++/8/bits/locale_conv.h
/usr/include/c++/8/locale
/usr/include/bits/types/locale_t.h
/usr/include/bits/locale.h
/usr/include/locale.h
/usr/bin/localectl
/usr/bin/localedef
/usr/bin/locale
/usr/lib64/python3.6/locale.py
/usr/lib64/python3.6/__pycache__/locale.cpython-36.opt-1.pyc
/usr/lib64/python3.6/__pycache__/locale.cpython-36.opt-2.pyc
/usr/lib64/python3.6/__pycache__/locale.cpython-36.pyc
/usr/lib/locale
/usr/share/perl5/locale.pm
/usr/share/X11/locale
/usr/share/X11/locale/locale.alias
/usr/share/X11/locale/locale.dir
/usr/share/man/man7/locale.7.gz
/usr/share/man/man1p/localedef.1p.gz
/usr/share/man/man1p/locale.1p.gz
/usr/share/man/man3p/localeconv.3p.gz
/usr/share/man/man0p/locale.h.0p.gz
/usr/share/man/man1/locale.1.gz
/usr/share/man/man1/localectl.1.gz
/usr/share/man/man1/localedef.1.gz
/usr/share/man/man3/locale.3pm.gz
/usr/share/man/man3/localeconv.3.gz
/usr/share/man/man5/locale.conf.5.gz
/usr/share/man/man5/locale.5.gz
/usr/share/locale
/usr/share/locale/locale.alias
/usr/share/bash-completion/completions/localectl
/usr/share/i18n/locales

4) Verifique, use LANG="zh_CN.UTF-8", modifíquelo a: en_US.UTF-8

5) Ejecute directamente: exporte LC_CTYPE=zh_CN.UTF-8 y exporte LC_ALL=zh_CN.UTF-8, o escriba /etc/profile.d/lang.sh y se pasará la verificación:
Insertar descripción de la imagen aquí

localedef -i en_US -f UTF-8 en_US.UTF-8    #现场无效,报错:
[error] ?????????"UTF-8": ?????????
[error] ???????????"ANSI_X3.4-1968": ?????????

echo "export LC_ALL=en_US.UTF8" >> /etc/profile
source /etc/profile

6) Más tarde, encontré un error similar, como se muestra a continuación:
Insertar descripción de la imagen aquí
Ejecutar: yum check-update --security, el mensaje es el siguiente, actualmente estoy usando C.UTF-8

Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 4:03:41 ago on Wed Sep 13 03:46:54 2023.
No security updates needed, but 179 updates available

export LC_ALL=en_US.UTF8    #报错如下
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF8): No such file or directory
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF8)

El error anterior es que el sistema ha configurado el idioma_región predeterminado. El juego de caracteres es en_US.UTF-8, pero el archivo local correspondiente no está definido en el sistema; necesitamos generar este archivo local manualmente. implementar:

vim /etc/environment         #添加下面两行内容
 LANG="en_US.UTF-8"
 LC_ALL=

source /etc/environment
#收到生产配置文件
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8   #报错如下
failed to set locale!
[error] character map file `UTF-8' not found: No such file or directory
failed to set locale!
[error] default character map file `ANSI_X3.4-1968' not found: No such file or directory

yum install glibc-langpack-zh glibc-locale-source glibc-langpack-en -y
#再次执行:
localedef -v -c -i en_US -f UTF-8 en_US.UTF-8   #输出如下

[warning] LC_NAME: field `name_gen' not defined
[warning] LC_IDENTIFICATION: field `audience' not defined
[warning] LC_IDENTIFICATION: field `application' not defined
[warning] LC_IDENTIFICATION: field `abbreviation' not defined
[verbose] LC_CTYPE: table for class "upper": 2388001817131 bytes
[verbose] LC_CTYPE: table for class "lower": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "alpha": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "digit": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "xdigit": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "space": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "print": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "graph": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "blank": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "cntrl": 18446744069414584898 bytes
[verbose] LC_CTYPE: table for class "punct": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "alnum": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "combining": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for class "combining_level3": 18446744073709551615 bytes
[verbose] LC_CTYPE: table for map "toupper": 0 bytes
[verbose] LC_CTYPE: table for map "tolower": 0 bytes
[verbose] LC_CTYPE: table for map "totitle": 0 bytes
[verbose] LC_CTYPE: table for width: 0 bytes

Cierre sesión e inicie sesión nuevamente para verificar, no se informan más errores, de la siguiente manera:

Insertar descripción de la imagen aquí
La ejecución de export LC_ALL=en_US.UTF8 ya no informa un error:

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ximenjianxue/article/details/132838358
Recomendado
Clasificación