Skocz do zawartości
geekboy68k

Debian 7 x86 na VPS-ie - błędy z plikami lokalizacyjnymi

Polecane posty

Witam,

Od pewnego czasu namiętnie morduję VPS-a z Livenet (SDC), testując kolejne rozwiązania i podnosząc swoje umiejętności z zakresu administracji systemem. W pewnym momencie trafiłem jednak na ścianę - są nią pliki lokalizacyjne.

 

Do rzeczy - w trakcie instalacji czegokolwiek otrzymuję pięknego errora:

[...]
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
[...]

Same procesy instalacji i aktualizacji kończą się sukcesem, jednak błąd gdzieś jest, objawia się i tego nie ukryjemy.

 

Wywołanie dpkg-reconfigure locales nie przynosi żadnych rezultatów. Nawiasem mówiąc - ono również wyrzuca w/w błąd. Wybranie angielskiego kodowania podobnie. Zawartość locale:

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=pl_PL.UTF-8
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=pl_PL.UTF-8

Warto też wspomnieć, że na świeżej instalacji, przed rekonfiguracją, locale wywalało mi identyczną listę, jednak z parametrami nie "pl_PL.UTF-8" a "nazwahosta.domena.pl"... Wydaje mi się, że tak to wyglądać nie powinno.

 

export LC_ALL=pl_PL.UTF-8 (bądź z jakimkolwiek innym parametrem, typu pl_PL.ISO-8859-2, jakie mi zasugerowano przez support):

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

Błąd wyskakuje nawet, gdy komendę wywołam z konta roota.

 

W /var/log nic nie ma (tzn. nic co by tyczyło się tematu). Sam problem pojawia się po każdej świeżej instalacji systemu.

Serwer wirtualizowany jest przez OpenVZ.

 

Moje pytania:

  • Mają państwo jakieś pomysły? Może problem jest błahy, tylko ja za głupi?
  • Czy na podstawie wyniku export LC_ALL, jaki podałem wyżej, mam podstawy sugerować, że winowajcą jest burdel "gdzieś wyżej", a nie moja niewiedza?

Będę wdzięczny.

 

Pozdrawiam!

Edytowano przez geekboy68k (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

dpkg-reconfigure locales i wybierz pl_PL.UTF-8

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

dpkg-reconfigure locales i wybierz pl_PL.UTF-8

 

Jak już wspominałem - tego też próbowałem:

 

 

Wywołanie dpkg-reconfigure locales nie przynosi żadnych rezultatów. Nawiasem mówiąc - ono również wyrzuca w/w błąd.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

apt-get install --reinstall locales?

 

Ewentualnie możesz nawet przez apt-get purge wywalić i zainstalować, wtedy nawet cfgów nie ma i powinno się od zera załadować. Chyba nie jest to core pakiet z tego co pamiętam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli edytował jakiś cfg z paczki, to zostanie.

 

Nie przestawiasz nic w

/etc/default/locale

/etc/profile

~/.profile

~/.bashrc

Może gdzieś coś Ci eksportuje sie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli edytował jakiś cfg z paczki, to zostanie.

 

Nie przestawiasz nic w

/etc/default/locale

/etc/profile

~/.profile

~/.bashrc

Może gdzieś coś Ci eksportuje sie

 

Właśnie nie, purge usuwa wszystkie dane aplikacji, włącznie z cfgami, chyba że to cfg niestandardowy w niestandardowej lokalizacji, ale wtedy nowy plik cfg nie będzie miał potrzebnego hooka, żeby załadować tamten.

 

Foldery, conf.d etc. też to obejmuje.

Edytowano przez Archi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Walnąłem purge i ponowną instalację. Rezultat:

root:~# apt-get install locales
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  locales
0 upgraded, 1 newly installed, 0 to remove and 29 not upgraded.
Need to get 5712 kB of archives.
After this operation, 15.5 MB of additional disk space will be used.
Get:1 http://debian.slaskdatacenter.com/debian/ wheezy/main locales all 2.13-38 [5712 kB]
Fetched 5712 kB in 0s (10.4 MB/s)
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
Preconfiguring packages ...
Selecting previously unselected package locales.
(Reading database ... 10609 files and directories currently installed.)
Unpacking locales (from .../locales_2.13-38_all.deb) ...
Processing triggers for man-db ...
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
Setting up locales (2.13-38) ...
Generating locales (this might take a while)...
Generation complete.

I zrzut z locale:

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=

dpkg-reconfigure locales też nie pomaga. Wyrzuca coś takiego:

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
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...
Generation complete.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Były:

root:~# update-locale LC_ALL="pl_PL.UTF-8"
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").
sh: warning: setlocale: LC_COLLATE: cannot change locale (pl_PL.UTF-8): No such file or directory
sh: warning: setlocale: LC_TIME: cannot change locale (pl_PL.UTF-8): No such file or directory
sh: warning: setlocale: LC_CTYPE: cannot change locale (pl_PL.UTF-8): No such file or directory
sh: warning: setlocale: LC_MESSAGES: cannot change locale (pl_PL.UTF-8): No such file or directory
sh: warning: setlocale: LC_NUMERIC: cannot change locale (pl_PL.UTF-8): No such file or directory
*** update-locale: Error: invalid locale settings:  LC_ALL=pl_PL.UTF-8
root:~#

locale-gen pl_PL.UTF-8 nie wyrzuca żadnych błędów, ale już dpkg-reconfigure locales - to co wcześniej. Reszta pozostaje bez zmian.

Podmiana repozytoriów na ftp.pl.debian.org oraz reinstalacja locales również nie daje rezultatu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dla potomnych - jeżeli dpkg-reconfigure locales wyrzuca w/w błędy, włazimy do /etc/locale.gen i ściągamy komentarz z pozycji pl_PL.UTF-8. Nie wiem dlaczego dpkg-reconfigure tego nie zrobiło, być może coś posypało się w uprawnieniach do plików, nie chcę mi się tego dochodzić. Po wszystkim wklepujemy locale-gen bez żadnych parametrów.

 

Pliki lokalizacyjne zaczną działać poprawnie. Jeżeli nie, a problem będzie występował dalej, wyrzucamy paczkę localpurge (o ile jest zainstalowana - domyślnie zajmuje się wywalaniem zbędnych plików z man i locale celem zwolnienia miejsca, stąd może spowodować konflikt) i powtarzamy kroki.

 

Do zamknięcia.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×