impostazioni locali non trovate / impostazione impostazioni locali non riuscita: cosa devo fare?


32

Ho installato Debian 7 i386 sul mio VPS (OpenVZ). Tutto funziona bene, tranne le versioni locali: qualsiasi tentativo di installare qualcosa mostra:

[...]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "pl_PL.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
[...]

Cosa ho provato:

  1. Generando me stesso i locali - update-locale LC_ALL="pl_PL.UTF-8"- shows: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. Lo stesso con dpkg-reconfigure locales+ setting pl_PL.UTF-8, pl_PL.ISO-8859-2o anche en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (anche su root):

    -bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.UTF-8)
    

Ecco cosa mostra le impostazioni locali:

root:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pl_PL.UTF-8
LANGUAGE=
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

Nulla di interessante trovato in / var / log. Anche cambiare il repository in localizzazioni ufficiali + purge e di installazione manuale non risolve il mio problema, che si manifesta su ogni nuova installazione di Debian 7.

Risposte:


22

Sembra che non venga generata alcuna locale. Hai selezionato pl_PL.UTF-8correttamente dpkg-reconfigure localespremendo spacela riga corrispondente?

Se sì, la linea

pl_PL.UTF-8 UTF-8

in /etc/locale.gennon è commentato (= non inizia con #). Se è necessario risolvere questo problema, è necessario eseguire anche locale-genper generare le impostazioni locali. Il suo output dovrebbe essere:

Generating locales (this might take a while)...
   pl_PL.UTF-8... done
Generation complete.

Se non genera le impostazioni locali che desideri generare, sembra che ci sia qualcosa di sbagliato nel tuo sistema. Uno dei motivi potrebbe essere che hai localepurgeinstallato. Se non ci sono file /usr/share/locale/pl/LC_MESSAGESo /usr/share/locale/pl_PL/LC_MESSAGESquesto è il caso o il sistema è guasto.


1
Funziona! La posizione selezionata in /etc/locale.gen è stata ancora commentata, non so perché (sì, ricordo la barra spaziatrice) - forse qualcosa non va in CHMOD. Grazie!
luke_g,

1
Si noti che -plowè l'impostazione predefinita, quindi può essere omessa. Devi solo chiamare dpkg-reconfigure, che chiamerà locale-gen dopo aver spuntato la voce che desideri.
Stéphane Chazelas,

@StephaneChazelas grazie, l'ho rimosso dalla risposta e chiarito l'utilizzo di locale-gen.
Jofel,

Un'altra possibilità è se hai configurato il tuo sistema ecc. Per en_US ma il tuo /etc/locale.genè stato solo decommentato en_GB. Ho notato questo errore in questa discussione qui unix.stackexchange.com/q/287716/16920 Per favore, aggiungilo anche alla strategia di risoluzione dei problemi.
Léo Léopold Hertz 준영

12

primo:

sudo apt-get purge locales

poi:

sudo aptitude install locales

e il famoso:

sudo dpkg-reconfigure locales

Questo elimina il sistema delle versioni locali, quindi reinstalla le versioni locali e esegue il downgrade di libc6 da 2.19 a 2.13, che è il problema. Quindi configura nuovamente le impostazioni locali.


Sembra aiutare, ma il prossimo apt-get dist-upgradelo romperà di nuovo.
spasso il

Perché dovrebbe romperlo? A quel punto le versioni locali non dovrebbero essere compatibili con libc6 in uso? Il mio libc6 è stato modificato per utilizzare qualche altro programma. Ho eseguito il downgrade alla versione libc6 predefinita in modo che il mio sistema funzioni correttamente. A quel punto dovrebbe essere molto compatibile con un apt-get dist-upgrade
tkjef

1
Un apt-get install localesinstallato i locali sul mio contenitore debian Docker.
Stephane,

7

Il modo semplice e veloce (anche se significherà più disco utilizzato rispetto ad altri):

apt install locales-all

1

prova a correre

locale -a

se hai

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

La soluzione per questa situazione è installare il pacchetto locales (dal pacchetto glibc [1]) in stile debian o glibc-all-langpacks CentOS / Fedora

[1] https://tracker.debian.org/pkg/glibc


glibc-localeil pacchetto non esiste in Debian
Yajo

dovrebbe essere il pacchetto locale ... risolto
Sérgio
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.