Linux Professional Institute Learning Logo.
Torna al contenuto principale
  • Home
    • Tutte le Risorse
    • LPI Learning Materials
    • Collabora
    • Publishing Partner
    • Diventa un Publishing Partner
    • FAQ
    • Collaboratori
    • Contatto
  • LPI.org
107.3 Lezione 1
Argomento 105: Shell e Script di Shell
105.1 Personalizzare e utilizzare l'ambiente di shell
  • 105.1 Lezione 1
  • 105.1 Lezione 2
  • 105.1 Lezione 3
105.2 Personalizzare o scrivere semplici script
  • 105.2 Lezione 1
  • 105.2 Lezione 2
Argomento 106: Interfacce Utente e Desktop
106.1 Installare e configurare X11
  • 106.1 Lezione 1
106.2 Desktop grafici
  • 106.2 Lezione 1
106.3 Accessibilità
  • 106.3 Lezione 1
Argomento 107: Attività Amministrative
107.1 Gestire account utente e gruppo e file di sistema correlati
  • 107.1 Lezione 1
  • 107.1 Lezione 2
107.2 Automatizzare le attività di amministrazione del sistema attraverso la pianificazione
  • 107.2 Lezione 1
  • 107.2 Lezione 2
107.3 Localizzazione e internazionalizzazione
  • 107.3 Lezione 1
Argomento 108: Servizi Essenziali di Sistema
108.1 Mantenere l'orario di sistema
  • 108.1 Lezione 1
  • 108.1 Lezione 2
108.2 Logging di sistema
  • 108.2 Lezione 1
  • 108.2 Lezione 2
108.3 Concetti base dei Mail Transfer Agent (MTA)
  • 108.3 Lezione 1
108.4 Gestire stampa e stampanti
  • 108.4 Lezione 1
Argomento 109: Fondamenti di Networking
109.1 Fondamenti dei protocolli Internet
  • 109.1 Lezione 1
  • 109.1 Lezione 2
109.2 Configurazione di rete persistente
  • 109.2 Lezione 1
  • 109.2 Lezione 2
109.3 Risoluzione dei problemi di base di una rete
  • 109.3 Lezione 1
  • 109.3 Lezione 2
109.4 Configurare un client DNS
  • 109.4 Lezione 1
Argomento 110: Sicurezza
110.1 Eseguire attività di amministrazione della sicurezza
  • 110.1 Lezione 1
110.2 Configurare la sicurezza dell'host
  • 110.2 Lezione 1
110.3 Proteggere i dati con la crittografia
  • 110.3 Lezione 1
  • 110.3 Lezione 2
How to get certified
  1. Argomento 107: Attività Amministrative
  2. 107.3 Localizzazione e internazionalizzazione
  3. 107.3 Lezione 1

107.3 Lezione 1

Certificazione:

LPIC-1

Versione:

5.0

Argomento:

107 Attività Amministrative

Obiettivo:

107.3 Localizzazione e internazionalizzazione

Lezione:

1 di 1

Introduzione

Tutte le principali distribuzioni Linux possono essere configurate per utilizzare le impostazioni personalizzate di localizzazione. Queste impostazioni includono definizioni relative alla regione e alla lingua, quali fuso orario, lingua dell’interfaccia e codifica dei caratteri, impostazioni che possono essere modificate durante l’installazione del sistema operativo o in qualsiasi momento successivo.

Le applicazioni si basano su variabili d’ambiente, file di configurazione di sistema e comandi per decidere l’ora e la lingua appropriate da usare; quindi la maggior parte delle distribuzioni Linux condividono un modo standardizzato per regolare le impostazioni di ora e localizzazione. Queste regolazioni sono importanti non solo per migliorare l’esperienza dell’utente, ma anche per assicurare che la tempistica degli eventi di sistema — importante, per esempio, per segnalare problemi legati alla sicurezza — sia calcolata correttamente.

