Installare il sistema base di Gentoo

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Installation/Base and the translation is 100% complete.
AMD64 Handbook
Installation
About the installation
Choosing the media
Configuring the network
Preparing the disks
Installing stage3
Installing base system
Configuring the kernel
Configuring the system
Installing tools
Configuring the bootloader
Finalizing
Working with Gentoo
Portage introduction
USE flags
Portage features
Initscript system
Environment variables
Working with Portage
Files and directories
Variables
Mixing software branches
Additional tools
Custom package repository
Advanced features
OpenRC network configuration
Getting started
Advanced configuration
Modular networking
Wireless
Adding functionality
Dynamic management


Opzionale: Selezionare i mirror

File di distribuzione

Suggerimento
It is safe to skip this step when using non-Gentoo installation media. The app-portage/mirrorselect package can be emerged later within the stage3 (after Entering the new environment) and the actions defined in this section can be performed at that point.

Per scaricare rapidamente il codice sorgente si raccomanda di selezionare un mirror (distributore) veloce. Portage cercherà la variabile GENTOO_MIRRORS nel file make.conf ed utilizzerà i mirror lì elencati. È possibile navigare nella lista dei mirror di Gentoo e cercare un mirror (o più mirror) vicino alla posizione geografica del sistema (in quanto quelli risulteranno solitamente più veloci). Tuttavia, forniamo anche uno strumento utile chiamato mirrorselect che fornisce agli utenti una comoda interfaccia per selezionare i mirror necessari. Basta semplicemente navigare sui mirror prescelti e premere Spazio per selezionare uno o più mirror.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Repositorio ebuild di Gentoo

Un altro importante passo durante la selezione dei mirror è la configurazione dei repositori delle ebuild di Gentoo tramite il file /etc/portage/repos.conf/gentoo.conf. Questo file contiene le informazioni di sincronizzazione necessarie per aggiornare il repositorio dei pacchetti (la raccolta di ebuild e di file correlati contenenti tutte le informazioni di cui Portage ha bisogno per scaricare ed installare i pacchetti software).

La configurazione del repositorio può essere fatta in pochi semplici passi. Prima, se non esiste, creare il percorso repos.conf:

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

Successivamente, copiare il file di configurazione dei repositori di Gentoo, fornito da Portage, nella cartella (appena creata) repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Si dia un'occhiata con un editor di testo o utilizzando il comando cat. Il contenuto del file dovrebbe essere in formato .ini e somigliare a questo:

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

Il valore predefinito della variabile sync-uri sopra elencato comporta un posizionamento dei mirror basato sulla rotazione. Ciò ottimizzerà il carico sulla banda dell'infrastruttura di Gentoo e fornirà una soluzione di ripiego in caso uno specifico mirror risulti non in linea. Si raccomanda di mantenere l'URI predefinito a meno che non venga usato un mirror di Portage locale e privato.

Suggerimento
Per coloro che sono interessati, le specifiche ufficiali per le API di sincronizzazione del plug-in di Portage possono essere consultate nell' Articolo sulla sincronizzazione del progetto Portage.

Copiare le informazioni del DNS

Rimane da fare ancora una cosa prima di entrare nel nuovo ambiente, ovvero copiare le informazioni del DNS nel file /etc/resolv.conf. Ciò va fatto per assicurarsi che la rete funzioni anche dopo essere entrati nel nuovo ambiente. /etc/resolv.conf contiene i name server per la rete.

Per copiare queste informazioni, si raccomanda di passare l'opzione --dereference al comando cp. Ciò garantisce che, se /etc/resolv.conf è un collegamento simbolico, venga copiato il file indicato dal collegamento invece del collegamento simbolico stesso. Altrimenti, nel nuovo ambiente, il collegamento simbolico punterebbe ad un file non esistente (in quanto ciò che ora indica il collegamento non sarà disponibile nel nuovo ambiente).

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Montaggio dei fileystem necessari

A breve, la radice (root) di Linux sarà cambiata con quella della nuova ubicazione. Per essere sicuri che il nuovo ambiente funzioni correttamente, alcuni filesystem devono essere disponibili fin d'ora.

