diff --git a/docs/books/admin_guide/10-boot.it.md b/docs/books/admin_guide/10-boot.it.md
index 87c87394b1..9e104d30dd 100644
--- a/docs/books/admin_guide/10-boot.it.md
+++ b/docs/books/admin_guide/10-boot.it.md
@@ -10,7 +10,7 @@ In questo capitolo verrà illustrato come si avvia il sistema.
**Obiettivi** : In questo capitolo, i futuri amministratori Linux apprenderanno:
:heavy_check_mark: Le diverse fasi del processo di avvio;
-:heavy_check_mark: Come Rocky Linux supporta questo avvio tramite Grub2 e systemd;
+:heavy_check_mark: Come Rocky Linux supporta questo avvio tramite Grub2 e `systemd`;
:heavy_check_mark: Come proteggere Grub2 da un attacco;
:heavy_check_mark: Come gestire i servizi;
:heavy_check_mark: Come accedere ai registri di log con `journald`.
@@ -25,19 +25,19 @@ In questo capitolo verrà illustrato come si avvia il sistema.
## Il processo di avvio
-È importante capire il processo di avvio di Linux per poter risolvere i problemi che potrebbero verificarsi.
+È importante capire il processo di boot di Linux per risolvere problemi nel caso si verifichino.
Il processo di avvio include:
### L'avvio del BIOS
-Il **BIOS** (Basic Input/Output System) esegue il **POST** (power on self test) per rilevare, testare e inizializzare i componenti hardware del sistema.
+Il **BIOS** (Basic Input/Output System) esegue il **POST** (power on self test) per rilevare, testare e inizializzare i componenti hardware di sistema.
Quindi carica il **MBR** (Master Boot Record).
### Il Master boot record (MBR)
-Il Master Boot Record sono i primi 512 byte del disco di avvio. Il MBR trova il dispositivo di avvio e carica il bootloader **GRUB2** in memoria passando il controllo ad esso.
+Il Master Boot Record sono i primi 512 byte del disco di avvio. Il MBR trova il dispositivo di boot e carica il bootloader **GRUB2** in memoria passando il controllo quest'ultimo.
I successivi 64 byte contengono la tabella delle partizioni del disco.
@@ -45,9 +45,9 @@ I successivi 64 byte contengono la tabella delle partizioni del disco.
Il bootloader predefinito per la distribuzione Rocky 8 è **GRUB2** (GRand Unified Bootloader). GRUB2 sostituisce il vecchio. GRUB bootloader (chiamato anche GRUB legacy).
-Il file di configurazione di GRUB2 si trova in `/boot/grub2/grub.cfg` ma questo file non dovrebbe mai essere modificato direttamente.
+Il file di configurazione di GRUB 2 si trova in `/boot/grub2/grub.cfg` ma questo file non dovrebbe mai essere modificato direttamente.
-Le impostazioni di configurazione del menu GRUB2 si trovano in `/etc/default/grub` e sono usate per generare il file `grub.cfg`.
+Le impostazioni di configurazione del menu di GRUB2 si trovano in `/etc/default/grub`. Il comando `grub2-mkdconfig` li utilizza per generare il file `grub.cfg`.
```bash
# cat /etc/default/grub
@@ -59,7 +59,7 @@ GRUB_CMDLINE_LINUX="rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root rhg
GRUB_DISABLE_RECOVERY="true"
```
-Se vengono apportate modifiche a uno o più di questi parametri, deve essere eseguito il comando `grub2-mkconfig` per rigenerare il file `/boot/grub2/grub.cfg`.
+Se si modifica uno o più di questi parametri, deve essere eseguito il comando `grub2-mkconfig` per ri-generare il file `/boot/grub2/grub.cfg`.
```bash
[root] # grub2-mkconfig –o /boot/grub2/grub.cfg
@@ -78,9 +78,9 @@ root 1 0 0 02:10 ? 00:00:02 /usr/lib/systemd/systemd --swi
### `systemd`
-Systemd è il genitore di tutti i processi di sistema. Legge il target del link `/etc/systemd/system/default.target` (es. `/usr/lib/systemd/system/multi-user.target`) per determinare l'obiettivo predefinito del sistema. Il file definisce i servizi da avviare.
+`systemd` è il genitore di tutti i processi di sistema. Legge il target del link `/etc/systemd/system/default.target` (es. `/usr/lib/systemd/system/multi-user.target`) per determinare l'obiettivo predefinito del sistema. Il file indica i servizi da avviare.
-Systemd posiziona quindi il sistema nello stato definito dall'obiettivo eseguendo le seguenti attività di inizializzazione:
+`systemd` pone quindi il sistema nello stato definito dall'obiettivo eseguendo le seguenti operazioni di inizializzazione:
1. Imposta il nome della macchina
2. Inizializza la rete
@@ -96,50 +96,75 @@ Systemd posiziona quindi il sistema nello stato definito dall'obiettivo eseguend
Perché proteggere il bootloader con una password?
1. Prevenire l'accesso in *Single user mode* - Se un utente malintenzionato può avviare in single user mode, diventa l'utente root.
-2. Impedire l'accesso alla console di GRUB - Se un utente malintenzionato riesce a utilizzare la console Grub, può modificare la sua configurazione o raccogliere informazioni sul sistema utilizzando il comando `cat`.
-3. Impedire l'accesso ai sistemi operativi insicuri. Se c'è un doppio avvio sul sistema, un utente malintenzionato può selezionare un sistema operativo come DOS che all'avvio ignora i controlli di accesso e le autorizzazioni dei file.
+2. Impedire l'accesso alla console di GRUB - Se un utente malintenzionato riesce a utilizzare la console GRUB, potrebbe modificare la sua configurazione o raccogliere informazioni di sistema con il comando `cat`.
+3. Impedire l'accesso ai sistemi operativi insicuri. Se il sistema è configurato con dual boot, un utente malintenzionato putrebbe selezionare un sistema operativo come DOS che in fase di boot ignora controlli d'accesso e autorizzazioni dei file.
Per proteggere con password il bootloader GRUB2:
-* Rimuovere `-unrestricted` dalla dichiarazione principale `CLASS=` nel file `/etc/grub.d/10_linux`.
+1. Accedere al sistema operativo come utente root ed eseguire il comando `grub2-mkpasswd-pbkdf2`. L'output del comando è il seguente:
-* Se un utente non è stato ancora configurato, utilizzare il comando `grub2-setpassword` per fornire una password per l'utente root:
+ ```bash
+ Enter password:
+ Reenter password:
+ PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.D0182EDB28164C19454FA94421D1ECD6309F076F1135A2E5BFE91A5088BD9EC87687FE14794BE7194F67EA39A8565E868A41C639572F6156900C81C08C1E8413.40F6981C22F1F81B32E45EC915F2AB6E2635D9A62C0BA67105A9B900D9F365860E84F1B92B2EF3AA0F83CECC68E13BA9F4174922877910F026DED961F6592BB7
+ ```
-```bash
-# grub2-setpassword
-```
+ È necessario inserire la password. Il ciphertext della password è la long string “grub.pbkdf2.sha512...”.
-Un file `/boot/grub2/user.cfg` sarà creato se non era già presente. Contiene la password hashed. di GRUB2.
+2. Incollare il ciphertext della password nell'ultima riga del file /etc/grub.d/00_header. Il formato del testo incollato è il seguente:
-!!! Note "Nota"
+ ```bash
+ cat <questo documento.
+
### Gestione dei servizi di sistema
Le unità di servizio terminano con l'estensione di file `.service` e hanno uno scopo simile a quello degli script di init. Il comando `systemctl` viene utilizzato per `visualizzare`, `avviare`, `fermare`, `riavviare` un servizio di sistema:
@@ -187,22 +214,22 @@ Le unità di servizio terminano con l'estensione di file `.service` e hanno uno
| systemctl | Descrizione |
| ----------------------------------------- | --------------------------------------------- |
| systemctl start *name*.service | Avviare un servizio |
-| systemctl stop *name*.service | Arresta un servizio |
+| systemctl stop *name*.service | Arrestare un servizio |
| systemctl restart *name*.service | Riavviare un servizio |
| systemctl reload *name*.service | Ricaricare una configurazione |
-| systemctl status *name*.service | Controlla se un servizio è in esecuzione |
+| systemctl status *name*.service | Controllare se un servizio è in esecuzione |
| systemctl try-restart *name*.service | Riavviare un servizio solo se è in esecuzione |
| systemctl list-units --type service --all | Visualizzare lo stato di tutti i servizi |
-Il comando `systemctl` viene utilizzato anche per `abilitare` o `disabilitare` un servizio di sistema e la visualizzazione dei servizi associati:
+Il comando `systemctl` viene utilizzato anche per `enable` o `disable` un servizio di sistema e la visualizzazione dei servizi associati:
-| systemctl | Descrizione |
-| ---------------------------------------- | ------------------------------------------------------------ |
-| systemctl enable *name*.service | Attivare un servizio |
-| systemctl disable *name*.service | Disabilitare un servizio |
-| systemctl list-unit-files --type service | Elenca tutti i servizi e i controlli se sono in esecuzione |
-| systemctl list-dependencies --after | Elenca i servizi che si avviano prima dell'unità specificata |
-| systemctl list-dependencies --before | Elenca i servizi che si avviano dopo l'unità specificata |
+| systemctl | Descrizione |
+| ---------------------------------------- | -------------------------------------------------------------- |
+| systemctl enable *name*.service | Attivare un servizio |
+| systemctl disable *name*.service | Disabilitare un servizio |
+| systemctl list-unit-files --type service | Elencare tutti i servizi e i controlli se sono in esecuzione |
+| systemctl list-dependencies --after | Elencare i servizi che si avviano prima dell'unità specificata |
+| systemctl list-dependencies --before | Elencare i servizi che si avviano dopo l'unità specificata |
Esempi:
@@ -256,9 +283,9 @@ WantedBy=multi-user.target
### Utilizzo degli obiettivi di sistema
-Su Rocky8/RHEL8, il concetto di runlevel è stato sostituito dagli obiettivi systemd.
+Su Rocky8/RHEL8, il concetto di runlevel è stato sostituito dagli obiettivi `systemd`.
-I sistemi di destinazione sono rappresentati da unità di destinazione. Le unità di destinazione terminano con l'estenzione `.target` e il loro unico scopo è di raggruppare altre unità systemd in una catena di dipendenze.
+La rappresentazione dei target di `systemd` è per unità di destinazione. Le unità di destinazione terminano con l'estenzione `.target` e il loro unico scopo è di raggruppare altre unità `systemd` in una catena di dipendenze.
Ad esempio, l'unità `graphical.target`, che viene utilizzata per avviare una sessione grafica, inizializza i servizi di sistema come il **GNOME display manager** (`gdm.service`) o l'**accounts service** (`accounts-daemon.service`) e attiva anche l'unità `multi-user.target`.
@@ -335,9 +362,9 @@ systemctl isolate name.target
La **Modalità di ripristino** fornisce un ambiente semplice per riparare il sistema nei casi in cui è impossibile eseguire un normale processo di avvio.
-In `modalità di ripristino`, il sistema tenta di montare tutti i file system locali e avviare diversi servizi di sistema importanti, ma non abilita un'interfaccia di rete o consente ad altri utenti di connettersi al sistema contemporaneamente.
+In `rescue mode`, il sistema tenta di montare tutti i file system locali e avviare diversi servizi di sistema importanti, ma non abilita un'interfaccia di rete o consente ad altri utenti di connettersi al sistema contemporaneamente.
-Su Rocky 8, la `modalità di ripristino` è equivalente al vecchio `single user mode` e richiede la password di root.
+Su Rocky 8, la `rescue mode` è equivalente al vecchio `single user mode` e richiede la password di root.
Per modificare la destinazione corrente immettere `rescue mode` nella sessione corrente:
@@ -372,7 +399,7 @@ I file di registro possono, oltre a `rsyslogd`, essere gestiti anche dal demone
Il demone `journald` cattura i messaggi Syslog, i messaggi di registro del kernel, i messaggi dal disco RAM iniziale e dall'inizio dell'avvio, nonché i messaggi scritti nell'output standard e l'output di errore standard di tutti i servizi, quindi li indicizza e li rende disponibili all'utente.
-Il formato del file di registro nativo, che è un file binario strutturato e indicizzato, migliora le ricerche e consente un funzionamento più rapido, memorizza anche le informazioni dei metadati, come i timestamp o gli ID utente.
+Il formato del file di log nativo, che è un file binario strutturato e indicizzato, migliora le ricerche e consente un funzionamento più rapido. Memorizza anche informazioni sui metadati, come i timestamp o gli ID utente.
### comando `journalctl`
@@ -382,7 +409,7 @@ Il comando `journalctl` visualizza i file di registro.
journalctl
```
-Il comando elenca tutti i file di registro generati sul sistema. La struttura di questa uscita è simile a quella utilizzata in `/var/log/messages/` ma offre alcuni miglioramenti:
+Il comando elenca tutti i file di registro generati sul sistema. La struttura di questo output è simile a quella utilizzata in `/var/log/messages/` ma offre alcuni miglioramenti:
* la priorità delle voci è segnata visivamente;
* i timestamp sono convertiti nella zona oraria locale del sistema;
diff --git a/docs/books/admin_guide/10-boot.uk.md b/docs/books/admin_guide/10-boot.uk.md
index 7dd8306039..2f4b13ca5d 100644
--- a/docs/books/admin_guide/10-boot.uk.md
+++ b/docs/books/admin_guide/10-boot.uk.md
@@ -47,7 +47,7 @@ Bootloader за умовчанням для дистрибутива Rocky 8 є
Файл конфігурації GRUB 2 знаходиться під `/boot/grub2/grub.cfg`, але цей файл не слід редагувати безпосередньо.
-Налаштування конфігурації меню GRUB2 розташовано в `/etc/default/grub` і використовуються для створення файлу `grub.cfg`.
+Ви можете знайти параметри конфігурації меню GRUB2 у `/etc/default/grub`. Команда `grub2-mkdconfig` використовує їх для створення файлу `grub.cfg`.
```bash
# cat /etc/default/grub
@@ -410,7 +410,7 @@ systemctl emergency
Демон `journald` фіксує повідомлення системного журналу, повідомлення журналу ядра, повідомлення з початкового диска RAM і від початку завантаження, а також повідомлення, записані в стандартний вивід і стандартний вивід помилок усіх служб, а потім індексує їх і робить доступними для користувача.
-Формат власного файлу журналу, який є структурованим і проіндексованим двійковим файлом, покращує пошук і забезпечує швидшу роботу, він також зберігає метадані, такі як мітки часу або ідентифікатори користувачів.
+Формат власного файлу журналу, який є структурованим і проіндексованим двійковим файлом, покращує пошук і забезпечує швидшу роботу. Він також зберігає метадані, такі як мітки часу або ідентифікатори користувачів.
### Команда `journalctl`
diff --git a/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.it.md b/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.it.md
new file mode 100644
index 0000000000..2e3e275635
--- /dev/null
+++ b/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.it.md
@@ -0,0 +1,159 @@
+---
+title: Espressioni regolari e wildcards
+author: Tianci Li
+contributors: null
+tags:
+ - Regular expressions
+ - Wildcards
+---
+
+# Espressioni regolari e wildcards
+
+Nel sistema operativo GNU/Linux, le espressioni regolari e le wildcard hanno spesso lo stesso simbolo (o stile), quindi, sono spesso confusi tra loro.
+
+Qual è la differenza tra espressioni regolari e wildcard?
+
+Analogie:
+
+- Utilizzano lo stesso simbolo, ma hanno un significato completamente differente.
+
+Differenze:
+
+- Le espressioni regolari sono usate per trovare corrispondenze nel contenuto dei file; le wildcard sono tipicamente usate per individuare i nomi di file o directory.
+- Le espressioni regolari sono utilizzate solitamente in comandi come `grep`, `sed`, `awk` e così via.
+- Le wildcard sono invece utilizzate con comandi quali `cp`, `find`, `mv`, `touch`, `ls`, e così via.
+
+## Wildcard su GNU/Linux
+
+Il sistema operativo GNU/Linux supporta queste wildcard:
+
+| stile delle wildcard | ruolo |
+| :-----------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ? | Corrisponde a un carattere del nome di un file o di una directory. |
+| \* | Abbina 0 o più caratteri qualsiasi del nome di un file o una cartella. |
+| [ ] | Cerca la corrispondenza di ogni singolo carattere tra le parentesi. Ad esempio, [one], cerca la corrispondenza sia con 'o' oppure 'n' o 'e'. |
+| [-] | Cerca la corrispondenza con ogni singolo carattere all'interno dell'intervallo dato tra le parentesi. Ad esempio, [0-9], cerca l'abbinamento di ogni singolo numero tra 0 e 9. |
+| [^] | Indica la negazione logica nel cercare la corrispondenza di un singolo carattere. Ad esempio, [^a-zA-Z], indica che un singolo carattere non deve essere alfabetico. |
+| {,} | Corrispondenza non continua di più caratteri singoli. Separati da virgole. |
+| {..} | Analogo a [-]. Ad esempio {0..9} e {a..z} |
+
+Comandi differenti prevedono diversi stili di wildcard:
+
+- `find`: Utilizza \*, ?, [ ], [-], [^]
+- `ls`: accetta tutti gli stili di wildcards
+- `mkdir`: accetta {,} e {..}
+- `touch`: adotta {,} e {..}
+- `mv`: accetta tutti gli stili di wildcard
+- `cp`: accetta tutti gli stili di wildcard
+
+Per esempio:
+
+```bash
+Shell > mkdir -p /root/dir{1..3}
+Shell > cd /root/dir1/
+Shell > touch file{1,5,9}
+Shell > cd
+Shell > mv /root/dir1/file[1-9] /root/dir2/
+Shell > cp /root/dir2/file{1..9} /root/dir3/
+Shell > find / -iname "dir[1-9]" -a -type d
+```
+
+## Espressioni regolari su GNU/Linux
+
+Per ragioni storiche, esistono due scuole principali delle espressioni regolari:
+
+- POSIX:
+ - BRE(espressioni regolari di base)
+ - ERE(espressioni regolari estese)
+ - Classe di carattere POSIX
+- PCRE (Espressioni Regolari Compatibili con Perl): La più comune tra vari linguaggi di programmazione.
+
+| | BRE | ERE | Classe di carattere POSIX | PCRE |
+| :----: | :-: | :-------------------------------------------------: | :-----------------------: | :-------------------------------------------------: |
+| `grep` | √ | √
(Richiede il parametro -E) | √ | √
(Richiede il parametro -P) |
+| `sed` | √ | √
(Richiede il parametro -r) | √ | × |
+| `awk` | √ | √ | √ | × |
+
+Per saperne di più sulle espressioni regolari, si prega di prendere visione di [questo sito web](https://www.regular-expressions.info/) per maggiori informazioni.
+
+### BRE
+
+BRE (Espressione regolare di base) è la più vecchia tipologia di espressione regolare, fu introdotta dal comando `grep` nei sistemi UNIX e dall'editor di testo **ed**.
+
+| meta-carattere | descrizione | esempio di bash |
+| :-----------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |
+| \* | Confronta il numero di occorrenze del carattere precedente, che può essere 0 o un numero qualsiasi di volte. | |
+| . | Corrisponde ad un qualsiasi singolo carattere, ad eccezione delle interruzioni di riga. | |
+| ^ | Trova la corrispondenza all'inizio della riga. Ad esempio - **^h** corrisponde alle righe che iniziano con 'h'. | |
+| $ | Trova la corrispondenza alla fine della riga. Ad esempio - **h$** trova le righe che terminano con 'h'. | |
+| [] | Cerca il risultato per ogni carattere specificato tra le parentesi. Per esempio, **[who]** cercherà le parole con 'w' o 'h' od 'o'; **[0-9]** ricerca un volere numerico da 1 a 9; **[0-9][a-z]** la corrispondenza includerà un carattere tra quelli numerici o lettere minuscole. | |
+| [^] | Segno di negazione logica. Cerca qualsiasi corrispondenza tranne quelli tra parentesi. Per esempio, **[^0-9]** abbinerà ogni carattere non numerico. **[^a-z]** cerca la corrispondenza i caratteri non siano una lettera minuscola. | |
+| \ | Carattere di escape, in inglese backslash, utilizzato per annullare il significato rappresentato da alcuni simboli speciali. | `echo -e "1.2\n122" \\| grep -E '1\.2'`
**1.2** |
+| \\{n\\} | Ricerca il numero di ripetizioni del singolo carattere che lo precede, n rappresenta il numero di ripetizioni. | `echo -e "1994\n2000\n2222" \\| grep "[24]\{4\}"`
**2222** |
+| \\{n,\\} | Ricerca il carattere che lo precede se è ripetuto almeno n volte. | `echo -e "1994\n2000\n2222" \\| grep "[29]\{2,\}"`
1**99**4
**2222** |
+| \\{n,m\\} | Ricerca il carattere che lo precede se è ripetuto almeno n volte ed un massimo di m volte. | `echo -e "abcd\n20\n300\n4444" \\| grep "[0-9]\{2,4\}"`
**20**
**300**
**4444** |
+
+### ERE
+
+| meta-carattere | descrizione | esempio di bash |
+| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |
+| + | Ricerca il numero di ripetizioni del carattere che lo precede, possono essere 1 o più volte. | `echo -e "abcd\nab\nabb\ncdd" \\| grep -E "ab+"`
**ab**cd
**ab**
**abb** |
+| ? | Ricerca se un singolo carattere sia presente oppure no. | `echo -e "ac\nabc\nadd" \\| grep -E 'a?c'`
**ac**
ab**c** |
+| \\< | Carattere boundary, ricerca il carattere all'inizio di una stringa. | `echo -e "1\n12\n123\n1234" \\| grep -E "\<123"`
**123**
**123**4 |
+| \\> | Carattere boundary, ricerca se il carattere sia presente alla fine della stringa. | `echo -e "export\nimport\nout" \\| grep -E "port\>"`
ex**port**
im**port** |
+| () | Associazione combinatoria, ossia, ricerca una stringa tra le possibili combinazioni tra le parentesi. | `echo -e "123abc\nabc123\na1b2c3" \\| grep -E "([a-z][0-9])+"`
ab**c1**23
**a1b2c3** |
+| \\| | Il simbolo pipeline rappresenta l'operazione logica "o". | `echo -e "port\nimport\nexport\none123" \\| grep -E "port\>\\|123"`
**port**
im**port**
ex**port**
one**123** |
+
+ERE, inoltre, supporta i caratteri speciali:
+
+| caratteri speciali | descrizione |
+| :----------------: | :--------------------------------------------------------------------------------------------------------------------------------- |
+| \\w | Equivale a **[a-zA-Z0-9]** |
+| \\W | Equivale a **[^a-zA-Z0-9]** |
+| \\d | Equivale a **[0-9]** |
+| \\D | Equivale a **[^0-9]** |
+| \\b | Equivale a **\\<** or **\\>** |
+| \\B | Cerca l'associazione solo con i caratteri non agli estremi. |
+| \\s | Abbina ogni carattere whitespace. Equivale a **[ \f\n\r\t\v]** |
+| \\S | Equivale a **[^ \f\n\r\t\v]** |
+
+| carattere vuoto | descrizione |
+| :-------------: | :------------------------------------------------------------------------------------- |
+| \\f | Ricerca il carattere di fine pagina. Equivale a **\\x0c** e **\\cL** |
+| \\n | Ricerca l'interruzioni di riga. Equivale a **\\x0a** e **\\cJ** |
+| \\r | Ricerca il ritorno a capo. Equivale a **\\x0d** e **\\cM** |
+| \\t | Ricerca il carattere di tabulazione. Equivale a **\\x09** e **\cl** |
+| \\v | Ricerca la tabulazione verticale. Equivale a **\\x0b** e **\\cK** |
+
+### Carattere POSIX
+
+Talvolta si possono incontrare i "caratteri POSIX" (anche noti come "classe di caratteri POSIX").
+Si noti che l'autore utilizza raramente la “classe di caratteri POSIX”, ma ha incluso questa sezione per migliorare la comprensione di base.
+
+| Carattere POSIX | equivale a |
+| :--------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [:alnum:] | [a-zA-Z0-9] |
+| [:alpha:] | [a-zA-Z] |
+| [:lower:] | [a-z] |
+| [:upper:] | [A-Z] |
+| [:digit:] | [0-9] |
+| [:space:] | [ \f\n\r\t\v] |
+| [:graph:] | [^ \f\n\r\t\v] |
+| [:blank:] | [ \t] |
+| [:cntrl:] | [\x00-\x1F\x7F] |
+| [:print:] | [\x20-\x7E] |
+| [:punct:] | [][!"#$%&'()\*+,./:;<=>?@\^_\`{\\|}~-] |
+| [:xdigit:] | [A-Fa-f0-9] |
+
+### Introduzione alle espressioni regolari
+
+Esistono molti siti web per fare pratica online con le espressioni regolari, come:
+
+- [regex101](https://regex101.com/)
+- [oschina](https://tool.oschina.net/regex/)
+- [regexr](https://regexr.com/)
+- [regelearn](https://regexlearn.com/)
+- [coding](https://coding.tools/regex-tester)
+
+* [cyrilex](https://extendsclass.com/regex-tester.html)
+
diff --git a/docs/books/sed_awk_grep/2_grep_command.it.md b/docs/books/sed_awk_grep/2_grep_command.it.md
new file mode 100644
index 0000000000..59f03c85d6
--- /dev/null
+++ b/docs/books/sed_awk_grep/2_grep_command.it.md
@@ -0,0 +1,280 @@
+---
+title: Comando Grep
+author: tianci li
+contributors: null
+tags:
+ - grep
+---
+
+# Comando `grep`
+
+Il comando `grep` filtra il contenuto di file singoli o multipli. Esistono alcune varianti di questo strumento di comando, come `egrep (grep -E)` e `fgrep (grep -f)`. Per le informazioni non trattate, vedere [il manuale di `grep`](https://www.gnu.org/software/grep/manual/ "grep manual").
+
+L'uso del comando `grep` è:
+
+```text
+grep [OPTIONS] PATTERN [FILE...]
+grep [OPTIONS] -e PATTERN ... [FILE...]
+grep [OPTIONS] -f FILE ... [FILE...]
+```
+
+Le opzioni sono principalmente suddivise in quattro parti:
+
+- controllo delle corrispondenze
+- controllo del risultato
+- controllo della linea di contenuto
+- controllo di directory o file
+
+controllo delle corrispondenze:
+
+| opzioni | descrizione |
+| :----------------------- | :---------------------------------------------------------------------------------- |
+| -E
--extended-regexp | Abilita ERE |
+| -P
--perl-regexp | Abilita PCRE |
+| -G
--basic-regexp | Abilita BRE di default |
+| -e
--regexp=PATTERN | Abbinamento del modello, possono essere specificate più opzioni -e. |
+| -i | Ignora maiuscole e minuscole |
+| -w | Abbinare con precisione l'intera parola |
+| -f FILE | Ottenere i modelli da FILE, uno per riga |
+| -x | Corrispondenza del modello all'intera riga |
+| -v | Seleziona le righe di contenuto non corrispondenti |
+
+controllo del risultato:
+
+| opzioni | descrizione |
+| :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| -m NUM | Produce i primi risultati corrispondenti |
+| -n | Stampa i numeri di riga sull'output |
+| -H | Quando si cerca di abbinare il contenuto di più file, il nome del file viene visualizzato all'inizio della riga. Questa è l'impostazione predefinita |
+| -h | Quando trova uno o più ricorrenze all'interno di più file, all'inizio di ogni riga non mostra il nome del file di appartenenza della stringa |
+| -o | Elenca solo il pattern ricercato in tutti i file selezionati, senza scrivere l'intera riga di appartenenza |
+| -q | Non fornisce alcuna informazione, se non lo stato di output (0 se non trova ricorrenze, 1 se ne trova almeno una) |
+| -s | Non visualizza messaggi d'errore |
+| -r | Esegue la ricerca in modo ricorsivo nelle sotto directory |
+| -c | Visualizza, per ogni file, il numero di righe nelle quali trova un match |
+
+gestione del contenuto delle linee:
+
+| opzioni | descrizione |
+| :------ | :---------------------------------------------------------------------- |
+| -B NUM | Visualizza il NUM di righe che precedono quella con il match ricercato |
+| -A NUM | Visualizza il NUM di righe successive alla linea con il match ricercato |
+| -C NUM | Visualizza il NUM di righe che precedono e seguono il match ricercato |
+
+gestione dei file o directory:
+
+| opzioni | descrizione |
+| :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| --include=FILE_PATTERN | Cerca soltanto i file con nome che corrisponda al FILE_PATTERN. I wildcard supportati per i nomi dei file sono \*, ?, [], [^], [-], {..}, {,} |
+| --exclude=FILE_PATTERN | Salta i file e le cartelle con nomi che corrispondono al FILE_PATTERN. I wildcard supportati per i nomi dei file sono \*, ?, [], [^], [-], {..}, {,} |
+| --exclude-dir=PATTERN | Esclude il nome delle cartelle specificato in PATTERN. I wildcard supportati per i nomi delle cartelle sono \*, ?, [], [^], [-], {..}, {,} |
+| --exclude-from=FILE | Esclude dalla ricerca le directory e file contenuti in FILE |
+
+## Esempi di utilizzo
+
+1. Opzione -f e opzione -o
+
+ ```bash
+ Shell > cat /root/a
+ abcdef
+ 123456
+ 338922549
+ 24680
+ hello world
+
+ Shell > cat /root/b
+ 12345
+ test
+ world
+ aaaaa
+
+ # Usa ogni riga del file b come un pattern da ricercare nel file a e mostra le corrispondenze.
+ Shell > grep -f /root/b /root/a
+ 123456
+ hello world
+
+ Shell > grep -f /root/b /root/a -o
+ 12345
+ world
+ ```
+
+2. Ricerca di pattern multiplo (usare l'opzione -e)
+
+ ```bash
+ Shell > echo -e "a\nab\nbc\nbcde" | grep -e 'a' -e 'cd'
+ a
+ ab
+ bcde
+ ```
+
+ oppure:
+
+ ```bash
+ Shell > echo -e "a\nab\nbc\nbcde" | grep -E "a|cd"
+ a
+ ab
+ bcde
+ ```
+
+3. Rimuove le righe vuote e le righe di commento dal file di configurazione
+
+ ```bash
+ Shell > grep -v -E "^$|^#" /etc/chrony.conf
+ server ntp1.tencent.com iburst
+ server ntp2.tencent.com iburst
+ server ntp3.tencent.com iburst
+ server ntp4.tencent.com iburst
+ driftfile /var/lib/chrony/drift
+ makestep 1.0 3
+ rtcsync
+ keyfile /etc/chrony.keys
+ leapsectz right/UTC
+ logdir /var/log/chrony
+ ```
+
+4. Visualizza i primi 5 risultati corrispondenti
+
+ ```bash
+ Shell > seq 1 20 | grep -m 5 -E "[0-9]{2}"
+ 10
+ 11
+ 12
+ 13
+ 14
+ ```
+
+ oppure:
+
+ ```bash
+ Shell > seq 1 20 | grep -m 5 "[0-9]\{2\}"
+ 10
+ 11
+ 12
+ 13
+ 14
+ ```
+
+5. Opzione -B e opzione -A
+
+ ```bash
+ Shell > seq 1 20 | grep -B 2 -A 3 -m 5 -E "[0-9]{2}"
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ ```
+
+6. Opzione -C
+
+ ```bash
+ Shell > seq 1 20 | grep -C 3 -m 5 -E "[0-9]{2}"
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ ```
+
+7. Opzione -c
+
+ ```bash
+ Shell > cat /etc/ssh/sshd_config | grep -n -i -E "port"
+ 13:# If you want to change the port on a SELinux system, you have to tell
+ 15:# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
+ 17:#Port 22
+ 99:# WARNING: 'UsePAM no' is not supported in RHEL and may cause several
+ 105:#GatewayPorts no
+
+ Shell > cat /etc/ssh/sshd_config | grep -E -i "port" -c
+ 5
+ ```
+
+8. Opzione -v
+
+ ```bash
+ Shell > cat /etc/ssh/sshd_config | grep -i -v -E "port" -c
+ 140
+ ```
+
+9. Filtra i file in una cartella aventi righe corrispondenti alla stringa (Escludi i file nelle cartelle secondarie)
+
+ ```bash
+ Shell > grep -i -E "port" /etc/n*.conf -n
+ /etc/named.conf:11: listen-on port 53 { 127.0.0.1; };
+ /etc/named.conf:12: listen-on-v6 port 53 { ::1; };
+ /etc/nsswitch.conf:32:# winbind Use Samba winbind support
+ /etc/nsswitch.conf:33:# wins Use Samba wins support
+ ```
+
+10. Filtra i file di una directory che hanno righe corrispondenti alla stringa (include o esclude i file o le directory nelle sotto directory)
+
+ Includere la sintassi per file multipli:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --include={0..20}_*
+ /etc/grub.d/20_ppc_terminfo:26:export TEXTDOMAIN=grub
+ /etc/grub.d/20_ppc_terminfo:27:export TEXTDOMAINDIR=/usr/share/locale
+ /etc/grub.d/20_linux_xen:26:export TEXTDOMAIN=grub
+ /etc/grub.d/20_linux_xen:27:export TEXTDOMAINDIR="${datarootdir}/locale"
+ /etc/grub.d/20_linux_xen:46:# Default to disabling partition uuid support to maintian compatibility with
+ /etc/grub.d/10_linux:26:export TEXTDOMAIN=grub
+ /etc/grub.d/10_linux:27:export TEXTDOMAINDIR="${datarootdir}/locale"
+ /etc/grub.d/10_linux:47:# Default to disabling partition uuid support to maintian compatibility with
+
+ Shell > grep -n -i -r -E "port" /etc/ --include={{0..20}_*,sshd_config} -c
+ /etc/ssh/sshd_config:5
+ /etc/grub.d/20_ppc_terminfo:2
+ /etc/grub.d/10_reset_boot_success:0
+ /etc/grub.d/12_menu_auto_hide:0
+ /etc/grub.d/20_linux_xen:3
+ /etc/grub.d/10_linux:3
+ ```
+
+ Se devi escludere un singola directory, utilizza la seguente sintassi:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir=selin[u]x
+ ```
+
+ Se devi escludere più cartelle, utilizza la seguente sintassi:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir={selin[u]x,"profile.d",{a..z}ki,au[a-z]it}
+ ```
+
+ Se devi escludere un singolo file, utilizza la seguente sintassi:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude=sshd_config
+ ```
+
+ Se devi escludere più file, utilizza la seguente sintassi:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude={ssh[a-z]_config,*.conf,services}
+ ```
+
+ Se devi escludere più file e cartelle in un unico comando, utilizza la seguente sintassi:
+
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir={selin[u]x,"profile.d",{a..z}ki,au[a-z]it} --exclude={ssh[a-z]_config,*.conf,services,[0-9][0-9]*}
+ ```
+
+11. Conta tutti gli indirizzi IPv4 di sistema
+
+ ```bash
+ Shell > ip a | grep -o -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | grep -v -E "127|255"
+ 192.168.100.3
+ ```
diff --git a/docs/books/sed_awk_grep/index.it.md b/docs/books/sed_awk_grep/index.it.md
new file mode 100644
index 0000000000..a2016d0e54
--- /dev/null
+++ b/docs/books/sed_awk_grep/index.it.md
@@ -0,0 +1,16 @@
+---
+title: Sed, Awk e Grep - i tre spadaccini
+author: tianci li
+contributors: null
+tags:
+ - grep
+ - sed
+ - awk
+ - Regular expression
+---
+
+# Panoramica
+
+Il sistema operativo GNU/Linux segue la filosofia del "tutto è un file". Una conseguenza secondaria di questa filosofia è che gli amministratori di sistema devono spesso interagire con file, nomi di file e contenuti di file.
+
+Per quanto riguarda l'elaborazione del contenuto dei file, i tre strumenti `grep`, `sed` e `awk` sono potenti e frequentemente utilizzati, tanto che vengono chiamati i "tre spadaccini".
diff --git a/docs/desktop/appimage/install_software_with_appimage.it.md b/docs/desktop/appimage/install_software_with_appimage.it.md
new file mode 100644
index 0000000000..14512d8dee
--- /dev/null
+++ b/docs/desktop/appimage/install_software_with_appimage.it.md
@@ -0,0 +1,92 @@
+---
+title: Installare Software con un AppImage
+author: Brinkman Joseph
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+## Introduzione
+
+Le AppImages sono un modo comodo per installare software su Linux senza usare i gestori di pacchetti o la riga di comando. Si tratta di singoli file eseguibili che contengono tutte le dipendenze del programma, il che li rende facili da eseguire su varie distribuzioni Linux. Per gli utenti finali che hanno familiarità con i sistemi operativi Windows e Mac, l'installazione del software con un'AppImage può essere più semplice della gestione dei repository o della creazione dai sorgenti.
+
+L'installazione di programmi sul desktop Rocky Linux con AppImage avviene in tre fasi:
+
+1. Scaricare l'AppImage del programma desiderato
+2. Rendere il programma eseguibile
+3. Eseguire il programma per installarlo
+
+Il programma di esempio utilizzato in questa guida è Krita. Lo si scarica e installa utilizzando una AppImage. Krita è un software di progettazione grafica gratuito e open-source. Poiché questa guida riguarda le funzioni di AppImage, non ci saranno dettagli sull'uso di Krita. Potete [leggere di più sul loro sito web](https://krita.org/).
+
+## Presupposti
+
+Per questa guida sono necessari i seguenti elementi:
+
+- Rocky Linux con un ambiente desktop installato
+- Privilegi `sudo`
+
+## Scaricare la AppImage di un programma
+
+Il primo passo per l'installazione di un software tramite AppImage è il download dell'AppImage del programma. Per scaricare l'immagine dell'applicazione Krita, andare alla pagina [Download](https://krita.org/en/download/) e fare clic sul pulsante `Download`.
+
+
+
+## Installare un programma con la sua AppImage
+
+Dopo aver scaricato l'immagine dell'applicazione, è necessario navigare nella cartella `Downloads` per rendere il file eseguibile prima di eseguirlo.
+
+Nell'angolo superiore sinistro del desktop di Rocky Linux, fare clic su Attività:
+
+![Desktop Rocky Linux con sfondo predefinito. Il mouse è posizionato sul pulsante delle attività] (images/activites_appimage.webp).
+
+Una volta avviato il pannello delle attività, digitate “file” nel campo di ricerca. Cliccare la app Files:
+
+
+
+I file verranno avviati nella home directory. Fare clic sulla cartella Download:
+
+
+
+Dopo aver navigato nella directory AppImage, è il momento di rendere il programma eseguibile. Fare clic con il pulsante destro del mouse sul file AppImage e selezionare proprietà:
+
+
+
+Selezionate le autorizzazioni dal menu delle proprietà del file:
+
+
+
+Selezionare la casella di controllo “Esegui” prima di chiudere il menu delle proprietà:
+
+
+
+Se invece volete usare la riga di comando, aprite il terminale ed eseguite il seguente comando per rendere l'AppImage eseguibile:
+
+```bash
+sudo chmod a+x ~/Downloads/krita*.appimage
+```
+
+## Eseguire il programma utilizzanod AppImage
+
+Si è arrivati al passo finale: l'esecuzione dell'immagine dell'applicazione!
+
+!!! note "Nota"
+
+```
+L'esecuzione di un'immagine dell'applicazione non installa il programma nei file del sistema come fanno i pacchetti software tradizionali. Ciò significa che ogni volta che si desidera utilizzare il programma, è necessario fare doppio clic sull'AppImage. Per questo motivo, è importante conservare l'immagine dell'applicazione in un luogo sicuro e memorabile.
+```
+
+Fare doppio clic sull'immagine dell'applicazione:
+
+
+
+In alternativa, è possibile eseguire il seguente comando di shell invece di fare doppio clic sull'immagine dell'applicazione:
+
+```bash
+ ./krita*.appimage
+```
+
+Poco dopo aver eseguito l'immagine dell'applicazione, Krita si avvia.
+
+
+
+## Conclusione
+
+Questa guida ha insegnato come scaricare e utilizzare un programma con una AppImage. Le AppImages sono comode per gli utenti finali, che non devono sapere come gestire le repository, compilare dai sorgenti o usare la riga di comando per usare i loro programmi preferiti con una AppImage disponibile.
diff --git a/docs/desktop/display/installing_nvidia_gpu_drivers.de.md b/docs/desktop/display/installing_nvidia_gpu_drivers.de.md
index 92fc269212..99f183eef9 100644
--- a/docs/desktop/display/installing_nvidia_gpu_drivers.de.md
+++ b/docs/desktop/display/installing_nvidia_gpu_drivers.de.md
@@ -91,6 +91,20 @@ sudo dnf module install nvidia-driver:latest-dkms -y
sudo grubby --args="nouveau.modeset=0 rd.driver.blacklist=nouveau" --update-kernel=ALL
```
+!!! note "Anmerkung"
+
+````
+Bei Systemen mit aktiviertem Secure Boot führen Sie folgenden Schritt aus:
+
+```bash
+sudo mokutil --import /var/lib/dkms/mok.pub
+```
+
+Der Befehl `mokutil` fordert Sie zur Eingabe eines Passworts auf, das beim Neustart verwendet wird.
+
+Nach dem Neustart werden Sie gefragt, ob Sie einen Schlüssel oder Ähnliches registrieren möchten. Bestätigen Sie mit `yes`, und Sie werden nach dem Passwort gefragt, das Sie im Befehl `mokutil` angegeben haben.
+````
+
Reboot:
```bash
diff --git a/docs/desktop/display/installing_nvidia_gpu_drivers.fr.md b/docs/desktop/display/installing_nvidia_gpu_drivers.fr.md
index faa495d02a..5353683d55 100644
--- a/docs/desktop/display/installing_nvidia_gpu_drivers.fr.md
+++ b/docs/desktop/display/installing_nvidia_gpu_drivers.fr.md
@@ -91,6 +91,20 @@ sudo dnf module install nvidia-driver:latest-dkms -y
sudo grubby --args="nouveau.modeset=0 rd.driver.blacklist=nouveau" --update-kernel=ALL
```
+!!! note "Remarque"
+
+````
+Pour les systèmes avec démarrage sécurisé activé, procédez comme suit :
+
+```bash
+sudo mokutil --import /var/lib/dkms/mok.pub
+```
+
+La commande `mokutil` vous demandera de créer un mot de passe qui sera utilisé lors du redémarrage.
+
+Après le redémarrage, votre système devrait vous demander si vous souhaitez enregistrer une clé ou quelque chose de similaire. Répondez `yes` et le mot de passe saisi dans la commande `mokutil` vous sera demandé.
+````
+
Reboot:
```bash
diff --git a/docs/desktop/display/installing_nvidia_gpu_drivers.it.md b/docs/desktop/display/installing_nvidia_gpu_drivers.it.md
new file mode 100644
index 0000000000..473d40d841
--- /dev/null
+++ b/docs/desktop/display/installing_nvidia_gpu_drivers.it.md
@@ -0,0 +1,116 @@
+---
+title: Installazione drivers NVIDIA GPU
+author: Brinkman Joseph
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+## Introduzione
+
+NVIDIA^®^ è uno dei produttori di GPU più popolari. È possibile installare i driver delle GPU NVIDIA in più di un modo. Questa guida utilizza il repository ufficiale di NVIDIA per installare i suoi driver. Per questo motivo, [la guida all'installazione di NVIDIA](https://docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf) è un riferimento importante.
+
+!!! note "Nota"
+
+```
+Il link per le attività di pre-installazione nella guida ufficiale di NVIDIA è inutilizzabile. Per installare il driver NVIDIA, è necessario installare le utility e le dipendenze necessarie dal loro repository ufficiale.
+```
+
+Alcuni altri modi alternativi per installare i driver NVIDIA includono:
+
+- L'installer `.run` di NVIDIA
+- Repo RPMFusion di terze parti
+- Driver ELRepo di terze parti
+
+Nella maggior parte dei casi, è meglio installare i driver NVIDIA dalla fonte ufficiale. RPMFusion e ELRepo sono disponibili per chi preferisce un repository più comunity-based. Per l'hardware più vecchio, la soluzione migliore è RPMFusion. È consigliabile evitare di usare il programma di installazione `.run`. Sebbene sia comodo, l'uso del programma di installazione `.run` è noto per la sovrascrittura dei file di sistema e per i problemi di incompatibilità.
+
+## Presupposti
+
+Per questa guida sono necessari i seguenti elementi:
+
+- Rocky Linux Workstation
+- Privilegi `sudo`
+
+## Installare le utility e le dependencies necessarie
+
+Attivare il repository Extra Packages for Enterprise Linux (EPEL):
+
+```bash
+sudo dnf install epel-release -y
+```
+
+L'installazione dei 'Development Tools' assicura le necessarie dipendenze di compilazione:
+
+```bash
+sudo dnf groupinstall "Development Tools" -y
+```
+
+Il pacchetto `kernel-devel` fornisce gli header e gli strumenti necessari per costruire i moduli del kernel:
+
+```bash
+sudo dnf install kernel-devel -y
+```
+
+Dynamic Kernel Module Support (DKMS) è un programma utilizzato per il rebuild automatico dei moduli del kernel:
+
+```bash
+sudo dnf install dkms -y
+```
+
+## Installare i driver NVIDIA
+
+Dopo aver installato i prerequisiti necessari, è il momento di installare i driver NVIDIA.
+
+Aggiungere il repository ufficiale di NVIDIA con il seguente comando:
+
+!!! note "Nota"
+
+```
+Se si utilizza Rocky 8, sostituire `rhel9` nel percorso del file con `rhel8`.
+```
+
+```bash
+sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo
+```
+
+Successivamente, installare una serie di pacchetti necessari per la creazione e l'installazione dei moduli del kernel:
+
+```bash
+sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconf dkms -y
+```
+
+Installare il driver NVIDIA più recente per il proprio sistema:
+
+```bash
+sudo dnf module install nvidia-driver:latest-dkms -y
+```
+
+## Disabilitare Nouveau
+
+Nouveau è un driver NVIDIA open-source che offre funzionalità limitate rispetto ai driver proprietari di NVIDIA. È meglio disabilitarla per evitare conflitti con i driver:
+
+```bash
+sudo grubby --args="nouveau.modeset=0 rd.driver.blacklist=nouveau" --update-kernel=ALL
+```
+
+!!! Note "Nota"
+
+````
+Per i sistemi con l'avvio sicuro abilitato è necessario eseguire questo passaggio:
+
+```bash
+bash sudo mokutil --import /var/lib/dkms/mok.pub
+```
+
+Il comando `mokutil` vi chiederà di creare una password, che sarà usata durante il riavvio.
+
+Dopo il riavvio, il sistema dovrebbe chiedervi se volete registrare una chiave o qualcosa di simile, rispondete "sì" e vi chiederà la password che avete dato nel comando `mokutil`.
+````
+
+Riavvio:
+
+```bash
+sudo reboot now
+```
+
+## Conclusione
+
+I driver delle GPU NVIDIA sono stati installati con successo sul sistema utilizzando il repository ufficiale di NVIDIA. Sfruttate le capacità avanzate della vostra GPU NVIDIA che i driver Nouveau predefiniti non sono in grado di offrire.
diff --git a/docs/desktop/display/installing_nvidia_gpu_drivers.uk.md b/docs/desktop/display/installing_nvidia_gpu_drivers.uk.md
index 4b0c17475d..7d3e556825 100644
--- a/docs/desktop/display/installing_nvidia_gpu_drivers.uk.md
+++ b/docs/desktop/display/installing_nvidia_gpu_drivers.uk.md
@@ -91,6 +91,20 @@ Nouveau — це драйвер NVIDIA з відкритим вихідним к
sudo grubby --args="nouveau.modeset=0 rd.driver.blacklist=nouveau" --update-kernel=ALL
```
+!!! Note "Примітка"
+
+````
+Для систем із увімкненим безпечним завантаженням вам потрібно виконати цей крок:
+
+```bash
+sudo mokutil --import /var/lib/dkms/mok.pub
+```
+
+Команда `mokutil` запропонує вам створити пароль, який використовуватиметься під час перезавантаження.
+
+Після перезавантаження ваша система має запитати вас, чи хочете ви зареєструвати ключ або щось подібне; скажіть «yes», і він запитає пароль, який ви вказали в команді `mokutil`.
+````
+
Перезавантаження:
```bash
diff --git a/docs/desktop/gnome/dconf.it.md b/docs/desktop/gnome/dconf.it.md
new file mode 100644
index 0000000000..37179e12c1
--- /dev/null
+++ b/docs/desktop/gnome/dconf.it.md
@@ -0,0 +1,90 @@
+---
+title: dconf Config Editor
+author: Ezequiel Bruni
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+## Introduzione
+
+GNOME ha un approccio molto semplificato alla sua interfaccia e le sue funzionalità. Non è un male, perché è facile da imparare e l'esperienza predefinita di GNOME permette di lavorare al meglio.
+
+Tuttavia questo approccio fa si che non sia configurabile con la stessa rapidità. Se non riuscite a trovare ciò che vi serve nel pannello delle impostazioni, potete installare GNOME Tweaks per ampliare le vostre opzioni. Si può anche installare GNOME extensions per ottenere nuove funzionalità e opzioni.
+
+Ma cosa succede se si vogliono vedere tutte le piccole impostazioni, le caratteristiche e le configurazioni che gli sviluppatori di GNOME hanno nascosto? Si può cercare il problema attuale online e digitare un comando per modificare una variabile oscura, oppure si può installare `dconf Editor`.
+
+`dconf Editor` è un'applicazione per le impostazioni di GNOME con _tutto_. Potrebbe ricordare un po' il Registro di Windows, e in effetti è simile. Tuttavia, è più leggibile e copre solo le funzionalità di GNOME e alcuni software costruiti per GNOME.
+
+È inoltre possibile modificare le impostazioni delle estensioni di GNOME.
+
+!!! warning "Attenzione"
+
+```
+Il paragone con il registro di Windows era del tutto intenzionale. Come le chiavi di registro difettose, *alcune* delle impostazioni di GNOME Shell possono rompere l'installazione di GNOME o comunque causare problemi. Potrebbe essere necessario ripristinare le vecchie impostazioni tramite la riga di comando.
+
+Se non si è sicuri di cosa faccia una particolare impostazione, è bene fare prima una ricerca. La modifica delle impostazioni delle applicazione va bene, tuttavia, ed è molto più facile da invertire.
+```
+
+## Presupposti
+
+Per questa guida sono necessari i seguenti elementi:
+
+- Rocky Linux con GNOME installato.
+- L'autorità di installare il software sul sistema (privilegi `sudo`).
+
+## Installazione di `dconf Editor`
+
+Accedere all'applicazione "Software", cercare "Dconf Editor" e fare clic sul pulsante di installazione. È disponibile nel repository predefinito di Rocky Linux.
+
+
+
+Per installare l'editor dconf dalla riga di comando, procedere come segue:
+
+```bash
+sudo dnf install dconf-editor
+```
+
+## Utilizzo dell'editor \`dconf
+
+Una volta aperta l'applicazione, si notano tre importanti elementi dell'interfaccia utente. In cima c'è il percorso. Tutte le impostazioni di GNOME si trovano in una struttura di percorsi/cartelle.
+
+In alto a destra si trova un pulsante con una stellina. È il pulsante dei preferiti, che consente di salvare il proprio posto nell'app e di tornarvi in seguito in modo semplice e veloce. In basso si trova il pannello centrale in cui si selezionano le sottocartelle delle impostazioni e si modificano le impostazioni come si ritiene opportuno.
+
+
+
+A sinistra del pulsante Preferiti si trova il pulsante di ricerca, che svolge esattamente le funzioni che ci si aspetta.
+
+E se si desidera modificare alcune impostazioni nel file manager? Ad esempio, adoro la barra laterale. Lo trovo molto utile. Ma forse voi la pensate diversamente e volete cambiare le cose. Quindi, per questa guida, deve essere eliminata.
+
+
+
+Andate in `/org/gnome/nautilus/window-state' e vedrete un'opzione chiamata `start-with-sidebar\`. Premete la levetta e fate clic sul pulsante "Ricarica" quando appare, come mostrato nella schermata seguente:
+
+
+
+Se tutto è andato per il verso giusto, la finestra del browser dei file che si apre dovrebbe avere il seguente aspetto:
+
+
+
+Se la sensazione è sbagliata, tornare indietro, premere di nuovo Ricarica e aprire una nuova finestra del browser dei file.
+
+Infine, è possibile fare clic direttamente su qualsiasi impostazione nella finestra `dconf Editor` per visualizzare ulteriori informazioni (e talvolta più opzioni). Per esempio, ecco la schermata delle impostazioni della \`dimensione iniziale' per il file manager di GNOME.
+
+
+
+## Risoluzione dei problemi
+
+Se si stanno apportando modifiche alle impostazioni in `dconf Editor` e non si vedono cambiamenti, provare una delle seguenti soluzioni:
+
+1. Riavviare l'applicazione a cui si stanno apportando le modifiche.
+2. Uscire, rientrare o riavviare per apportare alcune modifiche a GNOME Shell.
+3. Rinunciare perché questa opzione non è più funzionale.
+
+Sull'ultimo punto: sì, gli sviluppatori di GNOME a volte disabilitano la possibilità di modificare un'impostazione, anche con `dconf Editor`.
+
+Ad esempio, ho provato a modificare le impostazioni del commutatore di finestre (l'elenco delle finestre aperte che viene visualizzato quando si preme ++alt+tab++) senza ottenere alcun risultato. Indipendentemente da ciò che ho provato, `dconf Editor` non influisce su alcune delle sue funzioni.
+
+Potrebbe trattarsi di un bug, ma non sarebbe la prima volta che un'impostazione mostrata in `dconf Editor` è essenzialmente disattivata di nascosto. Se si incontra questo problema, cercare nel sito delle estensioni di GNOME per vedere se esiste un'estensione che aggiunge l'opzione desiderata a GNOME.
+
+## Conclusione
+
+Questo è tutto ciò che occorre sapere per iniziare. Ricordate solo di tenere traccia di tutte le modifiche, di non cambiare le impostazioni senza sapere esattamente a cosa servono e di divertirvi a esplorare le opzioni che sono (per lo più) disponibili.
diff --git a/docs/gemstones/containers/docker.uk.md b/docs/gemstones/containers/docker.uk.md
index f3a6701975..c0fb5dadba 100644
--- a/docs/gemstones/containers/docker.uk.md
+++ b/docs/gemstones/containers/docker.uk.md
@@ -24,7 +24,7 @@ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker
Установіть останню версію Docker Engine, `container` і Docker Compose, виконавши:
```bash
-sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
+sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
## Запустіть і ввімкніть Docker (`dockerd`)
@@ -56,8 +56,9 @@ sudo usermod -a -G docker custom-user
### Примітки
```docker
-docker-ce: цей пакет надає основну технологію для створення та запуску docker контейнерів (dockerd)
-docker-ce-cli: надає інтерфейс командного рядка (CLI) клієнтський інструмент докера (докер)
-containerd.io: забезпечує середовище виконання контейнера (runc)
-docker-compose-plugin: плагін, який надає підкоманду «docker compose».
+docker-ce : Цей пакунок надає базову технологію для створення та запуску контейнерів докерів (dockerd)
+docker-ce-cli : Надає інтерфейс командного рядка (CLI) клієнтський інструмент докера (докер)
+containerd.io : Забезпечує середовище виконання контейнера (runc)
+docker-buildx-plugin : Плагін Docker Buildx для Docker CLI
+docker-compose-plugin : Плагін, який надає підкоманду 'docker compose'
```
diff --git a/docs/guides/automation/anacron.it.md b/docs/guides/automation/anacron.it.md
index 7e4b39e362..3034473825 100644
--- a/docs/guides/automation/anacron.it.md
+++ b/docs/guides/automation/anacron.it.md
@@ -5,22 +5,20 @@ contributors: Steven Spencer, Ganna Zhyrnova
update: 2022-02-13
---
-# `anacron` - Eseguire i Comandi con Regolarità
-
## Prerequisiti
-* Un computer con Rocky Linux in esecuzione.
-* Sapere come utilizzare l'editor preferito per modificare il file di configurazione (ad esempio *vim*) nell'ambiente da riga di comando.
-* Comprendere la gestione di base dei pacchetti RPM.
+- Un computer con Rocky Linux in esecuzione.
+- Sapere come utilizzare l'editor preferito per modificare il file di configurazione (ad esempio *vim*) nell'ambiente da riga di comando.
+- Comprendere la gestione di base dei pacchetti RPM.
## Presupposti
-* Disponete di conoscenze di base di bash, python o altri strumenti di scripting o di programmazione e volete eseguire lo script automaticamente.
-* Ci si è collegati come utente root o si è passati a root con `su - root`.
+- Disponete di conoscenze di base di bash, python o altri strumenti di scripting o di programmazione e volete eseguire lo script automaticamente.
+- Ci si è collegati come utente root o si è passati a root con `su - root`.
-## `anacron` Introduzione
+## Introduzione
-**`anacron` esegue i comandi su base regolare e la frequenza operativa è definita in unità di giorni. È adatto ai computer che non funzionano 24/7, come i computer portatili e i desktop. Supponiamo che abbiate un compito programmato (come uno script di backup) da eseguire la mattina presto di ogni giorno usando crontab. Quando ci si addormenta, il desktop o il notebook sono spenti. Lo script di backup non viene eseguito. Tuttavia, se si utilizza `anacron`, si può essere certi che la prossima volta che si accende il desktop o il notebook, lo script di backup verrà eseguito.**
+`anacron` esegue i comandi su base regolare e la frequenza operativa è espressa in unità di giorni. È adatto ai computer che non funzionano 24 ore su 24, 7 giorni su 7, come i computer portatili e i desktop. Si supponga di aver programmato l'esecuzione di un'attività (ad esempio uno script di backup) al mattino presto di ogni giorno utilizzando `crontab`. Quando ci si addormenta, il desktop o il notebook sono spenti. Lo script di backup non verrà eseguito. Tuttavia, se si utilizza `anacron`, si può essere certi che la prossima volta che si accende il desktop o il notebook, lo script di backup verrà eseguito.
L'aspetto di `anacron` non è quello di sostituire `crontab`, ma di completare `crontab`. La loro relazione è la seguente:
@@ -45,6 +43,7 @@ shell > rpm -ql cronie-anacron
```
Prima controlla il file di configurazione predefinito:
+
```bash
shell > cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron
@@ -65,7 +64,7 @@ START_HOURS_RANGE=3-22
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly
```
-**/etc/cron.hourly/** -Tramite `journalctl -u crond.service`, potete sapere che i file messi dentro sono effettivamente chiamati da crond.server, il che significa che il comando sarà eseguito dopo il primo minuto di ogni ora. Come segue:
+**/etc/cron.hourly/** -Attraverso `journalctl -u crond.service`, si può sapere che i file inseriti sono effettivamente richiamati da `crond`, il che significa che il comando verrà eseguito dopo il primo minuto di ogni ora. Come segue:
```bash
shell > cat /etc/cron.d/0hourly
@@ -75,7 +74,8 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
01 * * * * root run-parts /etc/cron.hourly
```
-```
+
+```bash
shell > journalctl -u crond.service
- Logs begin at Wed 2021-10-20 19:27:39 CST, end at Wed 2021-10-20 23:32:42 CST. -
October 20 19:27:42 li systemd[1]: Started Command Scheduler.
@@ -86,7 +86,6 @@ October 20 20:01:01 li CROND[1897]: (root) CMD (run-parts /etc/cron.hourly)
October 20 21:01:01 li CROND[1922]: (root) CMD (run-parts /etc/cron.hourly)
October 20 22:01:01 li CROND[1947]: (root) CMD (run-parts /etc/cron.hourly)
October 20 23:01:01 li CROND[2037]: (root) CMD (run-parts /etc/cron.hourly)
-
```
Per ulteriori informazioni sui file di configurazione, [consultare la pagina del manuale](https://man7.org/linux/man-pages/man5/anacrontab.5.html)
@@ -95,7 +94,6 @@ Per ulteriori informazioni sui file di configurazione, [consultare la pagina del
Per far sì che alcuni file vengano eseguiti entro questi tempi definiti automaticamente, è sufficiente copiare il file di script nella directory pertinente e verificare che abbia **il permesso di esecuzione (chmod +x)**. Pertanto, è sufficiente lasciare che il sistema esegua automaticamente lo script in uno di questi momenti programmati, semplificando così l'attività di automazione.
-
Utilizziamo cron.daily per illustrare il processo di esecuzione di /etc/anacrontab:
1. `anacron` legge il file **/var/spool/anacron/cron.daily** e il contenuto del file mostra l'ora dell'ultima esecuzione.
diff --git a/docs/guides/automation/cronie.it.md b/docs/guides/automation/cronie.it.md
index d4d0fb2a6e..e37ba6461f 100644
--- a/docs/guides/automation/cronie.it.md
+++ b/docs/guides/automation/cronie.it.md
@@ -5,29 +5,29 @@ contributors: Steven Spencer, Ganna Zhyrnova
update: 2021-10-26
---
-# Prerequisiti
+## Prerequisiti
* Un computer con Rocky Linux.
* Sapere come utilizzare l'editor preferito per modificare il file di configurazione nell'ambiente della riga di comando (in questo articolo si utilizzerà `vi`).
-* Aver compreso le conoscenze di base di bash, python o altri strumenti di scripting o programmazione e vi aspettate di eseguire lo script automaticamente.
+* Avete compreso le conoscenze di base di bash, python o altri strumenti di scripting o programmazione e vi aspettate di eseguire lo script automaticamente
* Ci si è collegati al computer tramite SSH (può essere l'utente root o un utente normale con UID superiore a 1000).
-## cron Introduzione
+## Introduzione a `cron`
-GNU/Linux fornisce il sistema *cron*, che è un programma di lavoro `cron` basato sul tempo per processi automatizzati. Non è difficile, ma piuttosto potente. Volete uno script o un programma da eseguire ogni giorno alle 17:00? `cron` può farlo. Esistono diversi rami (o varianti) di `cron`, che hanno le stesse funzioni. In questo documento si usa **cronie** e la versione è la 1.5.2. Potete fare clic [qui](https://github.com/cronie-crond/cronie) per trovare l'ultima versione e il registro degli aggiornamenti.
+GNU/Linux fornisce il sistema *cron*, un programma di lavoro `cron` basato sul tempo per processi automatizzati. Non è difficile, ma piuttosto potente. Volete che uno script o un programma venga eseguito ogni giorno alle 17:00? `cron` può farlo. Esistono diversi rami (o varianti) di `cron`, che hanno le stesse funzioni. Questo documento utilizza **cronie**, e la versione è la 1.5.2. Fare clic [qui](https://github.com/cronie-crond/cronie) per trovare la versione più recente e aggiornare il registro.
-## descrizione di Cronie
+## descrizione `cronie`
-* **cronie** -nome del pacchetto, Rocky Linux include cronie per impostazione predefinita;
-* **crontab** -comando per mantenere `crontab` (pianificazione delle attività) per ogni utente;
-* **crond.service** - demone di Cronie, è possibile gestire il demone con `systemctl start | restart | stop | status`;
-* **/etc/crontab** -Assegnare i cron job a diversi utenti, di solito siamo più abituati a usare `crontab -e`. Per esempio, se siete attualmente registrati come utente root, digitate `crontab -e` e vedrete i specifici cron job nel file /var/spool/cron/root dopo il salvataggio.
-* **/var/log/cron** \* -Il registro di Cronie, per impostazione predefinita, effettua la rotazione dei registri e termina con un suffisso di data. In questo caso, si tratta di una wildcard.
-* **anacron** - parte di cronie. Per maggiori informazioni su `anacron`, vedi [anacron - automatizzare i comandi](anacron.md).
+* **cronie** -nome del pacchetto, Rocky Linux include cronie per impostazione predefinita
+* **crontab** -comando per mantenere `crontab` (pianificazione delle attività) per ogni utente
+* **crond.service** - demone di Cronie, è possibile gestire il demone con `systemctl start | restart | stop | status`
+* **/etc/crontab** -Assegnare i cron job a diversi utenti, di solito siamo più abituati a usare `crontab -e`. Per esempio, se siete attualmente registrati come utente root, digitate `crontab -e` e vedrete i specifici cron job nel file /var/spool/cron/root dopo il salvataggio.
+* **/var/log/cron** \* - il registro di cronie, per impostazione predefinita, effettua la rotazione dei registri e termina con un suffisso di data. In questo caso, si tratta di una wildcard.
+* **anacron** - parte di cronie. Per maggiori informazioni su `anacron`, vedi [anacron - automatizzare i comandi](anacron.md).
## Comando `crontab`
-`crontab` è un comando ottenuto dopo l'installazione del pacchetto cronie. Rispetto a `anacron`, è più adatto per i server che lavorano 7 ´* 24 ore al giorno. Le opzioni comuni di `crontab` sono:
+`crontab` è un comando ottenuto dopo l'installazione del pacchetto cronie. Rispetto ad `anacron`, è più adatto per i server che lavorano 24 ore su 24, 7 giorni su 7. Le opzioni comuni di `crontab` sono:
```bash
-e # edit crontab scheduled tasks
@@ -35,9 +35,9 @@ the -l # View crontab task
-r # delete all the current user's crontab tasks
```
-## Uso di cronie
+## Uso di `cronie`
-Per consentire a utenti diversi di eseguire comandi (o script) diversi in momenti diversi, è possibile scriverli in questo file. Tuttavia, di solito siamo più abituati a usare `crontab -e`.
+La scrittura di comandi o script in questo file consente di eseguirli in momenti diversi. Tuttavia, di solito siamo più abituati a usare `crontab -e`.
```bash
shell > cat /etc/crontab
@@ -65,7 +65,7 @@ MAILTO=root
Nell'esempio che segue, supponendo di eseguire questa operazione come utente root, digitate quanto segue:
-* `crontab -e`, che visualizzerà le attività temporizzate dell'utente root. Se si utilizza `vi` come editor di sistema predefinito, premere il tasto i per accedere alla modalità di inserimento.
+* `crontab -e` mostrerà le attività temporizzate dell'utente root. Se si utilizza `vi` come editor di sistema predefinito, premere il tasto ++i++ per accedere alla modalità di inserimento.
* "#" significa che si tratta di una riga di commento.
```bash
@@ -73,16 +73,16 @@ Nell'esempio che segue, supponendo di eseguire questa operazione come utente roo
00 22 * * * /usr/local/sbin/backup
```
-* Una volta inserito quanto sopra (sempre supponendo che `vi` sia l'editor di sistema), premere ESC per uscire dalla modalità di inserimento.
-* Salvare e uscire dal file con SHIFT+:+wq! (visualizzato nella parte inferiore dell'editor).
+* Dopo aver inserito questa riga (sempre supponendo che `vi` sia l'editor di sistema), premere ++escape++ per uscire dalla modalità di inserimento
+* Salvare e uscire dal file con ++shift+colon+"w "+"q "+exclam++ (visualizzato nella parte inferiore dell'editor)
-Ora lo script verrà eseguito ogni sera alle 22:00. Questo è un esempio semplicistico. Le cose possono complicarsi se avete bisogno di qualcosa di più elaborato.
+Lo script verrà eseguito ogni sera alle ore 22:00. Questo è un esempio semplicistico. Se avete bisogno di qualcosa di più elaborato, le cose possono diventare più complicate.
!!! tip "Attenzione"
Lo script deve avere i permessi di esecuzione (`chmod +x`) prima che cronie possa eseguirlo.
-#### Opzioni Complesse
+### Opzioni Complesse
I contenuti discussi finora sono opzioni semplicistiche, ma che dire di compiti a tempo più complessi?
@@ -95,12 +95,12 @@ I contenuti discussi finora sono opzioni semplicistiche, ma che dire di compiti
* /10 * * * 1-5 /usr/local/sbin/backup
```
-| Simboli Speciali | Significato |
-| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| * | rappresenta un momento qualsiasi. Ad esempio, il primo * indica un minuto qualsiasi e il secondo * indica un'ora qualsiasi |
-| , | sta per tempo discontinuo, come "0 8,12,16 * * * ", che significa che il comando verrà eseguito una volta al giorno alle 8:00, alle 12:00 e alle 16:00 |
-| - | rappresenta un intervallo di tempo continuo, ad esempio "0 5 * * 1-6 ", il che significa che il comando verrà eseguito alle cinque del mattino di ogni giorno dal lunedì al sabato |
-| */n | Rappresenta la frequenza di esecuzione dell'intervallo, ad esempio "*/10 * * *" significa che verrà eseguito ogni 10 minuti |
+| Simboli Speciali | Significato |
+| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `*` | rappresenta un momento qualsiasi. Ad esempio, il primo `*` indica un minuto qualsiasi e il secondo `*` indica un'ora qualsiasi |
+| `,` | sta per tempo discontinuo, come `0 8,12,16 * * *`, che significa che il comando verrà eseguito una volta al giorno alle 8:00, alle 12:00 e alle 16:00 |
+| `-` | rappresenta un intervallo di tempo continuo, ad esempio `0 5 * * 1-6`, il che significa che un comando verrà eseguito alle cinque del mattino tutti i giorni dal lunedì al sabato |
+| `*/n` | Rappresenta la frequenza di esecuzione dell'intervallo, ad esempio `*/10 * * * *` significa che l'intervallo verrà eseguito ogni 10 minuti |
!!! tip "Attenzione"
@@ -110,8 +110,8 @@ I contenuti discussi finora sono opzioni semplicistiche, ma che dire di compiti
1. /etc/crontab e `crontab -e`, c'è qualche differenza tra i due metodi? `crontab -e` non ha bisogno di specificare un utente (l'utente attualmente registrato è usato di default), mentre /etc/crontab ha bisogno di specificare un utente.
2. Cosa fare se il comando o lo script specificato non viene eseguito correttamente? Controllare il file /var/log/cron*, usare `journalctl -u crond.service` per verificare le informazioni sul processo demone, se lo script ha i permessi x e così via, per la risoluzione dei problemi.
-3. Oltre a cronie, quali varianti di cron esistono? [ fcron ](http://fcron.free.fr/), l'ultima versione è la 3.3.0 (dev, 2016-08-14). [ bcron ](http://untroubled.org/bcron/), l'ultima versione è la 0.11 (2015-08-12). [ cronsun ](https://github.com/shunfei/cronsun), l'ultima versione 0.3.5 (2018-11-20).
+3. Oltre a cronie, quali varianti di cron esistono? [fcron](http://fcron.free.fr/), l'ultima versione è la 3.3.0 (dev, 2016-08-14). [cronsun](https://github.com/shunfei/cronsun), l'ultima versione 0.3.5 (2018-11-20).
## Sommario
-Per gli utenti del desktop Rocky Linux o gli amministratori di sistema, cronie è uno strumento molto potente. Permette di automatizzare le attività e gli script in modo da non doversi ricordare di eseguirli manualmente. Sebbene le conoscenze di base non siano difficili, il compito effettivo può essere complesso. Per ulteriori informazioni su `crontab`, visitare la [pagina man di crontab](https://man7.org/linux/man-pages/man5/crontab.5.html). È anche possibile cercare "crontab" su Internet, che fornisce un gran numero di risultati di ricerca e aiuta a mettere a punto l'espressione `crontab`.
+Per gli utenti di desktop Rocky Linux o per gli amministratori di sistema, cronie è uno strumento potente. Permette di automatizzare attività e script, in modo da non doversi ricordare di eseguirli manualmente. Sebbene le conoscenze di base non siano difficili, il compito può essere complesso. Per ulteriori informazioni su `crontab`, visitare la [pagina man di crontab](https://man7.org/linux/man-pages/man5/crontab.5.html). È anche possibile cercare "crontab" su Internet, che fornisce molti risultati di ricerca e aiuta a perfezionare l'espressione di `crontab`.
diff --git a/docs/guides/repositories/pulp_fetch_upload.uk.md b/docs/guides/repositories/pulp_fetch_upload.uk.md
new file mode 100644
index 0000000000..43bb3cdbae
--- /dev/null
+++ b/docs/guides/repositories/pulp_fetch_upload.uk.md
@@ -0,0 +1,103 @@
+---
+title: Отримання та розповсюдження сховища RPM за допомогою Pulp
+author: David Gomez
+contributors: Steven Spencer
+tested with: 9.2
+tags:
+ - Fetch
+ - Distribute
+ - RPM
+ - Репозиторій
+ - Pulp
+---
+
+## Вступ
+
+Розробникам, які використовують Rocky Linux, часто потрібні різні віддалені репозиторії rpm для підтримки їх операцій. Pulp — це проект із відкритим вихідним кодом, який може допомогти розробникам задовольнити цю потребу, спрощуючи вибірку та розповсюдження різних сховищ RPM. У цьому посібнику показано простий приклад використання Pulp для отримання BaseOS і AppStream зі сховища Rocky Linux.
+
+## Вимоги
+
+- Система Rocky Linux
+- Вміння запускати контейнери
+
+## Налаштування - один контейнер
+
+Існує багато можливих налаштувань Pulp, але для зручності у цьому посібнику використовуватиметься сценарій розгортання одного контейнера. Виберіть каталог для Pulp і створіть наступні каталоги та файли.
+
+```bash
+mkdir -p settings/certs pulp_storage pgsql containers
+echo "CONTENT_ORIGIN='http://$(hostname):8080'" >> settings/settings.py
+```
+
+Якщо у вас увімкнено SELinux, виконайте наступне, щоб розгорнути Pulp. Якщо SELinux не ввімкнено, ви можете видалити суфікс `:Z` із рядків `--volume`:
+
+```bash
+$ podman run --detach \
+ --publish 8080:80 \
+ --name pulp \
+ --volume "$(pwd)/settings":/etc/pulp:Z \
+ --volume "$(pwd)/pulp_storage":/var/lib/pulp:Z \
+ --volume "$(pwd)/pgsql":/var/lib/pgsql:Z \
+ --volume "$(pwd)/containers":/var/lib/containers:Z \
+ --device /dev/fuse \
+ pulp/pulp
+```
+
+Якщо ви перейдете до `http://localhost:8080/pulp/content/`, ви побачите «Індекс /pulp/content/», який наразі порожній, але буде заповнений вашими сховищами до кінця цього посібника.
+
+
+
+## Створення Pulp Remotes
+
+Думайте про пульти Pulp як про віддалені сховища джерел. У цьому випадку віддаленими вихідними репозиторіями є BaseOS і AppStream зі сховища Rocky Linux 9.2. Ви використовуватимете ці пульти для синхронізації зі сховищами, створеними за допомогою Pulp. Перегляньте [офіційну документацію Pulp](https://pulpproject.org/), щоб дізнатися більше про правила віддаленого керування.
+
+```bash
+pulp rpm remote create --name "rocky_92_appstream_vault" --url "https://dl.rockylinux.org/vault/rocky/9.2/AppStream/x86_64/os/" --policy on_demand
+pulp rpm remote create --name "rocky_92_baseos_vault" --url "https://dl.rockylinux.org/vault/rocky/9.2/BaseOS/x86_64/os/" --policy on_demand
+```
+
+## Копії сховища Pulp
+
+Це будуть індивідуальні копії сховищ BaseOS і AppStream зі сховища Rocky Linux 9.2. Якщо ви знаєте пульт дистанційного керування, з якого хочете синхронізувати свої сховища, ви можете додати ці пульти дистанційного керування під час створення сховища. В іншому випадку, якщо ви не знаєте, які пульти дистанційного керування використовувати, або якщо ці пульти дистанційного керування можна змінити, ви можете не використовувати пульти дистанційного керування. Для цього посібника оголошення пультів відбувається під час створення сховища.
+
+```bash
+pulp rpm repository create --name "R92_AppStream_Vault" --remote "rocky_92_appstream_vault"
+pulp rpm repository create --name "R92_BaseOS_Vault" --remote "rocky_92_baseos_vault"
+```
+
+## Копії Pulp Sync
+
+!!! note
+
+ Важливо додати «--skip-type treeinfo», інакше замість BaseOS або AppStream ви отримаєте дивну суміш обох. Ймовірно, це пов’язано з проблемою зі сховищами, які не закриті залежно. Якщо пульт дистанційного керування не було вказано раніше, ви можете додати його, інакше, якщо ви додали його під час створення, немає необхідності згадувати пульт у синхронізації, як це мається на увазі.
+
+```bash
+pulp rpm repository sync --name "R92_AppStream_Vault" --skip-type treeinfo
+pulp rpm repository sync --name "R92_BaseOS_Vault" --skip-type treeinfo
+```
+
+## Pulp Publish Publications
+
+Після того, як ваші сховища буде синхронізовано з пультів дистанційного керування, ви захочете створити публікації з цих сховищ, щоб розмістити їх у дистрибутивах. Поки що ви могли використовувати лише назви віддалених пристроїв і сховищ, однак Pulp також покладається на `hrefs`, і ви можете використовувати їх як взаємозамінні. Після створення публікації обов’язково зверніть увагу на значення `pulp_href` кожного, оскільки вони знадобляться для наступного кроку.
+
+```bash
+pulp rpm publication create --repository "R92_AppStream_Vault"
+pulp rpm publication create --repository "R92_BaseOS_Vault"
+```
+
+## Pulp Create Distributions
+
+За допомогою `pulp_href` з попереднього кроку публікації тепер ви можете подавати цей вміст до розповсюдження. Тоді цей вміст відображатиметься під `http://localhost:8080/pulp/content/` і більше не буде порожнім. Ви можете ще раз перевірити `pulp_href` публікацій за допомогою `pulp rpm publication list` і шукати `pulp_href`. Як приклад, `pulp_href` для BaseOS наведено нижче, але ваш `pulp_href` може бути іншим, тому поміняйте його відповідно.
+
+```bash
+pulp rpm distribution create --name "Copy of BaseOS 92 RL Vault" --base-path "R92_BaseOS_Vault" --publication "/pulp/api/v3/publications/rpm/rpm/0195fdaa-a194-7e9d-a6a9-e6fd4eaa7a20/"
+pulp rpm distribution create --name "Copy of AppStream 92 RL Vault" --base-path "R92_AppStream_Vault" --publication ""
+```
+
+Якщо ви позначите `http://localhost:8080/pulp/content/`, ви побачите свої два сховища, які є копіями сховищ Rocky Linux 9.2 AppStream і BaseOS.
+
+
+
+## Висновок
+
+Pulp може бути дуже універсальним інструментом, який використовується для отримання кількох сховищ і розповсюдження їх за потреби. Це базовий приклад, однак ви можете використовувати Pulp у різноманітних сценаріях розгортання та створювати складнішу та вдосконалену організацію сховища. Перегляньте [офіційну документацію](https://pulpproject.org/) для отримання додаткової інформації.
diff --git a/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md b/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md
index 1e2e79f9ca..8b0ca2831b 100644
--- a/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md
+++ b/docs/guides/security/authentication/active_directory_authentication_with_samba.uk.md
@@ -146,7 +146,7 @@ Last login: Wed Sep 15 17:37:03 2021 from 10.0.10.241
У налаштуваннях за замовчуванням вам потрібно буде ввійти за допомогою свого облікового запису AD, вказавши домен у своєму імені користувача (наприклад, `john.doe@ad.company.local`). Якщо це не бажана поведінка, і ви натомість хочете мати можливість пропустити ім’я домену за замовчуванням під час автентифікації, ви можете налаштувати Samba на певний домен за замовчуванням.
-Це відносно простий процес, який потребує налаштування конфігурації у файлі конфігурації SSSD.
+Це відносно простий процес, який вимагає налаштування конфігурації у вашому конфігураційному файлі `smb.conf`.
```sh
[user@host ~]$ sudo vi /etc/samba/smb.conf