Per essere in grado di rappresentare qualsiasi testo scritto, indipendentemente dalla lingua parlata, i sistemi operativi moderni hanno bisogno di uno standard di codifica dei caratteri di riferimento, e i sistemi Linux non sono diversi. Poiché i computer sono in grado di trattare solo numeri, un carattere di testo non è altro che un numero associato ad un simbolo grafico. Piattaforme di computer diverse possono associare valori numerici diversi allo stesso carattere, quindi uno standard comune di codifica dei caratteri è necessario per renderli compatibili. Un documento di testo creato in un sistema sarà leggibile in un altro sistema solo se entrambi concordano sul formato di codifica e su quale numero è associato a quale carattere, o almeno se sanno gestire la conversione tra i due standard.

La natura eterogenea delle impostazioni di localizzazione nei sistemi basati su Linux si traduce in piccole differenze tra le distribuzioni. Nonostante ciò, tutte le distribuzioni condividono gli stessi strumenti e concetti di base per impostare gli aspetti di internazionalizzazione di un sistema.

Fusi Orari

I fusi orari sono bande discrete approssimativamente proporzionali della superficie terrestre che coprono l’equivalente di un’ora, cioè regioni del mondo che vivono la stessa ora del giorno nello stesso momento. Poiché non esiste una sola longitudine che possa essere considerata l’inizio del giorno per tutto il mondo, i fusi orari sono relativi al primo meridiano, dove l’angolo di longitudine della Terra è definito come 0. L’ora al primo meridiano è chiamata Tempo Universale Coordinato, per convenzione abbreviato in UTC. Per ragioni pratiche, i fusi orari non seguono l’esatta distanza longitudinale dal punto di riferimento (il primo meridiano). Invece, i fusi orari sono adattati artificialmente per seguire i confini dei paesi o altre suddivisioni significative.

Le suddivisioni politiche sono così rilevanti che i fusi orari prendono il nome da qualche importante elemento geografico in quella particolare area, di solito basato sul nome di un grande paese o città all’interno della zona. Tuttavia, i fusi orari sono divisi in base al loro offset temporale rispetto all’UTC e questo offset può anche essere usato per indicare la zona in questione. Il fuso orario GMT-5, per esempio, indica una regione per la quale l’ora UTC è cinque ore avanti, cioè quella regione è 5 ore indietro rispetto all’UTC. Allo stesso modo, il fuso orario GMT+3 indica una regione per la quale l’ora UTC è tre ore indietro. Il termine GMT — da Greenwich Mean Time — è usato come sinonimo di UTC.

Una macchina collegata può essere raggiunta da diverse parti del mondo, quindi è buona pratica impostare l’orologio hardware su UTC (il fuso orario GMT+0) e lasciare la scelta del fuso orario per ogni caso particolare. I servizi cloud, per esempio, sono comunemente configurati per utilizzare UTC, in quanto può aiutare a mitigare le incongruenze occasionali tra l’ora locale e quella dei client o di altri server. Al contrario, gli utenti che aprono una sessione remota sul server potrebbero voler usare il loro fuso orario locale. Quindi, sarà compito del sistema operativo impostare il fuso orario corretto a seconda del caso.

Oltre alla data e all’ora correnti, il comando date visualizzerà anche il fuso orario attualmente configurato:

$ date
Mon Oct 21 10:45:21 -03 2019

L’offset rispetto all’UTC è dato dal valore -03, che significa che l’ora visualizzata è tre ore meno dell’UTC. Pertanto, l’ora UTC è tre ore avanti, rendendo GMT-3 il fuso orario corrispondente all’ora data. Il comando timedatectl, che è disponibile nelle distribuzioni che usano systemd, mostra maggiori dettagli sull’ora e la data del sistema:

