čtvrtek 2. dubna 2009

Jak změnit default locale v Ubuntu Linux

Na jednom serveru se po instalaci nějak podivně chovalo locales, po dlouhem laborovani jsem nalezl tento blog. Drobné informace jak na to si zde též poznamenám.

Kontrola nastavení locale

root@server:~# locale
LANG=cs_CZ.UTF-8
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=


Zde se přidávají systémem podporované locales (zde jsem měl problém)
Edit /var/lib/locales/supported.d/local a pridejte

joe /var/lib/locales/supported.d/local
cs_CZ.UTF-8 UTF-8
en_US.UTF-8 UTF-8

Vygenerujeme přidané locales

sudo dpkg-reconfigure locales
nebo
dpkg-reconfigure -plow console-setup


Změna default locale
Edit /etc/default/locale LANG:

joe /etc/default/locale
LANG="
en_US.UTF-8"

Ve starších verzích ubuntu byla proměnná LANG definována v /etc/environment

Pro změnu chování systému je nutný reboot.

Reboot!

Dále se pak může hodit změna timezone, ta se provádí tímto příkazem.

sudo dpkg-reconfigure tzdata

cat /etc/timezone
Europe/Prague

Pokud problém s TIMEZONE trvá je nutné zjistit, zda je nasatvena systémová proměnná TZ.

ubuntu:~# set | grep TZ
TZ=Europe/Prague

Pokud z nějakého důvodu nastavená není je třeba tak učinit.

ubuntu:~# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 8
Please select a country.
1) Aaland Islands 18) Greece 35) Norway
2) Albania 19) Guernsey 36) Poland
3) Andorra 20) Hungary 37) Portugal
4) Austria 21) Ireland 38) Romania
5) Belarus 22) Isle of Man 39) Russia
6) Belgium 23) Italy 40) San Marino
7) Bosnia & Herzegovina 24) Jersey 41) Serbia
8) Britain (UK) 25) Latvia 42) Slovakia
9) Bulgaria 26) Liechtenstein 43) Slovenia
10) Croatia 27) Lithuania 44) Spain
11) Czech Republic 28) Luxembourg 45) Sweden
12) Denmark 29) Macedonia 46) Switzerland
13) Estonia 30) Malta 47) Turkey
14) Finland 31) Moldova 48) Ukraine
15) France 32) Monaco 49) Vatican City
16) Germany 33) Montenegro
17) Gibraltar 34) Netherlands
#? 11

The following information has been given:

Czech Republic

Therefore TZ='Europe/Prague' will be used.
Local time is now: Fri Apr 3 14:35:02 CEST 2009.
Universal Time is now: Fri Apr 3 12:35:02 UTC 2009.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
TZ='Europe/Prague'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Europe/Prague


Reboot!

2 komentáře:

Robin Pecha řekl(a)...

Grejt, tak tohle jsem hledal, hned si soupni link na wikinu. wiki robinpecha cz

Anonymní řekl(a)...

Super, moc mi to pomohlo díky ti!