IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 102 (torneu a la resta de temes)
Fitxers: LPI107.3_LocalitzacioiInternacionalitzacio.pdf (LPI107.3_LocalitzacioiInternacionalitzacio.odp)
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_102_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_102/107.3
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

107.3. Localització i internacionalització
Objective.jpg
  • Objectiu: Els candidats han de ser capaços de regionalitzar un sistema en un idioma diferent a l'anglès. A més, cal saber perquè LANG=C és important quan es creen guions de bash.
  • Pes: 3
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

  • Configuració de locale
  • Configuració de la zona horària.
Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 107.3. Localització i internacionalització

Localització i internacionalització

Internacionalització: és el procés de dissenyar programari de forma que pugi adaptar-se fàcilment a diferents idiomes i regions del món sense necessitat de realitzar canvis en el codi.

  • Abreviatura: i18n on 18 són el número de lletres que hi ha entre la i i la n.

Localització: procés d'adaptar una aplicació (o tot un sistema operatiu) a una regió específica i a un idioma específic.

  • Abreviatura: l10n on 10 són el número de lletres que hi ha entre la l i la n.

Podem dir que la localització és el procés que realitzen els usuaris per escollir en quin idioma i regió volen treballar i en canvi la internacionalització és el procés que segueixen els desenvolupadors per tal que precisament els usuaris puguin localitzar una aplicació de forma fàcil.

Globalització (g11n)

Combinació d'internacionalització i localització.

Localitzar i internacionalitzar no només és traduir, va força més enllà

Té en compte aspectes com:

  • Cada regió pot tenir diversos idiomes disponibles (i fins i tot dialectes)
  • Diferents convencions culturals.
  • Diferents zones horàries
  • Diferents format de les dates i hores
  • Diferent format de moneda
  • Diferents sistemes de pes i mesures
  • Diferents codificacions de caràcters (vegeu unicode):
  • Diferents formats de números (el separador de decimals...)

Format de les dates al món

Hugolucas datesmon.jpeg

3.1 Locales

Format d'un locale:

language(_territory)(.encoding)(@modifier) [email protected]

L'única part obligatòria és el codi d'idioma (ISO-639 de 2 lletres) (p. ex. anglès).

El mateix idioma es pot utilitzar de forma diferent en territoris diferents per aquesta raó es pot especificar el territori també (per exemple fr_FR és el francès a França en canvi fr_CA és el francès a Canada).

modifier: es pot utilitzar per a indicar variants com l'Euro (p. ex. [email protected]) o dialectes.

Hi ha locales especials que no segueixen aquest format:

  • POSIX locale o C locale: Configura un entorn Unix tradicional amb codificació ASCII, temps, dates, números, monedes i tota la resta en americà. Sistema existent abans de tenir locales.
  • El POSIX locale és útil per a scripts o no volem que s'apliquin traduccions a les ordres que executem o per que ordres com sort o grep funcionin "correctament". Per exemple, imagineuvos que volem mostrar les particions swap amb fdisk. L'ordre:
$ LANG=ca_ES.UTF-8; sudo fdisk -l | grep swap
No funciona!
$ LANG=POSIX; sudo fdisk -l | grep swap
Correcte!

Variables d'entorn

Els locales no defineixen només l'idioma a utilitzar

En sistemes GNU/Linux es defineixen múltiples variables d'entorn que permeten concretar tots els aspectes referents a la localització del sistema:

  • LC_MESSAGES: Determina quin és l'idioma i el codi de caràcters a utilitzar per als missatges i les etiquetes dels components GUI de les aplicacions (menús, missatges d'error, etiquetes de camps de formulari o altres widgets, etc...). La majoria d'aplicacions utilitzant gettext i gettext es basa en LC_MESSAGES. Altres aplicacions no utilitzen gettext i per tant pot ser que ignorin LC_MESSAGES.
  • LC_COLLATE: S'utilitza per indicar com s'ordenaran els strings segons l'alfabet local. Consulteu sort i per exemple la diferència que hi ha al ordenar majúscules en ASCII o en l'idioma local o inclús entre diferents idiomes. També és molt important en bases de dades a l'hora d'utilitzar clàusules SQL com ORDER BY. També afecta a rangs de caràcters en expressions com [A-Z].
  • LC_CTYPE: Defineix com es classifiquen els caràcters, és a dir coses com la relació que hi ha entre lletres majúscules i minúscules o quins caràcters es consideren alfanúmerics o numèrics. Afecta a aplicacions com grep que es poden executar ignorant o no ignorant majúscules i a qualsevol eina que utilitzi expressions regulars.
  • LC_MONETARY: El tipus de moneda que s'utilitza i detalls com el format dels decimals.
  • LC_NUMERIC: Per exemple indica si el caràcter decimal és el punt i el separador la coma com els americans o al revés com ho fan els alemanys.
  • LC_TIME: No tots els idiomes mostren les dates igual. Per exemple els anglesos posen primer el més i després el dia i la setmana pot començar en diumenge en comptes de en dilluns.
  • LC_PAPER: mides dels papers.
  • LC_NAME: format en que es mostren els noms de persona complerts.
  • LC_ADDRESS: format de les adreces postals
  • LC_TELEPHONE: format dels números de telèfon
  • LC_MEASUREMENT: unitats de mesura (Kg, pounds, etc...)