$ timedatectl
                      Local time: Sat 2019-10-19 17:53:18 -03
                  Universal time: Sat 2019-10-19 20:53:18 UTC
                        RTC time: Sat 2019-10-19 20:53:18
                       Time zone: America/Sao_Paulo (-03, -0300)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Come mostrato nella voce Time zone, sono accettati anche nomi di fusi orari basati su località — come America/Sao_Paulo --. Il fuso orario predefinito per il sistema è mantenuto nel file /etc/timezone, sia dal nome descrittivo completo della zona che dall’offset. I nomi generici dei fusi orari dati dall’offset UTC devono includere Etc come prima parte del nome. Quindi, per impostare il fuso orario di default su GMT+3, il nome del fuso orario deve essere Etc/GMT+3.

$ cat /etc/timezone
Etc/GMT+3

Anche se i nomi dei fusi orari basati sulle località non richiedono l’offset temporale per funzionare, non sono così semplici da scegliere. La stessa zona può avere più di un nome, il che può renderla difficile da ricordare. Per facilitare questo problema, il comando tzselect offre un metodo interattivo che guida l’utente verso la corretta definizione del fuso orario. Il comando tzselect dovrebbe essere disponibile di default in tutte le distribuzioni Linux, poiché è fornito dal pacchetto che contiene i necessari programmi di utilità relativi alla GNU C Library.

Il comando tzselect sarà utile, per esempio, per un utente che vuole identificare il fuso orario per “São Paulo City” in “Brazil”. tzselect inizia chiedendo la macro regione della località desiderata:

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
 1) Africa
 2) Americas
 3) Antarctica
 4) Asia
 5) Atlantic Ocean
 6) Australia
 7) Europe
 8) Indian Ocean
 9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 2

L’opzione 2 è per località (nord e sud) americane, non necessariamente nello stesso fuso orario. È anche possibile specificare il fuso orario con coordinate geografiche o con la notazione di offset, nota anche come formato Posix TZ. Il passo successivo è quello di scegliere il paese:

Please select a country whose clocks agree with yours.
 1) Anguilla              19) Dominican Republic    37) Peru
 2) Antigua & Barbuda     20) Ecuador               38) Puerto Rico
 3) Argentina             21) El Salvador           39) St Barthelemy
 4) Aruba                 22) French Guiana         40) St Kitts & Nevis
 5) Bahamas               23) Greenland             41) St Lucia
 6) Barbados              24) Grenada               42) St Maarten (Dutch)
 7) Belize                25) Guadeloupe            43) St Martin (French)
 8) Bolivia               26) Guatemala             44) St Pierre & Miquelon
 9) Brazil                27) Guyana                45) St Vincent
10) Canada                28) Haiti                 46) Suriname
11) Caribbean NL          29) Honduras              47) Trinidad & Tobago
12) Cayman Islands        30) Jamaica               48) Turks & Caicos Is
13) Chile                 31) Martinique            49) United States
14) Colombia              32) Mexico                50) Uruguay
15) Costa Rica            33) Montserrat            51) Venezuela
16) Cuba                  34) Nicaragua             52) Virgin Islands (UK)
17) Curaçao               35) Panama                53) Virgin Islands (US)
18) Dominica              36) Paraguay
#? 9

Il territorio del Brasile si estende su quattro fusi orari, quindi le sole informazioni sul paese non sono sufficienti per impostare il fuso orario. Nel prossimo passo tzselect richiederà all’utente di specificare la regione locale:

Please select one of the following time zone regions.
 1) Atlantic islands
 2) Pará (east); Amapá
 3) Brazil (northeast: MA, PI, CE, RN, PB)
 4) Pernambuco
 5) Tocantins
 6) Alagoas, Sergipe
 7) Bahia
 8) Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)
 9) Mato Grosso do Sul
10) Mato Grosso
11) Pará (west)
12) Rondônia
13) Roraima
14) Amazonas (east)
15) Amazonas (west)
16) Acre
#? 8

Non tutti i nomi delle località sono disponibili, ma scegliere la regione più vicina sarà sufficiente. Le informazioni date saranno poi utilizzate da tzselect per visualizzare il fuso orario corrispondente:

The following information has been given:

        Brazil
        Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)

Therefore TZ='America/Sao_Paulo' will be used.
Selected time is now:   sex out 18 18:47:07 -03 2019.
Universal Time is now:  sex out 18 21:47:07 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1

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