I filesystem da rendere disponibili sono:

  • /proc/ che è uno pseudo filesystem (appare come fossero file ordinari, ma in realtà è generato in tempo reale) tramite il quale il kernel Linux mostra informazioni a tutto l'ambiente
  • /sys/ che è uno pseudo filesystem, come /proc/ che una volta si pensava l'avrebbe sostituito, ed è più strutturato di /proc/
  • /dev/ è un filesystem normale, parzialmente gestito dal gestore dei dispositivi di Linux (solitamente udev), il quale contiene un file per ciascun dispositivo
  • /run/ è un filesystem temporaneo utilizzato per i file generati in fase di esecuzione, come i file PID o il locks

Il percorso /proc/ sarà montato su /mnt/gentoo/proc/ mentre gli altri saranno montati congiuntamente. Ciò significa che, ad esempio, /mnt/gentoo/sys/ sarà effettivamente /sys/ (è solo un secondo punto di accesso allo stesso filesystem) mentre /mnt/gentoo/proc/ è un nuovo montaggio (un'istanza per così dire) del filesystem.

Suggerimento
If using Gentoo's install media, this step can be replaced with simply: arch-chroot /mnt/gentoo.
root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
root #mount --bind /run /mnt/gentoo/run
root #mount --make-slave /mnt/gentoo/run
Nota
Le operazioni --make-rslave sono necessarie per il supporto di systemd più avanti nell'installazione.
Attenzione
Quando si usano mezzi di installazione non-Gentoo, quanto detto potrebbe risultare insufficiente. Alcune distribuzioni creano un link simbolico di /dev/shm su /run/shm/ che, dopo chroot, risulta non valido. Facendo un corretto montaggio tmpfs di /dev/shm/ può risolvere questo problema:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Ci si assicuri anche che la modalità 1777 sia impostata:

root # chmod 1777 /dev/shm /run/shm

Entrare nel nuovo ambiente

Ora che tutte le partizioni sono state inizializzate e l'ambiente base installato, è tempo di entrare nel nuovo ambiente attraverso chroot. Ciò significa che la sessione cambierà la sua radice (la posizione di livello più alto alla quale si può fare accesso) da quella dell'attuale ambiente di installazione (del CD o di un altro mezzo di installazione) a quella del sistema installato (ovvero le partizioni inizializzate). Da cui il nome, change root (cambiare radice) o chroot.

Questo cambio di radice può esser fatto in tre passaggi:

  1. La posizione radice (root) è modificata da / (sul mezzo di installazione) a /mnt/gentoo/ sulle partizioni usando chroot
  2. Alcune impostazioni (quelle su /etc/profile) sono caricate nella memoria usando il comando source
  3. L'attesa comandi (prompt) primaria è modificata per ricordarci che questa sessione avviene in un ambiente chroot
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

Da questo momento, tutte le azioni sono direttamente eseguite nel nuovo ambiente Gentoo Linux. Certamente si è ancora lontani dalla conclusione, per questo motivo l'installazione ha ancora alcune sezioni!

Suggerimento
Se l'installazione di Gentoo viene interrotta in qualsiasi momento da questo punto, dovrebbe essere possibile riprenderla a partire da questo passaggio. Non c'è necessità di ripartizionare il disco nuovamente! Montare la partizione radice ed eseguire i passi qui sopra iniziando con la copia delle informazioni DNS per rientrare nell'ambiente funzionante. Questo è utile anche per correggere alcuni problemi con i bootloader (selettori di avvio). Ulteriori informazioni si possono trovare nell'articolo chroot.

Preparing for a bootloader

Now that the new environment has been entered, it is necessary prepare the new environment for the bootloader. It will be important to have the correct partition mounted when it is time to install the bootloader.

UEFI systems

For UEFI systems, /dev/sda1 was formatted with the FAT32 filesystem and will be used as the EFI System Partition (ESP). Create a new /efi directory, and then mount ESP there:

root #mkdir /efi
root #mount /dev/sda1 /efi

DOS/Legacy BIOS systems

For DOS/Legacy BIOS systems, the bootloader will be installed into the /boot directory, therefore mount as follows:

root #mount /dev/sda1 /boot

Configurare Portage

Installare un'istantanea del repository ebuild Gentoo dal web

Il prossimo passo consiste nell'installare un'istantanea del repository ebuild di Gentoo. Questa istantanea contiene una collezione di file che informano Portage riguardo i titoli di software disponibili (per l'installazione), quali profili può selezionare l'amministratore del sistema, elementi notizia specifici su pacchetti o profili, ecc.

L'uso di emerge-webrsync è raccomandato per chi si trova dietro un firewall restrittivo (usa i protocolli HTTP/FTP per scaricare l'istantanea) e vuole risparmiare la banda. I lettori che non hanno restrizioni di rete o di banda possono felicemente saltare fino alla fine di questa sezione.

Questo preleverà l'ultima istantanea (la quale è rilasciata giorno per giorno) da uno dei distributori (mirror) di Gentoo e la installerà nel sistema:

root #emerge-webrsync
Nota
Durante questa operazione, emerge-webrsync potrebbe lamentarsi riguardo una posizione /var/db/repos/gentoo mancante. Questo deve essere atteso e non destare preoccupazioni - lo strumento creerà la posizione.

Da questo momento in avanti, Portage potrebbe menzionare che certi aggiornamenti è raccomandato eseguirli. Ciò avviene perché i pacchetti di sistema installati attraverso il file stage potrebbero avere disponibili delle versioni più recenti; Portage è ora a conoscenza dei nuovi pacchetti grazie all'istantanea del repositorio. Gli aggiornamenti dei pacchetti possono essere ignorati in sicurezza per ora; gli aggiornamenti possono essere posticipati dopo la conclusione dell'installazione di Gentoo.

Opzionale: Aggiornare il repositorio ebuild di Gentoo

È possibile aggiornare il repositorio ebuild di Gentoo all'ultima versione. Il precedente comando emerge-webrsync avrà installato un'istantanea decisamente recente (solitamente delle ultime 24 ore) dunque questo passo è decisamente facoltativo.

Supponiamo siano necessari gli aggiornamenti degli ultimissimi pacchetti (fino ad 1 ora), dunque si usi emerge --sync. Questo comando userà il protocollo rsync per aggiornare al repositorio ebuild di Gentoo (il quale è stato prelevato prima attraverso emerge-webrsync) al più recente stato.

root #emerge --sync

Sui terminali lenti, come alcuni framebuffer o console seriali, è raccomandato usare l'opzione --quiet per velocizzare il processo:

root #emerge --sync --quiet

Leggere gli elementi notizia

Quando il repositorio ebuild di Gentoo viene sincronizzato, Portage potrebbe scrivere messaggi informativi simili a questo:

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Gli elementi notizia sono stati creati per fornire un mezzo di comunicazione affinché i messaggi critici siano notificati agli utenti attraverso il repository ebuild Gentoo. Per gestirli, usare eselect news. L'applicazione eselect è un'utilità di Gentoo che fornisce un'interfaccia di gestione comune per l'amministrazione di sistema. In questo caso, eselect è richiesto per usare il modulo news.

Per il modulo news, tre operazioni sono le più comuni:

  • Con list viene mostrata una panoramica degli elementi notizia disponibili.
  • Con read possono essere letti gli elementi notizia.
  • Con purge possono essere rimossi gli elementi notizia una volta che siano stati letti e non si potranno più rileggere.
root #eselect news list
root #eselect news read

Ulteriori informazioni sul lettore delle notizie sono presenti sulla sua pagina manuale:

root #man news.eselect

Scegliere il profilo corretto

Suggerimento
Desktop profiles are not exclusively for desktop environments. They are still suitable for minimal window managers like i3 or sway.

Un profilo è un elemento costitutivo per un qualsiasi sistema Gentoo. Non solo specifica valori predefiniti per USE, CFLAGS, ed altre importanti variabili, ma blocca il sistema su un certo intervallo di versione di pacchetti. Queste impostazioni sono tutte mantenute dagli sviluppatori Portage di Gentoo.

Per vedere quale profilo sta attualmente usando il sistema, esegui eselect usando il modulo profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/17.1 *
  [2]   default/linux/amd64/17.1/desktop
  [3]   default/linux/amd64/17.1/desktop/gnome
  [4]   default/linux/amd64/17.1/desktop/kde
Nota
La risposta del comando è giusto un esempio e cambia con il tempo.
Nota
Quando si usa systemd, assicurarsi che il nome del profilo contenga systemd. Altrimenti, assicurati che il nome del profilo non contenga systemd.

Come si può vedere, ci sono anche sotto profili per i desktop disponibili per alcune architetture.

Attenzione
Gli aggiornamenti del profilo non devono essere presi alla leggera. Quando si seleziona il profilo iniziale, assicurarsi di utilizzare il profilo corrispondente a la stessa versione come quello inizialmente utilizzato da stage3 (es. 17.1). Ogni nuova versione del profilo viene annunciata attraverso una news contenente le istruzioni di migrazione. Assicurati di leggerlo e seguirlo prima di passare a un nuovo profilo.

Dopo aver visto i profili disponibili per l'architettura amd64, gli utenti possono selezionare un profilo diverso per il sistema:

root #eselect profile set 2


No-multilib

Per avere un ambiente 64-bit puro, senza alcuna applicazione 32-bit, usare un profilo no-multilib:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0 *
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib

Selezionare il profilo no-multilib:

root #eselect profile set 5
root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/desktop
  [3]   default/linux/amd64/13.0/desktop/gnome
  [4]   default/linux/amd64/13.0/desktop/kde
  [5]   default/linux/amd64/13.0/no-multilib *



Nota
Il sotto profilo developer è dedicato ad uno sviluppatore Gentoo Linux e non va considerato come una scelta per l'utente qualsiasi.

Aggiornare il @world set

A questo punto, è saggio aggiornare il @world set (insieme mondo) del sistema così che una base possa essere stabilita.

Il seguente passo è necessario per fa sì che il sistema possa applicare aggiornamenti o cambiamenti alle flag USE apparsi dopo la costruzione dello stage3 e da qualsiasi selezione di profilo:

root #emerge --ask --verbose --update --deep --newuse @world
Suggerimento
Se è stato selezionato un profilo con un ambiente desktop completo, il processo potrebbe aumentare notevolmente la quantità di tempo necessaria per il processo di installazione. Coloro che hanno un tempo ristretto possono lavorare seguendo questa 'regola pratica': più corto è il nome del profilo, meno specifico sarà il @world set del sistema; meno specifico sarà il @world set del sistema, meno pacchetti saranno richiesti dal sistema. In altre parole:
  • Selezionare default/linux/amd64/17.1 comporterà l'aggiornamento di veramente pochi pacchetti, mentre
  • Selezionare default/linux/amd64/17.1/desktop/gnome/systemd richiederà molti pacchetti da installare, dato che il sistema di init sta cambiando da OpenRC a systemd, e le librerie dell'ambiente desktop GNOME saranno installate.

Configurare la variabile USE

La variabile USE è una delle più potenti che Gentoo offre ai suoi utenti. Numerosi programmi possono essere compilati con o senza il supporto facoltativo di certi elementi. Per esempio, alcuni programmi possono essere compilati con il supporto a GTK+ o con il supporto a Qt. Altri possono essere compilati con o senza il supporto SSL. Alcuni programmi possono essere persino compilati con il supporto al framebuffer (svgalib) anziché il supporto a X11 (X-server).

La maggior parte delle distribuzioni compila i pacchetti con il supporto per più cose possibili, aumentando la dimensione dei programmi ed i tempi di avvio, per non menzionare l'enorme quantità di dipendenze. Con Gentoo gli utenti possono definire con quali opzioni un pacchetto dovrebbe essere compilato. Qui entra in gioco USE.

Nella variabile USE gli utenti definiscono le parole chiave che saranno mappate come opzioni di compilazione. Per esempio, ssl compilerà con il supporto SSL nei programmi che lo supportano. -X rimuoverà il supporto al server X (notare il meno di fronte al simbolo). gnome gtk -kde -qt5 compilerà i programmi con il supporto GNOME (e GTK+) e non con il supporto KDE (e Qt), rendendo il sistema interamente modificato per GNOME (se l'architettura lo supporta).

Le impostazioni predefinite per USE si trovano nei file make.defaults del profilo Gentoo usato per il sistema. Gentoo usa un (complesso) sistema di eredità per i suoi profili, nel quale non scaveremo a fondo in questo stadio. Il modo più facile per controllare le attuali impostazioni attive per USE è eseguire emerge --info e selezionare la linea che inizia con USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Nota
L'esempio soprastante è stato troncato, l'elenco effettivo dei valori di USE è molto, molto più grande.

Una descrizione completa sulle opzioni disponibili per USE può essere trovata nel sistema su /var/db/repos/gentoo/profiles/use.desc.

root #less /var/db/repos/gentoo/profiles/use.desc

Dentro il comando less, si può scorrere il testo usando i tasti e , ed uscire premendo q.

Come esempio mostriamo un'impostazione di USE per un sistema basato su KDE con supporto DVD, ALSA e scrittura CD:

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confAbilitare i flag per un sistema basato su KDE/Plasma con supporto per la registrazione di DVD, ALSA e CD
USE="-gtk -gnome qt5 kde dvd alsa cdr"

Quando USE viene definita in /etc/portage/make.conf essa aggiunge (o rimuove se l'opzione USE inizia con il segno -) opzioni dall'elenco predefinito. Gli utenti che vogliono ignorare qualsiasi impostazione predefinita di USE e gestirla completamente da soli devono far cominciare la definizione di USE in make.conf con -*:

FILE /etc/portage/make.confIgnorando le opzioni predefinite di USE
USE="-X acl alsa"
Attenzione
Sebbene sia possibile, l'opzione -* (vista nell'esempio precedente) è sconsigliata poiché le impostazioni predefinite accuratamente scelte per USE possono essere configurate in alcuni ebuild per prevenire conflitti ed altri errori.

CPU_FLAGS_*

Some architectures (including AMD64/X86, ARM, PPC) have a USE_EXPAND variable called CPU_FLAGS_<ARCH>, where <ARCH> is replaced with the relevant system architecture name.

Importante
Do not be confused! AMD64 and X86 systems share some common architecture, so the proper variable name for AMD64 systems is CPU_FLAGS_X86.

This is used to configure the build to compile in specific assembly code or other intrinsics, usually hand-written or otherwise extra, and is not the same as asking the compiler to output optimized code for a certain CPU feature (e.g. -march=).

Users should set this variable in addition to configuring their COMMON_FLAGS as desired.

A few steps are needed to set this up:

root #emerge --ask app-portage/cpuid2cpuflags

Inspect the output manually if curious:

root #cpuid2cpuflags

Then copy the output into package.use:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

VIDEO_CARDS

The VIDEO_CARDS USE_EXPAND variable should be configured appropriately depending on the available GPU(s). Setting VIDEO_CARDS is not required for a console only install.

Below is an example of a properly set VIDEO_CARDS variable. Substitute the name of the driver(s) to be used.

FILE /etc/portage/make.conf
VIDEO_CARDS="amdgpu radeonsi"

Details for various GPU(s) can be found at the AMDGPU, Intel, Nouveau (Open Source), or NVIDIA (Proprietary) articles.

Opzionale: Configurare la variabile ACCEPT_LICENSE

The licenses of a Gentoo package are stored in the LICENSE variable in the ebuild. The accepted specific licenses or groups of licenses of a system are defined in the following files:

  • System wide in the selected profile.
  • System wide in the /etc/portage/make.conf file.
  • Per-package in a /etc/portage/package.license file.
  • Per-package in a /etc/portage/package.license/ directory of files.

Gentoo viene fornito con un valore predefinito nei profili, ad esempio:

user $portageq envvar ACCEPT_LICENSE
@FREE

Optionally override the system wide accepted default in the profiles by changing /etc/portage/make.conf.

FILE /etc/portage/make.confExample how to accept licenses with ACCEPT_LICENSE system wide
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"

Optionally system administrators can also define accepted licenses per-package as shown in the following directory of files example. Note that the package.license directory will need created if it does not already exist:

root #mkdir /etc/portage/package.license
FILE /etc/portage/package.license/kernelExample how to accept licenses per-package
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Importante
The LICENSE variable in an ebuild is only a guideline for Gentoo developers and users. It is not a legal statement, and there is no guarantee that it will reflect reality. So don't rely on it, but check the package itself in depth, including all files that have been installed to the system.

The license groups defined in the Gentoo repository, managed by the Gentoo Licenses project, are:

Group Name Description
@GPL-COMPATIBLE GPL compatible licenses approved by the Free Software Foundation [a_license 1]
@FSF-APPROVED Free software licenses approved by the FSF (includes @GPL-COMPATIBLE)
@OSI-APPROVED Licenses approved by the Open Source Initiative [a_license 2]
@MISC-FREE Misc licenses that are probably free software, i.e. follow the Free Software Definition [a_license 3] but are not approved by either FSF or OSI
@FREE-SOFTWARE Combines @FSF-APPROVED, @OSI-APPROVED and @MISC-FREE
@FSF-APPROVED-OTHER FSF-approved licenses for "free documentation" and "works of practical use besides software and documentation" (including fonts)
@MISC-FREE-DOCS Misc licenses for free documents and other works (including fonts) that follow the free definition [a_license 4] but are NOT listed in @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Combines @FSF-APPROVED-OTHER and @MISC-FREE-DOCS
@FREE Metaset of all licenses with the freedom to use, share, modify and share modifications. Combines @FREE-SOFTWARE and @FREE-DOCUMENTS
@BINARY-REDISTRIBUTABLE Licenses that at least permit free redistribution of the software in binary form. Includes @FREE
@EULA License agreements that try to take away your rights. These are more restrictive than "all-rights-reserved" or require explicit approval



Ora locale

Nota
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.

Scegliere l'ora locale per il sistema. Cercare le ore locali disponibili su /usr/share/zoneinfo/:

root #ls /usr/share/zoneinfo

Supponiamo che la timezone scelta sia Europe/Brussels.

OpenRC

Scriviamo il nome della timezone nel file /etc/timezone.

root #echo "Europe/Brussels" > /etc/timezone

Si evitino le ore locali /usr/share/zoneinfo/Etc/GMT* poiché i loro nomi non indicano le aree attese. Per esempio, GMT-8 è di fatto GMT+8.

Poi, riconfigurare il pacchetto sys-libs/timezone-data, il quale aggiornerà il file /etc/localtime per noi, basato sugli inserimenti di /etc/timezone. Il file /etc/localtime è usato dalla libreria C del sistema per conoscere in quale ora locale il sistema si trova.

root #emerge --config sys-libs/timezone-data

systemd

Quando si usa systemd si utilizza un approccio leggermente diverso. Viene generato un collegamento simbolico:

root #ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime

Successivamente, quando systemd è in esecuzione, il fuso orario e le relative impostazioni possono essere configurate con il comando timedatectl.

Configurare le lingue

Nota
Questo passaggio non si applica agli utenti di musl libc. Gli utenti che non sanno cosa significa dovrebbero eseguire questo passaggio.

Generazione locale

La maggior parte degli utenti usa solo una o due lingue nel proprio sistema.

Le lingue non specificano solamente la lingua che l'utente userà per interagire con il proprio sistema, ma anche le regole per ordinare le stringhe, mostrare le date e gli orari, ecc. i locale sono case sensitive e devono essere rappresentati esattamente come descritti. Un lista completa di tutti i locale disponibili può essere trovata nel file /usr/share/i18n/SUPPORTED.

Le localizzazioni di sistema supportate devono essere definite nel file /etc/locale.gen.

root #nano -w /etc/locale.gen

Le lingue seguenti sono un esempio per avere sia l'inglese (Stati Uniti) sia il tedesco (Germania/Deutchland) con i formati di carattere corrispondenti (per esempio UTF-8).

FILE /etc/locale.genAbilitare le lingue US e DE con i formati dei caratteri appropriati
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
Attenzione
Raccomandiamo fortemente di aggiungere almeno una lingua UTF-8 poiché molte applicazioni possono richiederla per compilare correttamente.

Il passo successivo è eseguire il comando locale-gen. Questo comando genererà tutti i valori locali specificati nel file /etc/locale.gen.

root #locale-gen

Per verificare che i valori locali selezionati sono ora disponibili, eseguire locale -a.

On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.

Selezione dei locale

Fatto ciò, si passa ad impostare le opzioni locali per tutto il sistema. Nuovamente si userà eselect, questa volta con il modulo locale.

Con eselect locale list vengono mostrate le opzioni disponibili:

root #eselect locale list
Available targets for the LANG variable:
  [1]  C
  [2]  C.utf8
  [3]  en_US
  [4]  en_US.iso88591
  [5]  en_US.utf8
  [6]  de_DE
  [7]  de_DE.iso88591
  [8]  de_DE.iso885915
  [9]  de_DE.utf8
  [10] POSIX
  [ ]  (free form)

Con eselect locale set <NUMBER>si può selezionare il locale corretto:

root #eselect locale set 9

Manualmente, ciò può essere fatto intervenendo sul file /etc/env.d/02locale e per Systemd il file /etc/locale.conf:

FILE /etc/env.d/02localeImpostare manualmente le definizioni dei valori locali del sistema
LANG="de_DE.UTF-8"
LC_COLLATE="C.UTF-8"

L'impostazione della localizzazione eviterà avvisi ed errori durante le compilazioni del kernel e del software più avanti nell'installazione.

Ora ricaricare l'ambiente:

root #env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Una completa Guida di localizazzione per fornire una guida aggiuntiva attraverso il processo di selezione locale. Un altro interessante articolo è la guida UTF-8 per informazioni molto specifiche su come abilitare UTF-8 nel sistema.