Protocol

Els següent protocol estableix com es decideix quin és el locale a escollir (segons $ man 7 locale):

  • 1. Si s'estableix la variable d'entorn LC_ALL i té un valor no null, aleshores s'utilitza aquest locale
  • 2. Sinó hi ha LC_ALL i existeix un locale especific per a una acció de localització específica (p. ex. LC_NUMERIC) aleshores s'utilitza aquest valor
  • 3. Si no hi ha cap dels valors anteriors s'utilitza la variable LANG

Exemple de configuració en català

Configuració en català

$ locale
LANG=POSIX
LANGUAGE=ca:en
LC_CTYPE=ca_ES.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE=ca_ES.UTF-8
LC_MONETARY="POSIX"
LC_MESSAGES=ca_ES.UTF-8
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Locales en Unix

Els locals es guarden als fitxers de la carpeta:

  • /usr/share/i18n/locales

Per exemple el fitxer de locales del català és un fitxer ASCII:

$ file /usr/share/i18n/locales/ca_ES
ca_ES: ASCII text

A on s'indiquen tots els detalls de l'idioma (com s'ordena, quin és el caràcter monetari, etc...). El format del fitxes es descriu a:

$ man 5 locale

L'ordre localedef permet definir "compilar" els fitxers de text:

• Els formats de text sempre són més lents que els formats binaris. És necessari generar uns fitxers binaris (compilar)

• $ localedef -i zu_ZA -f ../charmaps/UTF-8 zu_ZA

• Tot i que ara es més habitual utilitzar locale-gen.

• En sistemes Debian però el més habitual és recompilar amb:

$ sudo dpkg-reconfigure locales
Generating locales...
ca_AD.UTF-8... done
ca_ES.UTF-8... done
[email protected] done

Configurar els locales

Instal·lació de suport d'idioma

Codificacions de caràcters

ASCII (de l'anglès American Standard Code for Information Interchange)

És un Codi Estàndard Americà per a l'Intercanvi d'Informació.

L'ASCII és un joc de caràcters que assigna valors numèrics (del 0 al 127, 7 bits de longitud) a les lletres, xifres i signes de puntuació.

El codi ASCII utilitza 7 bits per representar els caràcters, encara que inicialment emprava un bit addicional (bit de paritat) que s'usava per detectar errors en la transmissió.

Sovint es diu incorrectament ASCII a uns altres codis de caràcters de 8 bits, com l'estàndard ISO-8859-1 que és una extensió que utilitza 8 bits per proporcionar caràcters addicionals usats en idiomes diferents a l'anglès, com l'espanyol.

Aquests codis de caràcters s'han anomenat codis de caràcters extensos o fins i tot ASCII-extens però no es van arribar a estandarditzar mai.

Els caràcters de la part superior (127 a 255), varien d'un estàndard a un altre, encara que el més utilitzat és el ISO Latin-1 o ISO-8859-1.

Aquestes varoacions sovint se'ls anomenada codis de pàgina (code pages) (sobretot Microsoft utilitzava aquest terme).

ASCII va ser publicat com a estàndard per primera vegada en 1967 i va ser actualitzat per última vegada en 1986. En l'actualitat defineix codis per 33 caràcters no imprimibles, dels quals la majoria són caràcters de control obsolets que tenen efecte sobre com es processa el text, més altres 95 caràcters imprimibles que els segueixen en la numeració.

Gairebé tots els sistemes informàtics actuals utilitzen el codi ASCII o una extensió compatible per representar textos i per al control de dispositius que manegen text.

ASCII

Hi ha dos tipus de caràcters:

• Imprimibles: es poden mostrar en una impressora.

• De control: serveixen per fer operacions com salt de línia, beep o escapar caràcters.

Si instal·leu:

• $ sudo apt-get install ascii

Podreu consultar la taula ascii amb:

• $ ascii

També hi ha un manual

• $ man ascii

ASCII art

$ figlet Hola!
 _   _       _       _ 
| | | | ___ | | __ _| |
| |_| |/ _ \| |/ _` | |
|  _  | (_) | | (_| |_|
|_| |_|\___/|_|\__,_(_)
$ sudo apt-get install bb
$ bb
$ boxes
Hola!
/*********/
/* Hola! */
/*********/
$ boxes -d peek
Hola!
/*       _\|/_
         (o o)
 +----oOO-{_}-OOo-+
 |Hola!           |
 +---------------*/
$ cowsay
Hola
 ______
< Hola >
 ------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
$ cowthink -f koala hola
 ______
( hola )
 ------
  o
   o
       ___  
     {~._.~}
      ( Y )
     ()~*~()   
     (_)-(_)

ISO-8859

És una norma de la ISO que defineix la codificació de l'alfabet llatí incloent diacrítics (com lletres amb accents, la ñ o la ç) i lletres especials com ß i Ø. Dona suport a les següents llengües de l'Europa occidental:

• afrikáans, alemán, aragonés, asturiano, catalán, danés, escocés, español, feroés, finés, francés, gaélico, gallego, inglés, islandés, italiano, neerlandés, noruego, portugués, sueco i Euskera.

Pertany al grup de jocs de caràcters de l'ISO coneguts com ISO/IEC 8859 que es caracteritzen per seu extended ASCII. Són sistemes de caràcters de 8 bits. Els caràcters ISO-8859-1 són a més els primers 256 caràcters de l'estàndard ISO 10646 (Unicode).

La norma ISO 8859-15 reisió de la ISO 8859-1, incorporant el símbol de l'Euro

• $ man iso_8859_1

Unicode

Unicode és un estàndard internacional de codificació de caràcters en suports informàtics. El seu objectiu és proporcionar el mitjà per a permetre emmagatzemar qualsevol text que es desitgi. Això inclou qualsevol mena de forma d'escriptura que es faci servir actualment, moltes formes d'escriptura conegudes només pels estudiosos i altra mena de símbols com ara els símbols matemàtics, lingüístics i APL.

Unicode és un projecte que pretén reemplaçar tota mena de conjunt de caràcters existent. Avui en dia, Unicode es considera el conjunt de caràcters més complet i ha esdevingut l'opció a triar en la internacionalització de programari en entorns multilingües. Molts estàndards recents i programari bàsic han adoptat Unicode per a representar text.

Origen del nom:UNIversalitat, UNIformitat i UNIcitat.

L'estàndard és mantingut per l'Unicode Technical Committee (UTC), integrat al Unicode Consortium, del que formen art múltiples empreses i institucions relacionades amb la informàtica i treballen de forma conjunta amb la ISO/IEC per desenvolupar estandards compatibles.

Unicode va ser un projecte pensat per a substituir el desgavell de codis anteriors (des de l'ASCII als ISO-8859 i altres codis internacionals) els quals estaven molt limitats en suport multilingüe, és a dir, cada regió tenia un estàndard ISO-8859 (a Catalunya el ISO-8859-1) però no existia un codi que permetes tenir textos amb codificacions mixtes.

La majoria de sistemes operatius moderns, incloent Linux l'implementen així com altres tecnologies com Java o XML].

Hugolucas unicode.jpeg

Los punts de codi unicode tenen un identificador únic (número entre). Segons l'arquitectura un ordinador pot utilitzar 8, 16 o 32 bits per a representar aquests enters (l'arquitectura de representació de caràcters no té per que coincidir amb l'arquitectura de la CPU). Les formes de codificació de Unicode reglamenten la forma en que es transformaran les unitats tractades per l'ordinadors. Hi ha 2 possibles formes definides per unicode sota el nom Unicode Transformation Format UTF:

  • UTF-8: Codificació orientada a byte (8 bits) que té símbols de longitud variable.
  • UTF-16: Codificació de 16 bits de longitud variable optimitzada
  • UTF-32: codificació de 32 bits de longitud fixa. Entren tot els possibles caràcters i és la més senzilla d'utilitzar.

Les formes de codificació descriuen el mode en que l'ordinador representa el símbol i cal definir Esquemes de codificació que indiquen com es serialitza la informació codificada de forma segura, és a dir que sistemes heterogenis (per exemple un emissor en UTF-8 i un receptor amb UTF-8 o segons com s'ordenin els bytes endianess ) puguin intercanviar informació de forma correcta. Els esquemes són :

  • UTF-8 No necessita. Només 1 byte no cal indicar quin és l'ordre
  • UTF-16 Big-endian o Little-endian
  • UTF-16BE Big-endian
  • UTF-16LE Little-endian
  • UTF-32 Big-endian o Little-endian
  • UTF-32BE Big-endian
  • UTF-32LE Little-endian

Caràcter compost:

$ unicode ç
U+00E7 LATIN SMALL LETTER C WITH CEDILLA
UTF-8: c3 a7  UTF-16BE: 00e7  Decimal: ç
ç (Ç)
Uppercase: U+00C7
Category: Ll (Letter, Lowercase)
Bidi: L (Left-to-Right)
Decomposition: 0063 0327
$ unicode ½
U+00BD VULGAR FRACTION ONE HALF
UTF-8: c2 bd  UTF-16BE: 00bd  Decimal: ½
½
Category: No (Number, Other)
Numeric value: 1/2
Bidi: ON (Other Neutrals)
Decomposition: <fraction> 0031 2044 0032

Charmap

$ sudo apt-get install charmap

$ charmap

Escriure unicode:

Ctrl+Shift+u + codi_unicode

UTF-8

UTF-8 (8-bit Unicode Transformation Format)

És un format de codificació de caràcters unicode i ISO 10646 que utilitza símbols de longitud variable. Va ser creat per Robert C. Pike i Kenneth L. Thompson (aquest últim també va participar en la creació de C i de Unix).

És un dels tres possibles formats per representar Unicode.

Característiques:

  • Pot representar qualsevol caràcter unicode.
  • La mida dels símbols pot estar entre 1 o 4 bytes (per cada caràcter unicode)
  • Inclou ASCII de 7 bits i per tant és compatible endarrere amb ASCII.

Aquestes característiques el fan ideal per a codificació de correus electrònics i pàgines web. El IETF recomana que tos els protocols d'Internet indiquin quina codificació utilitzen i que una de les contemplades sigui UTF-8.

$ ascii a
ASCII 6/1 is decimal 097, hex 61, octal 141, bits 01100001: prints as `a'
Official name: Miniscule a
Other names: Small a, Lowercase a 

ASCII 0/10 is decimal 010, hex 0a, octal 012, bits 00001010: called ^J, LF, NL
Official name: Line Feed
Other names: Newline, \n 
$ unicode à
U+00E0 LATIN SMALL LETTER A WITH GRAVE
UTF-8: c3 a0  UTF-16BE: 00e0  Decimal: à
à (À)
Uppercase: U+00C0
Category: Ll (Letter, Lowercase)
Bidi: L (Left-to-Right)
Decomposition: 0061 0300

Configuració horària

Temps Universal Coordinat (UTC): L'origen de les sigles és un compromís de la International Telecommunication Union (ITU) entre els sigles americanes "CUT" (coordinated universal time) i les sigles franceses "TUC" (temps universel coordonné) (vaja ni un ni l'altre!).

Greenwich Mean Time (GMT): El Greenwich Mean Time és una mesura del temps basada en el temps solar (mesura segons els estels) mitjà al meridià de Greenwich, meridià origen de les longituds, que travessa l'observatori de Greenwich, a prop de Londres, a Anglaterra. La mesura GMT ha servit de referència horària al món durant la major part del segle XX, abans de ser substituït pel "Temps Universal Coordinat" UTC l'any 1972. De vegades GMT es utilitzat encara com a sinònim del fus horari UTC+0. Les dues mesures, si bé semblants, no coincideixen pas, ja que el GMT es calcula sobre la rotació terrestre, i l'UTC sobre el TAI (Temps Atòmic Internacional), que basa el seu càlcul en la tècnica dels rellotges atòmics.

Temps atòmic Internacional (TAI): Creat al 1972, sistema més exacte de mesura del temps. Consultar la viquipedia Temps Atòmic Internacional

Fus horari: Les zones horàries o fusos horaris són cadascuna de les vint-i-quatre àrees en les que es divideix la Terra que segueixen la mateixa definició de temps. Antigament, la gent feia servir el temps solar aparent, guiant-se per la posició del sol, amb aquest sistema l'hora variava amb la distància per exemple entre ciutats. Els fusos horaris van corregir en part aquest problema al posar els rellotges d'una regió al mateix temps solar mig. Els fusos horaris generalment estan centrats en meridians d'una longitud que és múltiple de 15 °, en tot cas tal i com es pot veure en el següent mapa les formes dels fusos horaris estan força afectades per les fronteres polítiques.

Hora local: Cada fus horari té un hora diferent respecte a l'hora UTC de referència (anomenada UTC+0, abans GMT tot i que no són exactament la mateix hora). A més cal tenir en compte les polítiques d'horari d'estiu (Daylight Saving Time o DST)

Horari d'estiu: Canvi d'hora que es realitza a l'estiu per aprofitar millor la llum diürna. No s'aplica igual a tot el mon. Consulteu el mapa de l'article de la Viquipèdia.

Rellotge de maquinari (hardware clock): és el rellotge intern d'un PC que sol estar a la placa mare i que funciona de forma permanent gràcies a la pila que porta la placa mare. Aquest rellotge pot ser modificat per la BIOS, o pel sistema operatiu.

Normalment cada ordinador té dos rellotges:

  • Rellotge de maquinari gestiona la placa mare
  • Rellotge de programari que gestiona el sistema operatiu.

• El rellotge de maquinari normalment només s'utilitza per establir l'hora del rellotge del sistema operatiu durant l'arrencada del sistema i per guardar l'hora quan aturem o tornem a iniciar.

Per tal de poder ajustar correctament l'hora, el que és necessita és tenir una base de dades amb tota la informació relacionada amb les zones horàries, DSTs i d'altres, i un cop es té aquesta base de dades, només cal executar un assistent que l'única pregunta que ens farà serà a quina zona horària pertanyem.

  • NOTA: Els canvis d'horari els durà a terme el propi sistema de forma automàtica

Com canviar la zona horària

Paquet amb la base de dades de zones horaries (tz: time zone)

$ sudo apt-get install tzdata

Hora local:

$ file /etc/localtime 
/etc/localtime: timezone data, version 2, 8 gmt time flags, 8 std time flags, no leap seconds, 163 transition times, 8 abbreviation chars

La informació es guarda a: /usr/share/zoneinf

2 sistemes:

  • posix: Utilitza UTC sense TAI. Carpeta /usr/share/zoneinfo/posix
  • right: Utilitza l'hora més exacte possible segons el sistema International Atomic Time (TAI). Carpeta /usr/share/zoneinfo/right

De forma temporal

  • tzselect i les variables d'entorn TZ i TZDIR.

Canvi permanent per a tot el sistema

$ sudo dpkg-reconfigure tzdata

tzconfig

Està obsolet!

Configuració de l'hora

La data del sistema és pot establir de diverses maneres:

De forma manual:

  • Podem establir la data del sistema utilitzant l'ordre date. El primer problema que té aquest mètode és que gairebé impossible que establim correctament la data exacte. També podem utilitzar eines gràfiques, en tot cas, tots els sistemes manuals tenen el problema de l'exactitud del sistema.
  • Podem establir l'hora de forma manual però amb exactitud utilitzant l'ordre ntpdate que de fet és un client NTP

De forma automàtica

  • Podem utilitzar un servei d'hora proporcionat per un servidor d'hora per tal de sincronitzar la data del sistema utilitzant el protocol Network Time

Protocol (NTP). A més podem configurar el sistema per què sincronitzi periòdicament l'hora (per exemple cada cop que s'inicii el sistema o automatitzant la tasca amb cron)

  • Es pot utilitzar DHCP per configurar l'hora dels clients DHCP. En aquest cas el que es fa és indicar als clients quins són els servidors de NTP a utilitzar.
  • També és possible configurar el Primary Domain Controller d'una xarxa Windows per tal de proporcionar l'hora a les màquines del domini (tant si s'utilitza Windows o Samba). En aquests casos el que es fa es configurar el guió LOGON.BAT per tal que cada cop que una màquina inicia una connexió al domini es sincronitzi l'hora del sistema.

NOTA: Entenem que quan parlem d'establir l'hora i data del sistema parlem d'establir la data i hora del sistema operatiu i no pas l'hora del rellotge de maquinari.

Paquets

libc

locales

tzdata

Ordres

Configuració de la localització

/usr/bin/locale

localedef

localepurge

locale-gen

Codificacions de caràcters

iconv

recode

tofrodos

enca

file

geany

Configuració de l'hora

Per sincronitzar la hora del sistema cal executar:

$ sudo ntpdate "servidordentp"

Per exemple:

$ sudo ntpdate ntp.ubuntu.com
$ sudo ntpdate pool.ntp.org

tzselect

hwclock

tzconfig

date

Formats

• Data: date "+%Y%m%d"

• Data i hora: `date "+%Y_%m_%d_%H_%M_%S"`

• Altres exemples:

• DOW=`date +%a` # Day of the week e.g. Mon

• DOM=`date +%d` # Date of the Month e.g. 27

• DM=`date +%d%b` # Date and Month e.g. 27Sep

Conversió epoch

$ date -d "1970-01-01 1264329324 sec"

NTP

Protocol de xarxa NTP: Client-Servidor

El protocol NTP és un protocol client-servidor on els clients poden utilitzar una comanda per obtenir l'hora exacte d'un servidors remots (servidors NTP).

IMPORTANT: Cal tenir en compte que moltes estacions de treball o servidors que pot ser que no vulguin proporcionar servei d'hora a ningun client, si necessiten una configuració d'hora força exacte utilitzen el servidor instal·lat en localhost.

A sistemes operatius Debian antics cal instal·lar el paquet ntpserver En canvi a Ubuntu o distribucions Debian més modernes el paquet que conté el servidor és ntp a seques.

$ sudo apt-get install ntp

Servidor NTP

Control del servei

System V:

$ sudo /etc/init.d/ntp

Usage: /etc/init.d/ntp {start|stop|restart|try-restart|force-reload| status}

Podeu iniciar/aturar el servei amb:

$ sudo /etc/init.d/ntp restart
$ sudo /etc/init.d/ntp reload

Comprovar

$ sudo /etc/init.d/ntp status
* NTP server is running.

Ports

Només UDP

$ cat /etc/services | grep ntp
nntp		119/tcp		readnews untp	# USENET News Transfer Protocol
ntp		123/tcp
ntp		123/udp				# Network Time Protocol
nntps		563/tcp		snntp		# NNTP over SSL
nntps		563/udp		snntp
$ sudo nmap -p 123 localhost
Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-31 13:20 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00013s latency).
PORT    STATE  SERVICE
123/tcp closed ntp

Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Configuració