Ecco di nuovo quel valore TZ, questa volta su standard output in modo da
potete usare il comando /usr/bin/tzselect negli script di shell:
America/Sao_Paulo

Il nome del fuso orario risultante, America/Sao_Paulo, può anche essere usato come contenuto di /etc/timezone per informare il fuso orario predefinito del sistema:

$ cat /etc/timezone
America/Sao_Paulo

Come indicato dall’output di tzselect, la variabile d’ambiente TZ definisce il fuso orario per la sessione di shell, qualunque sia il fuso orario di default del sistema. Aggiungendo la linea TZ='America/Sao_Paulo'; export TZ al file ~/.profile renderà America/Sao_Paulo il fuso orario per le future sessioni dell’utente. La variabile TZ può anche essere temporaneamente modificata durante la sessione corrente, per visualizzare l’ora in un diverso fuso orario:

$ env TZ='Africa/Cairo' date
Mon Oct 21 15:45:21 EET 2019

Nell’esempio, il comando env esegue il comando dato in una nuova sessione sub-shell con le stesse variabili d’ambiente della sessione corrente, tranne la variabile TZ, modificata dall’argomento TZ='Africa/Cairo'.

Ora Legale

Molte regioni adottano l’ora legale per una parte dell’anno — quando gli orologi sono in genere portati avanti di un’ora — che potrebbe portare un sistema mal configurato a segnalare l’ora sbagliata durante quel periodo dell’anno.

Il file /etc/localtime contiene i dati usati dal sistema operativo per regolare il suo orologio di conseguenza. I sistemi Linux standard hanno file per tutti i fusi orari nella directory /usr/share/zoneinfo/, quindi /etc/localtime è solo un collegamento simbolico al file di dati effettivo all’interno di quella directory. I file in /usr/share/zoneinfo/ sono organizzati per il nome del fuso orario corrispondente, quindi il file di dati per il fuso orario America/Sao_Paulo sarà /usr/share/zoneinfo/America/Sao_Paulo.

Poiché le definizioni per l’ora legale possono cambiare, è importante mantenere aggiornati i file in /usr/share/zoneinfo/. Il comando di aggiornamento dello strumento di gestione dei pacchetti fornito dalla distribuzione dovrebbe aggiornarli ogni volta che è disponibile una nuova versione.

Lingua e Codifica dei Caratteri

I sistemi Linux possono lavorare con un’ampia varietà di lingue e codifiche di caratteri non occidentali, definizioni note come locales. La configurazione più basilare di ciò è la definizione della variabile d’ambiente LANG, dalla quale la maggior parte dei programmi di shell identificano la lingua da usare.

Il contenuto della variabile LANG segue il formato ab_CD, dove ab è il codice della lingua e CD è il codice della regione. Il codice della lingua dovrebbe seguire lo standard ISO-639 e il codice della regione dovrebbe seguire lo standard ISO-3166. Un sistema configurato per usare il portoghese brasiliano, per esempio, dovrebbe avere la variabile LANG definita a pt_BR.UTF-8:

$ echo $LANG
pt_BR.UTF-8

Come si vede nell’output di esempio, la variabile LANG contiene anche la codifica dei caratteri prevista per il sistema. ASCII, abbreviazione di American Standard Code for Information Interchange, è stato il primo standard di codifica dei caratteri ampiamente utilizzato per la comunicazione elettronica. Tuttavia, poiché ASCII ha una gamma molto limitata di valori numerici disponibili ed era basato sull’alfabeto inglese, non contiene caratteri usati da altre lingue o un insieme esteso di simboli non alfabetici. La codifica UTF-8 è uno standard Unicode per i normali caratteri occidentali, più molti altri simboli non convenzionali. Come dichiarato dallo Unicode Consortium, il manutentore dello Standard Unicode, questa codifica dovrebbe essere adottata di base per assicurare la compatibilità tra le piattaforme di computer:

