Perché viene visualizzato il messaggio "Impossibile impostare la locale, impostazione predefinita su C" quando si utilizza yum?


21

Ogni volta che corro yum installo yum update, ottengo

Impossibile impostare le impostazioni internazionali, l'impostazione predefinita è C

e poi altre informazioni.

Come posso evitare questo avviso?

Risposte:


19

Ho inserito le seguenti impostazioni internazionali relative /etc/bashrc(per tutti gli utenti bash):

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8

quindi eseguire:

source /etc/bashrc

o disconnettersi e accedere.


2
Questo dovrebbe probabilmente andare in /etc/profile.d/lang.she non a /etc/bashrccui è probabile che venga sovrascritto da un aggiornamento.
ccpizza,

@ccpizza Ho messo quelle righe in fondo lang.she ha funzionato 👍.
Andrew Keeton,

6

Correre

yum reinstall glibc-common

e quindi assicurarsi che nessun processo elimini i file /usr/lib/locale/locale-archive.*.


1
Ho provato prima questo e mi aiuta (non ho controllato il processo)
chro

Questo non funziona per me.
Angelo,

3
Nelle nuove distribuzioni Linux basate su Red Hat (Fedora 24+, RHEL 8+) questo sarà glibc-langpack-<language>, ad es glibc-langpack-en.
Michael Hampton,

Nell'immagine Centos Docker è stato segnalato un bug: bugzilla.redhat.com/show_bug.cgi?id=1392855
Rowinson Gallego,

2

Puoi provare

export LANG=en_US

O impostalo su qualcosa di simile. Se ciò risolve il problema per te, puoi renderlo persistente modificando il profilo bash.


Non ha funzionato per me. Altri suggerimenti
ctilley79,

2

Stavo riscontrando lo stesso errore su MacOS. Quando si lancia su un box Linux, si rifiutano di configurare un UTF-8locale. Puoi vedere le differenze nelle impostazioni locali eseguendo il localecomando sul tuo terminale MacOS e sulla scatola di Linux.

Per correggere questo errore apri il terminale -> preferenze -> profili -> Avanzate e non impostate Set locale environment variables on startupsul tuo mac.

Ora quando corri localesu Mac. si può vedere che questo cambiamento ha stabilito LC_CTYPE="C"che era LC_CTYPE="UTF-8"con l'impostazione precedente.

dovrai chiudere il tuo terminale per ottenere questo effetto e ora accedi al tuo Linux box ed esegui yum update.

Spero che sia d'aiuto :)


2

Se hai usato SSH per connetterti a questo host da un computer desktop, è comune /etc/ssh/sshd_configche contenga

AcceptEnv LANG LC_*

che consente ai client di propagare i valori di tali variabili di ambiente in nuove sessioni. Tuttavia, ciò causerà la reimpostazione delle variabili delle impostazioni locali vuote all'interno della sessione SSH sul server che si sta configurando, se le impostazioni internazionali non sono impostate correttamente sulla MACCHINA DESKTOP .

Aggiustare:

Ad esempio, nella finestra di Ubuntu Shell di Windows 10, prima fai ( NOTA: cambia tutte le voci di seguito in modo che corrispondano alla tua locale se non è "en_US.UTF-8" ):

sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales

Quindi chiudere la finestra della shell di Ubuntu e riaprirla, quindi SSH nel server che si sta tentando di configurare e vedere se ora tutto va bene ...

In caso contrario, SSH nel tuo server e fai:

vi /etc/profile.d/custom.lang.sh

Quindi Ipremere per accedere alla modalità "Inserisci". Quindi incolla le voci seguenti. Quindi ZZper salvare ed uscire:

## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

Quindi eseguire quanto segue:

source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh

Poi:

reboot

Vedi se questo fa sì che tutto smetta di lamentarsi delle variazioni locali!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.