La instal·lació per defecte ja té una configuració mínima que funciona correctament.

Editeu el fitxer /etc/ntp.conf i busqueu la línia server

$ sudo joe /etc/ntp.conf

Busqueu

server ntp.ubuntu.com

Podeu afegir altres servidors. Per exemple:

server pool.ntp.org

Ara reinicieu el servei:

$ sudo /etc/init.d/ntp restart

Comprovar el servei

L'ordre ntpq (NTP Query) serveix per fer peticions a servidors NTP.

Per comprovar que el servidor que teniu en local funciona correctament, executeu:

El delay i l'offset han de ser diferents de 0 i el jitter menor a 100.

Sinó s'indica cap host s'utilitza per defecte localhost. Podeu consultar altres servidors:

$ sudo ntpq -p pool.ntp.org
També podeu executar:
$ watch -n 1 date
I consultar alguna pàgina com: 

time.is

Fitxers de configuració

Configuració de la localització

/etc/locale.alias

/usr/share/i18n/locales

/usr/share/i18n/charmaps

/etc/environment

Configuració de la zona horària

/etc/timezone

/etc/localtime

/usr/share/zoneinfo

/etc/default/rcS

/usr/share/doc/tzdata/README.Debian

Variables d'entorn

LANG

LC_*

LC_ALL

TZ

Resol·lució de problemes. Troubleshooting

Conflictes de temps amb sistemes duals Windows/Linux

Programació

Gettext

C gettext

PHP gettext