Lo standard Unicode fornisce un numero unico per ogni carattere, non importa quale piattaforma, dispositivo, applicazione o lingua. È stato adottato da tutti i moderni fornitori di software e ora permette ai dati di essere trasportati attraverso molte piattaforme, dispositivi e applicazioni diverse senza corruzione. Il supporto di Unicode costituisce la base per la rappresentazione di lingue e simboli in tutti i principali sistemi operativi, motori di ricerca, browser, computer portatili e smartphone - oltre a Internet e al World Wide Web (URL, HTML, XML, CSS, JSON, ecc.). (…​) lo standard Unicode e la disponibilità di strumenti che lo supportano sono tra le più significative tendenze recenti della tecnologia software globale.

— The Unicode Consortium
Cos'è Unicode?

Alcuni sistemi possono ancora usare standard definiti da ISO — come lo standard ISO-8859-1 — per la codifica dei caratteri non-ASCII. Tuttavia, tali standard di codifica dei caratteri dovrebbero essere deprecati in favore degli standard di codifica Unicode. Tuttavia, tutti i maggiori sistemi operativi tendono ad adottare lo standard Unicode di default.

Le impostazioni di localizzazione a livello di sistema sono configurate nel file /etc/locale.conf. La variabile LANG e altre variabili relative al locale sono assegnate in questo file come una normale variabile di shell, per esempio:

$ cat /etc/locale.conf
LANG=pt_BR.UTF-8

Gli utenti possono usare una configurazione personalizzata del locale ridefinendo la variabile d’ambiente LANG. Può essere fatto solo per la sessione corrente o per le sessioni future, aggiungendo la nuova definizione al profilo Bash dell’utente in ~/.bash_profile o ~/.profile. Finché l’utente non effettua il login, comunque, il locale di sistema predefinito sarà ancora usato da programmi indipendenti dall’utente, come la schermata di login del display manager.

Tip

Il comando localectl, disponibile sui sistemi che impiegano systemd come gestore di sistema, può anche essere usato per interrogare e cambiare il locale di sistema. Per esempio: localectl set-locale LANG=en_US.UTF-8.

Oltre alla variabile LANG, altre variabili d’ambiente hanno un effetto su aspetti specifici del locale, come il simbolo di valuta da usare o il corretto separatore delle migliaia per i numeri:

LC_COLLATE

Imposta l’ordine alfabetico. Uno dei suoi scopi è quello di definire l’ordine in cui file e directory sono elencati.

LC_CTYPE

Imposta come il sistema tratterà certi insiemi di caratteri. Definisce, per esempio, quali caratteri considerare come uppercase o lowercase.

LC_MESSAGES

Imposta il linguaggio per visualizzare i messaggi dei programmi (per lo più programmi GNU).

LC_MONETARY

Imposta l’unità monetaria e il formato della valuta.

LC_NUMERIC

Imposta il formato numerico per i valori non monetari. Il suo scopo principale è quello di definire le migliaia e i separatori decimali.

LC_TIME

Imposta il formato dell’ora e della data.

LC_PAPER

Imposta il formato standard della carta.

LC_ALL

Sovrascrive tutte le altre variabili, incluso LANG.

Il comando locale mostrerà tutte le variabili definite nella configurazione del locale corrente:

$ locale
LANG=pt_BR.UTF-8
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY=pt_BR.UTF-8
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_ALL=

L’unica variabile non definita è LC_ALL, che può essere usata per sovrascrivere temporaneamente tutte le altre impostazioni di localizzazione. L’esempio seguente mostra come il comando date — eseguito in un sistema configurato con il locale pt_BR.UTF-8 — modificherà il suo output per conformarsi alla nuova variabile LC_ALL:

$ date
seg out 21 10:45:21 -03 2019
$ env LC_ALL=en_US.UTF-8 date
Mon Oct 21 10:45:21 -03 2019

La modifica della variabile LC_ALL ha reso entrambe le abbreviazioni per il giorno della settimana e il nome del mese da mostrare in inglese americano (en_US). Non è obbligatorio, tuttavia, impostare lo stesso locale per tutte le variabili. È possibile, per esempio, avere la lingua definita a pt_BR e il formato numerico (LC_NUMERIC) impostato allo standard americano.

Alcune impostazioni di localizzazione cambiano il modo in cui i programmi trattano l’ordine alfabetico e i formati dei numeri. Mentre i programmi convenzionali sono solitamente preparati a scegliere correttamente un locale comune per queste situazioni, gli script possono comportarsi in modo inaspettato quando cercano, per esempio, di ordinare in ordine alfabetico una lista di elementi. Per questo motivo, si raccomanda di impostare la variabile d’ambiente LANG al locale comune C, come in LANG=C, così lo script produrrà risultati non ambigui, indipendentemente dalle definizioni di localizzazione usate nel sistema in cui viene eseguito. Il locale C conduce solo un semplice confronto bytewise, quindi avrà anche prestazioni migliori degli altri.

Conversione della Codifica

Il testo può apparire con caratteri incomprensibili quando viene visualizzato su un sistema con una configurazione di codifica dei caratteri diversa dal sistema in cui il testo è stato creato. Il comando iconv può essere usato per risolvere questo problema, convertendo il file dalla sua codifica di caratteri originale a quella desiderata. Per esempio, per convertire un file chiamato original.txt dalla codifica ISO-8859-1 al file chiamato converted.txt usando la codifica UTF-8 si può usare il seguente comando:

$ iconv -f ISO-8859-1 -t UTF-8 original.txt > converted.txt

L’opzione -f ISO-8859-1 (o --from-code=ISO-8859-1) imposta la codifica del file originale e l’opzione -t UTF-8 (o --to-code=UTF-8) imposta la codifica per il file da convertire. Tutte le codifiche supportate dal comando iconv sono elencate con il comando iconv -l o iconv --list. Invece di usare il reindirizzamento dell’output, come nell’esempio, si possono usare anche le opzioni -o converted.txt o --output converted.txt.

Esercizi Guidati

  1. In base al seguente output del comando date, qual è il fuso orario del sistema in notazione GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019
  2. A quale file dovrebbe puntare il link simbolico /etc/localtime per rendere Europe/Brussels l’ora locale di default del sistema?

  3. I caratteri nei file di testo potrebbero non essere resi correttamente in un sistema con una codifica dei caratteri diversa da quella usata nel documento di testo. Come si può usare iconv per convertire il file codificato WINDOWS-1252 old.txt nel file new.txt usando la codifica UTF-8?

Esercizi Esplorativi

  1. Quale comando renderà Pacific/Auckland il fuso orario predefinito per la sessione corrente della shell?

  2. Il comando uptime mostra, tra le altre cose, il carico medio del sistema in numeri frazionari. Utilizza le impostazioni locali correnti per decidere se il separatore decimale debba essere un punto o una virgola. Se, per esempio, il locale corrente è impostato su de_DE.UTF-8 (lo standard della Germania), uptime userà una virgola come separatore. Sapendo che nella lingua inglese americana si usa il punto come separatore, quale comando farà sì che uptime visualizzi i frazionari usando un punto invece di una virgola per il resto della sessione corrente?

  3. Il comando iconv sostituirà tutti i caratteri al di fuori dell’insieme di caratteri di destinazione con un punto interrogativo. Se //TRANSLIT è aggiunto alla codifica di destinazione, i caratteri non rappresentati nel set di caratteri di destinazione saranno sostituiti (traslitterati) da uno o più caratteri simili. Come potrebbe essere usato questo metodo per convertire un file di testo UTF-8 chiamato readme.txt in un semplice file ASCII chiamato ascii.txt?

Sommario

Questa lezione tratta del come configurare un sistema Linux per lavorare con lingue e impostazioni temporali personalizzate. Vengono trattati anche i concetti e le impostazioni di codifica dei caratteri, che sono molto importanti per rendere correttamente il contenuto del testo. La lezione tratta i seguenti argomenti:

  • Come i sistemi Linux selezionano la lingua per visualizzare i messaggi della shell.

  • Capire come i fusi orari influenzano l’ora locale.

  • Identificare il fuso orario appropriato e modificare di conseguenza le impostazioni di sistema.

  • Cosa sono le codifiche dei caratteri e come convertirle.

I comandi e le procedure affrontati sono stati:

  • Variabili d’ambiente relative alla lingua e al tempo, come LC_ALL, LANG e TZ.

  • /etc/timezone

  • /etc/localtime

  • /usr/share/zoneinfo/

  • locale

  • tzselect

  • timedatectl

  • date

  • iconv

Risposte agli Esercizi Guidati

  1. In base al seguente output del comando date, qual è il fuso orario del sistema in notazione GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019

    È il fuso orrio Etc/GMT+5.

  2. A quale file dovrebbe puntare il link simbolico /etc/localtime per rendere Europe/Brussels l’ora locale di default del sistema?

    Il link /etc/localtime dovrebbe puntare a /usr/share/zoneinfo/Europe/Brussels.

  3. I caratteri nei file di testo potrebbero non essere resi correttamente in un sistema con una codifica dei caratteri diversa da quella usata nel documento di testo. Come si può usare iconv per convertire il file codificato WINDOWS-1252 old.txt nel file new.txt usando la codifica UTF-8?

    Il comando iconv -f WINDOWS-1252 -t UTF-8 -o new.txt old.txt eseguirà la conversione desiderata.

Risposte agli Esercizi Esplorativi

  1. Quale comando renderà Pacific/Auckland il fuso orario predefinito per la sessione corrente della shell?

    export TZ=Pacific/Auckland

  2. Il comando uptime mostra, tra le altre cose, il carico medio del sistema in numeri frazionari. Utilizza le impostazioni locali correnti per decidere se il separatore decimale debba essere un punto o una virgola. Se, per esempio, il locale corrente è impostato su de_DE.UTF-8 (lo standard della Germania), uptime userà una virgola come separatore. Sapendo che nella lingua inglese americana si usa il punto come separatore, quale comando farà sì che uptime visualizzi i frazionari usando un punto invece di una virgola per il resto della sessione corrente?

    Il comando export LC_NUMERIC=en_US.UTF-8 o export LC_ALL=en_US.UTF-8.

  3. Il comando iconv sostituirà tutti i caratteri al di fuori dell’insieme di caratteri di destinazione con un punto interrogativo. Se //TRANSLIT è aggiunto alla codifica di destinazione, i caratteri non rappresentati nel set di caratteri di destinazione saranno sostituiti (traslitterati) da uno o più caratteri simili. Come potrebbe essere usato questo metodo per convertire un file di testo UTF-8 chiamato readme.txt in un semplice file ASCII chiamato ascii.txt?

    Il comando iconv -f UTF-8 -t ASCII//TRANSLIT -o ascii.txt readme.txt effettuerà la conversione desiderata.

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

Prossima Lezione

108.1 Mantenere l'orario di sistema (108.1 Lezione 1)

Leggi la prossima Lezione

Linux Professional Institute Inc. Tutti i diritti riservati. Visita il sito Learning Materials: https://learning.lpi.org
Quest'opera è sotto la licenza 'Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License'.

LPI è una organizzazione non-profit.

© 2023 Linux Professional Institute (LPI) è lo standard di certificazione globale e l'organizzazione di supporto alla carriera per i Professionisti Open Source. Con più di 200,000 titolari di Certificazione, è il primo e il più grande ente di Certificazione Open Source e Linux vendor-neutral. LPI ha professionisti certificati in oltre 180 Paesi, offre i suoi Esami in più lingue e ha centinaia di Partner di formazione in tutto il mondo.

La nostra missione è promuovere l'uso dell'Open Source supportando le persone che vi lavorano.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contattaci
  • Privacy & Cookie Policy

Trovato un errore? Per favore scrivi a contattaci.

© 1999–2023 The Linux Professional Institute Inc. Tutti i diritti riservati.