diff --git a/.all-contributorsrc b/.all-contributorsrc
index 2cd29bde27..094a4c9e47 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -593,15 +593,6 @@
"content"
]
},
- {
- "login": "yigitbasalma",
- "name": "Yiğit can BAŞALMA",
- "avatar_url": "https://avatars.githubusercontent.com/u/12031564?v=4",
- "profile": "http://cybertrouble.com",
- "contributions": [
- "content"
- ]
- },
{
"login": "markooff",
"name": "markooff",
@@ -1079,6 +1070,15 @@
"contributions": [
"content"
]
+ },
+ {
+ "login": "bps86",
+ "name": "Bayu Putra S",
+ "avatar_url": "https://avatars.githubusercontent.com/u/59677031?v=4",
+ "profile": "https://github.com/bps86",
+ "contributions": [
+ "content"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 0ba3bb6726..81fc18dca8 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -15,4 +15,4 @@ jobs:
with:
token: ${{ secrets.CROSS_REPO_PAT }}
repository: rocky-linux/docs.rockylinux.org
- event-type: deploy
+ event-type: deploy-staging
diff --git a/.github/workflows/trigger_vercel_deploy_v1_simple_hook.yml b/.github/workflows/trigger_vercel_deploy_v1_simple_hook.yml
new file mode 100644
index 0000000000..372e558b79
--- /dev/null
+++ b/.github/workflows/trigger_vercel_deploy_v1_simple_hook.yml
@@ -0,0 +1,18 @@
+# V1: Simple Deploy Hook
+# Triggers vercel builds but provides no metadata to the Vercel UI.
+
+name: Trigger Vercel Deploy (v1 - Simple Hook)
+
+on:
+ push:
+ branches:
+ - main
+ - rocky-8
+ - rocky-9
+
+jobs:
+ trigger-deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Trigger Vercel Deploy Hook
+ run: curl -X POST "${{ secrets.VERCEL_DEPLOY_HOOK_URL }}"
diff --git a/README.md b/README.md
index da4ae5cf77..6f48dc23a0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,9 @@
+
+
# Contribution Guide
[](#contributors-)
@@ -7,7 +11,7 @@
## Introduction
-*With Rocky Linux emerging as a major RHEL-compatible distribution, this is an exciting time in the open source community. Rocky Linux’s [mission](https://rockylinux.org/community-charter/) is to provide companies and individuals with a **stable foundation of open source software** for their enterprise and HPC needs. We are here to support that mission with excellent documentation.*
+*With Rocky Linux (RL) emerging as a major RHEL-compatible distribution, this is an exciting time in the open source community. Rocky Linux’s [mission](https://rockylinux.org/community-charter/) is to provide companies and individuals with a **stable foundation of open source software** for their enterprise and High Performance Computing (HPC) needs. We are here to support that mission with excellent documentation.*
To us, excellent documentation hits these marks:
@@ -21,7 +25,7 @@ We welcome anyone who wants to be part of this mission. No specific degree, year
## License
-Documents written by the *rocky linux documentation team* are published under the Creative Commons-BY-SA license. This means you are free to copy, distribute and transform the works, while respecting the author's rights.
+Documents written by the *Rocky Linux documentation team* are published under the Creative Commons-BY-SA license. This means you are free to copy, distribute and transform the works, while respecting the author's rights.
- **BY**: Attribution. You must cite the name of the original author.
- **SA**: Share Alike.
@@ -33,7 +37,7 @@ The documents and their sources are freely downloadable from:
-
-
-Our media sources are hosted at github.com. You'll find the source code repository where the version of this document was created.
+We host our media sources at github.com. Our team created this document on this source code repository, and stores all other documents there too.
## Technical requirements
@@ -49,29 +53,29 @@ Rocky Linux uses GitHub to manage its code and files, including documentation fi
### Markdown
-Documentation is welcome in whatever format you are used to creating. It does not need to be perfect, just submit what you have and the team will give you feedback to help get it in line with our voice and tone.
+Documentation is welcome in whatever format you create it in. It does not need to be perfect, just submit what you have and the team will give you feedback to help get it inline with our voice and tone.
That said, RL Documentation uses Markdown as the standard. It is easy to learn and use. Run a text converter on your content or start from scratch with this guide on [writing markdown with proper formatting](https://docs.rockylinux.org/guides/contribute/rockydocs_formatting).
-As you become a regular contributor, you’ll need to create a **local repository**. See our [guide](https://docs.rockylinux.org/guides/contribute/beginners) for how to install a Markdown editor and create a local repository on your home computer.
+As you become a regular contributor, you will need to create a **local repository**. See our [guide](https://docs.rockylinux.org/guides/contribute/beginners) for how to install a Markdown editor and create a local repository on your home computer.
-## Contribution Process
+## Contribution process
-*The actual process of reporting an issue, revising, or creating a doc. Please see special notes afterward about translations, links, and meta content.*
+*The actual process of reporting an issue, revising, or creating a doc. See the "Notes" section for translations, links, and meta content.*
### Report an issue
-Maybe you’ve found a broken link or incorrect information while exploring the Rocky docs. This is called an **issue**, and we want to know about it. You can mention it on the Mattermost Documentation channel, or visit GitHub and make a proper issue report. GitHub has [a handy guide](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue) for how to create an issue.
+Maybe you have found a broken link or incorrect information while exploring the Rocky docs. We call this an **issue**, and we want to know about it. You can mention it on the Mattermost Documentation channel, or visit GitHub and make a proper issue report. GitHub has [a handy guide](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue) for how to create an issue.
### Submit an update
-*Add a missing word, correct an error, or clarify a confusing bit of text. You won’t break anything because someone will review your contribution before it goes live. Here is the basic process.*
+*Add a missing word, correct an error, or clarify a confusing bit of text. You will not break anything because someone will review your contribution before it goes live. Here is the basic process.*
1. Start on the page you want to update on .
- Click the “Edit” pencil in the upper right corner of the document. You will be taken to the original document stored on GitHub.
+ Click the “Edit” pencil in the upper right corner of the document. This takes you to the original document stored on GitHub.
- The first time you contribute to the RL repository, you will be prompted with a green button to “**Fork** this **repository** and propose changes.” This creates a duplicate copy of the RL repository where you make your suggested edits. Click the green button and continue.
+ The first time you contribute to the RL repository, you will receive a prompt with a green button to “**Fork** this **repository** and propose changes.” This creates a duplicate copy of the RL repository where you make your suggested edits. Click the green button and continue.
2. Make your changes
@@ -85,9 +89,9 @@ Maybe you’ve found a broken link or incorrect information while exploring the
4. Review changes
- Now you can look at what you’ve done, line by line. If you missed anything, back up to the previous page and correct it again (you’ll have to start over), then click Propose Changes again.
+ Now you can review what your changes, line by line. If you missed anything, back up to the previous page and correct it again (you will have to start over), then click Propose Changes again.
- Once the doc is the way you want it, click the green button that says Create Pull Request. This provides one more chance to double check your changes and confirm the doc is ready.
+ Once the doc is the way you want it, click the green button that says Create Pull Request (PR). This provides one more chance to double check your changes and confirm the doc is ready.
5. Create Pull Request
@@ -103,17 +107,17 @@ Maybe you’ve found a broken link or incorrect information while exploring the
- Comment with feedback and ask for changes
- Deny your PR with explanation
- If you have to make changes, you will suddenly understand why you need a local repository. The team can [talk you through](https://chat.rockylinux.org/rocky-linux/channels/documentation) what to do next. In good news, it’s still fixable.
+ If you have to make changes, you will suddenly understand why you need a local repository. The team can [talk you through](https://chat.rockylinux.org/rocky-linux/channels/documentation) what to do next. In good news, it is still fixable.
Need more in-depth explanation? Here are the [same directions](https://docs.rockylinux.org/guides/contribute/beginners/) with more elaboration under the heading, "Submit an update."
-Success? Welcome to the team, you are officially a Rocky Linux documentation contributor. Your profile will be added to the contributor list at the bottom of this document shortly.
+Success? Welcome to the team, you are officially a Rocky Linux documentation contributor. We will add your profile to the contributor list at the bottom of this document shortly.
### Become a frequent contributor
For more than a word or two of occasional edits, we recommend that you [setup a local repository](https://docs.rockylinux.org/guides/contribute/createnew/) on your own machine. From there, you can revise documentation from your clone of the RL repository, Commit it to your online GitHub repository, and then create Pull Requests to merge with the main repository.
-Advanced users may wish to create a complete documentation server on your local Linux workstation or VM. We have guides to set that up with [Docker](https://docs.rockylinux.org/guides/contribute/localdocs/rockydocs_web_dev/) or [LXD](https://docs.rockylinux.org/guides/contribute/localdocs/mkdocs_lsyncd/). We also have a [fast documentation system](https://docs.rockylinux.org/guides/contribute/localdocs/local_docs/) with special caveats if you are using Python on the same server.
+Advanced users might want to create a complete documentation server on your local Linux workstation or VM. We have guides to set that up with [Docker](https://docs.rockylinux.org/guides/contribute/localdocs/rockydocs_web_dev/) or [LXD](https://docs.rockylinux.org/guides/contribute/localdocs/mkdocs_lsyncd/). We also have a [fast documentation system](https://docs.rockylinux.org/guides/contribute/localdocs/local_docs/) with special caveats if you are using Python on the same server.
### Submit a new document
@@ -139,13 +143,13 @@ tags:
#### Formatting
-To add more advanced elements to your Markdown-formatted document beyond text, visit the [formatting guide](https://docs.rockylinux.org/guides/contribute/rockydocs_formatting/). This covers Admonitions, Tables, Quotes, and more.
+To add more advanced elements to your Markdown-formatted document beyond text, visit the [formatting guide](https://docs.rockylinux.org/guides/contribute/rockydocs_formatting/). This covers admonitions, tables, quotes, and more.
#### Contribute
The process for [submitting original content](https://docs.rockylinux.org/guides/contribute/createnew/) is similar to updating an existing document from your local repository. Create a new document within your Markdown editor, Commit it to your GitHub repository, then submit a Pull Request to merge into the main branch of the repository. The documentation leads will decide where the new document will live.
-## Special Notes
+## Notes
### Links
@@ -155,7 +159,7 @@ The format for all links within the documentation is square brackets around the
[our site] followed by your link in parenthesis: ()
-To help lab-based URLs pass our automatic URL checker, we have created a list of excluded names you may use. You may request that a new exclusion be added. An editor may adjust your lab-based URL, or add an exclusion if they think it is warranted.
+To help lab-based URLs pass our automatic URL checker, there is a list of excluded names you might use. You can request the adding of a new exclusion if none in the current list work. An editor might adjust your lab-based URL, or add an exclusion if warranted.
Please note the following IEEE recommendation on naming local networks [RFC #8375 Special-Use Domain 'home.arpa.'](https://www.rfc-editor.org/rfc/rfc8375.html) published in May 2018.
@@ -172,11 +176,11 @@ Please note the following IEEE recommendation on naming local networks [RFC #837
### Translation
-#### CrowdIn
+#### Crowdin
-We are adding to these docs in new languages at the speed of getting translators on board. Seeking contributors for this area especially. We use [CrowdIn](https://crowdin.com/) for updates.
+We are adding to these docs in new languages at the speed of getting translators on board. Seeking contributors for this area especially. We use [Crowdin](https://crowdin.com/) for updates.
-#### Translation and Meta content
+#### Translation and meta content
Translators, if you find a word in the source document that does not translate well into your language, or an error that prevents a perfect translation, please fix that in the source document and make a Pull Request. In that case, please add yourself as a contributor in the meta content of that document.
@@ -283,74 +287,74 @@ Welcome aboard! Meet the rest of our awesome contributors below: ([emoji key](ht
 Roman Gherta 🖋 |
-  Yiğit can BAŞALMA 🖋 |
 markooff 🖋 🌍 |
 Deng Wenbin 🌍 |
 alikates 🖋 |
 hopnux 🌍 |
 Pedro Garcia Rodriguez 🌍 |
+  Lau 🖋 |
-  Lau 🖋 |
 Serge Croisé 🖋 |
 bamtests 🖋 |
 jahway603 🖋 |
 Nejc Bertoncelj 🖋 |
 Dan Baker 🖋 |
 Laura Hild 🖋 |
+  Grammaresque 🖋 |
-  Grammaresque 🖋 |
 Rawk Akani 🖋 |
 nm583 🖋 |
 MrPaulAR 🖋 |
 cybernet 🖋 |
 Jan Kytka 🖋 |
 Mario 🖋 |
+  Ganna Zhyrnova 🌍 |
-  Ganna Zhyrnova 🌍 |
 Travis W 🖋 |
 Tej Singh Rana 🖋 |
 Aditya Roshan Dash 🖋 |
 Matt 🖋 |
 zdover23 🖋 |
 Mani Yadla 🖋 |
+  Dave_Barnabas 🖋 |
-  Dave_Barnabas 🖋 |
 Neel Chauhan 🖋 |
 Joey 🖋 |
 Emre Çamalan 🖋 |
 Yash Pandey 🖋 |
 Stephen Simpson 🖋 |
 Srinivas Nishant Viswanadha 🖋 |
+  Stein Arne Storslett 🖋 |
-  Stein Arne Storslett 🖋 |
 Chris Pepper 🖋 |
 Sasheeny Hubbard 🖋 |
 Christian Steinert 🖋 |
 hs303 🖋 |
 MarlonJMejia 🖋 |
 Atroskelis 🖋 |
+  Christine Belzie 🖋 |
-  Christine Belzie 🖋 |
 cyril 🖋 |
 Andreas Singraber 🖋 |
 Andrew Scott 🖋 |
 CracktheDom 🖋 |
 Alex Zolotarov 🖋 |
 Petr Budai 🖋 |
+  Howard 🖋 |
-  Howard 🖋 |
 rjys365 🖋 |
 David Gomez 🖋 |
 Jamil Halabi 🖋 |
 huangsen365 🖋 |
 npezzotti 🖋 |
+  Bayu Putra S 🖋 |
diff --git a/docs/books/admin_guide/00-toc.de.md b/docs/books/admin_guide/00-toc.de.md
index 356954a646..32fd0b88d1 100644
--- a/docs/books/admin_guide/00-toc.de.md
+++ b/docs/books/admin_guide/00-toc.de.md
@@ -12,7 +12,7 @@ Zunächst werden wir GNU/Linux, Distributionen und das gesamte Ökosystem rund u
Wir werden uns dann die Benutzerbefehle ansehen, die für den Einstieg in GNU/Linux unerlässlich sind. Erfahrene Benutzer sollten das Kapitel über erweiterte Befehle besuchen.
-Im nächsten Kapitel wird der vi-Editor behandelt. Während GNU/Linux mit vielen Editoren geliefert wird, ist der vi einer der leistungsstärksten. Einige Befehle verwenden manchmal eine identische Syntax wie der vi (`sed` sei erwähnt). Daher ist es sinnvoll, einiges über vi zu wissen oder zumindest seine wesentlichen Funktionen kennen zu lernen (wie man eine Datei öffnet, speichert, vi beendet oder ohne Speichern beendet). Bei regelmäßiger Verwendung von vi, kann sich der Benutzer nach und nach mit weiterenen Funktionen vertraut machen. Eine Alternative wäre die Verwendung von nano, das standardmäßig mit Rocky Linux installiert wird. Obwohl es nicht so vielseitig ist, ist es einfach zu bedienen, unkompliziert und erledigt die Arbeit.
+Im nächsten Kapitel wird der VI-Editor behandelt. Während GNU/Linux mit vielen Editoren geliefert wird, ist der vi einer der leistungsstärksten. Einige Befehle verwenden manchmal eine identische Syntax wie der vi (`sed` sei erwähnt). Daher ist es sinnvoll, einiges über vi zu wissen oder zumindest seine wesentlichen Funktionen kennen zu lernen (wie man eine Datei öffnet, speichert, vi beendet oder ohne Speichern beendet). Bei regelmäßiger Verwendung von `vi`, kann sich der Benutzer nach und nach mit weiteren Funktionen vertraut machen. Eine Alternative wäre die Verwendung von nano, das standardmäßig mit Rocky Linux installiert wird. Obwohl es nicht so vielseitig ist, ist es einfach zu bedienen, unkompliziert und erledigt die Arbeit.
Wir können dann tiefer in die Funktionsweise von Linux einsteigen:
@@ -24,4 +24,4 @@ Die Beschreibung der Sicherung und Wiederherstellung enthält wichtige Informati
Die Verwaltung des Systems während des Startvorgangs hat sich in den letzten Jahren seit der Einführung von systemd erheblich verändert.
-Die letzten Kapitel behandeln Prozessmanagement, Netzwerkimplementierung und Softwaremanagement, einschließlich Installation.
+Die letzten Kapitel behandeln Prozessmanagement, Netzwerkimplementierung und Softwaremanagement, einschließlich Installation.
🌐 Übersetzungen: crowdin.com/project/rockydocs
🌍 Übersetzer: crowdin.com/project/rockydocs/activity-stream
diff --git a/docs/books/admin_guide/00-toc.es.md b/docs/books/admin_guide/00-toc.es.md
index 1026bbd102..2cb1dd30ac 100644
--- a/docs/books/admin_guide/00-toc.es.md
+++ b/docs/books/admin_guide/00-toc.es.md
@@ -20,7 +20,7 @@ A continuación, podemos adentrarnos en el funcionamiento profundo de Linux para
* Sistemas de archivos
* Gestión de procesos
-A continuación, cubriremos un tema esencial para el administrador de sistemas Linux: El proceso de copia de seguridad. Muchas soluciones de software vienen con Linux para mejorar las copias de seguridad (rsnapshot, lsyncd, etcétera).Es interesante conocer los componentes esenciales de la copia de seguridad que se encuntran dentro del sistema operativo. Para ello, en este capítulo, conoceremos dos nuevas herramientas: `tar` y el menos difundido `cpio`. Para ello, en este capítulo, conoceremos dos nuevas herramientas: `tar` y el menos difundido `cpio`.
+A continuación, cubriremos un tema esencial para el administrador de sistemas Linux: El proceso de copia de seguridad. Muchas soluciones de software vienen con Linux para mejorar las copias de seguridad (rsnapshot, lsyncd, etcétera). Es interesante conocer los componentes esenciales de la copia de seguridad que se encuentran dentro del sistema operativo. Para ello, en este capítulo, conoceremos dos nuevas herramientas: `tar` y el menos difundido `cpio`. Para ello, en este capítulo, conoceremos dos nuevas herramientas: `tar` y el menos difundido `cpio`.
La gestión del sistema durante el proceso de arranque ha evolucionado significativamente en los últimos años desde la llegada de systemd.
diff --git a/docs/books/admin_guide/00-toc.pt-BR.md b/docs/books/admin_guide/00-toc.pt-BR.md
index aed88d97d0..710ddbac97 100644
--- a/docs/books/admin_guide/00-toc.pt-BR.md
+++ b/docs/books/admin_guide/00-toc.pt-BR.md
@@ -10,7 +10,7 @@ O Guia do Administrador é uma coleção de documentos educacionais direcionados
Iniciamos com a Introdução ao Linux, que descreve o Linux, as distribuições e todo o ecossistema em torno do nosso sistema operacional.
-Comandos de Usuário contém comandos essenciais para se familiarizar com o Linux. Usuários mais experientes devem consultar também o capítulo de Comandos Avançados do Linux.
+Comandos de Usuário contém comandos essenciais para se familiarizar com o Linux. Usuários mais experientes devem consultar também o capítulo de Comandos Atacantes do Linux.
O Editor de Texto VI merece um capítulo à parte. Embora o Linux venha com muitos editores, VI é um dos mais poderosos. Outros comandos às vezes usam sintaxes idênticas (`sed` ou similares) aos comandos do VI. Então, saber algo sobre o VI, ou pelo menos desmistificar suas funções básicas (como abrir um arquivo, salvar, sair ou sair sem salvar) é muito importante. O usuário ficará mais confortável com as outras funções do VI à medida que usar o editor. Uma alternativa seria utilizar o editor de texto nano, que vem instalado por padrão no Rocky Linux. Mesmo não sendo tão versátil, ele é fácil de utilizar, direto e faz o trabalho.
@@ -20,7 +20,7 @@ Em seguida podemos entrar no funcionamento mais profundo do Linux para entender
* Sistemas de Arquivos
* Gerenciamento de Processos
-Backup e Restauração são informações essenciais para o Administrador de Sistemas. O Linux vem com muitas soluções de programas para aprimorar os backups (rsnapshot, lsyncd, etcétera.). É importante conhecer os componentes essenciais de backup que existem no sistema operacional. Nesse capítulo vamos abordar duas ferramentas: `tar` e o menos conhecido `cpio`.
+Backup e Restauração são informações essenciais para o Administrador de Sistemas. O Linux vem com muitas soluções de programas para aprimorar os backups (rsnapshot, lsyncd, et cetera). É importante conhecer os componentes essenciais de backup que existem no sistema operacional. Nesse capítulo vamos abordar duas ferramentas: `tar` e o menos conhecido `cpio`.
A Inicialização do Sistema também é uma leitura importante porque o gerenciamento do sistema durante o processo de inicialização evoluiu significativamente nos últimos anos, desde a chegada do systemd.
diff --git a/docs/books/admin_guide/00-toc.pt.md b/docs/books/admin_guide/00-toc.pt.md
index 312404953b..10fbf177c2 100644
--- a/docs/books/admin_guide/00-toc.pt.md
+++ b/docs/books/admin_guide/00-toc.pt.md
@@ -10,9 +10,9 @@ O Guia da Administração é uma coleção de Documentos de Ensino para Administ
Começaremos com uma introdução ao Linux, que envolve Linux, distribuições e todo o ecossistema em torno do nosso sistema operacional.
-Comandos de Utilizadores contem comandos essenciais para se atualizar com Linux. Os usuários mais experientes devem também consultar o capítulo dedicado aos "comandos avançados".
+Comandos de Utilizadores contem comandos essenciais para se atualizar com Linux. Os utilizadores mais experientes devem também consultar o capítulo dedicado aos "comandos avançados".
-O Editor de Texto VI merece seu próprio capítulo. Embora o Linux venha com muitos editores, VI é um dos mais poderosos. Outros comandos às vezes usam sintaxes idênticas(`sed` ou similares) aos comandos do VI . Portanto, saber algo sobre o VI, ou ao menos desmistificar as suas funções essenciais (como abrir um ficheiro, salvar, sair e salvar ou sair sem salvar), é muito importante. O usuário ficará mais confortável com as funções do VI à medida em que usar o editor. Uma alternativa seria usar o editor de texto nano que vem instalado por padrão no Rocky Linux. Embora não seja tão versátil, é simples de usar, direto e supre as necessidade do trabalho a ser feito.
+O Editor de Texto VI merece o seu próprio capítulo. Embora o Linux venha com muitos editores, VI é um dos mais poderosos. Outros comandos às vezes usam sintaxes idênticas(`sed` ou similares) aos comandos do VI . Portanto, saber algo sobre o VI, ou ao menos desmistificar as suas funções essenciais (como abrir um ficheiro, salvar, sair e salvar ou sair sem salvar), é muito importante. O utilizador ficará mais confortável com as funções do VI a medida que usa o editor. Uma alternativa seria usar o editor de texto nano que vem instalado por padrão no Rocky Linux. Embora não seja tão versátil, é simples de usar, direto e supre as necessidade do trabalho a ser feito.
Em seguida, podemos entrar no funcionamento mais profundo do Linux para compreender como o sistema aborda:
@@ -20,7 +20,7 @@ Em seguida, podemos entrar no funcionamento mais profundo do Linux para compreen
* Sistemas de Ficheiros
* Gestão de Processos
-Backup e Restauração são informações essenciais para o Administrador de Sistema. O Linux vem com várias soluções para melhorar os backups (rsnapshot, lsyncd, etc.). É importante conhecer os componentes de backup essenciais que existem no sistema operacional. Neste capítulo vamos estudar duas ferramentas: `tar` e o menos conhecido `cpio`.
+Backup e Restauração são informações essenciais para o Administrador de Sistema. O Linux vem com várias soluções para melhorar os backups (rsnapshot, lsyncd, etc.). É importante conhecer os componentes de “backup” essenciais que existem no sistema operativo. Neste capítulo vamos estudar duas ferramentas: `tar` e o menos conhecido `cpio`.
A Inicialização do Sistema também é uma leitura importante porque a gestão do sistema durante o processo de inicialização evoluiu significativamente nos últimos anos desde a chegada do systemd.
diff --git a/docs/books/admin_guide/01-presentation.de.md b/docs/books/admin_guide/01-presentation.de.md
index a50d829fb2..901503b172 100644
--- a/docs/books/admin_guide/01-presentation.de.md
+++ b/docs/books/admin_guide/01-presentation.de.md
@@ -6,7 +6,7 @@ title: Einführung in GNU/Linux
# Einführung in GNU/Linux
-In diesem Kapitel werden GNU/Linux Distributionen behandelt.
+In diesem Kapitel erfahren Sie mehr über GNU/Linux-Distributionen.
****
@@ -63,11 +63,11 @@ Als Teil dieser Ressourcenverwaltung muss das Betriebssystem Folgendes tun:
* **1969 – 1971**: Nach dem Rückzug von Bell (1969) und dann von General Electric aus dem Projekt wurden zwei Entwickler, Ken Thompson und Dennis Ritchie (zu denen später Brian Kernighan hinzukam), die MULTICS für zu komplex hielten, mit der Entwicklung von UNIX (UNiplexed Information and Computing Service) betraut. Ursprünglich im Assembler implementiert, entwickelten die Designer von UNIX die B-Sprache und dann die C-Sprache (1971) und schrieben UNIX. Seit 1970 ist das Referenzdatum (epoch) der UNIX/Linux-Systeme noch am 01. Januar 1970 festgelegt.
-Die Programmiersprache C ist noch heute eine der beliebtesten Programmiersprachen. Eine Hardware-nahe Sprache, sie ermöglicht die Anpassung des Betriebssystems an jede Maschinenarchitektur.
+C ist auch heute noch eine der beliebtesten Programmiersprachen. Eine Hardware-nahe Sprache, sie ermöglicht die Anpassung des Betriebssystems an jede Maschinenarchitektur.
-UNIX ist ein offenes und sich entwickelndes Betriebssystem, das eine wichtige Rolle in der Geschichte der Informatik gespielt hat. Es war die Basis für viele andere Systeme: GNU/Linux, BSD, macOS, etc.
+UNIX ist ein offenes und sich entwickelndes Betriebssystem, das eine wichtige Rolle in der Geschichte der Informatik gespielt hat. Es bildet die Grundlage für viele andere Systeme wie GNU/Linux, BSD, macOS usw.
-UNIX ist noch heute relevant (HP-UX, AIX, Solaris, etc.)
+UNIX ist auch heute noch relevant (HP-UX, AIX, Solaris usw.).
#### GNU Projekt
@@ -206,7 +206,7 @@ In der Welt **GNU/Linux**-Welt bietet die Bewegung der Freien Software überwieg
**Frei** ist gemeint im Sinne von Freiheit nicht von Freibier!
-**Open Source**: die Quellen sind verfügbar, es ist möglich, sie einzusehen und verändern, aber nur unter bestimmte Bedingungen.
+**Open Source**: die Quellen sind verfügbar, es ist möglich, sie einzusehen und zu verändern, aber nur unter bestimmte Bedingungen.
Eine freie Software – im Sinne von Freiheit – ist notwendigerweise Open Source, aber das Gegenteil ist nicht der Fall, da sich Open-Source-Software von der Freiheit unterscheidet, die die GPL-Lizenz bietet.
diff --git a/docs/books/admin_guide/03-commands.fr.md b/docs/books/admin_guide/03-commands.fr.md
index a91e98b80f..aa79064218 100644
--- a/docs/books/admin_guide/03-commands.fr.md
+++ b/docs/books/admin_guide/03-commands.fr.md
@@ -22,7 +22,7 @@ Dans ce chapitre, vous apprendrez des commandes Linux et comment les utiliser.
**Connaissances** : :star:
**Complexité** : :star:
-**Temps de lecture** : 40 minutes
+**Temps de lecture** : 41 minutes
****
@@ -120,7 +120,7 @@ Il est impossible pour un administrateur, quel que soit son niveau, de connaîtr
La commande `apropos` permet de faire une recherche par mot clef au sein de ces pages de manuel :
-| Options | Observation |
+| Options | Description |
| ------------------------------------------- | ----------------------------------------------------------------------- |
| `-s`, `--sections list` ou `--section list` | Se limite aux sections de manuel. |
| `-a` ou `--and` | Affiche seulement l’élément correspondant à tous les mots-clés fournis. |
@@ -514,7 +514,7 @@ $ ls -lia /home
| `25 oct. 08:10` | Date de dernière modification. |
| `rockstar` | Nom du fichier (ou du répertoire). |
-!!! note "Remarque"
+!!! note "Remarque "
Des **alias** sont fréquemment positionnés au sein des distributions courantes.
@@ -688,7 +688,7 @@ rm [-f] [-r] file [file] [...]
| `-i` | Demande de confirmation de la suppression. |
| `-r` | Supprime récursivement un répertoire et ses sous-répertoires. |
-!!! note "Remarque"
+!!! note "Remarque "
La commande `rm` en elle-même ne demande pas de confirmation lors de la suppression de fichiers. Cependant avec une distribution RedHat/CentOS, `rm` demande une confirmation de suppression car la commande `rm` y est un alias de la commande `rm -i`. Ne soyez pas surpris sur une autre distribution, type Debian par exemple, de ne pas obtenir de demande de confirmation.
@@ -939,7 +939,7 @@ La commande `head` affiche le début d’un fichier.
head [-n x] file
```
-| Option | Observation |
+| Option | Description |
| ------ | ------------------------------------------- |
| `-n x` | Affiche les `x` premières lignes du fichier |
@@ -953,7 +953,7 @@ La commande `tail` affiche la fin d’un fichier.
tail [-f] [-n x] file
```
-| Option | Observation |
+| Option | Description |
| ------ | -------------------------------------------------- |
| `-n x` | Affiche les `x` dernières lignes du fichier |
| `-f` | Affiche les modifications du fichier en temps réel |
@@ -989,10 +989,10 @@ root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm/:/sbin/nologin
```
-| Option | Observation |
+| Option | Description |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `-k` | Spécifier les colonnes à séparer. Vous pouvez spécifier plusieurs colonnes |
-| `-R` | Demande un tri numérique. |
+| `-n` | Demande un tri numérique. |
| `-o file` | Enregistre le tri dans le fichier spécifié. |
| `-t` | Spécifiez un délimiteur, qui exige que le contenu du fichier correspondant soit régulièrement délimité par le contenu des colonnes, sinon ils ne peuvent pas être triés correctement |
| `-r` | Inverser l'ordre du résultat. Utilisé en conjonction avec l'option `-n` pour trier dans l'ordre de la plus grande à la plus petite |
@@ -1109,7 +1109,7 @@ La commande `wc` compte le nombre de lignes, mots et/ou octets d’un fichier.
wc [-l] [-m] [-w] file [files]
```
-| Option | Observation |
+| Option | Description |
| ------ | ------------------------------- |
| `-c` | Compte le nombre d’octets. |
| `-m` | Compte le nombre de caractères. |
@@ -1130,7 +1130,7 @@ Les options de la commande `find` étant très nombreuses, il est préférable d
Si le répertoire de recherche n’est pas précisé, la commande `find` cherchera à partir du répertoire courant.
-| Option | Observation |
+| Option | Description |
| ------------------- | ----------------------------------------------- |
| `-perm permissions` | Recherche des fichiers selon leurs permissions. |
| `-size size` | Recherche des fichiers selon leur taille. |
@@ -1179,7 +1179,7 @@ $ whereis -b ls
ls: /bin/ls
```
-| Option | Observation |
+| Option | Description |
| ------ | -------------------------------------- |
| `-b` | Ne recherche que le fichier binaire. |
| `-m` | Ne recherche que les pages de manuel. |
@@ -1200,7 +1200,7 @@ $ grep -w "root:" /etc/passwd
root:x:0:0:root:/root:/bin/bash
```
-| Option | Observation |
+| Option | Description |
| ------ | ------------------------------------------------------ |
| `-i` | Ignore la casse de la chaîne de caractères recherchée. |
| `-v` | Exclut les lignes contenant la chaîne de caractère. |
@@ -1215,7 +1215,7 @@ La commande `grep` retourne la ligne complète comprenant la chaîne de caractè
grep -w "^root" /etc/passwd
```
-!!! note "Remarque"
+!!! note "Remarque "
Cette commande est très puissante et il est fortement conseillé de consulter son manuel. Elle a de nombreux dérivés.
@@ -1261,7 +1261,7 @@ $ find /home -name "test[123]*"
/home/rockstar/test362
```
-!!! note "Remarque"
+!!! note "Remarque "
Prendre soin de toujours encadrer les mots contenant des métacaractères par des `"` pour éviter qu’ils soient remplacés par le nom des fichiers qui répondraient aux critères.
@@ -1296,7 +1296,7 @@ Il est possible de rediriger le flux d’entrée depuis un autre fichier avec le
ftp -in serverftp << ftp-commands.txt
```
-!!! note "Remarque"
+!!! note "Remarque "
Seules les commandes demandant une saisie au clavier pourront gérer la redirection d’entrée.
diff --git a/docs/books/admin_guide/03-commands.it.md b/docs/books/admin_guide/03-commands.it.md
index bfd99a1b3c..c0970029c1 100644
--- a/docs/books/admin_guide/03-commands.it.md
+++ b/docs/books/admin_guide/03-commands.it.md
@@ -785,7 +785,7 @@ cp -r /home/rockstar /tmp
| Opzioni | Informazione |
| ------- | ---------------------------------------------------------------------------- |
| `-i` | Richiesta di conferma per la sovrascrittura (default). |
-| `-f` | Non chiedere conferma per la sovrascrittura del file di destinazione. |
+| `-t` | Non chiedere conferma per la sovrascrittura del file di destinazione. |
| `-p` | Mantiene il proprietario, le autorizzazioni e il timestamp del file copiato. |
| `-r` | Copia una directory con i suoi file e sottodirectory. |
| `-s` | Crea un collegamento simbolico invece di copiare. |
@@ -958,7 +958,7 @@ tail [-f] [-n x] file
| Opzione | Descrizione |
| ------- | ---------------------------------------------- |
| `-n x` | Visualizza le ultime `x` righe del file |
-| `-f` | Visualizza le modifiche al file in tempo reale |
+| `-t` | Visualizza le modifiche al file in tempo reale |
Esempio:
@@ -998,7 +998,7 @@ adm:x:3:4:adm:/var/adm/:/sbin/nologin
| `-o file` | Salva l'ordinamento nel file specificato. |
| `-t` | Specificare un delimitatore, che richiede che i contenuti del file corrispondente siano contenuti di colonne regolarmente delimitate, altrimenti non possono essere ordinati correttamente. |
| `-r` | Inverte l'ordine del risultato. Usato insieme all'opzione `-n` per ordinare dal più grande al più piccolo. |
-| `-u` | Rimuovi i duplicati dopo l'ordinamento. Equivalente a `sort file uniq`. |
+| `- u` | Rimuovi i duplicati dopo l'ordinamento. Equivalente a `sort file uniq`. |
Il comando `sort` ordina il file solo sullo schermo. Il file non è modificato dall'ordinamento. Per salvare l'ordinamento, utilizzare l'opzione `-o` o un reindirizzamento dell'output `>`.
diff --git a/docs/books/admin_guide/03-commands.zh.md b/docs/books/admin_guide/03-commands.zh.md
index bfd0d56e50..89e88eae22 100644
--- a/docs/books/admin_guide/03-commands.zh.md
+++ b/docs/books/admin_guide/03-commands.zh.md
@@ -11,13 +11,13 @@ contributors: Steven Spencer, Aditya Putta, tianci li, Grammaresque, Ganna Zhyrn
****
-**目标**: 在本章中,未来的 Linux 管理员们将学习如何:
+**目标**: 在本章中,未来的 Linux 管理员们将学习如何:
:heavy_check_mark: 在系统树中 **移动**。
:heavy_check_mark: **创建** 一个文本文件, **显示** 其内容并对其 **修改**。
:heavy_check_mark: **使用** 最实用的Linux命令。
-:checkered_flag: **用户命令**,**linux**
+:checkered_flag: **用户命令**,**linux****
**知识性**: :star:
**复杂度**: :star:
diff --git a/docs/books/admin_guide/04-advanced-commands.de.md b/docs/books/admin_guide/04-advanced-commands.de.md
index c17653760e..66ee410f97 100644
--- a/docs/books/admin_guide/04-advanced-commands.de.md
+++ b/docs/books/admin_guide/04-advanced-commands.de.md
@@ -41,7 +41,7 @@ steven
!!! note "Hinweis"
- `uniq` erfordert, dass die Eingabedatei sortiert wird, da sie nur aufeinander folgende Zeilen vergleicht.
+ `uniq` erfordert, dass die Eingabedatei sortiert ist, da sie nur aufeinander folgende Zeilen vergleicht.
Ohne Argument wird der `uniq` Befehl die gleichen Zeilen nicht anzeigen, die einander in der `firstnames.txt` Datei folgen:
@@ -333,8 +333,7 @@ Mit der Option `-n` können Sie die Anzahl der Sekunden zwischen jeder Ausführu
!!! note "Anmerkung"
- Um den `watch` Befehl zu verlassen, müssen Sie Folgendes eingeben:
- ++control+c++, um den Prozess zu beenden.
+ Um den `watch` Befehl zu verlassen, müssen Sie ++control+c++ eingeben, und den Prozess beenden.
Beispiele:
@@ -385,7 +384,7 @@ Optionen:
| `-b` oder `--backup[=suffix]` | ein Backup der Ziel-Datei erstellen. |
| `-d` | Argumente als Directory-Namen behandeln |
| `-D` | Erstellen aller Hauptkomponenten, bevor QUELLE nach ZIEL kopiert wird |
-| `-g` und `-o` | Eigentümer-Eigenschaft setzen. |
+| `-g` und `-o` | setzt Eigentümer-Eigenschaft |
| `-m` | Berechtigungen setzen |
| `-p` | Datum und Uhrzeit der ursprünglichen Dateien behalten |
| `-t` | kopiert alle Quellargumente in den Ordner |
diff --git a/docs/books/admin_guide/04-advanced-commands.it.md b/docs/books/admin_guide/04-advanced-commands.it.md
index 686541e42b..51d21780a5 100644
--- a/docs/books/admin_guide/04-advanced-commands.it.md
+++ b/docs/books/admin_guide/04-advanced-commands.it.md
@@ -449,11 +449,11 @@ Espande i file o le cartelle della directory in una struttura ad albero.
|:------- |:------------------------------------------------------------- |
| `-a` | Vengono elencati tutti i file |
| `-h` | Stampa le dimensioni in un modo più leggibile per l'utente |
-| `-u` | Visualizza il proprietario del file o il numero UID |
+| `- u` | Visualizza il proprietario del file o il numero UID |
| `-g` | Visualizza il proprietario del gruppo di file o il numero GID |
| `-p` | Stampa le protezioni per ciascun file |
-Per esempio:
+Ad esempio:
```bash
$ tree -hugp /etc/yum.repos.d/
diff --git a/docs/books/admin_guide/04-advanced-commands.uk.md b/docs/books/admin_guide/04-advanced-commands.uk.md
index d07aea44dc..be18eb81a5 100644
--- a/docs/books/admin_guide/04-advanced-commands.uk.md
+++ b/docs/books/admin_guide/04-advanced-commands.uk.md
@@ -377,7 +377,7 @@ install -t directory source [...]
install -d directory
```
-Опції:
+Параметри:
| Опції | Зауваження |
| ---------------------------- | ---------------------------------------------------------------- |
diff --git a/docs/books/admin_guide/05-vi.de.md b/docs/books/admin_guide/05-vi.de.md
index f80e6b0aa7..18a96de022 100644
--- a/docs/books/admin_guide/05-vi.de.md
+++ b/docs/books/admin_guide/05-vi.de.md
@@ -1,10 +1,10 @@
---
-title: VI-Texteditor
+title: VI — Texteditor
---
# VI-Texteditor
-In diesem Kapitel erfahren Sie, wie Sie mit dem VIsual-Editor arbeiten.
+In diesem Kapitel erfahren Sie, wie Sie mit dem `VI`sual-Editor arbeiten.
****
@@ -15,8 +15,8 @@ In diesem Kapitel erfahren Sie, wie Sie mit dem VIsual-Editor arbeiten.
:checkered_flag: **Benutzerbefehle**, **Linux**
-**Vorwissen**: :star:
-**Komplexität**: :star: :star:
+**Vorkenntnisse**: :star:
+**Schwierigkeitsgrad**: :star::star:
**Lesezeit**: 23 Minuten
@@ -28,7 +28,7 @@ Sehr leistungsstark, ist es vor allem sehr praktisch, da er auf einen Minimum f
Seine Funktionen sind:
-* Einfügen, löschen, Text ändern;
+* Text einfügen, löschen und ändern;
* Kopieren von Wörter, Zeilen oder Textblöcke;
* Suchen und ersetzen von Zeichen.
@@ -50,11 +50,11 @@ vi /home/rockstar/file
| ------------ | --------------------------------------------------- |
| `-c command` | VI durch Angabe eines Befehls beim Öffnen ausführen |
-Wenn die Datei an der angegebenen Stelle existiert, wird sie von VI gelesen, der im **Kommandos**-Modus versetzt wird.
+Wenn die Datei an der angegebenen Stelle existiert, wird sie von VI gelesen, der im **Kommando**-Modus versetzt wird.
Wenn die Datei nicht existiert, öffnet VI eine leere Datei und eine leere Seite wird auf dem Bildschirm angezeigt. Wenn die Datei gespeichert wird, wird der mit dem Befehl angegebene Name verwendet.
-Wenn der Befehl `vi` ohne Angabe eines Dateinamens ausgeführt wird, öffnet VI eine leere Datei, und eine leere Seite wird auf dem Bildschirm angezeigt. Wenn die Datei gespeichert wird, fragt VI nach einem Dateinamen.
+Wenn der Befehl `vi` ohne Angabe eines Dateinamens ausgeführt wird, öffnet VI eine leere Datei und eine leere Seite wird auf dem Bildschirm angezeigt. Wenn die Datei gespeichert wird, fragt VI nach einem Dateinamen.
Der `vim` Editor übernimmt die Benutzeroberfläche und die Funktionen von VI, die mit vielen Verbesserungen ergänzt werden.
@@ -62,7 +62,7 @@ Der `vim` Editor übernimmt die Benutzeroberfläche und die Funktionen von VI, d
vim [-c command] [file]
```
-Durch diese Verbesserungen verfügt der Benutzer über Syntax-Highlighting, was sehr nützlich ist, um Shell-Skripte oder Konfigurationsdateien zu bearbeiten.
+Durch diese Verbesserungen verfügt der Benutzer über Syntax-Hervorhebung, was sehr nützlich ist, um Shell-Skripte oder Konfigurationsdateien zu bearbeiten.
Während einer Sitzung verwendet VI eine Pufferdatei, in der alle Änderungen des Benutzers aufgenommen werden.
@@ -74,15 +74,15 @@ Beim Start ist VI im *Kommandos*-Modus.
!!! tip "Hinweis"
- Eine Textzeile wird durch Drücken von ENTER beendet, aber wenn der Bildschirm nicht breit genug ist, erzeugt VI standardmäßig automatische Zeilenumbrüche, sofern _wrap_ als Vorbelegung konfiguriert ist. Falls diese Zeilenumbrüche nicht erwünscht sind, sollte _nowrap_ konfiguriert werden.
+ Eine Textzeile wird durch Drücken von ++enter++ beendet, aber wenn der Bildschirm nicht breit genug ist, erzeugt VI standardmäßig automatische Zeilenumbrüche, sofern _wrap_ als Vorbelegung konfiguriert ist. Falls diese Zeilenumbrüche nicht erwünscht sind, sollte _nowrap_ entsprechend konfiguriert werden.
-Drücken Sie das Zeichen : aus dem Befehlsmodus um VI zu beenden, und geben Sie dann Folgendes ein:
+Drücken Sie das Zeichen ++colon++ aus dem Befehlsmodus um VI zu beenden und geben Sie dann Folgendes ein:
-* `q` (beenden ohne zu speichern _quit_);
+* `q` beenden ohne zu speichern (*quit*);
* `w` um Ihre Arbeit zu speichern (_write_);
* `wq` (_write quit_) oder `x` (_eXit_) zum Speichern und Beenden.
-Klicken Sie im Befehlsmodus zweimal in Folge auf die Z Taste (Großbuchstabe) zum Speichern und Beenden.
+Klicken Sie im Befehlsmodus zweimal in Folge auf die Taste ++z++ (Großbuchstabe) zum Speichern und Beenden.
Um das Beenden ohne Bestätigung zu erzwingen, müssen Sie das Ausrufezeichen *!* zu den vorherigen Befehlen hinzufügen.
@@ -104,7 +104,7 @@ Der dritte Modus, *ex*, ist ein Befehlsmodus für Fußzeilen eines Legacy-Texted
### Der Befehlsmodus
-Dies ist der Standardmodus, wenn VI gestartet wird. Um es von allen anderen Modi aus aufzurufen, drücken Sie einfach die ESC Taste.
+Dies ist der Standardmodus, wenn VI gestartet wird. Um es von allen anderen Modi aus aufzurufen, drücken Sie einfach die Taste ++escape++.
Zu diesem Zeitpunkt werden alle Tastaturkürzel als Befehle interpretiert und die entsprechenden Aktionen ausgeführt. Dies sind im Wesentlichen Befehle zum Bearbeiten von Text (kopieren, einfügen, rückgängig machen, ...).
@@ -120,7 +120,7 @@ Der Text wird nicht direkt in die Datei gespeichert, sondern in eine Pufferzone
Dies ist der Datei-Modifikationsmodus. Um darauf zuzugreifen, müssen Sie zuerst zum *Befehls*-Modus wechseln, geben Sie dann das *ex*-Kommando ein, das häufig mit dem Zeichen `:` beginnt.
-Der Befehl wird durch Drücken der ENTER Taste bestätigt.
+Der Befehl wird durch Drücken der ++enter++ Taste bestätigt.
## Cursor verschieben
@@ -136,109 +136,113 @@ Der Cursor befindet sich unter dem gewünschten Zeichen.
* Verschiebe ein oder `n` Zeichen nach links:
-←, n←, h oder nh
+++arrow-left++, ++"n"++ ++arrow-left++, ++"h"++ or ++"n"++ ++"h"++
* Verschiebe ein oder `n` Zeichen nach rechts:
-→, n→, l oder nl
+++arrow-right++, ++"n"++ ++arrow-right++, ++"l"++ oder ++"n"++ ++"l"++
* Ein oder `n` Zeichen nach oben:
-↑, n↑, k oder nk
+++arrow-up++, ++"n"++ ++arrow-up++, ++"k"++ oder ++"n"++ ++"k"++
* Ein oder `n` Zeichen nach unten verschieben:
-↓, n↓, j oder nj
+++arrow-down++, ++"n"++ ++arrow-down++, ++"j"++ oder ++"n"++ ++"j"++
* Zum Ende der Zeile verschieben:
-$ oder ENDE
+++"$"++ oder ++end++
* Zum Anfang der Zeile verschieben:
-0 oder POS1
+++0++ oder ++home++
### Vom ersten Zeichen eines Wortes
Wörter bestehen aus Buchstaben oder Zahlen. Satzzeichen und Apostrophe getrennt Wörter.
-Wenn sich der Cursor in der Mitte eines Wortes befindet, w bewegt sich zum nächsten Wort, b bewegt sich an den Anfang des Wortes.
+Wenn sich der Cursor in der Mitte eines Wortes befindet, mit w bewegt er sich zum nächsten Wort, mit b an den Anfang des Wortes.
Wenn die Zeile beendet ist, geht VI automatisch in die nächste Zeile.
* Verschiebe ein oder `n` Wörter nach rechts:
-w oder nw
+++"w"++ oder ++"n"++ ++"w"++
* Verschiebe ein oder `n` Wörter nach links:
-b oder nb
+++"b"++ oder ++"n"++ ++"b"++
### Von jedem Ort auf einer Zeile
* Zur letzten Textzeile verschieben:
-G
+++g++
* In Zeile `n` verschieben:
-nG
+++"n"++ ++g++
* Zur ersten Zeile des Bildschirms verschieben:
-H
+++h++
* In die mittlere Zeile des Bildschirms verschieben:
-M
+++m++
* Zur letzten Zeile des Bildschirms verschieben:
-L
+++l++
+
+* Zur ersten Zeile der Datei springen
+
+++"g"++ ++"g"++
## Text einfügen
-Im *Befehlsmodus* gibt es mehrere Möglichkeiten, Text einzufügen.
+Es gibt mehrere Möglichkeiten, Text im *Befehlsmodus* einzufügen.
-VI schaltet nach Eingabe eines dieser Schlüssel zum *Einfüge-Modus*.
+VI schaltet nach Eingabe eines dieser Tasten zum *Einfüge-Modus*.
!!! note "Anmerkung"
- VI wechselt zum *Einfüge*-Modus. Sie müssen also die ESC Taste drücken, um in den *Befehls*-Modus zurückzukehren.
+ VI wechselt zum *Einfüge*-Modus. Sie müssen also die ++escape++ Taste drücken, um in den *Befehls*-Modus zurückzukehren.
### In Bezug auf ein Zeichen
* Text vor einem Zeichen einfügen:
-i (_insert_)
+++"i"++ (*insert – einfügen*)
-* Text nach einem Zeichen einfügen:
+* Text hinter einem Zeichen einfügen:
-a (_append_)
+++"a"++ (*append – anfügen*)
### In Verbindung mit einer Zeile
* Text am Anfang einer Zeile einfügen:
-I
+++i++
* Text am Ende einer Zeile einfügen:
-A
+++a++
### In Bezug auf den Text
* Text vor einer Zeile einfügen:
-O
+++o++
-* Text nach einer Zeile einfügen:
+* Text hinter einer Zeile einfügen:
-o
+++"o"++
## Zeichen, Wörter und Zeilen
-VI erlaubt Textbearbeitung durch Verwaltung von Folgendes:
+VI ermöglicht die Textbearbeitung durch die Verwaltung von:
* Zeichen,
* Worte,
@@ -252,47 +256,47 @@ In jedem Fall ist Folgendes möglich:
* ausschneiden,
* einfügen.
-Diese Operationen werden im *Befehl*-Modus durchgeführt.
+Diese Operationen werden im *Befehls*-Modus durchgeführt.
### Zeichen
* Ein oder `n` Zeichen löschen:
-x oder nx
+++"x"++ oder ++"n"++ ++"x"++
-* Ersetze ein Zeichen durch ein anderes:
+* Ein Zeichen durch ein anderes ersetzen:
-rZeichen
+++"r"+"character"++
-* Ersetze mehr als ein Zeichen durch andere:
+* Mehr als ein Zeichen durch andere ersetzen:
-RZeichenESC
+++r+"characters"+escape++
!!! note "Anmerkung"
- Der R Befehl wechselt in den *eRsetzen*-Modus, was eine Art *einfügen* Modus ist.
+ Der ++r++ Befehl wechselt in den *eRsetzen*-Modus, was eine Art *Einfüge*-Modus ist.
### Wörter
* Ein oder `n` Wörter löschen (cut):
-dw oder ndw
+++"d"+"w"++ oder ++"n"+"d"+"w"++
* Ein oder `n` Wörter kopieren:
-yw oder nyw
+++"y"+"w"++ oder ++"n"+"y"+"w"++
* Ein Wort einmal oder `n` mal nach dem Cursor einfügen:
-p oder np
+++"p"++ oder ++"n"+"p"++
* Ein Wort einmal oder `n` mal vor dem Cursor einfügen:
-P oder nP
+++p++ oder ++"n"+p++
* Ein Wort ersetzen:
-cw*word*ESC
+++"c"+"w"+"word"+escape++
!!! tip "Hinweis"
@@ -303,73 +307,81 @@ Diese Operationen werden im *Befehl*-Modus durchgeführt.
* Lösche (cut) eine oder `n` Zeilen:
-dd oder ndd
+++"d"+"d"++ oder ++"n"+"d"+"d"++
* Eine oder `n` Zeilen kopieren:
-yy oder nyy
+++"y"+"y"++ oder ++"n"+"y"+"y"++
-* Das, was einmal oder `n` nach der aktuellen Zeile kopiert oder gelöscht wurde, einfügen:
+* Das, was einmal oder `n` Mal nach der aktuellen Zeile kopiert oder gelöscht wurde, einfügen:
-p oder np
+++"p"++ oder ++"n"+"p"++
-* das einfügen, was einmal oder `n` mal vor der aktuellen Zeile kopiert oder gelöscht wurde:
+* Das einfügen, was einmal oder `n`-mal vor der aktuellen Zeile kopiert oder gelöscht wurde:
-P oder nP
+++p++ oder ++"n"+p++
-* Löschen (cut) vom Anfang der Zeile zum Cursor:
+* Löschen (cut) vom Anfang der Zeile bis zum Cursor:
-d0
+++"d"+0++
* Löschen (cut) vom Cursor bis zum Ende der Zeile:
-d$
+++"d"+"$"++
+
+* Vom Anfang der Zeile bis zum Cursor kopieren:
+
+++"y"+0++
-* Vom Anfang der Zeile zum Cursor kopieren:
+* Vom Cursor bìs zum Ende der Zeile kopieren:
-y0
+++"y"+"$"++
-* Kopieren Sie vom Cursor an das Ende der Zeile:
+* Den Inhalt von der Cursorzeile bis zur letzten Zeile der Datei löschen (cut):
-y$
+++"d"+g++
-* Text aus der aktuellen Zeile löschen (cut):
+* Den Inhalt von der Cursorzeile bis zur letzten Zeile des Bildschirms löschen (cut):
-dL oder dG
+++"d"+l++
-* Den Text aus der aktuellen Zeile kopieren:
+* Den Inhalt von der Cursor-Zeile bis zur letzten Zeile der Datei kopieren:
-yL oder yG
+++"y"+g++
+
+* Inhalt von der Cursorzeile bis zum Ende des Bildschirms kopieren
+
+++"y"+l++
### Eine Aktion abbrechen
* Die letzte Aktion rückgängig machen:
-u
+++"u"++
* Die Aktionen in der aktuellen Zeile rückgängig machen:
-U
+++u++
### Stornierung abbrechen
* Eine Stornierung abbrechen
-Strg+R
+++control+r++
## EX-Befehle
-Der *Ex*-Modus erlaubt es Ihnen, auf die Datei zu agieren (Speichern, Layout, Optionen, ...). Es ist auch im *Ex*-Modus, in dem Such- und Ersetzungsbefehle eingegeben werden. Die Ex-Befehle werden unten auf der Seite angezeigt und müssen mit der ENTER Taste bestätigt werden.
+Der *Ex*-Modus erlaubt es Ihnen, auf die Datei zu agieren (Speichern, Layout, Optionen, ...). Es ist auch im *Ex*-Modus, in dem Such- und Ersetzungsbefehle eingegeben werden. Die Befehle werden unten auf der Seite angezeigt und müssen mit der Taste ++enter++ bestätigt werden.
-Um zum *Ex*-Modus zu wechseln, geben Sie im *Befehl*-Modus das Zeichen : ein.
+Um zum *Ex*-Modus zu wechseln, geben Sie im *Befehls*-Modus das Zeichen ++colon++ ein.
-### Nummerierung der Zeilen
+### Zeilennummerierung
* Nummerierung der Zeilen ein-/ausblenden:
-`:set nu` oder `:set number`
+`:set nonu` oder ausführlicher `:set nonumber`
-`:set nonu` oder `:set nonumber`
+`:set nonu` oder ausführlicher `:set nonumber`
### Nach einer Zeichenkette suchen
@@ -381,41 +393,41 @@ Um zum *Ex*-Modus zu wechseln, geben Sie im *Befehl*-Modus das Zeichen :n
+++"n"++
-* Gehe zum vorherigen Vorkommnis gefunden:
+* Zum nächsten passenden String:
-N
+++n++
-Es gibt Platzhalter, um die Suche in VI zu erleichtern.
+Es gibt reguläre Ausdrücke, um die Suche in VI zu erleichtern.
* `[]` : Sucht nach einem Zeichenbereich oder einem einzelnen Zeichen, dessen mögliche Werte angegeben sind.
Beispiel:
-`/[Ww]ord` : Suche _Wort_ oder _wort_
+`/[Ww]ort` : Suche *Wort* oder *wort*
-`/[1-9]word` : search _1word_, _2word_ … _`x`Wort_ wobei `x` eine Zahl ist
+`/[1-9]word` : *1word*, *2word* … suchen *`x`word* wobei `x` eine Zahl ist
-* `^` : Suche nach einem String, der die Zeile beginnt.
+* `^` : Nach Zeilen suchen, die mit einer Zeichenkette beginnen.
Beispiel:
`/^Word`
-* `$` : Suche nach einem String, der die Zeile beendet.
+* `$`: Suche nach Zeilen, die mit bestimmte Zeichen enden.
Beispiel:
`/Word$`
-* `.` : Suche nach einem einzelnen Zeichen außer Zeilenvorschub.
+* `.`: Suche nach einem einzelnen Zeichen außer Zeilenvorschub.
Beispiel:
-`/W.rd` : Suche _Wort_, _Ward_ …
+`/W.rd` : Suche *Word*, *Ward* …
* `*` : Die Anzahl Male, mit der das vorherige Zeichen übereinstimmt, 0 Mal oder beliebig oft.
@@ -431,7 +443,7 @@ Von der 1. bis zur letzten Zeile des Textes, den durchsuchten String durch die a
`:1,$ s/search/replace`
-**Hinweis:** Sie können auch `:0,$s/search/replace` verwenden, um anzugeben, dass am absoluten Anfang der Datei begonnen werden soll.
+**Hinweis:** Sie können auch `:0,$s/search/replace` verwenden, um anzugeben, dass ganz am Anfang der Datei begonnen werden soll.
Die gesuchte Zeichenfolge von der Zeile `n` bis zur Zeile `m` durch die neue Zeichenfolge ersetzen:
@@ -467,7 +479,7 @@ Durchsuchen einer ganzen Datei, um den gesuchten String durch den angegebenen St
`:g/^#/d`
-Das **g** steht hier für **global**.
+**g** bedeutet hier **global**.
### Datei Operationen
@@ -477,11 +489,11 @@ Das **g** steht hier für **global**.
* Unter einem anderen Namen speichern:
-`:w Datei`
+`:w file`
* Von Zeile `n` bis Zeile `m` in eine andere Datei speichern:
-`:n,m w Datei`
+`:n,m w file`
* Die letzte Speicherung der Datei neu laden:
@@ -489,34 +501,52 @@ Das **g** steht hier für **global**.
* Den Inhalt einer anderen Datei nach dem Cursor einfügen:
-`:r Datei`
+`:r file`
-* Bearbeiten einer Datei beenden, ohne zu speichern:
+* Die Bearbeitung einer Datei beenden, ohne zu speichern:
`:q`
-* Beenden Sie die Bearbeitung einer Datei, die während der Sitzung geändert wurde, aber nicht gespeichert wurde:
+* Bearbeiten einer Datei beenden, die während der Sitzung geändert wurde, aber ohne zu speichern:
`:q!`
-* Datei beenden und speichern:
+* Datei speichern:
`:wq` oder `:x`
## Andere Funktionen
-Es ist möglich, VI auszuführen, wobei die Optionen angegeben werden, die für die Sitzung geladen werden sollen. Um dies zu tun, müssen Sie die `-c` Option verwenden:
+Es ist möglich, VI mit Angabe der für die Sitzung zu ladenden Optionen auszuführen. Um dies zu tun, müssen Sie die `-c` Option verwenden:
```bash
vi -c "set nu" /home/rockstar/file
```
-Es ist auch möglich, die *Ex*-Befehle in einer Datei mit dem Namen `.exrc` in das Login-Verzeichnis des Benutzers zu speichern. Bei jedem VI- oder VIM-Start werden die Befehle gelesen und angewendet.
+Es ist auch möglich, die *Ex*-Befehle in einer Datei mit dem Namen `.exrc` in das Login-Verzeichnis des Benutzers zu speichern. Die Befehle werden bei jedem VI- oder VIM-Start gelesen und angewendet.
### `vimtutor` Befehl
-Es gibt ein Tutorial zum Lernen wie man VI benutzt. Es ist mit dem Befehl `vimtutor` zugänglich.
+Es gibt ein Tutorial zum Erlernen der Verwendung von `VI`. Es ist mit dem Befehl `vimtutor` zugänglich.
```bash
-$ vimtutor
+vimtutor
```
+
+### Visualisierungs-Modus
+
+Dieser Modus ist ein Unterpunkt des Befehlsmodus. Sie können es vervollständigen, indem Sie ++"v"++ oder ++v++ eingeben. Der Operationsinhalt des ersteren befindet sich auf Zeichenebene und der Operationsinhalt des letzteren auf Zeilenebene.
+
+!!! info "Information"
+
+ Mit den Pfeiltasten können Sie den Zeichen- oder Zeileninhalt markieren, den Sie bearbeiten möchten.
+
+#### Zeichenebene
+
+* **Löschen (Ausschneiden)** - Drücken Sie die Taste ++"v"++, um den Zeicheninhalt zu markieren, den Sie löschen möchten, und drücken Sie dann ++"x"++, um ihn zu löschen
+* **Kopieren** - Drücken Sie die Taste ++"v"++, um den zu kopierenden Zeicheninhalt zu markieren, und drücken Sie dann die Taste ++"y"++, um ihn zu kopieren
+
+#### Linienebene
+
+* **Löschen (Ausschneiden)** - Drücken Sie die Taste ++v++, um die zu löschende Zeile zu markieren, und drücken Sie dann ++"x"++, um sie zu löschen
+* **Kopieren** - Drücken Sie die Taste ++v++, um die zu kopierende Zeile zu markieren, und drücken Sie dann die Taste ++"y"++, um sie zu kopieren
diff --git a/docs/books/admin_guide/05-vi.fr.md b/docs/books/admin_guide/05-vi.fr.md
index 930541d0e2..909182618d 100644
--- a/docs/books/admin_guide/05-vi.fr.md
+++ b/docs/books/admin_guide/05-vi.fr.md
@@ -206,7 +206,7 @@ Il existe plusieurs manières d'insérer du texte en mode *commandes*.
VI bascule en mode *insertion* après la saisie d’une de ces touches.
-!!! note "Remarque"
+!!! note "Remarque "
VI passe en mode *insertion*. Il faudra donc appuyer sur la touche ++escape++ pour revenir en mode *commandes*.
@@ -272,7 +272,7 @@ Ces opérations se font en mode *command*.
++r+"characters"+escape++
-!!! note "Remarque"
+!!! note "Remarque "
La commande ++r++ bascule en mode *remplacement*, qui est une sorte de mode *insertion*.
@@ -296,7 +296,7 @@ Ces opérations se font en mode *command*.
* Remplacer un mot :
-++c+w+"mot"+escape++
+++"c"+"w"+"word"+escape++
!!! tip "Astuce"
diff --git a/docs/books/admin_guide/05-vi.it.md b/docs/books/admin_guide/05-vi.it.md
index d265ad3db2..a8d2473eb7 100644
--- a/docs/books/admin_guide/05-vi.it.md
+++ b/docs/books/admin_guide/05-vi.it.md
@@ -296,7 +296,7 @@ Queste operazioni vengono eseguite in modalità *comando*.
* Sostituire una parola:
-++c+w+"word"+escape++
+++"c"+"w"+"word"+escape++
!!! Tip "Suggerimento"
diff --git a/docs/books/admin_guide/05-vi.md b/docs/books/admin_guide/05-vi.md
index aeed3e36ae..aec9b35ba5 100644
--- a/docs/books/admin_guide/05-vi.md
+++ b/docs/books/admin_guide/05-vi.md
@@ -296,7 +296,7 @@ These operations are done in *command* mode.
* Replace one word:
-++c+w+"word"+escape++
+++"c"+"w"+"word"+escape++
!!! Tip
diff --git a/docs/books/admin_guide/05-vi.uk.md b/docs/books/admin_guide/05-vi.uk.md
index 96216600e8..f1b1dde12a 100644
--- a/docs/books/admin_guide/05-vi.uk.md
+++ b/docs/books/admin_guide/05-vi.uk.md
@@ -206,7 +206,7 @@ VI залишається в режимі *команд* після перемі
VI перемикається в режим *вставки* після введення однієї з цих клавіш.
-!!! Note "Примітка"
+!!! Примітка
VI переходить у режим *вставки*. Тож вам доведеться натиснути ++escape++ клавіша для повернення в *командний* режим.
@@ -272,7 +272,7 @@ VI дозволяє редагувати текст, керуючи:
++r+"символи"+escape++
-!!! Note "Примітка"
+!!! Примітка
Команда ++r++ перемикається в режим *replace*, який є різновидом режиму *insert*.
@@ -296,7 +296,7 @@ VI дозволяє редагувати текст, керуючи:
* Замінити одне слово:
-++c+w+"слово"+escape++
+++"c"+"w"+"word"+escape++
!!! tip "Порада"
diff --git a/docs/books/admin_guide/05-vi.zh.md b/docs/books/admin_guide/05-vi.zh.md
index 8cab84b4d8..1fdd4a48f8 100644
--- a/docs/books/admin_guide/05-vi.zh.md
+++ b/docs/books/admin_guide/05-vi.zh.md
@@ -206,7 +206,7 @@ VI 的原理是在 *command* 模式和 *insertion* 模式之间交替使用。
输入其中一个按键后,VI 将切换到 *insert* 模式。
-!!! note "说明"
+!!! Note "说明"
要将 VI 切换到 *insertion* 模式, 您必须按 ++escape++ 键返回到 *command* 模式。
@@ -272,7 +272,7 @@ VI允许通过管理以下内容进行文本编辑:
++r+"characters"+escape++
-!!! note "说明"
+!!! Note "说明"
++r++命令切换到 *replace* 模式,这是一种 *insert* 模式。
@@ -296,7 +296,7 @@ VI允许通过管理以下内容进行文本编辑:
* 替换一个单词:
-++c+w+"word"+escape++
+++"c"+"w"+"word"+escape++
!!! Tip "提示"
diff --git a/docs/books/admin_guide/06-users.fr.md b/docs/books/admin_guide/06-users.fr.md
index 81fd04c5ad..26853552fc 100644
--- a/docs/books/admin_guide/06-users.fr.md
+++ b/docs/books/admin_guide/06-users.fr.md
@@ -353,7 +353,7 @@ Exemple :
sudo useradd -u 1000 -g GroupA -G GroupP,GroupC albert
```
-!!! note "Remarque"
+!!! Note
Sous **Debian**, il faudra spécifier l’option `-m` pour forcer la création du répertoire de connexion ou renseigner la variable `CREATE_HOME` du fichier `/etc/login.defs`. Dans tous les cas, l’administrateur devrait privilégier, sauf dans des scripts ayant la vocation d’être portables sur toutes les distributions Linux, les commandes `adduser` et `deluser` comme précisé dans le manuel `man` :
@@ -609,7 +609,7 @@ sudo chgrp group1 file
| `-R` | Modifie les groupes propriétaires du répertoire et de son contenu (récursivité). |
| `-v` | Affiche les modifications. |
-!!! note "Remarque"
+!!! Note
Il est possible d'appliquer à un fichier un propriétaire et un groupe propriétaire en prenant comme référence ceux d'un autre fichier :
@@ -766,7 +766,7 @@ Exemple :
sudo passwd alain
```
-!!! note "Remarque"
+!!! Note
Les utilisateurs connectés au système peuvent utiliser la commande `passwd` pour modifier leurs mots de passe (ce processus nécessite la saisie de l'ancien mot de passe de l'utilisateur). L'utilisateur `root`(uid=0) peut modifier le mot de passe de n'importe quel utilisateur.
@@ -830,7 +830,7 @@ Fichiers de configuration :
* `/etc/login.defs`
* `/etc/skel`
-!!! note "Remarque"
+!!! Note
L’édition du fichier `/etc/default/useradd` se fait grâce à la commande `useradd`.
diff --git a/docs/books/admin_guide/06-users.it.md b/docs/books/admin_guide/06-users.it.md
index 9ba6b2e962..52761275d5 100644
--- a/docs/books/admin_guide/06-users.it.md
+++ b/docs/books/admin_guide/06-users.it.md
@@ -310,7 +310,7 @@ Quando si richiama il comando `useradd` senza alcuna opzione, vengono impostate
* La shell predefinita è bash;
* I valori UID e GID del gruppo primario dell'utente vengono automaticamente detratti. Questo è di solito un valore unico tra 1000 e 60.000.
-!!! note "Nota"
+!!! note
Le impostazioni e i valori predefiniti si ottengono dai seguenti file di configurazione:
@@ -617,7 +617,7 @@ sudo chgrp group1 file
chown [options] --reference=RRFILE FILE
```
-Per esempio:
+Ad esempio:
```bash
chown --reference=/etc/groups /etc/passwd
@@ -655,7 +655,7 @@ New Password:
Re-enter new password:
```
-!!! note "Nota"
+!!! note
Oltre a usare `gpasswd -a` per aggiungere utenti a un gruppo, si può anche usare `usermod -G` o `usermod -aG` menzionati prima.
@@ -807,7 +807,7 @@ sudo chage -m 60 -M 90 -W 80 -I 10 alain
| `-m DAYS` | Definisce la durata minima della password. Cambiamento permanente. |
| `-M DAYS` | Definisce la durata massima della password. Cambiamento permanente. |
| `-d LAST_DAY` | Definisce il numero di giorni dall'ultima modifica della password. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Cambiamento permanente. |
-| `-E EXPIRE_DATE` | Definisce la data di scadenza dell'account. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Modifica permanente. |
+| `-E EXPIRE_DATE` | Definisce la data di scadenza dell'account. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Cambiamento permanente. |
| `-W WARN_DAYS` | Definisce il numero di giorni di avviso prima della scadenza. Cambiamento permanente. |
Esempio:
@@ -907,7 +907,7 @@ USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
```
-`UMASK 022`: Questo significa che il permesso di creare un file è 755 (rwxr-xr-x). Tuttavia, per motivi di sicurezza, GNU/Linux non prevede il permesso **x** per i file appena creati. Questa restrizione si applica a root (uid=0) e agli utenti ordinari (uid>=1000). Per esempio:
+`UMASK 022`: Questo significa che il permesso di creare un file è 755 (rwxr-xr-x). Tuttavia, per motivi di sicurezza, GNU/Linux non prevede il permesso **x** per i file appena creati. Questa restrizione si applica a root (uid=0) e agli utenti ordinari (uid>=1000). Ad esempio:
```bash
Shell > touch a.txt
@@ -982,7 +982,7 @@ Gli utenti standard dovranno digitare la password per la nuova identità.
0
```
-Attenzione prego! `su` e `su -` sono diversi, come mostrato nell'esempio seguente:
+Attention please! `su` e `su -` sono diversi, come mostrato nell'esempio seguente:
```bash
$ whoami
diff --git a/docs/books/admin_guide/06-users.uk.md b/docs/books/admin_guide/06-users.uk.md
index 35c4f75eff..27badc0708 100644
--- a/docs/books/admin_guide/06-users.uk.md
+++ b/docs/books/admin_guide/06-users.uk.md
@@ -7,7 +7,7 @@ title: Керування користувачами
У цьому розділі ви дізнаєтесь, як керувати користувачами.
****
-**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються, як:
+**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються як:
:heavy_check_mark: додати, видалити або змінити **групу**;
:heavy_check_mark: додати, видалити або змінити **користувача**;
@@ -353,7 +353,7 @@ test1:!::
sudo useradd -u 1000 -g GroupA -G GroupP,GroupC albert
```
-!!! Note "Примітка"
+!!! Важливо
У **Debian** вам доведеться вказати опцію `-m`, щоб примусово створити каталог входу, або встановити змінну `CREATE_HOME` у файлі `/etc/login.defs`. У всіх випадках адміністратор повинен використовувати команди `adduser` і `deluser`, як зазначено в `man`, за винятком сценаріїв, призначених для переносу на всі дистрибутиви Linux:
@@ -609,7 +609,7 @@ sudo chgrp group1 file
| `-R` | Повторно змінюйте групи каталогу та всі файли під каталогом. |
| `-v` | Відображає виконані зміни. |
-!!! Note "Примітка"
+!!! Важливо
До файлу можна застосувати власника та групу власників, взявши за посилання інші файли:
@@ -766,7 +766,7 @@ sudo passwd -n 60 -x 90 -w 80 -i 10 patrick
sudo passwd alain
```
-!!! Note "Примітка"
+!!! Важливо
Користувачі, які ввійшли в систему, можуть використовувати команду `passwd`, щоб змінити свої паролі (цей процес вимагає запиту старого пароля користувача). Користувач root(uid=0) може змінити пароль будь-якого користувача.
@@ -830,7 +830,7 @@ $ sudo chage -d 0 philippe
* `/etc/login.defs`
* `/etc/skel`
-!!! Note "Примітка"
+!!! Важливо
Редагування файлу `/etc/default/useradd` виконується командою `useradd`.
@@ -982,7 +982,7 @@ $ sudo su - alain
0
```
-Увага, будь ласка! `su` і `su -` відрізняються, як показано в наступному прикладі:
+Attention please! `su` і `su -` відрізняються, як показано в наступному прикладі:
```bash
$ whoami
diff --git a/docs/books/admin_guide/06-users.zh.md b/docs/books/admin_guide/06-users.zh.md
index 91c2def27d..2376f4c797 100644
--- a/docs/books/admin_guide/06-users.zh.md
+++ b/docs/books/admin_guide/06-users.zh.md
@@ -353,7 +353,7 @@ test1:!::
sudo useradd -u 1000 -g GroupA -G GroupP,GroupC albert
```
-!!! note "说明"
+!!! Note "说明"
在 **Debian** 下,您需要指定 `-m` 选项强制创建登录目录,或者在 `/etc/login.defs` 文件中设置 `CREATE_HOME` 变量。 在所有情况下,管理员都应该使用 `man` 中指定的 `adduser` 和 `deluser` 命令,但在可移植到所有 Linux 发行版的脚本中除外:
@@ -609,7 +609,7 @@ sudo chgrp group1 file
| `-R` | 递归地更改目录和目录下所有文件的所属组。 |
| `-v` | 显示变更。 |
-!!! note "说明"
+!!! Note "说明"
通过参考另一个文件的所有者和所属组,可以向另一个文件应用所有者和所属组:
@@ -766,7 +766,7 @@ sudo passwd -n 60 -x 90 -w 80 -i 10 patrick
sudo passwd alain
```
-!!! note "说明"
+!!! Note "说明"
可登录的用户可以使用 `passwd` 命令更改自己的密码(此过程需要请求用户的旧密码)。 root(uid=0)用户可以更改任何用户的密码。
@@ -830,7 +830,7 @@ $ sudo chage -d 0 philippe
* `/etc/login.defs`
* `/etc/skel`
-!!! note "说明"
+!!! Note "说明"
使用 `useradd` 命令编辑 `/etc/default/useradd` 文件。
@@ -982,7 +982,7 @@ $ sudo su - alain
0
```
-请注意! `su` 和 `su -` 是不同的,如以下示例所示:
+Attention please! `su` 和 `su -` 是不同的,如以下示例所示:
```bash
$ whoami
diff --git a/docs/books/admin_guide/07-file-systems.uk.md b/docs/books/admin_guide/07-file-systems.uk.md
index 5624dad616..4aff66d46c 100644
--- a/docs/books/admin_guide/07-file-systems.uk.md
+++ b/docs/books/admin_guide/07-file-systems.uk.md
@@ -29,7 +29,7 @@ tags:
**Знання**: :star: :star:
**Складність**: :star: :star:
-**Час читання**: 20 хвилин
+**Час для читання**: 20 хвилин
---
@@ -128,7 +128,7 @@ parted [-l] [device]
cfdisk device
```
-Приклад:
+Наприклад:
```bash
$ sudo cfdisk /dev/sda
@@ -233,7 +233,7 @@ $ sudo cfdisk /dev/sda
pvcreate [-options] partition
```
-Приклад:
+Наприклад:
```bash
[root]# pvcreate /dev/hdb1
@@ -263,7 +263,7 @@ pvcreate -- physical volume « /dev/hdb » successfully created
vgcreate [option]
```
-Приклад:
+Наприклад:
```bash
[root]# vgcreate volume1 /dev/hdb1
@@ -282,7 +282,7 @@ vgcreate – volume group « volume1 » successfully created and activated
lvcreate -L size [-n name] VG_name
```
-Приклад:
+Наприклад:
```bash
[root]# lvcreate –L 600M –n VolLog1 volume1
@@ -337,7 +337,7 @@ vgdisplay VG_name
lvdisplay /dev/VG_name/LV_name
```
-Приклад:
+Наприклад:
```bash
[root]# lvdisplay /dev/volume1/VolLog1
@@ -375,7 +375,7 @@ lvdisplay /dev/VG_name/LV_name
mkfs [-t fstype] filesys
```
-Приклад:
+Наприклад:
```bash
[root]# mkfs -t ext4 /dev/sda1
@@ -608,7 +608,7 @@ proc /proc proc defaults 0 0
mount [-option] [device] [directory]
```
-Приклад:
+Наприклад:
```bash
[root]# mount /dev/sda7 /home
@@ -635,7 +635,7 @@ mount [-option] [device] [directory]
umount [-option] [device] [directory]
```
-Приклад:
+Наприклад:
```bash
[root]# umount /home
@@ -988,7 +988,7 @@ chmod [option] mode file
umask [option] [mode]
```
-Приклад:
+Наприклад:
```bash
$ umask 033
diff --git a/docs/books/admin_guide/07-file-systems.zh.md b/docs/books/admin_guide/07-file-systems.zh.md
index b09f8bc031..d893a5c738 100644
--- a/docs/books/admin_guide/07-file-systems.zh.md
+++ b/docs/books/admin_guide/07-file-systems.zh.md
@@ -391,7 +391,7 @@ mkfs [-t fstype] filesys
每个文件系统的结构在每个分区上都是相同的。 **Boot Sector** 和 **Super block** 由系统初始化完成,**Inode table** 和 **Data block** 由管理员初始化完成。
-!!! note "说明"
+!!! Note "说明"
唯一例外的是 **swap** 分区。
@@ -433,7 +433,7 @@ Boot sector 是可引导存储介质的第一个扇区,即 0 柱面、0 磁道
**inode table** 的大小在创建时定义,并存储在分区中。 它由称为 inode 的记录组成,这些记录与创建的文件相对应。 每条记录都包含组成文件的 data block 的地址。
-!!! note "说明"
+!!! Note "说明"
inode 编号在文件系统中是唯一的。
@@ -443,7 +443,7 @@ Boot sector 是可引导存储介质的第一个扇区,即 0 柱面、0 磁道
文件由其 inode 编号管理。
-!!! note "说明"
+!!! Note "说明"
inode table 的大小决定了 FS 可以包含的最大文件数量。
@@ -511,7 +511,7 @@ or

-!!! note "说明"
+!!! Note "说明"
在 Linux 中,一切都是一个文件。
@@ -552,7 +552,7 @@ Linux 符合 **FHS**(_Filesystems Hierarchy Standard_)(参阅 `man hier`),
`/etc/fstab` 文件是在随系统启动时被读取的,其中包含要执行的挂载。 每个要挂载的文件系统都在一行上说明,字段由空格或制表符分隔。
-!!! note "说明"
+!!! Note "说明"
相关的命令按照顺序读取行(如 `fsck`、`mount`、`umount`)。
@@ -623,7 +623,7 @@ mount [-option] [device] [directory]
| `-w` | 默认情况下以读/写方式挂载文件系统(等同于 `-o rw`) |
| `-o opts` | opts 参数是逗号分隔的列表(如 `remount`、`ro` 等)。 |
-!!! note "说明"
+!!! Note "说明"
仅使用 `mount` 命令即可显示所有已挂载的文件系统。 如果挂载参数为 `-o defaults` ,则表示等同于 ` -o rw,suid,dev,exec,auto,nouser,async`,且这些参数与文件系统无关。 如果您需要浏览与文件系统相关的特殊挂载选项,请阅读 `man 8 mount` 中的 "Mount options FS-TYPE" 部分(将 FS-TYPE 类型替换为相应的文件系统,如ntfs、vfat、ufs 等)。
@@ -649,7 +649,7 @@ umount [-option] [device] [directory]
| `-f` | 强制卸载。 |
| `-a` | 删除 `/etc/fstab` 文件中提到的所有文件系统的挂载。 |
-!!! note "说明"
+!!! Note "说明"
卸载时,您必须不能停留在挂载点中。 否则将显示以下错误消息:`device is busy`。
@@ -668,11 +668,11 @@ umount [-option] [device] [directory]
[root]# mkdir "working dir"
```
-!!! note "说明"
+!!! Note "说明"
虽然在技术上创建包含空格的文件或目录并无不妥,但通常应该避免这种情况并用下划线替换任何空格是一种「最佳做法」。
-!!! note "说明"
+!!! Note "说明"
以 **.** 开头的文件表示这是隐藏文件,它不能被简单的 `ls` 看到。
@@ -913,7 +913,7 @@ Mode 指示可以用八进制表示(例如 `744`)或符号表示([`ugoa`]
| 1 | x |
| 0 | - |
-将这三个数字加在一起即可获得一个用户类型的权限。 例如: **755=rwxr-xr-x**。
+将这三个数字加在一起即可获得一个用户类型的权限。 例如 **755=rwxr-xr-x**。

@@ -1015,7 +1015,7 @@ $ ls -la umask_025
`umask` 并不会影响现有文件。 `umask -S` 显示将要创建文件的文件权限(没有执行权限)。 所以,它不是用减去最大值的掩码来显示的。
-!!! note "说明"
+!!! Note "说明"
在上面的示例中,使用命令修改掩码仅适用于当前连接的会话。
diff --git a/docs/books/admin_guide/08-process.de.md b/docs/books/admin_guide/08-process.de.md
index bf2faa9851..058ba5cfaa 100644
--- a/docs/books/admin_guide/08-process.de.md
+++ b/docs/books/admin_guide/08-process.de.md
@@ -200,13 +200,13 @@ Beispiel:
kill -9 1664
```
-| Code | Signal | Beschreibung |
-| ---- | --------- | ------------------------------------------------------------------------------------------------------------ |
-| `2` | *SIGINT* | Sofortige Beendigung des Prozesses |
-| `9` | *SIGKILL* | Den Prozess unterbrechen (++control+"d"++) |
-| `15` | *SIGTERM* | Bereinigung und Beenden des Prozesses |
-| `18` | *SIGCONT* | Prozess fortsetzen. Prozesse, die durch das Signal SIGSTOP gestoppt wurden, können dank SIGCONT weiterlaufen |
-| `19` | *SIGSTOP* | Prozess unterbrechen (Stop process). Die Wirkung dieses Signals entspricht ++ctrl+"z"++ |
+| Code | Signal | Beschreibung |
+| ---- | --------- | ---------------------------------------------------------------------------------------------------------------- |
+| `2` | *SIGINT* | Sofortige Beendigung des Prozesses |
+| `9` | *SIGKILL* | Den Prozess unterbrechen (++control+"d"++) |
+| `15` | *SIGTERM* | Bereinigung und Beenden des Prozesses |
+| `18` | *SIGCONT* | Setzt den Prozess fort. Prozesse, die durch das Signal SIGSTOP gestoppt wurden, können dank SIGCONT weiterlaufen |
+| `19` | *SIGSTOP* | Prozess unterbrechen (Stop process). Die Wirkung dieses Signals entspricht ++ctrl+"z"++ |
Signale sind das Mittel der Kommunikation zwischen den Prozessen. Der `kill` Befehl sendet ein Signal an einen Prozess.
@@ -296,7 +296,7 @@ Die Spalten repräsentieren:
1. Jobnummer
2. die Reihenfolge in der die Prozesse ausgeführt werden:
- * ein `+` : Dieser Prozess ist der nächste Prozess, der standardmäßig mit `fg` oder `bg` ausgeführt wird;
+ * a `+` : Der Prozess, der standardmäßig für die Befehle `fg` und `bg` ausgewählt wird, wenn keine Job-Nummer angegeben ist
* ein `-` : Dieser Prozess ist der nächste Prozess, der die `+` übernimmt `+`
3. *Running* (laufender Prozess) oder *Stopped* (abgebrochener Prozess)
@@ -428,11 +428,11 @@ pkill -t pts/1
Die Funktion dieses Befehls entspricht in etwa der des Befehls `pkill`. Die Syntax ist folgende — `killall [option] [ -s SIGNAL | -SIGNAL ] NAME`. Das Default-Signal ist *SIGTERM*.
-| Option | Beschreibung |
-|:------ |:--------------------------------------------------------------------------------------- |
-| `-l` | listet sämtliche bekannten Signalnamen auf |
-| `-i` | vor dem Schließen nach einer Bestätigung fragen |
-| `-I` | Groß- und Kleinschreibung wird bei der Prozessnamenübereinstimmung nicht berücksichtigt |
+| Optionen | Beschreibung |
+|:-------- |:--------------------------------------------------------------------------------------- |
+| `-l` | listet sämtliche bekannten Signalnamen auf |
+| `-i` | vor dem Schließen nach einer Bestätigung fragen |
+| `-I` | Groß- und Kleinschreibung wird bei der Prozessnamenübereinstimmung nicht berücksichtigt |
Beispiel:
diff --git a/docs/books/admin_guide/08-process.fr.md b/docs/books/admin_guide/08-process.fr.md
index 1a9cf5f74e..d485540340 100644
--- a/docs/books/admin_guide/08-process.fr.md
+++ b/docs/books/admin_guide/08-process.fr.md
@@ -447,7 +447,7 @@ Cette commande affiche l'arborescence des processus et son utilisation est la su
| Option | Observation |
|:------ |:--------------------------------------------------- |
| `-p` | Affiche l'identifiant PID du processus |
-| `-R` | trier la sortie par PID |
+| `-n` | trier la sortie par PID |
| `-h` | met en évidence le processus actuel et ses ancêtres |
| `-u` | affichage des transitions d'UID |
diff --git a/docs/books/admin_guide/08-process.it.md b/docs/books/admin_guide/08-process.it.md
index 2946f817c3..0f29d34271 100644
--- a/docs/books/admin_guide/08-process.it.md
+++ b/docs/books/admin_guide/08-process.it.md
@@ -414,7 +414,7 @@ Esempi:
pkill tomcat
```
-!!! note "Nota"
+!!! note
Prima di terminare un processo, è meglio sapere esattamente a cosa serve; in caso contrario, si possono verificare crash del sistema o altri problemi imprevedibili.
diff --git a/docs/books/admin_guide/08-process.uk.md b/docs/books/admin_guide/08-process.uk.md
index bddf7fe426..914c14e1b3 100644
--- a/docs/books/admin_guide/08-process.uk.md
+++ b/docs/books/admin_guide/08-process.uk.md
@@ -8,7 +8,7 @@ title: Менеджер процесів
****
-**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються, як:
+**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються як:
:heavy_check_mark: Розпізнавати `PID` і `PPID` процесу;
:heavy_check_mark: Перегляд і пошук процесів;
@@ -210,7 +210,7 @@ kill -9 1664
Сигнали є засобами зв'язку між процесами. Команда `kill` надсилає сигнал процесу.
-!!! tip "Порада"
+!!! Tip "Порада"
Повний список сигналів, які враховує команда kill, становиться доступним після введення команди:
@@ -328,7 +328,7 @@ nice find / -name "file"
Як показано у прикладі вище, перші три команди вказують на встановлення значення Nice на "-5", тоді як друга команда є нашим рекомендованим використанням. Четверта команда вказує на встановлення значення Nice на «5». Для п’ятої команди відсутність параметрів означає, що значення Nice встановлено на «10».
-!!! tip "Порада"
+!!! Tip "Порада"
«Nice» - це абревіатура від «niceness».
@@ -356,7 +356,7 @@ renice -n 15 -p 1664
Команда `renice` діє на вже запущені процеси. Таким чином, можна змінити пріоритет певного процесу та кількох процесів, що належать користувачеві чи групі.
-!!! tip "Порада"
+!!! Tip "Порада"
Команда `pidof` у поєднанні з командою `xargs` (див. курс Advanced Commands) дозволяє застосувати новий пріоритет в одній команді:
diff --git a/docs/books/admin_guide/08-process.zh.md b/docs/books/admin_guide/08-process.zh.md
index a8bd1a1b6f..04772b57ef 100644
--- a/docs/books/admin_guide/08-process.zh.md
+++ b/docs/books/admin_guide/08-process.zh.md
@@ -210,7 +210,7 @@ kill -9 1664
信号是进程之间的通信手段。 `kill` 命令的作用就是向进程发送信号。
-!!! Tip "提示"
+!!! Tip "小提示"
`kill` 命令所考虑到的完整信号列表可通过键入以下命令获得:
@@ -328,7 +328,7 @@ nice find / -name "file"
如上例所示,前三个命令表示将 Nice 值设置为 "-5",而第二个命令是我们推荐的用法。 第四个命令指示将 Nice 值设置为 "5"。 对于第五个命令,不键入任何选项意味着 Nice 值设置为 "10"。
-!!! Tip "提示"
+!!! Tip "小提示"
"Nice" 是 "niceness" 的缩写。
@@ -356,7 +356,7 @@ renice -n 15 -p 1664
`renice` 命令作用于现有进程。 因此,我们可以改变一个特定进程的优先级,也可以改变属于一个用户或一个组的几个进程的优先级。
-!!! Tip "提示"
+!!! Tip "小提示"
`pidof` 命令与 `xargs` 命令相结合(请参阅 "高级命令" 课程),可允许在单个命令中应用新的优先级:
diff --git a/docs/books/admin_guide/09-backups.it.md b/docs/books/admin_guide/09-backups.it.md
index 606f9164f9..4d8c0b6164 100644
--- a/docs/books/admin_guide/09-backups.it.md
+++ b/docs/books/admin_guide/09-backups.it.md
@@ -543,7 +543,7 @@ chiavi :
**wildcard (wildcard character)**: utilizzato per associare i nomi di file o directory.
**regular expression**: utilizzata per individuare il contenuto di un file.
- È possibile vedere un'introduzione con maggiori dettagli in [questo documento](../sed_awk_grep/1_espressioni_regolari_vs_wildcards.md).
+ È possibile vedere un'introduzione con maggiori dettagli in [questo documento](../sed_awk_grep/1_regular_expressions_vs_wildcards.md).
## *CoPy Input Output* - `cpio`
@@ -577,7 +577,7 @@ Funzione secondaria:
1. `-t` - Stampa un indice del contenuto dell'input.
2. `-A` - Aggiunge a un archivio esistente. Funziona solo in modalità copy-in.
-!!! note "Nota"
+!!! note
Alcune opzioni di `cpio` devono essere combinate con la modalità operativa corretta per funzionare correttamente. Vedere `man 1 cpio`
diff --git a/docs/books/admin_guide/09-backups.md b/docs/books/admin_guide/09-backups.md
index 07fc0a3624..d40092738e 100644
--- a/docs/books/admin_guide/09-backups.md
+++ b/docs/books/admin_guide/09-backups.md
@@ -543,7 +543,7 @@ keys:
**wildcard (wildcard character)**: used to match file or directory names.
**regular expression**: used to match the content of a file.
- You can see an introduction with extra detail in [this document](../sed_awk_grep/1_regular _expressions_vs_wildcards.md).
+ You can see an introduction with extra detail in [this document](../sed_awk_grep/1_regular_expressions_vs_wildcards.md).
## *CoPy Input Output* - `cpio`
diff --git a/docs/books/admin_guide/09-backups.uk.md b/docs/books/admin_guide/09-backups.uk.md
index df4ab2140b..a436e83f36 100644
--- a/docs/books/admin_guide/09-backups.uk.md
+++ b/docs/books/admin_guide/09-backups.uk.md
@@ -8,7 +8,7 @@ title: Резервне копіювання і відновлення
****
-**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються, як:
+**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються як:
:heavy_check_mark: використовувати команди `tar` і `cpio`, для створення резервної копії;
:heavy_check_mark: перевіряти резервні копії та відновлювати дані;
@@ -82,7 +82,7 @@ title: Резервне копіювання і відновлення
* **Періодичне**: резервне копіювання протягом певного періоду перед великим оновленням системи (зазвичай у непікові години)
* **Циклічне**: резервне копіювання в днях, тижнях, місяцях тощо
-!!! tip "Порада"
+!!! Tip "Порада"
Перед зміною системи може бути корисно зробити резервну копію. Однак немає сенсу щодня створювати резервні копії даних, які змінюються лише щомісяця.
@@ -138,7 +138,7 @@ title: Резервне копіювання і відновлення
* використовувані опції;
* дата.
-!!! tip "Порада"
+!!! Tip "Порада"
Ім’я резервної копії має бути чітким.
@@ -231,7 +231,7 @@ $ tar cjf - /directory/to/backup/ | wc -c
tar c[vf] [device] [file(s)]
```
-Приклад:
+Приклади:
```bash
[root]# tar cvf /backups/home.133.tar /home/
@@ -243,7 +243,7 @@ tar c[vf] [device] [file(s)]
| `v` | Відображає назву оброблених файлів. |
| `f` | Дозволяє вказати назву резервної копії (носій). |
-!!! tip "Порада"
+!!! Tip "Порада"
Дефіс (`-`) перед `tar` не потрібен!
@@ -255,7 +255,7 @@ tar c[vf] [device] [file(s)]
tar c[vf]P [device] [file(s)]
```
-Приклад:
+Приклади:
```bash
[root]# tar cvfP /backups/home.133.P.tar /home/
@@ -406,7 +406,7 @@ tar cvfW file_name.tar dir/
tar vfd file_name.tar dir/
```
-!!! tip "Порада"
+!!! Tip "Порада"
Додавши другий `v` до попереднього ключа, ви отримаєте список заархівованих файлів, а також відмінності між заархівованими файлами та файлами, присутніми у файловій системі.
@@ -483,7 +483,7 @@ tar xvfz backup.tar.gz
tar xvfj backup.tar.bz2
```
-!!! tip "Порада"
+!!! Tip "Порада"
Щоб видобути або отримати список вмісту резервної копії, немає необхідності згадувати алгоритм стиснення, який використовується для створення резервної копії. Тобто `tar xvf` еквівалентний `tar xvfj`, щоб витягнути вміст, а `tar tvf` еквівалентний `tar tvfj`, щоб отримати список.
@@ -543,7 +543,7 @@ tar xvf backup.tar --wildcards '*.conf'
**wildcard (символ підстановки)**: використовується для відповідності імен файлів або каталогів.
**регулярний вираз**: використовується для відповідності вмісту файлу.
- Ви можете переглянути вступ із додатковою інформацією в [цьому документі](../sed_awk_grep/1_regular _expressions_vs_wildcards.md).
+ Ви можете переглянути вступ із додатковою інформацією в [цьому документі](../sed_awk_grep/1_regular_expressions_vs_wildcards.md).
## *CoPy Input Output* - `cpio`
@@ -589,7 +589,7 @@ tar xvf backup.tar --wildcards '*.conf'
[files command |] cpio {-o| --create} [-options] [< file-list] [> device]
```
-Приклад:
+Приклади:
З перенаправленням виводу `cpio`:
@@ -649,7 +649,7 @@ find /etc | cpio -o > /backups/etc.A.cpio
[files command |] cpio {-o| --create} -A [-options] [< fic-list] {F| > device}
```
-Приклад:
+Приклади:
```bash
find /etc/shadow | cpio -o -AF SystemFiles.A.cpio
@@ -693,7 +693,7 @@ find /etc | cpio –o | gzip > /backups/etc.A.cpio.gz
cpio -t [-options] [< fic-list]
```
-Приклад:
+Приклади:
```bash
cpio -tv < /backups/etc.152.cpio | less
@@ -716,7 +716,7 @@ cpio -tv < /backups/etc.152.cpio | less
cpio {-i| --extract} [-E file] [-options] [< device]
```
-Приклад:
+Приклади:
```bash
cpio -iv < /backups/etc.152.cpio | less
@@ -760,7 +760,7 @@ cpio –iuvF home.A.cpio
cpio --no-absolute-filenames -divuF home.A.cpio
```
-!!! tip "Порада"
+!!! Tip "Порада"
Створення каталогів, можливо, необхідне, тому використовується опція `d`
@@ -801,7 +801,7 @@ rm -f tmp
gzip [options] [file ...]
```
-Приклад:
+Приклади:
```bash
$ gzip usr.tar
@@ -823,7 +823,7 @@ usr.tar.gz
bzip2 [options] [file ...]
```
-Приклад:
+Приклади:
```bash
$ bzip2 usr.cpio
@@ -845,7 +845,7 @@ usr.cpio.bz2
gunzip [options] [file ...]
```
-Приклад:
+Приклади:
```bash
$ gunzip usr.tar.gz
@@ -872,7 +872,7 @@ usr.tar
bzip2 [options] [file ...]
```
-Приклад:
+Приклади:
```bash
$ bunzip2 usr.cpio.bz2
diff --git a/docs/books/admin_guide/09-backups.zh.md b/docs/books/admin_guide/09-backups.zh.md
index cb2ddfe6d8..990cb26599 100644
--- a/docs/books/admin_guide/09-backups.zh.md
+++ b/docs/books/admin_guide/09-backups.zh.md
@@ -8,7 +8,7 @@ title: 备份和还原
****
-**目标**: 在本章中,未来的 Linux 管理员们将学习如何:
+**目标**: 在本章中,未来的 Linux 管理员们将学习如何:
:heavy_check_mark: 使用 `tar` 和 `cpio` 命令进行备份;
:heavy_check_mark: 检查他们的备份并恢复数据。
@@ -23,7 +23,7 @@ title: 备份和还原
****
-!!! note "说明"
+!!! Note "说明"
在本章中,命令结构通过使用 "device" 来指定备份的目标位置以及还原时的源位置。 该设备可以是外部介质,也可以是本地文件。 随着本章的展开,你应该对这一点有所了解,但如果你需要的话,可以随时参考这篇笔记以获得解释。
@@ -82,7 +82,7 @@ title: 备份和还原
* **定期**:在主要系统更新之前的特定时间段内进行备份(通常在非高峰时段)
* **循环**:以天、周、月等为单位进行备份
-!!! Tip "提示"
+!!! Tip "小提示"
在系统更改之前,进行备份可能很有用。 然而,每天备份每月都会变更的数据是没有意义的。
@@ -97,7 +97,7 @@ title: 备份和还原
我们不建议在执行恢复操作之前直接删除当前活动操作系统中的目录或文件(除非您知道删除后会发生什么)。 如果你不知道会发生什么,你可以在当前操作系统上执行 "快照" 操作。
-!!! Tip "提示"
+!!! Tip "小提示"
出于安全原因,建议您在执行恢复操作之前将还原的目录或文件存储在 /tmp 目录中,以避免旧文件(旧目录)覆盖新文件(新目录)的情况。
@@ -123,7 +123,7 @@ title: 备份和还原
3. 跳过损坏的文件;
4. 可对整个文件系统使用。
-!!! note "说明"
+!!! Note "说明"
这些命令以专有的和标准化的格式保存。
@@ -138,11 +138,11 @@ title: 备份和还原
* 所使用的选项;
* 日期。
-!!! Tip "提示"
+!!! Tip "小提示"
备份的名称必须是一目了然的。
-!!! note "说明"
+!!! Note "说明"
在 Linux 系统中,除了图形用户界面(GUI)环境中的少数例外情况(如 .jpg、.mp4、.gif)外,大多数文件都没有扩展名的概念。 换句话说,大多数文件不需要扩展名。 人为添加后缀的原因是为了方便人类用户识别。 例如,如果系统管理员看到 `.tar.gz` 或 `.tgz` 文件扩展名,那么他就知道如何处理该文件。
@@ -243,7 +243,7 @@ tar c[vf] [device] [file(s)]
| `v` | 显示已处理文件的名称。 |
| `f` | 允许您指定备份(介质)的名称。 |
-!!! Tip "提示"
+!!! Tip "小提示"
`tar` 键前的连字符(`-`)是可选的!
@@ -281,11 +281,11 @@ tar cvzf backup.tar.gz dirname/
| --- | -------------- |
| `z` | 用 *gzip* 压缩备份。 |
-!!! note "说明"
+!!! Note "说明"
`.tgz` 扩展名等效于 `.tar.gz`。
-!!! note "说明"
+!!! Note "说明"
对于所有备份操作,保持 `cvf`(`tvf` 或 `xvf`)键不变,只需在键的末尾添加压缩键,即可使命令更容易理解(例如:`cvfz` 或 `cvfj` 等)。
@@ -301,7 +301,7 @@ tar cvfj backup.tar.bz2 dirname/
| --- | --------------- |
| `j` | 用 *bzip2* 压缩备份。 |
-!!! note "说明"
+!!! Note "说明"
`.tbz` 和 `.tb2` 扩展名等同于 `.tar.bz2` 扩展名。
@@ -342,7 +342,7 @@ tar rvf backup_name.tar dirtoadd
| `r` | 将文件或目录追加到归档的末尾。 |
| `A` | 将一个归档中的所有文件追加到另一个归档的末尾。 |
-!!! note "说明"
+!!! Note "说明"
无法将文件或文件夹添加到压缩备份中。
@@ -352,7 +352,7 @@ tar rvf backup_name.tar dirtoadd
Try `tar --help' or `tar --usage' for more information.
```
-!!! note "说明"
+!!! Note "说明"
如果备份是在相对模式下执行的,请以相对模式添加文件。 如果备份是以绝对模式完成的,请以绝对模式添加文件。
@@ -384,11 +384,11 @@ tar tvfj backup.tar.bz2
tar tvf backup.tar | less
```
-!!! Tip "提示"
+!!! Tip "小提示"
要列出或检索备份的内容,不必提及创建备份时使用的压缩算法。 也就是说,读取内容时,`tar tvf` 等同于 `tar tvfj`。 仅在创建压缩备份时才 **必须** 选择压缩类型或算法。
-!!! Tip "提示"
+!!! Tip "小提示"
在执行还原操作之前,您应该始终检查和查看备份文件的内容。
@@ -406,7 +406,7 @@ tar cvfW file_name.tar dir/
tar vfd file_name.tar dir/
```
-!!! Tip "提示"
+!!! Tip "小提示"
通过在前一个键中添加第二个 `v`,您将得到归档文件的列表以及归档文件与文件系统中已存在文件之间的差异。
@@ -483,7 +483,7 @@ tar xvfz backup.tar.gz
tar xvfj backup.tar.bz2
```
-!!! Tip "提示"
+!!! Tip "小提示"
要提取或列出备份的内容,不需要提及用于创建备份的压缩算法。 也就是说,`tar xvf` 相当于 `tar xvfj`,用于提取内容,`tar tvf` 相当于 `tar tvfj`,用于列出。
@@ -543,7 +543,7 @@ tar xvf backup.tar --wildcards '*.conf'
**通配符**:用于匹配文件名或目录名。
**正则表达式**:用于匹配文件的内容。
- 您可以在 [此文档](../sed_awk_grep/1_regular _expressions_vs_wildcards.md) 中看到更详细的介绍。
+ 您可以在 [此文档](../sed_awk_grep/1_regular_expressions_vs_wildcards.md) 中看到更详细的介绍。
## *CoPy Input Output* - `cpio`
@@ -561,7 +561,7 @@ tar xvf backup.tar --wildcards '*.conf'
* `ls`:列出一个目录(无论是否递归);
* `cat`:读取包含要保存的树或文件的文件。
- !!! note "说明"
+ !!! Note "说明"
`ls` 不能与 `-l`(细节)或 `-R`(递归)一起使用。
@@ -577,7 +577,7 @@ tar xvf backup.tar --wildcards '*.conf'
1. `-t` - 打印输入的内容表。
2. `-A` - 追加到现有归档。 仅工作在 copy-in 模式。
-!!! note "注意"
+!!! Note "说明"
`cpio` 的一些选项需要与正确的操作模式相结合才能正常工作。 参阅 `man 1 cpio`
@@ -760,7 +760,7 @@ cpio –iuvF home.A.cpio
cpio --no-absolute-filenames -divuF home.A.cpio
```
-!!! Tip "提示"
+!!! Tip "小提示"
创建目录可能是必要的,因此需要使用 `d` 选项
@@ -787,7 +787,7 @@ rm -f tmp
* 延长了备份时间和恢复时间。
* 这使得无法将文件添加到备份中。
-!!! note "说明"
+!!! Note "说明"
因此,最好进行备份并压缩它,而不是在备份过程中压缩它。
diff --git a/docs/books/admin_guide/10-boot.uk.md b/docs/books/admin_guide/10-boot.uk.md
index 27c55bfc24..2696800b14 100644
--- a/docs/books/admin_guide/10-boot.uk.md
+++ b/docs/books/admin_guide/10-boot.uk.md
@@ -357,7 +357,7 @@ timers.target loaded active active Timers
systemctl set-default name.target
```
-Приклад:
+Приклади:
```bash
# systemctl set-default multi-user.target
diff --git a/docs/books/admin_guide/11-tasks.it.md b/docs/books/admin_guide/11-tasks.it.md
index b5994bdb62..21a599eba9 100644
--- a/docs/books/admin_guide/11-tasks.it.md
+++ b/docs/books/admin_guide/11-tasks.it.md
@@ -4,13 +4,13 @@ title: Gestione dei compiti
# Gestione dei compiti
-In questo capitolo imparerai come gestire le attività programmate.
+In questo capitolo si spiega come gestire le attività pianificate.
****
**Obiettivi** : In questo capitolo, futuri amministratori Linux impareranno come:
-:heavy_check_mark: Linux si occupa della pianificazione dei compiti;
+:heavy_check_mark: Linux si occupa dello scheduling dei task;
:heavy_check_mark: limitare l'uso di **`cron`** a determinati utenti;
:heavy_check_mark: pianificare le attività.
@@ -27,7 +27,7 @@ In questo capitolo imparerai come gestire le attività programmate.
La pianificazione delle attività è gestita con l'utilità `cron`. Essa permette l'esecuzione periodica dei compiti.
-È riservata all'amministratore per le attività di sistema ma può essere utilizzata da utenti normali per attività o script a cui hanno accesso. Per accedere all'utilità `cron`, usiamo: `crontab`.
+È riservato agli amministratori per eseguire le attività di sistema, ma può essere utilizzato anche dai normali utenti per le attività o gli script a cui hanno accesso. Per accedere all'utilità `cron`, usiamo: `crontab`.
Il servizio `cron` è usato per:
@@ -44,7 +44,7 @@ Il servizio `cron` è usato per:
## Come funziona il servizio
-Il servizio di `cron` è gestito da un demone `crond` presente in memoria.
+Un demone `crond` presente esegue il servizio `cron` in memoria.
Per verificare il suo stato:
@@ -70,7 +70,7 @@ Initializzazione del demone `crond` all'avvio del sistema:
## Sicurezza
-Per implementare una pianificazione, un utente deve disporre dell'autorizzazione all'utilizzo del servizio `cron`.
+Per implementare una pianificazione, un utente deve avere i permessi per utilizzare il servizio `cron`.
Questa autorizzazione varia in base alle informazioni contenute nei file seguenti:
@@ -99,7 +99,7 @@ Gli utenti di questo file non sono autorizzati a utilizzare `cron`.
Se è vuoto, tutti gli utenti possono usare `cron`.
-Per impostazione predefinita, `/etc/cron.deny` esiste ed è vuoto e `/etc/cron.allow` non esiste.
+Per impostazione predefinita, `/etc/cron.deny` esiste ed è vuoto e `/etc/cron.allow` non esiste. Quando esistono due file contemporaneamente, il sistema utilizza solo il contenuto di `cron.allow` come base di giudizio e ignora completamente l'esistenza del file `cron.deny.`.
### Consentire ad un utente
@@ -112,20 +112,20 @@ user1
### Proibire ad un utente
-Solo **user2** non sarà in grado di usare `cron`.
+Solo l'**utente2** non potrà usare `cron`. Si noti che il file `/etc/cron.allow` non deve esistere.
```bash
[root]# vi /etc/cron.deny
user2
```
-`cron.allow` non deve essere presente.
+Se lo stesso utente esiste contemporaneamente in `/etc/cron.deny` e `/etc/cron.allow`, l'utente può usare cron normalmente.
## Pianificazione delle attività
Quando un utente pianifica un'attività, viene creato un file con il suo nome in `/var/spool/cron/`.
-Questo file contiene tutte le informazioni che il `crond` deve sapere riguardo a tutte le attività create da questo utente, i comandi o i programmi da eseguire e quando eseguirli (ora, minuto, giorno ...).
+Questo file contiene tutte le informazioni che il `crond` deve conoscere sui compiti creati da questo utente, compresi i comandi o i programmi da eseguire e la pianificazione dell'esecuzione (ora, minuto, giorno, ecc.). Si noti che l'unità di tempo minima che `crond` può riconoscere è 1 minuto. Esistono attività di pianificazione simili nei RDBMS (come MySQL), dove le attività di pianificazione basate sul tempo sono denominate "Event Scheduler" (la cui unità di tempo riconoscibile è 1 secondo) e le attività di pianificazione basate sugli eventi denominate "Trigger".

@@ -143,20 +143,20 @@ Esempio:
[root]# crontab -u user1 -e
```
-| Opzione | Descrizione |
-| ------- | ---------------------------------------------------------------------------------------- |
-| `-e` | Modifica il file di pianificazione con VI |
-| `-l` | Visualizza il contenuto del file di pianificazione |
-| `-u` | Imposta il nome dell'utente di cui si vuole manipolare il file di programma previsionale |
-| `-r` | Cancella il file di pianificazione |
+| Opzione | Descrizione |
+| ----------------- | -------------------------------------------------- |
+| `-e` | Modifica il file di pianificazione con VI |
+| `-l` | Visualizza il contenuto del file di pianificazione |
+| `-u ` | Specifica un singolo utente per operare |
+| `-r` | Cancella il file di pianificazione |
!!! Warning "Attenzione"
- `crontab` senza opzione elimina il vecchio file di pianificazione e attende che l'utente inserisca nuove righe. Devi premere ctrl + d per uscire da questa modalità di modifica.
+ `crontab` senza opzioni cancella il vecchio file di pianificazione e attende che l'utente inserisca nuove righe. Per uscire da questa modalità di modifica è necessario premere ctrl + d.
- Solo `root` può utilizzare l'opzione `-u utente` per gestire il file di pianificazione di un altro utente.
+ Solo `root` può usare l'opzione `-u ` per gestire il file di pianificazione di un altro utente.
- L'esempio sopra consente a root di pianificare un'attività per l'utente1.
+ L'esempio precedente consente a root di pianificare un'attività per l'user1.
### Usi di `crontab`
@@ -181,7 +181,7 @@ Il file `crontab` è strutturato in base alle seguenti regole.
* Ogni riga di questo file corrisponde a una pianificazione;
* Ogni linea ha sei campi, 5 per il tempo e 1 per l'ordine;
-* Ogni campo è separato da uno spazio o da una tabulazione;
+* Uno spazio o una tabulazione separano ogni campo;
* Ogni linea termina con un ritorno a capo;
* Un `#` all'inizio della linea la commenta.
@@ -202,16 +202,16 @@ Il file `crontab` è strutturato in base alle seguenti regole.
!!! Warning "Attenzione"
- Le attività da eseguire devono utilizzare percorsi assoluti e, se possibile, usare reindirizzamenti.
+ I task da eseguire devono utilizzare percorsi assoluti e, se possibile, usare i reindirizzamenti.
-Al fine di semplificare la notazione per la definizione del tempo, è consigliabile utilizzare simboli speciali.
+Per semplificare la notazione della definizione di tempo, è consigliabile utilizzare simboli speciali.
-| Wildcards | Descrizione |
-| --------- | ----------------------------------------- |
-| `*` | Indica tutti i possibili valori del campo |
-| `-` | Indica una gamma di valori |
-| `,` | Indica un elenco di valori |
-| `/` | Definisce un passo |
+| Simbolo speciale | Descrizione |
+| ---------------- | ----------------------------------------- |
+| `*` | Indica tutti i valori temporali del campo |
+| `-` | Indica un intervallo di tempo continuo |
+| `,` | Indica l'intervallo di tempo discontinuo |
+| `/` | Intervallo di tempo indicato |
Esempi:
@@ -221,19 +221,19 @@ Script eseguito il 15 Aprile alle 10:25am:
25 10 15 04 * /root/scripts/script > /log/…
```
-Esegui alle 11am e quindi alle 4pm di ogni giorno:
+Eseguire l'attività una volta al giorno alle 11.00 e una volta al giorno alle 16.00:
```bash
00 11,16 * * * /root/scripts/script > /log/…
```
-Esegui ogni ora dalle 11am alle 4pm di ogni giorno:
+L'attività si svolge una volta all'ora dalle 11.00 alle 16.00 di ogni giorno:
```bash
00 11-16 * * * /root/scripts/script > /log/…
```
-Esegui ogni 10 minuti durante l'orario di lavoro:
+Eseguire ogni 10 minuti durante l'orario di lavoro nei giorni feriali:
```bash
*/10 8-17 * * 1-5 /root/scripts/script > /log/…
@@ -254,12 +254,12 @@ Per l'utente root, `crontab` ha anche alcune impostazioni speciali del tempo:
Un utente, rockstar, vuole modificare il suo file `crontab`:
-1. `crond` controlla se è autorizzato (`/etc/cron.allow` e `/etc/cron.deny`).
+1. Il demone `crond` controlla se l'utente è autorizzato`(/etc/cron.allow` e `/etc/cron.deny`).
-2. Se lo è, accede al suo file `crontab` (`/var/spool/cron/rockstar`).
+2. Se l'utente è autorizzato, accede al suo file `crontab``(/var/spool/cron/rockstar`).
- Ogni minuto `crond` legge i file di pianificazione.
+Il demone `crond`:
-3. Esegue le attività programmate.
-
-4. I rapporti sono riportati sistematicamente in un file di log (`/var/log/cron`).
+* Legge - Legge i file delle attività pianificate di tutti gli utenti ogni minuto.
+* Esegue - Esegue le attività secondo la pianificazione.
+* Scrive - Scrive gli eventi e i messaggi corrispondenti nel file`(/var/log/cron`).
diff --git a/docs/books/admin_guide/11-tasks.md b/docs/books/admin_guide/11-tasks.md
index b030c048fc..c4fb6e4c30 100644
--- a/docs/books/admin_guide/11-tasks.md
+++ b/docs/books/admin_guide/11-tasks.md
@@ -4,13 +4,13 @@ title: Task Management
# Task Management
-In this chapter you will learn how to manage scheduled tasks.
+In this chapter, you will learn how to manage scheduled tasks.
****
**Objectives**: In this chapter, future Linux administrators will learn how to:
-:heavy_check_mark: Linux deals with the tasks scheduling;
+:heavy_check_mark: Linux deals with the task scheduling;
:heavy_check_mark: restrict the use of **`cron`** to certain users;
:heavy_check_mark: schedule tasks.
@@ -27,7 +27,7 @@ In this chapter you will learn how to manage scheduled tasks.
The scheduling of tasks is managed with the `cron` utility. It allows the periodic execution of tasks.
-It is reserved to the administrator for system tasks but can be used by normal users for tasks or scripts that they have access to. To access the `cron` utility, we use: `crontab`.
+It is reserved for administrators to perform system tasks, but can also be used by normal users for tasks or scripts that they have access to. To access the `cron` utility, we use: `crontab`.
The `cron` service is used for:
@@ -44,7 +44,7 @@ The `cron` service is used for:
## How the service works
-The `cron` service is run by a `crond` daemon present in memory.
+A `crond` daemon present runs the `cron` service in memory.
To check its status:
@@ -56,7 +56,7 @@ To check its status:
If the `crond` daemon is not running, you will have to initialize it manually and/or automatically at startup. Indeed, even if tasks are scheduled, they will not be launched.
-Initialization of the `crond` daemon in manual:
+Initialization of the `crond` daemon in the manual:
```bash
[root]# systemctl {status|start|restart|stop} crond
@@ -70,7 +70,7 @@ Initialization of the `crond` daemon at startup:
## Security
-In order to implement a schedule, a user must have permission to use the `cron` service.
+To implement a schedule, a user must have permission to use the `cron` service.
This permission varies according to the information contained in the files below:
@@ -123,9 +123,9 @@ If the same user exists in `/etc/cron.deny` and `/etc/cron.allow` at the same ti
## Scheduling tasks
-When a user schedules a task, there is a file created with his name under `/var/spool/cron/`.
+When a user schedules a task, there is a file created with their name under `/var/spool/cron/`.
-This file contains all the information the `crond` needs to know regarding all tasks created by this user, the commands or programs to run, and when to run them (hour, minute, day ...). Note that the minimum time unit that `crond` can recognize is 1 minute. There are similar scheduling tasks in RDBMS (such as MySQL), in which time-based scheduling tasks are called "Event Scheduler", the minimum time unit it can recognize is 1 second, and event based scheduling tasks are called "Triggers".
+This file contains all the information the `crond` needs to know regarding tasks created by this user, including the commands or programs to run, and the schedule for running them (hour, minute, day, etc.). Note that the minimum time unit that `crond` can recognize is 1 minute. There are similar scheduling tasks in RDBMS (such as MySQL), where time-based scheduling tasks are referred to as the "Event Scheduler" (whose recognizable time unit is 1 second), and event-based scheduling tasks are referred to as "Triggers".

@@ -147,16 +147,16 @@ Example:
|--------|-----------------------------------------------------------|
| `-e` | Edits the schedule file with vi |
| `-l` | Displays the contents of the schedule file |
-| `-u` | Sets the name of the user whose schedule file is to be manipulated |
+| `-u ` | Specify a single user to operate |
| `-r` | Deletes the schedule file |
!!! Warning
- `crontab` without option deletes the old schedule file and waits for the user to enter new lines. You have to press ctrl + d to exit this editing mode.
+ `crontab` without options deletes the old schedule file and waits for the user to enter new lines. You have to press ctrl + d to exit this editing mode.
- Only `root` can use the `-u user` option to manage another user's schedule file.
+ Only the `root` can use the `-u ` option to manage another user's schedule file.
- The example above allows root to schedule a task for user1.
+ The example above allows the root to schedule a task for user1.
### Uses of `crontab`
@@ -181,7 +181,7 @@ The `crontab` file is structured according to the following rules.
* Each line of this file corresponds to a schedule;
* Each line has six fields, 5 for the time and 1 for the order;
-* Each field is separated by a space or a tab;
+* A space or a tab separates each field;
* Each line ends with a carriage return;
* A `#` at the beginning of the line comments it.
@@ -202,16 +202,16 @@ The `crontab` file is structured according to the following rules.
!!! Warning
- The tasks to be executed must use absolute paths and if possible, use redirects.
+ The tasks to be executed must use absolute paths, and if possible, use redirects.
-In order to simplify the notation for the definition of time, it is advisable to use special symbols.
+To simplify the notation for the definition of time, it is advisable to use special symbols.
-| Wildcards | Description |
+| Special symbol | Description |
|---------------|----------------------------------|
-| `*` | Indicates all possible values of the field |
-| `-` | Indicates a range of values |
-| `,` | Indicates a list of values |
-| `/` | Defines a step |
+| `*` | Indicates all the time values of the field |
+| `-` | Indicates a continuous time range |
+| `,` | Indicates the discontinuous time range |
+| `/` | Indicateds time interval |
Examples:
@@ -221,19 +221,19 @@ Script executed on April 15 at 10:25 am:
25 10 15 04 * /root/scripts/script > /log/…
```
-Run at 11am and then at 4pm every day:
+Run the task once a day at 11 am and once a day at 4 pm:
```bash
00 11,16 * * * /root/scripts/script > /log/…
```
-Run every hour from 11am to 4pm every day:
+The task runs once an hour from 11 am to 4 pm every day:
```bash
00 11-16 * * * /root/scripts/script > /log/…
```
-Run every 10 minutes during working hours:
+Run every 10 minutes during working hours on weekdays:
```bash
*/10 8-17 * * 1-5 /root/scripts/script > /log/…
@@ -254,12 +254,12 @@ For the root user, `crontab` also has some special time settings:
A user, rockstar, wants to edit his `crontab` file:
-1. `crond` checks to see if he is allowed (`/etc/cron.allow` and `/etc/cron.deny`).
+1. The `crond` daemon checks to see if the user is allowed (`/etc/cron.allow` and `/etc/cron.deny`).
-2. If he is, he accesses his `crontab` file (`/var/spool/cron/rockstar`).
+2. If the user is allowed, they access their `crontab` file (`/var/spool/cron/rockstar`).
- Every minute `crond` reads the schedule files.
+The `crond` daemon:
-3. It executes the scheduled tasks.
-
-4. It reports systematically in a log file (`/var/log/cron`).
+* Reads - Reads the scheduled task files of all users every minute.
+* Runs - Runs tasks according to the schedule.
+* Writes - Writes the corresponding events and messages to the (`/var/log/cron`) file.
diff --git a/docs/books/admin_guide/11-tasks.uk.md b/docs/books/admin_guide/11-tasks.uk.md
index 3b6161f9de..15b83f556d 100644
--- a/docs/books/admin_guide/11-tasks.uk.md
+++ b/docs/books/admin_guide/11-tasks.uk.md
@@ -8,7 +8,7 @@ title: Управління задачами
****
-**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються, як:
+**Цілі**: у цьому розділі майбутні адміністратори Linux дізнаються як:
:heavy_check_mark: Linux займається плануванням завдань;
:heavy_check_mark: обмежує використання **`cron`** певними користувачами;
@@ -52,7 +52,7 @@ title: Управління задачами
[root] # systemctl status crond
```
-!!! tip "Порада"
+!!! Tip "Порада"
Якщо демон `crond` не працює, вам доведеться ініціалізувати його вручну та/або автоматично під час запуску. Дійсно, навіть якщо задачі заплановані, вони не будуть запущені.
@@ -99,7 +99,7 @@ title: Управління задачами
Якщо він порожній, усі користувачі можуть використовувати `cron`.
-За замовчуванням `/etc/cron.deny` існує та є порожнім, а `/etc/cron.allow` не існує.
+За замовчуванням, `/etc/cron.deny` існує та є порожнім, а `/etc/cron.allow` не існує. Коли два файли існують одночасно, система використовує лише вміст `cron.allow` як основу для оцінки та повністю ігнорує існування файлів `cron.deny`.
### Надати дозвіл користувачу
@@ -112,20 +112,20 @@ user1
### Заборонити користувача
-Лише **user2** не зможе використовувати `cron`.
+Лише **user2** не зможе використовувати `cron`. Зверніть увагу, що файл `/etc/cron.allow` не може існувати.
```bash
[root]# vi /etc/cron.deny
user2
```
-`cron.allow` не має бути присутнім.
+Якщо той самий користувач існує одночасно у `/etc/cron.deny` та `/etc/cron.allow`, він може використовувати cron як зазвичай.
## Планування задач
-Коли користувач планує завдання, у `/var/spool/cron/` створюється файл із його іменем.
+Коли користувач планує завдання, у директорії `/var/spool/cron/` створюється файл з його іменем.
-Цей файл містить усю інформацію, яку має знати `crond` щодо всіх задач, створених цим користувачем, команд або програм, які потрібно виконати, і часу їх запуску (година, хвилина, день ...).
+Цей файл містить усю інформацію, яку має знати `crond` щодо всіх задач, створених цим користувачем, команд або програм, які потрібно виконати, і часу їх запуску (година, хвилина, день ...). Зверніть увагу, що мінімальна одиниця часу, яку може розпізнати `crond`, становить 1 хвилину. Подібні завдання планування існують у реляційних СУБД (таких як MySQL), де завдання планування на основі часу називаються "Планувальником подій" (розпізнаваною одиницею часу якого є 1 секунда), а завдання планування на основі подій називаються "Тригерами".

@@ -143,18 +143,18 @@ crontab [-u user] [-e | -l | -r]
[root]# crontab -u user1 -e
```
-| Опція | Опис |
-| ----- | -------------------------------------------------------------------- |
-| `-e` | Редагує файлу розкладу за допомогою vi |
-| `-l` | Відображення вмісту файлу розкладу |
-| `-u` | Встановлює ім’я користувача, файлом розкладу якого потрібно керувати |
-| `-r` | Видаляє файл розкладу |
+| Опція | Опис |
+| ----------------- | -------------------------------------- |
+| `-e` | Редагує файлу розкладу за допомогою vi |
+| `-l` | Відображення вмісту файлу розкладу |
+| `-u ` | Визначає одного користувача для роботи |
+| `-r` | Видаляє файл розкладу |
!!! Warning "Увага"
`crontab` без опції видаляє старий файл розкладу та чекає, поки користувач введе нові рядки. Ви повинні натиснути ctrl + d щоб вийти з цього режиму редагування.
- Тільки `root` може використовувати параметр `-u user` для керування файлом розкладу іншого користувача.
+ Тільки користувач `root` може використовувати опцію `-u ` для керування файлом розкладу іншого користувача.
Приклад вище дозволяє root запланувати завдання для користувача1.
@@ -206,12 +206,12 @@ crontab [-u user] [-e | -l | -r]
Для спрощення позначення для визначення часу доцільно використовувати спеціальні символи.
-| Символи підстановки | Опис |
-| ------------------- | -------------------------------- |
-| `*` | Вказує всі можливі значення поля |
-| `-` | Вказує діапазон значень |
-| `,` | Вказує на список значень |
-| `/` | Визначає крок |
+| Спеціальні символи | Опис |
+| ------------------ | ---------------------------------------- |
+| `*` | Вказує всі значення часу поля |
+| `-` | Вказує на безперервний часовий діапазон |
+| `,` | Вказує на переривчастий часовий діапазон |
+| `/` | Вказаний часовий інтервал |
Приклади:
@@ -221,19 +221,19 @@ crontab [-u user] [-e | -l | -r]
25 10 15 04 * /root/scripts/script > /log/…
```
-Запуск об 11:00, а потім о 16:00 щодня:
+Виконуйте завдання один раз на день об 11: 00 та один раз на день о 16: 00:
```bash
00 11,16 * * * /root/scripts/script > /log/…
```
-Запуск щогодини з 11:00 до 16:00 щодня:
+Завдання виконується раз на годину з 11: 00 до 16: 00 щодня:
```bash
00 11-16 * * * /root/scripts/script > /log/…
```
-Запуск кожні 10 хвилин у робочий час:
+Виконувати кожні 10 хвилин у робочий час у будні дні:
```bash
*/10 8-17 * * 1-5 /root/scripts/script > /log/…
@@ -254,12 +254,12 @@ crontab [-u user] [-e | -l | -r]
Користувач, rockstar, хоче відредагувати свій файл `crontab`:
-1. `crond` перевіряє, чи він дозволений (`/etc/cron.allow` і `/etc/cron.deny`).
+1. Демон `crond` перевіряє, чи має користувач доступ (`/etc/cron.allow` та `/etc/cron.deny`).
-2. Якщо так, він отримує доступ до свого файлу `crontab` (`/var/spool/cron/rockstar`).
+2. Якщо користувачеві дозволено, він отримає доступ до свого файлу `crontab` (`/var/spool/cron/rockstar`).
- Щохвилини `crond` читає файли розкладу.
+Демон `crond`:
-3. Він виконує заплановані завдання.
-
-4. Він систематично звітує у файлі журналу (`/var/log/cron`).
+* Reads - щохвилини зчитує файли запланованих завдань усіх користувачів.
+* Runs - Виконує завдання згідно з розкладом.
+* Writes - Записує відповідні події та повідомлення до файлу (`/var/log/cron`).
diff --git a/docs/books/admin_guide/11-tasks.zh.md b/docs/books/admin_guide/11-tasks.zh.md
index 1b2f7c4912..c9da18f87f 100644
--- a/docs/books/admin_guide/11-tasks.zh.md
+++ b/docs/books/admin_guide/11-tasks.zh.md
@@ -1,250 +1,265 @@
---
-title: Task Management
+title: 任务管理
---
-# Task Management
+# 任务管理
-In this chapter you will learn how to manage scheduled tasks.
+在本章中,您将学习如何管理计划任务。
****
-**Objectives** : In this chapter, future Linux administrators will learn how to:
+**目标**: 在本章中,未来的 Linux 管理员们将学习如何:
-:heavy_check_mark: Linux deals with the tasks scheduling;
-:heavy_check_mark: restrict the use of **`cron`** to certain users;
-:heavy_check_mark: schedule tasks.
+:heavy_check_mark: 使用 Linux 处理计划任务;
+:heavy_check_mark: 将 **`cron`** 的使用限制为某些用户;
+:heavy_check_mark: 计划任务。
-:checkered_flag: **crontab**, **crond**, **scheduling**, **linux**
+:checkered_flag: **crontab**,**crond**,**scheduling**,**linux**
-**Knowledge**: :star: :star:
-**Complexity**: :star: :star:
+**知识性**: :star: :star:
+**复杂度**: :star: :star:
-**阅读时间**: 15 分钟
+**阅读时间**:15 分钟
****
## 概论
-The scheduling of tasks is managed with the `cron` utility. It allows the periodic execution of tasks.
+任务的调度由 `cron` 实用程序进行管理。 它允许定期执行任务。
-It is reserved to the administrator for system tasks but can be used by normal users for tasks or scripts that they have access to. To access the `cron` utility, we use: `crontab`.
+该工具通常保留给管理员执行系统任务,但普通用户也可用它来运行自己有权限访问的任务或脚本。 要访问 `cron` 实用工具,我们需要使用 `crontab`。
-The `cron` service is used for:
+`cron` 服务用于:
-* Repetitive administration operations;
-* Backups;
-* Monitoring of system activity;
-* Program execution.
+* 重复性的管理任务;
+* 备份;
+* 监控系统活动;
+* 程序执行。
-`crontab` is short for **cron table**, but can be thought of as a task scheduling table.
+`crontab` 是 **cron table** 的缩写,但可以认为它是任务调度表。
-!!! Warning To set up a schedule, the system must have the correct time set.
+!!! warning "警告"
-## How the service works
+ 要设置计划,系统必须为设置正确的时间。
-The `cron` service is run by a `crond` daemon present in memory.
+## 服务的工作原理
-To check its status:
+`cron` 服务由内存中的 `crond` 守护进程来运行。
-```
+要检查其状态:
+
+```bash
[root] # systemctl status crond
```
-!!! Tip If the `crond` daemon is not running, you will have to initialize it manually and/or automatically at startup. Indeed, even if tasks are scheduled, they will not be launched.
+!!! Tip "小提示"
-Initialization of the `crond` daemon in manual:
+ 如果 `crond` 守护程序未运行,则必须在启动时手动 和/或 自动对其进行初始化。 即使任务被安排了,它们也不会被启动。
-```
+手动初始化 `crond` 守护进程:
+
+```bash
[root]# systemctl {status|start|restart|stop} crond
```
-Initialization of the `crond` daemon at startup:
+启动时初始化 `crond` 守护进程:
-```
+```bash
[root]# systemctl enable crond
```
-## Security
+## 安全性
-In order to implement a schedule, a user must have permission to use the `cron` service.
+为了实现计划任务,用户必须具有使用 `cron` 服务的权限。
-This permission varies according to the information contained in the files below:
+此权限因以下文件中包含的信息而异:
* `/etc/cron.allow`
* `/etc/cron.deny`
-!!! Warning If neither file is present, all users can use `cron`.
+!!! warning "警告"
-### The `cron.allow` and `cron.deny` Files
+ 如果两个文件都不存在,则所有用户都可以使用 `cron`。
-File `/etc/cron.allow`
+### `cron.allow` 和 `cron.deny` 文件
-Only users contained in this file are allowed to use `cron`.
+`/etc/cron.allow` 文件
-If it exists and is empty, no users can use `cron`.
+仅允许此文件中包含的用户使用 `cron`。
-!!! Warning If `cron.allow` is present, `cron.deny` is **ignored**.
+如果它存在并且为空,则任何用户都不能使用 `cron`。
-File `/etc/cron.deny`
+!!! warning "警告"
-Users in this file are not allowed to use `cron`.
+ 如果存在 `cron.allow` ,则 `cron.deny` 将被 **忽略**。
-If it is empty, all users can use `cron`.
+`/etc/cron.deny` 文件
-By default, `/etc/cron.deny` exists and is empty and `/etc/cron.allow` does not exist.
+此文件中的用户不允许使用 `cron`。
-### Allowing a user
+如果内容为空,则所有用户都可以使用 `cron`。
-Only **user1** will be able to use `cron`.
+默认情况下,`/etc/cron.deny` 文件存在但为空,而 `/etc/cron.allow` 文件不存在。 当两个文件同时存在时,系统仅使用 `cron.allow` 的文件内容作为判断依据并完全忽略 `cron.deny` 文件的存在。
-```
+### 允许一个用户
+
+仅 **user1** 能够使用 `cron`。
+
+```bash
[root]# vi /etc/cron.allow
user1
```
-### Prohibit a user
-Only **user2** will not be able to use `cron`.
+### 禁止一个用户
-```
+仅 **user2** 不能使用 `cron`。 请注意,`/etc/cron.allow` 文件不能存在。
+
+```bash
[root]# vi /etc/cron.deny
user2
```
-`cron.allow` must not be present.
+如果 `/etc/cron.deny` 和 `/etc/cron.allow` 中同时存在相同的用户,则用户可以正常使用 cron。
-## Scheduling tasks
+## 计划任务
-When a user schedules a task, a file with his name is created under `/var/spool/cron/`.
+当给用户设置计划任务时,会在 `/var/spool/cron/`下创建一个以该用户命名的文件。
-This file contains all the information the `crond` needs to know regarding all tasks created by this user, the commands or programs to run, and when to run them (hour, minute, day ...).
+该文件包含 `crond` 运行该用户创建的计划任务所需的全部信息,包括待执行的命令或程序以及运行它们的时间表(时、分、日等)。 请注意,`crond` 可以识别的最小时间单位是 1 分钟。 在 RDBMS(如 MySQL )中也有类似的计划任务,其中基于时间的计划任务被称为"事件调度器"(其可识别的时间单位为1秒),基于事件的计划任务称为 "触发器"。
-
+
-### The `crontab` command
+### `crontab` 命令
-The `crontab` command is used to manage the schedule file.
+`crontab` 命令用于管理计划任务文件。
-```
+```bash
crontab [-u user] [-e | -l | -r]
```
-Example:
+示例:
-```
+```bash
[root]# crontab -u user1 -e
```
-| Option | Description |
-| ------ | --------------------------------------------------------- |
-| `-e` | Edit the schedule file with vi |
-| `-l` | Displays the contents of the schedule file |
-| `-u` | Name of the user whose schedule file is to be manipulated |
-| `-r` | Delete the schedule file |
+| 选项 | 说明 |
+| ----------------- | -------------- |
+| `-e` | 使用 vi 编辑计划任务文件 |
+| `-l` | 显示计划任务文件的内容 |
+| `-u ` | 指定单个用户进行操作 |
+| `-r` | 删除计划任务文件 |
-!!! Warning `crontab` without option deletes the old schedule file and waits for the user to enter new lines. You have to press ctrl + d to exit this editing mode.
+!!! warning "警告"
- Only `root` can use the `-u user` option to manage another user's schedule file.
+ 没有选项的 `crontab` 会删除旧的计划任务文件并等待用户输入新行。 您必须按 ctrl + d 键才能退出此编辑模式。
+
+ 只有 `root` 才能使用 `-u ` 选项来管理其他用户的计划任务文件。
- The example above allows root to schedule a task for user1.
+ 上面的示例允许 root 为 user1 安排计划任务。
-### Uses of `crontab`
+### `crontab` 的使用
-The uses of `crontab` are many and include:
+`crontab` 的用途很多,包括:
-* Modifications to the `crontab` files taken into account immediately;
-* No need to restart.
+* 对 `crontab` 文件所做的修改会立即生效;
+* 无需重启。
-On the other hand, the following points must be taken into account:
+另一方面,必须考虑以下几点:
-* The program must be autonomous;
-* Provide redirections (stdin, stdout, stderr);
-* It is not relevant to run commands that use input/output requests on a terminal.
+* 程序必须能够独立运行;
+* 提供重定向(stdin, stdout, stderr);
+* 不适合执行需要终端交互操作的命令。
-!!! Note It is important to understand that the purpose of scheduling is to perform tasks automatically, without the need for external intervention.
+!!! note "说明"
-## The `crontab` file
+ 重要的是要理解计划任务的目的——在不需要外部干预的情况下自动执行任务。
-The `crontab` file is structured according to the following rules.
+## `crontab` 文件
-* Each line of this file corresponds to a schedule;
-* Each line has six fields, 5 for the time and 1 for the order;
-* Each field is separated by a space or a tab;
-* Each line ends with a carriage return;
-* A `#` at the beginning of the line comments it.
+`crontab` 文件的结构遵循以下规则。
-```
+* 此文件的每一行都对应一项计划任务;
+* 每行包含6个字段:5个时间设定字段 + 1个命令指令字段;
+* 字段间需用空格或制表符分隔;
+* 每行必须以回车符结束;
+* 行首的 `#` 号将注释该行内容。
+
+```bash
[root]# crontab –e
10 4 1 * * /root/scripts/backup.sh
1 2 3 4 5 6
```
-| Field | Description | Detail |
-| ----- | ------------------- | ------------------------ |
-| 1 | Minute(s) | From 0 to 59 |
-| 2 | Hour(s) | From 0 to 23 |
-| 3 | Day(s) of the month | From 1 to 31 |
-| 4 | Month of the year | From 1 to 12 |
-| 5 | Day(s) of the week | From 0 to 7 (0=7=sunday) |
-| 6 | Task to execute | Full command or script |
+| 字段 | 说明 | 详情 |
+| -- | ------ | ---------------------- |
+| 1 | 分钟 | 从 0 到 59 |
+| 2 | 小时 | 从 0 到 23 |
+| 3 | 月中的某一天 | 从 1 到 31 |
+| 4 | 年中的某一月 | 从 1 到 12 |
+| 5 | 星期几 | 从 0 到 7 (0 和 7 都表示星期日) |
+| 6 | 要执行的任务 | 完整命令或脚本 |
-!!! Warning The tasks to be executed must use absolute paths and if possible use redirects.
+!!! warning "警告"
-In order to simplify the notation for the definition of time, it is advisable to use special symbols.
+ 需执行的任务必须使用绝对路径,并应尽量配置输出重定向。
-| Wildcards | Description |
-| --------- | -------------------------------- |
-| `*` | All possible values of the field |
-| `-` | Indicates a range of values |
-| `,` | Indicates a list of values |
-| `/` | Defines a step |
+为了简化时间定义的符号,建议使用特殊符号。
-Examples:
+| 特殊符号 | 说明 |
+| ---- | ---------- |
+| `*` | 表示字段的所有时间值 |
+| `-` | 表示连续的时间范围 |
+| `,` | 表示不连续的时间范围 |
+| `/` | 表示时间间隔 |
-Script executed on April 15 at 10:25 am:
+示例:
-```
+脚本于4月15日上午10:25执行:
+
+```bash
25 10 15 04 * /root/scripts/script > /log/…
```
-Run at 11am and then at 4pm every day:
+每天上午11点和下午4点运行一次任务:
-```
+```bash
00 11,16 * * * /root/scripts/script > /log/…
```
-Run every hour from 11am to 4pm every day:
+该任务每天上午11点至下午4点每小时运行一次:
-```
+```bash
00 11-16 * * * /root/scripts/script > /log/…
```
-Run every 10 minutes during working hours:
+工作日的工作时间每10分钟运行一次:
-```
+```bash
*/10 8-17 * * 1-5 /root/scripts/script > /log/…
```
-For the root user, `crontab` also has some special time settings:
-
-| Setting | Description |
-| --------- | -------------------------------------------------------------- |
-| @reboot | Run command on system reboot |
-| @hourly | Run command every hour |
-| @daily | Runs daily just after midnight |
-| @weekly | Runs command every Sunday just after midnight |
-| @monthly | Runs command on the first day of the month just after midnight |
-| @annually | Runs January 1st just after midnight |
+对于 root 用户, `crontab` 也有一些特殊的时间设置:
-### Task execution process
+| 设置 | 说明 |
+| --------- | -------------- |
+| @reboot | 在系统重新启动时运行命令 |
+| @hourly | 每小时运行一次命令 |
+| @daily | 每天午夜后运行 |
+| @weekly | 每周日午夜后运行命令 |
+| @monthly | 在每月的第一天午夜后运行命令 |
+| @annually | 1月1日午夜后运行 |
-A user, rockstar, wants to edit his `crontab` file:
+### 任务执行过程
-1) `crond` checks to see if he is allowed (`/etc/cron.allow` and `/etc/cron.deny`).
+用户 rockstar 想要编辑他的 `crontab` 文件:
-2) If he is, he accesses his `crontab` file (`/var/spool/cron/rockstar`).
+1. `crond` 需要检查他是否被授权(依据 `/etc/cron.allow` 和 `/etc/cron.deny` )。
-Every minute `crond` reads the schedule files.
+2. 若授权通过,用户可访问其专属的 `crontab` 文件(`/var/spool/cron/rockstar`)。
-3) It executes the scheduled tasks.
+`crond` 守护进程:
-4) It reports systematically in a log file (`/var/log/cron`).
+* 读取 - 每分钟读取所有用户的计划任务文件。
+* 运行 - 根据计划运行任务。
+* 写入 - 将相应的事件和消息写入到文件中(`/var/log/cron`)。
diff --git a/docs/books/admin_guide/12-network.fr.md b/docs/books/admin_guide/12-network.fr.md
index 0ace0352f9..c2b9d488bb 100644
--- a/docs/books/admin_guide/12-network.fr.md
+++ b/docs/books/admin_guide/12-network.fr.md
@@ -164,7 +164,7 @@ La commande `hostname` affiche ou définit le nom d'hôte du système
hostname [-f] [hostname]
```
-| Option | Observation |
+| Option | Description |
| ------ | ---------------------------------------------------- |
| `-f` | Affiche le FQDN |
| `-i` | Affiche des informations sur l'adresse IP du système |
@@ -583,14 +583,14 @@ BROADCAST=172.16.79.255
[root]# ipcalc –b 172.16.66.203 255.255.240.0 >> /etc/sysconfig/network-scripts/ifcfg-eth0
```
-| Option | Observation |
+| Option | Description |
| ------ | ----------------------------------------- |
| `-b` | Affiche l'adresse de diffusion. |
| `-R` | Affiche l'adresse et le masque du réseau. |
`ipcalc` est un moyen simple de déterminer les informations IP d'un hôte. Les différentes options indiquent quelles informations `ipcalc` doit afficher sur la sortie standard. Plusieurs options peuvent être spécifiées. Une adresse IP sur laquelle opérer doit être spécifiée. La plupart des opérations nécessitent également un masque réseau ou un préfixe CIDR.
-| Option courte | Option longue | Observation |
+| Option courte | Option longue | Description |
| ------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-b` | `--broadcast` | Affiche l'adresse de diffusion de l'adresse IP donnée et le masque réseau. |
| `-h` | `--hostname` | Affiche le nom d'hôte de l'adresse IP fournie via DNS. |
diff --git a/docs/books/admin_guide/12-network.md b/docs/books/admin_guide/12-network.md
index 6545120ce3..ddfbaaa6b1 100644
--- a/docs/books/admin_guide/12-network.md
+++ b/docs/books/admin_guide/12-network.md
@@ -53,41 +53,259 @@ The notation called CIDR is more and more frequent: 192.168.1.10/24
IP addresses are used for the proper routing of messages (packets). They are divided into two parts:
-* the fixed part, identifying the network;
-* the identifier of the host in the network.
+* network bits - The part associated with consecutive "1s" in the binary subnet mask
+* host bits - The part associated with consecutive "0s" in the binary subnet mask
-The subnet mask is a set of **4 bytes** intended to isolate:
+```
+ |<- host bits ->|
+ |<-- network bits -->|
+192.168.1.10 ==> 11000000.10101000.00000001.00001010
+255.255.255.0 ==> 11111111.11111111.11111111.00000000
+```
+
+The subnet mask is used to define the network bits and host bits of an IP address. By using subnet mask, we can determine the current IP address:
* the network address (**NetID** or **SubnetID**) by performing a bitwise logical AND between the IP address and the mask;
* the host address (**HostID**) by performing a bitwise logical AND between the IP address and the complement of the mask.
+```
+192.168.1.10 ==> 11000000.10101000.00000001.00001010
+255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+NetID 11000000.10101000.00000001.00000000
+ 192 . 168 . 1 . 0
+
+HostID 00000000.00000000.00000000.00001010
+ 0 . 0 . 0 . 10
+```
+
+**Legitimate subnet mask** - In order from left to right, consecutive 1s can be defined as valid subnet masks.
+
+```
+legitimate 11111111.11111111.11111111.00000000
+
+illegitimate 11001001.11111111.11111111.00000000
+```
+
+!!! tip
+
+ The IP address and subnet mask must appear in pairs, which is determined by the basic principles of network communication.
+
There are also specific addresses within a network, which must be identified. The first address of a range as well as the last one have a particular role:
-* The first address of a range is the **network address**. It is used to identify networks and to route information from one network to another.
+* The first address of a range is the **network address**. It is used to identify networks and to route information from one network to another. This address can be obtained through Logic and Operations.
+
+ ```
+ 192.168.1.10 ==> 11000000.10101000.00000001.00001010
+ 255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+ network address 11000000.10101000.00000001.00000000
+ 192 . 168 . 1 . 0
+ ```
+
+ **Logic and Operations** - When both are true (1), the result is true (1); otherwise, it is false (0)
+
+* The last address of a range is the **broadcast address**. It is used to broadcast information to all the machines on the network. Keep the network bits unchanged and replace all host bits with 1 to obtain the this address.
+
+ ```
+ 192.168.1.10 ==> 11000000.10101000.00000001.00001010
+ 255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+ broadcast address 11000000.10101000.00000001.11111111
+ 192 . 168 . 1 . 255
+ ```
+
+!!! tip
-* The last address of a range is the **broadcast address**. It is used to broadcast information to all the machines on the network.
+ These two addresses that play special roles **cannot** be assigned to the terminal machine for use.
-### MAC address / IP address
+### MAC address and IP address
A **MAC address** is a physical identifier written in the factory onto the device. This is sometimes referred to as the hardware address. It consists of 6 bytes often given in hexadecimal form (for example 5E:FF:56:A2:AF:15).
-It is composed of: 3 bytes of the manufacturer identifier and 3 bytes of the serial number.
+
+These 6 bytes respectively represent:
+
+* The first three bytes represent manufacturer identifier . This identifier is called OUI (Organizationally Unique Identifier).
+* The last three bytes represent the serial number allocated by the manufacturer.
!!! Warning
- This last statement is nowadays a little less true with virtualization. There are also software solutions for changing the MAC address.
+ The MAC address is hardcoded when the hardware leaves the factory. There are two main methods to modify it:
+
+ * Firmware-level modification (permanent): Requires advanced tools that can directly rewrite the MAC address in the network card's ROM. Such tools are typically only available to hardware manufacturers.
+ * Software-level spoofing (temporary): Modifies how the MAC address appears to the operating system. These changes are usually reset after a system reboot. The MAC address of the virtual network card in the virtual host is also implemented through spoofing.
+
+An Internet Protocol (**IP**) address is an identification number permanently or temporarily assigned to each device connected to a computer network using the Internet Protocol. The IP address and subnet mask must appear in pairs, which is determined by the basic principles of network communication. Through the subnet mask, we can know the current IP address:
+
+* network bits and host bits
+* NetID or SubnetID
+* HostID
+* network address
+* broadcast address
+
+IP addresses are classified based on the version field in the packet as follows:
+
+* **IPv4** - (4 bits, 0100). The available quantity of IPv4 is 232 (known from the source and destination address fields in IPv4 packets). Specifically divided into:
+
+ * Class A address. Its range is from **0.0.0.0** to **127.255.255.255**
+ * Class B address. Its range is from **128.0.0.0** to **191.255.255.255**
+ * Class C address. Its range is from **192.0.0.0** to **223.255.255.255**
+ * Class D address. Its range is from **224.0.0.0** to **239.255.255.255**
+ * Class E address. Its range is from **240.0.0.0** to **255.255.255.255**
+
+ Among them, Class A addresses, Class B addresses, and Class C addresses all have their own private address ranges. 0.0.0.0 is a reserved address and is not assigned to the host. Class D addresses are used for multicast communication and are not assigned to hosts. Class E addresses are reserved and not used for regular networks.
+
+* **IPv6** - (4 bits, 0110). The available quantity of IPv6 is 2128 (known from the source and destination address fields in IPv6 packets). Specifically divided into:
+
+ * Unicast address. Include Link-local unicast address (LLA), Unique local address (ULA), Global unicast address (GUA), Loopback address, Unspecified address
+ * Anycast address
+ * Multicast address
+
+Description of writing format for 128 bits IPv6:
+
+* Preferred writing format - **X:X:X:X:X:X:X:X**. In this writing format, 128 bit IPv6 addresses are divided into 8 groups, each represented by 4 hexadecimal values (0-9, A-F), separated by colons (`:`) between groups. Each "X" represents a set of hexadecimal values. For example **2001:0db8:130F:0000:0000:09C0:876A:130B**.
+
+ * Omitting the leading 0 - For the convenience of writing, the leading "0" in each group can be omitted, so the above address can be abbreviated as **2001:db8:130F:0:0:9C0:876A:130B**.
+ * Use double colon - If the address contains two or more consecutive groups that are both 0, a double colon can be used instead. So the above address can be further abbreviated as **2001:db8:130F::9C0:876A:130B**. Attention! A double colons can only appear once in an IPv6 address.
+
+* Compatible with writing formats - **X:X:X:X:X:X:d.d.d.d**. In a mixed network environment, this format ensures compatibility between IPv6 nodes and IPv4 nodes. For example **0:0:0:0:0:ffff:192.1.56.10** and **::ffff:192.1.56.10/96**.
+
+In a web address or URL (Uniform Resource Locator), an IP address can be followed by a colon and the port address (which indicates the application to which the data is destined). Also to avoid confusion in a URL, the IPv6 address is written in square brackets (For example `[2001:db8:130F::9C0:876A:130B]:443`).
+
+As mentioned earlier, subnet masks divide IPv4 addresses into two parts: network bits and host bits. In IPv6, subnet masks also have the same function, but the name has changed ("n" represents the number of bits occupied by the subnet mask):
+
+* Network prefix - It is equivalent to the network bits in an IPv4 address. According to the subnet mask, occupy "n" bits.
+* Interface ID - It is equivalent to the host bits in an IPv4 address. According to the subnet mask, occupy "128-n" bits.
+
+For example **2001:0db8:130F:0000:0000:09C0:876A:130B/64**:
+
+```
+ Network prefix
+|<- 64 bits ->|
+
+ Interface ID
+ |<- 64 bits ->|
+2001:0db8:130F:0000 : 0000:09C0:876A:130B
+```
+
+In the same network, IP addresses must be unique, which is a fundamental rule of network communication. In the same LAN (Local Area Network), the MAC address must be unique.
+
+### IPv4 packet structure
+
+IPv4 packets contain both header and data parts:
+
+
+
+**Version**: Help routers identify protocol versions. For IPv4, the value here is 0100 (Binary 0100 is equivalent to decimal 4)
+
+**IHL**: A field used to control the length of the header. When the "Options" field is not included, the minimum value is 5 (Namely binary 0101), at this time, the head occupies 20 bytes. The maximum value is 15 (Namely binary 1111), and the length of the header is 60 bytes.
+
+```
+The actual length of IPv4 header = The value of the IHL field * 4
+```
+
+**Type of Service**: This field is used to define the QoS (Quality Of Service) and priority of data packets. This field is now mainly used for DSCP (Differentiated Services Code Point) and ECN (Explicit Congestion Notification).
+
+**Total Length**: Represents the total length of the entire IPv4 datagram (IPv4 packet) in bytes.
+
+!!! note
+
+ IP packet and IP datagram are technically different expressions of the same concept, both referring to data units transmitted at the network layer.
+
+**Identification**: Identifies all fragments of an IPv4 datagram. All fragments from the same original datagram share the same Identification value to enable correct reassembly.
+
+**Flags**: It is used to control the behavior of IPv4 datagram fragmentation. In order from left to right:
+
+* The first bit - Not used, value 0
+* The second bit - DF (Don’t Fragment). If DF=1, it means that the IPv4 datagram must be transmitted in its entirety. If it exceeds MTU, it is discarded and an ICMP error is returned (such as "Fragmentation Needed"). If DF=0, the router splits the IPv4 datagram into multiple fragments, each of which carries the same Identification field value
+* The third bit - MF (More Fragment). If MF=1, it means that the current fragment is not the last one and there are other fragments; If MF=0, it means this is the last fragment
+
+**Fragment Offset**: Indicate the relative position of the fragment in the original IPv4 datagram, in units of 8 bytes. This field is mainly used for fragment reassembly.
+
+**TTL (Time To Live)**: This field is used to limit the maximum survival time or maximum hop count of datagrams in the network. The initial value is determined by the sender, and the TTL decreases by 1 every time it passes through the router. When TTL=0, the datagram is discarded.
+
+**Protocol**: Indicates the protocol type used by the data carried in this datagram. Its value range is 0-255.For example, the protocol number of TCP is 6, that of UDP is 17, that of ICMP is 1.
+
+**Header Checksum**: This field will be recalculated every time the datagram passes through the router, mainly due to the decreasing TTL field causing changes in the header. This field only verifies the header (excluding the data part). If other fields remain unchanged and only the TTL changes, the checksum will be updated to a new value (non-zero) to ensure that the header has not been tampered with or damaged during transmission.
+
+**Source address**: IPv4 address of the datagram sender
+
+**Destination address**: IPv4 address of the datagram receiver
+
+**Options**: Optional field, with a length range of 0-40 bytes. It is only used when the IHL is greater than 5. The length of this field must be an integer multiple of 4 bytes (if the length is less than 4 bytes, use the **padding** field for padding).
+
+!!! tip
+
+ Bit has two meanings. In information theory, it refers to the fundamental unit of information, representing one binary choice (0 or 1). In computer science, it is the smallest unit of data storage, where 8 bits typically equal 1 byte unless specified otherwise.
+
+### IPv6 packet structure
+
+IPv6 datagrams consist of three parts:
+
+* Basic Header
+* Extension Header
+* Upper Layer Protocol Data Unit
+
+In some books, the Extended Header and Upper Layer Protocol Data Unit are collectively referred to as the **Payload**.
+
+
+
+The fixed length of the Basic Header is 40 bytes and it is fixed to 8 fields:
+
+**Version**: Help routers identify protocol versions. For IPv6, the value here is 0110 (Binary 0110 is equivalent to decimal 6).
+
+**Traffic Class**: Equivalent to the TOS (Type Of Service) field in IPv4 datagrams. This field is used to define the QOS (Quality Of Service) and priority of data packets.
+
+**Flow Label**: This IPv6 new field is used to control packet flow. A non-zero value in this field means that the packet should be treated specially; i.e., the packet should not be sent through different routes to reach the destination but rather use the same path. An advantage to this is that the receiving end doesn’t have to reorder the package, thus speeding the process. This field helps avoid reordering data packets and is specifically designed for streaming media/live media.
+
+**Payload Length**: Indicate the size of the payload. This field can only represent a Payload with a maximum length of 65535 bytes. In case the length of the payload is greater than 65535 bytes, then the payload length field will be set to 0 and the jumbo payload option is used in the Hop-by-Hop Options Extension Header.
+
+**Next Header**: Used to indicate the type of packet header after the basic header. If there is a first extension header, it represents the type of the first extension header. Otherwise, it represents the protocol type used by the upper layer, such as 6 (TCP) and 17 (UDP).
+
+**Hop Limit**: This field is equivalent to Time To Live (TTL) in IPv4 datagrams.
+
+**Source Address**: This field represents the address of the IPv6 datagram sender.
+
+**Destination Address**: This field represents the address of the IPv6 datagram receiver.
+
+
+
+In IPv4 datagrams, the IPv4 header contains optional fields such as Options, which include Security, Timestamp, Record Route, etc. These Options can expand the length of the IPv4 header from 20 bytes to 60 bytes. During the forwarding process, handling IPv4 datagrams carrying these Options can consume a significant amount of device resources, so it is rarely used in practice.
+
+IPv6 removes these Options from the IPv6 basic header and places them in the extension header, which is placed between the IPv6 Basic Header and the Upper Layer Protocol Data Unit.
+
+An IPv6 packet can contain 0, 1, or multiple extension headers, which are only added by the sender when special processing is required by the device or destination node.
+
+Unlike the IPv4 Options field (which can be extended up to 40 bytes and requires continuous storage), the IPv6 Extension Header adopts a chain structure and has no fixed length limit, making it more scalable in the future. Its 8 byte alignment mechanism is implemented through the Next Header field, which ensures processing efficiency and avoids fragmentation overhead.
+
+**Next Header**: This field has the same function as the Next Header field in the Basic Header.
+
+**Extension Header Len**: Indicate the length of the extension header (excluding the length of the Next Header).
-An Internet Protocol (**IP**) address is an identification number permanently or temporarily assigned to each device connected to a computer network using the Internet Protocol.
-One part defines the network address (NetID or SubnetID as the case may be), the other part defines the address of the host in the network (HostID). The relative size of each part varies according to the network (sub)mask.
+**Extension Head Data**: The content of the Extension Header is a combination of a series of option fields and padding fields.
-An IPv4 address defines an address on 4 bytes. The number of available addresses being close to saturation a new standard was created, the IPv6 defined on 16 bytes.
+Currently, RFC defines the following types of Extension Headers:
-IPv6 is often represented by 8 groups of 2 bytes separated by a colon. Insignificant zeros can be omitted, one or more groups of 4 consecutive zeros can be replaced by a double colon.
+* Hop-by-Hop Options header (Next Header Field Value is 0) - Must be handled by all routers in the path.
+* Destination Options header (Next Header Field Value is 60) - Only processed by the destination node.
+* Routing header (Next Header Field Value is 43) - This Extension Header is similar to the Loose Source and Record Route options in IPv4.
+* Fragment header (Next Header Field Value is 44) - Like IPv4 packets, the length of IPv6 packets to be forwarded cannot exceed the maximum transmission unit (MTU). When the packet length exceeds the MTU, the packet needs to be fragmented. In IPv6, the Fragment header is used by an IPv6 source node to send a packet larger than the MTU.
+* Authentication header (Next Header Field Value is 51) - IPSec uses this header to provide data origin authentication, data integrity check, and packet anti-replay functions. It also protects some fields in the IPv6 basic header.
+* Encapsulating Security Payload header (Next Header Field Value is 50) - This header provides the same functions as the Authentication header plus IPv6 packet encryption.
-Subnet masks have from 0 to 128 bits. (for example 21ac:0000:0000:0611:21e0:00ba:321b:54da/64 or 21ac::611:21e0:ba:321b:54da/64)
+RFC specifies that when multiple extension headers are used in the same datagram, it is recommended that these headers appear in the following order:
-In a web address or URL (Uniform Resource Locator), an ip address can be followed by a colon and the port address (which indicates the application to which the data is destined). Also to avoid confusion in a URL, the IPv6 address is written in square brackets [ ], colon, port address.
+1. IPv6 Basic Header
+2. Hop-by-Hop Options header
+3. Destination Options header
+4. Routing header
+5. Fragment header
+6. Authentication header
+7. Encapsulating Security Payload header
+8. Destination Options header
+9. Upper-layer protocol header
-IP and MAC addresses must be unique on a network!
+Except for the Destination Option Header which may appear once or twice (once before the Routing Extension header and once before the Upper-layer protocol header), all other extension headers can only appear once.
### DNS Domain
diff --git a/docs/books/admin_guide/12-network.uk.md b/docs/books/admin_guide/12-network.uk.md
index a06db75653..7b26962ae4 100644
--- a/docs/books/admin_guide/12-network.uk.md
+++ b/docs/books/admin_guide/12-network.uk.md
@@ -53,19 +53,71 @@ title: Впровадження мережі
IP-адреси використовуються для належної маршрутизації повідомлень (пакетів). Вони поділяються на дві частини:
-* фіксована частина, що ідентифікує мережу;
-* ідентифікатор хоста в мережі.
+* біт мережі - частина, пов'язана з послідовними «1» у двійковій масці підмережі
+* біти хоста - частина, пов'язана з послідовними «0» у двійковій масці підмережі
-Маска підмережі — це набір із **4 байтів**, призначений для відокремлення:
+```
+ |<- host bits ->|
+ |<-- network bits -->|
+192.168.1.10 ==> 11000000.10101000.00000001.00001010
+255.255.255.0 ==> 11111111.11111111.11111111.00000000
+```
+
+Маска підмережі використовується для визначення мережевих бітів і бітів хоста IP-адреси. Використовуючи маску підмережі, ми можемо визначити поточну IP-адресу:
* мережевої адреси (**NetID** або **SubnetID**), виконавши порозрядне логічне І між IP-адресою та маскою;
* адреси хоста (**HostID**), виконавши побітове логічне AND між IP-адресою та доповненням до маски.
+```
+192.168.1.10 ==> 11000000.10101000.00000001.00001010
+255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+NetID 11000000.10101000.00000001.00000000
+ 192 . 168 . 1 . 0
+
+HostID 00000000.00000000.00000000.00001010
+ 0 . 0 . 0 . 10
+```
+
+**Законна маска підмережі** - Зліва направо послідовні 1 можна визначити як дійсні маски підмережі.
+
+```
+legitimate 11111111.11111111.11111111.00000000
+
+illegitimate 11001001.11111111.11111111.00000000
+```
+
+!!! tip "Підказка"
+
+ IP-адреса та маска підмережі повинні з'являтися парами, що визначається основними принципами мережевої комунікації.
+
У мережі також є конкретні адреси, які необхідно ідентифікувати. Перша адреса діапазону, а також остання мають певну роль:
-* Перша адреса діапазону – це **адреса мережі**. Вона використовується для ідентифікації мереж і маршрутизації інформації з однієї мережі в іншу.
+* Перша адреса діапазону – це **адреса мережі**. Вона використовується для ідентифікації мереж і маршрутизації інформації з однієї мережі в іншу. Цю адресу можна отримати через Logic and Operations.
-* Остання адреса діапазону є **широкомовною адресою**. Він використовується для трансляції інформації на всі машини в мережі.
+ ```
+ 192.168.1.10 ==> 11000000.10101000.00000001.00001010
+ 255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+ network address 11000000.10101000.00000001.00000000
+ 192 . 168 . 1 . 0
+ ```
+
+ **Logic and Operations** - Коли обидва значення є істинними (1), результат є істинним (1); в іншому випадку він є хибним (0)
+
+* Остання адреса діапазону є **широкомовною адресою**. Вона використовується для трансляції інформації на всі машини в мережі. Збережіть біти мережі без змін і замініть всі біти хоста на 1, щоб отримати цю адресу.
+
+ ```
+ 192.168.1.10 ==> 11000000.10101000.00000001.00001010
+ 255.255.255.0 ==> 11111111.11111111.11111111.00000000
+
+ broadcast address 11000000.10101000.00000001.11111111
+ 192 . 168 . 1 . 255
+ ```
+
+!!! tip "Підказка"
+
+ Ці дві адреси, які відіграють особливу роль, **не можуть** бути призначені для використання термінальним пристроєм.
### MAC-адреса / IP-адреса
@@ -144,7 +196,7 @@ IP та MAC адреси мають бути унікальними в мере
Забудьте стару команду `ifconfig`! Є `ip`!
-!!! Примітка
+!!! Note "Примітка"
Коментар для адміністраторів старих систем Linux:
@@ -169,7 +221,7 @@ hostname [-f] [hostname]
| `-f` | Відображає FQDN |
| `-i` | Відображає IP-адреси системи |
-!!! tip "Порада"
+!!! Tip "Порада"
Ця команда використовується різними мережевими програмами для ідентифікації машини.
@@ -190,7 +242,7 @@ HOSTNAME=pc-rocky.mondomaine.lan
Тому важливо заповнити ці два файли перед будь-яким налаштуванням мережевих служб.
-!!! tip "Порада"
+!!! Tip "Порада"
Щоб дізнатися, чи правильно виконано цю конфігурацію, команди `hostname` і `hostname -f` мають відповідати очікуваними значеннями.
@@ -212,7 +264,7 @@ HOSTNAME=pc-rocky.mondomaine.lan
Файл `/etc/hosts` все ще використовується системою, особливо під час завантаження, коли визначається FQDN системи.
-!!! tip "Порада"
+!!! Tip "Порада"
RedHat рекомендує заповнити принаймні один рядок із назвою системи.
@@ -251,7 +303,7 @@ search mondomaine.lan
nameserver 192.168.1.254
```
-!!! tip "Порада"
+!!! Tip "Порада"
Цей файл є історичним. Він більше не заповнюється безпосередньо!
@@ -328,7 +380,7 @@ BOOTPROTO=dhcp
HWADDR=00:0c:29:96:32:e3
```
-!!! tip "Порада"
+!!! Tip "Порада"
Якщо встановлено NetworkManager, зміни враховуються автоматично. Якщо ні, потрібно перезапустити службу мережі.
@@ -374,7 +426,7 @@ NETMASK=255.255.255.0
PREFIX=24
```
-!!! warning "Важливо"
+!!! Warning "Увага"
Ви повинні використовувати МАСКУ МЕРЕЖІ АБО ПРЕФІКС – не обидва!
@@ -473,7 +525,7 @@ ping [-c numerical] destination
[root]# ping –c 4 localhost
```
-!!! tip "Порада"
+!!! Tip "Порада"
Перевірте підключення від близького до далекого
@@ -547,7 +599,7 @@ dig [-t type] [+short] [name]
getent hosts name
```
-Приклади:
+Приклад:
```bash
[root]# getent hosts rockylinux.org
@@ -575,7 +627,7 @@ ipcalc [options] IP
BROADCAST=172.16.79.255
```
-!!! tip "Порада"
+!!! Tip "Порада"
Цікава ця команда, після якої слідує перенаправлення для автоматичного заповнення конфігураційних файлів ваших інтерфейсів:
@@ -622,7 +674,7 @@ tcp LISTEN 0 128 *:22 *:*
### Команда `netstat`
-!!! Warning "Важливо"
+!!! Warning "Увага"
Команда `netstat` тепер застаріла та більше не встановлюється за замовчуванням у Rocky Linux. Ви все ще можете знайти деякі версії Linux, у яких він встановлений, але найкраще переходити до використання `ss` для всього, для чого ви використовували `netstat`.
@@ -667,7 +719,7 @@ $ arp-scan -I eth0 -l
172.16.1.232 88:51:fb:5e:fa:b3 (Unknown) (DUP: 2)
```
-!!! tip "Порада"
+!!! Tip "Порада"
Як показує наведений вище приклад, конфлікти MAC-адрес можливі! Технології віртуалізації та копіювання віртуальних машин викликають ці проблеми.
diff --git a/docs/books/admin_guide/13-softwares.de.md b/docs/books/admin_guide/13-softwares.de.md
index f1379f88dd..a4a169e44f 100644
--- a/docs/books/admin_guide/13-softwares.de.md
+++ b/docs/books/admin_guide/13-softwares.de.md
@@ -986,12 +986,12 @@ Das `needs-restarting` Plugin ermöglicht Ihnen Prozesse, die neu zu starten sin
dnf needs-restarting [-u] [-r] [-s]
```
-| Option | Beschreibung |
-| ------- | --------------------------------------------------------------------- |
-| `-u` | nur die Prozesse berücksichtigen, die zum laufenden Benutzer gehören. |
-| `-r` | um zu überprüfen, ob ein Neustart erforderlich sein könnte. |
-| `-s` | um zu überprüfen, ob Dienste neu gestartet werden müssen. |
-| `-s -r` | um beides in einem Lauf zu tun. |
+| Optionen | Beschreibung |
+| -------- | --------------------------------------------------------------------- |
+| `-u` | nur die Prozesse berücksichtigen, die zum laufenden Benutzer gehören. |
+| `-r` | um zu überprüfen, ob ein Neustart erforderlich sein könnte. |
+| `-s` | um zu überprüfen, ob Dienste neu gestartet werden müssen. |
+| `-s -r` | um beides in einem Lauf zu tun. |
### `versionlock` Plugin
diff --git a/docs/books/admin_guide/13-softwares.fr.md b/docs/books/admin_guide/13-softwares.fr.md
index e53f9f5109..c5d2be8f1e 100644
--- a/docs/books/admin_guide/13-softwares.fr.md
+++ b/docs/books/admin_guide/13-softwares.fr.md
@@ -338,7 +338,7 @@ Complete!
La commande `dnf repolist` liste les dépôts configurés sur le système. Par défaut, il liste uniquement les dépôts activés, mais peut être utilisé avec ces paramètres :
-| Paramètre | Observation |
+| Paramètre | Description |
| ------------ | --------------------------------------- |
| `--all` | Liste tous les dépôts. |
| `--enabled` | Par défaut |
@@ -484,7 +484,7 @@ La commande correspondante pour supprimer un groupe est `dnf groupremove "name g
La commande `dnf clean` nettoie tous les caches et fichiers temporaires créés par `dnf`. Il peut être utilisé avec les paramètres suivants :
-| Paramètres | Observation |
+| Paramètres | Description |
| -------------- | --------------------------------------------------------------------- |
| `all` | Supprime tous les fichiers temporaires créés pour les dépôts activés. |
| `dbcache` | Supprime les fichiers de cache des métadonnées du dépôt. |
@@ -986,7 +986,7 @@ Le plugiciel `needs-restarting` vous permettra de détecter les processus qui so
dnf needs-restarting [-u] [-r] [-s]
```
-| Options | Observation |
+| Options | Description |
| ------- | ----------------------------------------------------------------------- |
| `-u` | considérer uniquement les processus appartenant à l'utilisateur actuel. |
| `-r` | pour vérifier si un redémarrage peut être nécessaire. |
diff --git a/docs/books/admin_guide/13-softwares.it.md b/docs/books/admin_guide/13-softwares.it.md
index b121e158be..7e681781f8 100644
--- a/docs/books/admin_guide/13-softwares.it.md
+++ b/docs/books/admin_guide/13-softwares.it.md
@@ -987,7 +987,7 @@ dnf needs-restarting [-u] [-r] [-s]
| Opzioni | Descrizione |
| ------- | ---------------------------------------------------------------- |
-| `-u` | Considera solo i processi appartenenti all'utente in esecuzione. |
+| `- u` | Considera solo i processi appartenenti all'utente in esecuzione. |
| `-r` | per verificare se è necessario un riavvio. |
| `-s` | per verificare se i servizi devono essere riavviati. |
| `-s -r` | per fare entrambe le cose in un unico ciclo. |
diff --git a/docs/books/admin_guide/13-softwares.uk.md b/docs/books/admin_guide/13-softwares.uk.md
index 5908adf9cf..19e6d24fd2 100644
--- a/docs/books/admin_guide/13-softwares.uk.md
+++ b/docs/books/admin_guide/13-softwares.uk.md
@@ -94,7 +94,7 @@ rpm -qf /path/to/file
Після параметра "-q" ім'я пакета має бути точним. Метасимволи (знаки підстановки) не підтримуються.
-!!! tip "Порада"
+!!! Tip "Порада"
Однак можна переглянути список усіх встановлених пакетів і відфільтрувати їх за допомогою команди grep.
diff --git a/docs/books/admin_guide/16-about-sytemd.it.md b/docs/books/admin_guide/16-about-sytemd.it.md
index adcf86d344..778c25df9c 100644
--- a/docs/books/admin_guide/16-about-sytemd.it.md
+++ b/docs/books/admin_guide/16-about-sytemd.it.md
@@ -1,7 +1,7 @@
---
title: Informazioni su systemd
author: tianci li
-contributors: Spencer Steven
+contributors: Steven Spencer
tags:
- init software
- systemd
@@ -190,17 +190,17 @@ Dalla pagina man (`man 7 bootup`), possiamo consultare il diagramma di avvio di
- "sysinit.target" e "basic.target" sono punti di controllo durante il processo di avvio. Sebbene uno degli obiettivi di `systemd` sia quello di avviare i servizi di sistema in parallelo, è necessario avviare i "target" di alcuni servizi e funzionalità prima di avviare altri servizi e "target"
- Una volta completate le "units" da cui dipende "sysinit.target", l'avvio passerà alla fase "sysinit.target". Queste "units" possono essere avviate in parallelo, tra cui:
- - Montare il file system
- - Impostare il file di swap
- - Avviare udev
- - Impostare il seme del generatore casuale
- - Avviare i servizi di basso livello
- - Impostare i servizi di crittografia
+ - Montare il file system
+ - Impostare il file di swap
+ - Avviare udev
+ - Impostare il seme del generatore casuale
+ - Avviare i servizi di basso livello
+ - Impostare i servizi di crittografia
- "sysinit.target" avvierà tutti i servizi di basso livello e le "units" necessarie per le funzioni essenziali del sistema operativo, che sono necessarie prima di entrare nella fase "basic.target".
- Dopo aver completato la fase "sysinit.target", `systemd` avvia tutte le "units" necessarie per completare il "target" successivo (cioè "basic.target"). Il target offre ulteriori funzioni, tra cui:
- - Impostare i percorsi delle directory per i vari file eseguibili.
- - socket di comunicazione
- - timers
+ - Impostare i percorsi delle directory per i vari file eseguibili.
+ - socket di comunicazione
+ - timers
- Infine, viene eseguita l'inizializzazione per il "target" a livello di utente ("multiuser.target" o "graphical.target"). `systemd` deve arrivare a "multi-user.target" prima di accedere a "graphical.target".
È possibile eseguire il seguente comando per visualizzare le dipendenze necessarie per l'avvio completo:
@@ -484,113 +484,113 @@ Di solito esistono tre intitolazioni per le unit di tipo ".service":
1. Intitolazione della unit
- Sono utilizzabili le seguenti coppie chiave-valore:
+ Sono utilizzabili le seguenti coppie chiave-valore:
- - `Description=OpenSSH server daemon`. La stringa viene utilizzata per descrivere la "unit".
- - `Documentation=man:sshd(8) man:sshd_config(5)`. Un elenco separato da spazi di URI che fanno riferimento alla documentazione di questa "unit" o della sua configurazione. Sono accettati solo URI del tipo "http://", "https://", "file:", "info:", "man:".
- - `After=network.target sshd-keygen.target`. Definisce la relazione della sequenza di avvio con altre "unit". In questo esempio, "network.target" e "sshd-keygen.target" si avviano per primi e "sshd.service" per ultimo.
- - `Before=`. Definisce la relazione della sequenza di avvio con le altre "unit".
- - `Requires=`. Configura le dipendenze da altre "unit" I valori possono essere più unit separate da spazi. Se la '"unit" corrente è attivata, si attiveranno anche i valori qui elencati. Se almeno uno dei valori elencati di "unit" non si attiva correttamente, `systemd` non avvia la "unit" corrente.
- - `Wants=sshd-keygen.target`. Simile alla chiave `Requires`. La differenza consiste nel fatto che se la unit dipendente non si avvia, ciò non influisce sul normale funzionamento della "unit" corrente.
- - `BindsTo=`. Simile alla chiave `Requires`. La differenza è data dal fatto che se una qualsiasi "unit" dipendente non si avvia, l'unità corrente viene arrestata in aggiunta alla "unit" che arresta la dipendenza.
- - `PartOf=`. Simile alla chiave `Requires`. La differenza consiste nel fatto che se una qualsiasi "unit" dipendente non si avvia, oltre all'arresto e al riavvio delle unit dipendenti, viene arrestata e riavviata anche la "unit" corrente.
- - `Conflicts=`. Il suo valore è un elenco di "unit" separate da spazi. Se la "unit" elencata dal valore è in funzione, la "unit" corrente non può essere eseguita.
- - `OnFailure=`. Quando la "unit" corrente viene interrotta, la "unit" o le "unit" (separate da spazi) presenti nel valore si attivano.
+ - `Description=OpenSSH server daemon`. La stringa viene utilizzata per descrivere la "unit".
+ - `Documentation=man:sshd(8) man:sshd_config(5)`. Un elenco separato da spazi di URI che fanno riferimento alla documentazione di questa "unit" o della sua configurazione. Sono accettati solo URI del tipo "http://", "https://", "file:", "info:", "man:".
+ - `After=network.target sshd-keygen.target`. Definisce la relazione della sequenza di avvio con altre "unit". In questo esempio, "network.target" e "sshd-keygen.target" si avviano per primi e "sshd.service" per ultimo.
+ - `Before=`. Definisce la relazione della sequenza di avvio con le altre "unit".
+ - `Requires=`. Configura le dipendenze da altre "unit" I valori possono essere più unit separate da spazi. Se la '"unit" corrente è attivata, si attiveranno anche i valori qui elencati. Se almeno uno dei valori elencati di "unit" non si attiva correttamente, `systemd` non avvia la "unit" corrente.
+ - `Wants=sshd-keygen.target`. Simile alla chiave `Requires`. La differenza consiste nel fatto che se la unit dipendente non si avvia, ciò non influisce sul normale funzionamento della "unit" corrente.
+ - `BindsTo=`. Simile alla chiave `Requires`. La differenza è data dal fatto che se una qualsiasi "unit" dipendente non si avvia, l'unità corrente viene arrestata in aggiunta alla "unit" che arresta la dipendenza.
+ - `PartOf=`. Simile alla chiave `Requires`. La differenza consiste nel fatto che se una qualsiasi "unit" dipendente non si avvia, oltre all'arresto e al riavvio delle unit dipendenti, viene arrestata e riavviata anche la "unit" corrente.
+ - `Conflicts=`. Il suo valore è un elenco di "unit" separate da spazi. Se la "unit" elencata dal valore è in funzione, la "unit" corrente non può essere eseguita.
+ - `OnFailure=`. Quando la "unit" corrente viene interrotta, la "unit" o le "unit" (separate da spazi) presenti nel valore si attivano.
- Per ulteriori informazioni, vedere `man 5 systemd.unit`.
+ Per ulteriori informazioni, vedere `man 5 systemd.unit`.
2. Intitolazione del Servizio
- Sono utilizzabili le seguenti coppie chiave-valore:
-
- - `Type=notify`. Configurare il tipo di unit ".service", che può essere uno dei seguenti:
- - `simple` - Il servizio si avvia come processo principale. Questa è l'impostazione predefinita.
- - `forking` - Il servizio richiama processi biforcati e viene eseguito come parte del daemon principale.
- - `exec` - Simile a `semplice`. Il gestore del servizio avvierà questa unit subito dopo aver eseguito il binario del servizio principale. Le altre unit successive devono rimanere bloccate fino a questo punto prima di poter proseguire l'avvio.
- - `oneshot` - Simile a `simple`, ma il processo deve uscire prima che `systemd` avvii i servizi di follow-up.
- - `dbus` - Simile a `simple`, tranne per il fatto che il daemon acquisisce il nome del bus D-Bus.
- - `notify` - Simile a `simple`, tranne per il fatto che il daemon invia un messaggio di notifica usando `sd_notify` o una chiamata equivalente dopo l'avvio.
- - `idle` - Simile a `simple`, tranne per il fatto che l'esecuzione del servizio viene ritardata fino a quando tutti i lavori attivi non vengono distribuiti.
- - `RemainAfterExit=`. Se il servizio corrente deve essere considerato attivo quando tutti i processi del servizio terminano. L'impostazione predefinita è no.
- - `GuessMainPID=`. Il valore è di tipo booleano ed è predefinito a yes. In assenza di una posizione definita per il processo principale del servizio, `systemd` deve indovinare il PID del processo principale (che potrebbe non essere corretto). Se si imposta `Type=forking` e non si imposta `PIDFile`, questa coppia di valori chiave diventerà effettiva. Altrimenti, verrà ignorata la coppia chiave-valore.
- - `PIDFile=`. Specificare il percorso del file (percorso assoluto) del PID del servizio. Per i servizi `Type=forking`, si raccomanda di usare questa coppia chiave-valore. `systemd` legge il PID del processo principale del daemon dopo l'avvio del servizio.
- - `BusName=`. Un nome del bus D-Bus per raggiungere questo servizio. Questa opzione è obbligatoria per i servizi dove viene utilizzato `Type=dbus`.
- - `ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY`. I comandi e gli argomenti eseguiti all'avvio del servizio.
- - `ExecStartPre=`. Altri comandi che vengono eseguiti prima dei comandi in `ExecStart`.
- - `ExecStartPost=`. Gli altri comandi che verranno eseguiti dopo i comandi in `ExecStart`.
- - `ExecReload=/bin/kill -HUP $MAINPID`. I comandi e gli argomenti vengono eseguiti quando il servizio viene ricaricato.
- - `ExecStop=`. I comandi e gli argomenti che verranno eseguiti all'arresto del servizio.
- - `ExecStopPost=`. Comandi aggiuntivi da eseguire dopo l'arresto del servizio.
- - `RestartSec=42s`. Il tempo in secondi di sospensione prima di riavviare un servizio.
- - `TimeoutStartSec=`. Il tempo in secondi di attesa per l'avvio del servizio.
- - `TimeoutStopSec=`. Il tempo in secondi di attesa per l'arresto del servizio.
- - `TimeoutSec=`. Un'abbreviazione per configurare contemporaneamente `TimeoutStartSec` e `TimeoutStopSec`.
- - `RuntimeMaxSec=`. Tempo massimo in secondi per l'esecuzione del servizio. Passando \`infinity' (il valore predefinito) non si configura alcun limite di tempo di esecuzione.
- - `Restart=on-failure`. Configura se riavviare il servizio quando il processo del servizio esce, viene terminato o raggiunge un timeout:
- - `no` - Il servizio non verrà riavviato. Questa è l'impostazione predefinita.
- - `on-success` - Si riavvia solo quando il processo di servizio esce in modo pulito (codice di uscita 0).
- - `on-failure` - Si riavvia solo quando il processo di servizio non esce in modo pulito (codice di uscita non-zero).
- - `on-abnormal` - Si riavvia se il processo termina con un segnale o quando si verifica un timeout.
- - `on-abort` - Si riavvia se il processo esce a causa di un segnale imprevisto non specificato come condizione di uscita pulita.
- - `on-watchdog` - Se impostato su `on-watchdog`, il servizio si riavvia solo se il timeout del watchdog scade.
- - `always` - Si riavvia sempre.
-
- Le condizioni di uscita e l'effetto delle impostazioni di `Restart=` su di esse:
-
- 
-
- - `KillMode=process`. Specifica il modo in cui i processi di questa unit devono essere arrestati. Il suo valore può essere uno dei seguenti:
- - `control-group` - Valore predefinito. Se impostato su `control-group`, tutti i processi rimanenti nel gruppo di controllo di questa unit vengono arrestati all'arresto della stessa.
- - `process` - Viene arrestato solo il processo principale.
- - `mixed` - Il segnale SIGTERM viene inviato al processo principale, mentre il successivo segnale SIGKILL viene inviato a tutti i processi rimanenti del gruppo di controllo della unit.
- - `none` - Non arresta alcun processo.
- - `PrivateTmp=`. Utilizzare o meno una directory tmp privata. In base a determinate condizioni di sicurezza, si consiglia di impostare il valore su yes.
- - `ProtectHome=`. Proteggere o meno la home directory. Il suo valore può essere uno dei seguenti:
- - `yes` - Le tre directory (/root/, /home/, /run/user/) non sono visibili alla unit.
- - `no` - Le tre directory sono visibili alla unit.
- - `read-only` - Le tre directory sono di sola lettura per la unit.
- - `tmpfs` - Il file system temporaneo verrà montato in modalità di sola lettura su queste tre directory.
- - `ProtectSystem=`. La directory utilizzata per proteggere il sistema dalla modifica da parte del servizio. Il valore può essere:
- - `yes` - Indica che il processo chiamato dalla unit sarà montato in sola lettura sulle directory /usr/ e /boot/.
- - `no` - Valore predefinito
- - `full` - Indica che le directory /usr/, /boot/, /etc/ sono montate in sola lettura.
- - `strict` - Tutti i file system sono montati in sola lettura (escluse le directory dei file system virtuali come /dev/, /proc/ e /sys/).
- - `EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config`. Legge le variabili d'ambiente da un file di testo. "-" significa che se il file non esiste, non verrà letto e non verranno registrati errori o avvisi.
-
- Per ulteriori informazioni, vedere `man 5 systemd.service`.
+ Sono utilizzabili le seguenti coppie chiave-valore:
+
+ - `Type=notify`. Configurare il tipo di unit ".service", che può essere uno dei seguenti:
+ - `simple` - Il servizio si avvia come processo principale. Questa è l'impostazione predefinita.
+ - `forking` - Il servizio richiama processi biforcati e viene eseguito come parte del daemon principale.
+ - `exec` - Simile a `semplice`. Il gestore del servizio avvierà questa unit subito dopo aver eseguito il binario del servizio principale. Le altre unit successive devono rimanere bloccate fino a questo punto prima di poter proseguire l'avvio.
+ - `oneshot` - Simile a `simple`, ma il processo deve uscire prima che `systemd` avvii i servizi di follow-up.
+ - `dbus` - Simile a `simple`, tranne per il fatto che il daemon acquisisce il nome del bus D-Bus.
+ - `notify` - Simile a `simple`, tranne per il fatto che il daemon invia un messaggio di notifica usando `sd_notify` o una chiamata equivalente dopo l'avvio.
+ - `idle` - Simile a `simple`, tranne per il fatto che l'esecuzione del servizio viene ritardata fino a quando tutti i lavori attivi non vengono distribuiti.
+ - `RemainAfterExit=`. Se il servizio corrente deve essere considerato attivo quando tutti i processi del servizio terminano. L'impostazione predefinita è no.
+ - `GuessMainPID=`. Il valore è di tipo booleano ed è predefinito a yes. In assenza di una posizione definita per il processo principale del servizio, `systemd` deve indovinare il PID del processo principale (che potrebbe non essere corretto). Se si imposta `Type=forking` e non si imposta `PIDFile`, questa coppia di valori chiave diventerà effettiva. Altrimenti, verrà ignorata la coppia chiave-valore.
+ - `PIDFile=`. Specificare il percorso del file (percorso assoluto) del PID del servizio. Per i servizi `Type=forking`, si raccomanda di usare questa coppia chiave-valore. `systemd` legge il PID del processo principale del daemon dopo l'avvio del servizio.
+ - `BusName=`. Un nome del bus D-Bus per raggiungere questo servizio. Questa opzione è obbligatoria per i servizi dove viene utilizzato `Type=dbus`.
+ - `ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY`. I comandi e gli argomenti eseguiti all'avvio del servizio.
+ - `ExecStartPre=`. Altri comandi che vengono eseguiti prima dei comandi in `ExecStart`.
+ - `ExecStartPost=`. Gli altri comandi che verranno eseguiti dopo i comandi in `ExecStart`.
+ - `ExecReload=/bin/kill -HUP $MAINPID`. I comandi e gli argomenti vengono eseguiti quando il servizio viene ricaricato.
+ - `ExecStop=`. I comandi e gli argomenti che verranno eseguiti all'arresto del servizio.
+ - `ExecStopPost=`. Comandi aggiuntivi da eseguire dopo l'arresto del servizio.
+ - `RestartSec=42s`. Il tempo in secondi di sospensione prima di riavviare un servizio.
+ - `TimeoutStartSec=`. Il tempo in secondi di attesa per l'avvio del servizio.
+ - `TimeoutStopSec=`. Il tempo in secondi di attesa per l'arresto del servizio.
+ - `TimeoutSec=`. Un'abbreviazione per configurare contemporaneamente `TimeoutStartSec` e `TimeoutStopSec`.
+ - `RuntimeMaxSec=`. Tempo massimo in secondi per l'esecuzione del servizio. Passando \`infinity' (il valore predefinito) non si configura alcun limite di tempo di esecuzione.
+ - `Restart=on-failure`. Configura se riavviare il servizio quando il processo del servizio esce, viene terminato o raggiunge un timeout:
+ - `no` - Il servizio non verrà riavviato. Questa è l'impostazione predefinita.
+ - `on-success` - Si riavvia solo quando il processo di servizio esce in modo pulito (codice di uscita 0).
+ - `on-failure` - Si riavvia solo quando il processo di servizio non esce in modo pulito (codice di uscita non-zero).
+ - `on-abnormal` - Si riavvia se il processo termina con un segnale o quando si verifica un timeout.
+ - `on-abort` - Si riavvia se il processo esce a causa di un segnale imprevisto non specificato come condizione di uscita pulita.
+ - `on-watchdog` - Se impostato su `on-watchdog`, il servizio si riavvia solo se il timeout del watchdog scade.
+ - `always` - Si riavvia sempre.
+
+ Le condizioni di uscita e l'effetto delle impostazioni di `Restart=` su di esse:
+
+ 
+
+ - `KillMode=process`. Specifica il modo in cui i processi di questa unit devono essere arrestati. Il suo valore può essere uno dei seguenti:
+ - `control-group` - Valore predefinito. Se impostato su `control-group`, tutti i processi rimanenti nel gruppo di controllo di questa unit vengono arrestati all'arresto della stessa.
+ - `process` - Viene arrestato solo il processo principale.
+ - `mixed` - Il segnale SIGTERM viene inviato al processo principale, mentre il successivo segnale SIGKILL viene inviato a tutti i processi rimanenti del gruppo di controllo della unit.
+ - `none` - Non arresta alcun processo.
+ - `PrivateTmp=`. Utilizzare o meno una directory tmp privata. In base a determinate condizioni di sicurezza, si consiglia di impostare il valore su yes.
+ - `ProtectHome=`. Proteggere o meno la home directory. Il suo valore può essere uno dei seguenti:
+ - `yes` - Le tre directory (/root/, /home/, /run/user/) non sono visibili alla unit.
+ - `no` - Le tre directory sono visibili alla unit.
+ - `read-only` - Le tre directory sono di sola lettura per la unit.
+ - `tmpfs` - Il file system temporaneo verrà montato in modalità di sola lettura su queste tre directory.
+ - `ProtectSystem=`. La directory utilizzata per proteggere il sistema dalla modifica da parte del servizio. Il valore può essere:
+ - `yes` - Indica che il processo chiamato dalla unit sarà montato in sola lettura sulle directory /usr/ e /boot/.
+ - `no` - Valore predefinito
+ - `full` - Indica che le directory /usr/, /boot/, /etc/ sono montate in sola lettura.
+ - `strict` - Tutti i file system sono montati in sola lettura (escluse le directory dei file system virtuali come /dev/, /proc/ e /sys/).
+ - `EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config`. Legge le variabili d'ambiente da un file di testo. "-" significa che se il file non esiste, non verrà letto e non verranno registrati errori o avvisi.
+
+ Per ulteriori informazioni, vedere `man 5 systemd.service`.
3. Intitolazione Install
- - `Alias=`. Un elenco di nomi aggiuntivi separati da spazi. Attenzione prego! Il nome aggiuntivo deve avere lo stesso tipo (suffisso) della unit corrente.
+ - `Alias=`. Un elenco di nomi aggiuntivi separati da spazi. Attenzione prego! Il nome aggiuntivo deve avere lo stesso tipo (suffisso) della unit corrente.
- - `RequiredBy=` o `WantedBy=multi-user.target`. Definisce la unit dell'operazione corrente come dipendenza della unit nel valore. Una volta completata la definizione, i file pertinenti si trovano nella directory /etc/systemd/systemd/. Per esempio:
+ - `RequiredBy=` o `WantedBy=multi-user.target`. Definisce la unit dell'operazione corrente come dipendenza della unit nel valore. Una volta completata la definizione, i file pertinenti si trovano nella directory /etc/systemd/systemd/. Ad esempio:
- ```bash
- Shell > systemctl is-enabled chronyd.service
- enabled
+ ```bash
+ Shell > systemctl is-enabled chronyd.service
+ enabled
- Shell > systemctl cat chronyd.service
- ...
- [Install]
- WantedBy=multi-user.target
+ Shell > systemctl cat chronyd.service
+ ...
+ [Install]
+ WantedBy=multi-user.target
- Shell > ls -l /etc/systemd/system/multi-user.target.wants/
- total 0
- lrwxrwxrwx. 1 root root 38 Sep 25 14:03 auditd.service -> /usr/lib/systemd/system/auditd.service
- lrwxrwxrwx. 1 root root 39 Sep 25 14:03 chronyd.service -> /usr/lib/systemd/system/chronyd.service ←←
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 crond.service -> /usr/lib/systemd/system/crond.service
- lrwxrwxrwx. 1 root root 42 Sep 25 14:03 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 kdump.service -> /usr/lib/systemd/system/kdump.service
- lrwxrwxrwx. 1 root root 46 Sep 25 14:03 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
- lrwxrwxrwx. 1 root root 40 Sep 25 14:03 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
- lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sshd.service -> /usr/lib/systemd/system/sshd.service
- lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sssd.service -> /usr/lib/systemd/system/sssd.service
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 tuned.service -> /usr/lib/systemd/system/tuned.service
- ```
+ Shell > ls -l /etc/systemd/system/multi-user.target.wants/
+ total 0
+ lrwxrwxrwx. 1 root root 38 Sep 25 14:03 auditd.service -> /usr/lib/systemd/system/auditd.service
+ lrwxrwxrwx. 1 root root 39 Sep 25 14:03 chronyd.service -> /usr/lib/systemd/system/chronyd.service ←←
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 crond.service -> /usr/lib/systemd/system/crond.service
+ lrwxrwxrwx. 1 root root 42 Sep 25 14:03 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 kdump.service -> /usr/lib/systemd/system/kdump.service
+ lrwxrwxrwx. 1 root root 46 Sep 25 14:03 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
+ lrwxrwxrwx. 1 root root 40 Sep 25 14:03 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
+ lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sshd.service -> /usr/lib/systemd/system/sshd.service
+ lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sssd.service -> /usr/lib/systemd/system/sssd.service
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 tuned.service -> /usr/lib/systemd/system/tuned.service
+ ```
- - `Also=`. Altre unit da installare o disinstallare durante l'installazione o la disinstallazione di questa unit.
+ - `Also=`. Altre unit da installare o disinstallare durante l'installazione o la disinstallazione di questa unit.
- Oltre alle pagine di manuale sopra menzionate, è possibile digitare `man 5 systemd.exec` o `man 5 systemd.kill` per accedere ad altre informazioni.
+ Oltre alle pagine di manuale sopra menzionate, è possibile digitare `man 5 systemd.exec` o `man 5 systemd.kill` per accedere ad altre informazioni.
## Comando relativo ad altri componenti
diff --git a/docs/books/admin_guide/16-about-sytemd.uk.md b/docs/books/admin_guide/16-about-sytemd.uk.md
index 89d31ad0e7..f33c0c4d01 100644
--- a/docs/books/admin_guide/16-about-sytemd.uk.md
+++ b/docs/books/admin_guide/16-about-sytemd.uk.md
@@ -190,17 +190,17 @@ lrwxrwxrwx. 1 root root 41 12月 23 2022 /etc/systemd/system/default.target -> /
- "sysinit.target" і "basic.target" є контрольними точками під час процесу запуску. Хоча однією з цілей розробки `systemd` є паралельний запуск системних служб, необхідно запустити "цілі" певних служб і функцій перед запуском інших служб і "цілей"
- Після завершення «одиниць», від яких залежить «sysinit.target», запуск перейде до фази «sysinit.target». Ці «одиниці» можна запускати паралельно, зокрема:
- - Монтування файлової системи
- - Налаштування файлу підкачки
- - Запуск udev
- - Встановлення початкового значення генератора випадкових змін
- - Запуск низькорівневої служби
- - Налаштувати служби шифрування
+ - Монтування файлової системи
+ - Налаштування файлу підкачки
+ - Запуск udev
+ - Встановлення початкового значення генератора випадкових змін
+ - Запуск низькорівневої служби
+ - Налаштувати служби шифрування
- "sysinit.target" запустить усі низькорівневі служби та "модулі", необхідні для основних функцій операційної системи, які необхідні перед переходом у фазу "basic.target".
- Після завершення фази «sysinit.target» `systemd` запускає всі «одиниці», необхідні для завершення наступної «цілі» (тобто «basic.target»). Ціль надає додаткові функції, зокрема:
- - Встановлення шляхів до каталогу для різних виконуваних файлів.
- - комунікаційні сокети
- - таймери
+ - Встановлення шляхів до каталогу для різних виконуваних файлів.
+ - комунікаційні сокети
+ - таймери
- Нарешті, ініціалізація виконується для "цілі" на рівні користувача ("multi-user.target" або "graphical.target"). `systemd` має досягти "multi-user.target" перед тим, як ввести "graphical.target".
Ви можете виконати таку команду, щоб побачити залежності, необхідні для повного запуску:
@@ -484,113 +484,113 @@ method=disabled
1. Назва підрозділу
- Можна використовувати наступні пари ключ-значення:
+ Можна використовувати наступні пари ключ-значення:
- - `Description=OpenSSH server daemon`. Рядок використовується для опису "одиниці".
- - `Documentation=man:sshd(8) man:sshd_config(5)`. Відокремлений пробілами список URI, що посилається на документацію для цього «блока» або його конфігурації. Приймаються лише URI типів "http://", "https://", "file:", "info:", "man:".
- - `After=network.target sshd-keygen.target`. Визначає зв'язок послідовності запуску з іншими "одиницями". У цьому прикладі "network.target" і "sshd-keygen.target" починаються першими, а "sshd.service" починається останнім.
- - `Before=`. Визначте зв’язок послідовності запуску з іншими «одиницями».
- - `Requires=`. Налаштувати залежності від інших «одиниць». Значення можуть бути кількома одиницями, розділеними пробілами. Якщо поточна «одиниця» активована, значення, наведені тут, також активуються. Якщо принаймні одне з перелічених значень "одиниці" не вдається успішно активувати, `systemd` не запускає поточний "блок".
- - `Wants=sshd-keygen.target`. Подібно до ключа `Requires`. Різниця в тому, що якщо залежний блок не запускається, це не вплине на нормальну роботу поточного «блока».
- - `BindsTo=`. Подібно до ключа `Requires`. Різниця полягає в тому, що якщо будь-який залежний "блок" не запускається, поточний блок зупиняється на додаток до "блоку", який зупиняє залежність.
- - `PartOf=`. Подібно до ключа `Requires`. Різниця полягає в тому, що якщо будь-який залежний «блок» не запускається, окрім зупинки та перезапуску залежних блоків, поточний «блок» буде зупинено та перезапущено.
- - `Conflicts=`. Його значенням є список одиниць, розділених пробілами. Якщо «одиниця», зазначена у значенні, працює, поточна «одиниця» працювати не може.
- - `OnFailure=`. Коли поточна «одиниця» виходить з ладу, активується «одиниця» або «одиниці» (відокремлені пробілами) у значенні.
+ - `Description=OpenSSH server daemon`. Рядок використовується для опису "одиниці".
+ - `Documentation=man:sshd(8) man:sshd_config(5)`. Відокремлений пробілами список URI, що посилається на документацію для цього «блока» або його конфігурації. Приймаються лише URI типів "http://", "https://", "file:", "info:", "man:".
+ - `After=network.target sshd-keygen.target`. Визначає зв'язок послідовності запуску з іншими "одиницями". У цьому прикладі "network.target" і "sshd-keygen.target" починаються першими, а "sshd.service" починається останнім.
+ - `Before=`. Визначте зв’язок послідовності запуску з іншими «одиницями».
+ - `Requires=`. Налаштувати залежності від інших «одиниць». Значення можуть бути кількома одиницями, розділеними пробілами. Якщо поточна «одиниця» активована, значення, наведені тут, також активуються. Якщо принаймні одне з перелічених значень "одиниці" не вдається успішно активувати, `systemd` не запускає поточний "блок".
+ - `Wants=sshd-keygen.target`. Подібно до ключа `Requires`. Різниця в тому, що якщо залежний блок не запускається, це не вплине на нормальну роботу поточного «блока».
+ - `BindsTo=`. Подібно до ключа `Requires`. Різниця полягає в тому, що якщо будь-який залежний "блок" не запускається, поточний блок зупиняється на додаток до "блоку", який зупиняє залежність.
+ - `PartOf=`. Подібно до ключа `Requires`. Різниця полягає в тому, що якщо будь-який залежний «блок» не запускається, окрім зупинки та перезапуску залежних блоків, поточний «блок» буде зупинено та перезапущено.
+ - `Conflicts=`. Його значенням є список одиниць, розділених пробілами. Якщо «одиниця», зазначена у значенні, працює, поточна «одиниця» працювати не може.
+ - `OnFailure=`. Коли поточна «одиниця» виходить з ладу, активується «одиниця» або «одиниці» (відокремлені пробілами) у значенні.
- Дивись `man 5 systemd.unit`.
+ Дивись `man 5 systemd.unit`.
2. Назва служби
- Можна використовувати наступні пари ключ-значення:
-
- - `Type=notify`. Налаштуйте тип цього блоку ".service", який може бути одним із таких:
- - `simple` - Сервіс запускається як основний процес. Це значення за умовчанням.
- - `forking` - Служба викликає роздвоєні процеси та працює як частина основного демона.
- - `exec` - Схожий до `simple`. Менеджер служби запустить цей блок одразу після виконання двійкового файлу основної служби. Інші підрозділи-наступники повинні залишатися заблокованими до цього моменту, перш ніж вони зможуть продовжити роботу.
- - `oneshot` - Подібно до `simple`, за винятком того, що процес має завершитися, перш ніж `systemd` запустить наступні служби.
- - `dbus` - Подібно до `simple`, за винятком того, що демон отримує назву шини D-Bus.
- - `notify` - Подібно до `simple`, за винятком того, що демон надсилає сповіщення за допомогою `sd_notify` або еквівалентного виклику після запуску.
- - `idle` - Подібно до «simple», за винятком того, що виконання служби відкладено, доки не буде відправлено всі активні завдання.
- - `RemainAfterExit=`. Чи слід вважати поточну службу активною, коли завершуються всі процеси служби. За замовчуванням ні.
- - `GuessMainPID=`. Значення має тип boolean і за замовчуванням yes. За відсутності чіткого розташування основного процесу служби, `systemd` має вгадати PID основного процесу (який може бути неправильним). Якщо ви встановите `Type=forking` і не встановите `PIDFile`, ця пара ключ-значення вступить у силу. В іншому випадку ігноруйте пару ключ-значення.
- - `PIDFile=`. Вкажіть шлях до файлу (абсолютний шлях) PID служби. Для служб `Type=forking` рекомендується використовувати цю пару ключ-значення. `systemd` зчитує PID основного процесу демона після запуску служби.
- - `BusName=`. Назва шини D-Bus, щоб дістатися до цієї служби. Цей параметр є обов’язковим для служб, де використовується `Type=dbus`.
- - `ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY`. Команди та аргументи виконуються під час запуску служби.
- - `ExecStartPre=`. Інші команди виконуються перед командами в `ExecStart`.
- - `ExecStartPost=`. Інші команди виконуються після команд у `ExecStart`.
- - `ExecReload=/bin/kill -HUP $MAINPID`. Команди та аргументи запускаються під час перезавантаження служби.
- - `ExecStop=`. Команди та аргументи запускаються, коли служба зупиняється.
- - `ExecStopPost=`. Додаткові команди для запуску після зупинки служби.
- - `RestartSec=42s`. Час у секундах до переходу в режим сну перед перезапуском служби.
- - `TimeoutStartSec=`. Час очікування запуску служби в секундах.
- - `TimeoutStopSec=`. Час у секундах очікування зупинки служби.
- - `TimeoutSec=`. Скорочення для одночасного налаштування `TimeoutStartSec` і `TimeoutStopSec`.
- - `RuntimeMaxSec=`. Максимальний час роботи служби в секундах. Передає `infinity` (за замовчуванням), щоб не налаштувати обмеження часу виконання.
- - `Restart=on-failure`. Налаштовує, чи потрібно перезапускати службу, коли процес служби завершується, завершується або досягає тайм-ауту:
- - `no` - Служба не буде перезапущена. Це значення за умовчанням.
- - `on-success` - Перезапускається лише тоді, коли сервісний процес закінчується чисто (код виходу 0).
- - `on-failure` - Перезапускається лише тоді, коли процес обслуговування не завершується належним чином (код виходу node-zero).
- - `on-abnormal` - Перезапускається, якщо процес завершується сигналом або коли настає тайм-аут.
- - `on-abort` - Перезапускається, якщо процес завершується через неперехоплений сигнал, не вказаний як чистий статус виходу.
- - `on-watchdog` - Якщо встановлено значення `on-watchdog`, служба перезапуститься лише після закінчення тайм-ауту сторожового таймера.
- - `always` - Завжди перезапускається.
-
- Причини виходу та вплив на них налаштувань `Restart=`:
-
- 
-
- - `KillMode=process`. Визначає, як процеси цього блоку мають бути припинені. Його значення може бути одним із таких:
- - `control-group` - Значення за замовчуванням. Якщо встановлено значення `control-group`, усі решта процесів у групі керування цього блоку припиняються під час зупинки блоку.
- - `process` - Знищується лише основний процес.
- - `mixed` - Сигнал SIGTERM надсилається головному процесу, тоді як наступний сигнал SIGKILL надсилається всім іншим процесам групи керування блоком.
- - `none` - Не вбиває жодних процесів.
- - `PrivateTmp=`. Чи використовувати приватний каталог tmp. Виходячи з певної безпеки, рекомендовано встановити значення так.
- - `ProtectHome=`. Чи захищати домашній каталог. Його значення може бути одним із таких:
- - `yes` - Три каталоги (/root/, /home/, /run/user/) не видимі для пристрою.
- - `no` - Три каталоги видимі для пристрою.
- - `read-only` - Три каталоги доступні лише для читання.
- - `tmpfs` - Тимчасова файлова система буде змонтована в режимі лише для читання в цих трьох каталогах.
- - `ProtectSystem=`. Каталог використовується для захисту системи від модифікації службою. Значення може бути:
- - `yes` - Вказує, що процес, викликаний модулем, буде змонтовано лише для читання до каталогів /usr/ і /boot/.
- - `no` - За замовченням
- - `full` - Вказує, що каталоги /usr/, /boot/, /etc/ монтуються лише для читання.
- - `strict` - Усі файлові системи монтуються лише для читання (за винятком каталогів віртуальних файлових систем, таких як /dev/, /proc/ і /sys/).
- - `EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config`. Читання змінних середовища з текстового файлу. «-» означає, що якщо файл не існує, він не буде прочитаний, а помилки чи попередження не реєструватимуться.
-
- Дивись `man 5 systemd.service`.
+ Можна використовувати наступні пари ключ-значення:
+
+ - `Type=notify`. Налаштуйте тип цього блоку ".service", який може бути одним із таких:
+ - `simple` - Сервіс запускається як основний процес. Це значення за умовчанням.
+ - `forking` - Служба викликає роздвоєні процеси та працює як частина основного демона.
+ - `exec` - Схожий до `simple`. Менеджер служби запустить цей блок одразу після виконання двійкового файлу основної служби. Інші підрозділи-наступники повинні залишатися заблокованими до цього моменту, перш ніж вони зможуть продовжити роботу.
+ - `oneshot` - Подібно до `simple`, за винятком того, що процес має завершитися, перш ніж `systemd` запустить наступні служби.
+ - `dbus` - Подібно до `simple`, за винятком того, що демон отримує назву шини D-Bus.
+ - `notify` - Подібно до `simple`, за винятком того, що демон надсилає сповіщення за допомогою `sd_notify` або еквівалентного виклику після запуску.
+ - `idle` - Подібно до «simple», за винятком того, що виконання служби відкладено, доки не буде відправлено всі активні завдання.
+ - `RemainAfterExit=`. Чи слід вважати поточну службу активною, коли завершуються всі процеси служби. За замовчуванням ні.
+ - `GuessMainPID=`. Значення має тип boolean і за замовчуванням yes. За відсутності чіткого розташування основного процесу служби, `systemd` має вгадати PID основного процесу (який може бути неправильним). Якщо ви встановите `Type=forking` і не встановите `PIDFile`, ця пара ключ-значення вступить у силу. В іншому випадку ігноруйте пару ключ-значення.
+ - `PIDFile=`. Вкажіть шлях до файлу (абсолютний шлях) PID служби. Для служб `Type=forking` рекомендується використовувати цю пару ключ-значення. `systemd` зчитує PID основного процесу демона після запуску служби.
+ - `BusName=`. Назва шини D-Bus, щоб дістатися до цієї служби. Цей параметр є обов’язковим для служб, де використовується `Type=dbus`.
+ - `ExecStart=/usr/sbin/sshd -D $OPTIONS $CRYPTO_POLICY`. Команди та аргументи виконуються під час запуску служби.
+ - `ExecStartPre=`. Інші команди виконуються перед командами в `ExecStart`.
+ - `ExecStartPost=`. Інші команди виконуються після команд у `ExecStart`.
+ - `ExecReload=/bin/kill -HUP $MAINPID`. Команди та аргументи запускаються під час перезавантаження служби.
+ - `ExecStop=`. Команди та аргументи запускаються, коли служба зупиняється.
+ - `ExecStopPost=`. Додаткові команди для запуску після зупинки служби.
+ - `RestartSec=42s`. Час у секундах до переходу в режим сну перед перезапуском служби.
+ - `TimeoutStartSec=`. Час очікування запуску служби в секундах.
+ - `TimeoutStopSec=`. Час у секундах очікування зупинки служби.
+ - `TimeoutSec=`. Скорочення для одночасного налаштування `TimeoutStartSec` і `TimeoutStopSec`.
+ - `RuntimeMaxSec=`. Максимальний час роботи служби в секундах. Передає `infinity` (за замовчуванням), щоб не налаштувати обмеження часу виконання.
+ - `Restart=on-failure`. Налаштовує, чи потрібно перезапускати службу, коли процес служби завершується, завершується або досягає тайм-ауту:
+ - `no` - Служба не буде перезапущена. Це значення за умовчанням.
+ - `on-success` - Перезапускається лише тоді, коли сервісний процес закінчується чисто (код виходу 0).
+ - `on-failure` - Перезапускається лише тоді, коли процес обслуговування не завершується належним чином (код виходу node-zero).
+ - `on-abnormal` - Перезапускається, якщо процес завершується сигналом або коли настає тайм-аут.
+ - `on-abort` - Перезапускається, якщо процес завершується через неперехоплений сигнал, не вказаний як чистий статус виходу.
+ - `on-watchdog` - Якщо встановлено значення `on-watchdog`, служба перезапуститься лише після закінчення тайм-ауту сторожового таймера.
+ - `always` - Завжди перезапускається.
+
+ Причини виходу та вплив на них налаштувань `Restart=`:
+
+ 
+
+ - `KillMode=process`. Визначає, як процеси цього блоку мають бути припинені. Його значення може бути одним із таких:
+ - `control-group` - Значення за замовчуванням. Якщо встановлено значення `control-group`, усі решта процесів у групі керування цього блоку припиняються під час зупинки блоку.
+ - `process` - Знищується лише основний процес.
+ - `mixed` - Сигнал SIGTERM надсилається головному процесу, тоді як наступний сигнал SIGKILL надсилається всім іншим процесам групи керування блоком.
+ - `none` - Не вбиває жодних процесів.
+ - `PrivateTmp=`. Чи використовувати приватний каталог tmp. Виходячи з певної безпеки, рекомендовано встановити значення так.
+ - `ProtectHome=`. Чи захищати домашній каталог. Його значення може бути одним із таких:
+ - `yes` - Три каталоги (/root/, /home/, /run/user/) не видимі для пристрою.
+ - `no` - Три каталоги видимі для пристрою.
+ - `read-only` - Три каталоги доступні лише для читання.
+ - `tmpfs` - Тимчасова файлова система буде змонтована в режимі лише для читання в цих трьох каталогах.
+ - `ProtectSystem=`. Каталог використовується для захисту системи від модифікації службою. Значення може бути:
+ - `yes` - Вказує, що процес, викликаний модулем, буде змонтовано лише для читання до каталогів /usr/ і /boot/.
+ - `no` - За замовченням
+ - `full` - Вказує, що каталоги /usr/, /boot/, /etc/ монтуються лише для читання.
+ - `strict` - Усі файлові системи монтуються лише для читання (за винятком каталогів віртуальних файлових систем, таких як /dev/, /proc/ і /sys/).
+ - `EnvironmentFile=-/etc/crypto-policies/back-ends/opensshserver.config`. Читання змінних середовища з текстового файлу. «-» означає, що якщо файл не існує, він не буде прочитаний, а помилки чи попередження не реєструватимуться.
+
+ Дивись `man 5 systemd.service`.
3. Назва установки
- - `Alias=`. Список додаткових імен, розділених пробілами. Увага, будь ласка! Ваша додаткова назва повинна мати той самий тип (суфікс), що й поточна одиниця.
+ - `Alias=`. Список додаткових імен, розділених пробілами. Увага, будь ласка! Ваша додаткова назва повинна мати той самий тип (суфікс), що й поточна одиниця.
- - `RequiredBy=` or `WantedBy=multi-user.target`. Визначте одиницю поточної операції як залежність одиниці від значення. Після завершення визначення ви зможете знайти відповідні файли в каталозі /etc/systemd/systemd/. Наприклад:
+ - `RequiredBy=` or `WantedBy=multi-user.target`. Визначте одиницю поточної операції як залежність одиниці від значення. Після завершення визначення ви зможете знайти відповідні файли в каталозі /etc/systemd/systemd/. Наприклад:
- ```bash
- Shell > systemctl is-enabled chronyd.service
- enabled
+ ```bash
+ Shell > systemctl is-enabled chronyd.service
+ enabled
- Shell > systemctl cat chronyd.service
- ...
- [Install]
- WantedBy=multi-user.target
+ Shell > systemctl cat chronyd.service
+ ...
+ [Install]
+ WantedBy=multi-user.target
- Shell > ls -l /etc/systemd/system/multi-user.target.wants/
- total 0
- lrwxrwxrwx. 1 root root 38 Sep 25 14:03 auditd.service -> /usr/lib/systemd/system/auditd.service
- lrwxrwxrwx. 1 root root 39 Sep 25 14:03 chronyd.service -> /usr/lib/systemd/system/chronyd.service ←←
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 crond.service -> /usr/lib/systemd/system/crond.service
- lrwxrwxrwx. 1 root root 42 Sep 25 14:03 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 kdump.service -> /usr/lib/systemd/system/kdump.service
- lrwxrwxrwx. 1 root root 46 Sep 25 14:03 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
- lrwxrwxrwx. 1 root root 40 Sep 25 14:03 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
- lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sshd.service -> /usr/lib/systemd/system/sshd.service
- lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sssd.service -> /usr/lib/systemd/system/sssd.service
- lrwxrwxrwx. 1 root root 37 Sep 25 14:03 tuned.service -> /usr/lib/systemd/system/tuned.service
- ```
+ Shell > ls -l /etc/systemd/system/multi-user.target.wants/
+ total 0
+ lrwxrwxrwx. 1 root root 38 Sep 25 14:03 auditd.service -> /usr/lib/systemd/system/auditd.service
+ lrwxrwxrwx. 1 root root 39 Sep 25 14:03 chronyd.service -> /usr/lib/systemd/system/chronyd.service ←←
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 crond.service -> /usr/lib/systemd/system/crond.service
+ lrwxrwxrwx. 1 root root 42 Sep 25 14:03 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 kdump.service -> /usr/lib/systemd/system/kdump.service
+ lrwxrwxrwx. 1 root root 46 Sep 25 14:03 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
+ lrwxrwxrwx. 1 root root 40 Sep 25 14:03 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
+ lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sshd.service -> /usr/lib/systemd/system/sshd.service
+ lrwxrwxrwx. 1 root root 36 Sep 25 14:03 sssd.service -> /usr/lib/systemd/system/sssd.service
+ lrwxrwxrwx. 1 root root 37 Sep 25 14:03 tuned.service -> /usr/lib/systemd/system/tuned.service
+ ```
- - `Also=`. Інші пристрої для встановлення або видалення під час встановлення або видалення цього пристрою.
+ - `Also=`. Інші пристрої для встановлення або видалення під час встановлення або видалення цього пристрою.
- На додаток до сторінок посібника, згаданих вище, ви також можете ввести `man 5 systemd.exec` або `man 5 systemd.kill`, щоб отримати доступ до іншої інформації.
+ На додаток до сторінок посібника, згаданих вище, ви також можете ввести `man 5 systemd.exec` або `man 5 systemd.kill`, щоб отримати доступ до іншої інформації.
## Команда, пов'язана з іншими компонентами
diff --git a/docs/books/admin_guide/17-log.it.md b/docs/books/admin_guide/17-log.it.md
new file mode 100644
index 0000000000..98d4a1d382
--- /dev/null
+++ b/docs/books/admin_guide/17-log.it.md
@@ -0,0 +1,607 @@
+---
+title: Gestione del log
+author: tianci li
+contributors: Ganna Zhyrnova, Steven Spencer
+tags:
+ - rsyslog
+ - journald
+---
+
+## Panoramica di base
+
+In questo capitolo si spiega come gestire i registri nel sistema operativo.
+
+**Q: Che cos'è un registro?**
+
+**Log**:Registra tutti gli eventi e i messaggi che si verificano dall'avvio del sistema operativo, compresi i registri di avvio, i registri di inizializzazione del kernel, i registri di inizializzazione di `systemd` e i registri di avvio o esecuzione delle applicazioni. Il registro è una delle funzioni più importanti del sistema operativo. Gli amministratori possono interrogare i registri per risolvere problemi esistenti o futuri.
+
+In RHEL 8.x e RHEL 9.x, la raccolta dei log è completata principalmente dai due programmi seguenti:
+
+- **rsyslog** - Un programma che raccoglie ed elabora rapidamente i log. È una versione aggiornata di `syslog`. [Questo è il suo sito ufficiale](https://www.rsyslog.com/)
+- **journald** - Uno dei componenti di `systemd`
+
+## rsyslog
+
+In Rocky Linux 8.x o 9.x, ci sono vari file di log nella directory **/var/log/**. Impariamo a conoscerli:
+
+- `/var/log/boot.log` - Registra gli eventi che si verificano durante l'avvio del sistema operativo. Il contenuto del file è testo normale.
+- `/var/log/btmp` - Registra il log degli errori di accesso. Per visualizzare questo file binario, utilizzare il comando `lastb`.
+- `/var/log/cron` - Registra i log relativi alle attività pianificate del sistema. Il contenuto del file è testo normale.
+- `/var/log/dmegs` - Registra il log dell'autoverifica del kernel dopo l'avvio. Il contenuto del file è testo normale. È anche possibile utilizzare il comando `dmegs` per visualizzare.
+- `/var/log/lastlog` - Registra l'orario dell'ultimo accesso di tutti gli utenti del sistema operativo. Per visualizzare questo binario è necessario utilizzare il comando `lastlog`.
+- `/var/log/maillog` - Registra i log relativi alla posta elettronica.
+- `/var/log/messages` - Il file di log a livello di sistema registra il cuore del sistema operativo. Il contenuto del file è testo normale. Quando si verificano alcuni errori nel sistema operativo, è necessario innanzitutto visualizzare il file di registro.
+- `/var/log/secure` - Registra i log relativi all'identità dell'utente, come il login dell'utente, il passaggio a `su`, l'aggiunta di un nuovo utente, la modifica della password dell'utente e così via.
+- `/var/log/wtmp` - Registra gli eventi di login e logout degli utenti e gli eventi di avvio, spegnimento e riavvio del sistema operativo. Per visualizzare questo file binario, utilizzare il comando `last`.
+
+Per i file di testo semplice, il formato è solitamente:
+
+1. Data in cui si è verificato l'evento
+2. Su quale macchina si è verificato l'evento
+3. Il nome del servizio o del programma che ha generato l'evento.
+4. Descrizione e spiegazione specifiche dell'evento
+5. Informazioni sull'utente e sul terminale
+6. Alcune parole chiave (come error, fail, info, ecc.)
+
+Il formato dei registri per scopi diversi varia notevolmente, pertanto la descrizione del formato sopra riportata non può rappresentare tutti i registri.
+
+Se `rsyslog` non è presente nel sistema operativo, eseguire il seguente comando:
+
+```bash
+Shell > dnf install -y rsyslog
+```
+
+### File di configurazione
+
+- `/etc/rsyslog.conf` - File di configurazione principale
+- `/etc/rsyslog.d/` - Directory di archiviazione dei file di configurazione aggiuntivi
+
+\`/etc/rsyslog.conf' è composto principalmente da diverse parti:
+
+1. Load module
+2. Direttive globali
+3. Regole - L'autore le illustra in dettaglio.
+
+Dopo decenni di sviluppo, `rsyslog` supporta attualmente tre diversi formati di configurazione:
+
+1. basic (sysklogd) - Questo formato è adatto a rappresentare la configurazione di base in una singola riga.
+
+ ```
+ mail.info /var/log/mail.log
+ mail.err @@server.example.net
+ ```
+
+2. advanced (RainerScript) - Formato di configurazione altamente flessibile e preciso.
+
+ ```
+ mail.err action(type="omfwd" protocol="tcp" queue.type="linkedList")
+ ```
+
+3. obsolete legacy (legacy) - Questo formato è stato deprecato. Non continuate a usarlo.
+
+#### Regole
+
+Il contenuto predefinito di questa sezione è il seguente:
+
+```
+*.info;mail.none;authpriv.none;cron.none /var/log/messages
+
+authpriv.* /var/log/secure
+
+mail.* -/var/log/maillog
+
+cron.* /var/log/cron
+
+*.emerg :omusrmsg:*
+
+uucp,news.crit /var/log/spooler
+
+local7.* /var/log/boot.log
+```
+
+Ogni linea di regole è composta da due parti:
+
+1. campo selettore - Composto da strutture e priorità
+2. campo d'azione - Come si desidera gestire questi messaggi di corrispondenza
+
+I campi sono separati tra loro da uno o più spazi.
+
+| Struttura | Descrizione |
+| -------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `auth` | Registra gli eventi relativi alla sicurezza del sistema, all'autenticazione degli utenti e alla gestione delle autorizzazioni |
+| `authpriv` | Registra gli eventi di sicurezza più sensibili (come le operazioni `sudo`). "priv" equivale a privato |
+| `cron` | Registra gli eventi relativi alle attività pianificate |
+| `daemon` | Registra il log di funzionamento del demone di sistema, che comprende l'avvio del servizio, lo stato di funzionamento e le informazioni sugli errori |
+| `ftp` | Registra i log delle operazioni relative ai servizi FTP (come `vsftpd` e `proftpd`), comprese le informazioni sulla connessione, sul trasferimento dei file e sugli errori |
+| `kern` | Registra il log generato durante l'esecuzione del kernel Linux, coprendo gli eventi principali come i driver hardware, i moduli del kernel e le eccezioni di sistema |
+| `lpr` | Registra il log di funzionamento del servizio di stampa, che comprende l'invio delle attività di stampa, la gestione delle code e le informazioni sugli errori |
+| `mail` | Registra le informazioni di log dei servizi di posta (come Postfix e Sendmail), compresi l'invio, la ricezione, l'elaborazione delle code e gli eventi di errore |
+| `news` | Utilizzato raramente |
+| `security` | come `auth` |
+| `syslog` | Registra i log generati dal servizio `syslog` |
+| `user` | Registra le informazioni generate dalle applicazioni dello spazio utente o dagli utenti |
+| `uucp` | Registra i log delle operazioni relative al protocollo di copia da Unix a Unix (UUCP), compresi il trasferimento di file, l'esecuzione di comandi remoti e altri scenari |
+| `local0` | Riservato |
+| `local1` | Riservato |
+| .... | Riservato |
+| `local7` | Riservato |
+
+`*` rappresenta tutte le strutture. Si possono anche usare `,` e `;` per combinare le strutture in una configurazione a riga singola. `,` rappresenta l'or logico; `;` rappresenta il delimitatore della regola.
+
+```bash
+auth,authpriv.* /var/log/auth.log
+
+# Equivalent to
+
+auth.* /var/log/auth.log
+authpriv.* /var/log/auth.log
+```
+
+```bash
+kern.err;mail.alert /var/log/critical.log
+```
+
+| Connettore | Descrizione |
+| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `.` | Registra i log con una priorità maggiore rispetto alle parole chiave. Per esempio, `cron.info` significa che registrerà in `cron` la cui priorità di log è maggiore di info |
+| `.=` | Registra solo la priorità della parola chiave corrispondente. Ad esempio, `*.=emerg` indica che registrerà i registri con priorità pari a `emerg` in tutte le applicazioni |
+| `.!` | Significa escluso o non uguale a |
+
+Le priorità sono ordinate dal basso all'alto:
+
+| Nome | Descrizione |
+| --------- | -------------------------------------------------------------------------------------------------------------------------------- |
+| `debug` | Informazioni generali sul debug |
+| `info` | Informazioni di base sulla notifica |
+| `notice` | Informazioni generali di una certa importanza |
+| `warning` | Messaggio di avviso, questo tipo di informazione non può influire sul normale funzionamento del sistema operativo o del servizio |
+| `err` | Messaggi di errore che possono compromettere il normale funzionamento del sistema operativo e dei servizi |
+| `crit` | Uno stato critico più grave di "err" |
+| `alert` | Lo stato di allerta è più grave di "crit" e l'amministratore di sistema deve occuparsene immediatamente |
+| `emerg` | Uno stato di emergenza in cui il sistema operativo è normalmente inutilizzabile |
+
+`*` rappresenta tutte le priorità del registro.
+
+Più bassa è la priorità del registro, più dettagliato è il contenuto registrato e più bassa è la gravità. Più alta è la priorità del registro, meno contenuti vengono registrati e più grave è il problema.
+
+"azione" si riferisce a dove salvare o inviare il registro:
+
+- `/var/log/secure` - Salva il log in un file locale
+- `@192.168.100.20:22` - Macchina remota
+- `:omusrmsg:root,frank,jack` - Specifica l'elenco degli utenti online. `*` rappresenta tutti gli utenti. "omusrmsg" si riferisce al "modulo di uscita per i messaggi dell'utente".
+- `/dev/tty12` - Dispositivi terminali specifici
+- `-` - Disabilita il meccanismo di buffering durante la scrittura su file
+
+### Rotazione del registro
+
+**Rotazione dei log** - La rotazione dei log risolve i problemi di occupazione dello spazio di archiviazione e di degrado delle prestazioni causati dalla continua crescita dei file di log. Le funzioni specifiche sono:
+
+- **Rotazione** - Archivia automaticamente il file di registro corrente in base a regole specifiche (come il tempo o la dimensione del file) e crea un nuovo file di registro vuoto per la registrazione per evitare che il file di registro sia troppo grande.
+- **Compressione** - Comprime i vecchi registri archiviati per risparmiare spazio su disco.
+- **Elimina** - Conserva i file di registro pertinenti ed elimina quelli vecchi e scaduti in base alle politiche pertinenti.
+
+Spesso si usa lo strumento `logrotate` per ruotare i log.
+
+Regole di denominazione per i file di registro durante la rotazione:
+
+- Parametro `dateext` - Utilizza la data come suffisso del file per la rotazione dei registri. Ad esempio, durante la prima rotazione dei log, il vecchio file di log "secure" cambierà in "secure-20250424" e `logrotate` creerà un nuovo file "secure"
+- Nessun parametro `dateetx` - Utilizza i numeri di rotazione come suffisso del file dopo la rotazione del registro. Ad esempio, quando si verifica la prima rotazione dei registri, il vecchio file di registro "secure" cambia in "secure.1" e `logrotate` crea un nuovo file "secure"
+
+#### /etc/logrotate.conf and /etc/logrotate.d/
+
+```bash
+Shell > grep -v -E "^#|^$" /etc/logrotate.conf
+weekly
+rotate 4
+create
+dateext
+include /etc/logrotate.d
+
+Shell > ls -l /etc/logrotate.d/
+-rw-r--r-- 1 root root 130 Feb 7 2023 btmp
+-rw-r--r--. 1 root root 160 Dec 5 2023 chrony
+-rw-r--r--. 1 root root 88 Apr 12 2021 dnf
+-rw-r--r-- 1 root root 93 Mar 11 17:29 firewalld
+-rw-r--r--. 1 root root 162 Apr 16 19:49 kvm_stat
+-rw-r--r-- 1 root root 289 Dec 18 01:38 sssd
+-rw-r--r-- 1 root root 226 Nov 5 15:43 syslog
+-rw-r--r-- 1 root root 145 Feb 19 2018 wtmp
+```
+
+**/etc/logrotate.conf** - Profilo globale per la rotazione dei registri. Se le voci di configurazione o i parametri si sovrappongono, prevarranno le voci di configurazione o i parametri letti per ultimi. Ordine di lettura:
+
+1. Leggere il contenuto del file **/etc/logrotate.conf** da cima a fondo
+2. File inclusi utilizzando la parola chiave "include"
+
+Le voci o i parametri di configurazione più comuni sono:
+
+| items | descrizione |
+| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `daily` | Definisce il ciclo di rotazione dei registri in giorni |
+| `weekly` | Definisce il ciclo di rotazione dei log in settimane |
+| `monthly` | Definisce il ciclo di rotazione dei log in mesi |
+| `rotate ` | Il numero di file salvati dopo la rotazione dei registri |
+| `compress` | La compressione dei vecchi registri avviene dopo la rotazione dei registri |
+| `create ` | Dopo la rotazione dei log, definire il proprietario, il gruppo e le autorizzazioni del nuovo file di log |
+| `mail ` | Dopo la rotazione dei log, inviare il contenuto dell'output via e-mail all'indirizzo di posta elettronica specificato |
+| `missingok` | Se il file di log non esiste, vengono ignorate le informazioni di avviso nel log |
+| `notifempty` | Se il contenuto del file di registro è vuoto, non si verifica alcuna rotazione del registro |
+| `minsize ` | La condizione di dimensione del file per la rotazione dei registri, cioè la rotazione dei registri avviene solo quando soddisfa questa condizion |
+| `dateext` | Utilizza la data come suffisso del file per la rotazione dei log |
+
+Se si installa il pacchetto software dal repository, il manutentore del pacchetto software definisce la rotazione dei log dell'applicazione e gli utenti di solito non devono modificare le regole di rotazione dei log. Se si installa l'applicazione compilando il codice sorgente, è necessario considerare e configurare manualmente la rotazione dei log.
+
+#### comando \`logrotate
+
+L'uso è `logrotate [OPTION...] `
+
+- `-v` - Visualizza il processo di rotazione dei registri
+- `-f` - L'applicazione della rotazione dei registri avviene indipendentemente dal fatto che le condizioni per la rotazione dei registri siano soddisfatte o meno
+
+```bash
+Shell > logrotate -v /etc/logrotate.conf
+reading config file /etc/logrotate.conf
+including /etc/logrotate.d
+reading config file btmp
+reading config file chrony
+reading config file dnf
+reading config file firewalld
+reading config file kvm_stat
+reading config file sssd
+reading config file syslog
+reading config file wtmp
+Reading state from file: /var/lib/logrotate/logrotate.status
+Allocating hash table for state file, size 64 entries
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+Creating new state
+
+Handling 8 logs
+
+rotating pattern: /var/log/btmp monthly (1 rotations)
+empty log files are rotated, old logs are removed
+considering log /var/log/btmp
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-04 12:08
+ log does not need rotating (log has been rotated at 2025-4-4 12:8, that is not month ago yet)
+
+rotating pattern: /var/log/chrony/*.log weekly (4 rotations)
+empty log files are rotated, old logs are removed
+considering log /var/log/chrony/*.log
+ log /var/log/chrony/*.log does not exist -- skipping
+not running postrotate script, since no logs were rotated
+
+rotating pattern: /var/log/hawkey.log weekly (4 rotations)
+empty log files are not rotated, old logs are removed
+considering log /var/log/hawkey.log
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+
+rotating pattern: /var/log/firewalld weekly (4 rotations)
+empty log files are rotated, only log files >= 1048576 bytes are rotated, old logs are removed
+considering log /var/log/firewalld
+ Now: 2025-04-24 12:35
+ Last rotated at 2024-05-20 13:00
+ log does not need rotating ('minsize' directive is used and the log size is smaller than the minsize value)
+
+rotating pattern: /var/log/kvm_stat.csv 10485760 bytes (5 rotations)
+empty log files are rotated, old logs are removed
+considering log /var/log/kvm_stat.csv
+ log /var/log/kvm_stat.csv does not exist -- skipping
+
+rotating pattern: /var/log/sssd/*.log weekly (2 rotations)
+empty log files are not rotated, old logs are removed
+considering log /var/log/sssd/sssd_implicit_files.log
+ Now: 2025-04-24 12:35
+ Last rotated at 2024-05-26 12:42
+ log does not need rotating (log is empty)
+considering log /var/log/sssd/sssd_kcm.log
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-02-08 13:49
+ log does not need rotating (log is empty)
+considering log /var/log/sssd/sssd.log
+ Now: 2025-04-24 12:35
+ Last rotated at 2024-05-26 12:42
+ log does not need rotating (log is empty)
+considering log /var/log/sssd/sssd_nss.log
+ Now: 2025-04-24 12:35
+ Last rotated at 2024-05-26 12:42
+ log does not need rotating (log is empty)
+not running postrotate script, since no logs were rotated
+
+rotating pattern: /var/log/cron
+/var/log/maillog
+/var/log/messages
+/var/log/secure
+/var/log/spooler
+ weekly (4 rotations)
+empty log files are rotated, old logs are removed
+considering log /var/log/cron
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+considering log /var/log/maillog
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+considering log /var/log/messages
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+considering log /var/log/secure
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+considering log /var/log/spooler
+ Now: 2025-04-24 12:35
+ Last rotated at 2025-04-19 09:11
+ log does not need rotating (log has been rotated at 2025-4-19 9:11, that is not week ago yet)
+not running postrotate script, since no logs were rotated
+
+rotating pattern: /var/log/wtmp monthly (1 rotations)
+empty log files are rotated, only log files >= 1048576 bytes are rotated, old logs are removed
+considering log /var/log/wtmp
+ Now: 2025-04-24 12:35
+ Last rotated at 2024-05-20 13:00
+ log does not need rotating ('minsize' directive is used and the log size is smaller than the minsize value)
+```
+
+## journald
+
+`systemd` è un'applicazione utilizzata per l'inizializzazione e si occupa di molti componenti del sistema. Usare `journald` in `systemd` per rilevare il contenuto del log.
+
+`journald` è il demone di `systemd` che si occupa dei registri. È necessario utilizzare il comando `journalctl` per leggere i log.
+
+Si noti che `journald` non abilita la persistenza dei registri per impostazione predefinita, il che significa che conserva e registra solo tutti i registri dall'avvio. Dopo il riavvio del sistema operativo, si verifica l'eliminazione dei registri storici. Tutti i file di registro salvati temporaneamente si trovano per impostazione predefinita nella directory **/run/log/journal/**.
+
+```bash
+Shell > tree -hugp /run/log/journal/638c6d5d2b674f77be56174469099106/
+/run/log/journal/638c6d5d2b674f77be56174469099106/
+└── [-rw-r----- root systemd-journal 8.0M] system.journal
+
+0 directories, 1 file
+```
+
+Questo file temporaneo è binario. È necessario utilizzare il comando `journalctl` per analizzarlo.
+
+`journald` può registrare:
+
+- boot log
+- kernel log
+- application log
+
+`journald` contrassegna i registri in base a **priorità** e **struttura**:
+
+- **priorità** - L'importanza della marcatura dei registri. Come per `rsyslog`, più alta è la priorità, meno informazioni vengono registrate e più grave è il problema. Più bassa è la priorità, più informazioni vengono registrate e più leggero è il problema. Ordinato per priorità, da bassa a alta:
+
+ | Codice numerico | priorità | parole chiave |
+ | :-------------- | :------------ | :------------ |
+ | 7 | Debug | `debug` |
+ | 6 | Informational | `info` |
+ | 5 | Notice | `notice` |
+ | 4 | Warning | `warning` |
+ | 3 | Errore | `err` |
+ | 2 | Critical | `crit` |
+ | 1 | Alert | `alert` |
+ | 0 | Emergency | `emerg` |
+
+- **struttura** - Questa tabella mostra la struttura:
+
+ | Codice numerico | struttura |
+ | :-------------- | :--------- |
+ | 0 | `kern` |
+ | 1 | `user` |
+ | 2 | `mail` |
+ | 3 | `daemon` |
+ | 4 | `auth` |
+ | 5 | `syslog` |
+ | 6 | `lpr` |
+ | 7 | `news` |
+ | 8 | `uucp` |
+ | 9 | |
+ | 10 | `authpriv` |
+ | 11 | `ftp` |
+ | 12 | |
+ | 13 | |
+ | 14 | |
+ | 15 | `cron` |
+ | 16 | `local0` |
+ | 17 | `local1` |
+ | 18 | `local2` |
+ | 19 | `local3` |
+ | 20 | `local4` |
+ | 21 | `local5` |
+ | 22 | `local6` |
+ | 23 | `local7` |
+
+### comando `journalctl`
+
+L'uso è `journalctl [OPTIONS...] [MATCHES...]`.
+
+Ecco un elenco delle opzioni in un elenco non ordinato:
+
+- `-u` - Specifica l''unità'; si può usare più volte in un comando a riga singola. Per esempio, `journalctl -u crond.service -u sshd.service`
+- `--system` - Mostra i messaggi dei servizi di sistema e del kernel
+- `--user` - Mostra i messaggi del servizio dell'utente corrente
+- `-k` - Mostra il registro dei messaggi del kernel dall'avvio corrente
+- `--since=DATA` o `-S` - Mostra le voci che non sono più vecchie della data specificata. Il formato della data è "AAAA-MM-GG HH:MM:SS". Per esempio `journalctl --since="2025-04-24 14:00:30`
+- `--until=DATA` o `-U` - Mostra le voci che non sono più recenti della data specificata. Il formato della data è "AAAA-MM-GG HH:MM:SS". Ad esempio `journalctl --since="2025-04-01 05:00:10" --until="2025-04-05 18:00:30"`
+- `--list-boots` - Mostra informazioni sintetiche sugli avvii registrati
+- `-n N` - Controlla il numero di voci emesse. Se non viene specificato "N", il valore predefinito è 10
+- `-p PRIORITY` - Specifica la priorità o l'intervallo di priorità. Se si specifica una singola parola chiave di priorità del registro, verrà visualizzata questa priorità e le voci superiori a questa priorità. Ad esempio, `journalctl -p 3` o `journalctl -p err` Equivalente a `journalctl -p 0..3` o `journalctl -p emerg..err`
+- `-b` - Interroga il registro dall'inizio dell'ID di avvio corrente. Non confondere l'ID di avvio con il numero di indice dell'avvio del kernel.
+- `-f` - Log dinamico delle query, simile al comando `tail -f`
+- `-x` - Aggiunge le spiegazioni dei messaggi, se disponibili
+- `-e` - Salta alla pagina finale del log, spesso usato con l'opzione `-x`
+- `-r` - Registro inverso.
+- `--disk-usage` - Visualizza lo spazio su disco occupato dai file di log
+- `--rotate` - Richiede la rotazione immediata dei journal file
+- `--vacuum-size=BYTES` - Riduce il file di log alla dimensione specificata. Elimina gradualmente il contenuto del vecchio registro fino a raggiungere la dimensione del file specificata. I suffissi di dimensione supportati sono K, M, G, T
+- `--vacuum-time=TIME` - È possibile eliminare i vecchi record di log specificando un punto temporale, cioè cancellerà i record di log precedenti. I suffissi temporali supportati sono s, m, h, giorni, mesi, settimane, anni
+- `--vacuum-files=INT` - Indica quanti file di log riservare
+- `-N` - Elenca tutti i nomi dei campi attualmente utilizzati. Gli utenti possono utilizzare il metodo "FIELD=VALUE" per abbinare i contenuti correlati. Ad esempio, `journalctl _SYSTEMD_UNIT=sshd.service`.
+- `-g` o `-grep=PATTERN` - Corrisponde al contenuto del registro attraverso uno schema e supporta le espressioni regolari. Se PATTERN è tutto minuscolo, il contenuto del registro non è sensibile alle maiuscole per impostazione predefinita. È possibile regolare la sensibilità alle maiuscole attraverso l'opzione `--case-sensitive`
+- `--case-sensitive=[BOOLEAN]` - Regola la sensibilità alle maiuscole.
+- `-o` o `--output=STRING` - Cambia la modalità di output di `journalctl`. Una STRING può essere short, short-precise, short-iso, short-iso-precise, short-full, short-monotonic, short-unix, verbose, export, json, json-pretty, json-sse, cat, e with-unit
+- `-q` o `--quiet` - Output silenzioso
+- `--sync` - Sincronizza i messaggi del journal non scritti su disco
+
+### /etc/systemd/journald.conf
+
+```bash
+Shell > cat /etc/systemd/journald.conf
+[Journal]
+#Storage=auto
+#Compress=yes
+#Seal=yes
+#SplitMode=uid
+#SyncIntervalSec=5m
+#RateLimitIntervalSec=30s
+#RateLimitBurst=10000
+#SystemMaxUse=
+#SystemKeepFree=
+#SystemMaxFileSize=
+#SystemMaxFiles=100
+#RuntimeMaxUse=
+#RuntimeKeepFree=
+#RuntimeMaxFileSize=
+#RuntimeMaxFiles=100
+#MaxRetentionSec=
+#MaxFileSec=1month
+#ForwardToSyslog=no
+#ForwardToKMsg=no
+#ForwardToConsole=no
+#ForwardToWall=yes
+#TTYPath=/dev/console
+#MaxLevelStore=debug
+#MaxLevelSyslog=debug
+#MaxLevelKMsg=notice
+#MaxLevelConsole=info
+#MaxLevelWall=emerg
+#LineMax=48K
+```
+
+Utilizzare "[ ]" per contenere il titolo, come per i file di configurazione di altri componenti di `systemd`, e sotto il titolo ci sono coppie chiave-valore specifiche. Nella coppia chiave-valore non ci sono **spazi su entrambi i lati del segno di uguale**. Per la pagina completa del manuale di configurazione, vedere `man 5 journald.conf`
+
+- `Storage=` - Controlla la posizione dell'archivio dati di `journald`. Il valore predefinito è auto.
+
+ - volatile - Memorizza i dati di registro in memoria, cioè nel file temporaneo situato nella directory **/run/log/journal/**.
+ - persistent - Memorizza i dati di log nella directory **/var/log/journal/**. È necessario crearla manualmente. Se questa directory non è scrivibile, i dati di log verranno scritti nella directory **/run/log/journal/**.
+ - auto - Simile a persistent
+ - none - Non salva alcun registro, ma non influisce sui registri inoltrati ad altri "targets"
+
+- `Compress=` - Se abilitare la funzione di compressione. Il valore predefinito è yes.
+
+- `Seal=` - Se usare FSS (Forward Secure Sealing) per proteggere le voci di registro da manomissioni dolose. Il valore predefinito è yes.
+
+- `SplitMode=` - Definisce la base per la suddivisione dei file di log. La precondizione (Storage=persistent) deve essere soddisfatta prima che abbia effetto. Il valore predefinito è uid.
+
+- `SyncIntervalSec=` - Definisce l'intervallo di tempo per la sincronizzazione dei dati di registro in memoria con il disco. Attenzione! Questo avviene solo per le priorità dei log err, warning, notice, info e debug. Le altre priorità di registro vengono immediatamente sincronizzate su disco. Il valore predefinito è 5m.
+
+- `RateLimitIntervalSec=` - Definisce l'intervallo di tempo per la frequenza di generazione dei registri. Il valore predefinito è 30s.
+
+- `RateLimitBurst=` - Il numero massimo di voci che il log genera in un determinato intervallo di tempo. Il valore predefinito è 10000. Se le voci di registro sono superiori a 10000 in un determinato intervallo di tempo, vengono eliminati i registri ridondanti e non vengono create nuove voci di registro fino all'intervallo di tempo successivo.
+
+- `SystemMaxUse=` - Controlla la dimensione totale di tutti i file di log nella directory **/var/log/journal/**.
+
+- `SystemKeepFree=` - Controlla quanto spazio su disco riservare alla directory **/var/log/journal/**. In base a 1024, i suffissi includono K, M, G, T, P, E
+
+- `SystemMaxFileSize=` - Limita la dimensione di un singolo file nella directory **/var/log/journal/**. Se la dimensione supera quella specificata, si verificherà una rotazione del registro
+
+- `SystemMaxFiles=` - Specifica quanti file mantenere nella directory **/var/log/journal/**. Quando supera il numero definito, cancella il registro più vecchio.
+
+- `RuntimeMaxUse=` - Controlla la dimensione totale dei dati di log nella directory **/run/log/journal/**.
+
+- `RuntimeKeepFree=` - Controlla quanto spazio riservare nella directory **/run/log/journal/**.
+
+- `RuntimeMaxFileSize=` - Controlla la dimensione di un singolo file di log nella directory **/run/log/journal/**. Quando il registro raggiunge la dimensione specificata, si verifica la rotazione del registro.
+
+- `RuntimeMaxFiles=` - Quanti file di log devono essere conservati nella directory **/run/log/journal/**.
+
+- `MaxRetentionSec=` - Definisce il tempo di conservazione dei file di log; se supera il tempo definito, cancella i vecchi file di log. Il valore 0 indica che la funzione è disattivata. Il suffisso del valore è anno, mese, settimana, giorno, h, m
+
+- `MaxFileSec=` - Rotazione del registro basata sul tempo. Poiché il polling basato sulle dimensioni dei file (`SystemMaxFileSize` e `RuntimeMaxFileSize`) esiste già, il polling dei registri basato sul tempo è solitamente inutile. Impostare su 0 per disabilitare questa funzione.
+
+- `ForwardToSyslog=` - Se inoltrare i messaggi di log raccolti al demone tradizionale `syslog`. Il valore predefinito è no.
+
+- `ForwardToKMsg=` - Se inoltrare il messaggio di log ricevuto a kmsg. Il valore predefinito è no.
+
+- `ForwardToConsole=` - Se inoltrare i messaggi di log ricevuti alla console di sistema. Il valore predefinito è no. Se è impostato su yes, è necessario configurare anche `TTYPath`
+
+- `ForwardToWall=` - Se inviare il messaggio di log ricevuto come avviso a tutti gli utenti connessi. Il valore predefinito è yes.
+
+- `TTYPath=` - Specifica il percorso della console. Richiede `ForwardToConsole=yes`. Il valore predefinito è /dev/console
+
+- `MaxLevelStore=` - Imposta il livello massimo di log registrato nel file di log. Il valore predefinito è debug
+
+- `MaxLevelSyslog=` - Imposta il livello massimo di log inoltrati al demone tradizionale `syslog`. Il valore predefinito è debug
+
+- `MaxLevelKMsg=` - Imposta il livello massimo di log inviato a kmsg. Il valore predefinito è notice
+
+- `MaxLevelConsole=` - Imposta il livello massimo di log inoltrato alla console di sistema. Il valore predefinito è info
+
+- `MaxLevelWall=` - Imposta il livello massimo di log inviato a tutti gli utenti connessi. Il valore predefinito è `emerg`
+
+- `LineMax=` - La lunghezza massima consentita (byte) di ciascun record di log quando si converte il flusso di log in record di log. Con 1024 come base, il suffisso può essere K, M, G o T. Il valore predefinito è 48K
+
+## Altre istruzioni
+
+Se non si modifica alcuna configurazione in **/etc/systemd/journald.conf**, `rsyslog` e `journald` possono coesistere senza influenzarsi a vicenda.
+
+```bash
+Shell > cat /etc/rsyslog.conf
+...
+#### MODULES ####
+
+module(load="imuxsock" # provides support for local system logging (e.g. via logger command)
+ SysSock.Use="off") # Turn off message reception via local log socket;
+ # local messages are retrieved through imjournal now.
+module(load="imjournal" # provides access to the systemd journal
+ UsePid="system" # PID nummber is retrieved as the ID of the process the journal entry originates from
+ StateFile="imjournal.state") # File to store the position in the journal
+#module(load="imklog") # reads kernel messages (the same are read from journald)
+#module(load="immark") # provides --MARK-- message capability
+...
+```
+
+`journald` inoltrerà i dati di log ottenuti al socket `/run/systemd/journal/syslog` per facilitare l'uso dei servizi di log tradizionali (rsyslog, syslog-ng). Tuttavia, dal file di configurazione si apprende che `rsyslog` non raccoglie i log da `journald` tramite socket, ma si integra attraverso il modulo di input (imjournal).
+
+**Q: Il sistema operativo non può usare `journald` per la registrazione**
+
+Sì. Per impostazione predefinita, `rsyslog` e `journald` possono coesistere nel sistema operativo senza influenzarsi a vicenda. La coesistenza non è la scelta migliore per alcuni scenari di utilizzo orientati alle prestazioni (come il throughput dei dati e il consumo di memoria). Si può fare in modo che `rsyslog` venga eseguito solo in modalità socket, il che aiuta a migliorare le prestazioni e a registrare tutti i log in testo normale. Tuttavia, se avete bisogno di registri strutturati, questa modifica non è adatta. Le fasi rilevanti sono le seguenti:
+
+```bash
+Shell > vim /etc/rsyslog.config
+...
+module(load="imuxsock"
+ SysSock.Use="on")
+# module(load="imjournal"
+# UsePid="system"
+# StateFile="imjournal.state")
+module(load="imklog")
+...
+
+Shell > vim /etc/systemd/journald.conf
+[Journal]
+Storage=none
+...
+ForwardToSyslog=yes
+...
+
+Shell > reboot
+```
diff --git a/docs/books/admin_guide/17-log.uk.md b/docs/books/admin_guide/17-log.uk.md
index 9f4a80a5af..a175cf05b5 100644
--- a/docs/books/admin_guide/17-log.uk.md
+++ b/docs/books/admin_guide/17-log.uk.md
@@ -66,16 +66,16 @@ Shell > dnf install -y rsyslog
1. базовий (sysklogd) - Цей формат підходить для представлення базової конфігурації в одному рядку.
- ```
- mail.info /var/log/mail.log
- mail.err @@server.example.net
- ```
+ ```
+ mail.info /var/log/mail.log
+ mail.err @@server.example.net
+ ```
2. розширений (RainerScript) - Дуже гнучкий та точний формат конфігурації.
- ```
- mail.err action(type="omfwd" protocol="tcp" queue.type="linkedList")
- ```
+ ```
+ mail.err action(type="omfwd" protocol="tcp" queue.type="linkedList")
+ ```
3. застарілий (legacy) - цей формат вилучено з рекомендацій. Будь ласка, не використовуйте його.
@@ -389,45 +389,45 @@ Shell > tree -hugp /run/log/journal/638c6d5d2b674f77be56174469099106/
- **пріоритет** - Важливість логу. Як і у випадку з `rsyslog`, чим вищий пріоритет, тим менше інформації записується та тим серйозніша проблема. Чим нижчий пріоритет, тим більше інформації записується, і тим менша проблема. Сортувати за пріоритетом від низького до високого:
- | Числовий код | пріоритет | ключові слова |
- | :----------- | :---------------- | :------------ |
- | 7 | Debug | `debug` |
- | 6 | Informational | `info` |
- | 5 | Notice | `notice` |
- | 4 | Warning "Важливо" | `warning` |
- | 3 | Помилка | `err` |
- | 2 | Critical | `crit` |
- | 1 | Alert | `alert` |
- | 0 | Emergency | `emerg` |
+ | Числовий код | пріоритет | ключові слова |
+ | :----------- | :---------------- | :------------ |
+ | 7 | Debug | `debug` |
+ | 6 | Informational | `info` |
+ | 5 | Notice | `notice` |
+ | 4 | Warning "Важливо" | `warning` |
+ | 3 | Помилка | `err` |
+ | 2 | Critical | `crit` |
+ | 1 | Alert | `alert` |
+ | 0 | Emergency | `emerg` |
- **об'єкт** - У цій таблиці показано об'єкт:
- | Числовий код | об'єкт |
- | :----------- | :--------- |
- | 0 | `kern` |
- | 1 | `user` |
- | 2 | `mail` |
- | 3 | `daemon` |
- | 4 | `auth` |
- | 5 | `syslog` |
- | 6 | `lpr` |
- | 7 | `news` |
- | 8 | `uucp` |
- | 9 | |
- | 10 | `authpriv` |
- | 11 | `ftp` |
- | 12 | |
- | 13 | |
- | 14 | |
- | 15 | `cron` |
- | 16 | `local0` |
- | 17 | `local1` |
- | 18 | `local2` |
- | 19 | `local3` |
- | 20 | `local4` |
- | 21 | `local5` |
- | 22 | `local6` |
- | 23 | `local7` |
+ | Числовий код | об'єкт |
+ | :----------- | :--------- |
+ | 0 | `kern` |
+ | 1 | `user` |
+ | 2 | `mail` |
+ | 3 | `daemon` |
+ | 4 | `auth` |
+ | 5 | `syslog` |
+ | 6 | `lpr` |
+ | 7 | `news` |
+ | 8 | `uucp` |
+ | 9 | |
+ | 10 | `authpriv` |
+ | 11 | `ftp` |
+ | 12 | |
+ | 13 | |
+ | 14 | |
+ | 15 | `cron` |
+ | 16 | `local0` |
+ | 17 | `local1` |
+ | 18 | `local2` |
+ | 19 | `local3` |
+ | 20 | `local4` |
+ | 21 | `local5` |
+ | 22 | `local6` |
+ | 23 | `local7` |
### Команда `journalctl`
@@ -500,10 +500,10 @@ Shell > cat /etc/systemd/journald.conf
- `Storage=` - Керує розташуванням сховища даних `journald`. Значення за замовчуванням — auto.
- - volatile - Зберігає дані журналу в пам'яті, тобто у тимчасовому файлі, розташованому в каталозі **/run/log/journal/**.
- - persistent - Зберігає дані журналу в каталозі **/var/log/journal/**. Вам потрібно створити це вручну. Якщо цей каталог недоступний для запису, дані журналу будуть записані в каталог **/run/log/journal/**.
- - auto - схожий з persistent
- - none - Не зберігає жодних журналів, але це не вплине на журнали, що пересилаються іншим "цілям"
+ - volatile - Зберігає дані журналу в пам'яті, тобто у тимчасовому файлі, розташованому в каталозі **/run/log/journal/**.
+ - persistent - Зберігає дані журналу в каталозі **/var/log/journal/**. Вам потрібно створити це вручну. Якщо цей каталог недоступний для запису, дані журналу будуть записані в каталог **/run/log/journal/**.
+ - auto - схожий з persistent
+ - none - Не зберігає жодних журналів, але це не вплине на журнали, що пересилаються іншим "цілям"
- `Compress=` - Чи вмикати функцію стиснення. Значення за замовчуванням — так.
diff --git a/docs/books/admin_guide/images/IPv4-packet.png b/docs/books/admin_guide/images/IPv4-packet.png
new file mode 100644
index 0000000000..d0cf5eeaa1
Binary files /dev/null and b/docs/books/admin_guide/images/IPv4-packet.png differ
diff --git a/docs/books/admin_guide/images/IPv6-basic-header.png b/docs/books/admin_guide/images/IPv6-basic-header.png
new file mode 100644
index 0000000000..b365135e8d
Binary files /dev/null and b/docs/books/admin_guide/images/IPv6-basic-header.png differ
diff --git a/docs/books/admin_guide/images/IPv6-extension-header.png b/docs/books/admin_guide/images/IPv6-extension-header.png
new file mode 100644
index 0000000000..bb43ccdeff
Binary files /dev/null and b/docs/books/admin_guide/images/IPv6-extension-header.png differ
diff --git a/docs/books/disa_stig/disa_stig_part1.it.md b/docs/books/disa_stig/disa_stig_part1.it.md
index 91d2af1b71..76dd552f56 100644
--- a/docs/books/disa_stig/disa_stig_part1.it.md
+++ b/docs/books/disa_stig/disa_stig_part1.it.md
@@ -22,7 +22,7 @@ tags:
## Introduzione
-In questa guida verrà illustrato come applicare la [DISA STIG per RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) per una nuova installazione di Rocky Linux. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente.
+In questa guida verrà illustrato come applicare il [DISA STIG per RHEL8](https://stigviewer.com/stigs/red_hat_enterprise_linux_8) per una nuova installazione di Rocky Linux 8. Come serie in più parti, tratteremo anche come testare la conformità STIG, adattare le impostazioni STIG e applicare altri contenuti STIG in questo ambiente.
Rocky Linux è un derivato bug per bug di RHEL e come tale il contenuto pubblicato per il DISA RHEL8 STIG è in parità per entrambi i sistemi operativi. Una notizia ancora migliore è che l'applicazione delle impostazioni STIG è integrata nel programma di installazione di Rocky Linux 8 anaconda, sotto la voce Profili di Sicurezza. Il tutto è gestito da uno strumento chiamato [OpenSCAP](https://www.open-scap.org/), che consente sia di configurare il sistema in modo che sia conforme alla DISA STIG (velocemente!), sia di testare la conformità del sistema dopo l'installazione.
diff --git a/docs/books/disa_stig/disa_stig_part1.md b/docs/books/disa_stig/disa_stig_part1.md
index 242ba7aa57..e086657efe 100644
--- a/docs/books/disa_stig/disa_stig_part1.md
+++ b/docs/books/disa_stig/disa_stig_part1.md
@@ -22,7 +22,7 @@ tags:
## Introduction
-In this guide we are going to cover how to apply the [DISA STIG for RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) for a New Installation of Rocky Linux 8. As multi-part series, we will also be covering how to test STIG compliance, adapt STIG settings, and apply other STIG content in this environment.
+In this guide we are going to cover how to apply the [DISA STIG for RHEL8](https://stigviewer.com/stigs/red_hat_enterprise_linux_8) for a New Installation of Rocky Linux 8. As multi-part series, we will also be covering how to test STIG compliance, adapt STIG settings, and apply other STIG content in this environment.
Rocky Linux is a bug for bug derivative of RHEL and as such the content published for the DISA RHEL8 STIG is in parity for both operating systems. Even better news, applying STIG settings is built into the Rocky Linux 8 anaconda installer, under Security Profiles. Under the hood this is all powered by a tool called [OpenSCAP](https://www.open-scap.org/), which lets you both configure the system to be compliant with the DISA STIG (fast!), and also test the systems compliance after you’ve installed.
diff --git a/docs/books/disa_stig/disa_stig_part1.uk.md b/docs/books/disa_stig/disa_stig_part1.uk.md
index 18dc75e5b0..bb7c368fe3 100644
--- a/docs/books/disa_stig/disa_stig_part1.uk.md
+++ b/docs/books/disa_stig/disa_stig_part1.uk.md
@@ -22,7 +22,7 @@ tags:
## Вступ
-У цьому посібнику ми розповімо, як застосувати [DISA STIG для RHEL8](https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/) для нової інсталяції Rocky Linux 8. Оскільки серія складається з багатьох частин, ми також розповімо, як перевірити відповідність STIG, адаптувати параметри STIG і застосувати інший вміст STIG у цьому середовищі.
+У цьому посібнику ми розглянемо, як застосувати [DISA STIG для RHEL8](https://stigviewer.com/stigs/red_hat_enterprise_linux_8) для нової інсталяції Rocky Linux 8. Оскільки серія складається з багатьох частин, ми також розповімо, як перевірити відповідність STIG, адаптувати параметри STIG і застосувати інший вміст STIG у цьому середовищі.
Rocky Linux — це похідна від RHEL, і тому вміст, опублікований для DISA RHEL8 STIG, є однаковим для обох операційних систем. Навіть краща новина: застосування параметрів STIG вбудовано в інсталятор Rocky Linux 8 anaconda в розділі «Профілі безпеки». Під капотом усе це працює за допомогою інструменту під назвою [OpenSCAP](https://www.open-scap.org/), який дозволяє вам налаштувати систему на сумісність із DISA STIG (швидко!), а також перевірити відповідність системи після встановлення.
diff --git a/docs/books/disa_stig/disa_stig_part3.it.md b/docs/books/disa_stig/disa_stig_part3.it.md
index cb6c8af433..7b0bf3c88a 100644
--- a/docs/books/disa_stig/disa_stig_part3.it.md
+++ b/docs/books/disa_stig/disa_stig_part3.it.md
@@ -12,7 +12,7 @@ tags:
# Introduzione
-Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando la STIG del server web DISA: https://www.stigviewer.com/stig/web_server/
+Nella prima parte di questa serie, abbiamo spiegato come costruire il nostro server web con la STIG RHEL8 DISA di base applicata e, nella seconda parte, abbiamo imparato a testare la conformità STIG con lo strumento OpenSCAP. Ora faremo qualcosa con il sistema, costruendo una semplice applicazione web e applicando il web server DISA STIG: [https://stigviewer.com/stigs/apache_server_2.4_unix_server](https://stigviewer.com/stigs/apache_server_2.4_unix_server)
Per prima cosa confrontiamo ciò che stiamo affrontando: la STIG DISA di RHEL 8 è indirizzata a una piattaforma molto specifica, quindi i controlli sono abbastanza facili da capire in quel contesto, da testare e da applicare. Le STIG delle applicazioni devono essere portabili su più piattaforme, quindi il contenuto qui presente è generico per funzionare su diverse distribuzioni Linux (RHEL, Ubuntu, SuSE, ecc.)**. Strumenti come OpenSCAP non ci aiutano a verificare/recuperare la configurazione. Andremo a farlo manualmente. Questi STIG sono:
@@ -440,4 +440,4 @@ Require not host phishers.example.com
## Informazioni sull'autore
-Scott Shinn è il CTO per Atomicorp e fa parte del team Rocky Linux Security. Dal 1995 si occupa di sistemi informativi federali presso la Casa Bianca, il Dipartimento della Difesa e l'Intelligence Community. Parte di questo è stata la creazione degli STIG e l'obbligo di usarli, e mi dispiace molto per questo.
+Scott Shinn è il CTO di Atomicorp e fa parte del team Rocky Linux Security. Dal 1995 si occupa di sistemi informativi federali presso la Casa Bianca, il Dipartimento della Difesa e l'Intelligence Community. Parte di questo è stata la creazione degli STIG e l'obbligo di usarli, e mi dispiace molto per questo.
diff --git a/docs/books/disa_stig/disa_stig_part3.md b/docs/books/disa_stig/disa_stig_part3.md
index ad6ac7063a..546c348538 100644
--- a/docs/books/disa_stig/disa_stig_part3.md
+++ b/docs/books/disa_stig/disa_stig_part3.md
@@ -12,7 +12,7 @@ tags:
# Introduction
-In part 1 of this series, we covered how to build our web server with the base RHEL8 DISA STIG applied, and in part 2, we learned how to test the STIG compliance with the OpenSCAP tool. Now we’re going to do something with the system, build a simple web application and apply the DISA web server STIG:
+In part 1 of this series, we covered how to build our web server with the base RHEL8 DISA STIG applied, and in part 2, we learned how to test the STIG compliance with the OpenSCAP tool. Now we’re going to do something with the system, build a simple web application and apply the DISA web server STIG:
First lets compare what we’re getting into here, the RHEL 8 DISA STIG is targeted at a very specific platform so the controls are pretty easy to understand in that context, test, and apply. Application STIGs have to be portable across multiple platforms, so the content here is generic to work on different Linux distributions (RHEL, Ubuntu, SuSE, etc)**. Tools like OpenSCAP won’t help us audit/remediate the configuration. We’re going to have to do this manually. Those STIGs are:
diff --git a/docs/books/disa_stig/disa_stig_part3.uk.md b/docs/books/disa_stig/disa_stig_part3.uk.md
index bcdfacd97c..f8c75c4c01 100644
--- a/docs/books/disa_stig/disa_stig_part3.uk.md
+++ b/docs/books/disa_stig/disa_stig_part3.uk.md
@@ -12,7 +12,7 @@ tags:
# Вступ
-У частині 1 цієї серії ми розглянули, як створити наш веб-сервер із застосуванням базового RHEL8 DISA STIG, а в частині 2 ми дізналися, як перевірити відповідність STIG за допомогою інструменту OpenSCAP. Тепер ми збираємося зробити щось із системою, створити просту веб-програму та застосувати веб-сервер DISA STIG:
+У частині 1 цієї серії ми розглянули, як створити наш веб-сервер із застосуванням базового RHEL8 DISA STIG, а в частині 2 ми дізналися, як перевірити відповідність STIG за допомогою інструменту OpenSCAP. Тепер ми збираємося щось зробити з системою, створити простий веб-застосунок та застосувати веб-сервер DISA STIG: [https://stigviewer.com/stigs/apache_server_2.4_unix_server](https://stigviewer.com/stigs/apache_server_2.4_unix_server)
Спочатку давайте порівняємо, у що ми тут втягуємося, RHEL 8 DISA STIG призначений для дуже специфічної платформи, тому елементи керування досить легко зрозуміти в цьому контексті, протестувати та застосувати. Додатки STIG мають бути переносними на кілька платформ, тому вміст тут є загальним, щоб працювати з різними дистрибутивами Linux (RHEL, Ubuntu, SuSE тощо)**. Це означає, що такі інструменти, як OpenSCAP, не допоможуть нам перевірити/виправити конфігурацію. Нам доведеться робити це вручну. Ці STIG наступні:
@@ -208,7 +208,7 @@ echo "SessionCookieName session path=/; HttpOnly; Secure;" >> /etc/httpd/conf.d
**Severity:** Cat II Medium
**Type:** Operational
-**Fix:** Ні, співпрацюйте з адміністратором SIEM, щоб надати можливість записувати вказаний вміст запису журналу на сервер журналу аудиту.
+**Fix:** немає, співпрацюйте з адміністратором SIEM, щоб надати можливість записувати вказаний вміст запису журналу на сервер журналу аудиту.
**(V-214228)** Веб-сервер Apache має обмежити кількість дозволених одночасних запитів сеансу.
@@ -291,13 +291,13 @@ sed -i "s/proxy_connect_module/#proxy_connect_module/g" /etc/httpd/conf.modules.
**Severity:** Cat II Medium
**Type:** Operational
-**Fix:** Ні, працюйте з адміністратором SIEM, щоб налаштувати сповіщення, коли дані аудиту не надходять від Apache на основі визначеного розкладу підключень.
+**Fix:** Немає. працюйте з адміністратором SIEM, щоб налаштувати сповіщення, коли дані аудиту не надходять від Apache на основі визначеного розкладу підключень.
**(V-214233)** Веб-сервер Apache за балансувальником навантаження або проксі-сервером повинен створювати записи журналу, що містять інформацію про IP-адресу клієнта як джерела та призначення, а не інформацію про балансувальник навантаження чи проксі-IP для кожної події.
**Severity:** Cat II Medium
**Type:** Operational
-**Fix:** Ні, отримати доступ до проксі-сервера, через який передається вхідний веб-трафік, і налаштувати параметри для прозорої передачі веб-трафіку на веб-сервер Apache.
+**Fix:** Немає, отримати доступ до проксі-сервера, через який передається вхідний веб-трафік, і налаштувати параметри для прозорої передачі веб-трафіку на веб-сервер Apache.
Зверніться до , щоб отримати додаткову інформацію про параметри журналювання на основі ваших налаштувань проксі/навантаження.
@@ -357,7 +357,7 @@ echo "Timeout 10" >> /etc/httpd/conf.d/disa-apache-stig.conf
**Severity:** Cat II Medium
**Type:** Operational
-**Fix:** Ні, підготуйте документацію щодо методів аварійного відновлення для веб-сервера Apache 2.4 у разі необхідності відкоту.
+**Fix:** Немає, підготуйте документацію щодо методів аварійного відновлення для веб-сервера Apache 2.4 у разі необхідності відкату.
**(V-214257)** Необхідно вимкнути інформацію про налагодження та трасування, яка використовується для діагностики веб-сервера Apache.
diff --git a/docs/books/incus_server/00-toc.de.md b/docs/books/incus_server/00-toc.de.md
index 835ff1f3a5..453e5062e7 100644
--- a/docs/books/incus_server/00-toc.de.md
+++ b/docs/books/incus_server/00-toc.de.md
@@ -6,7 +6,7 @@ tested_with: 9.4
tags:
- lxd
- incus
- - enterprise
+ - Enterprise
---
# Incus-Server erstellen
@@ -52,7 +52,7 @@ Für diejenigen, die Incus als Laborumgebung auf ihren Notebooks oder Workstatio
- Sicherer Umgang mit der Befehlszeile auf Ihren Computern und mit einem Befehlszeileneditor. (Wir verwenden _vi_ in diesem Beispiel, aber Sie können Ihren Lieblingseditor einsetzen.)
- Für die meisten dieser Prozesse müssen Sie ein Benutzer ohne besondere Privilegien sein. Für die ersten Einrichtungsschritte müssen Sie Root-Benutzer sein oder in der Lage sein, sich mithilfe von `sudo` als Root-Benutzer anzumelden. Während dieser Kapitel gehen wir davon aus, dass Ihr Benutzer ohne besondere Privilegien `incusadmin` ist. Sie müssen dieses Benutzerkonto später im Vorgangsablauf erstellen.
- Stellen Sie für `ZFS` sicher, dass `UEFI` sicheres Booten NICHT aktiviert ist. Andernfalls müssen Sie das ZFS-Modul signieren, um es zum Laden zu bringen.
-- Wir verwenden zum größten Teil Rocky Linux-basierte Container.
+- Zum größten Teil, Verwendung von Rocky Linux-basierte Container
!!! info
diff --git a/docs/books/incus_server/00-toc.fr.md b/docs/books/incus_server/00-toc.fr.md
index fd7d8129f5..de6d8ac76d 100644
--- a/docs/books/incus_server/00-toc.fr.md
+++ b/docs/books/incus_server/00-toc.fr.md
@@ -5,7 +5,7 @@ contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
- lxd
- - Incus
+ - incus
- entreprise
---
diff --git a/docs/books/incus_server/00-toc.it.md b/docs/books/incus_server/00-toc.it.md
index 74241c1ae9..7042afa6c0 100644
--- a/docs/books/incus_server/00-toc.it.md
+++ b/docs/books/incus_server/00-toc.it.md
@@ -1,6 +1,6 @@
---
title: Introduzione
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
diff --git a/docs/books/incus_server/00-toc.uk.md b/docs/books/incus_server/00-toc.uk.md
index 27e4c6bfb9..05eb0c8db3 100644
--- a/docs/books/incus_server/00-toc.uk.md
+++ b/docs/books/incus_server/00-toc.uk.md
@@ -48,13 +48,13 @@ Incus найкраще описано на [офіційному веб-сайт
## Передумови та припущення
- Один сервер Rocky Linux 9, гарно налаштований. Розгляньте окремий жорсткий диск для дискового простору ZFS у робочому середовищі (це потрібно зробити, якщо ви використовуєте ZFS). І так, ми припускаємо, що це чистий сервер, а не VPS.
-- Це слід вважати розширеною темою, але ми зробили все можливе, щоб зробити її максимально зрозумілою для всіх. Тим не менш, знання кількох основних речей про керування контейнерами займе у вас довгий шлях. Знання кількох базових речей про керування контейнерами значно допоможе.
+- Це слід вважати розширеною темою, але ми зробили все можливе, щоб зробити її максимально зрозумілою для всіх. Тим не менш, знання кількох основних речей про керування контейнерами займе у вас довгий шлях. Тим не менш, знання кількох основних речей про управління контейнерами буде дуже корисним.
- Ви маєте добре володіти командним рядком на своїй машині (машинах) і вільно володіти редактором командного рядка. (Використовуємо _vi_ в цих прикладах, але ви можете використовувати свій улюблений редактор.)
- Для більшості цих процесів вам потрібно буде бути непривілейованим користувачем. Для початкових кроків налаштування вам потрібно буде бути користувачем root або вміти `sudo`, щоб стати ним. У цих розділах ми припускаємо, що ваш непривілейований користувач є "incusadmin". Вам доведеться створити цей обліковий запис користувача пізніше в процесі.
- Для ZFS переконайтеся, що безпечне завантаження UEFI НЕ ввімкнено. В іншому випадку вам доведеться підписати модуль ZFS, щоб змусити його завантажити.
-- Здебільшого ми використовуємо контейнери на основі Rocky Linux.
+- Здебільшого ми використовуємо контейнери на основі Rocky Linux
-!!! info
+!!! info "примітка"
```
Автор включає методологію використання файлової системи ZFS. Зверніть увагу, що проект Incus рекомендує BTRFS як файлову систему для сервера Incus. (ZFS все ще є опцією файлової системи.) Проте BTRFS взагалі недоступний у Rocky Linux 9.4. Поки він не буде санкціонований апстрімом і не буде випущено там, ваш єдиний вихід — використовувати ZFS або іншу включену файлову систему. Щоб дізнатися більше про параметри файлової системи Incus, перегляньте [офіційний документ проекту тут.](https://linuxcontainers.org/incus/docs/main/reference/storage_dir/)
diff --git a/docs/books/incus_server/01-install.de.md b/docs/books/incus_server/01-install.de.md
index e70448042b..1d32d03fd8 100644
--- a/docs/books/incus_server/01-install.de.md
+++ b/docs/books/incus_server/01-install.de.md
@@ -5,13 +5,13 @@ contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
- Incus
- - enterprise
+ - Enterprise
- incus-Installation
---
In diesem Abschnitt müssen Sie der root-Benutzer sein oder Sie müssen in der Lage sein, zu root-Rechte durch _sudo_ zu erlangen.
-## Installation von EPEL und OpenZFS
+## Installation der Repos EPEL und OpenZFS
Incus benötigt die EPEL (Extra Packages for Enterprise Linux) repository, die sehr einfach wie folgt zu installieren ist:
@@ -61,7 +61,7 @@ systemctl enable incus --now
Starten Sie den Server neu, bevor Sie hier fortfahren.
-## OpenZFS Installation
+## OpenZFS-Installation
```bash
dnf install zfs
@@ -69,13 +69,13 @@ dnf install zfs
## Einrichtung der Umgebung
-Zum Ausführen vieler Container sind mehr als die meisten Server-Kernel-Einstellungen erforderlich. Wenn wir von Anfang an annehmen, dass wir unseren Server in der Produktion verwenden, dann müssen wir diese Änderungen vornehmen, um Fehler wie "Zu viele offene Dateien" zu vermeiden.
+Zum Ausführen vieler Container sind mehr als die meisten Server-Kernel-Einstellungen erforderlich. Wenn Sie von Anfang an annehmen, dass Sie den Server in der Produktion verwenden, dann müssen Sie diese Änderungen vornehmen, um Fehler wie "Zu viele offene Dateien" zu vermeiden.
Glücklicherweise ist das Optimieren der Einstellungen für `Incus` mit geeigneten Dateiänderungen und einem Neustart nicht schwierig.
### Anpassung von `limits.conf`
-Die erste Datei, die Sie ändern müssen, ist die Datei `limits.conf`. Diese Datei ist selbst dokumentiert. Untersuchen Sie die Erklärungen als Kommentare in der Datei, um zu verstehen, was diese Datei macht. Um Ihre Änderungen vorzunehmen, geben Sie Folgendes ein:
+Die erste Datei, die Sie ändern müssen, ist die Datei `limits.conf`. Diese Datei ist selbst-dokumentiert. Untersuchen Sie die Erklärungen als Kommentare in der Datei, um zu verstehen, was diese Datei macht. Um Ihre Änderungen vorzunehmen, geben Sie Folgendes ein:
```bash
vi /etc/security/limits.conf
diff --git a/docs/books/incus_server/01-install.it.md b/docs/books/incus_server/01-install.it.md
index 61bb69355e..bbfe413110 100644
--- a/docs/books/incus_server/01-install.it.md
+++ b/docs/books/incus_server/01-install.it.md
@@ -1,6 +1,6 @@
---
-title: 1 Installazione e configurazione
-author: Spencer Steven
+title: 1 Installazione e Configurazione
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
diff --git a/docs/books/incus_server/01-install.uk.md b/docs/books/incus_server/01-install.uk.md
index 935ca60f2a..1d50cc9ebf 100644
--- a/docs/books/incus_server/01-install.uk.md
+++ b/docs/books/incus_server/01-install.uk.md
@@ -69,7 +69,7 @@ dnf install zfs
## Налаштування середовища
-Для запуску багатьох контейнерів потрібно більше, ніж більшість налаштувань ядра сервера. Якщо ми з самого початку припустимо, що будемо використовувати наш сервер у робочому стані, тоді нам потрібно внести ці зміни заздалегідь, щоб уникнути таких помилок, як «Забагато відкритих файлів».
+Для запуску багатьох контейнерів потрібно більше, ніж більшість налаштувань ядра сервера. Якщо ви з самого початку припускаєте, що будете використовувати свій сервер у виробничому середовищі, вам потрібно заздалегідь внести ці зміни, щоб уникнути таких помилок, як «Занадто багато відкритих файлів».
На щастя, налаштувати параметри для Incus неважко за допомогою кількох змін файлів і перезавантаження.
diff --git a/docs/books/incus_server/02-zfs_setup.de.md b/docs/books/incus_server/02-zfs_setup.de.md
index 9ae4a25c83..f1fb5908ca 100644
--- a/docs/books/incus_server/02-zfs_setup.de.md
+++ b/docs/books/incus_server/02-zfs_setup.de.md
@@ -61,4 +61,4 @@ zpool create storage /dev/sdb
Dies bedeutet, dass ein Pool mit dem Namen `storage` (ZFS) auf dem Gerät _/dev/sdb_ erstellt werden soll.
-Sobald der Pool erstellt wurde, ist es eine gute Idee, den Server an dieser Stelle neu zu starten.
+Starten Sie den Server nach dem Erstellen des Pools erneut.
diff --git a/docs/books/incus_server/02-zfs_setup.it.md b/docs/books/incus_server/02-zfs_setup.it.md
index caa2e709d4..53f0933feb 100644
--- a/docs/books/incus_server/02-zfs_setup.it.md
+++ b/docs/books/incus_server/02-zfs_setup.it.md
@@ -1,6 +1,6 @@
---
title: 2 ZFS Setup
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
diff --git a/docs/books/incus_server/03-incusinit.de.md b/docs/books/incus_server/03-incusinit.de.md
index baeefa3c8c..4020935803 100644
--- a/docs/books/incus_server/03-incusinit.de.md
+++ b/docs/books/incus_server/03-incusinit.de.md
@@ -5,7 +5,7 @@ contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
- Incus
- - enterprise
+ - Enterprise
- Incus-Initialisierung
- incus setup
---
diff --git a/docs/books/incus_server/03-incusinit.it.md b/docs/books/incus_server/03-incusinit.it.md
index ff2dc1e9bb..5f521b8439 100644
--- a/docs/books/incus_server/03-incusinit.it.md
+++ b/docs/books/incus_server/03-incusinit.it.md
@@ -1,6 +1,6 @@
---
title: 3 Inizializzazione Incus e configurazione dell'utente
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -20,7 +20,7 @@ L'ambiente del server è pronto. È ora possibile inizializzare Incus. Si tratta
incus admin init
```
-Ecco le domande e le nostre risposte per lo script, con una piccola spiegazione dove necessario:
+Ecco le domande e le nostre risposte per il copione, con una piccola spiegazione dove necessario:
```text
Would you like to use clustering? (yes/no) [default=no]:
@@ -44,7 +44,7 @@ Lasciare questo nome “default” è un'opzione, ma usare lo stesso nome dato a
Name of the storage backend to use (btrfs, dir, lvm, zfs, ceph) [default=zfs]:
```
-You want to accept the default.
+Si desidera accettare l'impostazione predefinita.
```text
Create a new ZFS pool? (yes/no) [default=yes]: no
diff --git a/docs/books/incus_server/04-firewall.fr.md b/docs/books/incus_server/04-firewall.fr.md
index fa5644de45..cf3bc42d50 100644
--- a/docs/books/incus_server/04-firewall.fr.md
+++ b/docs/books/incus_server/04-firewall.fr.md
@@ -71,14 +71,15 @@ bridge (active)
rich rules:
```
-Notez que vous devez également autoriser votre interface locale. Là encore, les zones incluses ne sont pas nommées de manière appropriée. Créez une zone et utilisez la plage d'adresses IP source pour l'interface locale afin de vous assurer que vous y avez accès :
+Notez que vous devez également autoriser l'accès
+à votre interface locale. Là encore, les zones incluses ne sont pas nommées de manière appropriée. Créez une zone et utilisez la plage d'adresses IP source pour l'interface locale afin de vous assurer que vous y avez accès :
```bash
firewall-cmd --new-zone=local --permanent
firewall-cmd --reload
```
-Ajoutez les IP source pour l'interface locale, et changez la cible en « ACCEPT » :
+Ajoutez les adresses IP source pour l'interface locale, et changez la cible en `ACCEPT` :
```bash
firewall-cmd --zone=local --add-source=127.0.0.1/8 --permanent
@@ -105,7 +106,7 @@ local (active)
rich rules:
```
-Vous souhaitez autoriser SSH à partir de notre réseau de confiance. Pour ce faire, autorisez les adresses IP sources à utiliser la zone `trusted` intégrée. Par défaut, la cible de cette zone est `ACCEPT`.
+Vous pouvez autoriser SSH à partir de notre réseau de confiance. Pour ce faire, autorisez les adresses IP sources à utiliser la zone `trusted` intégrée. Par défaut, la cible de cette zone est `ACCEPT`.
```bash
firewall-cmd --zone=trusted --add-source=192.168.1.0/24
@@ -143,7 +144,7 @@ trusted (active)
rich rules:
```
-La zone `public` est activée par défaut et SSH est autorisé. Pour des raisons de sécurité, vous ne souhaitez pas que SSH soit autorisé pour la zone `public`. Assurez-vous que vos zones sont correctes et que l'accès au serveur se fait par l'une des IP du réseau local (dans le cas de notre exemple). Vous risquez de vous bloquer sur le serveur si vous ne vérifiez pas cela avant de continuer. Lorsque vous êtes sûr d'avoir accès à l'interface correcte, supprimez SSH de la zone « public » :
+La zone `public` est activée par défaut et SSH est autorisé. Pour des raisons de sécurité, vous ne souhaitez pas que SSH soit autorisé pour la zone `public`. Assurez-vous que vos zones sont correctes et que l'accès au serveur se fait par l'une des adresses IP du réseau local (dans le cas de cet exemple). Vous risquez de vous bloquer sur le serveur si vous ne vérifiez pas cela avant de continuer. Lorsque vous êtes sûr d'avoir accès à l'interface correcte, supprimez SSH de la zone « public » :
```bash
firewall-cmd --zone=public --remove-service=ssh
diff --git a/docs/books/incus_server/04-firewall.it.md b/docs/books/incus_server/04-firewall.it.md
index 29ce9dedbb..db10cb2626 100644
--- a/docs/books/incus_server/04-firewall.it.md
+++ b/docs/books/incus_server/04-firewall.it.md
@@ -1,6 +1,6 @@
---
-title: 4 Configurazione Del Firewall
-author: Spencer Steven
+title: 4 Configurazione del Firewall
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -9,7 +9,7 @@ tags:
- incus security
---
-Nel corso di questo capitolo, è necessario essere l'utente root o essere in grado di eseguire con i privilegi di root con sudo.
+In questo capitolo è necessario essere root o poter utilizzare il comando `sudo` per diventare root.
Come per qualsiasi server, è necessario assicurarsi che sia sicuro dal mondo esterno e dalla LAN.
Il server di esempio ha solo un'interfaccia LAN, ma è possibile avere due interfacce, ciascuna rivolta verso le reti LAN e WAN.
diff --git a/docs/books/incus_server/05-incus_images.it.md b/docs/books/incus_server/05-incus_images.it.md
index e497e211a2..ffad564d4c 100644
--- a/docs/books/incus_server/05-incus_images.it.md
+++ b/docs/books/incus_server/05-incus_images.it.md
@@ -1,6 +1,6 @@
---
title: 5 Impostazione e gestione delle immagini
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -71,7 +71,7 @@ Usare il comando `move` per cambiare il nome del container:
incus move rockylinux-test-8 rockylinux-8
```
-Se avete seguito comunque questa istruzione, fermate il contenitore e riportatelo al nome originale per continuare a seguirlo.
+Se avete comunque seguito queste istruzioni, fermate il contenitore e riportatelo al nome originale per continuare a seguire la procedura.
Per questa guida, per ora installare altre due immagini:
diff --git a/docs/books/incus_server/06-profiles.it.md b/docs/books/incus_server/06-profiles.it.md
index c3af2cb6a8..7fff64b159 100644
--- a/docs/books/incus_server/06-profiles.it.md
+++ b/docs/books/incus_server/06-profiles.it.md
@@ -1,6 +1,6 @@
---
title: 6 Profili
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -39,7 +39,7 @@ Si vuole cambiare l'interfaccia `macvlan`, ma prima di farlo, è necessario sape
ip addr
```
-Cercare l'interfaccia con l'assegnazione IP LAN nella rete 192.168.1.0/24:
+Cercare l'interfaccia con l'assegnazione LAN IP nella rete 192.168.1.0/24:
```bash
2: enp3s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
@@ -270,7 +270,7 @@ Infine, uscire dal container e riavviarlo:
incus restart rockylinux-test-9
```
-Aspettate qualche secondo e elencate di nuovo i contenitori:
+Aspettate qualche secondo e elencate di nuovo i container:
```bash
incus list
@@ -328,7 +328,7 @@ La configurazione dell'IP statico è un po' diversa, ma non difficile. È necess
vi /etc/netplan/10-incus.yaml
```
-Cambiare ciò che c'è con quanto segue:
+Modifica quanto presente con quanto segue:
```bash
network:
@@ -350,7 +350,7 @@ Riavviare il container:
incus restart ubuntu-test
```
-Quando si elencano nuovamente i containeri, si vedrà il proprio IP statico:
+Quando si elencano nuovamente i container, si dovrebbe vedere il nuovo IP statico:
```bash
+-------------------+---------+----------------------+------+-----------+-----------+
diff --git a/docs/books/incus_server/06-profiles.uk.md b/docs/books/incus_server/06-profiles.uk.md
index 10e34359be..89769eaa43 100644
--- a/docs/books/incus_server/06-profiles.uk.md
+++ b/docs/books/incus_server/06-profiles.uk.md
@@ -104,7 +104,7 @@ incus profile assign rockylinux-test-9 default,macvlan
Якщо ви хочете запустити контейнери Rocky Linux і використовувати `macvlan` для призначення IP-адреси з вашої мережі LAN або WAN, процес буде відрізнятися залежно від версії контейнера операційної системи (8.x або 9.x).
-### Rocky Linux 9.0 macvlan – виправлення DHCP
+### Rocky Linux 9.x macvlan - the DHCP fix
Спочатку давайте проілюструємо, що відбувається під час зупинки та перезапуску двох контейнерів після призначення профілю `macvlan`.
@@ -169,7 +169,7 @@ incus shell rockylinux-test-9
dnf install which
```
-А потім запустіть:
+Потім запустіть:
```bash
which dhclient
diff --git a/docs/books/incus_server/07-configurations.it.md b/docs/books/incus_server/07-configurations.it.md
index b097209373..ad6a155a2f 100644
--- a/docs/books/incus_server/07-configurations.it.md
+++ b/docs/books/incus_server/07-configurations.it.md
@@ -1,6 +1,6 @@
---
-title: 7 Opzioni di Configurazione del Container
-author: Spencer Steven
+title: 7 Opzioni di configurazione del Container
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -82,7 +82,7 @@ Qui esaminiamo alcune delle opzioni di configurazione più utilizzate. Ad esempi
incus config set ubuntu-test limits.memory 2GB
```
-Ciò significa che se la memoria disponibile da utilizzare, ad esempio, 2 GB, il container può effettivamente utilizzare più di 2 GB. Si tratta di un limite morbido, ad esempio.
+Ciò significa che se la memoria disponibile da utilizzare, ad esempio, 2 GB, il container può effettivamente utilizzare più di 2 GB. Si tratta di un limite soft, ad esempio.
```bash
incus config set ubuntu-test limits.memory.enforce 2GB
@@ -126,7 +126,7 @@ locations:
- none
```
-Questo mostra che tutti i container utilizzano il pool di archiviazione dir. Quando si usa ZFS, si può anche impostare una quota disco su un container. Ecco come appare il comando, che imposta una quota disco di 2 GB sul container ubuntu-test:
+Questo mostra che tutti i container utilizzano il pool di archiviazione dir. Quando si usa ZFS, si può anche impostare una quota disco su un container. Ecco come appare il comando, che imposta una quota disco di 2 Gb sul container ubuntu-test:
```bash
incus config device override ubuntu-test root size=2GB
diff --git a/docs/books/incus_server/07-configurations.uk.md b/docs/books/incus_server/07-configurations.uk.md
index 0607b2448f..5153e5aa39 100644
--- a/docs/books/incus_server/07-configurations.uk.md
+++ b/docs/books/incus_server/07-configurations.uk.md
@@ -126,7 +126,7 @@ locations:
- none
```
-Це показує, що всі наші контейнери використовують наш пул сховищ dir. Під час використання ZFS ви також можете встановити дискову квоту для контейнера. Ось як це виглядатиме встановлення дискової квоти розміром 2 Гб для контейнера ubuntu-test.
+Це показує, що всі наші контейнери використовують наш пул сховищ dir. Під час використання ZFS ви також можете встановити дискову квоту для контейнера. Ось як це виглядатиме встановлення дискової квоти розміром 2 Гб для контейнера ubuntu-test:
```bash
incus config device override ubuntu-test root size=2GB
diff --git a/docs/books/incus_server/08-snapshots.fr.md b/docs/books/incus_server/08-snapshots.fr.md
index b88df623d9..1f6aa22500 100644
--- a/docs/books/incus_server/08-snapshots.fr.md
+++ b/docs/books/incus_server/08-snapshots.fr.md
@@ -96,6 +96,6 @@ Supprimez donc toujours les instantanés pendant que le conteneur est en cours d
Dans les chapitres qui suivent, vous allez :
-- mettre en place un processus de création automatique d'instantanés
+- mettre en place un processus de création automatique de snapshots
- set up the expiration of a snapshot so that it goes away after a certain length of time
- configurer l'actualisation automatique des instantanés – `auto-refreshing` — sur le serveur de Snapshots
diff --git a/docs/books/incus_server/08-snapshots.it.md b/docs/books/incus_server/08-snapshots.it.md
index 9b4a725aea..b7da2ab8ba 100644
--- a/docs/books/incus_server/08-snapshots.it.md
+++ b/docs/books/incus_server/08-snapshots.it.md
@@ -1,6 +1,6 @@
---
title: 8 Container Snapshots
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -15,7 +15,7 @@ I container snapshot e un server snapshot (di cui si parlerà più avanti) sono
L'autore ha utilizzato i container Incus per i server PowerDNS rivolti al pubblico e l'aggiornamento di queste applicazioni è diventato meno problematico, grazie alla creazione di snapshots prima di ogni aggiornamento.
-È possibile eseguire lo snapshot di un contenitore anche quando è in esecuzione.
+È possibile eseguire lo snapshot di un container anche quando è in esecuzione.
## Il processo di snapshot
diff --git a/docs/books/incus_server/09-snapshot_server.fr.md b/docs/books/incus_server/09-snapshot_server.fr.md
index 62bb415f99..bdb2c405bd 100644
--- a/docs/books/incus_server/09-snapshot_server.fr.md
+++ b/docs/books/incus_server/09-snapshot_server.fr.md
@@ -54,7 +54,7 @@ Ensuite, en tant qu’utilisateur non privilégié (incusadmin), vous devez éta
incus remote add incus-snapshot
```
-Le certificat à accepter s'affiche. Acceptez-le et le système vous demandera votre mot de passe. Il s’agit du « mot de passe de confiance » que vous avez défini lors de l’étape d’initialisation d’Incus. N'oubliez pas de garder une trace sécurisée de tous ces mots de passe. Lorsque vous entrez le mot de passe, vous verrez ceci :
+Le certificat à accepter s'affiche. Confirmez-le et le système vous demandera votre mot de passe. Il s’agit du « mot de passe de confiance » que vous avez défini lors de l’étape d’initialisation d’Incus. N'oubliez pas de garder une trace sécurisée de tous ces mots de passe. Lorsque vous entrez le mot de passe, vous verrez ceci :
```bash
Client certificate stored at server: incus-snapshot
@@ -62,7 +62,7 @@ Client certificate stored at server: incus-snapshot
Il est recommandé de mettre en place aussi l'inverse. Par exemple, la relation de confiance peut également être définie sur le serveur `incus-snapshot`. Si nécessaire, le serveur `incus-snapshot` peut renvoyer des snapshots au serveur `incus-primary`. Répétez les étapes et remplacez `incus-primary` par `incus-snapshot`.
-### Migrer votre premier instantané
+### Migration du `snapshot`
Avant de migrer votre premier snapshot, vous devez créer tous les profils sur le serveur `incus-snapshot` que vous avez créés sur le serveur
`incus-primary`. Dans ce cas, il s'agit du profil `macvlan`.
@@ -73,7 +73,7 @@ Vous devrez créer ceci pour le serveur `incus-snapshot`. Revenez au [Chapitre 6
incus profile copy macvlan incus-snapshot
```
-Une fois toutes les relations et tous les profils configurés, l’étape suivante consiste à envoyer un snapshot d’`incus-primary` à `incus-snapshot`. Si vous avez suivi exactement, vous avez probablement supprimé tous vos snapshots. Créer un autre instantané :
+Une fois toutes les relations et tous les profils configurés, l’étape suivante consiste à envoyer un snapshot d’`incus-primary` à `incus-snapshot`. Si vous avez suivi exactement, vous avez probablement supprimé tous vos snapshots. Créer un autre `snapshot` :
```bash
incus snapshot rockylinux-test-9 rockylinux-test-9-snap1
@@ -137,7 +137,7 @@ Faites cela pour chaque snapshot sur le serveur `incus-snapshot`. The "0" in the
## Automatisation du processus de copie des snapshots
-C'est excellent de pouvoir créer des instantanés lorsque cela est nécessaire, et parfois vous avez justement besoin de créer un snapshot manuellement. Vous souhaiterez peut-être même le copier manuellement vers le serveur `incus-snapshot`. Mais pour toutes les autres fois, en particulier pour de nombreux conteneurs exécutés sur votre serveur incus-primary, la **dernière** chose que vous voulez faire est de passer un après-midi à supprimer des instantanés sur le serveur d'instantanés, à créer de nouveaux instantanés et à les envoyer au serveur d'instantanés. Pour l'essentiel de vos opérations, vous souhaiterez automatiser le processus.
+C'est excellent de pouvoir créer des instantanés lorsque cela est nécessaire, et parfois vous avez justement besoin de créer un snapshot manuellement. Vous souhaiterez peut-être même le copier manuellement vers le serveur `incus-snapshot`. Mais pour toutes les autres fois, en particulier pour de nombreux conteneurs exécutés sur votre serveur incus-primary, la **dernière** chose que vous voulez faire est de passer un après-midi à supprimer des instantanés sur le serveur d'instantanés, à créer de nouveaux instantanés et à les envoyer au serveur d'instantanés. Pour l'essentiel de vos opérations, vous aurez besoin d'automatiser le processus.
Vous devrez planifier un processus pour automatiser la création d'instantanés sur `incus-primary`. Vous ferez cela pour chaque conteneur sur le serveur `incus-primary`. Une fois en place, cette tâche s’occupera de cela à l'avenir. Pour ce faire, la syntaxe suivante est utilisée. Notez les similitudes avec une entrée `crontab` pour l'horodatage :
diff --git a/docs/books/incus_server/09-snapshot_server.it.md b/docs/books/incus_server/09-snapshot_server.it.md
index 0b5d581d28..83b78d5342 100644
--- a/docs/books/incus_server/09-snapshot_server.it.md
+++ b/docs/books/incus_server/09-snapshot_server.it.md
@@ -1,6 +1,6 @@
---
title: 9 Server Snapshot
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
diff --git a/docs/books/incus_server/10-automating.fr.md b/docs/books/incus_server/10-automating.fr.md
index 1e0da8c933..a059c4bf6d 100644
--- a/docs/books/incus_server/10-automating.fr.md
+++ b/docs/books/incus_server/10-automating.fr.md
@@ -9,7 +9,7 @@ tags:
- incus automation
---
-Tout au long de ce chapitre, vous devez être l'utilisateur root ou pouvoir utiliser `sudo` pour obtenir les privilèges nécessaires.
+Tout au long de ce chapitre, vous devez être l'utilisateur `root` ou pouvoir utiliser `sudo` pour obtenir les privilèges nécessaires.
Automatiser le processus de capture instantanée rend les choses beaucoup plus faciles.
diff --git a/docs/books/incus_server/10-automating.it.md b/docs/books/incus_server/10-automating.it.md
index f2087d2512..59e32ea3af 100644
--- a/docs/books/incus_server/10-automating.it.md
+++ b/docs/books/incus_server/10-automating.it.md
@@ -1,6 +1,6 @@
---
title: 10 Automazione delle Snapshot
-author: Spencer Steven
+author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -9,7 +9,7 @@ tags:
- incus automation
---
-Nel corso di questo capitolo, è necessario essere l'utente root o essere in grado di eseguire con i privilegi di root con sudo.
+Nel corso di questo capitolo, è necessario essere l'utente root o essere in grado di eseguire con i privilegi di root con `sudo`.
L'automazione del processo di snapshot rende le cose molto più facili.
diff --git a/docs/books/incus_server/30-appendix_a.fr.md b/docs/books/incus_server/30-appendix_a.fr.md
index 84ac25aaee..ac8a4ea79f 100644
--- a/docs/books/incus_server/30-appendix_a.fr.md
+++ b/docs/books/incus_server/30-appendix_a.fr.md
@@ -1,14 +1,14 @@
---
-title: Annexe A - Configuration du poste de travail
+title: Annexe A - Mise en place du poste de travail
author: Steven Spencer
contributors: Ganna Zhyrnova
tested_with: 9.4
tags:
- incus
- - poste de travail
+ - workstation
---
-# Annexe A - Configuration du poste de travail
+# Annexe A - Mise en place du poste de travail
Bien que ne faisant pas partie des chapitres relatifs à un serveur `Incus`, cette procédure aidera ceux qui souhaitent disposer d'un environnement de laboratoire ou d'un système d'exploitation et d'une application semi-permanents exécutés sur un poste de travail ou un ordinateur portable Rocky Linux.
@@ -100,7 +100,7 @@ Vous pouvez activer cette option si vous souhaitez utiliser IPv6 sur vos contene
Would you like the Incus server to be available over the network? (yes/no) [default=no]: yes
```
-Cette opération est nécessaire pour effectuer un instantané de la station de travail. Répondez « oui » ici.
+Cette opération est nécessaire pour effectuer un instantané de la station de travail. Répondez `yes` ici.
```text
Address to bind Incus to (not including port) [default=all]:
@@ -157,7 +157,7 @@ Pour vous assurer que `incus` a démarré et que votre utilisateur dispose des p
incus list
```
-Notez que nous n'avons pas utilisé `sudo` ici. Votre utilisateur peut tout à fait exécuter ces commandes. Vous verrez quelque chose comme ceci :
+Notez que nous n'avons pas utilisé `sudo` ici. Votre utilisateur peut tout à fait exécuter ces commandes. Vous devriez obtenir quelque chose de similaire à ce qui suit :
```bash
+------------+---------+----------------------+------+-----------+-----------+
diff --git a/docs/books/incus_server/30-appendix_a.it.md b/docs/books/incus_server/30-appendix_a.it.md
index 0fdd3fad0a..b125fad563 100644
--- a/docs/books/incus_server/30-appendix_a.it.md
+++ b/docs/books/incus_server/30-appendix_a.it.md
@@ -1,6 +1,6 @@
---
title: Appendice A - Configurazione Workstation
-author: Spencer Steven
+author: Steven Spencer
contributors: Ganna Zhyrnova
tested_with: 9.4
tags:
@@ -65,7 +65,7 @@ sudo incus admin init
Si aprirà una finestra di dialogo a domande e risposte.
-Ecco le domande e le nostre risposte per lo script, con una piccola spiegazione dove necessario:
+Ecco le domande e le nostre risposte per il copione, con una piccola spiegazione dove necessario:
```text
Would you like to use clustering? (yes/no) [default=no]: no
@@ -85,7 +85,7 @@ Si noti che `dir` è un po' più lento di `zfs`. Se si può lasciare un disco vu
Would you like to connect to a MAAS server? (yes/no) [default=no]:
```
-Il Metal As A Service (MAAS) non rientra nell'ambito di questo documento.
+Metal As A Service (MAAS) non rientra nel campo di applicazione del presente documento.
```text
Would you like to create a new local network bridge? (yes/no) [default=yes]:
@@ -100,7 +100,7 @@ What IPv6 address should be used? (CIDR subnet notation, “auto” or “none
Would you like the Incus server to be available over the network? (yes/no) [default=no]: yes
```
-Questa operazione è necessaria per eseguire lo snapshot della workstation. Rispondere "sì" in questo caso.
+Questa operazione è necessaria per eseguire lo snapshot della workstation. Rispondere "yes" in questo caso.
```text
Address to bind Incus to (not including port) [default=all]:
@@ -165,7 +165,7 @@ Si noti che qui non è stato usato `sudo`. L'utente può inserire questi comandi
+------------+---------+----------------------+------+-----------+-----------+
```
-Se lo fate, avete un bell'aspetto!
+Se lo fate, state andando alla grande!
## Il resto
diff --git a/docs/books/learning_ansible/01-basic.uk.md b/docs/books/learning_ansible/01-basic.uk.md
index 7a397bafac..9ff7631bfd 100644
--- a/docs/books/learning_ansible/01-basic.uk.md
+++ b/docs/books/learning_ansible/01-basic.uk.md
@@ -11,7 +11,7 @@ update: 15 грудня 2021 р
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: Реалізувати Ansible;
:heavy_check_mark: Застосувати зміни конфігурації на сервері;
@@ -360,7 +360,7 @@ ansible rocky8 -i ./local-inventory -m command -a 'date'
Як у цьому прикладі, іноді простіше розділити декларацію керованих пристроїв на кілька файлів (наприклад, за хмарним проектом) і надати Ansible шлях до цих файлів, а не підтримувати довгий файл інвентаризації.
-| Опція | Опис |
+| Опція | Інформація |
| ------------------------ | -------------------------------------------------------------------------------------------------- |
| `-a 'arguments'` | Аргументи для передачі в модуль. |
| `-b -K` | Запитує пароль і виконує команду з вищими привілегіями. |
@@ -783,7 +783,7 @@ PLAY RECAP *********************************************************************
...
```
-!!! tip "Порада"
+!!! Tip "Порада"
`dnf` — це один із модулів, який дозволяє надати йому список як аргумент.
diff --git a/docs/books/learning_ansible/02-advanced.de.md b/docs/books/learning_ansible/02-advanced.de.md
index b8d937f6ad..1db70735d5 100644
--- a/docs/books/learning_ansible/02-advanced.de.md
+++ b/docs/books/learning_ansible/02-advanced.de.md
@@ -8,7 +8,7 @@ In diesem Kapitel lernen Sie weitere Themen über die Arbeit mit Ansible.
****
-**Ziele**: In diesem Kapitel wird Folgendes behandelt:
+**Ziele**: In diesem Kapitel lernen Sie Folgendes:
:heavy_check_mark: arbeiten mit Variablen;
:heavy_check_mark: Verwendung von Schleifen;
diff --git a/docs/books/learning_ansible/03-working-with-files.uk.md b/docs/books/learning_ansible/03-working-with-files.uk.md
index d2d1b3aa67..6cfb118d63 100644
--- a/docs/books/learning_ansible/03-working-with-files.uk.md
+++ b/docs/books/learning_ansible/03-working-with-files.uk.md
@@ -8,7 +8,7 @@ title: Керування файлами
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: змінити вміст файлу;
:heavy_check_mark: завантажити файли на цільові сервери;
diff --git a/docs/books/learning_ansible/04-ansible-galaxy.uk.md b/docs/books/learning_ansible/04-ansible-galaxy.uk.md
index d00055901c..579febb32b 100644
--- a/docs/books/learning_ansible/04-ansible-galaxy.uk.md
+++ b/docs/books/learning_ansible/04-ansible-galaxy.uk.md
@@ -8,7 +8,7 @@ title: Ansible Galaxy
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: встановлювати та керувати колекціями.
:heavy_check_mark: встановлювати ролі та керувати ними.
@@ -18,7 +18,7 @@ title: Ansible Galaxy
**Знання**: :star: :star:
**Складність**: :star: :star: :star:
-**Час для читання**: 40 хвилин
+**Час читання**: 40 хвилин
****
@@ -36,14 +36,14 @@ title: Ansible Galaxy
ansible-galaxy role [import|init|install|login|remove|...]
```
-| Підкоманди | Функціональність |
-| ---------- | ------------------------------------------------- |
-| `install` | встановлює роль. |
-| `remove` | видаляє одну або кілька ролей. |
-| `list` | відображає назву та версію встановлених ролей. |
-| `info` | відображає інформацію про роль. |
-| `init` | створює скелет нової ролі. |
-| `import` | імпортує ролі з веб-сайту galaxy. Потрібен логін. |
+| Підкоманди | Функціональність |
+| ----------------- | ------------------------------------------------- |
+| `install` | встановлює роль. |
+| `remove` | видаляє одну або кілька ролей. |
+| `list` | відображає назву та версію встановлених ролей. |
+| `info "примітка"` | відображає інформацію про роль. |
+| `init` | створює скелет нової ролі. |
+| `import` | імпортує ролі з веб-сайту galaxy. Потрібен логін. |
* Щоб керувати колекціями:
diff --git a/docs/books/learning_ansible/05-deployments.de.md b/docs/books/learning_ansible/05-deployments.de.md
index c241b8b3fa..89c53f453a 100644
--- a/docs/books/learning_ansible/05-deployments.de.md
+++ b/docs/books/learning_ansible/05-deployments.de.md
@@ -12,9 +12,9 @@ In diesem Kapitel erfahren Sie, wie Sie Anwendungen mit der Ansible-Rolle [Ansis
:heavy_check_mark: Ansistrano implementieren;
:heavy_check_mark: Ansistrano konfigurieren;
-:heavy_check_mark: freigegebene Ordner und Dateien zwischen bereitgestellten Versionen verwenden;
-:heavy_check_mark: verschiedene Versionen einer Website über git bereitstellen;
-bereit :heavy_check_mark: zwischen Bereitstellungsschritten reagieren.
+:heavy_check_mark: Gemeinsame Ordner und Dateien zwischen bereitgestellten Versionen verwenden;
+:heavy_check_mark: Verschiedene Versionen einer Site aus Git bereitstellen;
+:heavy_check_mark: Zwischen den Bereitstellungsschritten handeln.
:checkered_flag: **ansible**, **ansistrano**, **Rollen**, **Bereitstellung**
diff --git a/docs/books/learning_ansible/05-deployments.uk.md b/docs/books/learning_ansible/05-deployments.uk.md
index 7afe27e0b0..98bbcd3532 100644
--- a/docs/books/learning_ansible/05-deployments.uk.md
+++ b/docs/books/learning_ansible/05-deployments.uk.md
@@ -8,7 +8,7 @@ title: Розгортання за допомогою Ansistrano
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: Запровадити Ansistrano;
:heavy_check_mark: Налаштувати Ansistrano;
@@ -21,7 +21,7 @@ title: Розгортання за допомогою Ansistrano
**Знання**: :star: :star:
**Складність**: :star: :star: :star:
-**Час для читання**: 40 хвилин
+**Час читання**: 40 хвилин
****
diff --git a/docs/books/learning_ansible/06-large-scale-infrastructure.uk.md b/docs/books/learning_ansible/06-large-scale-infrastructure.uk.md
index 782b10f6cc..6c5339a06d 100644
--- a/docs/books/learning_ansible/06-large-scale-infrastructure.uk.md
+++ b/docs/books/learning_ansible/06-large-scale-infrastructure.uk.md
@@ -8,7 +8,7 @@ title: Великомасштабна інфраструктура
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: Організувати свій код для великої інфраструктури;
:heavy_check_mark: Застосувати все або частину вашого керування конфігурацією до групи вузлів;
diff --git a/docs/books/learning_ansible/09-working-with-jinja-template.fr.md b/docs/books/learning_ansible/09-working-with-jinja-template.fr.md
index 06a43a6197..7ca98ca848 100644
--- a/docs/books/learning_ansible/09-working-with-jinja-template.fr.md
+++ b/docs/books/learning_ansible/09-working-with-jinja-template.fr.md
@@ -108,20 +108,20 @@ Le module Ansible `template` vous permet d'utiliser des modèles Jinja pour gén
### Principales caractéristiques
1. **Rendu de modèle :**
- - Le module restitue des modèles Jinja pour créer des fichiers de configuration avec un contenu dynamique.
- - Les variables définies dans le playbook ou l'inventaire peuvent être injectées dans des modèles, permettant des configurations dynamiques.
+ - Le module restitue des modèles Jinja pour créer des fichiers de configuration avec un contenu dynamique.
+ - Les variables définies dans le playbook ou l'inventaire peuvent être injectées dans des modèles, permettant des configurations dynamiques.
2. **Utilisation de Jinja2 :**
- - Le module `template` exploite le moteur de création de modèles Jinja2, fournissant des fonctionnalités puissantes telles que des conditions, des boucles et des filtres pour une manipulation avancée des modèles.
+ - Le module `template` exploite le moteur de création de modèles Jinja2, fournissant des fonctionnalités puissantes telles que des conditions, des boucles et des filtres pour une manipulation avancée des modèles.
3. **Chemins Source et de Destination :**
- - Spécifie le fichier modèle Jinja source et le chemin de destination pour le fichier de configuration généré.
+ - Spécifie le fichier modèle Jinja source et le chemin de destination pour le fichier de configuration généré.
4. \*\* Passage de variable : \*\*
- - Les variables peuvent être transmises directement dans la tâche playbook ou chargées à partir de fichiers externes, permettant une génération de configuration flexible et dynamique.
+ - Les variables peuvent être transmises directement dans la tâche playbook ou chargées à partir de fichiers externes, permettant une génération de configuration flexible et dynamique.
5. **Exécution Idempotente :**
- - Le module `template` d'Ansible prend en charge l'exécution idempotente des modèles, garantissant que le modèle n'est appliqué que si des modifications sont détectées.
+ - Le module `template` d'Ansible prend en charge l'exécution idempotente des modèles, garantissant que le modèle n'est appliqué que si des modifications sont détectées.
### Exemple de playbook snippet
@@ -142,24 +142,24 @@ Le module Ansible `template` vous permet d'utiliser des modèles Jinja pour gén
### Exemples d'utilisation
1. **Gestion de Configuration :**
- - Idéal pour gérer les configurations de système en générant dynamiquement des fichiers en fonction de paramètres spécifiques.
+ - Idéal pour gérer les configurations de système en générant dynamiquement des fichiers en fonction de paramètres spécifiques.
2. **Mise en Place d'Application :**
- - Utile pour créer des fichiers de configuration spécifiques à une application avec différents paramètres.
+ - Utile pour créer des fichiers de configuration spécifiques à une application avec différents paramètres.
3. **Infrastructure sous Forme de Code :**
- - Facilite les pratiques d'infrastructure en tant que code en permettant des ajustements dynamiques des configurations en fonction de variables.
+ - Facilite les pratiques d'infrastructure en tant que code en permettant des ajustements dynamiques des configurations en fonction de variables.
### Les bonnes pratiques
1. **Séparation des Thèmes :**
- - Confine la logique de configuration réelle dans les modèles Jinja, en la séparant de la structure principale du playbook.
+ - Confine la logique de configuration réelle dans les modèles Jinja, en la séparant de la structure principale du playbook.
2. **Contrôle de Version :**
- - Stocke les modèles Jinja dans des référentiels contrôlés en version pour un meilleur suivi et une meilleure collaboration.
+ - Stocke les modèles Jinja dans des référentiels contrôlés en version pour un meilleur suivi et une meilleure collaboration.
3. **Testabilité :**
- - Permet de tester les modèles de manière indépendante pour vous assurer qu’ils produisent le résultat de configuration attendu.
+ - Permet de tester les modèles de manière indépendante pour vous assurer qu’ils produisent le résultat de configuration attendu.
En tirant parti du module `template`, les utilisateurs d'Ansible peuvent améliorer la gérabilité et la flexibilité des tâches de configuration, favorisant ainsi une approche plus rationalisée et efficace de la configuration du système et des applications.
diff --git a/docs/books/learning_ansible/09-working-with-jinja-template.it.md b/docs/books/learning_ansible/09-working-with-jinja-template.it.md
index 24b07d605e..67d5706b41 100644
--- a/docs/books/learning_ansible/09-working-with-jinja-template.it.md
+++ b/docs/books/learning_ansible/09-working-with-jinja-template.it.md
@@ -108,20 +108,20 @@ Il modulo `template` di Ansible consente di utilizzare i modelli Jinja per gener
### Caratteristiche principali
1. **Rendering del template:**
- - Il modulo esegue il rendering dei template Jinja per creare file di configurazione con contenuti dinamici.
- - Le variabili definite nel playbook o nell'inventario possono essere inserite nei modelli, consentendo configurazioni dinamiche.
+ - Il modulo esegue il rendering dei template Jinja per creare file di configurazione con contenuti dinamici.
+ - Le variabili definite nel playbook o nell'inventario possono essere inserite nei modelli, consentendo configurazioni dinamiche.
2. **Utilizzo di Jinja2:**
- - Il modulo `template` sfrutta il motore di creazione di template Jinja2, offrendo potenti funzionalità come istruzioni condizionali, cicli e filtri per la manipolazione avanzata dei template.
+ - Il modulo `template` sfrutta il motore di creazione di template Jinja2, offrendo potenti funzionalità come istruzioni condizionali, cicli e filtri per la manipolazione avanzata dei template.
3. **Percorsi di origine e destinazione:**
- - Specifica il file template Jinja di origine e il percorso di destinazione per il file di configurazione generato.
+ - Specifica il file template Jinja di origine e il percorso di destinazione per il file di configurazione generato.
4. **Passare le variabili:**
- - Le variabili possono essere passate direttamente nel playbook o caricate da file esterni, consentendo la generazione di configurazioni flessibili e dinamiche.
+ - Le variabili possono essere passate direttamente nel playbook o caricate da file esterni, consentendo la generazione di configurazioni flessibili e dinamiche.
5. **Esecuzione idempotente:**
- - Il modulo dei template supporta l'esecuzione idempotente, assicurando che il template venga applicato solo se vengono rilevate delle modifiche.
+ - Il modulo dei template supporta l'esecuzione idempotente, assicurando che il template venga applicato solo se vengono rilevate delle modifiche.
### Esempio di un playbook
@@ -142,24 +142,24 @@ Il modulo `template` di Ansible consente di utilizzare i modelli Jinja per gener
### Casi d'uso
1. **Gestione della configurazione:**
- - Ideale per gestire le configurazioni di sistema generando dinamicamente file in base a parametri specifici.
+ - Ideale per gestire le configurazioni di sistema generando dinamicamente file in base a parametri specifici.
2. **Setup Applicativi:**
- - Utile per creare file di configurazione per applicazioni specifiche con impostazioni diverse.
+ - Utile per creare file di configurazione per applicazioni specifiche con impostazioni diverse.
3. **Infrastruttura come codice:**
- - Facilita le pratiche di Infrastruttura come Codice consentendo adattamenti dinamici alle configurazioni in base alle variabili.
+ - Facilita le pratiche di Infrastruttura come Codice consentendo adattamenti dinamici alle configurazioni in base alle variabili.
### Buone pratiche
1. **Separazione degli interessi:**
- - Mantenere la logica di configurazione effettiva nei modelli Jinja, separandola dalla struttura principale del playbook.
+ - Mantenere la logica di configurazione effettiva nei modelli Jinja, separandola dalla struttura principale del playbook.
2. **Controllo Versione:**
- - Salvare i modelli Jinja in repository con controllo delle versioni per un miglior monitoraggio ed una migliore collaborazione.
+ - Salvare i modelli Jinja in repository con controllo delle versioni per un miglior monitoraggio ed una migliore collaborazione.
3. **Testabilità:**
- - Testare i modelli in modo indipendente per assicurarsi che producano l'output di configurazione previsto.
+ - Testare i modelli in modo indipendente per assicurarsi che producano l'output di configurazione previsto.
Sfruttando il modulo `template`, gli utenti Ansible possono migliorare la gestibilità e la flessibilità delle attività di configurazione, promuovendo un approccio più snello ed efficiente alla configurazione del sistema e delle applicazioni.
diff --git a/docs/books/learning_ansible/09-working-with-jinja-template.uk.md b/docs/books/learning_ansible/09-working-with-jinja-template.uk.md
index c060de5470..1f68236475 100644
--- a/docs/books/learning_ansible/09-working-with-jinja-template.uk.md
+++ b/docs/books/learning_ansible/09-working-with-jinja-template.uk.md
@@ -108,20 +108,20 @@ ansible-playbook your_playbook.yml
### Ключові особливості
1. **Візуалізація шаблону:**
- - Модуль рендерить шаблони Jinja для створення файлів конфігурації з динамічним вмістом.
- - Змінні, визначені в посібнику чи інвентарі, можна вставляти в шаблони, уможливлюючи динамічні конфігурації.
+ - Модуль рендерить шаблони Jinja для створення файлів конфігурації з динамічним вмістом.
+ - Змінні, визначені в посібнику чи інвентарі, можна вставляти в шаблони, уможливлюючи динамічні конфігурації.
2. **Використання Jinja2:**
- - Модуль `template` використовує механізм створення шаблонів Jinja2, надаючи такі потужні функції, як умови, цикли та фільтри для розширеної роботи з шаблонами.
+ - Модуль `template` використовує механізм створення шаблонів Jinja2, надаючи такі потужні функції, як умови, цикли та фільтри для розширеної роботи з шаблонами.
3. **Шляхи джерела та призначення:**
- - Визначає вихідний файл шаблону Jinja та шлях призначення для створеного файлу конфігурації.
+ - Визначає вихідний файл шаблону Jinja та шлях призначення для створеного файлу конфігурації.
4. **Передача змінних:**
- - Змінні можна передати безпосередньо в завданні playbook або завантажити із зовнішніх файлів, що забезпечує гнучку та динамічну генерацію конфігурації.
+ - Змінні можна передати безпосередньо в завданні playbook або завантажити із зовнішніх файлів, що забезпечує гнучку та динамічну генерацію конфігурації.
5. **Ідемпотентне виконання:**
- - Модуль шаблону підтримує ідемпотентне виконання, забезпечуючи застосування шаблону лише у разі виявлення змін.
+ - Модуль шаблону підтримує ідемпотентне виконання, забезпечуючи застосування шаблону лише у разі виявлення змін.
### Приклад фрагмента playbook
@@ -142,24 +142,24 @@ ansible-playbook your_playbook.yml
### Випадки використання
1. **Управління конфігурацією:**
- - Ідеально підходить для керування конфігураціями системи шляхом динамічного створення файлів на основі певних параметрів.
+ - Ідеально підходить для керування конфігураціями системи шляхом динамічного створення файлів на основі певних параметрів.
2. **Налаштування програми:**
- - Корисно для створення конфігураційних файлів програми з різними параметрами.
+ - Корисно для створення конфігураційних файлів програми з різними параметрами.
3. **Інфраструктура як код:**
- - Спрощує практику «Інфраструктура як код», дозволяючи динамічно коригувати конфігурації на основі змінних.
+ - Спрощує практику «Інфраструктура як код», дозволяючи динамічно коригувати конфігурації на основі змінних.
### Кращі практики
1. **Відокремлення інтересів:**
- - Зберігайте логіку конфігурації в шаблонах Jinja, відокремлюючи її від основної структури посібника.
+ - Зберігайте логіку конфігурації в шаблонах Jinja, відокремлюючи її від основної структури посібника.
2. **Контроль версій:**
- - Зберігайте шаблони Jinja в репозиторіях з контрольованими версіями для кращого відстеження та співпраці.
+ - Зберігайте шаблони Jinja в репозиторіях з контрольованими версіями для кращого відстеження та співпраці.
3. **Перевіряемість:**
- - Тестуйте шаблони незалежно, щоб переконатися, що вони дають очікуваний результат конфігурації.
+ - Тестуйте шаблони незалежно, щоб переконатися, що вони дають очікуваний результат конфігурації.
Використовуючи модуль `template`, користувачі Ansible можуть підвищити керованість і гнучкість завдань конфігурації, сприяючи більш спрощеному та ефективному підходу до налаштування системи та програм.
diff --git a/docs/books/learning_bash/00-toc.uk.md b/docs/books/learning_bash/00-toc.uk.md
index b6a38e00e9..cb404d41cb 100644
--- a/docs/books/learning_bash/00-toc.uk.md
+++ b/docs/books/learning_bash/00-toc.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
diff --git a/docs/books/learning_bash/01-first-script.uk.md b/docs/books/learning_bash/01-first-script.uk.md
index 70fec14384..65e4fe8ae6 100644
--- a/docs/books/learning_bash/01-first-script.uk.md
+++ b/docs/books/learning_bash/01-first-script.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
@@ -15,7 +15,7 @@ tags:
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: Написати свій перший сценарій у bash;
:heavy_check_mark: Виконати свій перший сценарій;
diff --git a/docs/books/learning_bash/02-using-variables.uk.md b/docs/books/learning_bash/02-using-variables.uk.md
index 961f2d089b..a151a36375 100644
--- a/docs/books/learning_bash/02-using-variables.uk.md
+++ b/docs/books/learning_bash/02-using-variables.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
diff --git a/docs/books/learning_bash/03-data-entry-and-manipulations.uk.md b/docs/books/learning_bash/03-data-entry-and-manipulations.uk.md
index 8c3803ad64..8e51d196e2 100644
--- a/docs/books/learning_bash/03-data-entry-and-manipulations.uk.md
+++ b/docs/books/learning_bash/03-data-entry-and-manipulations.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
@@ -15,14 +15,14 @@ tags:
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: прочитати введені дані від користувача;
:heavy_check_mark: маніпулювати записами даних;
:heavy_check_mark: використовувати аргументи в сценарії;
:heavy_check_mark: керувати позиційними змінними;
-:checkered_flag: **linux**, **сценарій**, **bash**, **змінна**
+:checkered_flag: **linux**, **script**, **bash**, **variable**
**Знання**: :star: :star:
**Складність**: :star: :star:
@@ -113,7 +113,7 @@ cut -d: -f1 /etc/passwd
* Команда `grep` працює "по вертикалі" (ізоляція одного рядка від усіх рядків у файлі).
* Комбінація двох команд дозволяє **ізолювати конкретне поле у файлі**.
-Приклад:
+Приклади:
```bash
grep "^root:" /etc/passwd | cut -d: -f3
@@ -218,7 +218,7 @@ dirname $FILE
| `$#` | містить кількість переданих аргументів. |
| `$*` або `$@` | містить в одній змінній усі передані аргументи. |
-Приклад:
+Приклади:
```bash
#!/usr/bin/env bash
@@ -340,7 +340,7 @@ All without separation ($@) = tree four
set [value] [$variable]
```
-Приклад:
+Приклади:
```bash
$ set one two three
diff --git a/docs/books/learning_bash/04-check-your-knowledge.uk.md b/docs/books/learning_bash/04-check-your-knowledge.uk.md
index a30665ae2e..1d00743e21 100644
--- a/docs/books/learning_bash/04-check-your-knowledge.uk.md
+++ b/docs/books/learning_bash/04-check-your-knowledge.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
diff --git a/docs/books/learning_bash/05-tests.uk.md b/docs/books/learning_bash/05-tests.uk.md
index de5bbb9c4c..edbd26e626 100644
--- a/docs/books/learning_bash/05-tests.uk.md
+++ b/docs/books/learning_bash/05-tests.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
@@ -13,14 +13,14 @@ tags:
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: працювати з кодом повернення;
:heavy_check_mark: перевірити та порівняти файли;
:heavy_check_mark: перевірити змінні, рядки та цілі числа;
:heavy_check_mark: виконати операцію з цілими числами;
-:checkered_flag: **linux**, **сценарій**, **bash**, **змінна**
+:checkered_flag: **linux**, **script**, **bash**, **variable**
**Знання**: :star: :star:
**Складність**: :star: :star: :star:
diff --git a/docs/books/learning_bash/06-conditional-structures.uk.md b/docs/books/learning_bash/06-conditional-structures.uk.md
index 8d87858220..98c1b3b487 100644
--- a/docs/books/learning_bash/06-conditional-structures.uk.md
+++ b/docs/books/learning_bash/06-conditional-structures.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
@@ -13,7 +13,7 @@ tags:
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: використовувати умовний синтаксис `if`;
:heavy_check_mark: використовувати умовний синтаксис `case`;
diff --git a/docs/books/learning_bash/07-loops.uk.md b/docs/books/learning_bash/07-loops.uk.md
index b896ed9a74..e6c161e225 100644
--- a/docs/books/learning_bash/07-loops.uk.md
+++ b/docs/books/learning_bash/07-loops.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
@@ -13,7 +13,7 @@ tags:
****
-**Цілі**: В цьому розділі ви дізнаєтеся як:
+**Цілі**: В цьому розділі ви дізнаєтеся про:
:heavy_check_mark: використання циклів;
diff --git a/docs/books/learning_bash/08-check-your-knowledge.uk.md b/docs/books/learning_bash/08-check-your-knowledge.uk.md
index c49e08ea82..a9b63f0bfb 100644
--- a/docs/books/learning_bash/08-check-your-knowledge.uk.md
+++ b/docs/books/learning_bash/08-check-your-knowledge.uk.md
@@ -4,7 +4,7 @@ author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.5
tags:
- - освіта
+ - education
- сценарій bash
- bash
---
diff --git a/docs/books/learning_rsync/02_rsync_demo01.fr.md b/docs/books/learning_rsync/02_rsync_demo01.fr.md
index dbae1bc339..5e3fce5a03 100644
--- a/docs/books/learning_rsync/02_rsync_demo01.fr.md
+++ b/docs/books/learning_rsync/02_rsync_demo01.fr.md
@@ -41,7 +41,7 @@ Utilisation favorisée par l'auteur : `rsync -avz original location target locat
## Description de l'environnement
-| Élément | Observation |
+| Élément | Description |
| ----------------------- | ---------------- |
| Rocky Linux 8 (Serveur) | 192.168.100.4/24 |
| Fedora 34 (client) | 192.168.100.5/24 |
diff --git a/docs/books/learning_rsync/03_rsync_demo02.de.md b/docs/books/learning_rsync/03_rsync_demo02.de.md
new file mode 100644
index 0000000000..d6cb0f6705
--- /dev/null
+++ b/docs/books/learning_rsync/03_rsync_demo02.de.md
@@ -0,0 +1,130 @@
+---
+title: rsync – Demo 02
+author: tianci li
+contributors: Steven Spencer, Ganna Zhyrnova
+update: 2021-11-04
+---
+
+# Demo basierend auf dem rsync-Protokoll
+
+In `vsftpd` gibt es virtuelle Benutzer (durch den Administrator angepasste Benutzer), weil es nicht sicher ist, anonyme Benutzer und lokale Benutzer zu verwenden. Wir wissen, dass ein Server, der auf dem `SSH`-Protokoll basiert, sicherstellen muss, dass es ein System von Benutzern gibt. Wenn es viele Synchronisationsanforderungen gibt, kann es notwendig sein, viele Benutzer zu erstellen. Dies entspricht natürlich nicht den GNU/Linux-Betriebssystem- und Wartungsstandards (je mehr Benutzer Je unsicherer). In `rsync`, aus Sicherheitsgründen gibt es eine Anmeldemethode für `rsync`-Protokollauthentifizierung.
+
+**Wie macht man das?**
+
+Geben Sie einfach die entsprechenden Parameter und Werte in die Konfigurationsdatei ein. In Rocky Linux 8 müssen Sie die Datei /etc/rsyncd.conf manuell erstellen.
+
+```bash
+[root@Rocky ~]# touch /etc/rsyncd.conf
+[root@Rocky ~]# vim /etc/rsyncd.conf
+```
+
+Einige Parameter und Werte dieser Datei lauten wie folgt, [hier](04_rsync_configure.md) finden Sie weitere Parameterinfos:
+
+| Item | Beschreibung |
+| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| address = 192.168.100.4 | Die IP-Adresse, auf die rsync default-mäßig lauscht |
+| port = 873 | Standardmäßig lauscht der `rsync`-Daemon auf diesem Port |
+| pid file = /var/run/rsyncd.pid | Datei-Speicherort der Prozess-PID |
+| log file = /var/log/rsyncd.log | Speicherort des Log-Protokolls |
+| [share] | Freigabename |
+| comment = rsync | Hinweise oder Beschreibungsinformationen |
+| path = /rsync/ | Der Systempfad dort, wo er sich befindet |
+| read only = yes | yes bedeutet nur lesen, kein schreiben |
+| dont compress = \*.gz \*.gz2 \*.zip | Welche Dateitypen werden nicht komprimiert |
+| auth users = li | Virtuelle Benutzer aktivieren und definieren, wie ein virtueller Benutzer genannt wird. Sie sollten es selbst erstellen |
+| secrets file = /etc/rsyncd_users.db | Wird verwendet, um den Speicherort der Passwortdatei des virtuellen Benutzers anzugeben, die mit `.db` enden muss. Das Inhaltsformat der Datei ist "Benutzername: Passwort" für jede Zeile |
+
+!!! tip "Tip"
+
+ Die Berechtigung für die Passwortdatei muss 600 sein.
+
+Schreiben Sie einen Teil des Dateiinhalts in /etc/rsyncd.conf und schreiben Sie den Benutzernamen und das Passwort in /etc/rsyncd_users.db. Die Berechtigung beträgt 600
+
+```bash
+[root@Rocky ~]# cat /etc/rsyncd.conf
+address = 192.168.100.4
+port = 873
+pid file = /var/run/rsyncd.pid
+log file = /var/log/rsyncd.log
+[share]
+comment = rsync
+path = /rsync/
+read only = yes
+dont compress = *.gz *.bz2 *.zip
+auth users = li
+secrets file = /etc/rsyncd_users.db
+[root@Rocky ~]# ll /etc/rsyncd_users.db
+-rw------- 1 root root 9 November 2 16:16 /etc/rsyncd_users.db
+[root@Rocky ~]# cat /etc/rsyncd_users.db
+li:13579
+```
+
+Sie müssen möglicherweise `dnf -y rsync-daemon install` ausführen bevor Sie den Dienst starten können: `systemctl start rsyncd.service`
+
+```bash
+[root@Rocky ~]# systemctl start rsyncd.service
+[root@Rocky ~]# netstat -tulnp
+Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
+tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 691/sshd
+tcp 0 0 192.168.100.4:873 0.0.0.0:* LISTEN 4607/rsync
+tcp6 0 0 :::22 :::* LISTEN 691/sshd
+udp 0 0 127.0.0.1:323 0.0.0.0:* 671/chronyd
+udp6 0 0 ::1:323 :::* 671/chronyd
+```
+
+## pull/download
+
+Eine Datei auf dem Server zur Verifikation erstellen: `[root@Rocky]# touch /rsync/rsynctest.txt`
+
+Der Client macht folgendes:
+
+```bash
+[root@fedora ~]# rsync -avz li@192.168.100.4::share /root
+Password:
+receiving incremental file list
+./
+rsynctest.txt
+sent 52 bytes received 195 bytes 7.16 bytes/sec
+total size is 883 speedup is 3.57
+[root@fedora ~]# ls
+aabbcc anaconda-ks.cfg fedora rsynctest.txt
+```
+
+success! Zusätzlich zum obigen Schreiben basierend auf dem rsync-Protokoll können Sie folgendermaßen schreiben: `rsync://li@10.1.2.84/share`
+
+## push/upload
+
+```bash
+[root@fedora ~]# touch /root/fedora.txt
+[root@fedora ~]# rsync -avz /root/* li@192.168.100.4::share
+Password:
+sending incremental file list
+rsync: [sender] read error: Connection reset by peer (104)
+rsync error: error in socket IO (code 10) at io.c(784) [sender = 3.2.3]
+```
+
+Sie erhalten den Hinweis, dass der Lesefehler mit der Einstellung `read only = yes` des Servers zusammenhängt. Ändern Sie es auf `no` und starten Sie den Dienst neu:
`[root@Rocky ~]# systemctl restart rsyncd.service`
+
+Versuchen Sie es noch einmal und Sie erhalten die Meldung, dass die Berechtigung verweigert wurde:
+
+```bash
+[root@fedora ~]# rsync -avz /root/* li@192.168.100.4::share
+Password:
+sending incremental file list
+fedora.txt
+rsync: mkstemp " /.fedora.txt.hxzBIQ " (in share) failed: Permission denied (13)
+sent 206 bytes received 118 bytes 92.57 bytes/sec
+total size is 883 speedup is 2.73
+rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1330) [sender = 3.2.3]
+```
+
+Unser virtueller Benutzer hier ist li, der standardmäßig dem Systembenutzer nobody zugeordnet ist. Natürlich können Sie dies auf andere Systembenutzer umstellen. Mit anderen Worten, `nobody` hat keine Schreibberechtigung in das Verzeichnis `/rsync/`. Natürlich können Sie `[root@Rocky ~]# setfacl -mu:nobody:rwx /rsync/` verwenden, und es erneut versuchen.
+
+```bash
+[root@fedora ~]# rsync -avz /root/* li@192.168.100.4::share
+Password:
+sending incremental file list
+fedora.txt
+sent 206 bytes received 35 bytes 96.40 bytes/sec
+total size is 883 speedup is 3.66
+```
diff --git a/docs/books/learning_rsync/03_rsync_demo02.fr.md b/docs/books/learning_rsync/03_rsync_demo02.fr.md
index 8e1cc47fdc..0c23b8e54d 100644
--- a/docs/books/learning_rsync/03_rsync_demo02.fr.md
+++ b/docs/books/learning_rsync/03_rsync_demo02.fr.md
@@ -20,7 +20,7 @@ Il suffit d'écrire les paramètres et valeurs correspondants dans le fichier de
Certains paramètres de ce fichier et leurs valeurs sont présentés ci-dessous, [ici](04_rsync_configure.md) vous trouverez des descriptions de paramètres supplémentaires :
-| Élément | Observation |
+| Élément | Description |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| address = 192.168.100.4 | L'adresse IP sur laquelle rsync écoute par défaut |
| port = 873 | port d'écoute par défaut de rsync |
diff --git a/docs/books/learning_rsync/03_rsync_demo02.uk.md b/docs/books/learning_rsync/03_rsync_demo02.uk.md
index 103836d506..618d92d959 100644
--- a/docs/books/learning_rsync/03_rsync_demo02.uk.md
+++ b/docs/books/learning_rsync/03_rsync_demo02.uk.md
@@ -34,7 +34,7 @@ update: 2021-11-04
| auth users = li | Вмикає віртуальних користувачів і визначає назву віртуального користувача. Його потрібно створити самостійно |
| secrets file = /etc/rsyncd_users.db | Використовується для вказівки розташування файлу пароля віртуального користувача, який має закінчуватися на .db. Формат вмісту файлу: «Ім’я користувача: пароль», по одному на рядок |
-!!! підказка
+!!! tip "Підсказка"
Дозвіл доступу до файлу паролів має бути 600.
diff --git a/docs/books/learning_rsync/05_rsync_authentication-free_login.fr.md b/docs/books/learning_rsync/05_rsync_authentication-free_login.fr.md
index 6d5c8b989d..832673f712 100644
--- a/docs/books/learning_rsync/05_rsync_authentication-free_login.fr.md
+++ b/docs/books/learning_rsync/05_rsync_authentication-free_login.fr.md
@@ -59,7 +59,7 @@ Last login: Tue Nov 2 21:42:44 2021 from 192.168.100.5
[testrsync@Rocky ~]$
```
-!!! tip "Astuce"
+!!! tip "Tip"
Le fichier de configuration du serveur **/etc/ssh/sshd_config** doit être ouvert PubkeyAuthentication yes
diff --git a/docs/books/learning_rsync/05_rsync_authentication-free_login.uk.md b/docs/books/learning_rsync/05_rsync_authentication-free_login.uk.md
index 4c16e79983..635bd02bf8 100644
--- a/docs/books/learning_rsync/05_rsync_authentication-free_login.uk.md
+++ b/docs/books/learning_rsync/05_rsync_authentication-free_login.uk.md
@@ -59,7 +59,7 @@ Last login: Tue Nov 2 21:42:44 2021 from 192.168.100.5
[testrsync@Rocky ~]$
```
-!!! підказка
+!!! tip "Підсказка"
Файл конфігурації сервера **/etc/ssh/sshd_config** має бути відкритий PubkeyAuthentication yes
@@ -95,6 +95,6 @@ sent 30 bytes received 193 bytes 148.67 bytes/sec
total size is 883 speedup is 3.96
```
-!!! підказка
+!!! tip "Підсказка"
Ви можете записати цю змінну в **/etc/profile**, щоб вона стала чинною. Вміст: `export RSYNC_PASSWORD=13579`
diff --git a/docs/books/learning_rsync/06_rsync_inotify.fr.md b/docs/books/learning_rsync/06_rsync_inotify.fr.md
index a8c37f470a..4c767c0ceb 100644
--- a/docs/books/learning_rsync/06_rsync_inotify.fr.md
+++ b/docs/books/learning_rsync/06_rsync_inotify.fr.md
@@ -78,10 +78,10 @@ L'outil inotify-tools a deux commandes, à savoir :
Les types d'événements sont les suivants :
-| Type d'événement | Observation |
+| Type d'événement | Description |
| ---------------- | ----------------------------------------------------------------------------------------------- |
| access | Accès au contenu d'un fichier ou d'un répertoire |
-| modifier | Le contenu du fichier ou du répertoire est enregistré |
+| modify | Le contenu du fichier ou du répertoire est enregistré |
| attrib | Les attributs du fichier ou du répertoire sont modifiés |
| close_write | Le fichier ou le répertoire est ouvert en mode écriture puis fermé |
| close_nowrite | Le fichier ou le répertoire est fermé après avoir été ouvert en mode lecture seule |
diff --git a/docs/books/learning_rsync/06_rsync_inotify.uk.md b/docs/books/learning_rsync/06_rsync_inotify.uk.md
index 0ee901b3a6..a55a1cea1e 100644
--- a/docs/books/learning_rsync/06_rsync_inotify.uk.md
+++ b/docs/books/learning_rsync/06_rsync_inotify.uk.md
@@ -123,7 +123,7 @@ fs.inotify.max_user_watches = 1048576
## Поєднання `inotifywait` і `rsync`
-!!! підказка
+!!! tip "Підсказка"
Ми працюємо на сервері Rocky Linux 8, використовуючи для демонстрації протокол SSH.
@@ -144,12 +144,12 @@ $a | while read directory event file
[root@Rocky ~]# bash /root/rsync_inotify.sh &
```
-!!! підказка
+!!! tip "Підсказка"
Під час використання протоколу SSH для передачі даних синхронізації, якщо порт служби SSH цільової машини не 22, ви можете використовувати метод, подібний до цього——
`b="/usr/bin/rsync -avz -e 'ssh -p [port-number]' /rsync/* testfedora@192.168.100.5:/home/testfedora/"`
-!!! підказка
+!!! tip "Підсказка"
Якщо ви хочете запустити цей сценарій під час завантаження
`[root@Rocky ~]# echo "bash /root/rsync_inotify.sh &" >> /etc/rc.local`
diff --git a/docs/books/learning_rsync/07_rsync_unison_use.fr.md b/docs/books/learning_rsync/07_rsync_unison_use.fr.md
index 151c93cd47..ce601950aa 100644
--- a/docs/books/learning_rsync/07_rsync_unison_use.fr.md
+++ b/docs/books/learning_rsync/07_rsync_unison_use.fr.md
@@ -33,7 +33,7 @@ Last login: Wed Nov 3 22:07:18 2021 from 192.168.100.5
[testrsync@Rocky ~]$
```
-!!! tip "Astuce"
+!!! tip "Tip"
Les fichiers de configuration des deux machines **/etc/ssh/sshd_config** doivent être ouverts PubkeyAuthentication yes
@@ -132,16 +132,16 @@ done
[root@fedora ~]# jobs -l
```
-!!! tip "Astuce"
+!!! tip "Tip"
Pour la synchronisation bidirectionnelle, les scripts des deux machines doivent être démarrés, sinon une erreur sera signalée.
-!!! tip "Astuce"
+!!! tip "Tip"
If you want to start this script at boot
`[root@Rocky ~]# echo "bash /root/unison1.sh &" >> /etc/rc.local`
`[root@Rocky ~]# chmod +x /etc/rc.local`
-!!! tip "Astuce"
+!!! tip "Tip"
Si vous voulez arrêter le processus correspondant à ce script, vous pouvez le trouver dans la commande `htop` puis **kill**
diff --git a/docs/books/learning_rsync/07_rsync_unison_use.uk.md b/docs/books/learning_rsync/07_rsync_unison_use.uk.md
index 62e5bf98e4..b464aa1470 100644
--- a/docs/books/learning_rsync/07_rsync_unison_use.uk.md
+++ b/docs/books/learning_rsync/07_rsync_unison_use.uk.md
@@ -33,7 +33,7 @@ Last login: Wed Nov 3 22:07:18 2021 from 192.168.100.5
[testrsync@Rocky ~]$
```
-!!! підказка
+!!! tip "Підсказка"
Конфігураційні файли двох машин **/etc/ssh/sshd_config** мають бути відкриті PubkeyAuthentication yes
@@ -132,16 +132,16 @@ done
[root@fedora ~]# jobs -l
```
-!!! підказка
+!!! tip "Підсказка"
Для двосторонньої синхронізації повинні бути запущені сценарії обох машин, інакше буде повідомлено про помилку.
-!!! підказка
+!!! tip "Підсказка"
Якщо ви хочете запустити цей сценарій під час завантаження
`[root@Rocky ~]# echo "bash /root/unison1.sh &" >> /etc/rc.local`
`[root@Rocky ~]# chmod +x /etc/rc.local`
-!!! підказка
+!!! tip "Підсказка"
Якщо ви хочете зупинити відповідний процес цього сценарію, ви можете знайти його в команді `htop`, а потім **kill**
diff --git a/docs/books/nvchad/additional_software.fr.md b/docs/books/nvchad/additional_software.fr.md
index 9bcf235b7c..c3223418c3 100644
--- a/docs/books/nvchad/additional_software.fr.md
+++ b/docs/books/nvchad/additional_software.fr.md
@@ -1,5 +1,5 @@
---
-title: Logiciels supplémentaires
+title: Logiciels Complémentaires
author: Franco Colussi
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.7, 9.1
@@ -8,47 +8,49 @@ tags:
- codage
---
-# Logiciels supplémentaires utiles
+# :material-cart-plus: Logiciels Supplémentaires Nécessaires
Il existe plusieurs logiciels supplémentaires qui, même s'ils ne sont pas nécessaires, aideront à l'utilisation quotidienne de NvChad. Les sections ci-dessous vous guideront à choisir parmi ces logiciels et leurs usages.
-## RipGrep
+## :material-text-search: RipGrep
-`ripgrep` est un outil de recherche orienté ligne de commande qui recherche récursivement dans le répertoire courant en utilisant une expression régulière _regex_. Par défaut, _ripgrep_ respecte les règles de _gitignore_ et omet automatiquement les fichiers/répertoires et les binaires cachés. Ripgrep offre un excellent support sous Windows, macOS et Linux, avec des binaires disponibles pour chaque plateforme.
+`ripgrep` est un outil de recherche orienté ligne de commande qui recherche récursivement dans le répertoire courant en utilisant une expression régulière *regex* (pattern). Par défaut, *ripgrep* respecte les règles de *gitignore* et omet automatiquement les fichiers/répertoires et les binaires cachés. Ripgrep offre un excellent support sous Windows, macOS et Linux, avec des binaires disponibles pour chaque plateforme.
-### Installer RipGrep depuis EPEL
+=== "Installer RipGrep depuis EPEL"
-Sous Rocky Linux 8 et 9, vous pouvez installer RipGrep à partir de l'EPEL. Pour cela, installez `epel-release,` mettez à jour le système, puis installez `ripgrep` :
+ Sous Rocky Linux 8 et 9, vous pouvez installer 'RipGrep' à partir de l'EPEL. Pour cela, installez `epel-release`, mettez à jour le système, puis installez `ripgrep` :
-```
-sudo dnf install -y epel-release
-sudo dnf upgrade
-sudo dnf install ripgrep
-```
+ ```bash
+ sudo dnf install -y epel-release
+ sudo dnf upgrade
+ sudo dnf install ripgrep
+ ```
-### Installez RipGrep en utilisant `cargo`
+=== "Installation de RipGrep en utilisant `cargo`"
-Ripgrep est un logiciel écrit en _Rust_ et peut être installé avec l'utilitaire `cargo`. Notez toutefois que `cargo` n'est pas installé automatiquement par l'installation par défaut de _rust_, donc vous devez l'installer explicitement. Si vous rencontrez des problèmes en utilisant cette méthode, revenez à l'installation à partir de l'EPEL.
+ Ripgrep est un logiciel écrit en *Rust* et peut être installé avec l'utilitaire `cargo`. Notez cependant que `cargo` n'est pas installé par défaut avec *rust*, vous devez donc l'installer explicitement. Si vous rencontrez des problèmes en utilisant cette méthode, revenez à l'installation à partir d'EPEL.
-```bash
-dnf install rust cargo
-```
+ ```bash
+ dnf install rust cargo
+ ```
-Une fois que le logiciel nécessaire est opérationnel, nous pouvons installer `ripgrep` avec :
-```bash
-cargo install ripgrep
-```
+ Après avoir installé le logiciel nécessaire nous pouvons installer `ripgrep` avec la commande suivante :
-L'installation sauvegardera l'exécutable `rg` dans le répertoire `~/.cargo/bin` qui se trouve en dehors du PATH, pour l'utiliser au niveau de l'utilisateur, nous le lierons à `~/.local/bin/`.
+ ```bash
+ cargo install ripgrep
+ ```
-```bash
-ln -s ~/.cargo/bin/rg ~/.local/bin/
-```
-## Vérification de RipGrep
+ L'installation enregistrera l'exécutable `rg` dans le dossier `~/.cargo/bin` qui est en dehors du PATH. Pour l'utiliser au niveau utilisateur nous le lierons à `~/.local/bin/`.
+
+ ```bash
+ ln -s ~/.cargo/bin/rg ~/.local/bin/
+ ```
+
+## :material-check-all: Vérification de RipGrep
-À ce stade, nous pouvons vérifier que tout va bien :
+À ce stade, vous pouvez vérifier que tout va bien avec la commande suivante :
```bash
rg --version
@@ -57,13 +59,13 @@ ripgrep 13.0.0
+SIMD +AVX (runtime)
```
-RipGrep est nécessaire pour les recherches récursives avec `:Telescope`.
+RipGrep est nécessaire pour des recherches récursives avec `:Telescope`.
-## Lazygit
+## :material-source-merge: Lazygit
-[LazyGit](https://github.com/jesseduffield/lazygit) est une interface de style ncurses qui vous permet d'effectuer toutes les opérations `git` de manière plus conviviale. Il est requis par le plugin _lazygit.nvim_. Ce plugin permet d'utiliser LazyGit directement depuis NvChad, il ouvre une fenêtre flottante à partir de laquelle vous pouvez effectuer toutes les opérations sur vos référentiels, vous permettant ainsi d'apporter toutes les modifications au dépôt _git_ sans quitter l'éditeur.
+[LazyGit](https://github.com/jesseduffield/lazygit) est une interface de style `ncurses` qui vous permet d'effectuer toutes les opérations `git` de manière plus conviviale. C'est requis par le plugin ==lazygit.nvim==. Ce plugiciel permet d'utiliser `LazyGit` directement depuis `NvChad`, il ouvre une fenêtre flottante d'où vous pouvez effectuer toutes les opérations sur vos dépôts, vous permettant ainsi d'effectuer toutes les modifications sur le *dépôt git* sans quitter l'éditeur.
-Pour l'installer, nous pouvons utiliser le référentiel pour Fedora. Sous Rocky Linux 9, il fonctionne à merveille.
+Pour l'installer, vous pouvez utiliser le référentiel de Fedora. Sous Rocky Linux 9, il fonctionne à merveille.
```bash
sudo dnf copr enable atim/lazygit -y
@@ -72,10 +74,10 @@ sudo dnf install lazygit
Une fois installé, nous ouvrons un terminal et utilisons la commande `lazygit` et une interface similaire à ceci apparaîtra :
-
+
-Avec la touche x , nous pouvons afficher le menu avec toutes les commandes disponibles.
+Avec la touche ++"?"++ , nous pouvons afficher le menu avec toutes les commandes disponibles.

-Maintenant que nous avons tous les logiciels de support nécessaires sur notre système, nous pouvons passer à l'installation du logiciel de base. Nous allons commencer avec l'éditeur sur lequel la configuration entière est basée, [Neovim](install_nvim.md).
+Maintenant que nous avons tous les logiciels nécessaires sur notre système, nous pouvons passer à l'installation du logiciel de base. Nous allons commencer par l'éditeur sur lequel la configuration entière est basée, [Neovim](install_nvim.md).
diff --git a/docs/books/nvchad/install_nvchad.it.md b/docs/books/nvchad/install_nvchad.it.md
index c13d61d185..f21acbea9f 100644
--- a/docs/books/nvchad/install_nvchad.it.md
+++ b/docs/books/nvchad/install_nvchad.it.md
@@ -64,7 +64,7 @@ Per scaricare e inizializzare la configurazione, utilizzare il seguente comando:
git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
```
-Il comando è composto da due parti. Il primo scarica il contenuto del repository *starter* in `~/.config/nvim/` (cartella predefinita per le impostazioni di Neovim), mentre il secondo richiama l'eseguibile ==nvim== che inizializza l'editor con la configurazione appena scaricata. Una volta terminata l'installazione dei plugin e dei parser, ci si troverà di fronte alla seguente schermata. Per chiudere il gestore dei plugin, digitare ++"q "++ :
+Il comando è composto da due parti. Il primo scarica il contenuto del repository *starter* in `~/.config/nvim/` (cartella predefinita per le impostazioni di Neovim), mentre il secondo richiama l'eseguibile ==nvim== che inizializza l'editor con la configurazione appena scaricata. Una volta terminata l'installazione dei plugin e dei parser, ci si troverà di fronte alla seguente schermata. Per chiudere il gestore dei plugin, digitare ++"q"++ :

diff --git a/docs/books/nvchad/install_nvchad.md b/docs/books/nvchad/install_nvchad.md
index 0626bd7fb8..244addbca6 100644
--- a/docs/books/nvchad/install_nvchad.md
+++ b/docs/books/nvchad/install_nvchad.md
@@ -64,7 +64,7 @@ To download and initialize the configuration, use the following command:
git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
```
-The command consists of two parts. The first downloads the contents of the *starter* repository to `~/.config/nvim/` (default folder for Neovim settings), while the second invokes the ==nvim== executable which initializes the editor with the configuration you just downloaded. Once you have finished installing the plugins and parsers, you will be faced with the following screen. To close the plugins manager, type ++"q "++ :
+The command consists of two parts. The first downloads the contents of the *starter* repository to `~/.config/nvim/` (default folder for Neovim settings), while the second invokes the ==nvim== executable which initializes the editor with the configuration you just downloaded. Once you have finished installing the plugins and parsers, you will be faced with the following screen. To close the plugins manager, type ++"q"++ :

diff --git a/docs/books/nvchad/install_nvchad.uk.md b/docs/books/nvchad/install_nvchad.uk.md
index 48f3759980..2585cf6c47 100644
--- a/docs/books/nvchad/install_nvchad.uk.md
+++ b/docs/books/nvchad/install_nvchad.uk.md
@@ -64,7 +64,7 @@ rm -rf ~/.cache/nvim
git clone https://github.com/NvChad/starter ~/.config/nvim && nvim
```
-Команда складається з двох частин. Перший завантажує вміст репозиторію *starter* до `~/.config/nvim/` (тека за замовчуванням для налаштувань Neovim), а другий викликає ==nvim== виконуваний файл, який ініціалізує редактор конфігурацією, яку ви щойно завантажили. Після завершення встановлення плагінів і синтаксичних аналізаторів ви побачите наступний екран. Щоб закрити менеджер плагінів, введіть ++"q "++ :
+Команда складається з двох частин. Перший завантажує вміст репозиторію *starter* до `~/.config/nvim/` (тека за замовчуванням для налаштувань Neovim), а другий викликає ==nvim== виконуваний файл, який ініціалізує редактор конфігурацією, яку ви щойно завантажили. Після завершення встановлення плагінів і синтаксичних аналізаторів ви побачите наступний екран. Щоб закрити менеджер плагінів, введіть ++"q"++ :

@@ -217,7 +217,7 @@ end)
Це встановлює чотири основні клавіші, за допомогою яких разом з іншими клавішами можна запускати команди. Основні ключі:
* C = ++ctrl++
-* leader = ++пробіл++
+* leader = ++space++
* A = ++alt++
* S = ++shift++
diff --git a/docs/books/nvchad/install_nvim.it.md b/docs/books/nvchad/install_nvim.it.md
index d1978bf440..e8bdcb0c99 100644
--- a/docs/books/nvchad/install_nvim.it.md
+++ b/docs/books/nvchad/install_nvim.it.md
@@ -103,7 +103,7 @@ Come per Vim, Neovim richiede una conoscenza di base dei suoi comandi e delle su
Per prima cosa installiamo i pacchetti necessari alla compilazione:
```bash
- dnf install ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git
+ dnf install --enablerepo=crb ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch gettext curl git
```
diff --git a/docs/books/nvchad/nerd_fonts.it.md b/docs/books/nvchad/nerd_fonts.it.md
index 02274d219f..ecbdef1e80 100644
--- a/docs/books/nvchad/nerd_fonts.it.md
+++ b/docs/books/nvchad/nerd_fonts.it.md
@@ -29,7 +29,7 @@ https://www.nerdfonts.com/font-downloads
L'installazione dei Nerd Fonts in Rocky Linux si effettua interamente dalla riga di comando grazie all'implementazione della procedura fornita dal repository del progetto [ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts). La procedura utilizza *git* per recuperare i font necessari e *fc-cache* per la loro configurazione.
-!!! Note "Nota"
+!!! Note
Questo metodo può essere usato su tutte le distribuzioni *linux* che usano [fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/) per la gestione dei font di sistema.
diff --git a/docs/books/nvchad/plugins/projectmgr.it.md b/docs/books/nvchad/plugins/projectmgr.it.md
index 47d62c7d86..2238a5fad8 100644
--- a/docs/books/nvchad/plugins/projectmgr.it.md
+++ b/docs/books/nvchad/plugins/projectmgr.it.md
@@ -42,7 +42,7 @@ Tutte le operazioni vengono eseguite con il tasto ++ctrl++ seguito da una letter
La tabella seguente mostra tutte le operazioni disponibili
-| Opzione | Operazione |
+| Tasto | Operazione |
| ------------- | --------------------------------------------------------- |
| `` | Apre il progetto sotto il cursore |
| `` | Aggiunge un progetto attraverso una procedura interattiva |
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
index 2e3e275635..4913364fd8 100644
--- 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
@@ -1,7 +1,7 @@
---
title: Espressioni regolari e wildcards
author: Tianci Li
-contributors: null
+contributors:
tags:
- Regular expressions
- Wildcards
@@ -46,7 +46,7 @@ Comandi differenti prevedono diversi stili di wildcard:
- `mv`: accetta tutti gli stili di wildcard
- `cp`: accetta tutti gli stili di wildcard
-Per esempio:
+Ad esempio:
```bash
Shell > mkdir -p /root/dir{1..3}
diff --git a/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.uk.md b/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.uk.md
index b99c9b9745..8087276c25 100644
--- a/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.uk.md
+++ b/docs/books/sed_awk_grep/1_regular_expressions_vs_wildcards.uk.md
@@ -1,7 +1,7 @@
---
title: Регулярні вирази та символи підстановки
author: tianci li
-contributors: null
+contributors:
tags:
- Регулярні вирази
- Символи підстановки
diff --git a/docs/books/sed_awk_grep/2_grep_command.it.md b/docs/books/sed_awk_grep/2_grep_command.it.md
index 91f32bc28a..c3e1575ca2 100644
--- a/docs/books/sed_awk_grep/2_grep_command.it.md
+++ b/docs/books/sed_awk_grep/2_grep_command.it.md
@@ -1,7 +1,7 @@
---
title: Comando Grep
author: tianci li
-contributors: null
+contributors:
tags:
- grep
---
@@ -74,207 +74,207 @@ gestione dei file o directory:
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
- ```
+ ```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
- ```
+ ```bash
+ Shell > echo -e "a\nab\nbc\nbcde" | grep -e 'a' -e 'cd'
+ a
+ ab
+ bcde
+ ```
- oppure:
+ oppure:
- ```bash
- Shell > echo -e "a\nab\nbc\nbcde" | grep -E "a|cd"
- a
- ab
- bcde
- ```
+ ```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
- ```
+ ```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
- ```
+ ```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
- ```
+ ```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
- ```
+ ```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
+ ```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
- ```
+ 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
- ```
+ ```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
- ```
+ ```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:
+ 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
+ ```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
- ```
+ 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:
+ Se devi escludere un singola directory, utilizza la seguente sintassi:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude-dir=selin[u]x
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir=selin[u]x
+ ```
- Se devi escludere più cartelle, utilizza la seguente sintassi:
+ 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}
- ```
+ ```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:
+ Se devi escludere un singolo file, utilizza la seguente sintassi:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude=sshd_config
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude=sshd_config
+ ```
- Se devi escludere più file, utilizza la seguente sintassi:
+ 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}
- ```
+ ```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:
+ 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]*}
- ```
+ ```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
- ```
+ ```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/2_grep_command.uk.md b/docs/books/sed_awk_grep/2_grep_command.uk.md
index 6729c1e654..24c8f74349 100644
--- a/docs/books/sed_awk_grep/2_grep_command.uk.md
+++ b/docs/books/sed_awk_grep/2_grep_command.uk.md
@@ -1,7 +1,7 @@
---
title: Команда Grep
author: tianci li
-contributors: null
+contributors:
tags:
- grep
---
@@ -74,207 +74,207 @@ directory or file control:
1. опція -f і опція -o
- ```bash
- Shell > cat /root/a
- abcdef
- 123456
- 338922549
- 24680
- hello world
-
- Shell > cat /root/b
- 12345
- test
- world
- aaaaa
-
- # Treat each line of file b as a matching pattern and output the lines that match file a.
- Shell > grep -f /root/b /root/a
- 123456
- hello world
-
- Shell > grep -f /root/b /root/a -o
- 12345
- world
- ```
+ ```bash
+ Shell > cat /root/a
+ abcdef
+ 123456
+ 338922549
+ 24680
+ hello world
+
+ Shell > cat /root/b
+ 12345
+ test
+ world
+ aaaaa
+
+ # Treat each line of file b as a matching pattern and output the lines that match file a.
+ Shell > grep -f /root/b /root/a
+ 123456
+ hello world
+
+ Shell > grep -f /root/b /root/a -o
+ 12345
+ world
+ ```
2. Зіставлення кількох шаблонів (за допомогою параметра -e)
- ```bash
- Shell > echo -e "a\nab\nbc\nbcde" | grep -e 'a' -e 'cd'
- a
- ab
- bcde
- ```
+ ```bash
+ Shell > echo -e "a\nab\nbc\nbcde" | grep -e 'a' -e 'cd'
+ a
+ ab
+ bcde
+ ```
- або:
+ або:
- ```bash
- Shell > echo -e "a\nab\nbc\nbcde" | grep -E "a|cd"
- a
- ab
- bcde
- ```
+ ```bash
+ Shell > echo -e "a\nab\nbc\nbcde" | grep -E "a|cd"
+ a
+ ab
+ bcde
+ ```
3. Видалення порожніх рядків та рядків коментарів із файлу конфігурації
- ```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
- ```
+ ```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. Друк 5 найкращих результатів, які збігаються
- ```bash
- Shell > seq 1 20 | grep -m 5 -E "[0-9]{2}"
- 10
- 11
- 12
- 13
- 14
- ```
-
- або:
-
- ```bash
- Shell > seq 1 20 | grep -m 5 "[0-9]\{2\}"
- 10
- 11
- 12
- 13
- 14
- ```
+ ```bash
+ Shell > seq 1 20 | grep -m 5 -E "[0-9]{2}"
+ 10
+ 11
+ 12
+ 13
+ 14
+ ```
+
+ або:
+
+ ```bash
+ Shell > seq 1 20 | grep -m 5 "[0-9]\{2\}"
+ 10
+ 11
+ 12
+ 13
+ 14
+ ```
5. Опція -B та опція -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
- ```
+ ```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. Опція -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
- ```
+ ```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. опція -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
+ ```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
- ```
+ Shell > cat /etc/ssh/sshd_config | grep -E -i "port" -c
+ 5
+ ```
8. опція -v
- ```bash
- Shell > cat /etc/ssh/sshd_config | grep -i -v -E "port" -c
- 140
- ```
+ ```bash
+ Shell > cat /etc/ssh/sshd_config | grep -i -v -E "port" -c
+ 140
+ ```
9. Фільтрувати файли в каталозі, які містять рядки, які відповідають рядку (виключити файли в підкаталогах)
- ```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
- ```
+ ```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. Фільтрувати файли в каталозі, які містять рядки, що відповідають рядку (включити або виключити файли або каталоги в підкаталогах)
- Включити синтаксис для кількох файлів:
+ Включити синтаксис для кількох файлів:
- ```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
+ ```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
- ```
+ 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
+ ```
- Якщо вам потрібно виключити один каталог, використовуйте такий синтаксис:
+ Якщо вам потрібно виключити один каталог, використовуйте такий синтаксис:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude-dir=selin[u]x
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir=selin[u]x
+ ```
- Якщо вам потрібно виключити кілька каталогів, використовуйте такий синтаксис:
+ Якщо вам потрібно виключити кілька каталогів, використовуйте такий синтаксис:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude-dir={selin[u]x,"profile.d",{a..z}ki,au[a-z]it}
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude-dir={selin[u]x,"profile.d",{a..z}ki,au[a-z]it}
+ ```
- Якщо вам потрібно виключити один файл, використовуйте такий синтаксис:
+ Якщо вам потрібно виключити один файл, використовуйте такий синтаксис:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude=sshd_config
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude=sshd_config
+ ```
- Якщо вам потрібно виключити кілька файлів, використовуйте такий синтаксис:
+ Якщо вам потрібно виключити кілька файлів, використовуйте такий синтаксис:
- ```bash
- Shell > grep -n -i -r -E "port" /etc/ --exclude={ssh[a-z]_config,*.conf,services}
- ```
+ ```bash
+ Shell > grep -n -i -r -E "port" /etc/ --exclude={ssh[a-z]_config,*.conf,services}
+ ```
- Якщо вам потрібно виключити кілька файлів і каталогів одночасно, використовуйте такий синтаксис:
+ Якщо вам потрібно виключити кілька файлів і каталогів одночасно, використовуйте такий синтаксис:
- ```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]*}
- ```
+ ```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. Підрахувати всі IPv4-адреси поточної машини
- ```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
- ```
+ ```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/3_sed_command.it.md b/docs/books/sed_awk_grep/3_sed_command.it.md
index 21e56286d2..fefe5fa10c 100644
--- a/docs/books/sed_awk_grep/3_sed_command.it.md
+++ b/docs/books/sed_awk_grep/3_sed_command.it.md
@@ -1,7 +1,7 @@
---
title: Comando Sed
author: tianci li
-contributors: null
+contributors:
tags:
- sed
---
@@ -26,7 +26,7 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
| :-----: | :--------------------------------------------------------------------------- |
| -n | Visualizza a video le righe di testo che saranno elaborate dal comando `sed` |
| -e | Esegue più comandi `sed` ai dati della riga di testo di input |
-| -f | Chiama ed esegue il file di script con i comandi per `sed` |
+| -t | Chiama ed esegue il file di script con i comandi per `sed` |
| -i | Modifica il file di origine |
| -r | Espressione regolare |
@@ -68,769 +68,769 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
1. Associa e visualizza (`p`)
- - Visualizza le righe che iniziano con la stringa netbios
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- ```
-
- !!! tip "Suggerimento"
-
- ```
- Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`.
- ```
-
- - Visualizza il testo da riga 23 a riga 26
-
- ```bash
- Shell > cat -n /etc/services | sed -n '23,26p'
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 24 tcpmux 1/udp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 26 rje 5/udp # Remote Job Entry
- ```
-
- - Visualizza solo le righe dispari
-
- ```bash
- Shell > cat -n /etc/services | sed -n '1~2p'
- 1 # /etc/services:
- 3 #
- 5 # IANA services version: last updated 2016-07-08
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 9 # even if the protocol doesn't support UDP operations.
- 11 # are included, only the more common ones.
- 13 # The latest IANA port assignments can be gotten from
- 15 # The Well Known Ports are those from 0 through 1023.
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- 19 # Each line describes one service, and is of the form:
- ...
- ```
-
- - Visualizza dalla riga 10 fino all'ultima riga
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$p'
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- 11 # are included, only the more common ones.
- 12 #
- 13 # The latest IANA port assignments can be gotten from
- 14 # http://www.iana.org/assignments/port-numbers
- 15 # The Well Known Ports are those from 0 through 1023.
- 16 # The Registered Ports are those from 1024 through 49151
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- ...
- ```
-
- - Non visualizzare dalla riga 10 in poi
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$!p'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Visualizza il numero di riga e il contenuto della stringa corrispondente
-
- ```bash
- Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
- 123
- netbios-ns 137/tcp # NETBIOS Name Service
- 124
- netbios-ns 137/udp
- 125
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126
- netbios-dgm 138/udp
- 127
- netbios-ssn 139/tcp # NETBIOS session service
- 128
- netbios-ssn 139/udp
- ```
-
- - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza
-
- Utilizzare la virgola per separare l'elenco delle stringhe di ricerca
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- imap 143/tcp imap2 # Interim Mail Access Proto v2
- ```
-
- !!! info "Informazione"
-
- ```
- **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
- **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
- ```
-
- ```bash
- Shell > grep -n ^netbios /etc/services
- 123:netbios-ns 137/tcp # NETBIOS Name Service
- 124:netbios-ns 137/udp
- 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126:netbios-dgm 138/udp
- 127:netbios-ssn 139/tcp # NETBIOS session service
- 128:netbios-ssn 139/udp
-
- Shell > grep -n ^imap /etc/services
- 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
- 130:imap 143/udp imap2
- 168:imap3 220/tcp # Interactive Mail Access
- 169:imap3 220/udp # Protocol v3
- 260:imaps 993/tcp # IMAP over SSL
- 261:imaps 993/udp # IMAP over SSL
- ```
-
- In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129
-
- - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,$p'
- ```
-
- - Usare le variabili negli script bash
-
- ```bash
- Shell > vim test1.sh
- #!/bin/bash
- a=10
-
- sed -n ''${a}',$!p' /etc/services
- # or
- sed -n "${a},\$!p" /etc/services
- ```
-
- - Espressione regolare
-
- Abbina soltanto Tre "Digits" + "/udp".
-
- ```bash
- Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
- sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
- auth 113/udp authentication tap ident
- sftp 115/udp
- uucp-path 117/udp
- nntp 119/udp readnews untp # USENET News Transfer Protocol
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/udp
- netbios-dgm 138/udp
- netbios-ssn 139/udp
- ...
- ```
+ - Visualizza le righe che iniziano con la stringa netbios
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ ```
+
+ !!! tip "Suggerimento"
+
+ ```
+ Come sappiamo bene, le virgolette doppie e singole in una shell ricoprono ruoli differenti. I caratteri **$**, **\`** e **\\** tra virgolette doppie hanno un significato speciale. Il consiglio è utilizzare le virgolette singole più spesso con il comando `sed`.
+ ```
+
+ - Visualizza il testo da riga 23 a riga 26
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '23,26p'
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 26 rje 5/udp # Remote Job Entry
+ ```
+
+ - Visualizza solo le righe dispari
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '1~2p'
+ 1 # /etc/services:
+ 3 #
+ 5 # IANA services version: last updated 2016-07-08
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 9 # even if the protocol doesn't support UDP operations.
+ 11 # are included, only the more common ones.
+ 13 # The latest IANA port assignments can be gotten from
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ 19 # Each line describes one service, and is of the form:
+ ...
+ ```
+
+ - Visualizza dalla riga 10 fino all'ultima riga
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$p'
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ 11 # are included, only the more common ones.
+ 12 #
+ 13 # The latest IANA port assignments can be gotten from
+ 14 # http://www.iana.org/assignments/port-numbers
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 16 # The Registered Ports are those from 1024 through 49151
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ ...
+ ```
+
+ - Non visualizzare dalla riga 10 in poi
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$!p'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Visualizza il numero di riga e il contenuto della stringa corrispondente
+
+ ```bash
+ Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
+ 123
+ netbios-ns 137/tcp # NETBIOS Name Service
+ 124
+ netbios-ns 137/udp
+ 125
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126
+ netbios-dgm 138/udp
+ 127
+ netbios-ssn 139/tcp # NETBIOS session service
+ 128
+ netbios-ssn 139/udp
+ ```
+
+ - Trova le corrispondenze nell'elenco delle stringhe e lo visualizza
+
+ Utilizzare la virgola per separare l'elenco delle stringhe di ricerca
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ imap 143/tcp imap2 # Interim Mail Access Proto v2
+ ```
+
+ !!! info "Informazione"
+
+ ```
+ **Stringa iniziale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
+ **Stringa finale**: Abbina la riga in cui si trova la stringa, mostrando solo la prima stringa che compare.
+ ```
+
+ ```bash
+ Shell > grep -n ^netbios /etc/services
+ 123:netbios-ns 137/tcp # NETBIOS Name Service
+ 124:netbios-ns 137/udp
+ 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126:netbios-dgm 138/udp
+ 127:netbios-ssn 139/tcp # NETBIOS session service
+ 128:netbios-ssn 139/udp
+
+ Shell > grep -n ^imap /etc/services
+ 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
+ 130:imap 143/udp imap2
+ 168:imap3 220/tcp # Interactive Mail Access
+ 169:imap3 220/udp # Protocol v3
+ 260:imaps 993/tcp # IMAP over SSL
+ 261:imaps 993/udp # IMAP over SSL
+ ```
+
+ In altre parole, i contenuti sopra visualizzati sono le righe dalla 123 alla 129
+
+ - Visualizza dalla riga in cui si trova la stringa fino all'ultima riga
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,$p'
+ ```
+
+ - Usare le variabili negli script bash
+
+ ```bash
+ Shell > vim test1.sh
+ #!/bin/bash
+ a=10
+
+ sed -n ''${a}',$!p' /etc/services
+ # or
+ sed -n "${a},\$!p" /etc/services
+ ```
+
+ - Espressione regolare
+
+ Abbina soltanto Tre "Digits" + "/udp".
+
+ ```bash
+ Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
+ sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
+ auth 113/udp authentication tap ident
+ sftp 115/udp
+ uucp-path 117/udp
+ nntp 119/udp readnews untp # USENET News Transfer Protocol
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/udp
+ netbios-dgm 138/udp
+ netbios-ssn 139/udp
+ ...
+ ```
2. Associa ed elimina (`d`)
- È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta.
-
- - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote
-
- ```bash
- Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
- tcpmux 1/tcp # TCP port service multiplexer
- rje 5/tcp # Remote Job Entry
- echo 7/tcp
- discard 9/tcp sink null
- systat 11/tcp users
- daytime 13/tcp
- qotd 17/tcp quote
- chargen 19/tcp ttytst source
- ftp-data 20/tcp
- ftp 21/tcp
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- telnet 23/tcp
- ...
- ```
-
- - Elimina le righe successive a quella specificata
-
- ```bash
- Shell > cat -n /etc/services | sed '10,$d'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Servizi di rete, stile di Internet
- 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08
- 6 #
- 7 # Nota che al momento la politica di IANA assegna un singolo ben noto
- 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi
- 9 # anche se il protocollo non supporta le operazioni UDP.
- ```
-
- - Espressione regolare
-
- ```bash
- Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ È simile alla stampa, tranne per il fatto che il comando operation è sostituito da `d` e l'opzione -n non è richiesta.
+
+ - Elimina tutte le righe corrispondenti alla stringa udp, ed elimina tutte le righe di commento o vuote
+
+ ```bash
+ Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
+ tcpmux 1/tcp # TCP port service multiplexer
+ rje 5/tcp # Remote Job Entry
+ echo 7/tcp
+ discard 9/tcp sink null
+ systat 11/tcp users
+ daytime 13/tcp
+ qotd 17/tcp quote
+ chargen 19/tcp ttytst source
+ ftp-data 20/tcp
+ ftp 21/tcp
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ telnet 23/tcp
+ ...
+ ```
+
+ - Elimina le righe successive a quella specificata
+
+ ```bash
+ Shell > cat -n /etc/services | sed '10,$d'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Servizi di rete, stile di Internet
+ 5 # Versione dei servizi di IANA: ultimo aggiornamento 2016-07-08
+ 6 #
+ 7 # Nota che al momento la politica di IANA assegna un singolo ben noto
+ 8 # numero di porta sia per TCP che UDP; dunque, la maggior parte delle voci, qui, contiene due elementi
+ 9 # anche se il protocollo non supporta le operazioni UDP.
+ ```
+
+ - Espressione regolare
+
+ ```bash
+ Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Sostituire stringhe (`s///g`)
- | Sintassi | Descrizione della sintassi |
- | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
- | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` |
-
- !!! tip "Suggerimento"
-
- ````
- Esempio nello script bash:
-
- ```bash
- Shell > vim /root/sedReplace.sh
- #!/bin/bash
- a="SELINUX=enforcing"
- b="SELINUX=disabled"
-
- sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
- # or
- sed -i "s/${a}/${b}/g" /etc/selinux/config
- ```
- ````
-
- - Sostituisci e visualizza
-
- ```bash
- Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
- SSH 22/tcp
- SSH 22/udp
- ```
-
- - Si utilizza il simbolo "&" come riferimento a una stringa
-
- ```bash
- Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
- ssh-SSH 22/tcp
- ssh-SSH 22/udp
- ```
-
- - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe
-
- ```bash
- Shell > grep ssh /etc/services -n
- 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
- 45:ssh 22/udp # The Secure Shell (SSH) Protocol
- 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
- 593:ssh 22/sctp # SSH
- 1351:sshell 614/tcp # SSLshell
- 1352:sshell 614/udp # SSLshell
- 1607:netconf-ssh 830/tcp # NETCONF over SSH
- 1608:netconf-ssh 830/udp # NETCONF over SSH
- 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
- 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
- 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
- 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
- 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
- 9126:tl1-ssh 6252/tcp # TL1 over SSH
- 9127:tl1-ssh 6252/udp # TL1 over SSH
- 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
- 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
-
- Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
- ssh 22/TCP # The Secure Shell (SSH) Protocol
- x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
- sshell 614/TCP # SSLshell
- netconf-ssh 830/TCP # NETCONF over SSH
- sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
- netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
- snmpssh 5161/TCP # SNMP over SSH Transport Model
- snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
- tl1-ssh 6252/TCP # TL1 over SSH
- ssh-mgmt 17235/TCP # SSH Tectia Manager
- ```
-
- - Sostituire una stringa per righe consecutive
-
- ```bash
- Shell > sed '10,30s/tcp/TCP/g' /etc/services
- ```
-
- - Impostare più match e sostituzioni
-
- ```bash
- Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
- ```
-
- - Sostituzione di gruppo con espressioni regolari
-
- Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via.
-
- ```bash
- Shell > cat /etc/services
- ...
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
- ...
- axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
- axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
- pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
- ```
-
- **\t**: è il carattere di tabulazione
-
- - Sostituisce tutte le righe di commento con il carattere blank space
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(^#.*)//g'
- ...
- chargen 19/udp ttytst source
- ftp-data 20/tcp
- ftp-data 20/udp
-
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ...
- ```
-
- - Sostituire un carattere alfabetico in minuscolo in maiuscolo
-
- ```bash
- Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
- hello,World
- POSIX
- ```
-
- - Scambiare di posizione le stringhe
-
- ```bash
- Shell > cat /etc/services
- ...
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Possiamo strutturare le righe del file in cinque parti:
-
- ```txt
- cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
- ↓ ↓ ↓ ↓ ↓
- (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
- ↓ ↓ ↓ ↓
- \1 \2 \3 \4
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
- ...
- edi_service udp/34567 # dhanalakshmi.org EDI Service
- axio-disc tcp/35100 # Axiomatic discovery protocol
- axio-disc udp/35100 # Axiomatic discovery protocol
- pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
- cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
- spremotetablet tcp/46998 # Capture handwritten signatures
- ```
-
- - Rimuovere tutti i spazi
-
- ```bash
- Shell > echo -e "abcd\t1 2 3 4\tWorld"
- abcd 1 2 3 4 World
- Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
- abcd1234World
- ```
+ | Sintassi | Descrizione della sintassi |
+ | :---------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+ | `sed 's/string/replace/g' FILENAME` | **s**: Tutte le righe da considerare nel file. Si può anche specificare un intervallo di righe, ad esempio: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (globale): Se non c'è g, significa che quando più stringhe corrispondenti appaiono su una singola riga, viene sostituita solo la prima stringa corrispondente. **/**: Stile delimitatore. Si possono anche specificare altri stili, ad esempio:`sed '20,200s?netbios?TMP?g' /etc/services\` |
+
+ !!! tip "Suggerimento"
+
+ ````
+ Esempio nello script bash:
+
+ ```bash
+ Shell > vim /root/sedReplace.sh
+ #!/bin/bash
+ a="SELINUX=enforcing"
+ b="SELINUX=disabled"
+
+ sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
+ # or
+ sed -i "s/${a}/${b}/g" /etc/selinux/config
+ ```
+ ````
+
+ - Sostituisci e visualizza
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
+ SSH 22/tcp
+ SSH 22/udp
+ ```
+
+ - Si utilizza il simbolo "&" come riferimento a una stringa
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
+ ssh-SSH 22/tcp
+ ssh-SSH 22/udp
+ ```
+
+ - Utilizza una stringa per individuare una o più righe e sostituire la stringa specificata entro l'intervallo di righe
+
+ ```bash
+ Shell > grep ssh /etc/services -n
+ 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
+ 45:ssh 22/udp # The Secure Shell (SSH) Protocol
+ 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
+ 593:ssh 22/sctp # SSH
+ 1351:sshell 614/tcp # SSLshell
+ 1352:sshell 614/udp # SSLshell
+ 1607:netconf-ssh 830/tcp # NETCONF over SSH
+ 1608:netconf-ssh 830/udp # NETCONF over SSH
+ 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
+ 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
+ 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
+ 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
+ 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
+ 9126:tl1-ssh 6252/tcp # TL1 over SSH
+ 9127:tl1-ssh 6252/udp # TL1 over SSH
+ 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
+ 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
+
+ Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
+ ssh 22/TCP # The Secure Shell (SSH) Protocol
+ x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
+ sshell 614/TCP # SSLshell
+ netconf-ssh 830/TCP # NETCONF over SSH
+ sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
+ netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
+ snmpssh 5161/TCP # SNMP over SSH Transport Model
+ snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
+ tl1-ssh 6252/TCP # TL1 over SSH
+ ssh-mgmt 17235/TCP # SSH Tectia Manager
+ ```
+
+ - Sostituire una stringa per righe consecutive
+
+ ```bash
+ Shell > sed '10,30s/tcp/TCP/g' /etc/services
+ ```
+
+ - Impostare più match e sostituzioni
+
+ ```bash
+ Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
+ ```
+
+ - Sostituzione di gruppo con espressioni regolari
+
+ Nelle espressioni regolari, ogni "()" è un raggruppamento. \1 rappresenta il riferimento al gruppo 1, \2 rappresenta il riferimento al gruppo 2, e così via.
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
+ ...
+ axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
+ axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
+ pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
+ ```
+
+ **\t**: è il carattere di tabulazione
+
+ - Sostituisce tutte le righe di commento con il carattere blank space
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(^#.*)//g'
+ ...
+ chargen 19/udp ttytst source
+ ftp-data 20/tcp
+ ftp-data 20/udp
+
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ...
+ ```
+
+ - Sostituire un carattere alfabetico in minuscolo in maiuscolo
+
+ ```bash
+ Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
+ hello,World
+ POSIX
+ ```
+
+ - Scambiare di posizione le stringhe
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Possiamo strutturare le righe del file in cinque parti:
+
+ ```txt
+ cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
+ ↓ ↓ ↓ ↓ ↓
+ (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
+ ↓ ↓ ↓ ↓
+ \1 \2 \3 \4
+ ```
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
+ ...
+ edi_service udp/34567 # dhanalakshmi.org EDI Service
+ axio-disc tcp/35100 # Axiomatic discovery protocol
+ axio-disc udp/35100 # Axiomatic discovery protocol
+ pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
+ spremotetablet tcp/46998 # Capture handwritten signatures
+ ```
+
+ - Rimuovere tutti i spazi
+
+ ```bash
+ Shell > echo -e "abcd\t1 2 3 4\tWorld"
+ abcd 1 2 3 4 World
+ Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
+ abcd1234World
+ ```
4. Eseguire più volte seq utilizzando l'opzione -e
- Nell'esempio seguente:
-
- ```bash
- Shell > tail -n 10 /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
- # or
- Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ Nell'esempio seguente:
+
+ ```bash
+ Shell > tail -n 10 /etc/services
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
+ # or
+ Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
5. Aggiungere contenuti sopra o sotto una certa riga (`i` e `a`)
- - Aggiungi due righe sopra la riga specificata dal numero di riga
-
- ```bash
- Shell > tail -n 10 /etc/services > /root/test.txt
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '3i 123\
- abc'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 123
- abc
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Aggiungere tre righe sotto la riga specificata dal numero
-
- ```bash
- Shell > cat /root/test.txt | sed '5a 123\
- comment yes\
- tcp or udp'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- 123
- comment yes
- tcp or udp
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna
-
- ```bash
- Shell > cat /root/test.txt | sed '/tcp/iTCP\
- UDP'
- TCP
- UDP
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- TCP
- UDP
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- TCP
- UDP
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- TCP
- UDP
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- TCP
- UDP
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- TCP
- UDP
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ - Aggiungi due righe sopra la riga specificata dal numero di riga
+
+ ```bash
+ Shell > tail -n 10 /etc/services > /root/test.txt
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '3i 123\
+ abc'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 123
+ abc
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Aggiungere tre righe sotto la riga specificata dal numero
+
+ ```bash
+ Shell > cat /root/test.txt | sed '5a 123\
+ comment yes\
+ tcp or udp'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ 123
+ comment yes
+ tcp or udp
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Trovare le righe che contengono una stringa e aggiungere 2 righe di testo sopra ognuna
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/tcp/iTCP\
+ UDP'
+ TCP
+ UDP
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ TCP
+ UDP
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ TCP
+ UDP
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ TCP
+ UDP
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ TCP
+ UDP
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ TCP
+ UDP
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
6. Sostituire righe (\`c)
- - Individua una o più righe contenenti una stringa e sostituire con righe di testo
-
- ```bash
- Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
- TMP2'
- TMP1
- TMP2
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- TMP1
- TMP2
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Sostituire una singola riga
-
- ```bash
- Shell > cat /root/test.txt | sed '7c REPLACE'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- REPLACE
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Sostituire righe consecutive di testo
-
- ```bash
- Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
- replace2'
- aigairserver 21221/tcp # Services for Air Server
- REPLACE1
- replace2
- ```
-
- - Sostituire tutte le righe di posizione pari
-
- ```bash
- Shell > cat /root/test.txt | sed '2~2c replace'
- aigairserver 21221/tcp # Services for Air Server
- replace
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- replace
- axio-disc 35100/tcp # Axiomatic discovery protocol
- replace
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- replace
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- replace
- ```
+ - Individua una o più righe contenenti una stringa e sostituire con righe di testo
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
+ TMP2'
+ TMP1
+ TMP2
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ TMP1
+ TMP2
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Sostituire una singola riga
+
+ ```bash
+ Shell > cat /root/test.txt | sed '7c REPLACE'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ REPLACE
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Sostituire righe consecutive di testo
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
+ replace2'
+ aigairserver 21221/tcp # Services for Air Server
+ REPLACE1
+ replace2
+ ```
+
+ - Sostituire tutte le righe di posizione pari
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2~2c replace'
+ aigairserver 21221/tcp # Services for Air Server
+ replace
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ replace
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ replace
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ replace
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ replace
+ ```
7. Leggere le righe del file e aggiungere del testo sotto la riga corrispondente (`r`)
- ```bash
- Shell > cat /root/app.txt
- append1
- POSIX
- UNIX
-
- Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- append1
- POSIX
- UNIX
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ ```bash
+ Shell > cat /root/app.txt
+ append1
+ POSIX
+ UNIX
+
+ Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ append1
+ POSIX
+ UNIX
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
8. Trascrivere le righe con un match in un altro file (`w`)
- ```bash
- Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
+ ```bash
+ Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
- Shell > cat /root/storage.txt
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
+ Shell > cat /root/storage.txt
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ ```
9. Leggere/aggiungere la riga successiva di input nel "pattern space"(`n` e `N`)
- - Visualizza la riga successiva alla riga trovata
-
- ```bash
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- !!! tip "Suggerimento"
-
- ```
- Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**".
- ```
-
- - Visualizzare righe di testo pari
-
- Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via.
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '2~2p'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Visualizza righe di testo dispari
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{p;n}'
- # or
- Shell > cat -n /root/test.txt | sed -n '1~2p'
- # or
- Shell > cat -n /root/test.txt | sed 'n;d'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- - Visualizza le righe multiple di 3
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '3~3p'
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- - `N`
-
- Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire.
-
- ```bash
- Shell > seq 1 10 | sed 'N;q'
- 1
- 2
- ```
-
- Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente:
-
- ```bash
- Shell > seq 1 9 | sed -n 'N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- ```
-
- Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente:
-
- ```bash
- Shell > seq 1 9 | sed -n '$!N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- ```
-
- Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto.
-
- ```bash
- Shell > seq 1 6 | sed 'N;{s/\n//g}'
- 12
- 34
- 56
- ```
+ - Visualizza la riga successiva alla riga trovata
+
+ ```bash
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ !!! tip "Suggerimento"
+
+ ```
+ Più comandi `sed` potrebbero influenzarsi a vicenda, per ridurre questa eventualità utilizzare "**{ }**".
+ ```
+
+ - Visualizzare righe di testo pari
+
+ Prima, legge la prima riga, essendo presente un comando `n`, la seconda riga sarà visualizzata, e così via.
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '2~2p'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Visualizza righe di testo dispari
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{p;n}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '1~2p'
+ # or
+ Shell > cat -n /root/test.txt | sed 'n;d'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - Visualizza le righe multiple di 3
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '3~3p'
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - `N`
+
+ Legge la prima riga e aggiungi una riga dopo aver incontrato il comando `N`. In questo esempio, il "pattern space" è "1\n2". Infine, esegue il comando `q` per uscire.
+
+ ```bash
+ Shell > seq 1 10 | sed 'N;q'
+ 1
+ 2
+ ```
+
+ Poiché non è presente alcuna riga dopo la riga 9, il risultato sarà il seguente:
+
+ ```bash
+ Shell > seq 1 9 | sed -n 'N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ ```
+
+ Quando l'ultima riga viene letta, il comando `N` non viene eseguito e il risultato è il seguente:
+
+ ```bash
+ Shell > seq 1 9 | sed -n '$!N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ ```
+
+ Unire due righe in una. Sostituisce "\n" del "pattern space" con un carattere vuoto.
+
+ ```bash
+ Shell > seq 1 6 | sed 'N;{s/\n//g}'
+ 12
+ 34
+ 56
+ ```
10. Ignorare un caso (`I`)
- Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`.
+ Sembra non esser presente alcuna informazione in merito all'ignorare casi in `man 1 sed`.
- ```bash
- Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
- Xbc
- XBC
- ```
+ ```bash
+ Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
+ Xbc
+ XBC
+ ```
- ```bash
- Shell > cat /etc/services | sed '/OEM/Ip' -n
- oem-agent 3872/tcp # OEM Agent
- oem-agent 3872/udp # OEM Agent
- oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
- oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
- oemcacao-websvc 11175/tcp # OEM cacao web service access point
- ```
+ ```bash
+ Shell > cat /etc/services | sed '/OEM/Ip' -n
+ oem-agent 3872/tcp # OEM Agent
+ oem-agent 3872/udp # OEM Agent
+ oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
+ oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
+ oemcacao-websvc 11175/tcp # OEM cacao web service access point
+ ```
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
- ```
+ ```bash
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
+ ```
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
- ```
+ ```bash
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
+ ```
11. Calcola il numero totale di righe in un file
- ```bash
- Shell > cat /etc/services | sed -n '$='
- # or
- Shell > cat /etc/services | wc -l
+ ```bash
+ Shell > cat /etc/services | sed -n '$='
+ # or
+ Shell > cat /etc/services | wc -l
- 11473
- ```
+ 11473
+ ```
diff --git a/docs/books/sed_awk_grep/3_sed_command.uk.md b/docs/books/sed_awk_grep/3_sed_command.uk.md
index 1726827043..138fc0e67d 100644
--- a/docs/books/sed_awk_grep/3_sed_command.uk.md
+++ b/docs/books/sed_awk_grep/3_sed_command.uk.md
@@ -1,7 +1,7 @@
---
title: Команда Sed
author: tianci li
-contributors: null
+contributors:
tags:
- sed
---
@@ -68,769 +68,769 @@ sed [OPTION]... {script-only-if-no-other-script} [input-file]...
1. Зіставлення та друк (`p`)
- - Надрукуйте рядок, який починається з рядка NetBIOS
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- ```
-
- !!! tip "Підказка"
-
- ```
- Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`.
- ```
-
- - Вивести текст з 23 по 26 рядки
-
- ```bash
- Shell > cat -n /etc/services | sed -n '23,26p'
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 24 tcpmux 1/udp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 26 rje 5/udp # Remote Job Entry
- ```
-
- - Друкувати непарні рядки
-
- ```bash
- Shell > cat -n /etc/services | sed -n '1~2p'
- 1 # /etc/services:
- 3 #
- 5 # IANA services version: last updated 2016-07-08
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 9 # even if the protocol doesn't support UDP operations.
- 11 # are included, only the more common ones.
- 13 # The latest IANA port assignments can be gotten from
- 15 # The Well Known Ports are those from 0 through 1023.
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- 19 # Each line describes one service, and is of the form:
- ...
- ```
-
- - Вивести рядок 10 до останнього рядка
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$p'
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- 11 # are included, only the more common ones.
- 12 #
- 13 # The latest IANA port assignments can be gotten from
- 14 # http://www.iana.org/assignments/port-numbers
- 15 # The Well Known Ports are those from 0 through 1023.
- 16 # The Registered Ports are those from 1024 through 49151
- 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
- ...
- ```
-
- - Рядки з 10 до останнього не друкувати
-
- ```bash
- Shell > cat -n /etc/services | sed -n '10,$!p'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Надрукуйте номер рядка та вміст відповідного рядка
-
- ```bash
- Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
- 123
- netbios-ns 137/tcp # NETBIOS Name Service
- 124
- netbios-ns 137/udp
- 125
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126
- netbios-dgm 138/udp
- 127
- netbios-ssn 139/tcp # NETBIOS session service
- 128
- netbios-ssn 139/udp
- ```
-
- - Зіставте діапазон рядків і надрукуйте його
-
- Використовуйте коми для розділення діапазонів рядків
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/tcp # NETBIOS session service
- netbios-ssn 139/udp
- imap 143/tcp imap2 # Interim Mail Access Proto v2
- ```
-
- !!! info "примітка"
-
- ```
- **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється.
- **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється.
- ```
-
- ```bash
- Shell > grep -n ^netbios /etc/services
- 123:netbios-ns 137/tcp # NETBIOS Name Service
- 124:netbios-ns 137/udp
- 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
- 126:netbios-dgm 138/udp
- 127:netbios-ssn 139/tcp # NETBIOS session service
- 128:netbios-ssn 139/udp
-
- Shell > grep -n ^imap /etc/services
- 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
- 130:imap 143/udp imap2
- 168:imap3 220/tcp # Interactive Mail Access
- 169:imap3 220/udp # Protocol v3
- 260:imaps 993/tcp # IMAP over SSL
- 261:imaps 993/udp # IMAP over SSL
- ```
-
- Іншими словами, вміст, надрукований вище, це рядки з 123 по 129
-
- - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка
-
- ```bash
- Shell > cat /etc/services | sed -n '/^netbios/,$p'
- ```
-
- - Використання змінних у сценаріях bash
-
- ```bash
- Shell > vim test1.sh
- #!/bin/bash
- a=10
-
- sed -n ''${a}',$!p' /etc/services
- # or
- sed -n "${a},\$!p" /etc/services
- ```
-
- - Регулярний вираз
-
- Відповідає лише "Три цифри" + "/udp".
-
- ```bash
- Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
- sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
- auth 113/udp authentication tap ident
- sftp 115/udp
- uucp-path 117/udp
- nntp 119/udp readnews untp # USENET News Transfer Protocol
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/udp
- netbios-dgm 138/udp
- netbios-ssn 139/udp
- ...
- ```
+ - Надрукуйте рядок, який починається з рядка NetBIOS
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ ```
+
+ !!! tip "Підказка"
+
+ ```
+ Як ми всі знаємо, подвійні та одинарні лапки в оболонці відіграють різну роль. **$**, **\`** і **\\** у подвійних лапках мають особливе значення. Рекомендовано використовувати одинарні лапки частіше під час використання команди `sed`.
+ ```
+
+ - Вивести текст з 23 по 26 рядки
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '23,26p'
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 26 rje 5/udp # Remote Job Entry
+ ```
+
+ - Друкувати непарні рядки
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '1~2p'
+ 1 # /etc/services:
+ 3 #
+ 5 # IANA services version: last updated 2016-07-08
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 9 # even if the protocol doesn't support UDP operations.
+ 11 # are included, only the more common ones.
+ 13 # The latest IANA port assignments can be gotten from
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ 19 # Each line describes one service, and is of the form:
+ ...
+ ```
+
+ - Вивести рядок 10 до останнього рядка
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$p'
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ 11 # are included, only the more common ones.
+ 12 #
+ 13 # The latest IANA port assignments can be gotten from
+ 14 # http://www.iana.org/assignments/port-numbers
+ 15 # The Well Known Ports are those from 0 through 1023.
+ 16 # The Registered Ports are those from 1024 through 49151
+ 17 # The Dynamic and/or Private Ports are those from 49152 through 65535
+ ...
+ ```
+
+ - Рядки з 10 до останнього не друкувати
+
+ ```bash
+ Shell > cat -n /etc/services | sed -n '10,$!p'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Надрукуйте номер рядка та вміст відповідного рядка
+
+ ```bash
+ Shell > sed -n -e '/netbios/=' -e '/netbios/p' /etc/services
+ 123
+ netbios-ns 137/tcp # NETBIOS Name Service
+ 124
+ netbios-ns 137/udp
+ 125
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126
+ netbios-dgm 138/udp
+ 127
+ netbios-ssn 139/tcp # NETBIOS session service
+ 128
+ netbios-ssn 139/udp
+ ```
+
+ - Зіставте діапазон рядків і надрукуйте його
+
+ Використовуйте коми для розділення діапазонів рядків
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,/^imap/p'
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/tcp # NETBIOS session service
+ netbios-ssn 139/udp
+ imap 143/tcp imap2 # Interim Mail Access Proto v2
+ ```
+
+ !!! info "примітка"
+
+ ```
+ **Початок діапазону**: відповідність рядку, де розташований рядок, лише збігання з першим рядком, який з’являється.
+ **Кінець діапазону**: збігається з рядком, у якому розташований рядок, лише з першим рядком, який з’являється.
+ ```
+
+ ```bash
+ Shell > grep -n ^netbios /etc/services
+ 123:netbios-ns 137/tcp # NETBIOS Name Service
+ 124:netbios-ns 137/udp
+ 125:netbios-dgm 138/tcp # NETBIOS Datagram Service
+ 126:netbios-dgm 138/udp
+ 127:netbios-ssn 139/tcp # NETBIOS session service
+ 128:netbios-ssn 139/udp
+
+ Shell > grep -n ^imap /etc/services
+ 129:imap 143/tcp imap2 # Interim Mail Access Proto v2
+ 130:imap 143/udp imap2
+ 168:imap3 220/tcp # Interactive Mail Access
+ 169:imap3 220/udp # Protocol v3
+ 260:imaps 993/tcp # IMAP over SSL
+ 261:imaps 993/udp # IMAP over SSL
+ ```
+
+ Іншими словами, вміст, надрукований вище, це рядки з 123 по 129
+
+ - Надрукуйте рядок, де знаходиться рядок, і до останнього рядка
+
+ ```bash
+ Shell > cat /etc/services | sed -n '/^netbios/,$p'
+ ```
+
+ - Використання змінних у сценаріях bash
+
+ ```bash
+ Shell > vim test1.sh
+ #!/bin/bash
+ a=10
+
+ sed -n ''${a}',$!p' /etc/services
+ # or
+ sed -n "${a},\$!p" /etc/services
+ ```
+
+ - Регулярний вираз
+
+ Відповідає лише "Три цифри" + "/udp".
+
+ ```bash
+ Shell > cat /etc/services | sed -r -n '/[^0-9]([1-9]{3}\/udp)/p'
+ sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP
+ auth 113/udp authentication tap ident
+ sftp 115/udp
+ uucp-path 117/udp
+ nntp 119/udp readnews untp # USENET News Transfer Protocol
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/udp
+ netbios-dgm 138/udp
+ netbios-ssn 139/udp
+ ...
+ ```
2. Зіставити та видалити (`d`)
- Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен.
-
- - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки
-
- ```bash
- Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
- tcpmux 1/tcp # TCP port service multiplexer
- rje 5/tcp # Remote Job Entry
- echo 7/tcp
- discard 9/tcp sink null
- systat 11/tcp users
- daytime 13/tcp
- qotd 17/tcp quote
- chargen 19/tcp ttytst source
- ftp-data 20/tcp
- ftp 21/tcp
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- telnet 23/tcp
- ...
- ```
-
- - Видалити послідовні рядки тексту
-
- ```bash
- Shell > cat -n /etc/services | sed '10,$d'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- ```
-
- - Регулярний вираз
-
- ```bash
- Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ Це схоже на друк, за винятком того, що команду операції замінено на `d`, а параметр -n не потрібен.
+
+ - Видалити всі рядки, які відповідають рядку udp, видалити всі рядки коментарів і видалити всі порожні рядки
+
+ ```bash
+ Shell > sed -e '/udp/d' -e '/^#/d' -e '/^$/d' /etc/services
+ tcpmux 1/tcp # TCP port service multiplexer
+ rje 5/tcp # Remote Job Entry
+ echo 7/tcp
+ discard 9/tcp sink null
+ systat 11/tcp users
+ daytime 13/tcp
+ qotd 17/tcp quote
+ chargen 19/tcp ttytst source
+ ftp-data 20/tcp
+ ftp 21/tcp
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ telnet 23/tcp
+ ...
+ ```
+
+ - Видалити послідовні рядки тексту
+
+ ```bash
+ Shell > cat -n /etc/services | sed '10,$d'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ ```
+
+ - Регулярний вираз
+
+ ```bash
+ Shell > cat /etc/services | sed -r '/(tcp)|(udp)|(^#)|(^$)/d'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Замінити рядки (`s///g`)
- | Синтаксис | Опис синтаксису |
- | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
- | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` |
-
- !!! tip "Підказка"
-
- ````
- Example in the bash script:
-
- ```bash
- Shell > vim /root/sedReplace.sh
- #!/bin/bash
- a="SELINUX=enforcing"
- b="SELINUX=disabled"
-
- sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
- # or
- sed -i "s/${a}/${b}/g" /etc/selinux/config
- ```
- ````
-
- - Замініть і роздрукуйте
-
- ```bash
- Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
- SSH 22/tcp
- SSH 22/udp
- ```
-
- - Використовуйте символ "&", щоб посилатися на рядок
-
- ```bash
- Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
- ssh-SSH 22/tcp
- ssh-SSH 22/udp
- ```
-
- - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків
-
- ```bash
- Shell > grep ssh /etc/services -n
- 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
- 45:ssh 22/udp # The Secure Shell (SSH) Protocol
- 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
- 593:ssh 22/sctp # SSH
- 1351:sshell 614/tcp # SSLshell
- 1352:sshell 614/udp # SSLshell
- 1607:netconf-ssh 830/tcp # NETCONF over SSH
- 1608:netconf-ssh 830/udp # NETCONF over SSH
- 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
- 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
- 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
- 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
- 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
- 9126:tl1-ssh 6252/tcp # TL1 over SSH
- 9127:tl1-ssh 6252/udp # TL1 over SSH
- 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
- 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
-
- Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
- ssh 22/TCP # The Secure Shell (SSH) Protocol
- x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
- sshell 614/TCP # SSLshell
- netconf-ssh 830/TCP # NETCONF over SSH
- sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
- netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
- snmpssh 5161/TCP # SNMP over SSH Transport Model
- snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
- tl1-ssh 6252/TCP # TL1 over SSH
- ssh-mgmt 17235/TCP # SSH Tectia Manager
- ```
-
- - Заміна рядка для послідовних рядків
-
- ```bash
- Shell > sed '10,30s/tcp/TCP/g' /etc/services
- ```
-
- - Кілька збігів і замін
-
- ```bash
- Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
- ```
-
- - Групова заміна регулярних виразів
-
- У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі.
-
- ```bash
- Shell > cat /etc/services
- ...
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
- ...
- axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
- axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
- pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
- ```
-
- **\t**: тобто вкладка
-
- - Замініть усі рядки коментарів порожніми
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(^#.*)//g'
- ...
- chargen 19/udp ttytst source
- ftp-data 20/tcp
- ftp-data 20/udp
-
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ...
- ```
-
- - Замініть одну з малих літер слова великою
-
- ```bash
- Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
- hello,World
- POSIX
- ```
-
- - Зміна позиції рядка
-
- ```bash
- Shell > cat /etc/services
- ...
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Ми можемо розділити цей файл на п'ять частин:
-
- ```txt
- cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
- ↓ ↓ ↓ ↓ ↓
- (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
- ↓ ↓ ↓ ↓
- \1 \2 \3 \4
- ```
-
- ```bash
- Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
- ...
- edi_service udp/34567 # dhanalakshmi.org EDI Service
- axio-disc tcp/35100 # Axiomatic discovery protocol
- axio-disc udp/35100 # Axiomatic discovery protocol
- pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
- cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
- spremotetablet tcp/46998 # Capture handwritten signatures
- ```
-
- - Видаліть усі пробіли
-
- ```bash
- Shell > echo -e "abcd\t1 2 3 4\tWorld"
- abcd 1 2 3 4 World
- Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
- abcd1234World
- ```
+ | Синтаксис | Опис синтаксису |
+ | :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+ | `sed 's/string/replace/g' FILENAME` | **s**: усі рядки, що представляють вміст файлу. Ви також можете вказати діапазон рядків, наприклад: `sed '20,200s/netbios/TMP/g' /etc/services. **g** (Глобальне): Якщо g відсутнє, це означає, що коли в одному рядку з'являється кілька співпадаючих рядків, буде замінено лише перший співпадаючий рядок. **/**: Стиль роздільника. Ви також можете вказати інші стилі, наприклад: `sed '20,200s?netbios?TMP?g' /etc/services\` |
+
+ !!! tip "Підказка"
+
+ ````
+ Example in the bash script:
+
+ ```bash
+ Shell > vim /root/sedReplace.sh
+ #!/bin/bash
+ a="SELINUX=enforcing"
+ b="SELINUX=disabled"
+
+ sed -i 's/'${a}'/'${b}'/g' /etc/selinux/config
+ # or
+ sed -i "s/${a}/${b}/g" /etc/selinux/config
+ ```
+ ````
+
+ - Замініть і роздрукуйте
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/SSH/gp' /etc/services
+ SSH 22/tcp
+ SSH 22/udp
+ ```
+
+ - Використовуйте символ "&", щоб посилатися на рядок
+
+ ```bash
+ Shell > sed -n '44,45s/ssh/&-SSH/gp' /etc/services
+ ssh-SSH 22/tcp
+ ssh-SSH 22/udp
+ ```
+
+ - Використовуйте рядок, щоб знайти один або кілька рядків і замінити вказаний рядок у діапазоні рядків
+
+ ```bash
+ Shell > grep ssh /etc/services -n
+ 44:ssh 22/tcp # The Secure Shell (SSH) Protocol
+ 45:ssh 22/udp # The Secure Shell (SSH) Protocol
+ 551:x11-ssh-offset 6010/tcp # SSH X11 forwarding offset
+ 593:ssh 22/sctp # SSH
+ 1351:sshell 614/tcp # SSLshell
+ 1352:sshell 614/udp # SSLshell
+ 1607:netconf-ssh 830/tcp # NETCONF over SSH
+ 1608:netconf-ssh 830/udp # NETCONF over SSH
+ 7178:sdo-ssh 3897/tcp # Simple Distributed Objects over SSH
+ 7179:sdo-ssh 3897/udp # Simple Distributed Objects over SSH
+ 7791:netconf-ch-ssh 4334/tcp # NETCONF Call Home (SSH)
+ 8473:snmpssh 5161/tcp # SNMP over SSH Transport Model
+ 8474:snmpssh-trap 5162/tcp # SNMP Notification over SSH Transport Model
+ 9126:tl1-ssh 6252/tcp # TL1 over SSH
+ 9127:tl1-ssh 6252/udp # TL1 over SSH
+ 10796:ssh-mgmt 17235/tcp # SSH Tectia Manager
+ 10797:ssh-mgmt 17235/udp # SSH Tectia Manager
+
+ Shell > sed '/ssh/s/tcp/TCP/gp' -n /etc/services
+ ssh 22/TCP # The Secure Shell (SSH) Protocol
+ x11-ssh-offset 6010/TCP # SSH X11 forwarding offset
+ sshell 614/TCP # SSLshell
+ netconf-ssh 830/TCP # NETCONF over SSH
+ sdo-ssh 3897/TCP # Simple Distributed Objects over SSH
+ netconf-ch-ssh 4334/TCP # NETCONF Call Home (SSH)
+ snmpssh 5161/TCP # SNMP over SSH Transport Model
+ snmpssh-trap 5162/TCP # SNMP Notification over SSH Transport Model
+ tl1-ssh 6252/TCP # TL1 over SSH
+ ssh-mgmt 17235/TCP # SSH Tectia Manager
+ ```
+
+ - Заміна рядка для послідовних рядків
+
+ ```bash
+ Shell > sed '10,30s/tcp/TCP/g' /etc/services
+ ```
+
+ - Кілька збігів і замін
+
+ ```bash
+ Shell > cat /etc/services | sed 's/netbios/test1/g ; s/^#//d ; s/dhcp/&t2/g'
+ ```
+
+ - Групова заміна регулярних виразів
+
+ У регулярних виразах "()" є групуванням. \1 представляє референтну групу 1, \2 представляє референтну групу 2 і так далі.
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /etc/services | sed -r 's/([0-9]*\/tcp)/\1\tCONTENT1/g ; s/([0-9]*\/udp)/\1\tADD2/g'
+ ...
+ axio-disc 35100/tcp CONTENT1 # Axiomatic discovery protocol
+ axio-disc 35100/udp ADD2 # Axiomatic discovery protocol
+ pmwebapi 44323/tcp CONTENT1 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp ADD2 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp CONTENT1 # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp CONTENT1 # Capture handwritten signatures
+ ```
+
+ **\t**: тобто вкладка
+
+ - Замініть усі рядки коментарів порожніми
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(^#.*)//g'
+ ...
+ chargen 19/udp ttytst source
+ ftp-data 20/tcp
+ ftp-data 20/udp
+
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ...
+ ```
+
+ - Замініть одну з малих літер слова великою
+
+ ```bash
+ Shell > echo -e "hello,world\nPOSIX" | sed -r 's/(.*)w/\1W/g'
+ hello,World
+ POSIX
+ ```
+
+ - Зміна позиції рядка
+
+ ```bash
+ Shell > cat /etc/services
+ ...
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Ми можемо розділити цей файл на п'ять частин:
+
+ ```txt
+ cloudcheck-ping 45514 / udp # ASSIA CloudCheck WiFi Management keepalive
+ ↓ ↓ ↓ ↓ ↓
+ (.*) (\<[0-9]+\>) \/ (tcp|udp) (.*)
+ ↓ ↓ ↓ ↓
+ \1 \2 \3 \4
+ ```
+
+ ```bash
+ Shell > cat /etc/services | sed -r 's/(.*)(\<[0-9]+\>)\/(tcp|udp)(.*)/\1\3\/\2\4/g'
+ ...
+ edi_service udp/34567 # dhanalakshmi.org EDI Service
+ axio-disc tcp/35100 # Axiomatic discovery protocol
+ axio-disc udp/35100 # Axiomatic discovery protocol
+ pmwebapi tcp/44323 # Performance Co-Pilot client HTTP API
+ cloudcheck-ping udp/45514 # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck tcp/45514 # ASSIA CloudCheck WiFi Management System
+ spremotetablet tcp/46998 # Capture handwritten signatures
+ ```
+
+ - Видаліть усі пробіли
+
+ ```bash
+ Shell > echo -e "abcd\t1 2 3 4\tWorld"
+ abcd 1 2 3 4 World
+ Shell > echo -e "abcd\t1 2 3 4\tWorld" | sed -r 's/(\s)*//g'
+ abcd1234World
+ ```
4. Виконайте кілька разів за допомогою параметра -e
- Наступний приклад:
-
- ```bash
- Shell > tail -n 10 /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
- # or
- Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ Наступний приклад:
+
+ ```bash
+ Shell > tail -n 10 /etc/services
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 10 /etc/services | sed -e '1,3d' -e '/cloud/s/ping/PING/g'
+ # or
+ Shell > tail -n 10 /etc/services | sed '1,3d ; /cloud/s/ping/PING/g'
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-PING 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
5. Додайте вміст над або під певним рядком («i» і «a»)
- - Додайте два рядки вмісту над вказаним номером рядка
-
- ```bash
- Shell > tail -n 10 /etc/services > /root/test.txt
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '3i 123\
- abc'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 123
- abc
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Додайте три рядки під вказаним номером рядка
-
- ```bash
- Shell > cat /root/test.txt | sed '5a 123\
- comment yes\
- tcp or udp'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- 123
- comment yes
- tcp or udp
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним
-
- ```bash
- Shell > cat /root/test.txt | sed '/tcp/iTCP\
- UDP'
- TCP
- UDP
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- TCP
- UDP
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- TCP
- UDP
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- TCP
- UDP
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- TCP
- UDP
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- TCP
- UDP
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ - Додайте два рядки вмісту над вказаним номером рядка
+
+ ```bash
+ Shell > tail -n 10 /etc/services > /root/test.txt
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '3i 123\
+ abc'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 123
+ abc
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Додайте три рядки під вказаним номером рядка
+
+ ```bash
+ Shell > cat /root/test.txt | sed '5a 123\
+ comment yes\
+ tcp or udp'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ 123
+ comment yes
+ tcp or udp
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Зіставте певний рядок на основі рядка та додайте 2 рядки вмісту над ним
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/tcp/iTCP\
+ UDP'
+ TCP
+ UDP
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ TCP
+ UDP
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ TCP
+ UDP
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ TCP
+ UDP
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ TCP
+ UDP
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ TCP
+ UDP
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
6. Замінити рядки (`c`)
- - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту
-
- ```bash
- Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
- TMP2'
- TMP1
- TMP2
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- TMP1
- TMP2
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Заміна однієї лінії
-
- ```bash
- Shell > cat /root/test.txt | sed '7c REPLACE'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- REPLACE
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Замінити послідовні рядки тексту
-
- ```bash
- Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
- replace2'
- aigairserver 21221/tcp # Services for Air Server
- REPLACE1
- replace2
- ```
-
- - Замініть парні рядки
-
- ```bash
- Shell > cat /root/test.txt | sed '2~2c replace'
- aigairserver 21221/tcp # Services for Air Server
- replace
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- replace
- axio-disc 35100/tcp # Axiomatic discovery protocol
- replace
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- replace
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- replace
- ```
+ - Знайдіть один або кілька рядків на основі рядка та замініть ці рядки тексту
+
+ ```bash
+ Shell > cat /root/test.txt | sed '/ser/c\TMP1 \
+ TMP2'
+ TMP1
+ TMP2
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ TMP1
+ TMP2
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Заміна однієї лінії
+
+ ```bash
+ Shell > cat /root/test.txt | sed '7c REPLACE'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ REPLACE
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Замінити послідовні рядки тексту
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2,$c REPLACE1 \
+ replace2'
+ aigairserver 21221/tcp # Services for Air Server
+ REPLACE1
+ replace2
+ ```
+
+ - Замініть парні рядки
+
+ ```bash
+ Shell > cat /root/test.txt | sed '2~2c replace'
+ aigairserver 21221/tcp # Services for Air Server
+ replace
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ replace
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ replace
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ replace
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ replace
+ ```
7. Прочитайте вміст файлу та додайте його вміст під відповідним рядком (`r`)
- ```bash
- Shell > cat /root/app.txt
- append1
- POSIX
- UNIX
-
- Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- append1
- POSIX
- UNIX
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ ```bash
+ Shell > cat /root/app.txt
+ append1
+ POSIX
+ UNIX
+
+ Shell > cat /root/test.txt | sed '/ping/r /root/app.txt'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ append1
+ POSIX
+ UNIX
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
8. Записати відповідні рядки в інші файли (`w`)
- ```bash
- Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
+ ```bash
+ Shell > cat /root/test.txt | sed '/axio/w /root/storage.txt'
- Shell > cat /root/storage.txt
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
+ Shell > cat /root/storage.txt
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ ```
9. Читання/додавання наступного рядка введення в "простір шаблону" (`n` і `N`)
- - Надрукуйте наступний рядок відповідного рядка
-
- ```bash
- Shell > cat /root/test.txt
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- !!! tip "Підказка"
-
- ```
- Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив.
- ```
-
- - Друк рівних рядків тексту
-
- Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі.
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '2~2p'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- - Друк непарних рядків тексту
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{p;n}'
- # or
- Shell > cat -n /root/test.txt | sed -n '1~2p'
- # or
- Shell > cat -n /root/test.txt | sed 'n;d'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- - Вивести 3n рядків
-
- ```bash
- Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
- # or
- Shell > cat -n /root/test.txt | sed -n '3~3p'
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
-
- - `N`
-
- Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти.
-
- ```bash
- Shell > seq 1 10 | sed 'N;q'
- 1
- 2
- ```
-
- Оскільки після рядка 9 немає додаткового рядка, результат буде таким:
-
- ```bash
- Shell > seq 1 9 | sed -n 'N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- ```
-
- Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне:
-
- ```bash
- Shell > seq 1 9 | sed -n '$!N;p'
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- ```
-
- Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом.
-
- ```bash
- Shell > seq 1 6 | sed 'N;{s/\n//g}'
- 12
- 34
- 56
- ```
+ - Надрукуйте наступний рядок відповідного рядка
+
+ ```bash
+ Shell > cat /root/test.txt
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > cat /root/test.txt | sed '/ping/{n;p}' -n
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ !!! tip "Підказка"
+
+ ```
+ Кілька команд операції `sed` можуть впливати одна на одну, і ви можете використовувати "**{ }**", щоб зменшити цей вплив.
+ ```
+
+ - Друк рівних рядків тексту
+
+ Спочатку прочитайте перший рядок, оскільки присутня команда `n`; буде роздруковано другий рядок і так далі.
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '2~2p'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ - Друк непарних рядків тексту
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{p;n}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '1~2p'
+ # or
+ Shell > cat -n /root/test.txt | sed 'n;d'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - Вивести 3n рядків
+
+ ```bash
+ Shell > cat -n /root/test.txt | sed -n '{n;n;p}'
+ # or
+ Shell > cat -n /root/test.txt | sed -n '3~3p'
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
+
+ - `N`
+
+ Прочитайте перший рядок і додайте один рядок після зустрічі з командою `N`. У цьому прикладі «простір шаблону» — «1\n2». Нарешті, виконайте команду `q`, щоб вийти.
+
+ ```bash
+ Shell > seq 1 10 | sed 'N;q'
+ 1
+ 2
+ ```
+
+ Оскільки після рядка 9 немає додаткового рядка, результат буде таким:
+
+ ```bash
+ Shell > seq 1 9 | sed -n 'N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ ```
+
+ Коли зчитується останній рядок, команда `N` не виконується, і виводиться наступне:
+
+ ```bash
+ Shell > seq 1 9 | sed -n '$!N;p'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ ```
+
+ Об’єднати два рядки в один. Замініть "\n" у "шаблоні" пробілом.
+
+ ```bash
+ Shell > seq 1 6 | sed 'N;{s/\n//g}'
+ 12
+ 34
+ 56
+ ```
10. Ігнорувати регістр ('I')
- Здається, немає інформації про ігнорування регістру в `man 1 sed`.
+ Здається, немає інформації про ігнорування регістру в `man 1 sed`.
- ```bash
- Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
- Xbc
- XBC
- ```
+ ```bash
+ Shell > echo -e "abc\nAbc" | sed -n 's/a/X/Igp'
+ Xbc
+ XBC
+ ```
- ```bash
- Shell > cat /etc/services | sed '/OEM/Ip' -n
- oem-agent 3872/tcp # OEM Agent
- oem-agent 3872/udp # OEM Agent
- oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
- oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
- oemcacao-websvc 11175/tcp # OEM cacao web service access point
- ```
+ ```bash
+ Shell > cat /etc/services | sed '/OEM/Ip' -n
+ oem-agent 3872/tcp # OEM Agent
+ oem-agent 3872/udp # OEM Agent
+ oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting access point
+ oemcacao-rmi 11174/tcp # OEM cacao rmi registry access point
+ oemcacao-websvc 11175/tcp # OEM cacao web service access point
+ ```
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
- ```
+ ```bash
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Id'
+ ```
- ```bash
- Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
- ```
+ ```bash
+ Shell > cat /etc/services | sed -r '/(TCP)|(UDP)/Ic TMP'
+ ```
11. Отримує загальну кількість рядків у файлі
- ```bash
- Shell > cat /etc/services | sed -n '$='
- # or
- Shell > cat /etc/services | wc -l
+ ```bash
+ Shell > cat /etc/services | sed -n '$='
+ # or
+ Shell > cat /etc/services | wc -l
- 11473
- ```
+ 11473
+ ```
diff --git a/docs/books/sed_awk_grep/4_awk_command.it.md b/docs/books/sed_awk_grep/4_awk_command.it.md
index a1e491217a..94ce9e7494 100644
--- a/docs/books/sed_awk_grep/4_awk_command.it.md
+++ b/docs/books/sed_awk_grep/4_awk_command.it.md
@@ -1,7 +1,7 @@
---
title: Comando awk
author: tianci li
-contributors: null
+contributors:
tags:
- awk
---
@@ -168,7 +168,7 @@ a b c d
1 2 3 4
```
-Nel sistema operativo RockyLinux non esiste il comando `print`. Si può usare `print` solo in `awk` e la sua differenza rispetto a `printf` è che aggiunge automaticamente una newline alla fine di ogni riga. Per esempio:
+Nel sistema operativo RockyLinux non esiste il comando `print`. Si può usare `print` solo in `awk` e la sua differenza rispetto a `printf` è che aggiunge automaticamente una newline alla fine di ogni riga. Ad esempio:
```bash
Shell > awk '{printf $1 "\t" $2"\n"}' /tmp/printf.txt
@@ -190,293 +190,293 @@ ID Name
1. Lettura dei file sorgente del programma `awk` da file
- ```bash
- Shell > vim /tmp/read-print.awk
- #!/bin/awk
- {print $6}
-
- Shell > df -hT | awk -f /tmp/read-print.awk
- Use%
- 0%
- 0%
- 1%
- 0%
- 6%
- 18%
- 0%
- ```
+ ```bash
+ Shell > vim /tmp/read-print.awk
+ #!/bin/awk
+ {print $6}
+
+ Shell > df -hT | awk -f /tmp/read-print.awk
+ Use%
+ 0%
+ 0%
+ 1%
+ 0%
+ 6%
+ 18%
+ 0%
+ ```
2. Specificare il delimitatore
- ```bash
- Shell > awk -F ":" '{print $1}' /etc/passwd
- root
- bin
- daemon
- adm
- lp
- sync
- ...
-
- Shell > tail -n 5 /etc/services | awk -F "\/" '{print $2}'
- awk: warning: escape sequence `\/' treated as plain `/'
- axio-disc 35100
- pmwebapi 44323
- cloudcheck-ping 45514
- cloudcheck 45514
- spremotetablet 46998
- ```
-
- Si possono usare anche parole come delimitatori. Le parentesi indicano che si tratta di un delimitatore generale e "|" significa o.
-
- ```bash
- Shell > tail -n 5 /etc/services | awk -F "(tcp)|(udp)" '{print $1}'
- axio-disc 35100/
- pmwebapi 44323/
- cloudcheck-ping 45514/
- cloudcheck 45514/
- spremotetablet 46998/
- ```
+ ```bash
+ Shell > awk -F ":" '{print $1}' /etc/passwd
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ...
+
+ Shell > tail -n 5 /etc/services | awk -F "\/" '{print $2}'
+ awk: warning: escape sequence `\/' treated as plain `/'
+ axio-disc 35100
+ pmwebapi 44323
+ cloudcheck-ping 45514
+ cloudcheck 45514
+ spremotetablet 46998
+ ```
+
+ Si possono usare anche parole come delimitatori. Le parentesi indicano che si tratta di un delimitatore generale e "|" significa o.
+
+ ```bash
+ Shell > tail -n 5 /etc/services | awk -F "(tcp)|(udp)" '{print $1}'
+ axio-disc 35100/
+ pmwebapi 44323/
+ cloudcheck-ping 45514/
+ cloudcheck 45514/
+ spremotetablet 46998/
+ ```
3. Assegnazione delle variabili
- ```bash
- Shell > tail -n 5 /etc/services | awk -v a=123 'BEGIN{print a}{print $1}'
- 123
- axio-disc
- pmwebapi
- cloudcheck-ping
- cloudcheck
- spremotetablet
- ```
-
- Assegna il valore delle variabili definite dall'utente in bash alle variabili di awk.
-
- ```bash
- Shell > ab=123
- Shell > echo ${ab}
- 123
- Shell > tail -n 5 /etc/services | awk -v a=${ab} 'BEGIN{print a}{print $1}'
- 123
- axio-disc
- pmwebapi
- cloudcheck-ping
- cloudcheck
- spremotetablet
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services | awk -v a=123 'BEGIN{print a}{print $1}'
+ 123
+ axio-disc
+ pmwebapi
+ cloudcheck-ping
+ cloudcheck
+ spremotetablet
+ ```
+
+ Assegna il valore delle variabili definite dall'utente in bash alle variabili di awk.
+
+ ```bash
+ Shell > ab=123
+ Shell > echo ${ab}
+ 123
+ Shell > tail -n 5 /etc/services | awk -v a=${ab} 'BEGIN{print a}{print $1}'
+ 123
+ axio-disc
+ pmwebapi
+ cloudcheck-ping
+ cloudcheck
+ spremotetablet
+ ```
4. Scrivere le variabili globali di awk in un file
- ```bash
- Shell > seq 1 6 | awk --dump-variables '{print $0}'
- 1
- 2
- 3
- 4
- 5
- 6
-
- Shell > cat /root/awkvars.out
- ARGC: 1
- ARGIND: 0
- ARGV: array, 1 elements
- BINMODE: 0
- CONVFMT: "%.6g"
- ENVIRON: array, 27 elements
- ERRNO: ""
- FIELDWIDTHS: ""
- FILENAME: "-"
- FNR: 6
- FPAT: "[^[:space:]]+"
- FS: " "
- FUNCTAB: array, 41 elements
- IGNORECASE: 0
- LINT: 0
- NF: 1
- NR: 6
- OFMT: "%.6g"
- OFS: " "
- ORS: "\n"
- PREC: 53
- PROCINFO: array, 20 elements
- RLENGTH: 0
- ROUNDMODE: "N"
- RS: "\n"
- RSTART: 0
- RT: "\n"
- SUBSEP: "\034"
- SYMTAB: array, 28 elements
- TEXTDOMAIN: "messages"
- ```
-
- In seguito, sarà introdotto il significato di queste variabili. Per rivederli ora, [saltare alle variabili](#VARIABILI).
+ ```bash
+ Shell > seq 1 6 | awk --dump-variables '{print $0}'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+
+ Shell > cat /root/awkvars.out
+ ARGC: 1
+ ARGIND: 0
+ ARGV: array, 1 elements
+ BINMODE: 0
+ CONVFMT: "%.6g"
+ ENVIRON: array, 27 elements
+ ERRNO: ""
+ FIELDWIDTHS: ""
+ FILENAME: "-"
+ FNR: 6
+ FPAT: "[^[:space:]]+"
+ FS: " "
+ FUNCTAB: array, 41 elements
+ IGNORECASE: 0
+ LINT: 0
+ NF: 1
+ NR: 6
+ OFMT: "%.6g"
+ OFS: " "
+ ORS: "\n"
+ PREC: 53
+ PROCINFO: array, 20 elements
+ RLENGTH: 0
+ ROUNDMODE: "N"
+ RS: "\n"
+ RSTART: 0
+ RT: "\n"
+ SUBSEP: "\034"
+ SYMTAB: array, 28 elements
+ TEXTDOMAIN: "messages"
+ ```
+
+ In seguito, sarà introdotto il significato di queste variabili. Per rivederli ora, [saltare alle variabili](#VARIABILI).
5. BEGIN{ } ed END{ }
- ```bash
- Shell > head -n 5 /etc/passwd | awk 'BEGIN{print "UserName:PasswordIdentification:UID:InitGID"}{print $0}END{print "one\ntwo"}'
- UserName:PasswordIdentification:UID:InitGID
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
- one
- two
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk 'BEGIN{print "UserName:PasswordIdentification:UID:InitGID"}{print $0}END{print "one\ntwo"}'
+ UserName:PasswordIdentification:UID:InitGID
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+ one
+ two
+ ```
6. Opzione --profile
- ```bash
- Shell > df -hT | awk --profile 'BEGIN{print "start line"}{print $0}END{print "end line"}'
- start line
- Filesystem Type Size Used Avail Use% Mounted on
- devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
- tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
- tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
- tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
- /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
- /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
- tmpfs tmpfs 363M 0 363M 0% /run/user/0
- end line
-
- Shell > cat /root/awkprof.out
- # gawk profile, created Fri Dec 8 15:12:56 2023
-
- # BEGIN rule(s)
-
- BEGIN {
- 1 print "start line"
- }
-
- # Rule(s)
-
- 8 {
- 8 print $0
- }
-
- # END rule(s)
-
- END {
- 1 print "end line"
- }
- ```
-
- Modificare il file awkprof.out.
-
- ```bash
- Shell > vim /root/awkprof.out
- BEGIN {
- print "start line"
- }
-
- {
- print $0
- }
-
- END {
- print "end line"
- }
-
- Shell > df -hT | awk -f /root/awkprof.out
- start line
- Filesystem Type Size Used Avail Use% Mounted on
- devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
- tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
- tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
- tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
- /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
- /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
- tmpfs tmpfs 363M 0 363M 0% /run/user/0
- end line
- ```
+ ```bash
+ Shell > df -hT | awk --profile 'BEGIN{print "start line"}{print $0}END{print "end line"}'
+ start line
+ Filesystem Type Size Used Avail Use% Mounted on
+ devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
+ tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
+ tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
+ tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
+ /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
+ /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
+ tmpfs tmpfs 363M 0 363M 0% /run/user/0
+ end line
+
+ Shell > cat /root/awkprof.out
+ # gawk profile, created Fri Dec 8 15:12:56 2023
+
+ # BEGIN rule(s)
+
+ BEGIN {
+ 1 print "start line"
+ }
+
+ # Rule(s)
+
+ 8 {
+ 8 print $0
+ }
+
+ # END rule(s)
+
+ END {
+ 1 print "end line"
+ }
+ ```
+
+ Modificare il file awkprof.out.
+
+ ```bash
+ Shell > vim /root/awkprof.out
+ BEGIN {
+ print "start line"
+ }
+
+ {
+ print $0
+ }
+
+ END {
+ print "end line"
+ }
+
+ Shell > df -hT | awk -f /root/awkprof.out
+ start line
+ Filesystem Type Size Used Avail Use% Mounted on
+ devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
+ tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
+ tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
+ tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
+ /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
+ /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
+ tmpfs tmpfs 363M 0 363M 0% /run/user/0
+ end line
+ ```
7. Corrispondenza di righe (record) tramite espressioni regolari
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP
- auth 113/tcp authentication tap ident
- sftp 115/tcp
- uucp-path 117/tcp
- nntp 119/tcp readnews untp # USENET News Transfer Protocol
- ntp 123/tcp
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-ssn 139/tcp # NETBIOS session service
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
+ sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP
+ auth 113/tcp authentication tap ident
+ sftp 115/tcp
+ uucp-path 117/tcp
+ nntp 119/tcp readnews untp # USENET News Transfer Protocol
+ ntp 123/tcp
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-ssn 139/tcp # NETBIOS session service
+ ...
+ ```
8. Operazioni logiche (AND, OR, inverso)
- logical AND: &&
- logical OR: ||
- reverse: !
-
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ && /175/ {print $0}'
- vmnet 175/tcp # VMNET
- ```
-
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]9[1-9]{2}\/tcp/ || /91{2}\/tcp/ {print $0}'
- telnets 992/tcp
- imaps 993/tcp # IMAP over SSL
- pop3s 995/tcp # POP-3 over SSL
- mtp 1911/tcp #
- rndc 953/tcp # rndc control sockets (BIND 9)
- xact-backup 911/tcp # xact-backup
- apex-mesh 912/tcp # APEX relay-relay service
- apex-edge 913/tcp # APEX endpoint-relay service
- ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
- nas 991/tcp # Netnews Administration System
- vsinet 996/tcp # vsinet
- maitrd 997/tcp #
- busboy 998/tcp #
- garcon 999/tcp #
- #puprouter 999/tcp #
- blockade 2911/tcp # Blockade
- prnstatus 3911/tcp # Printer Status Port
- cpdlc 5911/tcp # Controller Pilot Data Link Communication
- manyone-xml 8911/tcp # manyone-xml
- sype-transport 9911/tcp # SYPECom Transport Protocol
- ```
-
- ```bash
- Shell > cat /etc/services | awk '!/(tcp)|(udp)/ {print $0}'
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ftp-data 20/sctp # FTP
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- exp1 1021/sctp # RFC3692-style Experiment 1 (*) [RFC4727]
- exp1 1021/dccp # RFC3692-style Experiment 1 (*) [RFC4727]
- exp2 1022/sctp # RFC3692-style Experiment 2 (*) [RFC4727]
- exp2 1022/dccp # RFC3692-style Experiment 2 (*) [RFC4727]
- ltp-deepspace 1113/dccp # Licklider Transmission Protocol
- cisco-ipsla 1167/sctp # Cisco IP SLAs Control Protocol
- rcip-itu 2225/sctp # Resource Connection Initiation Protocol
- m2ua 2904/sctp # M2UA
- m3ua 2905/sctp # M3UA
- megaco-h248 2944/sctp # Megaco-H.248 text
- ...
- ```
+ logical AND: &&
+ logical OR: ||
+ reverse: !
+
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ && /175/ {print $0}'
+ vmnet 175/tcp # VMNET
+ ```
+
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]9[1-9]{2}\/tcp/ || /91{2}\/tcp/ {print $0}'
+ telnets 992/tcp
+ imaps 993/tcp # IMAP over SSL
+ pop3s 995/tcp # POP-3 over SSL
+ mtp 1911/tcp #
+ rndc 953/tcp # rndc control sockets (BIND 9)
+ xact-backup 911/tcp # xact-backup
+ apex-mesh 912/tcp # APEX relay-relay service
+ apex-edge 913/tcp # APEX endpoint-relay service
+ ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
+ nas 991/tcp # Netnews Administration System
+ vsinet 996/tcp # vsinet
+ maitrd 997/tcp #
+ busboy 998/tcp #
+ garcon 999/tcp #
+ #puprouter 999/tcp #
+ blockade 2911/tcp # Blockade
+ prnstatus 3911/tcp # Printer Status Port
+ cpdlc 5911/tcp # Controller Pilot Data Link Communication
+ manyone-xml 8911/tcp # manyone-xml
+ sype-transport 9911/tcp # SYPECom Transport Protocol
+ ```
+
+ ```bash
+ Shell > cat /etc/services | awk '!/(tcp)|(udp)/ {print $0}'
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ftp-data 20/sctp # FTP
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ exp1 1021/sctp # RFC3692-style Experiment 1 (*) [RFC4727]
+ exp1 1021/dccp # RFC3692-style Experiment 1 (*) [RFC4727]
+ exp2 1022/sctp # RFC3692-style Experiment 2 (*) [RFC4727]
+ exp2 1022/dccp # RFC3692-style Experiment 2 (*) [RFC4727]
+ ltp-deepspace 1113/dccp # Licklider Transmission Protocol
+ cisco-ipsla 1167/sctp # Cisco IP SLAs Control Protocol
+ rcip-itu 2225/sctp # Resource Connection Initiation Protocol
+ m2ua 2904/sctp # M2UA
+ m3ua 2905/sctp # M3UA
+ megaco-h248 2944/sctp # Megaco-H.248 text
+ ...
+ ```
9. Individua le righe consecutive per stringa e le stampa
- ```bash
- Shell > cat /etc/services | awk '/^ntp/,/^netbios/ {print $0}'
- ntp 123/tcp
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/tcp # NETBIOS Name Service
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/^ntp/,/^netbios/ {print $0}'
+ ntp 123/tcp
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/tcp # NETBIOS Name Service
+ ```
- !!! info "Informazione"
+ !!! info "Informazione"
- ```
- Intervallo iniziale: interrompe l'abbinamento quando la prima corrispondenza è riscontrata.
- Intervallo finale: interrompe l'abbinamento quando la prima corrispondenza è riscontrata.
- ```
+ ```
+ Intervallo iniziale: interrompe l'abbinamento quando la prima corrispondenza è riscontrata.
+ Intervallo finale: interrompe l'abbinamento quando la prima corrispondenza è riscontrata.
+ ```
## Variabile incorporata {#VARIABLES}
@@ -499,311 +499,311 @@ ID Name
1. FS e OFS
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1}'
- root
- bin
- daemon
- adm
- lp
- sync
- ```
-
- Si può anche usare l'opzione -v per assegnare valori alle variabili.
-
- ```bash
- Shell > cat /etc/passwd | awk -v FS=":" '{print $1}'
- root
- bin
- daemon
- adm
- lp
- sync
- ```
-
- Il delimitatore di output predefinito è uno spazio quando si usano le virgole per fare riferimento a più campi. È tuttavia possibile specificare separatamente il delimitatore di uscita.
-
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$2}'
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
-
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":";OFS="\t"}{print $1,$2}'
- # or
- Shell > cat /etc/passwd | awk -v FS=":" -v OFS="\t" '{print $1,$2}'
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ```
-2. RS e ORS
+ Si può anche usare l'opzione -v per assegnare valori alle variabili.
- Per impostazione predefinita, `awk` utilizza i caratteri di newline per distinguere ogni record di riga
+ ```bash
+ Shell > cat /etc/passwd | awk -v FS=":" '{print $1}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ```
- ```bash
- Shell > echo -e "https://example.com/books/index.html\ntitle//tcp"
- https://example.com/books/index.html
- title//tcp
+ Il delimitatore di output predefinito è uno spazio quando si usano le virgole per fare riferimento a più campi. È tuttavia possibile specificare separatamente il delimitatore di uscita.
- Shell > echo -e "https://example.com/books/index.html\ntitle//tcp" | awk 'BEGIN{RS="\/\/";ORS="%%"}{print $0}'
- awk: cmd. line:1: warning: escape sequence `\/' treated as plain `/'
- https:%%example.com/books/index.html
- title%%tcp
- %% ← Why? Because "print"
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$2}'
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
+
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":";OFS="\t"}{print $1,$2}'
+ # or
+ Shell > cat /etc/passwd | awk -v FS=":" -v OFS="\t" '{print $1,$2}'
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
+
+2. RS e ORS
+
+ Per impostazione predefinita, `awk` utilizza i caratteri di newline per distinguere ogni record di riga
+
+ ```bash
+ Shell > echo -e "https://example.com/books/index.html\ntitle//tcp"
+ https://example.com/books/index.html
+ title//tcp
+
+ Shell > echo -e "https://example.com/books/index.html\ntitle//tcp" | awk 'BEGIN{RS="\/\/";ORS="%%"}{print $0}'
+ awk: cmd. line:1: warning: escape sequence `\/' treated as plain `/'
+ https:%%example.com/books/index.html
+ title%%tcp
+ %% ← Why? Because "print"
+ ```
3. NF
- Conta il numero di campi per riga nel testo corrente
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print NF}'
- 7
- 7
- 7
- 7
- 7
- ```
-
- Stampa il quinto campo
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $(NF-2)}'
- root
- bin
- daemon
- adm
- lp
- ```
-
- Stampa l'ultimo campo
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $NF}'
- /bin/bash
- /sbin/nologin
- /sbin/nologin
- /sbin/nologin
- /sbin/nologin
- ```
-
- Escludere gli ultimi due campi
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$NF=" ";$(NF-1)=" ";print $0}'
- root x 0 0 root
- bin x 1 1 bin
- daemon x 2 2 daemon
- adm x 3 4 adm
- lp x 4 7 lp
- ```
-
- Escludere il primo campo
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$1=" ";print $0}' | sed -r 's/(^ )//g'
- x 0 0 root /root /bin/bash
- x 1 1 bin /bin /sbin/nologin
- x 2 2 daemon /sbin /sbin/nologin
- x 3 4 adm /var/adm /sbin/nologin
- x 4 7 lp /var/spool/lpd /sbin/nologin
- ```
+ Conta il numero di campi per riga nel testo corrente
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print NF}'
+ 7
+ 7
+ 7
+ 7
+ 7
+ ```
+
+ Stampa il quinto campo
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $(NF-2)}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ ```
+
+ Stampa l'ultimo campo
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $NF}'
+ /bin/bash
+ /sbin/nologin
+ /sbin/nologin
+ /sbin/nologin
+ /sbin/nologin
+ ```
+
+ Escludere gli ultimi due campi
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$NF=" ";$(NF-1)=" ";print $0}'
+ root x 0 0 root
+ bin x 1 1 bin
+ daemon x 2 2 daemon
+ adm x 3 4 adm
+ lp x 4 7 lp
+ ```
+
+ Escludere il primo campo
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$1=" ";print $0}' | sed -r 's/(^ )//g'
+ x 0 0 root /root /bin/bash
+ x 1 1 bin /bin /sbin/nologin
+ x 2 2 daemon /sbin /sbin/nologin
+ x 3 4 adm /var/adm /sbin/nologin
+ x 4 7 lp /var/spool/lpd /sbin/nologin
+ ```
4. NR e FNR
- ```bash
- Shell > tail -n 5 /etc/services | awk '{print NR,$0}'
- 1 axio-disc 35100/udp # Axiomatic discovery protocol
- 2 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 3 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 4 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- 5 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Stampa il numero totale di righe del contenuto del file
-
- ```bash
- Shell > cat /etc/services | awk 'END{print NR}'
- 11473
- ```
-
- Stampa il contenuto della riga 200
-
- ```bash
- Shell > cat /etc/services | awk 'NR==200'
- microsoft-ds 445/tcp
- ```
-
- Stampa il secondo campo alla riga 200
-
- ```bash
- Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR==200 {print $2}'
- 445/tcp
- ```
-
- Stampa di contenuti entro un intervallo specifico
-
- ```bash
- Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR<=10 {print NR,$0}'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- ```
-
- Confronto tra NR e FNR
-
- ```bash
- Shell > head -n 3 /etc/services > /tmp/a.txt
-
- Shell > cat /tmp/a.txt
- # /etc/services:
- # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- #
-
- Shell > cat /etc/resolv.conf
- # Generated by NetworkManager
- nameserver 8.8.8.8
- nameserver 114.114.114.114
-
- Shell > awk '{print NR,$0}' /tmp/a.txt /etc/resolv.conf
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Generated by NetworkManager
- 5 nameserver 8.8.8.8
- 6 nameserver 114.114.114.114
-
- Shell > awk '{print FNR,$0}' /tmp/a.txt /etc/resolv.conf
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 1 # Generated by NetworkManager
- 2 nameserver 8.8.8.8
- 3 nameserver 114.114.114.114
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services | awk '{print NR,$0}'
+ 1 axio-disc 35100/udp # Axiomatic discovery protocol
+ 2 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 3 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 4 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ 5 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Stampa il numero totale di righe del contenuto del file
+
+ ```bash
+ Shell > cat /etc/services | awk 'END{print NR}'
+ 11473
+ ```
+
+ Stampa il contenuto della riga 200
+
+ ```bash
+ Shell > cat /etc/services | awk 'NR==200'
+ microsoft-ds 445/tcp
+ ```
+
+ Stampa il secondo campo alla riga 200
+
+ ```bash
+ Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR==200 {print $2}'
+ 445/tcp
+ ```
+
+ Stampa di contenuti entro un intervallo specifico
+
+ ```bash
+ Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR<=10 {print NR,$0}'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ ```
+
+ Confronto tra NR e FNR
+
+ ```bash
+ Shell > head -n 3 /etc/services > /tmp/a.txt
+
+ Shell > cat /tmp/a.txt
+ # /etc/services:
+ # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ #
+
+ Shell > cat /etc/resolv.conf
+ # Generated by NetworkManager
+ nameserver 8.8.8.8
+ nameserver 114.114.114.114
+
+ Shell > awk '{print NR,$0}' /tmp/a.txt /etc/resolv.conf
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Generated by NetworkManager
+ 5 nameserver 8.8.8.8
+ 6 nameserver 114.114.114.114
+
+ Shell > awk '{print FNR,$0}' /tmp/a.txt /etc/resolv.conf
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 1 # Generated by NetworkManager
+ 2 nameserver 8.8.8.8
+ 3 nameserver 114.114.114.114
+ ```
5. ARGC e ARGV
- ```bash
- Shell > awk 'BEGIN{print ARGC}' log dump long
- 4
- Shell > awk 'BEGIN{print ARGV[0]}' log dump long
- awk
- Shell > awk 'BEGIN{print ARGV[1]}' log dump long
- log
- Shell > awk 'BEGIN{print ARGV[2]}' log dump long
- dump
- ```
+ ```bash
+ Shell > awk 'BEGIN{print ARGC}' log dump long
+ 4
+ Shell > awk 'BEGIN{print ARGV[0]}' log dump long
+ awk
+ Shell > awk 'BEGIN{print ARGV[1]}' log dump long
+ log
+ Shell > awk 'BEGIN{print ARGV[2]}' log dump long
+ dump
+ ```
6. ARGIND
- Questa variabile è usata principalmente per determinare il file su cui sta lavorando il programma `awk`.
+ Questa variabile è usata principalmente per determinare il file su cui sta lavorando il programma `awk`.
- ```bash
- Shell > awk '{print ARGIND,$0}' /etc/hostname /etc/resolv.conf
- 1 Master
- 2 # Generated by NetworkManager
- 2 nameserver 8.8.8.8
- 2 nameserver 114.114.114.114
- ```
+ ```bash
+ Shell > awk '{print ARGIND,$0}' /etc/hostname /etc/resolv.conf
+ 1 Master
+ 2 # Generated by NetworkManager
+ 2 nameserver 8.8.8.8
+ 2 nameserver 114.114.114.114
+ ```
7. ENVIRON
- Nei programmi `awk` è possibile fare riferimento a sistemi operativi o a variabili definite dall'utente.
-
- ```bash
- Shell > echo ${SSH_CLIENT}
- 192.168.100.2 6969 22
-
- Shell > awk 'BEGIN{print ENVIRON["SSH_CLIENT"]}'
- 192.168.100.2 6969 22
+ Nei programmi `awk` è possibile fare riferimento a sistemi operativi o a variabili definite dall'utente.
- Shell > export a=123
- Shell > env | grep -w a
- a=123
- Shell > awk 'BEGIN{print ENVIRON["a"]}'
- 123
- Shell > unset a
- ```
+ ```bash
+ Shell > echo ${SSH_CLIENT}
+ 192.168.100.2 6969 22
+
+ Shell > awk 'BEGIN{print ENVIRON["SSH_CLIENT"]}'
+ 192.168.100.2 6969 22
+
+ Shell > export a=123
+ Shell > env | grep -w a
+ a=123
+ Shell > awk 'BEGIN{print ENVIRON["a"]}'
+ 123
+ Shell > unset a
+ ```
8. FILENAME
- ```bash
- Shell > awk 'BEGIN{RS="\n";ORS="\n"} NR=FNR {print ARGIND,FILENAME"---"$0}' /etc/hostname /etc/resolv.conf /etc/rocky-release
- 1 /etc/hostname---Master
- 2 /etc/resolv.conf---# Generated by NetworkManager
- 2 /etc/resolv.conf---nameserver 8.8.8.8
- 2 /etc/resolv.conf---nameserver 114.114.114.114
- 3 /etc/rocky-release---Rocky Linux release 8.9 (Green Obsidian)
- ```
+ ```bash
+ Shell > awk 'BEGIN{RS="\n";ORS="\n"} NR=FNR {print ARGIND,FILENAME"---"$0}' /etc/hostname /etc/resolv.conf /etc/rocky-release
+ 1 /etc/hostname---Master
+ 2 /etc/resolv.conf---# Generated by NetworkManager
+ 2 /etc/resolv.conf---nameserver 8.8.8.8
+ 2 /etc/resolv.conf---nameserver 114.114.114.114
+ 3 /etc/rocky-release---Rocky Linux release 8.9 (Green Obsidian)
+ ```
9. IGNORECASE
- Questa variabile è utile se si vogliono usare le espressioni regolari in `awk` e ignorare il caso.
-
- ```bash
- Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SSH)|^(ftp)/ {print $0}' /etc/services
- ftp-data 20/tcp
- ftp-data 20/udp
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ftp-data 20/sctp # FTP
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- ftp-agent 574/tcp # FTP Software Agent System
- ftp-agent 574/udp # FTP Software Agent System
- sshell 614/tcp # SSLshell
- sshell 614/udp # SSLshell
- ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
- ftps-data 989/udp # ftp protocol, data, over TLS/SSL
- ftps 990/tcp # ftp protocol, control, over TLS/SSL
- ftps 990/udp # ftp protocol, control, over TLS/SSL
- ssh-mgmt 17235/tcp # SSH Tectia Manager
- ssh-mgmt 17235/udp # SSH Tectia Manager
- ```
-
- ```bash
- Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SMTP)\s/,/^(TFTP)\s/ {print $0}' /etc/services
- smtp 25/tcp mail
- smtp 25/udp mail
- time 37/tcp timserver
- time 37/udp timserver
- rlp 39/tcp resource # resource location
- rlp 39/udp resource # resource location
- nameserver 42/tcp name # IEN 116
- nameserver 42/udp name # IEN 116
- nicname 43/tcp whois
- nicname 43/udp whois
- tacacs 49/tcp # Login Host Protocol (TACACS)
- tacacs 49/udp # Login Host Protocol (TACACS)
- re-mail-ck 50/tcp # Remote Mail Checking Protocol
- re-mail-ck 50/udp # Remote Mail Checking Protocol
- domain 53/tcp # name-domain server
- domain 53/udp
- whois++ 63/tcp whoispp
- whois++ 63/udp whoispp
- bootps 67/tcp # BOOTP server
- bootps 67/udp
- bootpc 68/tcp dhcpc # BOOTP client
- bootpc 68/udp dhcpc
- tftp 69/tcp
- ```
+ Questa variabile è utile se si vogliono usare le espressioni regolari in `awk` e ignorare il caso.
+
+ ```bash
+ Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SSH)|^(ftp)/ {print $0}' /etc/services
+ ftp-data 20/tcp
+ ftp-data 20/udp
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ftp-data 20/sctp # FTP
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ ftp-agent 574/tcp # FTP Software Agent System
+ ftp-agent 574/udp # FTP Software Agent System
+ sshell 614/tcp # SSLshell
+ sshell 614/udp # SSLshell
+ ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
+ ftps-data 989/udp # ftp protocol, data, over TLS/SSL
+ ftps 990/tcp # ftp protocol, control, over TLS/SSL
+ ftps 990/udp # ftp protocol, control, over TLS/SSL
+ ssh-mgmt 17235/tcp # SSH Tectia Manager
+ ssh-mgmt 17235/udp # SSH Tectia Manager
+ ```
+
+ ```bash
+ Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SMTP)\s/,/^(TFTP)\s/ {print $0}' /etc/services
+ smtp 25/tcp mail
+ smtp 25/udp mail
+ time 37/tcp timserver
+ time 37/udp timserver
+ rlp 39/tcp resource # resource location
+ rlp 39/udp resource # resource location
+ nameserver 42/tcp name # IEN 116
+ nameserver 42/udp name # IEN 116
+ nicname 43/tcp whois
+ nicname 43/udp whois
+ tacacs 49/tcp # Login Host Protocol (TACACS)
+ tacacs 49/udp # Login Host Protocol (TACACS)
+ re-mail-ck 50/tcp # Remote Mail Checking Protocol
+ re-mail-ck 50/udp # Remote Mail Checking Protocol
+ domain 53/tcp # name-domain server
+ domain 53/udp
+ whois++ 63/tcp whoispp
+ whois++ 63/udp whoispp
+ bootps 67/tcp # BOOTP server
+ bootps 67/udp
+ bootpc 68/tcp dhcpc # BOOTP client
+ bootpc 68/udp dhcpc
+ tftp 69/tcp
+ ```
## Operatore
@@ -847,336 +847,336 @@ False
1. Punto esclamativo
- Stampa le righe dispari:
-
- ```bash
- Shell > seq 1 10 | awk 'i=!i {print $0}'
- 1
- 3
- 5
- 7
- 9
- ```
-
- !!! question "Domanda"
-
- ```
- **Perché?**
- **Leggi la prima riga**: Perché "i" non ha un valore assegnato, quindi "i=!i" indica TRUE.
- **Leggi la seconda riga**: A questo punto, "i=!i" indica FALSE.
- E così via, la riga stampata finale è un numero dispari.
- ```
-
- Stampare le righe pari:
-
- ```bash
- Shell > seq 1 10 | awk '!(i=!i)'
- # or
- Shell > seq 1 10 | awk '!(i=!i) {print $0}'
- 2
- 4
- 6
- 8
- 10
- ```
-
- !!! note "Nota"
-
- ```
- Come si può vedere, a volte si può ignorare la sintassi della parte "action", che per impostazione predefinita è equivalente a "{print $0}".
- ```
+ Stampa le righe dispari:
+
+ ```bash
+ Shell > seq 1 10 | awk 'i=!i {print $0}'
+ 1
+ 3
+ 5
+ 7
+ 9
+ ```
+
+ !!! domanda
+
+ ```
+ **Perché?**
+ **Leggi la prima riga**: Perché "i" non ha un valore assegnato, quindi "i=!i" indica TRUE.
+ **Leggi la seconda riga**: A questo punto, "i=!i" indica FALSE.
+ E così via, la riga stampata finale è un numero dispari.
+ ```
+
+ Stampare le righe pari:
+
+ ```bash
+ Shell > seq 1 10 | awk '!(i=!i)'
+ # or
+ Shell > seq 1 10 | awk '!(i=!i) {print $0}'
+ 2
+ 4
+ 6
+ 8
+ 10
+ ```
+
+ !!! note "Nota"
+
+ ```
+ Come si può vedere, a volte si può ignorare la sintassi della parte "action", che per impostazione predefinita è equivalente a "{print $0}".
+ ```
2. Inversione
- ```bash
- Shell > cat /etc/services | awk '!/(tcp)|(udp)|(^#)|(^$)/ {print $0}'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '!/(tcp)|(udp)|(^#)|(^$)/ {print $0}'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Operazioni di base in matematica
- ```bash
- Shell > echo -e "36\n40\n50" | awk '{print $0+1}'
- 37
- 41
-
- Shell > echo -e "30\t5\t8\n11\t20\t34"
- 30 5 8
- 11 20 34
- Shell > echo -e "30\t5\t8\n11\t20\t34" | awk '{print $2*2+1}'
- 11
- 41
- ```
-
- Può essere utilizzato anche nel "modello":
-
- ```bash
- Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2==0 {print $0}'
- ...
- 24 tcpmux 1/udp # TCP port service multiplexer
- 26 rje 5/udp # Remote Job Entry
- 28 echo 7/udp
- 30 discard 9/udp sink null
- 32 systat 11/udp users
- 34 daytime 13/udp
- 36 qotd 17/udp quote
- ...
-
- Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2!=0 {print $0}'
- ...
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 27 echo 7/tcp
- 29 discard 9/tcp sink null
- 31 systat 11/tcp users
- ...
- ```
+ ```bash
+ Shell > echo -e "36\n40\n50" | awk '{print $0+1}'
+ 37
+ 41
+
+ Shell > echo -e "30\t5\t8\n11\t20\t34"
+ 30 5 8
+ 11 20 34
+ Shell > echo -e "30\t5\t8\n11\t20\t34" | awk '{print $2*2+1}'
+ 11
+ 41
+ ```
+
+ Può essere utilizzato anche nel "modello":
+
+ ```bash
+ Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2==0 {print $0}'
+ ...
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 26 rje 5/udp # Remote Job Entry
+ 28 echo 7/udp
+ 30 discard 9/udp sink null
+ 32 systat 11/udp users
+ 34 daytime 13/udp
+ 36 qotd 17/udp quote
+ ...
+
+ Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2!=0 {print $0}'
+ ...
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 27 echo 7/tcp
+ 29 discard 9/tcp sink null
+ 31 systat 11/tcp users
+ ...
+ ```
4. Simbolo pipe
- È possibile utilizzare il comando bash nel programma awk, ad esempio:
+ È possibile utilizzare il comando bash nel programma awk, ad esempio:
- ```bash
- Shell > echo -e "6\n3\n9\n8" | awk '{print $0 | "sort"}'
- 3
- 6
- 8
- 9
- ```
+ ```bash
+ Shell > echo -e "6\n3\n9\n8" | awk '{print $0 | "sort"}'
+ 3
+ 6
+ 8
+ 9
+ ```
- !!! info "Informazione"
+ !!! info "Informazione"
- ```
- Fate attenzione! È necessario utilizzare le doppie virgolette per includere il comando.
- ```
+ ```
+ Fate attenzione! È necessario utilizzare le doppie virgolette per includere il comando.
+ ```
5. Espressione regolare
- [Qui](#RE), vengono trattati esempi di base di espressioni regolari. È possibile utilizzare le espressioni regolari sui record di riga.
-
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
+ [Qui](#RE), vengono trattati esempi di base di espressioni regolari. È possibile utilizzare le espressioni regolari sui record di riga.
- # Equivalente a:
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- Shell > cat /etc/services | awk '$0~/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- ```
+ # Equivalente a:
- Se il file contiene una grande quantità di testo, è possibile utilizzare le espressioni regolari anche per i campi, per migliorare l'efficienza dell'elaborazione. L'esempio di utilizzo è il seguente:
+ Shell > cat /etc/services | awk '$0~/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
+ ```
- ```bash
- Shell > cat /etc/services | awk '$0~/^(ssh)/ && $2~/tcp/ {print $0}'
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- sshell 614/tcp # SSLshell
- ssh-mgmt 17235/tcp # SSH Tectia Manager
+ Se il file contiene una grande quantità di testo, è possibile utilizzare le espressioni regolari anche per i campi, per migliorare l'efficienza dell'elaborazione. L'esempio di utilizzo è il seguente:
- Shell > cat /etc/services | grep -v -E "(^#)|(^$)" | awk '$2!~/(tcp)|(udp)/ {print $0}'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '$0~/^(ssh)/ && $2~/tcp/ {print $0}'
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ sshell 614/tcp # SSLshell
+ ssh-mgmt 17235/tcp # SSH Tectia Manager
+
+ Shell > cat /etc/services | grep -v -E "(^#)|(^$)" | awk '$2!~/(tcp)|(udp)/ {print $0}'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ ...
+ ```
## Controllo del flusso
1. Istruzione **if**
- Il formato della sintassi di base è: `dichiarazione if (condizione) [ dichiarazione else ]`
-
- Esempio di utilizzo di un ramo singolo di un'istruzione if:
-
- ```bash
- Shell > cat /etc/services | awk '{if(NR==110) print $0}'
- pop3 110/udp pop-3
- ```
-
- La condizione viene determinata come espressione regolare:
-
- ```bash
- Shell > cat /etc/services | awk '{if(/^(ftp)\s|^(ssh)\s/) print $0}'
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- ```
-
- Ramo doppio:
-
- ```bash
- Shell > seq 1 10 | awk '{if($0==10) print $0 ; else print "False"}'
- False
- False
- False
- False
- False
- False
- False
- False
- False
- 10
- ```
-
- Rami multipli:
-
- ```bash
- Shell > cat /etc/services | awk '{ \
- if($1~/netbios/)
- {print $0}
- else if($2~/175/)
- {print "175"}
- else if($2~/137/)
- {print "137"}
- else {print "no"}
- }'
- ```
+ Il formato della sintassi di base è: `dichiarazione if (condizione) [ dichiarazione else ]`
+
+ Esempio di utilizzo di un ramo singolo di un'istruzione if:
+
+ ```bash
+ Shell > cat /etc/services | awk '{if(NR==110) print $0}'
+ pop3 110/udp pop-3
+ ```
+
+ La condizione viene determinata come espressione regolare:
+
+ ```bash
+ Shell > cat /etc/services | awk '{if(/^(ftp)\s|^(ssh)\s/) print $0}'
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ ```
+
+ Ramo doppio:
+
+ ```bash
+ Shell > seq 1 10 | awk '{if($0==10) print $0 ; else print "False"}'
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ 10
+ ```
+
+ Rami multipli:
+
+ ```bash
+ Shell > cat /etc/services | awk '{ \
+ if($1~/netbios/)
+ {print $0}
+ else if($2~/175/)
+ {print "175"}
+ else if($2~/137/)
+ {print "137"}
+ else {print "no"}
+ }'
+ ```
2. Istruzione **while**
- Il formato della sintassi di base è - `while (condizione) statement`
-
- Eseguire l'attraversamento e la stampa dei campi di tutti i record di riga.
-
- ```bash
- Shell > tail -n 2 /etc/services
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 2 /etc/services | awk '{ \
- i=1;
- while(i<=NF){print $i;i++}
- }'
-
- cloudcheck
- 45514/tcp
- #
- ASSIA
- CloudCheck
- WiFi
- Management
- System
- spremotetablet
- 46998/tcp
- #
- Capture
- handwritten
- signatures
- ```
+ Il formato della sintassi di base è - `while (condizione) statement`
+
+ Eseguire l'attraversamento e la stampa dei campi di tutti i record di riga.
+
+ ```bash
+ Shell > tail -n 2 /etc/services
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 2 /etc/services | awk '{ \
+ i=1;
+ while(i<=NF){print $i;i++}
+ }'
+
+ cloudcheck
+ 45514/tcp
+ #
+ ASSIA
+ CloudCheck
+ WiFi
+ Management
+ System
+ spremotetablet
+ 46998/tcp
+ #
+ Capture
+ handwritten
+ signatures
+ ```
3. Istruzione **for**
- Il formato della sintassi di base è - `for (expr1; expr2; expr3) dichiarazione`
-
- Eseguire l'attraversamento e la stampa dei campi di tutti i record di riga.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=1;i<=NF;i++) print $i
- }'
- ```
-
- Stampa i campi di ogni riga di record in ordine inverso.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=NF;i>=1;i--) print $i
- }'
-
- System
- Management
- WiFi
- CloudCheck
- ASSIA
- #
- 45514/tcp
- cloudcheck
- signatures
- handwritten
- Capture
- #
- 46998/tcp
- spremotetablet
- ```
-
- Stampa ogni riga di record in direzione opposta.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=NF;i>=1;i--) {printf $i" "};
- print ""
- }'
-
- System Management WiFi CloudCheck ASSIA # 45514/tcp cloudcheck
- signatures handwritten Capture # 46998/tcp spremotetablet
- ```
+ Il formato della sintassi di base è - `for (expr1; expr2; expr3) dichiarazione`
+
+ Eseguire l'attraversamento e la stampa dei campi di tutti i record di riga.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=1;i<=NF;i++) print $i
+ }'
+ ```
+
+ Stampa i campi di ogni riga di record in ordine inverso.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=NF;i>=1;i--) print $i
+ }'
+
+ System
+ Management
+ WiFi
+ CloudCheck
+ ASSIA
+ #
+ 45514/tcp
+ cloudcheck
+ signatures
+ handwritten
+ Capture
+ #
+ 46998/tcp
+ spremotetablet
+ ```
+
+ Stampa ogni riga di record in direzione opposta.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=NF;i>=1;i--) {printf $i" "};
+ print ""
+ }'
+
+ System Management WiFi CloudCheck ASSIA # 45514/tcp cloudcheck
+ signatures handwritten Capture # 46998/tcp spremotetablet
+ ```
4. Dichiarazione **break** e dichiarazione **continue**.
- Il confronto tra i due è il seguente:
-
- ```bash
- Shell > awk 'BEGIN{ \
- for(i=1;i<=10;i++)
- {
- if(i==3) {break};
- print i
- }
- }'
-
- 1
- 2
- ```
-
- ```bash
- Shell > awk 'BEGIN{ \
- for(i=1;i<=10;i++)
- {
- if(i==3) {continue};
- print i
- }
- }'
-
- 1
- 2
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- ```
+ Il confronto tra i due è il seguente:
+
+ ```bash
+ Shell > awk 'BEGIN{ \
+ for(i=1;i<=10;i++)
+ {
+ if(i==3) {break};
+ print i
+ }
+ }'
+
+ 1
+ 2
+ ```
+
+ ```bash
+ Shell > awk 'BEGIN{ \
+ for(i=1;i<=10;i++)
+ {
+ if(i==3) {continue};
+ print i
+ }
+ }'
+
+ 1
+ 2
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ ```
5. Istruzione **exit**
- È possibile specificare un valore di ritorno nell'intervallo [0,255].
+ È possibile specificare un valore di ritorno nell'intervallo [0,255].
- Il formato della sintassi di base è - `exit [espressione]`
+ Il formato della sintassi di base è - `exit [espressione]`
- ```bash
- Shell > seq 1 10 | awk '{
- if($0~/5/) exit "135"
- }'
+ ```bash
+ Shell > seq 1 10 | awk '{
+ if($0~/5/) exit "135"
+ }'
- Shell > echo $?
- 135
- ```
+ Shell > echo $?
+ 135
+ ```
## Array
@@ -1190,277 +1190,277 @@ Come la maggior parte dei linguaggi di programmazione, `awk` supporta anche gli
1. Array personalizzato
- Formato - \`Nome_array[Indice]=Valore'
+ Formato - \`Nome_array[Indice]=Valore'
- ```bash
- Shell > awk 'BEGIN{a1[0]="test0" ; a1[1]="s1"; print a1[0]}'
- test0
- ```
+ ```bash
+ Shell > awk 'BEGIN{a1[0]="test0" ; a1[1]="s1"; print a1[0]}'
+ test0
+ ```
- Ottiene la lunghezza dell'array:
+ Ottiene la lunghezza dell'array:
- ```bash
- Shell > awk 'BEGIN{name[-1]="jimcat8" ; name[3]="jack" ; print length(name)}'
- 2
- ```
+ ```bash
+ Shell > awk 'BEGIN{name[-1]="jimcat8" ; name[3]="jack" ; print length(name)}'
+ 2
+ ```
- Memorizza tutti gli utenti GNU/Linux in un array:
+ Memorizza tutti gli utenti GNU/Linux in un array:
- ```bash
- Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[2]}'
- bin
- Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[1]}'
- root
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[2]}'
+ bin
+ Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[1]}'
+ root
+ ```
- !!! info "Informazione"
+ !!! info "Informazione"
- ````
- Il pedice numerico di un array `awk` può essere un intero positivo, un intero negativo, una stringa o 0, quindi il pedice numerico di un array `awk` non ha il concetto di valore iniziale. Non è la stessa cosa degli array in `bash`.
+ ````
+ Il pedice numerico di un array `awk` può essere un intero positivo, un intero negativo, una stringa o 0, quindi il pedice numerico di un array `awk` non ha il concetto di valore iniziale. Non è la stessa cosa degli array in `bash`.
- ```bash
- Shell > arr1=(2 10 30 string1)
- Shell > echo "${arr1[0]}"
- 2
- Shell > unset arr1
- ```
- ````
+ ```bash
+ Shell > arr1=(2 10 30 string1)
+ Shell > echo "${arr1[0]}"
+ 2
+ Shell > unset arr1
+ ```
+ ````
2. Eliminare l'array
- Formato `delete Array_Name`
+ Formato `delete Array_Name`
3. Eliminare un elemento da un array
- Formato `delete Array_Name[Index]`
+ Formato `delete Array_Name[Index]`
4. Array di attraversamento
- È possibile utilizzare l'istruzione **for**, adatta ai casi in cui il pedice della matrice è sconosciuto:
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" ' \
- {
- username[NR]=$1
- }
- END {
- for(i in username)
- print username[i],i
- }
- '
-
- root 1
- bin 2
- daemon 3
- adm 4
- lp 5
- ```
-
- Se il pedice di una matrice è regolare, è possibile utilizzare questa forma dell'istruzione **for**:
-
- ```bash
- Shell > cat /etc/passwd | awk -F ":" ' \
- {
- username[NR]=$1
- }
- END{
- for(i=1;i<=NR;i++)
- print username[i],i
- }
- '
-
- root 1
- bin 2
- daemon 3
- adm 4
- lp 5
- sync 6
- shutdown 7
- halt 8
- ...
- ```
+ È possibile utilizzare l'istruzione **for**, adatta ai casi in cui il pedice della matrice è sconosciuto:
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" ' \
+ {
+ username[NR]=$1
+ }
+ END {
+ for(i in username)
+ print username[i],i
+ }
+ '
+
+ root 1
+ bin 2
+ daemon 3
+ adm 4
+ lp 5
+ ```
+
+ Se il pedice di una matrice è regolare, è possibile utilizzare questa forma dell'istruzione **for**:
+
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" ' \
+ {
+ username[NR]=$1
+ }
+ END{
+ for(i=1;i<=NR;i++)
+ print username[i],i
+ }
+ '
+
+ root 1
+ bin 2
+ daemon 3
+ adm 4
+ lp 5
+ sync 6
+ shutdown 7
+ halt 8
+ ...
+ ```
5. Utilizzare "++" come pedice della matrice
- ```bash
- Shell > tail -n 5 /etc/group | awk -F ":" '\
- {
- a[x++]=$1
- }
- END{
- for(i in a)
- print a[i],i
- }
- '
-
- slocate 0
- unbound 1
- docker 2
- cgred 3
- redis 4
- ```
+ ```bash
+ Shell > tail -n 5 /etc/group | awk -F ":" '\
+ {
+ a[x++]=$1
+ }
+ END{
+ for(i in a)
+ print a[i],i
+ }
+ '
+
+ slocate 0
+ unbound 1
+ docker 2
+ cgred 3
+ redis 4
+ ```
6. Utilizzare un campo come pedice di un array
- ```bash
- Shell > tail -n 5 /etc/group | awk -F ":" '\
- {
- a[$1]=$3
- }
- END{
- for(i in a)
- print a[i],i
- }
- '
-
- 991 docker
- 21 slocate
- 989 redis
- 992 unbound
- 990 cgred
- ```
+ ```bash
+ Shell > tail -n 5 /etc/group | awk -F ":" '\
+ {
+ a[$1]=$3
+ }
+ END{
+ for(i in a)
+ print a[i],i
+ }
+ '
+
+ 991 docker
+ 21 slocate
+ 989 redis
+ 992 unbound
+ 990 cgred
+ ```
7. Conta il numero di occorrenze dello stesso campo
- Conta il numero di occorrenze dello stesso indirizzo IPv4. Idea di base:
-
- - Utilizzare innanzitutto il comando `grep` per filtrare tutti gli indirizzi IPv4
- - Poi lo si consegna al programma `awk` per l'elaborazione
+ Conta il numero di occorrenze dello stesso indirizzo IPv4. Idea di base:
- ```bash
- Shell > cat /var/log/secure | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | awk ' \
- {
- a[$1]++
- }
- END{
- for(v in a) print a[v],v
- }
- '
+ - Utilizzare innanzitutto il comando `grep` per filtrare tutti gli indirizzi IPv4
+ - Poi lo si consegna al programma `awk` per l'elaborazione
- 4 0.0.0.0
- 4 192.168.100.2
- ```
+ ```bash
+ Shell > cat /var/log/secure | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | awk ' \
+ {
+ a[$1]++
+ }
+ END{
+ for(v in a) print a[v],v
+ }
+ '
+
+ 4 0.0.0.0
+ 4 192.168.100.2
+ ```
- !!! info "Informazione"
+ !!! info "Informazione"
- ```
- `a[$1]++` equivale a `a[$1]+=1`
- ```
+ ```
+ `a[$1]++` equivale a `a[$1]+=1`
+ ```
- Conta il numero di occorrenze delle parole, indipendentemente dal caso. Idea di base:
+ Conta il numero di occorrenze delle parole, indipendentemente dal caso. Idea di base:
- - Dividere tutti i campi in più righe di record
- - Poi lo si consegna al programma `awk` per l'elaborazione
+ - Dividere tutti i campi in più righe di record
+ - Poi lo si consegna al programma `awk` per l'elaborazione
- ```bash
- Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}'
+ ```bash
+ Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}'
- Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}' | awk '\
- BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) print a[v],v}
- '
+ Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}' | awk '\
+ BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) print a[v],v}
+ '
- 3 NETBIOS
- 18 FTP
- 7 ftp
+ 3 NETBIOS
+ 18 FTP
+ 7 ftp
- Shell > cat /etc/services | awk -F " " '{ for(i=1;i<=NF;i++) print $i }' | awk '\
- BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) \
- if(a[v]>=5) print a[v],v}
- '
+ Shell > cat /etc/services | awk -F " " '{ for(i=1;i<=NF;i++) print $i }' | awk '\
+ BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) \
+ if(a[v]>=5) print a[v],v}
+ '
- 18 FTP
- 7 ftp
- ```
+ 18 FTP
+ 7 ftp
+ ```
- È possibile prima filtrare record di riga specifici e poi eseguire statistiche, ad esempio:
+ È possibile prima filtrare record di riga specifici e poi eseguire statistiche, ad esempio:
- ```bash
- Shell > ss -tulnp | awk -F " " '/tcp/ {a[$2]++} END{for(i in a) print a[i],i}'
- 2 LISTEN
- ```
+ ```bash
+ Shell > ss -tulnp | awk -F " " '/tcp/ {a[$2]++} END{for(i in a) print a[i],i}'
+ 2 LISTEN
+ ```
8. Stampa delle righe in base al numero di occorrenze di un campo specifico
- ```bash
- Shell > tail /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail /etc/services | awk 'a[$1]++ {print $0}'
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
-
- Inverso:
-
- ```bash
- Shell > tail /etc/services | awk '!a[$1]++ {print $0}'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ ```bash
+ Shell > tail /etc/services
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail /etc/services | awk 'a[$1]++ {print $0}'
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ ```
+
+ Inverso:
+
+ ```bash
+ Shell > tail /etc/services | awk '!a[$1]++ {print $0}'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
9. Array multidimensionale
- Il programma \`awk' non supporta gli array multidimensionali, ma il supporto per gli array multidimensionali è ottenibile attraverso la simulazione. Per impostazione predefinita, "\034" è il delimitatore per il pedice di una matrice multidimensionale.
-
- Tenere presente le seguenti differenze quando si utilizzano array multidimensionali:
-
- ```bash
- Shell > awk 'BEGIN{ a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
- 200 20
- 300 30
- 100 1,0
- ```
-
- Ridefinire il delimitatore:
-
- ```bash
- Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
- 300 3----0
- 200 2----0
- 100 1,0
- ```
-
- Riordina:
-
- ```bash
- Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i | "sort" }'
- 100 1,0
- 200 2----0
- 300 3----0
- ```
-
- Contare il numero di volte in cui il campo appare:
-
- ```bash
- Shell > cat c.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- Shell > cat c.txt | awk 'BEGIN{SUBSEP="----"} {a[$1,$2]++} END{for(i in a) print a[i],i}'
- 1 A----192.168.1.1
- 2 B----192.168.1.2
- 2 C----192.168.1.1
- 1 D----192.168.1.4
- ```
+ Il programma \`awk' non supporta gli array multidimensionali, ma il supporto per gli array multidimensionali è ottenibile attraverso la simulazione. Per impostazione predefinita, "\034" è il delimitatore per il pedice di una matrice multidimensionale.
+
+ Tenere presente le seguenti differenze quando si utilizzano array multidimensionali:
+
+ ```bash
+ Shell > awk 'BEGIN{ a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
+ 200 20
+ 300 30
+ 100 1,0
+ ```
+
+ Ridefinire il delimitatore:
+
+ ```bash
+ Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
+ 300 3----0
+ 200 2----0
+ 100 1,0
+ ```
+
+ Riordina:
+
+ ```bash
+ Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i | "sort" }'
+ 100 1,0
+ 200 2----0
+ 300 3----0
+ ```
+
+ Contare il numero di volte in cui il campo appare:
+
+ ```bash
+ Shell > cat c.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ Shell > cat c.txt | awk 'BEGIN{SUBSEP="----"} {a[$1,$2]++} END{for(i in a) print a[i],i}'
+ 1 A----192.168.1.1
+ 2 B----192.168.1.2
+ 2 C----192.168.1.1
+ 1 D----192.168.1.4
+ ```
## Funzione integrata
@@ -1487,331 +1487,331 @@ Come la maggior parte dei linguaggi di programmazione, `awk` supporta anche gli
1. Funzione **int**
- ```bash
- Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27"
- qwer123
- 123
- abc
- 123abc123
- 100.55
- -155.27
-
- Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27" | awk '{print int($1)}'
- 0
- 123
- 0
- 123
- 100
- -155
- ```
-
- Come si può notare, la funzione int funziona solo per i numeri e, quando incontra una stringa, la converte a 0. Quando incontra una stringa che inizia con un numero, la tronca.
+ ```bash
+ Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27"
+ qwer123
+ 123
+ abc
+ 123abc123
+ 100.55
+ -155.27
+
+ Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27" | awk '{print int($1)}'
+ 0
+ 123
+ 0
+ 123
+ 100
+ -155
+ ```
+
+ Come si può notare, la funzione int funziona solo per i numeri e, quando incontra una stringa, la converte a 0. Quando incontra una stringa che inizia con un numero, la tronca.
2. Funzione **sqrt**
- ```bash
- Shell > awk 'BEGIN{print sqrt(9)}'
- 3
- ```
+ ```bash
+ Shell > awk 'BEGIN{print sqrt(9)}'
+ 3
+ ```
3. Funzioni **rand** e **srand**
- L'esempio di utilizzo della funzione rand è il seguente:
-
- ```bash
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- ```
-
- L'esempio di utilizzo della funzione srand è il seguente:
-
- ```bash
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.975495
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.99187
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.069002
- ```
-
- Genera un numero intero compreso nell'intervallo (0,100):
-
- ```bash
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 56
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 33
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 42
- ```
+ L'esempio di utilizzo della funzione rand è il seguente:
+
+ ```bash
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ ```
+
+ L'esempio di utilizzo della funzione srand è il seguente:
+
+ ```bash
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.975495
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.99187
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.069002
+ ```
+
+ Genera un numero intero compreso nell'intervallo (0,100):
+
+ ```bash
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 56
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 33
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 42
+ ```
4. Funzioni **asort** e **asorti**
- ```bash
- Shell > cat /etc/passwd | awk -F ":" '{a[NR]=$1} END{anu=asort(a,b) ; for(i=1;i<=anu;i++) print i,b[i]}'
- 1 adm
- 2 bin
- 3 chrony
- 4 daemon
- 5 dbus
- 6 ftp
- 7 games
- 8 halt
- 9 lp
- 10 mail
- 11 nobody
- 12 operator
- 13 polkitd
- 14 redis
- 15 root
- 16 shutdown
- 17 sshd
- 18 sssd
- 19 sync
- 20 systemd-coredump
- 21 systemd-resolve
- 22 tss
- 23 unbound
-
- Shell > awk 'BEGIN{a[1]=1000 ; a[2]=200 ; a[3]=30 ; a[4]="admin" ; a[5]="Admin" ; \
- a[6]="12string" ; a[7]=-1 ; a[8]=-10 ; a[9]=-20 ; a[10]=-21 ;nu=asort(a,b) ; for(i=1;i<=nu;i++) print i,b[i]}'
- 1 -21
- 2 -20
- 3 -10
- 4 -1
- 5 30
- 6 200
- 7 1000
- 8 12string
- 9 Admin
- 10 admin
- ```
-
- !!! info "Informazione"
-
- ```
- Regole di ordinamento:
-
- * I numeri hanno una priorità maggiore rispetto alle stringhe e sono disposti in ordine crescente.
- * Disporre le stringhe in ordine crescente nel dizionario
- ```
-
- Se si utilizza la funzione **asorti**, l'esempio è il seguente:
-
- ```bash
- Shell > awk 'BEGIN{ a[-11]=1000 ; a[-2]=200 ; a[-10]=30 ; a[-21]="admin" ; a[41]="Admin" ; \
- a[30]="12string" ; a["root"]="rootstr" ; a["Root"]="r1" ; nu=asorti(a,b) ; for(i in b) print i,b[i] }'
- 1 -10
- 2 -11
- 3 -2
- 4 -21
- 5 30
- 6 41
- 7 Root
- 8 root
- ```
-
- !!! info "Informazione"
-
- ```
- Regole di ordinamento:
-
- * I numeri hanno la priorità sulle stringhe
- * Se si incontra un numero negativo, viene confrontata la prima cifra da sinistra. Se è uguale, viene confrontata la seconda cifra e così via.
- * Se viene incontrato un numero positivo, verrà disposto in ordine crescente.
- * Disporre le stringhe in ordine crescente nel dizionario
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" '{a[NR]=$1} END{anu=asort(a,b) ; for(i=1;i<=anu;i++) print i,b[i]}'
+ 1 adm
+ 2 bin
+ 3 chrony
+ 4 daemon
+ 5 dbus
+ 6 ftp
+ 7 games
+ 8 halt
+ 9 lp
+ 10 mail
+ 11 nobody
+ 12 operator
+ 13 polkitd
+ 14 redis
+ 15 root
+ 16 shutdown
+ 17 sshd
+ 18 sssd
+ 19 sync
+ 20 systemd-coredump
+ 21 systemd-resolve
+ 22 tss
+ 23 unbound
+
+ Shell > awk 'BEGIN{a[1]=1000 ; a[2]=200 ; a[3]=30 ; a[4]="admin" ; a[5]="Admin" ; \
+ a[6]="12string" ; a[7]=-1 ; a[8]=-10 ; a[9]=-20 ; a[10]=-21 ;nu=asort(a,b) ; for(i=1;i<=nu;i++) print i,b[i]}'
+ 1 -21
+ 2 -20
+ 3 -10
+ 4 -1
+ 5 30
+ 6 200
+ 7 1000
+ 8 12string
+ 9 Admin
+ 10 admin
+ ```
+
+ !!! info "Informazione"
+
+ ```
+ Regole di ordinamento:
+
+ * I numeri hanno una priorità maggiore rispetto alle stringhe e sono disposti in ordine crescente.
+ * Disporre le stringhe in ordine crescente nel dizionario
+ ```
+
+ Se si utilizza la funzione **asorti**, l'esempio è il seguente:
+
+ ```bash
+ Shell > awk 'BEGIN{ a[-11]=1000 ; a[-2]=200 ; a[-10]=30 ; a[-21]="admin" ; a[41]="Admin" ; \
+ a[30]="12string" ; a["root"]="rootstr" ; a["Root"]="r1" ; nu=asorti(a,b) ; for(i in b) print i,b[i] }'
+ 1 -10
+ 2 -11
+ 3 -2
+ 4 -21
+ 5 30
+ 6 41
+ 7 Root
+ 8 root
+ ```
+
+ !!! info "Informazione"
+
+ ```
+ Regole di ordinamento:
+
+ * I numeri hanno la priorità sulle stringhe
+ * Se si incontra un numero negativo, viene confrontata la prima cifra da sinistra. Se è uguale, viene confrontata la seconda cifra e così via.
+ * Se viene incontrato un numero positivo, verrà disposto in ordine crescente.
+ * Disporre le stringhe in ordine crescente nel dizionario
+ ```
5. Funzioni **sub** e **gsub**
- ```bash
- Shell > cat /etc/services | awk '/netbios/ {sub(/tcp/,"test") ; print $0 }'
- netbios-ns 137/test # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/test # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/test # NETBIOS session service
- netbios-ssn 139/udp
-
- Shell > cat /etc/services | awk '/^ftp/ && /21\/tcp/ {print $0}'
- ftp 21/tcp
- ↑ ↑
- Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P",$2) ; print $0}'
- ftp 21/tcP
- ↑
- Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P") ; print $0}'
- ftP 21/tcP
- ↑ ↑
- ```
-
- Come per il comando \`sed', è possibile utilizzare il simbolo "&" per fare riferimento a stringhe già abbinate.
-
- ```bash
- Shell > vim /tmp/tmp-file1.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- # Add a line of text before the second line
- Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/.*/,"add a line\n&")} {print $0}'
- A 192.168.1.1 HTTP
- add a line
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- # Add a string after the IP address in the second line
- Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/,"&\tSTRING")} {print $0}'
- A 192.168.1.1 HTTP
- B 192.168.1.2 STRING HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/netbios/ {sub(/tcp/,"test") ; print $0 }'
+ netbios-ns 137/test # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/test # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/test # NETBIOS session service
+ netbios-ssn 139/udp
+
+ Shell > cat /etc/services | awk '/^ftp/ && /21\/tcp/ {print $0}'
+ ftp 21/tcp
+ ↑ ↑
+ Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P",$2) ; print $0}'
+ ftp 21/tcP
+ ↑
+ Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P") ; print $0}'
+ ftP 21/tcP
+ ↑ ↑
+ ```
+
+ Come per il comando \`sed', è possibile utilizzare il simbolo "&" per fare riferimento a stringhe già abbinate.
+
+ ```bash
+ Shell > vim /tmp/tmp-file1.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ # Add a line of text before the second line
+ Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/.*/,"add a line\n&")} {print $0}'
+ A 192.168.1.1 HTTP
+ add a line
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ # Add a string after the IP address in the second line
+ Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/,"&\tSTRING")} {print $0}'
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 STRING HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+ ```
6. Funzione **index**
- ```bash
- Shell > tail -n 5 /etc/services
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 5 /etc/services | awk '{print index($2,"tcp")}'
- 0
- 7
- 0
- 7
- 7
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 5 /etc/services | awk '{print index($2,"tcp")}'
+ 0
+ 7
+ 0
+ 7
+ 7
+ ```
7. Funzione **length**
- ```bash
- # La lunghezza del campo di output
- Shell > tail -n 5 /etc/services | awk '{print length($1)}'
- 9
- 8
- 15
- 10
- 14
-
- # La lunghezza dell'insieme di output
- Shell > cat /etc/passwd | awk -F ":" 'a[NR]=$1 END{print length(a)}'
- 22
- ```
+ ```bash
+ # La lunghezza del campo di output
+ Shell > tail -n 5 /etc/services | awk '{print length($1)}'
+ 9
+ 8
+ 15
+ 10
+ 14
+
+ # La lunghezza dell'insieme di output
+ Shell > cat /etc/passwd | awk -F ":" 'a[NR]=$1 END{print length(a)}'
+ 22
+ ```
8. Funzione **match**
- ```bash
- Shell > echo -e "1592abc144qszd\n144bc\nbn"
- 1592abc144qszd
- 144bc
- bn
-
- Shell > echo -e "1592abc144qszd\n144bc\nbn" | awk '{print match($1,144)}'
- 8
- 1
- 0
- ```
+ ```bash
+ Shell > echo -e "1592abc144qszd\n144bc\nbn"
+ 1592abc144qszd
+ 144bc
+ bn
+
+ Shell > echo -e "1592abc144qszd\n144bc\nbn" | awk '{print match($1,144)}'
+ 8
+ 1
+ 0
+ ```
9. Funzione **split**
- ```bash
- Shell > echo "365%tmp%dir%number" | awk '{split($1,a1,"%") ; for(i in a1) print i,a1[i]}'
- 1 365
- 2 tmp
- 3 dir
- 4 number
- ```
+ ```bash
+ Shell > echo "365%tmp%dir%number" | awk '{split($1,a1,"%") ; for(i in a1) print i,a1[i]}'
+ 1 365
+ 2 tmp
+ 3 dir
+ 4 number
+ ```
10. Funzione **substr**
- ```bash
- Shell > head -n 5 /etc/passwd
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
-
- # I need this part of the content - "emon:/sbin:/sbin/nologin"
- Shell > head -n 5 /etc/passwd | awk '/daemon/ {print substr($0,16)}'
- emon:/sbin:/sbin/nologin
-
- Shell > tail -n 5 /etc/services
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- # I need this part of the content - "tablet"
- Shell > tail -n 5 /etc/services | awk '/^sp/ {print substr($1,9)}'
- tablet
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+
+ # I need this part of the content - "emon:/sbin:/sbin/nologin"
+ Shell > head -n 5 /etc/passwd | awk '/daemon/ {print substr($0,16)}'
+ emon:/sbin:/sbin/nologin
+
+ Shell > tail -n 5 /etc/services
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ # I need this part of the content - "tablet"
+ Shell > tail -n 5 /etc/services | awk '/^sp/ {print substr($1,9)}'
+ tablet
+ ```
11. Funzioni **tolower** e **toupper**
- ```bash
- Shell > echo -e "AbcD123\nqweR" | awk '{print tolower($0)}'
- abcd123
- qwer
+ ```bash
+ Shell > echo -e "AbcD123\nqweR" | awk '{print tolower($0)}'
+ abcd123
+ qwer
- Shell > tail -n 5 /etc/services | awk '{print toupper($0)}'
- AXIO-DISC 35100/UDP # AXIOMATIC DISCOVERY PROTOCOL
- PMWEBAPI 44323/TCP # PERFORMANCE CO-PILOT CLIENT HTTP API
- CLOUDCHECK-PING 45514/UDP # ASSIA CLOUDCHECK WIFI MANAGEMENT KEEPALIVE
- CLOUDCHECK 45514/TCP # ASSIA CLOUDCHECK WIFI MANAGEMENT SYSTEM
- SPREMOTETABLET 46998/TCP # CAPTURE HANDWRITTEN SIGNATURES
- ```
+ Shell > tail -n 5 /etc/services | awk '{print toupper($0)}'
+ AXIO-DISC 35100/UDP # AXIOMATIC DISCOVERY PROTOCOL
+ PMWEBAPI 44323/TCP # PERFORMANCE CO-PILOT CLIENT HTTP API
+ CLOUDCHECK-PING 45514/UDP # ASSIA CLOUDCHECK WIFI MANAGEMENT KEEPALIVE
+ CLOUDCHECK 45514/TCP # ASSIA CLOUDCHECK WIFI MANAGEMENT SYSTEM
+ SPREMOTETABLET 46998/TCP # CAPTURE HANDWRITTEN SIGNATURES
+ ```
12. Funzioni che trattano l'ora e la data
- \*\*Che cos'è un timestamp UNIX?
- Secondo la storia dello sviluppo di GNU/Linux, UNIX V1 è nato nel 1971 e il libro "UNIX Programmer's Manual" è stato pubblicato il 3 novembre dello stesso anno, il che definisce il 1970-01-01 come data di riferimento dell'inizio di UNIX.
+ \*\*Che cos'è un timestamp UNIX?
+ Secondo la storia dello sviluppo di GNU/Linux, UNIX V1 è nato nel 1971 e il libro "UNIX Programmer's Manual" è stato pubblicato il 3 novembre dello stesso anno, il che definisce il 1970-01-01 come data di riferimento dell'inizio di UNIX.
- La conversione tra un timestamp e una data naturale in giorni:
+ La conversione tra un timestamp e una data naturale in giorni:
- ```bash
- Shell > echo "$(( $(date --date="2024/01/06" +%s)/86400 + 1 ))"
- 19728
+ ```bash
+ Shell > echo "$(( $(date --date="2024/01/06" +%s)/86400 + 1 ))"
+ 19728
- Shell > date -d "1970-01-01 19728days"
- Sat Jan 6 00:00:00 CST 2024
- ```
+ Shell > date -d "1970-01-01 19728days"
+ Sat Jan 6 00:00:00 CST 2024
+ ```
- La conversione tra un timestamp e una data naturale in secondi:
+ La conversione tra un timestamp e una data naturale in secondi:
- ```bash
- Shell > echo "$(date --date="2024/01/06 17:12:00" +%s)"
- 1704532320
+ ```bash
+ Shell > echo "$(date --date="2024/01/06 17:12:00" +%s)"
+ 1704532320
- Shell > echo "$(date --date='@1704532320')"
- Sat Jan 6 17:12:00 CST 2024
- ```
+ Shell > echo "$(date --date='@1704532320')"
+ Sat Jan 6 17:12:00 CST 2024
+ ```
- La conversione tra la data naturale e il timestamp UNIX nel programma `awk`:
+ La conversione tra la data naturale e il timestamp UNIX nel programma `awk`:
- ```bash
- Shell > awk 'BEGIN{print systime()}'
- 1704532597
+ ```bash
+ Shell > awk 'BEGIN{print systime()}'
+ 1704532597
- Shell > echo "1704532597" | awk '{print strftime("%Y-%m-%d %H:%M:%S",$0)}'
- 2024-01-06 17:16:37
- ```
+ Shell > echo "1704532597" | awk '{print strftime("%Y-%m-%d %H:%M:%S",$0)}'
+ 2024-01-06 17:16:37
+ ```
## Istruzione I/O
@@ -1824,209 +1824,209 @@ Come la maggior parte dei linguaggi di programmazione, `awk` supporta anche gli
| print | Stampare il risultato |
| printf | Vedere la sezione relativa a questo comando in questo documento |
| system(cmd-line) | Esegue il comando e restituisce il codice di stato. 0 indica che il comando è stato eseguito con successo; non-0 indica che l'esecuzione non è riuscita |
-| print ... >> file | Redirezione Output |
+| print ... >> file | Redirezione output |
| print ... \\| command | Stampare l'output e utilizzarlo come input per il comando |
1. getline
- ```bash
- Shell > seq 1 10 | awk '/3/ || /6/ {getline ; print $0}'
- 4
- 7
-
- Shell > seq 1 10 | awk '/3/ || /6/ {print $0 ; getline ; print $0}'
- 3
- 4
- 6
- 7
- ```
-
- Utilizzando le funzioni che abbiamo imparato in precedenza e il simbolo "&", possiamo:
-
- ```bash
- Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {getline ; gsub(/.*/ , "&\tSTRING1") ; print $0}'
- spremotetablet 46998/tcp # Capture handwritten signatures STRING1
-
- Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {print $0 ; getline; gsub(/.*/,"&\tSTRING2") } {print $0}'
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures STRING2
- ```
-
- Stampa le righe pari e dispari:
-
- ```bash
- Shell > tail -n 10 /etc/services | cat -n | awk '{ if( (getline) <= 1) print $0}'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | cat -n | awk '{if(NR==1) print $0} { if(NR%2==0) {if(getline > 0) print $0} }'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
+ ```bash
+ Shell > seq 1 10 | awk '/3/ || /6/ {getline ; print $0}'
+ 4
+ 7
+
+ Shell > seq 1 10 | awk '/3/ || /6/ {print $0 ; getline ; print $0}'
+ 3
+ 4
+ 6
+ 7
+ ```
+
+ Utilizzando le funzioni che abbiamo imparato in precedenza e il simbolo "&", possiamo:
+
+ ```bash
+ Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {getline ; gsub(/.*/ , "&\tSTRING1") ; print $0}'
+ spremotetablet 46998/tcp # Capture handwritten signatures STRING1
+
+ Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {print $0 ; getline; gsub(/.*/,"&\tSTRING2") } {print $0}'
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures STRING2
+ ```
+
+ Stampa le righe pari e dispari:
+
+ ```bash
+ Shell > tail -n 10 /etc/services | cat -n | awk '{ if( (getline) <= 1) print $0}'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 10 /etc/services | cat -n | awk '{if(NR==1) print $0} { if(NR%2==0) {if(getline > 0) print $0} }'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
2. getline var
- Aggiungere ogni riga del file b alla fine di ogni riga del file C:
-
- ```bash
- Shell > cat /tmp/b.txt
- b1
- b2
- b3
- b4
- b5
- b6
-
- Shell > cat /tmp/c.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- Shell > awk '{getline var1 <"/tmp/b.txt" ; print $0 , var1}' /tmp/c.txt
- A 192.168.1.1 HTTP b1
- B 192.168.1.2 HTTP b2
- B 192.168.1.2 MYSQL b3
- C 192.168.1.1 MYSQL b4
- C 192.168.1.1 MQ b5
- D 192.168.1.4 NGINX b6
- ```
-
- Sostituisce il campo specificato del file c con la riga del contenuto del file b:
-
- ```bash
- Shell > awk '{ getline var2 < "/tmp/b.txt" ; gsub($2 , var2 , $2) ; print $0 }' /tmp/c.txt
- A b1 HTTP
- B b2 HTTP
- B b3 MYSQL
- C b4 MYSQL
- C b5 MQ
- D b6 NGINX
- ```
+ Aggiungere ogni riga del file b alla fine di ogni riga del file C:
+
+ ```bash
+ Shell > cat /tmp/b.txt
+ b1
+ b2
+ b3
+ b4
+ b5
+ b6
+
+ Shell > cat /tmp/c.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ Shell > awk '{getline var1 <"/tmp/b.txt" ; print $0 , var1}' /tmp/c.txt
+ A 192.168.1.1 HTTP b1
+ B 192.168.1.2 HTTP b2
+ B 192.168.1.2 MYSQL b3
+ C 192.168.1.1 MYSQL b4
+ C 192.168.1.1 MQ b5
+ D 192.168.1.4 NGINX b6
+ ```
+
+ Sostituisce il campo specificato del file c con la riga del contenuto del file b:
+
+ ```bash
+ Shell > awk '{ getline var2 < "/tmp/b.txt" ; gsub($2 , var2 , $2) ; print $0 }' /tmp/c.txt
+ A b1 HTTP
+ B b2 HTTP
+ B b3 MYSQL
+ C b4 MYSQL
+ C b5 MQ
+ D b6 NGINX
+ ```
3. command | getline [var]
- ```bash
- Shell > awk 'BEGIN{ "date +%Y%m%d" | getline datenow ; print datenow}'
- 20240107
- ```
+ ```bash
+ Shell > awk 'BEGIN{ "date +%Y%m%d" | getline datenow ; print datenow}'
+ 20240107
+ ```
- !!! tip "Suggerimento"
+ !!! tip "Suggerimento"
- ```
- Utilizzare le doppie virgolette per includere il comando Shell.
- ```
+ ```
+ Utilizzare le doppie virgolette per includere il comando Shell.
+ ```
4. next
- In precedenza abbiamo introdotto l'istruzione **break** e l'istruzione **continue**, la prima utilizzata per terminare il ciclo e la seconda per uscire dal ciclo corrente. Vedi [qui](#bc). Per **next**, quando le condizioni sono soddisfatte, interrompe la registrazione dell'ingresso che soddisfa le condizioni e continua con le azioni successive.
+ In precedenza abbiamo introdotto l'istruzione **break** e l'istruzione **continue**, la prima utilizzata per terminare il ciclo e la seconda per uscire dal ciclo corrente. Vedi [qui](#bc). Per **next**, quando le condizioni sono soddisfatte, interrompe la registrazione dell'ingresso che soddisfa le condizioni e continua con le azioni successive.
- ```bash
- Shell > seq 1 5 | awk '{if(NR==3) {next} print $0}'
- 1
- 2
- 4
- 5
-
- # equivalent to
- Shell > seq 1 5 | awk '{if($1!=3) print $0}'
- ```
+ ```bash
+ Shell > seq 1 5 | awk '{if(NR==3) {next} print $0}'
+ 1
+ 2
+ 4
+ 5
- Saltare i record di linea ammissibili:
+ # equivalent to
+ Shell > seq 1 5 | awk '{if($1!=3) print $0}'
+ ```
- ```bash
- Shell > cat /etc/passwd | awk -F ":" 'NR>5 {next} {print $0}'
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+ Saltare i record di linea ammissibili:
- # equivalent to
- Shell > cat /etc/passwd | awk -F ":" 'NR>=1 && NR<=5 {print $0}'
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" 'NR>5 {next} {print $0}'
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+
+ # equivalent to
+ Shell > cat /etc/passwd | awk -F ":" 'NR>=1 && NR<=5 {print $0}'
+ ```
- !!! tip "Suggerimento"
+ !!! tip "Suggerimento"
- ```
- "**next**" non può essere usato in "BEGIN{}" e "END{}".
- ```
+ ```
+ "**next**" non può essere usato in "BEGIN{}" e "END{}".
+ ```
5. Funzione **system**
- Questa funzione può essere utilizzata per richiamare comandi nella shell, come ad esempio:
+ Questa funzione può essere utilizzata per richiamare comandi nella shell, come ad esempio:
- ```bash
- Shell > awk 'BEGIN{ system("echo nginx http") }'
- nginx http
- ```
+ ```bash
+ Shell > awk 'BEGIN{ system("echo nginx http") }'
+ nginx http
+ ```
- !!! tip "Suggerimento"
+ !!! tip "Suggerimento"
- ````
- Si noti di aggiungere le doppie virgolette quando si utilizza la funzione **system**. Se non vengono aggiunte, il programma `awk` la considererà una variabile del programma `awk`.
+ ````
+ Si noti di aggiungere le doppie virgolette quando si utilizza la funzione **system**. Se non vengono aggiunte, il programma `awk` la considererà una variabile del programma `awk`.
- ```bash
- Shell > awk 'BEGIN{ cmd1="date +%Y" ; system(cmd1)}'
- 2024
- ```
- ````
+ ```bash
+ Shell > awk 'BEGIN{ cmd1="date +%Y" ; system(cmd1)}'
+ 2024
+ ```
+ ````
- \*\*Cosa succede se il comando stesso della shell contiene doppi apici? \*\* Utilizzando i caratteri di escape - "\", come ad esempio:
+ \*\*Cosa succede se il comando stesso della shell contiene doppi apici? \*\* Utilizzando i caratteri di escape - "\", come ad esempio:
- ```bash
- Shell > egrep "^root|^nobody" /etc/passwd
- Shell > awk 'BEGIN{ system("egrep \"^root|^nobody\" /etc/passwd") }'
- root:x:0:0:root:/root:/bin/bash
- nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
- ```
+ ```bash
+ Shell > egrep "^root|^nobody" /etc/passwd
+ Shell > awk 'BEGIN{ system("egrep \"^root|^nobody\" /etc/passwd") }'
+ root:x:0:0:root:/root:/bin/bash
+ nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
+ ```
- Un altro esempio:
+ Un altro esempio:
- ```bash
- Shell > awk 'BEGIN{ if ( system("xmind &> /dev/null") == 0 ) print "True"; else print "False" }'
- False
- ```
+ ```bash
+ Shell > awk 'BEGIN{ if ( system("xmind &> /dev/null") == 0 ) print "True"; else print "False" }'
+ False
+ ```
6. Scrivere l'output del programma `awk` su un file
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{OFS="\t"} {print $1,$2 > "/tmp/user.txt"}'
- Shell > cat /tmp/user.txt
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{OFS="\t"} {print $1,$2 > "/tmp/user.txt"}'
+ Shell > cat /tmp/user.txt
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
- !!! tip "Suggerimento"
+ !!! tip "Suggerimento"
- ```
- "**>**" indica la scrittura sul file come sovrapposizione. Se si desidera scrivere sul file come append, utilizzare "**>>**". Si ricorda ancora una volta di usare le doppie virgolette per includere il percorso del file.
- ```
+ ```
+ "**>**" indica la scrittura sul file come sovrapposizione. Se si desidera scrivere sul file come append, utilizzare "**>>**". Si ricorda ancora una volta di usare le doppie virgolette per includere il percorso del file.
+ ```
7. carattere della pipe
8. Funzioni personalizzate
- sintassi - `funzione NOME(elenco di parametri) { corpo della funzione }`. Come ad esempio:
+ sintassi - `funzione NOME(elenco di parametri) { corpo della funzione }`. Come ad esempio:
- ```bash
- Shell > awk 'function mysum(a,b) {return a+b} BEGIN{print mysum(1,6)}'
- 7
- ```
+ ```bash
+ Shell > awk 'function mysum(a,b) {return a+b} BEGIN{print mysum(1,6)}'
+ 7
+ ```
## Osservazioni conclusive
diff --git a/docs/books/sed_awk_grep/4_awk_command.uk.md b/docs/books/sed_awk_grep/4_awk_command.uk.md
index a84ae0aa3f..729b6c0f37 100644
--- a/docs/books/sed_awk_grep/4_awk_command.uk.md
+++ b/docs/books/sed_awk_grep/4_awk_command.uk.md
@@ -1,7 +1,7 @@
---
title: Команда Awk
author: tianci li
-contributors: null
+contributors:
tags:
- awk
---
@@ -190,293 +190,293 @@ ID Name
1. Читання вихідних файлів програми `awk` з файлів
- ```bash
- Shell > vim /tmp/read-print.awk
- #!/bin/awk
- {print $6}
-
- Shell > df -hT | awk -f /tmp/read-print.awk
- Use%
- 0%
- 0%
- 1%
- 0%
- 6%
- 18%
- 0%
- ```
+ ```bash
+ Shell > vim /tmp/read-print.awk
+ #!/bin/awk
+ {print $6}
+
+ Shell > df -hT | awk -f /tmp/read-print.awk
+ Use%
+ 0%
+ 0%
+ 1%
+ 0%
+ 6%
+ 18%
+ 0%
+ ```
2. Вкажіть роздільник
- ```bash
- Shell > awk -F ":" '{print $1}' /etc/passwd
- root
- bin
- daemon
- adm
- lp
- sync
- ...
-
- Shell > tail -n 5 /etc/services | awk -F "\/" '{print $2}'
- awk: warning: escape sequence `\/' treated as plain `/'
- axio-disc 35100
- pmwebapi 44323
- cloudcheck-ping 45514
- cloudcheck 45514
- spremotetablet 46998
- ```
-
- Ви також можете використовувати слова як роздільники. Дужки вказують, що це загальний роздільник, а "|" означає або.
-
- ```bash
- Shell > tail -n 5 /etc/services | awk -F "(tcp)|(udp)" '{print $1}'
- axio-disc 35100/
- pmwebapi 44323/
- cloudcheck-ping 45514/
- cloudcheck 45514/
- spremotetablet 46998/
- ```
+ ```bash
+ Shell > awk -F ":" '{print $1}' /etc/passwd
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ...
+
+ Shell > tail -n 5 /etc/services | awk -F "\/" '{print $2}'
+ awk: warning: escape sequence `\/' treated as plain `/'
+ axio-disc 35100
+ pmwebapi 44323
+ cloudcheck-ping 45514
+ cloudcheck 45514
+ spremotetablet 46998
+ ```
+
+ Ви також можете використовувати слова як роздільники. Дужки вказують, що це загальний роздільник, а "|" означає або.
+
+ ```bash
+ Shell > tail -n 5 /etc/services | awk -F "(tcp)|(udp)" '{print $1}'
+ axio-disc 35100/
+ pmwebapi 44323/
+ cloudcheck-ping 45514/
+ cloudcheck 45514/
+ spremotetablet 46998/
+ ```
3. Присвоєння змінної
- ```bash
- Shell > tail -n 5 /etc/services | awk -v a=123 'BEGIN{print a}{print $1}'
- 123
- axio-disc
- pmwebapi
- cloudcheck-ping
- cloudcheck
- spremotetablet
- ```
-
- Призначте значення визначених користувачем змінних у bash змінним awk.
-
- ```bash
- Shell > ab=123
- Shell > echo ${ab}
- 123
- Shell > tail -n 5 /etc/services | awk -v a=${ab} 'BEGIN{print a}{print $1}'
- 123
- axio-disc
- pmwebapi
- cloudcheck-ping
- cloudcheck
- spremotetablet
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services | awk -v a=123 'BEGIN{print a}{print $1}'
+ 123
+ axio-disc
+ pmwebapi
+ cloudcheck-ping
+ cloudcheck
+ spremotetablet
+ ```
+
+ Призначте значення визначених користувачем змінних у bash змінним awk.
+
+ ```bash
+ Shell > ab=123
+ Shell > echo ${ab}
+ 123
+ Shell > tail -n 5 /etc/services | awk -v a=${ab} 'BEGIN{print a}{print $1}'
+ 123
+ axio-disc
+ pmwebapi
+ cloudcheck-ping
+ cloudcheck
+ spremotetablet
+ ```
4. Записати глобальні змінні awk у файл
- ```bash
- Shell > seq 1 6 | awk --dump-variables '{print $0}'
- 1
- 2
- 3
- 4
- 5
- 6
-
- Shell > cat /root/awkvars.out
- ARGC: 1
- ARGIND: 0
- ARGV: array, 1 elements
- BINMODE: 0
- CONVFMT: "%.6g"
- ENVIRON: array, 27 elements
- ERRNO: ""
- FIELDWIDTHS: ""
- FILENAME: "-"
- FNR: 6
- FPAT: "[^[:space:]]+"
- FS: " "
- FUNCTAB: array, 41 elements
- IGNORECASE: 0
- LINT: 0
- NF: 1
- NR: 6
- OFMT: "%.6g"
- OFS: " "
- ORS: "\n"
- PREC: 53
- PROCINFO: array, 20 elements
- RLENGTH: 0
- ROUNDMODE: "N"
- RS: "\n"
- RSTART: 0
- RT: "\n"
- SUBSEP: "\034"
- SYMTAB: array, 28 elements
- TEXTDOMAIN: "messages"
- ```
-
- Пізніше ми розповімо, що означають ці змінні. Щоб переглянути їх зараз, [перейдіть до змінних](#VARIABLES).
+ ```bash
+ Shell > seq 1 6 | awk --dump-variables '{print $0}'
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+
+ Shell > cat /root/awkvars.out
+ ARGC: 1
+ ARGIND: 0
+ ARGV: array, 1 elements
+ BINMODE: 0
+ CONVFMT: "%.6g"
+ ENVIRON: array, 27 elements
+ ERRNO: ""
+ FIELDWIDTHS: ""
+ FILENAME: "-"
+ FNR: 6
+ FPAT: "[^[:space:]]+"
+ FS: " "
+ FUNCTAB: array, 41 elements
+ IGNORECASE: 0
+ LINT: 0
+ NF: 1
+ NR: 6
+ OFMT: "%.6g"
+ OFS: " "
+ ORS: "\n"
+ PREC: 53
+ PROCINFO: array, 20 elements
+ RLENGTH: 0
+ ROUNDMODE: "N"
+ RS: "\n"
+ RSTART: 0
+ RT: "\n"
+ SUBSEP: "\034"
+ SYMTAB: array, 28 elements
+ TEXTDOMAIN: "messages"
+ ```
+
+ Пізніше ми розповімо, що означають ці змінні. Щоб переглянути їх зараз, [перейдіть до змінних](#VARIABLES).
5. BEGIN{ } та END{ }
- ```bash
- Shell > head -n 5 /etc/passwd | awk 'BEGIN{print "UserName:PasswordIdentification:UID:InitGID"}{print $0}END{print "one\ntwo"}'
- UserName:PasswordIdentification:UID:InitGID
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
- one
- two
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk 'BEGIN{print "UserName:PasswordIdentification:UID:InitGID"}{print $0}END{print "one\ntwo"}'
+ UserName:PasswordIdentification:UID:InitGID
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+ one
+ two
+ ```
6. Опція --profile
- ```bash
- Shell > df -hT | awk --profile 'BEGIN{print "start line"}{print $0}END{print "end line"}'
- start line
- Filesystem Type Size Used Avail Use% Mounted on
- devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
- tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
- tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
- tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
- /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
- /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
- tmpfs tmpfs 363M 0 363M 0% /run/user/0
- end line
-
- Shell > cat /root/awkprof.out
- # gawk profile, created Fri Dec 8 15:12:56 2023
-
- # BEGIN rule(s)
-
- BEGIN {
- 1 print "start line"
- }
-
- # Rule(s)
-
- 8 {
- 8 print $0
- }
-
- # END rule(s)
-
- END {
- 1 print "end line"
- }
- ```
-
- Змініть файл awkprof.out.
-
- ```bash
- Shell > vim /root/awkprof.out
- BEGIN {
- print "start line"
- }
-
- {
- print $0
- }
-
- END {
- print "end line"
- }
-
- Shell > df -hT | awk -f /root/awkprof.out
- start line
- Filesystem Type Size Used Avail Use% Mounted on
- devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
- tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
- tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
- tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
- /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
- /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
- tmpfs tmpfs 363M 0 363M 0% /run/user/0
- end line
- ```
+ ```bash
+ Shell > df -hT | awk --profile 'BEGIN{print "start line"}{print $0}END{print "end line"}'
+ start line
+ Filesystem Type Size Used Avail Use% Mounted on
+ devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
+ tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
+ tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
+ tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
+ /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
+ /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
+ tmpfs tmpfs 363M 0 363M 0% /run/user/0
+ end line
+
+ Shell > cat /root/awkprof.out
+ # gawk profile, created Fri Dec 8 15:12:56 2023
+
+ # BEGIN rule(s)
+
+ BEGIN {
+ 1 print "start line"
+ }
+
+ # Rule(s)
+
+ 8 {
+ 8 print $0
+ }
+
+ # END rule(s)
+
+ END {
+ 1 print "end line"
+ }
+ ```
+
+ Змініть файл awkprof.out.
+
+ ```bash
+ Shell > vim /root/awkprof.out
+ BEGIN {
+ print "start line"
+ }
+
+ {
+ print $0
+ }
+
+ END {
+ print "end line"
+ }
+
+ Shell > df -hT | awk -f /root/awkprof.out
+ start line
+ Filesystem Type Size Used Avail Use% Mounted on
+ devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
+ tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm
+ tmpfs tmpfs 1.8G 8.9M 1.8G 1% /run
+ tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
+ /dev/nvme0n1p2 ext4 47G 2.7G 42G 6% /
+ /dev/nvme0n1p1 xfs 1014M 181M 834M 18% /boot
+ tmpfs tmpfs 363M 0 363M 0% /run/user/0
+ end line
+ ```
7. Зіставте рядки (записи) за допомогою регулярних виразів
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP
- auth 113/tcp authentication tap ident
- sftp 115/tcp
- uucp-path 117/tcp
- nntp 119/tcp readnews untp # USENET News Transfer Protocol
- ntp 123/tcp
- netbios-ns 137/tcp # NETBIOS Name Service
- netbios-dgm 138/tcp # NETBIOS Datagram Service
- netbios-ssn 139/tcp # NETBIOS session service
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
+ sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP
+ auth 113/tcp authentication tap ident
+ sftp 115/tcp
+ uucp-path 117/tcp
+ nntp 119/tcp readnews untp # USENET News Transfer Protocol
+ ntp 123/tcp
+ netbios-ns 137/tcp # NETBIOS Name Service
+ netbios-dgm 138/tcp # NETBIOS Datagram Service
+ netbios-ssn 139/tcp # NETBIOS session service
+ ...
+ ```
8. Логічні операції (логічне та, логічне АБО, зворотне)
- logical and: &&
- logical OR: ||
- reverse: !
-
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ && /175/ {print $0}'
- vmnet 175/tcp # VMNET
- ```
-
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]9[1-9]{2}\/tcp/ || /91{2}\/tcp/ {print $0}'
- telnets 992/tcp
- imaps 993/tcp # IMAP over SSL
- pop3s 995/tcp # POP-3 over SSL
- mtp 1911/tcp #
- rndc 953/tcp # rndc control sockets (BIND 9)
- xact-backup 911/tcp # xact-backup
- apex-mesh 912/tcp # APEX relay-relay service
- apex-edge 913/tcp # APEX endpoint-relay service
- ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
- nas 991/tcp # Netnews Administration System
- vsinet 996/tcp # vsinet
- maitrd 997/tcp #
- busboy 998/tcp #
- garcon 999/tcp #
- #puprouter 999/tcp #
- blockade 2911/tcp # Blockade
- prnstatus 3911/tcp # Printer Status Port
- cpdlc 5911/tcp # Controller Pilot Data Link Communication
- manyone-xml 8911/tcp # manyone-xml
- sype-transport 9911/tcp # SYPECom Transport Protocol
- ```
-
- ```bash
- Shell > cat /etc/services | awk '!/(tcp)|(udp)/ {print $0}'
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ftp-data 20/sctp # FTP
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- exp1 1021/sctp # RFC3692-style Experiment 1 (*) [RFC4727]
- exp1 1021/dccp # RFC3692-style Experiment 1 (*) [RFC4727]
- exp2 1022/sctp # RFC3692-style Experiment 2 (*) [RFC4727]
- exp2 1022/dccp # RFC3692-style Experiment 2 (*) [RFC4727]
- ltp-deepspace 1113/dccp # Licklider Transmission Protocol
- cisco-ipsla 1167/sctp # Cisco IP SLAs Control Protocol
- rcip-itu 2225/sctp # Resource Connection Initiation Protocol
- m2ua 2904/sctp # M2UA
- m3ua 2905/sctp # M3UA
- megaco-h248 2944/sctp # Megaco-H.248 text
- ...
- ```
+ logical and: &&
+ logical OR: ||
+ reverse: !
+
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ && /175/ {print $0}'
+ vmnet 175/tcp # VMNET
+ ```
+
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]9[1-9]{2}\/tcp/ || /91{2}\/tcp/ {print $0}'
+ telnets 992/tcp
+ imaps 993/tcp # IMAP over SSL
+ pop3s 995/tcp # POP-3 over SSL
+ mtp 1911/tcp #
+ rndc 953/tcp # rndc control sockets (BIND 9)
+ xact-backup 911/tcp # xact-backup
+ apex-mesh 912/tcp # APEX relay-relay service
+ apex-edge 913/tcp # APEX endpoint-relay service
+ ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
+ nas 991/tcp # Netnews Administration System
+ vsinet 996/tcp # vsinet
+ maitrd 997/tcp #
+ busboy 998/tcp #
+ garcon 999/tcp #
+ #puprouter 999/tcp #
+ blockade 2911/tcp # Blockade
+ prnstatus 3911/tcp # Printer Status Port
+ cpdlc 5911/tcp # Controller Pilot Data Link Communication
+ manyone-xml 8911/tcp # manyone-xml
+ sype-transport 9911/tcp # SYPECom Transport Protocol
+ ```
+
+ ```bash
+ Shell > cat /etc/services | awk '!/(tcp)|(udp)/ {print $0}'
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ftp-data 20/sctp # FTP
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ exp1 1021/sctp # RFC3692-style Experiment 1 (*) [RFC4727]
+ exp1 1021/dccp # RFC3692-style Experiment 1 (*) [RFC4727]
+ exp2 1022/sctp # RFC3692-style Experiment 2 (*) [RFC4727]
+ exp2 1022/dccp # RFC3692-style Experiment 2 (*) [RFC4727]
+ ltp-deepspace 1113/dccp # Licklider Transmission Protocol
+ cisco-ipsla 1167/sctp # Cisco IP SLAs Control Protocol
+ rcip-itu 2225/sctp # Resource Connection Initiation Protocol
+ m2ua 2904/sctp # M2UA
+ m3ua 2905/sctp # M3UA
+ megaco-h248 2944/sctp # Megaco-H.248 text
+ ...
+ ```
9. Знаходить послідовні рядки за рядком і друкує їх
- ```bash
- Shell > cat /etc/services | awk '/^ntp/,/^netbios/ {print $0}'
- ntp 123/tcp
- ntp 123/udp # Network Time Protocol
- netbios-ns 137/tcp # NETBIOS Name Service
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/^ntp/,/^netbios/ {print $0}'
+ ntp 123/tcp
+ ntp 123/udp # Network Time Protocol
+ netbios-ns 137/tcp # NETBIOS Name Service
+ ```
- !!! info
+ !!! info "примітка"
- ```
- Початковий діапазон: припинення збігу, коли знайдено перший збіг.
- Кінцевий діапазон: припинення збігу, коли знайдено перший збіг.
- ```
+ ```
+ Початковий діапазон: припинення збігу, коли знайдено перший збіг.
+ Кінцевий діапазон: припинення збігу, коли знайдено перший збіг.
+ ```
## Вбудована змінна {#VARIABLES}
@@ -499,311 +499,311 @@ ID Name
1. FS та OFS
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1}'
- root
- bin
- daemon
- adm
- lp
- sync
- ```
-
- Ви також можете використовувати опцію -v, щоб призначити значення змінним.
-
- ```bash
- Shell > cat /etc/passwd | awk -v FS=":" '{print $1}'
- root
- bin
- daemon
- adm
- lp
- sync
- ```
-
- Роздільником виводу за замовчуванням є пробіл у разі використання ком для посилань на кілька полів. Однак ви можете вказати роздільник виведення окремо.
-
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$2}'
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
-
- ```bash
- Shell > cat /etc/passwd | awk 'BEGIN{FS=":";OFS="\t"}{print $1,$2}'
- # or
- Shell > cat /etc/passwd | awk -v FS=":" -v OFS="\t" '{print $1,$2}'
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ```
+
+ Ви також можете використовувати опцію -v, щоб призначити значення змінним.
-2. RS та ORS
+ ```bash
+ Shell > cat /etc/passwd | awk -v FS=":" '{print $1}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ sync
+ ```
- За замовчуванням `awk` використовує символи нового рядка, щоб розрізняти кожен запис рядка
+ Роздільником виводу за замовчуванням є пробіл у разі використання ком для посилань на кілька полів. Однак ви можете вказати роздільник виведення окремо.
- ```bash
- Shell > echo -e "https://example.com/books/index.html\ntitle//tcp"
- https://example.com/books/index.html
- title//tcp
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":"}{print $1,$2}'
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
- Shell > echo -e "https://example.com/books/index.html\ntitle//tcp" | awk 'BEGIN{RS="\/\/";ORS="%%"}{print $0}'
- awk: cmd. line:1: warning: escape sequence `\/' treated as plain `/'
- https:%%example.com/books/index.html
- title%%tcp
- %% ← Why? Because "print"
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk 'BEGIN{FS=":";OFS="\t"}{print $1,$2}'
+ # or
+ Shell > cat /etc/passwd | awk -v FS=":" -v OFS="\t" '{print $1,$2}'
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
+
+2. RS та ORS
+
+ За замовчуванням `awk` використовує символи нового рядка, щоб розрізняти кожен запис рядка
+
+ ```bash
+ Shell > echo -e "https://example.com/books/index.html\ntitle//tcp"
+ https://example.com/books/index.html
+ title//tcp
+
+ Shell > echo -e "https://example.com/books/index.html\ntitle//tcp" | awk 'BEGIN{RS="\/\/";ORS="%%"}{print $0}'
+ awk: cmd. line:1: warning: escape sequence `\/' treated as plain `/'
+ https:%%example.com/books/index.html
+ title%%tcp
+ %% ← Why? Because "print"
+ ```
3. NF
- Підрахувати кількість полів на рядок поточного тексту
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print NF}'
- 7
- 7
- 7
- 7
- 7
- ```
-
- Виведіть п'яте поле
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $(NF-2)}'
- root
- bin
- daemon
- adm
- lp
- ```
-
- Роздрукуйте останнє поле
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $NF}'
- /bin/bash
- /sbin/nologin
- /sbin/nologin
- /sbin/nologin
- /sbin/nologin
- ```
-
- Виключіть останні два поля
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$NF=" ";$(NF-1)=" ";print $0}'
- root x 0 0 root
- bin x 1 1 bin
- daemon x 2 2 daemon
- adm x 3 4 adm
- lp x 4 7 lp
- ```
-
- Виключити перше поле
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$1=" ";print $0}' | sed -r 's/(^ )//g'
- x 0 0 root /root /bin/bash
- x 1 1 bin /bin /sbin/nologin
- x 2 2 daemon /sbin /sbin/nologin
- x 3 4 adm /var/adm /sbin/nologin
- x 4 7 lp /var/spool/lpd /sbin/nologin
- ```
+ Підрахувати кількість полів на рядок поточного тексту
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print NF}'
+ 7
+ 7
+ 7
+ 7
+ 7
+ ```
+
+ Виведіть п'яте поле
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $(NF-2)}'
+ root
+ bin
+ daemon
+ adm
+ lp
+ ```
+
+ Роздрукуйте останнє поле
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {print $NF}'
+ /bin/bash
+ /sbin/nologin
+ /sbin/nologin
+ /sbin/nologin
+ /sbin/nologin
+ ```
+
+ Виключіть останні два поля
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$NF=" ";$(NF-1)=" ";print $0}'
+ root x 0 0 root
+ bin x 1 1 bin
+ daemon x 2 2 daemon
+ adm x 3 4 adm
+ lp x 4 7 lp
+ ```
+
+ Виключити перше поле
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{RS="\n";ORS="\n"} {$1=" ";print $0}' | sed -r 's/(^ )//g'
+ x 0 0 root /root /bin/bash
+ x 1 1 bin /bin /sbin/nologin
+ x 2 2 daemon /sbin /sbin/nologin
+ x 3 4 adm /var/adm /sbin/nologin
+ x 4 7 lp /var/spool/lpd /sbin/nologin
+ ```
4. NR та FNR
- ```bash
- Shell > tail -n 5 /etc/services | awk '{print NR,$0}'
- 1 axio-disc 35100/udp # Axiomatic discovery protocol
- 2 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 3 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 4 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- 5 spremotetablet 46998/tcp # Capture handwritten signatures
- ```
-
- Вивести загальну кількість рядків у вмісті файлу
-
- ```bash
- Shell > cat /etc/services | awk 'END{print NR}'
- 11473
- ```
-
- Вивести вміст рядка 200
-
- ```bash
- Shell > cat /etc/services | awk 'NR==200'
- microsoft-ds 445/tcp
- ```
-
- Виведіть друге поле в рядку 200
-
- ```bash
- Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR==200 {print $2}'
- 445/tcp
- ```
-
- Друк вмісту в певному діапазоні
-
- ```bash
- Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR<=10 {print NR,$0}'
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Network services, Internet style
- 5 # IANA services version: last updated 2016-07-08
- 6 #
- 7 # Note that it is presently the policy of IANA to assign a single well-known
- 8 # port number for both TCP and UDP; hence, most entries here have two entries
- 9 # even if the protocol doesn't support UDP operations.
- 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
- ```
-
- Порівняння між NR і FNR
-
- ```bash
- Shell > head -n 3 /etc/services > /tmp/a.txt
-
- Shell > cat /tmp/a.txt
- # /etc/services:
- # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- #
-
- Shell > cat /etc/resolv.conf
- # Generated by NetworkManager
- nameserver 8.8.8.8
- nameserver 114.114.114.114
-
- Shell > awk '{print NR,$0}' /tmp/a.txt /etc/resolv.conf
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 4 # Generated by NetworkManager
- 5 nameserver 8.8.8.8
- 6 nameserver 114.114.114.114
-
- Shell > awk '{print FNR,$0}' /tmp/a.txt /etc/resolv.conf
- 1 # /etc/services:
- 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
- 3 #
- 1 # Generated by NetworkManager
- 2 nameserver 8.8.8.8
- 3 nameserver 114.114.114.114
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services | awk '{print NR,$0}'
+ 1 axio-disc 35100/udp # Axiomatic discovery protocol
+ 2 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 3 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 4 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ 5 spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
+
+ Вивести загальну кількість рядків у вмісті файлу
+
+ ```bash
+ Shell > cat /etc/services | awk 'END{print NR}'
+ 11473
+ ```
+
+ Вивести вміст рядка 200
+
+ ```bash
+ Shell > cat /etc/services | awk 'NR==200'
+ microsoft-ds 445/tcp
+ ```
+
+ Виведіть друге поле в рядку 200
+
+ ```bash
+ Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR==200 {print $2}'
+ 445/tcp
+ ```
+
+ Друк вмісту в певному діапазоні
+
+ ```bash
+ Shell > cat /etc/services | awk 'BEGIN{RS="\n";ORS="\n"} NR<=10 {print NR,$0}'
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Network services, Internet style
+ 5 # IANA services version: last updated 2016-07-08
+ 6 #
+ 7 # Note that it is presently the policy of IANA to assign a single well-known
+ 8 # port number for both TCP and UDP; hence, most entries here have two entries
+ 9 # even if the protocol doesn't support UDP operations.
+ 10 # Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
+ ```
+
+ Порівняння між NR і FNR
+
+ ```bash
+ Shell > head -n 3 /etc/services > /tmp/a.txt
+
+ Shell > cat /tmp/a.txt
+ # /etc/services:
+ # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ #
+
+ Shell > cat /etc/resolv.conf
+ # Generated by NetworkManager
+ nameserver 8.8.8.8
+ nameserver 114.114.114.114
+
+ Shell > awk '{print NR,$0}' /tmp/a.txt /etc/resolv.conf
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 4 # Generated by NetworkManager
+ 5 nameserver 8.8.8.8
+ 6 nameserver 114.114.114.114
+
+ Shell > awk '{print FNR,$0}' /tmp/a.txt /etc/resolv.conf
+ 1 # /etc/services:
+ 2 # $Id: services,v 1.49 2017/08/18 12:43:23 ovasik Exp $
+ 3 #
+ 1 # Generated by NetworkManager
+ 2 nameserver 8.8.8.8
+ 3 nameserver 114.114.114.114
+ ```
5. ARGC та ARGV
- ```bash
- Shell > awk 'BEGIN{print ARGC}' log dump long
- 4
- Shell > awk 'BEGIN{print ARGV[0]}' log dump long
- awk
- Shell > awk 'BEGIN{print ARGV[1]}' log dump long
- log
- Shell > awk 'BEGIN{print ARGV[2]}' log dump long
- dump
- ```
+ ```bash
+ Shell > awk 'BEGIN{print ARGC}' log dump long
+ 4
+ Shell > awk 'BEGIN{print ARGV[0]}' log dump long
+ awk
+ Shell > awk 'BEGIN{print ARGV[1]}' log dump long
+ log
+ Shell > awk 'BEGIN{print ARGV[2]}' log dump long
+ dump
+ ```
6. ARGIND
- Ця змінна в основному використовується для визначення файлу, з яким працює програма `awk`.
+ Ця змінна в основному використовується для визначення файлу, з яким працює програма `awk`.
- ```bash
- Shell > awk '{print ARGIND,$0}' /etc/hostname /etc/resolv.conf
- 1 Master
- 2 # Generated by NetworkManager
- 2 nameserver 8.8.8.8
- 2 nameserver 114.114.114.114
- ```
+ ```bash
+ Shell > awk '{print ARGIND,$0}' /etc/hostname /etc/resolv.conf
+ 1 Master
+ 2 # Generated by NetworkManager
+ 2 nameserver 8.8.8.8
+ 2 nameserver 114.114.114.114
+ ```
7. ENVIRON
- Ви можете посилатися на операційні системи або визначені користувачем змінні в програмах `awk`.
-
- ```bash
- Shell > echo ${SSH_CLIENT}
- 192.168.100.2 6969 22
+ Ви можете посилатися на операційні системи або визначені користувачем змінні в програмах `awk`.
- Shell > awk 'BEGIN{print ENVIRON["SSH_CLIENT"]}'
- 192.168.100.2 6969 22
-
- Shell > export a=123
- Shell > env | grep -w a
- a=123
- Shell > awk 'BEGIN{print ENVIRON["a"]}'
- 123
- Shell > unset a
- ```
+ ```bash
+ Shell > echo ${SSH_CLIENT}
+ 192.168.100.2 6969 22
+
+ Shell > awk 'BEGIN{print ENVIRON["SSH_CLIENT"]}'
+ 192.168.100.2 6969 22
+
+ Shell > export a=123
+ Shell > env | grep -w a
+ a=123
+ Shell > awk 'BEGIN{print ENVIRON["a"]}'
+ 123
+ Shell > unset a
+ ```
8. FILENAME
- ```bash
- Shell > awk 'BEGIN{RS="\n";ORS="\n"} NR=FNR {print ARGIND,FILENAME"---"$0}' /etc/hostname /etc/resolv.conf /etc/rocky-release
- 1 /etc/hostname---Master
- 2 /etc/resolv.conf---# Generated by NetworkManager
- 2 /etc/resolv.conf---nameserver 8.8.8.8
- 2 /etc/resolv.conf---nameserver 114.114.114.114
- 3 /etc/rocky-release---Rocky Linux release 8.9 (Green Obsidian)
- ```
+ ```bash
+ Shell > awk 'BEGIN{RS="\n";ORS="\n"} NR=FNR {print ARGIND,FILENAME"---"$0}' /etc/hostname /etc/resolv.conf /etc/rocky-release
+ 1 /etc/hostname---Master
+ 2 /etc/resolv.conf---# Generated by NetworkManager
+ 2 /etc/resolv.conf---nameserver 8.8.8.8
+ 2 /etc/resolv.conf---nameserver 114.114.114.114
+ 3 /etc/rocky-release---Rocky Linux release 8.9 (Green Obsidian)
+ ```
9. IGNORECASE
- Ця змінна корисна, якщо ви хочете використовувати регулярні вирази в `awk` і ігнорувати регістр.
-
- ```bash
- Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SSH)|^(ftp)/ {print $0}' /etc/services
- ftp-data 20/tcp
- ftp-data 20/udp
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ftp-data 20/sctp # FTP
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- ftp-agent 574/tcp # FTP Software Agent System
- ftp-agent 574/udp # FTP Software Agent System
- sshell 614/tcp # SSLshell
- sshell 614/udp # SSLshell
- ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
- ftps-data 989/udp # ftp protocol, data, over TLS/SSL
- ftps 990/tcp # ftp protocol, control, over TLS/SSL
- ftps 990/udp # ftp protocol, control, over TLS/SSL
- ssh-mgmt 17235/tcp # SSH Tectia Manager
- ssh-mgmt 17235/udp # SSH Tectia Manager
- ```
-
- ```bash
- Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SMTP)\s/,/^(TFTP)\s/ {print $0}' /etc/services
- smtp 25/tcp mail
- smtp 25/udp mail
- time 37/tcp timserver
- time 37/udp timserver
- rlp 39/tcp resource # resource location
- rlp 39/udp resource # resource location
- nameserver 42/tcp name # IEN 116
- nameserver 42/udp name # IEN 116
- nicname 43/tcp whois
- nicname 43/udp whois
- tacacs 49/tcp # Login Host Protocol (TACACS)
- tacacs 49/udp # Login Host Protocol (TACACS)
- re-mail-ck 50/tcp # Remote Mail Checking Protocol
- re-mail-ck 50/udp # Remote Mail Checking Protocol
- domain 53/tcp # name-domain server
- domain 53/udp
- whois++ 63/tcp whoispp
- whois++ 63/udp whoispp
- bootps 67/tcp # BOOTP server
- bootps 67/udp
- bootpc 68/tcp dhcpc # BOOTP client
- bootpc 68/udp dhcpc
- tftp 69/tcp
- ```
+ Ця змінна корисна, якщо ви хочете використовувати регулярні вирази в `awk` і ігнорувати регістр.
+
+ ```bash
+ Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SSH)|^(ftp)/ {print $0}' /etc/services
+ ftp-data 20/tcp
+ ftp-data 20/udp
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ftp-data 20/sctp # FTP
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ ftp-agent 574/tcp # FTP Software Agent System
+ ftp-agent 574/udp # FTP Software Agent System
+ sshell 614/tcp # SSLshell
+ sshell 614/udp # SSLshell
+ ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
+ ftps-data 989/udp # ftp protocol, data, over TLS/SSL
+ ftps 990/tcp # ftp protocol, control, over TLS/SSL
+ ftps 990/udp # ftp protocol, control, over TLS/SSL
+ ssh-mgmt 17235/tcp # SSH Tectia Manager
+ ssh-mgmt 17235/udp # SSH Tectia Manager
+ ```
+
+ ```bash
+ Shell > awk 'BEGIN{IGNORECASE=1;RS="\n";ORS="\n"} /^(SMTP)\s/,/^(TFTP)\s/ {print $0}' /etc/services
+ smtp 25/tcp mail
+ smtp 25/udp mail
+ time 37/tcp timserver
+ time 37/udp timserver
+ rlp 39/tcp resource # resource location
+ rlp 39/udp resource # resource location
+ nameserver 42/tcp name # IEN 116
+ nameserver 42/udp name # IEN 116
+ nicname 43/tcp whois
+ nicname 43/udp whois
+ tacacs 49/tcp # Login Host Protocol (TACACS)
+ tacacs 49/udp # Login Host Protocol (TACACS)
+ re-mail-ck 50/tcp # Remote Mail Checking Protocol
+ re-mail-ck 50/udp # Remote Mail Checking Protocol
+ domain 53/tcp # name-domain server
+ domain 53/udp
+ whois++ 63/tcp whoispp
+ whois++ 63/udp whoispp
+ bootps 67/tcp # BOOTP server
+ bootps 67/udp
+ bootpc 68/tcp dhcpc # BOOTP client
+ bootpc 68/udp dhcpc
+ tftp 69/tcp
+ ```
## Оператор
@@ -847,336 +847,336 @@ False
1. Знак оклику
- Вивести непарні рядки:
-
- ```bash
- Shell > seq 1 10 | awk 'i=!i {print $0}'
- 1
- 3
- 5
- 7
- 9
- ```
-
- !!! question "Питання"
-
- ```
- **Чому?**
- **Прочитайте перший рядок**: оскільки «i» не присвоєно значення, тому «i=!i» означає TRUE.
- **Прочитайте другий рядок**: у цьому місці "i=!i" вказує на FALSE.
- І так далі, останній надрукований рядок є непарним числом.
- ```
-
- Вивести парні рядки:
-
- ```bash
- Shell > seq 1 10 | awk '!(i=!i)'
- # or
- Shell > seq 1 10 | awk '!(i=!i) {print $0}'
- 2
- 4
- 6
- 8
- 10
- ```
-
- !!! note "Примітка"
-
- ```
- Як бачите, іноді ви можете ігнорувати синтаксис для частини "action", яка за умовчанням еквівалентна "{print $0}".
- ```
+ Вивести непарні рядки:
+
+ ```bash
+ Shell > seq 1 10 | awk 'i=!i {print $0}'
+ 1
+ 3
+ 5
+ 7
+ 9
+ ```
+
+ !!! питання
+
+ ```
+ **Чому?**
+ **Прочитайте перший рядок**: оскільки «i» не присвоєно значення, тому «i=!i» означає TRUE.
+ **Прочитайте другий рядок**: у цьому місці "i=!i" вказує на FALSE.
+ І так далі, останній надрукований рядок є непарним числом.
+ ```
+
+ Вивести парні рядки:
+
+ ```bash
+ Shell > seq 1 10 | awk '!(i=!i)'
+ # or
+ Shell > seq 1 10 | awk '!(i=!i) {print $0}'
+ 2
+ 4
+ 6
+ 8
+ 10
+ ```
+
+ !!! note "Примітка"
+
+ ```
+ Як бачите, іноді ви можете ігнорувати синтаксис для частини "action", яка за умовчанням еквівалентна "{print $0}".
+ ```
2. Розворот
- ```bash
- Shell > cat /etc/services | awk '!/(tcp)|(udp)|(^#)|(^$)/ {print $0}'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- echo 4/ddp # AppleTalk Echo Protocol
- zip 6/ddp # Zone Information Protocol
- discard 9/sctp # Discard
- discard 9/dccp # Discard SC:DISC
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '!/(tcp)|(udp)|(^#)|(^$)/ {print $0}'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ echo 4/ddp # AppleTalk Echo Protocol
+ zip 6/ddp # Zone Information Protocol
+ discard 9/sctp # Discard
+ discard 9/dccp # Discard SC:DISC
+ ...
+ ```
3. Основні операції в математиці
- ```bash
- Shell > echo -e "36\n40\n50" | awk '{print $0+1}'
- 37
- 41
-
- Shell > echo -e "30\t5\t8\n11\t20\t34"
- 30 5 8
- 11 20 34
- Shell > echo -e "30\t5\t8\n11\t20\t34" | awk '{print $2*2+1}'
- 11
- 41
- ```
-
- Його також можна використовувати в "шаблоні":
-
- ```bash
- Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2==0 {print $0}'
- ...
- 24 tcpmux 1/udp # TCP port service multiplexer
- 26 rje 5/udp # Remote Job Entry
- 28 echo 7/udp
- 30 discard 9/udp sink null
- 32 systat 11/udp users
- 34 daytime 13/udp
- 36 qotd 17/udp quote
- ...
-
- Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2!=0 {print $0}'
- ...
- 23 tcpmux 1/tcp # TCP port service multiplexer
- 25 rje 5/tcp # Remote Job Entry
- 27 echo 7/tcp
- 29 discard 9/tcp sink null
- 31 systat 11/tcp users
- ...
- ```
+ ```bash
+ Shell > echo -e "36\n40\n50" | awk '{print $0+1}'
+ 37
+ 41
+
+ Shell > echo -e "30\t5\t8\n11\t20\t34"
+ 30 5 8
+ 11 20 34
+ Shell > echo -e "30\t5\t8\n11\t20\t34" | awk '{print $2*2+1}'
+ 11
+ 41
+ ```
+
+ Його також можна використовувати в "шаблоні":
+
+ ```bash
+ Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2==0 {print $0}'
+ ...
+ 24 tcpmux 1/udp # TCP port service multiplexer
+ 26 rje 5/udp # Remote Job Entry
+ 28 echo 7/udp
+ 30 discard 9/udp sink null
+ 32 systat 11/udp users
+ 34 daytime 13/udp
+ 36 qotd 17/udp quote
+ ...
+
+ Shell > cat -n /etc/services | awk '/^[1-9]*/ && $1%2!=0 {print $0}'
+ ...
+ 23 tcpmux 1/tcp # TCP port service multiplexer
+ 25 rje 5/tcp # Remote Job Entry
+ 27 echo 7/tcp
+ 29 discard 9/tcp sink null
+ 31 systat 11/tcp users
+ ...
+ ```
4. Символ Pipe
- Ви можете використовувати команду bash у програмі awk, наприклад:
+ Ви можете використовувати команду bash у програмі awk, наприклад:
- ```bash
- Shell > echo -e "6\n3\n9\n8" | awk '{print $0 | "sort"}'
- 3
- 6
- 8
- 9
- ```
+ ```bash
+ Shell > echo -e "6\n3\n9\n8" | awk '{print $0 | "sort"}'
+ 3
+ 6
+ 8
+ 9
+ ```
- !!! info
+ !!! info "примітка"
- ```
- Будь ласка, зверніть увагу! Ви повинні взяти подвійні лапки, щоб включити команду.
- ```
+ ```
+ Будь ласка, зверніть увагу! Ви повинні взяти подвійні лапки, щоб включити команду.
+ ```
5. Регулярний вираз
- [Тут](#RE) ми розглядаємо основні приклади регулярних виразів. Ви можете використовувати регулярні вирази для записів рядків.
+ [Тут](#RE) ми розглядаємо основні приклади регулярних виразів. Ви можете використовувати регулярні вирази для записів рядків.
- ```bash
- Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
-
- # Be equivalent to:
+ ```bash
+ Shell > cat /etc/services | awk '/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- Shell > cat /etc/services | awk '$0~/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
- ```
+ # Be equivalent to:
- Якщо файл містить великий обсяг тексту, регулярні вирази також можна використовувати для полів, що допоможе підвищити ефективність обробки. Приклад використання такий:
+ Shell > cat /etc/services | awk '$0~/[^0-9a-zA-Z]1[1-9]{2}\/tcp/ {print $0}'
+ ```
- ```bash
- Shell > cat /etc/services | awk '$0~/^(ssh)/ && $2~/tcp/ {print $0}'
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- sshell 614/tcp # SSLshell
- ssh-mgmt 17235/tcp # SSH Tectia Manager
+ Якщо файл містить великий обсяг тексту, регулярні вирази також можна використовувати для полів, що допоможе підвищити ефективність обробки. Приклад використання такий:
- Shell > cat /etc/services | grep -v -E "(^#)|(^$)" | awk '$2!~/(tcp)|(udp)/ {print $0}'
- http 80/sctp # HyperText Transfer Protocol
- bgp 179/sctp
- https 443/sctp # http protocol over TLS/SSL
- h323hostcall 1720/sctp # H.323 Call Control
- nfs 2049/sctp nfsd shilp # Network File System
- rtmp 1/ddp # Routing Table Maintenance Protocol
- nbp 2/ddp # Name Binding Protocol
- ...
- ```
+ ```bash
+ Shell > cat /etc/services | awk '$0~/^(ssh)/ && $2~/tcp/ {print $0}'
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ sshell 614/tcp # SSLshell
+ ssh-mgmt 17235/tcp # SSH Tectia Manager
+
+ Shell > cat /etc/services | grep -v -E "(^#)|(^$)" | awk '$2!~/(tcp)|(udp)/ {print $0}'
+ http 80/sctp # HyperText Transfer Protocol
+ bgp 179/sctp
+ https 443/sctp # http protocol over TLS/SSL
+ h323hostcall 1720/sctp # H.323 Call Control
+ nfs 2049/sctp nfsd shilp # Network File System
+ rtmp 1/ddp # Routing Table Maintenance Protocol
+ nbp 2/ddp # Name Binding Protocol
+ ...
+ ```
## Управління потоком
1. оператор **if**
- Основний формат синтаксису - `if (condition) statement [ else statement ]`
-
- Приклад використання однієї гілки оператора if:
-
- ```bash
- Shell > cat /etc/services | awk '{if(NR==110) print $0}'
- pop3 110/udp pop-3
- ```
-
- Умова визначається як регулярний вираз:
-
- ```bash
- Shell > cat /etc/services | awk '{if(/^(ftp)\s|^(ssh)\s/) print $0}'
- ftp 21/tcp
- ftp 21/udp fsp fspd
- ssh 22/tcp # The Secure Shell (SSH) Protocol
- ssh 22/udp # The Secure Shell (SSH) Protocol
- ftp 21/sctp # FTP
- ssh 22/sctp # SSH
- ```
-
- Подвійна гілка:
-
- ```bash
- Shell > seq 1 10 | awk '{if($0==10) print $0 ; else print "False"}'
- False
- False
- False
- False
- False
- False
- False
- False
- False
- 10
- ```
-
- Кілька гілок:
-
- ```bash
- Shell > cat /etc/services | awk '{ \
- if($1~/netbios/)
- {print $0}
- else if($2~/175/)
- {print "175"}
- else if($2~/137/)
- {print "137"}
- else {print "no"}
- }'
- ```
+ Основний формат синтаксису - `if (condition) statement [ else statement ]`
+
+ Приклад використання однієї гілки оператора if:
+
+ ```bash
+ Shell > cat /etc/services | awk '{if(NR==110) print $0}'
+ pop3 110/udp pop-3
+ ```
+
+ Умова визначається як регулярний вираз:
+
+ ```bash
+ Shell > cat /etc/services | awk '{if(/^(ftp)\s|^(ssh)\s/) print $0}'
+ ftp 21/tcp
+ ftp 21/udp fsp fspd
+ ssh 22/tcp # The Secure Shell (SSH) Protocol
+ ssh 22/udp # The Secure Shell (SSH) Protocol
+ ftp 21/sctp # FTP
+ ssh 22/sctp # SSH
+ ```
+
+ Подвійна гілка:
+
+ ```bash
+ Shell > seq 1 10 | awk '{if($0==10) print $0 ; else print "False"}'
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ False
+ 10
+ ```
+
+ Кілька гілок:
+
+ ```bash
+ Shell > cat /etc/services | awk '{ \
+ if($1~/netbios/)
+ {print $0}
+ else if($2~/175/)
+ {print "175"}
+ else if($2~/137/)
+ {print "137"}
+ else {print "no"}
+ }'
+ ```
2. оператор **while**
- Основний формат синтаксису - `while (condition) statement`
-
- Перегляньте та роздрукуйте поля всіх записів рядків.
-
- ```bash
- Shell > tail -n 2 /etc/services
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 2 /etc/services | awk '{ \
- i=1;
- while(i<=NF){print $i;i++}
- }'
-
- cloudcheck
- 45514/tcp
- #
- ASSIA
- CloudCheck
- WiFi
- Management
- System
- spremotetablet
- 46998/tcp
- #
- Capture
- handwritten
- signatures
- ```
+ Основний формат синтаксису - `while (condition) statement`
+
+ Перегляньте та роздрукуйте поля всіх записів рядків.
+
+ ```bash
+ Shell > tail -n 2 /etc/services
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 2 /etc/services | awk '{ \
+ i=1;
+ while(i<=NF){print $i;i++}
+ }'
+
+ cloudcheck
+ 45514/tcp
+ #
+ ASSIA
+ CloudCheck
+ WiFi
+ Management
+ System
+ spremotetablet
+ 46998/tcp
+ #
+ Capture
+ handwritten
+ signatures
+ ```
3. оператор **for**
- Основний формат синтаксису - `for (expr1; expr2; expr3) statement`
-
- Перегляньте та роздрукуйте поля всіх записів рядків.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=1;i<=NF;i++) print $i
- }'
- ```
-
- Виведіть поля для кожного рядка записів у зворотному порядку.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=NF;i>=1;i--) print $i
- }'
-
- System
- Management
- WiFi
- CloudCheck
- ASSIA
- #
- 45514/tcp
- cloudcheck
- signatures
- handwritten
- Capture
- #
- 46998/tcp
- spremotetablet
- ```
-
- Друкуйте кожен рядок записів у зворотному напрямку.
-
- ```bash
- Shell > tail -n 2 /etc/services | awk '{ \
- for(i=NF;i>=1;i--) {printf $i" "};
- print ""
- }'
-
- System Management WiFi CloudCheck ASSIA # 45514/tcp cloudcheck
- signatures handwritten Capture # 46998/tcp spremotetablet
- ```
+ Основний формат синтаксису - `for (expr1; expr2; expr3) statement`
+
+ Перегляньте та роздрукуйте поля всіх записів рядків.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=1;i<=NF;i++) print $i
+ }'
+ ```
+
+ Виведіть поля для кожного рядка записів у зворотному порядку.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=NF;i>=1;i--) print $i
+ }'
+
+ System
+ Management
+ WiFi
+ CloudCheck
+ ASSIA
+ #
+ 45514/tcp
+ cloudcheck
+ signatures
+ handwritten
+ Capture
+ #
+ 46998/tcp
+ spremotetablet
+ ```
+
+ Друкуйте кожен рядок записів у зворотному напрямку.
+
+ ```bash
+ Shell > tail -n 2 /etc/services | awk '{ \
+ for(i=NF;i>=1;i--) {printf $i" "};
+ print ""
+ }'
+
+ System Management WiFi CloudCheck ASSIA # 45514/tcp cloudcheck
+ signatures handwritten Capture # 46998/tcp spremotetablet
+ ```
4. оператор **break** і оператор **continue**
- Порівняння між ними виглядає наступним чином:
-
- ```bash
- Shell > awk 'BEGIN{ \
- for(i=1;i<=10;i++)
- {
- if(i==3) {break};
- print i
- }
- }'
-
- 1
- 2
- ```
-
- ```bash
- Shell > awk 'BEGIN{ \
- for(i=1;i<=10;i++)
- {
- if(i==3) {continue};
- print i
- }
- }'
-
- 1
- 2
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- ```
+ Порівняння між ними виглядає наступним чином:
+
+ ```bash
+ Shell > awk 'BEGIN{ \
+ for(i=1;i<=10;i++)
+ {
+ if(i==3) {break};
+ print i
+ }
+ }'
+
+ 1
+ 2
+ ```
+
+ ```bash
+ Shell > awk 'BEGIN{ \
+ for(i=1;i<=10;i++)
+ {
+ if(i==3) {continue};
+ print i
+ }
+ }'
+
+ 1
+ 2
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ ```
5. оператор **exit**
- Ви можете вказати значення, що повертається, у діапазоні [0,255]
+ Ви можете вказати значення, що повертається, у діапазоні [0,255]
- Основний формат синтаксису - `exit [expression]`
+ Основний формат синтаксису - `exit [expression]`
- ```bash
- Shell > seq 1 10 | awk '{
- if($0~/5/) exit "135"
- }'
+ ```bash
+ Shell > seq 1 10 | awk '{
+ if($0~/5/) exit "135"
+ }'
- Shell > echo $?
- 135
- ```
+ Shell > echo $?
+ 135
+ ```
## Масив
@@ -1190,277 +1190,277 @@ False
1. Спеціальний масив
- Формат - `Array_Name[Index]=Value`
+ Формат - `Array_Name[Index]=Value`
- ```bash
- Shell > awk 'BEGIN{a1[0]="test0" ; a1[1]="s1"; print a1[0]}'
- test0
- ```
+ ```bash
+ Shell > awk 'BEGIN{a1[0]="test0" ; a1[1]="s1"; print a1[0]}'
+ test0
+ ```
- Отримати довжину масиву:
+ Отримати довжину масиву:
- ```bash
- Shell > awk 'BEGIN{name[-1]="jimcat8" ; name[3]="jack" ; print length(name)}'
- 2
- ```
+ ```bash
+ Shell > awk 'BEGIN{name[-1]="jimcat8" ; name[3]="jack" ; print length(name)}'
+ 2
+ ```
- Зберігти всіх користувачів GNU/Linux у масиві:
+ Зберігти всіх користувачів GNU/Linux у масиві:
- ```bash
- Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[2]}'
- bin
- Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[1]}'
- root
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[2]}'
+ bin
+ Shell > cat /etc/passwd | awk -F ":" '{username[NR]=$1}END{print username[1]}'
+ root
+ ```
- !!! info
+ !!! info "примітка"
- ````
- Числовий нижній індекс масиву `awk` може бути додатним цілим, від’ємним цілим числом, рядком або 0, тому числовий індекс масиву `awk` не має поняття початкового значення. Це не те саме, що масиви в bash.
+ ````
+ Числовий нижній індекс масиву `awk` може бути додатним цілим, від’ємним цілим числом, рядком або 0, тому числовий індекс масиву `awk` не має поняття початкового значення. Це не те саме, що масиви в bash.
- ```bash
- Shell > arr1=(2 10 30 string1)
- Shell > echo "${arr1[0]}"
- 2
- Shell > unset arr1
- ```
- ````
+ ```bash
+ Shell > arr1=(2 10 30 string1)
+ Shell > echo "${arr1[0]}"
+ 2
+ Shell > unset arr1
+ ```
+ ````
2. Видалити масив
- Формат - `delete Array_Name`
+ Формат - `delete Array_Name`
3. Видалення елемента з масиву
- Формат - `delete Array_Name[Index]`
+ Формат - `delete Array_Name[Index]`
4. Обхідний масив
- Ви можете використовувати оператор **for**, який підходить для випадків, коли індекс масиву невідомий:
-
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" ' \
- {
- username[NR]=$1
- }
- END {
- for(i in username)
- print username[i],i
- }
- '
-
- root 1
- bin 2
- daemon 3
- adm 4
- lp 5
- ```
-
- Якщо нижній індекс масиву звичайний, ви можете використовувати цю форму оператора **for**:
-
- ```bash
- Shell > cat /etc/passwd | awk -F ":" ' \
- {
- username[NR]=$1
- }
- END{
- for(i=1;i<=NR;i++)
- print username[i],i
- }
- '
-
- root 1
- bin 2
- daemon 3
- adm 4
- lp 5
- sync 6
- shutdown 7
- halt 8
- ...
- ```
+ Ви можете використовувати оператор **for**, який підходить для випадків, коли індекс масиву невідомий:
+
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" ' \
+ {
+ username[NR]=$1
+ }
+ END {
+ for(i in username)
+ print username[i],i
+ }
+ '
+
+ root 1
+ bin 2
+ daemon 3
+ adm 4
+ lp 5
+ ```
+
+ Якщо нижній індекс масиву звичайний, ви можете використовувати цю форму оператора **for**:
+
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" ' \
+ {
+ username[NR]=$1
+ }
+ END{
+ for(i=1;i<=NR;i++)
+ print username[i],i
+ }
+ '
+
+ root 1
+ bin 2
+ daemon 3
+ adm 4
+ lp 5
+ sync 6
+ shutdown 7
+ halt 8
+ ...
+ ```
5. Використовуйте "++" як нижній індекс масиву
- ```bash
- Shell > tail -n 5 /etc/group | awk -F ":" '\
- {
- a[x++]=$1
- }
- END{
- for(i in a)
- print a[i],i
- }
- '
-
- slocate 0
- unbound 1
- docker 2
- cgred 3
- redis 4
- ```
+ ```bash
+ Shell > tail -n 5 /etc/group | awk -F ":" '\
+ {
+ a[x++]=$1
+ }
+ END{
+ for(i in a)
+ print a[i],i
+ }
+ '
+
+ slocate 0
+ unbound 1
+ docker 2
+ cgred 3
+ redis 4
+ ```
6. Використовуйте поле як нижній індекс масиву
- ```bash
- Shell > tail -n 5 /etc/group | awk -F ":" '\
- {
- a[$1]=$3
- }
- END{
- for(i in a)
- print a[i],i
- }
- '
-
- 991 docker
- 21 slocate
- 989 redis
- 992 unbound
- 990 cgred
- ```
+ ```bash
+ Shell > tail -n 5 /etc/group | awk -F ":" '\
+ {
+ a[$1]=$3
+ }
+ END{
+ for(i in a)
+ print a[i],i
+ }
+ '
+
+ 991 docker
+ 21 slocate
+ 989 redis
+ 992 unbound
+ 990 cgred
+ ```
7. Підрахуйте кількість входжень одного поля
- Підрахуйте кількість випадків однакової адреси IPv4. Основна ідея:
-
- - Спочатку скористайтеся командою `grep`, щоб відфільтрувати всі адреси IPv4
- - Потім передайте його програмі `awk` для обробки
+ Підрахуйте кількість випадків однакової адреси IPv4. Основна ідея:
- ```bash
- Shell > cat /var/log/secure | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | awk ' \
- {
- a[$1]++
- }
- END{
- for(v in a) print a[v],v
- }
- '
+ - Спочатку скористайтеся командою `grep`, щоб відфільтрувати всі адреси IPv4
+ - Потім передайте його програмі `awk` для обробки
- 4 0.0.0.0
- 4 192.168.100.2
- ```
+ ```bash
+ Shell > cat /var/log/secure | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | awk ' \
+ {
+ a[$1]++
+ }
+ END{
+ for(v in a) print a[v],v
+ }
+ '
+
+ 4 0.0.0.0
+ 4 192.168.100.2
+ ```
- !!! info "примітка"
+ !!! info "примітка"
- ```
- `a[$1]++` еквівалентно до `a[$1]+=1`
- ```
+ ```
+ `a[$1]++` еквівалентно до `a[$1]+=1`
+ ```
- Підрахуйте кількість входжень слів незалежно від регістру. Основна ідея:
+ Підрахуйте кількість входжень слів незалежно від регістру. Основна ідея:
- - Розділити всі поля на кілька рядків записів
- - Потім передайте його програмі `awk` для обробки
+ - Розділити всі поля на кілька рядків записів
+ - Потім передайте його програмі `awk` для обробки
- ```bash
- Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}'
+ ```bash
+ Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}'
- Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}' | awk '\
- BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) print a[v],v}
- '
+ Shell > cat /etc/services | awk -F " " '{for(i=1;i<=NF;i++) print $i}' | awk '\
+ BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) print a[v],v}
+ '
- 3 NETBIOS
- 18 FTP
- 7 ftp
+ 3 NETBIOS
+ 18 FTP
+ 7 ftp
- Shell > cat /etc/services | awk -F " " '{ for(i=1;i<=NF;i++) print $i }' | awk '\
- BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) \
- if(a[v]>=5) print a[v],v}
- '
+ Shell > cat /etc/services | awk -F " " '{ for(i=1;i<=NF;i++) print $i }' | awk '\
+ BEGIN{IGNORECASE=1;OFS="\t"} /^netbios$/ || /^ftp$/ {a[$1]++} END{for(v in a) \
+ if(a[v]>=5) print a[v],v}
+ '
- 18 FTP
- 7 ftp
- ```
+ 18 FTP
+ 7 ftp
+ ```
- Ви можете спочатку відфільтрувати певні записи рядків, а потім виконати статистику, наприклад:
+ Ви можете спочатку відфільтрувати певні записи рядків, а потім виконати статистику, наприклад:
- ```bash
- Shell > ss -tulnp | awk -F " " '/tcp/ {a[$2]++} END{for(i in a) print a[i],i}'
- 2 LISTEN
- ```
+ ```bash
+ Shell > ss -tulnp | awk -F " " '/tcp/ {a[$2]++} END{for(i in a) print a[i],i}'
+ 2 LISTEN
+ ```
8. Вивести рядки на основі кількості входжень певного поля
- ```bash
- Shell > tail /etc/services
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail /etc/services | awk 'a[$1]++ {print $0}'
- axio-disc 35100/udp # Axiomatic discovery protocol
- ```
-
- Зворотний:
-
- ```bash
- Shell > tail /etc/services | awk '!a[$1]++ {print $0}'
- aigairserver 21221/tcp # Services for Air Server
- ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- edi_service 34567/udp # dhanalakshmi.org EDI Service
- axio-disc 35100/tcp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
- ```
+ ```bash
+ Shell > tail /etc/services
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail /etc/services | awk 'a[$1]++ {print $0}'
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ ```
+
+ Зворотний:
+
+ ```bash
+ Shell > tail /etc/services | awk '!a[$1]++ {print $0}'
+ aigairserver 21221/tcp # Services for Air Server
+ ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ edi_service 34567/udp # dhanalakshmi.org EDI Service
+ axio-disc 35100/tcp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+ ```
9. Багатовимірний масив
- Програма `awk` не підтримує багатовимірні масиви, але підтримку багатовимірних масивів можна досягти за допомогою моделювання. За замовчуванням "\034" є роздільником для нижнього індексу багатовимірного масиву.
-
- Зверніть увагу на наступні відмінності під час використання багатовимірних масивів:
-
- ```bash
- Shell > awk 'BEGIN{ a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
- 200 20
- 300 30
- 100 1,0
- ```
-
- Перевизначте роздільник:
-
- ```bash
- Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
- 300 3----0
- 200 2----0
- 100 1,0
- ```
-
- Перезамовлення:
-
- ```bash
- Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i | "sort" }'
- 100 1,0
- 200 2----0
- 300 3----0
- ```
-
- Підрахуйте, скільки разів з’являється поле:
-
- ```bash
- Shell > cat c.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- Shell > cat c.txt | awk 'BEGIN{SUBSEP="----"} {a[$1,$2]++} END{for(i in a) print a[i],i}'
- 1 A----192.168.1.1
- 2 B----192.168.1.2
- 2 C----192.168.1.1
- 1 D----192.168.1.4
- ```
+ Програма `awk` не підтримує багатовимірні масиви, але підтримку багатовимірних масивів можна досягти за допомогою моделювання. За замовчуванням "\034" є роздільником для нижнього індексу багатовимірного масиву.
+
+ Зверніть увагу на наступні відмінності під час використання багатовимірних масивів:
+
+ ```bash
+ Shell > awk 'BEGIN{ a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
+ 200 20
+ 300 30
+ 100 1,0
+ ```
+
+ Перевизначте роздільник:
+
+ ```bash
+ Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i }'
+ 300 3----0
+ 200 2----0
+ 100 1,0
+ ```
+
+ Перезамовлення:
+
+ ```bash
+ Shell > awk 'BEGIN{ SUBSEP="----" ; a["1,0"]=100 ; a[2,0]=200 ; a["3","0"]=300 ; for(i in a) print a[i],i | "sort" }'
+ 100 1,0
+ 200 2----0
+ 300 3----0
+ ```
+
+ Підрахуйте, скільки разів з’являється поле:
+
+ ```bash
+ Shell > cat c.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ Shell > cat c.txt | awk 'BEGIN{SUBSEP="----"} {a[$1,$2]++} END{for(i in a) print a[i],i}'
+ 1 A----192.168.1.1
+ 2 B----192.168.1.2
+ 2 C----192.168.1.1
+ 1 D----192.168.1.4
+ ```
## Вбудована функція
@@ -1487,331 +1487,331 @@ False
1. Функція **int**
- ```bash
- Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27"
- qwer123
- 123
- abc
- 123abc123
- 100.55
- -155.27
-
- Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27" | awk '{print int($1)}'
- 0
- 123
- 0
- 123
- 100
- -155
- ```
-
- Як бачите, функція int працює лише для чисел, а коли зустрічається рядок, вона перетворює його на 0. Зустрівши рядок, що починається з числа, скоротіть його.
+ ```bash
+ Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27"
+ qwer123
+ 123
+ abc
+ 123abc123
+ 100.55
+ -155.27
+
+ Shell > echo -e "qwer123\n123\nabc\n123abc123\n100.55\n-155.27" | awk '{print int($1)}'
+ 0
+ 123
+ 0
+ 123
+ 100
+ -155
+ ```
+
+ Як бачите, функція int працює лише для чисел, а коли зустрічається рядок, вона перетворює його на 0. Зустрівши рядок, що починається з числа, скоротіть його.
2. Функція **sqrt**
- ```bash
- Shell > awk 'BEGIN{print sqrt(9)}'
- 3
- ```
+ ```bash
+ Shell > awk 'BEGIN{print sqrt(9)}'
+ 3
+ ```
3. Функції **rand** та **srand**
- Приклад використання функції rand такий:
-
- ```bash
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- Shell > awk 'BEGIN{print rand()}'
- 0.924046
- ```
-
- Приклад використання функції srand такий:
-
- ```bash
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.975495
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.99187
- Shell > awk 'BEGIN{srand() ; print rand()}'
- 0.069002
- ```
-
- Згенеруйте ціле число в діапазоні (0,100):
-
- ```bash
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 56
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 33
- Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
- 42
- ```
+ Приклад використання функції rand такий:
+
+ ```bash
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ Shell > awk 'BEGIN{print rand()}'
+ 0.924046
+ ```
+
+ Приклад використання функції srand такий:
+
+ ```bash
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.975495
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.99187
+ Shell > awk 'BEGIN{srand() ; print rand()}'
+ 0.069002
+ ```
+
+ Згенеруйте ціле число в діапазоні (0,100):
+
+ ```bash
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 56
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 33
+ Shell > awk 'BEGIN{srand() ; print int(rand()*100)}'
+ 42
+ ```
4. Функції **asort** та **asorti**
- ```bash
- Shell > cat /etc/passwd | awk -F ":" '{a[NR]=$1} END{anu=asort(a,b) ; for(i=1;i<=anu;i++) print i,b[i]}'
- 1 adm
- 2 bin
- 3 chrony
- 4 daemon
- 5 dbus
- 6 ftp
- 7 games
- 8 halt
- 9 lp
- 10 mail
- 11 nobody
- 12 operator
- 13 polkitd
- 14 redis
- 15 root
- 16 shutdown
- 17 sshd
- 18 sssd
- 19 sync
- 20 systemd-coredump
- 21 systemd-resolve
- 22 tss
- 23 unbound
-
- Shell > awk 'BEGIN{a[1]=1000 ; a[2]=200 ; a[3]=30 ; a[4]="admin" ; a[5]="Admin" ; \
- a[6]="12string" ; a[7]=-1 ; a[8]=-10 ; a[9]=-20 ; a[10]=-21 ;nu=asort(a,b) ; for(i=1;i<=nu;i++) print i,b[i]}'
- 1 -21
- 2 -20
- 3 -10
- 4 -1
- 5 30
- 6 200
- 7 1000
- 8 12string
- 9 Admin
- 10 admin
- ```
-
- !!! info
-
- ```
- Правила сортування:
-
- * Числа мають вищий пріоритет, ніж рядки, і розташовані в порядку зростання.
- * Розташуйте рядки в порядку зростання словника
- ```
-
- Якщо ви використовуєте функцію **asorti**, приклад такий:
-
- ```bash
- Shell > awk 'BEGIN{ a[-11]=1000 ; a[-2]=200 ; a[-10]=30 ; a[-21]="admin" ; a[41]="Admin" ; \
- a[30]="12string" ; a["root"]="rootstr" ; a["Root"]="r1" ; nu=asorti(a,b) ; for(i in b) print i,b[i] }'
- 1 -10
- 2 -11
- 3 -2
- 4 -21
- 5 30
- 6 41
- 7 Root
- 8 root
- ```
-
- !!! info
-
- ```
- Правила сортування:
-
- * Числа мають пріоритет над рядками
- * Якщо зустрічається від’ємне число, порівнюється перша цифра зліва. Якщо воно однакове, буде порівнюватися друга цифра і так далі
- * Якщо зустрінеться додатне число, воно буде розташовано в порядку зростання
- * Розташуйте рядки в порядку зростання словника
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" '{a[NR]=$1} END{anu=asort(a,b) ; for(i=1;i<=anu;i++) print i,b[i]}'
+ 1 adm
+ 2 bin
+ 3 chrony
+ 4 daemon
+ 5 dbus
+ 6 ftp
+ 7 games
+ 8 halt
+ 9 lp
+ 10 mail
+ 11 nobody
+ 12 operator
+ 13 polkitd
+ 14 redis
+ 15 root
+ 16 shutdown
+ 17 sshd
+ 18 sssd
+ 19 sync
+ 20 systemd-coredump
+ 21 systemd-resolve
+ 22 tss
+ 23 unbound
+
+ Shell > awk 'BEGIN{a[1]=1000 ; a[2]=200 ; a[3]=30 ; a[4]="admin" ; a[5]="Admin" ; \
+ a[6]="12string" ; a[7]=-1 ; a[8]=-10 ; a[9]=-20 ; a[10]=-21 ;nu=asort(a,b) ; for(i=1;i<=nu;i++) print i,b[i]}'
+ 1 -21
+ 2 -20
+ 3 -10
+ 4 -1
+ 5 30
+ 6 200
+ 7 1000
+ 8 12string
+ 9 Admin
+ 10 admin
+ ```
+
+ !!! info "примітка"
+
+ ```
+ Правила сортування:
+
+ * Числа мають вищий пріоритет, ніж рядки, і розташовані в порядку зростання.
+ * Розташуйте рядки в порядку зростання словника
+ ```
+
+ Якщо ви використовуєте функцію **asorti**, приклад такий:
+
+ ```bash
+ Shell > awk 'BEGIN{ a[-11]=1000 ; a[-2]=200 ; a[-10]=30 ; a[-21]="admin" ; a[41]="Admin" ; \
+ a[30]="12string" ; a["root"]="rootstr" ; a["Root"]="r1" ; nu=asorti(a,b) ; for(i in b) print i,b[i] }'
+ 1 -10
+ 2 -11
+ 3 -2
+ 4 -21
+ 5 30
+ 6 41
+ 7 Root
+ 8 root
+ ```
+
+ !!! info "примітка"
+
+ ```
+ Правила сортування:
+
+ * Числа мають пріоритет над рядками
+ * Якщо зустрічається від’ємне число, порівнюється перша цифра зліва. Якщо воно однакове, буде порівнюватися друга цифра і так далі
+ * Якщо зустрінеться додатне число, воно буде розташовано в порядку зростання
+ * Розташуйте рядки в порядку зростання словника
+ ```
5. Функції **sub** та **gsub**
- ```bash
- Shell > cat /etc/services | awk '/netbios/ {sub(/tcp/,"test") ; print $0 }'
- netbios-ns 137/test # NETBIOS Name Service
- netbios-ns 137/udp
- netbios-dgm 138/test # NETBIOS Datagram Service
- netbios-dgm 138/udp
- netbios-ssn 139/test # NETBIOS session service
- netbios-ssn 139/udp
-
- Shell > cat /etc/services | awk '/^ftp/ && /21\/tcp/ {print $0}'
- ftp 21/tcp
- ↑ ↑
- Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P",$2) ; print $0}'
- ftp 21/tcP
- ↑
- Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P") ; print $0}'
- ftP 21/tcP
- ↑ ↑
- ```
-
- Подібно до команди `sed`, ви також можете використовувати символ "&" для посилання на вже збігені рядки.
-
- ```bash
- Shell > vim /tmp/tmp-file1.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- # Add a line of text before the second line
- Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/.*/,"add a line\n&")} {print $0}'
- A 192.168.1.1 HTTP
- add a line
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- # Add a string after the IP address in the second line
- Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/,"&\tSTRING")} {print $0}'
- A 192.168.1.1 HTTP
- B 192.168.1.2 STRING HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
- ```
+ ```bash
+ Shell > cat /etc/services | awk '/netbios/ {sub(/tcp/,"test") ; print $0 }'
+ netbios-ns 137/test # NETBIOS Name Service
+ netbios-ns 137/udp
+ netbios-dgm 138/test # NETBIOS Datagram Service
+ netbios-dgm 138/udp
+ netbios-ssn 139/test # NETBIOS session service
+ netbios-ssn 139/udp
+
+ Shell > cat /etc/services | awk '/^ftp/ && /21\/tcp/ {print $0}'
+ ftp 21/tcp
+ ↑ ↑
+ Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P",$2) ; print $0}'
+ ftp 21/tcP
+ ↑
+ Shell > cat /etc/services | awk 'BEGIN{OFS="\t"} /^ftp/ && /21\/tcp/ {gsub(/p/,"P") ; print $0}'
+ ftP 21/tcP
+ ↑ ↑
+ ```
+
+ Подібно до команди `sed`, ви також можете використовувати символ "&" для посилання на вже збігені рядки.
+
+ ```bash
+ Shell > vim /tmp/tmp-file1.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ # Add a line of text before the second line
+ Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/.*/,"add a line\n&")} {print $0}'
+ A 192.168.1.1 HTTP
+ add a line
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ # Add a string after the IP address in the second line
+ Shell > cat /tmp/tmp-file1.txt | awk 'NR==2 {gsub(/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/,"&\tSTRING")} {print $0}'
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 STRING HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+ ```
6. Функція **index**
- ```bash
- Shell > tail -n 5 /etc/services
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 5 /etc/services | awk '{print index($2,"tcp")}'
- 0
- 7
- 0
- 7
- 7
- ```
+ ```bash
+ Shell > tail -n 5 /etc/services
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 5 /etc/services | awk '{print index($2,"tcp")}'
+ 0
+ 7
+ 0
+ 7
+ 7
+ ```
7. Функція **length**
- ```bash
- # The length of the output field
- Shell > tail -n 5 /etc/services | awk '{print length($1)}'
- 9
- 8
- 15
- 10
- 14
-
- # The length of the output array
- Shell > cat /etc/passwd | awk -F ":" 'a[NR]=$1 END{print length(a)}'
- 22
- ```
+ ```bash
+ # The length of the output field
+ Shell > tail -n 5 /etc/services | awk '{print length($1)}'
+ 9
+ 8
+ 15
+ 10
+ 14
+
+ # The length of the output array
+ Shell > cat /etc/passwd | awk -F ":" 'a[NR]=$1 END{print length(a)}'
+ 22
+ ```
8. Функція **match**
- ```bash
- Shell > echo -e "1592abc144qszd\n144bc\nbn"
- 1592abc144qszd
- 144bc
- bn
-
- Shell > echo -e "1592abc144qszd\n144bc\nbn" | awk '{print match($1,144)}'
- 8
- 1
- 0
- ```
+ ```bash
+ Shell > echo -e "1592abc144qszd\n144bc\nbn"
+ 1592abc144qszd
+ 144bc
+ bn
+
+ Shell > echo -e "1592abc144qszd\n144bc\nbn" | awk '{print match($1,144)}'
+ 8
+ 1
+ 0
+ ```
9. Функція **split**
- ```bash
- Shell > echo "365%tmp%dir%number" | awk '{split($1,a1,"%") ; for(i in a1) print i,a1[i]}'
- 1 365
- 2 tmp
- 3 dir
- 4 number
- ```
+ ```bash
+ Shell > echo "365%tmp%dir%number" | awk '{split($1,a1,"%") ; for(i in a1) print i,a1[i]}'
+ 1 365
+ 2 tmp
+ 3 dir
+ 4 number
+ ```
10. Функція **substr**
- ```bash
- Shell > head -n 5 /etc/passwd
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
-
- # I need this part of the content - "emon:/sbin:/sbin/nologin"
- Shell > head -n 5 /etc/passwd | awk '/daemon/ {print substr($0,16)}'
- emon:/sbin:/sbin/nologin
-
- Shell > tail -n 5 /etc/services
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures
-
- # I need this part of the content - "tablet"
- Shell > tail -n 5 /etc/services | awk '/^sp/ {print substr($1,9)}'
- tablet
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+
+ # I need this part of the content - "emon:/sbin:/sbin/nologin"
+ Shell > head -n 5 /etc/passwd | awk '/daemon/ {print substr($0,16)}'
+ emon:/sbin:/sbin/nologin
+
+ Shell > tail -n 5 /etc/services
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures
+
+ # I need this part of the content - "tablet"
+ Shell > tail -n 5 /etc/services | awk '/^sp/ {print substr($1,9)}'
+ tablet
+ ```
11. Функції **tolower** та **toupper**
- ```bash
- Shell > echo -e "AbcD123\nqweR" | awk '{print tolower($0)}'
- abcd123
- qwer
+ ```bash
+ Shell > echo -e "AbcD123\nqweR" | awk '{print tolower($0)}'
+ abcd123
+ qwer
- Shell > tail -n 5 /etc/services | awk '{print toupper($0)}'
- AXIO-DISC 35100/UDP # AXIOMATIC DISCOVERY PROTOCOL
- PMWEBAPI 44323/TCP # PERFORMANCE CO-PILOT CLIENT HTTP API
- CLOUDCHECK-PING 45514/UDP # ASSIA CLOUDCHECK WIFI MANAGEMENT KEEPALIVE
- CLOUDCHECK 45514/TCP # ASSIA CLOUDCHECK WIFI MANAGEMENT SYSTEM
- SPREMOTETABLET 46998/TCP # CAPTURE HANDWRITTEN SIGNATURES
- ```
+ Shell > tail -n 5 /etc/services | awk '{print toupper($0)}'
+ AXIO-DISC 35100/UDP # AXIOMATIC DISCOVERY PROTOCOL
+ PMWEBAPI 44323/TCP # PERFORMANCE CO-PILOT CLIENT HTTP API
+ CLOUDCHECK-PING 45514/UDP # ASSIA CLOUDCHECK WIFI MANAGEMENT KEEPALIVE
+ CLOUDCHECK 45514/TCP # ASSIA CLOUDCHECK WIFI MANAGEMENT SYSTEM
+ SPREMOTETABLET 46998/TCP # CAPTURE HANDWRITTEN SIGNATURES
+ ```
12. Функції, що працюють з часом і датою
- **Що таке мітка часу UNIX?**
- Згідно з історією розвитку GNU/Linux, UNIX V1 народилася в 1971 році, а книга «Посібник програміста UNIX» була опублікована 3 листопада того ж року, в якій 1970-01-01 є датою початку початку UNIX.
+ **Що таке мітка часу UNIX?**
+ Згідно з історією розвитку GNU/Linux, UNIX V1 народилася в 1971 році, а книга «Посібник програміста UNIX» була опублікована 3 листопада того ж року, в якій 1970-01-01 є датою початку початку UNIX.
- Перетворення між міткою часу та природною датою та часом у днях:
+ Перетворення між міткою часу та природною датою та часом у днях:
- ```bash
- Shell > echo "$(( $(date --date="2024/01/06" +%s)/86400 + 1 ))"
- 19728
+ ```bash
+ Shell > echo "$(( $(date --date="2024/01/06" +%s)/86400 + 1 ))"
+ 19728
- Shell > date -d "1970-01-01 19728days"
- Sat Jan 6 00:00:00 CST 2024
- ```
+ Shell > date -d "1970-01-01 19728days"
+ Sat Jan 6 00:00:00 CST 2024
+ ```
- Перетворення між міткою часу та природною датою та часом у секундах:
+ Перетворення між міткою часу та природною датою та часом у секундах:
- ```bash
- Shell > echo "$(date --date="2024/01/06 17:12:00" +%s)"
- 1704532320
+ ```bash
+ Shell > echo "$(date --date="2024/01/06 17:12:00" +%s)"
+ 1704532320
- Shell > echo "$(date --date='@1704532320')"
- Sat Jan 6 17:12:00 CST 2024
- ```
+ Shell > echo "$(date --date='@1704532320')"
+ Sat Jan 6 17:12:00 CST 2024
+ ```
- Перетворення між природною датою та часом UNIX у програмі `awk`:
+ Перетворення між природною датою та часом UNIX у програмі `awk`:
- ```bash
- Shell > awk 'BEGIN{print systime()}'
- 1704532597
+ ```bash
+ Shell > awk 'BEGIN{print systime()}'
+ 1704532597
- Shell > echo "1704532597" | awk '{print strftime("%Y-%m-%d %H:%M:%S",$0)}'
- 2024-01-06 17:16:37
- ```
+ Shell > echo "1704532597" | awk '{print strftime("%Y-%m-%d %H:%M:%S",$0)}'
+ 2024-01-06 17:16:37
+ ```
## Оператор введення/виведення
@@ -1829,205 +1829,205 @@ False
1. getline
- ```bash
- Shell > seq 1 10 | awk '/3/ || /6/ {getline ; print $0}'
- 4
- 7
-
- Shell > seq 1 10 | awk '/3/ || /6/ {print $0 ; getline ; print $0}'
- 3
- 4
- 6
- 7
- ```
-
- Використовуючи вивчені раніше функції та символ «&», ми можемо:
-
- ```bash
- Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {getline ; gsub(/.*/ , "&\tSTRING1") ; print $0}'
- spremotetablet 46998/tcp # Capture handwritten signatures STRING1
-
- Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {print $0 ; getline; gsub(/.*/,"&\tSTRING2") } {print $0}'
- axio-disc 35100/udp # Axiomatic discovery protocol
- pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- spremotetablet 46998/tcp # Capture handwritten signatures STRING2
- ```
-
- Вивести парні та непарні рядки:
-
- ```bash
- Shell > tail -n 10 /etc/services | cat -n | awk '{ if( (getline) <= 1) print $0}'
- 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
- 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
- 6 axio-disc 35100/udp # Axiomatic discovery protocol
- 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
- 10 spremotetablet 46998/tcp # Capture handwritten signatures
-
- Shell > tail -n 10 /etc/services | cat -n | awk '{if(NR==1) print $0} { if(NR%2==0) {if(getline > 0) print $0} }'
- 1 aigairserver 21221/tcp # Services for Air Server
- 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
- 5 axio-disc 35100/tcp # Axiomatic discovery protocol
- 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
- 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
- ```
+ ```bash
+ Shell > seq 1 10 | awk '/3/ || /6/ {getline ; print $0}'
+ 4
+ 7
+
+ Shell > seq 1 10 | awk '/3/ || /6/ {print $0 ; getline ; print $0}'
+ 3
+ 4
+ 6
+ 7
+ ```
+
+ Використовуючи вивчені раніше функції та символ «&», ми можемо:
+
+ ```bash
+ Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {getline ; gsub(/.*/ , "&\tSTRING1") ; print $0}'
+ spremotetablet 46998/tcp # Capture handwritten signatures STRING1
+
+ Shell > tail -n 5 /etc/services | awk '/45514\/tcp/ {print $0 ; getline; gsub(/.*/,"&\tSTRING2") } {print $0}'
+ axio-disc 35100/udp # Axiomatic discovery protocol
+ pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ spremotetablet 46998/tcp # Capture handwritten signatures STRING2
+ ```
+
+ Вивести парні та непарні рядки:
+
+ ```bash
+ Shell > tail -n 10 /etc/services | cat -n | awk '{ if( (getline) <= 1) print $0}'
+ 2 ka-kdp 31016/udp # Kollective Agent Kollective Delivery
+ 4 edi_service 34567/udp # dhanalakshmi.org EDI Service
+ 6 axio-disc 35100/udp # Axiomatic discovery protocol
+ 8 cloudcheck-ping 45514/udp # ASSIA CloudCheck WiFi Management keepalive
+ 10 spremotetablet 46998/tcp # Capture handwritten signatures
+
+ Shell > tail -n 10 /etc/services | cat -n | awk '{if(NR==1) print $0} { if(NR%2==0) {if(getline > 0) print $0} }'
+ 1 aigairserver 21221/tcp # Services for Air Server
+ 3 ka-sddp 31016/tcp # Kollective Agent Secure Distributed Delivery
+ 5 axio-disc 35100/tcp # Axiomatic discovery protocol
+ 7 pmwebapi 44323/tcp # Performance Co-Pilot client HTTP API
+ 9 cloudcheck 45514/tcp # ASSIA CloudCheck WiFi Management System
+ ```
2. getline var
- Додайте кожен рядок b-файлу в кінець кожного рядка C-файлу:
-
- ```bash
- Shell > cat /tmp/b.txt
- b1
- b2
- b3
- b4
- b5
- b6
-
- Shell > cat /tmp/c.txt
- A 192.168.1.1 HTTP
- B 192.168.1.2 HTTP
- B 192.168.1.2 MYSQL
- C 192.168.1.1 MYSQL
- C 192.168.1.1 MQ
- D 192.168.1.4 NGINX
-
- Shell > awk '{getline var1 <"/tmp/b.txt" ; print $0 , var1}' /tmp/c.txt
- A 192.168.1.1 HTTP b1
- B 192.168.1.2 HTTP b2
- B 192.168.1.2 MYSQL b3
- C 192.168.1.1 MYSQL b4
- C 192.168.1.1 MQ b5
- D 192.168.1.4 NGINX b6
- ```
-
- Замініть вказане поле файлу c на рядок вмісту файлу b:
-
- ```bash
- Shell > awk '{ getline var2 < "/tmp/b.txt" ; gsub($2 , var2 , $2) ; print $0 }' /tmp/c.txt
- A b1 HTTP
- B b2 HTTP
- B b3 MYSQL
- C b4 MYSQL
- C b5 MQ
- D b6 NGINX
- ```
+ Додайте кожен рядок b-файлу в кінець кожного рядка C-файлу:
+
+ ```bash
+ Shell > cat /tmp/b.txt
+ b1
+ b2
+ b3
+ b4
+ b5
+ b6
+
+ Shell > cat /tmp/c.txt
+ A 192.168.1.1 HTTP
+ B 192.168.1.2 HTTP
+ B 192.168.1.2 MYSQL
+ C 192.168.1.1 MYSQL
+ C 192.168.1.1 MQ
+ D 192.168.1.4 NGINX
+
+ Shell > awk '{getline var1 <"/tmp/b.txt" ; print $0 , var1}' /tmp/c.txt
+ A 192.168.1.1 HTTP b1
+ B 192.168.1.2 HTTP b2
+ B 192.168.1.2 MYSQL b3
+ C 192.168.1.1 MYSQL b4
+ C 192.168.1.1 MQ b5
+ D 192.168.1.4 NGINX b6
+ ```
+
+ Замініть вказане поле файлу c на рядок вмісту файлу b:
+
+ ```bash
+ Shell > awk '{ getline var2 < "/tmp/b.txt" ; gsub($2 , var2 , $2) ; print $0 }' /tmp/c.txt
+ A b1 HTTP
+ B b2 HTTP
+ B b3 MYSQL
+ C b4 MYSQL
+ C b5 MQ
+ D b6 NGINX
+ ```
3. command | getline [var]
- ```bash
- Shell > awk 'BEGIN{ "date +%Y%m%d" | getline datenow ; print datenow}'
- 20240107
- ```
+ ```bash
+ Shell > awk 'BEGIN{ "date +%Y%m%d" | getline datenow ; print datenow}'
+ 20240107
+ ```
- !!! tip "Підказка"
+ !!! tip "Підказка"
- ```
- Використовуйте подвійні лапки, щоб включити команду Shell.
- ```
+ ```
+ Використовуйте подвійні лапки, щоб включити команду Shell.
+ ```
4. next
- Раніше ми представили оператори **break** і **continue**, перший використовувався для завершення циклу, а другий використовувався для виходу з поточного циклу. Дивись [тут](#bc). Для **наступного**, коли умови виконуються, він зупиняє вхідний запис, який відповідає умовам, і продовжить наступні дії.
+ Раніше ми представили оператори **break** і **continue**, перший використовувався для завершення циклу, а другий використовувався для виходу з поточного циклу. Дивись [тут](#bc). Для **наступного**, коли умови виконуються, він зупиняє вхідний запис, який відповідає умовам, і продовжить наступні дії.
- ```bash
- Shell > seq 1 5 | awk '{if(NR==3) {next} print $0}'
- 1
- 2
- 4
- 5
-
- # equivalent to
- Shell > seq 1 5 | awk '{if($1!=3) print $0}'
- ```
+ ```bash
+ Shell > seq 1 5 | awk '{if(NR==3) {next} print $0}'
+ 1
+ 2
+ 4
+ 5
- Пропустити придатні записи рядків:
+ # equivalent to
+ Shell > seq 1 5 | awk '{if($1!=3) print $0}'
+ ```
- ```bash
- Shell > cat /etc/passwd | awk -F ":" 'NR>5 {next} {print $0}'
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
- adm:x:3:4:adm:/var/adm:/sbin/nologin
- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+ Пропустити придатні записи рядків:
- # equivalent to
- Shell > cat /etc/passwd | awk -F ":" 'NR>=1 && NR<=5 {print $0}'
- ```
+ ```bash
+ Shell > cat /etc/passwd | awk -F ":" 'NR>5 {next} {print $0}'
+ root:x:0:0:root:/root:/bin/bash
+ bin:x:1:1:bin:/bin:/sbin/nologin
+ daemon:x:2:2:daemon:/sbin:/sbin/nologin
+ adm:x:3:4:adm:/var/adm:/sbin/nologin
+ lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
+
+ # equivalent to
+ Shell > cat /etc/passwd | awk -F ":" 'NR>=1 && NR<=5 {print $0}'
+ ```
- !!! tip "Підказка"
+ !!! tip "Підказка"
- ```
- "**next**" не можна використовувати в "BEGIN{}" і "END{}".
- ```
+ ```
+ "**next**" не можна використовувати в "BEGIN{}" і "END{}".
+ ```
5. Функція **system**
- Ви можете використовувати цю функцію для виклику команд в Shell, наприклад:
+ Ви можете використовувати цю функцію для виклику команд в Shell, наприклад:
- ```bash
- Shell > awk 'BEGIN{ system("echo nginx http") }'
- nginx http
- ```
+ ```bash
+ Shell > awk 'BEGIN{ system("echo nginx http") }'
+ nginx http
+ ```
- !!! tip "Підказка"
+ !!! tip "Підказка"
- ````
- Під час використання функції **system** слід додавати подвійні лапки. Якщо не додати, програма `awk` вважатиме його змінною програми `awk`.
+ ````
+ Під час використання функції **system** слід додавати подвійні лапки. Якщо не додати, програма `awk` вважатиме його змінною програми `awk`.
- ```bash
- Shell > awk 'BEGIN{ cmd1="date +%Y" ; system(cmd1)}'
- 2024
- ```
- ````
+ ```bash
+ Shell > awk 'BEGIN{ cmd1="date +%Y" ; system(cmd1)}'
+ 2024
+ ```
+ ````
- **Що робити, якщо сама команда Shell містить подвійні лапки?**
- Використовувати символи екранування - "\\", такі як:
+ **Що робити, якщо сама команда Shell містить подвійні лапки?**
+ Використовувати символи екранування - "\\", такі як:
- ```bash
- Shell > egrep "^root|^nobody" /etc/passwd
- Shell > awk 'BEGIN{ system("egrep \"^root|^nobody\" /etc/passwd") }'
- root:x:0:0:root:/root:/bin/bash
- nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
- ```
+ ```bash
+ Shell > egrep "^root|^nobody" /etc/passwd
+ Shell > awk 'BEGIN{ system("egrep \"^root|^nobody\" /etc/passwd") }'
+ root:x:0:0:root:/root:/bin/bash
+ nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
+ ```
- Інший приклад:
+ Інший приклад:
- ```bash
- Shell > awk 'BEGIN{ if ( system("xmind &> /dev/null") == 0 ) print "True"; else print "False" }'
- False
- ```
+ ```bash
+ Shell > awk 'BEGIN{ if ( system("xmind &> /dev/null") == 0 ) print "True"; else print "False" }'
+ False
+ ```
6. Запишіть вихідні дані програми `awk` у файл
- ```bash
- Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{OFS="\t"} {print $1,$2 > "/tmp/user.txt"}'
- Shell > cat /tmp/user.txt
- root x
- bin x
- daemon x
- adm x
- lp x
- ```
+ ```bash
+ Shell > head -n 5 /etc/passwd | awk -F ":" 'BEGIN{OFS="\t"} {print $1,$2 > "/tmp/user.txt"}'
+ Shell > cat /tmp/user.txt
+ root x
+ bin x
+ daemon x
+ adm x
+ lp x
+ ```
- !!! tip "Підказка"
+ !!! tip "Підказка"
- ```
- "**>**" вказує на запис у файл як накладання. Якщо ви хочете писати у файл як додаток, використовуйте "**>>**". Ще раз нагадуємо, що шлях до файлу слід взяти в подвійні лапки.
- ```
+ ```
+ "**>**" вказує на запис у файл як накладання. Якщо ви хочете писати у файл як додаток, використовуйте "**>>**". Ще раз нагадуємо, що шлях до файлу слід взяти в подвійні лапки.
+ ```
7. pipe символ
8. Спеціальні функції
- синтаксис - `function NAME(parameter list) { function body }`. Як от:
+ синтаксис - `function NAME(parameter list) { function body }`. Як от:
- ```bash
- Shell > awk 'function mysum(a,b) {return a+b} BEGIN{print mysum(1,6)}'
- 7
- ```
+ ```bash
+ Shell > awk 'function mysum(a,b) {return a+b} BEGIN{print mysum(1,6)}'
+ 7
+ ```
## Заключні зауваження
diff --git a/docs/books/sed_awk_grep/index.fr.md b/docs/books/sed_awk_grep/index.fr.md
index 79d5b106bb..0f4135e65b 100644
--- a/docs/books/sed_awk_grep/index.fr.md
+++ b/docs/books/sed_awk_grep/index.fr.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk & Grep - the Three Swordsmen
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/sed_awk_grep/index.it.md b/docs/books/sed_awk_grep/index.it.md
index c35b3359af..1b350fe037 100644
--- a/docs/books/sed_awk_grep/index.it.md
+++ b/docs/books/sed_awk_grep/index.it.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk e Grep - i tre spadaccini
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/sed_awk_grep/index.uk.md b/docs/books/sed_awk_grep/index.uk.md
index 409675d810..89989f24a3 100644
--- a/docs/books/sed_awk_grep/index.uk.md
+++ b/docs/books/sed_awk_grep/index.uk.md
@@ -1,7 +1,7 @@
---
title: Sed, Awk & Grep - три мечники
author: tianci li
-contributors: null
+contributors:
tags:
- grep
- sed
diff --git a/docs/books/web_services/01-files-servers.de.md b/docs/books/web_services/01-files-servers.de.md
index 2fba88b646..d909f6d7f2 100644
--- a/docs/books/web_services/01-files-servers.de.md
+++ b/docs/books/web_services/01-files-servers.de.md
@@ -1,17 +1,25 @@
---
-author: null
-contributors: null
-title: Erster Teil File-Server
+author:
+contributors:
+title: Kapitel 1 — Dateisystem-Server
tags:
- ftp
- sftp
---
-!!! info
-
-```
-The content for this page has yet to be written.
-```
+!!! info "Info"
+
+`````
+The content has to be written.
+````
+
+🌐 Translations: crowdin.com/project/rockydocs
+🌍 Translators: rockydocs, rockylinux.org
+🖋 Contribute: github.com/rocky-linux/documentation
+
+````
+.
+`````
diff --git a/docs/books/web_services/01-files-servers.fr.md b/docs/books/web_services/01-files-servers.fr.md
index 9d91d316c4..6ece32cc04 100644
--- a/docs/books/web_services/01-files-servers.fr.md
+++ b/docs/books/web_services/01-files-servers.fr.md
@@ -1,13 +1,13 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Chapitre 1. Serveurs de Fichiers
tags:
- ftp
- sftp
---
-!!! info
+!!! info "Info"
```
Cet article est en cours de construction.
diff --git a/docs/books/web_services/01-files-servers.it.md b/docs/books/web_services/01-files-servers.it.md
index 3a8d1f83b5..6e64a642e1 100644
--- a/docs/books/web_services/01-files-servers.it.md
+++ b/docs/books/web_services/01-files-servers.it.md
@@ -1,13 +1,13 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 1. Files Servers
tags:
- ftp
- sftp
---
-!!! info "Informazione"
+!!! info
```
Il contenuto di questa pagina deve ancora essere scritto.
diff --git a/docs/books/web_services/01-files-servers.uk.md b/docs/books/web_services/01-files-servers.uk.md
index 0cce48a769..5a27f544d2 100644
--- a/docs/books/web_services/01-files-servers.uk.md
+++ b/docs/books/web_services/01-files-servers.uk.md
@@ -1,13 +1,13 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 1 Files Servers
tags:
- ftp
- sftp
---
-!!! info
+!!! info "інформація"
```
Вміст цієї сторінки ще не написаний.
diff --git a/docs/books/web_services/02-web-servers-intro.it.md b/docs/books/web_services/02-web-servers-intro.it.md
index 32929723d5..6b4f0fa894 100644
--- a/docs/books/web_services/02-web-servers-intro.it.md
+++ b/docs/books/web_services/02-web-servers-intro.it.md
@@ -24,9 +24,9 @@ Gli attuali protocolli HTTP sono la versione 1.1, ampiamente utilizzata, e le ve
Una responce HTTP è un insieme di righe inviate al browser dal server. Che include:
- Una **status line**: specifica la versione del protocollo e lo stato di elaborazione della richiesta utilizzando un codice e un testo esplicativo. La riga comprende tre elementi separati da uno spazio:
- - La versione del protocollo utilizzata
- - Lo status code
- - Il significato del codice
+ - La versione del protocollo utilizzata
+ - Lo status code
+ - Il significato del codice
- **Response header fields**: queste righe opzionali forniscono informazioni aggiuntive sulla risposta e/o sul server. Ogni riga è composta da un nome che qualifica il header type, seguito da due punti (:) e dal header value.
@@ -52,7 +52,7 @@ x-vercel-id: cdg1::pdqbh-1718971524213-4892bf82d7b2
content-length: 154696
```
-!!! NOTE "Nota"
+!!! NOTE
```
Imparare a usare il comando `curl` sarà molto utile per la risoluzione dei problemi sui server in futuro.
diff --git a/docs/books/web_services/02-web-servers-intro.uk.md b/docs/books/web_services/02-web-servers-intro.uk.md
index b76fc2f781..b2eee70bc5 100644
--- a/docs/books/web_services/02-web-servers-intro.uk.md
+++ b/docs/books/web_services/02-web-servers-intro.uk.md
@@ -24,9 +24,9 @@ HTTP — це протокол «запит-відповідь», що прац
Відповідь HTTP – це набір рядків, які сервер надсилає браузеру. Це включає:
- **Рядок стану**: вказує версію протоколу та статус обробки запиту за допомогою коду та пояснювального тексту. Рядок складається з трьох елементів, розділених пробілом:
- - Використана версія протоколу
- - Код стану
- - Значення коду
+ - Використана версія протоколу
+ - Код стану
+ - Значення коду
- **Поля заголовка відповіді**: це необов’язкові рядки, які надають додаткову інформацію про відповідь та/або сервер. Кожен рядок складається з назви, яка визначає тип заголовка, за якою йде двокрапка (:) і значення заголовка.
diff --git a/docs/books/web_services/021-web-servers-apache.it.md b/docs/books/web_services/021-web-servers-apache.it.md
index d9094a58d9..7ce8cef67f 100644
--- a/docs/books/web_services/021-web-servers-apache.it.md
+++ b/docs/books/web_services/021-web-servers-apache.it.md
@@ -563,7 +563,7 @@ $ elinks http://127.0.0.1/manual
È un comando molto utile con l'opzione `-t` o `configtest`, che esegue un test della sintassi del file di configurazione.
-!!! NOTE "Nota"
+!!! NOTE
```
È molto utile se usato con i gestori di Ansible per testare la configurazione.
diff --git a/docs/books/web_services/021-web-servers-apache.uk.md b/docs/books/web_services/021-web-servers-apache.uk.md
index 613b9573e0..7c776dd9ec 100644
--- a/docs/books/web_services/021-web-servers-apache.uk.md
+++ b/docs/books/web_services/021-web-servers-apache.uk.md
@@ -260,7 +260,7 @@ IncludeOptional conf.d/*.conf
Директиви, які зустрічаються в розділі 1:
-| Опція | Опис |
+| Опція | Інформація |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ServerTokens` | Ця директива буде в наступному розділі. |
| `ServertRoot` | Вказує шлях до каталогу, що містить усі файли, що утворюють сервер Apache. |
@@ -343,7 +343,7 @@ LoadModule mpm_event_module modules/mod_mpm_event.so
Значення також використовуються як значення за замовчуванням для віртуальних сайтів.
-| Опція | Опис |
+| Опція | Інформація |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ServerAdmin` | визначає адресу електронної пошти, яка з’являється на певних автоматично згенерованих сторінках, наприклад на сторінках помилок. |
| `ServerName` | визначає ім'я, що ідентифікує сервер. Це може статися автоматично, але рекомендовано вказати це явно (IP-адреса або ім’я DNS). |
diff --git a/docs/books/web_services/03-application-servers.it.md b/docs/books/web_services/03-application-servers.it.md
index 9b71931d45..2b774635a9 100644
--- a/docs/books/web_services/03-application-servers.it.md
+++ b/docs/books/web_services/03-application-servers.it.md
@@ -49,7 +49,7 @@ PHP-FPM, **oltre a prestazioni migliori**, porta:
- Gestione del registro,
- Gestione dinamica dei processi e riavvio senza interruzione del servizio ('graceful').
-!!! Note "Nota"
+!!! Note
```
Poiché Apache ha un modulo PHP, php-fpm è più comunemente usato su un server Nginx.
@@ -59,7 +59,7 @@ Poiché Apache ha un modulo PHP, php-fpm è più comunemente usato su un server
Rocky Linux, come il suo upstream, offre molte versioni del linguaggio. Alcuni di essi hanno raggiunto la fine del loro ciclo di vita, ma vengono mantenuti per continuare a ospitare applicazioni storiche che non sono ancora compatibili con le nuove versioni di PHP. Fare riferimento alla pagina [versioni supportate](https://www.php.net/supported-versions.php) del sito php.net per scegliere una versione supportata.
-Per ottenere un elenco delle versioni disponibili, basta inserire il seguente comando:
+Per ottenere un elenco delle versioni disponibili, digitate il seguente comando:
\=== "Elenco dei moduli PHP 9.3"
@@ -262,7 +262,8 @@ sudo dnf install php-fpm
Poiché php-fpm è un servizio dal punto di vista del sistema, è necessario attivarlo e avviarlo:
```bash
-sudo systemctl enable --now php-fpm
+sudo systemctl enable php-fpm
+sudo systemctl start php-fpm
sudo systemctl status php-fpm
```
@@ -278,7 +279,7 @@ error_log = /var/log/php-fpm/error.log
daemonize = yes
```
-!!! Note "Nota"
+!!! Note
```
I file di configurazione di php-fpm sono ampiamente commentati. Andate a dare un'occhiata!
@@ -329,7 +330,7 @@ O con un socket UNIX:
`listen = /run/php-fpm/www.sock`.
-!!! Note "Nota"
+!!! Note
```
L'uso di un socket quando il server web e il server PHP si trovano sulla stessa macchina elimina il livello TCP/IP e ottimizza le prestazioni.
@@ -372,7 +373,7 @@ Per impostazione predefinita, il valore di `pm.max_requests` è 0, il che signif
Una terza modalità di funzionamento è la modalità `ondemand`. Questa modalità avvia un processo solo quando riceve una richiesta. Non è una modalità ottimale per i siti con forti influenze ed è riservata a esigenze specifiche (siti con richieste deboli, backend gestionale, ecc.).
-!!! Note "Nota"
+!!! Note
```
La configurazione della modalità operativa di PHP-FPM è essenziale per garantire il funzionamento ottimale del server web.
@@ -507,7 +508,7 @@ Questo vi darà un'idea abbastanza precisa dell'ingombro medio della memoria di
Il resto di questo documento comporta un ingombro di memoria di 120 MB per processo a pieno carico.
-Su un server con 8 Gb di RAM, mantenendo 1 Gb per il sistema e 1 Gb per la OPCache (si veda il resto di questo documento), rimangono 6 Gb per elaborare le richieste PHP dei client.
+Su un server con 8Gb di RAM, mantenendo 1Gb per il sistema e 1Gb per la OPCache (vedere il resto di questo documento), rimangono 6Gb per elaborare le richieste PHP dei client.
Si può concludere che questo server può accettare al massimo **50 thread** `((6*1024) / 120)`.
@@ -562,13 +563,13 @@ Dove:
Per configurare l'opcache, fare riferimento a una pagina `info.php` (compresa la `phpinfo();`) (si vedano, per esempio, i valori di `Cached scripts` e `Cached strings`).
-!!! Note "Nota"
+!!! Note
```
A ogni nuova distribuzione di nuovo codice, sarà necessario svuotare la opcache (ad esempio riavviando il processo php-fpm).
```
-!!! Note "Nota"
+!!! Note
```
Non sottovalutate l'aumento di velocità che si può ottenere impostando e configurando correttamente l'opcache.
diff --git a/docs/books/web_services/03-application-servers.uk.md b/docs/books/web_services/03-application-servers.uk.md
index e554f81307..71ad731b28 100644
--- a/docs/books/web_services/03-application-servers.uk.md
+++ b/docs/books/web_services/03-application-servers.uk.md
@@ -537,7 +537,7 @@ pm.max_requests = 500
Щоб його налаштувати, необхідно попрацювати над:
- Розмір пам’яті, виділеної для opcache, відповідно до коефіцієнта звернення
-- кількість скриптів PHP для кешу (кількість ключів + максимальна кількість скриптів)
+- Кількість скриптів PHP для кешу (кількість ключів + максимальна кількість скриптів)
- кількість рядків для кешу
Щоб встановити його:
diff --git a/docs/books/web_services/04-database-servers.de.md b/docs/books/web_services/04-database-servers.de.md
new file mode 100644
index 0000000000..80e288ca53
--- /dev/null
+++ b/docs/books/web_services/04-database-servers.de.md
@@ -0,0 +1,17 @@
+---
+author:
+contributors:
+title: Kapitel 4 — Datenbankserver
+---
+
+!!! info "Info"
+
+`````
+An introduction to relational database servers needs to be written.
+````
+
+## Einleitung
+
+````
+.
+`````
diff --git a/docs/books/web_services/04-database-servers.fr.md b/docs/books/web_services/04-database-servers.fr.md
new file mode 100644
index 0000000000..23b29384a7
--- /dev/null
+++ b/docs/books/web_services/04-database-servers.fr.md
@@ -0,0 +1,11 @@
+---
+author:
+contributors:
+title: Chapitre 4. Serveurs de Base de Données
+---
+
+!!! info "Info"
+
+```
+Todo : rédiger une introduction aux serveurs de bases de données relationnelles.
+```
diff --git a/docs/books/web_services/04-database-servers.it.md b/docs/books/web_services/04-database-servers.it.md
index 40eb2f6d87..26e37db843 100644
--- a/docs/books/web_services/04-database-servers.it.md
+++ b/docs/books/web_services/04-database-servers.it.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 4. Server Database
---
diff --git a/docs/books/web_services/04-database-servers.uk.md b/docs/books/web_services/04-database-servers.uk.md
index 43f2fb7d76..c4e7a6ce0e 100644
--- a/docs/books/web_services/04-database-servers.uk.md
+++ b/docs/books/web_services/04-database-servers.uk.md
@@ -1,10 +1,10 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 4. Сервери баз даних
---
-!!! info
+!!! info "інформація"
```
Треба написати вступ до серверів реляційних баз даних.
diff --git a/docs/books/web_services/041-database-servers-mariadb.it.md b/docs/books/web_services/041-database-servers-mariadb.it.md
index 5bce342981..8d105b3517 100644
--- a/docs/books/web_services/041-database-servers-mariadb.it.md
+++ b/docs/books/web_services/041-database-servers-mariadb.it.md
@@ -170,7 +170,7 @@ sudo mariadb-secure-installation
Lo script chiederà di fornire una password per l'utente root.
-!!! NOTE "Nota"
+!!! NOTE
````
The `mysql_secure_installation` command is now a symlink to the `mariadb-secure-installation` command:
@@ -195,7 +195,7 @@ Assicurarsi che le autorizzazioni siano abbastanza restrittive da consentire l'a
chmod 600 ~/.my.cnf
```
-!!! WARNING "Attenzione"
+!!! WARNING
```
Questo non è il modo migliore. Esiste un'altra soluzione più sicura della memorizzazione di una password in testo normale. A partire da MySQL 5.6.6, è ora possibile memorizzare le credenziali di accesso in un `.mylogin.cnf` criptato, grazie al comando `mysql_config_editor`.
@@ -208,7 +208,7 @@ sudo firewall-cmd --zone=public --add-service=mysql
sudo firewall-cmd --reload
```
-!!! NOTE "Nota"
+!!! NOTE
```
La migliore sicurezza consiste nel non aprire il server del database al mondo esterno (se il server delle applicazioni è ospitato sullo stesso server) o nel limitare l'accesso solo agli IP autorizzati.
@@ -230,7 +230,7 @@ mysql -u user -p [base]
| `-p` | Richiede la password. |
| `base` | Il nome del database al quale collegarsi. |
-!!! NOTE "Nota"
+!!! NOTE
````
The `mysql` command is now a symlink to the `mariadb` command:
@@ -361,7 +361,7 @@ Durante il processo, l'accesso ai dati è bloccato.
mariadb-dump -u root -p DATABASE_NAME > backup.sql
```
-!!! NOTE "Nota"
+!!! NOTE
```
Non dimenticare che dopo il ripristino di un backup completo, il ripristino dei file binari (binlog) completa la ricostituzione dei dati.
@@ -408,7 +408,7 @@ mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
...
```
-Attivare e avviare il servizio con il seguente comando:
+Abilitare ed avviare il servizio:
```bash
$ sudo systemctl enable mariadb --now
@@ -425,7 +425,7 @@ $ sudo systemctl status mariadb
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-06-20 11:48:56 CEST; 1min 27s ago
Docs: man:mariadbd(8)
- https://mariadb.com/kb/en/library/systemd/
+ https://mariadb.com
Process: 6538 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
Process: 6560 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
Process: 6658 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exited, status=0/SUCCESS)
diff --git a/docs/books/web_services/041-database-servers-mariadb.md b/docs/books/web_services/041-database-servers-mariadb.md
index 0dab11317e..f4ba050d2c 100644
--- a/docs/books/web_services/041-database-servers-mariadb.md
+++ b/docs/books/web_services/041-database-servers-mariadb.md
@@ -416,7 +416,7 @@ $ sudo systemctl status mariadb
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-06-20 11:48:56 CEST; 1min 27s ago
Docs: man:mariadbd(8)
- https://mariadb.com/kb/en/library/systemd/
+ https://mariadb.com
Process: 6538 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
Process: 6560 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
Process: 6658 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exited, status=0/SUCCESS)
diff --git a/docs/books/web_services/041-database-servers-mariadb.uk.md b/docs/books/web_services/041-database-servers-mariadb.uk.md
index 8922eb8bd2..757b417cb7 100644
--- a/docs/books/web_services/041-database-servers-mariadb.uk.md
+++ b/docs/books/web_services/041-database-servers-mariadb.uk.md
@@ -226,7 +226,7 @@ sudo firewall-cmd --reload
mysql -u user -p [base]
```
-| Опція | Опис |
+| Опція | Інформація |
| --------- | ------------------------------------------------------- |
| `-u user` | Надає ім’я користувача для підключення. |
| `-p` | Запитує пароль. |
@@ -274,7 +274,7 @@ MariaDB [(none)]> show databases;
mariadb-admin -u user -p command
```
-| Опція | Опис |
+| Опція | Інформація |
| --------- | ------------------------------------------------------- |
| `-u user` | Надає ім’я користувача для підключення. |
| `-p` | Запитує пароль. |
@@ -328,7 +328,7 @@ long_query_time = 2
mariadb-dumpslow [options] [log_file ...]
```
-| Опція | Опис |
+| Опція | Інформація |
| -------------- | -------------------------------------------------- |
| `-t n` | Відображає лише перші n запитів. |
| `-s sort_type` | Сортує за кількістю запитів. |
@@ -336,7 +336,7 @@ mariadb-dumpslow [options] [log_file ...]
Типи сортування можуть бути:
-| Опція | Опис |
+| Опція | Інформація |
| ------------ | ----------------------------------------------------------------------------------------------------------------- |
| `c` | за кількістю звернень. |
| `t` або `at` | відповідно до часу виконання або середнього часу виконання (a для середнього). |
@@ -427,7 +427,7 @@ $ sudo systemctl status mariadb
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled)
Active: active (running) since Thu 2024-06-20 11:48:56 CEST; 1min 27s ago
Docs: man:mariadbd(8)
- https://mariadb.com/kb/en/library/systemd/
+ https://mariadb.com
Process: 6538 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited, status=0/SUCCESS)
Process: 6560 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
Process: 6658 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exited, status=0/SUCCESS)
diff --git a/docs/books/web_services/042-database-servers-mysql.it.md b/docs/books/web_services/042-database-servers-mysql.it.md
index 0e84c312bf..9e07c4f444 100644
--- a/docs/books/web_services/042-database-servers-mysql.it.md
+++ b/docs/books/web_services/042-database-servers-mysql.it.md
@@ -16,7 +16,7 @@ Sono incluse solo le differenze significative tra le versioni di MariaDB e MySQL
---
-**Obiettivi**: si imparerà come:
+**Obiettivi**: si imparerà a:
:heavy_check_mark: installare, configurare e proteggere il server MariaDB e il server MySQL;
@@ -56,7 +56,7 @@ Per installare l'ultima versione del server MySQL, è necessario utilizzare un r
Visitare questa pagina: https://dev.mysql.com/downloads/repo/yum/ e copiare l'URL del repository.
-Per esempio:
+Ad esempio:
```bash
sudo dnf install -y https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
diff --git a/docs/books/web_services/043-database-servers-replication.it.md b/docs/books/web_services/043-database-servers-replication.it.md
index 0e3d92f1c3..bec8c16975 100644
--- a/docs/books/web_services/043-database-servers-replication.it.md
+++ b/docs/books/web_services/043-database-servers-replication.it.md
@@ -10,7 +10,7 @@ In questo capitolo si apprenderà come configurare server primari e secondari su
****
-**Obiettivi**: si imparerà come:
+**Obiettivi**: si imparerà a:
:heavy_check_mark: Attiva i binlogs nei server;
:heavy_check_mark: Configura un server secondario per replicare i dati presenti sul server primario
diff --git a/docs/books/web_services/05-load-balancer-proxies.de.md b/docs/books/web_services/05-load-balancer-proxies.de.md
new file mode 100644
index 0000000000..91ee6d88ba
--- /dev/null
+++ b/docs/books/web_services/05-load-balancer-proxies.de.md
@@ -0,0 +1,20 @@
+---
+author: Antoine Le Morvan
+contributors:
+title: Kapitel 5 – Load Balancing, Caching und Proxy
+---
+
+# Kapitel 5 – Load Balancing, Caching und Proxy
+
+In diesem Abschnitt besprechen wir bestehende Lösungen zur Verbesserung der Traffic-Leistung und zur Bewältigung einer ständig steigenden Anzahl von Client-Verbindungen.
+
+🌐 Translations:
+crowdin.com/project/rockydocs
+
+🌍 Translators:
+rockydocs/activity-stream
+, rockylinux.org
+
+🖋 Contributions:
+github.com/rocky-linux
+
diff --git a/docs/books/web_services/05-load-balancer-proxies.fr.md b/docs/books/web_services/05-load-balancer-proxies.fr.md
index 5d245a6ce5..404d99b715 100644
--- a/docs/books/web_services/05-load-balancer-proxies.fr.md
+++ b/docs/books/web_services/05-load-balancer-proxies.fr.md
@@ -1,9 +1,20 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Chapitre 5 Équilibrage de charge, mise en cache et proxy
---
# Chapitre 5 Équilibrage de charge, mise en cache et proxy
-Dans cette partie, nous discuterons des solutions existantes pour améliorer les performances du trafic et accepter de plus en plus de connexions clients.
+Dans cette partie, nous discuterons des solutions existantes pour améliorer les performances du trafic et accepter de plus en plus de connexions clients.
+
+🌐 Translations:
+crowdin.com/project/rockydocs
+
+🌍 Translators:
+rockydocs/activity-stream
+, rockylinux.org
+
+🖋 Contributions:
+github.com/rocky-linux
+
diff --git a/docs/books/web_services/05-load-balancer-proxies.it.md b/docs/books/web_services/05-load-balancer-proxies.it.md
index a20c1cf580..2923eb5f27 100644
--- a/docs/books/web_services/05-load-balancer-proxies.it.md
+++ b/docs/books/web_services/05-load-balancer-proxies.it.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Capitolo 5. Load balancing, caching e proxy
---
diff --git a/docs/books/web_services/05-load-balancer-proxies.uk.md b/docs/books/web_services/05-load-balancer-proxies.uk.md
index fde1f35998..6988d47630 100644
--- a/docs/books/web_services/05-load-balancer-proxies.uk.md
+++ b/docs/books/web_services/05-load-balancer-proxies.uk.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Частина 5. Балансування навантаження, кешування та проксіфікація
---
diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
index a40cfb2ede..67650c165a 100644
--- a/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
+++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.it.md
@@ -1,6 +1,6 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Part 5.1 HAProxy
---
diff --git a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
index 4eed2d4bee..678bd35dfb 100644
--- a/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
+++ b/docs/books/web_services/051-load-balancer-proxies-haproxy.uk.md
@@ -1,10 +1,10 @@
---
author: Antoine Le Morvan
-contributors: null
+contributors:
title: Частина 5.1 HAProxy
---
-!!! info
+!!! info "інформація"
```
Цей вміст ще не написано.
diff --git a/docs/books/web_services/052-load-balancer-proxies-varnish.it.md b/docs/books/web_services/052-load-balancer-proxies-varnish.it.md
index 4fb9752286..2b44746699 100644
--- a/docs/books/web_services/052-load-balancer-proxies-varnish.it.md
+++ b/docs/books/web_services/052-load-balancer-proxies-varnish.it.md
@@ -62,7 +62,7 @@ Se i backend non sono più sufficienti a supportare il carico di lavoro:
Una pagina web è spesso composta da HTML (spesso generato dinamicamente da PHP) e da risorse più statiche (JPG, gif, CSS, js e così via) durante la creazione. Diventa subito interessante mettere in cache le risorse memorizzabili (quelle statiche), scaricando molte richieste dai backend.
-!!! NOTE "Nota"
+!!! NOTE
```
Il caching delle pagine web (HTML, PHP, ASP, JSP, ecc.) è possibile ma più complicata. È necessario conoscere l'applicazione e sapere se le pagine sono memorizzabili nella cache, cosa che dovrebbe essere vera con un'API REST.
@@ -167,7 +167,7 @@ Questo comporta la compilazione del file di configurazione VCL in C. Se la compi
varnishd -C -f /etc/varnish/default.vcl
```
-!!! NOTE "Nota"
+!!! NOTE
```
È consigliabile controllare la sintassi del VCL prima di riavviare il daemon `varnishd`.
@@ -183,7 +183,7 @@ systemctl reload varnishd
Un `systemctl restart varnishd` svuota la cache di varnish e causa un picco di carico sui backend. Si dovrebbe quindi evitare di ricaricare `varnishd`.
-!!! NOTE "Nota"
+!!! NOTE
```
Per configurare Varnish, seguire le raccomandazioni riportate in questa pagina: .
diff --git a/docs/books/web_services/053-load-balancer-proxies-squid.it.md b/docs/books/web_services/053-load-balancer-proxies-squid.it.md
index 360e606a2c..bf9e4e4869 100644
--- a/docs/books/web_services/053-load-balancer-proxies-squid.it.md
+++ b/docs/books/web_services/053-load-balancer-proxies-squid.it.md
@@ -14,7 +14,7 @@ Questo capitolo illustra Squid, la cache proxy HTTP.
****
-**Obiettivi**: si imparerà come:
+**Obiettivi**: Imparerete a:
:heavy_check_mark: installare squid\
:heavy_check_mark: configurarlo come un proxy e memorizzare il contenuto HTTP.
@@ -41,7 +41,7 @@ Due firewall proteggono la workstation client ma non comunicano mai direttamente

-!!! Note "Nota"
+!!! Note
```
Questa architettura richiede la configurazione del browser sulla workstation client.
@@ -53,7 +53,7 @@ La configurazione avviene a livello del gateway, che riceve le richieste dei cli

-!!! Note "Nota"
+!!! Note
```
Questa architettura richiede una configurazione specifica sul router.
@@ -82,7 +82,7 @@ Tra i vantaggi vi sono i seguenti:
- Ottimizzazione della larghezza di banda
- Controllo Sicurezza
-!!! Note "Nota"
+!!! Note
```
L'implementazione dell'autenticazione blocca molti degli effetti dannosi dei virus sulla LAN.
@@ -130,7 +130,7 @@ I vantaggi dell'installazione di una soluzione basata sul server Squid:
- Utilizzo di dispositivi di storage veloci per la cache
- La RAM e la CPU devono essere dimensionate correttamente
-!!! Note "Nota"
+!!! Note
```
Consentire 14 MB di RAM per ogni GB di cache del disco.
@@ -189,7 +189,7 @@ Configurare Squid su `/etc/squid/squid.conf`.
http_port num_port
```
-!!! Note "Nota"
+!!! Note
```
La porta è impostata di default su 3128, ma spesso viene modificato in 8080. Ricordarsi di aprire la porta corrispondente del firewall!
@@ -203,13 +203,13 @@ Al riavvio del servizio, il server Squid si metterà in ascolto sulla porta defi
cache_mem taille KB|taille MB|taille GB
```
-Per esempio:
+Ad esempio:
```bash
cache_mem 1 GB
```
-!!! Tip "Suggerimento"
+!!! Tip
```
Best practice: allocare 1/3 della RAM totale
@@ -221,7 +221,7 @@ L' Internet Cache Protocol (ICP) consente ai server Squid vicini di scambiarsi l
La direttiva `icp_port` definisce la porta che Squid utilizza per inviare e ricevere richieste ICP dai server Squid vicini.
-!!! Tip "Suggerimento"
+!!! Tip
```
Impostare a 0 per disattivarlo.
@@ -283,7 +283,7 @@ Esempio:
visible_hostname proxysquid
```
-!!! Note "Nota"
+!!! Note
```
Il valore fornito può essere diverso dal nome dell'host.
@@ -450,7 +450,7 @@ Scomposizione di un record di log:
| Peer Code | Codice di risposta interproxy |
| File type | Tipo di mime della richiesta di destinazione |
-### Sicurezza
+### Controllo Sicurezza
Il firewall deve essere aperto per la porta di ascolto:
diff --git a/docs/books/web_services/053-load-balancer-proxies-squid.uk.md b/docs/books/web_services/053-load-balancer-proxies-squid.uk.md
index 94f9105505..6d6063ee15 100644
--- a/docs/books/web_services/053-load-balancer-proxies-squid.uk.md
+++ b/docs/books/web_services/053-load-balancer-proxies-squid.uk.md
@@ -403,7 +403,7 @@ Squid покладається на зовнішні програми для к
Автентифікація також може бути юридичною необхідністю. Не забудьте змусити своїх користувачів підписати статут про використання!
-### Tools
+### Інструменти
#### Команда `squidclient`
@@ -425,7 +425,7 @@ squidclient -s -h localhost -p 8080 http://localhost/
| ----- | ------------------------------------------------------------------- |
| `-s` | Тихий режим (у консолі нічого не відображається) |
| `-h` | Визначає цільовий проксі |
-| `-p` | Порт прослуховування (за замовчуванням 3128) |
+| `-р` | Порт прослуховування (за замовчуванням 3128) |
| `-r` | Змушує сервер перезавантажити об’єкт |
#### Проаналізуйте журнали
diff --git a/docs/books/web_services/06-mails-servers.de.md b/docs/books/web_services/06-mails-servers.de.md
index a47c3a8fee..d99fe72cea 100644
--- a/docs/books/web_services/06-mails-servers.de.md
+++ b/docs/books/web_services/06-mails-servers.de.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Kapitel 6 – Mail-Server
---
diff --git a/docs/books/web_services/06-mails-servers.fr.md b/docs/books/web_services/06-mails-servers.fr.md
index b76394088c..7fc694c10d 100644
--- a/docs/books/web_services/06-mails-servers.fr.md
+++ b/docs/books/web_services/06-mails-servers.fr.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Chapitre 6 Serveurs de messagerie
---
diff --git a/docs/books/web_services/06-mails-servers.it.md b/docs/books/web_services/06-mails-servers.it.md
index b86c2ec892..9460d05e2e 100644
--- a/docs/books/web_services/06-mails-servers.it.md
+++ b/docs/books/web_services/06-mails-servers.it.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Capitolo 6. Server mail
---
diff --git a/docs/books/web_services/06-mails-servers.uk.md b/docs/books/web_services/06-mails-servers.uk.md
index 902e3d14af..f378925fe9 100644
--- a/docs/books/web_services/06-mails-servers.uk.md
+++ b/docs/books/web_services/06-mails-servers.uk.md
@@ -1,6 +1,6 @@
---
-author: null
-contributors: null
+author:
+contributors:
title: Частина 6. Поштові сервери
---
diff --git a/docs/books/web_services/07-high-availability.it.md b/docs/books/web_services/07-high-availability.it.md
index d1bca5dbcb..84e35a91e3 100644
--- a/docs/books/web_services/07-high-availability.it.md
+++ b/docs/books/web_services/07-high-availability.it.md
@@ -76,7 +76,7 @@ In questo capitolo viene illustrato Pacemaker, una soluzione di clustering.
****
-**Obiettivi**: si imparerà come:
+**Obiettivi**: si imparerà a:
:heavy_check_mark: installare e configurare un cluster Pacemaker;\
:heavy_check_mark: amministrare un cluster Pacemaker.
@@ -150,7 +150,7 @@ Può gestire cluster con più di 16 modalità attive/passiva o attiva/attiva.
La tecnologia Heartbeat è più limitata rispetto a Corosync. È impossibile creare un cluster di più di due nodi e le sue regole di gestione sono meno sofisticate di quelle del suo concorrente.
-!!! NOTE "Nota"
+!!! NOTE
```
La scelta di pacemaker/corosync sembra oggi più appropriata, poiché è la scelta predefinita per le distribuzioni RedHat, Debian e Ubuntu.
@@ -248,7 +248,7 @@ sudo firewall-cmd --permanent --add-service=high-availability
sudo firewall-cmd --reload
```
-!!! NOTE "Nota"
+!!! NOTE
```
Non avviare ora i servizi, poiché non sono configurati e non funzioneranno.
@@ -260,7 +260,7 @@ Il package `pcs` fornisce gli strumenti di gestione del cluster. Il comando `pcs
La configurazione del cluster può essere fatta a mano, ma il pacchetto pcs rende la gestione (creazione, configurazione e risoluzione dei problemi) di un cluster molto più semplice!
-!!! NOTE "Nota"
+!!! NOTE
```
Ci sono altre alternative a pcs.
@@ -285,7 +285,7 @@ Su tutti i nodi, assegnare una password identica all'utente hacluster:
echo “pwdhacluster” | sudo passwd --stdin hacluster
```
-!!! NOTE "Nota"
+!!! NOTE
```
“pwdhacluster” è di esempio, sostituirla con una password più sicura.
@@ -324,7 +324,7 @@ server2: successful distribution of the file 'corosync.conf'
Cluster has been successfully set up.
```
-!!! NOTE "Nota"
+!!! NOTE
```
Il comando pcs cluster setup gestisce il problema del quorum per i cluster a due nodi. Un cluster di questo tipo funzionerà quindi correttamente in caso di guasto di uno dei due nodi. Se si configura Corosync manualmente o si usa un'altra shell di gestione del cluster, è necessario configurare Corosync correttamente.
@@ -395,7 +395,7 @@ Per prima cosa, si disabilita `stonith` finché non si imparerà a configurarlo:
sudo pcs property set stonith-enabled=false
```
-!!! WARNING "Attenzione"
+!!! WARNING
```
Fare attenzione a non lasciare `stonith` disabilitato in un ambiente di produzione!
@@ -528,7 +528,7 @@ sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
```
-!!! WARNING "Attenzione"
+!!! WARNING
```
Non avviare o attivare il servizio da soli. Se ne occuperà il Pacemaker.
diff --git a/docs/desktop/appimage/appimage_pool.de.md b/docs/desktop/appimage/appimage_pool.de.md
index f1ce207103..0e583672ee 100644
--- a/docs/desktop/appimage/appimage_pool.de.md
+++ b/docs/desktop/appimage/appimage_pool.de.md
@@ -8,7 +8,7 @@ contributors: Steven Spencer
[AppImagePool](https://github.com/prateekmedia/appimagepool) bietet einen Hub zum Installieren und Verwalten von AppImages. Es ähnelt optisch der Softwareanwendung.
-## Voraussetzungen
+## Vorbedingungen
Für diese Anleitung benötigen Sie Folgendes:
@@ -24,7 +24,7 @@ Installieren Sie das Flatpak-Paket für AppImagePool:
flatpak install flathub io.github.prateekmedia.appimagepool
```
-## Erkunden von AppImage Launcher
+## Erkundung von `AppImage Launcher`
Sobald AppImagePool auf Ihrem System installiert ist, starten Sie es und erkunden Sie die verfügbaren AppImages.
diff --git a/docs/desktop/appimage/appimage_pool.it.md b/docs/desktop/appimage/appimage_pool.it.md
index 94fd1e0d23..b9b1c6e8b8 100644
--- a/docs/desktop/appimage/appimage_pool.it.md
+++ b/docs/desktop/appimage/appimage_pool.it.md
@@ -1,7 +1,7 @@
---
title: Installare AppImages con AppImagePool
author: Joseph Brinkman
-contributors: Spencer Steven
+contributors: Steven Spencer
---
## Introduzione
diff --git a/docs/desktop/display/installing_nvidia_gpu_drivers.it.md b/docs/desktop/display/installing_nvidia_gpu_drivers.it.md
index 473d40d841..e99e0d4f47 100644
--- a/docs/desktop/display/installing_nvidia_gpu_drivers.it.md
+++ b/docs/desktop/display/installing_nvidia_gpu_drivers.it.md
@@ -91,7 +91,7 @@ Nouveau è un driver NVIDIA open-source che offre funzionalità limitate rispett
sudo grubby --args="nouveau.modeset=0 rd.driver.blacklist=nouveau" --update-kernel=ALL
```
-!!! Note "Nota"
+!!! note "Nota"
````
Per i sistemi con l'avvio sicuro abilitato è necessario eseguire questo passaggio:
diff --git a/docs/desktop/gnome/dconf.de.md b/docs/desktop/gnome/dconf.de.md
index af26db533d..830a1b89ca 100644
--- a/docs/desktop/gnome/dconf.de.md
+++ b/docs/desktop/gnome/dconf.de.md
@@ -1,5 +1,5 @@
---
-title: dconf Config Editor
+title: dconf – Config Editor
author: Ezequiel Bruni
contributors: Steven Spencer, Ganna Zhyrnova
---
diff --git a/docs/desktop/gnome/decibels.de.md b/docs/desktop/gnome/decibels.de.md
index 580fe6be38..ed5cfe6bcd 100644
--- a/docs/desktop/gnome/decibels.de.md
+++ b/docs/desktop/gnome/decibels.de.md
@@ -26,15 +26,15 @@ Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `Decibels` in die Su
2. Kopieren Sie das manuelle Installationsskript und führen Sie es in einem Terminal aus:
- ```bash
- flatpak install flathub org.gnome.Decibels
- ```
+ ```bash
+ flatpak install flathub org.gnome.Decibels
+ ```
3. Kopieren Sie abschließend den Ausführungsbefehl und rufen Sie ihn in Ihrem Terminal auf:
- ```bash
- flatpak run org.gnome.Decibels
- ```
+ ```bash
+ flatpak run org.gnome.Decibels
+ ```
## Anwendungshinweise
@@ -42,11 +42,11 @@ Gehen Sie wie folgt vor, um `Decibels` zu verwenden:
1. Auf **Open** klicken
- 
+ 
2. Wählen Sie Ihre gewünschte Datei aus und klicken Sie auf **Open**, das in der oberen rechten Ecke des Bildschirms erscheint
- 
+ 
!!! note "Anmerkung"
diff --git a/docs/desktop/gnome/decibels.fr.md b/docs/desktop/gnome/decibels.fr.md
index 3646c2696e..5f8fd393cd 100644
--- a/docs/desktop/gnome/decibels.fr.md
+++ b/docs/desktop/gnome/decibels.fr.md
@@ -26,15 +26,15 @@ Accédez à [Flathub.org](https://flathub.org), tapez `Decibels` dans la barre d
2. Copiez le script d'installation manuelle et exécutez-le dans un terminal :
- ```bash
- flatpak install flathub org.gnome.Decibels
- ```
+ ```bash
+ flatpak install flathub org.gnome.Decibels
+ ```
3. Enfin, copiez la commande à lancer et exécutez-la dans votre terminal :
- ```bash
- flatpak run org.gnome.Decibels
- ```
+ ```bash
+ flatpak run org.gnome.Decibels
+ ```
## Mode d'emploi
@@ -42,11 +42,11 @@ Pour utiliser le programme `Decibels`, procédez comme suit :
1. Cliquez sur **Open**
- 
+ 
2. Sélectionnez le fichier souhaité et cliquez sur le bouton **Open** qui apparaîtra dans le coin supérieur droit de l'écran
- 
+ 
!!! note "Remarque"
diff --git a/docs/desktop/gnome/decibels.it.md b/docs/desktop/gnome/decibels.it.md
index f6feaae0cd..4090a415c8 100644
--- a/docs/desktop/gnome/decibels.it.md
+++ b/docs/desktop/gnome/decibels.it.md
@@ -26,15 +26,15 @@ Andate su [Flathub.org](https://flathub.org), digitate "Decibel" nella barra di
2. Copiare lo script di installazione manuale ed eseguirlo in un terminale:
- ```bash
- flatpak install flathub org.gnome.Decibels
- ```
+ ```bash
+ flatpak install flathub org.gnome.Decibels
+ ```
3. Infine, copiate il comando run ed eseguitelo nel vostro terminale:
- ```bash
- flatpak run org.gnome.Decibels
- ```
+ ```bash
+ flatpak run org.gnome.Decibels
+ ```
## Guida all'uso
@@ -42,11 +42,11 @@ Per utilizzare Decibel, procedere come segue:
1. Cliccare su **Open**
- 
+ 
2. Scegliere il file desiderato e fare clic su **Apri** che appare nell'angolo in alto a destra dello schermo
- 
+ 
!!! note "Nota"
diff --git a/docs/desktop/gnome/decibels.uk.md b/docs/desktop/gnome/decibels.uk.md
index e2dc46cd2e..a5d680de37 100644
--- a/docs/desktop/gnome/decibels.uk.md
+++ b/docs/desktop/gnome/decibels.uk.md
@@ -26,15 +26,15 @@ Decibels — програма, яка відтворює аудіофайли.
2. Скопіюйте сценарій встановлення вручну та запустіть його в терміналі:
- ```bash
- flatpak install flathub org.gnome.Decibels
- ```
+ ```bash
+ flatpak install flathub org.gnome.Decibels
+ ```
3. Нарешті, скопіюйте команду запуску та запустіть її у своєму терміналі:
- ```bash
- flatpak run org.gnome.Decibels
- ```
+ ```bash
+ flatpak run org.gnome.Decibels
+ ```
## Як використовувати
@@ -42,11 +42,11 @@ Decibels — програма, яка відтворює аудіофайли.
1. Натисніть _Open_
- 
+ 
2. Виберіть потрібний файл і натисніть кнопку **Open**, яка з’явиться у верхньому правому куті екрана
- 
+ 
!!! note "Примітка"
diff --git a/docs/desktop/gnome/decoder.de.md b/docs/desktop/gnome/decoder.de.md
index 5323f96646..0f462fea71 100644
--- a/docs/desktop/gnome/decoder.de.md
+++ b/docs/desktop/gnome/decoder.de.md
@@ -20,19 +20,19 @@ Für diese Anleitung benötigen Sie Folgendes:
1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `Decoder` in die Suchleiste ein und klicken Sie auf **Install**. 
- 
+ 
2. Kopieren Sie das manuelle Installationsskript und führen Sie es in einem Terminal aus:
- ```bash
- flatpak install flathub com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak install flathub com.belmoussaoui.Decoder
+ ```
3. Kopieren Sie abschließend den Ausführungsbefehl und rufen Sie ihn in Ihrem Terminal auf:
- ```bash
- flatpak run com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak run com.belmoussaoui.Decoder
+ ```
## So erstellen Sie einen QR-Code
@@ -51,7 +51,7 @@ Es stehen zwei Arten von QR-Codes zur Verfügung. Wählen Sie die Option, die Ih
3. Auf **Create** klicken
- 
+ 
4. Auf **Save** klicken
@@ -71,21 +71,21 @@ Es stehen zwei Arten von QR-Codes zur Verfügung. Wählen Sie die Option, die Ih
### So scannen Sie einen QR-Code
-Zusätzlich zum Erstellen und Generieren von QR-Codes können Sie mit Decoder auch QR-Codes scannen, die Sie auf Ihrem Computer gespeichert haben. So funktioniert es:
+Zusätzlich zum Erstellen und Generieren von QR-Codes können Sie mit Decoder auch QR-Codes scannen, die Sie auf Ihrem Computer gespeichert haben. Gehen Sie folgendermaßen vor:

1. Auf **Scan** klicken
- 
+ 
2. Auf **From a Screenshot** klicken
- 
+ 
3. Wählen Sie die gewünschten Effekte aus und klicken Sie auf **Screenshot erstellen**
- 
+ 
4. Auf **Share** klicken
diff --git a/docs/desktop/gnome/decoder.fr.md b/docs/desktop/gnome/decoder.fr.md
index a08a0f4ea1..12c01214c0 100644
--- a/docs/desktop/gnome/decoder.fr.md
+++ b/docs/desktop/gnome/decoder.fr.md
@@ -6,7 +6,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
## Introduction
-Besoin d'un code QR pour votre site Web, votre application ou vos profils de réseaux sociaux ? Découvrez Decoder ! C'est une application qui permet de créer, d'enregistrer et d'exporter des codes QR.
+Besoin d'un code QR pour votre site Web, votre application ou vos profils de réseaux sociaux ? Découvrez `Decoder` ! C'est une application qui permet de créer, d'enregistrer et d'exporter des codes QR.
## Prérequis
@@ -20,19 +20,19 @@ Ce guide suppose que vous disposez de la configuration suivante :
1. Accédez au [site Web Flathub](https://flathub.org/), tapez `Decoder` dans la barre de recherche et cliquez sur **Install**. 
- 
+ 
2. Copiez le script d'installation manuelle et exécutez-le dans un terminal :
- ```bash
- flatpak install flathub com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak install flathub com.belmoussaoui.Decoder
+ ```
3. Enfin, copiez la commande à lancer et exécutez-la dans votre terminal :
- ```bash
- flatpak run com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak run com.belmoussaoui.Decoder
+ ```
## Comment créer un code QR
@@ -51,7 +51,7 @@ Deux types de codes QR sont disponibles. Choisissez l'option qui correspond le m
3. Cliquez sur **Create**.
- 
+ 
4. Cliquez sur **Save**
@@ -71,21 +71,21 @@ Deux types de codes QR sont disponibles. Choisissez l'option qui correspond le m
### Comment scanner un code QR
-En plus de créer et de générer des codes QR, vous pouvez utiliser `Decoder` pour scanner les codes QR que vous avez enregistrés sur votre ordinateur. Voici comment :
+En plus de créer et de générer des codes QR, vous pouvez utiliser `Decoder` pour scanner les codes QR que vous avez enregistrés sur votre ordinateur. Voici comment procéder :

1. Cliquez sur **Scan**
- 
+ 
2. Cliquez sur **From a Screenshot**
- 
+ 
3. Choisissez les effets souhaités et cliquez sur **Prendre une capture d'écran**
- 
+ 
4. Cliquez sur **Share**
diff --git a/docs/desktop/gnome/decoder.it.md b/docs/desktop/gnome/decoder.it.md
index a7284513a0..c0b793f7cb 100644
--- a/docs/desktop/gnome/decoder.it.md
+++ b/docs/desktop/gnome/decoder.it.md
@@ -20,19 +20,19 @@ Questa guida presuppone che si disponga di quanto segue:
1. Andate sul [sito web di Flathub](https://flathub.org/), digitate "Decoder" nella barra di ricerca e fate clic su **Install**. 
- 
+ 
2. Copiare lo script di installazione manuale ed eseguirlo in un terminale:
- ```bash
- flatpak install flathub com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak install flathub com.belmoussaoui.Decoder
+ ```
3. Infine, copiate il comando run ed eseguitelo nel vostro terminale:
- ```bash
- flatpak run com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak run com.belmoussaoui.Decoder
+ ```
## Come creare un codice QR
@@ -51,7 +51,7 @@ Sono disponibili due tipi di codici QR. Scegliete l'opzione più adatta alle vos
3. Cliccare su **Create**
- 
+ 
4. Cliccare su **Save**
@@ -77,15 +77,15 @@ Oltre a creare e generare codici QR, è possibile utilizzare Decoder per scansio
1. Cliccare su **Scan**
- 
+ 
2. Fare clic su **From a Screenshot**
- 
+ 
3. Scegliete gli effetti desiderati e cliccate su **Take a Screenshot**
- 
+ 
4. Cliccare su **Share**
diff --git a/docs/desktop/gnome/decoder.uk.md b/docs/desktop/gnome/decoder.uk.md
index e50cf77c12..e58c5f1349 100644
--- a/docs/desktop/gnome/decoder.uk.md
+++ b/docs/desktop/gnome/decoder.uk.md
@@ -20,19 +20,19 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перейдіть на [веб-сайт Flathub](https://flathub.org/), введіть «Декодер» у рядку пошуку та натисніть **Встановити**. 
- 
+ 
2. Скопіюйте сценарій встановлення вручну та запустіть його в терміналі:
- ```bash
- flatpak install flathub com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak install flathub com.belmoussaoui.Decoder
+ ```
3. Нарешті, скопіюйте команду запуску та запустіть її у своєму терміналі:
- ```bash
- flatpak run com.belmoussaoui.Decoder
- ```
+ ```bash
+ flatpak run com.belmoussaoui.Decoder
+ ```
## Як створити QR-код
@@ -51,7 +51,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
3. Натисніть **Create**
- 
+ 
4. Натисніть **Save**
@@ -77,15 +77,15 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Натисніть **Scan**
- 
+ 
2. Натисніть **From a Screenshot**
- 
+ 
3. Виберіть потрібні ефекти та натисніть **Take a Screenshot**
- 
+ 
4. Натисніть **Share**
diff --git a/docs/desktop/gnome/file-shredder.de.md b/docs/desktop/gnome/file-shredder.de.md
index ac14f9f9d9..275a3baa6c 100644
--- a/docs/desktop/gnome/file-shredder.de.md
+++ b/docs/desktop/gnome/file-shredder.de.md
@@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes:
1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `File Shredder` in die Suchleiste ein und klicken Sie auf **Install**
- 
+ 
2. Kopieren Sie das manuelle Skript in Ihr Terminal:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Anwendungshinweise
@@ -42,7 +42,7 @@ Gehen Sie wie folgt vor, um `File Shredder` zu verwenden:
1. Ziehen oder klicken Sie auf **Add file**, um die Datei(en) auszuwählen, die Sie entfernen möchten
- 
+ 
2. Auf **Shred All** klicken
diff --git a/docs/desktop/gnome/file-shredder.fr.md b/docs/desktop/gnome/file-shredder.fr.md
index 435f4a050c..cdb18c8473 100644
--- a/docs/desktop/gnome/file-shredder.fr.md
+++ b/docs/desktop/gnome/file-shredder.fr.md
@@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante :
1. Accédez au [site Web Flathub](https://flathub.org/), tapez `File Shredder` dans la barre de recherche et cliquez sur **Install**
- 
+ 
2. Copiez le script d'installation manuelle dans un terminal :
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Enfin, exécutez le script d'installation manuelle dans votre terminal :
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Mode d'emploi
@@ -42,7 +42,7 @@ Pour utiliser le programme `File Shredder`, procédez comme suit :
1. Faites glisser ou cliquez sur **Add File** pour sélectionner le(s) fichier(s) que vous souhaitez supprimer
- 
+ 
2. Cliquez sur **Shred All**
@@ -50,4 +50,4 @@ Pour utiliser le programme `File Shredder`, procédez comme suit :
## Conclusion
-Qu’il s’agisse d’un dossier de sécurité sociale ou d’un relevé bancaire, File Shredder est l’outil qui permet de supprimer définitivement des fichiers sans avoir à acheter un shredder. Vous souhaitez en savoir plus ou avoir plus d'idées pour cette application ? [Soumettez un issue dans le dépôt de File Shredder sur GitHub](https://github.com/ADBeveridge/raider/issues).
+Qu’il s’agisse d’un dossier de sécurité sociale ou d’un relevé bancaire, File Shredder est l’outil qui permet de supprimer définitivement des fichiers sans avoir à acheter un shredder. Vous souhaitez en savoir plus ou proposer des idées pour cette application ? [Soumettez un issue dans le dépôt de File Shredder sur GitHub](https://github.com/ADBeveridge/raider/issues).
diff --git a/docs/desktop/gnome/file-shredder.it.md b/docs/desktop/gnome/file-shredder.it.md
index b838782347..ad99ae2a61 100644
--- a/docs/desktop/gnome/file-shredder.it.md
+++ b/docs/desktop/gnome/file-shredder.it.md
@@ -22,19 +22,19 @@ Questa guida presuppone che si disponga di quanto segue:
1. Andate sul [sito web di Flathub](https://flathub.org), digitate "File Shredder" nella barra di ricerca e cliccate su **Install**
- 
+ 
2. Copiare lo script manuale nel terminale:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Infine, eseguire lo script manuale nel terminale:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Istruzioni
@@ -42,7 +42,7 @@ Per utilizzare File Shredder, procedere come segue:
1. Trascinare o fare clic su **Aggiungi file** per scegliere il file o i file che si desidera rimuovere
- 
+ 
2. Cliccare su **Shred All**
diff --git a/docs/desktop/gnome/file-shredder.uk.md b/docs/desktop/gnome/file-shredder.uk.md
index 62d9ae4184..af428bf672 100644
--- a/docs/desktop/gnome/file-shredder.uk.md
+++ b/docs/desktop/gnome/file-shredder.uk.md
@@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перейдіть на [веб-сайт Flathub](https://flathub.org), введіть «File Shredder» у рядку пошуку та натисніть **Install**
- 
+ 
2. Скопіюйте скрипт у свій термінал:
- ```bash
- flatpak install flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak install flathub io.github.ADBeveridge.Raider
+ ```
3. Нарешті, запустіть сценарій у вашому терміналі:
- ```bash
- flatpak run flathub io.github.ADBeveridge.Raider
- ```
+ ```bash
+ flatpak run flathub io.github.ADBeveridge.Raider
+ ```
## Як цим користуватися
@@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перетягніть або клацніть **Add file**, щоб вибрати файли, які потрібно видалити
- 
+ 
2. Натисніть **Shred All**
diff --git a/docs/desktop/gnome/flatpak.de.md b/docs/desktop/gnome/flatpak.de.md
index f9de79260a..1a1a4ef494 100644
--- a/docs/desktop/gnome/flatpak.de.md
+++ b/docs/desktop/gnome/flatpak.de.md
@@ -166,51 +166,51 @@ Der Installationsprozess für OBS Studio sieht beispielsweise wie folgt aus:
3. Klicken Sie auf den Abwärtspfeil neben der Schaltfläche „Installieren“
- 
+ 
- 
+ 
4. Stellen Sie sicher, dass Sie alle Installationsvoraussetzungen für Rocky Linux erfüllt haben (Nummer 1 im zweiten Bild, das oben bereits abgeschlossen ist), kopieren Sie dann den Befehl (Nummer 2 im zweiten Bild) und fügen Sie ihn in ein Terminal ein
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Wenn Sie mit „Y“ antworten und ++enter++ drücken, wird Folgendes angezeigt:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Wenn Sie mit „Y“ antworten und ++enter++ drücken, werden die Systemberechtigungen wie angegeben geändert und die Anwendung installiert.
7. Wenn alles gut geht, sollten Sie folgende Meldung erhalten:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Im Menü „Aktivities“ können Sie nun nach OBS Studio suchen und es ausführen.
diff --git a/docs/desktop/gnome/flatpak.fr.md b/docs/desktop/gnome/flatpak.fr.md
index f8d7986c0a..02d66f1148 100644
--- a/docs/desktop/gnome/flatpak.fr.md
+++ b/docs/desktop/gnome/flatpak.fr.md
@@ -166,51 +166,51 @@ Pour parcourir `Flathub`, veuillez consulter . Une énorme
3. Cliquez sur la flèche vers le bas à côté du bouton « Install »
- 
+ 
- 
+ 
4. Assurez-vous d'avoir rempli toutes les conditions préalables à l'installation de Rocky Linux (numéro 1 dans la deuxième image, qui est déjà complété ci-dessus), puis copiez la commande (numéro 2 dans la deuxième image) et collez-la dans un terminal
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Lorsque vous répondez « Y » et appuyez sur ++enter++, vous verrez ce qui suit :
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Répondre « Y » et appuyer sur ++enter++ modifiera les autorisations du système comme indiqué et installera l'application.
7. Si tout se passe bien, vous devriez obtenir le message suivant :
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Depuis le menu « Activities », vous pouvez désormais rechercher et exécuter OBS Studio.
diff --git a/docs/desktop/gnome/flatpak.it.md b/docs/desktop/gnome/flatpak.it.md
index ffc9018d05..2f8fcfa7f9 100644
--- a/docs/desktop/gnome/flatpak.it.md
+++ b/docs/desktop/gnome/flatpak.it.md
@@ -166,51 +166,51 @@ A titolo di esempio, il processo di installazione di OBS Studio è il seguente:
3. Cliccare sulla freccia rivolta verso il basso accanto al pulsante "Installa"
- 
+ 
- 
+ 
4. Assicuratevi di aver completato tutti i prerequisiti per l'installazione di Rocky Linux (numero 1 nella seconda immagine, che è già stato completato sopra) e poi copiate il comando (numero 2 nella seconda immagine) e incollatelo in un terminale
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Quando si risponde "Y" e si preme ++enter++, viene visualizzato il seguente messaggio:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Rispondendo "Y" e premendo ++enter++ si modificheranno i permessi di sistema come indicato e si installerà l'applicazione.
7. Se tutto va bene, dovreste ricevere:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Dal menu "Attività" è ora possibile cercare ed eseguire OBS Studio.
diff --git a/docs/desktop/gnome/flatpak.uk.md b/docs/desktop/gnome/flatpak.uk.md
index 43f440385d..03909d12f6 100644
--- a/docs/desktop/gnome/flatpak.uk.md
+++ b/docs/desktop/gnome/flatpak.uk.md
@@ -166,51 +166,51 @@ Flathub — це веб-ресурс для отримання або надси
3. Натисніть стрілку вниз поруч із кнопкою «Встановити»
- 
+ 
- 
+ 
4. Переконайтеся, що ви виконали всі передумови встановлення для Rocky Linux (номер 1 на другому зображенні, яке вже виконано вище), а потім скопіюйте команду (номер 2 на другому зображенні) і вставте її в термінал
- ```bash
- flatpak install flathub com.obsproject.Studio
- Looking for matches…
- Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
- Do you want to install it? [Y/n]: Y
- ```
+ ```bash
+ flatpak install flathub com.obsproject.Studio
+ Looking for matches…
+ Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub
+ Do you want to install it? [Y/n]: Y
+ ```
5. Коли ви відповісте «Y» і натиснете ++enter++, ви побачите таке:
- ```bash
- com.obsproject.Studio permissions:
- ipc network pulseaudio wayland
- x11 devices file access [1] dbus access [2]
- system dbus access [3]
-
- [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
- [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
- org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
- [3] org.freedesktop.Avahi
-
- ID Branch Op Remote Download
- 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
- 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
- 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
- 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
- 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
- 6. org.kde.Platform 6.6 i flathub < 325.0 MB
- 7. com.obsproject.Studio stable i flathub < 207.7 MB
-
- Proceed with these changes to the system installation? [Y/n]:
- ```
+ ```bash
+ com.obsproject.Studio permissions:
+ ipc network pulseaudio wayland
+ x11 devices file access [1] dbus access [2]
+ system dbus access [3]
+
+ [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0
+ [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications,
+ org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify
+ [3] org.freedesktop.Avahi
+
+ ID Branch Op Remote Download
+ 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial)
+ 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB
+ 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial)
+ 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB
+ 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB
+ 6. org.kde.Platform 6.6 i flathub < 325.0 MB
+ 7. com.obsproject.Studio stable i flathub < 207.7 MB
+
+ Proceed with these changes to the system installation? [Y/n]:
+ ```
6. Якщо відповісти «Y» і натиснути ++enter++, системні дозволи будуть змінені, як зазначено, і встановлено програму.
7. Якщо все піде добре, ви повинні отримати:
- ```text
- Installation complete.
- ```
+ ```text
+ Installation complete.
+ ```
8. Тепер у меню «Activities» ви зможете шукати та запускати OBS Studio.
diff --git a/docs/desktop/gnome/gnome-extensions.de.md b/docs/desktop/gnome/gnome-extensions.de.md
index a1af0c0d14..e2abb0a16a 100644
--- a/docs/desktop/gnome/gnome-extensions.de.md
+++ b/docs/desktop/gnome/gnome-extensions.de.md
@@ -56,7 +56,7 @@ In diesem Beispiel installieren wir die beliebte Erweiterung `dash-to-dock`.
1. Gehen Sie zur [Webseite der Dash-to-Dock-Erweiterung](https://extensions.gnome.org/extension/307/dash-to-dock/){target="_blank"}
2. Erweiterung von „aus“ auf „ein“ umschalten
- 
+ 
3. Wenn Sie zur Installation der Erweiterung aufgefordert werden, klicken Sie auf `yes`.
## Installierte Erweiterungen verwalten
diff --git a/docs/desktop/gnome/gnome-extensions.fr.md b/docs/desktop/gnome/gnome-extensions.fr.md
index d17ec2eb41..e4495708b1 100644
--- a/docs/desktop/gnome/gnome-extensions.fr.md
+++ b/docs/desktop/gnome/gnome-extensions.fr.md
@@ -55,8 +55,8 @@ gnome-shell --version
Pour cet exemple, nous installerons l’extension populaire `Dash to Dock`.
1. Rendez-vous sur [page Web de l'extension Dash to Dock](https://extensions.gnome.org/extension/307/dash-to-dock/){target="_blank"}
-2. Passer l'extension de "off" à "on"
- 
+2. Passer l'extension de `off` à `on`
+ 
3. Lorsque vous êtes invité à installer l’extension, cliquez sur `yes`.
## Gestion des Extensions Installées
diff --git a/docs/desktop/gnome/gnome-extensions.uk.md b/docs/desktop/gnome/gnome-extensions.uk.md
index a148c5b363..22f0848e06 100644
--- a/docs/desktop/gnome/gnome-extensions.uk.md
+++ b/docs/desktop/gnome/gnome-extensions.uk.md
@@ -56,7 +56,7 @@ gnome-shell --version
1. Перейдіть на [веб-сторінку розширення dash to dock](https://extensions.gnome.org/extension/307/dash-to-dock/){target="_blank"}
2. Перемкніть розширення з "вимкнено" на "увімкнено"
- 
+ 
3. Коли буде запропоновано встановити розширення, натисніть "yes".
## Керування встановленими розширеннями
diff --git a/docs/desktop/gnome/rdp-server.de.md b/docs/desktop/gnome/rdp-server.de.md
index 028ef0fbe7..8704e0ec8b 100644
--- a/docs/desktop/gnome/rdp-server.de.md
+++ b/docs/desktop/gnome/rdp-server.de.md
@@ -80,9 +80,9 @@ sudo firewall-cmd --reload
Für Anfänger: Diese Befehle öffnen den RDP-Port in Ihrer Firewall, sodass Sie eingehende RDP-Verbindungen akzeptieren können. Starten Sie dann die Firewall neu, um die Änderungen zu übernehmen. Wenn Sie möchten, können Sie Ihren PC sicherheitshalber neu starten.
-Wenn Sie keinen Neustart durchführen möchten, sollten Sie sich abmelden. RDP verwendet aus Sicherheitsgründen die Anmeldeinformationen Ihres Benutzerkontos. Eine Remote-Anmeldung ist nicht möglich, wenn Sie bereits lokal bei Ihrem Desktop angemeldet sind. Zumindest nicht mit gleichen Benutzerkonto.
+Sie sollten sich abmelden, wenn Sie keinen Neustart durchführen möchten. RDP verwendet aus Sicherheitsgründen die Anmeldeinformationen Ihres Benutzerkontos. Eine Remote-Anmeldung ist nicht möglich, wenn Sie bereits lokal bei Ihrem Desktop angemeldet sind. Zumindest nicht mit gleichen Benutzerkonto.
-!!! info
+!!! info "Info"
```
Sie können auch die Firewall-App verwenden, um `firewalld` zu verwalten und alle gewünschten Ports zu öffnen. In diesem Bereich der Rocky Linux Doku finden Sie einen Link zu einer Anleitung des Autors zur Installation und Verwendung der Firewall-App.
diff --git a/docs/desktop/gnome/rdp-server.uk.md b/docs/desktop/gnome/rdp-server.uk.md
index 273b21e98d..0b7bb8c207 100644
--- a/docs/desktop/gnome/rdp-server.uk.md
+++ b/docs/desktop/gnome/rdp-server.uk.md
@@ -81,7 +81,7 @@ sudo firewall-cmd --reload
Ви можете вийти, якщо не хочете перезавантажуватись. RDP використовує облікові дані вашого облікового запису користувача для безпеки. Увійти віддалено, якщо ви вже ввійшли на свій робочий стіл локально, неможливо. Принаймні, не в тому самому обліковому записі користувача.
-!!! info
+!!! info "примітка"
```
Ви також можете використовувати програму Firewall, щоб керувати `firewalld` і відкривати будь-які порти, які хочете. Слідкуйте за посиланням на мій посібник із встановлення та використання програми Firewall.
diff --git a/docs/desktop/gnome/screenshot.de.md b/docs/desktop/gnome/screenshot.de.md
index c4f69b8fee..35b943e079 100644
--- a/docs/desktop/gnome/screenshot.de.md
+++ b/docs/desktop/gnome/screenshot.de.md
@@ -30,7 +30,7 @@ Gehen Sie wie folgt vor, um `Screenshot` zu verwenden:
2. Auf **Take a Screenshot** klicken
- 
+ 
3. Wenn Sie mit dem Screenshot zufrieden sind, benennen Sie die Datei um und klicken Sie auf **Save**.
diff --git a/docs/desktop/gnome/screenshot.fr.md b/docs/desktop/gnome/screenshot.fr.md
index ddabadd527..33b74c0560 100644
--- a/docs/desktop/gnome/screenshot.fr.md
+++ b/docs/desktop/gnome/screenshot.fr.md
@@ -1,5 +1,5 @@
---
-title: Screenshot
+title: Screenshot – Captures d'Écran
author: Christine Belzie
contributors: Steven Spencer, Ganna Zhyrnova
---
@@ -30,7 +30,7 @@ Pour utiliser le programme `Screenshot`, procédez comme suit :
2. Cliquez sur **Take a Screenshot**
- 
+ 
3. Une fois que vous êtes satisfait de la capture d'écran, renommez le fichier et cliquez sur **Save**.
diff --git a/docs/desktop/gnome/screenshot.it.md b/docs/desktop/gnome/screenshot.it.md
index ce4aed17a2..a775d69aa1 100644
--- a/docs/desktop/gnome/screenshot.it.md
+++ b/docs/desktop/gnome/screenshot.it.md
@@ -20,7 +20,7 @@ Questa guida presuppone che si disponga di quanto segue:
Secondo [il sito web di GNOME](https://apps.gnome.org/), questa applicazione è preinstallata sul desktop.
```
-## Istruzioni
+## Come si usa
Per utilizzare Screenshot, procedere come segue:
@@ -30,7 +30,7 @@ Per utilizzare Screenshot, procedere come segue:
2. Fare clic su **Fai uno screenshot**
- 
+ 
3. Una volta soddisfatti della schermata, rinominare il file e fare clic su **Salva**.
diff --git a/docs/desktop/gnome/screenshot.uk.md b/docs/desktop/gnome/screenshot.uk.md
index b54c3ed5c8..06260bf8e8 100644
--- a/docs/desktop/gnome/screenshot.uk.md
+++ b/docs/desktop/gnome/screenshot.uk.md
@@ -30,7 +30,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
2. Натисніть **Take a Screenshot**
- 
+ 
3. Коли ви будете задоволені знімком екрана, перейменуйте файл і натисніть **Зберегти**.
diff --git a/docs/desktop/gnome/user_and_group_account_management.it.md b/docs/desktop/gnome/user_and_group_account_management.it.md
index b94ed603d0..7392ab7650 100644
--- a/docs/desktop/gnome/user_and_group_account_management.it.md
+++ b/docs/desktop/gnome/user_and_group_account_management.it.md
@@ -128,7 +128,7 @@ Per eliminare un account utente:

-Oppure
+O
- Fare clic sul nome utente evidenziato in blu e selezionare la casella **Elimina**
diff --git a/docs/desktop/gnome/valuta.de.md b/docs/desktop/gnome/valuta.de.md
index bfcf3010dc..4e14bf67b4 100644
--- a/docs/desktop/gnome/valuta.de.md
+++ b/docs/desktop/gnome/valuta.de.md
@@ -8,7 +8,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
Wenn Sie häufig reisen oder ins Ausland ziehen, vereinfachen Sie Ihre Finanzplanung mit Valuta. Diese Anwendung rechnet schnell zwei Währungen um.
-## Voraussetzungen
+## Vorbedingungen
Für diese Anleitung benötigen Sie Folgendes:
@@ -22,19 +22,19 @@ Für diese Anleitung benötigen Sie Folgendes:
1. Gehen Sie zu [Flathub.org] (https://flathub.org), geben Sie `Valuta` in die Suchleiste ein und klicken Sie auf **Install**
- 
+ 
2. Kopieren Sie das manuelle Skript in Ihr Terminal:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Führen Sie anschließend das manuelle Installationsskript in Ihrem Terminal aus:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Wie funktioniert es?
@@ -42,7 +42,7 @@ Um `Valuta` zu verwenden, gehen Sie wie folgt vor:
1. Wählen Sie im Dropdown-Menü Ihr Land aus und geben Sie den Betrag ein, den Sie ausgeben möchten.
- 
+ 
2. Wählen Sie aus dem Dropdown-Menü das Land aus, in das Sie reisen. Der umgerechnete Betrag wird automatisch angezeigt.
diff --git a/docs/desktop/gnome/valuta.fr.md b/docs/desktop/gnome/valuta.fr.md
index 755ff2d7f2..f6d14719f5 100644
--- a/docs/desktop/gnome/valuta.fr.md
+++ b/docs/desktop/gnome/valuta.fr.md
@@ -22,19 +22,19 @@ Ce guide suppose que vous disposez de la configuration suivante :
1. Accédez à [Flathub.org](https://flathub.org), tapez `Valuta` dans la barre de recherche et cliquez sur **Install**
- 
+ 
2. Copiez le script d'installation manuelle dans un terminal :
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Enfin, exécutez le script d'installation manuelle dans votre terminal :
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Mode d'emploi
@@ -42,7 +42,7 @@ Pour utiliser le programme `Valuta`, procédez comme suit :
1. Choisissez votre pays dans le menu déroulant et saisissez le montant en espèces que vous souhaitez dépenser.
- 
+ 
2. Choisissez le pays vers lequel vous voyagez dans le menu déroulant. À partir de là, le montant converti apparaît automatiquement.
diff --git a/docs/desktop/gnome/valuta.it.md b/docs/desktop/gnome/valuta.it.md
index ee7aa92446..c1e0427cc3 100644
--- a/docs/desktop/gnome/valuta.it.md
+++ b/docs/desktop/gnome/valuta.it.md
@@ -22,27 +22,27 @@ Questa guida presuppone che si disponga di quanto segue:
1. Andate su [Flathub.org](https://flathub.org), digitate "Valuta" nella barra di ricerca e cliccate su **Installa**
- 
+ 
2. Copiare lo script manuale nel terminale:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Infine, lo script manuale nel terminale:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
-## Guida all'uso
+## Come si usa
Per utilizzare Valuta, procedere come segue:
1. Scegliete il vostro Paese dal menu a tendina e digitate il denaro che volete spendere.
- 
+ 
2. Selezionare il Paese in cui si viaggia dal menu a discesa. L'importo convertito apparirà automaticamente.
diff --git a/docs/desktop/gnome/valuta.uk.md b/docs/desktop/gnome/valuta.uk.md
index d6fed5e0e9..44abadab31 100644
--- a/docs/desktop/gnome/valuta.uk.md
+++ b/docs/desktop/gnome/valuta.uk.md
@@ -22,19 +22,19 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Перейдіть на [Flathub.org](https://flathub.org), введіть «Valuta» в рядку пошуку та натисніть **Install**
- 
+ 
2. Скопіюйте скрипт у свій термінал:
- ```bash
- flatpak install flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak install flathub io.github.idevecore.Valuta
+ ```
3. Нарешті, скрипт у вашому терміналі:
- ```bash
- flatpak run flathub io.github.idevecore.Valuta
- ```
+ ```bash
+ flatpak run flathub io.github.idevecore.Valuta
+ ```
## Як використовувати
@@ -42,7 +42,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
1. Виберіть свою країну зі спадного меню та введіть суму готівки, яку хочете витратити.
- 
+ 
2. Виберіть країну, до якої ви подорожуєте, зі спадного меню. Звідти автоматично з’являється конвертована сума.
diff --git a/docs/desktop/gnome/x11vnc_plus_ssh_lan.fr.md b/docs/desktop/gnome/x11vnc_plus_ssh_lan.fr.md
index 20db3603cb..93f24aee30 100644
--- a/docs/desktop/gnome/x11vnc_plus_ssh_lan.fr.md
+++ b/docs/desktop/gnome/x11vnc_plus_ssh_lan.fr.md
@@ -113,7 +113,7 @@ sudo systemctl enable --now x11vnc.service
## Connexion au serveur VNC depuis votre poste de travail Rocky
-### Activez le dépôt EPEL :
+### Installez le dépôt EPEL :
```bash
sudo dnf install epel-release
diff --git a/docs/desktop/index.de.md b/docs/desktop/index.de.md
index a2aa5a6c58..f204096686 100644
--- a/docs/desktop/index.de.md
+++ b/docs/desktop/index.de.md
@@ -1,7 +1,7 @@
---
title: Desktop
author: Steven Spencer
-contributors: null
+contributors:
---
## Einleitung
diff --git a/docs/desktop/index.fr.md b/docs/desktop/index.fr.md
index ac0bd9b547..a1556395c1 100644
--- a/docs/desktop/index.fr.md
+++ b/docs/desktop/index.fr.md
@@ -1,7 +1,7 @@
---
title: Environnement de Bureau
author: Steven Spencer
-contributors: null
+contributors:
---
## Introduction
diff --git a/docs/desktop/index.it.md b/docs/desktop/index.it.md
index 8fcce52650..359c745580 100644
--- a/docs/desktop/index.it.md
+++ b/docs/desktop/index.it.md
@@ -1,7 +1,7 @@
---
title: Desktop
author: Spencer Steven
-contributors: null
+contributors:
---
## Introduzione
diff --git a/docs/desktop/index.uk.md b/docs/desktop/index.uk.md
index 940d607d3e..bac2918c97 100644
--- a/docs/desktop/index.uk.md
+++ b/docs/desktop/index.uk.md
@@ -1,7 +1,7 @@
---
title: Робочий стіл
author: Steven Spencer
-contributors: null
+contributors:
---
## Вступ
diff --git a/docs/desktop/printing/brother-all-in-one.de.md b/docs/desktop/printing/brother-all-in-one.de.md
index 380a2bcf50..0beb8ab879 100644
--- a/docs/desktop/printing/brother-all-in-one.de.md
+++ b/docs/desktop/printing/brother-all-in-one.de.md
@@ -12,7 +12,7 @@ tags:
Das Drucken und Scannen mit einem All-in-One-Brother-Drucker ist unter Linux dank der Brother All-in-One-Drucker- und Scannertreiber von Drittanbietern möglich.
-!!! info
+!!! info "Info"
```
Das Verfahren wurde mit einem Brother MFC-J480DW getestet.
@@ -40,9 +40,9 @@ Es wird ein Softwarefenster geöffnet, das versucht, Druckertreiber zu finden un
## Herunterladen und Installieren der Treiber
-Anleitung zur Installation des Brother-Treiberinstallationsskripts:{target="_blank"}
+[Anleitung zur Installation des Brother-Treiberinstallationsskripts:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter{target="_blank"}
+1. [Laden Sie das Bash-Skript für den Brother MFC-J480DW-Druckertreiber herunter](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Öffnen Sie ein Terminalfenster.
@@ -50,21 +50,21 @@ Anleitung zur Installation des Brother-Treiberinstallationsskripts:{target="_bla
4. Geben Sie diesen Befehl ein, um die heruntergeladene Datei zu entpacken:
- ```bash
- gunzip linux-brprinter-installer-*.*.*-*.gz
- ```
+ ```bash
+ gunzip linux-brprinter-installer-*.*.*-*.gz
+ ```
5. Holen Sie sich die Superuser-Autorisierung mit dem Befehl `su` oder `sudo su`.
6. Starten Sie das Tool:
- ```bash
- bash linux-brprinter-installer-*.*.*-* Brother machine name
- ```
+ ```bash
+ bash linux-brprinter-installer-*.*.*-* Brother machine name
+ ```
7. Die Treiberinstallation wird gestartet. Befolgen Sie die Anweisungen auf dem Installationsbildschirm.
-Der Installationsvorgang kann einige Zeit dauern. Warten Sie, bis es abgeschlossen ist. Wenn Sie fertig sind, können Sie optional einen Testdruck senden.
+Der Installationsvorgang kann einige Zeit dauern. Warten Sie, bis er abgeschlossen ist. Wenn Sie fertig sind, können Sie optional einen Testdruck senden.
## Scanner-Support
diff --git a/docs/desktop/printing/brother-all-in-one.fr.md b/docs/desktop/printing/brother-all-in-one.fr.md
index 09711cb92d..b1cccb805a 100644
--- a/docs/desktop/printing/brother-all-in-one.fr.md
+++ b/docs/desktop/printing/brother-all-in-one.fr.md
@@ -30,7 +30,7 @@ Ce guide suppose que votre imprimante est accessible depuis votre poste de trava
1. Ouvrez la fenêtre ++"Settings"++
2. Dans le menu de gauche cliquez sur ++"Printers"++
-3. Notez la bannière en haut de la fenêtre indiquant "Unlock to Change Settings"
+3. Notez la bannière en haut de la fenêtre indiquant `Unlock to Change Settings`
4. Cliquez sur ++"Unlock"++ et saisissez les informations d'identification `sudo`.
5. Cliquez sur ++"Add"++
@@ -40,9 +40,9 @@ Une fenêtre Logiciel s'ouvre pour tenter de localiser et d'installer les pilote
## Téléchargement et Installation de Pilotes
-Brother Driver Installer Script Installation Instructions:{target="_blank"}
+[Brother Driver Installer Script Installation Instructions:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Download the Brother MFC-J480DW Printer driver bash script{target="_blank"}
+1. [Download the Brother MFC-J480DW Printer driver bash script](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Ouvrez une fenêtre de terminal.
@@ -50,17 +50,17 @@ Brother Driver Installer Script Installation Instructions:{target="_blank"}
4. Entrez cette commande pour extraire le fichier téléchargé :
- ```bash
- gunzip linux-brprinter-installer-*.*.*-*.gz
- ```
+ ```bash
+ gunzip linux-brprinter-installer-*.*.*-*.gz
+ ```
5. Obtenez les privilèges administratifs avec la commande `su` ou la commande `sudo su`.
6. Exécuter la commande suivante :
- ```bash
- bash linux-brprinter-installer-*.*.*-* Brother machine name
- ```
+ ```bash
+ bash linux-brprinter-installer-*.*.*-* Brother machine name
+ ```
7. L'installation du pilote va démarrer. Suivez les instructions de l'écran d'installation.
diff --git a/docs/desktop/printing/brother-all-in-one.it.md b/docs/desktop/printing/brother-all-in-one.it.md
index a864eb7212..d8ebbc87b1 100644
--- a/docs/desktop/printing/brother-all-in-one.it.md
+++ b/docs/desktop/printing/brother-all-in-one.it.md
@@ -40,9 +40,9 @@ Si apre una finestra Software che tenta di individuare ed installare i driver de
## Scaricare e installare i drivers
-Istruzioni per l'installazione di Brother Driver Installer Script:{target="_blank"}
+[Istruzioni per l'installazione di Brother Driver Installer Script:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Scaricare lo script di bash per il driver della Brother MFC-J480DW{target="_blank"}
+1. [Scaricare lo script di bash per il driver della Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Aprire la finestra del terminale.
@@ -50,17 +50,17 @@ Istruzioni per l'installazione di Brother Driver Installer Script:{target="_blan
4. Eseguire il comando per estrarre il file scaricato:
- ```bash
- gunzip linux-brprinter-installer-*.*.*-*.gz
- ```
+ ```bash
+ gunzip linux-brprinter-installer-*.*.*-*.gz
+ ```
5. Ottenere l'autorizzazione di superuser con il comando `su` o `sudo su`.
6. Eseguire il comando:
- ```bash
- bash linux-brprinter-installer-*.*.*-* Brother machine name
- ```
+ ```bash
+ bash linux-brprinter-installer-*.*.*-* Brother machine name
+ ```
7. L'installazione del driver viene avviata. Seguire le istruzioni di installazione.
diff --git a/docs/desktop/printing/brother-all-in-one.uk.md b/docs/desktop/printing/brother-all-in-one.uk.md
index a8b21c65d3..3a0a127f0f 100644
--- a/docs/desktop/printing/brother-all-in-one.uk.md
+++ b/docs/desktop/printing/brother-all-in-one.uk.md
@@ -40,9 +40,9 @@ tags:
## Завантаження та встановлення драйверів
-Інструкції зі встановлення сценарію встановлення драйвера Brother:{target="_blank"}
+[Інструкції зі встановлення сценарію встановлення драйвера Brother:](https://support.brother.com/g/b/downloadlist.aspx?&c=us&lang=en&prod=mfcj480dw_us_eu_as&os=127){target="_blank"}
-1. Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW{target="_blank"}
+1. [Завантажте сценарій bash для драйвера принтера Brother MFC-J480DW](https://support.brother.com/g/b/downloadtop.aspx?c=us&lang=en&prod=mfcj480dw_us_eu_as){target="_blank"}
2. Відкрийте вікно терміналу.
@@ -50,17 +50,17 @@ tags:
4. Введіть цю команду, щоб розпакувати завантажений файл:
- ```bash
- gunzip linux-brprinter-installer-*.*.*-*.gz
- ```
+ ```bash
+ gunzip linux-brprinter-installer-*.*.*-*.gz
+ ```
5. Отримайте авторизацію суперкористувача за допомогою команди `su` або `sudo su`.
6. Запустіть інструмент:
- ```bash
- bash linux-brprinter-installer-*.*.*-* Brother machine name
- ```
+ ```bash
+ bash linux-brprinter-installer-*.*.*-* Brother machine name
+ ```
7. Розпочнеться установка драйвера. Дотримуйтеся вказівок на екрані встановлення.
diff --git a/docs/desktop/printing/hp-all-in-one.fr.md b/docs/desktop/printing/hp-all-in-one.fr.md
index 046810ef2d..5f69043e4c 100644
--- a/docs/desktop/printing/hp-all-in-one.fr.md
+++ b/docs/desktop/printing/hp-all-in-one.fr.md
@@ -26,7 +26,7 @@ sudo dnf install hplip-common.x86_64 hplip-libs.x86_64 hplip-gui
## Paramétrage de l'Imprimante
-Une fois l'installation du pilote d'imprimante terminée, vous devriez pouvoir ajouter votre imprimante HP All-in-One à votre station de travail Rocky. Assurez-vous que l'imprimante est physiquement connectée au même réseau, soit via Wi-Fi, soit par une connexion directe. Accédez aux paramètres Settings
+Une fois l'installation du pilote d'imprimante terminée, vous devriez pouvoir ajouter votre imprimante HP All-in-One à votre station de travail Rocky. Assurez-vous que l'imprimante est physiquement connectée au même réseau, soit via Wi-Fi, soit par une connexion directe. Accédez aux paramètres `Settings`
1. Dans le menu de gauche cliquez sur ++"Printers"++
diff --git a/docs/desktop/tools/ksnip.de.md b/docs/desktop/tools/ksnip.de.md
index b728eee277..d125ba3032 100644
--- a/docs/desktop/tools/ksnip.de.md
+++ b/docs/desktop/tools/ksnip.de.md
@@ -17,7 +17,7 @@ tags:
`Ksnip` ist ein Dienstprogramm mit zahlreichen Funktionen und Tools zum Kommentieren von Screenshots. Der Schwerpunkt dieser Anleitung liegt auf der Installation von Ksnip und seinen Beschriftung-Tools.
-## Ksnip-Installation
+## `Ksnip`-Installation
Ksnip erfordert das EPEL-Repository. Wenn Sie EPEL nicht aktiviert haben, können Sie dies folgendermaßen erreichen:
@@ -54,7 +54,7 @@ sudo dnf install ksnip -y
| Option | Tool | Beschreibung |
| ------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | `Select` | das Werkzeug wird verwendet, um eine Auswahl zu treffen. Klicken Sie auf ein Element, um es auszuwählen, oder klicken Sie und ziehen Sie, um eine Auswahl zu treffen. |
-| 2 | `Duplicate` | das Werkzeug wird zum Duplizieren einer Auswahl verwendet. Klicken und ziehen Sie, um eine Auswahl zu treffen. Dann klicken und ziehen Sie dann die Auswahl, um sie zu verschieben oder weiter zu transformieren. |
+| 2 | `Duplicate` | das Tool wird zum Duplizieren einer Auswahl verwendet. Klicken und ziehen Sie, um eine Auswahl zu treffen. Dann klicken und ziehen Sie dann die Auswahl, um sie zu verschieben oder weiter zu transformieren. |
| 3a | `Arrow` | das Standard Arrow-Tool, mit dem Sie durch Klicken und Ziehen einen Pfeil erstellen und von einer Position zu einer neuen Position bewegen können |
| 3b | `Double Arrow` | die zweite Arrow-Option erreichen Sie, indem Sie auf den Abwärtspfeil neben dem Arrow-Tool klicken. Wie der Werkzeug-Name vermuten lässt, verfügt das Tool an beiden Endpunkten über einen Pfeil. |
| 3c | `Line` | die dritte Option erreichen Sie, indem Sie auf den Abwärtspfeil neben dem Arrow-Tool klicken. Es ersetzt Pfeile durch eine einfache Linie. |
diff --git a/docs/desktop/tools/ksnip.fr.md b/docs/desktop/tools/ksnip.fr.md
index c536c8438f..ded38b9aea 100644
--- a/docs/desktop/tools/ksnip.fr.md
+++ b/docs/desktop/tools/ksnip.fr.md
@@ -45,7 +45,7 @@ sudo dnf install ksnip -y

-## Annoter une image avec `Ksnip`
+## Annotation d'une image avec `Ksnip`
`Ksnip` dispose d'outils pratiques et intuitifs pour annoter des captures d'écran. Dans l'image, en bas à gauche se trouvent les options décrites ci-dessous.
@@ -53,8 +53,8 @@ sudo dnf install ksnip -y
| Option | Outil | Description |
| ------ | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| 1 | `Select` | l'outil permet de faire une sélection. Cliquez sur un élément pour le sélectionner ou cliquez et faites glisser pour effectuer une sélection. |
-| 2 | `Duplicate` | l’outil permet de dupliquer une sélection. Cliquez et faites glisser pour effectuer une sélection. Cliquez ensuite sur la sélection et faites-la glisser pour la déplacer ou la transformer davantage. |
+| 1 | `Select` | permet de faire une sélection. Cliquez sur un élément pour le sélectionner ou cliquez et faites glisser pour effectuer une sélection. |
+| 2 | `Duplicate` | permet de dupliquer une sélection. Cliquez et faites glisser pour effectuer une sélection. Cliquez ensuite sur la sélection et faites-la glisser pour la déplacer ou la transformer davantage. |
| 3a | `Arrow` | l'outil de flèche par défaut, qui vous permet de cliquer pour créer une flèche et de faire glisser d'un endroit à un autre |
| 3b | `Double Arrow` | la deuxième option de flèche est accessible en cliquant sur la flèche vers le bas à côté de l'outil Arrow. Comme le suggère le nom de l'outil, il comporte une flèche aux deux extrémités. |
| 3c | `Line` | la troisième option est accessible en cliquant sur la flèche vers le bas à côté de l'outil Arrow. Il remplace les flèches par une simple ligne. |
diff --git a/docs/desktop/tools/terminator.fr.md b/docs/desktop/tools/terminator.fr.md
index 5996298f51..a44348d435 100644
--- a/docs/desktop/tools/terminator.fr.md
+++ b/docs/desktop/tools/terminator.fr.md
@@ -78,4 +78,4 @@ Bien que ++ctrl+alt+"T"++ soit un choix traditionnel, n'hésitez pas à choisir
## Conclusion
-Terminator est un émulateur de terminal efficace destiné aux utilisateurs réguliers comme aux utilisateurs expérimentés. Ces exemples ne représentent qu'une petite fraction des capacités de Terminator. Bien que ce guide fournisse un aperçu des étapes d'installation de Rocky Linux, vous souhaiterez peut-être examiner la [documentation](https://gnome-terminator.readthedocs.io/en/latest/) pour une explication complète des fonctionnalités de Terminator.
+Terminator est un émulateur de terminal efficace destiné aux utilisateurs occasionnels comme aux utilisateurs expérimentés. Ces exemples ne représentent qu'une petite fraction des capacités de Terminator. Bien que ce guide fournisse un aperçu des étapes d'installation de Rocky Linux, vous souhaiterez peut-être examiner la [documentation](https://gnome-terminator.readthedocs.io/en/latest/) pour une explication complète des fonctionnalités de Terminator.
diff --git a/docs/desktop/tools/terminator.it.md b/docs/desktop/tools/terminator.it.md
new file mode 100644
index 0000000000..9453ae97a4
--- /dev/null
+++ b/docs/desktop/tools/terminator.it.md
@@ -0,0 +1,81 @@
+---
+title: Installazione dell'emulatore di terminale Terminator
+author: Andrew Scott
+contributors: Steven Spencer, Ganna Zhyrnova
+tested with: 9.4
+---
+
+## Introduzione
+
+Terminator è un emulatore di terminale basato su GNOME Terminal che supporta funzioni avanzate come multipli pannelli di terminale, raggruppamento di terminali e salvataggio dei layout preferiti.
+
+## Prerequisiti
+
+- Disporre di una workstation o di un server Rocky Linux con un'interfaccia grafica.
+- Essere amministrazione con privilegi `sudo`.
+
+## Installare Terminator
+
+Terminator si trova nel repository Extra Packages for Enterprise Linux (EPEL), quindi non disponibile in una nuova installazione. Quindi, per prima cosa, dobbiamo aggiungere EPEL a Rocky Linux.
+
+- Passo 1 (facoltativo): Abilitare il repository CodeReady Builder (CRB)
+
+```bash
+sudo dnf config-manager --set-enabled crb
+```
+
+Anche se non è strettamente necessario per Terminator, CRB fornisce le dipendenze per alcuni pacchetti di EPEL, che possono essere utili se si intende fare affidamento su quella repository in futuro.
+
+- Passo 2: Aggiungere il repository EPEL
+
+```bash
+sudo dnf install epel-release -y
+```
+
+- Fase 3 (facoltativa ma altamente consigliata): Aggiornare il sistema
+
+```bash
+sudo dnf update -y --refresh
+```
+
+- Passo 4: Installare Terminator
+
+```bash
+sudo dnf install terminator -y
+```
+
+## Configurazione
+
+Per impostazione predefinita, Terminator non ha un aspetto molto diverso dal Terminale GNOME predefinito. Sembra ancora più scarno di quello predefinito.
+
+
+
+Per iniziare a personalizzare il nuovo terminale, aprire il menu contestuale facendo clic con il tasto destro del mouse su un punto qualsiasi dello sfondo.
+
+
+
+Da questo menu è possibile splittare la finestra, attivare nuove schede e cambiare layout. Il sottomenu Preferenze permette anche di personalizzare il tema. Vale la pena di prendere un po' di tempo per familiarizzare con le opzioni disponibili, poiché ci sono molte impostazioni che esulano dallo scopo di questa guida.
+
+Sono inoltre disponibili diverse combinazioni di tasti per coloro che preferiscono non spostare la mano avanti e indietro tra la tastiera e il mouse. Ad esempio, ++shift+ctrl+“O ”++ dividerà la finestra orizzontalmente in molti terminali. Sono inoltre supportati il frazionamento della finestra più volte e il riordino tramite trascinamento.
+
+
+
+Infine, può essere utile impostare una scorciatoia da tastiera per aprire il nuovo terminale. Per farlo, si può iniziare aprendo il menu Impostazioni. È possibile accedere al menu in diversi modi; per questa guida, si farà clic con il tasto destro del mouse sul desktop e con il tasto sinistro del mouse su “Impostazioni”.
+
+
+
+Da qui, utilizzare il menu di sinistra per spostarsi nella sezione “Keyboard”, quindi fare clic su “Customize Shortcuts” in basso.
+
+
+
+Se è la prima volta che si imposta un collegamento personalizzato, si vedrà un pulsante intitolato "Add Shortcut". Altrimenti, verrà visualizzato un elenco di collegamenti con un segno più in basso. Fare clic su quello che si applica alla propria situazione per aprire la finestra di dialogo "Add Custom Shortcut". Nel campo _Name_, digitare un soprannome facile da ricordare per la scorciatoia. Nel campo _Command_, digitate il nome del nostro programma: `terminator`. Quindi fare clic su "Set Shortcut" per impostare la nuova combinazione di tasti.
+
+
+
+Sebbene ++ctrl+alt+"T "++ sia una scelta tradizionale, potete scegliere la combinazione che preferite. È sempre possibile aggiornare il nome del collegamento e la combinazione di tasti in un secondo momento. Per salvare il collegamento, fare clic su "Add" in alto a destra nella finestra di dialogo Aggiungi collegamento personalizzato.
+
+
+
+## Conclusione
+
+Terminator è un potente emulatore di terminale per utenti normali ed esperti. Questi esempi rappresentano solo una piccola parte delle capacità di Terminator. Sebbene questa guida fornisca una panoramica dei passaggi di installazione per Rocky Linux, si consiglia di esaminare la [documentazione](https://gnome-terminator.readthedocs.io/en/latest/) per una spiegazione completa delle caratteristiche di Terminator.
diff --git a/docs/gemstones/containers/docker.de.md b/docs/gemstones/containers/docker.de.md
index 3f2113db6f..5ee732b304 100644
--- a/docs/gemstones/containers/docker.de.md
+++ b/docs/gemstones/containers/docker.de.md
@@ -1,5 +1,5 @@
---
-title: Docker - Engine-Installation
+title: Docker — Engine-Installation
author: Wale Soyinka
contributors: Neel Chauhan, Srinivas Nishant Viswanadha, Stein Arne Storslett, Ganna Zhyrnova, Steven Spencer
date: 2021-08-04
@@ -9,9 +9,9 @@ tags:
# Einleitung
-Die Docker-Engine kann zum Ausführen nativer Container-Workloads im Docker-Stil auf Rocky Linux-Servern verwendet werden. Dies wird manchmal dem Ausführen der kompletten Docker Desktop-Umgebung vorgezogen.
+Die Docker-Engine kann zum Ausführen nativer Container-Workloads im Docker-Stil auf Rocky Linux-Servern verwendet werden. Dies wird manchmal bevorzugt, wenn die vollständige Docker-Desktopumgebung ausgeführt wird.
-## Docker Repository hinzufügen
+## Docker-Repository hinzufügen
Benutzen Sie das `dnf`-Tool, um das Docker Repository zu Ihrem Rocky Linux Server hinzuzufügen. Geben Sie bitte Folgendes ein:
diff --git a/docs/gemstones/containers/docker.fr.md b/docs/gemstones/containers/docker.fr.md
index ecd507939b..418879bc2b 100644
--- a/docs/gemstones/containers/docker.fr.md
+++ b/docs/gemstones/containers/docker.fr.md
@@ -13,7 +13,7 @@ Docker Engine peut être utilisé en exécutant des charges de travail de type D
## Ajouter le dépôt Docker
-Utilisez l'utilitaire `dnf` pour ajouter le référentiel docker à votre serveur Rocky Linux. Pour ce faire tapez la commande :
+Utilisez l’utilitaire `dnf` pour ajouter le référentiel `Docker` à votre serveur Rocky Linux. Pour ce faire tapez la commande :
```bash
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
diff --git a/docs/gemstones/containers/docker.it.md b/docs/gemstones/containers/docker.it.md
index 19e7592507..beb7721d04 100644
--- a/docs/gemstones/containers/docker.it.md
+++ b/docs/gemstones/containers/docker.it.md
@@ -1,7 +1,7 @@
---
title: Installare il Docker Engine
-author: wale soyinka
-contributors:
+author: Wale Soyinka
+contributors: Neel Chauhan, Srinivas Nishant Viswanadha, Stein Arne Storslett, Ganna Zhyrnova, Steven Spencer
date: 2021-08-04
tags:
- docker
@@ -9,42 +9,56 @@ tags:
# Introduzione
-Il Docker Engine può essere utilizzato eseguendo carichi di lavoro per container in stile Docker nativo sui server Rocky Linux. A volte è preferito eseguire l'ambiente Docker Desktop.
+Docker Engine può eseguire carichi di lavoro nativi in stile Docker su server Rocky Linux. A volte è preferibile quando si esegue l'ambiente Docker Desktop completo.
-## Aggiungere il repository docker
+## Aggiungere il repository Docker
-Usa l'utilità dnf per aggiungere il repository docker al tuo server Rocky Linux. Digita:
+Utilizzare l'utilità `dnf` per aggiungere il repository Docker al server Rocky Linux. Digita:
-```
-sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
+```bash
+sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
```
## Installare i pacchetti necessari
-Installare l'ultima versione di Docker Engine, containerd e Docker Compose, digitando:
+Installare l'ultima versione di Docker Engine, `containerd` e Docker Compose, eseguendo:
-```
-sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
+```bash
+sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```
-## Avviare e abilitare il servizio docker di systemd (dockerd)
+## Avviare e abilitare Docker`(dockerd`)
-Usare l'utilità `systemctl` per configurare il demone dockerd in modo che si avvii automaticamente al prossimo riavvio del sistema e contemporaneamente si avvii per la sessione corrente. Digita:
+Usare `systemctl` per configurare l'avvio automatico di Docker al riavvio e contemporaneamente avviarlo ora. Digitare:
-```
+```bash
sudo systemctl --now enable docker
```
+## Consentire facoltativamente a un utente non root di gestire docker
-### Note
+Aggiungere un utente non root al gruppo `docker` per consentire all'utente di gestire `docker` senza `sudo`.
-```
-docker-ce : Questo pacchetto fornisce la tecnologia sottostante per costruire ed eseguire docker containers (dockerd)
-docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) client docker tool (docker)
-containerd. o : Fornisce l' esecuzione del contenitore (runc)
-docker-compose-plugin : un plugin che fornisce il sottocomando 'docker compose'
+Questo è un passo facoltativo, ma può essere comodo se si è l'utente principale del sistema o se si vuole permettere a più utenti di gestire docker, ma non si vuole concedere loro i permessi `sudo`.
+Digita:
+
+```bash
+# Add the current user
+sudo usermod -a -G docker $(whoami)
+
+# Add a specific user
+sudo usermod -a -G docker custom-user
```
+Per assegnare il nuovo gruppo, è necessario uscire e rientrare. Verificare con il comando `id` che il gruppo sia stato aggiunto.
+### Note
+```docker
+docker-ce :Questo pacchetto fornisce la tecnologia di base per la creazione e l'esecuzione di contenitori docker (dockerd)
+docker-ce-cli : Fornisce l'interfaccia a riga di comando (CLI) dello strumento docker (docker)
+containerd.io : Fornisce il runtime del contenitore (runc)
+docker-buildx-plugin : Plugin Docker Buildx per la CLI di Docker
+docker-compose-plugin : Un plugin che fornisce il sottocomando "docker compose"
+```
diff --git a/docs/gemstones/containers/podman.de.md b/docs/gemstones/containers/podman.de.md
index 7acbc04825..d6cacac8d0 100644
--- a/docs/gemstones/containers/podman.de.md
+++ b/docs/gemstones/containers/podman.de.md
@@ -53,7 +53,7 @@ während rootless Dateien in einem der folgenden Verzeichnisse abgelegt werden k
- `/etc/containers/systemd/users/$(UID)`
- `/etc/containers/systemd/users/`
-Obwohl einzelne Container, Pods, Images, Netzwerke, Volumes und Kube-Dateien unterstützt werden, konzentrieren wir uns auf unser Nextcloud-Beispiel. Erstellen Sie eine neue Datei `~/.config/containers/systemd/nextcloud.cotainer` mit folgendem Inhalt:
+Obwohl einzelne Container, Pods, Images, Netzwerke, Volumes und Kube-Dateien unterstützt werden, konzentrieren wir uns auf unser Nextcloud-Beispiel. Erstellen Sie eine neue Datei `~/.config/containers/systemd/nextcloud.container` mit folgendem Inhalt:
```systemd
[Container]
diff --git a/docs/gemstones/containers/podman.it.md b/docs/gemstones/containers/podman.it.md
new file mode 100644
index 0000000000..d615eb5af3
--- /dev/null
+++ b/docs/gemstones/containers/podman.it.md
@@ -0,0 +1,128 @@
+---
+title: Podman
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova, Christian Steinert
+date: 2024-03-07
+tags:
+ - docker
+ - podman
+---
+
+# Introduzione
+
+[Podman](https://podman.io/) è un runtime alternativo per container compatibile con Docker che, a differenza di quest'ultimo, è incluso nei repository Rocky Linux e può eseguire i container come servizio `systemd`.
+
+## Installare `Podman`
+
+Utilizzare l'utility `dnf` per installare Podman:
+
+```bash
+dnf install podman
+```
+
+## Aggiungere un container
+
+Prendiamo come esempio una piattaforma cloud self-hosted [Nextcloud](https://nextcloud.com/):
+
+```bash
+podman run -d -p 8080:80 nextcloud
+```
+
+Verrà richiesto di selezionare il container registry da cui scaricarlo. Nel nostro esempio, si utilizzerà `docker.io/library/nextcloud:latest`.
+
+Una volta scaricato il contenitore Nextcloud, questo verrà eseguito.
+
+Inserite **indirizzo_ip:8080** nel vostro browser web (supponendo di aver aperto la porta in `firewalld`) e configurate Nextcloud:
+
+
+
+## Eseguire contenitori come servizi `systemd`
+
+### Utilizzare `quadlet`
+
+Dalla versione 4.4, Podman viene fornito con [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html), un generatore di systemd che può generare unitary file per servizi systemd rootless e rootful.
+
+I file quadlet per i servizi rootful possono essere presenti in
+
+- `/etc/containers/systemd/`
+- `/usr/share/containers/systemd/`
+
+mentre i file rootless possono essere salvati in alternativa in
+
+- `$XDG_CONFIG_HOME/containers/systemd/` or `~/.config/containers/systemd/`
+- `/etc/containers/systemd/users/$(UID)`
+- `/etc/containers/systemd/users/`
+
+Sono supportati singoli container, pod, immagini, reti, volumi e file kube, ma ritornando all'esempio precedentemente implementato di Nextcloud. Creare un nuovo file `~/.config/containers/systemd/nextcloud.container` con il seguente contenuto:
+
+```systemd
+[Container]
+Image=nextcloud
+PublishPort=8080:80
+```
+
+Sono disponibili [molte altre opzioni](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container).
+
+Per eseguire il generator e far sapere a systemd che c'è un nuovo servizio da eseguire:
+
+```bash
+systemctl --user daemon-reload
+```
+
+Per avviare il servizio, eseguire:
+
+```bash
+systemctl --user start nextcloud.service
+```
+
+!!! note "Nota"
+
+```
+Se si è già creato un file in una delle directory per i servizi rootful, omettere il flag `--user`.
+```
+
+Per eseguire automaticamente il container all'avvio del sistema o al login dell'utente, si può aggiungere un'altra sezione al file `nextcloud.container`:
+
+```systemd
+[Install]
+WantedBy=default.target
+```
+
+Poiché i file del servizio generati sono considerati temporanei, non possono essere abilitati da systemd. Per ovviare a questo problema, il generator applica manualmente le installazioni durante la generazione. In questo modo si abilitano effettivamente anche i file dei servizi.
+
+Sono supportati altri tipi di file: pod, volume, network, image, and kube. [Pods](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#pod-units-pod), per esempio, può essere usato per raggruppare i container – i servizi systemd generati e le loro dipendenze (creare il pod prima dei container) sono gestiti automaticamente da systemd.
+
+### Utilizzare `podman generate systemd`
+
+Podman fornisce inoltre il sottocomando `generate systemd`. Può essere usato per generare i file di servizio di `systemd`.
+
+!!! warning "Attenzione"
+
+```
+`generate systemd` è ora deprecato e non riceverà ulteriori funzioni. Si raccomanda l'uso di Quadlet.
+```
+
+Ora lo si farà con Nextcloud. Eseguire:
+
+```bash
+podman ps
+```
+
+Si otterrà un elenco di container in esecuzione:
+
+```bash
+04f7553f431a docker.io/library/nextcloud:latest apache2-foregroun... 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp compassionate_meninsky
+```
+
+Come visto sopra, il nome del nostro container è `compassionate_meninsky`.
+
+Per creare un servizio `systemd` per il container Nextcloud e abilitarlo al riavvio, eseguire quanto segue:
+
+```bash
+podman generate systemd --name compassionate_meninsky > /usr/lib/systemd/system/nextcloud.service
+systemctl enable nextcloud
+```
+
+Sostituire `compassionate_meninsky` con il nome assegnato al container.
+
+Quando il sistema si riavvia, Nextcloud si riavvia in Podman.
diff --git a/docs/gemstones/core/view_kernel_conf.de.md b/docs/gemstones/core/view_kernel_conf.de.md
index 3288ed13fb..1edb760649 100644
--- a/docs/gemstones/core/view_kernel_conf.de.md
+++ b/docs/gemstones/core/view_kernel_conf.de.md
@@ -49,7 +49,7 @@ RHEL und Derivate (Fedora, CentOS Stream, Scientific Linux, RockyLinux, Almalinu
/boot/config-
```
-Um die aktuell laufende Kernelkonfiguration auf einen bestimmten Wert zu überprüfen:
+So überprüfen Sie die aktuell ausgeführte Kernelkonfiguration auf einen bestimmten Wert:
```bash
cat /boot/config-$(uname -r) | grep -i
@@ -100,7 +100,7 @@ Diese Datei wird häufiger durch einen symlinked Pfad aufgerufen, der von den `k
/lib/modules//build/ -> /usr/src/kernels//
```
-Wenn Sie `kernel-debug-devel` Pakete installiert haben, haben Sie auch dieses Verzeichnis:
+Wenn Sie `kernel-debug-devel`-Pakete installiert haben, verfügen Sie auch über dieses Verzeichnis:
```bash
/usr/src/kernels/+debug/
diff --git a/docs/gemstones/core/view_kernel_conf.fr.md b/docs/gemstones/core/view_kernel_conf.fr.md
index 9e0d1b13b6..1f3ac673f8 100644
--- a/docs/gemstones/core/view_kernel_conf.fr.md
+++ b/docs/gemstones/core/view_kernel_conf.fr.md
@@ -43,13 +43,13 @@ Voyez ce que vous utilisez actuellement avec la version "kernel release" :
`uname -r` et remplacer sa valeur retournée dans les commandes en utilisant `$(uname -r)`
-RHEL et distributions dérivées (Fedora, CentOS Stream, Scientific Linux, RockyLinux, Almalinux, et autres) stocke également la configuration utilisée pour amorcer les noyaux installés dans le répertoire `/boot` utilisé par Grub2 comme fichiers ASCII :
+RHEL et distributions dérivées (Fedora, CentOS Stream, Scientific Linux, Rocky Linux, AlmaLinux et autres) enregistrez également la configuration utilisée pour démarrer les noyaux installés dans le répertoire `/boot` utilisé par `Grub2` sous forme de fichiers ASCII :
```bash
/boot/config-
```
-Pour vérifier la configuration du noyau en cours d'exécution pour une valeur particulière:
+Vérification de la configuration actuelle du noyau en cours d'exécution pour une valeur spécifique :
```bash
cat /boot/config-$(uname -r) | grep -i
diff --git a/docs/gemstones/dnf-swap.de.md b/docs/gemstones/dnf-swap.de.md
index 728efa77a5..fae88fb1d2 100644
--- a/docs/gemstones/dnf-swap.de.md
+++ b/docs/gemstones/dnf-swap.de.md
@@ -1,7 +1,7 @@
- - -
-title: dnf - swap command author: wale soyinka contributors: date: 2023-01-24 tags:
- - Cloud-Images
- - Container
+title: dnf — swap-Befehl
author: wale soyinka
Translations: [https://crowdin.com/project/rockydocs](https://crowdin.com/project/rockydocs)
Translators: [https://crowdin.com/project/rockydocs/activity-stream](https://crowdin.com/project/rockydocs/activity-stream)
date: 2025-09-11 20h19
tags:
+ - cloud images
+ - container
- dnf
- dnf swap
- curl
@@ -56,7 +56,7 @@ Das war's!
## Anmerkungen
-Das Kommando DNF Swap
+Das Kommando `dnf swap`
**Syntax:**
diff --git a/docs/gemstones/dnf-swap.fr.md b/docs/gemstones/dnf-swap.fr.md
index e746f7941d..a215a1bb18 100644
--- a/docs/gemstones/dnf-swap.fr.md
+++ b/docs/gemstones/dnf-swap.fr.md
@@ -1,5 +1,5 @@
- - -
-title: DNF - La commande `swap` author: wale soyinka tags:
+title: dnf — swap command
author: wale soyinka
translators: [https://crowdin.com/project/rockydocs](https://crowdin.com/project/rockydocs/activity-stream)
date: 2025-09-05 19h49
tags:
- cloud images
- conteneurs
- dnf
@@ -21,7 +21,7 @@ Dans les cas où le package simplifié n'est pas suffisant, vous pouvez utiliser
## Objectif
-Ce GEMstone de Rocky Linux montre comment utiliser **dnf** pour échanger – _swap_ – le package `curl-minimal` fourni avec le package `curl` normal.
+Cette pépite de Rocky Linux montre comment utiliser **dnf** pour échanger – _swap_ – le package `curl-minimal` fourni avec le paquet `curl` normal.
## Vérifier la variante de `curl` existante
@@ -56,7 +56,7 @@ Et c'est un Gemme !
## Remarques
-Commande DNF swap
+La commande `dnf swap`
**Syntaxe** :
diff --git a/docs/gemstones/gemstone_template.de.md b/docs/gemstones/gemstone_template.de.md
new file mode 100644
index 0000000000..15e99438c0
--- /dev/null
+++ b/docs/gemstones/gemstone_template.de.md
@@ -0,0 +1,60 @@
+---
+title: Einfache Vorlage für ein Gemstone
+author: Name des Autors
+contributors: [ Durch Kommas getrennte Liste der Mitwirkenden ]
+tags:
+ - Liste
+ - Of
+ - Relevant
+ - Tags
+---
+
+## Einleitung
+
+Ein kurzer Überblick über das Thema. Geben Sie die Bedeutung und den Zweck des Gemstone an.
+
+## Problembeschreibung
+
+Definieren Sie das Problem oder die Herausforderung, mit der Sie sich befassen.
+
+## Voraussetzungen
+
+Liste:
+
+- Notwendiges Grundwissen
+- Benötigte Tools oder Software
+
+## Prozedur
+
+Skizzieren Sie die Prozedur bzw. die Lösung mit nummerierten Schritten:
+
+1. **Erste Etappe**:
+
+ Anleitungen und Kommandobeispiele.
+
+ ```bash
+ Befehl oder Codeausschnitt
+ ```
+
+2. **Zweite Etappe**:
+
+ Fahren Sie mit den detaillierten Anweisungen fort.
+
+## Zusätzliche Informationen (optional)
+
+Fügen Sie Tipps, alternative Methoden oder Erkenntnisse hinzu.
+
+## Zusammenfassung
+
+Fassen Sie das Ergebnis zusammen und betonen Sie den Wert des Gemstone.
+
+🌐 Translations:
+crowdin.com/project/rockydocs
+
+🌍 Translators:
+rockydocs/activity-stream
+, rockylinux.org
+
+🖋 Contribute:
+github.com/rocky-linux/documentation
+
diff --git a/docs/gemstones/gemstone_template.fr.md b/docs/gemstones/gemstone_template.fr.md
index e1187043f8..78339c0d5f 100644
--- a/docs/gemstones/gemstone_template.fr.md
+++ b/docs/gemstones/gemstone_template.fr.md
@@ -1,8 +1,7 @@
---
title: Modèle de Gemstone
author: Erika Mustermann
-contributors:
- - Liste des contributeurs séparés par une virgule
+contributors: [ Liste des contributeurs séparés par une virgule ]
tags:
- List
- Of
@@ -31,15 +30,15 @@ Décrivez la procédure ou la solution avec des étapes numérotées :
1. **Première Étape** :
- Instructions et exemples de commandes.
+ Instructions et exemples de commandes.
- ```bash
- Commande ou extrait de code
- ```
+ ```bash
+ Commande ou extrait de code
+ ```
2. **Étape Suivante** :
- Continuez avec des instructions détaillées.
+ Continuez avec des instructions détaillées.
## Informations Supplémentaires (facultatif)
diff --git a/docs/gemstones/gemstone_template.it.md b/docs/gemstones/gemstone_template.it.md
index e3c0320c61..191b2e07a6 100644
--- a/docs/gemstones/gemstone_template.it.md
+++ b/docs/gemstones/gemstone_template.it.md
@@ -1,8 +1,7 @@
---
title: Modello di Gemstone semplificato
author: Author's Name
-contributors:
- - Elenco separato da virgole dei collaboratori
+contributors: [ Elenco separato da virgole dei collaboratori ]
tags:
- Lista
- Dei
@@ -31,15 +30,15 @@ Delineare la procedura o la soluzione con passi numerati:
1. **Primo passo**:
- Istruzioni ed esempi di comandi.
+ Istruzioni ed esempi di comandi.
- ```bash
- Comando o frammento di codice
- ```
+ ```bash
+ Comando o frammento di codice
+ ```
2. **Secondo passo**:
- Proseguire con le istruzioni dettagliate.
+ Proseguire con le istruzioni dettagliate.
## Informazioni aggiuntive (facoltative)
diff --git a/docs/gemstones/gemstone_template.uk.md b/docs/gemstones/gemstone_template.uk.md
index 350adc9a9b..93bd4b7d59 100644
--- a/docs/gemstones/gemstone_template.uk.md
+++ b/docs/gemstones/gemstone_template.uk.md
@@ -1,8 +1,7 @@
---
title: Простий Gemstone шаблон
author: Ім'я автора
-contributors:
- - Список співавторів, розділених комами
+contributors: [ "Список співавторів, розділених комами" ]
tags:
- List
- Of
@@ -31,15 +30,15 @@ tags:
1. **Перший крок**:
- Інструкції та приклади команд.
+ Інструкції та приклади команд.
- ```bash
- Команда або фрагмент коду
- ```
+ ```bash
+ Команда або фрагмент коду
+ ```
2. **Другий крок**:
- Продовжуйте з докладними інструкціями.
+ Продовжуйте з докладними інструкціями.
## Додаткова інформація (необов'язково)
diff --git a/docs/gemstones/git/00-gh_cli_installation.de.md b/docs/gemstones/git/00-gh_cli_installation.de.md
index 5ce97cd4e8..2626fc0b77 100644
--- a/docs/gemstones/git/00-gh_cli_installation.de.md
+++ b/docs/gemstones/git/00-gh_cli_installation.de.md
@@ -27,28 +27,28 @@ Benutzer benötigen eine bequeme Möglichkeit zur Interaktion mit GitHub, ohne d
## Prozedur
1. **GitHub CLI-Repository mit curl installieren**:
- Verwenden Sie den Befehl curl, um die offizielle Repository-Datei für `gh` herunterzuladen. Die heruntergeladene Datei wird im Verzeichnis `/etc/yum.repos.d/` gespeichert. Verwenden Sie nach dem Herunterladen den Befehl dnf, um `gh` aus dem Repository zu installieren. Geben Sie bitte Folgendes ein:
+ Verwenden Sie den Befehl curl, um die offizielle Repository-Datei für `gh` herunterzuladen. Die heruntergeladene Datei wird im Verzeichnis `/etc/yum.repos.d/` gespeichert. Verwenden Sie nach dem Herunterladen den Befehl dnf, um `gh` aus dem Repository zu installieren. Geben Sie bitte Folgendes ein:
- ```bash
- curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
- sudo dnf -y install gh
- ```
+ ```bash
+ curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
+ sudo dnf -y install gh
+ ```
2. **Verifizierung der Installation**:
- Stellen Sie sicher, dass `gh` korrekt installiert ist. Geben Sie bitte Folgendes ein:
+ Stellen Sie sicher, dass `gh` korrekt installiert ist. Geben Sie bitte Folgendes ein:
- ```bash
- gh --version
- ```
+ ```bash
+ gh --version
+ ```
3. **Authentifizierung mit GitHub**:
- Loggen Sie sich in Ihr GitHub-Konto ein. Geben Sie bitte Folgendes ein:
+ Loggen Sie sich in Ihr GitHub-Konto ein. Geben Sie bitte Folgendes ein:
- ```bash
- gh auth login
- ```
+ ```bash
+ gh auth login
+ ```
- Folgen Sie den Anweisungen zur Authentifizierung.
+ Folgen Sie den Anweisungen zur Authentifizierung.
## Zusammenfassung
diff --git a/docs/gemstones/git/00-gh_cli_installation.fr.md b/docs/gemstones/git/00-gh_cli_installation.fr.md
index e5eea5ab27..a77da72fa6 100644
--- a/docs/gemstones/git/00-gh_cli_installation.fr.md
+++ b/docs/gemstones/git/00-gh_cli_installation.fr.md
@@ -27,28 +27,28 @@ Les utilisateurs ont besoin d’un moyen pratique pour interagir avec GitHub san
## Procédure
1. **Installer le référentiel CLI GitHub à l'aide de curl** :
- utilisez la commande curl pour télécharger le fichier du référentiel officiel pour `gh`. Le fichier téléchargé sera enregistré dans le répertoire `/etc/yum.repos.d/`. Après le téléchargement, utilisez la commande `dnf` pour installer `gh` à partir du référentiel. Entrer la commande suivante :
+ utilisez la commande curl pour télécharger le fichier du référentiel officiel pour `gh`. Le fichier téléchargé sera enregistré dans le répertoire `/etc/yum.repos.d/`. Après le téléchargement, utilisez la commande `dnf` pour installer `gh` à partir du référentiel. Tapez la commande suivante :
- ```bash
- curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
- sudo dnf -y install gh
- ```
+ ```bash
+ curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
+ sudo dnf -y install gh
+ ```
2. **Vérifier l'installation** :
- Assurez-vous que `gh` est correctement installé. Entrer la commande suivante :
+ Assurez-vous que `gh` est correctement installé. Tapez la commande suivante :
- ```bash
- gh --version
- ```
+ ```bash
+ gh --version
+ ```
3. **Authentification avec GitHub** :
- Connectez-vous à votre compte GitHub. Entrer la commande suivante :
+ Connectez-vous à votre compte GitHub. Tapez la commande suivante :
- ```bash
- gh auth login
- ```
+ ```bash
+ gh auth login
+ ```
- Suivez les instructions pour vous authentifier.
+ Suivez les instructions pour vous authentifier.
## Conclusion
diff --git a/docs/gemstones/git/00-gh_cli_installation.it.md b/docs/gemstones/git/00-gh_cli_installation.it.md
index 292ce56d7e..4734f413f2 100644
--- a/docs/gemstones/git/00-gh_cli_installation.it.md
+++ b/docs/gemstones/git/00-gh_cli_installation.it.md
@@ -27,28 +27,28 @@ Gli utenti hanno bisogno di un modo comodo per interagire con GitHub senza lasci
## Procedura
1. **Installare il repo GitHub CLI usando curl**:
- Utilizzare il comando curl per scaricare il file del repository ufficiale di `gh`. Il file scaricato deve essere salvato nella directory /etc/yum.repos.d/. Una volta scaricato, usare il comando dnf per installare `gh` dal repository. Digitare:
+ Utilizzare il comando curl per scaricare il file del repository ufficiale di `gh`. Il file scaricato deve essere salvato nella directory /etc/yum.repos.d/. Una volta scaricato, usare il comando dnf per installare `gh` dal repository. Digitare:
- ```bash
- curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
- sudo dnf -y install gh
- ```
+ ```bash
+ curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
+ sudo dnf -y install gh
+ ```
2. **Verificare l'installazione**:
- Assicurarsi che `gh` sia installato correttamente. Digitare:
+ Assicurarsi che `gh` sia installato correttamente. Digitare:
- ```bash
- gh --version
- ```
+ ```bash
+ gh --version
+ ```
3. **Autenticazione con GitHub**:
- Accedere al proprio account GitHub. Digitare:
+ Accedere al proprio account GitHub. Digitare:
- ```bash
- gh auth login
- ```
+ ```bash
+ gh auth login
+ ```
- Seguire le istruzioni per l'autenticazione.
+ Seguire le istruzioni per l'autenticazione.
## Conclusione
diff --git a/docs/gemstones/git/00-gh_cli_installation.uk.md b/docs/gemstones/git/00-gh_cli_installation.uk.md
index b7b97ea761..a1dec455f2 100644
--- a/docs/gemstones/git/00-gh_cli_installation.uk.md
+++ b/docs/gemstones/git/00-gh_cli_installation.uk.md
@@ -27,28 +27,28 @@ tags:
## Процедура
1. **Встановіть репозиторій GitHub CLI за допомогою curl**:
- Використовуйте команду curl, щоб завантажити офіційний файл сховища для `gh`. Завантажений файл буде збережено в каталозі /etc/yum.repos.d/. Після завантаження використовуйте команду dnf, щоб установити `gh` зі сховища. Впишіть:
+ Використовуйте команду curl, щоб завантажити офіційний файл сховища для `gh`. Завантажений файл буде збережено в каталозі /etc/yum.repos.d/. Після завантаження використовуйте команду dnf, щоб установити `gh` зі сховища. Впишіть:
- ```bash
- curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
- sudo dnf -y install gh
- ```
+ ```bash
+ curl -fsSL https://cli.github.com/packages/rpm/gh-cli.repo | sudo tee /etc/yum.repos.d/github-cli.repo
+ sudo dnf -y install gh
+ ```
2. **Перевірте встановлення**:
- Переконайтеся, що `gh` встановлено правильно. Впишіть:
+ Переконайтеся, що `gh` встановлено правильно. Впишіть:
- ```bash
- gh --version
- ```
+ ```bash
+ gh --version
+ ```
3. **Автентифікація за допомогою GitHub**:
- Увійдіть у свій обліковий запис GitHub. Впишіть:
+ Увійдіть у свій обліковий запис GitHub. Впишіть:
- ```bash
- gh auth login
- ```
+ ```bash
+ gh auth login
+ ```
- Дотримуйтеся вказівок для автентифікації.
+ Дотримуйтеся вказівок для автентифікації.
## Висновок
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.de.md b/docs/gemstones/git/01-gh_cli_1st_pr.de.md
index 8f14c26886..5d8343a1ed 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.de.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.de.md
@@ -1,7 +1,7 @@
---
title: Erster Beitrag zur Rocky Linux-Dokumentation über CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
@@ -28,56 +28,56 @@ Mitwirkende möchten oder müssen möglicherweise alle Aktionen über die CLI au
## Lösung-Etappen
1. **Repository mit GitHub CLI forken**:
- Forken Sie das Upstream-Repository zu Ihrem Konto.
+ Forken Sie das Upstream-Repository zu Ihrem Konto.
- ```bash
- gh repo fork https://github.com/rocky-linux/documentation --clone
- ```
+ ```bash
+ gh repo fork https://github.com/rocky-linux/documentation --clone
+ ```
2. **Navigieren zum Repository-Verzeichnis**:
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. **Upstream-Repository hinzufügen**:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. **Neuen Zweig erstellen**:
- Erstellen Sie einen neuen Zweig für Ihren Beitrag. Geben Sie bitte Folgendes ein:
+ Erstellen Sie einen neuen Zweig für Ihren Beitrag. Geben Sie bitte Folgendes ein:
- ```bash
- git checkout -b new-gemstone
- ```
+ ```bash
+ git checkout -b new-gemstone
+ ```
5. **Neuen Zweig erstellen**:
- Erstellen Sie einen neuen Zweig für Ihren Beitrag.
- Für dieses Beispiel erstellen Sie eine neue Datei namens `gemstome_new_pr.md` im Verzeichnis „docs/gemstones/“.
+ Erstellen Sie einen neuen Zweig für Ihren Beitrag.
+ Für dieses Beispiel erstellen Sie eine neue Datei namens `gemstome_new_pr.md` im Verzeichnis „docs/gemstones/“.
6. **Übernahme der Änderungen mit Commit**:
- Stellen Sie Ihre neue Datei bereit mit `commit`. Geben Sie bitte Folgendes ein:
+ Stellen Sie Ihre neue Datei bereit mit `commit`. Geben Sie bitte Folgendes ein:
- ```bash
- git add docs/gemstones/gemstome_new_pr.md
- git commit -m "Add new Gemstone document"
- ```
+ ```bash
+ git add docs/gemstones/gemstome_new_pr.md
+ git commit -m "Add new Gemstone document"
+ ```
7. **Auf Ihren Fork mit Push übertragen**:
- Übertragen Sie die Änderungen mit `push` auf Ihren Fork/Kopie des Rocky Linux-Dokumentationsrepos. Geben Sie bitte Folgendes ein:
+ Übertragen Sie die Änderungen mit `push` auf Ihren Fork/Kopie des Rocky Linux-Dokumentationsrepos. Geben Sie bitte Folgendes ein:
- ```bash
- git push origin new-gemstone
- ```
+ ```bash
+ git push origin new-gemstone
+ ```
8. **Pull Request erstellen**:
- Erstellen Sie einen Pull Request an das Upstream-Repository.
+ Erstellen Sie einen Pull Request an das Upstream-Repository.
- ```bash
- gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
- ```
+ ```bash
+ gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
+ ```
## Zusätzliche Informationen (optional)
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
index e681b831a1..5b6e229023 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.fr.md
@@ -1,7 +1,7 @@
---
title: Première contribution à la documentation de Rocky Linux via CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
@@ -28,56 +28,56 @@ Les contributeurs peuvent préférer ou avoir besoin d'effectuer toutes les acti
## Étapes de la Solution
1. **Fork du référentiel à l'aide de la CLI GitHub** :
- Forkez le dépôt en amont sur votre compte.
+ Forkez le dépôt en amont sur votre compte.
- ```bash
- gh repo fork https://github.com/rocky-linux/documentation --clone
- ```
+ ```bash
+ gh repo fork https://github.com/rocky-linux/documentation --clone
+ ```
2. **Accéder au répertoire du référentiel** :
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. **Ajouter le référentiel en amont** :
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. **Création d'une branche** :
- Créez une nouvelle branche pour votre contribution. Entrer la commande suivante :
+ Créez une nouvelle branche pour votre contribution. Tapez la commande suivante :
- ```bash
- git checkout -b new-gemstone
- ```
+ ```bash
+ git checkout -b new-gemstone
+ ```
5. **Ajouter un nouveau document** :
- Utilisez votre éditeur de texte préféré pour créer et modifier votre nouveau fichier de contribution.
- Pour cet exemple, nous allons créer `gemstome_new_pr.md` et enregistrer ce fichier sous le répertoire `docs/gemstones/`.
+ Utilisez votre éditeur de texte préféré pour créer et modifier votre nouveau fichier de contribution.
+ Pour cet exemple, nous allons créer `gemstome_new_pr.md` et enregistrer ce fichier sous le répertoire `docs/gemstones/`.
6. **Commit des modifications** :
- Préparez et validez votre nouveau fichier. Entrer la commande suivante :
+ Préparez et validez votre nouveau fichier. Tapez la commande suivante :
- ```bash
- git add docs/gemstones/gemstome_new_pr.md
- git commit -m "Add new Gemstone document"
- ```
+ ```bash
+ git add docs/gemstones/gemstome_new_pr.md
+ git commit -m "Add new Gemstone document"
+ ```
7. **Push vers le fork** :
- Envoyez les modifications vers votre fork/copie du dépôt de documentation Rocky Linux. Entrer la commande suivante :
+ Envoyez les modifications vers votre fork/copie du dépôt de documentation Rocky Linux. Tapez la commande suivante :
- ```bash
- git push origin new-gemstone
- ```
+ ```bash
+ git push origin new-gemstone
+ ```
8. **Création d'une Pull Request** :
- Créez une requête vers le référentiel en amont.
+ Créez une requête vers le référentiel en amont.
- ```bash
- gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
- ```
+ ```bash
+ gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
+ ```
## Informations Supplémentaires (facultatif)
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.it.md b/docs/gemstones/git/01-gh_cli_1st_pr.it.md
index 149cb6b48e..97efa331b1 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.it.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.it.md
@@ -1,7 +1,7 @@
---
title: Primo contributo alla documentazione di Rocky Linux tramite CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
@@ -28,56 +28,56 @@ I collaboratori possono preferire o avere bisogno di eseguire tutte le azioni tr
## Passi della soluzione
1. **Fork del repository usando GitHub CLI**:
- Fare il fork del repository upstream sul proprio account.
+ Fare il fork del repository upstream sul proprio account.
- ```bash
- gh repo fork https://github.com/rocky-linux/documentation --clone
- ```
+ ```bash
+ gh repo fork https://github.com/rocky-linux/documentation --clone
+ ```
2. **Andare alla directory del repository**:
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. **Aggiungere il repository Upstream**:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. **Creare un Nuovo Ramo**:
- Creare un nuovo ramo per il proprio contributo. Digitare:
+ Creare un nuovo ramo per il proprio contributo. Digitare:
- ```bash
- git checkout -b new-gemstone
- ```
+ ```bash
+ git checkout -b new-gemstone
+ ```
5. **Aggiungere il nuovo documento**:
- Utilizzate il vostro editor di testo preferito per creare e modificare il vostro nuovo file di contributo.
- Per questo esempio, creeremo un nuovo file chiamato `gemstome_new_pr.md` e lo salveremo nella cartella `docs/gemstones/`.
+ Utilizzate il vostro editor di testo preferito per creare e modificare il vostro nuovo file di contributo.
+ Per questo esempio, creeremo un nuovo file chiamato `gemstome_new_pr.md` e lo salveremo nella cartella `docs/gemstones/`.
6. **Effettuare il commit delle modifiche**:
- Eseguire il commit del nuovo file. Digitare:
+ Eseguire il commit del nuovo file. Digitare:
- ```bash
- git add docs/gemstones/gemstome_new_pr.md
- git commit -m "Add new Gemstone document"
- ```
+ ```bash
+ git add docs/gemstones/gemstome_new_pr.md
+ git commit -m "Add new Gemstone document"
+ ```
7. **Spingere nel proprio fork**:
- Inviare le modifiche al proprio fork/copia del repo della documentazione di Rocky Linux. Digitare:
+ Inviare le modifiche al proprio fork/copia del repo della documentazione di Rocky Linux. Digitare:
- ```bash
- git push origin new-gemstone
- ```
+ ```bash
+ git push origin new-gemstone
+ ```
8. **Creare una richiesta di pull**:
- Creare una richiesta di pull al repository upstream.
+ Creare una richiesta di pull al repository upstream.
- ```bash
- gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
- ```
+ ```bash
+ gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
+ ```
## Informazioni aggiuntive (facoltative)
diff --git a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
index d4a9e0d0fc..313336b075 100644
--- a/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
+++ b/docs/gemstones/git/01-gh_cli_1st_pr.uk.md
@@ -1,7 +1,7 @@
---
title: Перший внесок у документацію Rocky Linux через CLI
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- GitHub
- Rocky Linux
@@ -28,56 +28,56 @@ tags:
## Етапи рішення
1. **Розгалужте репозиторій за допомогою GitHub CLI**:
- Розгалужте репозиторій вище за течією до свого облікового запису.
+ Розгалужте репозиторій вище за течією до свого облікового запису.
- ```bash
- gh repo fork https://github.com/rocky-linux/documentation --clone
- ```
+ ```bash
+ gh repo fork https://github.com/rocky-linux/documentation --clone
+ ```
2. **Перейдіть до каталогу сховища**:
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. **Додайте репозиторій Upstream**:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. **Створіть нову гілку**:
- Створіть нову гілку для свого внеску. Впишіть:
+ Створіть нову гілку для свого внеску. Впишіть:
- ```bash
- git checkout -b new-gemstone
- ```
+ ```bash
+ git checkout -b new-gemstone
+ ```
5. **Додайте свій новий документ**:
- Використовуйте свій улюблений текстовий редактор, щоб створити та відредагувати новий файл внеску.
- Для цього прикладу ми створимо новий файл під назвою `gemstome_new_pr.md` і збережемо його в каталозі `docs/gemstones/`.
+ Використовуйте свій улюблений текстовий редактор, щоб створити та відредагувати новий файл внеску.
+ Для цього прикладу ми створимо новий файл під назвою `gemstome_new_pr.md` і збережемо його в каталозі `docs/gemstones/`.
6. **Зафіксуйте свої зміни**:
- Створіть і зафіксуйте новий файл. Впишіть:
+ Створіть і зафіксуйте новий файл. Впишіть:
- ```bash
- git add docs/gemstones/gemstome_new_pr.md
- git commit -m "Add new Gemstone document"
- ```
+ ```bash
+ git add docs/gemstones/gemstome_new_pr.md
+ git commit -m "Add new Gemstone document"
+ ```
7. **Натисніть на свою вилку**:
- Надішліть зміни у свій форк/копію сховища документації Rocky Linux. Впишіть:
+ Надішліть зміни у свій форк/копію сховища документації Rocky Linux. Впишіть:
- ```bash
- git push origin new-gemstone
- ```
+ ```bash
+ git push origin new-gemstone
+ ```
8. **Створіть запит на отримання**:
- Створіть запит на отримання до репозиторію вище за течією.
+ Створіть запит на отримання до репозиторію вище за течією.
- ```bash
- gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
- ```
+ ```bash
+ gh pr create --base main --head wsoyinka:new-gemstone --title "New Gemstone: Creating PRs via CLI" --body "Guide on how to contribute to documentation using CLI"
+ ```
## Додаткова інформація (необов'язково)
diff --git a/docs/gemstones/git/02-gh_cli_edit_pr_title.de.md b/docs/gemstones/git/02-gh_cli_edit_pr_title.de.md
new file mode 100644
index 0000000000..274db232e5
--- /dev/null
+++ b/docs/gemstones/git/02-gh_cli_edit_pr_title.de.md
@@ -0,0 +1,52 @@
+---
+title: Bearbeiten des Titels eines vorhandenen Pull Requests über die CLI
+author: Wale Soyinka
+contributors: Ganna Zhyrnova
+tags:
+ - GitHub
+ - Pull-Request
+ - Dokumentation
+ - CLI
+---
+
+## Einleitung
+
+In diesem Gemstone wird erklärt, wie Sie den Titel eines vorhandenen Pull Requests (PR) in einem GitHub-Repository mithilfe der GitHub-Weboberfläche und der CLI bearbeiten.
+
+## Problembeschreibung
+
+Manchmal muss der Titel eines PR nach seiner Erstellung angepasst werden, um die aktuellen Änderungen oder Diskussionen besser widerzuspiegeln.
+
+## Voraussetzungen
+
+- Ein vorhandener GitHub-Pull-Request.
+- Zugriff auf die GitHub-Weboberfläche oder CLI mit den erforderlichen Berechtigungen.
+
+## Prozedur
+
+### GitHub CLI – Verwendung
+
+1. **Checken Sie den entsprechenden Zweig aus**:
+ - Stellen Sie sicher, dass Sie sich auf dem mit dem PR verknüpften Branch befinden.
+
+ ```bash
+ git checkout branch-name
+ ```
+
+2. **Bearbeiten Sie den PR mithilfe der CLI**:
+ - Verwenden Sie den folgenden Befehl, um den PR zu bearbeiten:
+
+ ```bash
+ gh pr edit PR_NUMBER --title "New PR Title"
+ ```
+
+ - Ersetzen Sie `PR_NUMBER` durch die Nummer Ihres Pull Requests und `"New PR Title"` durch den gewünschten Titel.
+
+## Zusätzliche Informationen (optional)
+
+- Das Bearbeiten eines PR-Titels hat keine Auswirkungen auf den Diskussionsthread oder Codeänderungen.
+- Es gilt als gute Praxis, Mitwirkende zu informieren, wenn an einem PR-Titel wesentliche Änderungen vorgenommen werden.
+
+## Zusammenfassung
+
+Mit diesen Schritten können Sie den Titel einer vorhandenen Pull-Anfrage in einem GitHub-Repository ganz einfach über das GitHub-CLI-Tool (gh) ändern.
diff --git a/docs/gemstones/git/02-gh_cli_edit_pr_title.fr.md b/docs/gemstones/git/02-gh_cli_edit_pr_title.fr.md
index c76dc20528..d144152354 100644
--- a/docs/gemstones/git/02-gh_cli_edit_pr_title.fr.md
+++ b/docs/gemstones/git/02-gh_cli_edit_pr_title.fr.md
@@ -27,20 +27,20 @@ Parfois, le titre d'une PR après sa création peut devoir être modifié pour m
### Utilisation du CLI de GitHub
1. **Check Out de la branche correspondante** :
- - Assurez-vous que vous êtes sur la branche associée à la PR.
+ - Assurez-vous que vous êtes sur la branche associée à la PR.
- ```bash
- git checkout branch-name
- ```
+ ```bash
+ git checkout branch-name
+ ```
2. **Modifier le PR à l'aide de la CLI** :
- - Utilisez la commande suivante pour modifier la PR :
+ - Utilisez la commande suivante pour modifier la PR :
- ```bash
- gh pr edit PR_NUMBER --title "New PR Title"
- ```
+ ```bash
+ gh pr edit PR_NUMBER --title "New PR Title"
+ ```
- - Remplacez `PR_NUMBER` par le numéro de votre pull request et `"New PR Title"` par le titre souhaité.
+ - Remplacez `PR_NUMBER` par le numéro de votre pull request et `"New PR Title"` par le titre souhaité.
## Informations Supplémentaires (facultatif)
diff --git a/docs/gemstones/git/02-gh_cli_edit_pr_title.it.md b/docs/gemstones/git/02-gh_cli_edit_pr_title.it.md
index bde44b3691..01d3969884 100644
--- a/docs/gemstones/git/02-gh_cli_edit_pr_title.it.md
+++ b/docs/gemstones/git/02-gh_cli_edit_pr_title.it.md
@@ -27,20 +27,20 @@ A volte, il titolo di un PR dopo la sua creazione può dover essere modificato p
### Utilizzare la CLI di GitHub
1. **Controllare il ramo corrispondente**:
- - Assicurarsi di essere nel ramo associato al PR.
+ - Assicurarsi di essere nel ramo associato al PR.
- ```bash
- git checkout branch-name
- ```
+ ```bash
+ git checkout branch-name
+ ```
2. **Modificare il PR usando la CLI**:
- - Utilizzare il seguente comando per modificare il PR:
+ - Utilizzare il seguente comando per modificare il PR:
- ```bash
- gh pr edit PR_NUMBER --title "New PR Title"
- ```
+ ```bash
+ gh pr edit PR_NUMBER --title "New PR Title"
+ ```
- - Sostituire `PR_NUMBER` con il numero della richiesta di pull e `"New PR Title"` con il titolo desiderato.
+ - Sostituire `PR_NUMBER` con il numero della richiesta di pull e `"New PR Title"` con il titolo desiderato.
## Informazioni aggiuntive (facoltative)
diff --git a/docs/gemstones/git/02-gh_cli_edit_pr_title.uk.md b/docs/gemstones/git/02-gh_cli_edit_pr_title.uk.md
index 20ad797d1f..2a6995b666 100644
--- a/docs/gemstones/git/02-gh_cli_edit_pr_title.uk.md
+++ b/docs/gemstones/git/02-gh_cli_edit_pr_title.uk.md
@@ -27,20 +27,20 @@ tags:
### Використання GitHub CLI
1. **Перевірте відповідну гілку**:
- - Переконайтеся, що ви перебуваєте у гілці, пов’язаній з PR.
+ - Переконайтеся, що ви перебуваєте у гілці, пов’язаній з PR.
- ```bash
- git checkout branch-name
- ```
+ ```bash
+ git checkout branch-name
+ ```
2. **Відредагуйте PR за допомогою CLI**:
- - Використовуйте наступну команду для редагування PR:
+ - Використовуйте наступну команду для редагування PR:
- ```bash
- gh pr edit PR_NUMBER --title "New PR Title"
- ```
+ ```bash
+ gh pr edit PR_NUMBER --title "New PR Title"
+ ```
- - Замініть `PR_NUMBER` на номер вашого запиту на отримання, а `"New PR Title"` на потрібну назву.
+ - Замініть `PR_NUMBER` на номер вашого запиту на отримання, а `"New PR Title"` на потрібну назву.
## Додаткова інформація (необов'язково)
diff --git a/docs/gemstones/git/02_github_web_edit_pr_title.de.md b/docs/gemstones/git/02_github_web_edit_pr_title.de.md
new file mode 100644
index 0000000000..12cb7ce0af
--- /dev/null
+++ b/docs/gemstones/git/02_github_web_edit_pr_title.de.md
@@ -0,0 +1,44 @@
+---
+title: Bearbeiten oder Ändern des Titels eines vorhandenen Pull Request über github.com
+author: Wale Soyinka
+contributors: Ganna Zhyrnova
+tags:
+ - GitHub
+ - Pull-Request
+ - Dokumentation
+---
+
+## Einleitung
+
+Diese Anleitung zeigt Ihnen, wie Sie den Titel eines vorhandenen Pull Requests (PR) in einem GitHub-Repository mithilfe der GitHub-Weboberfläche bearbeiten oder ändern.
+
+## Problembeschreibung
+
+Manchmal kann es erforderlich sein, den Titel eines PR nach seiner Erstellung zu ändern, um die aktuellen Änderungen oder Diskussionen besser widerzuspiegeln.
+
+## Voraussetzungen
+
+- Ein vorhandener GitHub-Pull-Request.
+- Zugriff auf die GitHub-Weboberfläche oder CLI mit den erforderlichen Berechtigungen.
+
+## Prozedur
+
+### Verwendung der GitHub-Weboberfläche
+
+1. **Navigieren Sie zum Pull Request**:
+ - Gehen Sie zum Repository, in dem sich der PR befindet.
+ - Klicken Sie auf `Pull Requests` und wählen Sie den PR aus, den Sie bearbeiten möchten.
+
+2. **PR-Titel Editieren**:
+ - Klicken Sie auf den Titel der PR.
+ - Ein editierbares Textfeld wird angezeigt.
+ - Passen Sie den Titel an, drücken Sie ++enter++ oder klicken Sie außerhalb des Textfelds, um die Änderungen zu speichern.
+
+## Zusätzliche Informationen (optional)
+
+- Das Bearbeiten eines PR-Titels hat keine Auswirkungen auf den Diskussionsthread oder Codeänderungen.
+- Es gehört zum guten Ton, Mitwirkende zu informieren, wenn an einem PR-Titel wesentliche Änderungen vorgenommen werden.
+
+## Zusammenfassung
+
+Wenn Sie diese Schritte befolgen, können Sie den Titel eines vorhandenen `Pull Request` in einem GitHub-Repository ganz einfach über die Weboberfläche ändern.
diff --git a/docs/gemstones/git/02_github_web_edit_pr_title.fr.md b/docs/gemstones/git/02_github_web_edit_pr_title.fr.md
index b9718a969e..651ad18613 100644
--- a/docs/gemstones/git/02_github_web_edit_pr_title.fr.md
+++ b/docs/gemstones/git/02_github_web_edit_pr_title.fr.md
@@ -19,20 +19,20 @@ Parfois, il peut être nécessaire de modifier le titre d'une requête PR après
## Prérequis
- Une pull request GitHub en cours de traitement.
-- Accès à l'interface Web GitHub ou CLI avec les autorisations nécessaires.
+- Accès à l'interface Web de GitHub ou CLI avec les autorisations nécessaires.
## Procédure
### Utilisation de l'interface Web de GitHub
1. **Accéder à la requète Pull Request**:
- - Accédez au référentiel où se trouve la requête PR.
- - Cliquez sur `Pull requests` et sélectionnez la requête PR que vous souhaitez modifier.
+ - Accédez au référentiel où se trouve la requête PR.
+ - Cliquez sur `Pull requests` et sélectionnez la requête PR que vous souhaitez modifier.
2. **Édition du Titre de PR**:
- - Cliquez sur le titre de la Pull Request.
- - Une boîte de texte modifiable apparaîtra.
- - Modifiez le titre, appuyez sur ++enter++ ou cliquez en dehors de la zone de texte pour enregistrer les modifications.
+ - Cliquez sur le titre de la Pull Request.
+ - Une boîte de texte modifiable apparaîtra.
+ - Modifiez le titre, appuyez sur ++enter++ ou cliquez en dehors de la zone de texte pour enregistrer les modifications.
## Informations Supplémentaires (facultatif)
diff --git a/docs/gemstones/git/02_github_web_edit_pr_title.it.md b/docs/gemstones/git/02_github_web_edit_pr_title.it.md
index 3a8173f7b1..7fae014f4f 100644
--- a/docs/gemstones/git/02_github_web_edit_pr_title.it.md
+++ b/docs/gemstones/git/02_github_web_edit_pr_title.it.md
@@ -5,7 +5,7 @@ contributors: Ganna Zhyrnova
tags:
- GitHub
- Pull Request
- - Documentation
+ - Documentazione
---
## Introduzione
@@ -26,13 +26,13 @@ A volte può essere necessario modificare il titolo di un PR dopo la sua creazio
### Utilizzare l'interfaccia web di GitHub
1. **Andare alla richiesta di pull**:
- - Andare al repository dove si trova il PR.
- - Cliccare su "Pull requests" e selezionare il PR che si desidera modificare.
+ - Andare al repository dove si trova il PR.
+ - Cliccare su "Pull requests" e selezionare il PR che si desidera modificare.
2. **Modificare il titolo del PR**:
- - Cliccare sul titolo del PR.
- - Apparirà una casella di testo modificabile.
- - Modificare il titolo, premere ++enter++ o cliccare al di fuori della casella di testo per salvare le modifiche.
+ - Cliccare sul titolo del PR.
+ - Apparirà una casella di testo modificabile.
+ - Modificare il titolo, premere ++enter++ o cliccare al di fuori della casella di testo per salvare le modifiche.
## Informazioni aggiuntive (facoltative)
diff --git a/docs/gemstones/git/02_github_web_edit_pr_title.uk.md b/docs/gemstones/git/02_github_web_edit_pr_title.uk.md
index 238f419d47..4d3a5e0065 100644
--- a/docs/gemstones/git/02_github_web_edit_pr_title.uk.md
+++ b/docs/gemstones/git/02_github_web_edit_pr_title.uk.md
@@ -26,13 +26,13 @@ tags:
### Використання веб-інтерфейсу GitHub
1. **Перейдіть до запиту**:
- - Перейдіть до сховища, де знаходиться PR.
- - Натисніть «Pull requests» і виберіть PR, який потрібно змінити.
+ - Перейдіть до сховища, де знаходиться PR.
+ - Натисніть «Pull requests» і виберіть PR, який потрібно змінити.
2. **Відредагуйте назву PR**:
- - Натисніть на назву PR.
- - З’явиться текстове поле, яке можна редагувати.
- - Змініть назву, натисніть ++enter++ або клацніть за межами текстового поля, щоб зберегти зміни.
+ - Натисніть на назву PR.
+ - З’явиться текстове поле, яке можна редагувати.
+ - Змініть назву, натисніть ++enter++ або клацніть за межами текстового поля, щоб зберегти зміни.
## Додаткова інформація (необов'язково)
diff --git a/docs/gemstones/git/feature_branch_workflow.de.md b/docs/gemstones/git/feature_branch_workflow.de.md
new file mode 100644
index 0000000000..5dba0f7fbc
--- /dev/null
+++ b/docs/gemstones/git/feature_branch_workflow.de.md
@@ -0,0 +1,99 @@
+---
+title: Feature Branch Workflow in Git
+author: Wale Soyinka
+contributors: Ganna Zhyrnova
+tags:
+ - git
+ - Feature Branch Workflow
+ - GitHub
+ - gh
+ - git fetch
+ - git add
+ - git pull
+ - git checkout
+---
+
+## Feature Branch Workflow
+
+Bei diesem beliebten Git-Workflow werden für jede neue Funktion oder Korrektur direkt im Haupt-Repository neue Zweige erstellt.
+Es wird normalerweise in Projekten eingesetzt, bei denen Mitwirkende direkten Push-Zugriff auf das Repository haben.
+
+Dieses Gemstone beschreibt den Prozess zum Einrichten eines lokalen Repositorys, um mithilfe des Git Feature Branch Workflow am Projekt `rocky-linux/documentation` zu arbeiten und dazu beizutragen.
+
+Der Benutzer `Rockstar` hat dieses Repository geforkt und wir werden `https://github.com/rockstar/documentation` als Ursprung verwenden.
+
+## Voraussetzungen
+
+- Ein GitHub-Konto und ein Fork des Projekts (z. B. `https://github.com/rockstar/documentation`).
+- `git` und `GitHub CLI (gh)` bereits installiert.
+
+## Prozedur
+
+1. Falls noch nicht geschehen, klonen Sie Ihren Fork:
+
+ ```bash
+ git clone https://github.com/rockstar/documentation.git
+ cd documentation
+ ```
+
+2. Fügen Sie das Upstream-Remote hinzu:
+
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
+
+3. Upstream-Änderungen abrufen:
+
+ ```bash
+ git fetch upstream
+ ```
+
+4. Erstellen Sie einen neuen Feature-Zweig:
+
+ ```bash
+ git checkout -b feature-branch-name
+ ```
+
+5. Nehmen Sie Änderungen vor, fügen Sie neue Dateien hinzu und committen Sie sie:
+
+ ```bash
+ git add .
+ git commit -m "Implementing feature X"
+ ```
+
+6. Halten Sie Ihr Branch auf dem neuesten Stand. Führen Sie regelmäßig Änderungen aus dem Upstream zusammen, um Konflikte zu vermeiden:
+
+ ```bash
+ git pull upstream main --rebase
+ ```
+
+7. Pushen Sie zu Ihrem Fork indem Sie Folgendes eingeben:
+
+ ```bash
+ git push origin feature-branch-name
+ ```
+
+8. Pull Request anlegen:
+
+ ```bash
+ gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
+ ```
+
+## Zusammenfassung
+
+Der `Feature-Branch-Workflow` ist eine gängige Zusammenarbeitstechnik, die es Teams ermöglicht, gleichzeitig an verschiedenen Aspekten eines Projekts zu arbeiten und gleichzeitig eine stabile Hauptcodebasis aufrechtzuerhalten.
+
+Die wichtigsten Schritte sind:
+
+1. Haupt-Repository klonen: Klonen Sie das Haupt-Projekt-Repository direkt auf Ihren lokalen Computer.
+2. Erstellen Sie einen Feature-Branch: Erstellen Sie für jede neue Aufgabe einen neuen Branch des Haupt-Branchs mit einem aussagekräftigen Namen.
+3. Änderungen committen: Arbeiten Sie an dem Feature oder führen Sie Korrekturen in Ihrem Zweig durch und committen Sie die Änderungen.
+4. Halten Sie den Zweig auf dem neuesten Stand: Führen Sie regelmäßig Zusammenführungen –Merges– oder Rebases mit dem Hauptzweig durch, um über Änderungen auf dem Laufenden zu bleiben.
+5. Öffnen Sie ein Pull-Request: Pushen Sie den Zweig in das Hauptrepository und öffnen Sie einen PR zum Review, sobald Ihre Funktion fertig ist.
+6. Codereview und Merge: Der Zweig wird nach Überprüfung und Genehmigung in den Hauptzweig zusammengeführt.
+
+_Vorteile_:
+
+- Optimiert Beiträge für regelmäßige Mitwirkende mit direktem Repository-Zugriff.
+- Stellt sicher, dass jede Funktion überprüft wird, bevor sie in die Hauptcodebasis integriert wird.
+- Hilft, einen sauberen und linearen Projektverlauf aufrechtzuerhalten.
diff --git a/docs/gemstones/git/feature_branch_workflow.fr.md b/docs/gemstones/git/feature_branch_workflow.fr.md
index 63253cbb3b..8c22c26373 100644
--- a/docs/gemstones/git/feature_branch_workflow.fr.md
+++ b/docs/gemstones/git/feature_branch_workflow.fr.md
@@ -31,53 +31,53 @@ L'utilisateur "rockstar" a créé un fork de ce référentiel et nous utiliseron
1. Si besoin est, clonez votre fork :
- ```bash
- git clone https://github.com/rockstar/documentation.git
- cd documentation
- ```
+ ```bash
+ git clone https://github.com/rockstar/documentation.git
+ cd documentation
+ ```
2. Ajoutez `upstream remote` :
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
3. Récupérer les modifications en amont :
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
4. Créer une nouvelle branche, Feature Branch :
- ```bash
- git checkout -b feature-branch-name
- ```
+ ```bash
+ git checkout -b feature-branch-name
+ ```
5. Apportez des modifications, ajoutez de nouveaux fichiers et validez-les avec `commit` :
- ```bash
- git add .
- git commit -m "Implementing feature X"
- ```
+ ```bash
+ git add .
+ git commit -m "Implementing feature X"
+ ```
6. Maintenir votre Branche à Jour. Fusionnez régulièrement les modifications en amont avec `pull` pour éviter les conflits :
- ```bash
- git pull upstream main --rebase
- ```
+ ```bash
+ git pull upstream main --rebase
+ ```
7. Transmettez vers votre fork en tapant :
- ```bash
- git push origin feature-branch-name
- ```
+ ```bash
+ git push origin feature-branch-name
+ ```
8. Créer un Pull Request :
- ```bash
- gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
- ```
+ ```bash
+ gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
+ ```
## Conclusion
diff --git a/docs/gemstones/git/feature_branch_workflow.it.md b/docs/gemstones/git/feature_branch_workflow.it.md
index 220ee1c23d..95cf3b5332 100644
--- a/docs/gemstones/git/feature_branch_workflow.it.md
+++ b/docs/gemstones/git/feature_branch_workflow.it.md
@@ -31,53 +31,53 @@ L'utente "rockstar" ha effettuato il fork di questo repository e useremo `https:
1. Se non è stato ancora fatto, clonare il vostro fork:
- ```bash
- git clone https://github.com/rockstar/documentation.git
- cd documentation
- ```
+ ```bash
+ git clone https://github.com/rockstar/documentation.git
+ cd documentation
+ ```
2. Aggiungere l'upstream remoto:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
3. Recuperare le modifiche a monte:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
4. Creare una nuova Feature Branch:
- ```bash
- git checkout -b feature-branch-name
- ```
+ ```bash
+ git checkout -b feature-branch-name
+ ```
5. Apportare modifiche, aggiungere nuovi file e fare il commit:
- ```bash
- git add .
- git commit -m "Implementing feature X"
- ```
+ ```bash
+ git add .
+ git commit -m "Implementing feature X"
+ ```
6. Tenete aggiornata il vostro Ramo. Unire regolarmente le modifiche provenienti dall'upstream per evitare conflitti:
- ```bash
- git pull upstream main --rebase
- ```
+ ```bash
+ git pull upstream main --rebase
+ ```
7. Spingere verso il vostro fork, digitare:
- ```bash
- git push origin feature-branch-name
- ```
+ ```bash
+ git push origin feature-branch-name
+ ```
8. Creare una Pull Request:
- ```bash
- gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
- ```
+ ```bash
+ gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
+ ```
## Conclusione
diff --git a/docs/gemstones/git/feature_branch_workflow.uk.md b/docs/gemstones/git/feature_branch_workflow.uk.md
index 9e35839e1a..8868c8b766 100644
--- a/docs/gemstones/git/feature_branch_workflow.uk.md
+++ b/docs/gemstones/git/feature_branch_workflow.uk.md
@@ -31,53 +31,53 @@ tags:
1. Якщо це ще не зроблено, клонуйте вашу гілку:
- ```bash
- git clone https://github.com/rockstar/documentation.git
- cd documentation
- ```
+ ```bash
+ git clone https://github.com/rockstar/documentation.git
+ cd documentation
+ ```
2. Додайте дистанційне керування:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
3. Отримайте зміни:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
4. Створіть нову гілку функції:
- ```bash
- git checkout -b feature-branch-name
- ```
+ ```bash
+ git checkout -b feature-branch-name
+ ```
5. Внесіть зміни, додайте нові файли та зафіксуйте їх:
- ```bash
- git add .
- git commit -m "Implementing feature X"
- ```
+ ```bash
+ git add .
+ git commit -m "Implementing feature X"
+ ```
6. Тримайте свою гілку оновленою. Регулярно об’єднуйте зміни з висхідного потоку, щоб уникнути конфліктів:
- ```bash
- git pull upstream main --rebase
- ```
+ ```bash
+ git pull upstream main --rebase
+ ```
7. Запушіть вилку, введіть:
- ```bash
- git push origin feature-branch-name
- ```
+ ```bash
+ git push origin feature-branch-name
+ ```
8. Створіть запит:
- ```bash
- gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
- ```
+ ```bash
+ gh pr create --base main --head rockstar:feature-branch-name --title "New Feature X" --body "Long Description of the feature"
+ ```
## Висновок
diff --git a/docs/gemstones/git/fork_and_branch_workflow.de.md b/docs/gemstones/git/fork_and_branch_workflow.de.md
new file mode 100644
index 0000000000..eca13b0fd1
--- /dev/null
+++ b/docs/gemstones/git/fork_and_branch_workflow.de.md
@@ -0,0 +1,115 @@
+---
+title: Git-Workflow für Fork und Branch
+author: Wale Soyinka
+contributors: Ganna Zhyrnova
+tags:
+ - GitHub
+ - git
+ - gh
+ - git fetch
+ - git add
+ - git pull
+ - git checkout
+ - gh repo
+---
+
+## Fork und Branch Workflow
+
+Bei diesem Workflow-Typ verzweigen Mitwirkende das Haupt-Repository in ihr eigenes GitHub-Konto, erstellen Feature-Branches für ihre Arbeit und übermitteln dann Beiträge über Pull Requests aus diesen Branches.
+
+Dieses Gemstone führt Sie durch die Einrichtung eines lokalen Repositorys, um zu einem GitHub-Projekt beizutragen. Es beginnt mit der ersten Projektaufspaltung, dem Einrichten eines lokalen und eines Remote-Repositorys, dem Übernehmen von Änderungen und dem Erstellen einer Pull Request (PR) zum Einreichen Ihrer Beiträge.
+
+## Voraussetzungen
+
+- Ein Github-Konto.
+- `git` und `GitHub CLI (gh)` sind auf Ihrem System installiert.
+- Ein persönlicher Fork des Projekts auf GitHub.
+
+## Prozedur
+
+1. Falls es noch nicht vorhanden ist, erstellen Sie mit dem Dienstprogramm `gh` einen Fork des Projekts. Geben Sie bitte Folgendes ein:
+
+ ```bash
+ gh repo fork rocky-linux/documentation --clone=true --remote=true
+ ```
+
+ Die in diesem _gh repo fork_-Befehl verwendeten Optionen sind:
+
+ - `--clone=true`: Klont das Fork-Repository auf Ihren lokalen Computer.
+ - `--remote=true`: Fügt das ursprüngliche Repository als Remote hinzu, sodass Sie zukünftige Updates synchronisieren können.
+
+2. Navigieren Sie zum lokalen Repository-Verzeichnis. Geben Sie bitte Folgendes ein:
+
+ ```bash
+ cd documentation
+ ```
+
+3. Überprüfen Sie, ob alle relevanten Remote-Repositorys in Ihrem lokalen Repository ordnungsgemäß konfiguriert wurden. Geben Sie Folgendes ein:
+
+ ```bash
+ git remote -vv
+ ```
+
+4. Holen Sie sich die neuesten Änderungen vom Upstream-Remote:
+
+ ```bash
+ git fetch upstream
+ ```
+
+5. Erstellen und checken Sie einen neuen Feature-Branch mit dem Namen `your-feature-branch` aus:
+
+ ```bash
+ git checkout -b your-feature-branch
+ ```
+
+6. Nehmen Sie Änderungen vor, fügen Sie neue Dateien hinzu und übertragen Sie Ihre Änderungen in Ihr lokales Repository:
+
+ ```bash
+ git add .
+ git commit -m "Your commit message"
+ ```
+
+7. Synchronisieren Sie das Repo mit dem Hauptzweig des Remote-Repos mit dem Namen `upstream`:
+
+ ```bash
+ git pull upstream main
+ ```
+
+8. Übertragen Sie Push-Änderungen an Ihren Fork\*\*:
+
+ ```bash
+ git push origin your-feature-branch
+ ```
+
+9. Erstellen Sie abschließend einen Pull Request (PR) mit der CLI-Anwendung `gh`:
+
+ ```bash
+ gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
+ ```
+
+ Die in diesem `gh pr create`-Befehl verwendeten Optionen sind:
+
+ `--base` main: Gibt den Basiszweig im Upstream-Repository an, in dem die Änderungen mit `merge` zusammengeführt werden.
+ `--head` your-feature-branch: Gibt den Head-Branch Ihres Forks an, der die Änderungen enthält.
+ `--title` "Ihr PR-Titel": Legt den Titel für das Pull Request fest.
+ `--body` "Beschreibung Ihrer Änderungen": Bietet eine detaillierte Beschreibung der Änderungen im Pull Request.
+
+## Zusammenfassung
+
+Der Fork-and-Branch-Workflow ist eine weitere gängige Zusammenarbeitstechnik.
+Die wichtigsten Schritte sind:
+
+1. Der Fork-and-Branch-Workflow ist eine weitere gängige Zusammenarbeitstechnik.
+2. Den Fork klonen: Klonen Sie Ihren Fork für Entwicklungsarbeiten auf Ihren lokalen Computer.
+3. Upstream-Remote festlegen: Um über die Änderungen auf dem Laufenden zu bleiben, fügen Sie das ursprüngliche Projekt-Repository als `upstream`-Remote hinzu.
+4. Feature Branch erstellen: Erstellen Sie für jede neue Funktion oder Korrektur einen neuen Branch aus dem aktualisierten Main Branch. Der Name der Branch sollte die Funktion oder den Fix beschreiben.
+5. Commit der Änderungen: Nehmen Sie Ihre Änderungen vor und `commit`en Sie sie mit klaren und präzisen `Commit`-Nachrichten fest.
+6. Mit Upstream synchronisieren: Synchronisieren Sie Ihren Fork und Feature-Branch regelmäßig mit dem Upstream-Main-Branch, um neue Änderungen zu integrieren und `merge`-Konflikte zu reduzieren.
+7. Erstellen Sie einen Pull Request (PR): Pushen Sie Ihren Feature-Branch zu Ihrem Fork auf GitHub und öffnen Sie einen PR für das Hauptprojekt. Ihre PR sollte die Änderungen klar beschreiben und auf alle relevanten Probleme verweisen.
+8. Auf Feedback reagieren: Arbeiten Sie gemeinsam an der Überprüfung des Feedbacks, bis der PR zusammengeführt oder geschlossen wird.
+
+Vorteile:
+
+- Isoliert die Entwicklungsarbeit auf bestimmte Zweige und hält den Hauptzweig sauber.
+- Es erleichtert das Review und die Integration von Änderungen.
+- Reduziert das Risiko von Konflikten mit der sich entwickelnden Codebasis des Hauptprojekts.
diff --git a/docs/gemstones/git/fork_and_branch_workflow.fr.md b/docs/gemstones/git/fork_and_branch_workflow.fr.md
index 880b2c3b09..4addf13b6b 100644
--- a/docs/gemstones/git/fork_and_branch_workflow.fr.md
+++ b/docs/gemstones/git/fork_and_branch_workflow.fr.md
@@ -27,72 +27,72 @@ Ce Gemstone explique comment configurer un référentiel local pour contribuer
## Procédure
-1. S'il n'existe pas déjà, créez un fork du projet en utilisant l'utilitaire `gh`. Entrer la commande suivante :
+1. S'il n'existe pas déjà, créez un fork du projet en utilisant l'utilitaire `gh`. Tapez la commande suivante :
- ```bash
- gh repo fork rocky-linux/documentation --clone=true --remote=true
- ```
+ ```bash
+ gh repo fork rocky-linux/documentation --clone=true --remote=true
+ ```
- Les options utilisées dans cette commande _gh repo fork_ sont les suivantes :
+ Les options utilisées dans cette commande _gh repo fork_ sont les suivantes :
- - `--clone=true` : Clone le référentiel forké sur votre machine locale.
- - `--remote=true` : ajoute le référentiel d'origine en tant que référentiel distant, vous permettant de synchroniser les futures mises à jour.
+ - `--clone=true` : Clone le référentiel forké sur votre machine locale.
+ - `--remote=true` : ajoute le référentiel d'origine en tant que référentiel distant, vous permettant de synchroniser les futures mises à jour.
-2. Accédez au répertoire du dépôt local. Entrer la commande suivante :
+2. Accédez au répertoire du dépôt local. Tapez la commande suivante :
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. Vérifiez que tous les dépôts distants pertinents ont été correctement configurés dans votre dépôt local, tapez :
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
4. Récupérez les dernières modifications avec `fetch` depuis le dépôt distant en amont :
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
5. Créez et extrayez avec `checkout` une nouvelle branche de fonctionnalités nommée your-feature-branch :
- ```bash
- git checkout -b your-feature-branch
- ```
+ ```bash
+ git checkout -b your-feature-branch
+ ```
6. Apportez des modifications, ajoutez de nouveaux fichiers et validez vos modifications dans votre dépôt local avec `commit` :
- ```bash
- git add .
- git commit -m "Your commit message"
- ```
+ ```bash
+ git add .
+ git commit -m "Your commit message"
+ ```
7. Synchronisez avec la branche principale du dépôt distant nommée « upstream » :
- ```bash
- git pull upstream main
- ```
+ ```bash
+ git pull upstream main
+ ```
8. Transmission des modifications au Fork :
- ```bash
- git push origin your-feature-branch
- ```
+ ```bash
+ git push origin your-feature-branch
+ ```
9. Enfin, créez une Pull Request (PR) à l'aide de l'application CLI `gh` :
- ```bash
- gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
- ```
+ ```bash
+ gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
+ ```
- Les options utilisées dans cette commande _gh pr create_ sont les suivantes :
+ Les options utilisées dans cette commande _gh pr create_ sont les suivantes :
- `--base` main : spécifie la branche de base dans le référentiel upstream où les modifications seront fusionnées avec `merge`.
- `--head` your-feature-branch : indique la branche principale de votre fork qui contient les modifications.
- `--title` "Votre titre PR" : définit le titre de la demande de Pull Request.
- `--body` "Description de vos modifications" : Fournit une description détaillée des modifications dans la pull request.
+ `--base` main : spécifie la branche de base dans le référentiel upstream où les modifications seront fusionnées avec `merge`.
+ `--head` your-feature-branch : indique la branche principale de votre fork qui contient les modifications.
+ `--title` "Votre titre PR" : définit le titre de la demande de Pull Request.
+ `--body` "Description de vos modifications" : Fournit une description détaillée des modifications dans la pull request.
## Conclusion
diff --git a/docs/gemstones/git/fork_and_branch_workflow.it.md b/docs/gemstones/git/fork_and_branch_workflow.it.md
index 58c52fb425..6e40df9390 100644
--- a/docs/gemstones/git/fork_and_branch_workflow.it.md
+++ b/docs/gemstones/git/fork_and_branch_workflow.it.md
@@ -29,70 +29,70 @@ Questa Gemma spiega come impostare un repository locale per contribuire a un pro
1. Se non esiste già, creare un fork del progetto usando l'utilità gh. Digitare:
- ```bash
- gh repo fork rocky-linux/documentation --clone=true --remote=true
- ```
+ ```bash
+ gh repo fork rocky-linux/documentation --clone=true --remote=true
+ ```
- Le opzioni utilizzate in questo comando _gh repo fork_ sono:
+ Le opzioni utilizzate in questo comando _gh repo fork_ sono:
- - `--clone=true`: Clona il forked repository sulla macchina locale.
- - `--remote=true`: Aggiunge il repository originale come remoto, consentendo di sincronizzare gli aggiornamenti futuri.
+ - `--clone=true`: Clona il forked repository sulla macchina locale.
+ - `--remote=true`: Aggiunge il repository originale come remoto, consentendo di sincronizzare gli aggiornamenti futuri.
2. Navigare nella directory del repository locale. Digitare:
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. Verificare che tutti i repo remoti siano stati configurati correttamente nel repo locale, digitare:
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
4. Recuperare le ultime modifiche dal telecomando upstream:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
5. Creare e fare il checkout di un nuovo ramo di funzionalità chiamato your-feature-branch:
- ```bash
- git checkout -b your-feature-branch
- ```
+ ```bash
+ git checkout -b your-feature-branch
+ ```
6. Apportare le modifiche, aggiungere nuovi file e fare il commit delle modifiche al repo locale:
- ```bash
- git add .
- git commit -m "Your commit message"
- ```
+ ```bash
+ git add .
+ git commit -m "Your commit message"
+ ```
7. Sincronizzare con il ramo principale del repo remoto chiamato `upstream`:
- ```bash
- git pull upstream main
- ```
+ ```bash
+ git pull upstream main
+ ```
8. Spingere le modifiche al vostro Fork\*\*:
- ```bash
- git push origin your-feature-branch
- ```
+ ```bash
+ git push origin your-feature-branch
+ ```
9. Infine, si può creare una richiesta di pull (PR) usando l'applicazione CLI `gh`:
- ```bash
- gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
- ```
+ ```bash
+ gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
+ ```
- Le opzioni utilizzate in questo comando _gh pr create_ sono:
+ Le opzioni utilizzate in questo comando _gh pr create_ sono:
- `--base` main: Specifica il ramo di base del repository upstream in cui verranno unite le modifiche.
- `--head` your-feature-branch: Indica il ramo principale del fork che contiene le modifiche.
- `--title` "Your PR Title": Imposta il titolo della richiesta di pull.
- `--body` "Description of your changes": Fornisce una descrizione dettagliata delle modifiche apportate alla richiesta di pull.
+ `--base` main: Specifica il ramo di base del repository upstream in cui verranno unite le modifiche.
+ `--head` your-feature-branch: Indica il ramo principale del fork che contiene le modifiche.
+ `--title` "Your PR Title": Imposta il titolo della richiesta di pull.
+ `--body` "Description of your changes": Fornisce una descrizione dettagliata delle modifiche apportate alla richiesta di pull.
## Conclusione
diff --git a/docs/gemstones/git/fork_and_branch_workflow.uk.md b/docs/gemstones/git/fork_and_branch_workflow.uk.md
index 63b02de2c9..4b65d64b8f 100644
--- a/docs/gemstones/git/fork_and_branch_workflow.uk.md
+++ b/docs/gemstones/git/fork_and_branch_workflow.uk.md
@@ -29,70 +29,70 @@ tags:
1. Якщо вона ще не існує, створіть гілку проекту за допомогою утиліти gh. Впишіть:
- ```bash
- gh repo fork rocky-linux/documentation --clone=true --remote=true
- ```
+ ```bash
+ gh repo fork rocky-linux/documentation --clone=true --remote=true
+ ```
- У цій команді _gh repo fork_ використовуються такі параметри:
+ У цій команді _gh repo fork_ використовуються такі параметри:
- - `--clone=true`: Клонує розгалужене сховище на вашу локальну машину.
- - `--remote=true`: Додає вихідний репозиторій як віддалений, що дозволяє синхронізувати майбутні оновлення.
+ - `--clone=true`: Клонує розгалужене сховище на вашу локальну машину.
+ - `--remote=true`: Додає вихідний репозиторій як віддалений, що дозволяє синхронізувати майбутні оновлення.
2. Перейдіть до каталогу локального сховища. Впишіть:
- ```bash
- cd documentation
- ```
+ ```bash
+ cd documentation
+ ```
3. Переконайтеся, що всі відповідні віддалені сховища правильно налаштовано у вашому локальному сховищі, введіть:
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
4. Отримайте останні зміни з дистанційного керування:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
5. Створіть і перевірте нову гілку функції під назвою your-feature-branch:
- ```bash
- git checkout -b your-feature-branch
- ```
+ ```bash
+ git checkout -b your-feature-branch
+ ```
6. Внесіть зміни, додайте нові файли та зафіксуйте свої зміни у своєму локальному репозиторії:
- ```bash
- git add .
- git commit -m "Your commit message"
- ```
+ ```bash
+ git add .
+ git commit -m "Your commit message"
+ ```
7. Синхронізуйте з головною гілкою віддаленого сховища під назвою `upstream`:
- ```bash
- git pull upstream main
- ```
+ ```bash
+ git pull upstream main
+ ```
8. Надішліть зміни до своєї гілки:
- ```bash
- git push origin your-feature-branch
- ```
+ ```bash
+ git push origin your-feature-branch
+ ```
9. Нарешті, створіть запит на вилучення (PR) за допомогою програми `gh` CLI:
- ```bash
- gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
- ```
+ ```bash
+ gh pr create --base main --head your-feature-branch --title "Your PR Title" --body "Description of your changes"
+ ```
- У цій команді _gh pr create_ використовуються такі параметри:
+ У цій команді _gh pr create_ використовуються такі параметри:
- `--base` main: Визначає базову гілку у вихідному сховищі, куди буде об’єднано зміни.
- `--head` your-feature-branch: Вказує на головну гілку вашого форка, яка містить зміни.
- `--title` "Your PR Title": Встановлює назву для запиту.
- `--body` "Description of your changes": Надає детальний опис змін у запиті.
+ `--base` main: Визначає базову гілку у вихідному сховищі, куди буде об’єднано зміни.
+ `--head` your-feature-branch: Вказує на головну гілку вашого форка, яка містить зміни.
+ `--title` "Your PR Title": Встановлює назву для запиту.
+ `--body` "Description of your changes": Надає детальний опис змін у запиті.
## Висновок
diff --git a/docs/gemstones/git/git_pull_vs_git_fetch.fr.md b/docs/gemstones/git/git_pull_vs_git_fetch.fr.md
index f3ef8a3e06..d6cd3bf840 100644
--- a/docs/gemstones/git/git_pull_vs_git_fetch.fr.md
+++ b/docs/gemstones/git/git_pull_vs_git_fetch.fr.md
@@ -22,21 +22,21 @@ Il est bénéfique de voir ce que les autres ont apporté avec commit sans fusio
1. Lister la branche actuellement extraite
- ```bash
- git branch
- ```
+ ```bash
+ git branch
+ ```
-2. Récupérer les modifications avec `fetch` depuis la branche principale d'un référentiel distant nommé origin. Entrer la commande suivante :
+2. Récupérer les modifications avec `fetch` depuis la branche principale d'un référentiel distant nommé origin. Tapez la commande suivante :
- ```bash
- git fetch origin main
- ```
+ ```bash
+ git fetch origin main
+ ```
3. Comparez les modifications entre le HEAD de votre dépôt local et le dépôt `origin/main` distant.
- ```bash
- git log HEAD..origin/main
- ```
+ ```bash
+ git log HEAD..origin/main
+ ```
### Git Pull
@@ -45,15 +45,15 @@ Il est utile pour mettre à jour rapidement votre branche locale avec les modifi
1. **Extraire et fusionner les modifications** :
- ```bash
- git pull origin main
- ```
+ ```bash
+ git pull origin main
+ ```
2. **Vérifiez les modifications fusionnées** :
- ```bash
- git log
- ```
+ ```bash
+ git log
+ ```
## Remarques Complémentaires
diff --git a/docs/gemstones/git/git_pull_vs_git_fetch.it.md b/docs/gemstones/git/git_pull_vs_git_fetch.it.md
index 53476a9d7e..14982bd047 100644
--- a/docs/gemstones/git/git_pull_vs_git_fetch.it.md
+++ b/docs/gemstones/git/git_pull_vs_git_fetch.it.md
@@ -22,21 +22,21 @@ Vedere cosa hanno fatto gli altri senza unire le modifiche nel proprio ramo loca
1. Elencare il ramo attualmente controllato
- ```bash
- git branch
- ```
+ ```bash
+ git branch
+ ```
2. Recupera le modifiche dal ramo principale di un repo remoto chiamato origin. Digitare:
- ```bash
- git fetch origin main
- ```
+ ```bash
+ git fetch origin main
+ ```
3. Confrontare le modifiche tra l'HEAD del repo locale e il repo remoto origin/main.
- ```bash
- git log HEAD..origin/main
- ```
+ ```bash
+ git log HEAD..origin/main
+ ```
### Git Pull
@@ -45,15 +45,15 @@ Git Pull scarica le modifiche e le unisce al ramo corrente.
1. **Modifiche di Pull e Merge**:
- ```bash
- git pull origin main
- ```
+ ```bash
+ git pull origin main
+ ```
2. **Rivedere le modifiche unite**:
- ```bash
- git log
- ```
+ ```bash
+ git log
+ ```
## Note Aggiuntive
diff --git a/docs/gemstones/git/git_pull_vs_git_fetch.uk.md b/docs/gemstones/git/git_pull_vs_git_fetch.uk.md
index 2ef4e28354..26d11f6d55 100644
--- a/docs/gemstones/git/git_pull_vs_git_fetch.uk.md
+++ b/docs/gemstones/git/git_pull_vs_git_fetch.uk.md
@@ -22,21 +22,21 @@ git fetch завантажує зміни з віддаленого сховищ
1. Перелічіть поточну перевірену гілку
- ```bash
- git branch
- ```
+ ```bash
+ git branch
+ ```
2. Отримайте зміни з головної гілки віддаленого репо з іменем origin. Впишіть:
- ```bash
- git fetch origin main
- ```
+ ```bash
+ git fetch origin main
+ ```
3. Порівняйте зміни між HEAD вашого локального репо та віддаленим вихідним/основним репо.
- ```bash
- git log HEAD..origin/main
- ```
+ ```bash
+ git log HEAD..origin/main
+ ```
### Git Pull
@@ -45,15 +45,15 @@ Git Pull завантажує зміни та об’єднує їх у вашу
1. **Витягнути та об’єднати зміни**:
- ```bash
- git pull origin main
- ```
+ ```bash
+ git pull origin main
+ ```
2. **Перегляньте об’єднані зміни**:
- ```bash
- git log
- ```
+ ```bash
+ git log
+ ```
## Додаткові примітки
diff --git a/docs/gemstones/git/git_remote_add.fr.md b/docs/gemstones/git/git_remote_add.fr.md
index 6343700f85..811a9f1050 100644
--- a/docs/gemstones/git/git_remote_add.fr.md
+++ b/docs/gemstones/git/git_remote_add.fr.md
@@ -23,46 +23,46 @@ Nous utiliserons le référentiel du projet de documentation Rocky Linux comme e
## Procédure
1. Ouvrez un terminal et changez votre répertoire de travail vers le dossier contenant votre clone local du projet.
- Par exemple, si vous avez cloné le dépôt github dans ~/path/to/your/rl-documentation-clone, tapez
+ Par exemple, si vous avez cloné le dépôt github dans ~/path/to/your/rl-documentation-clone, tapez
- ```bash
- cd ~/path/to/your/rl-documentation-clone
- ```
+ ```bash
+ cd ~/path/to/your/rl-documentation-clone
+ ```
-2. Avant d’effectuer des modifications, répertoriez les `remote`s que vous avez configurées. Entrer la commande suivante :
+2. Avant d’effectuer des modifications, répertoriez les `remote`s que vous avez configurées. Tapez la commande suivante :
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
- S'il s'agit d'un dépôt fraîchement cloné, vous verrez probablement une seule branche remote nommée `origin` dans votre affichage de sortie.
+ S'il s'agit d'un dépôt fraîchement cloné, vous verrez probablement une seule branche remote nommée `origin` dans votre affichage de sortie.
-3. Ajoutez le référentiel de documentation Rocky Linux (`https://github.com/rocky-linux/documentation.git`) en tant que nouveau référentiel distant – `remote` – à votre référentiel local. Ici, nous allons attribuer `upstream` comme nom à cette `remote` particulière. Entrer la commande suivante :
+3. Ajoutez le référentiel de documentation Rocky Linux (`https://github.com/rocky-linux/documentation.git`) en tant que nouveau référentiel distant – `remote` – à votre référentiel local. Ici, nous allons attribuer `upstream` comme nom à cette `remote` particulière. Tapez la commande suivante :
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. Pour souligner davantage que les noms attribués aux référentiels distants sont arbitraires, créez un autre référentiel distant nommé rocky-docs qui pointe vers le même référentiel en exécutant la commande suivante :
- ```bash
- git remote add rocky-docs https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add rocky-docs https://github.com/rocky-linux/documentation.git
+ ```
5. Vérifiez que le nouveau dépôt distant a été ajouté avec succès :
- ```bash
- git remote -v
- ```
+ ```bash
+ git remote -v
+ ```
- Vous devriez voir `upstream` répertorié avec son URL.
+ Vous devriez voir `upstream` répertorié avec son URL.
6. Facultativement, avant de commencer à apporter des modifications à votre dépôt local, vous pouvez récupérer des données à partir de la branche nouvellement ajoutée.
- Récupérez les branches et les commits de la `remote` nouvellement ajoutée en exécutant :
+ Récupérez les branches et les commits de la `remote` nouvellement ajoutée en exécutant :
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
## Remarques Complémentaires
diff --git a/docs/gemstones/git/git_remote_add.it.md b/docs/gemstones/git/git_remote_add.it.md
index 908913717e..c5d9a57844 100644
--- a/docs/gemstones/git/git_remote_add.it.md
+++ b/docs/gemstones/git/git_remote_add.it.md
@@ -23,46 +23,46 @@ Utilizzeremo il repository del progetto di documentazione Rocky Linux come esemp
## Procedura
1. Aprite un terminale e cambiate la vostra directory di lavoro nella cartella contenente il clone locale del progetto.
- Per esempio, se si è clonato il repo github in ~/path/to/your/rl-documentation-clone, digitare
+ Per esempio, se si è clonato il repo github in ~/path/to/your/rl-documentation-clone, digitare
- ```bash
- cd ~/path/to/your/rl-documentation-clone
- ```
+ ```bash
+ cd ~/path/to/your/rl-documentation-clone
+ ```
2. Prima di apportare qualsiasi modifica, elencare i remotes configurati. Digitare:
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
- Se si tratta di un repo appena clonato, è probabile che nell'output si veda un solo remote chiamato `origin`.
+ Se si tratta di un repo appena clonato, è probabile che nell'output si veda un solo remote chiamato `origin`.
3. Aggiungere il Rocky Linux Documentation Repository (`https://github.com/rocky-linux/documentation.git`) come nuovo remote al proprio repository locale. Qui assegneremo upstream come nome per questo particolare remote. Digitare:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. Per sottolineare ulteriormente che i nomi assegnati ai repository remoti sono arbitrari, creare un altro remoto chiamato rocky-docs che punta allo stesso repo eseguendo:
- ```bash
- git remote add rocky-docs https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add rocky-docs https://github.com/rocky-linux/documentation.git
+ ```
5. Confermare che il nuovo repository remoto è stato aggiunto con successo:
- ```bash
- git remote -v
- ```
+ ```bash
+ git remote -v
+ ```
- Si dovrebbe vedere `upstream` elencato insieme al suo URL.
+ Si dovrebbe vedere `upstream` elencato insieme al suo URL.
6. Opzionalmente, prima di iniziare ad apportare modifiche al repo locale, è possibile recuperare i dati dal nuovo remote aggiunto.
- Recuperare i rami e i commit del nuovo remoto eseguendo:
+ Recuperare i rami e i commit del nuovo remoto eseguendo:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
## Note Aggiuntive
diff --git a/docs/gemstones/git/git_remote_add.uk.md b/docs/gemstones/git/git_remote_add.uk.md
index 1448218a98..586f075bb2 100644
--- a/docs/gemstones/git/git_remote_add.uk.md
+++ b/docs/gemstones/git/git_remote_add.uk.md
@@ -23,46 +23,46 @@ tags:
## Процедура
1. Відкрийте термінал і змініть свій робочий каталог на папку, що містить ваш локальний клон проекту.
- Наприклад, якщо ви клонували репозиторій github до ~/path/to/your/rl-documentation-clone, введіть
+ Наприклад, якщо ви клонували репозиторій github до ~/path/to/your/rl-documentation-clone, введіть
- ```bash
- cd ~/path/to/your/rl-documentation-clone
- ```
+ ```bash
+ cd ~/path/to/your/rl-documentation-clone
+ ```
2. Перш ніж вносити будь-які зміни, перелічіть дистанційне керування, які ви зараз налаштували. Впишіть:
- ```bash
- git remote -vv
- ```
+ ```bash
+ git remote -vv
+ ```
- Якщо це щойно клоноване репо, ви, ймовірно, побачите у своїх виводах єдиний віддалений файл під назвою `origin`.
+ Якщо це щойно клоноване репо, ви, ймовірно, побачите у своїх виводах єдиний віддалений файл під назвою `origin`.
3. Додайте сховище документації Rocky Linux (`https://github.com/rocky-linux/documentation.git`) як новий віддалений пристрій до вашого локального сховища. Тут ми призначимо upstream як назву для цього конкретного пульта. Впишіть:
- ```bash
- git remote add upstream https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add upstream https://github.com/rocky-linux/documentation.git
+ ```
4. Щоб ще більше підкреслити, що імена, призначені віддаленим сховищам, є довільними, створіть ще один віддалений іменований rocky-docs, який вказує на те саме репо, виконавши:
- ```bash
- git remote add rocky-docs https://github.com/rocky-linux/documentation.git
- ```
+ ```bash
+ git remote add rocky-docs https://github.com/rocky-linux/documentation.git
+ ```
5. Переконайтеся, що нове віддалене сховище успішно додано:
- ```bash
- git remote -v
- ```
+ ```bash
+ git remote -v
+ ```
- Ви повинні побачити `upstream` у списку разом із його URL-адресою.
+ Ви повинні побачити `upstream` у списку разом із його URL-адресою.
6. За бажанням, перш ніж почати вносити будь-які зміни у своє локальне сховище, ви можете отримати дані з нещодавно доданого віддаленого пристрою.
- Отримайте гілки та коміти з нещодавно доданого віддаленого, виконавши:
+ Отримайте гілки та коміти з нещодавно доданого віддаленого, виконавши:
- ```bash
- git fetch upstream
- ```
+ ```bash
+ git fetch upstream
+ ```
## Додаткові примітки
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
index 1a2732c298..539b588e2d 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.fr.md
@@ -1,7 +1,7 @@
---
title: Tracking vs Non-Tracking Branch avec Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
@@ -17,19 +17,19 @@ Ce Gemstone explore les branches de suivi et de non-suivi dans Git. Il comprend
Une branche de suivi est une branche liée à une branche distante.
-1. Créez une nouvelle branche en la nommant my-local-branch. Faites en sorte que la nouvelle branche locale suive la branche principale du référentiel distant nommé `origin`. Entrer la commande suivante :
+1. Créez une nouvelle branche en la nommant my-local-branch. Faites en sorte que la nouvelle branche locale suive la branche principale du référentiel distant nommé `origin`. Tapez la commande suivante :
- ```bash
- git checkout -b my-local-branch origin/main
- ```
+ ```bash
+ git checkout -b my-local-branch origin/main
+ ```
2. Utilisez la commande `git branch -vv` pour vérifier que la branche est une branche de suivi – Tracking –. Entrer la commande suivante :
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Recherchez les branches avec `[origin/main]` indiquant qu'elles suivent `origin/main`.
+ Recherchez les branches avec `[origin/main]` indiquant qu'elles suivent `origin/main`.
## Branche sans suivi
@@ -37,9 +37,9 @@ Une branche sans suivi – `Non-Tracking` – est une branche qui fonctionne ind
1. Créez une nouvelle branche locale sans suivi nommée my-feature-branch. Entrer la commande suivante :
- ```bash
- git checkout -b my-feature-branch
- ```
+ ```bash
+ git checkout -b my-feature-branch
+ ```
2. Les branches sans suivi n’afficheront pas de branche distante à côté d’elles dans la sortie du résultat de la commande `git branch -vv`. Vérifiez si my-feature-branch est une branche sans suivi.
@@ -47,26 +47,26 @@ Une branche sans suivi – `Non-Tracking` – est une branche qui fonctionne ind
1. Si vous le souhaitez, assurez-vous d’abord que les dernières modifications de la branche principale sont fusionnées dans la branche cible. Entrer la commande suivante :
- ```bash
- git checkout my-feature-branch
- git merge main
- ```
+ ```bash
+ git checkout my-feature-branch
+ git merge main
+ ```
2. Configurer le suivi – tracking – vers une branche distante :
- ```bash
- git branch --set-upstream-to=origin/main my-feature-branch
- ```
+ ```bash
+ git branch --set-upstream-to=origin/main my-feature-branch
+ ```
- Résultat : `Branch 'my-feature-branch' set up to track remote branch 'main' from 'origin'.`
+ Résultat : `Branch 'my-feature-branch' set up to track remote branch 'main' from 'origin'.`
3. Vérifier les modifications. Entrer la commande suivante :
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Maintenant, `my-feature-branch` devrait afficher `[origin/main]` indiquant qu'elle est en cours de suivi – tracking –.
+ Maintenant, `my-feature-branch` devrait afficher `[origin/main]` indiquant qu'elle est en cours de suivi – tracking –.
## Conclusion
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.it.md b/docs/gemstones/git/tracking_and_nontracking_branch.it.md
index 597e2bdf25..1c55cd2f4d 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.it.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.it.md
@@ -1,7 +1,7 @@
---
title: Tracciamento e non tracciamento dei rami in Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
@@ -19,17 +19,17 @@ Un ramo di monitoraggio è un ramo collegato a un ramo remoto.
1. Creare un nuovo ramo chiamato my-local-branch. Il nuovo ramo locale segue il ramo principale del repository remoto chiamato origin. Digitare:
- ```bash
- git checkout -b my-local-branch origin/main
- ```
+ ```bash
+ git checkout -b my-local-branch origin/main
+ ```
2. Usare il comando `git branch -vv` per verificare che il ramo sia un ramo di tracciamento. Digitare:
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Cercare i rami con `[origin/main]` che indicano che stanno seguendo `origin/main`.
+ Cercare i rami con `[origin/main]` che indicano che stanno seguendo `origin/main`.
## Non-Tracking Branch
@@ -37,9 +37,9 @@ Un ramo non tracciante è un ramo che opera indipendentemente dai rami remoti.
1. Creare un nuovo ramo locale non tracciante chiamato my-feature-branch. Digitare:
- ```bash
- git checkout -b my-feature-branch
- ```
+ ```bash
+ git checkout -b my-feature-branch
+ ```
2. I rami non tracciati non mostreranno un ramo remoto accanto a loro output di git branch -vv. Controlla se my-feature-branch è un ramo non di tracciamento.
@@ -47,26 +47,26 @@ Un ramo non tracciante è un ramo che opera indipendentemente dai rami remoti.
1. Facoltativamente, assicurarsi prima che le ultime modifiche del ramo principale siano unite nel ramo di destinazione. Digitare:
- ```bash
- git checkout my-feature-branch
- git merge main
- ```
+ ```bash
+ git checkout my-feature-branch
+ git merge main
+ ```
2. Impostare il monitoraggio di una ramo remoto:
- ```bash
- git branch --set-upstream-to=origin/main my-feature-branch
- ```
+ ```bash
+ git branch --set-upstream-to=origin/main my-feature-branch
+ ```
- Output: `Branch 'my-feature-branch' set up to track remote branch 'main' from 'origin'.`
+ Output: `Branch 'my-feature-branch' set up to track remote branch 'main' from 'origin'.`
3. Visualizzare le modifiche. Digitare:
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Ora, `my-feature-branch` dovrebbe mostrare `[origin/main]`, indicando che è in fase di tracciamento.
+ Ora, `my-feature-branch` dovrebbe mostrare `[origin/main]`, indicando che è in fase di tracciamento.
## Conclusione
diff --git a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
index 4a56c1adfc..b8595fb73f 100644
--- a/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
+++ b/docs/gemstones/git/tracking_and_nontracking_branch.uk.md
@@ -1,7 +1,7 @@
---
title: Відстеження та не слідкування за гілками в Git
author: Wale Soyinka
-contributors: null
+contributors:
tags:
- git
- git branch
@@ -19,17 +19,17 @@ tags:
1. Створіть нову гілку під назвою my-local-branch. Зробіть так, щоб нова локальна гілка відстежувала основну гілку віддаленого сховища з назвою origin. Впишіть:
- ```bash
- git checkout -b my-local-branch origin/main
- ```
+ ```bash
+ git checkout -b my-local-branch origin/main
+ ```
2. Використовуйте команду `git branch -vv`, щоб переконатися, що гілка є гілкою відстеження. Впишіть:
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Шукайте гілки з `[origin/main]`, що вказує, що вони відстежують `origin/main`.
+ Шукайте гілки з `[origin/main]`, що вказує, що вони відстежують `origin/main`.
## Non-Tracking Branch
@@ -37,9 +37,9 @@ tags:
1. Створіть нову локальну гілку без відстеження під назвою my-feature-branch. Впишіть:
- ```bash
- git checkout -b my-feature-branch
- ```
+ ```bash
+ git checkout -b my-feature-branch
+ ```
2. Гілки без відстеження не відображатимуть віддалену гілку поруч із ними у виводі git branch -vv. Перевірте, чи my-feature-branch є гілкою без відстеження.
@@ -47,26 +47,26 @@ tags:
1. За бажанням, спочатку переконайтеся, що останні зміни з основної гілки об’єднано в цільову гілку. Впишіть:
- ```bash
- git checkout my-feature-branch
- git merge main
- ```
+ ```bash
+ git checkout my-feature-branch
+ git merge main
+ ```
2. Налаштувати відстеження до віддаленого відділення:
- ```bash
- git branch --set-upstream-to=origin/main my-feature-branch
- ```
+ ```bash
+ git branch --set-upstream-to=origin/main my-feature-branch
+ ```
- Вихід: \`Гілка 'my-feature-branch' налаштована для відстеження віддаленої гілки 'main' від 'origin'.'
+ Вихід: \`Гілка 'my-feature-branch' налаштована для відстеження віддаленої гілки 'main' від 'origin'.'
3. Перевірте зміну. Впишіть:
- ```bash
- git branch -vv
- ```
+ ```bash
+ git branch -vv
+ ```
- Тепер `my-feature-branch` має показувати `[origin/main]`, що вказує на відстеження.
+ Тепер `my-feature-branch` має показувати `[origin/main]`, що вказує на відстеження.
## Висновок
diff --git a/docs/gemstones/htop.de.md b/docs/gemstones/htop.de.md
index 9c4e3a5775..9d4bc64ab0 100644
--- a/docs/gemstones/htop.de.md
+++ b/docs/gemstones/htop.de.md
@@ -1,5 +1,5 @@
---
-title: htop-Prozessverwaltung
+title: htop — Prozessverwaltung
author: tianci li
contributors: Steven Spencer
date: 2021-10-16
@@ -94,7 +94,7 @@ Drücken Sie ++f1++ in der interaktiven Schnittstelle, um die entsprechende Tast
### Andere häufige Anwendungsfälle
-Um den Prozess zu verwalten, verwenden Sie die F9 Taste, um verschiedene Signale an den Prozess zu senden. Die Liste der Signale finden Sie mit dem Kommando `kill -l`. Die am häufigsten verwendeten sind:
+Um den Prozess zu verwalten, verwenden Sie die Taste ++f9++ und so verschiedene Signale an den Prozess zu senden. Die Liste der Signale finden Sie mit dem Kommando `kill -l`. Die am häufigsten verwendeten sind:
| Signal | Beschreibung |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
diff --git a/docs/gemstones/htop.fr.md b/docs/gemstones/htop.fr.md
index 112f5f47d4..9fb42f872c 100644
--- a/docs/gemstones/htop.fr.md
+++ b/docs/gemstones/htop.fr.md
@@ -1,5 +1,5 @@
---
-title: htop - Gestion des Processus
+title: htop — Gestion des Processus
author: tianci li
contributors: Steven Spencer
date: 2021-10-16
@@ -43,7 +43,7 @@ PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command(mer
* Les 0 et 1 indiquent le numéro des cœurs de la CPU et le pourcentage indique le taux d'occupation d'un seul cœur (le taux d'occupation total de la CPU peut également être affiché)
* Les différentes couleurs de la barre de progression indiquent le pourcentage de différents types de processus :
- | Couleur | Observation | Noms affichés avec d'autres styles |
+ | Couleur | Description | Noms affichés avec d'autres styles |
| ------- | ------------------------------------------------------------------------- | ---------------------------------- |
| Bleu | Pourcentage de CPU utilisé par les processus de faible priorité | low |
| Vert | Pourcentage de CPU du processus appartenant à des utilisateurs ordinaires | |
@@ -53,7 +53,7 @@ PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command(mer
* Tasks: 22, 46thr, 174 kthr 1 running. Dans notre exemple, cela signifie que notre machine actuelle a 24 tâches, qui sont divisés en 14 threads, dont un seul processus est en cours d'exécution, "kthr" indique le nombre de kernel-threads.
* Mem décrit la charge de mémoire. Les couleurs permettent de distinguer le type d'occupation de la mémoire :
- | Couleur | Observation | Noms affichés |
+ | Couleur | Description | Noms affichés |
| ------------ | -------------------------------------------------------------- | ------------- |
| Bleu | Pourcentage de mémoire consommée par le tampon | buffers |
| Vert | Pourcentage de mémoire consommée par la zone mémoire | used |
@@ -62,7 +62,7 @@ PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command(mer
* Swap information.
- | Couleur | Observation | Noms affichés |
+ | Couleur | Description | Noms affichés |
| ------------ | ------------------------------------------ | ------------- |
| Vert | Pourcentage de cache utilisé sur le disque | used |
| Jaune/Orange | Pourcentage de cache - swap - utilisé | cache |
@@ -74,7 +74,7 @@ PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command(mer
* **PID - Numéro d'identification du processus**
* USER - Le propriétaire du processus
-* PRI - la priorité du processus du point de vue du noyau Linux
+* PRI – la priorité du processus du point de vue du noyau Linux
* NI - la priorité du processus de réinitialisation par l'utilisateur normal ou bien root
* VIRT - Mémoire virtuelle consommée par un processus
* **RES - Mémoire physique consommée par un processus**
@@ -96,9 +96,9 @@ Dans l'interface interactive, appuyez sur le bouton ++f1++ pour voir la descript
Pour gérer le processus, utilisez le bouton ++f9++ et lui envoyer différents signaux. La liste des signaux peut être affichée avec la commande `kill -l`. Les plus couramment utilisées sont :
-| Signal | Observation |
+| Signal | Description |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 1 | Arrête immédiatement le processus qui redémarre après avoir relu le fichier de configuration |
+| 1 | Permet de terminer le processus immédiatement puis de le redémarrer après avoir relu le fichier de configuration |
| 9 | Utilisé pour mettre fin immédiatement à l'exécution du programme, pour terminer le processus de force, similaire à la fin forcée dans la barre des tâches de la fenêtre |
| 15 | Le signal par défaut pour la commande kill. Parfois, si un problème s'est produit dans le processus et que le processus ne peut pas être terminé normalement avec ce signal, on peut essayer le signal 9 |
diff --git a/docs/gemstones/https_rsa_keygen.de.md b/docs/gemstones/https_rsa_keygen.de.md
new file mode 100644
index 0000000000..cf9d8c24d9
--- /dev/null
+++ b/docs/gemstones/https_rsa_keygen.de.md
@@ -0,0 +1,45 @@
+---
+title: https — RSA-Schlüssel Generierung
+author: Steven Spencer
+update: 2022-01-26
+---
+
+# https - RSA-Schlüssel Generierung
+
+Dieses Skript wurde mehrfach von uns verwendet. Unabhängig davon, wie oft Sie die OpenSSL-Befehlsstruktur verwenden, müssen Sie manchmal auf das Verfahren zurückgreifen. Dieses Skript hilft Ihnen, die Schlüsselgenerierung für eine Website mithilfe von RSA zu automatisieren. Beachten Sie, dass dieses Skript mit einer Schlüssellänge von 2048 Bits hart-kodiert ist. Wer der Meinung ist, dass die Mindestschlüssellänge 4096 Bit betragen sollte, ändert einfach das entsprechende Teil des Skripts. Denken Sie nur daran, dass Sie den Speicher und die Geschwindigkeit beim Laden einer Website auf einem Gerät gegen die Sicherheit einer längeren Schlüssellänge abwägen müssen.
+
+## Das Skript
+
+Geben Sie diesem Skript einen beliebigen Namen, z.B. `keygen.sh`, machen Sie das Skript ausführbar (`chmod +x scriptname`) und platzieren Sie es in einem Verzeichnis, das sich in Ihrem Pfad befindet, z.B. /usr/local/sbin
+
+```bash
+#!/bin/bash
+if [ $1 ]
+then
+ echo "generating 2048 bit key - you'll need to enter a pass phrase and verify it"
+ openssl genrsa -des3 -out $1.key.pass 2048
+ echo "now we will create a pass-phrase less key for actual use, but you will need to enter your pass phrase a third time"
+ openssl rsa -in $1.key.pass -out $1.key
+ echo "next, we will generate the csr"
+ openssl req -new -key $1.key -out $1.csr
+ #cleanup
+ rm -f $1.key.pass
+else
+ echo "requires keyname parameter"
+ exit
+fi
+```
+
+!!! note "Anmerkung"
+
+ Sie werden die Passphrase dreimal nacheinander eingeben müssen.
+
+## Kurze Beschreibung
+
+* Dieses Bash-Skript setzt voraus, dass ein Parameter ($1) eingegeben wird, der der Name der Site ohne www, etc. entspricht. Zum Beispiel "mywidget".
+* Das Skript erstellt den Standardschlüssel mit einem Passwort und einer Länge von 2048 Bit (die, wie oben angegeben, auf eine Länge von 4096 Bit geändert werden kann)
+* Das Passwort wird sofort aus dem Schlüssel entfernt, denn bei einem Neustart des Webservers das Passwort jedes Mal neu eingegeben werden müsste, was in der Praxis problematisch sein kann.
+* Anschließend erstellt das Skript den `CSR` (Certificate Signing Request), mit dem dann ein SSL-Zertifikat bei einem Anbieter erworben werden kann.
+* Schließlich entfernt der Bereinigungsschritt den zuvor erstellten Schlüssel mit dem angefügten Passwort.
+* Die Eingabe des Skriptnamens ohne Parameter erzeugt den Fehler: "requires keyname parameter".
+* Hier wird die Positionsparameter-Variable $n verwendet. Während $0 das Kommando selbst enthält, repräsentieren $1 bis $9 die ersten bis neunten Parameter. Wenn die Anzahl Parameter größer als 10 ist, müssen Sie Klammern wie `${10}` verwenden.
diff --git a/docs/gemstones/https_rsa_keygen.es.md b/docs/gemstones/https_rsa_keygen.es.md
index 1ca2661f04..6e3a258973 100644
--- a/docs/gemstones/https_rsa_keygen.es.md
+++ b/docs/gemstones/https_rsa_keygen.es.md
@@ -12,7 +12,7 @@ He utilizado este script muchas veces. No importa la frecuencia con la que utili
Renombre este script como quiera, por ejemplo: `keygen.sh` y hágalo sea ejecutable (`chmod +x scriptname`) y colóquelo en un directorio que esté incluido dentro de su variable de entorno $PATH, por ejemplo: /usr/local/sbin
-```
+```bash
#!/bin/bash
if [ $1 ]
then
@@ -30,7 +30,7 @@ else
fi
```
-!!! Note
+!!! note "Nota"
Tendrá que introducir tres veces seguidas la contraseña para la clave.
diff --git a/docs/gemstones/https_rsa_keygen.fr.md b/docs/gemstones/https_rsa_keygen.fr.md
index 49cd2326b4..062d4be128 100644
--- a/docs/gemstones/https_rsa_keygen.fr.md
+++ b/docs/gemstones/https_rsa_keygen.fr.md
@@ -1,5 +1,5 @@
---
-title: https – Génération de clé RSA
+title: https — Génération de clé RSA
author: Steven Spencer
update: 2022-01-26
---
@@ -37,7 +37,7 @@ fi
## Brève Description
* Ce script bash nécessite la saisie d'un paramètre ($1) qui est le nom du site sans aucun www, etc. Par exemple, "mywidget".
-* Le script crée la clé par défaut avec un mot de passe et une longueur de 2048 bits (cela peut être modifié, comme indiqué ci-dessus pour une longueur de 4096 bits plus longue)
+* Le script crée la clé par défaut avec un mot de passe et une longueur de 2048 bits (qui peut être modifiée, comme indiqué ci-dessus, en une longueur de 4096 bits)
* Le mot de passe est alors immédiatement supprimé de la clé, la raison est que le redémarrage du serveur web nécessiterait que le mot de passe de la clé soit entré à chaque fois ainsi qu'au redémarrage, ce qui peut être problématique dans la pratique.
* Ensuite, le script crée la CSR (Certificate Signing Request), qui peut ensuite être utilisée pour acheter un certificat SSL auprès d'un fournisseur.
* Enfin, l'étape de nettoyage supprime la clé précédemment créée avec le mot de passe correspondant.
diff --git a/docs/gemstones/index.de.md b/docs/gemstones/index.de.md
index ed828e24bd..5fec4b75f6 100644
--- a/docs/gemstones/index.de.md
+++ b/docs/gemstones/index.de.md
@@ -17,4 +17,4 @@ Der Code, das Skript oder das Beispiel für den Befehl sollte kurz sein. Wenn es
## Mitwirkung
-Sie können zu Ihrem **Gemstone** auf die gleiche Weise beitragen, wie Sie zu anderen Dokumentationen beitragen (siehe: [Contribution Guide](../guides/contribute/README.md)). Wenn Sie ein Pull-Request auf GitHub senden, fügen Sie „gemstone“ in die Commit-Nachricht ein. Wenn Sie kein GitHub-Konto haben oder möchten, können Sie es einfach an den Kanal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) senden und wir bearbeiten und bauen Ihren **Gemstone** für Sie ein. Einfacher geht das nicht!
+Sie können zu Ihrem **Gemstone** auf die gleiche Weise beitragen, wie Sie zu anderen Dokumentationen beitragen (siehe: [Contribution Guide](../guides/contribute/README.md)). Wenn Sie ein Pull-Request auf GitHub senden, fügen Sie „gemstone“ in die Commit-Nachricht ein. Wenn Sie kein GitHub-Konto haben oder möchten, können Sie es einfach an den Kanal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) senden und wir bearbeiten und bauen Ihren **Gemstone** für Sie ein. Einfacher geht es nicht!
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: rockydocs/activity-stream , rockylinux.org
🖋 Contribute: github.com/rocky-linux/documentation
diff --git a/docs/gemstones/markdown-demo-v2.de.md b/docs/gemstones/markdown-demo-v2.de.md
new file mode 100644
index 0000000000..959c90ee59
--- /dev/null
+++ b/docs/gemstones/markdown-demo-v2.de.md
@@ -0,0 +1,91 @@
+---
+title: Markdown Demo
+author: Steven Spencer
+contributors: Wale Soyinka, Tony Guntharp
+tested_with: 8.5
+tags:
+ - Beispiel
+ - crowdin
+ - markdown
+---
+
+# Übersicht
+
+## Hintergrund
+
+- Verwendung von [Markdown](https://daringfireball.net/projects/markdown).
+- 'markdown'-Kenntnisse.
+
+Diese Anleitung demonstriert gängige Markdown-Auszeichnung-Elemente, die wir auf den Seiten [https://docs.rockylinux.org](https://docs.rockylinux.org) verwenden, sowie das `Admonition`-Element, das nicht im Standard-Markdown enthalten ist.
+
+## Die Demo
+
+> Dies ist ein Beispiel für ein Zitat. Hübsch formatiert.
+
+Manchmal verwenden wir Dinge wie _dieses_.
+
+Wie wäre es mit **bold face**
+
+Meistens handelt es sich um normalen Text wie dieser.
+
+Manchmal wird ein `Befehl` hervorgehoben
+
+Oder mehrere Befehle:
+
+```bash
+dnf install my_stapler
+dnf update my_pencil
+dnf remove my_notepad
+systemctl enable my_stapler
+```
+
+In manchen Fällen benötigen wir Aufzählungen oder nummerierte Listen:
+
+- Kugelschreiber
+- Kompass
+- Bleistift
+- Heft
+
+1. Mathematik
+2. Physik
+3. Chemie
+
+Sie werden auch das Admonition-Auszeichnungselement benötigen:
+
+### Admonitions
+
+Die ebenfalls erwähnten Admonitions eignen sich hervorragend zum Einfügen zusätzlicher Inhalte, ohne den Fluss des Dokuments wesentlich zu unterbrechen. Material für MkDocs bietet mehrere Arten von Admonitions und ermöglicht die Einbindung und Verschachtelung beliebiger Inhalte.
+
+!!! tip "Tip"
+
+ Pencils and staplers are old-school.
+
+#### Verwendung
+
+Admonitions folgen einer einfachen Syntax: Ein Block beginnt mit `!!!`, gefolgt von einem **Schlüsselwort**, das als Typ-Qualifizierend verwendet wird. Der Inhalt des Blocks folgt in der nächsten Zeile, mit vier Leerzeichen eingerückt:
+
+!!! note "Notiz"
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
+ nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
+ massa, nec semper lorem quam in massa.
+
+#### Den Titel ändern
+
+Standardmäßig entspricht der Titel dem Typ-Qualifizierenden in der Titelschreibweise. Sie können dies jedoch ändern, indem Sie nach dem Typ-Qualifizierenden eine in Anführungszeichen gesetzte Zeichenfolge mit gültigem Markdown (einschließlich Links, Formatierung usw.) hinzufügen:
+
+!!! note "Phasellus posuere in sem ut cursus"
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
+ nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
+ massa, nec semper lorem quam in massa.
+
+Wenn ein Befehl mehrere Optionen hat oder Sie bestimmte Optionen auflisten müssen, können Sie zur Identifizierung häufig eine Tabelle verwenden:
+
+| Tool | Verwendung | Zusätzliche Informationen |
+| -------------- | ------------------------------------------- | ----------------------------------------------- |
+| Stift | Schreiben. | kann durch einen Kugelschreiber ersetzt werden |
+| Kugelschreiber | Schreiben oder drucken | kann durch ein Bleistift ersetzt werden |
+| Stylus | writing or printing on an electronic device | wird manchmal durch eine Tastatur ersetzt |
+| Tastatur | writing or printing on an electronic device | never replaced - used until full of food crumbs |
+| notepad | Notizen verfassen | bei zunehmender Vergesslichkeit unverzichtbar. |
diff --git a/docs/gemstones/markdown-demo-v2.it.md b/docs/gemstones/markdown-demo-v2.it.md
index 65bf3248a4..814e932f9b 100644
--- a/docs/gemstones/markdown-demo-v2.it.md
+++ b/docs/gemstones/markdown-demo-v2.it.md
@@ -1,7 +1,7 @@
---
title: Markdown Demo
-author: Einstein
-contributors: Dr. Ben Dover
+author: Steven Spencer
+contributors: Wale Soyinka, Tony Guntharp
tested_with: 8.5
tags:
- sample
@@ -11,13 +11,12 @@ tags:
# Sommario
-!!! WARNING "Attenzione"
+## Background
- Non prendete sul serio ciò che leggete in questo documento.
+- Utilizzare [Markdown](https://daringfireball.net/projects/markdown).
+- Conoscenza di markdown.
-Come si può capire leggendo, si tratta di un esempio piuttosto sciocco, pensato per testare alcuni problemi di traduzione che stiamo riscontrando. Ma poiché i problemi non sono ancora stati risolti, modificheremo il file un po' qua e un po' là per vedere l'effetto che fa. È divertente scrivere però!
-
-Questa guida illustra i tag Markdown più diffusi utilizzati su [https://docs.rockylinux.org](https://docs.rockylinux.org) e include anche il tag admonitions, che non fa parte dei tag Markdown standard.
+Questa guida illustra i tag Markdown più diffusi utilizzati su [https://docs.rockylinux.org](https://docs.rockylinux.org) e include il tag admonitions, che non fa parte dei tag Markdown standard.
## La Demo
@@ -27,13 +26,13 @@ A volte si vedono cose come _questo_.
Che ne dite di una piccola **faccina in grassetto**
-Nella maggior parte dei casi, si tratta di un testo diretto come questo.
+Il più delle volte si tratta di un testo diretto come questo.
-A volte è necessario mostrare un comando
+A volte, è necessario mostrare un comando
O comandi multipli:
-```
+```bash
dnf install my_stapler
dnf update my_pencil
dnf remove my_notepad
@@ -53,9 +52,33 @@ Altre volte sono necessari elenchi puntati o numerati:
E potrebbe essere necessario un ammonimento:
-!!! SUGGERIMENTO
+### Avvertenze
+
+Le avvertenze, anch'esse richiamate, sono un'ottima scelta per inserire contenuti collaterali senza interrompere significativamente il flusso del documento. Materiale per MkDocs fornisce diversi tipi di ammonimenti e consente l'inclusione e l'annidamento di contenuti arbitrari.
+
+!!! TIP
+
+ Le matite e le spillatrici sono di vecchia concezione.
+
+#### Utilizzo
+
+Le ammonizioni seguono una sintassi semplice: un blocco inizia con `!!!`, seguito da una parola chiave usata come qualificatore di tipo. Il contenuto del blocco segue sulla riga successiva, rientrando di quattro spazi:
+
+!!! note
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
+ nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
+ massa, nec semper lorem quam in massa.
+
+#### Modifica del titolo
+
+Per impostazione predefinita, il titolo sarà uguale al qualificatore di tipo nel caso del titolo. Tuttavia, è possibile modificarlo aggiungendo una stringa quotata contenente Markdown valido (inclusi collegamenti, formattazione, ...) dopo il qualificatore di tipo:
+
+!!! note "Phasellus posuere in sem ut cursus"
- Matite e cucitrici sono davvero vecchia scuola.
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
+ nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
+ massa, nec semper lorem quam in massa.
Spesso, quando un comando ha più opzioni o è necessario elencarne di specifiche, si può usare una tabella per identificare le cose:
diff --git a/docs/gemstones/network/RL9_network_manager.fr.md b/docs/gemstones/network/RL9_network_manager.fr.md
index e5d3813b33..7f55a6a20c 100644
--- a/docs/gemstones/network/RL9_network_manager.fr.md
+++ b/docs/gemstones/network/RL9_network_manager.fr.md
@@ -1,5 +1,5 @@
---
-title: RL9 - Gestionnaire de Réseau
+title: RL9 — Gestionnaire de Réseau
author: tianci li
contributors: Steven Spencer
tags:
@@ -22,7 +22,7 @@ shell > dnf -y install NetworkManager NetworkManager-tui
shell > nmtui
```
-| NetworkManager TUI (nmtui) | |
+| NetworkManager TUI | |
| -------------------------------- | -- |
| Modifier une connexion | |
| Activer une connexion | |
@@ -121,7 +121,7 @@ Shell > nmcli connection edit CONNECTION_NAME
nmcli > help
```
-Vous pouvez également modifier une ou plusieurs propriétés de la connexion directement à partir de la ligne de commande avec le mot-clé `modify`. Par exemple :
+Vous pouvez également modifier une ou plusieurs propriétés de la connexion directement à partir de la ligne de commande avec le mot-clé `modify`. Par exemple :
```bash
Shell > nmcli connection modify CONNECTION_NAME autoconnect yes ipv6.method dhcp
@@ -151,7 +151,7 @@ Shell > nmcli connection add type bond-slave ifname NIC_DEVICE_NAME2 mas
Vous pouvez afficher des informations plus détaillées via `man 5 NetworkManager.conf` et `man 5 nm-settings-nmcli`.
-Le contenu du fichier de configuration de la carte réseau NetworkManager est un fichier clé de style init. Par exemple :
+Le contenu du fichier de configuration de la carte réseau NetworkManager est un fichier clé de style init. Par exemple :
```bash
Shell > cat /etc/NetworkManager/system-connections/ens160.nmconnection
@@ -183,7 +183,7 @@ method=disabled
Les titres comme nom de **connection** peuvent contenir ces paires de clé-valeur commune :
-| nom de la clé | description |
+| nom de la clé | Description |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id | L'alias de `con-name`, dont la valeur est une chaîne. |
| uuid | Identifiant universel unique, dont la valeur est une chaîne de caractères. |
@@ -194,7 +194,7 @@ Les titres comme nom de **connection** peuvent contenir ces paires de clé-valeu
**les noms de titres** éthernet peuvent contenir ces paires de clés communes :
-| nom de la clé | description |
+| nom de la clé | Description |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| mac-address | Adresse MAC physique. |
| mtu | Unité de Transmission Maximale. |
@@ -204,7 +204,7 @@ Les titres comme nom de **connection** peuvent contenir ces paires de clé-valeu
Les titres des noms **ipv4** peuvent contenir ces paires de valeurs clés communes:
-| Mot-clé | description |
+| Mot-clé | Description |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| addresses | Adresses IP assignées |
| gateway | Passerelle (accès réseau) pour l'interface |
diff --git a/docs/gemstones/network/RL9_network_manager.it.md b/docs/gemstones/network/RL9_network_manager.it.md
index 48951fbe3f..0cf51a76a7 100644
--- a/docs/gemstones/network/RL9_network_manager.it.md
+++ b/docs/gemstones/network/RL9_network_manager.it.md
@@ -49,7 +49,7 @@ Shell > cd /etc/NetworkManager/system-connections/ && ls
ens160.nmconnection
```
-`Ens160` si riferisce al nome della scheda di rete del sistema. Vi chiederete perché il nome sembra così strano? Questo è dovuto al gestore di dispositivi `udev`. Supporta diversi schemi di denominazione. Per impostazione predefinita, i nomi fissi vengono assegnati in base al firmware, alla topologia e alle informazioni sulla posizione. I suoi vantaggi includono:
+`ens160` si riferisce al nome della scheda di rete del sistema. Vi chiederete perché il nome sembra così strano? Questo è dovuto al gestore di dispositivi `udev`. Supporta diversi schemi di denominazione. Per impostazione predefinita, i nomi fissi vengono assegnati in base al firmware, alla topologia e alle informazioni sulla posizione. I suoi vantaggi includono:
- I nomi dei dispositivi sono completamente prevedibili.
- I nomi dei dispositivi rimangono fissi anche se si aggiunge o si rimuove hardware, perché non avviene una nuova enumerazione.
diff --git a/docs/gemstones/network/iftop.de.md b/docs/gemstones/network/iftop.de.md
new file mode 100644
index 0000000000..c5583bfcc8
--- /dev/null
+++ b/docs/gemstones/network/iftop.de.md
@@ -0,0 +1,103 @@
+---
+title: iftop - Echtzeit-Bandbreitenstatistik pro Verbindung
+author: Neel Chauhan
+contributors: Ganna Zhyrnova, Steven Spencer
+date: 2024-02-24
+---
+
+# `iftop` - Einleitung
+
+`iftop` ist ein textbasierter Netzwerk-Monitor. Zeigen Sie die Traffic- und Bandbreiten-Statistiken Ihres Servers für jede Verbindung an.
+
+## `iftop`-Verwendung
+
+```bash
+dnf -y install epel-release
+dnf -y install iftop
+```
+
+Es folgen die Optionen des Befehls `iftop`.
+
+| Options | Beschreibung |
+| -------------- | ---------------------------------------------------------------------------------------------- |
+| -n | Vermeidet Hostnamen-Lookups |
+| -N | Vermeidet die Auflösung von Port-Nummern in Dienstnamen |
+| -p | Es läuft im Promiscuous-Modus, sodass der gesamte Verkehr gezählt wird |
+| -P | Zeigt die Portnummern für Verbindungen an |
+| -l | Zeigt und zählt den Traffic zu oder von lokalen IPv6-Adressen |
+| -b | Zeigt keine Balkendiagramme für den Traffic an |
+| -m LIMIT | Legt eine Obergrenze für das Bandbreitendiagramm fest, angegeben als Zahl und Einheiten-Suffix |
+| -u UNIT | Zeigt die Traffic-Geschwindigkeiten für die angegebene Maßeinheit an |
+| -B UNIT | Synonym für `-u` |
+| -i INTERFACE | Gemessene Schnittstelle |
+| -f FILTER CODE | Verwendet den folgenden Filtercode |
+| -F NET/MASK | Misst nur den Traffic zum angegebenen IPv4-Netzwerk |
+| -G NET/MASK | Misst den Traffic nur zum angegebenen IPv6-Netzwerk |
+| -c config | Verwendet die angegebene Konfigurationsdatei |
+| -t | `non-ncurses`-Modus verwenden |
+
+Die Einheiten für das Flag **-M** sind folgende:
+
+| Einheit | Bedeutung |
+| ------- | --------- |
+| K | Kilo |
+| M | Mega |
+| G | Giga |
+
+Die Einheiten für das Flag **-u** sind folgende:
+
+| Einheit | Bedeutung |
+| ------- | ------------------ |
+| bit | bits per second |
+| bytes | bytes per second |
+| packets | packets per second |
+
+Ein Beispiel für die Ausgabe vom Heimserver des Autors, auf dem ein [Tor](https://www.torproject.org/) [Relay](https://community.torproject.org/relay/types-of-relays/)-Programm ausgeführt wird:
+
+```bash
+ Listening on bridge b 25.0Kb 37.5Kb 50.0Kb 62.5Kb
+└───────────────┴───────────────┴───────────────┴───────────────┴───────────────
+tt.neelc.org => X.X.X.X 13.5Mb 13.5Mb 13.5Mb
+ <= 749Kb 749Kb 749Kb
+tt.neelc.org => X.X.X.X 6.21Mb 6.21Mb 6.21Mb
+ <= 317Kb 317Kb 317Kb
+tt.neelc.org => X.X.X.X 3.61Mb 3.61Mb 3.61Mb
+ <= 194Kb 194Kb 194Kb
+tt.neelc.org => X.X.X.X 181Kb 181Kb 181Kb
+ <= 3.36Mb 3.36Mb 3.36Mb
+tt.neelc.org => X.X.X.X 151Kb 151Kb 151Kb
+ <= 3.24Mb 3.24Mb 3.24Mb
+tt.neelc.org => X.X.X.X 2.97Mb 2.97Mb 2.97Mb
+ <= 205Kb 205Kb 205Kb
+tt.neelc.org => X.X.X.X 156Kb 156Kb 156Kb
+ <= 2.97Mb 2.97Mb 2.97Mb
+tt.neelc.org => X.X.X.X 2.80Mb 2.80Mb 2.80Mb
+ <= 145Kb 145Kb 145Kb
+tt.neelc.org => X.X.X.X 136Kb 136Kb 136Kb
+ <= 2.45Mb 2.45Mb 2.45Mb
+────────────────────────────────────────────────────────────────────────────────
+TX: cum: 30.1MB peak: 121Mb rates: 121Mb 121Mb 121Mb
+RX: 30.4MB 122Mb 122Mb 122Mb 122Mb
+TOTAL: 60.5MB 242Mb 242Mb 242Mb 242Mb
+```
+
+Aufschlüsselung der Zeilen im unteren Bereich:
+
+- TX – Datennutzung beim Senden/Hochladen
+- RX - Datennutzung empfangen/herunterladen
+- TOTAL – Kombinierte Upload-/Download-Nutzung
+
+## Tastaturkürzel
+
+- \++s++ - aggregiert den gesamten Datenverkehr für jede Quelle
+- \++d++ - aggregiert den gesamten Datenverkehr für jedes Ziel
+- \++shift+s++ - schaltet die Anzeige des Quellports um
+- \++shift+d++ - schaltet die Anzeige des Zielports um
+- \++t++ - schaltet zwischen den Anzeigemodi um: Standardmäßige zweizeilige Anzeige mit Sende- und Empfangsverkehr und dreizeilige Anzeige von Sende-, Empfangs- und Gesamt-Traffic
+- \++1++, ++2++, ++3++ – Sortieren nach 1., 2. oder 3. Spalte
+- \++l++ - geben Sie einen POSIX-regulären Ausdruck ein, um Hostnamen zu filtern
+- \++shift+p++ - Pausiert die aktuelle Anzeige
+- \++o++ - friert die Gesamtbandbreiten-Auswertung ein
+- \++j++ - nach unten scrollen
+- \++k++ - nach oben scrollen
+- \++f++ – bearbeitet den Filtercode
diff --git a/docs/gemstones/network/iftop.fr.md b/docs/gemstones/network/iftop.fr.md
index 04ffa2f549..78fe26c2e7 100644
--- a/docs/gemstones/network/iftop.fr.md
+++ b/docs/gemstones/network/iftop.fr.md
@@ -18,9 +18,9 @@ dnf -y install iftop
Les options de la commande `iftop` sont les suivantes.
-| Options | Observation |
+| Options | Description |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| -R | Évite les recherches de nom d'hôte |
+| -n | Évite les recherches de nom d'hôte |
| -N | Évite de résoudre les numéros de port en noms de service |
| -p | Fonctionne en mode promiscuité, de sorte que tout le trafic est compté |
| -P | Affiche les numéros de port pour les connexions |
@@ -52,7 +52,7 @@ Les unités pour l'indicateur **-u** sont les suivantes :
| octets | octets par seconde |
| paquets | paquets par seconde |
-Un exemple de sortie du serveur home de l'auteur exécutant un [relais](https://community.torproject.org/relay/types-of-relays/) [Tor](https://www.torproject.org/) :
+Un exemple de résultat du serveur home de l'auteur exécutant un [relais](https://community.torproject.org/relay/types-of-relays/) [Tor](https://www.torproject.org/) :
```bash
Listening on bridge b 25.0Kb 37.5Kb 50.0Kb 62.5Kb
diff --git a/docs/gemstones/network/mtr.de.md b/docs/gemstones/network/mtr.de.md
index ff70e82621..1445cfb132 100644
--- a/docs/gemstones/network/mtr.de.md
+++ b/docs/gemstones/network/mtr.de.md
@@ -1,11 +1,11 @@
---
-title: mtr - Netzwerk-Diagnose
+title: mtr — Netzwerk-Diagnose
author: tianci li
contributors: Steven Spencer, Neel Chauhan
date: 2021-10-20
---
-# `mtr` Einleitung
+# Einleitung
`mtr` ist ein Netzwerkdiagnosetool, das Netzwerkprobleme untersuchen kann. Es wird verwendet, um die Befehle `ping` und `traceroute` zu ersetzen. In Bezug auf die Leistung ist der Befehl `mtr` performanter.
diff --git a/docs/gemstones/network/mtr.fr.md b/docs/gemstones/network/mtr.fr.md
index dd7bf72312..c1c4a2d3ed 100644
--- a/docs/gemstones/network/mtr.fr.md
+++ b/docs/gemstones/network/mtr.fr.md
@@ -1,11 +1,11 @@
---
-title: mtr - Logiciel d'Analyse de Réseau
+title: mtr — Analyse de Réseau
author: tianci li
contributors: Steven Spencer, Neel Chauhan
date: 2021-10-20
---
-# Présentation de `mtr`
+# `mtr` — Introduction
`mtr` est un outil d'analyse de réseau qui permet de diagnostiquer certains problèmes. Il peut remplacer les commandes `ping` et `traceroute`. `mtr` est plus performant.
@@ -23,10 +23,10 @@ Les options les plus courantes de la commande `mtr` sont les suivantes. En temps
| -4 | # IPv4 seulement |
| -6 | # IPv6 seulement |
| -c COUNT | # Nombre de pings |
-| -n | # pas de résolution du nom de l'hôte |
-| -z | # Affichage du nombre AS |
+| -n | # pas de résolution du nom d'hôte |
+| -z | # Affichage du nombre AS (Autonomous System) |
| -b | # Affichage de l'adresse IP et du nom de l'hôte |
-| -w | # Output a wide range of reports |
+| -w | # Production d'une vaste gamme de rapports |
Les informations échangées avec le terminal sont les suivantes :
@@ -62,7 +62,7 @@ HOST: li Loss% Snt Last Avg Best Wrst StDev
## Racourcis de clavier
-* ++p++ - Pause
+* ++p++ – Pause
* ++d++ - display - mode d'affichage
* ++n++ - Activer/désactiver le DNS
* ++r++ - Remettre tous les compteurs à zéro
diff --git a/docs/gemstones/network/nload.de.md b/docs/gemstones/network/nload.de.md
new file mode 100644
index 0000000000..84ff6e7239
--- /dev/null
+++ b/docs/gemstones/network/nload.de.md
@@ -0,0 +1,86 @@
+---
+title: nload – Bandbreitenstatistik
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+date: 2024-01-16
+---
+
+# `nload` - Einleitung
+
+`nload` ist ein textkonsolenbasierter Netzwerk-Traffic-Monitor. Es zeigt die Traffics- und Bandbreiten-Statistiken Ihres Servers.
+
+## `nload`-Verwendung
+
+```bash
+dnf -y install epel-release
+dnf -y install nload
+```
+
+Im Folgenden finden Sie allgemeine Optionen für den Befehl `nload`, die unter normalen Umständen keine weiteren Schritte erfordern. Die Optionen stehen vor der zu überwachenden Schnittstelle:
+
+| Optionen | Beschreibung |
+| ----------- | ------------------------------------------------------------------------------------------------------- |
+| -a PERIOD | Dauer des Berechnungszeitfensters in Sekunden (Standard: 300) |
+| -m | Zeigt mehrere Geräte an und zeigt kein Traffic-Diagramm |
+| -t INTERVAL | Aktualisierungsintervall in Millisekunden (Standard: 500) |
+| -u UNIT | Einbuchstaben-Einheit zur Anzeige der Bandbreite (Standard: k) |
+| -U UNIT | Einbuchstaben-Einheit zur Anzeige der Datenübertragung (Standard: M) |
+
+Die Einheiten für diese letzten beiden Optionen sind wie folgt:
+
+| Einheit | Bedeutung |
+| ------- | --------- |
+| b | bit |
+| B | Byte |
+| k | Kilobit |
+| K | Kilobyte |
+| m | Megabit |
+| M | Megabyte |
+| g | Gigabit |
+| G | Gigabyte |
+
+Ein Beispiel für die Ausgabe vom Heimserver des Autors, auf dem ein [Tor](https://www.torproject.org/) [Relay](https://community.torproject.org/relay/types-of-relays/)-Programm ausgeführt wird:
+
+```bash
+Device bridge0 [172.20.0.3] (1/8):
+================================================================================
+Incoming:
+ ########
+ ########
+ ########
+ ########
+ ########
+ ######## Curr: 79.13 MBit/s
+ ######## Avg: 84.99 MBit/s
+ ######## Min: 79.13 MBit/s
+ ######## Max: 87.81 MBit/s
+ ######## Ttl: 1732.95 GByte
+Outgoing:
+ ########
+ ########
+ ########
+ ########
+ ########
+ ######## Curr: 81.30 MBit/s
+ ######## Avg: 88.05 MBit/s
+ ######## Min: 81.30 MBit/s
+ ######## Max: 91.36 MBit/s
+ ######## Ttl: 1790.74 GByte
+```
+
+Aufschlüsselung der obigen Zeilen:
+
+- Curr - aktuell gemessene Bandbreitennutzung
+- Avg – durchschnittliche Bandbreitennutzung im Zeitraum
+- Min - minimale gemessene Bandbreitennutzung
+- Max – maximal gemessene Bandbreitennutzung
+- Ttl – in der `nload`-Sitzung übertragene Daten
+
+## Tastaturkürzel
+
+- \++page-down++, ++down++ – Eine Schnittstelle nach unten gehen
+- \++page-up++, ++up++ – Eine Schnittstelle nach oben gehen
+- \++f2++ – Zeigt das Optionsfenster an
+- \++f5++ - Optionen speichern
+- \++f6++ – Einstellungen aus der Konfigurationsdatei neu laden
+- \++q++, ++Strg+C++ – `nload` beenden
diff --git a/docs/gemstones/network/nload.fr.md b/docs/gemstones/network/nload.fr.md
index f61119478a..1630b24360 100644
--- a/docs/gemstones/network/nload.fr.md
+++ b/docs/gemstones/network/nload.fr.md
@@ -18,7 +18,7 @@ dnf -y install nload
Voici les options courantes de la commande `nload` qui, dans des circonstances normales, ne nécessitent rien de plus. Les options précèdent l'interface à surveiller :
-| Options | Observation |
+| Option | Description |
| ----------- | --------------------------------------------------------------------------------------------------------------- |
| -a PERIOD | Durée de la fenêtre de calcul en secondes (par défaut : 300) |
| -m | Affiche plusieurs périphériques et ne présente pas de graphique de trafic |
diff --git a/docs/gemstones/network/nmcli.de.md b/docs/gemstones/network/nmcli.de.md
new file mode 100644
index 0000000000..8752c16357
--- /dev/null
+++ b/docs/gemstones/network/nmcli.de.md
@@ -0,0 +1,33 @@
+---
+title: nmcli — Autoconnect
+author: Wale Soyinka
+tags:
+ - nmcli
+---
+
+# Änderung der Autoconnect-Eigenschaft des NetworkManager-Verbindungsprofils
+
+Verwenden Sie zunächst `nmcli`, um den aktuellen Wert der `Autoconnect`-Eigenschaft für alle Netzwerkverbindungen auf einem Rocky Linux-System abzufragen und anzuzeigen. Geben Sie bitte Folgendes ein:
+
+```bash
+nmcli -f name,autoconnect connection
+```
+
+Um den Wert einer Eigenschaft für eine Netzwerkverbindung zu ändern, verwenden Sie den Unterbefehl `modify` mit `nmcli connection`. Um beispielsweise den Wert der Eigenschaft `autoconnect` für das Verbindungsprofil `ens3` von `no` in `yes` zu ändern, geben Sie Folgendes ein:
+
+```bash
+sudo nmcli con mod ens3 connection.autoconnect yes
+```
+
+## Zu den Befehlen
+
+```bash
+connection (con) : Netzwerk-Manager Connection-Objekt.
+modify (mod) : Eine oder mehrere Eigenschaften eines bestimmten Verbindungsprofils ändern.
+connection.autoconnect : Einstellung und Eigenschaften (.)
+-f, --fields : gibt die auszugebenden Felder an.
+```
+
+## Anmerkungen
+
+Dieser Hinweis zeigt, wie man ein bestehendes NetworkManager-Verbindungsprofil ändert. Dies ist nützlich, wenn die Netzwerkschnittstelle nach einer erneuten Rocky Linux Installation oder einem Systemupdate nicht automatisch aktiviert wird. Der Grund dafür liegt oft darin, dass der Wert der Eigenschaft autoconnect auf `o` gesetzt wird. Sie können den `nmcli`-Befehl verwenden, um den Wert schnell auf `yes` zu ändern.
diff --git a/docs/gemstones/network/nmcli.fr.md b/docs/gemstones/network/nmcli.fr.md
index 7f1f470b25..dce9d261fb 100644
--- a/docs/gemstones/network/nmcli.fr.md
+++ b/docs/gemstones/network/nmcli.fr.md
@@ -1,13 +1,13 @@
---
-title: nmcli - définir la connexion automatique
-author: wale soyinka
+title: nmcli — Définition de la Connexion Automatique
+author: Wale Soyinka
tags:
- nmcli
---
-# Modifier la propriété 'autoconnect' du profil de connexion de NetworkManager
+# Modifier la propriété `autoconnect` du profil de connexion de NetworkManager
-Utilisez d'abord `nmcli` pour lire et afficher la valeur actuelle de la propriété de connexion automatique pour toutes les connexions réseau sur un système Rocky Linux. Entrer la commande suivante :
+Utilisez d'abord `nmcli` pour lire et afficher la valeur actuelle de la propriété de connexion automatique pour toutes les connexions réseau sur un système Rocky Linux. Entrez la commande suivante :
```bash
nmcli -f name,autoconnect connection
diff --git a/docs/gemstones/network/nmtui.de.md b/docs/gemstones/network/nmtui.de.md
index 0eb7d4b8cc..c56fe1f085 100644
--- a/docs/gemstones/network/nmtui.de.md
+++ b/docs/gemstones/network/nmtui.de.md
@@ -1,5 +1,5 @@
---
-title: nmtui - Netzwerk-Management-Tool
+title: nmtui — Netzwerk-Management-Tool
author: tianci li
contributors: Steven Spencer, Neil Hanlon
update: 2021-10-23
diff --git a/docs/gemstones/network/nmtui.fr.md b/docs/gemstones/network/nmtui.fr.md
index fe0403836e..2503ebb009 100644
--- a/docs/gemstones/network/nmtui.fr.md
+++ b/docs/gemstones/network/nmtui.fr.md
@@ -1,5 +1,5 @@
---
-title: nmtui - Outil de gestion du réseau
+title: nmtui — Gestion du réseau
author: tianci li
contributors: Steven Spencer, Neil Hanlon
update: 2021-10-23
@@ -36,7 +36,7 @@ Pour IPv4, s'il s'agit d'obtenir des informations réseau avec DHCP, sélectionn
Si vous voulez corriger manuellement toutes les informations du réseau IPv4, vous devez sélectionner **<Manual>** après *CONFIGURATION IPv4* et les jouter ligne par ligne. Par exemple, l'auteur utilise ceci :
-| Élément | Valeur |
+| Item | Valeur |
| ------------ | ---------------- |
| Adresses | 192.168.100.4/24 |
| Passerelle | 192.168.100.1 |
diff --git a/docs/gemstones/perl_search_replace.de.md b/docs/gemstones/perl_search_replace.de.md
index a945ee1d91..ba1949506c 100644
--- a/docs/gemstones/perl_search_replace.de.md
+++ b/docs/gemstones/perl_search_replace.de.md
@@ -1,9 +1,9 @@
---
-title: perl - Suchen und Ersetzen
+title: perl – Suchen und Ersetzen
author: Steven Spencer
tags:
- perl
- - search
+ - suche
---
# `perl` – Suchen und Ersetzen
diff --git a/docs/gemstones/perl_search_replace.fr.md b/docs/gemstones/perl_search_replace.fr.md
index f90b2fd583..b8aad702a2 100644
--- a/docs/gemstones/perl_search_replace.fr.md
+++ b/docs/gemstones/perl_search_replace.fr.md
@@ -3,7 +3,7 @@ title: perl - Rechercher et Remplacer
author: Steven Spencer
tags:
- perl
- - search
+ - recherche
---
# `perl` - Rechercher et Remplacer
diff --git a/docs/gemstones/rpaste.de.md b/docs/gemstones/rpaste.de.md
new file mode 100644
index 0000000000..c184bddeae
--- /dev/null
+++ b/docs/gemstones/rpaste.de.md
@@ -0,0 +1,78 @@
+---
+title: rpaste — Pastebin Tool
+author: Steven Spencer
+contributors:
+tags:
+ - rpaste
+ - Mattermost
+ - pastebin
+---
+
+# Einführung in `rpaste`
+
+`rpaste` ist ein Tool zum Teilen von Code, Protokollausgaben und anderen besonders langen Texten. Es ist ein `Pastebin`, das von den Entwicklern von Rocky Linux erstellt wurde. Dieses Tool ist nützlich, wenn Sie etwas öffentlich teilen müssen, den Feed jedoch nicht mit Ihrem Text überladen möchten. Dies ist insbesondere bei der Verwendung von Mattermost wichtig, das Brücken zu anderen IRC-Diensten bietet. Das `rpaste`-Tool kann auf jedem Rocky Linux System installiert werden. Wenn Ihr Desktop-Computer nicht Rocky Linux ist oder Sie das Tool einfach nicht installieren möchten, können Sie es manuell verwenden, indem Sie auf die [Pinnwand-URL](https://rpa.st) zugreifen und dann die Systemausgabe oder den Text einfügen, den Sie teilen möchten. `rpaste` erlaubt es Ihnen, diese Informationen automatisch anzulegen.
+
+## Installation
+
+Installation von `rpaste` auf Rocky Linux:
+
+```bash
+sudo dnf --enablerepo=extras install rpaste
+```
+
+## Verwendung
+
+Bei größeren Systemproblemen müssen Sie möglicherweise alle Informationen Ihres Systems senden, damit diese überprüft werden können. Um dies zu erreichen, geben Sie Folgendes ein:
+
+```bash
+rpaste --sysinfo
+```
+
+Gibt den Link auf die Pinnwand-Seite zurück:
+
+```bash
+Uploading...
+Paste URL: https://rpa.st/2GIQ
+Raw URL: https://rpa.st/raw/2GIQ
+Removal URL: https://rpa.st/remove/YBWRFULDFCGTTJ4ASNLQ6UAQTA
+```
+
+Sie können die Informationen dann selbst in einem Browser überprüfen und entscheiden, ob Sie sie behalten oder entfernen und neu starten möchten. Wenn Sie es behalten möchten, können Sie die `Paste URL` kopieren und mit wem auch immer teilen oder im Feed auf Mattermost. Zum Entfernen kopieren Sie einfach die `Removal URL` und öffnen Sie diese in Ihrem Browser.
+
+Sie können Ihrem `Pastebin` Inhalte hinzufügen, indem Sie Inhalte übermitteln. Wenn Sie zum Beispiel Inhalte aus Ihrer `/var/log/messages` Datei vom 10. März hinzufügen wollten, können Sie folgendes tun:
+
+```bash
+sudo more /var/log/messages | grep 'Mar 10' | rpaste
+```
+
+## Hilfe zu `rpaste`
+
+Um Hilfe zum Befehl zu erhalten, geben Sie einfach folgendes ein:
+
+```bash
+rpaste --help
+```
+
+Dies ergibt folgende Ausgabe:
+
+```bash
+rpaste: A paste utility originally made for the Rocky paste service
+
+Usage: rpaste [options] [filepath]
+ command | rpaste [options]
+
+This command can take a file or standard in as input
+
+Options:
+--life value, -x value Sets the life time of a paste (1hour, 1day, 1week) (default: 1hour)
+--type value, -t value Sets the syntax highlighting (default: text)
+--sysinfo, -s Collects general system information (disables stdin and file input) (default: false)
+--dry, -d Turns on dry mode, which doesn't paste the output, but shows the data to stdin (default: false)
+--pastebin value, -p value Sets the paste bin service to send to. Current supported: rpaste, fpaste (default: "rpaste")
+--help, -h show help (default: false)
+--version, -v print the version (default: false)
+```
+
+## Fazit
+
+Es ist manchmal wichtig, eine große Menge an Text zu teilen, wenn man an einem Problem, dem Implementieren von Code oder Editieren von Text usw. arbeitet. Durch die Verwendung von `rpaste` müssen andere nicht große Mengen an Textinhalten anzeigen, die für sie nicht wichtig sind. Achten Sie bitte auch auf die Chat-Etikette von Rocky Linux.
diff --git a/docs/gemstones/scripts/NoSleep.de.md b/docs/gemstones/scripts/NoSleep.de.md
new file mode 100644
index 0000000000..3d38f74aa8
--- /dev/null
+++ b/docs/gemstones/scripts/NoSleep.de.md
@@ -0,0 +1,38 @@
+---
+title: NoSleep.sh – Ein einfaches Konfigurationsskript
+author: Andrew Thiesen
+tags:
+ - Konfiguration
+ - Server
+ - Workstation
+---
+
+# NoSleep.sh
+
+## Bash Script editieren `/etc/systemd/logind.conf`
+
+Dieses Bash-Skript dient zum Ändern der Konfigurationsdatei `/etc/systemd/logind.conf` auf einem Rocky Linux-Server oder einer Rocky Linux-Workstation. Insbesondere ändert es die Option `HandleLidSwitch` und setzt sie auf `ignore`. Diese Konfigurationsänderung wird häufig verwendet, um zu verhindern, dass das System in den Ruhezustand versetzt wird oder eine Aktion ausführt, wenn der Laptopdeckel geschlossen ist.
+
+### Verwendung
+
+Um das Skript zu verwenden, führen Sie die folgenden Schritte aus:
+
+1. Öffnen Sie ein Terminal auf Ihrem Linux-System.
+2. `cd` in Ihr bevorzugtes Verzeichnis.
+3. Laden Sie das Skript NoSleep.sh über `curl` herunter: `curl -O https://github.com/andrewthiesen/NoSleep.sh/blob/main/NoSleep.sh`
+4. Machen Sie das NoSleep-Skript ausführbar, indem Sie den Befehl `chmod +x NoSleep.sh` ausführen.
+5. Führen Sie das Skript als Root mit dem Befehl `sudo ./NoSleep.sh` aus.
+6. Das Skript aktualisiert die Option `HandleLidSwitch` in der Datei `logind.conf` auf `ignore`.
+7. Optional werden Sie aufgefordert, das System neu zu starten, damit die Änderungen endgültig wirksam werden.
+
+### Wichtige Hinweise
+
+* Dieses Skript **muss** als Root oder mit Superuser-Berechtigungen ausgeführt werden, um Systemdateien zu ändern.
+* Es wird davon ausgegangen, dass sich die Datei `logind.conf` unter `/etc/systemd/logind.conf` befindet. Wenn Ihr System einen anderen Speicherort verwendet, ändern Sie das Skript bitte entsprechend.
+* Das Ändern von Systemkonfigurationsdateien kann unbeabsichtigte Folgen haben. Bitte überprüfen Sie die vom Skript vorgenommenen Änderungen und stellen Sie sicher, dass sie Ihren Anforderungen entsprechen.
+* Es wird empfohlen, vor der Ausführung des Skripts entsprechende Vorsichtsmaßnahmen zu treffen, z. B. eine Sicherungskopie der ursprünglichen Konfigurationsdatei zu erstellen.
+* Ein Neustart Ihres Systems ist optional, kann aber sicherstellen, dass die Änderungen sofort wirksam werden. Nach der Ausführung des Skripts werden Sie zum Neustart aufgefordert.
+
+---
+
+Sie können das Skript gerne Ihren Anforderungen entsprechend anpassen und verwenden. Stellen Sie sicher, dass Sie das Skript und seine Auswirkungen verstehen, bevor Sie es auf Ihrem System ausführen.
diff --git a/docs/gemstones/scripts/bash_stub.fr.md b/docs/gemstones/scripts/bash_stub.fr.md
index eeca0fbc38..60a45ec403 100644
--- a/docs/gemstones/scripts/bash_stub.fr.md
+++ b/docs/gemstones/scripts/bash_stub.fr.md
@@ -1,5 +1,5 @@
---
-title: bash – Ébauche de Script
+title: bash — Ébauche de Script
author: Steven Spencer
contributors: Ezequiel Bruni
---
@@ -102,4 +102,4 @@ rm -f $LOCKF
## Conclusion
-Scripting is a System Administrator's friend. Être capable de faire rapidement certaines tâches dans un script rationalise la réalisation du processus. Bien qu'il ne s'agisse pas d'un ensemble exhaustif de routines de scripts, ce conteneur offre quelques exemples d'utilisation courante.
+Scripting is a System Administrator's friend. Être capable de faire rapidement certaines tâches dans un script rationalise la réalisation du processus. Bien qu'il ne s'agisse pas d'un ensemble exhaustif de routines de scripts, ce `stub` offre quelques exemples d'utilisation courante.
diff --git a/docs/gemstones/sed_search_replace.de.md b/docs/gemstones/sed_search_replace.de.md
new file mode 100644
index 0000000000..0bee9c7fbd
--- /dev/null
+++ b/docs/gemstones/sed_search_replace.de.md
@@ -0,0 +1,75 @@
+---
+title: sed — Suchen und Ersetzen
+author: Steven Spencer
+---
+
+# `sed` - Suchen und Ersetzen
+
+`sed` ist ein Befehl, der für "stream-editor" steht.
+
+## Konventionen
+
+* `path`: Der aktuelle Pfad. Beispiel: `/var/www/html/`
+* `Dateiname`: Der aktuelle Dateiname. Beispiel: `index.php`
+
+## `sed` - Verwendung
+
+Die Verwendung von `sed` zum Suchen und Ersetzen ist die persönliche Präferenz des Autors, da Sie ein Trennzeichen Ihrer Wahl verwenden können, was das Ersetzen von Dingen wie Weblinks durch „/“ sehr praktisch macht. Die Standardbeispiele für die `in place`-Bearbeitung mit `sed` schlagen solche Dinge vor:
+
+`sed -i 's/search_for/replace_with/g' /path/filename`
+
+Was aber, wenn Sie nach Zeichenfolgen suchen, die `/` enthalten? Wenn der Schrägstrich die einzige als Trennzeichen verfügbare Option wäre? Sie müssten jeden Schrägstrich maskieren, bevor Sie ihn in der Suche verwenden könnten. In diesem Punkt ist `sed` anderen Tools überlegen, da das Trennzeichen im laufenden Betrieb geändert werden kann (Sie müssen nicht angeben, dass Sie es irgendwo ändern). Wenn Sie wie gesagt nach Dingen suchen, die „/“ enthalten, können Sie das tun, indem Sie das Trennzeichen in „|“ ändern. Hier ist ein Beispiel für die Suche nach einem Link mit dieser Methode:
+
+`sed -i 's|search_for/with_slash|replace_string|g' /path/filename`
+
+Sie können jedes einzelne Byte-Zeichen als Trennzeichen verwenden, mit Ausnahme von Backslash, Newline und "s". Zum Beispiel funktioniert das auch:
+
+`sed -i 'sasearch_forawith_slashareplace_stringag' /path/filename` where "a" is the delimiter, and the search and replace still works. Aus Sicherheitsgründen können Sie beim Suchen und Ersetzen ein Backup angeben. Dies ist nützlich, um sicherzustellen, dass die Änderungen, die Sie mit `SED` vornehmen, die sind, die Sie _wirklich em> beabsichtigen. Dies gibt Ihnen eine Wiederherstellungsoption aus der Sicherungsdatei:
+
+`sed -i.bak s|search_for|replacea_with|g /path/filename`
+
+Das erzeugt eine unbearbeitete Version von `Dateiname` namens `Dateiname.bak`
+
+Sie können auch vollständige Anführungszeichen anstelle von einfachen Anführungszeichen verwenden:
+
+`sed -i "s|search_for/with_slash|replace_string|g" /path/filename`
+
+## Optionen erklärt
+
+| Option | Erläuterung |
+| ------ | --------------------------------------------------------------- |
+| i | Datei an Ort bearbeiten |
+| i.ext | erstellt ein Backup, passend zur Erweiterung (ext hier) |
+| s | spezifiziert die Suche |
+| g | Gibt an, dass global oder alle Vorkommen ersetzt werden sollen. |
+
+## Mehrere Dateien
+
+Leider verfügt `sed` nicht über eine Inline-Schleifenoption wie `perl`. Um mehrere Dateien zu durchlaufen, müssen Sie Ihren `sed`-Befehl in einem Skript kombinieren. Hier ist ein Beispiel dafür.
+
+Erstellen Sie zunächst eine Liste der Dateien, die das Skript verwenden soll. Tun Sie dies von der Befehlszeile aus mit Folgendem:
+
+`find /var/www/html -name "*.php" > phpfiles.txt`
+
+Als Nächstes erstellen Sie ein Skript um die Datei `phpfiles.txt` zu bearbeiten:
+
+```bash
+#!/bin/bash
+
+for file in `cat phpfiles.txt`
+do
+ sed -i.bak 's|search_for/with_slash|replace_string|g' $file
+done
+```
+
+Das Skript durchläuft alle in `phpfiles.txt` erstellten Dateien, erstellt eine Sicherungskopie jeder Datei und führt die Such- und Ersetzungszeichenfolge global aus. Wenn Sie überprüft haben, dass die Änderungen Ihren Wünschen entsprechen, können Sie alle Sicherungsdateien löschen.
+
+## Weitere Lektüre und Beispiele
+
+* `sed` [manual page](https://linux.die.net/man/1/sed)
+* `sed` [additional examples](https://www.linuxtechi.com/20-sed-command-examples-linux-users/)
+* `sed` & `awk` [O'Reilly Book](https://www.oreilly.com/library/view/sed-awk/1565922255/)
+
+## Zusammenfassung
+
+`sed` ist ein leistungsfähiges Werkzeug und funktioniert sehr gut für Such- und Ersetzungs-Funktionen, insbesondere dort, wo der Trenner flexibel sein muss.
diff --git a/docs/gemstones/setup_local_repo.de.md b/docs/gemstones/setup_local_repo.de.md
new file mode 100644
index 0000000000..65c0fd6c37
--- /dev/null
+++ b/docs/gemstones/setup_local_repo.de.md
@@ -0,0 +1,51 @@
+---
+title: Lokale Rocky-Repositories einrichten
+author: codedude
+contributors: Steven Spencer
+update: 09-Dec-2021
+---
+
+# Einleitung
+
+Manchmal müssen Sie Rocky Repositories lokal einrichten, um virtuelle Maschinen, Laborumgebungen usw. zu erstellen. Es kann auch helfen, Bandbreite zu sparen, wenn das ein Anliegen ist. Dieser Artikel wird Sie mit `rsync` begleiten, um Rocky Repositories auf einen lokalen Webserver zu kopieren. Der Aufbau eines Webservers geht über den Rahmen dieses kurzen Artikels hinaus.
+
+## Voraussetzung
+
+* Ein Webserver
+
+## Code
+
+```bash
+#!/bin/bash
+repos_base_dir="/web/path"
+
+# Start sync if base repo directory exist
+if [[ -d "$repos_base_dir" ]] ; then
+ # Start Sync
+ rsync -avSHP --progress --delete --exclude-from=/opt/scripts/excludes.txt rsync://ord.mirror.rackspace.com/rocky "$repos_base_dir" --delete-excluded
+ # Download Rocky 8 repository key
+ if [[ -e /web/path/RPM-GPG-KEY-rockyofficial ]]; then
+ exit
+ else
+ wget -P $repos_base_dir https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-rockyofficial
+ fi
+fi
+```
+
+## Breakdown
+
+Dieses einfache Shell-Skript verwendet `rsync`, um die Repository-Dateien vom nächstgelegenen Spiegel abzurufen. Es nutzt auch die `exclude`-Option, die in einer Textdatei in Form von Schlüsselwörtern definiert ist, die nicht enthalten sein sollten. `Excludes` sind nützlich, wenn Sie nur begrenzten Speicherplatz haben oder wenn Sie aus irgendeinem Grund nicht alles möchten. Sie können `*` als Platzhalter verwenden. Seien Sie vorsichtig bei der Verwendung von `*/ng`, da dadurch alles ausgeschlossen wird, was diesen Zeichen entspricht. Hier ein Beispiel:
+
+```bash
+*/source*
+*/debug*
+*/images*
+*/Devel*
+8/*
+8.4-RC1/*
+8.4-RC1
+```
+
+## Zusammenfassung
+
+Ein einfaches Skript, das dazu beitragen sollte, Bandbreite zu sparen oder das Erstellen einer Laborumgebung ein wenig zu vereinfachen.
diff --git a/docs/gemstones/string_color.de.md b/docs/gemstones/string_color.de.md
new file mode 100644
index 0000000000..f034b29b45
--- /dev/null
+++ b/docs/gemstones/string_color.de.md
@@ -0,0 +1,94 @@
+---
+title: bash — Zeichenketten-Farbe
+author: tianci li
+contributors: Steven Spencer
+tested_with: 8.6, 9.0
+tags:
+ - bash
+ - Farben
+---
+
+# Einleitung
+
+Wenn wir Bash-Skripte herunterladen, die von anderen geschrieben wurden, werden manchmal einige Zeichenketten mit speziellen Farben gekennzeichnet. Wie kann dieser Effekt in einem bash-Skript erreicht werden?
+
+## Schriftfarbe
+
+| **Farbcode** | **Beschreibung** |
+|:------------:|:----------------:|
+| 30 | schwarz |
+| 31 | rot |
+| 32 | grün |
+| 33 | gelb |
+| 34 | blue |
+| | lila |
+| 36 | dunkelgrün |
+| 37 | weiß |
+
+## Hintergrundfarbe der Schrift
+
+| **Hintergrundfarbcode** | **Beschreibung** |
+|:-----------------------:|:----------------:|
+| 40 | schwarz |
+| 41 | crimson |
+| 42 | grün |
+| 43 | gelb |
+| 44 | blau |
+| 45 | lila |
+| 46 | dunkelgrün |
+| 47 | weiß |
+
+## Anzeigemodus
+
+| **Code** | **Beschreibung** |
+|:--------:|:------------------------------:|
+| 0 | Terminal-Standardeinstellungen |
+| 1 | Hervorhebung |
+| 4 | Unterstrichen |
+| 5 | Cursor blinkt |
+| 7 | Anzeige umkehren |
+| 8 | Ausblenden |
+
+## Ausführungsmodus
+
+* **\033[1;31;40m** `1` gibt den Anzeigemodus an, der optional ist. „31“ gibt die Schriftfarbe an. `40m` gibt die Hintergrundfarbe der Schrift an
+
+* **\033[0m** Stellt die Standardfarbe des Terminals wieder her, d. h., hebt die Farbeinstellung auf
+
+## Skript-Beispiel
+
+Sie können ein Skript schreiben, um die Farbänderung zu testen, z.B.:
+
+```bash
+#!/bin/bash
+# Font color cycle
+for color1 in {31..37}
+ do
+ echo -e "\033[0;${color1};40m---hello! Rocky---\033[0m"
+ done
+
+echo "-------"
+
+# Background color cycle
+for color2 in {40..47}
+ do
+ echo -e "\033[30;${color2}m---hello! Rocky---\033[0m"
+ done
+
+echo "-------"
+
+# Cycle of display mode
+for color3 in 0 1 4 5 7 8
+ do
+ echo -e "\033[${color3};37;40m---hello! Rocky---\033[0m"
+ done
+```
+
+```bash
+Shell > chmod a+x color_set.sh
+Shell > ./color_set.sh
+```
+
+So sieht das Ergebnis aus:
+
+
diff --git a/docs/gemstones/string_color.fr.md b/docs/gemstones/string_color.fr.md
index ef65c10580..fa4ecf4bf7 100644
--- a/docs/gemstones/string_color.fr.md
+++ b/docs/gemstones/string_color.fr.md
@@ -30,7 +30,7 @@ Lorsque nous téléchargeons des scripts bash qui ont été écrits par d'autres
| **Code couleur d'arrière-plan** | **description** |
|:-------------------------------:|:---------------:|
| 40 | noir |
-| 41 | crimson |
+| 41 | cramoisi |
| 42 | vert |
| 43 | jaune |
| 44 | bleu |
diff --git a/docs/gemstones/test_cpu_compat.de.md b/docs/gemstones/test_cpu_compat.de.md
new file mode 100644
index 0000000000..e20576bbe6
--- /dev/null
+++ b/docs/gemstones/test_cpu_compat.de.md
@@ -0,0 +1,35 @@
+---
+title: Test der CPU-Kompatibilität
+author: Steven Spencer
+contributors: Louis Abel, Ganna Zhyrnova
+tags:
+ - cpu test
+---
+
+# Einleitung
+
+Seit der Veröffentlichung von Rocky Linux 9 sind einige Installationen auf x86-64-Plattformen beim Start mit einer Kernel-Panic-Meldung fehlgeschlagen. In den meisten Fällen ist dies auf die ==Inkompatibilität der CPU mit Rocky Linux 9== zurückzuführen. Mit diesem Verfahren wird die CPU-Kompatibilität vor der Installation überprüft. **Update:** Dieses Verfahren spiegelt nun auch die Mindestprozessorkompatibilität für Rocky Linux 10 wider.
+
+## Testen
+
+1. Besorgen Sie sich ein Boot-Image von Rocky Linux 8, Fedora oder anderen.
+
+2. Booten Sie dieses Live-Image auf dem Computer, auf dem Sie Rocky Linux 9 installieren möchten.
+
+3. Nachdem der Startvorgang abgeschlossen ist, öffnen Sie ein Terminalfenster und führen Sie dieses Kommando aus:
+
+ ```bash
+ /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
+ ```
+
+ Sie sollten eine Ausgabe erhalten, die etwa dieser ähnelt:
+
+ ```bash
+ Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
+ This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
+ x86-64-v4
+ x86-64-v3
+ x86-64-v2 (supported, searched)
+ ```
+
+ Diese Ausgabe gibt die minimal erforderliche x86-64-Version (v2) an. In diesem Fall kann die Installation fortgesetzt werden. Wenn Sie neben `x86-64-v2` kein Eintrag (`supported, searched`) sehen, ist Ihre CPU nicht mit Rocky Linux 9.x kompatibel. Wenn der Test anzeigt, dass Ihre Installation fortgesetzt werden kann und x86-64-v3 (erforderlich für Rocky Linux 10) und x86-64-v4 auch als `(supported, searched)` aufgeführt werden, wird Ihre CPU für 9.x und zukünftige Versionen gut unterstützt.
diff --git a/docs/gemstones/test_cpu_compat.fr.md b/docs/gemstones/test_cpu_compat.fr.md
index 2d830c36d0..501ca3d27f 100644
--- a/docs/gemstones/test_cpu_compat.fr.md
+++ b/docs/gemstones/test_cpu_compat.fr.md
@@ -8,7 +8,7 @@ tags:
# Introduction
-Depuis la sortie de Rocky Linux 9, certaines installations sur les plateformes x86-64 échouent au démarrage en indiquant le message `kernel panic`. Dans la plupart des cas ==cela est dû à une incompatibilité CPU== avec Rocky Linux 9. Cette procédure permettra de vérifier la compatibilité du processeur avant l’installation.
+Depuis la sortie de Rocky Linux 9, certaines installations sur les plateformes x86-64 échouent au démarrage en indiquant le message `kernel panic`. Dans la plupart des cas ==cela est dû à une incompatibilité CPU== avec Rocky Linux 9. Cette procédure permettra de vérifier la compatibilité du processeur avant l’installation. **Mise à jour :** Cette procédure reflète désormais également la compatibilité minimale du processeur pour Rocky Linux 10.
## Test
@@ -18,18 +18,18 @@ Depuis la sortie de Rocky Linux 9, certaines installations sur les plateformes x
3. Une fois le lancement terminé, ouvrez une fenêtre de terminal et procédez comme suit :
- ```bash
- /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
- ```
+ ```bash
+ /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
+ ```
- Vous devriez obtenir une sortie similaire à ceci :
+ Vous devriez obtenir une sortie similaire à ceci :
- ```bash
- Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
- This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
- x86-64-v4
- x86-64-v3
- x86-64-v2 (supported, searched)
- ```
+ ```bash
+ Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
+ This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
+ x86-64-v4
+ x86-64-v3
+ x86-64-v2 (supported, searched)
+ ```
- Cette sortie indique la version minimale x86-64 (v2) requise. Dans ce cas, l'installation peut continuer. S'il n'y a pas d'indication "(supported, searched)" à côté de l'entrée "x86-64-v2", cela signifie que votre processeur n'est **pas** compatible avec Rocky Linux 9.x. Si le test montre que l'installation peut continuer et qu'il répertorie également x86-64-v3 et x86-64-v4 comme "(supported, searched)", votre processeur est bien pris en charge pour les versions 9.x et futures.
+ Cette sortie indique la version minimale x86-64 (v2) requise. Dans ce cas, l'installation peut continuer. S'il n'y a pas d'indication "(supported, searched)" à côté de l'entrée "x86-64-v2", cela signifie que votre processeur n'est **pas** compatible avec Rocky Linux 9.x. Si le test indique que votre installation peut continuer et qu'il répertorie également x86-64-v3 (requis pour Rocky Linux 10) et x86-64-v4 comme (`supported, searched`), votre CPU sera bien pris en charge pour 9.x et les versions suivantes.
diff --git a/docs/gemstones/test_cpu_compat.it.md b/docs/gemstones/test_cpu_compat.it.md
index fd38c7b486..29d4c9b14b 100644
--- a/docs/gemstones/test_cpu_compat.it.md
+++ b/docs/gemstones/test_cpu_compat.it.md
@@ -1,6 +1,6 @@
---
title: Test di compatibilità della CPU
-author: Spencer Steven
+author: Steven Spencer
contributors: Louis Abel, Ganna Zhyrnova
tags:
- cpu test
@@ -8,28 +8,28 @@ tags:
# Introduzione
-Dal rilascio di Rocky Linux 9, alcune installazioni su piattaforme x86-64 sono fallite con un kernel panic. Nella maggior parte dei casi, ==questo è dovuto all'incompatibilità della CPU== con Rocky Linux 9. Questa procedura consente di verificare la compatibilità della CPU prima dell'installazione.
+Dal rilascio di Rocky Linux 9, alcune installazioni su piattaforme x86-64 sono fallite con un kernel panic. Nella maggior parte dei casi, ==questo è dovuto all'incompatibilità della CPU== con Rocky Linux 9. Questa procedura consente di verificare la compatibilità della CPU prima dell'installazione. **Aggiornamento:** Questa procedura riflette ora anche la compatibilità minima del processore per Rocky Linux 10.
## Verifica
1. Procurarsi un'immagine di avvio di Rocky Linux 8, Fedora o altri.
-2. Avviare l'immagine live sulla macchina dove si desidera installare Rocky Linux 9.
+2. Avviare l'immagine live sul computer in cui si vuole installare Rocky Linux 9.
3. Al termine dell'avvio, aprire una finestra del terminale ed eseguire questa operazione:
- ```bash
- /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
- ```
+ ```bash
+ /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
+ ```
- Si dovrebbe ottenere un risultato simile a questo:
+ Si dovrebbe ottenere un risultato simile a questo:
- ```bash
- Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
- This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
- x86-64-v4
- x86-64-v3
- x86-64-v2 (supported, searched)
- ```
+ ```bash
+ Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
+ This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
+ x86-64-v4
+ x86-64-v3
+ x86-64-v2 (supported, searched)
+ ```
- Questo output indica la versione minima richiesta per x86-64 (v2). In questo caso, l'installazione può continuare. Se accanto alla voce "x86-64-v2" non compare "(supported, searched)", allora la vostra CPU non è **compatibile** con Rocky Linux 9.x. Se il test mostra che l'installazione può continuare e indica anche x86-64-v3 e x86-64-v4 come "(supported, searched)", significa che la CPU è ben supportata per 9.x e le versioni future.
+ Questo output indica la versione minima richiesta per x86-64 (v2). In questo caso, l'installazione può continuare. Se accanto alla voce "x86-64-v2" non compare "(supported, searched)", allora la vostra CPU non è **compatibile** con Rocky Linux 9.x. Se il test indica che l'installazione può procedere e indica anche x86-64-v3 (richiesto per Rocky Linux 10) e x86-64-v4 come "(supported, searched)", la vostra CPU è ben supportata per 9.x e le versioni future.
diff --git a/docs/gemstones/test_cpu_compat.md b/docs/gemstones/test_cpu_compat.md
index 57fae74fd6..39a76e7add 100644
--- a/docs/gemstones/test_cpu_compat.md
+++ b/docs/gemstones/test_cpu_compat.md
@@ -8,13 +8,13 @@ tags:
# Introduction
-Since the release of Rocky Linux 9, some installations on x86-64 platforms have failed with a kernel panic. In most cases, ==this is due to the CPU's incompatibility== with Rocky Linux 9. This procedure will verify CPU compatibility before installation.
+Since the release of Rocky Linux 9, some installations on x86-64 platforms have failed with a kernel panic. In most cases, ==this is due to the CPU's incompatibility== with Rocky Linux 9. This procedure will verify CPU compatibility before installation. **Update:** This procedure now also reflects the minimum processor compatibility for Rocky Linux 10.
## Testing
1. Obtain a boot image of Rocky Linux 8, Fedora, or others.
-2. Boot this live image on the machine where you want the installation of Rocky Linux 9 to be.
+2. Boot this live image on the machine where you want to install Rocky Linux 9.
3. After the boot completes, open a terminal window and run this procedure:
@@ -32,4 +32,4 @@ Since the release of Rocky Linux 9, some installations on x86-64 platforms have
x86-64-v2 (supported, searched)
```
- This output indicates the minimum required x86-64 version (v2). Installation can continue in this case. If "(supported, searched)" is missing next to the "x86-64-v2" entry, then your CPU is **not** compatible with Rocky Linux 9.x. If the test shows that your installation can continue and it also shows x86-64-v3 and x86-64-v4 as "(supported, searched)", your CPU is well supported for 9.x and future versions.
+ This output indicates the minimum required x86-64 version (v2). Installation can continue in this case. If "(supported, searched)" is missing next to the "x86-64-v2" entry, then your CPU is **not** compatible with Rocky Linux 9.x. If the test indicates that your installation can proceed and it also lists x86-64-v3 (required for Rocky Linux 10) and x86-64-v4 as "(supported, searched)", your CPU is well-supported for 9.x and future versions.
diff --git a/docs/gemstones/test_cpu_compat.uk.md b/docs/gemstones/test_cpu_compat.uk.md
index 5c6376b80d..db79425c85 100644
--- a/docs/gemstones/test_cpu_compat.uk.md
+++ b/docs/gemstones/test_cpu_compat.uk.md
@@ -8,7 +8,7 @@ tags:
# Вступ
-Після випуску Rocky Linux 9 деякі інсталяції на платформах x86-64 зазнали невдачі через паніку ядра. У більшості випадків ==це відбувається через несумісність ЦП== із Rocky Linux 9. Ця процедура перевірить сумісність процесора перед встановленням.
+Після випуску Rocky Linux 9 деякі інсталяції на платформах x86-64 зазнали невдачі через паніку ядра. У більшості випадків ==це відбувається через несумісність ЦП== із Rocky Linux 9. Ця процедура перевірить сумісність процесора перед встановленням. **Оновлення:** Ця процедура тепер також відображає мінімальну сумісність процесорів для Rocky Linux 10.
## Тестування
@@ -18,18 +18,18 @@ tags:
3. Після завершення завантаження відкрийте вікно терміналу та виконайте цю процедуру:
- ```bash
- /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
- ```
+ ```bash
+ /lib64/ld-linux-x86-64.so.2 --help | grep x86-64
+ ```
- Ви маєте отримати подібний результат:
+ Ви маєте отримати подібний результат:
- ```bash
- Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
- This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
- x86-64-v4
- x86-64-v3
- x86-64-v2 (supported, searched)
- ```
+ ```bash
+ Usage: /lib64/ld-linux-x86-64.so.2 [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
+ This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2
+ x86-64-v4
+ x86-64-v3
+ x86-64-v2 (supported, searched)
+ ```
- Цей вихід вказує на мінімальну необхідну версію x86-64 (v2). У цьому випадку встановлення можна продовжити. Якщо біля запису «x86-64-v2» немає «(підтримується, шукається)», це означає, що ваш ЦП **не** сумісний із Rocky Linux 9.x. Якщо тест показує, що інсталяцію можна продовжити, і він також вказує на x86-64-v3 і x86-64-v4 як «(підтримується, шукається)», ваш ЦП добре підтримується для 9.x і майбутніх версій.
+ Цей вихід вказує на мінімальну необхідну версію x86-64 (v2). У цьому випадку встановлення можна продовжити. Якщо біля запису «x86-64-v2» немає «(підтримується, шукається)», це означає, що ваш ЦП **не** сумісний із Rocky Linux 9.x. Якщо тест показує, що встановлення може продовжитися, а також відображає x86-64-v3 (обов'язкове для Rocky Linux 10) та x86-64-v4 як "(підтримується, знайдено)", ваш процесор добре підтримується для версії 9.x та наступних версій.
diff --git a/docs/gemstones/torsocks.de.md b/docs/gemstones/torsocks.de.md
index c8889a945d..5de529f814 100644
--- a/docs/gemstones/torsocks.de.md
+++ b/docs/gemstones/torsocks.de.md
@@ -1,5 +1,5 @@
---
-title: torsocks - Route Traffic Via Tor/SOCKS5
+title: torsocks - Routen-Traffic Via Tor/SOCKS5
author: Neel Chauhan
contributors: Steven Spencer, Ganna Zhyrnova
date: 2024-02-25
diff --git a/docs/gemstones/torsocks.fr.md b/docs/gemstones/torsocks.fr.md
index 5c633ae614..1aa938f751 100644
--- a/docs/gemstones/torsocks.fr.md
+++ b/docs/gemstones/torsocks.fr.md
@@ -17,9 +17,9 @@ dnf -y install tor torsocks
systemctl enable --now tor
```
-Les options courantes de la commande `torsocks` suivent et, dans des circonstances normales, ne nécessitent rien de plus. Les options apparaissent avant que l'application ne soit lancée (par exemple, `curl`) :
+Les options courantes de la commande `torsocks` suivent et, dans des circonstances normales, ne nécessitent rien de plus. Les options précèdent l'application à exécuter (par exemple, `curl`) :
-| Options | Observation |
+| Option | Description |
| ---------- | ------------------------------------------------------------ |
| --shell | Crée un nouveau shell avec LD\_PRELOAD |
| -u USER | Indique l'utilisateur de SOCKS5 |
diff --git a/docs/guides/.pages b/docs/guides/.pages
index 5e11191373..4ba9e503a7 100644
--- a/docs/guides/.pages
+++ b/docs/guides/.pages
@@ -1,12 +1,10 @@
nav:
- ... | index*.md
- ... | installation*.md
- - ... | 8_6_installation*.md
- ... | migrate2rocky*.md
- ... | update_versions*.md
- ... | custom-linux-kernel*.md
- Contribute: contribute
- - RSOD: rsod
- Automation: automation
- Backup & Sync: backup
- Content Management: cms
diff --git a/docs/guides/8_6_installation.fr.md b/docs/guides/8_6_installation.fr.md
deleted file mode 100644
index 7002a8f7e3..0000000000
--- a/docs/guides/8_6_installation.fr.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-title: Installer Rocky Linux
----
-
-# Installer Rocky Linux
-
-Ce guide passe en revue les étapes détaillées pour installer une version 64 bits de la distribution rocky Linux sur un système autonome.
-
-****
-Dans ce chapitre, nous allons effectuer une installation de type serveur à l'aide d'une image d'installation du système d'exploitation téléchargée depuis le site Web du projet Rocky. Nous allons aborder les étapes d'installation et de personnalisation dans les sections suivantes.
-****
-
-## Prérequis à l'installation du système d'exploitation
-
-Dans un premier temps, vous devez télécharger l'image ISO pour Rocky qui sera installée.
-
-La dernière image ISO de la version de Rocky qui sera utilisée pour cette installation peut être téléchargée ici :
-
-```
-https://www.rockylinux.org/download/
-
-```
-
-Pour télécharger l'ISO directement depuis la ligne de commande, saisir :
-
-```
-$ wget https://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
-```
-
-Les ISOs de Rocky sont nommées en suivant cette convention :
-
-```
-Rocky-..-.iso
-```
-
-Par exemple `Rocky-8.4-x86_64-minimal.iso`
-
-!!! Note
- La page web du projet Rocky propose une liste de nombreux miroirs situés partout dans le monde. A chaque fois que cela est possible, vous devriez choisir le miroir géographiquement le plus proche de vous. La liste des miroirs officiels peut être consultée [ici](https://mirrors.rockylinux.org)
-
-## Vérifier l'ISO d'installation
-
-Si vous avez téléchargé l'ISO(s) Rocky depuis une distribution Linux existante, vous pouvez utiliser l'utilitaire `sha256sum` pour vérifier que le(s) fichier(s) téléchargés ne sont pas corrompus. Nous allons montrer un exemple de la façon de vérifier le sha256sum renvoyé par la commande `sha256sum Rocky-8.4-x86_64-minimal.iso`.
-
-Tout d'abord téléchargez le fichier contenant les sommes de contrôle officielles pour les ISOs disponibles. Toujours dans le répertoire contenant l'ISO de Rocky qui a été téléchargée, saisir :
-
-```
-wget http://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/CHECKSUM
-```
-
-Utilisez l'utilitaire `sha256sum` pour vérifier la somme de contrôle
-
-```
-sha256sum -c CHECKSUM --ignore-missing Rocky-8.4-x86_64-minimal.iso
-```
-
-La sortie devrait contenir :
-
-```
-Rocky-8.4-x86_64-minimal.iso: OK
-```
-
-!!! Tip "Astuce"
- Avant de démarrer l'installation à proprement parler, l'UEFI (Unified Extensible Firmware Interface) ou le BIOS (Basic Input/Output System) du système doit être configuré pour démarrer sur le bon média.
-
-## L'installation
-
-Démarrons le processus d'installation.
-
-Insérez et démarrez le média d'installation (disque optique, clef USB, etc.).
-
-Une fois démarré, vous verrez apparaître un écran de bienvenue.
-
-
-
-Si vous n'appuyez sur aucune touche, l'invite va commencer un compte à rebours, après lequel le processus d'installation va démarrer avec l'option mise en évidence `Test this media & install Rocky Linux 8`. Vous pouvez aussi appuyer sur Entrer pour démarrer le processus immédiatement.
-
-Une étape de vérification rapide du support aura lieu. Cette étape de vérification du support peut vous éviter de lancer une installation pour vous rendre compte à mi-chemin que le programme d'installation va s'interrompre à cause d'un mauvais support d'installation.
-
-Une fois la vérification du support terminée et que le support a été validé avec succès, l'installation va automatiquement passer à l'écran suivant.
-
-Sélectionnez dans cet écran la langue que vous voulez utiliser pour réaliser l'installation. Pour cet exemple, nous choisissons _Français (France)_. Cliquez ensuite sur le bouton Fait.
-
-# Résumé de l'installation
-
-L'écran _Résumé de l'installation_ est un espace tout en un dans lequel vous prenez les décisions importantes sur le système d'exploitation à installer.
-
-L'écran est divisé selon les sections suivantes :
-
-- _Localisation_ : Clavier, Support Langue et Heure & Date
-- _Logiciel_ : Source d'installation et Sélection Logiciel
-- _Système_ : Cible de l'installation et Réseau & Nom d'hôte
-
-Examinons maintenant chacune de ces sections pour apporter des modifications si nécessaires.
-
-## Localisation
-
-Cette section permet de personnaliser les éléments liés aux paramètres régionaux du système. Cela inclut : le clavier, le support de la langue, l'heure et la date.
-
-### Clavier
-
-Sur le système de démonstration de ce guide, nous acceptons la valeur par défaut _Français (variante)_ sans faire de changement.
-
-Toutefois, si vous avez besoin de faire des changements ici, depuis l'écran _Résumé de l'installation_, cliquez sur l'option Clavier pour spécifier la disposition du clavier de votre système. Vous pouvez ajouter d'autres dispositions de clavier si besoin dans l'écran suivant et spécifier leur ordre.
-
-Cliquez sur Fait lorsque vous avez terminé.
-
-### Support de la langue
-
-L'option Support langue de l'écran _Résumé de l'installation_ vous permet de spécifier la prise en charge de langues supplémentaires dont vous pourriez avoir besoin sur le système cible.
-
-Nous acceptons la valeur par défaut _Français (France)_ et n'apportons aucune modification. Cliquez sur Fait.
-
-### Heure & Date
-
-Cliquez sur l'option Heure & Date de l'écran principal _Résumé de l'installation_ pour faire apparaître un autre écran qui vous permettra de sélectionner le fuseau horaire dans lequel se trouve la machine. Faites défiler la liste des régions et des villes et sélectionnez la zone la plus proche de vous.
-
-En fonction de votre source d'installation, l'option _Heure du réseau_ peut être réglée sur _ON_ ou _OFF_ par défaut. Acceptez le paramètre par défaut _ON_ ; cela permet au système de régler automatiquement la bonne heure en utilisant le protocole NTP (Network Time Protocol). Cliquez sur Fait après avoir effectué les modifications.
-
-## Section Logiciel
-
-Dans la section _Logiciel_ de l'écran _Résumé de l'installation_, vous pouvez sélectionner la source d'installation ainsi que les paquets supplémentaires (applications) qui seront installés.
-
-### Source d'installation
-
-Puisque nous effectuons notre installation à l'aide d'une image Rocky 8 complète, vous remarquerez que le _Média local_ est automatiquement spécifié dans la section _Source d'installation_ de l'écran principal _Résumé de l'installation_. Nous allons accepter les valeurs par défaut.
-
-### Sélection Logiciel
-
-En cliquant sur l'option Sélection Logiciel de l'écran principal _Résumé de l'installation_, vous accédez à la section de l'installation où vous pouvez choisir les paquets logiciels qui seront installés sur le système. La zone de sélection des logiciels est divisée en deux parties :
-
-- _Environnement de base_ : Serveurs, Installation minimale, Système d'exploitation personnalisé
-- _Logiciel supplémentaire pour l'environnement sélectionné_ : la sélection d'un environnement de base sur le côté gauche présente une variété de logiciels supplémentaires connexes qui peuvent être installés pour l'environnement donné sur le côté droit.
-
-Sélectionnez plutôt l'option _Installation minimale_ (Fonctionnalité de base).
-
-Cliquez sur Fait en haut de l’écran.
-
-## Section Système
-
-La section Système de l'écran _Résumé de l'installation_ est utilisée pour personnaliser et modifier le matériel sous-jacent du système cible. C'est ici que vous créez vos partitions ou volumes de disque dur, que vous spécifiez le système de fichiers à utiliser et que vous spécifiez la configuration du réseau.
-
-### Destination de l'installation
-
-Depuis l'écran _Résumé de l'installation_, cliquez sur l'option Destination de l'installation. Vous accédez alors à la zone de tâches correspondante.
-
-Vous verrez un écran affichant tous les disques candidats disponibles sur le système cible. Si vous n'avez qu'un seul disque sur le système, comme sur notre système de démonstration, vous verrez le disque répertorié sous _Disques locaux standards_ avec une case à cocher à côté. En cliquant sur l'icône du disque, vous pourrez activer ou désactiver la coche de sélection du disque. Nous voulons qu'elle soit sélectionnée/cochée ici.
-
-Dans la section _Configuration du stockage_, sélectionnez l'option Automatique.
-
-Cliquez ensuite sur Fait en haut de l'écran.
-
-Une fois que le programme d'installation aura déterminé que votre disque est utilisable, vous serez renvoyé à l'écran _Résumé de l'installation_.
-
-### Réseau et nom d'hôte
-
-La dernière tâche de la procédure d'installation concerne la configuration du réseau, où vous pouvez configurer ou modifier les paramètres liés au réseau pour le système.
-
-!!! Note
- Après avoir cliqué sur l'option Réseau et nom d'hôte, tous les matériels de type interface réseau correctement détectés (tels que les cartes réseau Ethernet, sans fil, etc.) seront répertoriés dans le volet gauche de l'écran de configuration du réseau. Selon la distribution Linux et la configuration matérielle spécifique, les périphériques Ethernet sous Linux ont des noms similaires à `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, etc.
-
-Pour chaque interface, vous pouvez soit la configurer en utilisant DHCP, soit définir manuellement l'adresse IP. Si vous choisissez de la configurer manuellement, assurez-vous de disposer de toutes les informations nécessaires, telles que l'adresse IP, le masque de réseau, etc.
-
-En cliquant sur le bouton Réseau et nom d'hôte dans l'écran principal _Résumé de l'installation_, vous ouvrez l'écran de configuration correspondant. Vous avez entre autres la possibilité de configurer le nom d'hôte du système (le nom par défaut est `localhost.localdomain`).
-
-!!! Note
- Vous pourrez facilement modifier ce nom plus tard, une fois le système d'exploitation installé. Pour le moment, acceptez la valeur par défaut fournie pour le nom d'hôte.
-
-La prochaine tâche importante de configuration concerne les interfaces réseau du système. Tout d'abord, vérifiez qu'une carte Ethernet (ou toute autre carte réseau) est répertoriée dans le volet de gauche. Cliquez sur l'un des périphériques réseau détectés dans le volet de gauche pour le sélectionner. Les propriétés configurables de la carte réseau sélectionnée apparaissent dans le volet droit de l'écran.
-
-!!! Note
- Sur notre serveur de démonstration, nous avons quatre périphériques Ethernet (`ens3`, `ens4`, `ens5` et `ens6`), qui sont tous dans un état connecté. Le type, le nom, la quantité et l'état des périphériques réseau de votre système peuvent varier de ceux de notre système de démonstration.
-
-Assurez-vous que l'interrupteur du périphérique que vous souhaitez configurer est activé dans le panneau de droite.
-Nous accepterons toutes les valeurs par défaut dans cette section.
-
-Cliquez sur Fait pour revenir à l'écran principal _Résumé de l'installation_.
-
-!!! Warning "Attention"
- Faites attention à l'adresse IP du serveur dans cette section du programme d'installation. Si vous ne disposez pas d'un accès physique ou d'un accès facile à la console du système, cette information vous sera utile ultérieurement lorsque vous devrez vous connecter au serveur pour continuer à travailler sur celui-ci.
-
-## L'installation
-
-Une fois que vous êtes satisfait de vos choix pour les différentes tâches d'installation, l'étape suivante du processus d'installation consiste à commencer l'installation à proprement parler.
-
-## Section Paramètres utilisateur
-
-Cette section peut être utilisée pour créer un mot de passe pour le compte administrateur `root` mais également pour créer de nouveaux comptes administrateurs ou simples utilisateurs.
-
-### Configurer le mot de passe administrateur
-
-Cliquez sur le champ Mot de passe administrateur (mot de passe de `root`) sous _Paramètres utilisateur_ afin de lancer l'écran de gestion _Mot de passe administrateur_ (mot de passe `root`). Dans la zone de texte _Mot de passe administrateur_, définissez un mot de passe complexe pour l'utilisateur `root`.
-
-!!! Warning "Attention"
- Cet utilisateur est le compte disposant du plus de droits sur le système. Par conséquent, si vous choisissez de l'utiliser ou de l'activer, il est crucial que vous protégiez ce compte avec un très bon mot de passe.
-
-Saisissez à nouveau le même mot de passe dans la zone de texte _Confirmer_.
-
-Cliquez sur Fait.
-
-### Création Utilisateur
-
-Cliquez ensuite sur l'option Création Utilisateur sous _Paramètres utilisateur_ pour lancer l'écran de gestion _Créer un utilisateur_. Cette zone de gestion vous permet de créer un compte utilisateur privilégié ou non privilégié (non administrateur) sur le système.
-
-!!! Info
- Créer et utiliser un compte sans privilège pour les tâches quotidiennes sur un système est une bonne pratique d'administration du système.
-
-Nous allons créer un utilisateur ordinaire qui pourra invoquer les pouvoirs du superutilisateur (administrateur) en cas de besoin.
-
-Remplissez les champs de l'écran _Créer un utilisateur_ avec les informations suivantes, puis cliquez sur Fait :
-
-_Nom et prénom_ :
-`rockstar`
-
-_Nom d'utilisateur_ :
-`rockstar`
-
-_Faire de cet utilisateur un administrateur_ :
-Coché
-
-_Exiger un mot de passe pour utiliser ce compte_ :
-Coché
-
-_Mot de passe_ :
-`04302021`
-
-_Confirmer le mot de passe_ :
-`04302021`
-
-
-### Démarrer l'installation
-
-Une fois que vous êtes satisfait de vos choix pour les différentes tâches d'installation, cliquez sur le bouton Commencer l'installation de l'écran principal _Résumé de l'installation_. L'installation commencera, et le programme d'installation affichera la progression de l'installation.
-
-!!! Note
- Si vous avez peur après avoir cliqué sur le bouton Commencer l'installation, vous pouvez toujours faire marche arrière en toute sécurité sans perdre vos données (ou votre amour-propre). Pour quitter le programme d'installation, il suffit de réinitialiser votre système en cliquant sur le bouton Quitter, en appuyant sur la touche Ctrl + Alt + Suppr du clavier, ou en appuyant sur le bouton d'alimentation.
-
-Lorsque l'installation commence, différentes tâches démarrent en arrière-plan, comme le partitionnement du disque, le formatage des partitions ou des volumes LVM, la vérification et la résolution des dépendances logicielles, l'écriture du système d'exploitation sur le disque, etc.
-
-### Finir l'installation
-
-Une fois que les sous-tâches obligatoires sont terminées et que le programme d'installation a suivi son cours, un écran final _Progression de l'installation_ est affiché avec un message de fin.
-
-Enfin, terminez la procédure en cliquant sur le bouton Redémarrer le système. Le système redémarrera de lui-même.
-
-### Connexion
-
-Le système est maintenant configuré et prêt à être utilisé. Vous verrez l'adorable console Rocky Linux.
-
-
-
-Pour se connecter au système, saisissez `rockstar` au prompt de connexion et appuyer sur Entrer.
-
-Au prompt du mot de passe, saisissez `04302021` (le mot de passe de rockstar) et appuyer sur Entrer.
-
-Nous lançons la commande `whoami` après la connexion.
-
-
diff --git a/docs/guides/8_6_installation.it.md b/docs/guides/8_6_installation.it.md
deleted file mode 100644
index b641ed6340..0000000000
--- a/docs/guides/8_6_installation.it.md
+++ /dev/null
@@ -1,264 +0,0 @@
----
-Title: Installazione Di Rocky Linux 8
-author: wale soyinka
-contributors: tianci li, Steven Spencer, Ganna Zhyrnova
----
-
-# Installazione Di Rocky Linux 8
-
-Questa guida mostra nel dettaglio i passaggi per installare una versione a 64 bit della distribuzione Rocky Linux su un sistema stand-alone. Effettueremo un'installazione di categoria server utilizzando un'immagine di installazione del sistema operativo scaricata dal sito web del progetto Rocky Linux. Passeremo attraverso i passaggi di installazione e personalizzazione nelle sezioni seguenti.
-
-
-## Prerequisiti per Installazione SO
-
-Innanzitutto, è necessario scaricare la ISO da utilizzare per questa installazione di Rocky Linux.
-
-L'ultima immagine ISO per la versione di Rocky Linux che utilizzeremo per questa installazione può essere scaricata da qui:
-
-```
-https://www.rockylinux.org/download/
-```
-
-Per scaricare l'ISO direttamente dalla riga di comando utilizzare il comando `wget`:
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/Rocky-8.9-x86_64-minimal.iso
-```
-
-Le ISO di Rocky Linux sono denominate seguendo questa convenzione:
-
-```
-Rocky-.--.iso
-```
-
-Ad esempio, `Rocky-8.9-x86_64-minimal.iso`
-
-!!! Note "Nota"
-
- La pagina web del progetto Rocky elenca diversi mirror, situati in tutto il mondo. Scegliete il mirror geograficamente più vicino a voi. La lista dei mirror ufficiali può essere trovata [quì](https://mirrors.rockylinux.org/mirrormanager/mirrors).
-
-## Verifica del file ISO dell'installazione
-
-Se hai scaricato le ISO di Rocky Linux su una distribuzione Linux esistente, è possibile utilizzare l'utilità `sha256sum` per verificare che i file scaricati non siano corrotti. Mostreremo un esempio di come verificare il file `Rocky-8.5-x86_64-minimal.iso` controllandone il checksum.
-
-In primo luogo scaricare il file che contiene i checksum ufficiali per le ISO disponibili. Mentre siete ancora nella cartella che contiene la ISO scaricata di Rocky Linux scaricate il file di checksum per la ISO, digitando:
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/CHECKSUM
-```
-
-Utilizzare l'utilità `sha256sum` per verificare l'integrità del file ISO contro la corruzione e/o la manomissione.
-
-```
-sha256sum -c CHECKSUM --ignore-missing
-```
-
-Questo controllerà l'integrità del file ISO scaricato in precedenza, a condizione che si trovi nella stessa directory. L'output dovrebbe mostrare:
-
-```
-Rocky-8.9-x86_64-minimal.iso: OK
-```
-
-## L'Installazione
-
-!!! Tip "Suggerimento"
-
- Prima dell'installazione, la Unified Extensible Firmware Interface (UEFI) o il Basic Input/Output System (BIOS) del sistema devono essere preconfigurati per l'avvio dal supporto corretto.
-
-È possibile iniziare il processo di installazione se il computer è impostato per l'avvio dal supporto che contiene il file ISO.
-
-Inserire e avviare dal supporto di installazione (disco ottico, unità flash USB, e così via).
-
-Una volta che il computer si è avviato, vi verrà presentata la schermata di benvenuto di Rocky Linux 8.
-
-
-
-Se non si preme alcun tasto il programma di installazione inizierà un conto alla rovescia, dopo il quale il processo di installazione eseguirà automaticamente l'opzione predefinita, evidenziata:
-
-`Test this media & install Rocky Linux 8`
-
-Puoi anche premere Invio in qualsiasi momento per avviare il processo immediatamente.
-
-Si procederà ad una rapida verifica dei media. Questo passo di verifica del supporto può salvare dal problema di avviare l'installazione solo per scoprire a metà strada che l'installatore deve interrompere a causa di supporti di installazione difettosi.
-
-Dopo che il controllo del supporto viene completato e il supporto viene verificato come corretto per essere utilizzato, il programma di installazione continuerà automaticamente alla schermata successiva.
-
-Selezionare la lingua che si desidera utilizzare per l'installazione in questa schermata. Per questa guida, selezioniamo *English (United States)*. Quindi clicca sul pulsante Continue.
-
-## Riepilogo Installazione
-
-La schermata _Riepilogo Installazione_ è un'area all-in-one in cui si prendono le decisioni importanti sul sistema operativo da installare.
-
-Lo schermo è approssimativamente diviso nelle seguenti sezioni:
-
-- _Localizzazione_: (Supporto linguistico, e Tempo & Data)
-- _Software_: (Installazione Sorgente e Selezione Software)
-- _Sistema_: (Destinazione installazione e Rete & Nome Host)
-
-Ci soffermeremo su ciascuna di queste sezioni e apporteremo modifiche ove necessario.
-
-### Sezione Localizzazione
-
-Questa sezione è utilizzata per personalizzare le voci relative al locale del sistema. Questo include – tastiera, supporto linguistico, tempo e data.
-
-#### Tastiera
-
-Sul nostro sistema demo in questa guida, modifichiamo il valore predefinito e selezioniamo (_Italiano (Italiana)_) e salviamo le modifiche.
-
-Tuttavia, se è necessario apportare modifiche qui, dalla schermata _Installation Summary_, clicca sull'opzione Keyboard per specificare il layout della tastiera del sistema. È possibile aggiungere ulteriori layout della tastiera se è necessario nella successiva schermata e specificare il loro ordine.
-
-Clicca Fatto quando hai finito con questa schermata.
-
-#### Supporto Lingue
-
-L'opzione Supporto Linguistico nella schermata _Riepilogo Installazione_ consente di specificare il supporto per le lingue aggiuntive di cui potresti aver bisogno sul sistema finito.
-
-Accetteremo il valore predefinito (__Italiano – Italia__) e non apporteremo alcuna modifica, fare clic su Fatto.
-
-#### Data & Ora
-
-Fai clic sull'opzione Ora e data nella schermata principale _Riepilogo Installazione_ per far apparire un'altra schermata che ti permetterà di selezionare il fuso orario in cui si trova la macchina. Scorri l'elenco delle regioni e delle città e seleziona l'area più vicina a te.
-
-A seconda della fonte di installazione, l'opzione _Ora da rete_ potrebbe essere impostata su _ON_ o _OFF_ per impostazione predefinita. Accetta l'impostazione predefinita _ON_; questo permette al sistema di impostare automaticamente il tempo corretto utilizzando il Network Time Protocol (NTP). Fare clic su Fatto dopo aver apportato eventuali modifiche.
-
-### Sezione Software
-
-Nella sezione _Software_ della schermata _Riepilogo Installazione_, è possibile selezionare la sorgente di installazione e i pacchetti aggiuntivi (applicazioni) che verranno installati.
-
-#### Sorgente Installazione
-
-Dal momento che stiamo eseguendo la nostra installazione utilizzando un'immagine completa Rocky 8, noterai che _Media Locale_ è automaticamente specificato nella sezione Installation Source della schermata principale _Riepilogo Installazione_. Accetteremo i valori preimpostati.
-
-!!! Tip "Suggerimento"
-
- L'area Installation Source è dove è possibile scegliere di eseguire un'installazione basata sulla rete. Per un'installazione basata sulla rete, è necessario innanzitutto assicurarsi che una scheda di rete sul sistema di destinazione sia configurata correttamente e possa raggiungere Internet. Per eseguire un'installazione basata sulla rete, clicca su `Installation Source` e quindi seleziona il pulsante radio `On the network`. Una volta selezionato, scegli il protocollo `https` e digita il seguente URL nel campo di testo `download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os`. Clicca su `Fatto`.
-
-#### Selezione Software
-
-Facendo clic sull'opzione Selezione Software nella schermata principale _Riepilogo Installazione_ ti viene presentata la sezione dell'installazione dove puoi scegliere i pacchetti software esatti che vengono installati sul sistema. L'area di selezione del software è suddivisa in:
-
-- _Base Environment_: Server, Installazione minima, Sistema operativo personalizzato
-- _Additional software for Selected Environment area_: Selezionando un Base Environment sul lato sinistro si presenta una varietà di software aggiuntivi correlati che possono essere installati per l'ambiente specificato sul lato destro.
-
-Seleziona invece l'opzione _Installazione minima_ (Funzionalità di base).
-
-Clicca su Fatto nella parte superiore dello schermo.
-
-### Sezione Sistema
-
-La sezione Sistema della schermata _Riepilogo Installazione_ viene utilizzata per personalizzare e apportare modifiche all'hardware sottostante al sistema di destinazione. Qui è dove si creano le partizioni o i volumi del disco rigido, si specifica il file system da utilizzare e si specifica la configurazione di rete.
-
-#### Destinazione Installazione
-
-Dalla schermata _Riepilogo Installazione_, clicca sull'opzione Destinazione Installazione. Questo ti porta alla corrispondente area di attività.
-
-Verrà visualizzata una schermata che mostra tutte le unità disco candidate disponibili sul sistema di destinazione. Se avete un solo disco sul sistema, come sul nostro sistema di esempio, vedrai l'unità elencata sotto _Dischi locali standard_ con un segno di spunta accanto ad essa. Facendo clic sull'icona del disco si attiverà o disattiverà il segno di spunta per la selezione del disco. Vogliamo che sia selezionato/spuntato qui.
-
-Sotto la sezione Opzioni _Configurazione di archiviazione_, selezionare il pulsante radio Automatic.
-
-Quindi clicca su Fatto nella parte superiore dello schermo.
-
-Una volta che il programma di installazione determina che si dispone di un disco utilizzabile, verrete reindirizzati alla schermata _Riepilogo Installazione_.
-
-### Rete & Nome Host
-
-L'attività finale della procedura d'installazione riguarda la configurazione della rete, dove è possibile configurare o modificare le impostazioni relative alla rete per il sistema.
-
-!!! Note "Nota"
-
- Dopo aver fatto clic sull'opzione Network & Nome Host, tutto l'hardware dell'interfaccia di rete correttamente rilevato (come Ethernet, le schede di rete wireless, e così via) saranno elencate nel riquadro sinistro della schermata di configurazione di rete. A seconda della distribuzione Linux e della specifica configurazione hardware, i dispositivi Ethernet in Linux hanno nomi simili a `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, e così via.
-
-È possibile configurare ogni interfaccia tramite DHCP o impostare manualmente l'indirizzo IP. Se si sceglie di configurare manualmente, assicurarsi di avere tutte le informazioni pertinenti pronte, come l'indirizzo IP, maschera di rete, e così via.
-
-Facendo clic sul pulsante Network & Nome Host nella schermata principale _Riepilogo Installazione_ si apre la corrispondente schermata di configurazione. Tra le altre cose, è possibile configurare il nome host del sistema (il nome predefinito è `localhost.localdomain`).
-
-!!! Note "Nota"
-
- È possibile modificare facilmente questo nome in seguito dopo che il sistema operativo è stato installato. Per ora, accetta il valore predefinito fornito per il nome host.
-
-Il prossimo importante compito di configurazione è relativo alle interfacce di rete del sistema. In primo luogo, verificare che una scheda Ethernet (o qualsiasi scheda di rete) sia elencata nel riquadro a sinistra. Fare clic su uno dei dispositivi di rete rilevati nel riquadro a sinistra per selezionarlo. Le proprietà configurabili della scheda di rete selezionata appariranno nel riquadro destro dello schermo.
-
-!!! Note "Nota"
-
- Sul nostro sistema di esempio abbiamo due dispositivi Ethernet (`ens3` e `ens4`), tutti in uno stato connesso. Il tipo, il nome, la quantità e lo stato dei dispositivi di rete sul vostro sistema possono variare da quelli sul nostro sistema di esempio.
-
-Assicurarsi che l'interruttore del dispositivo che si desidera configurare sia capovolto nella posizione `ON` nel riquadro destro. Accetteremo tutti i valori predefiniti in questa sezione.
-
-Clicca Fatto per tornare alla schermata principale _Riepilogo Installazione_.
-
-!!! Warning "Attenzione"
-
- Prestare attenzione all'indirizzo IP del server in questa sezione del programma d'installazione. Se non si dispone di un accesso fisico o facile alla console del sistema, queste informazioni saranno utili in seguito quando è necessario connettersi al server per continuare a lavorare.
-
-## Fase di Installazione
-
-Una volta che siete soddisfatti delle vostre scelte per le varie attività dell'installazione, la fase successiva del processo d'installazione inizierà l'installazione vera e propria.
-
-### Sezione Impostazioni Utente
-
-Questa sezione può essere utilizzata per creare una password per l'account utente `root` e anche per creare nuovi account amministrativi o non amministrativi.
-
-### Impostare la password di root
-
-Clicca sul campo _Password di root_ sotto _Impostazioni Utente_ per avviare la schermata _Password di Root_. Nella casella di testo _Password di root_, imposta una password forte per l'utente root.
-
-!!! Warning "Attenzione"
-
- Il superutente root è l'account con più privilegi nel sistema. Pertanto, se si sceglie di usarlo o abilitarlo, è fondamentale proteggere questo account con una password forte.
-
-Inserire nuovamente la stessa password nella casella di testo _Conferma_.
-
-Clicca su Fatto.
-
-
-### Creare un account utente
-
-Poi clicca sul campo _Creazione utente_ sotto _Impostazioni Utente_ per avviare la schermata _Crea utente_. Questa area di attività consente di creare un account utente privilegiato o non privilegiato (non amministrativo) sul sistema.
-
-!!! Info
-
- Creare e utilizzare un account non privilegiato per i compiti quotidiani di un sistema è una buona pratica di amministrazione del sistema.
-
-Creeremo un utente normale che può invocare i poteri di superutente (amministratore), lo stesso utente root, quando necessario.
-
-Completare i campi nella schermata _Crea utente_ con le seguenti informazioni e quindi fare clic su Fatto:
-
-_Nome completo_: `rockstar`
-
-_Nome utente_: `rockstar`
-
-_Imposta questo utente come amministratore_: Spuntato
-
-_Richiedi una password per utilizzare questo account_: Spuntato
-
-_Password_: `04302021`
-
-_Conferma password_: `04302021`
-
-### Avviare l'installazione
-
-Una volta che siete soddisfatti delle vostre scelte per le varie attività dell'installazione, fate clic sul pulsante Avvia installazione nella schermata principale _Riepilogo Installazione_. L'installazione inizierà, e l'installatore mostrerà i progressi dell'installazione. Quando inizia l'installazione, varie attività inizieranno ad essere eseguite in background, come il partizionamento del disco, la formattazione delle partizioni o i volumi di LVM, controllare e risolvere le dipendenze del software, scrivere il sistema operativo sul disco e così via.
-
-!!! Note "Nota"
-
- Se non si desidera continuare dopo aver fatto clic sul pulsante Avvia Installazione, si può ancora tranquillamente tornare fuori dall'installazione senza alcuna perdita di dati. Per uscire dall'installatore, è sufficiente ripristinare il sistema facendo clic sul pulsante Esci, premendo ctrl-alt-del sulla tastiera, o spingendo l'interruttore di reset o di alimentazione.
-
-### Completare l'installazione
-
-Dopo aver completato tutte le sotto-attività obbligatorie, e l'installatore ha eseguito il suo corso, ti verrà presentata una schermata di avanzamento dell'installazione finale con un messaggio di completamento.
-
-Infine, completare la procedura facendo clic sul pulsante Reboot System. Il sistema verrà riavviato.
-
-### Accesso
-
-Il sistema è ora configurato e pronto per l'uso. Vedrete la console Rocky Linux.
-
-
-
-Per accedere al sistema, digita `rockstar` al prompt di accesso e premi Invio.
-
-Al prompt della Password, digita `04302021` (la password di rockstar) e premi Invio (la password ***non*** sarà visualizzata sullo schermo, questo è normale).
-
-Eseguiremo il comando `whoami` dopo l'accesso, questo comando mostra il nome dell'utente attualmente connesso.
-
-
diff --git a/docs/guides/8_6_installation.ja.md b/docs/guides/8_6_installation.ja.md
deleted file mode 100644
index 758b42ea66..0000000000
--- a/docs/guides/8_6_installation.ja.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-title: Rocky Linuxのインストール
----
-
-# Rocky Linuxのインストール
-
-このガイドでは、64ビット版のrocky Linux ディストリビューションをスタンドアロンシステムにインストールするための詳細な手順を説明しています。
-
-****
-
-この章では、rockyプロジェクトのウェブサイトからダウンロードしたオペレーティングシステムのインストーライメージを使って、サーバークラスのインストールを行います。次のセクションでは、インストールとカスタマイズの手順を説明します。
-
-****
-
-## OSインストールの前提条件
-
-まず、これからインストールするRockyのISOをダウンロードする必要があります。
-
-今回のインストールで使用するRockyのバージョンの最新のISOイメージは、こちらからダウンロードできます。
-
-```
-https://www.rockylinux.org/download/
-```
-
-コマンドラインから直接ISOをダウンロードするには、次のように入力します。
-
-```
-$ wget https://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
-```
-
-Rocky ISOは、この慣例に従って命名されています。
-
-```
-Rocky-..-.iso
-```
-
-例 `Rocky-8.4-x86_64-minimal.iso`
-
-!!! Note
- ロッキープロジェクトのWebページには、世界中にあるいくつかのミラーのリストがあります。可能な限り、地理的に最も近いミラーを選択してください。公式ミラーのリストは [ここ](https://mirrors.rockylinux.org/mirrormanager/mirrors)にあります。
-
-## インストーラISOの検証
-
-既存の Linux ディストリビューションで Rocky の ISO をダウンロードした場合、`sha256sum` ユーティリティーを使って、ダウンロードしたファイルが壊れていないかどうかを確認することができます。ここでは、`Rocky-8.4-x86_64-minimal.iso`のsha256sumを検証する例を紹介します。
-
-まず、利用可能なISOの公式チェックサムを含んだファイルをダウンロードします。ダウンロードしたロッキーのISOが入っているフォルダに入ったまま、次のように入力します。
-
-```
-wget http://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/CHECKSUM
-```
-
-`sha256sum` ユーティリティーを使って、次のように検証します。
-
-```
-sha256sum -c CHECKSUM --ignore-missing Rocky-8.4-x86_64-minimal.iso
-```
-
-出力には以下が含まれるはずです。
-
-```
-Rocky-8.4-x86_64-minimal.iso: OK
-```
-
-!!! Tip
- インストールを開始する前に、システムのUEFI(Unified Extensible Firmware Interface)またはBIOS(Basic Input/Output System)が正しいメディアから起動するようにあらかじめ設定しておく必要があります。
-
-## インストール
-
-それでは早速、インストールを始めましょう。
-
-インストールメディア(光ディスク、USBメモリーなど)を挿入して起動します。
-
-起動すると、歓迎のスプラッシュ画面が表示されます。
-
-
-
-何もキーを押さないでいると、プロンプトがカウントダウンを始め、その後、ハイライトされた`Test this media & install Rocky Linux 8` ... オプションを起動することにより、インストールプロセスが開始されます。enterを押してすぐにプロセスを開始することもできます。
-
-簡単なメディア検証ステップが行われます。このメディア検証ステップは、インストールを開始したものの、途中でインストールメディアが悪いためにインストーラーが中断することに気づくというトラブルを防ぐことができます。
-
-メディアチェックが完了し、メディアが正常に使用できることが確認されると、インストーラーは自動的に次の画面に進みます。
-
-この画面では、インストールを行う際に使用する言語を選択します。この例では、_English (United States)_ を選択します。そして、Continueボタンをクリックします。
-
-## インストールサマリー
-
-_Installation Summary_ 画面は、インストールするOSに関する重要な決定を行うためのオールインワンエリアです。
-
-この画面は大まかに以下のセクションに分かれています。
-
-- _Localization_: (キーボード、言語サポート、時間と日付)
-- _Software_: (インストールソースとソフトウェアの選択)
-- _System_: (インストール先、ネットワークとホスト名)
-
-次にそれぞれのセクションを掘り下げ、必要に応じて変更を加えていきます。
-
-## ローカライズセクション
-
-このセクションでは、システムのロケールに関連する項目をカスタマイズします。ここでは、キーボード、言語サポート、時刻と日付などを設定します。
-
-### キーボード
-
-本ガイドのデモシステムでは、デフォルトの値(_English US_)を受け入れ、変更は行いません。
-
-しかし、ここに変更を加える必要がある場合は、_Installation Summary_ 画面でKeyboardオプションをクリックし、システムのキーボードレイアウトを指定します。次の画面で必要に応じてキーボードレイアウトを追加し、その順番を指定することができます。
-
-完了したら Done をクリックします。
-
-### 言語サポート
-
-_Installation Summary_ 画面のLanguage Supportオプションでは、完成したシステムで必要となる追加の言語のサポートを指定することができます。
-
-ここでは、デフォルトの値(__English - United States__)を受け入れ、変更しません。Doneをクリックします。
-
-### 時刻と日付
-
-メインの _Installation Summary_ 画面で Time & Date オプションをクリックすると、マシンが設置されているタイムゾーンを選択するための別画面が表示されます。地域や都市のリストをスクロールして、最も近い地域を選択してください。
-
-インストール元によっては、_Network Time_ オプションがデフォルトで_ON_または_OFF_に設定されている場合があります。これにより、NTP(Network Time Protocol)を使ってシステムが自動的に正しい時刻を設定します。変更したらDoneをクリックします。
-
-## ソフトウェアセクション
-
-インストールの概要」画面の「ソフトウェア」セクションでは、インストール元のほか、追加でインストールされるパッケージ(アプリケーション)を選択できます。
-
-### インストールソース
-
-ここではロッキー8のフルイメージを使ってインストールするので、メインの _Installation Summary_ 画面のInstall Sourceセクションでは、 _Local Media_ が自動的に指定されていることに気づきます。ここでは、あらかじめ設定されているデフォルト値を使用します。
-
-### ソフトウェアの選択
-
-メインの _Installation Summary_ 画面で Software Selection オプションをクリックすると、システムにインストールされるソフトウェアパッケージを選択できるセクションが表示されます。ソフトウェアの選択エリアは以下のように分かれています。
-
-- _基本環境_:サーバー、最小インストール、カスタムOS
-- _Additional software for Selected Environment area_ : 左側のBase Environmentを選択すると、右側にその環境にインストール可能な様々な関連追加ソフトウェアが表示されます。
-
-_Minimal Install_(基本機能)を選択します。
-
-画面上部のDoneをクリックします。
-
-##システムセクション
-
-インストールの概要」画面の「システム」セクションは、ターゲットシステムの基本的なハードウェアをカスタマイズしたり、変更したりするために使用します。ここでは、ハードドライブのパーティションやボリュームの作成、使用するファイルシステムの 指定、ネットワーク構成の指定などを行います。
-
-### インストール先
-
-インストールの概要」画面で、インストール先のオプションをクリックします。これにより、対応するタスクエリアに移動します。
-
-インストール先の候補となるディスクドライブが表示されます。今回のサンプルシステムのように、システム上にディスクドライブが1つしかない場合は、「Local Standard Disks」の下にドライブが表示され、その横にチェックマークが付いています。ディスクのアイコンをクリックすると、ディスク選択のチェックマークのオン/オフが切り替わります。ここではチェックを入れておきましょう。
-
-_Storage Configuration_ Options "セクションで、Automaticラジオボタンを選択します。
-
-そして、画面上部のDoneをクリックします。
-
-インストーラが使用可能なディスクがあると判断すると、_Installation Summary_ 画面に戻ります。
-
-### ネットワークとホスト名
-
-インストール手順の最後のタスクであるネットワーク設定では、システムのネットワーク関連の設定や調整を行います。
-
-!!! Note
- ネットワークとホスト名オプションをクリックすると、正しく検出されたすべてのネットワークインターフェースハードウェア(イーサネットやワイヤレスネットワークカードなど)が、ネットワーク設定画面の左ペインに一覧表示されます。Linux ディストリビューションやハードウェアの設定によって、Linux のイーサネットデバイスは、`eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3` などのような名前になります。
-
-各インターフェイスには、DHCPを使って設定するか、手動でIPアドレスを設定することができます。手動で設定する場合は、IPアドレスやネットマスクなどの関連情報をすべて用意しておいてください。
-
-メインの _Installation Summary_ 画面でNetwork & Hostnameボタンをクリックすると、対応する設定画面が表示されます。とりわけ、システムのホスト名を設定するオプションがあります(名前のデフォルトは `localhost.localdomain` です)。
-
-!!! Note
- この名前は、OSがインストールされた後で簡単に変更することができます。現時点では、ホスト名に与えられたデフォルト値を受け入れてください。
-
-次の重要な設定作業は、システムのネットワークインターフェースに関するものです。まず、左側のペインにイーサネットカード(または任意のネットワークカード)が表示されていることを確認します。左ペインで検出されたネットワークデバイスのいずれかをクリックして選択します。選択したネットワークアダプターの設定可能なプロパティが画面の右ペインに表示されます。
-
-!!! Note
- サンプルサーバーには、4つのイーサネットデバイス(`ens3`, `ens4`, `ens5`, `ens6`)があり、いずれも接続状態になっています。お使いのシステムのネットワークデバイスの種類、名前、数量、状態は、今回のサンプルシステムのものとは異なる可能性があります。
-
-設定したいデバイスのスイッチが右ペインで「ON」の位置に反転していることを確認してください。
-このセクションでは、すべてのデフォルトを受け入れます。
-
-Doneをクリックすると、_Installation Summary_ のメイン画面に戻ります。
-
-!!! Warning
- このインストーラーのこのセクションでは、サーバーのIPアドレスに注意してください。システムに物理的または簡単なコンソールアクセスがない場合、この情報は後でサーバーに接続して作業を続ける必要があるときに便利です。
-
-## インストール
-
-様々なインストール作業の選択に満足したら、次の段階では、インストールが適切に開始されます。
-
-## ユーザー設定セクション
-
-このセクションでは、`root` ユーザーアカウントのパスワードを作成したり、管理者や非管理者のアカウントを新たに作成する際に使用します。
-
-### ルートパスワードの設定
-
-ユーザー設定の _Root Password_ フィールドをクリックして、_Root Password_ タスク画面を起動します。_Root Password_ のテキストボックスに、ルートユーザーの強力なパスワードを設定します。
-
-!!! Warning
- このユーザーは、システム上で最も権限のあるアカウントです。そのため、使用する場合、または有効にする場合には、このアカウントを非常に優れたパスワードで保護することが重要です。
-
-_Confirm_ のテキストボックスに同じパスワードを再度入力します。
-
-Doneをクリックします。
-
-### ユーザーアカウントの作成
-
-次に、_User Settings_ の _User Creation_ フィールドをクリックすると、 _Create User_ タスク画面が起動します。このタスクエリアでは、システム上に特権的または非特権的(非管理者)なユーザーアカウントを作成することができます。
-
-!!! Info
- システム上の日常的な作業のために非特権アカウントを作成して使用することは、システム管理の良い習慣です。
-
-ここでは、必要に応じてスーパーユーザー(管理者)の権限を呼び出せる一般ユーザーを作成します。
-
-_Create User_ 画面のフィールドに以下の情報を入力し、Doneをクリックしてください。
-
-_Full name_:
-`rockstar`
-
-_Username_:
-`rockstar`
-
-_Make this user administrator_:
-Checked
-
-_Require a password to use this account_:
-Checked
-
-_Password_:
-`04302021`
-
-_Confirm password_:
-`04302021`
-
-### インストールの開始
-
-さまざまなインストール作業の選択に問題がなければ、メインの _Installation Summary_ 画面で Begin Installation ボタンをクリックしてください。インストールが開始され、インストーラーにインストールの進捗状況が表示されます。
-
-!!! Note
- 「Begin Installation」ボタンをクリックした後に怖気づいてしまった場合でも、データ(または自尊心)を失うことなく、安全にインストールを中止することができます。インストーラを終了するには、Quit ボタンをクリックするか、キーボードの ctrl-alt-del を押すか、リセットスイッチや電源スイッチを押すかして、システムをリセットしてください。
-
-インストールが始まると、ディスクのパーティション分割、パーティションや LVM ボリュームのフォーマット、ソフトウェアの依存関係の確認と解決、ディスクへのオペレーティングシステムの書き込みなど、さまざまなタスクがバックグラウンドで実行されます。
-
-### インストールの完了
-
-必須のサブタスクのいずれかを完了し、インストーラーが一巡すると、完了メッセージを含む最終的なインストールの進行画面が表示されます。
-
-最後に、Reboot Systemボタンをクリックして、すべての手順を完了します。システムの再起動が行われます。
-
-### ログイン
-
-これでシステムの設定が完了し、使用できるようになりました。可愛らしいRocky Linuxのコンソールが表示されます。
-
-
-
-システムにログインするには、ログインプロンプトで`rockstar`と入力し、enterを押します。
-
-Passwordプロンプトで、`04302021`(rockstarのパスワード)と入力し、enterを押します(画面には何も表示されませんが、これは正常です)。
-
-ログイン後に`whoami`コマンドを実行します。
-
-
diff --git a/docs/guides/8_6_installation.ko.md b/docs/guides/8_6_installation.ko.md
deleted file mode 100644
index 6707109e87..0000000000
--- a/docs/guides/8_6_installation.ko.md
+++ /dev/null
@@ -1,264 +0,0 @@
----
-Title: Rocky Linux 8 설치
-author: wale soyinka
-contributors: tianci li, Steven Spencer
----
-
-# Rocky Linux 8 설치
-
-이 안내서는 독립 시스템에 Rocky Linux 배포판의 64비트 버전을 설치하는 상세한 단계를 안내합니다. Rocky Linux 프로젝트 웹사이트에서 다운로드한 운영 체제 설치 이미지를 사용하여 서버 클래스 설치를 진행할 것입니다. 다음 섹션에서 설치 및 사용자 정의 단계를 따라 진행합니다.
-
-
-## OS 설치 사전 준비
-
-먼저, Rocky Linux 설치에 사용할 ISO를 다운로드해야 합니다.
-
-이 설치에 사용할 Rocky Linux 버전의 최신 ISO 이미지는 다음에서 다운로드할 수 있습니다:
-
-```
-https://www.rockylinux.org/download/
-```
-
-명령 줄에서 직접 ISO를 다운로드하려면 `wget` 명령을 사용하세요:
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.7/isos/x86_64/Rocky-8.7-x86_64-minimal.iso
-```
-
-Rocky Linux ISO는 다음과 같은 규칙으로 명명됩니다:
-
-```
-Rocky-.--.iso
-```
-
-예를 들어, `Rocky-8.7-x86_64-minimal.iso` 입니다.
-
-!!! note "참고 사항"
-
- Rocky 프로젝트 웹 페이지에는 전 세계에 위치한 여러 미러 목록이 있습니다. 가능하면 지리적으로 가장 가까운 미러를 선택해야 합니다. 공식 미러 목록은 [여기](https://mirrors.rockylinux.org/mirrormanager/mirrors)에서 찾을 수 있습니다.
-
-## 설치 프로그램 ISO 파일 확인
-
-이미 기존 Linux 배포판에서 Rocky Linux ISO를 다운로드했다면 `sha256sum` 유틸리티를 사용하여 다운로드한 파일이 손상되지 않았는지 확인할 수 있습니다. `Rocky-8.5-x86_64-minimal.iso` 파일의 체크섬을 확인하는 예를 보여드리겠습니다.
-
-먼저, 사용 가능한 ISO의 공식 체크섬이 들어있는 파일을 다운로드하세요. 다운로드한 Rocky Linux ISO가 포함된 폴더에 있는 동안 ISO의 체크섬 파일을 다운로드하고 다음을 입력합니다.
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.7/isos/x86_64/CHECKSUM
-```
-
-`sha256sum` 유틸리티를 사용하여 ISO 파일의 무결성을 확인하세요.
-
-```
-sha256sum -c CHECKSUM --ignore-missing
-```
-
-동일한 디렉토리에 있는 경우 이전에 다운로드한 ISO 파일의 무결성을 검사합니다. 출력은 다음과 같아야 합니다:
-
-```
-Rocky-8.7-x86_64-minimal.iso: OK
-```
-
-## 설치
-
-!!! !!!
-
- 설치를 시작하기 전에 시스템의 통합 가능한 확장 펌웨어 인터페이스(Unified Extensible Firmware Interface, UEFI) 또는 베이직 인풋/아웃풋 시스템(Basic Input/Output System, BIOS)을 올바른 미디어로 부팅하도록 사전 설정해야 합니다.
-
-컴퓨터가 ISO 파일을 가진 미디어로 부팅하도록 설정되어 있다면 설치 프로세스를 시작할 수 있습니다.
-
-설치 매체(광학 디스크, USB 플래시 드라이브 등)를 삽입하고 부팅하세요.
-
-컴퓨터가 부팅되면 Rocky Linux 8 환영 화면이 표시됩니다.
-
-
-
-아무 키도 누르지 않으면 설치 프로그램은 카운트다운을 시작하고 그 이후에 설치 프로세스가 자동으로 기본으로 선택된 옵션을 실행합니다:
-
-`Test this media & install Rocky Linux 8`
-
-즉시 프로세스를 시작하려면 언제든지 Enter를 누르면 됩니다.
-
-빠른 미디어 검증 단계가 진행됩니다. 이 미디어 검증 단계를 통해 설치 미디어의 문제로 인해 설치 프로세스를 중간에 중단해야 하는 번거로움을 피할 수 있습니다.
-
-미디어 확인이 완료되고 미디어가 사용 가능하다는 것이 성공적으로 확인되면 설치 프로그램은 자동으로 다음 화면으로 진행합니다.
-
-이 화면에서 설치를 수행할 언어를 선택하세요. 이 가이드에서는 *English (United States)*를 선택합니다. 그런 다음 Continue 버튼을 클릭하세요.
-
-## 설치 요약
-
-*설치 요약* 화면은 설치할 운영 체제에 대한 중요한 결정을 내리는 모든 옵션이 통합된 영역입니다.
-
-이 화면은 대략적으로 다음 섹션으로 나누어집니다:
-
-- *Localization*: (키보드, 언어 지원, 시간 & 날짜)
-- *Software*: (설치 원본 및 소프트웨어 선택)
-- *System*: (설치 대상 및 네트워크 & 호스트 이름)
-
-다음 각 섹션에 대해 자세히 알아보고 필요한 경우 변경합니다.
-
-### 로컬화 섹션
-
-이 섹션은 시스템의 로케일과 관련된 항목을 사용자 정의하는 데 사용됩니다. 이는 키보드, 언어 지원, 시간 및 날짜를 포함합니다.
-
-#### 키보드
-
-이 가이드의 데모 시스템에서는 기본값인 *English US*을 사용하고 변경하지 않습니다.
-
-그러나 여기에서 변경 사항을 가할 경우, *설치 요약* 화면에서 Keyboard 옵션을 클릭하여 시스템의 키보드 레이아웃을 지정할 수 있습니다. 필요한 경우 추가적인 키보드 레이아웃을 추가하고 순서를 지정할 수도 있습니다.
-
-이 화면을 완료하면 Done 버튼을 클릭합니다.
-
-#### 언어 지원
-
-*설치 요약* 화면의 언어 지원 옵션을 사용하면 완료된 시스템에 필요한 추가 언어 지원을 지정할 수 있습니다.
-
-기본값인 "**English – United States**을 그대로 사용하고 변경하지 않고 Done를 클릭합니다.
-
-#### 시간 & 날짜
-
-*설치 요약* 화면에서 Time & Date 옵션을 클릭하여 기계가 위치한 시간대를 선택할 수 있는 다른 화면을 표시합니다. 지역 및 도시 목록을 스크롤하여 가장 가까운 지역을 선택합니다.
-
-설치 소스에 따라 *네트워크 시간* 옵션이 기본적으로 *ON* 또는 *OFF*로 설정될 수 있습니다. 기본값인 *ON* 설정을 그대로 사용합니다. 이렇게 하면 시스템이 네트워크 시간 프로토콜(NTP)을 사용하여 올바른 시간을 자동으로 설정합니다. 변경 사항을 저장한 후 Done를 클릭합니다.
-
-### 소프트웨어 섹션
-
-*설치 요약* 화면의 *소프트웨어* 섹션에서 설치할 추가 패키지(애플리케이션)와 설치 소스를 선택할 수 있습니다.
-
-#### 설치 소스
-
-Rocky 8 이미지를 사용하여 설치하는 경우, *설치 요약* 화면의 설치 원본 섹션에는 자동으로 *로컬 미디어*가 지정됩니다. 우리는 미리 설정된 기본값을 사용합니다.
-
-!!! !!!
-
- 설치 원본 영역은 네트워크 기반 설치를 수행할 수 있는 옵션입니다. 네트워크 기반 설치를 수행하려면 대상 시스템의 네트워크 어댑터가 올바르게 구성되어 인터넷에 연결되어 있는지 확인해야 합니다. 네트워크 기반 설치를 수행하려면 `Installation Source`을 클릭한 후 `On the network` 라디오 버튼을 선택합니다. 선택한 후에는 `https`를 프로토콜로 선택하고 텍스트 필드에 다음 URL을 입력하면 됩니다: `download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os`. 그런 다음 `Done`를 클릭합니다.
-
-#### 소프트웨어 선택
-
-*설치 요약* 화면에서 소프트웨어 선택 옵션을 클릭하면 시스템에 설치되는 정확한 소프트웨어 패키지를 선택할 수 있는 설치 섹션으로 이동합니다. 소프트웨어 선택 영역은 다음과 같이 나누어집니다:
-
-- *기본 환경* : 서버, 최소 설치, 사용자 정의 운영 체제
-- *선택한 환경에 대한 추가 소프트웨어 영역* : 왼쪽 영역에서 기본 환경을 선택하면 오른쪽 영역에서 해당 환경에 대해 설치할 수 있는 여러 관련 추가 소프트웨어가 나열됩니다.
-
-대신 *최소 설치* (기본 기능) 옵션을 선택합니다.
-
-화면 상단의 완료를 클릭합니다.
-
-### 시스템 섹션
-
-*설치 요약* 화면의 시스템 섹션은 대상 시스템의 하드웨어를 사용자 정의하고 변경하는 데 사용됩니다. 여기에서 하드 드라이브 파티션 또는 볼륨을 생성하고 사용할 파일 시스템을 지정하고 네트워크 구성을 지정합니다.
-
-#### 설치 대상
-
-*설치 요약* 화면에서 Installation Destination 옵션을 클릭합니다. 이렇게 하면 해당 작업 영역으로 이동합니다.
-
-대상 시스템에서 사용 가능한 모든 후보 디스크 드라이브가 표시되는 화면이 표시됩니다. 샘플 시스템과 같이 시스템에 하나의 디스크 드라이브만 있는 경우, 해당 드라이브가 *로컬 표준 디스크* 아래에 목록으로 표시되며 옆에 체크 표시가 있습니다. 디스크 아이콘을 클릭하면 디스크 선택 체크 표시를 켜거나 끌 수 있습니다. 여기에서 선택/확인하도록 설정합니다.
-
-*저장소 구성* 옵션 섹션에서 Automatic 라디오 버튼을 선택합니다.
-
-화면 상단의 완료를 클릭합니다.
-
-설치 프로그램이 사용 가능한 디스크를 인식하면 *설치 요약* 화면으로 돌아갑니다.
-
-### 네트워크 & 호스트 이름
-
-설치 절차의 마지막 작업은 시스템의 네트워크 구성을 다루며, 시스템에 대한 네트워크 관련 설정을 구성하거나 조정할 수 있습니다.
-
-!!! note "참고 사항"
-
- Network & Hostname 옵션을 클릭한 후, 모든 올바르게 감지된 네트워크 인터페이스 하드웨어 (예: 이더넷, 무선 네트워크 카드 등)가 네트워크 구성 화면의 왼쪽 창에 나열됩니다. 리눅스 배포판 및 구체적인 하드웨어 설정에 따라 이더넷 장치의 이름은 `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3` 등과 유사합니다.
-
-각 인터페이스에 대해 DHCP를 사용하여 구성하거나 IP 주소를 수동으로 설정할 수 있습니다. 수동으로 구성하려는 경우, IP 주소, 넷마스크 등과 같은 관련 정보를 모두 준비해야 합니다.
-
-*설치 요약* 화면의 Network & Hostname 버튼을 클릭하면 해당 구성 화면이 열립니다. 다른 사항들 중에서 시스템의 호스트 이름을 구성하는 옵션도 있습니다 (이름은 기본적으로 `localhost.localdomain`으로 설정됩니다).
-
-!!! note "참고 사항"
-
- 이 이름은 OS 설치 후에 쉽게 변경할 수 있습니다. 현재는 호스트 이름에 제공된 기본값을 사용합니다.
-
-다음 중요한 구성 작업은 시스템의 네트워크 인터페이스와 관련됩니다. 먼저, 왼쪽 창에 이더넷 카드 (또는 어떤 네트워크 카드든)가 나열되어 있는지 확인합니다. 왼쪽 창에서 감지된 네트워크 장치 중 하나를 클릭하여 선택합니다. 선택한 네트워크 어댑터의 구성 가능한 속성은 화면의 오른쪽 창에 표시됩니다.
-
-!!! note "참고 사항"
-
- 저희 샘플 시스템에서는 두 개의 이더넷 장치 (`ens3` 및 `ens4`)가 모두 연결된 상태입니다. 시스템의 네트워크 장치의 종류, 이름, 수량 및 상태는 저희 샘플 시스템과 다를 수 있습니다.
-
-구성하려는 장치의 스위치가 오른쪽 창에서 `ON` 위치로 되어 있는지 확인합니다. 이 섹션에서는 모든 기본값을 사용하도록 설정합니다.
-
-메인 *설치 요약* 화면으로 돌아가려면 Done를 클릭합니다.
-
-!!! warning "주의"
-
- 이 설치 프로그램의 이 섹션에서 서버의 IP 주소에 주의하십시오. 시스템에 물리적 또는 쉬운 콘솔 액세스가 없는 경우, 이 정보는 나중에 서버에 연결하여 작업을 계속해야 할 때 유용합니다.
-
-## 설치 프로그램 단계
-
-다양한 설치 작업에 대한 선택 사항에 만족하면, 설치 프로세스의 다음 단계로 설치가 진행됩니다.
-
-### 사용자 설정 섹션
-
-이 섹션에서는 `root` 사용자 계정의 비밀번호를 생성하거나 관리자 또는 비관리자 계정을 만들 수 있습니다.
-
-### 루트 비밀번호 설정
-
-*사용자 설정* 아래의 *루트 비밀번호* 필드를 클릭하여 *루트 비밀번호* 작업 화면을 시작합니다. *루트 비밀번호* 텍스트 상자에 루트 사용자의 강력한 비밀번호를 설정합니다.
-
-!!! !!!
-
- 루트 슈퍼 사용자는 시스템에서 가장 권한이 있는 계정입니다. 따라서 사용하거나 활성화하는 경우 강력한 비밀번호로 이 계정을 보호하는 것이 중요합니다.
-
-*Confirm* 텍스트 상자에 동일한 비밀번호를 다시 입력합니다.
-
-Done을 클릭합니다.
-
-
-### 사용자 계정 생성
-
-다음으로, *User Settings* 아래의 *User Creation* 필드를 클릭하여 *Create User* 작업 화면을 시작합니다. 이 작업 영역에서는 시스템에 특권을 가진 또는 특권이 없는 (관리자가 아닌) 사용자 계정을 생성할 수 있습니다.
-
-!!! 정보
-
- 시스템에서 일상적인 작업을 위해 특권이 없는 계정을 만들고 사용하는 것은 좋은 시스템 관리 관행입니다.
-
-필요할 때 루트 사용자와 동일한 슈퍼 사용자 (관리자) 권한을 부여할 수 있는 일반 사용자를 생성합니다.
-
-다음 정보로 *Create User* 화면의 필드를 완성한 다음 Done를 클릭합니다:
-
-*전체 이름*: `rockstar`
-
-*사용자 이름*: `rockstar`
-
-*이 사용자를 관리자로 만듭니다*: 체크
-
-*이 계정 사용 시 암호 필요*: 체크
-
-*암호*: `04302021`
-
-*암호 확인*: `04302021`
-
-### 설치 시작
-
-다양한 설치 작업에 대한 선택 사항에 만족하면, 메인 *설치 요약* 화면에서 *설치 시작* 버튼을 클릭합니다. 설치가 시작되며, 설치 프로그램은 설치 진행 상황을 표시합니다. 설치가 시작되면 디스크 파티션 작업, 파티션 또는 LVM 볼륨 포맷팅, 소프트웨어 종속성 확인 및 해결, 운영 체제를 디스크에 기록하는 등의 다양한 작업이 백그라운드에서 실행됩니다.
-
-!!! note "참고 사항"
-
- 설치 시작 버튼을 클릭한 후 계속 진행하지 않으려면 데이터 손실 없이 안전하게 설치를 취소할 수 있습니다. 설치 프로그램을 종료하려면, 단순히 시스템을 재설정하면 됩니다. 종료 버튼을 클릭하거나 키보드에서 ctrl-alt-del을 누르거나 리셋 또는 전원 스위치를 누르면 됩니다.
-
-### 설치 완료
-
-모든 필수 하위 작업을 완료하고 설치 프로그램이 진행되면, 완료 메시지가 포함된 최종 설치 진행 화면이 표시됩니다.
-
-마지막으로, Reboot System 버튼을 클릭하여 전체 절차를 완료합니다. 시스템이 다시 시작됩니다
-
-### 로그인
-
-시스템이 설정되어 사용할 준비가 되었습니다. Rocky Linux 콘솔이 표시됩니다.
-
-
-
-시스템에 로그인하려면, 로그인 프롬프트에서 `rockstar`를 입력하고 Enter를 누릅니다.
-
-암호 프롬프트에서 `04302021` (rockstar의 암호)를 입력하고 Enter를 누릅니다 (암호는 화면에 **표시되지 않습니다**. 이는 정상적인 동작입니다).
-
-로그인 후 `whoami` 명령을 실행할 것입니다. 이 명령은 현재 로그인된 사용자의 이름을 보여줍니다.
-
-
diff --git a/docs/guides/8_6_installation.md b/docs/guides/8_6_installation.md
deleted file mode 100644
index dec3679575..0000000000
--- a/docs/guides/8_6_installation.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-Title: Installing Rocky Linux 8
-author: wale soyinka
-contributors: tianci li, Steven Spencer, Ganna Zhyrnova
----
-
-# Installing Rocky Linux 8
-
-This guide walks through the detailed steps to install a 64-bit version of the Rocky Linux distribution on a stand-alone system. We will be performing a server class install using an operating system installer image downloaded from the Rocky Linux project website. We will step through the installation and customization steps in the following sections.
-
-## OS Installation Prerequisites
-
-First, you need to download the ISO to be used for this installation of Rocky Linux.
-
-The latest ISO image for the version of Rocky Linux that we will be using for this installation can be downloaded from here:
-
-
-
-To download the ISO directly from the command line, use the `wget` command:
-
-```bash
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/Rocky-8.9-x86_64-minimal.iso
-```
-
-Rocky Linux ISOs are named following this convention:
-
-```text
-Rocky-.--.iso
-```
-
-For example, `Rocky-8.9-x86_64-minimal.iso`
-
-!!! Note
-
- The Rocky project web page lists several mirrors, which are located around the globe. Choose the mirror geographically closest to you. The list of official mirrors can be found [here](https://mirrors.rockylinux.org/mirrormanager/mirrors).
-
-## Verifying the Installer ISO File
-
-If you've downloaded the Rocky Linux ISO(s) on an existing Linux distribution, you can use the `sha256sum` utility to verify that file(s) you downloaded are not corrupt. We will show an example of how to verify the `Rocky-8.5-x86_64-minimal.iso` file by checking its checksum.
-
-First download the file that contains the official checksums for the available ISOs. While still in the folder that contains the downloaded Rocky Linux ISO download the checksum file for the ISO, type:
-
-```bash
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/CHECKSUM
-```
-
-Use the `sha256sum` utility to verify the integrity of the ISO file against corruption and/or tampering.
-
-```bash
-sha256sum -c CHECKSUM --ignore-missing
-```
-
-This will check the integrity of the previously downloaded ISO file, provided it is in the same directory. The output should show:
-
-```text
-Rocky-8.9-x86_64-minimal.iso: OK
-```
-
-## The Installation
-
-!!! Tip
-
- Before installing, the system’s Unified Extensible Firmware Interface (UEFI) or Basic Input/Output System (BIOS) should be preconfigured to boot from the correct medium.
-
-We can begin the installation process if the computer is set up to boot from the media that has the ISO file.
-
-Insert and boot from the installation medium (optical disk, USB flash drive, and so on).
-
-Once the computer has booted you will be presented with the Rocky Linux 8 welcome splash screen.
-
-
-
-If you do not press any key the installer will begin a countdown, after which the installation process will automatically execute the default, highlighted, option:
-
-`Test this media & install Rocky Linux 8`
-
-You can also press ++enter++ at any time to start the process immediately.
-
-A quick media verification step will take place. This media verification step can save you the trouble of starting the installation only to find out halfway through that the installer has to abort because of bad installation media.
-
-After the media check runs to completion and the media is successfully verified to be usable, the installer will automatically continue to the next screen.
-
-Select the language you want to use for the installation on this screen. For this guide, we select *English (United States)*. Then click the ++"Continue"++ button.
-
-## Installation Summary
-
-The *Installation Summary* screen is an all-in-one area where you make the important decisions about the operating system to be installed.
-
-The screen is roughly divided into the following sections:
-
-- *Localization*: (Keyboard, Language Support, and Time & Date)
-- *Software*: (Installation Source and Software Selection)
-- *System*: (Installation Destination and Network & Hostname)
-
-We will delve into each of these sections next and make changes where necessary.
-
-### Localization Section
-
-This section is used for customizing items related to the system's locale. This includes – Keyboard, Language Support, Time and Date.
-
-#### Keyboard
-
-On our demo system in this guide, we accept the default value (*English US*) and make no changes.
-
-However, if you need to make any changes here, from the *Installation Summary* screen, click the ++"Keyboard"++ option to specify the keyboard layout of the system. You can add additional keyboard layouts if you need to in the ensuing screen and specify their order.
-
-Click ++"done"++ when you are finished with this screen.
-
-#### Language Support
-
-The ++"Language Support"++ option on the *Installation Summary* screen enables you to specify support for additional languages that you may need on the finished system.
-
-We will accept the default value (**English – United States**) and make no change, click ++"done"++.
-
-#### Time & Date
-
-Click the ++"Time & Date"++ option on the main *Installation Summary* screen to bring up another screen that will allow you to select the time zone in which the machine is located. Scroll through the list of regions and cities and select the area closest to you.
-
-Depending on your installation source, the *Network Time* option could be set to *ON* or *OFF* by default. Accept the default *ON* setting; this allows the system to automatically set the correct time using the Network Time Protocol (NTP). Click ++"done"++ after making any changes.
-
-### Software Section
-
-Under the *Software* section of the *Installation Summary* screen, you can select the installation source as well as additional packages (applications) that get installed.
-
-#### Installation Source
-
-Since we are performing our installation using a full Rocky 8 image, you will notice that *Local Media* is automatically specified under the Installation Source section of the main *Installation Summary* screen. We'll accept the preset defaults.
-
-!!! Tip
-
- The installation Source area is where you can opt to perform a network-based installation. For a network-based installation, you need first to ensure that a network adapter on the target system is configured correctly and can reach the internet. To perform a network-based installation, click on `Installation Source` and then select the `On the network` radio button. Once selected, choose `https` as the protocol and type the following URL in the text field `download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os`. Click `Done`.
-
-#### Software Selection
-
-Clicking the ++"Software Selection"++ option on the main *Installation Summary* screen presents you with the section of the installation where you can pick the exact software packages that get installed on the system. The software selection area is divided into:
-
-- *Base Environment*: Server, Minimal Install, Custom Operating System
-- *Additional software for Selected Environment area*: Selecting a Base Environment on the left side presents a variety of related additional software that can be installed for the given environment on the right side.
-
-Select the *Minimal Install* (Basic functionality) option instead.
-
-Click ++"done"++ at the top of the screen.
-
-### System Section
-
-The System section of the *Installation Summary* screen is used for customizing and making changes to the underlying hardware of the target system. This is where you create your hard drive partitions or volumes, specify the file system to be used, and specify the network configuration.
-
-#### Installation Destination
-
-From the *Installation Summary* screen, click the `Installation Destination` option. This takes you to the corresponding task area.
-
-You will see a screen displaying all the candidate disk drives that you have available on the target system. If you have only one disk drive on the system, as on our sample system, you will see the drive listed under *Local Standard Disks* with a check mark beside it. Clicking the disk icon will toggle on or off the disk selection check mark. We want it selected/checked here.
-
-Under the *Storage Configuration* Options section, select the ++"Automatic"++ radio button.
-
-Then click ++"done"++ at the top of the screen.
-
-Once the installer determines that you have a usable disk, you will be returned to the *Installation Summary* screen.
-
-### Network & Hostname
-
-The final task of the installation procedure deals with network configuration, where you can configure or tweak network-related settings for the system.
-
-!!! Note
-
- After you click on the ++"Network & Hostname"++ option, all correctly detected network interface hardware (such as Ethernet, wireless network cards, and so on) will be listed in the left pane of the network configuration screen. Depending on the Linux distribution and the specific hardware setup, Ethernet devices in Linux have names similar to `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, and so on.
-
-You can either configure each interface using DHCP or manually set the IP address. If you choose to configure manually, be sure to have all the pertinent information ready, such as the IP address, netmask, and so on.
-
-Clicking the ++"Network & Hostname"++ button in the main *Installation Summary* screen opens the corresponding configuration screen. Among other things, you have the option to configure the hostname of the system (the name defaults to `localhost.localdomain`).
-
-!!! Note
-
- You can easily change this name later on after the OS has been installed. For now, accept the default value supplied for the hostname.
-
-The next important configuration task is related to the network interfaces on the system. First, verify that an Ethernet card (or any network card) is listed in the left pane. Click any of the detected network devices in the left pane to select it. The configurable properties of the selected network adapter will appear in the right pane of the screen.
-
-!!! Note
-
- On our sample system, we have two Ethernet devices (`ens3` and `ens4`), all of which are in a connected state. The type, name, quantity, and state of the network devices on your system may vary from the ones on our sample system.
-
-Make sure the switch of the device you want to configure is flipped to the `ON` position in the right pane.
-We'll accept all the defaults in this section.
-
-Click ++"done"++ to return to the main *Installation Summary* screen.
-
-!!! Warning
-
- Pay attention to the IP address of the server in this section of this installer. If you don’t have physical or easy console access to the system, this information will come in handy later on when you need to connect to the server to continue working on it.
-
-## Installer Phase
-
-Once you are satisfied with your choices for the various installation tasks, the next phase of the installation process will begin the installation proper.
-
-### User Settings Section
-
-This section can be used for creating a password for the `root` user account and also for creating new administrative or non-administrative accounts.
-
-### Set the Root Password
-
-Click the *Root Password* field under *User Settings* to launch the *Root Password* task screen. In the *Root Password* text box, set a strong password for the root user.
-
-!!! Warning
-
- The root superuser is the most privileged account on the system. Therefore, if you choose to use or enable it, it is crucial that you protect this account with a strong password.
-
-Enter the same password again in the *Confirm* text box.
-
-Click ++"done"++.
-
-### Create a User Account
-
-Next click the *User Creation* field under *User Settings* to launch the *Create User* task screen. This task area allows you to create a privileged or non-privileged (non-administrative) user account on the system.
-
-!!! Info
-
- Creating and using a non-privileged account for day-to-day tasks on a system is a good system administration practice.
-
-We’ll create a regular user that can invoke superuser (administrator) powers, the same as the root user, when needed.
-
-Complete the fields in the *Create User* screen with the following information and then click ++"done"++:
-
-*Full name*:
-`rockstar`
-
-*Username*:
-`rockstar`
-
-*Make this user administrator*:
-Checked
-
-*Require a password to use this account*:
-Checked
-
-*Password*:
-`04302021`
-
-*Confirm password*:
-`04302021`
-
-### Start the Installation
-
-Once you are satisfied with your choices for the various installation tasks, click the Begin Installation button on the main *Installation Summary* screen. The installation will begin, and the installer will show the progress of the installation. When the installation begins, various tasks will begin running in the background, such as partitioning the disk, formatting the partitions or LVM volumes, checking for and resolving software dependencies, writing the operating system to the disk, and so on.
-
-!!! Note
-
- If you do not wish to continue after clicking the Begin Installation button, you can still safely back out of the installation without any loss of data. To quit the installer, simply reset your system either by clicking the Quit button, pressing ctrl-alt-del on the keyboard, or pushing the reset or power switch.
-
-### Complete the Installation
-
-After you have completed all of the mandatory subtasks, and the installer has run its course, you will be presented with a final installation progress screen with a complete message.
-
-Finally, complete the entire procedure by clicking the ++"Reboot System"++ button. The system will restart.
-
-### Log In
-
-The system is now set up and ready for use. You will see the Rocky Linux console.
-
-
-
-To log onto the system, type `rockstar` at the login prompt and press ++enter++.
-
-At the Password prompt, type `04302021` (rockstar’s password) and press ++enter++ (the password will ***not*** be echoed to the screen, that is normal).
-
-We will run the `whoami` command after login, this command shows the name of the currently logged in user.
-
-
diff --git a/docs/guides/8_6_installation.sv.md b/docs/guides/8_6_installation.sv.md
deleted file mode 100644
index 2cdd12f4f3..0000000000
--- a/docs/guides/8_6_installation.sv.md
+++ /dev/null
@@ -1,257 +0,0 @@
----
-title: Installera Rocky Linux
----
-
-# Installera Rocky Linux
-
-Denna guide går igenom i detalj stegen för att installera en 64-bitars version av rocky Linux distribution på ett fristående system.
-
-****
-Vi kommer att utföra en server klass installation i detta kapitel genom att använda en oprativsystems installationsavbild nerladdad från rocky projektets webbplats. Vi kommer att tackla installationen och anpassade steg i följande avsnitt.
-****
-
-## OS förutsättningar för installation
-
-Först, så behöver du ladda ner ISO-avbilden för Rocky som vi kommer att installera.
-
-Den senaste ISO-avbilden för den version av Rocky som vi kommer att använda för denna installation kan laddas ner härifrån:
-
-```
-https://www.rockylinux.org/download/
-
-```
-
-För att ladda ner ISO-avbilden direkt från en terminal skriv:
-
-```
-$ wget https://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
-```
-
-Rocky ISOs är namngavna efter följande konvention:
-
-```
-Rocky-..-.iso
-```
-
-t.ex. `Rocky-8.4-x86_64-minimal.iso`
-
-!!! Note "Notera"
- Rocky projektets webbplats har en lista på flera speglar som ligger över hela världen. När det är möjligt, så ska du välja en spegel som är geografiskt närmast dig. Listan över officella speglar kan hittas [här](https://mirrors.rockylinux.org/mirrormanager/mirrors).
-
-## Verifiera installations ISO
-
-Om du har laddat hem Rocky ISO-avbilden/avbilder på en existerande Linux distribution, så kan du använda `sha256sum` verktyget för att verifiera att filen/filerna du har laddat ner inte är skadade på något sätt. Vi visar ett exempel på hur man verifierar sha256sum av `Rocky-8.4-x86_64-minimal.iso`.
-
-Första ladda ner filen som innehåller dom officiella kontrollsummorna för tillgängliga ISO-avbilder. Medan du fortfarande är i mappen som innehåller den nerladdade Rocky ISO-avbilden, skriv:
-
-```
-wget http://download.rockylinux.org/pub/rocky/8.4/isos/x86_64/CHECKSUM
-```
-
-Använd `sha256sum` verktyget för att verifiera
-
-```
-sha256sum -c CHECKSUM --ignore-missing Rocky-8.4-x86_64-minimal.iso
-```
-
-Utdatan ska inkludera:
-
-```
-Rocky-8.4-x86_64-minimal.iso: OK
-```
-
-!!! Tip
- Innan du startar installationen ordentligt, systemets Unified Extensible Firmware Interface (UEFI) eller Basic Input/Output System (BIOS) ska vara förkonfigurerat till att starta från korrekt media.
-
-# Installationen
-
-Låt oss börja med installationsprocessen.
-
-Koppla in och starta från ditt installationmedia (optisk skiva, USB-sticka, och så vidare).
-
-När du startat, så kommer du bli presenterad med en välkomstskärm.
-
-
-
-Om du inte trycker på någon tangent, efter uppmaningen börjar en nedräkning, varefter installationsprocessen kommer börja med att starta den markerade `Testa detta media & installera Rocky Linux 8` ... alternativ. Du kan också trycka på enter för att starta processen omedelbart.
-
-Ett snabbt mediaverifieringssteg kommer att äga rum. detta mediaverifieringssteg kan spara dig besväret av att påbörja installationen endast för att upptäcka halvvägs igenom att installationsprogrammet kommer att avbrytas på grund av dåligt installationsmedia.
-
-Efter att mediekontrollen är klar, och mediat har framgångsrikt verifierats och kommer att vara användbart, så kommer installationsprogrammet automatiskt att fortsätta till nästa sektion.
-
-Välj vilket språk du vill använda för att utföra installationen i denna del. För detta exempel, så kommer vi välja _Engelska (United States)_. Klicka sedan på knappen Fortsätt.
-
-## Installationsöversikt
-
-Installationsöversikts skärmen är ett allt-i-ett-område där du kan göra viktiga val om det operativsystem som ska installeras.
-
-Denna skärm är ungefär uppdelad i följande sektioner:
-
-- _Lokalisering_: (Tangentbord, Språkstöd, och Tid & Datum)
-- Programvara: (Installationskälla och Programvaruval)
-- _System_: (Installationsdestination och Nätverk & Värdnamn)
-
-Vi fördjupar oss i vart och ett av denna sektion och gör ändringar vid behov.
-
-## Lokaliseringssektion
-
-Denna ssektion används för att anpassa objekt relaterade till lokalen ditt system. Detta inkluderar – Tangentbord, Språkstöd, Tid och Datum.
-
-### Tangentbord
-
-På vårt demo-system i den här guiden accepterar vi standardvärdet (_Engelska_ US_) och gör inga ändringar.
-
-Men om du behöver göra några ändringar här, från _Installationsöversikt_ skärmen, klicka på Tangentbords alternativet för att ange tangentbordslayout på ditt system. Du kan lägga till ytterligare tangentbordslayouter om du behöver på den efterföljande skärmen och ange deras ordning.
-
-Klicka på Klar när du är klar.
-
-### Språkstöd
-
-Språkstöd alternativet på _Installationsöversikt_ skärmen tillåter dig att aktivera stöd för ytterligare språk som du kan behöva på det färdiga systemet.
-
-Vi accepterar standardvärdet (__Engelska – United States__) och gör ingen förändring . Klicka på Klar.
-
-### Tid & Datum
-
-Klicka på Tid & Datum alternativet på huvud _Installationsöversikt_ skärmen för att få upp en annan skärm som tillåter dig att välja vilken tidszon där maskinen är placerad. Bläddra igenom listan över regioner och städer och välj det område som ligger närmast dig.
-
-Beroende på din installationskälla, så kan _Nätverkstid_ alternativet sättas till _PÅ eller _AV som standard. Acceptera standard _PÅ_ inställningen; detta tillåter systemet att automatiskt ställa in rätt tid genom att använda nätverkstid protokollet (NTP). Klicka på Klar efter du gjort några ändringar.
-
-## Programvaruval
-
-Under Programvaruval sektionen på _Installationsöversikt_ skärmen, så kan du välja en installationskälla samt ytterligare paket (applikationer) som ska installeras.
-
-### Installationskälla
-
-Eftersom vi utför vår installation med en full Rocky 8 avbild, så kommer du notera att _Lokalt media_ är automatiskt valt under installationskälla sektionen av huvud _Installationsöversikt_ skärmen. Vi accepterar de förinställda standardvärdena.
-
-### Programvaruval
-
-Klicka på Programvaruval alternativet på huvud _Installationsöversikt_ skärmen presenterar dig med en sektion av installationen där du kan välja dom exakta programvarupaketen som installeras på systemet. Dessa programvaru områden har delats in i dessa:
-
-- _Basmiljö_ : Server, Minimal installation, Anpassat Operativ system
-- _Ytterligare programvara för området Vald miljö : Då du väljer basmiljö på vänster sida presenteras en mängd relaterad ytterligare programvara som kan installeras för den valda miljön på högersida.
-
-Välj alternativet _Minimal installation_ (grundläggande funktionalitet) istället.
-
-Klicka på Klar högst upp på skärmen.
-
-## System Sektion
-
-Systemsektionen på _Installationsöversikt_ skärmen används för att anpassa och gör ändringar till den underliggande hårdvaran på målsystemet. Detta är vart du skapar dina hårddiskpartitioner eller volymer, specificerar vilket filsystem som ska användas, och anger nätverkskonfigurationen.
-
-### Installationsdestination
-
-Från _Installationsöversikt_ skärmen, klicka på Installationsdestination alternativet. Detta tar dig till motsvarande uppgiftsområde.
-
-Du kommer se en skärm som visar alla dom kandiderande diskar som du har tillgängliga på målsystemet. Om du endast har en diskenhet på systemet, som på vårat exempelsystem, Då kommer du att se enheten listad under _Lokala Standarddiskar_ med en bock bredvid den. Om du klickar på diskikonen växlar du på eller av kryssmarkeringen för diskval. Vi vill ha den vald/ikryssad här.
-
-Under _Lagringskonfigurations_ Inställningssektionen, Välj den Automatiska knappen.
-
-Klicka sedan på Klar högst upp på skärmen.
-
-När installationsprogrammet har kommit fram till att du har en användbar disk, så kommer du att skickas tillbaka till _Installationsöversikt_ skärmen.
-
-### Nätverk & Värdnamn
-
-Sista steget av installationsproceduren handlar om nätverkskonfiguration, här kan du kan konfigurera eller justera nätverksrelaterade inställningar för systemet.
-
-!!! Note "Notera"
- Efter du klickat på Nätverk & Värdnamn alternativet, alla korrekt upptäckta hårdvaror för nätverksgränssnitt (t.ex. Ethernet, trådlösa nätverkskort och så vidare) kommer att listas i den vänstra rutan på nätverkskonfigurationsskärmen. Beroende på Linux-distributionen och dom specifika hårdvaruinställningarna, Ethernet enheter i har namn som ungefär som `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, och såvidare.
-
-För varje gränssnitt, så kan du antingen konfigurera det med DHCP eller genom att manuellt ange en IP-adress. Om du väljer att konfigurera manuellt, se till att ha all relevant information redo, som t.ex. IP-adress, nätmask, och såvidare.
-
-Klicka på Nätverk & Värdnamn knappen på huvud _Installationsöversikt_ skärmen öppnar den motsvarande konfigurationsskärmen. Bland annat, så har du alternativet att konfigurera värdnamnet för systemet (namnet är som standard `localhost.localdomain`).
-
-!!! Note "Notera"
- Du kan enkelt ändra detta namnet senare efter att oprativsystemet har installerats. För nu, acceptera det angivna standardvärdet för värdnamnet.
-
-Nästa viktiga konfigurationsuppgift är relaterad till nätverksgränssnitten på systemet. Först, verifiera att ett Ethernet-kort (eller annat nätverkskort) är listat i den vänstra rutan. Klicka på någon av dom upptäckta nätverksenheterna i den vänstra rutan för att välja den. De konfigurerbara egenskaperna för den valda nätverks adapter visas i den högra rutan på skärmen.
-
-!!! Note "Notera"
- På våran exempelserver, så har vi fyra Ethernet-enheter (`ens3`, `ens4`, `ens5` och `ens6`), som alla är i ett anslutet tillstånd. Typ, namn, kvantitet, och tillstånd på nätverksenheterna på ditt system kan variera från de som finns i vårt exempelsystem.
-
-Se till att omkopplaren för enheten som du vill konfigurera ändras till `PÅ` position i den högra rutan.
-Vi accepterar alla standardvärden i den här sektionen.
-
-Klicka på Klar och återgå till huvud _Installationsöversikt_ skärmen.
-
-!!! Warning "Varning"
- Var uppmärksam på serverns IP-adress i denna sektion av installationsprogrammet. Om du inte har fysisk åtkomst eller enkel konsolåtkomst till systemet, Så kommer denna information komma att vara till nytta senare när du behöver ansluta till servern för att fortsätta arbeta med den.
-
-## Installationen
-
-När du väl är nöjd med dina val för olika installationsuppgifter, så kommer nästa fas av installationsprocessen att börja installera ordentligt.
-
-## Användarinställningar Sektion
-
-Denna sektion kommer att användas för att skapa ett lösenord för `root` användarkontot och också för att skapa nya administrativa eller icke-administrativa konton.
-
-### Välj ett Root lösenord
-
-Klicka på _Rootlösenords_ fäletet under _Använderinställningar_ för att starta _Rootlösenords _ uppgiftsskärmen. I _Rootlösenord_ textrutan, ange ett starkt lösenord för rotanvändaren.
-
-!!! Warning "Varning"
- Denna användare är det mest privilegierade kontot på ditt system. Därför, om du väljer att använda det eller aktivera det - så är det mycket viktigt att du skyddar det här kontot med ett mycket bra lösenord.
-
-Ange samme lösenord igen i _Bekräfta textrutan.
-
-Klicka på Klar.
-
-
-### Skapa ett användarkonto
-
-Klicka sedan på fältet _Användarskapande_ under _Användarinställningar_ för att starta _Skapa en användare_ uppgiftsskärmen. Detta aktivitetsområde låter dig skapa ett privilegierat eller icke-privilegierat (icke-administrativt) användarkonto i systemet.
-
-!!! Info
- Att skapa och använda ett icke-privilegierat konto för dagliga uppgifter i ett system är en bra systemadministrationspraxis.
- Vi kommer att skapa en vanlig användare som kan åkalla superanvändare (administratörsrättigheter) när det behövs.
-
-Fyll i fälten på _Skapa en användare_ skärmen med följande information och klicka sedan påKlar:
-
-_Fullständigt namn_:
-`rockstar`
-
-_Användarnamn_:
-`rockstar`
-
-_Gör den här användaren administratör_:
-Ikryssad
-
-_Kräv ett lösenord för att använda detta konto_:
-Ikryssad
-
-_Lösenord_:
-`04302021`
-
-_Bekräfta lösenord_:
-`04302021`
-
-### Starta installationen
-
-När du väl är nöjd med dina val för dom olika installationsuppgifterna, klicka på starta Installationsknappen på huvud _Installationsöversikt_ skärmen. installationen kommer att startas, och installationsprogrammet visar hur installationen fortskrider.
-
-!!! Note
- Om du får kalla fötter efter att du har klickat på starta Installationsknappen, så kan du fortfarande säkert komma tillbaka från installationen utan att förlora data (eller självförtroende). För att avsluta installationsprogrammet, Återställ helt enkelt ditt system antingen genom att klicka på Avsluta-knappen, trycka ctrl-alt-del på ditt tangentbord, eller genom att trycka på reset- eller strömknappen.
-
-När installationen startar, så kommer olika uppgifter börja köras i bakgrunden, som att partitionera disken, formatera partitionerna eller LVM-volymerna, söka efter och lösa programberoenden, skriva operativsystemet till disk och så vidare.
-
-### Slutför installationen
-
-Efter du har slutfört alla av de obligatoriska deluppgifterna och installationsprogrammet har gått sin runda, så kommer du att få en slutlig skärm för installationsförloppet med ett slutför meddelande.
-
-Slutligen slutför hela proceduren genom att klicka på Starta om System knappen. Systemet startar om sig själv.
-
-### Logga in
-
-Systemet är nu färdig installerat och klart för användning. Du kommer att se den bedårande Rocky Linux-konsolen.
-
-
-
-För att logga in på systemet, skriv `rockstar` vid inloggningsprompten och tryck på enter.
-
-Vid lösenordsprompten, skriv `04302021` (rockstar’s lösenord) och tryck på enter (ingenting visas på skärmen och detta är normalt).
-
-Prova att köra `whoami` kommandot efter inloggning.
-
-
diff --git a/docs/guides/8_6_installation.uk.md b/docs/guides/8_6_installation.uk.md
deleted file mode 100644
index 402452ae7f..0000000000
--- a/docs/guides/8_6_installation.uk.md
+++ /dev/null
@@ -1,260 +0,0 @@
----
-Title: Встановлення Rocky Linux 8
-author: wale soyinka
-contributors: tianci li, Steven Spencer, Ganna Zhyrnova
----
-
-# Встановлення Rocky Linux 8
-
-У цьому посібнику описано детальні кроки для встановлення 64-розрядної версії дистрибутива Rocky Linux на автономній системі. Ми будемо виконувати встановлення класу сервера за допомогою образу інсталятора операційної системи, завантаженого з веб-сайту проекту Rocky Linux. У наступних розділах ми розглянемо кроки встановлення та налаштування.
-
-## Передумови встановлення ОС
-
-По-перше, вам потрібно завантажити ISO, який буде використовуватися для цієї інсталяції Rocky Linux.
-
-Останній образ ISO для версії Rocky Linux, яку ми будемо використовувати для цієї інсталяції, можна завантажити тут:
-
-
-
-Щоб завантажити ISO безпосередньо з командного рядка, скористайтеся командою `wget`:
-
-```bash
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/Rocky-8.9-x86_64-minimal.iso
-```
-
-ISO Rocky Linux називаються відповідно до цієї угоди:
-
-```text
-Rocky-.--.iso
-```
-
-Наприклад, `Rocky-8.9-x86_64-minimal.iso`
-
-!!! Note "Примітка"
-
- Веб-сторінка проекту Rocky містить перелік кількох дзеркал, розташованих по всьому світу. По можливості вибирайте дзеркало, територіально найближче до вас. Список офіційних дзеркал можна знайти [тут](https://mirrors.rockylinux.org/mirrormanager/mirrors).
-
-## Перевірка файлу ISO інсталятора
-
-Якщо ви завантажили Rocky Linux ISO в існуючий дистрибутив Linux, ви можете скористатися утилітою `sha256sum`, щоб переконатися, що файли, які ви завантажили, не пошкоджені. Перевіривши його контрольну суму, ми покажемо приклад перевірки файлу `Rocky-8.5-x86_64-minimal.iso`.
-
-Спочатку завантажте файл, який містить офіційні контрольні суми для доступних ISO. Перебуваючи в папці, яка містить завантажений ISO Rocky Linux, завантажте файл контрольної суми для ISO, введіть:
-
-```bash
-wget https://download.rockylinux.org/pub/rocky/8.9/isos/x86_64/CHECKSUM
-```
-
-Використовуйте утиліту `sha256sum`, щоб перевірити цілісність файлу ISO на пошкодження та/або втручання.
-
-```bash
-sha256sum -c CHECKSUM --ignore-missing
-```
-
-Це перевірить цілісність раніше завантаженого файлу ISO, якщо він знаходиться в тому самому каталозі. Вихід має показати:
-
-```text
-Rocky-8.9-x86_64-minimal.iso: OK
-```
-
-## Встановлення
-
-!!! tip "Порада"
-
- Перед інсталяцією уніфікований розширюваний інтерфейс мікропрограми (UEFI) або базову систему вводу/виводу (BIOS) потрібно попередньо налаштувати для завантаження з правильного носія.
-
-Ми можемо почати процес встановлення, якщо комп’ютер налаштовано на завантаження з носія, який містить файл ISO.
-
-Вставте та завантажтеся з інсталяційного носія (оптичний диск, флешка тощо).
-
-Після завантаження комп’ютера ви побачите екран привітання Rocky Linux 8.
-
-
-
-Якщо ви не натиснете жодну клавішу, інсталятор почне зворотний відлік, після чого процес інсталяції автоматично виконає стандартний, виділений параметр:
-
-`Перевірте цей носій і встановіть Rocky Linux 8`
-
-Ви також можете будь-коли натиснути ++enter++, щоб негайно розпочати процес.
-
-Відбудеться швидка перевірка медіа. Цей етап перевірки носія може позбавити вас від проблем із запуском інсталяції лише на півдорозі, щоб дізнатися, що інсталятор має перервати через неправильний інсталяційний носій.
-
-Після завершення перевірки носія та його придатності до використання інсталятор автоматично перейде до наступного екрана.
-
-На цьому екрані виберіть мову, яку ви хочете використовувати для встановлення. Для цього посібника ми вибрали *English (United States)*. Потім натисніть кнопку ++"Continue"++.
-
-## Підсумок Інсталяції
-
-Екран *Підсумок інсталяції* — це всеохоплююча область, де ви приймаєте важливі рішення щодо операційної системи, яку потрібно встановити.
-
-Екран приблизно поділено на такі частини:
-
-- *Localization*: (Клавіатура, підтримка мови та час і дата)
-- *Software*: (Джерело встановлення та вибір програмного забезпечення)
-- *System*: (Місце призначення та мережа та ім’я хоста)
-
-Далі ми розглянемо кожен із цих розділів і внесемо необхідні зміни.
-
-### Розділ локалізації
-
-Цей розділ використовується для налаштування елементів, пов’язаних із системою. Це включає – клавіатуру, підтримку мови, час і дату.
-
-#### Клавіатура
-
-У нашій демонстраційній системі в цьому посібнику ми приймаємо значення за умовчанням (*English US*) і не вносимо жодних змін.
-
-Однак, якщо вам потрібно внести будь-які зміни тут, на екрані *Підсумок встановлення* натисніть опцію ++"Клавіатура"++, щоб указати розкладку клавіатури системи. Ви можете додати додаткові розкладки клавіатури, якщо потрібно, на наступному екрані та вказати їх порядок.
-
-Натисніть ++"done"++, коли ви закінчите з цим екраном.
-
-#### Підтримка мови
-
-Параметр ++"Language Support"++ на екрані *Installation Summary* дає змогу вказати підтримку додаткових мов, які можуть знадобитися вам у готовій системі.
-
-Ми приймемо значення за замовчуванням (**англійська – США**) і не внесемо жодних змін, натисніть ++"done"++.
-
-#### Час & Дата
-
-Натисніть опцію ++"Time & Date"++ на головному екрані *Підсумок встановлення*, щоб відкрити інший екран, який дозволить вам вибрати часовий пояс, у якому знаходиться машина. Прокрутіть список регіонів і міст і виберіть найближчу до вас область.
-
-Залежно від джерела інсталяції для параметра *Мережевий час* можна встановити значення *УВІМК.* або *ВИМКНЕНО* за умовчанням. Прийміть стандартне налаштування *ON*; це дозволяє системі автоматично встановлювати правильний час за допомогою мережевого протоколу часу (NTP). Натисніть ++"done"++ після внесення будь-яких змін.
-
-### Розділ програмного забезпечення
-
-У розділі *Програмне забезпечення* на екрані *Підсумок встановлення* ви можете вибрати джерело встановлення, а також додаткові пакети ( програми), які встановлюються.
-
-#### Джерело встановлення
-
-Оскільки ми виконуємо нашу інсталяцію, використовуючи повний образ Rocky 8, ви помітите, що *Локальний носій* автоматично вказано в розділі «Джерело інсталяції» на головному екрані *Підсумок інсталяції*. Ми приймемо стандартні налаштування.
-
-!!! tip "Порада"
-
- Область «Джерело інсталяції» — це місце, де ви можете вибрати встановлення через мережу. Для мережевої інсталяції вам спочатку потрібно переконатися, що мережевий адаптер у цільовій системі налаштовано правильно та може підключитися до Інтернету. Щоб виконати встановлення через мережу, клацніть «Джерело встановлення» та виберіть перемикач «У мережі». Після вибору виберіть `https` як протокол і введіть наступну URL-адресу в текстове поле `download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os`. Натисніть `Готово`.
-
-#### Вибір програмного забезпечення
-
-Натиснувши опцію ++"Вибір програмного забезпечення"++ на головному екрані *Підсумок встановлення*, ви побачите розділ встановлення, де ви можете вибрати точні пакети програмного забезпечення, які буде встановлено в системі. Зона вибору програмного забезпечення поділяється на:
-
-- *Базове середовище*: сервер, мінімальна інсталяція, спеціальна операційна система
-- *Додаткове програмне забезпечення для області вибраного середовища*: вибір базового середовища ліворуч представляє різноманітне пов’язане додаткове програмне забезпечення, яке можна встановити для заданого середовища праворуч.
-
-Натомість виберіть опцію *Мінімальна інсталяція* (базова функція).
-
-Натисніть ++"done"++ у верхній частині екрана.
-
-### Системний розділ
-
-Розділ «Система» на екрані *Підсумок встановлення* використовується для налаштування та внесення змін до апаратного забезпечення цільової системи. Тут ви створюєте розділи або томи жорсткого диска, вказуєте файлову систему, яка буде використовуватися, і вказуєте конфігурацію мережі.
-
-#### Місце призначення
-
-На екрані *Підсумок встановлення* клацніть опцію `Місце призначення`. Це приведе вас до відповідної області завдань.
-
-Ви побачите екран із усіма дисками-кандидатами, доступними у цільовій системі. Якщо у вас є лише один дисковод у системі, як у нашій зразковій системі, ви побачите диск у списку *Локальних стандартних дисків* із позначкою біля нього. Натискання піктограми диска вмикає або вимикає позначку вибору диска. Ми хочемо, щоб це було вибрано/перевірено тут.
-
-У розділі параметрів *Налаштування сховища* виберіть перемикач ++"Автоматично"++.
-
-Потім натисніть ++"done"++ у верхній частині екрана.
-
-Коли інсталятор визначить, що у вас є придатний для використання диск, ви повернетеся до екрана *Підсумок встановлення*.
-
-### Мережа & Ім'я хоста
-
-Останнім завданням процедури інсталяції є конфігурація мережі, де ви можете налаштувати або налаштувати параметри, пов’язані з мережею, для системи.
-
-!!! Note "Примітка"
-
- Після того, як ви клацнете опцію ++"Network & Hostname"++, усе правильно визначене обладнання мережевого інтерфейсу (наприклад, Ethernet, бездротові мережеві карти тощо) буде перераховано на лівій панелі екрана налаштування мережі. Залежно від дистрибутива Linux і конкретної установки апаратного забезпечення пристрої Ethernet у Linux мають назви, схожі на `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, і так далі.
-
-Ви можете або налаштувати кожен інтерфейс за допомогою DHCP, або вручну встановити IP-адресу. Якщо ви вирішите налаштувати вручну, переконайтеся, що підготували всю відповідну інформацію, наприклад IP-адресу, маску мережі тощо.
-
-Натискання кнопки ++"Network & Hostname"++ на головному екрані *Підсумок встановлення* відкриває відповідний екран конфігурації. Серед іншого, у вас є можливість налаштувати ім’я хоста системи (типове ім’я `localhost.localdomain`).
-
-!!! Note "Примітка"
-
- Ви можете легко змінити цю назву після встановлення ОС. Наразі прийміть значення за замовчуванням, надане для імені хоста.
-
-Наступне важливе завдання налаштування пов’язане з мережевими інтерфейсами в системі. Спочатку переконайтеся, що Ethernet-карта (або будь-яка мережева карта) указана на лівій панелі. Натисніть будь-який із виявлених мережевих пристроїв на лівій панелі, щоб вибрати його. Властивості вибраного мережевого адаптера, які можна налаштувати, з’являться на правій панелі екрана.
-
-!!! Note "Примітка"
-
- У нашому прикладі системи ми маємо два пристрої Ethernet ("ens3" і "ens4"), усі вони знаходяться в підключеному стані. Тип, назва, кількість і стан мережевих пристроїв у вашій системі можуть відрізнятися від пристроїв у нашій зразковій системі.
-
-Переконайтеся, що перемикач пристрою, який ви хочете налаштувати, переведено в положення `ON` на правій панелі. Ми приймемо всі значення за замовчуванням у цьому розділі.
-
-Натисніть ++"done"++, щоб повернутися до головного екрана *Підсумок встановлення*.
-
-!!! Warning "Важливо"
-
- Зверніть увагу на IP-адресу сервера в цьому розділі інсталятора. Якщо у вас немає фізичного або легкого консольного доступу до системи, ця інформація буде корисною, коли вам потрібно буде підключитися до сервера, щоб продовжити роботу на ньому.
-
-## Фаза встановлення
-
-Коли ви задоволені своїм вибором для різних завдань встановлення, наступний етап процесу встановлення розпочне власне встановлення.
-
-### Розділ налаштувань користувача
-
-Цей розділ можна використовувати для створення пароля для облікового запису користувача `root`, а також для створення нових адміністративних або неадміністративних облікових записів.
-
-### Встановіть пароль root
-
-Натисніть поле *Root Password* у *User Settings*, щоб запустити *Root Пароль* екран завдання. У текстовому полі *Root Password* установіть надійний пароль для користувача root.
-
-!!! Warning "Важливо"
-
- Суперкористувач root є найбільш привілейованим обліковим записом у системі. Тому, якщо ви вирішите використовувати або ввімкнути його, дуже важливо захистити цей обліковий запис надійним паролем.
-
-Знову введіть той самий пароль у текстове поле *Підтвердити*.
-
-Натисніть ++"done"++.
-
-### Створіть обліковий запис користувача
-
-Потім клацніть поле *Створення користувача* в розділі *Параметри користувача*, щоб запустити екран завдань *Створити користувача*. Ця область завдань дозволяє створити привілейований або непривілейований (не адміністративний) обліковий запис користувача в системі.
-
-!!! Info "Інформація"
-
- Створення та використання непривілейованого облікового запису для повсякденних завдань у системі є хорошою практикою адміністрування системи.
-
-Ми створимо звичайного користувача, який може використовувати повноваження суперкористувача (адміністратора), такі ж, як користувач root, коли це необхідно.
-
-Заповніть поля на екрані *Створити користувача* такою інформацією, а потім натисніть ++"done"++:
-
-*Full name*: `rockstar`
-
-*Username*: `rockstar`
-
-*Make this user administrator*: Checked
-
-*Require a password to use this account*: Checked
-
-*Password*: `04302021`
-
-*Confirm password*: `04302021`
-
-### Почніть установку
-
-Коли ви задоволені своїм вибором для різних завдань встановлення, натисніть кнопку «Почати встановлення» на головному екрані *Підсумок встановлення*. Розпочнеться інсталяція, і інсталятор покаже прогрес інсталяції. Коли почнеться інсталяція, у фоновому режимі почнуть виконуватися різноманітні завдання, як-от розділення диска, форматування розділів або томів LVM, перевірка та вирішення програмних залежностей, запис операційної системи на диск тощо.
-
-!!! Note "Примітка"
-
- Якщо ви не бажаєте продовжувати після натискання кнопки «Почати інсталяцію», ви все одно можете безпечно завершити інсталяцію без втрати даних. Щоб вийти з інсталятора, скиньте систему, натиснувши кнопку «Вийти», натиснувши ctrl-alt-del на клавіатурі або натиснувши кнопку скидання чи живлення.
-
-### Завершіть установку
-
-Після того, як ви виконаєте всі обов’язкові підзавдання та програма встановлення запустить свій курс, вам буде запропоновано остаточний екран перебігу встановлення з повним повідомленням.
-
-Нарешті завершіть всю процедуру, натиснувши кнопку ++"Reboot System"++. Система перезавантажиться.
-
-### Log In
-
-Тепер система налаштована та готова до використання. Ви побачите консоль Rocky Linux.
-
-
-
-Щоб увійти в систему, введіть `rockstar` у рядку входу та натисніть ++enter++.
-
-У вікні запиту пароля введіть `04302021` (пароль rockstar) і натисніть ++enter++ (пароль ***не*** відтворюється на екрані, це нормально).
-
-Ми запустимо команду `whoami` після входу; ця команда показує ім'я користувача, який зараз увійшов в систему.
-
-
diff --git a/docs/guides/8_6_installation.zh.md b/docs/guides/8_6_installation.zh.md
deleted file mode 100644
index 536c461a24..0000000000
--- a/docs/guides/8_6_installation.zh.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-Title: 安装 Rocky Linux 8
-author: wale soyinka
-contributors: tianci li, Steven Spencer, Ganna Zhyrnova
----
-
-# 安装 Rocky Linux 8
-
-本指南介绍了在独立系统上安装 64 位 Rocky Linux 发行版的详细步骤。 我们将使用从Rocky Linux项目网站下载的ISO镜像文件执行服务器类安装。 我们将在以下部分逐步完成安装和自定义步骤。
-
-
-## 操作系统安装前提
-
-首先,您需要下载ISO镜像文件以用于安装Rocky Linux。
-
-用于此安装的Rocky Linux版本的最新ISO镜像可从以下位置下载:
-
-```
-https://www.rockylinux.org/download/
-```
-
-要直接从命令行下载 ISO,请使用 `wget` 命令:
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.5/isos/x86_64/Rocky-8.5-x86_64-minimal.iso
-```
-
-Rocky Linux ISO 的命名遵循以下约定:
-
-```
-Rocky-<主版本号#>.<次版本号#>-<架构>-<变体>.iso
-```
-
-例如 `Rocky-8.5-x86_64-minimal.iso`
-
-!!! note "说明"
-
- Rocky项目网页列出了几个镜像,它们位于全球各地。 选择地理位置离您最近的镜像。 官方镜像列表可在 [这里](https://mirrors.rockylinux.org/mirrormanager/mirrors) 找到。
-
-## 验证安装的 ISO 文件
-
-如果您已经在现有的 GNU/Linux 发行版上下载了 Rocky Linux ISO,那么可以使用 sha256sum 程序验证下载的文件没有损坏。 接下来通过一个示例,演示如何验证 `Rocky-8.5-x86_64-minimal.iso`。
-
-首先下载包含可用于 ISO 的官方校验和的文件。 在包含已下载的Rocky Linux ISO的文件夹中下载ISO的校验和文件时,键入:
-
-```
-wget https://download.rockylinux.org/pub/rocky/8.7/isos/x86_64/CHECKSUM
-```
-
-使用 `sha256sum` 工具来验证ISO文件的完整性,防止损坏或者被篡改。
-
-```
-sha256sum -c CHECKSUM --ignore-missing
-```
-
-这将检查先前下载的ISO文件的完整性,前提是该文件位于同一目录中。 输出应显示:
-
-```
-Rocky-8.7-x86_64-minimal.iso: OK
-```
-
-## 安装
-
-!!! tip "提示"
-
- 在开始正确安装之前,系统的统一可扩展固件接口(UEFI)或基本输入/输出系统(BIOS)应配置为从正确的介质引导。
-
-如果将计算机设置为从包含ISO文件的介质启动,则可以开始安装过程。
-
-插入并从安装介质(光盘、USB闪存驱动器等)引导。
-
-启动后,您将看到Rocky Linux的初始安装界面。
-
-
-
-如果您不按任何键,提示将开始倒计时,之后安装过程将自动执行默认的突出显示选项:
-
-`Test this media & install Rocky Linux 8`
-
-您还可以随时按 Enter 键立即启动该过程。
-
-将执行快速介质验证步骤。 此介质验证步骤,可以避免您在中途安装发现安装程序因安装介质损坏导致中止安装的情况出现。
-
-介质检查运行完成,并且介质被成功验证为可用后,安装程序将自动跳到下一个界面。
-
-在界面中选择要用于执行安装的语言。 在本指南中,我们选择_English (United States)_。 然后单击Continue按钮。
-
-## 安装信息摘要
-
-_Installation Summary_ 是一个集合多种设置的区域,您可以在其中对要安装的操作系统做出重要决定。
-
-界面大致分为以下几部分:
-
-- _Localization_:(键盘、语言支持以及时间和日期)
-- _Software_:(安装源和软件选择)
-- _System_:(安装目的地以及网络和主机名)
-
-接下来将深入研究其中的每一个部分,并在必要时进行更改。
-
-### Localization部分
-
-此部分用于自定义与系统区域设置相关的项目。 包括 — 键盘、语言支持、时间和日期。
-
-#### 分组不同格式类型
-
-在本指南的演示系统上,我们选择默认值 (_English US_) ,不做其他更改。
-
-但是,如果需要在此处进行任何更改,请从 _Installation Summary_ 界面中单击 Keyboard 选项指定系统的键盘布局。 如果需要,可以在后续界面中添加其他键盘布局并指定其顺序。
-
-完成后,单击 Done 。
-
-#### Language Support
-
-安装摘要屏幕上的语言支持选项,使您能够指定对已完成系统上,可能需要的其他语言的支持。
-
-此处接受默认值 (__English – United States__) ,不做任何更改。 单击 Done 。
-
-#### Time & Date
-
-点击 Time & Date ,调出另一个界面,您可以通过该界面,选择机器所在的时区。 滚动区域和城市列表,选择离您最近的区域。
-
-根据您的安装源,默认情况下可以将 _Network Time_ 选项设置为 _ON_ 或 _OFF_。 接受默认 _ON_ 设置;这允许系统使用网络时间协议 (NTP) 自动设置正确的时间。 进行任何更改后,请单击Done。
-
-### Software部分
-
-在 _Installation Summary_ 界面的 _Software_ 部分,您可以选择安装源以及要安装的其他软件包(应用程序)。
-
-#### Installation Source
-
-由于我们使用完整的 Rocky 8 镜像进行安装,您会注意到,_安装源_ 部分下会自动指定本地介质。 我们将接受预设的默认设置。
-
-!!! Tip "提示"
-
- 安装源区域是您可以选择执行基于网络安装的区域。 对于基于网络的安装,首先需要确保目标系统上的网络适配器配置正确,并且能够访问internet。 要执行基于网络的安装,请单击`Installation Source`,然后选择`On the network`单选按钮。 选择后,选择`https`作为协议,并在文本字段中键入以下URL `download.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os`, 单击`Done`。
-
-#### Software部分
-
-单击Software Selection选项,将显示安装部分,从中您可以选择系统上要确定安装的软件包。 软件选择区域被划分为:
-
-- _Base Environment_ : 服务器、最小安装、自定义操作系统
-- _Additional software for Selected Environment area_ : 在左边选择一个基本环境,在右边呈现出可以为给定环境安装的各种相关附加软件。
-
-我们这里选择 _最小安装_(基本功能)。
-
-单击界面顶部的Done。
-
-### System部分
-
-_Installation Summary_界面用于自定义和更改目标系统的底层硬件。 在此处可以创建硬盘分区或LVM、指定要使用的文件系统,以及指定网络配置。
-
-#### 安装目的地
-
-在 _Installation Summary_ 界面上,点击 Installation Destination 选项。 这会将您带到相应的任务区域。
-
-您将看到一个界面,显示目标系统上可用的所有候选磁盘驱动器。 如果系统上只有一个磁盘驱动器,如示例所示,您将看到在 _Local Standard Disks_ 下列出的驱动器,在它旁边有一个复选标记。 单击磁盘图标将打开或关闭磁盘选择复选标记。 我们在这里选择/勾选它。
-
-在 _Storage Configuration_ 选项部分下,选择Automatic单选按钮。
-
-然后单击界面顶部的 Done 。
-
-安装程序确定有可用的磁盘后,将返回到 _Installation Summary_ 界面。
-
-### Network & Hostname
-
-安装过程的最后一项任务是网络配置,您可以在其中配置或调整系统的网络相关设置。
-
-!!! Note "说明"
-
- 单击 Network & Hostname 选项后,所有正确检测到的网络接口硬件(如以太网、无线网卡等)都将列在网络配置界面的左窗格中。 Linux 中以太网设备的名称类似于`eth0`、`eth1`、`ens3`、`ens4`、`em1`、`em2`、`p1p1`、`enp0s3`等,具体取决于 Linux 发行版和特定的硬件设置。
-
-对于每个接口,您可以使用 DHCP 或手动配置 IP 地址。 如果您选择手动配置,请确保已准备好所有相关信息,如 IP 地址、子网掩码等。
-
-单击 _Installation Summary_下的 Network & Hostname 按钮,将打开相应的配置界面。 此外,您还可以选择配置系统的主机名(默认为 `localhost.localdomain` )。
-
-!!! Note "说明"
-
- 在安装操作系统之后,您可以很容易地更改此名称。 现在此处主机名为默认值。
-
-下一个重要的配置任务与系统上的网络接口相关。 首先,验证左窗格中是否列出了以太网卡(或任何网卡)。 单击左窗格中检测到的任何网络设备,将其选中, 所选网络适配器的可配置属性将出现在界面的右窗格中。
-
-!!! 在前面的例子中,这些参数与模块相同, 用 `=` 分隔的参数的值。
-
- 在我们的示例系统中,我们有两个以太网设备(`ens3`和`ens4`),它们都处于连接状态。 您系统上的网络设备的类型、名称、数量和状态可能与示例系统上的不同。
-
-确保要配置设备的开关在右窗格中处于 `ON` 位置。 我们将接受这一部分的所有默认值。
-
-单击Done返回 _Installation Summary_ 主界面。
-
-!!! Warning "警告"
-
- 注意此安装程序此部分服务器的 IP 地址。 如果您无法对系统进行物理或轻松的控制台访问,当您需要连接到服务器以继续使用它时,这些信息将在以后派上用场。
-
-## 安装阶段
-
-一旦您对各种安装任务的选择感到满意,安装过程的下一阶段将开始正确的安装。
-
-### User Settings部分
-
-此部分可用于为 `root` 用户帐户创建密码,也可用于创建新的管理员或非管理员帐户。
-
-### 设置root密码
-
-单击 _User Settings_ 下面的_Root Password_ ,启动_Root Password_任务界面。 在 _Root Password_ 文本框中,为 root 用户设置了一个强大的密码。
-
-!!! Warning "警告"
-
- root超级用户是系统中具有最高特权的帐户。 因此,如果您选择使用或启用它,使用强密码保护此帐户就显得非常重要。
-
-在 _Confirm_ 文本框中再次输入相同的密码。
-
-单击Done。
-
-
-### 创建用户账户
-
-接下来点击 _User Settings_ 下面的 _User Creation_ ,以启动 _Create User_任务界面。 此界面允许您在系统上创建特权或非特权(非管理)用户帐户。
-
-!!! info "信息"
-
- !!! Info "资料"
- 在系统上创建和使用非特权帐户执行日常任务是一种很好的系统管理习惯。
-
-我们将创建一个常规的普通用户,在需要时可以调用超级用户(管理员)权限。
-
-用以下信息填写 _Create User_ 屏幕中的字段,然后单击Done:
-
-_Full name_: `rockstar`
-
-_Username_: `rockstar`
-
-_Make this user administrator_: 选中
-
-_Require a password to use this account_: 选中
-
-_Password_: `04302021`
-
-_Confirm password_: `04302021`
-
-### 开始安装
-
-一旦您对各种安装任务的选择感到满意,请单击主界面_Installation Summary_上的"开始安装"按钮。 安装将开始,安装程序将显示安装进度。 安装开始时,各种任务将开始在后台运行,例如对磁盘进行分区、格式化分区或LVM卷、检查并解决软件依赖关系、将操作系统写入磁盘等。
-
-!!! Note "说明"
-
- 如果您不想在单击"开始安装"按钮后继续, 您仍然可以在不丢失数据的情况下安全地返回安装。 要退出安装程序,只需单击"Quit"按钮,按键盘上的ctrl-alt-del组合键,或者按下重置或电源开关,即可重置系统。
-
-### 完成安装
-
-完成所有必需的子任务且安装程序运行完毕后,您将看到带有安装进度完毕的屏幕信息。
-
-最后,单击Reboot System按钮来完成整个过程, 系统将重启。
-
-### 登录
-
-该系统现在已经设置好且可以使用了。 您将看到Rocky Linux控制台。
-
-
-
-要登录到系统,请在登录提示处键入 `rockstar`,然后按 Enter 键。
-
-在密码提示处,键入 `04302021`(rockstar 的密码),然后按 Enter 键(密码将 ***不会*** 显示在屏幕上,这是正常的)。
-
-登录后运行`whoami`命令,该命令显示当前登录用户的名称。
-
-
diff --git a/docs/guides/automation/anacron.de.md b/docs/guides/automation/anacron.de.md
index 171d7b056c..a0caa96ded 100644
--- a/docs/guides/automation/anacron.de.md
+++ b/docs/guides/automation/anacron.de.md
@@ -106,10 +106,10 @@ Lasst uns cron.daily anschauen, um den Ausführungsprozess von /etc/anacrontab z
Verwenden Sie den Befehl `anacron`,
häufig verwendete Optionen sind:
-| Option | Beschreibung |
-| ------ | ------------------------------------------------------------------------------------- |
-| -f | Alle Jobs ausführen und Zeitstempel ignorieren |
-| -u | Den Zeitstempel auf die aktuelle Uhrzeit aktualisieren ohne eine Aktion durchzuführen |
-| -T | Die Gültigkeit der Konfigurationsdatei /etc/anacrontab überprüfen |
+| Optionen | Beschreibung |
+| -------- | ------------------------------------------------------------------------------------- |
+| -f | Alle Jobs ausführen und Zeitstempel ignorieren |
+| -u | Den Zeitstempel auf die aktuelle Uhrzeit aktualisieren ohne eine Aktion durchzuführen |
+| -T | Die Gültigkeit der Konfigurationsdatei /etc/anacrontab überprüfen |
Weitere Informationen erhalten Sie [auf der Handbuch-Seite](https://man7.org/linux/man-pages/man8/anacron.8.html)
diff --git a/docs/guides/automation/anacron.fr.md b/docs/guides/automation/anacron.fr.md
index 416623f067..0f938a0b6e 100644
--- a/docs/guides/automation/anacron.fr.md
+++ b/docs/guides/automation/anacron.fr.md
@@ -106,7 +106,7 @@ Utilisons cron.daily pour illustrer le processus d'exécution de /etc/anacrontab
Utilisation de la commande `anacron`, les options couramment utilisées sont :
-| Options | Observation |
+| Options | Description |
| ------- | -------------------------------------------------------------------------- |
| -t | Exécuter toutes les tâches, ignorer les horodatages |
| -u | Mettre à jour l'horodatage à l'heure actuelle sans effectuer aucune action |
diff --git a/docs/guides/automation/cron_jobs_howto.fr.md b/docs/guides/automation/cron_jobs_howto.fr.md
index 063c44e0d2..3f022e8bee 100644
--- a/docs/guides/automation/cron_jobs_howto.fr.md
+++ b/docs/guides/automation/cron_jobs_howto.fr.md
@@ -85,7 +85,7 @@ Donc pourvu que vous ayez tout à fait raison de laisser le système exécuter a
### Créer votre propre `cron`
-Si les horaires automatisés et aléatoires ne fonctionnent pas bien dans [Pour les postes de travail ci-dessus](#for-workstations) et les horaires planifiés dans [Pour les serveurs ci-dessus](#for-servers), vous pouvez créer les vôtres. Dans cet exemple, nous supposons que vous faites cela en tant que root. [voir les hypothèses](#assumptions) Pour cela, tapez ce qui suit :
+Si les horaires automatisés et aléatoires ne fonctionnent pas bien pour les postes de travail, ou les horaires prévus pour les serveurs, vous pouvez créer vos propres horaires. Dans cet exemple, nous supposons que vous faites cela en tant que root. Pour ce faire, tapez ce qui suit :
`crontab -e`
diff --git a/docs/guides/automation/olivetin.uk.md b/docs/guides/automation/olivetin.uk.md
index dd417f7de2..80af7e0787 100644
--- a/docs/guides/automation/olivetin.uk.md
+++ b/docs/guides/automation/olivetin.uk.md
@@ -31,7 +31,7 @@ tags:
Щоб слідувати цьому посібнику, вам знадобиться:
-* Комп’ютер під керуванням Rocky Linux
+* Машина під керуванням Rocky Linux
* Мінімальний комфорт або досвід роботи з командним рядком.
* Кореневий доступ або можливість використовувати `sudo`.
* Вивчити основи YAML. Це не важко; ви дізнаєтеся про це нижче.
diff --git a/docs/guides/automation/templates-automation-packer-vsphere.fr.md b/docs/guides/automation/templates-automation-packer-vsphere.fr.md
index fa11817b9c..9e2be3532f 100644
--- a/docs/guides/automation/templates-automation-packer-vsphere.fr.md
+++ b/docs/guides/automation/templates-automation-packer-vsphere.fr.md
@@ -747,7 +747,7 @@ ansible-playbook -i ./inventory/hosts -e '{"comments":"my comments","cluster_na
C'est à ce stade que vous pouvez lancer la configuration finale de votre machine virtuelle en utilisant 'Ansible'. N'oubliez pas de changer le mot de passe root, de sécuriser SSH, d'enregistrer la nouvelle machine virtuelle dans votre outil de surveillance et dans votre inventaire informatique, etc.
-## En résumé
+## En Résumé
Comme nous l'avons vu, il y a maintenant des solutions DevOps entièrement automatisées pour créer et déployer des machines virtuelles.
diff --git a/docs/guides/automation/templates-automation-packer-vsphere.uk.md b/docs/guides/automation/templates-automation-packer-vsphere.uk.md
index 3cb4d01f12..defe9b60c4 100644
--- a/docs/guides/automation/templates-automation-packer-vsphere.uk.md
+++ b/docs/guides/automation/templates-automation-packer-vsphere.uk.md
@@ -747,7 +747,7 @@ ansible-playbook -i ./inventory/hosts -e '{"comments":"my comments","cluster_na
Саме на цьому етапі ви можете запустити остаточну конфігурацію вашої віртуальної машини за допомогою Ansible. Не забудьте змінити пароль адміністратора, захистити SSH, зареєструвати нову віртуальну машину в інструменті моніторингу та в ІТ-інвентаризації тощо.
-## Коротко
+## Підсумок
Як ми бачили, зараз існують повністю автоматизовані рішення DevOps для створення та розгортання віртуальних машин.
diff --git a/docs/guides/backup/dump_restore.it.md b/docs/guides/backup/dump_restore.it.md
new file mode 100644
index 0000000000..ce40e190ac
--- /dev/null
+++ b/docs/guides/backup/dump_restore.it.md
@@ -0,0 +1,230 @@
+---
+title: Comandi dump e restore
+author: tianci li
+contributors: Steven Spencer
+tested_with: 8.10
+tags:
+ - dump
+ - restore
+ - backup
+---
+
+## Panoramica
+
+`dump` esamina i file di un filesystem, determina di quali eseguire il backup e copia tali file su un disco, un nastro o un altro supporto di memorizzazione specificato. Il comando `restore` esegue la funzione inversa di `dump`.
+
+Questa utilità si applica ai seguenti file system:
+
+- ext2
+- ext3
+- ext4
+
+!!! tip
+
+```
+Per il file system xfs, usare `xfsdump`.
+```
+
+[Questa](https://dump.sourceforge.io/) è la homepage del progetto.
+
+Prima di utilizzare questa utility, eseguire il seguente comando per installarla:
+
+```bash
+Shell > dnf -y install dump
+```
+
+Dopo l'installazione, sono disponibili due strumenti di comando comunemente utilizzati:
+
+- `dump`
+- `restore`
+
+### Comando `dump`
+
+Questo comando può essere utilizzato principalmente in due modi:
+
+- Eseguire operazioni di backup (dump) - `dump [opzione/i] -f ...`
+- Esaminare le informazioni di backup (dump) - `dump [-W | -w]`
+
+Le opzioni più comuni sono:
+
+- `-` - Livello di backup. Sostituire “livello” con un numero qualsiasi da 0 a 9 quando viene utilizzato. Il numero 0 rappresenta il backup completo, mentre gli altri numeri rappresentano il backup incrementale.
+- `-f ` - Specifica il nome e il percorso del file dopo il backup.
+- `-u` - Dopo un backup riuscito, registra l'ora del backup nel file **/etc/dumpdates**. È possibile utilizzare l'opzione `-u` quando l'oggetto di cui si esegue il backup è una partizione indipendente. Tuttavia, non è possibile utilizzare l'opzione `-u` quando l'oggetto di backup è una directory non partizionata.
+- `-v` - Visualizza i dettagli dell'elaborazione durante il processo di backup.
+- `-W` - Un'opzione per visualizzare le informazioni sul dump.
+- `-z[LEVEL]` - Regola il livello di compressione usando la libreria zlib, con un livello di compressione predefinito pari a 2. Ad esempio, è possibile comprimere il file di backup in formato `.gz`. L'intervallo di regolazione del livello di compressione è da 1 a 9.
+- `-j[LEVEL]` - Regola il livello di compressione usando la libreria bzlib, con un livello di compressione predefinito pari a 2. Ad esempio, è possibile comprimere il file di backup in formato `.bz2`. L'intervallo di regolazione del livello di compressione è da 1 a 9.
+
+#### Esempio di utilizzo di `dump`
+
+1. Eseguire un backup completo della partizione principale:
+
+ ```bash
+ Shell > dump -0u -j3 -f /tmp/root-20241208.bak.bz2 /
+ DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 3 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 14693111 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:04:41 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: 20.69% done at 10133 kB/s, finished in 0:19
+ DUMP: 43.74% done at 10712 kB/s, finished in 0:12
+ DUMP: 70.91% done at 11575 kB/s, finished in 0:06
+ DUMP: 93.23% done at 11415 kB/s, finished in 0:01
+ DUMP: Closing /tmp/root-20241208.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 19:26:08 2024
+ DUMP: Volume 1 took 0:21:27
+ DUMP: Volume 1 transfer rate: 5133 kB/s
+ DUMP: Volume 1 14722930kB uncompressed, 6607183kB compressed, 2.229:1
+ DUMP: 14722930 blocks (14377.86MB) on 1 volume(s)
+ DUMP: finished in 1287 seconds, throughput 11439 kBytes/sec
+ DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Date this dump completed: Sun Dec 8 19:26:08 2024
+ DUMP: Average transfer rate: 5133 kB/s
+ DUMP: Wrote 14722930kB uncompressed, 6607183kB compressed, 2.229:1
+ DUMP: DUMP IS DONE
+
+ Shell > ls -lh /tmp/root-20241208.bak.bz2
+ -rw-r--r-- 1 root root 6.4G Dec 8 19:26 /tmp/root-20241208.bak.bz2
+ ```
+
+2. Dopo aver effettuato lo scarico, controllare le informazioni pertinenti:
+
+ ```bash
+ Shell > cat /etc/dumpdates
+ /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
+
+ Shell > dump -W
+ Last dump(s) done (Dump '>' file systems):
+ /dev/nvme0n1p2 ( /) Last dump: Level 0, Date Sun Dec 8 19:04:39 2024
+ ```
+
+3. Implementare il backup incrementale sulla base del backup completo:
+
+ ```bash
+ Shell > echo "jack" >> /tmp/tmpfile.txt
+
+ Shell > dump -1u -j4 -f /tmp/root-20241208-LV1.bak.bz2 /
+ DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
+ DUMP: Date of last level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208-LV1.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 4 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 6620898 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:38:58 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: 38.13% done at 8415 kB/s, finished in 0:08
+ DUMP: 75.30% done at 8309 kB/s, finished in 0:03
+ DUMP: Closing /tmp/root-20241208-LV1.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 19:52:03 2024
+ DUMP: Volume 1 took 0:13:05
+ DUMP: Volume 1 transfer rate: 8408 kB/s
+ DUMP: Volume 1 6620910kB uncompressed, 6600592kB compressed, 1.004:1
+ DUMP: 6620910 blocks (6465.73MB) on 1 volume(s)
+ DUMP: finished in 785 seconds, throughput 8434 kBytes/sec
+ DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
+ DUMP: Date this dump completed: Sun Dec 8 19:52:03 2024
+ DUMP: Average transfer rate: 8408 kB/s
+ DUMP: Wrote 6620910kB uncompressed, 6600592kB compressed, 1.004:1
+ DUMP: DUMP IS DONE
+
+ Shell > cat /etc/dumpdates
+ /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
+ /dev/nvme0n1p2 1 Sun Dec 8 19:38:51 2024 +0800
+
+ Shell > dump -W
+ Last dump(s) done (Dump '>' file systems):
+ /dev/nvme0n1p2 ( /) Last dump: Level 1, Date Sun Dec 8 19:38:51 2024
+ ```
+
+4. Per le directory non partizionate, è possibile utilizzare solo l'opzione Backup completo (`-0`), non l'opzione `-u`:
+
+ ```bash
+ Shell > dump -0uj -f /tmp/etc-full-20241208.bak.bz2 /etc/
+ DUMP: You can't update the dumpdates file when dumping a subdirectory
+ DUMP: The ENTIRE dump is aborted.
+
+ Shell > dump -0j -f /tmp/etc-full-20241208.bak.bz2 /etc/
+ DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/ (dir etc)) to /tmp/etc-full-20241208.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 2 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 28204 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 20:00:38 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: Closing /tmp/etc-full-20241208.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 20:00:40 2024
+ DUMP: Volume 1 took 0:00:02
+ DUMP: Volume 1 transfer rate: 3751 kB/s
+ DUMP: Volume 1 29090kB uncompressed, 7503kB compressed, 3.878:1
+ DUMP: 29090 blocks (28.41MB) on 1 volume(s)
+ DUMP: finished in 2 seconds, throughput 14545 kBytes/sec
+ DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
+ DUMP: Date this dump completed: Sun Dec 8 20:00:40 2024
+ DUMP: Average transfer rate: 3751 kB/s
+ DUMP: Wrote 29090kB uncompressed, 7503kB compressed, 3.878:1
+ DUMP: DUMP IS DONE
+ ```
+
+ L'esecuzione di un backup incrementale della directory /etc/ genera un errore:
+
+ ```bash
+ Shell > dump -1j -f /tmp/etc-incr-20241208.bak.bz2 /etc/
+ DUMP: Only level 0 dumps are allowed on a subdirectory
+ DUMP: The ENTIRE dump is aborted.
+ ```
+
+### Comando `restore`
+
+L'uso di questo comando è - `restore [opzione/i] -f `.
+
+La modalità (flag) può essere una delle seguenti:
+
+- `-C` - Modalità di confronto. Il ripristino legge il backup e ne confronta il contenuto con i file presenti su disco. Viene utilizzato principalmente per il confronto dopo l'esecuzione di un backup su una partizione. In questa modalità, `restore` confronta solo le modifiche basandosi sui dati di origine. Se sul disco sono presenti nuovi dati, non è possibile confrontarli o rilevarli.
+- `-i` - Modalità interattiva. Questa modalità consente il ripristino interattivo dei file da un dump.
+- `-t` - Modalità elenco. Elenca i dati contenuti nel file di backup.
+- `-r` - Modalità di ripristino (rebuild). Se si tratta di un metodo “Backup completo + backup incrementale”, il ripristino dei dati avverrà in ordine cronologico.
+- `-x` - Modalità estrazione. Estrarre alcuni o tutti i file dal file di backup.
+
+#### Esempio di utilizzo di `restore`
+
+1. Ripristinare i dati da /tmp/etc-full-20241208.bak.bz2 :
+
+ ```bash
+ Shell > mkdir /tmp/data/
+
+ Shell > restore -t -f /tmp/etc-full-20241208.bak.bz2
+
+ Shell > cd /tmp/data/ ; restore -r -f /tmp/etc-full-20241208.bak.bz2
+
+ Shell > ls -l /tmp/data/
+ total 4992
+ drwxr-xr-x. 90 root root 4096 Dec 8 17:13 etc
+ -rw------- 1 root root 5107632 Dec 8 20:39 restoresymtable
+ ```
+
+ Come si può vedere, dopo un ripristino riuscito viene visualizzato un file chiamato `restoresymtable`. Questo file è importante. Serve per le operazioni di ripristino del sistema di backup incrementale.
+
+2. Elaborare i file di backup in modalità interattiva:
+
+ ```bash
+ Shell > restore -i -f /tmp/etc-full-20241208.bak.bz2
+ Dump tape is compressed.
+
+ restore > ?
+ ```
+
+ È possibile digitare ++question++ per visualizzare i comandi interattivi disponibili in questa modalità.
diff --git a/docs/guides/backup/dump_restore.uk.md b/docs/guides/backup/dump_restore.uk.md
index ea0bcf516e..04a62f38ff 100644
--- a/docs/guides/backup/dump_restore.uk.md
+++ b/docs/guides/backup/dump_restore.uk.md
@@ -2,7 +2,7 @@
title: Команди dump та restore
author: tianci li
contributors: Steven Spencer
-tested_with: 8.1
+tested_with: 8.10
tags:
- dump
- restore
@@ -59,133 +59,133 @@ Shell > dnf -y install dump
1. Виконайте повне резервне копіювання кореневого розділу:
- ```bash
- Shell > dump -0u -j3 -f /tmp/root-20241208.bak.bz2 /
- DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
- DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208.bak.bz2
- DUMP: Label: none
- DUMP: Writing 10 Kilobyte records
- DUMP: Compressing output at transformation level 3 (bzlib)
- DUMP: mapping (Pass I) [regular files]
- DUMP: mapping (Pass II) [directories]
- DUMP: estimated 14693111 blocks.
- DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:04:41 2024
- DUMP: dumping (Pass III) [directories]
- DUMP: dumping (Pass IV) [regular files]
- DUMP: 20.69% done at 10133 kB/s, finished in 0:19
- DUMP: 43.74% done at 10712 kB/s, finished in 0:12
- DUMP: 70.91% done at 11575 kB/s, finished in 0:06
- DUMP: 93.23% done at 11415 kB/s, finished in 0:01
- DUMP: Closing /tmp/root-20241208.bak.bz2
- DUMP: Volume 1 completed at: Sun Dec 8 19:26:08 2024
- DUMP: Volume 1 took 0:21:27
- DUMP: Volume 1 transfer rate: 5133 kB/s
- DUMP: Volume 1 14722930kB uncompressed, 6607183kB compressed, 2.229:1
- DUMP: 14722930 blocks (14377.86MB) on 1 volume(s)
- DUMP: finished in 1287 seconds, throughput 11439 kBytes/sec
- DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
- DUMP: Date this dump completed: Sun Dec 8 19:26:08 2024
- DUMP: Average transfer rate: 5133 kB/s
- DUMP: Wrote 14722930kB uncompressed, 6607183kB compressed, 2.229:1
- DUMP: DUMP IS DONE
-
- Shell > ls -lh /tmp/root-20241208.bak.bz2
- -rw-r--r-- 1 root root 6.4G Dec 8 19:26 /tmp/root-20241208.bak.bz2
- ```
+ ```bash
+ Shell > dump -0u -j3 -f /tmp/root-20241208.bak.bz2 /
+ DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 3 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 14693111 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:04:41 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: 20.69% done at 10133 kB/s, finished in 0:19
+ DUMP: 43.74% done at 10712 kB/s, finished in 0:12
+ DUMP: 70.91% done at 11575 kB/s, finished in 0:06
+ DUMP: 93.23% done at 11415 kB/s, finished in 0:01
+ DUMP: Closing /tmp/root-20241208.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 19:26:08 2024
+ DUMP: Volume 1 took 0:21:27
+ DUMP: Volume 1 transfer rate: 5133 kB/s
+ DUMP: Volume 1 14722930kB uncompressed, 6607183kB compressed, 2.229:1
+ DUMP: 14722930 blocks (14377.86MB) on 1 volume(s)
+ DUMP: finished in 1287 seconds, throughput 11439 kBytes/sec
+ DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Date this dump completed: Sun Dec 8 19:26:08 2024
+ DUMP: Average transfer rate: 5133 kB/s
+ DUMP: Wrote 14722930kB uncompressed, 6607183kB compressed, 2.229:1
+ DUMP: DUMP IS DONE
+
+ Shell > ls -lh /tmp/root-20241208.bak.bz2
+ -rw-r--r-- 1 root root 6.4G Dec 8 19:26 /tmp/root-20241208.bak.bz2
+ ```
2. Після успішного скидання перевірте відповідну інформацію:
- ```bash
- Shell > cat /etc/dumpdates
- /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
+ ```bash
+ Shell > cat /etc/dumpdates
+ /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
- Shell > dump -W
- Last dump(s) done (Dump '>' file systems):
- /dev/nvme0n1p2 ( /) Last dump: Level 0, Date Sun Dec 8 19:04:39 2024
- ```
+ Shell > dump -W
+ Last dump(s) done (Dump '>' file systems):
+ /dev/nvme0n1p2 ( /) Last dump: Level 0, Date Sun Dec 8 19:04:39 2024
+ ```
3. Реалізувати інкрементне резервне копіювання на основі повного резервного копіювання:
- ```bash
- Shell > echo "jack" >> /tmp/tmpfile.txt
-
- Shell > dump -1u -j4 -f /tmp/root-20241208-LV1.bak.bz2 /
- DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
- DUMP: Date of last level 0 dump: Sun Dec 8 19:04:39 2024
- DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208-LV1.bak.bz2
- DUMP: Label: none
- DUMP: Writing 10 Kilobyte records
- DUMP: Compressing output at transformation level 4 (bzlib)
- DUMP: mapping (Pass I) [regular files]
- DUMP: mapping (Pass II) [directories]
- DUMP: estimated 6620898 blocks.
- DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:38:58 2024
- DUMP: dumping (Pass III) [directories]
- DUMP: dumping (Pass IV) [regular files]
- DUMP: 38.13% done at 8415 kB/s, finished in 0:08
- DUMP: 75.30% done at 8309 kB/s, finished in 0:03
- DUMP: Closing /tmp/root-20241208-LV1.bak.bz2
- DUMP: Volume 1 completed at: Sun Dec 8 19:52:03 2024
- DUMP: Volume 1 took 0:13:05
- DUMP: Volume 1 transfer rate: 8408 kB/s
- DUMP: Volume 1 6620910kB uncompressed, 6600592kB compressed, 1.004:1
- DUMP: 6620910 blocks (6465.73MB) on 1 volume(s)
- DUMP: finished in 785 seconds, throughput 8434 kBytes/sec
- DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
- DUMP: Date this dump completed: Sun Dec 8 19:52:03 2024
- DUMP: Average transfer rate: 8408 kB/s
- DUMP: Wrote 6620910kB uncompressed, 6600592kB compressed, 1.004:1
- DUMP: DUMP IS DONE
-
- Shell > cat /etc/dumpdates
- /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
- /dev/nvme0n1p2 1 Sun Dec 8 19:38:51 2024 +0800
-
- Shell > dump -W
- Last dump(s) done (Dump '>' file systems):
- /dev/nvme0n1p2 ( /) Last dump: Level 1, Date Sun Dec 8 19:38:51 2024
- ```
+ ```bash
+ Shell > echo "jack" >> /tmp/tmpfile.txt
+
+ Shell > dump -1u -j4 -f /tmp/root-20241208-LV1.bak.bz2 /
+ DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
+ DUMP: Date of last level 0 dump: Sun Dec 8 19:04:39 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208-LV1.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 4 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 6620898 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:38:58 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: 38.13% done at 8415 kB/s, finished in 0:08
+ DUMP: 75.30% done at 8309 kB/s, finished in 0:03
+ DUMP: Closing /tmp/root-20241208-LV1.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 19:52:03 2024
+ DUMP: Volume 1 took 0:13:05
+ DUMP: Volume 1 transfer rate: 8408 kB/s
+ DUMP: Volume 1 6620910kB uncompressed, 6600592kB compressed, 1.004:1
+ DUMP: 6620910 blocks (6465.73MB) on 1 volume(s)
+ DUMP: finished in 785 seconds, throughput 8434 kBytes/sec
+ DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024
+ DUMP: Date this dump completed: Sun Dec 8 19:52:03 2024
+ DUMP: Average transfer rate: 8408 kB/s
+ DUMP: Wrote 6620910kB uncompressed, 6600592kB compressed, 1.004:1
+ DUMP: DUMP IS DONE
+
+ Shell > cat /etc/dumpdates
+ /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800
+ /dev/nvme0n1p2 1 Sun Dec 8 19:38:51 2024 +0800
+
+ Shell > dump -W
+ Last dump(s) done (Dump '>' file systems):
+ /dev/nvme0n1p2 ( /) Last dump: Level 1, Date Sun Dec 8 19:38:51 2024
+ ```
4. Для нерозділеного каталогу можна використовувати лише параметр «Повна резервна копія» (`-0`), а не параметр `-u`:
- ```bash
- Shell > dump -0uj -f /tmp/etc-full-20241208.bak.bz2 /etc/
- DUMP: You can't update the dumpdates file when dumping a subdirectory
- DUMP: The ENTIRE dump is aborted.
-
- Shell > dump -0j -f /tmp/etc-full-20241208.bak.bz2 /etc/
- DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
- DUMP: Dumping /dev/nvme0n1p2 (/ (dir etc)) to /tmp/etc-full-20241208.bak.bz2
- DUMP: Label: none
- DUMP: Writing 10 Kilobyte records
- DUMP: Compressing output at transformation level 2 (bzlib)
- DUMP: mapping (Pass I) [regular files]
- DUMP: mapping (Pass II) [directories]
- DUMP: estimated 28204 blocks.
- DUMP: Volume 1 started with block 1 at: Sun Dec 8 20:00:38 2024
- DUMP: dumping (Pass III) [directories]
- DUMP: dumping (Pass IV) [regular files]
- DUMP: Closing /tmp/etc-full-20241208.bak.bz2
- DUMP: Volume 1 completed at: Sun Dec 8 20:00:40 2024
- DUMP: Volume 1 took 0:00:02
- DUMP: Volume 1 transfer rate: 3751 kB/s
- DUMP: Volume 1 29090kB uncompressed, 7503kB compressed, 3.878:1
- DUMP: 29090 blocks (28.41MB) on 1 volume(s)
- DUMP: finished in 2 seconds, throughput 14545 kBytes/sec
- DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
- DUMP: Date this dump completed: Sun Dec 8 20:00:40 2024
- DUMP: Average transfer rate: 3751 kB/s
- DUMP: Wrote 29090kB uncompressed, 7503kB compressed, 3.878:1
- DUMP: DUMP IS DONE
- ```
-
- Виконання інкрементного резервного копіювання каталогу /etc/ призведе до помилки:
-
- ```bash
- Shell > dump -1j -f /tmp/etc-incr-20241208.bak.bz2 /etc/
- DUMP: Only level 0 dumps are allowed on a subdirectory
- DUMP: The ENTIRE dump is aborted.
- ```
+ ```bash
+ Shell > dump -0uj -f /tmp/etc-full-20241208.bak.bz2 /etc/
+ DUMP: You can't update the dumpdates file when dumping a subdirectory
+ DUMP: The ENTIRE dump is aborted.
+
+ Shell > dump -0j -f /tmp/etc-full-20241208.bak.bz2 /etc/
+ DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
+ DUMP: Dumping /dev/nvme0n1p2 (/ (dir etc)) to /tmp/etc-full-20241208.bak.bz2
+ DUMP: Label: none
+ DUMP: Writing 10 Kilobyte records
+ DUMP: Compressing output at transformation level 2 (bzlib)
+ DUMP: mapping (Pass I) [regular files]
+ DUMP: mapping (Pass II) [directories]
+ DUMP: estimated 28204 blocks.
+ DUMP: Volume 1 started with block 1 at: Sun Dec 8 20:00:38 2024
+ DUMP: dumping (Pass III) [directories]
+ DUMP: dumping (Pass IV) [regular files]
+ DUMP: Closing /tmp/etc-full-20241208.bak.bz2
+ DUMP: Volume 1 completed at: Sun Dec 8 20:00:40 2024
+ DUMP: Volume 1 took 0:00:02
+ DUMP: Volume 1 transfer rate: 3751 kB/s
+ DUMP: Volume 1 29090kB uncompressed, 7503kB compressed, 3.878:1
+ DUMP: 29090 blocks (28.41MB) on 1 volume(s)
+ DUMP: finished in 2 seconds, throughput 14545 kBytes/sec
+ DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024
+ DUMP: Date this dump completed: Sun Dec 8 20:00:40 2024
+ DUMP: Average transfer rate: 3751 kB/s
+ DUMP: Wrote 29090kB uncompressed, 7503kB compressed, 3.878:1
+ DUMP: DUMP IS DONE
+ ```
+
+ Виконання інкрементного резервного копіювання каталогу /etc/ призведе до помилки:
+
+ ```bash
+ Shell > dump -1j -f /tmp/etc-incr-20241208.bak.bz2 /etc/
+ DUMP: Only level 0 dumps are allowed on a subdirectory
+ DUMP: The ENTIRE dump is aborted.
+ ```
### Команда `restore`
@@ -203,28 +203,28 @@ Shell > dnf -y install dump
1. Відновити дані з /tmp/etc-full-20241208.bak.bz2:
- ```bash
- Shell > mkdir /tmp/data/
+ ```bash
+ Shell > mkdir /tmp/data/
- Shell > restore -t -f /tmp/etc-full-20241208.bak.bz2
+ Shell > restore -t -f /tmp/etc-full-20241208.bak.bz2
- Shell > cd /tmp/data/ ; restore -r -f /tmp/etc-full-20241208.bak.bz2
+ Shell > cd /tmp/data/ ; restore -r -f /tmp/etc-full-20241208.bak.bz2
- Shell > ls -l /tmp/data/
- total 4992
- drwxr-xr-x. 90 root root 4096 Dec 8 17:13 etc
- -rw------- 1 root root 5107632 Dec 8 20:39 restoresymtable
- ```
+ Shell > ls -l /tmp/data/
+ total 4992
+ drwxr-xr-x. 90 root root 4096 Dec 8 17:13 etc
+ -rw------- 1 root root 5107632 Dec 8 20:39 restoresymtable
+ ```
- Як бачите, після успішного відновлення з’являється файл із назвою `restoresymtable`. Цей файл важливий. Він призначений для операцій відновлення системи поетапного резервного копіювання.
+ Як бачите, після успішного відновлення з’являється файл із назвою `restoresymtable`. Цей файл важливий. Він призначений для операцій відновлення системи поетапного резервного копіювання.
2. Обробка резервних копій файлів в інтерактивному режимі:
- ```bash
- Shell > restore -i -f /tmp/etc-full-20241208.bak.bz2
- Dump tape is compressed.
+ ```bash
+ Shell > restore -i -f /tmp/etc-full-20241208.bak.bz2
+ Dump tape is compressed.
- restore > ?
- ```
+ restore > ?
+ ```
- Ви можете ввести ++question++, щоб переглянути доступні інтерактивні команди в цьому режимі.
+ Ви можете ввести ++question++, щоб переглянути доступні інтерактивні команди в цьому режимі.
diff --git a/docs/guides/backup/mirroring_lsyncd.fr.md b/docs/guides/backup/mirroring_lsyncd.fr.md
index 6493196cdb..c105bae778 100644
--- a/docs/guides/backup/mirroring_lsyncd.fr.md
+++ b/docs/guides/backup/mirroring_lsyncd.fr.md
@@ -1,5 +1,5 @@
---
-title: Solution Miroir - lsyncd
+title: Solution Miroir — lsyncd
author: Steven Spencer
contributors: Ezequiel Bruni, tianci li, Ganna Zhyrnova
tested_with: 8.5, 8.6, 9.0
@@ -12,8 +12,8 @@ tags:
## Prérequis
- Une machine tournant sous Rocky Linux
-- Pourvoir modifier des fichiers de configuration depuis la ligne de commande
-- Connaissance de l'utilisation d'un éditeur de ligne de commande (nous utilisons `vi` ici, mais n'hésitez pas à le remplacer par votre éditeur favori.)
+- Une certaine expérience avec la modification des fichiers de configuration à partir de la ligne de commande
+- Connaissance de l'utilisation d'un éditeur de ligne de commande (nous utilisons `vi` ici, mais n'hésitez pas à le remplacer par votre éditeur favori)
- Vous aurez besoin d'un accès `root` ou de privilèges supplémentaires grâce à `sudo` (utiliser `sudo -s` dès le début est une bonne idée)
- Paire de clés SSH publiques et privées
- Les dépôts EPEL (Extra Packages for Enterprise Linux) de Fedora
@@ -62,7 +62,7 @@ systemctl enable lsyncd
L'installation à partir des sources n'est pas difficile.
-### Installation les dépendances
+### Installation des Dépendances
Vous aurez besoin de certaines dépendances pour `lsyncd` et pour créer des packages à partir des sources. Utilisez cette commande sur votre machine Rocky Linux pour vous assurer que vous avez les dépendances nécessaires. Si vous allez construire à partir des sources, c'est une bonne idée d'installer tous les outils de développement :
@@ -96,7 +96,10 @@ wget https://github.com/axkibe/lsyncd/archive/master.zip
Décompressez le fichier `master.zip` :
-`unzip master.zip`
+`
+```
+ unzip master.zip
+``` `
Cela créera un répertoire appelé `lsyncd-master`. Vous devez accéder à ce répertoire et créer un répertoire appelé `build` :
diff --git a/docs/guides/backup/mirroring_lsyncd.it.md b/docs/guides/backup/mirroring_lsyncd.it.md
index 9e3d0f9488..6bfd2b4324 100644
--- a/docs/guides/backup/mirroring_lsyncd.it.md
+++ b/docs/guides/backup/mirroring_lsyncd.it.md
@@ -9,127 +9,140 @@ tags:
- mirroring
---
-# Soluzione di mirroring - `lsyncd`
-
## Prerequisiti
-Ecco tutto ciò di cui avrete bisogno per capire e seguire questa guida:
-
-* Un computer con Rocky Linux in esecuzione
-* Un livello di confidenza con la modifica dei file di configurazione da riga di comando
-* Conoscenza dell'uso di un editor a riga di comando (qui usiamo vi, ma potete usare il vostro editor preferito)
-* È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale
-* Coppia di chiavi SSH pubbliche e private
-* I repository EPEL di Fedora
-* È necessario avere familiarità con *inotify*, un'interfaccia per il monitoraggio degli eventi
-* Facoltativo: familiarità con *tail*
+- Un computer con Rocky Linux in esecuzione
+- Un livello di confidenza con la modifica dei file di configurazione da riga di comando
+- Conoscenza dell'uso di un editor a riga di comando (in questo caso si utilizza `vi`, ma è possibile utilizzare l'editor preferito)
+- È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale
+- Coppia di chiavi SSH pubbliche e private
+- I repository EPEL (Extra Packages for Enterprise Linux) di Fedora
+- È necessario avere familiarità con *inotify*, un'interfaccia per il monitoraggio degli eventi
+- Facoltativo: familiarità con *tail*
## Introduzione
-Se state cercando un modo per sincronizzare automaticamente file e cartelle tra i computer, `lsyncd` è un'ottima opzione. L'unico inconveniente per i principianti? È necessario configurare tutto alla riga di comando e nei file di testo.
+Se si desidera sincronizzare automaticamente file e cartelle tra computer, `lsyncd` è un'ottima opzione. Tuttavia, è necessario configurare tutto dalla riga di comando.
-Tuttavia, è un programma che vale la pena di imparare per qualsiasi sysadmin.
+È un programma che vale la pena di imparare per qualsiasi amministratore di sistema.
-La migliore descrizione di `lsyncd` proviene dalla sua stessa pagina man. Parafrasando leggermente, `lsyncd` è una soluzione live mirror leggera e non difficile da installare. Non richiede nuovi filesystem o dispositivi a blocchi e non ostacola le prestazioni del filesystem locale. In breve, fa il mirror dei file.
+La migliore descrizione di `lsyncd` e' fornita dalla sua stessa pagina man. Parafrasando leggermente, `lsyncd` è una soluzione live mirror leggera e non difficile da installare. Non richiede nuovi file system o dispositivi a blocchi e non ostacola le prestazioni del file system locale. In breve, fa il mirror dei file.
-`lsyncd` controlla un'interfaccia di monitoraggio degli eventi degli alberi delle directory locali (inotify). Aggrega e combina gli eventi per alcuni secondi, quindi genera uno (o più) processi per sincronizzare le modifiche. Per impostazione predefinita è `rsync`.
+`lsyncd` controlla un'interfaccia di monitoraggio degli eventi degli alberi delle directory locali (inotify). Aggrega e combina gli eventi per alcuni secondi e genera uno (o più) processi per sincronizzare le modifiche. Per impostazione predefinita, si tratta di `rsync`.
-Ai fini di questa guida, il sistema con i file originali sarà chiamato "sorgente", mentre quello su cui si sta effettuando la sincronizzazione sarà la "destinazione". È possibile eseguire il mirroring completo di un server utilizzando `lsyncd`, specificando con molta attenzione le directory e i file che si desidera sincronizzare. È piuttosto facile!
+Aggrega e combina gli eventi per alcuni secondi e genera uno (o più) processi per sincronizzare le modifiche. Utilizzando `lsyncd`, è possibile eseguire il mirroring completo di un server specificando attentamente le directory e i file che si desidera sincronizzare.
-Per la sincronizzazione remota, è necessario impostare anche le [Coppie di Chiavi Pubbliche e Private Rocky Linux SSH](../security/ssh_public_private_keys.md). Gli esempi qui riportati utilizzano SSH (porta 22).
+È inoltre necessario configurare [Rocky Linux SSH Public Private Key Pairs](../security/ssh_public_private_keys.md) per la sincronizzazione remota. Gli esempi qui riportati utilizzano SSH (porta 22).
## Installazione di `lsyncd`
-Esistono due modi per installare `lsyncd`. Li includeremo entrambi in questa sede. L'RPM tende a rimanere un po' indietro rispetto ai pacchetti sorgente, ma solo di poco. La versione installata con il metodo RPM al momento in cui scriviamo è la 2.2.2-9, mentre la versione del codice sorgente è attualmente la 2.2.3. Detto questo, vogliamo offrirvi entrambe le opzioni e lasciarvi scegliere.
+L'installazione di `lsyncd` avviene in due modi. Sono incluse le descrizioni di entrambi i metodi. L'RPM tende a rimanere un po' indietro rispetto ai pacchetti sorgente, ma solo di poco. La versione installata con il metodo RPM al momento in cui scriviamo è la 2.2.3-5, mentre la versione del codice sorgente è ora la 2.3.1. Scegliete il metodo con cui vi sentite più a vostro agio.
## Installazione di `lsyncd` - Metodo RPM
-L'installazione della versione RPM non è difficile. L'unica cosa che dovrete installare prima è il repository del software EPEL di Fedora. Questo può essere fatto con un solo comando:
+L'installazione della versione RPM è semplice. L'unica cosa che dovrete installare prima è il repository del software EPEL di Fedora. Eseguire:
-`dnf install -y epel-release`
-
-A questo punto è sufficiente installare `lsyncd` e tutte le dipendenze mancanti saranno installate insieme ad esso:
+```bash
+dnf install -y epel-release
+```
-`dnf install lsyncd`
+Installare ora `lsyncd` con tutte le dipendenze mancanti:
-Impostate il servizio in modo che parta all'avvio, ma non avviatelo ancora:
+```bash
+dnf install lsyncd
+```
-`systemctl enable lsyncd`
+Impostate il servizio in modo che si avvii all'avvio, ma non avviatelo ancora:
-Fatto!
+```bash
+systemctl enable lsyncd
+```
## Installazione di `lsyncd` - Metodo sorgente
-L'installazione da sorgente non è così male come sembra. Seguite questa guida e sarete subito operativi!
+L'installazione dalla sorgente non è difficile.
### Installare le dipendenze
-Avremo bisogno di alcune dipendenze: alcune richieste da `lsyncd` stesso e altre necessarie per compilare i pacchetti dai sorgenti. Usate questo comando sul vostro computer Rocky Linux per assicurarvi di avere le dipendenze necessarie. Se si costruisce dai sorgenti, è una buona idea avere tutti gli strumenti di sviluppo installati:
+Sono necessarie alcune dipendenze per `lsyncd` e per costruire i pacchetti dai sorgenti. Usate questo comando sul vostro computer Rocky Linux per assicurarvi di avere le dipendenze necessarie. Se si compila dai sorgenti, è una buona idea avere tutti gli strumenti di sviluppo installati:
-`dnf groupinstall 'Development Tools'`
+```bash
+dnf groupinstall 'Development Tools'
+```
!!! warning "Per Rocky Linux 9.0"
- `lsyncd` è stato completamente testato in Rocky Linux 9.0 e funzionerà come previsto. Per poter installare tutte le dipendenze necessarie, tuttavia, è necessario abilitare un repository aggiuntivo:
+ `lsyncd` è stato completamente testato in Rocky Linux 9.0 e funzionerà come previsto. Per installare tutte le dipendenze necessarie, tuttavia, è necessario abilitare un repository aggiuntivo:
```
dnf config-manager --enable crb
```
+ Eseguendo questi nove passaggi prima dei successivi, si potrà terminare la costruzione senza tornare indietro.
- Eseguendo questa operazione in 9 prima delle fasi successive, si potrà terminare la costruzione senza tornare indietro.
-
-Ecco le dipendenze necessarie per `lsyncd` stesso e per il suo processo di compilazione:
+Ecco le dipendenze necessarie per `lsyncd`:
-`dnf install lua lua-libs lua-devel cmake unzip wget rsync`
+```bash
+dnf install lua lua-libs lua-devel cmake unzip wget rsync
+```
-### Scaricare `lsyncd` e costruirlo
+### Scaricare `lsyncd` e compilarlo
-Poi abbiamo bisogno del codice sorgente:
+Successivamente, è necessario il codice sorgente:
-`wget https://github.com/axkibe/lsyncd/archive/master.zip`
+```bash
+wget https://github.com/axkibe/lsyncd/archive/master.zip
+```
-Ora decomprimere il file master.zip:
+Decomprimere il file `master.zip:`:
`unzip master.zip`
-Verrà creata una directory chiamata "lsyncd-master". Dobbiamo passare a questa cartella e creare una cartella chiamata build:
+Verrà creata una directory chiamata "lsyncd-master". È necessario passare a questa cartella e creare una cartella chiamata build:
-`cd lsyncd-master`
+```bash
+cd lsyncd-master
+```
-E quindi:
+Quindi:
-`mkdir build`
+```bash
+mkdir build
+```
-Ora cambiate nuovamente directory, in modo da trovarvi nella directory di compilazione:
+Cambiare directory per accedere alla directory di creazione:
-`cd build`
+```bash
+cd build
+```
-Ora eseguite questi comandi:
+Eseguire questi comandi:
-```
-cmake ...
+```bash
+cmake ..
make
make install
```
-Al termine, il binario `lsyncd` sarà installato e pronto all'uso in */usr/local/bin*
+Al termine, il binario `lsyncd` sarà installato e pronto all'uso in */usr/local/bin*.
-### `lsyncd` Servizio Systemd
+### servizio systemd `lsyncd`
-Con il metodo di installazione RPM, il servizio systemd sarà installato per voi, ma se scegliete di installare da sorgente, dovrete creare il servizio systemd. Sebbene sia possibile avviare il binario senza il servizio systemd, vogliamo assicurarci che esso *parta* all'avvio. In caso contrario, un riavvio del server interromperà il tentativo di sincronizzazione. Se si dimenticasse di riavviarlo, cosa molto probabile, sarebbe un problema per qualsiasi amministratore di sistema!
+Con il metodo di installazione RPM, il servizio systemd verrà installato per voi, ma se lo installate dai sorgenti, dovrete creare il servizio systemd. Sebbene sia possibile avviare il binario senza il servizio systemd, si vuole garantire che esso *si* avvii all'avvio. In caso contrario, un riavvio del server interromperà il tentativo di sincronizzazione. Se si dimenticasse di riavviarlo manualmente, sarebbe un problema!
-La creazione del servizio systemd, tuttavia, non è molto difficile e a lungo andare vi farà risparmiare tempo.
+Creare il servizio systemd è relativamente facile e vi farà risparmiare tempo nel lungo periodo.
-#### Creare il Service File `lsyncd`
+#### Creare il file di servizio `lsyncd`
-Questo file può essere creato ovunque, anche nella directory principale del server. Una volta creato, è possibile spostarlo nella posizione appropriata.
+Questo file può essere creato ovunque, anche nella directory principale del server. Una volta creato, è possibile spostarlo nella posizione giusta.
-`vi /root/lsyncd.service`
+```bash
+vi /root/lsyncd.service`
+```
-Il contenuto di questo file dovrebbe essere:
+Il contenuto di questo file sarà:
-```
+```bash
[Unit]
Description=Live Syncing (Mirror) Daemon
After=network.target
@@ -145,23 +158,28 @@ PIDFile=/run/lsyncd.pid
[Install]
WantedBy=multi-user.target
```
-Ora installiamo il file appena creato nella posizione corretta:
-`install -Dm0644 /root/lsyncd.service /usr/lib/systemd/system/lsyncd.service`
+Installate il file appena creato nella posizione corretta:
+
+```bash
+install -Dm0644 /root/lsyncd.service /usr/lib/systemd/system/lsyncd.service
+```
-Infine, ricaricare il demone `systemctl` in modo che systemd "veda" il nuovo file di servizio:
+Infine, ricaricare il servizio daemon `systemctl` in modo che systemd "veda" il nuovo file di servizio:
-`systemctl daemon-reload`
+```bash
+systemctl daemon-reload
+```
## Configurazione di `lsyncd`
-Qualunque sia il metodo scelto per installare `lsyncd`, è necessario un file di configurazione: */etc/lsyncd.conf*. La prossima sezione spiega come costruire un file di configurazione e come testarlo.
+Con entrambi i metodi di installazione `lsyncd`, è necessario un file di configurazione: */etc/lsyncd.conf*. La sezione seguente spiega come costruire e testare un file di configurazione.
-## Configurazione di Esempio per i Test
+### Configurazione di esempio per il test
-Ecco un esempio di un file di configurazione semplicistico che sincronizza */home* con un altro computer. Il nostro computer di destinazione sarà un indirizzo IP locale: *192.168.1.40*
+Ecco un esempio di file di configurazione semplicistico che sincronizza */home* con un altro computer. Il nostro computer di destinazione sarà un indirizzo IP locale: *192.168.1.40*
-```
+```bash
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd-status.log",
@@ -188,28 +206,30 @@ sync {
Scomporre un po' questo file:
-* I file "logfile" e "statusFile" verranno creati automaticamente all'avvio del servizio.
-* Lo "statusInterval" è il numero di secondi da attendere prima di scrivere sullo statusFile.
-* "maxProcesses" è il numero di processi che `lsyncd` può generare. Onestamente, a meno che non si tratti di un computer molto trafficato, un processo è sufficiente.
-* Nella sezione di sincronizzazione "default.rsyncssh" dice di usare rsync su SSH
-* "source=" è il percorso della directory da cui si effettua la sincronizzazione.
-* L'"host=" è il computer di destinazione su cui stiamo effettuando la sincronizzazione.
-* L'opzione "excludeFrom=" indica a `lsyncd` dove si trova il file delle esclusioni. Deve esistere, ma può essere vuoto.
-* "targetdir=" è la directory di destinazione a cui inviare i file. Nella maggior parte dei casi sarà uguale alla sorgente, ma non sempre.
-* Poi abbiamo la sezione "rsync =" e queste sono le opzioni con cui eseguire rsync.
-* Infine, abbiamo la sezione "ssh =", che specifica la porta SSH in ascolto sul computer di destinazione.
+- Il `logfile` e lo `statusFile` vengono creati automaticamente all'avvio del servizio
+- `StatusInterval` è il numero di secondi da attendere prima di scrivere sul file di stato
+- `maxProcesses` è il numero di processi `lsyncd` che possono essere generati. A meno che non si tratti di un computer molto trafficato, un processo è sufficiente.
+- Nella sezione di sincronizzazione `default.rsyncssh` dice di usare `rsync` su SSH
+- `source=` è il percorso della directory da cui si sta effettuando la sincronizzazione
+- `Host=` è il computer di destinazione su cui si sta effettuando la sincronizzazione
+- Il parametro `excludeFrom=` indica a `lsyncd` dove si trova il file delle esclusioni. Deve esistere, ma può essere vuoto.
+- `Targetdir=` è la directory a cui inviare i file. Nella maggior parte dei casi sarà uguale alla sorgente, ma non sempre.
+- La sezione `rsync =` e le opzioni con le quali si esegue `rsync`
+- La sezione `ssh =`, che specifica la porta SSH in ascolto sul computer di destinazione
-Se si aggiunge più di una directory da sincronizzare, è necessario ripetere l'intera sezione "sync", comprese tutte le parentesi di apertura e chiusura per ogni directory.
+Se si aggiunge più di una directory da sincronizzare, è necessario ripetere l'intera sezione “sync”, comprese tutte le parentesi di apertura e chiusura per ogni directory.
-## Il File lsyncd.exclude
+## Il File `lsyncd.exclude`
-Come già detto, il file "excludeFrom" deve esistere, quindi creiamolo ora:
+Come già detto, il file `excludeFrom` deve esistere. Createlo subito:
-`touch /etc/lsyncd.exclude`
+```bash
+touch /etc/lsyncd.exclude
+```
-Se si stesse sincronizzando la cartella /etc del nostro computer, ci sarebbero molti file e directory da escludere. Ogni file o directory esclusa viene elencata nel file, una per riga, in questo modo:
+Ad esempio, se si stesse sincronizzando la cartella `/etc` del computer, ci sarebbero molti file e directory da escludere nel processo `lsyncd`. Ogni file o directory esclusa è presente nel file, una per riga:
-```
+```bash
/etc/hostname
/etc/hosts
/etc/networks
@@ -218,40 +238,45 @@ Se si stesse sincronizzando la cartella /etc del nostro computer, ci sarebbero m
## Test e Messa in Funzione
-Ora che tutto il resto è stato impostato, possiamo testare il tutto. Per cominciare, assicuriamoci che il servizio systemd lsyncd.service si avvii:
+Una volta impostato tutto, è possibile testare il tutto. Assicurarsi che systemd `lsyncd.service` si avvii:
-`systemctl start lsyncd`
+```bash
+systemctl start lsyncd
+```
-Se non vengono visualizzati errori dopo l'esecuzione di questo comando, controllare lo stato del servizio, per sicurezza:
+Se non vengono visualizzati errori dopo l'esecuzione di questo comando, verificare lo stato del servizio per assicurarsene:
-`systemctl status lsyncd`
+```bash
+systemctl start lsyncd
+```
Se il servizio è in esecuzione, usare tail per vedere le estremità dei due file di log e verificare che tutto sia a posto:
-`tail /var/log/lsyncd.log`
-
-E quindi:
-
-`tail /var/log/lsyncd-status.log`
-
-Supponendo che tutto sia corretto, spostatevi nella directory `/home/[user]`, dove `[user]` è un utente del computer e create un nuovo file con *touch*.
+```bash
+tail /var/log/lsyncd.log
+tail /var/log/lsyncd-status.log
+```
-`touch /home/[user]/testfile`
+Supponendo che tutto sia corretto, spostatevi nella directory `/home/[user]`, dove `[user]` è un utente del computer, e create un file con *touch*.
-Ora andate sul computer di destinazione e verificate se il file viene visualizzato. Se è così, tutto funziona come dovrebbe. Impostare il servizio lsyncd.service da avviare all'avvio con:
+```bash
+touch /home/[user]/testfile
+```
-`systemctl enable lsyncd`
+Andate sul computer di destinazione e verificate se il file viene visualizzato. In caso affermativo, tutto funziona. Impostare `lsyncd.service` da avviare all'avvio con:
-E siete pronti a partire.
+```bash
+systemctl enable lsyncd
+```
-## Ricordatevi di Essere Prudenti
+## Ricordate di fare attenzione
-Ogni volta che si sincronizza un insieme di file o directory su un altro computer, è bene considerare attentamente l'effetto che avrà sul computer di destinazione. Se si torna al **File lsyncd.exclude** dell'esempio precedente, si può immaginare cosa potrebbe accadere se */etc/fstab* venisse sincronizzato?
+Ogni volta che si sincronizza un insieme di file o directory su un altro computer, è necessario considerare attentamente l'effetto che avrà sul computer di destinazione. Supponiamo di tornare a **Il file lsyncd.exclude** nel nostro esempio precedente, riuscite a immaginare cosa potrebbe accadere se non riusciste a escludere */etc/fstab*?
-Per i neofiti, *fstab* è il file utilizzato per configurare le unità di archiviazione su qualsiasi computer Linux. I dischi e le etichette sono quasi certamente diversi. Al successivo riavvio del computer di destinazione, è probabile che non riesca ad avviarsi del tutto.
+`fstab` è il file che configura le unità di archiviazione su qualsiasi computer Linux. I dischi e le etichette sono quasi certamente diversi su macchine diverse. Il successivo riavvio del computer di destinazione potrebbe fallire.
-# Conclusioni e riferimenti
+## Conclusioni e riferimenti
-`lsyncd` è un potente strumento per la sincronizzazione delle directory tra computer. Come avete visto, non è difficile da installare e non è complesso da mantenere in seguito. Non si può chiedere di più.
+`lsyncd` è un potente strumento per la sincronizzazione delle directory tra computer. Come avete visto, non è difficile da installare e non sarà complesso da mantenere.
-Per saperne di più su `lsyncd` visitate [Il Sito Ufficiale](https://github.com/axkibe/lsyncd)
+Per saperne di più su `lsyncd`, visitate [il sito ufficiale](https://github.com/axkibe/lsyncd).
diff --git a/docs/guides/backup/mirroring_lsyncd.md b/docs/guides/backup/mirroring_lsyncd.md
index efde8d9bd0..f863afd80f 100644
--- a/docs/guides/backup/mirroring_lsyncd.md
+++ b/docs/guides/backup/mirroring_lsyncd.md
@@ -17,8 +17,8 @@ tags:
- You will need root access or `sudo` privileges (using `sudo -s` from the start is a good idea)
- Public and Private SSH key pairs
- The EPEL (Extra Packages for Enterprise Linux) repositories from Fedora
-- You will need to be familiar with *inotify*, an event monitor interface
-- Optional: familiarity with *tail*
+- You will need to be familiar with `inotify`, an event monitor interface
+- Optional: familiarity with `tail`
## Introduction
@@ -26,21 +26,25 @@ If you want to synchronize files and folders between computers automatically, `l
It is a program worth learning for any system administrator.
-The best description of `lsyncd` comes from its man page. Slightly paraphrased, `lsyncd` is a lightweight live mirror solution that is not hard to install. It does not require new file systems or block devices and does not hamper local file system performance. In short, it mirrors files.
+The best description of `lsyncd` comes from its man page. Slightly paraphrased, `lsyncd` is a lightweight live mirror solution that is not hard to install. It does not require new file system or block devices and does not hamper local file system performance. In short, it mirrors files.
-`lsyncd` watches a local directory tree's event monitor interface (inotify). It aggregates and combines events for a few seconds and spawns one (or more) process(es) to synchronize the changes. By default, this is `rsync`.
+`lsyncd` watches a local directory tree's event monitor interface (`inotify`). It aggregates and combines events for a few seconds and spawns one (or more) process(es) to synchronize the changes. By default, this is `rsync`.
-For this guide, you will call the system with the original files the "source"; the one you synchronize with will be the "target." Using `lsyncd`, you can completely mirror a server by carefully specifying the directories and files that you want to synchronize.
+For this guide, you will call the system with the original files the "source", and the one you synchronize with the "target." Using `lsyncd`, you can completely mirror a server by carefully specifying the directories and files that you want to synchronize.
You will also want to set up [Rocky Linux SSH Public Private Key Pairs](../security/ssh_public_private_keys.md) for remote syncing. The examples here use SSH (port 22).
## Installing `lsyncd`
-Installing `lsyncd` happens in two ways. Included are descriptions of each method. The RPM tends to lag behind the source packages by a little, but only by a little. The version installed by the RPM method at the time of this writing is 2.2.3-5, whereas the source code version is now 2.3.1. Choose the method you feel the most comfortable with.
+!!! info
+
+ As of this date (Septemer 2025), Rocky Linux 10 with the EPEL (Extra Packages for Enterprise Linux) enabled, does not include the `lsyncd` package. To use `lsyncd` on Rocky Linux 10, you will need to use the **Installing `lsyncd` - source method**. The RPM method is retained here, as it is likely that the EPEL will build this package for version 10 in the future. It never hurts to check to see if the package is available prior to building from source.
+
+You can install `lsyncd` in two ways. Included are descriptions of each method. The RPM tends to lag behind the source packages by a little, but only by a little. The version installed by the RPM method at the time of this writing is 2.2.3-5, whereas the source code version is now 2.3.1. Choose the method you feel the most comfortable with.
## Installing `lsyncd` - RPM method
-Installing the RPM version is easy. The only thing you will need to install first is the EPEL software repository from Fedora. Do this with:
+The only thing you will need to install first is the EPEL software repository from Fedora. Do this with:
```bash
dnf install -y epel-release
@@ -64,23 +68,19 @@ Installing from the source is not difficult.
### Install dependencies
-You will need some dependencies for `lsyncd` and for building packages from the source. Use this command on your Rocky Linux computer to ensure you have the necessary dependencies. If you are going to be building from source, it is a good idea to have all of the development tools installed:
+You will need some dependencies for `lsyncd` and for building packages from the source. Install the "Development Tools" group:
```bash
dnf groupinstall 'Development Tools'
```
-!!! warning "For Rocky Linux 9.0"
-
- `lsyncd` has been fully tested in Rocky Linux 9.0, and will work as expected. To get all of the needed dependencies installed, however, you will need to enable an additional repository:
+Enable the code ready builder repository:
- ```
- dnf config-manager --enable crb
- ```
-
- Doing these nine steps before the following steps will allow you to finish the build without backtracking.
+```bash
+dnf config-manager --enable crb
+```
-Here are the dependencies needed for `lsyncd`:
+Install the needed dependencies:
```bash
dnf install lua lua-libs lua-devel cmake unzip wget rsync
@@ -98,7 +98,7 @@ Decompress the `master.zip` file:
`unzip master.zip`
-This will create a directory called "lsyncd-master". You need to change to this directory and create a directory called build:
+This creates a directory called "lsyncd-master". You need to change to this directory and create a directory called "build":
```bash
cd lsyncd-master
@@ -124,13 +124,13 @@ make
make install
```
-When completed, you will have the `lsyncd` binary installed and ready for use in */usr/local/bin*
+When completed, you will have the `lsyncd` binary installed and ready for use in `/usr/local/bin`
-### `lsyncd` systemd service
+### `lsyncd` `systemd` service
-With the RPM install method, the systemd service will install for you, but if you install from the source, you will need to create the systemd service. While you can start the binary without the systemd service, you want to ensure that it *does* start on boot. If not, a server reboot will stop your synchronization effort. If you forgot to start it again manually, it would be a problem!
+With the RPM install method, the `systemd` service will install for you, but if you install from the source, you need to create the `systemd` service. While you can start the binary without the `systemd` service, you want to ensure that it *does* start on boot. If not, a server reboot will stop your synchronization effort.
-Creating the systemd service is relatively easy and will save you time in the long run.
+Creating the `systemd` service is not difficult and will save you time in the long run.
#### Create the `lsyncd` service file
@@ -159,13 +159,13 @@ PIDFile=/run/lsyncd.pid
WantedBy=multi-user.target
```
-Install the file you just made to the correct location:
+Install this file to the correct location:
```bash
install -Dm0644 /root/lsyncd.service /usr/lib/systemd/system/lsyncd.service
```
-Finally, reload the `systemctl` daemon so that systemd will "see" the new service file:
+Finally, reload the `systemctl` daemon so that `systemd` will "see" the new service file:
```bash
systemctl daemon-reload
@@ -173,11 +173,11 @@ systemctl daemon-reload
## `lsyncd` configuration
-With either `lsyncd` install method, you need a configuration file: */etc/lsyncd.conf*. The following section will tell you how to build and test a configuration file.
+With either `lsyncd` install method, you need a configuration file: `/etc/lsyncd.conf`. The following section will tell you how to build and test a configuration file.
### Sample configuration for testing
-Here is an example of a simplistic configuration file synchronizing */home* to another computer. Our target computer is going to be a local IP address: *192.168.1.40*
+Here is an example of a configuration file synchronizing `/home` to another computer. The target computer is going to be on local IP address: *192.168.1.40*
```bash
settings {
@@ -211,7 +211,7 @@ Breaking down this file a bit:
- `maxProcesses` is the number of `lsyncd` processes allowed to spawn. Unless you are running this on a busy computer, 1 process is enough.
- In the sync section `default.rsyncssh` says to use `rsync` over SSH
- The `source=` is the directory path you are syncing from
-- The `host=` is our target computer that you are syncing to
+- The `host=` is your target computer that you are syncing to
- The `excludeFrom=` tells `lsyncd` where the exclusions file is. It must exist but can be empty.
- The `targetdir=` is the directory to which you send files. This will usually be equal to the source, but only sometimes.
- The `rsync =` section, and the options that you are running `rsync` with
@@ -236,9 +236,9 @@ For example, if you were syncing the `/etc` folder on your computer, there would
/etc/fstab
```
-## Test And Turn Up
+## Test and turn up
-With everything set up, you can test it all. Ensure our systemd `lsyncd.service` will start:
+With everything set up, you can test it all. Ensure your `systemd` `lsyncd.service` will start:
```bash
systemctl start lsyncd
@@ -250,14 +250,14 @@ If no errors appear after executing this command, check the status of the servic
systemctl status lsyncd
```
-If it shows the service running, use tail to see the ends of the two log files and ensure everything shows up OK:
+If it shows the service running, use tail to see the ends of the two log files and ensure everything shows up:
```bash
tail /var/log/lsyncd.log
tail /var/log/lsyncd-status.log
```
-Assuming that this all looks correct, navigate to the `/home/[user]` directory, where `[user]` is a computer user, and create a file there with *touch*.
+Assuming that this all looks correct, go to the `/home/[user]` directory, where `[user]` is a computer user, and create a file there with *touch*.
```bash
touch /home/[user]/testfile
@@ -271,12 +271,12 @@ systemctl enable lsyncd
## Remember to be careful
-Anytime you synchronize a set of files or directories to another computer, think carefully about its effect on the target computer. Suppose you go back to **The lsyncd.exclude File** in our example above, can you imagine what might happen if you failed to exclude */etc/fstab*?
+Anytime you synchronize a set of files or directories to another computer, think carefully about its effect on the target computer. Suppose you go back to **The lsyncd.exclude File** example earlier. Can you imagine what might happen if you did not exclude `/etc/fstab`?
`fstab` is the file configuring storage drives on any Linux computer. The disks and labels are almost certainly different on different machines. The next reboot of the target computer would likely fail.
## Conclusions and references
-`lsyncd` is a powerful tool for directory synchronization between computers. As you have seen, it is not hard to install and will not be complex to maintain.
+`lsyncd` is a powerful tool for directory synchronization between computers. It is not hard to install or complex to maintain.
-You can find out more about `lsyncd` by going to [The Official Site](https://github.com/axkibe/lsyncd)
+You can discover more about `lsyncd` by going to [The Official Site](https://github.com/axkibe/lsyncd)
diff --git a/docs/guides/backup/mirroring_lsyncd.uk.md b/docs/guides/backup/mirroring_lsyncd.uk.md
index 11aaf0de75..56db1618ac 100644
--- a/docs/guides/backup/mirroring_lsyncd.uk.md
+++ b/docs/guides/backup/mirroring_lsyncd.uk.md
@@ -11,7 +11,7 @@ tags:
## Передумови
-- Комп’ютер під керуванням Rocky Linux
+- Машина під керуванням Rocky Linux
- Комфортний рівень зі зміною файлів конфігурації з командного рядка
- Знання того, як користуватися редактором командного рядка (тут `vi`, але використовуйте свій улюблений редактор)
- Вам потрібен доступ root або привілеї `sudo` (використання `sudo -s` з самого початку є хорошою ідеєю)
diff --git a/docs/guides/backup/rsnapshot_backup.it.md b/docs/guides/backup/rsnapshot_backup.it.md
index dcc146ea69..d369e2dc2d 100644
--- a/docs/guides/backup/rsnapshot_backup.it.md
+++ b/docs/guides/backup/rsnapshot_backup.it.md
@@ -8,45 +8,43 @@ tags:
- rsnapshot
---
-# Soluzione per il backup - _rsnapshot_
-
## Prerequisiti
- Saper installare repository e snapshot aggiuntivi dalla riga di comando
- Conoscere il montaggio di filesystem esterni al computer (unità esterna, filesystem remoto e così via)
- Saper usare un editor (qui si usa `vi`, ma si può usare il proprio editor preferito)
- Conoscere un po' di scripting BASH
-- Saper modificare il crontab per l'utente root
+- Sapere come modificare il `crontab` per l'utente root
- Conoscenza delle chiavi pubbliche e private SSH (solo se si intende eseguire backup remoti da un altro server)
## Introduzione
-_rsnapshot_ è una potente utility di backup con opzioni di installazione per qualsiasi macchina basata su Linux. È possibile eseguire il backup di una macchina in locale o di più macchine, ad esempio i server, da un'unica macchina.
+`rsnapshot` è una potente utility di backup con possibilità di installazione su qualsiasi macchina basata su Linux. È possibile eseguire il backup di una macchina in locale o di più macchine, ad esempio i server, da un'unica macchina.
-_rsnapshot_ utilizza `rsync` ed è scritto interamente in Perl senza dipendenze da librerie. Non esistono requisiti particolari per l'installazione. Nel caso di Rocky Linux, è possibile installare _rnapshot_ utilizzando il repository EPEL. Dopo il rilascio iniziale di Rocky Linux 9.0, c'è stato un periodo in cui EPEL non conteneva il pacchetto _rsnapshot_. Non è più così, ma queste istruzioni includono un metodo di installazione dai sorgenti, nel caso in cui ciò si verifichi di nuovo.
+`rsnapshot` utilizza `rsync` ed è scritto interamente in Perl senza dipendenze da librerie. Non esistono requisiti particolari per l'installazione. Nel caso di Rocky Linux, è possibile installare `rnapshot` utilizzando il repository EPEL. Dopo il rilascio iniziale di Rocky Linux 9.0, c'è stato un periodo in cui EPEL non conteneva il pacchetto `rsnapshot`. Non è più così, ma queste istruzioni includono un metodo di installazione dai sorgenti, nel caso in cui ciò si verifichi di nuovo.
-Questa documentazione riguarda l'installazione di _rsnapshot_ solo su Rocky Linux.
+Questa documentazione riguarda l'installazione di `rsnapshot` solo su Rocky Linux.
=== "Installazione EPEL"
- ## Installazione di _rsnapshot_
+ ## Installazione di `rsnapshot`
- Tutti i comandi qui mostrati sono eseguiti dalla riga di comando del server o della workstation, a meno che non sia indicato diversamente.
+ Tutti i comandi qui presenti vengono richiamati dalla riga di comando, a meno che non sia indicato diversamente.
### Installazione del repository EPEL
- Per installare _rsnapshot_ abbiamo bisogno del repository EPEL di Fedora. Per installare il repository, basta usare questo comando:
+ È necessario il repository del software EPEL di Fedora. Per installare il repository, basta usare questo comando:
```
- sudo dnf install epel-release
+ sudo dnf install epel-release -y
```
- Il repository dovrebbe ora essere attivo.
+ Il repository sarà ora attivo.
- ### Installare il pacchetto _rsnapshot
+ ### Installare il pacchetto `rsnapshot
- Successivamente, installate _rsnapshot_ e alcuni altri strumenti necessari, che probabilmente sono già installati:
+ Installare `rsnapshot` e alcuni altri strumenti necessari:
```
sudo dnf install rsnapshot openssh-server rsync
@@ -79,13 +77,13 @@ Questa documentazione riguarda l'installazione di _rsnapshot_ solo su Rocky Linu
=== "Installazione da sorgente"
- ## Installazione di _rsnapshot_ da sorgente
+ ## Installazione di `rsnapshot` dai sorgenti
- Installare _rsnapshot_ dai sorgenti non è difficile. Questo metodo ha però un lato negativo: se viene rilasciata una nuova versione, è necessaria una nuova installazione dai sorgenti per aggiornare la versione, mentre il metodo di installazione di EPEL permette di rimanere aggiornati con un semplice `dnf upgrade`.
+ Installare `rsnapshot` dai sorgenti non è difficile. Tuttavia, ha un aspetto negativo: se viene rilasciata una nuova versione, sarà necessaria una nuova installazione dai sorgenti per aggiornare la versione, mentre il metodo di installazione EPEL vi terrà aggiornati con un semplice `dnf upgrade`.
- ### Installazione degli strumenti di sviluppo e download del sorgente
+ ### Installazione degli strumenti di sviluppo e download dei sorgenti
- Come detto, il primo passo da fare è installare il gruppo 'Development Tools':
+ Come detto, il primo passo da fare è installare il gruppo "Strumenti di sviluppo":
```
dnf groupinstall 'Development Tools'
@@ -114,17 +112,17 @@ Questa documentazione riguarda l'installazione di _rsnapshot_ solo su Rocky Linu
```
- ### Costruire la Risorsa
+ ### Creare il sorgente
Ora che abbiamo tutto sulla nostra macchina, il passo successivo è la compilazione. Quando si decomprime il file `master.zip`, si ottiene una directory `rsnapshot-master`. Dovremo entrare in questa per la nostra procedura di costruzione. Si noti che la nostra compilazione utilizza tutte le impostazioni predefinite del pacchetto, quindi se si desidera qualcosa di diverso, è necessario fare un po' di indagini. Inoltre, questi passaggi sono tratti direttamente dalla pagina di [installazione di GitHub](https://github.com/rsnapshot/rsnapshot/blob/master/INSTALL.md):
- ```
+ ```bash
cd rsnapshot-master
```
Eseguire lo script `autogen.sh` per generare lo script di configurazione:
- ```
+ ```bash
./autogen.sh
```
@@ -132,7 +130,7 @@ Questa documentazione riguarda l'installazione di _rsnapshot_ solo su Rocky Linu
Si possono ottenere diverse righe di questo tipo:
- ```
+ ```bash
fatal: not a git repository (or any of the parent directories): .git
```
@@ -140,19 +138,19 @@ Questa documentazione riguarda l'installazione di _rsnapshot_ solo su Rocky Linu
Successivamente, è necessario eseguire `configure` con la directory di configurazione impostata:
- ```
+ ```bash
./configure --sysconfdir=/etc
```
Infine, eseguire `make install`:
- ```
+ ```bash
sudo make install
```
Durante tutto questo, il file `rsnapshot.conf` verrà creato come `rsnapshot.conf.default`. È necessario copiare questo file in `rsnapshot.conf` e modificarlo per adattarlo alle esigenze del nostro sistema.
- ```
+ ```bash
sudo cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
```
@@ -165,7 +163,7 @@ In questo passaggio viene mostrato come montare un'unità, ad esempio un'unità
1. Inserire l'unità USB.
2. Digitare `dmesg | grep sd` che mostrerà l'unità che si desidera utilizzare. In questo caso, è _sda1_.
Esempio: `EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem`.
-3. Sfortunatamente (o fortunatamente, a seconda delle opinioni) la maggior parte dei moderni sistemi operativi Linux per desktop esegue il montaggio automatico dell'unità, se possibile. Ciò significa che, a seconda di vari fattori, _rsnapshot_ potrebbe perdere la posizione dell'unità. Si desidera che l'unità venga "montata" o che i suoi file siano sempre disponibili nella stessa posizione.
+3. Sfortunatamente (o fortunatamente, a seconda delle opinioni) la maggior parte dei moderni sistemi operativi Linux per desktop esegue il montaggio automatico dell'unità, se possibile. Ciò significa che, a seconda di vari fattori, `rsnapshot` potrebbe perdere la traccia dell'unità. Si desidera che l'unità venga "montata" o che i suoi file siano sempre disponibili nella stessa posizione.
Per farlo, prendete le informazioni sull'unità visualizzate nel comando `dmesg` e digitate `mount | grep sda1`, che dovrebbe mostrare qualcosa di simile a questo: `/dev/sda1 on /media/username/8ea89e5e-9291-45c1-961d-99c346a2628a`
4. Digitate `sudo umount /dev/sda1` per smontare l'unità esterna.
5. Quindi, creare un punto di montaggio per il backup: `sudo mkdir /mnt/backup`
@@ -175,55 +173,69 @@ In questo passaggio viene mostrato come montare un'unità, ad esempio un'unità
Si noti che per una singola macchina, sarà necessario ripetere i passaggi `umount` e `mount` ogni volta che l'unità viene collegata o ogni volta che il sistema si riavvia, oppure automatizzare questi comandi con uno script.
-Raccomandiamo l'automazione. L'automazione è la via del sysadmin.
+Si raccomanda l'automazione.
## Configurazione di `rsnapshot`
-Questo è il passo più importante. È possibile commettere un errore quando si apportano modifiche al file di configurazione. La configurazione di _rsnapshot_ richiede l'uso di tabulazioni per la separazione degli elementi e un'avvertenza in tal senso si trova all'inizio del file di configurazione.
+Questo è il passo più importante. È possibile commettere un errore quando si apportano modifiche al file di configurazione. La configurazione di `rsnapshot` richiede l'uso di tabulazioni per la separazione degli elementi e un'avvertenza in tal senso si trova all'inizio del file di configurazione.
Un carattere di spazio farà fallire l'intera configurazione e il vostro backup. Per esempio, all'inizio del file di configurazione c'è una sezione per la `# SNAPSHOT ROOT DIRECTORY #`. Se si sta aggiungendo questo da zero, si dovrebbe digitare `snapshot_root`, poi TAB e quindi digitare `/qualunque_percorso_per_la_root_di_snapshot/`
-La cosa migliore è che la configurazione predefinita inclusa in _rsnapshot_ necessita solo di piccole modifiche per funzionare per un backup di una macchina locale. È sempre una buona idea, però, fare una copia di backup del file di configurazione prima di iniziare a modificarlo:
+La cosa migliore è che la configurazione predefinita inclusa in `rsnapshot` necessita solo di piccole modifiche per funzionare per il backup di una macchina locale. È sempre una buona idea, però, fare una copia di backup del file di configurazione prima di iniziare a modificarlo:
`cp /etc/rsnapshot.conf /etc/rsnapshot.conf.bak`
## Backup di base della macchina o di un singolo server
-In questo caso, _rsnapshot_ verrà eseguito localmente per eseguire il backup di un particolare computer. In questo esempio, si analizzerà il file di configurazione e si mostrerà esattamente cosa si deve modificare.
+In questo caso, `rsnapshot` viene eseguito localmente per eseguire il backup di una particolare macchina. In questo esempio, la ripartizione del file di configurazione mostra esattamente le modifiche da apportare.
-Per aprire il file _/etc/rsnapshot.conf_ è necessario utilizzare `vi` (o modificare con il proprio editor preferito).
+È necessario utilizzare `vi` (o modificare con l'editor preferito) per aprire il file `/etc/rsnapshot.conf`.
La prima cosa da modificare è l'impostazione _snapshot_root_. Il valore predefinito è questo:
-`snapshot_root /.snapshots/`
+```text
+snapshot_root /.snapshots/
+```
-È necessario modificare questo punto con il punto di montaggio creato in precedenza e con l'aggiunta di "storage".
+È necessario cambiare questo punto con il punto di montaggio creato e aggiungere "storage".
-`snapshot_root /mnt/backup/storage/`
+```text
+snapshot_root /mnt/backup/storage/`
+```
-È inoltre necessario indicare al backup di non essere eseguito se l'unità non è montata. Per farlo, si deve rimuovere il segno "#" (chiamato anche commento, segno numerico, simbolo hash e così via) accanto a `no_create_root`, che si presenta in questo modo:
+È inoltre necessario indicare al backup di non essere eseguito se l'unità non è montata. Per farlo, rimuovete il segno "#" (chiamato anche commento, segno numerico, simbolo hash e così via) accanto a `no_create_root`, che si presenta in questo modo:
-`no_create_root 1`
+```text
+no_create_root 1
+```
Quindi scendete alla sezione intitolata `# EXTERNAL PROGRAM DEPENDENCIES #` e rimuovete il commento (di nuovo, il segno "#") da questa riga:
-`#cmd_cp /usr/bin/cp`
+```text
+#cmd_cp /usr/bin/cp
+```
Ora si legge:
-`cmd_cp /usr/bin/cp`
+```text
+cmd_cp /usr/bin/cp
+```
-Sebbene non sia necessario `cmd_ssh` per questa particolare configurazione, sarà necessario per l'altra opzione e non fa male averlo abilitato. Trovate quindi la riga che dice:
+Sebbene non sia necessario `cmd_ssh` per questa particolare configurazione, sarà necessario per l'altra opzione e non fa male averlo abilitato. Trovare la riga che dice:
-`#cmd_ssh /usr/bin/ssh`
+```text
+#cmd_ssh /usr/bin/ssh
+```
Rimuovere il simbolo "#":
-`cmd_ssh /usr/bin/ssh`
+```text
+cmd_ssh /usr/bin/ssh
+```
-Successivamente è necessario passare alla sezione intitolata `# BACKUP LEVELS / INTERVALS #`
+Successivamente è necessario passare alla sezione intitolata `# BACKUP LEVELS / INTERVALS #`
-Le versioni precedenti di _rsnapshot_ avevano `hourly, daily, monthly, yearly` ma ora sono `alfa, beta, gamma, delta`. Il che è un po' confuso. È necessario aggiungere un'annotazione a tutti gli intervalli che non verranno utilizzati. Nella configurazione, il delta è già stato commentato.
+Le versioni precedenti di `rsnapshot` avevano `orario, giornaliero, mensile, annuale` ma ora sono `alfa, beta, gamma, delta`. Il che è un po' confuso. È necessario aggiungere un'annotazione a tutti gli intervalli che non verranno utilizzati. Nella configurazione, il delta è già stato commentato.
In questo esempio, non si eseguiranno altri incrementi oltre al backup notturno. Basta aggiungere un commento ad alfa e gamma. Una volta completato, il file di configurazione sarà:
@@ -236,35 +248,43 @@ retain beta 7
Passare alla riga `logfile`, che per impostazione predefinita è:
-`#logfile /var/log/rsnapshot`
+```text
+#logfile /var/log/rsnapshot
+```
Rimuovere il commento:
-`logfile /var/log/rsnapshot`
+```text
+logfile /var/log/rsnapshot
+```
-Infine, passate alla sezione `### BACKUP POINTS / SCRIPTS ###` e aggiungere le directory che si desidera aggiungere nella sezione `# LOCALHOST`, ricordando di usare ++tab++ anziché ++spazio++ tra gli elementi!
+Infine, passate alla sezione `### BACKUP POINTS / SCRIPTS ###` e aggiungete tutte le directory che volete aggiungere nella sezione `# LOCALHOST`, ricordando di usare ++tab++ piuttosto che ++spazio++ tra gli elementi!
-Per ora scrivete le vostre modifiche (`SHIFT :wq!` per `vi`) e uscite dal file di configurazione.
+Per ora scrivete le vostre modifiche (++shift+colon+“wq!”++ per `vi`) e uscite dal file di configurazione.
### Verifica della configurazione
-Si vuole verificare che non siano stati aggiunti spazi o altri errori evidenti al nostro file di configurazione mentre lo si modificava. Per fare ciò, si esegue _rsnapshot_ con la nostra configurazione con l'opzione `configtest`:
+Si vuole verificare che non siano stati aggiunti spazi o altri errori evidenti al nostro file di configurazione mentre lo si modificava. Per farlo, si esegue `rsnapshot` contro la nostra configurazione con l'opzione `configtest`:
`rsnapshot configtest` mostrerà `Syntax OK` se non ci sono errori.
-Si dovrebbe prendere l'abitudine di eseguire `configtest` con una particolare configurazione. Il motivo sarà più evidente quando si entrerà nella sezione **Backup di più macchine o più server**.
+Prendete l'abitudine di eseguire `configtest` con una particolare configurazione. Il motivo sarà più evidente quando si entrerà nella sezione **Backup di più macchine o più server**.
-Per eseguire `configtest` con un particolare file di configurazione, è necessario eseguirlo con l'opzione -c per specificare la configurazione:
+Per eseguire `configtest` con un particolare file di configurazione, eseguirlo con l'opzione `-c` per specificare la configurazione:
-`rsnapshot -c /etc/rsnapshot.conf configtest`
+```bash
+rsnapshot -c /etc/rsnapshot.conf configtest
+```
## Esecuzione del backup la prima volta
-Dopo che `configtest` ha verificato che tutto è a posto, è ora il momento di eseguire il backup per la prima volta. Se si vuole, si può eseguire prima in modalità di prova, in modo da vedere cosa farà lo script di backup.
+Dopo che il `configtest` ha verificato che tutto è a posto, è il momento di eseguire il backup per la prima volta. È possibile eseguire questa operazione prima in modalità di prova, in modo da vedere cosa farà lo script di backup.
Anche in questo caso non è necessario specificare la configurazione, ma è una buona idea prendere l'abitudine di farlo:
-`rsnapshot -c /etc/rsnapshot.conf -t beta`
+```bash
+rsnapshot -c /etc/rsnapshot.conf -t beta
+```
Il risultato sarà simile a questo, mostrando cosa accadrà quando il backup verrà effettivamente eseguito:
@@ -284,29 +304,33 @@ touch /mnt/backup/storage/beta.0/
Quando il test soddisfa le vostre aspettative, eseguitelo manualmente la prima volta senza il test:
-`rsnapshot -c /etc/rsnapshot.conf beta`
+```bash
+rsnapshot -c /etc/rsnapshot.conf beta
+```
-Al termine del backup, navigare in /mnt/backup ed esaminare la struttura di directory creata. Ci sarà una directory `storage/beta.0/localhost`, seguita dalle directory specificate per il backup.
+Al termine del backup, andare in `/mnt/backup` ed esaminare la struttura di directory creata. Ci sarà una directory `storage/beta.0/localhost`, seguita dalle directory specificate per il backup.
### Ulteriori spiegazioni
Ogni volta che il backup viene eseguito, viene creato un altro incremento beta, 0-6 o 7 giorni di backup. Il backup più recente sarà sempre beta.0, mentre il backup di ieri sarà sempre beta.1.
-Le dimensioni di ciascuno di questi backup sembreranno occupare la stessa quantità (o più) di spazio su disco, ma ciò è dovuto all'uso di hard link _da parte di rsnapshot_. Per ripristinare i file dal backup di ieri, è sufficiente copiarli di nuovo dalla struttura di directory della beta.1.
+Le dimensioni di ciascuno di questi backup sembreranno occupare la stessa quantità (o più) di spazio su disco, ma ciò è dovuto agli hard links utilizzati da `rsnapshot`. Per ripristinare i file dal backup di ieri, è sufficiente copiarli di nuovo dalla struttura di directory della beta.1.
-Ogni backup è solo un backup incrementale rispetto all'esecuzione precedente, MA, grazie all'uso dei collegamenti diretti, ogni directory di backup contiene il file o il collegamento diretto al file nella directory in cui è stato effettivamente eseguito il backup.
+Ogni backup è solo un backup incrementale rispetto all'esecuzione precedente, MA, grazie all'uso di collegamenti diretti, ogni directory di backup contiene il file o il collegamento diretto al file nella directory in cui è stato effettivamente eseguito il backup.
Per ripristinare i file, non è necessario decidere la directory o l'incremento da cui ripristinarli, ma solo la data e l'ora del backup che si sta ripristinando. È un ottimo sistema e utilizza molto meno spazio su disco rispetto a molte altre soluzioni di backup.
## Impostazione dell'esecuzione automatica del backup
-Una volta completati i test e sicuri che le cose funzioneranno senza problemi, il passo successivo è impostare crontab per l'utente root per automatizzare il processo ogni giorno:
+Una volta completati i test e sicuri che le cose funzioneranno senza problemi, il passo successivo è impostare `crontab` per l'utente root per automatizzare il processo ogni giorno:
-`sudo crontab -e`
+```bash
+sudo crontab -e
+```
-Se non avete mai eseguito questa operazione, scegliete vim.basic come editor o il vostro editor preferito quando appare la riga `Select an editor`.
+Se non si e' mai eseguito questa operazione, si scelga “vim.basic” come editor o l'editor preferito quando appare la riga `Seleziona un editor`.
-Si intende impostare il backup in modo che venga eseguito automaticamente alle 23: 00, quindi si aggiungerà questo codice al crontab:
+Si intende impostare il backup in modo che venga eseguito automaticamente alle 23:00, quindi si aggiungerà questa voce a `crontab`:
```bash
## Running the backup at 11 PM
@@ -317,13 +341,13 @@ Si intende impostare il backup in modo che venga eseguito automaticamente alle 2
L'esecuzione di backup di più macchine da una macchina con un array RAID o una grande capacità di archiviazione, in sede o da una connessione Internet altrove, funziona bene.
-Se i backup vengono eseguiti via Internet, è necessario assicurarsi che ogni sede disponga di una larghezza di banda adeguata per l'esecuzione dei backup. È possibile utilizzare _rsnapshot_ per sincronizzare un server in sede con un array di backup o un server di backup fuori sede per migliorare la ridondanza dei dati.
+Se i backup vengono eseguiti via Internet, è necessario assicurarsi che ogni sede disponga di una larghezza di banda adeguata per l'esecuzione dei backup. È possibile utilizzare `rsnapshot` per sincronizzare un server in sede con un array di backup o un server di backup fuori sede per migliorare la ridondanza dei dati.
## Presupposto
-Esecuzione di _rsnapshot_ da una macchina in remoto, in sede. L'esecuzione di questa esatta configurazione è possibile anche in remoto, fuori sede.
+Eseguire di `rsnapshot` da una macchina in remoto, in sede. L'esecuzione di questa esatta configurazione è possibile anche in remoto, fuori sede.
-In questo caso, è necessario installare _rsnapshot_ sul computer che esegue tutti i backup. Altre ipotesi sono:
+In questo caso, si dovrà installare `rsnapshot` sul computer che esegue tutti i backup. Altre ipotesi sono:
- Che i server su cui si eseguirà il backup abbiano una regola del firewall che consenta alla macchina remota di accedere al server SSH
- Che ogni server di cui si intende eseguire il backup abbia installato una versione recente di `rsync`. Per i server Rocky Linux, eseguire `dnf install rsync` per aggiornare la versione di `rsync` del sistema.
@@ -331,41 +355,47 @@ In questo caso, è necessario installare _rsnapshot_ sul computer che esegue tut
## Chiavi Pubbliche e Private SSH
-Per il server che eseguirà i backup, è necessario generare una coppia di chiavi SSH da utilizzare durante i backup. Per il nostro esempio, creeremo chiavi RSA.
+Per il server che eseguirà i backup, è necessario generare una coppia di chiavi SSH da utilizzare durante i backup. Nel nostro esempio, creeremo chiavi RSA.
-Se si è già generato un set di chiavi, si può saltare questo passaggio. È possibile scoprirlo eseguendo `ls -al .ssh` e cercando una coppia di chiavi `id_rsa` e `id_rsa.pub.` Se non esistono, utilizzate il seguente link per impostare le chiavi per il vostro computer e per i server a cui volete accedere:
+Se si è già generato un set di chiavi, si può saltare questo passaggio. È possibile scoprirlo eseguendo `ls -al .ssh` e cercando una coppia di chiavi `id_rsa` e `id_rsa.pub.` Se non esistono, utilizzate il seguente link per impostare le chiavi per il vostro computer e per i server a cui volete accedere: Se non esistono, utilizzate il seguente link per impostare le chiavi per il vostro computer e per i server a cui volete accedere:
-[Coppie di Chiavi Private Pubbliche SSH](../security/ssh_public_private_keys.md)
+[Coppie di chiavi pubbliche private SSH](../security/ssh_public_private_keys.md)
-## Configurazione di _rsnapshot_
+## Configurazione di `rsnapshot`
-Il file di configurazione deve essere quasi identico a quello creato per il **Backup di base della macchina o di un singolo server**, tranne che per la modifica di alcune opzioni.
+Il file di configurazione deve essere quasi identico a quello creato per il **backup della macchina di base o del server singolo**, tranne che per la modifica di alcune opzioni.
La snapshot root è l'impostazione predefinita:
-`snapshot_root /.snapshots/`
+```text
+snapshot_root /.snapshots/
+```
Commentare questa riga:
-`no_create_root 1`
-
-`#no_create_root 1`
+```text
+no_create_root 1
+#no_create_root 1
+```
L'altra differenza è che ogni macchina avrà la propria configurazione. Quando ci si abitua, è sufficiente copiare uno dei file di configurazione esistenti con un nome diverso e modificarlo per adattarlo alle macchine aggiuntive di cui si desidera eseguire il backup.
Per ora, si vuole modificare solo il file di configurazione (come mostrato sopra) e salvarlo. Copiate questo file come modello per il nostro primo server:
-`cp /etc/rsnapshot.conf /etc/rsnapshot_web.conf`
-
-Si desidera modificare il file di configurazione e creare il log e il lockfile con il nome della macchina:
+```bash
+cp /etc/rsnapshot.conf /etc/rsnapshot_web.conf
+```
-`logfile /var/log/rsnapshot_web.log`
+Si desidera modificare il file di configurazione e creare il log e il `lockfile` con il nome della macchina:
-`lockfile /var/run/rsnapshot_web.pid`
+```text
+logfile /var/log/rsnapshot_web.log
+lockfile /var/run/rsnapshot_web.pid
+```
-Successivamente, si deve modificare il file rsnapshot_web.conf in modo che includa le directory di cui si vuole eseguire il backup. Successivamente, si deve modificare il file rsnapshot_web. conf in modo che includa le directory di cui si vuole eseguire il backup.
+Successivamente, si deve modificare `rsnapshot_web.conf` per includere le directory di cui si vuole eseguire il backup. L'unica cosa diversa è l'obiettivo.
-Ecco un esempio di configurazione di web.ourdomain.com:
+Ecco un esempio di configurazione di `web.ourdomain.com`:
```bash
### BACKUP POINTS / SCRIPTS ###
@@ -380,19 +410,25 @@ backup root@web.ourdomain.com:/root/ web.ourdomain.com/
Ora è possibile verificare la configurazione per assicurarsi che sia sintatticamente corretta:
-`rsnapshot -c /etc/rsnapshot_web.conf configtest`
+```bash
+rsnapshot -c /etc/rsnapshot_web.conf configtest
+```
Si sta cercando il messaggio `Syntax OK`. Se tutto è a posto, è possibile eseguire il backup manualmente:
-`/usr/bin/rsnapshot -c /etc/rsnapshot_web.conf beta`
+```bash
+/usr/bin/rsnapshot -c /etc/rsnapshot_web.conf beta
+```
-Supponendo che tutto funzioni, è possibile creare i file di configurazione per il server di posta (rsnapshot_mail.conf) e per il server del portale (rsnapshot_portal.conf), testarli ed eseguire un backup di prova.
+Supponendo che tutto funzioni, è possibile creare i file di configurazione per il server di posta (`rsnapshot_mail.conf`) e per il server del portale (`rsnapshot_portal.conf`), testarli ed eseguire un backup di prova.
## Automatizzare il backup
L'automazione dei backup per la versione per più macchine o server è leggermente diversa. Si vuole creare uno script bash per richiamare i backup in ordine. Quando uno finisce, inizia il successivo. Lo script avrà un aspetto simile a:
-`vi /usr/local/sbin/backup_all`
+```bash
+vi /usr/local/sbin/backup_all
+```
Con il contenuto:
@@ -404,13 +440,17 @@ Con il contenuto:
/usr/bin/rsnapshot -c /etc/rsnapshot_portal.conf beta
```
-Salvare lo script in /usr/local/sbin e renderlo eseguibile:
+Salvate lo script in `/usr/local/sbin` e rendetelo eseguibile:
-`chmod +x /usr/local/sbin/backup_all`
+```bash
+chmod +x /usr/local/sbin/backup_all
+```
-Creare il crontab per root per eseguire lo script di backup:
+Creare la `crontab` per root per eseguire lo script di backup:
-`crontab -e`
+```bash
+crontab -e
+```
Aggiungere questa riga:
@@ -421,7 +461,7 @@ Aggiungere questa riga:
## Segnalazione dello stato del backup
-Per assicurarsi che il backup avvenga secondo i piani, si consiglia di inviare i file di registro del backup all'indirizzo e-mail. Se si eseguono backup di più macchine utilizzando _rsnapshot_, ogni file di log avrà un proprio nome, che potrà essere inviato all'indirizzo e-mail per la revisione da parte della procedura [Utilizzo di postfix per la segnalazione dei processi del server](../email/postfix_reporting.md).
+Per assicurarsi che il backup avvenga secondo i piani, si consiglia di inviare i file di registro del backup all'indirizzo e-mail. Se si eseguono backup di più macchine utilizzando `rsnapshot`, ogni file di registro avrà il proprio nome, che potrà essere inviato alla propria e-mail per la revisione mediante la procedura [Usando postfix per il reporting dei processi del server](../email/postfix_reporting.md).
## Ripristino di un backup
@@ -429,6 +469,6 @@ Il ripristino di alcuni file o di un intero backup comporta la copia dei file de
## Conclusioni e altre risorse
-La configurazione corretta di _rsnapshot_ è un po' scoraggiante all'inizio, ma può far risparmiare molto tempo per il backup di macchine o server.
+La configurazione corretta di `rsnapshot` è un po' scoraggiante all'inizio, ma può far risparmiare molto tempo per il backup di macchine o server.
-_rsnapshot_ è potente, veloce ed economico nell'utilizzo dello spazio su disco. Per saperne di più su _rsnapshot_, visitate il sito [rsnapshot.org](https://rsnapshot.org/download.html).
+`rsnapshot` è potente, veloce ed economico nell'utilizzo dello spazio su disco. Per saperne di più su `rsnapshot`, visitate [il github di rsnapshot](https://github.com/rsnapshot/rsnapshot).
diff --git a/docs/guides/backup/rsnapshot_backup.md b/docs/guides/backup/rsnapshot_backup.md
index f620358431..38f74aa1fb 100644
--- a/docs/guides/backup/rsnapshot_backup.md
+++ b/docs/guides/backup/rsnapshot_backup.md
@@ -2,7 +2,7 @@
title: Backup Solution - rsnapshot
author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
+tested_with: 8.5, 8.6, 9.0, 10.0
tags:
- backup
- rsnapshot
@@ -13,15 +13,15 @@ tags:
- Know how to install additional repositories and snapshots from the command-line
- Know about mounting file systems external to your machine (external drive, remote file system, and so on.)
- Know how to use an editor (using `vi` here, but you can use your favorite editor)
-- Know a little BASH scripting
+- Know a little Bash scripting
- Know how to change the `crontab` for the root user
- Knowledge of SSH public and private keys (only if you plan to run remote backups from another server)
## Introduction
-`rsnapshot` is a powerful backup utility with installation options on any Linux-based machine. It can either back up a machine locally, or you can back up multiple machines, say servers for instance, from a single machine.
+`rsnapshot` is a powerful backup utility with installation options on any Linux-based machine. It can either back up a machine locally, or you can back up multiple machines, such as servers, from a single machine.
-`rsnapshot` uses `rsync` and is written entirely in Perl with no library dependencies. No unusual requirements exist for installation. In the case of Rocky Linux, you can install `rnapshot` by using the EPEL repository. After the initial release of Rocky Linux 9.0, there was a time when the EPEL did not contain the `rsnapshot` package. That is no longer the case, but these instructions include a method of installing from source just in case this happens again.
+Written entirely in Perl `rsnapshot` uses `rsync` and has no library dependencies. No unusual requirements exist for installation. In the case of Rocky Linux, you can install `rnapshot` by using the EPEL (Extra Packages for Enterprise Linux) repository. If you prefer, the source method of installation is here as an option.
This documentation covers the installation of `rsnapshot` on Rocky Linux only.
@@ -52,24 +52,24 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
If there are any missing dependencies, those will show up and you simply need to answer the prompt to continue. For example:
```
- dnf install rsnapshot
- Last metadata expiration check: 0:00:16 ago on Mon Feb 22 00:12:45 2021.
+ dnf install rsnapshot rsync
+ Last metadata expiration check: 2:03:40 ago on Fri 19 Sep 2025 03:54:16 PM UTC.
+ Package rsync-3.4.1-2.el10.x86_64 is already installed.
Dependencies resolved.
- ========================================================================================================================================
- Package Architecture Version Repository Size
- ========================================================================================================================================
+ ==============================================================================================================================
+ Package Architecture Version Repository Size
+ ==============================================================================================================================
Installing:
- rsnapshot noarch 1.4.3-1.el8 epel 121 k
+ rsnapshot noarch 1.5.1-1.el10_0 epel 112 k
Installing dependencies:
- perl-Lchown x86_64 1.01-14.el8 epel 18 k
- rsync x86_64 3.1.3-9.el8 baseos 404 k
+ perl-DirHandle noarch 1.05-512.2.el10_0 appstream 12 k
Transaction Summary
- ========================================================================================================================================
- Install 3 Packages
-
- Total download size: 543 k
- Installed size: 1.2 M
+ ==============================================================================================================================
+ Install 2 Packages
+
+ Total download size: 124 k
+ Installed size: 388 k
Is this ok [y/N]: y
```
@@ -81,7 +81,7 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
### Installing Development Tools and downloading the source
- As stated, the first step here is to install the 'Development Tools' group:
+ The first step here is to install the 'Development Tools' group:
```
dnf groupinstall 'Development Tools'
@@ -93,7 +93,7 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
dnf install wget unzip rsync openssh-server
```
- Next you will need to download the source files from the GitHub repository. You can do this multiple ways, but the easiest in this case is probably just to download the ZIP file from the repository.
+ Next, download the source files from the GitHub repository. You can do this multiple ways, but the easiest in this case is probably just to download the ZIP file from the repository.
1. Go to https://github.com/rsnapshot/rsnapshot
2. Click on the Green "Code" button on the right
@@ -111,13 +111,13 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
### Building the source
- Now that you have got everything on our machine, the next step is to build. When you unzipped the `master.zip` file, you ended up with an `rsnapshot-master` directory. You will need to change into this for our build procedure. Note that your build is using all of the package defaults, so if you want something else, you will need to do a little investigation. Also, these steps are directly taken from the [GitHub Installation](https://github.com/rsnapshot/rsnapshot/blob/master/INSTALL.md) page:
+ The next step is to build. When you unzipped the `master.zip` file, you ended up with an `rsnapshot-master` directory. Change into that directory for your build procedure. Note that your build is using all of the package defaults, so if you want something else, you will need to do a little investigation. Also, these steps are directly taken from the [GitHub Installation](https://github.com/rsnapshot/rsnapshot/blob/master/INSTALL.md) page:
```bash
cd rsnapshot-master
```
- Run the `authogen.sh` script to generate the configure script:
+ Run the `autogen.sh` script to generate the configure script:
```bash
./autogen.sh
@@ -145,7 +145,7 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
sudo make install
```
- During all of this, the `rsnapshot.conf` file will be created as `rsnapshot.conf.default`. You need to copy this over to `rsnapshot.conf` and then edit it to fit what you need on our system.
+ During all of this, the `rsnapshot.conf` file will be created as `rsnapshot.conf.default`. Copy this file over to `rsnapshot.conf` and then edit it to fit what you need on our system.
```bash
sudo cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
@@ -157,7 +157,7 @@ This documentation covers the installation of `rsnapshot` on Rocky Linux only.
In this step, we show how to mount a drive, such as an external USB drive, used to back up your system. This particular step is only necessary if you are backing up a single machine or server, as seen in our first example.
-1. Plugin the USB drive.
+1. Attach the USB drive.
2. Type `dmesg | grep sd` which will show you the drive you want to use. In this case, it is _sda1_.
Example: `EXT4-fs (sda1): mounting ext2 file system using the ext4 subsystem`.
3. Unfortunately (or fortunately depending on your opinion) most modern Linux desktop operating systems automount the drive if they can. This means that, depending on various factors, `rsnapshot` might lose track of the drive. You want the drive to "mount" or make its files available in the same place every time.
@@ -168,15 +168,15 @@ To do that, take the drive information revealed in the `dmesg` command and enter
7. Type `mount | grep sda1` again, and you will see this: `/dev/sda1 on /mnt/backup type ext2 (rw,relatime)`
8. Next create a directory that must exist for the backup to continue on the mounted drive. You use a folder called "storage" for this example: `sudo mkdir /mnt/backup/storage`
-Note that for a single machine, you will have to either repeat the `umount` and `mount` steps each time the drive is attached, or each time the system reboots, or automate these commands with a script.
+For a single machine, you will have to either repeat the `umount` and `mount` steps each time you attach the drive, or each time the system reboots, or automate these commands with a script.
-Automation is recommended.
+The recommendation is to use automation.
## Configuring `rsnapshot`
This is the most important step. It is possible to make a mistake when making changes to the configuration file. The `rsnapshot` configuration requires tabs for any separation of elements, and a warning to that effect is at the top of the configuration file.
-A space character will cause the entire configuration—and your backup—to fail. For instance, near the top of the configuration file is a section for the `# SNAPSHOT ROOT DIRECTORY #`. If you were adding this from scratch, you would type `snapshot_root` then TAB and then type `/whatever_the_path_to_the_snapshot_root_will_be/`
+A space character will cause the entire configuration—and your backup—to fail. As an example, near the top of the configuration file is a section for the `# SNAPSHOT ROOT DIRECTORY #`. If you were adding this from scratch, you would type `snapshot_root` then ++tab++ and then type `/whatever_the_path_to_the_snapshot_root_will_be/`
The best thing is that the default configuration included with `rsnapshot` only needs minor changes to make it work for a backup of a local machine. It is always a good idea, though, to make a backup copy of the configuration file before you start editing:
@@ -200,13 +200,13 @@ You need to change this to your mount point that you created and add in "storage
snapshot_root /mnt/backup/storage/`
```
-You also want to tell the backup not to run if the drive is not mounted. To do this, remove the "#" sign (also called a remark, number sign, hash symbol, and so on.) next to `no_create_root` which looks this way:
+You also want to tell the backup not to run if the drive is not mounted. To do this, remove the remark ("#" sign) next to `no_create_root` that looks this way:
```text
no_create_root 1
```
-Next go down to the section titled `# EXTERNAL PROGRAM DEPENDENCIES #` and remove the comment (again, the "#" sign) from this line:
+Next go down to the section titled `# EXTERNAL PROGRAM DEPENDENCIES #` and remove the remark (again, the "#" sign) from this line:
```text
#cmd_cp /usr/bin/cp
@@ -255,7 +255,7 @@ Remove the remark:
logfile /var/log/rsnapshot
```
-Finally, skip down to the `### BACKUP POINTS / SCRIPTS ###` section and add any directories that you want to add in the `# LOCALHOST` section, remember to use ++tab++ rather than ++space++ between elements!
+Finally, skip down to the `### BACKUP POINTS / SCRIPTS ###` section and add any directories that you want to add in the `# LOCALHOST` section, remember to use ++tab++ rather than ++space++ between elements.
For now write your changes (++shift+colon+"wq!"++ for `vi`) and exit the configuration file.
@@ -283,7 +283,7 @@ Again, to do this you do not necessarily have to specify the configuration in th
rsnapshot -c /etc/rsnapshot.conf -t beta
```
-Which will return something similar to this, showing you what will happen when the backup is actually run:
+This will return something similar to this, showing you what will happen when the backup is actually run:
```bash
echo 1441 > /var/run/rsnapshot.pid
@@ -305,17 +305,17 @@ When the test meets your expectations, run it manually the first time without th
rsnapshot -c /etc/rsnapshot.conf beta
```
-When the backup finishes, browse to `/mnt/backup` and examine the directory structure that it creates there. There will be a `storage/beta.0/localhost` directory, followed by the directories that you specified to backup.
+When the backup finishes, browse to `/mnt/backup` and examine the directory structure that it creates there. There will be a `storage/beta.0/localhost` directory, followed by the backup directories you specified.
### Further explanation
Each time the backup runs, it will create another beta increment, 0-6, or 7 days worth of backups. The newest backup will always be beta.0 whereas yesterday's backup will always be beta.1.
-The size of each of these backups will appear to take up the same amount (or more) of disk space, but this is because of the hard links used by `rsnapshot`. To restore files from yesterday's backup, you just copy them back from beta.1's directory structure.
+The size of each of these backups will appear to take up the same amount (or more) of disk space, but this is because of the hard links used by `rsnapshot`. To restore files from yesterday's backup, you just copy them back from beta.1's directory structure.
Each backup is only an incremental backup from the previous run, BUT, because of the use of hard links, each backup directory, contains either the file or the hard-link to the file in whichever directory it was actually backed up in.
-To restore files, you do not have to decide the directory or increment to restore them from, just what time stamp of the backup that you are restoring. It is a great system and uses far less disk space than many other backup solutions.
+To restore files, you do not have to decide the directory or increment to restore them from, just what timestamp of the backup that you are restoring. It is a great system and uses far less disk space than many other backup solutions.
## Setting the backup to run automatically
@@ -325,9 +325,9 @@ With testing completed and secure in the knowledge that things will work without
sudo crontab -e
```
-If you have not run this before, choose "vim.basic" as your editor or your own editor preference when the `Select an editor` line comes up.
+If you have not run this before, select "vim.basic" as your editor or your own editor preference when the `Select an editor` line comes up.
-You are going to set your backup to automatically run at 11 PM, so you will add this to the `crontab`:
+To set your backup to automatically run at 11 PM, add this to the `crontab`:
```bash
## Running the backup at 11 PM
@@ -336,15 +336,15 @@ You are going to set your backup to automatically run at 11 PM, so you will add
## Multiple machine or multiple server backups
-Doing backups of multiple machines from a machine with a RAID array or large storage capacity, on-premise or from on an Internet connection elsewhere works well.
+Doing backups of multiple machines from a machine with an RAID array or large storage capacity drive, on-site or from on an Internet connection elsewhere, works well.
If running these backups over the Internet, you need to ensure that each location has adequate bandwidth for the backups to occur. You can use `rsnapshot` to synchronize an on-site server with an off-site backup array or backup server to improve data redundancy.
## Assumptions
-Running `rsnapshot` from a machine remotely, on-premise. Running this exact configuration is possible remotely off-premise also.
+Running `rsnapshot` from a machine remotely, on-site. Running this exact configuration is possible remotely off-site also.
-In this case, you will want to install `rsnapshot` on the machine that is doing all of the backups. Other assumptions are:
+In this case, you will want to install `rsnapshot` on the machine that is doing the backups. Other assumptions are:
- That the servers you will be backing up to, have a firewall rule that allows the remote machine to SSH into it
- That each server that you will be backing up has a recent version of `rsync` installed. For Rocky Linux servers, run `dnf install rsync` to update your system's version of `rsync`.
@@ -352,9 +352,9 @@ In this case, you will want to install `rsnapshot` on the machine that is doing
## SSH public or private keys
-For the server that will be running the backups, you need to generate an SSH key-pair for use during the backups. For our example, you will be creating RSA keys.
+For the server that will be running the backups, you need to generate an SSH key-pair for use during the backups. For our example, you will create RSA keys.
-If you already have a set of keys generated, you can skip this step. You can find out by doing an `ls -al .ssh` and looking for an `id_rsa` and `id_rsa.pub` key pair. If none exists, use the following link to set up keys for your machine and the server(s) that you want to access:
+If you already have a set of keys generated, you can skip this step. You can see this by doing an `ls -al .ssh` and looking for an `id_rsa` and `id_rsa.pub` key pair. If none exists, use the following link to set up keys for your machine and the server(s) that you want to access:
[SSH public private key pairs](../security/ssh_public_private_keys.md)
@@ -375,22 +375,22 @@ no_create_root 1
#no_create_root 1
```
-The other difference here is that each machine will have its own configuration. When you get used to this, you will just copy one of your existing configuration files over to a different name and change it to fit any additional machines that you want to backup.
+The other difference here is that each machine will have its own configuration. When you get used to this, you will just copy one of your existing configuration files over to a different name and change it to fit any additional machines that you want backups for.
-For now, you want to change the configuration file just (as shown above), and save it. Copy that file as a template for our first server:
+For now, you want to change the configuration file and save it. Copy that file as a template for our first server:
```bash
cp /etc/rsnapshot.conf /etc/rsnapshot_web.conf
```
-You want to change the configuration file and create the log and `lockfile` with the machine's name:
+Change the configuration file and create the log and `lockfile` with the machine's name:
```text
logfile /var/log/rsnapshot_web.log
lockfile /var/run/rsnapshot_web.pid
```
-Next, you want to change `rsnapshot_web.conf` to include the directories you want to back up. The only thing that is different here is the target.
+Next change `rsnapshot_web.conf` to include the directories you want to back up. The only thing that is different here is the target.
Here is an example of the "web.ourdomain.com" configuration:
@@ -462,7 +462,7 @@ To ensure that everything is backing up according to plan, you might want to sen
## Restoring a backup
-Restoring a few files or an entire backup involves copying the files you want from the directory with the date that you want to restore from back to your machine.
+Restoring a few files or an entire backup involves copying the files you want from the directory with the date (timestamp) that you want to restore from, back to the machine.
## Conclusions and other resources
diff --git a/docs/guides/backup/rsnapshot_backup.uk.md b/docs/guides/backup/rsnapshot_backup.uk.md
index 08060c99d0..e5ad1d2c7d 100644
--- a/docs/guides/backup/rsnapshot_backup.uk.md
+++ b/docs/guides/backup/rsnapshot_backup.uk.md
@@ -56,7 +56,7 @@ _rsnapshot_ — це потужна утиліта резервного копі
```
dnf install rsnapshot
Last metadata expiration check: 0:00:16 ago on Mon Feb 22 00:12:45 2021.
- Dependencies resolved.
+ Залежності вирішені.
========================================================================================================================================
Package Architecture Version Repository Size
========================================================================================================================================
diff --git a/docs/guides/backup/rsync_ssh.fr.md b/docs/guides/backup/rsync_ssh.fr.md
new file mode 100644
index 0000000000..1c0d515d01
--- /dev/null
+++ b/docs/guides/backup/rsync_ssh.fr.md
@@ -0,0 +1,201 @@
+---
+title: Synchronisation avec `rsync`
+author: Steven Spencer
+contributors: Ezequiel Bruni, tianci li, Ganna Zhyrnova
+tags:
+ - synchronisation
+ - rsync
+---
+
+## Prérequis
+
+Voici ce dont vous aurez besoin pour comprendre et suivre ce guide :
+
+- Un ordinateur fonctionnant sous Rocky Linux
+- Savoir modifier les fichiers de configuration à partir de la ligne de commande.
+- Savoir utiliser un éditeur comme _vi_.
+- Vous aurez besoin des droits d'accès `root` ou bien obtenir les privilèges nécessaires grâce à `sudo`
+- Les paires de clés SSH publique et privée
+- Pouvoir créer un script bash avec `vi` ou votre éditeur préféré et le tester.
+- Être capable d'utiliser `crontab` pour automatiser l'exécution du script
+
+## Introduction
+
+L'utilisation de `rsync` sur SSH n'est pas aussi efficace que [lsyncd](../backup/mirroring_lsyncd.md) (qui vous permet de surveiller les modifications apportées à un répertoire ou à un fichier et de le maintenir synchronisé en temps réel), ni aussi flexible que [rsnapshot](../backup/rsnapshot_backup.md) (qui offre la possibilité de sauvegarder plusieurs cibles à partir d'un seul ordinateur). Cependant, il fournit la possibilité de tenir deux ordinateurs à jour selon un calendrier que vous pouvez définir vous-même.
+
+Si vous avez besoin de garder à jour un ensemble de répertoires sur l'ordinateur cible, et vous ne vous souciez pas de la synchronisation en temps réel en tant que fonctionnalité, alors `rsync` par l'intermédiaire de SSH est probablement la meilleure solution.
+
+Pour cette procédure, vous aurez besoin de l'utilisateur `root`. Connectez-vous en tant qu'utilisateur `root` ou utilisez la commande `sudo -s` pour passer à l'utilisateur `root` dans votre terminal.
+
+### Installation de `rsync`
+
+Il est probable que `rsync` soit déjà installé. Pour vous assurer que `rsync` est à jour, procédez comme suit sur les deux ordinateurs :
+
+```bash
+dnf install rsync
+```
+
+Si le paquet n'est pas installé, `dnf` vous demandera de confirmer l'installation. S'il est déjà installé, `dnf` cherchera une mise à jour et vous demandera de l'installer.
+
+### Préparation de l’Environnement
+
+Cet exemple utilisera `rsync` sur l'ordinateur cible pour extraire de la source au lieu de transférer de la source vers la cible. Pour cela vous devez configurer une [paire de clés SSH](../security/ssh_public_private_keys.md). Après avoir créé la paire de clés SSH, vérifiez l’accès sans mot de passe de l’ordinateur cible à l’ordinateur source.
+
+### `rsync` — Paramètres et Configuration d'un Script
+
+Avant de poursuivre la configuration du script, vous devez décider quels paramètres vous souhaitez utiliser avec `rsync`. Il existe de nombreuses possibilités. Consultez le [manuel de rsync](https://linux.die.net/man/1/rsync) pour une liste complète. La façon la plus courante d'utiliser `rsync` est d'utiliser l'option `-a`, car `-a`, ou `archive`, combine plusieurs options standard. Qu'est-ce que `-a` inclus ?
+
+- `-r`, parcoure les sous-répertoires
+- `-l`, maintiens les liens symboliques comme tels
+- `-p`, préserve les permissions
+- `-t`, préserve date et heure de modification
+- `-g`, conserve le groupe
+- `-o`, préserve le propriétaire
+- `-D`, préserve les fichiers de périphérique
+
+Les seules options supplémentaires dont nous aurons besoin dans cet exemple sont les suivantes :
+
+- `-e`, précise le shell distant à utiliser
+- `--delete`, qui indique que si le répertoire cible contient un fichier qui n'existe pas sur la source, il faut le supprimer
+
+Ensuite, nous devons configurer un script en créant un fichier pour cela (encore une fois, utilisez votre éditeur préféré si vous n'êtes pas familier avec `vi`). Pour créer le fichier, utilisez la commande suivante :
+
+```bash
+vi /usr/local/sbin/rsync_dirs
+```
+
+Ajoutez le contenu :
+
+```bash
+#!/usr/bin/env bash
+/usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home
+```
+
+Remplacez `source.domain.com` par votre propre nom de domaine, nom d’hôte ou adresse IP.
+
+Rendez le script exécutable :
+
+```bash
+chmod +x /usr/local/sbin/rsync_dirs
+```
+
+## Test
+
+Les scripts vous permettent de tester sans souci.
+
+!!! warning "Avertissement"
+
+ Dans ce cas, nous partons du principe que votre répertoire personnel n'existe pas sur l'ordinateur cible. **S'il existe déjà, vous devriez faire une copie de sécurité avant de lancer le script !**
+
+Exécutez le script :
+
+```bash
+/usr/local/sbin/rsync_dirs
+```
+
+Si tout se passe bien, vous obtiendrez une copie entièrement synchronisée de votre répertoire personnel sur l’ordinateur cible. Vérifiez pour être sûr que c'est bien le cas.
+
+En supposant que tout a bien marché comme prévu, continuez en créant un nouveau fichier dans votre répertoire personnel sous `/home/` de l'ordinateur source :
+
+```bash
+touch /home/your_user/testfile.txt
+```
+
+Relancez le script :
+
+```bash
+/usr/local/sbin/rsync_dirs
+```
+
+Ensuite vérifiez que la cible reçoit bien le nouveau fichier. Si oui, l'étape suivante consiste en la vérification de la bonne marche de l'effacement d'un fichier. Effacez le fichier créé précédemment sur l'ordinateur source :
+
+```bash
+rm -f /home/your_user/testfile.txt
+```
+
+Relancez le script :
+
+```bash
+/usr/local/sbin/rsync_dirs
+```
+
+Vérifiez que le fichier n'existe plus sur l'ordinateur cible.
+
+Finalement créons sur l'ordinateur cible un fichier qui n'existe pas sur l'ordinateur source :
+
+```bash
+touch /home/your_user/a_different_file.txt
+```
+
+Relancez le script une dernière fois :
+
+```bash
+/usr/local/sbin/rsync_dirs
+```
+
+Le fichier qui vient d'être créé sur l'ordinateur de destination devrait disparaître, du fait qu'il n'existe pas sur l'ordinateur source.
+
+En supposant que tout fonctionne correctement, modifiez le script pour synchroniser tous les répertoires requis.
+
+## Automatisation Complète
+
+Vous ne souhaiterez probablement pas exécuter ce script chaque fois que vous voulez effectuer une synchronisation manuelle. Utilisez un `crontab` pour effectuer cette opération automatiquement selon un calendrier précis. Supposons que vous désiriez lancer le script à 23: 00 chaque soir :
+
+```bash
+crontab -e
+```
+
+Cela s'affichera et ressemblera à ceci :
+
+```bash
+# Edit this file to introduce tasks to be run by cron.
+#
+# Each task to run has to be defined through a single line
+# indicating with different fields when the task will be run
+# and what command to run for the task
+#
+# To define the time you can provide concrete values for
+# minute (m), hour (h), day of month (dom), month (mon),
+# and day of week (dow) or use '*' in these fields (for 'any').
+#
+# Notice that tasks will be started based on the cron's system
+# daemon's notion of time and timezones.
+#
+# Output of the crontab jobs (including errors) is sent through
+# email to the user the crontab file belongs to (unless redirected).
+#
+# For example, you can run a backup of all your user accounts
+# at 5 a.m every week with:
+# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
+#
+# For more information see the manual pages of crontab(5) and cron(8)
+#
+# m h dom mon dow command
+```
+
+!!! info "Info"
+
+ L'exemple `crontab` montre un fichier vide, mais commenté. Le commentaire n'apparaît pas sur chaque instance d'ordinateur et le fichier en question peut être un fichier vide. Sur un ordinateur en service vous pouvez voir d’autres entrées.
+
+Le `crontab` correspond à une horloge de 24 heures. Vous devrez insérer la ligne suivante au bas du fichier :
+
+```crontab
+00 23 * * * /usr/local/sbin/rsync_dirs
+```
+
+Cela indique d'exécuter cette commande à minuit et à 23 h tous les jours, tous les mois et tous les jours de la semaine. Enregistrez votre entrée `crontab` comme suit :
+
+++shift+colon+"w"+"q"+exclam++
+
+## Paramètres facultatifs
+
+```bash
+-n: Dry-Run to see what files would be transferred
+-v: list out all the files that are being transferred
+-vvv: to provide debug info while transferring files
+-z: to enable compression during the transfer
+```
+
+## Conclusion
+
+Bien que `rsync` ne sois pas aussi sophistiqué que d'autres outils, il propose une solution simple de synchronisation de fichiers très utile.
diff --git a/docs/guides/backup/rsync_ssh.it.md b/docs/guides/backup/rsync_ssh.it.md
index 08ee9fe253..e2846cd8ae 100644
--- a/docs/guides/backup/rsync_ssh.it.md
+++ b/docs/guides/backup/rsync_ssh.it.md
@@ -7,8 +7,6 @@ tags:
- rsync
---
-# Usare `rsync` per mantenere sincronizzate due macchine
-
## Prerequisiti
Ecco tutto ciò di cui avrete bisogno per capire e seguire questa guida:
@@ -16,34 +14,36 @@ Ecco tutto ciò di cui avrete bisogno per capire e seguire questa guida:
- Una macchina con Rocky Linux.
- Essere a proprio agio con la modifica dei file di configurazione dalla riga di comando
- Conoscenza dell'uso di un editor a riga di comando (qui si usa _vi_, ma si può usare il proprio editor preferito)
-- È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale
+- È necessario disporre dell'accesso root o dei privilegi `sudo`
- Coppia di chiavi SSH Pubbliche e Private.
-- In grado di creare uno script bash con `vi` o con il vostro editor preferito e di testarlo.
-- In grado di utilizzare _crontab_ per automatizzare l'esecuzione dello script.
+- È possibile creare uno script bash con `vi` o con il proprio editor preferito e testarlo.
+- In grado di utilizzare `crontab` per automatizzare l'esecuzione dello script
## Introduzione
-L'uso di `rsync` su SSH non è né potente come [lsyncd](../backup/mirroring_lsyncd.md) (che consente di monitorare una directory o un file per le modifiche e di mantenerlo sincronizzato in tempo reale), né flessibile come [rsnapshot](../backup/rsnapshot_backup.md) (che offre la possibilità di eseguire il backup di più destinazioni da una singola macchina). Tuttavia, offre la possibilità di mantenere aggiornati due computer in base a una pianificazione definita dall'utente.
+L'uso di `rsync` su SSH non è potente come [lsyncd](../backup/mirroring_lsyncd.md) (che consente di osservare una directory o un file per le modifiche e di mantenerlo sincronizzato in tempo reale), né flessibile come [rsnapshot](../backup/rsnapshot_backup.md) (che offre la possibilità di eseguire il backup di più obiettivi da un singolo computer). Tuttavia, consente di tenere aggiornati due computer secondo un programma definito dall'utente.
Se avete bisogno di mantenere aggiornata una serie di directory sul computer di destinazione e non vi interessa la sincronizzazione in tempo reale come caratteristica, allora `rsync` su SSH è probabilmente la soluzione migliore.
-Per questa procedura, si opererà come utente root. Effettuate il login come root o utilizzate il comando `sudo -s` per passare all'utente root nel vostro terminale.
+Per questa procedura, si opererà come utente root. Accedere come root o usare il comando `sudo -s` per passare all'utente root nel terminale.
### Installazione di `rsync`
-Anche se probabilmente `rsync` è già installato, è meglio aggiornare `rsync` alla versione più recente sui computer di origine e di destinazione. Per assicurarsi che `rsync` sia aggiornato, eseguire le seguenti operazioni su entrambi i computer:
+Anche se probabilmente `rsync` è già installato. Per assicurarsi che `rsync` sia aggiornato, eseguire le seguenti operazioni su entrambi i computer:
-`dnf install rsync`
+```bash
+dnf install rsync
+```
-Se il pacchetto non è installato, `dnf` chiederà di confermare l'installazione; se è già installato, `dnf` cercherà un aggiornamento e chiederà di installarlo.
+Se il pacchetto non è installato, `dnf` chiederà di confermare l'installazione. Se è già installato, `dnf` cercherà un aggiornamento e chiederà di installarlo.
### Preparazione dell'Ambiente
-Questo particolare esempio utilizzerà `rsync` sul computer di destinazione per prelevare dall'origine invece di spingere dall'origine alla destinazione. È necessario impostare una [coppia di chiavi SSH](../security/ssh_public_private_keys.md) per questo scopo. Una volta creata la coppia di chiavi SSH e confermato l'accesso senza password dal computer di destinazione al computer di origine, si può iniziare.
+Questo esempio utilizzerà `rsync` sul computer di destinazione per prelevare dall'origine invece di spingere dall'origine alla destinazione. A tale scopo è necessario impostare una [coppia di chiavi SSH](../security/ssh_public_private_keys.md). Dopo aver creato la coppia di chiavi SSH, verificare l'accesso senza password dal computer di destinazione al computer di origine.
### parametri di `rsync` e impostazione di uno script
-Prima di lasciarsi prendere la mano con l'impostazione di uno script, è necessario decidere quali parametri utilizzare con `rsync`. Ci sono molte possibilità, quindi date un'occhiata al [manuale di rsync](https://linux.die.net/man/1/rsync). Il modo più comune di usare `rsync` è quello di usare l'opzione `-a`, perché `-a`, o archivio, combina una serie di opzioni in una sola e queste sono opzioni molto comuni. Che cosa include -a?
+Prima di continuare la configurazione dello script, è necessario decidere quali parametri utilizzare con `rsync`. Esistono molte possibilità. Per un elenco completo, consultare il [manuale di rsync](https://linux.die.net/man/1/rsync). Il modo più comune di usare `rsync` è quello di usare l'opzione `-a` perché `-a`, o “archivio”, combina diverse opzioni comuni. Cosa include `-a`?
- `-r`, ricorre le directory
- `-l`, mantiene i collegamenti simbolici come collegamenti simbolici
@@ -56,72 +56,96 @@ Prima di lasciarsi prendere la mano con l'impostazione di uno script, è necessa
Le uniche altre opzioni da specificare in questo esempio sono:
- `-e`, specifica la shell remota da utilizzare
-- `--delete`, che dice che se nella directory di destinazione c'è un file che non esiste nella sorgente, bisogna eliminarlo
+- `--delete`, che dice che se la directory di destinazione contiene un file che non esiste nella sorgente, bisogna eliminarlo
-Successivamente, dobbiamo impostare uno script creando un file per esso (ancora una volta, utilizzate il vostro editor preferito se non avete familiarità con vi). Per creare il file, basta usare questo comando:
+Quindi, impostate uno script sul computer di destinazione creando un file apposito (ancora una volta, utilizzate il vostro editor preferito se non avete familiarità con `vi`). Per creare il file, utilizzare questo comando:
-`vi /usr/local/sbin/rsync_dirs`
+```bash
+vi /usr/local/sbin/rsync_dirs
+```
-E poi renderlo eseguibile:
+Aggiungere il contenuto:
-`chmod +x /usr/local/sbin/rsync_dirs`
+```bash
+#!/usr/bin/env bash
+/usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home
+```
-## Impostazioni
+Sostituire “source.domain.com” con il nome di dominio, il nome host o l'indirizzo IP.
-Ora, lo scripting lo rende super semplice e sicuro, in modo da poterlo testare senza timore. Si noti che l'URL utilizzato di seguito è "source.domain.com". Sostituirlo con il dominio o l'indirizzo IP del proprio computer di origine, entrambi funzionano. Ricordate inoltre che in questo esempio lo script viene creato sul computer "di destinazione", perché il file viene estratto dal computer di origine:
+E poi renderlo eseguibile:
```bash
-#!/bin/bash
-/usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home
+chmod +x /usr/local/sbin/rsync_dirs
```
+## Impostazioni
+
+Lo scripting consente di eseguire i test senza preoccupazioni.
+
!!! warning "Attenzione"
- In questo caso, si presume che la propria home directory non esista sul computer di destinazione. **Se esiste, si consiglia di eseguire un backup prima di eseguire lo script!**
+ In questo caso, si presuppone che la propria home directory non esista sul computer di destinazione. **Se esiste, si consiglia di eseguire un backup prima di eseguire lo script!**
-Ora eseguite lo script:
+Eseguire lo script:
-`/usr/local/sbin/rsync_dirs`
+```bash
+/usr/local/sbin/rsync_dirs
+```
-Se tutto va bene, si dovrebbe ottenere una copia completamente sincronizzata della propria home directory sul computer di destinazione. Verificate che sia così.
+Se tutto va bene, si otterrà una copia sincronizzata della propria home directory sul computer di destinazione. Assicurarsi che sia questo il caso.
-Supponendo che tutto questo abbia funzionato come sperato, procedete a creare un nuovo file sul computer di origine nella vostra home directory:
+Supponendo che i precedenti passaggi abbiano funzionato, si crei un nuovo file sul computer di origine nella home directory:
-`touch /home/your_user/testfile.txt`
+```bash
+touch /home/your_user/testfile.txt
+```
Eseguire nuovamente lo script:
-`/usr/local/sbin/rsync_dirs`
+```bash
+/usr/local/sbin/rsync_dirs
+```
-Quindi verificare che il computer di destinazione riceva il nuovo file. In caso affermativo, il passo successivo consiste nel verificare il processo di eliminazione. Cancellare il file appena creato sul computer di origine:
+Verificare che il computer di destinazione riceva il nuovo file. In caso affermativo, il passo successivo consiste nel verificare il processo di eliminazione. Cancellare il file appena creato sul computer di origine:
-`rm -f /home/your_user/testfile.txt`
+```bash
+rm -f /home/your_user/testfile.txt
+```
Eseguire nuovamente lo script:
-`/usr/local/sbin/rsync_dirs`
+```bash
+/usr/local/sbin/rsync_dirs
+```
Verificare che il file non esista più sul computer di destinazione.
-Infine, creiamo un file sul computer di destinazione che non esiste sull'origine. Quindi sul target:
+Infine, creare un file sul computer di destinazione che non esiste sull'origine:
-`touch /home/your_user/a_different_file.txt`
+```bash
+touch /home/your_user/a_different_file.txt
+```
Eseguire lo script un'ultima volta:
-`/usr/local/sbin/rsync_dirs`
+```bash
+/usr/local/sbin/rsync_dirs
+```
-Il file appena creato sulla destinazione dovrebbe essere sparito, perché non esiste sulla sorgente.
+Il file creato sulla destinazione non dovrebbe più esistere perché non esiste sull'origine.
Supponendo che tutto questo abbia funzionato come previsto, modificate lo script per sincronizzare tutte le directory desiderate.
-## Automatizzare il Tutto
+## Automatizzare il tutto
-Non si vuole eseguire manualmente questo script ogni volta che si vuole sincronizzare, quindi il passo successivo è quello di farlo automaticamente. Supponiamo di voler eseguire questo script alle 23:00 di ogni sera. Per automatizzare questa operazione, utilizzare crontab:
+È possibile che non si voglia eseguire questo script ogni volta che si desidera effettuare una sincronizzazione manuale. Usare una `crontab` per eseguire questa operazione automaticamente secondo un programma. Eseguire questo script alle 23:00 di ogni sera:
-`crontab -e`
+```bash
+crontab -e
+```
-In questo modo si ottiene il cron, che può avere un aspetto simile a questo:
+L'aspetto sarà simile a questo:
```bash
# Edit this file to introduce tasks to be run by cron.
@@ -149,15 +173,19 @@ In questo modo si ottiene il cron, che può avere un aspetto simile a questo:
# m h dom mon dow command
```
-Il cron è impostato su un orologio di 24 ore, quindi la voce da inserire in fondo al file è:
+!!! info "Informazione"
-`00 23 * * * /usr/local/sbin/rsync_dirs`
+ L'esempio `crontab` mostra un file vuoto ma commentato. Il commento non appare su tutte le istanze del computer e potrebbe essere un file vuoto. Su un computer attivo, è possibile che vengano visualizzate altre voci.
-Questo comando deve essere eseguito alle 00 minuti, 23 ore, tutti i giorni, tutti i mesi e tutti i giorni della settimana. Salvare la voce di cron con:
+La `crontab` è su un orologio di 24 ore. La voce deve essere inserita in fondo a questo file:
-++shift+colon+"w"+"q"+exclam++
+```crontab
+00 23 * * * /usr/local/sbin/rsync_dirs
+```
-... o con i comandi che il vostro editor preferito utilizza per salvare un file.
+Questo dice di eseguire questo comando alle ore 00 e 23 di ogni giorno, di ogni mese e di ogni giorno della settimana. Salvare la voce `crontab` con:
+
+++shift+colon+"w"+"q"+exclam++
## Flags opzionali
@@ -165,9 +193,9 @@ Questo comando deve essere eseguito alle 00 minuti, 23 ore, tutti i giorni, tutt
-n : Esecuzione Dry-Run per vedere quali file verranno trasferiti
-v : elenca tutti i file che vengono trasferiti
-vvv : per fornire informazioni di debug durante il trasferimento dei file
--z : per abilitare la compressione durante il trasferimento
+-z : per abilitare la compressione durante il trasferimento
```
## Conclusioni
-Sebbene `rsync` non sia flessibile o potente come altri strumenti, fornisce una semplice sincronizzazione dei file, che è sempre utile.
+Sebbene `rsync` non sia flessibile o robusto come altri strumenti, fornisce la sincronizzazione dei file, che è sempre utile.
diff --git a/docs/guides/backup/tar.it.md b/docs/guides/backup/tar.it.md
new file mode 100644
index 0000000000..69b1af9150
--- /dev/null
+++ b/docs/guides/backup/tar.it.md
@@ -0,0 +1,333 @@
+---
+title: Comando tar
+author: tianci li
+contributors: Ganna Zhyrnova
+tested_with: 8.10
+tags:
+ - tar
+ - backup
+ - archive
+---
+
+## Panoramica
+
+`tar` è uno strumento per elaborare i file di archivio su GNU/Linux e altri sistemi operativi UNIX. Sta per “tape archive” (archiviazione su nastro magnetico).
+
+L'archiviazione dei file su nastro magnetico è stato l'uso iniziale degli archivi tar. Il nome “tar” deriva da questo uso. Nonostante il nome dell'utilità, `tar` può dirigere il suo output verso dispositivi, file o altri programmi disponibili (usando le pipe) e accedere a dispositivi o file remoti (come archivi).
+
+Il `tar' attualmente utilizzato nei moderni GNU/Linux proveniva inizialmente dal [Progetto GNU](https://www.gnu.org/). È possibile consultare e scaricare tutte le versioni di `tar\` sul [sito web di GNU](https://ftp.gnu.org/gnu/tar/).
+
+!!! note
+
+````
+`tar` in distribuzioni diverse può avere opzioni predefinite diverse. Fate attenzione quando le usate.
+
+```bash
+# RockyLinux 8 e Fedora 41
+Shell > tar --show-defaults
+--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt --rsh-command=/usr/bin/ssh
+```
+````
+
+## Usare `tar`
+
+Quando si usa `tar`, si noti che ha due modalità di salvataggio:
+
+- **Relative mode** (default): Rimuove il carattere iniziale ‘/’ dal file. Anche se il file è stato aggiunto con un percorso assoluto, `tar` rimuoverà il carattere iniziale “/” in questa modalità.
+- **Absolute mode**: Mantiene il carattere iniziale ‘/’ e lo include nel percorso del file. È necessario utilizzare l'opzione \`-P' per attivare questa modalità di archiviazione. In questa modalità, tutti i file devono essere rappresentati come percorsi assoluti. Per motivi di sicurezza, nella maggior parte dei casi non si dovrebbe utilizzare questa modalità di salvataggio, a meno che non vi siano requisiti particolari.
+
+Quando si usa `tar`, si incontrano suffissi come `.tar.gz`, `.tar.xz` e `.tar.bz2`, che indicano che prima la creazione di un archivio (classificando i file correlati come un singolo file) e si e' compresso il file con il tipo o l'algoritmo di compressione specifico.
+
+Il tipo di compressione o algoritmo può essere gzip, bzip2, xz, zstd o un altro.
+
+`tar` consente di estrarre un singolo file o una directory da un backup, di visualizzarne il contenuto o di convalidarne l'integrità.
+
+La sintassi per la creazione di un archivio e relativa compressione è:
+
+- `tar [option] [PATH] [DIR1] ... [FILE1] ...`. Ad es., `tar -czvf /tmp/Fullbackup-20241201.tar.gz /etc/ /var/log/`
+
+La sintassi per estrarre un file da un archivio è:
+
+- `tar [option] [PATH] -C [dir]`. Ad es., `tar -xzvf /tmp/Fullbackup-20241201.tar.gz -C /tmp/D1`
+
+!!! tip "antic"
+
+Quando si estraggono file da file archiviati, `tar` seleziona automaticamente il tipo di compressione in base al suffisso aggiunto manualmente. Ad esempio, per i file `.tar.gz', si può usare direttamente `tar -vxf' senza usare \`tar -zvxf'.
+È invece **obbligatorio** selezionare il tipo di compressione per la creazione di file compressi di archivio.
+
+!!! Note
+
+```
+In GNU/Linux, la maggior parte dei file non richiede un'estensione, tranne che per l'ambiente desktop (GUI). La ragione dell'aggiunta artificiale di suffissi è quella di facilitare il riconoscimento da parte degli utenti umani. Se l'amministratore di sistema vede un file con estensione `.tar.gz' o `.tgz', ad esempio, sa come trattare il file.
+```
+
+### Parametri o tipi di funzionamento
+
+| Parametro | Descrizione |
+| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `-A` | Aggiunge tutti i file di un archivio alla fine di un altro archivio. Applicabile solo per archiviare file non compressi del tipo `.tar`. |
+| `-c` | Crea un archivio. Spesso utilizzato |
+| `-d` | Confronta le differenze tra i file archiviati e quelli corrispondenti non archiviati. |
+| `-r` | Aggiunge i file o le directory alla fine dell'archivio. Applicabile solo per archiviare file non compressi del tipo `.tar`. |
+| `-t` | Elenca il contenuto dell'archivio |
+| `-u` | Aggiunge all'archivio solo i file più recenti. Applicabile solo per archiviare file non compressi del tipo `.tar`. |
+| `-x` | Estrazione da un archivio. Spesso utilizzato |
+| `--delete` | Cancella file o cartelle dall'archivio ".tar" Applicabile solo per archiviare file non compressi del tipo `.tar`. |
+
+!!! Tip
+
+```
+L'autore consiglia di mantenere il prefisso “-” per preservare le abitudini degli utenti riguardo ai tipi di operazione. Naturalmente, non è necessario. I parametri indicano la funzione principale di `tar`. In altre parole, è necessario scegliere uno dei tipi sopra elencati.
+```
+
+### Opzioni ausiliarie più comuni
+
+| opzione | Descrizione |
+| :-----: | :--------------------------------------------------------------------------------------------------------------------------------------------- |
+| `-z` | Usa `gzip` come tipo di compressione. E' applicabile sia per la creazione che l'estrazione degli archivi. |
+| `-v` | Visualizza i dettagli dell'elaborazione |
+| `-f` | Specifica il nome del file per l'archiviazione (compreso il suffisso del file) |
+| `-j` | Usa `bzip2` come tipo di compressione. E' applicabile sia per la creazione che l'estrazione degli archivi. |
+| `-J` | Utilizzare `xz` come tipo di compressione. E' applicabile sia per la creazione che l'estrazione degli archivi. |
+| `-C` | Salva la posizione dopo l'estrazione dei file dall'archivio |
+| `-P` | Salva utilizzando la modalità percorsi assoluti |
+
+Per altre opzioni ausiliarie non menzionate, vedere `man 1 tar`.
+
+!!! avviso "Differenza di versione"
+
+```
+In alcune vecchie versioni di tar, le opzioni sono indicate come "key", il che significa che l'uso di opzioni con il prefisso "-" può far sì che `tar` non funzioni come previsto. A questo punto, è necessario rimuovere il prefisso "-" per farlo funzionare correttamente.
+```
+
+### Dettaglio sugli stili dei parametri opzione
+
+`tar` fornisce tre stili dei parametri:
+
+1. Stile tradizionale:
+
+ - `tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]`.
+
+2. L'uso dello stile breve dei parametri è:
+
+ - `tar -A [OPTIONS] ARCHIVE ARCHIVE`
+ - `tar -c [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -d [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar -r [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -u [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+
+3. L'uso dello stile lungo dei parametri è:
+
+ - `tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE`
+ - `tar --create [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar --append [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]`
+ - `tar --update [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --update [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+
+Il secondo metodo è più comunemente usato ed è in linea con le abitudini della maggior parte degli utenti GNU/Linux.
+
+### Efficienza di compressione e frequenza di utilizzo
+
+`tar` non ha capacità di compressione, quindi deve essere usato con altri strumenti di compressione. La compressione e la decompressione influiscono sul consumo di risorse.
+
+Ecco una classifica della compressione di un insieme di file di testo, dalla meno efficiente alla più efficiente:
+
+- compress (`.tar.Z`) - meno popolare
+- gzip (`.tar.gz` or `.tgz`) - Popolare
+- bzip2 (`.tar.bz2` or `.tb2` or `.tbz`) - Popolare
+- lzip (`.tar.lz`) - meno popolare
+- xz (`.tar.xz`) - Popolare
+
+### Convenzioni nella nomenclatura di un `tar`
+
+Ecco alcuni esempi di convenzioni di nomenclatura per gli archivi `tar`:
+
+| Funzione principale e parametri ausiliari | Files | Suffisso | Funzionalità |
+| ----------------------------------------- | ------- | ---------------- | --------------------------------------------------------------- |
+| `-cvf` | `home` | `home.tar` | `/home` in modalità relativa, archiviato in forma non compressa |
+| `-cvfP` | `/etc` | `etc.A.tar` | `/etc` in modalità percorso assoluto, senza compressione |
+| `-cvfz` | `usr` | `usr.tar.gz` | `/usr` in modalità percorso relativo, compressione _gzip_ |
+| `-cvfj` | `usr` | `usr.tar.bz2` | `/usr` in modalità percorso relativo, compressione _bzip2_ |
+| `-cvfPz` | `/home` | `home.A.tar.gz` | `/home` in modalità percorso assoluto, compressione _gzip_ |
+| `-cvfPj` | `/home` | `home.A.tar.bz2` | `/home` in modalità percorso assoluto, compressione _bzip2_ |
+
+È anche possibile aggiungere la data al nome del file.
+
+### Esempi
+
+#### Casi con `-c`
+
+1. Archivia e comprime **/etc/** in modalità percorso relativo, con un suffisso `.tar.gz`:
+
+ ```bash
+ Shell > tar -czvf /tmp/etc-20241207.tar.gz /etc/
+ ```
+
+ Poiché `tar` lavora in modalità percorsi relativi per impostazione predefinita, la prima riga dell'output del comando mostrerà quanto segue:
+
+ ```bash
+ tar: Removing leading '/' from member names
+ ```
+
+2. Archiviazione di **/var/log/** e selezionare il tipo xz per la compressione:
+
+ ```bash
+ Shell > tar -cJvf /tmp/log-20241207.tar.xz /var/log/
+
+ Shell > du -sh /var/log/ ; ls -lh /tmp/log-20241207.tar.xz
+ 18M /var/log/
+ -rw-r--r-- 1 root root 744K Dec 7 14:40 /tmp/log-20241207.tar.xz
+ ```
+
+3. Stima delle dimensioni del file senza generare un archivio:
+
+ ```bash
+ Shell > tar -cJf - /etc | wc -c
+ tar: Removing leading `/' from member names
+ 3721884
+ ```
+
+ L'unità di misura del comando `wc -c` è il byte.
+
+4. Taglia i file \`.tar.gz' di grandi dimensioni:
+
+ ```bash
+ Shell > cd /tmp/ ; tar -czf - /etc/ | split -d -b 2M - etc-backup20241207.tar.gz.
+
+ Shell > ls -lh /tmp/
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.00
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.01
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.02
+ -rw-r--r-- 1 root root 70K Dec 7 20:46 etc-backup20241207.tar.gz.03
+ ```
+
+ Il primo “-” rappresenta i parametri di ingresso di `tar`, mentre il secondo “-” indica a `tar` di reindirizzare l'output a `stdout`.
+
+ Per estrarre questi piccoli file tagliati, si può puntare alla seguente operazione:
+
+ ```bash
+ Shell > cd /tmp/ ; cat etc-backup20241207.tar.gz.* >> /tmp/etc-backup-20241207.tar.gz
+
+ Shell > cd /tmp/ ; tar -xvf etc-backup-20241207.tar.gz -C /tmp/dir1/
+ ```
+
+#### Casi con '-x'
+
+1. Scaricate il codice sorgente di Redis ed estrarlo nella directory `/usr/local/src/`:
+
+ ```bash
+ Shell > wget -c https://github.com/redis/redis/archive/refs/tags/7.4.1.tar.gz
+
+ Shell > tar -xvf 7.4.1.tar.gz -C /usr/local/src/
+ ```
+
+2. Estrarre solo un file dal file zip dell'archivio:
+
+ ```bash
+ Shell > tar -xvf /tmp/etc-20241207.tar.gz etc/chrony.conf
+ ```
+
+#### Casi con '-A' o '-r'
+
+1. Aggiunge un file `.tar' a un altro file `.tar':
+
+ ```bash
+ Shell > tar -cvf /tmp/etc.tar /etc/
+
+ Shell > tar -cvf /tmp/log.tar /var/log/
+
+ Shell > tar -Avf /tmp/etc.tar /tmp/log.tar
+ ```
+
+ Ciò significa che tutti i file in “log.tar” saranno aggiunti alla fine di “etc.tar”.
+
+2. Aggiunge file o directory a un file `.tar`:
+
+ ```bash
+ Shell > tar -rvf /tmp/log.tar /etc/chrony.conf
+ tar: Removing leading `/' from member names
+ /etc/chrony.conf
+ tar: Removing leading `/' from hard link targets
+
+ Shell > tar -rvf /tmp/log.tar /tmp/dir1
+ ```
+
+!!! warning "Attenzione"
+
+```
+Sia che si utilizzi l'opzione `-A` o `-r`, considerare la modalità di salvataggio dei file di archivio pertinenti.
+```
+
+!!! warning "Attenzione"
+
+```
+`-A` e `-r` non sono applicabili ai file compressi archiviati.
+```
+
+#### Casi con '-t'
+
+1. Esaminare il contenuto dell'archivio:
+
+ ```bash
+ Shell > tar -tvf /tmp/log.tar
+
+ Shell > tar -tvf /tmp/etc-20241207.tar.gz | less
+ ```
+
+#### Casi con '-d'
+
+1. Confrontare le differenze:
+
+ ```bash
+ Shell > cd / ; tar -dvf /tmp/etc.tar etc/chrony.conf
+ etc/chrony.conf
+
+ Shell > cd / ; tar -dvf /tmp/etc-20241207.tar.gz etc/
+ ```
+
+ Per i metodi di archiviazione che usano la modalità percorsi relativi, quando si usa il tipo \`-d', cambiare il percorso del file in ‘/’.
+
+#### Casi con '-u'
+
+1. Se esistono più versioni dello stesso file, si può usare il parametro `-u`:
+
+ ```bash
+ Shell > touch /tmp/tmpfile1
+
+ Shell > tar -rvf /tmp/log.tar /tmp/tmpfile1
+
+ Shell > echo "File Name" >> /tmp/tmpfile1
+
+ Shell > tar -uvf /tmp/log.tar /tmp/tmpfile1
+
+ Shell > tar -tvf /tmp/log.tar
+ ...
+ -rw-r--r-- root/root 0 2024-12-07 18:53 tmp/tmpfile1
+ -rw-r--r-- root/root 10 2024-12-07 18:54 tmp/tmpfile1
+ ```
+
+#### Casi con '--delete'
+
+1. Si può anche usare `--delete` per cancellare i file all'interno di un file `.tar`.
+
+ ```bash
+ Shell > tar --delete -vf /tmp/log.tar tmp/tmpfile1
+
+ Shell > tar --delete -vf /tmp/etc.tar etc/motd.d/
+ ```
+
+ Quando si elimina, si eliminano tutti i file con lo stesso nome dall'archivio.
+
+## Terminologia comune
+
+Alcuni siti web riportano due termini:
+
+- **tarfile** - Si riferisce a file di archivio non compressi, come i file `.tar`.
+- **tarball** - Si riferisce a file di archivio compressi, come `.tar.gz` e `.tar.xz`.
diff --git a/docs/guides/backup/tar.md b/docs/guides/backup/tar.md
index 41bb996cd0..e4807f090c 100644
--- a/docs/guides/backup/tar.md
+++ b/docs/guides/backup/tar.md
@@ -1,7 +1,7 @@
---
title: tar command
author: tianci li
-contributors: Ganna Zhyrnova
+contributors: Ganna Zhyrnova, Steven Spencer
tested_with: 8.10
tags:
- tar
@@ -32,7 +32,7 @@ The `tar` currently used on modern GNU/Linux initially came from the [GNU Projec
When using `tar`, note that it has two saving modes:
* **Relative mode** (default): Remove the leading character '/' from the file. Even if you have added the file with an absolute path, `tar` will remove the leading character "/" in this mode.
-* **Absolute mode**: Keep the leading character '/' and include it in the file name. You need to use the `-P` option to enable this save mode. In this mode, you must represent all files as absolute paths. For security reasons, you should not use this save mode in most cases unless there are special scenario requirements.
+* **Absolute mode**: Keep the leading character '/' and include it in the filename. You need to use the `-P` option to enable this save mode. In this mode, you must represent all files as absolute paths. For security reasons, you should not use this save mode in most cases unless there are special scenario requirements.
When you use `tar,` you will encounter suffixes such as `.tar.gz`, `.tar.xz`, and `.tar.bz2`, which indicate that you create an archive first (categorizing related files as a single file) and then compress the file with the relevant compression type or algorithm.
@@ -42,16 +42,15 @@ The compression type or algorithm can be gzip, bzip2, xz, zstd, or another.
The usage of creating an archive and using compression is:
-* `tar [option] [PATH] [DIR1] ... [FILE1] ...`. For example `tar -czvf /tmp/Fullbackup-20241201.tar.gz /etc/ /var/log/`
+* `tar [option] [PATH] [DIR1] ... [FILE1] ...`. For example, `tar -czvf /tmp/Fullbackup-20241201.tar.gz /etc/ /var/log/`
The usage to extract a file from an archive is:
* `tar [option] [PATH] -C [dir]`. For example `tar -xzvf /tmp/Fullbackup-20241201.tar.gz -C /tmp/D1`
-!!! tip "antic"
+!!! tip
- When you extract files from archived files, `tar` automatically selects the compression type based on the manually added suffix. For example, for `.tar.gz` files, you can directly use `tar -vxf` without using `tar -zvxf`.
-You **must** select the compression type for creating archive compressed files.
+ When you extract files from archived files, `tar` automatically selects the compression type based on the manually added suffix. For example, for `.tar.gz` files, you can directly use `tar -vxf` without using `tar -zvxf`. You **must** select the compression type for creating archive compressed files.
!!! Note
@@ -72,23 +71,23 @@ You **must** select the compression type for creating archive compressed files.
!!! Tip
- The author recommends keeping the prefix "-" to preserve user habits regarding operation types. Of course, it won't be required. The operational parameters here indicate your primary function with `tar`. In other words, you need to choose one of the above types.
+ The author recommends keeping the prefix "-" to preserve user habits regarding operation types. It is not required. The operational parameters here indicate your primary function with `tar`. In other words, you need to choose one of the above types.
### Common auxiliary options
-| option | description |
-| :---: | :--- |
-| `-z` | Use `gzip` as its compression type. Both creating archives and extracting from archives are applicable |
-| `-v` | Displays detailed processing details |
-| `-f` | Specifies the file name for archiving (including file suffix) |
-| `-j` | Use `bzip2` as its compression type. Both creating archives and extracting from archives are applicable |
-| `-J` | Use `xz` as its compression type. Both creating archives and extracting from archives are applicable |
-| `-C` | Saves location after extracting files from the archive |
-| `-P` | Saves using the absolute mode |
+| option | description |
+|--------|---------------------------------------------------------------------------------------------------------|
+| `-z` | Use `gzip` as its compression type. Both creating archives and extracting from archives are applicable |
+| `-v` | Displays detailed processing details |
+| `-f` | Specifies the filename for archiving (including file suffix) |
+| `-j` | Use `bzip2` as its compression type. Both creating archives and extracting from archives are applicable |
+| `-J` | Use `xz` as its compression type. Both creating archives and extracting from archives are applicable |
+| `-C` | Saves location after extracting files from the archive |
+| `-P` | Saves using the absolute mode |
For other auxiliary options not mentioned, see `man 1 tar`
-!!! warning "Version difference"
+!!! warning "Version differences"
In some older versions of tar, option(s) are referred to as "key(s)", which means that using options with a "-" prefix may cause the `tar` not to work as expected. At this point, you need to remove the "-" prefix to make it work properly.
@@ -123,11 +122,11 @@ For other auxiliary options not mentioned, see `man 1 tar`
* `tar --update [-f ARCHIVE] [OPTIONS] [FILE...]`
* `tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]`
-The second method is more commonly used and is in line with the habits of most GNU/Linux users.
+The second method is more commonly used by most GNU/Linux users.
### Compression efficiency and frequency of use
-`tar` does not have compression capabilities, so it must be used with other compression tools. Compression and decompression will impact resource consumption.
+`tar` does not have compression capabilities, so you must use it with other compression tools. Compression and decompression will impact resource consumption.
Here is a ranking of the compression of a set of text files from least to most efficient:
@@ -150,7 +149,7 @@ Here are examples of naming conventions for `tar` archives:
| `-cvfPz` | `/home` | `home.A.tar.gz` | `/home` in absolute mode, *gzip* compression |
| `-cvfPj` | `/home` | `home.A.tar.bz2` | `/home` in absolute mode, *bzip2* compression |
-You may also add the date to the filename.
+You might also add the date to the filename.
### Example of use
@@ -238,7 +237,7 @@ You may also add the date to the filename.
Shell > tar -Avf /tmp/etc.tar /tmp/log.tar
```
- This means that all files in "log.tar" will be appended to the end of "etc.tar".
+ This means that all files in "log.tar" will append to the end of "etc.tar".
2. Append files or directories to a `.tar` file:
diff --git a/docs/guides/backup/tar.uk.md b/docs/guides/backup/tar.uk.md
index 0ede3c7782..b5a5ac26e1 100644
--- a/docs/guides/backup/tar.uk.md
+++ b/docs/guides/backup/tar.uk.md
@@ -2,7 +2,7 @@
title: Команда tar
author: tianci li
contributors: Ganna Zhyrnova
-tested_with: 8.1
+tested_with: 8.10
tags:
- tar
- резервне копіювання
@@ -74,7 +74,7 @@ Shell > tar --show-defaults
| `-x` | Виписка з архіву. Дуже часто використовується |
| `--delete` | Видаляє файли або каталоги з архіву ".tar". Застосовується лише до архівних нестиснутих файлів типу `.tar` |
-!!! tip "Порада"
+!!! Tip "Порада"
```
Що стосується типів операцій, автор рекомендує залишити префікс «-» для збереження звичок користувача. Звичайно, це не обов'язково. Операційні параметри тут вказують на вашу основну функцію з tar. Іншими словами, вам потрібно вибрати один з перерахованих вище типів.
@@ -106,30 +106,30 @@ Shell > tar --show-defaults
1. Традиційний стиль:
- - `tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]`.
+ - `tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]`.
2. Використання стилю короткого варіанту:
- - `tar -A [OPTIONS] ARCHIVE ARCHIVE`
- - `tar -c [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar -d [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]`
- - `tar -r [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar -u [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar -A [OPTIONS] ARCHIVE ARCHIVE`
+ - `tar -c [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -d [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar -r [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -u [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]`
3. Використання стилю довгого варіанту:
- - `tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE`
- - `tar --create [--file ARCHIVE] [OPTIONS] [FILE...]`
- - `tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]`
- - `tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]`
- - `tar --append [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]`
- - `tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]`
- - `tar --update [--file ARCHIVE] [OPTIONS] [FILE...]`
- - `tar --update [-f ARCHIVE] [OPTIONS] [FILE...]`
- - `tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE`
+ - `tar --create [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar --append [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]`
+ - `tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]`
+ - `tar --update [--file ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar --update [-f ARCHIVE] [OPTIONS] [FILE...]`
+ - `tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]`
Другий метод є більш поширеним і відповідає звичкам більшості користувачів GNU/Linux.
@@ -166,98 +166,98 @@ Shell > tar --show-defaults
1. Архівуйте та стискайте **/etc/** у відносному режимі з суфіксом `.tar.gz`:
- ```bash
- Shell > tar -czvf /tmp/etc-20241207.tar.gz /etc/
- ```
+ ```bash
+ Shell > tar -czvf /tmp/etc-20241207.tar.gz /etc/
+ ```
- Через те, що `tar` за замовчуванням працює у відносному режимі, перший рядок виводу команди відображатиме наступне:
+ Через те, що `tar` за замовчуванням працює у відносному режимі, перший рядок виводу команди відображатиме наступне:
- ```bash
- tar: Removing leading '/' from member names
- ```
+ ```bash
+ tar: Removing leading '/' from member names
+ ```
2. Архівуйте **/var/log/** і виберіть тип xz для стиснення:
- ```bash
- Shell > tar -cJvf /tmp/log-20241207.tar.xz /var/log/
+ ```bash
+ Shell > tar -cJvf /tmp/log-20241207.tar.xz /var/log/
- Shell > du -sh /var/log/ ; ls -lh /tmp/log-20241207.tar.xz
- 18M /var/log/
- -rw-r--r-- 1 root root 744K Dec 7 14:40 /tmp/log-20241207.tar.xz
- ```
+ Shell > du -sh /var/log/ ; ls -lh /tmp/log-20241207.tar.xz
+ 18M /var/log/
+ -rw-r--r-- 1 root root 744K Dec 7 14:40 /tmp/log-20241207.tar.xz
+ ```
3. Оцініть розмір файлу без створення архіву:
- ```bash
- Shell > tar -cJf - /etc | wc -c
- tar: Removing leading `/' from member names
- 3721884
- ```
+ ```bash
+ Shell > tar -cJf - /etc | wc -c
+ tar: Removing leading `/' from member names
+ 3721884
+ ```
- Одиницею виведення команди `wc -c` є байти.
+ Одиницею виведення команди `wc -c` є байти.
4. Виріжте великі файли `.tar.gz`:
- ```bash
- Shell > cd /tmp/ ; tar -czf - /etc/ | split -d -b 2M - etc-backup20241207.tar.gz.
+ ```bash
+ Shell > cd /tmp/ ; tar -czf - /etc/ | split -d -b 2M - etc-backup20241207.tar.gz.
- Shell > ls -lh /tmp/
- -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.00
- -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.01
- -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.02
- -rw-r--r-- 1 root root 70K Dec 7 20:46 etc-backup20241207.tar.gz.03
- ```
+ Shell > ls -lh /tmp/
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.00
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.01
+ -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.02
+ -rw-r--r-- 1 root root 70K Dec 7 20:46 etc-backup20241207.tar.gz.03
+ ```
- Перший «-» представляє вхідні параметри `tar`, тоді як другий «-» повідомляє `tar` перенаправити вихід на `stdout`.
+ Перший «-» представляє вхідні параметри `tar`, тоді як другий «-» повідомляє `tar` перенаправити вихід на `stdout`.
- Щоб витягнути ці вирізані невеликі файли, ви можете вказати таку операцію:
+ Щоб витягнути ці вирізані невеликі файли, ви можете вказати таку операцію:
- ```bash
- Shell > cd /tmp/ ; cat etc-backup20241207.tar.gz.* >> /tmp/etc-backup-20241207.tar.gz
+ ```bash
+ Shell > cd /tmp/ ; cat etc-backup20241207.tar.gz.* >> /tmp/etc-backup-20241207.tar.gz
- Shell > cd /tmp/ ; tar -xvf etc-backup-20241207.tar.gz -C /tmp/dir1/
- ```
+ Shell > cd /tmp/ ; tar -xvf etc-backup-20241207.tar.gz -C /tmp/dir1/
+ ```
#### Тип `-x`
1. Завантажте вихідний код Redis і розпакуйте його в каталог `/usr/local/src/`:
- ```bash
- Shell > wget -c https://github.com/redis/redis/archive/refs/tags/7.4.1.tar.gz
+ ```bash
+ Shell > wget -c https://github.com/redis/redis/archive/refs/tags/7.4.1.tar.gz
- Shell > tar -xvf 7.4.1.tar.gz -C /usr/local/src/
- ```
+ Shell > tar -xvf 7.4.1.tar.gz -C /usr/local/src/
+ ```
2. Розпакуйте лише один файл із zip-архіву
- ```bash
- Shell > tar -xvf /tmp/etc-20241207.tar.gz etc/chrony.conf
- ```
+ ```bash
+ Shell > tar -xvf /tmp/etc-20241207.tar.gz etc/chrony.conf
+ ```
#### Тип -A або -r
1. Додайте один файл `.tar` до іншого файлу `.tar`:
- ```bash
- Shell > tar -cvf /tmp/etc.tar /etc/
+ ```bash
+ Shell > tar -cvf /tmp/etc.tar /etc/
- Shell > tar -cvf /tmp/log.tar /var/log/
+ Shell > tar -cvf /tmp/log.tar /var/log/
- Shell > tar -Avf /tmp/etc.tar /tmp/log.tar
- ```
+ Shell > tar -Avf /tmp/etc.tar /tmp/log.tar
+ ```
- Це означає, що всі файли в "log.tar" будуть додані в кінець "etc.tar".
+ Це означає, що всі файли в "log.tar" будуть додані в кінець "etc.tar".
2. Додайте файли або каталоги до файлу `.tar`:
- ```bash
- Shell > tar -rvf /tmp/log.tar /etc/chrony.conf
- tar: Removing leading `/' from member names
- /etc/chrony.conf
- tar: Removing leading `/' from hard link targets
+ ```bash
+ Shell > tar -rvf /tmp/log.tar /etc/chrony.conf
+ tar: Removing leading `/' from member names
+ /etc/chrony.conf
+ tar: Removing leading `/' from hard link targets
- Shell > tar -rvf /tmp/log.tar /tmp/dir1
- ```
+ Shell > tar -rvf /tmp/log.tar /tmp/dir1
+ ```
!!! warning "Важливо"
@@ -275,55 +275,55 @@ Shell > tar --show-defaults
1. Перегляньте вміст архіву:
- ```bash
- Shell > tar -tvf /tmp/log.tar
+ ```bash
+ Shell > tar -tvf /tmp/log.tar
- Shell > tar -tvf /tmp/etc-20241207.tar.gz | less
- ```
+ Shell > tar -tvf /tmp/etc-20241207.tar.gz | less
+ ```
#### тип `-d`
1. Порівняйте відмінності файлів:
- ```bash
- Shell > cd / ; tar -dvf /tmp/etc.tar etc/chrony.conf
- etc/chrony.conf
+ ```bash
+ Shell > cd / ; tar -dvf /tmp/etc.tar etc/chrony.conf
+ etc/chrony.conf
- Shell > cd / ; tar -dvf /tmp/etc-20241207.tar.gz etc/
- ```
+ Shell > cd / ; tar -dvf /tmp/etc-20241207.tar.gz etc/
+ ```
- Для методів зберігання, які використовують відносний режим, при використанні типу `-d` змініть шлях до файлу на '/'.
+ Для методів зберігання, які використовують відносний режим, при використанні типу `-d` змініть шлях до файлу на '/'.
#### тип `-u`
1. Якщо існує кілька версій одного файлу, ви можете використовувати тип `-u`:
- ```bash
- Shell > touch /tmp/tmpfile1
+ ```bash
+ Shell > touch /tmp/tmpfile1
- Shell > tar -rvf /tmp/log.tar /tmp/tmpfile1
+ Shell > tar -rvf /tmp/log.tar /tmp/tmpfile1
- Shell > echo "File Name" >> /tmp/tmpfile1
+ Shell > echo "File Name" >> /tmp/tmpfile1
- Shell > tar -uvf /tmp/log.tar /tmp/tmpfile1
+ Shell > tar -uvf /tmp/log.tar /tmp/tmpfile1
- Shell > tar -tvf /tmp/log.tar
- ...
- -rw-r--r-- root/root 0 2024-12-07 18:53 tmp/tmpfile1
- -rw-r--r-- root/root 10 2024-12-07 18:54 tmp/tmpfile1
- ```
+ Shell > tar -tvf /tmp/log.tar
+ ...
+ -rw-r--r-- root/root 0 2024-12-07 18:53 tmp/tmpfile1
+ -rw-r--r-- root/root 10 2024-12-07 18:54 tmp/tmpfile1
+ ```
#### Тип `--delete`
1. Ви також можете використовувати `--delete`, щоб видалити файли всередині `.tar` файлу.
- ```bash
- Shell > tar --delete -vf /tmp/log.tar tmp/tmpfile1
+ ```bash
+ Shell > tar --delete -vf /tmp/log.tar tmp/tmpfile1
- Shell > tar --delete -vf /tmp/etc.tar etc/motd.d/
- ```
+ Shell > tar --delete -vf /tmp/etc.tar etc/motd.d/
+ ```
- При видаленні ви видаляєте з архіву всі файли з однаковою назвою.
+ При видаленні ви видаляєте з архіву всі файли з однаковою назвою.
## Загальноприйнята термінологія
diff --git a/docs/guides/cloud/migration-to-new-azure-images.it.md b/docs/guides/cloud/migration-to-new-azure-images.it.md
new file mode 100644
index 0000000000..ea9049bd97
--- /dev/null
+++ b/docs/guides/cloud/migration-to-new-azure-images.it.md
@@ -0,0 +1,88 @@
+---
+title: Migrazione a Nuove Immagini Azure
+author: Neil Hanlon
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - cloud
+ - azure
+ - microsoft azure
+ - deprecation
+---
+
+!!! info “Vecchie immagini di accunt pubblicati deprecate da aprile 2024”
+
+```
+Un publishing account Microsoft è un account del marketplace Azure che consente agli sviluppatori di pubblicare le proprie offerte su Microsoft AppSource o Azure Marketplace.
+RESF fornisce immagini di macchine virtuali Rocky Linux sotto due account di pubblishing separati in Azure: un account legacy identificato come `erockyenterprisesoftwarefoundationinc1653071250513` e un account ufficiale più recente chiamato `resf`.
+Le immagini pubblicate con l'account di pubblicazione legacy (`erockyenterprisesoftwarefoundationinc1653071250513`) sono state contrassegnate per l'abbandono il 23 aprile 2024, con un periodo di 180 giorni (6 mesi) prima che non possano più essere utilizzate.
+
+Per continuare a utilizzare Rocky Linux su Azure, è necessario seguire questa guida per migrare al nuovo account di pubblicazione (`resf`) o alle nuove immagini Community Galleries.
+```
+
+# Guida alla migrazione: Transizione a nuove immagini Rocky Linux su Azure
+
+Questa guida fornisce i passaggi dettagliati per la migrazione delle macchine virtuali (VM) Azure dalle immagini Rocky Linux deprecate alle nuove immagini con l'account editore `resf` o utilizzando le Community Galleries. Seguendo questa guida, la transizione avverrà senza problemi e con il minimo disturbo.
+
+## Prima di iniziare
+
+- Assicurarsi di avere un backup aggiornato della macchina virtuale. Anche se il processo di migrazione non dovrebbe avere ripercussioni sui dati, un backup è la prassi migliore per qualsiasi modifica del sistema.
+- Verificare di disporre delle autorizzazioni necessarie per creare nuove macchine virtuali e gestire quelle esistenti nel proprio account Azure.
+
+## Passo 1: Individuare le macchine virtuali esistenti
+
+Identificare le macchine virtuali distribuite con le vecchie immagini Rocky Linux. È possibile farlo filtrando le macchine virtuali con il nome dell'account del vecchio publisher:
+
+```text
+erockyenterprisesoftwarefoundationinc1653071250513`
+```
+
+## Passo 2: preparare una nuova macchina virtuale
+
+1. **Navigare** nel Azure Marketplace.
+2. **Cercate** le nuove immagini di Rocky Linux con l'account dell'editore `resf` o accedete alle Community Galleries.
+ - Attuali Link Marketplace:
+ - [Rocky Linux x86_64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-x86_64)
+ - [Rocky Linux aarch64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-aarch64)
+ - Le istruzioni complete per accedere alle immagini della Community Gallery si trovano in questo [post di notizie](https://rockylinux.org/news/rocky-on-azure-community-gallery/).
+3. **Selezionare** la versione di Rocky Linux desiderata e **creare una nuova VM**. Durante la configurazione, è possibile scegliere la stessa dimensione della macchina virtuale e altre configurazioni della macchina virtuale esistente per garantire la compatibilità.
+
+## Fase 3: Trasferimento dei dati
+
+### Opzione A: Utilizzo di dischi gestiti da Azure (consigliato per semplicità)
+
+1. **Arrestare** la macchina virtuale esistente.
+2. **Detach** il disco del sistema operativo dalla macchina virtuale esistente.
+3. **Attach** il disco alla nuova macchina virtuale come disco dati.
+4. **Boot** la nuova macchina virtuale. Se necessario, è possibile montare il vecchio disco OS e copiare i dati sul nuovo disco.
+
+### Opzione B: Utilizzo di strumenti di trasferimento dei dati (per ambienti complessi o esigenze specifiche)
+
+1. **Selezionare** uno strumento di trasferimento dati come `rsync` o Azure Blob Storage per trasferire i dati.
+2. **Trasferire** i dati dalla vecchia VM alla nuova VM. Questo potrebbe includere i dati delle applicazioni, le configurazioni e i dati degli utenti.
+
+```bash
+# Esempio con comando rsync
+rsync -avzh /path/to/old_VM_data/ user@new_VM_IP:/path/to/new_VM_destination/
+```
+
+## Passo 4: riconfigurare la nuova macchina virtuale
+
+1. **Riapplicare** alla nuova macchina virtuale tutte le configurazioni o gli adattamenti personalizzati presenti sulla vecchia macchina virtuale, assicurandosi che corrispondano alla configurazione dell'ambiente prevista.
+2. **Testare** la nuova macchina virtuale per verificare che le applicazioni e i servizi funzionino come previsto.
+
+## Fase 5: Aggiornamento dei record DNS (se applicabile)
+
+Se si accede alla macchina virtuale con un dominio specifico, è necessario aggiornare i record DNS per puntare all'indirizzo IP della nuova macchina virtuale.
+
+## Passo 6: Disattivazione della vecchia macchina virtuale
+
+Dopo aver confermato che la nuova macchina virtuale funziona correttamente e aver spostato tutti i dati e le configurazioni necessarie, è possibile **deallocare ed eliminare** la vecchia macchina virtuale.
+
+## Fasi finali
+
+- Verificare che tutti i servizi della nuova macchina virtuale funzionino come previsto.
+- Monitorare le prestazioni e lo stato di salute della nuova macchina virtuale per assicurarsi che soddisfi le proprie esigenze.
+
+## Supporto
+
+L'assistenza è disponibile in caso di problemi durante la migrazione o di domande. Visitare [canali di supporto Rocky Linux](https://wiki.rockylinux.org/rocky/support/) per ricevere assistenza.
diff --git a/docs/guides/cloud/migration-to-new-azure-images.uk.md b/docs/guides/cloud/migration-to-new-azure-images.uk.md
index 858cf50ff5..7b1412b145 100644
--- a/docs/guides/cloud/migration-to-new-azure-images.uk.md
+++ b/docs/guides/cloud/migration-to-new-azure-images.uk.md
@@ -40,10 +40,10 @@ erockyenterprisesoftwarefoundationinc1653071250513`
1. **Перейдіть** до Azure Marketplace.
2. **Шукайте** нові зображення Rocky Linux під обліковим записом видавця `resf` або перейдіть до Галереї спільноти.
- - Поточні посилання на Marketplace:
- - [Rocky Linux x86_64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-x86_64)
- - [Rocky Linux aarch64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-aarch64)
- - Повні інструкції щодо доступу до зображень спільнотної галереї можна знайти в цій [повідомленні новин](https://rockylinux.org/news/rocky-on-azure-community-gallery/)
+ - Поточні посилання на Marketplace:
+ - [Rocky Linux x86_64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-x86_64)
+ - [Rocky Linux aarch64](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/resf.rockylinux-aarch64)
+ - Повні інструкції щодо доступу до зображень спільнотної галереї можна знайти в цій [повідомленні новин](https://rockylinux.org/news/rocky-on-azure-community-gallery/)
3. **Виберіть** потрібну версію Rocky Linux і **створіть нову віртуальну машину**. Під час налаштування ви можете вибрати той самий розмір віртуальної машини та інші конфігурації, що й ваша існуюча віртуальна машина, щоб забезпечити сумісність.
## Крок 3: Передайте дані
diff --git a/docs/guides/cms/chyrp_lite.it.md b/docs/guides/cms/chyrp_lite.it.md
new file mode 100644
index 0000000000..57fc55b219
--- /dev/null
+++ b/docs/guides/cms/chyrp_lite.it.md
@@ -0,0 +1,156 @@
+---
+title: Chyrp Lite
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.5
+tags:
+ - cms
+ - blogging
+---
+
+## Introduzione
+
+[Chyrp Lite](https://chyrplite.net/) è un motore di blogging ultraleggero scritto in PHP.
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Familiarità con un editor a riga di comando. L'autore utilizza `vi` o `vim`, ma è possibile sostituirli con il proprio editor preferito
+
+## Installare Caddy
+
+Si utilizzerà Caddy come server web. Per installare Caddy, è necessario prima installare EPEL (Extra Packages for Enterprise Linux) ed eseguire gli aggiornamenti:
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Quindi installare Caddy:
+
+```bash
+dnf -y install caddy
+```
+
+Successivamente, aprire 'Caddyfile'
+
+```bash
+vi /etc/caddy/Caddyfile
+```
+
+Aggiungere il codice a seguire nel file 'Caddyfile':
+
+```bash
+your.domain.name {
+ root * /var/www/chyrp-lite
+ file_server
+ php_fastcgi 127.0.0.1:9000
+}
+```
+
+Salvare il file con `:wq!` e poi aprire le porte del firewall corrispondenti:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+sudo firewall-cmd --reload
+```
+
+Infine, avviare Caddy:
+
+```bash
+systemctl enable --now caddy
+```
+
+## Installazione di PHP
+
+!!! note
+
+```
+Se state utilizzando Rocky Linux 8.x o 10.x, sostituite “8” o “10” accanto alla release nella riga di installazione del pacchetto Remi.
+```
+
+Per installare PHP, è necessario il repository Remi. Per installare il repository Remi, eseguire quanto segue:
+
+```bash
+dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
+```
+
+Quindi installare PHP e i moduli necessari:
+
+```bash
+dnf install -y php83-php php83-php-session php83-php-json php83-php-ctype php83-php-filter php83-php-libxml php83-php-simplexml php83-php-mbstring php83-php-pdo php83-php-curl
+```
+
+Quindi, aprire il file di configurazione di PHP:
+
+```bash
+vi /etc/opt/remi/php83/php-fpm.d/www.conf
+```
+
+Andate alla riga `listen =` e impostatela come segue:
+
+```bash
+listen = 127.0.0.1:9000
+```
+
+Uscire da `vi` con `:wq!` e abilitare PHP:
+
+```bash
+systemctl enable --now php83-php-fpm.service
+```
+
+## Installazione di `Chyrp`
+
+Ora, si procede all'installazione Chyrp Lite. Scaricare l'ultima versione:
+
+```bash
+cd /var/www
+wget https://github.com/xenocrat/chyrp-lite/archive/refs/tags/v2024.03.zip
+```
+
+Successivamente, decomprimere e spostare la cartella estratta:
+
+```bash
+unzip v2024.03.zip
+mv chyrp-lite-2024.03/ chyrp-lite
+```
+
+Impostare i permessi corretti sulla cartella `chyrp-lite`:
+
+```bash
+chown -R apache:apache chyrp-lite/
+```
+
+Impostare una directory di archiviazione dei dati per il database SQLite:
+
+```bash
+mkdir chyrp-lite-data
+chown -R apache:apache chyrp-lite-data/
+```
+
+Quindi, impostare i contesti dei file SELinux:
+
+```bash
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/chyrp-lite(/.*)?"
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/chyrp-lite-data(/.*)?"
+restorecon -Rv /var/www/chyrp-lite
+restorecon -Rv /var/www/chyrp-lite-data
+```
+
+Su una machine client, aprire un browser Web su `https://example.com/install.php` ed eseguire il programma di installazione (sostituire `example.com` con il proprio nome di dominio o hostname):
+
+
+
+Nella sezione **Database**, selezionare un percorso nella cartella `chyrp-lite-data` creata in precedenza, ad esempio `/var/www/chyrp-lite-data/sqlite.db`.
+
+Compilare quindi gli altri campi, che dovrebbero essere di facile comprensione.
+
+Quindi, fare clic su **Install me** e poi su **Take me to my site**. A questo punto si dovrebbe essere in grado di visitare l'installazione completata del sito Chyrp:
+
+
+
+## Conclusione
+
+Considerando che WordPress si è evoluto come coltellino svizzero dello sviluppo web, non sorprende che alcuni webmaster (compreso l'autore) preferiscano un motore di blogging leggero. Chyrp Lite è perfetto per questi utenti.
diff --git a/docs/guides/cms/chyrp_lite.md b/docs/guides/cms/chyrp_lite.md
index a31a14a77b..6d9ed22932 100644
--- a/docs/guides/cms/chyrp_lite.md
+++ b/docs/guides/cms/chyrp_lite.md
@@ -67,7 +67,7 @@ systemctl enable --now caddy
!!! note
- If you are running Rocky Linux 8.x, substitute "8" next to the release in the Remi package install line.
+ If you are running Rocky Linux 8.x or 10.x, substitute "8" or "10" next to the release in the Remi package install line.
To install PHP, you will need the Remi repository. To install the Remi repository, run the following:
diff --git a/docs/guides/cms/chyrp_lite.uk.md b/docs/guides/cms/chyrp_lite.uk.md
index dd4d6d3c3e..1e998d1adf 100644
--- a/docs/guides/cms/chyrp_lite.uk.md
+++ b/docs/guides/cms/chyrp_lite.uk.md
@@ -16,8 +16,8 @@ tags:
Нижче наведено мінімальні вимоги для використання цієї процедури:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
-- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
+- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі
## Встановлення Caddy
@@ -68,7 +68,7 @@ systemctl enable --now caddy
!!! note "Примітка"
```
-Якщо ви використовуєте Rocky Linux 8.x, замініть вісім біля випуску в рядку встановлення пакета Remi.
+Якщо ви використовуєте Rocky Linux 8.x або 10.х, замініть "8" або "10" біля випуску в рядку встановлення пакета Remi.
```
Щоб встановити PHP, вам знадобиться репозиторій Remi. Щоб встановити репозиторій Remi, виконайте наступне:
diff --git a/docs/guides/cms/cloud_server_using_nextcloud.it.md b/docs/guides/cms/cloud_server_using_nextcloud.it.md
index 2c181c6094..f94ac45669 100644
--- a/docs/guides/cms/cloud_server_using_nextcloud.it.md
+++ b/docs/guides/cms/cloud_server_using_nextcloud.it.md
@@ -10,20 +10,20 @@ tags:
# Server Cloud con Nextcloud
-!!! note "Riguardo a Rocky Linux 9.x"
+!!! note "Riguardo a Rocky Linux 9.x o 10.x"
- Questa procedura dovrebbe funzionare per Rocky Linux 9.x. La differenza è che potrebbe essere necessario cambiare i riferimenti di versione per alcuni repository per aggiornarli alla versione 9. Se state usando Rocky Linux 9.x, sappiate che questo è stato testato sia con la 8.6 che con la 9.0, ma è stato scritto originariamente per la 8.6.
+ Questa procedura dovrebbe funzionare per Rocky Linux 9.x o 10.x. La differenza è che potrebbe essere necessario cambiare i riferimenti di versione per alcuni repository per aggiornarli alla versione 9 o 10. Se state usando Rocky Linux 9.x o 10.x, sappiate che questo è stato testato sia con la 8.6 che con la 9.0, ma è stato scritto originariamente per la 8.6.
## Prerequisiti E Presupposti
-* Server con Rocky Linux (è possibile installare Nextcloud su qualsiasi distribuzione Linux, ma questa procedura presuppone l'utilizzo di Rocky).
-* Un elevato grado di comfort nell'operare dalla riga di comando per l'installazione e la configurazione.
-* Conoscenza di un editor a riga di comando. Per questo esempio utilizziamo _vi_, ma potete usare il vostro editor preferito, se ne avete uno.
-* Anche se Nextcloud può essere installato tramite un'applicazione snap, documenteremo solo l'installazione del file .zip.
-* Per l'impostazione delle directory applicheremo i concetti del documento Apache "sites enabled" (a cui si rimanda in basso).
-* Utilizzeremo anche la procedura di hardening di _mariadb-server_ (anch'essa linkata più avanti) per la configurazione del database.
-* In questo documento si presuppone che siate root, o che possiate esserlo usando _sudo_.
-* Nella configurazione utilizziamo un dominio di esempio, "yourdomain.com".
+- Server con Rocky Linux (è possibile installare Nextcloud su qualsiasi distribuzione Linux, ma questa procedura presuppone l'utilizzo di Rocky).
+- Un elevato grado di comfort nell'operare dalla riga di comando per l'installazione e la configurazione.
+- Conoscenza di un editor a riga di comando. Per questo esempio utilizziamo _vi_, ma potete usare il vostro editor preferito, se ne avete uno.
+- Anche se Nextcloud può essere installato tramite un'applicazione snap, documenteremo solo l'installazione del file .zip.
+- Per l'impostazione delle directory applicheremo i concetti del documento Apache _sites enabled_ (a cui si rimanda in basso).
+- Utilizzeremo anche la procedura di hardening di _mariadb-server_ (anch'essa linkata più avanti) per la configurazione del database.
+- In questo documento si presuppone che siate root, o che possiate esserlo usando _sudo_.
+- Nella configurazione utilizziamo un dominio di esempio .
## Introduzione
@@ -33,26 +33,25 @@ Riportare il cloud nel proprio ambiente è un modo per recuperare la sicurezza d
Nextcloud offre un cloud open source che tiene conto della sicurezza e della flessibilità. Si noti che la creazione di un server Nextcloud è un buon esercizio, anche se alla fine si sceglie di portare il cloud fuori sede. La procedura seguente riguarda l'impostazione di Nextcloud su Rocky Linux.
-
## Installazione di Nextcloud
### Installazione e configurazione di Repository e Moduli
-Per questa installazione sono necessari due repository. È necessario installare EPEL (Extra Packages for Enterprise Linux) e il repository Remi per PHP 8.0
+Per questa installazione sono necessari due repository. È necessario installare EPEL (Extra Packages for Enterprise Linux) e il repository Remi per PHP 8.3
!!! note "Nota"
- È richiesta una versione minima di PHP 7.3 o 7.4 e la versione Rocky Linux 7.4 non contiene tutti i pacchetti necessari a Nextcloud. Utilizzeremo invece PHP 8.0 dal repository Remi.
+ È richiesta una versione minima di PHP 7.3 o 7.4 e la versione Rocky Linux 7.4 non contiene tutti i pacchetti necessari a Nextcloud. Utilizzeremo invece PHP 8.3 dal repository Remi.
Per installare EPEL esegui:
-```
+```bash
dnf install epel-release
```
-Per installare il repository Remi eseguire (nota: se si sta usando Rocky Linux 9.x, sostituire 9 dopo "release-"):
+Per installare il repository Remi, eseguite (nota: se state usando Rocky Linux 9.x o 10.x, sostituite 9 o 10 accanto a `release`):
-```
+```bash
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
```
@@ -60,13 +59,13 @@ Quindi eseguire nuovamente `dnf upgrade`.
Eseguire il seguente comando per visualizzare l'elenco dei moduli php che possono essere abilitati:
-```
+```bash
dnf module list php
```
-che fornisce questo risultato per Rocky Linux 8.x (un risultato simile verrà mostrato per Rocky Linux 9.x):
+che fornisce questo risultato per Rocky Linux 8.x (un risultato simile verrà mostrato per Rocky Linux 9.x o 10.x):
-```
+```bash
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
@@ -80,33 +79,35 @@ php remi-7.3 common [d], devel, minimal
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
+php remi-8.2 common [d], devel, minimal PHP scripting language
+php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```
-Vogliamo prendere il PHP più recente con cui Nextcloud è compatibile, che in questo momento è l'8.0, quindi abiliteremo il modulo:
+Vogliamo prendere il PHP più recente con cui Nextcloud è compatibile, che in questo momento è l'8.3, quindi abiliteremo il modulo:
-```
-dnf module enable php:remi-8.0
+```bash
+dnf module enable php:remi-8.3
```
-Per vedere come cambia l'output dell'elenco dei moduli, eseguite di nuovo il comando module list e vedrete la scritta "[e]" accanto a 8.0:
+Per vedere come cambia l'output dell'elenco dei moduli, eseguite di nuovo il comando module list e vedrete la scritta "[e]" accanto a 8.3:
-```
+```bash
dnf module list php
```
L'output è di nuovo lo stesso, tranne che per questa riga:
-```
-php remi-8.0 [e] common [d], devel, minimal PHP scripting language
+```bash
+php remi-8.3 [e] common [d], devel, minimal PHP scripting language
```
### Installazione dei Pacchetti
Il nostro esempio utilizza Apache e mariadb, quindi per installare ciò di cui abbiamo bisogno, dobbiamo semplicemente procedere come segue:
-```
-dnf install httpd mariadb-server vim wget zip unzip libxml2 openssl php81-php php81-php-ctype php81-php-curl php81-php-gd php81-php-iconv php81-php-json php81-php-libxml php81-php-mbstring php81-php-openssl php81-php-posix php81-php-session php81-php-xml php81-php-zip php81-php-zlib php81-php-pdo php81-php-mysqlnd php81-php-intl php81-php-bcmath php81-php-gmp
+```bash
+dnf install httpd mariadb-server vim wget zip unzip libxml2 openssl php83-php php83-php-ctype php83-php-curl php83-php-gd php83-php-iconv php83-php-json php83-php-libxml php83-php-mbstring php83-php-openssl php83-php-posix php83-php-session php83-php-xml php83-php-zip php83-php-zlib php83-php-pdo php83-php-mysqlnd php83-php-intl php83-php-bcmath php83-php-gmp
```
### Configurazione
@@ -115,29 +116,29 @@ dnf install httpd mariadb-server vim wget zip unzip libxml2 openssl php81-php ph
Impostare l'avvio di _apache_ all'avvio del sistema:
-```
+```bash
systemctl enable httpd
```
Poi avviatelo:
-```
+```bash
systemctl start httpd
```
#### Creare la Configurazione
-Nella sezione "Prerequisiti e presupposti" abbiamo detto che per la nostra configurazione utilizzeremo la procedura [Apache Sites Enabled](../web/apache-sites-enabled.md). Fate clic su quella procedura e impostate le basi lì, quindi tornate a questo documento per continuare.
+Nella sezione _Prerequisiti e presupposti_, abbiamo detto che per la nostra configurazione utilizzeremo la procedura [Apache Sites Enabled](../web/apache-sites-enabled.md). Fate clic su quella procedura e impostate le basi lì, quindi tornate a questo documento per continuare.
Per Nextcloud, è necessario creare il seguente file di configurazione.
-```
+```bash
vi /etc/httpd/sites-available/com.yourdomain.nextcloud
```
Il file di configurazione dovrebbe essere simile a questo:
-```
+```bash
DocumentRoot /var/www/sub-domains/com.yourdomain.nextcloud/html/
ServerName nextcloud.yourdomain.com
@@ -152,11 +153,11 @@ Il file di configurazione dovrebbe essere simile a questo:
```
-Al termine, salvare le modifiche (con `SHIFT:wq!` per _vi_).
+Una volta fatto, salvate le modifiche (con ++shift+colon+"w "+"q "+exclam++ per _vi_).
Quindi, creare un collegamento a questo file in /etc/httpd/sites-enabled:
-```
+```bash
ln -s /etc/httpd/sites-available/com.yourdomain.nextcloud /etc/httpd/sites-enabled/
```
@@ -164,36 +165,35 @@ ln -s /etc/httpd/sites-available/com.yourdomain.nextcloud /etc/httpd/sites-enabl
Come indicato nella configurazione precedente, è necessario creare la _DocumentRoot_. Questo può essere fatto da:
-```
+```bash
mkdir -p /var/www/sub-domains/com.yourdomain.com/html
```
È qui che verrà installata la nostra istanza Nextcloud.
-
#### Configurazione di PHP
È necessario impostare il fuso orario per PHP. Per farlo, aprire php.ini con il proprio editor di testo:
-```
-vi /etc/opt/remi/php81/php.ini
+```bash
+vi /etc/opt/remi/php83/php.ini
```
Trovate quindi la riga che dice:
-```
+```php
;date.timezone =
```
-È necessario rimuovere l'annotazione (;) e impostare il fuso orario. Per il nostro esempio di fuso orario, dovremmo inserire:
+È necessario rimuovere l'annotazione (++semicolon++) e impostare il fuso orario. Per il nostro esempio di fuso orario, dovremmo inserire:
-```
+```php
date.timezone = "America/Chicago"
```
O
-```
+```php
date.timezone = "US/Central"
```
@@ -201,13 +201,13 @@ Quindi salvare e uscire dal file php.ini.
Si noti che per mantenere le cose invariate, il fuso orario nel file _php.ini_ dovrebbe corrispondere a quello della macchina. Per sapere a quale valore è impostato, procedere come segue:
-```
+```bash
ls -al /etc/localtime
```
Questo dovrebbe mostrare qualcosa di simile, supponendo che abbiate impostato il fuso orario quando avete installato Rocky Linux e che viviate nel fuso orario centrale:
-```
+```bash
/etc/localtime -> /usr/share/zoneinfo/America/Chicago
```
@@ -215,13 +215,13 @@ Questo dovrebbe mostrare qualcosa di simile, supponendo che abbiate impostato il
Impostare l'avvio di _mariadb-server_ all'avvio del sistema:
-```
+```bash
systemctl enable mariadb
```
E poi avviarlo:
-```
+```bash
systemctl restart mariadb
```
@@ -231,57 +231,56 @@ Anche in questo caso, come indicato in precedenza, per la configurazione inizial
I prossimi passi presuppongono che siate connessi in remoto al vostro server Nextcloud tramite _ssh_ e che abbiate una console remota aperta:
-* Accedere al [sito web](https://nextcloud.com/) di [Nextcloud](https://nextcloud.com/).
-* Passate il mouse su "Get Nextcloud", che farà apparire un menu a discesa.
-* Fare clic su "Server Packages".
-* Fate clic con il tasto destro del mouse su "Download Nextcloud" e copiate l'indirizzo del link (la sintassi esatta è diversa da browser a browser).
-* Nella console remota del server Nextcloud, digitate "wget", quindi uno spazio e incollate il testo appena copiato. Si dovrebbe ottenere qualcosa di simile a quanto segue: `wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip` (si noti che la versione potrebbe essere diversa).
-* Una volta premuto il tasto Invio, il download del file .zip inizierà e si concluderà abbastanza rapidamente.
+- Accedere al [sito web](https://nextcloud.com/) di [Nextcloud](https://nextcloud.com/).
+- Passate il mouse su `Get Nextcloud`, che farà apparire un menu a discesa.
+- Fare clic su `Server Packages`.
+- Fate clic con il tasto destro del mouse su `Download Nextcloud` e copiate l'indirizzo del link (la sintassi esatta è diversa da browser a browser).
+- Nella console remota del server Nextcloud, digitate `wget`, quindi uno spazio e incollate il testo appena copiato. Si dovrebbe ottenere qualcosa di simile a quanto segue: `wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip` (si noti che la versione potrebbe essere diversa).
+- Una volta premuto il tasto Invio, il download del file .zip inizierà e si concluderà abbastanza rapidamente.
Una volta completato il download, decomprimere il file zip di Nextcloud utilizzando la seguente procedura:
-```
+```bash
unzip nextcloud-21.0.1.zip
```
### Copiare il contenuto e modificare i permessi
-Dopo aver completato la fase di decompressione, si dovrebbe avere una nuova directory in /root chiamata "nextcloud" Passare a questa directory:
+Dopo aver completato la fase di decompressione, si dovrebbe avere una nuova directory in _/root_ chiamata "nextcloud". Passare a questa directory:
-```
+```bash
cd nextcloud
```
E copiare o spostare il contenuto nella nostra _DocumentRoot_:
-```
+```bash
cp -Rf * /var/www/sub-domains/com.yourdomain.nextcloud/html/
```
O
-```
+```bash
mv * /var/www/sub-domains/com.yourdomain.nextcloud/html/
```
Ora che tutto è al suo posto, il passo successivo è assicurarsi che apache possieda la directory. Per farlo, eseguire:
-```
+```bash
chown -Rf apache.apache /var/www/sub-domains/com.yourdomain.nextcloud/html
```
-Per motivi di sicurezza, vogliamo anche spostare la cartella "data" dall'interno all'esterno della _DocumentRoot_. Per farlo, utilizzate il seguente comando:
+Per motivi di sicurezza, vogliamo anche spostare la cartella _data_ dall'interno all'esterno della _DocumentRoot_. Per farlo, utilizzate il seguente comando:
-```
+```bash
mv /var/www/sub-domains/com.yourdomain.nextcloud/html/data /var/www/sub-domains/com.yourdomain.nextcloud/
```
-
### Configurazione di Nextcloud
Ora arriva il divertimento! Innanzitutto, assicuratevi che i vostri servizi siano attivi. Se avete seguito i passaggi precedenti, dovrebbero essere già in funzione. Ci sono stati diversi passaggi tra questi avvii iniziali del servizio, quindi andiamo avanti e riavviamoli, per essere sicuri:
-```
+```bash
systemctl restart httpd
systemctl restart mariadb
```
@@ -290,9 +289,7 @@ Se tutto si riavvia e non ci sono problemi, siete pronti a proseguire.
Per effettuare la configurazione iniziale, dobbiamo caricare il sito in un browser web:
-```
-http://nextcloud.yourdomain.com/
-```
+ (sostituire con l'attuale hostname)
Supponendo di aver fatto tutto correttamente fino a questo momento, dovrebbe apparire la schermata di configurazione di Nextcloud:
@@ -300,24 +297,25 @@ Supponendo di aver fatto tutto correttamente fino a questo momento, dovrebbe app
Ci sono un paio di cose che vogliamo fare in modo diverso rispetto alle impostazioni predefinite:
-* Nella parte superiore della pagina web, dove è scritto "Create an admin account", impostare l'utente e la password. Ai fini di questo documento, inseriamo "admin" e impostiamo una password forte. Ricordate di salvarla in un posto sicuro (come un gestore di password) per non perderla! Anche se avete digitato in questo campo, non premete "Invio" prima di aver completato tutti i campi di impostazione!
-* Nella sezione "Storage & database", modificate la posizione della "Data folder" dalla radice predefinita del documento alla posizione in cui abbiamo spostato la cartella dati in precedenza: `/var/www/sub-domains/com.yourdomain.nextcloud/data`.
-* Nella sezione "Configure the database", cambiare da "SQLite" a "MySQL/MariaDB" facendo clic sul pulsante.
-* Nei campi "Database user" e "Database password" inserire l'utente root di MariaDB e la password impostata in precedenza.
-* Nel campo "Database name", digitare "nextcloud".
-* Nel campo "localhost", digitare "localhost:3306" (3306 è la porta di connessione predefinita di _mariadb_ ).
+- Nella parte superiore della pagina web, dove è scritto `Crea un account amministratore`, impostare l'utente e la password. Ai fini di questo documento, inseriamo `admin` e impostiamo una password forte. Ricordate di salvarla in un posto sicuro (come un gestore di password) per non perderla! Anche se avete digitato in questo campo, non premete ++enter++ finché non sono stati completati tutti i campi di impostazione!
+- Nella sezione `Archiviazione & database`, cambiare la posizione della `cartella Dati` dalla radice predefinita del documento, alla posizione in cui abbiamo spostato la cartella dati in precedenza: `/var/www/sub-domains/com.yourdomain.nextcloud/data`.
+- Nella sezione `Configura il database`, passare da `SQLite` a `MySQL/MariaDB` facendo clic su questo pulsante.
+- Nei campi `Utente del database` e `Password del database` digitate l'utente root di MariaDB e la password impostata in precedenza.
+- Nel campo `Nome del database`, digitare `nextcloud`.
+- Nel campo `localhost` digitare: (3306 è la porta predefinita di _mariadb_).
-Una volta fatto tutto questo, fate clic su `Finish Setup` e sarete subito operativi.
+Una volta fatto tutto questo, fate clic su `Fine dell'installazione` e sarete subito operativi.
La finestra del browser si aggiorna per un po' e poi di solito non ricarica il sito. Inserite nuovamente l'URL nella finestra del browser e vi troverete di fronte alle prima pagina predefinita.
A questo punto l'utente amministrativo è già (o dovrebbe essere) loggato, e ci sono diverse pagine informative pensate per farvi acquisire familiarità. La "Dashboard" è ciò che gli utenti vedranno al primo accesso. L'utente amministrativo può ora creare altri utenti, installare altre applicazioni e svolgere molte altre attività.
-Il file "Nextcloud Manual.pdf" è il manuale d'uso, in modo che gli utenti possano familiarizzare con ciò che è disponibile. L'utente amministrativo dovrebbe leggere o almeno scansionare i punti salienti del manuale di amministrazione [sul sito web di Nextcloud](https://docs.nextcloud.com/server/21/admin_manual/)
+Il file "Nextcloud Manual.pdf" è il manuale d'uso, in modo che gli utenti possano familiarizzare con ciò che è disponibile. L'utente amministrativo dovrebbe leggere o almeno scansionare i punti salienti del manuale di amministrazione [sul sito web di Nextcloud.](https://docs.nextcloud.com/server/21/admin_manual/)
## Passi successivi
A questo punto, non dimenticate che si tratta di un server su cui memorizzerete i dati aziendali. È importante bloccare il sito con un firewall, [impostare](../backup/rsnapshot_backup.md) il [backup](../backup/rsnapshot_backup.md), proteggere il sito con un [SSL](../security/generating_ssl_keys_lets_encrypt.md) e qualsiasi altra operazione necessaria per mantenere i dati al sicuro.
## Conclusioni
-La decisione di portare il cloud aziendale all'interno dell'azienda deve essere valutata con attenzione. Per coloro che decidono che mantenere i dati aziendali in locale è preferibile rispetto a un host cloud esterno, Nextcloud è una buona alternativa.
+
+La decisione di portare il cloud aziendale all'interno dell'azienda è una decisione che deve essere valutata attentamente. Per coloro che decidono che mantenere i dati aziendali in locale è preferibile rispetto a un host cloud esterno, Nextcloud è una buona alternativa.
diff --git a/docs/guides/cms/cloud_server_using_nextcloud.md b/docs/guides/cms/cloud_server_using_nextcloud.md
index a744844e9c..3e12e6e466 100644
--- a/docs/guides/cms/cloud_server_using_nextcloud.md
+++ b/docs/guides/cms/cloud_server_using_nextcloud.md
@@ -8,40 +8,35 @@ tags:
- nextcloud
---
-# Cloud Server Using Nextcloud
-!!! note "Regarding Rocky Linux 9.x"
+## Prerequisites and assumptions
- This procedure should work for Rocky Linux 9.x. The difference is that you may need to change version references for some of the repositories to update those to version 9. If you are using Rocky Linux 9.x, just be aware that this was tested in both 8.6 and 9.0, but written originally for 8.6.
-
-## Prerequisites And Assumptions
-
-- Server running Rocky Linux (you can install Nextcloud on any Linux distribution, but this procedure will assume you're using Rocky).
+- Server running Rocky Linux (you can install Nextcloud on any Linux distribution, but this procedure assumes you are using Rocky).
- A high degree of comfort operating from the command line for installation and for configuration.
-- Knowledge of a command-line editor. For this example, we are using _vi_, but you can use your favorite editor if you have one.
-- While Nextcloud can be installed via a snap application, we will be documenting just the .zip file installation.
-- We will be applying concepts from the Apache _sites enabled_ document (linked to down below) for directory setup.
-- We will also be using the _mariadb-server_ hardening procedure (also linked to later) for database setup.
-- Throughout this document we will assume that you are root, or that you can be by using _sudo_.
-- We are using an example domain of in the configuration.
+- Knowledge of a command-line editor. Using `vi` for this example, but you can use your favorite editor if you have one.
+- This procedure covers the `.zip` file installation method. You can also install Nextcloud with a snap application.
+- This procedure uses the Apache _sites enabled_ document (linked later) for directory setup.
+- This procedure also uses _mariadb-server_ hardening (also linked later) for database setup.
+- Throughout this document the assumption is that you are root, or that you can elevate privileges with `sudo`.
+- The example domain in use here is "yourdomain.com".
## Introduction
-If you are in charge of a server environment for a large (or even a small) company, you may be tempted by cloud applications. Doing things in the cloud can free up your own resources for other things, but there is a downside to this, and that is the loss of control of your company's data. If the cloud application is compromised, your company's data may be compromised too.
+If you are in charge of a server environment for a large (or even a small) company, you might consider using cloud applications. Doing things in the cloud can free up your own resources for other things, but there is a downside to this, and that is the loss of control of your company's data. If a compromise occurs in the cloud application, you could risk your company's data too.
-Taking the cloud back into your own environment is a way to reclaim security of your data at the expense of your time and energy. Sometimes, that is a cost worth paying.
+Taking the cloud back into your own environment is a way to reclaim security of your data at the expense of your time and energy. Sometimes, this is a cost worth paying.
Nextcloud offers an open source cloud with security and flexibility in mind. Note that building a Nextcloud server is a good exercise, even if you opt to take your cloud off-site in the end. The following procedure deals with setting up Nextcloud on Rocky Linux.
-## Nextcloud Install
+## Nextcloud install
-### Installing And Configuring Repositories and Modules
+### Installing and configuring repositories and modules
-For this installation, we will require two repositories. We need to install the EPEL (Extra Packages for Enterprise Linux), and the Remi Repository for PHP 8.3
+For this installation, you need two repositories. You need to install the EPEL (Extra Packages for Enterprise Linux), and the Remi Repository for 10.
!!! note
- A minimum PHP version 7.3 or 7.4 is required and the Rocky Linux version of 7.4 does not contain all of the packages that Nextcloud needs. We are going to use PHP 8.3 from the Remi repository instead.
+ While Rocky Linux 10 contains the minimum required PHP version of 8.3, the Remi repository contains other PHP packages necessary for Nextcloud.
To install the EPEL run:
@@ -49,45 +44,39 @@ To install the EPEL run:
dnf install epel-release
```
-To install the Remi repository run (note: if you are using Rocky Linux 9.x, substitute in 9 next to `release-` below):
+To install the Remi repository run:
```bash
-dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
+dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
```
Then run `dnf upgrade` again.
-Run the following to see a list of php modules that can be enabled:
+Run the following to see a list of available PHP modules:
```bash
dnf module list php
```
-which gives you this output for Rocky Linux 8.x (similar output will show for Rocky Linux 9.x):
+This gives you this output for Rocky Linux 10:
```bash
-Rocky Linux 8 - AppStream
-Name Stream Profiles Summary
-php 7.2 [d] common [d], devel, minimal PHP scripting language
-php 7.3 common [d], devel, minimal PHP scripting language
-php 7.4 common [d], devel, minimal PHP scripting language
-php 7.4 common [d], devel, minimal PHP scripting language
-Remi's Modular repository for Enterprise Linux 8 - x86_64
-Name Stream Profiles Summary
-php remi-7.2 common [d], devel, minimal PHP scripting language
-php remi-7.3 common [d], devel, minimal PHP scripting language
-php remi-7.4 common [d], devel, minimal PHP scripting language
-php remi-8.0 common [d], devel, minimal PHP scripting language
-php remi-8.1 common [d], devel, minimal PHP scripting language
-php remi-8.2 common [d], devel, minimal PHP scripting language
-php remi-8.3 common [d], devel, minimal PHP scripting language
+Remi's Modular repository for Enterprise Linux 10 - x86_64
+Name Stream Profiles Summary
+php remi-7.4 common [d], devel, minimal PHP scripting language
+php remi-8.0 common [d], devel, minimal PHP scripting language
+php remi-8.1 common [d], devel, minimal PHP scripting language
+php remi-8.2 common [d], devel, minimal PHP scripting language
+php remi-8.3 common [d], devel, minimal PHP scripting language
+php remi-8.4 common [d], devel, minimal PHP scripting language
+
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```
-We want to grab the newest PHP that Nextcloud is compatible with, which at this moment is 8.3, so we will enable that module by doing:
+Use the newest PHP that Nextcloud is compatible with. At this moment this is 8.4. Enable that module with:
```bash
-dnf module enable php:remi-8.3
+dnf module enable php:remi-8.4
```
To see how this changes the output of the module list, run the module list command again and you will see the "[e]" next to 8.3:
@@ -96,18 +85,18 @@ To see how this changes the output of the module list, run the module list comma
dnf module list php
```
-And the output again is the same except for this line:
+The output is the same except for this line:
```bash
-php remi-8.3 [e] common [d], devel, minimal PHP scripting language
+php remi-8.4 [e] common [d], devel, minimal PHP scripting language
```
-### Installing Packages
+### Installing packages
-Our example here uses Apache and mariadb, so to install what we need, we simply need to do the following:
+The example here uses Apache and mariadb. To install the needed packages, do the following:
```bash
-dnf install httpd mariadb-server vim wget zip unzip libxml2 openssl php83-php php83-php-ctype php83-php-curl php83-php-gd php83-php-iconv php83-php-json php83-php-libxml php83-php-mbstring php83-php-openssl php83-php-posix php83-php-session php83-php-xml php83-php-zip php83-php-zlib php83-php-pdo php83-php-mysqlnd php83-php-intl php83-php-bcmath php83-php-gmp
+dnf install httpd mariadb-server vim wget zip unzip libxml2 openssl php84-php php84-php-ctype php84-php-curl php84-php-gd php84-php-iconv php84-php-json php84-php-libxml php84-php-mbstring php84-php-openssl php84-php-posix php84-php-session php84-php-xml php84-php-zip php84-php-zlib php84-php-pdo php84-php-mysqlnd php84-php-intl php84-php-bcmath php84-php-gmp
```
### Configuring
@@ -126,17 +115,17 @@ Then start it:
systemctl start httpd
```
-#### Create The Configuration
+#### Create the configuration
-In the _Prerequisites and Assumptions_ section, we mentioned that we will be using the [Apache Sites Enabled](../web/apache-sites-enabled.md) procedure for our configuration. Click over to that procedure and set up the basics there, and then return to this document to continue.
+In the _Prerequisites and Assumptions_ section, there was a statement that you will be using the [Apache Sites Enabled](../web/apache-sites-enabled.md) procedure for your configuration. Click over to that procedure and set up the basics there, and then return to this document to continue.
-For Nextcloud, we will need to create the following configuration file.
+For Nextcloud, you will need to create the following configuration file:
```bash
vi /etc/httpd/sites-available/com.yourdomain.nextcloud
```
-Your configuration file should look something like this:
+With the content:
```bash
@@ -155,28 +144,28 @@ Your configuration file should look something like this:
Once done, save your changes (with ++shift+colon+"w"+"q"+exclam++ for _vi_).
-Next, create a link to this file in /etc/httpd/sites-enabled:
+Next, create a link to this file in `/etc/httpd/sites-enabled`:
```bash
ln -s /etc/httpd/sites-available/com.yourdomain.nextcloud /etc/httpd/sites-enabled/
```
-#### Creating The Directory
+#### Creating the directory
-As noted in the configuration above, the _DocumentRoot_ needs to be created. This can be done by:
+As noted in the configuration earlier, you need to create the _DocumentRoot_. Do this with:
```bash
mkdir -p /var/www/sub-domains/com.yourdomain.com/html
```
-This is where our Nextcloud instance will be installed.
+This is where you will install your Nextcloud instance.
#### Configuring PHP
-We need to set the time zone for PHP. To do this, open up php.ini with your text editor of choice:
+You need to set the time zone for PHP. To do this, open up `php.ini` with your text editor of choice:
```bash
-vi /etc/opt/remi/php83/php.ini
+vi /etc/opt/remi/php84/php.ini
```
Then find the line:
@@ -185,7 +174,7 @@ Then find the line:
;date.timezone =
```
-We need to remove the remark (++semicolon++) and set our time zone. For our example time zone, we would put in either:
+Remove the remark (++semicolon++) and set our time zone. For this example time zone, you can put in either:
```php
date.timezone = "America/Chicago"
@@ -197,15 +186,15 @@ OR
date.timezone = "US/Central"
```
-Then save and exit the php.ini file.
+Then save and exit the `php.ini` file.
-Note that for the sake of keeping things the same, your time zone in the _php.ini_ file should match up to your machine's time zone setting. You can find out what this is set to by doing the following:
+Note that for the sake of keeping things the same, your time zone in the `php.ini` file should match up to your machine's time zone setting. You can discover what this is by doing the following:
```bash
ls -al /etc/localtime
```
-Which should show you something like this, assuming you set your time zone when you installed Rocky Linux and are living in the Central time zone:
+You should see something such as this, assuming you set your time zone when you installed Rocky Linux and are living in the Central time zone:
```bash
/etc/localtime -> /usr/share/zoneinfo/America/Chicago
@@ -213,7 +202,7 @@ Which should show you something like this, assuming you set your time zone when
#### Configuring mariadb-server
-Set _mariadb-server_ to start on boot:
+Set `mariadb-server` to start on boot:
```bash
systemctl enable mariadb
@@ -225,34 +214,35 @@ And then start it:
systemctl restart mariadb
```
-Again, as indicated earlier, we will be using the setup procedure for hardening _mariadb-server_ found [here](../database/database_mariadb-server.md) for the initial configuration.
+Again, as indicated earlier, use the setup procedure for [hardening `mariadb-server`](../database/database_mariadb-server.md) for the initial configuration.
### Installing .zip
-The next few steps assume that you are remotely connected to your Nextcloud server via _ssh_ with a remote console open:
+The next few steps assume that you are remotely connected to your Nextcloud server via `ssh` with a remote console open:
-- Navigate to the [Nextcloud web site](https://nextcloud.com/).
-- Let your mouse hover over `Get Nextcloud` which will bring up a drop-down menu.
-- Click on `Server Packages`.
-- Right-click on `Download Nextcloud` and copy the link address (the exact syntax of this is different from browser to browser).
-- In your remote console on the Nextcloud server, type `wget` and then a space and paste in what you just copied. You should get something like the following: `wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip` (note that the version could be different).
-- Once you hit enter, the download of the .zip file will start and will be completed fairly quickly.
+- Navigate to the [Nextcloud website](https://nextcloud.com/).
+- Let your mouse hover over 'Download' which will open a drop-down menu.
+- Click 'Nextcloud server'.
+- Click 'Download server archive'.
+- Right-click 'Get ZIP file' and copy the link.
+- In your remote console on the Nextcloud server, type `wget` and then a space and paste in what you just copied. You should get something similar to the following: `wget https://download.nextcloud.com/server/releases/latest.zip`.
+- Once you hit enter, the download of the .zip file will start and complete quickly.
-Once the download is complete, unzip the Nextcloud zip file by using the following:
+Once the download is complete, extract the Nextcloud .zip file with:
```bash
-unzip nextcloud-21.0.1.zip
+unzip latest.zip
```
-### Copying Content And Changing Permissions
+### Copying content and changing permissions
-After completing the unzip step, you should now have a new directory in _/root_ called "nextcloud." Change into this directory:
+After completing the .zip file extraction step, you should now have a new directory in `/root` called "nextcloud." Change into this directory:
```bash
cd nextcloud
```
-And either copy or move the content to our _DocumentRoot_:
+Either copy or move the content to our _DocumentRoot_:
```bash
cp -Rf * /var/www/sub-domains/com.yourdomain.nextcloud/html/
@@ -264,13 +254,13 @@ OR
mv * /var/www/sub-domains/com.yourdomain.nextcloud/html/
```
-Now that everything is where it should be, the next step is to make sure that apache owns the directory. To do this, run:
+The next step is to make sure that apache owns the directory. Do this with:
```bash
chown -Rf apache.apache /var/www/sub-domains/com.yourdomain.nextcloud/html
```
-For security reasons, we also want to move the _data_ folder from inside to outside of the _DocumentRoot_. Do this with the following command:
+For security reasons, you also want to move the _data_ folder from inside to outside of the _DocumentRoot_. Do this with the following command:
```bash
mv /var/www/sub-domains/com.yourdomain.nextcloud/html/data /var/www/sub-domains/com.yourdomain.nextcloud/
@@ -278,7 +268,7 @@ mv /var/www/sub-domains/com.yourdomain.nextcloud/html/data /var/www/sub-domains/
### Configuring Nextcloud
-Now comes the fun! First, make sure that you have your services running. If you followed the above steps, they should already be running. We have had several steps between those initial service starts, so let's go ahead and restart them, just to be sure:
+Ensure that you have your services running. If you followed the earlier steps, they should already be running. You have had several steps between those initial service starts, so restart them just to be sure:
```bash
systemctl restart httpd
@@ -287,18 +277,18 @@ systemctl restart mariadb
If everything restarts and there are no issues, then you are ready to move on.
-To do the initial configuration, we want to actually load the site in a web browser:
+To do the initial configuration, you want to load the site in a web browser:
(replace with your actual hostname)
-Assuming that you've done everything correctly so far, you should be presented with a Nextcloud setup screen:
+Assuming that you have done everything correctly so far, you should see a Nextcloud setup screen:

-There are a couple of things that we want to do differently than the defaults that show up:
+There are a couple of things that you want to do differently than the defaults:
-- At the top of the web page, where it says `Create an admin account`, set the user and password. For the sake of this document, we are entering `admin` and setting a strong password. Remember to save this somewhere safe (like a password manager) so that you don't lose it! Even though you have typed into this field, don't hit ++enter++ until we have done all of the setup fields!
-- Under the `Storage & database` section, change the `Data folder` location from the default document root, to where we moved the data folder earlier: `/var/www/sub-domains/com.yourdomain.nextcloud/data`.
+- At the top of the web page, where it says `Create an admin account`, set the user and password. For the sake of this example, enter `admin` and setting a strong password. Remember to save this somewhere safe (such as a password manager) so that you do not lose it. Even though you have typed into this field, ==do not hit== ++enter++ until you complete **all** the fields.
+- Under the `Storage & database` section, change the `Data folder` location from the default document root, to where you moved the data folder earlier: `/var/www/sub-domains/com.yourdomain.nextcloud/data`.
- Under the `Configure the database` section, change from `SQLite` to `MySQL/MariaDB` by clicking on that button.
- Type the MariaDB root user and password that you set earlier into the `Database user` and `Database password` fields.
- In the `Database name` field, type `nextcloud`.
@@ -306,16 +296,16 @@ There are a couple of things that we want to do differently than the defaults th
Once you have all this, click `Finish Setup` and you should be up and running.
-The browser window will refresh for a bit and then usually not reload the site. Enter your URL in the browser window again and you should be confronted with the default first pages.
+The browser window will refresh for a bit and then usually not reload the site. Enter your URL in the browser window again and you should see the default first pages.
-Your administrative user is already (or should be) logged in at this point, and there are several informational pages designed to get you up to speed. The "Dashboard" is what users will see when they first login. The administrative user can now create other users, install other applications and many other tasks.
+Your administrative user is already (or should be) logged in at this point, and there are several informational pages designed to get you up to speed. The "Dashboard" is what users will see when they first login. The administrative user can now create other users, install other applications, and many other tasks.
-The "Nextcloud Manual.pdf" file is the user manual, so that users can get familiar with what is available. The administrative user should read through or at least scan the high points of the admin manual [On the Nextcloud web site](https://docs.nextcloud.com/server/21/admin_manual/)
+The "Nextcloud Manual.pdf" file is the user manual, so that users can get familiar with what is available. The administrative user should read through or at least scan the high points of the admin manual [On the Nextcloud website](https://docs.nextcloud.com/server/21/admin_manual/)
-## Next Steps
+## Next steps
-At this point, don't forget that this is a server that you will be storing company data on. It's important to get it locked down with a firewall, get the [backup set up](../backup/rsnapshot_backup.md), secure the site with an [SSL](../security/generating_ssl_keys_lets_encrypt.md), and any other duties that are required to keep your data safe.
+At this point, do not forget that this is a server that you will be storing company data on. It is important to get it locked down with a firewall, get the [backup set up](../backup/rsnapshot_backup.md), secure the site with an [SSL](../security/generating_ssl_keys_lets_encrypt.md), and any other needed tasks to keep your data safe.
## Conclusions
-A decision to take the company cloud in house is one that needs to be evaluated carefully. For those that decide that keeping company data locally is preferable over an external cloud host, Nextcloud is a good alternative.
+You need to evaluate carefully any decision to take the company cloud in house. For those that decide that keeping company data locally is preferable over an external cloud host, Nextcloud is a good alternative.
diff --git a/docs/guides/cms/cloud_server_using_nextcloud.uk.md b/docs/guides/cms/cloud_server_using_nextcloud.uk.md
index 26c275e540..d0f2d54014 100644
--- a/docs/guides/cms/cloud_server_using_nextcloud.uk.md
+++ b/docs/guides/cms/cloud_server_using_nextcloud.uk.md
@@ -10,9 +10,9 @@ tags:
# Хмарний сервер за допомогою Nextcloud
-!!! примітка "Примітка щодо Rocky Linux 9.0"
+!!! note "Примітка щодо Rocky Linux 9.x або 10.x"
- Ця процедура має працювати для Rocky Linux 9.x. Різниця полягає в тому, що вам може знадобитися змінити посилання на версії для деяких репозиторіїв, щоб оновити їх до версії 9. Якщо ви використовуєте Rocky Linux 9.x, майте на увазі, що це було протестовано як у 8.6, так і в 9.0, але спочатку було написано для 8.6.
+ Ця процедура має працювати для Rocky Linux 9.x або 10.x. Різниця полягає в тому, що вам може знадобитися змінити посилання на версії для деяких репозиторіїв, щоб оновити їх до версії 9 або 10. Якщо ви використовуєте Rocky Linux 9.x або 10.x, майте на увазі, що це було протестовано як у 8.6, так і в 9.0, але спочатку було написано для 8.6.
## Передумови та припущення
@@ -49,7 +49,7 @@ Nextcloud пропонує хмару з відкритим вихідним к
dnf install epel-release
```
-Щоб встановити репозиторій Remi, запустіть (зверніть увагу, якщо ви використовуєте Rocky Linux 9.x, замініть 9 поруч із `release-` нижче):
+Щоб встановити репозиторій Remi, запустіть (зверніть увагу, якщо ви використовуєте Rocky Linux 9.x або 10.x, замініть 9 або 10 поруч із `release-` нижче):
```bash
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
@@ -63,7 +63,7 @@ dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
```
-який дає вам такий вихід для Rocky Linux 8.x (подібний результат буде показано для Rocky Linux 9.x):
+який дає вам такий вихід для Rocky Linux 8.x (подібний результат буде показано для Rocky Linux 9.x або 10.x):
```bash
Rocky Linux 8 - AppStream
diff --git a/docs/guides/cms/dokuwiki_server.it.md b/docs/guides/cms/dokuwiki_server.it.md
index e6ffcfb266..71ab5ba625 100644
--- a/docs/guides/cms/dokuwiki_server.it.md
+++ b/docs/guides/cms/dokuwiki_server.it.md
@@ -1,5 +1,5 @@
---
-title: DokuWiki
+title: Server DokuWiki
author: Spencer Steven
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 8.5, 8.6, 9.0
@@ -8,150 +8,171 @@ tags:
- documentation
---
-# Server DokuWiki
+## Prerequisiti e presupposti
-## Prerequisiti E Presupposti
-
-* Un'istanza di Rocky Linux installata su un server, un container o una macchina virtuale.
-* Abilità nel modificare i file di configurazione dalla riga di comando con un editor (i nostri esempi utilizzeranno _vi_, ma potete sostituire il vostro editor preferito).
-* Conoscenza delle applicazioni web e della loro configurazione.
-* Il nostro esempio utilizzerà [Apache Sites Enabled](../web/apache-sites-enabled.md) per l'impostazione, quindi è una buona idea rivedere questa routine se si intende seguirla.
-* In questo esempio utilizzeremo "example.com" come nome di dominio.
-* In questo documento si presuppone che siate l'utente root o che possiate arrivarci con _sudo_.
-* Si presuppone una nuova installazione del sistema operativo, ma questo **NON** è un requisito.
+- Un'istanza di Rocky Linux installata su un server, un container o una macchina virtuale.
+- Abilità nel modificare i file di configurazione dalla riga di comando con un editor (negli esempi qui riportati si utilizzerà _vi_, ma è possibile sostituire l'editor preferito)
+- Conoscenza delle applicazioni web e della loro configurazione
+- Il nostro esempio utilizzerà [Apache Sites Enabled](../web/apache-sites-enabled.md) per l'impostazione. Se necessario, rivederlo.
+- Questo documento utilizzerà "example.com" come nome di dominio in tutto il documento
+- È necessario essere root o in grado di eseguire `sudo` per elevare i privilegi
+- Tuttavia, supponendo una nuova installazione del sistema operativo, questo non è un requisito
## Introduzione
-La documentazione può assumere diverse forme in un'organizzazione. Avere un repository a cui fare riferimento per la documentazione è inestimabile. Un wiki (che in hawaiano significa _veloce_ ) è un modo per conservare in una posizione centralizzata la documentazione, le note di processo, le basi di conoscenza aziendale e persino gli esempi di codice. I professionisti IT che mantengono un wiki, anche di nascosto, hanno una polizza assicurativa incorporata contro la dimenticanza di una routine oscura.
+La documentazione può assumere diverse forme in un'organizzazione. Avere un repository a cui fare riferimento per la documentazione è inestimabile. Un wiki (che in hawaiano significa _veloce_) è un modo per conservare in una posizione centralizzata documentazione, note di processo, basi di conoscenza aziendale e persino esempi di codice. I professionisti IT che tengono un wiki, anche di nascosto, hanno una polizza assicurativa integrata contro la dimenticanza di una routine oscura.
-DokuWiki è un wiki maturo, veloce, che funziona senza database, ha funzioni di sicurezza integrate ed è relativamente facile da distribuire. Per ulteriori informazioni su cosa può fare DokuWiki, consultate la sua [pagina web](https://www.dokuwiki.org/dokuwiki).
+DokuWiki è un wiki maturo e veloce che funziona senza database, ha funzioni di sicurezza integrate e non è complesso da distribuire. Per ulteriori informazioni, consultate la loro [pagina web](https://www.dokuwiki.org/dokuwiki).
-DokuWiki è solo uno dei tanti wiki disponibili, anche se è piuttosto buono. Un grande vantaggio è che DokuWiki è relativamente leggero e può essere eseguito su un server in cui sono già in esecuzione altri servizi, a condizione che si disponga di spazio e memoria.
+DokuWiki è uno dei tanti wiki disponibili, anche se è un buon wiki. Un grande vantaggio è che DokuWiki è relativamente leggero e può essere eseguito su un server in cui sono già in esecuzione altri servizi, a condizione che si disponga di spazio e memoria.
## Installazione delle Dipendenze
-La versione minima di PHP per DokuWiki è ora la 7.2, che è esattamente quella con cui Rocky Linux 8 viene fornito. Rocky Linux 9.0 è fornito della versione 8.0 di PHP, anch'essa pienamente supportata. Qui si specificano pacchetti che potrebbero essere già installati:
-
-`dnf install tar wget httpd php php-gd php-xml php-json php-mbstring`
-
-Verrà visualizzato un elenco di dipendenze aggiuntive che verranno installate e questo prompt:
+La versione minima di PHP per DokuWiki è ora la 7.2, che Rocky Linux 8 ha di default. Grazie ai moduli, Rocky Linux 8 può supportare l'installazione fino alla versione 8.2. Rocky Linux 9.0 ha PHP versione 8.0 come impostazione predefinita e moduli che consentono fino alla versione 8.2. Si noti che alcuni dei pacchetti elencati potrebbero già esistere:
-`Is this ok [y/N]:`
+```bash
+dnf install tar wget httpd php php-gd php-xml php-json php-mbstring
+```
-Rispondete con "y" e premete "Invio" per installare.
+Accettare e installare tutte le dipendenze aggiuntive elencate che vengono fornite con questi pacchetti.
-## Creare Directory e Modificare la Configurazione
+## Creare directory e modificare la configurazione
### Configurazione di Apache
-Se avete letto la procedura [Apache Sites Enabled](../web/apache-sites-enabled.md), sapete che è necessario creare alcune directory. Inizieremo con le aggiunte alla directory di configurazione _httpd_:
+Se si è letta la procedura [Apache Sites Enabled](../web/apache-sites-enabled.md), sapete che è necessario creare alcune directory. Iniziare con aggiungere alla directory di configurazione _htpd_:
-`mkdir -p /etc/httpd/{sites-available,sites-enabled}`
+```bash
+mkdir -p /etc/httpd/{sites-available,sites-enabled}
+```
-È necessario modificare il file httpd.conf:
+È necessario modificare il file `httpd.conf`:
-`vi /etc/httpd/conf/httpd.conf`
+```bash
+vi /etc/httpd/conf/httpd.conf
+```
-E aggiungete questo in fondo al file:
+Aggiungetelo in fondo al file:
-`Include /etc/httpd/sites-enabled`
+```bash
+Include /etc/httpd/sites-enabled
+```
Creare il file di configurazione del sito in sites-available:
-`vi /etc/httpd/sites-available/com.example`
+```bash
+vi /etc/httpd/sites-available/com.example
+```
-Il file di configurazione dovrebbe essere simile a questo:
+Il file di configurazione sarà simile a questo:
-```
+```apache
- ServerName example.com
- DocumentRoot /var/www/sub-domains/com.example/html
+ ServerName example.com
+ DocumentRoot /var/www/sub-domains/com.example/html
-
-
+
+
AllowOverride All
- Require all denied
-
-
- Order allow,deny
- Deny from all
-
-
-
- ErrorLog /var/log/httpd/example.com_error.log
- CustomLog /var/log/httpd/example.com_access.log combined
+ Require all denied
+
+
+ Order allow,deny
+ Deny from all
+
+
+
+ ErrorLog /var/log/httpd/example.com_error.log
+ CustomLog /var/log/httpd/example.com_access.log combined
```
-Si noti che l'opzione "AllowOverride All" di cui sopra consente al file .htaccess (sicurezza specifica della directory) di funzionare.
+Si noti che l'opzione "AllowOverride All" sopra riportata consente il funzionamento del file `.htaccess` (sicurezza specifica della directory).
Procedere con il collegamento del file di configurazione in sites-enabled, ma non avviare ancora i servizi web:
-`ln -s /etc/httpd/sites-available/com.example /etc/httpd/sites-enabled/`
+```bash
+ln -s /etc/httpd/sites-available/com.example /etc/httpd/sites-enabled/
+```
### Apache DocumentRoot
-Dobbiamo anche creare la nostra _DocumentRoot_. Per ora fare:
+È necessario creare la _DocumentRoot_. Per farlo eseguire:
-`mkdir -p /var/www/sub-domains/com.example/html`
+```bash
+mkdir -p /var/www/sub-domains/com.example/html
+```
## Installazione di DokuWiki
Nel server, passare alla root directory.
-`cd /root`
+```bash
+cd /root
+```
-Ora che il nostro ambiente è pronto, prendiamo l'ultima versione stabile di DokuWiki. Potete trovarlo andando alla [pagina di download](https://download.dokuwiki.org/) e sul lato sinistro della pagina, alla voce "Version", vedrete "Stable (Recommended) (direct link)."
+Dal momento che il vostro ambiente è pronto per l'uso, procuratevi l'ultima versione stabile di DokuWiki. È possibile trovarlo andando sulla [pagina di download](https://download.dokuwiki.org/) e sul lato sinistro della pagina, sotto “Versione”, si troverà “Stabile (consigliata) (link diretto)”.
-Fare clic con il tasto destro del mouse sulla parte "(link diretto)" e copiare l'indirizzo del link. Nella console del vostro server DokuWiki, digitate "wget" e uno spazio e poi incollate il link copiato nel terminale. Si dovrebbe ottenere qualcosa di simile a questo:
+Fare clic con il tasto destro del mouse sulla parte “(link diretto)” e copiare il link. Nella console del vostro server DokuWiki, digitate `wget` e uno spazio e poi incollate il link copiato nel terminale. Si dovrebbe ottenere qualcosa di simile a questo:
-`wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz`
+```bash
+wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
+```
-Prima di decomprimere l'archivio, si può dare un'occhiata al contenuto usando `tar ztf` per vedere il contenuto dell'archivio:
+Prima di decomprimere l'archivio, esaminare il contenuto con `tar ztf`:
-`tar ztvf dokuwiki-stable.tgz`
+```bash
+tar ztvf dokuwiki-stable.tgz
+```
-Notate la directory datata che precede tutti gli altri file e che ha un aspetto simile a questo?
+Notate il nome della directory datata davanti a tutti gli altri file che hanno un aspetto simile a questo:
-```
+```text
... (more above)
dokuwiki-2020-07-29/inc/lang/fr/resetpwd.txt
dokuwiki-2020-07-29/inc/lang/fr/draft.txt
dokuwiki-2020-07-29/inc/lang/fr/recent.txt
... (more below)
```
-Non vogliamo che questa directory venga decompressa quando decomprimiamo l'archivio, quindi useremo alcune opzioni con tar per escluderla. La prima opzione è "--strip-components=1" che rimuove la directory principale.
-La seconda opzione è l'opzione "-C", che indica a tar dove si vuole decomprimere l'archivio. Quindi decomprimere l'archivio con questo comando:
+Non si vuole che questa directory con nome principale venga decompressa durante la decompressione dell'archivio, quindi si useranno alcune opzioni con `tar` per escluderla. La prima opzione è “--strip-components=1” che rimuove la directory principale. La seconda opzione è l'opzione “-C”, che indica a `tar` dove si vuole decomprimere l'archivio. La decompressione sarà simile a questa:
-`tar xzf dokuwiki-stable.tgz --strip-components=1 -C /var/www/sub-domains/com.example/html/`
+```bash
+tar xzf dokuwiki-stable.tgz --strip-components=1 -C /var/www/sub-domains/com.example/html/
+```
-Una volta eseguito questo comando, tutto DokuWiki dovrebbe trovarsi nella nostra _DocumentRoot_.
+Una volta eseguito questo comando, tutto DokuWiki dovrebbe trovarsi nella _DocumentRoot_.
-È necessario fare una copia del file _.htaccess.dist_ fornito con DokuWiki e conservare anche quello vecchio, nel caso in cui si debba tornare all'originale in futuro.
+È necessario fare una copia del file _.htaccess.dist_ fornito con DokuWiki e conservare quello vecchio, nel caso in cui sia necessario tornare all'originale.
-Nel processo, cambieremo il nome di questo file in _.htaccess_, che è quello che _apache_ cercherà. Per farlo:
+In questo processo, il nome del file verrà modificato in _.htaccess_. Questo è ciò che _apache_ cercherà. Per ottenere questo:
-`cp /var/www/sub-domains/com.example/html/.htaccess{.dist,}`
+```bash
+cp /var/www/sub-domains/com.example/html/.htaccess{.dist,}
+```
-Ora dobbiamo cambiare la proprietà della nuova directory e dei suoi file all'utente e al gruppo _apache_:
+È necessario cambiare la proprietà della nuova directory e dei suoi file all'utente e al gruppo _apache_:
-`chown -Rf apache.apache /var/www/sub-domains/com.example/html`
+```bash
+chown -Rf apache.apache /var/www/sub-domains/com.example/html
+```
-## Impostazione del DNS o di /etc/hosts
+## Impostazione del DNS o di `/etc/hosts`
-Prima di poter accedere all'interfaccia di DokuWiki, è necessario impostare la risoluzione dei nomi per questo sito. A scopo di test, è possibile utilizzare il file _/etc/hosts_.
+Prima di poter accedere all'interfaccia di DokuWiki, è necessario impostare il nome per questo sito. È possibile utilizzare il file _/etc/hosts_ a scopo di test.
-In questo esempio, supponiamo che DokuWiki venga eseguito su un indirizzo IPv4 privato di 10.56.233.179. Supponiamo anche che si stia modificando il file _/etc/hosts_ su una workstation Linux. Per farlo, eseguire:
+In questo esempio, supponiamo che DokuWiki venga eseguito su un indirizzo IPv4 privato di 10.56.233.179. Si supponga che si stia modificando anche il file _/etc/hosts_ su una workstation Linux. Per farlo, eseguire:
-`sudo vi /etc/hosts`
+```bash
+sudo vi /etc/hosts
+```
-Quindi modificate il vostro file hosts in modo che assomigli a questo (notare l'indirizzo IP in alto nell'esempio seguente):
+Modificate quindi il file host in modo che abbia un aspetto simile a questo (notare l'indirizzo IP sopra nell'esempio):
-```
-127.0.0.1 localhost
-127.0.1.1 myworkstation-home
-10.56.233.179 example.com example
+```bash
+127.0.0.1 localhost
+127.0.1.1 myworkstation-home
+10.56.233.179 example.com example
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
@@ -161,128 +182,86 @@ ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
```
-Una volta terminati i test e pronti a rendere il tutto operativo per tutti, sarà necessario aggiungere questo host a un server DNS. Si può utilizzare un [server DNS privato](../dns/private_dns_server_using_bind.md) o un server DNS pubblico.
+Una volta terminati i test e pronti a rendere il tutto live, è necessario aggiungere questo host a un server DNS. Si può utilizzare un [Server DNS privato](../dns/private_dns_server_using_bind.md) o un server DNS pubblico.
-## Avviare httpd
+## Avviare `httpd`
-Prima di avviare _httpd_, facciamo un test per verificare che la nostra configurazione sia corretta:
+Prima di avviare _httpd_, verificare che la configurazione sia corretta:
-`httpd -t`
+```bash
+httpd -t
+```
Dovresti ottenere:
-`Syntax OK`
+```text
+Syntax OK
+```
-In caso affermativo, si dovrebbe essere pronti ad avviare _httpd_ e a terminare la configurazione. Iniziamo abilitando l'avvio di _httpd_ all'avvio del sistema:
+In caso affermativo, si dovrebbe essere pronti ad avviare _httpd_ e a terminare la configurazione. Iniziare abilitando _htpd_ all'avvio:
-`systemctl enable httpd`
+```bash
+systemctl enable httpd
+```
-E poi avviarlo:
+Quindi avviarlo:
-`systemctl start httpd`
+```bash
+systemctl start httpd
+```
## Testare DokuWiki
-Ora che il nostro nome host è stato impostato per il test e il servizio Web è stato avviato, il passo successivo è aprire un browser Web e digitare questo nella barra degli indirizzi:
-
-`http://example.com/install.php`
-
-O
+Il passo successivo consiste nell'aprire un browser web e digitare questo indirizzo nella barra degli indirizzi:
-`http://example.com/install.php`
+
-Entrambi dovrebbero funzionare se si imposta il file hosts come sopra. In questo modo si accede alla schermata di impostazione per completare la configurazione:
+Si accede così alla schermata di impostazione:
-* Nel campo "Nome del wiki", digitare il nome del nostro wiki. Esempio "Documentazione tecnica"
-* Nel campo "Superuser", digitare il nome utente amministrativo. Esempio "admin"
-* Nel campo " Real name", digitare il nome reale dell'utente amministrativo.
-* Nel campo "E-Mail", digitare l'indirizzo e-mail dell'utente amministrativo.
-* Nel campo "Password", digitare la password sicura dell'utente amministrativo.
-* Nel campo "once again", digitare nuovamente la stessa password.
-* Nel menu a discesa " Initial ACL Policy", scegliere l'opzione più adatta al proprio ambiente.
-* Scegliere la casella di controllo appropriata della licenza sotto la quale si desidera inserire il contenuto.
-* Lasciare selezionata o deselezionare la casella di controllo "Una volta al mese, invia i dati anonimi di utilizzo agli sviluppatori di DokuWiki"
-* Fare clic sul pulsante "Salva"
+- Nel campo "Nome del wiki", digitare il nome del nostro wiki. Esempio "Documentazione tecnica"
+- Nel campo "Superuser", digitare il nome utente amministrativo. Esempio "admin"
+- Nel campo " Real name", digitare il nome reale dell'utente amministrativo.
+- Nel campo "E-Mail", digitare l'indirizzo e-mail dell'utente amministrativo.
+- Nel campo "Password", digitare la password sicura dell'utente amministrativo.
+- Nel campo "once again", digitare nuovamente la stessa password.
+- Nel menu a tendina "Initial ACL Policy", scegliere l'opzione più adatta all'ambiente
+- Scegliere la casella di controllo appropriata della licenza sotto la quale si desidera inserire i propri contenuti
+- Lasciare selezionata o deselezionare la casella di controllo "Una volta al mese, invia i dati anonimi di utilizzo agli sviluppatori di DokuWiki"
+- Fare clic sul pulsante "Salva"
Il wiki è ora pronto per l'aggiunta di contenuti.
## Mettere in sicurezza DokuWiki
-Oltre al criterio ACL appena creato, si consideri che:
-
-### Il vostro firewall
-
-!!! note "Nota"
-
- Nessuno di questi esempi di firewall fa alcuna ipotesi su quali altri servizi sia necessario consentire sul server Dokuwiki. Queste regole sono basate sul nostro ambiente di test e si occupano **SOLO** di consentire l'accesso a un blocco ip di rete LOCALE. È necessario un numero maggiore di servizi consentiti per un server di produzione.
-
-Prima di definire il tutto, è necessario pensare alla sicurezza. Innanzitutto, il server dovrebbe essere dotato di un firewall. Si presume che si stia utilizzando uno dei firewall indicati di seguito.
-
-Invece di consentire a tutti l'accesso al wiki, assumeremo che chiunque si trovi sulla rete 10.0.0.0/8 sia sulla vostra rete locale privata e che queste siano le uniche persone che hanno bisogno di accedere al sito.
-
-#### `iptables` Firewall (deprecato)
-
-!!! warning "Attenzione"
-
- Il processo del firewall `iptables` qui è stato deprecato in Rocky Linux 9. (ancora disponibile, ma probabilmente scomparirà nelle versioni future, forse già come Rocky Linux 9.1). Per questo motivo, si consiglia di passare alla procedura `firewalld` che segue se si sta eseguendo questa operazione su 9.0 o superiore.
+Oltre alla politica ACL appena creata, considerate quanto segue:
-Si noti che potrebbero essere necessarie altre regole per altri servizi su questo server e che questo esempio prende in considerazione solo i servizi web.
+### Il tuo firewall `firewalld`
-Per prima cosa, modificare o creare il file _/etc/firewall.conf:_
+!!! note
-`vi /etc/firewall.conf`
+ Questo esempio di firewall non tiene conto di quali altri servizi sia necessario consentire sul server DokuWiki. Queste regole si basano sull'ambiente di test e si occupano **SOLO** di consentire l'accesso a un blocco IP di rete LOCALE. Avrete bisogno di consentire più servizi per un server di produzione.
-```
-#IPTABLES=/usr/sbin/iptables
-
-# Unless specified, the default for OUTPUT is ACCEPT
-# The default for FORWARD and INPUT is DROP
-#
-echo " clearing any existing rules and setting default policy.."
-iptables -F INPUT
-iptables -P INPUT DROP
-# web ports
-iptables -A INPUT -p tcp -m tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT
-iptables -A INPUT -p tcp -m tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT
-iptables -A INPUT -i lo -j ACCEPT
-iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
-iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-
-/usr/sbin/service iptables save
-```
-
-Una volta creato lo script, assicuratevi che sia eseguibile:
-
-`chmod +x /etc/firewall.conf`
-
-Eseguire quindi lo script:
-
-`/etc/firewall.conf`
+Prima di definire il tutto, è necessario pensare alla sicurezza. Innanzitutto, il server dovrebbe essere dotato di un firewall.
-Questo eseguirà le regole e le salverà in modo che vengano ricaricate al successivo avvio di _iptables_ o al boot.
+Il presupposto è che chiunque si trovi sulla rete 10.0.0.0/8 sia sulla vostra rete locale privata e che queste siano le uniche persone che devono accedere al sito.
-#### `firewalld` Firewall
+Se si utilizza `firewalld` come firewall, utilizzare la seguente sintassi di regole:
-Se si usa `firewalld` come firewall (e a questo punto probabilmente si *dovrebbe*), si possono applicare gli stessi concetti usando la sintassi `firewall-cmd` di firewalld.
-
-Duplicheremo le regole `iptables` (sopra) con `regole firewalld`:
-
-```
+```bash
firewall-cmd --zone=trusted --add-source=10.0.0.0/8 --permanent
firewall-cmd --zone=trusted --add-service=http --add-service=https --permanent
firewall-cmd --reload
```
-Una volta aggiunte le regole di cui sopra e ricaricato il servizio firewalld, elencare la zona per assicurarsi che ci sia tutto ciò che serve:
+Una volta aggiunte le regole di cui sopra e ricaricato il servizio `firewalld`, elencare la zona per assicurarsi che ci sia tutto ciò che serve:
-```
+```bash
firewall-cmd --zone=trusted --list-all
```
-che dovrebbe mostrarvi qualcosa del genere se tutto quanto sopra ha funzionato correttamente:
+L'aspetto sarà simile a questo, se tutto funziona correttamente:
-```
+```bash
trusted (active)
target: ACCEPT
icmp-block-inversion: no
@@ -301,8 +280,8 @@ trusted (active)
### SSL
-Per una maggiore sicurezza, dovreste considerare l'utilizzo di un SSL, in modo che tutto il traffico web sia criptato. È possibile acquistare un SSL da un provider SSL o utilizzare [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
+Per una maggiore sicurezza, si dovrebbe prendere in considerazione l'utilizzo di un SSL per il traffico web crittografato. È possibile acquistare un certificato SSL da un fornitore di certificati SSL oppure utilizzare [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
## Conclusione
-Che si tratti di documentare processi, politiche aziendali, codici di programma o altro, un wiki è un ottimo modo per farlo. DokuWiki è un prodotto sicuro, flessibile, facile da usare, relativamente semplice da installare e distribuire, ed è un progetto stabile che esiste da molti anni.
+Che tu debba documentare processi, politiche aziendali, codice di programmazione o altro, un wiki è un ottimo strumento per farlo. DokuWiki è un prodotto sicuro, flessibile e facile da usare, relativamente semplice da installare e implementare. È anche un progetto stabile che esiste da molti anni.
diff --git a/docs/guides/cms/dokuwiki_server.md b/docs/guides/cms/dokuwiki_server.md
index fa2b1095f4..79888faa03 100644
--- a/docs/guides/cms/dokuwiki_server.md
+++ b/docs/guides/cms/dokuwiki_server.md
@@ -11,9 +11,9 @@ tags:
## Prerequisites and assumptions
- A Rocky Linux instance installed on a server, container, or virtual machine
-- Comfort with modifying configuration files from the command line with an editor (our examples here will use _vi_, but you can substitute your favorite editor)
+- Comfort with modifying configuration files from the command line with an editor (the examples here use `vi`, but you can substitute your favorite editor)
- Some knowledge about web applications and setup
-- Our example will use the [Apache Sites Enabled](../web/apache-sites-enabled.md) for setup. Review that if necessary.
+- Uses the [Apache Sites Enabled](../web/apache-sites-enabled.md) for setup. Review that if necessary.
- This document will use "example.com" as the domain name throughout
- You must be root or able to `sudo` to elevate privileges
- Assuming a fresh install of the operating system, however, that is not a requirement
@@ -28,7 +28,7 @@ DokuWiki is one of many wikis available, though it is a good one. One big pro is
## Installing dependencies
-The minimum PHP version for DokuWiki is now 7.2, which Rocky Linux 8 has by default. Because of the modules, Rocky Linux 8 can install up to version 8.2. Rocky Linux 9.0 has PHP version 8.0 by default and modules that allow up to 8.2. Note that some of the packages listed here might already exist:
+The minimum PHP version for DokuWiki is now 8. Rocky Linux 10 has PHP 8.3 by default. Note that some of the packages listed here might already exist:
```bash
dnf install tar wget httpd php php-gd php-xml php-json php-mbstring
@@ -40,7 +40,7 @@ Accept and install any additional listed dependencies that come with these packa
### Apache configuration
-If you have read through the [Apache Sites Enabled](../web/apache-sites-enabled.md) procedure, you know that you need to create a few directories. Start with the _httpd_ configuration directory additions:
+If you have read through the [Apache Sites Enabled](../web/apache-sites-enabled.md) procedure, you know that you need to create a few directories. Start with the `httpd` configuration directory additions:
```bash
mkdir -p /etc/httpd/{sites-available,sites-enabled}
@@ -87,7 +87,7 @@ That configuration file will be similar to this:
```
-Note that the "AllowOverride All" above allows the `.htaccess` (directory-specific security) file to work.
+Note that the "AllowOverride All" here allows the `.htaccess` (directory-specific security) file to work.
Go ahead and link the configuration file into sites-enabled, but do not start web services as yet:
@@ -95,7 +95,7 @@ Go ahead and link the configuration file into sites-enabled, but do not start we
ln -s /etc/httpd/sites-available/com.example /etc/httpd/sites-enabled/
```
-### Apache DocumentRoot
+### Apache _DocumentRoot_
You need to create your _DocumentRoot_. Do this with:
@@ -111,15 +111,15 @@ In your server, change to the root directory.
cd /root
```
-Since your environment is ready to go, get the latest stable version of DokuWiki. You can find this by going to [the download page](https://download.dokuwiki.org/), and on the left side of the page, under "Version," you will see "Stable (Recommended) (direct link)."
+Get the latest stable version of DokuWiki. You can find this by going to [the download page](https://download.dokuwiki.org/), and on the left side of the page, under "Version," you will see "Stable (Recommended) (direct link)."
-Right-click on the "(direct link)" portion of this and copy the link. In the console of your DokuWiki server, type `wget` and a space and then paste your copied link into the terminal. You should get something similar to this:
+Right-click the "(direct link)" and copy the link. In the console of your DokuWiki server, type `wget` and a space and then paste your copied link into the terminal. You should get something similar to this:
```bash
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
```
-Before we decompress the archive, examine the contents with `tar ztf`:
+Before you decompress the archive, examine the contents with `tar ztf`:
```bash
tar ztvf dokuwiki-stable.tgz
@@ -135,23 +135,23 @@ dokuwiki-2020-07-29/inc/lang/fr/recent.txt
... (more below)
```
-You do not want that leading named directory when decompressing the archive, so you will use some options with `tar` to exclude it. The first option is the "--strip-components=1" that removes the leading directory. The second option is the "-C" option, which tells `tar` where you want the archive decompressed. The decompression will be similar to this:
+You do not want that leading named directory when decompressing the archive, so use some options with `tar` to exclude it. The first option is the `--strip-components=1` that removes the leading directory. The second option is the `-C` option, which tells `tar` where you want the archive decompressed. The decompression will be similar to this:
```bash
tar xzf dokuwiki-stable.tgz --strip-components=1 -C /var/www/sub-domains/com.example/html/
```
-Once you have run this command, all of DokuWiki should be in your _DocumentRoot_.
+Once you run this command, all of DokuWiki should be in your _DocumentRoot_.
-You need to make a copy of the _.htaccess.dist_ file that came with DokuWiki and keep the old one there, in case you need to revert to the original.
+You need to make a copy of the `.htaccess.dist` file that came with DokuWiki, and keep the old one in case you need to revert to the original.
-In the process, you will change this file's name to _.htaccess_. This is what _apache_ will be looking for. To do this:
+In the process, you will change the name to `.htaccess`. This is what _apache_ will be looking for. To do this:
```bash
cp /var/www/sub-domains/com.example/html/.htaccess{.dist,}
```
-You need to change ownership of the new directory and its files to the _apache_ user and group:
+Change ownership of the new directory and its files to the _apache_ user and group:
```bash
chown -Rf apache.apache /var/www/sub-domains/com.example/html
@@ -159,15 +159,15 @@ chown -Rf apache.apache /var/www/sub-domains/com.example/html
## Setting up DNS or `/etc/hosts`
-Before you can access the DokuWiki interface, you must set the name resolution for this site. You can use your _/etc/hosts_ file for testing purposes.
+Before you can access the DokuWiki interface, you must set the name resolution for this site. You can use your `/etc/hosts` file for testing purposes.
-In this example, assume that DokuWiki will run on a private IPv4 address of 10.56.233.179. Assume you are also modifying the _/etc/hosts_ file on a Linux workstation. To do this, run:
+In this example, assume that DokuWiki will run on a private IPv4 address of 10.56.233.179. Assume you are also modifying the `/etc/hosts` file on a Linux workstation. To do this, run:
```bash
sudo vi /etc/hosts
```
-Then change your host file to look similar to this (note the IP address above in the example):
+Then change your host file to look similar to this (note the IP address earlier in the example):
```bash
127.0.0.1 localhost
@@ -186,7 +186,7 @@ Once you have finished testing and are ready to take things live for everyone, y
## Starting `httpd`
-Before you start _httpd_, test to make sure that your configuration is OK:
+Before you start `httpd`, test to make sure that your configuration is OK:
```bash
httpd -t
@@ -198,7 +198,7 @@ You should get:
Syntax OK
```
-If so, you should be ready to start _httpd_ and then finish the setup. Start by enabling _httpd_ to start on boot:
+If so, you should be ready to start `httpd` and then finish the setup. Start by enabling `httpd` to start on boot:
```bash
systemctl enable httpd
@@ -218,7 +218,7 @@ The next step is to open up a web browser and type this in the address bar:
This will bring you to the setup screen:
-- In the "Wiki Name" field, type the name for our wiki. Example "Technical Documentation"
+- In the "Wiki Name" field, type the name for your wiki. Example "Technical Documentation"
- In the "Superuser" field, type the administrative username. Example "admin"
- In the "Real name" field, type the real name of the administrative user
- In the "E-Mail" field, type the email address of the administrative user
@@ -253,7 +253,7 @@ firewall-cmd --zone=trusted --add-service=http --add-service=https --permanent
firewall-cmd --reload
```
-Once you have the above rules added and the `firewalld` service reloaded, list out your zone to make sure that everything is there that you need:
+Once you have these rules added and the `firewalld` service reloaded, list out your zone to make sure that everything is there that you need:
```bash
firewall-cmd --zone=trusted --list-all
@@ -278,10 +278,10 @@ trusted (active)
rich rules:
```
-### SSL
+### SSL/TLS
-You should consider using an SSL for encrypted web traffic for the best security. You can purchase an SSL from an SSL provider or use [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
+You should consider using an SSL/TLS for encrypted web traffic for the best security. You can purchase an SSL/TLS certificate from an SSL/TLS provider or use [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
## Conclusion
-Whether you need to document processes, company policies, program code, or something else, a wiki is a great way to do it. DokuWiki is a secure, flexible, easy-to-use product that is also relatively easy to install and deploy. It is also a stable project that has been around for many years.
+Whether you need to document processes, company policies, program code, or something else, a wiki is a great way to do it. DokuWiki is a secure, flexible, easy-to-use product that is also straightforward to install and deploy. It is also a stable project that has been around for many years.
diff --git a/docs/guides/cms/mediawiki.de.md b/docs/guides/cms/mediawiki.de.md
new file mode 100644
index 0000000000..d15a28ea66
--- /dev/null
+++ b/docs/guides/cms/mediawiki.de.md
@@ -0,0 +1,253 @@
+---
+title: MediaWiki
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 10.0
+tags:
+ - cms
+---
+
+## Einleitung
+
+[MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) ist eine beliebte Open-Source-Wiki-Software-Engine, die unter anderem Websites wie `Wikipedia`, `Fandom` und `wikiHow` unterstützt.
+
+## Voraussetzungen
+
+Für die Verwendung dieses Verfahrens sind folgende Mindestanforderungen zu erfüllen:
+
+- Die Möglichkeit, Befehle als Root-Benutzer auszuführen oder `sudo` zu verwenden, um Berechtigungen zu erhöhen
+- Erfahrung mit einem Kommandozeilen-Editor. Der Autor verwendet hier `vi` oder `vim`, Sie können es aber durch Ihren bevorzugten Editor ersetzen
+
+## Apache-Installation
+
+Apache ist der Webserver, den Sie verwenden werden. Installieren Sie es mit:
+
+```bash
+dnf -y install httpd
+```
+
+Öffnen Sie anschließend die entsprechenden Firewall-Ports:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+sudo firewall-cmd --reload
+```
+
+## PHP-Installation
+
+!!! note
+
+ Wenn Sie Rocky Linux 8.x oder 9.x ausführen, ersetzen Sie in der Installationszeile des Remi-Pakets neben der Version „8“ oder „9“.
+
+Um `PHP` zu installieren, müssen Sie zuerst EPEL (Extra Packages for Enterprise Linux) installieren:
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Sie benötigen außerdem das Remi-Repository. Installieren Sie es wie folgt:
+
+```bash
+dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
+```
+
+Installieren Sie anschließend PHP und die benötigten Module:
+
+```bash
+dnf install -y dnf install php84-php-fpm php84-php-intl php84-php-mbstring php84-php-apcu php84-php-curl php84-php-mysql php84-php-xml
+```
+
+Aktivieren Sie PHP mit:
+
+```bash
+systemctl enable --now php84-php-fpm.service
+```
+
+## MariaDB-Installation
+
+You need MariaDB for the database. Installieren Sie es mit:
+
+```bash
+dnf install mariadb-server
+```
+
+Aktivieren Sie als Nächstes den `systemd`-Dienst `mariadb` und führen Sie den Setup-Assistenten aus:
+
+```bash
+systemctl enable --now mariadb
+mysql_secure_installation
+```
+
+Wenn Sie nach dem Root-Passwort gefragt werden, drücken Sie ++enter++ :
+
+```bash
+Enter current password for root (++enter++ for none):
+```
+
+Antworten Sie mit ++"n"++ auf die `unix_socket`-Authentifizierung:
+
+```bash
+Switch to unix_socket authentication [Y/n] n
+```
+
+Antworten Sie mit ++"Y"++ auf die Änderung des Root-Passworts und geben Sie das benötigte Root-Passwort ein:
+
+```bash
+Change the root password? [Y/n] Y
+New password:
+Re-enter new password:
+```
+
+Entfernen Sie die anonymen Benutzer und verbieten Sie Remote-`Root`-Anmeldungen:
+
+```bash
+Remove anonymous users? [Y/n] Y
+...
+Disallow root login remotely? [Y/n] Y
+```
+
+Entfernen Sie den Zugriff auf die Testdatenbank und laden Sie die Berechtigungstabellen neu:
+
+```bash
+Remove test database and access to it? [Y/n] Y
+...
+Reload privilege tables now? [Y/n] Y
+```
+
+Melden Sie sich bei MariaDB an mit:
+
+```bash
+mysql -u root -p
+```
+
+Geben Sie das zuvor erstellte Root-Passwort ein.
+
+Wenn Sie sich in der MariaDB-Konsole befinden, erstellen Sie die Datenbank für MediaWiki:
+
+```bash
+MariaDB [(none)]> create database mediawiki;
+```
+
+Als nächstes erstellen Sie den MediaWiki-Benutzer:
+
+```bash
+MariaDB [(none)]> create user 'mediawiki'@'localhost' identified by 'nchauhan11';
+```
+
+Erteilen Sie Berechtigungen für die MediaWiki-Datenbank:
+
+```bash
+grant all privileges on mediawiki.* to 'mediawiki'@'localhost';
+```
+
+Leeren Sie abschließend die Berechtigungen mit:
+
+```bash
+MariaDB [(none)]> flush privileges;
+```
+
+## MediaWiki-Installation
+
+Gehen Sie zum Verzeichnis „/var/www/“ und laden Sie MediaWiki herunter:
+
+```bash
+cd /var/www/
+wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.zip
+```
+
+MediaWiki entpacken und verschieben:
+
+```bash
+unzip mediawiki-1.44.0.zip
+mv mediawiki-1.44.0/* html/
+```
+
+Legen Sie die richtigen SELinux-Berechtigungen fest:
+
+```bash
+chown -R apache:apache /var/www/html
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
+restorecon -Rv /var/www/html
+```
+
+Apache aktivieren:
+
+```bash
+systemctl enable --now httpd
+```
+
+Öffnen Sie als Nächstes einen Browser mit der Adresse „http://Ihre_IP“ (ersetzen Sie „Ihre_IP“ durch Ihre IP-Adresse):
+
+
+
+Wählen Sie Ihre Sprache aus und klicken Sie auf **Continue**:
+
+
+
+Überprüfen Sie, ob die PHP-Konfiguration korrekt ist, scrollen Sie nach unten und klicken Sie auf **Continue**:
+
+
+
+Geben Sie nun die Datenbankinformationen wie folgt ein:
+
+- **Database host**: `localhost`
+
+- **Database name (no hyphens)**: `mediawiki` (or the database created in the **MariaDB** step)
+
+- **Database username:**: `mediawiki` (or the user created in the **MariaDB** step)
+
+- **Database password**: The password you created in the **MariaDB** step
+
+
+
+Klicken Sie auf **Continue**:
+
+
+
+Geben Sie auf der Seite **MediaWiki _Version_-Installation** Folgendes ein:
+
+- **URL host name**: Die gewünschte URL
+
+- **Name of Wiki**: Der gewünschte Wiki-Name
+
+- **Administrator account**/**Your username**: Der Administratorbenutzername, den Sie verwenden möchten
+
+- **Administrator account**/**Password (again)**: Das Administratorkennwort, das Sie verwenden möchten
+
+- **Administrator account**/**Email address**: E-Mail-Adresse des Administratorbenutzers
+
+Optional können Sie auch **Stellen Sie mir weitere Fragen** auswählen, um das Wiki zu optimieren. Der Einfachheit halber wählen Sie einfach **Mir ist schon langweilig, installieren Sie einfach das Wiki** und klicken Sie auf **Continue**:
+
+
+
+Klicken Sie auf **Continue**, um das Wiki zu installieren:
+
+
+
+MediaWiki richtet die Datenbanken ein. Wenn der Vorgang abgeschlossen ist, klicken Sie auf **Continue**:
+
+
+
+Ihr Browser lädt eine Datei `LocalSettings.php` herunter. Sie laden dies mit `sftp` auf Ihren Server hoch.
+
+Beispielsweise verwendet der Autor zum Hochladen dieser Datei seinen Fedora 42-Laptop. Gehen Sie dazu wie folgt vor:
+
+```bash
+sftp root@your_ip
+(Enter password)
+cd /var/www/html
+put LocalSettings.php
+```
+
+
+
+Klicken Sie abschließend auf **enter your wiki**:
+
+
+
+Sie haben jetzt eine neue MediaWiki-Installation.
+
+## Zusammenfassung
+
+Obwohl MediaWiki vor allem als Grundlage für Wikipedia bekannt ist, ist es auch als Content-Management-System nützlich, wenn Benutzer die Möglichkeit zum Bearbeiten von Seiten benötigen. MediaWiki ist eine gute Open-Source-Alternative zu Microsoft SharePoint.
diff --git a/docs/guides/cms/mediawiki.it.md b/docs/guides/cms/mediawiki.it.md
new file mode 100644
index 0000000000..73dc7e82a9
--- /dev/null
+++ b/docs/guides/cms/mediawiki.it.md
@@ -0,0 +1,253 @@
+---
+title: MediaWiki
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 10.0
+tags:
+ - cms
+---
+
+## Introduzione
+
+[MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) è un popolare motore software open source per wiki che alimenta siti come Wikipedia, Fandom e wikiHow, tra gli altri.
+
+## Prerequisiti e presupposti
+
+A seguire i requisiti minimi per seguire questa procedura:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Familiarità con un editor a riga di comando. L'autore utilizza `vi` o `vim`, ma è possibile sostituirli con il proprio editor preferito
+
+## Installazione di Apache
+
+Apache è il server web da utilizzare. Installarlo con:
+
+```bash
+dnf -y install httpd
+```
+
+Quindi, aprire le porte del firewall corrispondenti:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+sudo firewall-cmd --reload
+```
+
+## Installazione di PHP
+
+!!! note
+
+ Se state utilizzando Rocky Linux 8.x o 9.x, sostituite "8" o "9" accanto alla release nella riga di installazione del pacchetto Remi
+
+Per installare PHP, è necessario prima installare EPEL (Extra Packages for Enterprise Linux):
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+È necessario anche il repository Remi. Installarlo con quanto segue:
+
+```bash
+dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
+```
+
+Quindi installare PHP e i moduli necessari:
+
+```bash
+dnf install -y dnf install php84-php-fpm php84-php-intl php84-php-mbstring php84-php-apcu php84-php-curl php84-php-mysql php84-php-xml
+```
+
+Abilitare PHP con:
+
+```bash
+systemctl enable --now php84-php-fpm.service
+```
+
+## Installazione di MariaDB
+
+Per il database è necessario MariaDB. Installarlo con:
+
+```bash
+dnf install mariadb-server
+```
+
+Quindi abilitate il servizio `systemd` ed eseguite la configurazione guidata:
+
+```bash
+systemctl enable --now mariadb
+mysql_secure_installation
+```
+
+Quando viene richiesta la password di root, premere ++enter++ :
+
+```bash
+Enter current password for root (++enter++ for none):
+```
+
+Rispondere ++"n"++ all'autenticazione `unix_socket`:
+
+```bash
+Switch to unix_socket authentication [Y/n] n
+```
+
+Rispondere ++"Y"++ per cambiare la password di root e inserire la password di root necessaria:
+
+```bash
+Change the root password? [Y/n] Y
+New password:
+Re-enter new password:
+```
+
+Rimuovere gli utenti anonimi e disabilitare i login remoti di `root`:
+
+```bash
+Remove anonymous users? [Y/n] Y
+...
+Disallow root login remotely? [Y/n] Y
+```
+
+Rimuovere l'accesso al database di prova e ricaricare le tabelle dei privilegi:
+
+```bash
+Remove test database and access to it? [Y/n] Y
+...
+Reload privilege tables now? [Y/n] Y
+```
+
+Accedere a MariaDB con:
+
+```bash
+mysql -u root -p
+```
+
+Inserire la password di root creata in precedenza.
+
+Nella console di MariaDB, creare il database per MediaWiki:
+
+```bash
+MariaDB [(none)]> create database mediawiki;
+```
+
+Quindi, creare l'utente MediaWiki:
+
+```bash
+MariaDB [(none)]> create user 'mediawiki'@'localhost' identified by 'nchauhan11';
+```
+
+Concedere i privilegi sul database MediaWiki:
+
+```bash
+grant all privileges on mediawiki.* to 'mediawiki'@'localhost';
+```
+
+Infine, svuotare i privilegi con:
+
+```bash
+MariaDB [(none)]> flush privileges;
+```
+
+## Installazione di MediaWiki
+
+Andare nella directory `/var/www/` e scaricare MediaWiki:
+
+```bash
+cd /var/www/
+wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.zip
+```
+
+Decomprimere e spostare MediaWiki:
+
+```bash
+unzip mediawiki-1.44.0.zip
+mv mediawiki-1.44.0/* html/
+```
+
+Impostare i permessi SELinux corretti:
+
+```bash
+chown -R apache:apache /var/www/html
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
+restorecon -Rv /var/www/html
+```
+
+Abilitare Apache:
+
+```bash
+systemctl enable --now httpd
+```
+
+Quindi, aprire un browser su `http://your_ip` (sostituire `il your_ip` con il vostro indirizzo IP):
+
+
+
+Selezionare la lingua e fare clic su **Continua**:
+
+
+
+Verificare che la configurazione di PHP sia corretta, scorrere verso il basso e fare clic su **Continua**:
+
+
+
+A questo punto, inserite le informazioni del database come segue:
+
+- **Database host**: `localhost`
+
+- **Database name (senza trattini)**: `mediawiki` (o il database creato nel passo **MariaDB**)
+
+- **Database username:**: `mediawiki` (o l'utente creato nella fase **MariaDB**)
+
+- **Database password**: La password creata nella fase **MariaDB**
+
+
+
+Fare clic su **Continua**:
+
+
+
+Nella pagina **Installazione della versione MediaWiki**, inserisci quanto segue:
+
+- **URL host name**: L'URL desiderato
+
+- **Name of wiki**: Il nome del Wiki desiderato
+
+- **Administrator account**/**Your username**: Il nome utente dell'amministratore che si desidera utilizzare
+
+- **Administrator account**/**Password (di nuovo)**: La password di amministrazione che si desidera utilizzare
+
+- **Administrator account**/**Email address**: L'indirizzo e-mail dell'utente amministratore
+
+Facoltativamente, è possibile selezionare **Fammi altre domande** per perfezionare il Wiki. Per semplicità, selezionare **Sono già annoiato, basta installare il wiki** e fare clic su **Continua**:
+
+
+
+Fare clic su **Continua** per installare il Wiki:
+
+
+
+MediaWiki imposterà i database. Al termine, fare clic su **Continua**:
+
+
+
+Il browser scaricherà un file `LocalSettings.php`. Si caricherà il file sul server con `sftp`.
+
+A titolo di esempio, l'autore utilizzerà il proprio portatile Fedora 42 per caricare questo file. Per farlo:
+
+```bash
+sftp root@your_ip
+(Enter password)
+cd /var/www/html
+put LocalSettings.php
+```
+
+
+
+Infine, fare clic su **inserisci il tuo wiki**:
+
+
+
+Ora avete una nuova installazione di MediaWiki.
+
+## Conclusione
+
+Sebbene MediaWiki sia noto soprattutto per aver alimentato Wikipedia, è utile come sistema di gestione dei contenuti quando gli utenti devono poter modificare le pagine. MediaWiki è una buona alternativa open source a SharePoint di Microsoft.
diff --git a/docs/guides/cms/mediawiki.md b/docs/guides/cms/mediawiki.md
new file mode 100644
index 0000000000..4396056812
--- /dev/null
+++ b/docs/guides/cms/mediawiki.md
@@ -0,0 +1,253 @@
+---
+title: MediaWiki
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 10.0
+tags:
+ - cms
+---
+
+## Introduction
+
+[MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) is a popular open source Wiki software engine powering sites such as Wikipedia, Fandom, and wikiHow, among others.
+
+## Prerequisites and assumptions
+
+The following are the minimum requirements for using this procedure:
+
+* The ability to run commands as the root user or use `sudo` to elevate privileges
+* Familiarity with a command-line editor. The author is using `vi` or `vim` here, but substitute in your favorite editor
+
+## Installing Apache
+
+Apache is the web server you will use. Install it with:
+
+```bash
+dnf -y install httpd
+```
+
+Next, open the corresponding firewall ports:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+sudo firewall-cmd --reload
+```
+
+## Installing PHP
+
+!!! note
+
+ If you are running Rocky Linux 8.x or 9.x, substitute "8" or "9" next to the release in the Remi package install line.
+
+To install PHP, you need first to install the EPEL (Extra Packages for Enterprise Linux):
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+You also need the Remi repository. Install it with the following:
+
+```bash
+dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
+```
+
+Then install PHP and the required modules:
+
+```bash
+dnf install -y dnf install php84-php-fpm php84-php-intl php84-php-mbstring php84-php-apcu php84-php-curl php84-php-mysql php84-php-xml
+```
+
+Enable PHP with:
+
+```bash
+systemctl enable --now php84-php-fpm.service
+```
+
+## Installing MariaDB
+
+You need MariaDB for the database. Install it with:
+
+```bash
+dnf install mariadb-server
+```
+
+Next enable the `systemd` service and run the setup wizard:
+
+```bash
+systemctl enable --now mariadb
+mysql_secure_installation
+```
+
+When asked for the root password press ++enter++ :
+
+```bash
+Enter current password for root (++enter++ for none):
+```
+
+Answer ++"n"++ to `unix_socket` authentication:
+
+```bash
+Switch to unix_socket authentication [Y/n] n
+```
+
+ Answer ++"Y"++ to changing the root password and enter the needed root password:
+
+```bash
+Change the root password? [Y/n] Y
+New password:
+Re-enter new password:
+```
+
+Remove the anonymous users and disallow remote `root` logins:
+
+```bash
+Remove anonymous users? [Y/n] Y
+...
+Disallow root login remotely? [Y/n] Y
+```
+
+Remove access to the test database and reload privilege tables:
+
+```bash
+Remove test database and access to it? [Y/n] Y
+...
+Reload privilege tables now? [Y/n] Y
+```
+
+Login to MariaDB with:
+
+```bash
+mysql -u root -p
+```
+
+Enter the root password you created earlier.
+
+When you are in the MariaDB console, create the database for MediaWiki:
+
+```bash
+MariaDB [(none)]> create database mediawiki;
+```
+
+Next, create the MediaWiki user:
+
+```bash
+MariaDB [(none)]> create user 'mediawiki'@'localhost' identified by 'nchauhan11';
+```
+
+Grant privileges on the MediaWiki database:
+
+```bash
+grant all privileges on mediawiki.* to 'mediawiki'@'localhost';
+```
+
+Finally, flush the privileges with:
+
+```bash
+MariaDB [(none)]> flush privileges;
+```
+
+## Installing MediaWiki
+
+Go to the `/var/www/` directory and download MediaWiki:
+
+```bash
+cd /var/www/
+wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.zip
+```
+
+Unzip and move MediaWiki:
+
+```bash
+unzip mediawiki-1.44.0.zip
+mv mediawiki-1.44.0/* html/
+```
+
+Set the correct SELinux permissions:
+
+```bash
+chown -R apache:apache /var/www/html
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
+restorecon -Rv /var/www/html
+```
+
+Enable Apache:
+
+```bash
+systemctl enable --now httpd
+```
+
+Next, open a browser to `http://your_ip` (Replace `your_ip` with your IP address):
+
+
+
+Select your language and click **Continue**:
+
+
+
+Check to see if the PHP configuration is correct, scroll down and click **Continue**:
+
+
+
+Now, enter the database information as follows:
+
+* **Database host**: `localhost`
+
+* **Database name (no hyphens)**: `mediawiki` (or the database created in the **MariaDB** step)
+
+* **Database username:**: `mediawiki` (or the user created in the **MariaDB** step)
+
+* **Database password**: The password you created in the **MariaDB** step
+
+
+
+Click **Continue**:
+
+
+
+In the **MediaWiki *version* installation** page, enter the following:
+
+* **URL host name**: The URL you want
+
+* **Name of wiki**: The Wiki name you want
+
+* **Administrator account**/**Your username**: The admin username you want to use
+
+* **Administrator account**/**Password (again)**: The admin password you want to use
+
+* **Administrator account**/**Email address**: The email address of the admin user
+
+Optionally, you can also select **Ask me more questions** to fine-tune the Wiki. For simplicity's sake, just select **I'm bored already, just install the wiki** and click **Continue**:
+
+
+
+Click **Continue** to install the Wiki:
+
+
+
+MediaWiki will set up the databases. When it finishes, click **Continue**:
+
+
+
+Your browser will download a `LocalSettings.php` file. You will upload this to your server with `sftp`.
+
+As an example, the author will use their Fedora 42 laptop to upload this file. To do so:
+
+```bash
+sftp root@your_ip
+(Enter password)
+cd /var/www/html
+put LocalSettings.php
+```
+
+
+
+Finally, click **enter your wiki**:
+
+
+
+You now have a fresh MediaWiki installation.
+
+## Conclusion
+
+While MediaWiki is best known for powering Wikipedia, it is useful as a content management system where users need the ability to edit pages. MediaWiki is a good open source alternative to Microsoft's SharePoint.
diff --git a/docs/guides/cms/mediawiki.uk.md b/docs/guides/cms/mediawiki.uk.md
new file mode 100644
index 0000000000..6fd28634a1
--- /dev/null
+++ b/docs/guides/cms/mediawiki.uk.md
@@ -0,0 +1,253 @@
+---
+title: MediaWiki
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 10.0
+tags:
+ - cms
+---
+
+## Вступ
+
+[MediaWiki](https://www.mediawiki.org/wiki/MediaWiki) — це популярний програмний движок з відкритим кодом для вікі-сайтів, який використовується, зокрема, на таких сайтах, як Вікіпедія, Fandom та wikiHow.
+
+## Передумови та припущення
+
+Нижче наведено мінімальні вимоги для використання цієї процедури:
+
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
+- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі
+
+## Встановлення Apache
+
+Apache — це веб-сервер, який ви будете використовувати. Встановіть за допомогою:
+
+```bash
+dnf -y install httpd
+```
+
+Далі відкрийте відповідні порти брандмауера:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+sudo firewall-cmd --reload
+```
+
+## Встановлення PHP
+
+!!! note
+
+ Якщо ви використовуєте Rocky Linux 8.x або 9.x, замініть «8» або «9» поруч із версією в рядку інсталяції пакета Remi.
+
+Щоб встановити PHP, спочатку потрібно встановити EPEL (додаткові пакети для Enterprise Linux):
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Вам також знадобиться репозиторій Remi. Встановіть його за допомогою:
+
+```bash
+dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
+```
+
+Потім встановіть PHP і необхідні модулі:
+
+```bash
+dnf install -y dnf install php84-php-fpm php84-php-intl php84-php-mbstring php84-php-apcu php84-php-curl php84-php-mysql php84-php-xml
+```
+
+Увімкніть PHP за допомогою:
+
+```bash
+systemctl enable --now php84-php-fpm.service
+```
+
+## Встановлення MariaDB
+
+Для бази даних вам потрібна MariaDB. Встановіть за допомогою:
+
+```bash
+dnf install mariadb-server
+```
+
+Далі увімкніть службу `systemd` і запустіть майстер налаштування:
+
+```bash
+systemctl enable --now mariadb
+mysql_secure_installation
+```
+
+Коли буде запитано пароль root, натисніть ++enter++ :
+
+```bash
+Введіть поточний пароль для root (++enter++ для відсутності пароля):
+```
+
+Відповідь ++«n»++ на аутентифікацію `unix_socket`:
+
+```bash
+Перейти до автентифікації unix_socket [Y/n] n
+```
+
+Відповідайте ++«Y»++ на зміну пароля root і введіть необхідний пароль root:
+
+```bash
+Change the root password? [Y/n] Y
+New password:
+Re-enter new password:
+```
+
+Видаліть анонімних користувачів і забороніть віддалений вхід під обліковим записом `root`:
+
+```bash
+Remove anonymous users? [Y/n] Y
+...
+Disallow root login remotely? [Y/n] Y
+```
+
+Видаліть доступ до тестової бази даних і перезавантажте таблиці привілеїв:
+
+```bash
+Remove test database and access to it? [Y/n] Y
+...
+Reload privilege tables now? [Y/n] Y
+```
+
+Увійдіть в MariaDB за допомогою:
+
+```bash
+mysql -u root -p
+```
+
+Введіть пароль root, який ви створили раніше.
+
+У консолі MariaDB створіть базу даних для MediaWiki:
+
+```bash
+MariaDB [(none)]> create database mediawiki;
+```
+
+Далі створіть користувача MediaWiki:
+
+```bash
+MariaDB [(none)]> create user 'mediawiki'@'localhost' identified by 'nchauhan11';
+```
+
+Надати привілеї в базі даних MediaWiki:
+
+```bash
+grant all privileges on mediawiki.* to 'mediawiki'@'localhost';
+```
+
+Нарешті, скиньте привілеї за допомогою:
+
+```bash
+MariaDB [(none)]> flush privileges;
+```
+
+## Встановлення MediaWiki
+
+Перейдіть до каталогу `/var/www/` і завантажте MediaWiki:
+
+```bash
+cd /var/www/
+wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.0.zip
+```
+
+Розпакуйте та перемістіть MediaWiki:
+
+```bash
+unzip mediawiki-1.44.0.zip
+mv mediawiki-1.44.0/* html/
+```
+
+Встановіть правильні дозволи SELinux:
+
+```bash
+chown -R apache:apache /var/www/html
+semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
+restorecon -Rv /var/www/html
+```
+
+Увімкнути Apache:
+
+```bash
+systemctl enable --now httpd
+```
+
+Далі відкрийте браузер і перейдіть за адресою `http://your_ip` (замість `your_ip` вкажіть свою IP-адресу):
+
+
+
+Виберіть мову та натисніть **Continue**:
+
+
+
+Перевірте, чи правильна конфігурація PHP, прокрутіть вниз і натисніть **Continue**:
+
+
+
+Тепер введіть інформацію про базу даних наступним чином:
+
+- **Хост бази даних**: `localhost`
+
+- **Назва бази даних (без дефісів)**: `mediawiki` (або база даних, створена на кроці **MariaDB**)
+
+- **Ім'я користувача бази даних:**: `mediawiki` (або користувач, створений на кроці **MariaDB**)
+
+- **Пароль бази даних**: пароль, який ви створили на кроці **MariaDB**
+
+
+
+Натисніть **Continue**:
+
+
+
+На сторінці **Встановлення версії MediaWiki** введіть наступне:
+
+- **Ім'я хоста URL**: URL, який ви хочете
+
+- **Назва вікі**: Назва вікі, яку ви хочете
+
+- **Обліковий запис адміністратора**/**Ваше ім'я користувача**: Ім'я користувача адміністратора, яке ви хочете використовувати
+
+- **Обліковий запис адміністратора**/**Пароль (ще раз)**: пароль адміністратора, який ви хочете використовувати
+
+- **Обліковий запис адміністратора**/**Адреса електронної пошти**: Адреса електронної пошти адміністратора
+
+За бажанням ви також можете вибрати **Запитайте мене більше питань**, щоб налаштувати Wiki. Для простоти виберіть **Мені вже нудно, просто встановіть вікі** і натисніть **Продовжити**:
+
+
+
+Натисніть **Продовжити**, щоб встановити Wiki:
+
+
+
+MediaWiki налаштує бази даних. Коли процес завершиться, натисніть **Продовжити**:
+
+
+
+Ваш браузер завантажить файл `LocalSettings.php`. Ви завантажите це на свій сервер за допомогою `sftp`.
+
+Як приклад, автор використає свій ноутбук Fedora 42 для завантаження цього файлу. Для цього:
+
+```bash
+sftp root@your_ip
+(Enter password)
+cd /var/www/html
+put LocalSettings.php
+```
+
+
+
+Нарешті, натисніть **увійдіть у свою вікі**:
+
+
+
+Тепер у вас є свіжа інсталяція MediaWiki.
+
+## Висновок
+
+Хоча MediaWiki найбільш відома як платформа для Вікіпедії, вона також є корисною як система управління контентом, де користувачі мають можливість редагувати сторінки. MediaWiki — це хороша альтернатива SharePoint від Microsoft з відкритим кодом.
diff --git a/docs/guides/cms/wordpress-on-lamp.it.md b/docs/guides/cms/wordpress-on-lamp.it.md
new file mode 100644
index 0000000000..b09632e017
--- /dev/null
+++ b/docs/guides/cms/wordpress-on-lamp.it.md
@@ -0,0 +1,243 @@
+---
+title: WordPress su LAMP
+author: Joseph Brinkman
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.2
+---
+
+## Prerequisiti
+
+- Un sistema Rocky Linux 9.x
+- privilegi sudo
+
+## Introduzione
+
+WordPress è un Content Management System (CMS) open source noto per la [famosa installazione in 5 minuti](https://developer.wordpress.org/advanced-administration/before-install/howto-install/). È comunemente distribuito su uno stack LAMP (Linux, Apache, MySQL, PHP). Sebbene siano ampiamente disponibili strumenti efficienti per lo sviluppo locale come [XAMPP](https://www.apachefriends.org/), [Vagrant](https://www.vagrantup.com/) e [wp-env](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-env/), l'installazione manuale di WordPress su LAMP per lo sviluppo locale rappresenta un valido approccio pratico per i principianti in cerca di maggiori conoscenze.
+
+Questa guida presuppone che abbiate già installato Rocky Linux 9.x, coprendo quindi la parte “L” dello stack LAMP.
+
+Questa guida illustra come installare manualmente WordPress con lo stack LAMP su una macchina Rocky Linux 9. Non si tratta di una guida pronta per la produzione, ma di un punto di partenza su cui basarsi. La configurazione LAMP inclusa in questa guida non è consigliata per nulla al di fuori dello sviluppo locale, se non si adottano prima misure di sicurezza adeguate che richiedono una configurazione aggiuntiva.
+
+## Aggiornamento dei pacchetti di sistema
+
+Assicuratevi che i pacchetti del sistema siano aggiornati:
+
+```bash
+ sudo dnf upgrade -y
+```
+
+## Installare Apache
+
+Apache è un server web che servirà il vostro sito WordPress. Installarlo con quanto segue:
+
+```bash
+ sudo dnf install httpd -y
+```
+
+## Abilitare l'avvio di Apache all'avvio
+
+Dopo aver installato Apache, abilitarlo in modo che si avvii automaticamente all'avvio:
+
+```bash
+ sudo systemctl enable --now httpd
+```
+
+## Installazione di MariaDB
+
+WordPress memorizza i contenuti dinamici in un database MySQL. MariaDB è un fork open source di MySQL. Installarlo con quanto segue:
+
+```bash
+ sudo dnf install mariadb-server -y
+```
+
+## Attivare MariaDB server
+
+Dopo aver installato MariaDB, abilitarlo in modo che si avvii automaticamente all'avvio:
+
+```bash
+ sudo systemctl enable --now mariadb
+```
+
+## Modulo Sicurezza di MariaDB
+
+Eseguire lo script `mysql_secure_installation`:
+
+```bash
+ sudo mysql_secure_installation --use-default
+```
+
+Questo script esegue le seguenti operazioni:
+
+1. Imposta una password di root, se non è già stata impostata.
+
+2. Rimuove gli utenti anonimi
+
+3. Disabilita l'accesso a root remoto
+
+4. Rimuove l'accesso al database di prova
+
+5. Ricarica i privilegi
+
+## Installazione di PHP
+
+PHP è il linguaggio di scripting utilizzata per interagire con il database MySQL ed eseguire azioni dinamiche. È molto utilizzato nel core di WordPress, nei temi e nei plugin.
+
+Installare PHP e i pacchetti necessari per connettersi a MySQL:
+
+```bash
+ sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring
+```
+
+Dopo aver installato PHP, è necessario ricaricare Apache per installarlo come modulo Apache e leggere i suoi file di configurazione:
+
+## Riavviare Apache
+
+```bash
+ sudo systemctl restart httpd
+```
+
+## Recuperare e scompattare WordPress
+
+Utilizzate `curl` per scaricare l'ultima versione di WordPress:
+
+```bash
+ curl -O https://wordpress.org/latest.tar.gz
+```
+
+Utilizzare `tar` per estrarre l'archivio scaricato:
+
+```bash
+ tar -xzvf latest.tar.gz
+```
+
+Copiare i file di WordPress nella directory pubblica predefinita di Apache:
+
+```bash
+ sudo cp -r wordpress/* /var/www/html
+```
+
+## Impostare l'Owner
+
+Rendere Apache il proprietario dei file:
+
+```bash
+ sudo chown -R apache:apache /var/www/html/
+```
+
+Impostare i permessi per i file di WordPress:
+
+## Impostare i permessi
+
+```bash
+ sudo chmod -R 755 /var/www/html/
+```
+
+Accedere al client MySQL:
+
+## Configurare il database
+
+```bash
+ sudo mysql -u root -p
+```
+
+Create un nuovo database per il vostro sito web WordPress:
+
+## Crea un nuovo database
+
+```bash
+ CREATE DATABASE LOCALDEVELOPMENTENV;
+```
+
+Creare un utente con una password per il database:
+
+!!! note
+
+```
+Si consiglia vivamente di utilizzare una password più forte.
+```
+
+## Creare un nuovo utente e una nuova password
+
+```bash
+ CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
+```
+
+Concedete tutti i privilegi del database di WordPress all'utente appena creato:
+
+```bash
+ GRANT ALL PRIVILEGES ON LOCALDEVELOPMENTENV.* TO 'admin'@'localhost';
+```
+
+Eseguire il flush dei privilegi per garantire l'applicazione delle modifiche
+
+```bash
+ FLUSH PRIVILEGES;
+```
+
+Uscire dal client MySQL:
+
+```bash
+ EXIT;
+```
+
+## Configurare Wordpress
+
+Copiare il template `wp-config-sample.php` e rinominarlo:
+
+```bash
+ sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
+```
+
+Aprire il file `wp-config.php` con un editor di testo a scelta:
+
+```bash
+ sudo vi /var/www/html/wp-config.php
+```
+
+## Sostituire le impostazioni del database
+
+È necessario definire le seguenti costanti nel file `wp-config.php`:
+
+```bash
+ define ('DB_NAME', 'LOCALDEVELOPMENTENV');
+ define ('DB_USER', 'admin');
+ define ('DB_PASSWORD', 'password');
+```
+
+## Configurare il firewall
+
+Aprire i servizi HTTP e HTTPS nel firewall:
+
+```bash
+ sudo firewall-cmd --add-service=http --add-service=https
+```
+
+Ricaricare `firewalld` per far sì che le modifiche abbiano effetto:
+
+```bash
+ sudo systemctl reload firewalld
+```
+
+## Impostazioni di SELinux
+
+Per consentire ad Apache l'accesso in lettura e scrittura ai file di WordPress, eseguite questo comando:
+
+```bash
+ chcon -R -t httpd_sys_rw_content_t /var/www/html/
+```
+
+Per consentire ad Apache di effettuare connessioni di rete, eseguire questo comando:
+
+!!! Note
+
+```
+Il flag `-P` rende questa configurazione persistente tra i vari riavvii
+```
+
+```bash
+ setsebool -P httpd_can_network_connect true
+```
+
+## Conclusione
+
+Per concludere l'installazione, ora dovreste essere in grado di connettervi a WordPress attraverso la rete utilizzando il nome host o l'indirizzo IP privato del server. Ricordate che questa configurazione è destinata principalmente a scopi di sviluppo locale. Per l'uso in produzione, è necessario configurare quanto segue: impostare un nome di dominio, installare un certificato SSL, migliorare la sicurezza del server Apache, mettere a punto la configurazione SELinux e implementare i backup. Tuttavia, seguendo questa guida si è creato un solido punto di partenza per lo sviluppo di WordPress su uno stack LAMP.
diff --git a/docs/guides/communications/asterisk_installation.it.md b/docs/guides/communications/asterisk_installation.it.md
index 0a335586e2..6263634748 100644
--- a/docs/guides/communications/asterisk_installation.it.md
+++ b/docs/guides/communications/asterisk_installation.it.md
@@ -16,41 +16,41 @@ tags:
**Che cos'è Asterisk?**
-Asterisk è un framework open source per la creazione di applicazioni di comunicazione. Inoltre, Asterisk trasforma un normale computer in un server di comunicazione, oltre ad alimentare sistemi IP PBX, gateway VoIP, server per conferenze e altre soluzioni personalizzate. È utilizzato da piccole imprese, grandi aziende, call center, vettori e agenzie governative in tutto il mondo.
+Asterisk è un framework open-source per la creazione di applicazioni di comunicazione. Inoltre, Asterisk trasforma un normale computer in un server di comunicazione, alimenta sistemi PBX IP, gateway VoIP, server per conferenze e altre soluzioni personalizzate. È utilizzato da piccole imprese, grandi aziende, call center, vettori e agenzie governative in tutto il mondo.
-Asterisk è gratuito e open source ed è sponsorizzato da [Sangoma](https://www.sangoma.com/). Sangoma offre anche prodotti commerciali che utilizzano Asterisk come base, a seconda della vostra esperienza e del vostro budget, l'utilizzo di questi prodotti potrebbe essere più vantaggioso rispetto alla creazione di un proprio sistema. Solo voi e la vostra organizzazione conoscete la risposta.
+Asterisk è gratuito e open source ed è sponsorizzato da [Sangoma](https://www.sangoma.com/). Sangoma offre anche prodotti commerciali che utilizzano Asterisk sotto il cofano e, a seconda della vostra esperienza e del vostro budget, l'utilizzo di questi prodotti potrebbe essere più vantaggioso rispetto alla creazione di un proprio sistema. Solo voi e la vostra organizzazione conoscete la risposta.
-Va notato che questa guida richiede che l'amministratore faccia una discreta quantità di ricerche per conto proprio. L'installazione di un server di comunicazione non è un processo difficile, ma la sua gestione può essere piuttosto complicata. Sebbene questa guida renda il vostro server operativo, non sarà completamente pronto per l'uso in produzione.
+Va notato che questa guida richiede che l'amministratore faccia una discreta quantità di ricerche per conto proprio. L'installazione di un server di comunicazione non è difficile, ma la sua gestione può essere piuttosto complicata. Sebbene questa guida renda il vostro server operativo, non sarà pronto per l'uso in produzione.
## Prerequisiti
Per completare questa guida sono necessarie almeno le seguenti competenze e strumenti:
-* Una macchina con Rocky Linux
-* Un livello di comfort nella modifica dei file di configurazione e nell'emissione di comandi dalla riga di comando
-* Conoscenza dell'uso di un editor a riga di comando (qui usiamo `vi`, ma potete sostituirlo con il vostro editor preferito)
-* È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale
-* I repository EPEL di Fedora
-* La possibilità di accedere come root o di eseguire comandi di root con _sudo_. Tutti i comandi qui presenti presuppongono un utente con diritti _sudo_, ma i processi di configurazione e di compilazione vengono eseguiti con `sudo -s`.
-* Per ottenere l'ultima versione di Asterisk, è necessario utilizzare `curl` o `wget`. Questa guida utilizza `wget`, ma se si desidera utilizzare la stringa `curl` appropriata, è possibile sostituirla.
+- Una macchina con Rocky Linux
+- Un livello di comfort nella modifica dei file di configurazione e nell'emissione di comandi dalla riga di comando
+- Conoscenza dell'uso di un editor a riga di comando (qui usiamo `vi`, ma potete sostituirlo con il vostro editor preferito)
+- È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale
+- I repository EPEL di Fedora
+- La possibilità di accedere come root o di eseguire comandi di root con `sudo`. Tutti i comandi qui riportati presuppongono un utente con diritti `sudo`. Tuttavia, i processi di configurazione e compilazione vengono eseguiti con `sudo -s`.
+- Per ottenere l'ultima versione di Asterisk, è necessario utilizzare `curl` o `wget`. Questa guida utilizza `wget`, ma se preferite potete sostituire la stringa `curl` appropriata.
## Aggiornare Rocky Linux e installare `wget`
-```
+```bash
sudo dnf -y update
```
-In questo modo il server verrà aggiornato con tutti i pacchetti rilasciati o aggiornati dall'ultimo aggiornamento o installazione. Quindi eseguire:
+In questo modo il server sarà aggiornato con tutti i pacchetti rilasciati o aggiornati dall'ultimo aggiornamento o installazione. Quindi eseguire:
-```
+```bash
sudo dnf install wget
```
-## Impostare l'Hostname
+## Impostare il nome dell'host
Impostate il vostro hostname sul dominio che userete per Asterisk.
-```
+```bash
sudo hostnamectl set-hostname asterisk.example.com
```
@@ -58,19 +58,19 @@ sudo hostnamectl set-hostname asterisk.example.com
Per prima cosa, installare EPEL (Extra Packages for Enterprise Linux):
-```
+```bash
sudo dnf -y install epel-release
```
Quindi, attivare i PowerTools di Rocky Linux:
-```
+```bash
sudo dnf config-manager --set-enabled powertools
```
## Installare gli strumenti di sviluppo
-```
+```bash
sudo dnf group -y install "Development Tools"
sudo dnf -y install git wget
```
@@ -81,36 +81,36 @@ sudo dnf -y install git wget
Prima di scaricare questo script, assicuratevi di avere la versione più recente. Per farlo, visitate il [link per il download di Asterisk qui](http://downloads.asterisk.org/pub/telephony/asterisk/) e cercate l'ultima versione di Asterisk. Quindi copiate la posizione del link. Al momento della stesura di questo documento, la build più recente era la seguente:
-```
+```bash
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
tar xvfz asterisk-20-current.tar.gz
cd asterisk-20.0.0/
```
-Prima di eseguire il comando `install_prereq` (e gli altri comandi), è necessario essere superutente o root. A questo punto è molto più facile entrare in _sudo_ in modo permanente per un po'. Usciremo da _sudo_ più avanti nel processo:
+Prima di eseguire il comando `install_prereq` (e gli altri comandi), è necessario essere superutente o root. A questo punto è molto più facile entrare in `sudo` in modo permanente per un po'. Si uscirà da `sudo` più avanti nel processo:
-```
+```bash
sudo -s
contrib/scripts/install_prereq install
```
Al termine dello script si dovrebbe vedere quanto segue:
-```
+```text
#############################################
## install completed successfully
#############################################
```
-Ora che tutti i pacchetti necessari sono installati, il prossimo passo è configurare e costruire Asterisk:
+Ora che avete tutti i pacchetti necessari, il prossimo passo è configurare e costruire Asterisk:
-```
+```bash
./configure --libdir=/usr/lib64 --with-jansson-bundled=yes
```
-Supponendo che la configurazione venga eseguita senza problemi, si dovrebbe ottenere un grande emblema ASCII di Asterisk, seguito dal seguente messaggio su Rocky Linux:
+Supponendo che la configurazione venga eseguita senza problemi, si otterrà un grande simbolo ASCII di Asterisk, seguito dal seguente messaggio su Rocky Linux:
-```
+```bash
configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : x86_64
@@ -120,9 +120,9 @@ configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
### Set Asterisk menu options [For more options]
-Questa è una delle fasi in cui l'amministratore deve fare i compiti a casa. Ci sono molte opzioni di menu che possono essere necessarie o meno. Eseguire il seguente comando:
+Questa è una delle fasi in cui l'amministratore deve fare i compiti a casa. Esistono molte opzioni di menu che potrebbero non essere necessarie. Eseguire il seguente comando:
-```
+```bash
make menuselect
```
@@ -130,129 +130,129 @@ si aprirà una schermata di selezione del menu:

-Esaminate attentamente queste opzioni e scegliete in base alle vostre esigenze. Come già detto, potrebbe essere necessario un ulteriore lavoro a casa.
+Esaminate attentamente queste opzioni e scegliete in base alle vostre esigenze. Come già detto, questo richiederà un ulteriore lavoro a casa.
-### Creare e Installare Asterisk
+### Compilare ed installare Asterisk
-Per costruire, vogliamo eseguire i seguenti comandi in successione:
+Per compilare, eseguire i seguenti comandi in successione:
-```
+```bash
make
make install
```
-L'installazione della documentazione non è obbligatoria, ma a meno che non siate esperti di server di comunicazione, è consigliabile installarla:
+L'installazione della documentazione non è obbligatoria, ma a meno che non siate esperti di server di comunicazione, dovrete installarla:
-```
+```bash
make progdocs
```
-Quindi installare il PBX di base e configurare il sistema. Il PBX di base è proprio questo, molto semplice! Probabilmente sarà necessario apportare delle modifiche per far funzionare il PBX come si desidera.
+Quindi, installare il PBX di base e configurarlo. Il PBX di base è proprio questo, molto semplice! Probabilmente sarà necessario apportare delle modifiche per far funzionare il PBX come si desidera.
-```
+```bash
make basic-pbx
make config
```
## Configurazione di Asterisk
-### Creare un Utente e un Gruppo
+### Creare un utente e un gruppo
-Avrete bisogno di un utente specifico solo per asterisk. Tanto vale crearlo subito.
+Avrete bisogno di un utente e di un gruppo specifici solo per Asterisk. Createli ora:
-```
+```bash
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
restorecon -vr {/etc/asterisk,/var/lib/asterisk,/var/log/asterisk,/var/spool/asterisk}
```
-Ora che la maggior parte del lavoro è stata completata, si può uscire dal comando `sudo -s`. Questo richiederà che la maggior parte dei comandi rimanenti utilizzino nuovamente _sudo_:
+Dal momento che la maggior parte del lavoro di compilazione è stato completato, si può uscire dal comando `sudo -s`. Questo richiederà che la maggior parte dei comandi rimanenti utilizzino nuovamente `sudo`:
-```
+```bash
exit
```
-### Impostare Utente e Gruppo Predefiniti
+### Impostare l'utente e il gruppo predefiniti
-```
+```bash
sudo vi /etc/sysconfig/asterisk
```
Rimuovere i commenti nelle due righe sottostanti e salvare:
-```
+```bash
AST_USER="asterisk"
AST_GROUP="asterisk"
```
-```
+```bash
sudo vi /etc/asterisk/asterisk.conf
```
Rimuovere i commenti nelle due righe sottostanti e salvare:
-```
+```bash
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.
```
-### Configurare il Servizio Asterisk
+### Configurare il servizio Asterisk
-```
+```bash
sudo systemctl enable asterisk
```
-### Configurare il Firewall
+### Configurare il firewall
Questo esempio utilizza `firewalld` per il firewall, che è quello predefinito in Rocky Linux. L'obiettivo è quello di aprire le porte SIP al mondo e di aprire RTP (Realtime Transport Protocol) al mondo sulle porte 10000-20000, come raccomandato dalla documentazione di Asterisk.
-Tenete presente che quasi certamente avrete bisogno di altre regole firewall per altri servizi forward-facing (HTTP/HTTPS) che probabilmente vorrete limitare ai vostri indirizzi IP. Ciò esula dallo scopo di questo documento:
+Quasi certamente saranno necessarie altre regole del firewall per altri servizi forward-facing (HTTP/HTTPS), che probabilmente vorrete limitare ai vostri indirizzi IP. Ciò esula dallo scopo di questo documento:
-```
+```bash
sudo firewall-cmd --zone=public --add-service sip --permanent
sudo firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
```
-Poiché abbiamo reso permanenti i comandi di `firewalld`, dovremo riavviare il server. È possibile farlo con:
+Poiché i comandi `firewalld` sono stati resi permanenti, è necessario riavviare il server. È possibile farlo con:
-```
+```bash
sudo shutdown -r now
```
## Test
-### La Console Asterisk
+### La console Asterisk
-Per verificare, colleghiamoci alla console di Asterisk:
+Per verificare, collegarsi alla console Asterisk:
-```
+```bash
sudo asterisk -r
```
-Questo vi porterà al client a riga di comando di Asterisk. Questo prompt viene visualizzato dopo la visualizzazione delle informazioni di base di Asterisk:
+Questo vi porterà al client a riga di comando di Asterisk. Dopo aver visualizzato le informazioni di base di Asterisk, viene visualizzato questo prompt:
-```
+```bash
asterisk*CLI>
```
Per modificare la verbosità della console, utilizzare la seguente procedura:
-```
+```bash
core set verbose 4
```
-La console di Asterisk dovrebbe mostrare quanto segue:
+Che mostrerà quanto segue nella console di Asterisk:
```bash
Console verbose was OFF and is now 4.
```
-### Mostra Esempi di Autenticazione End-Point
+### Mostra esempi di autenticazioni end-point
Al prompt del client a riga di comando Asterisk, digitare:
-```
+```bash
pjsip show auth 1101
```
@@ -260,6 +260,6 @@ Questo restituisce informazioni sul nome utente e sulla password che possono ess
## Conclusione
-Le indicazioni di cui sopra vi permetteranno di essere operativi con il server, ma la configurazione finale, il collegamento dei dispositivi e l'ulteriore risoluzione dei problemi dipendono da voi.
+Quanto sopra vi consentirà di essere operativi con il server, ma sarete voi a dover completare la configurazione, collegare i dispositivi e risolvere ulteriori problemi.
-La gestione di un server di comunicazione Asterisk richiede molto tempo e impegno e richiede molte ricerche da parte di qualsiasi amministratore. Per ulteriori informazioni su come configurare e utilizzare Asterisk, consultate il [Wiki Asterisk qui](https://wiki.asterisk.org/wiki/display/AST/Getting+Started).
+La gestione di un server di comunicazione Asterisk richiede tempo e impegno e richiede la ricerca da parte di un amministratore. Per ulteriori informazioni sulla configurazione e sull'uso di Asterisk, consultare il [Wiki Asterisk qui.](https://docs.asterisk.org/Configuration/)
diff --git a/docs/guides/containers/podman-nextcloud.it.md b/docs/guides/containers/podman-nextcloud.it.md
index fa07a3be08..be7248c831 100644
--- a/docs/guides/containers/podman-nextcloud.it.md
+++ b/docs/guides/containers/podman-nextcloud.it.md
@@ -37,13 +37,13 @@ La maggior parte dei comandi della guida può essere eseguita manualmente, ma la
Ecco tutto ciò che vi serve, o che dovete sapere, per far funzionare questa guida:
-* Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux.
-* Accesso SSH se si lavora su un computer remoto.
-* Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`.
-* Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene).
-* Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina.
-* La familiarità con i server web e MariaDB sarebbe sicuramente utile.
-* La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale.
+- Familiarità con la riga di comando, gli script bash e la modifica dei file di configurazione di Linux.
+- Accesso SSH se si lavora su un computer remoto.
+- Un editor di testo a riga di comando di vostra scelta. In questa guida utilizzeremo `vi`.
+- Una macchina Rocky Linux connessa a Internet (anche in questo caso, un Raspberry Pi può andare bene).
+- Molti di questi comandi devono essere eseguiti come root, quindi è necessario avere un utente root o con capacità sudo sulla macchina.
+- La familiarità con i server web e MariaDB sarebbe sicuramente utile.
+- La familiarità con i container e magari con Docker sarebbe *indubbiamente* un vantaggio ma non è strettamente essenziale.
## Passo 01: Installare `podman` e `buildah`
@@ -75,7 +75,7 @@ vi /etc/containers/registries.conf
Trovate la sezione che assomiglia a quella che vedete qui sotto. Se è commentato, decommentarlo.
-```
+```bash
[registries.insecure]
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io']
insecure = true
@@ -109,7 +109,7 @@ vi Dockerfile
Copiare e incollare il seguente testo nel nuovo file Docker.
-```
+```docker
FROM rockylinux/rockylinux:latest
ENV container docker
RUN yum -y install epel-release ; yum -y update
@@ -137,7 +137,7 @@ vi build.sh
Quindi incollare questo contenuto:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q base` ;
@@ -163,10 +163,10 @@ Attendere che sia terminato e passare alla fase successiva.
Per gli scopi di questa guida, manteniamo la configurazione del database il più semplice possibile. Si consiglia di tenere traccia dei seguenti elementi e di modificarli se necessario:
-* Nome del database: ncdb
-* Utente del database: nc-user
-* Pass per il database: nc-pass
-* L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio)
+- Nome del database: ncdb
+- Utente del database: nc-user
+- Pass per il database: nc-pass
+- L'indirizzo IP del vostro server (di seguito utilizzeremo un IP di esempio)
Per prima cosa, spostarsi nella cartella in cui si costruirà l'immagine di db-tools:
@@ -182,7 +182,7 @@ vi db-create.sh
Ora copiate e incollate il seguente codice nel file, utilizzando il vostro editor di testo preferito:
-```
+```bash
#!/bin/bash
mysql -h 10.1.1.160 -u root -p rockylinux << eof
create database ncdb;
@@ -199,7 +199,7 @@ vi db-drop.sh
Copiate e incollate questo codice nel nuovo file:
-```
+```bash
#!/bin/bash
mysql -h 10.1.1.160 -u root -p rockylinux << eof
drop database ncdb;
@@ -215,7 +215,7 @@ vi Dockerfile
Copia e incolla:
-```
+```docker
FROM localhost/base
RUN yum -y install mysql
WORKDIR /root
@@ -231,7 +231,7 @@ vi build.sh
Il codice che si desidera ottenere:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q db-tools` ;
@@ -271,7 +271,7 @@ Ed ecco il codice necessario:
Ai fini di questa guida, il seguente script cancellerà tutti i Volumi Podman. Se ci sono altre applicazioni in esecuzione con i propri volumi, modificare/commentare la riga "podman volume rm --all";
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -302,7 +302,7 @@ vi db-reset.sh
Ed ecco il codice:
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -322,7 +322,7 @@ vi build.sh
With its code:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q mariadb` ;
@@ -332,7 +332,7 @@ buildah images -a
Ora create il vostro DockferFile (`vi Dockerfile`) e incollate la seguente singola riga:
-```
+```docker
FROM arm64v8/mariadb
```
@@ -364,7 +364,7 @@ vi Dockerfile
E incollare questo pezzo:
-```
+```docker
FROM arm64v8/nextcloud
```
@@ -376,7 +376,7 @@ vi build.sh
E incollare questo codice:
-```
+```bash
#!/bin/bash
clear
buildah rmi `buildah images -q nextcloud` ;
@@ -398,7 +398,7 @@ vi run.sh
Ecco tutto il codice necessario per farlo. Assicurarsi di cambiare l'indirizzo IP di `MYSQL_HOST` con il container docker su cui è in esecuzione l'istanza di MariaDB.
-```
+```bash
#!/bin/bash
clear
echo " "
@@ -430,7 +430,7 @@ chmod +x *.sh
Per assicurarsi che tutte le immagini siano state costruite correttamente, eseguire `podman images`. Dovrebbe apparire un elenco simile a questo:
-```
+```bash
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/db-tools latest 8f7ccb04ecab 6 days ago 557 MB
localhost/base latest 03ae68ad2271 6 days ago 465 MB
@@ -446,13 +446,13 @@ Se tutto sembra corretto, eseguite lo script finale per avviare Nextcloud:
Quando si esegue `podman ps -a`, si dovrebbe vedere un elenco di container in esecuzione che assomiglia a questo:
-```
+```bash
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9518756a259a docker.io/arm64v8/mariadb:latest mariadbd 3 minutes ago Up 3 minutes ago mariadb
32534e5a5890 docker.io/arm64v8/nextcloud:latest apache2-foregroun... 12 seconds ago Up 12 seconds ago nextcloud
```
-Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, http://your-server-ip) e vedere Nextcloud in funzione.
+Da qui, si dovrebbe essere in grado di puntare il browser all'indirizzo IP del server. Se state seguendo e avete lo stesso IP del nostro esempio, potete sostituirlo qui (ad esempio, ) e vedere Nextcloud in funzione.
## Conclusione
diff --git a/docs/guides/containers/podman_guide.it.md b/docs/guides/containers/podman_guide.it.md
new file mode 100644
index 0000000000..2202d8215f
--- /dev/null
+++ b/docs/guides/containers/podman_guide.it.md
@@ -0,0 +1,434 @@
+---
+title: Podman
+author: Neel Chauhan, Antoine Le Morvan
+contributors: Steven Spencer, Ganna Zhyrnova, Christian Steinert
+date: 2024-03-07
+tags:
+ - docker
+ - podman
+---
+
+## Introduzione
+
+!!! note
+
+```
+Questo documento rappresenta il contenuto esteso del suo [documento di riferimento trovato qui](../../gemstones/containers/podman.md). Se si ha bisogno di una guida rapida, il documento di riferimento può essere sufficiente.
+```
+
+[Podman](https://podman.io/) (Pod Manager) è uno strumento di gestione di container e immagini compatibile con la [OCI](https://opencontainers.org/) (Open Container Initiative).
+
+Podman:
+
+- funziona senza un daemon (può eseguire i container come servizio `systemd`)
+- permette di gestire i container come utente non privilegiato (non è necessario essere root)
+- incluso, a differenza di docker, nei repository Rocky Linux
+
+Questo rende Podman non solo un runtime alternativo per container compatibile con docker, ma molto di più.
+
+## Installare Podman
+
+Utilizzare l'utilità `dnf` per installare Podman:
+
+```bash
+dnf install podman
+```
+
+È possibile recuperare l'elenco dei sottocomandi Podman disponibili con il seguente comando:
+
+```bash
+$ podman --help
+
+Manage pods, containers and images
+
+Usage:
+ podman [options] [command]
+
+Available Commands:
+ attach Attach to a running container
+ auto-update Auto update containers according to their auto-update policy
+...
+...
+```
+
+Ecco un elenco selezionato dei sottocomandi più comunemente utilizzati:
+
+| Sottocomando | Descrizione |
+| ------------ | ---------------------------------------------------------------------------------------------------------------- |
+| `build` | Crea un'immagine usando le istruzioni nei Containerfiles |
+| `commit` | Crea una nuova immagine basata sul container modificato |
+| `container` | Gestore dei container |
+| `cp` | Copia file/cartelle tra un container e il filesystem locale. |
+| `create` | Crea ma non avvia un container |
+| `exec` | Esegue un processo in un container in esecuzione |
+| `image` | Gestione immagini |
+| `images` | Elenca le immagini nello storage locale |
+| `info` | Visualizza le informazioni del sistema Podman |
+| `init` | Inizializza uno o piu' container |
+| `inspect` | Visualizza la configurazione dell'oggetto indicato con ID |
+| `kill` | Termina uno o più container in esecuzione con un segnale specifico |
+| `login` | Log in al registro di un container |
+| `logs` | Recupera i registri di uno o più container |
+| `network` | Gestione delle reti |
+| `pause` | Mette in pausa tutti i processi in uno o più container. |
+| `ps` | Elenca i container |
+| `pull` | Pull una image da un registry |
+| `push` | Push una image ad una destinazione specifica |
+| `restart` | Riavvia uno o più container |
+| `rm` | Cancella uno o più container |
+| `rmi` | Rimuove una o più image dallo storage locale |
+| `run` | Esegue un comando su un nuovo container |
+| `start` | Avvia uno o più container |
+| `stats` | Visualizza un stream in tempo reale delle statistiche sull'utilizzo delle risorse del container. |
+| `stop` | Termina uno o più container |
+| `system` | Gestione di Podman |
+| `top` | Visualizza i processi in esecuzione di un container |
+| `unpause` | Riavvia i processi in uno o più container |
+| `volume` | Gestisce i volume |
+
+!!! note "Nota"
+
+```
+Podman può eseguire quasi tutti i comandi Docker grazie alla sua interfaccia CLI simile.
+```
+
+Se si deve usare un compose file, ricordarsi di installare il pacchetto `podman-compose`:
+
+```bash
+dnf install podman-compose
+```
+
+## Aggiungere un container
+
+Eseguire una piattaforma cloud self-hosted [Nextcloud](https://nextcloud.com/) come esempio:
+
+```bash
+podman run -d -p 8080:80 nextcloud
+```
+
+Verrà richiesto di selezionare il registro del container da cui scaricare. In questo esempio, si utilizzerà `docker.io/library/nextcloud:latest`.
+
+Una volta scaricata l'immagine di Nextcloud, questa verrà eseguita.
+
+Inserite **indirizzo_ip:8080** nel browser web (supponendo di aver aperto la porta in `firewalld`) e configurate Nextcloud:
+
+
+
+!!! tip "Suggerimento"
+
+```
+Per seguire l'output dei log dell'ultimo container creato, usare `podman logs -lf`. `-l` specifica di usare l'ultimo container creato, mentre `-f` specifica di seguire i log, man mano che vengono creati. Premere Ctrl+C per interrompere l'output dei log.
+```
+
+## Esecuzione dei container come servizi `systemd`
+
+### Utilizzo di `quadlet`
+
+Dalla versione Podman 4.4 con [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) - viene fornito un generatore di systemd. Può essere usato per generare unit file per servizi systemd rootless e rootful.
+
+Collocare i file Quadlet per i servizi rootful in:
+
+- `/etc/containers/systemd/`
+- `/usr/share/containers/systemd/`
+
+Posizionare i file rootless in uno qualsiasi dei seguenti percorsi:
+
+- `$XDG_CONFIG_HOME/containers/systemd/` o `~/.config/containers/systemd/`
+- `/etc/containers/systemd/users/$(UID)`
+- `/etc/containers/systemd/users/`
+
+Oltre ai singoli contenitori, sono supportati i file pod, immagine, rete, volume e kube. In particolare focalizzandosi sull'esempio di Nextcloud. Creare un nuovo file `~/.config/containers/systemd/nextcloud.container` con il seguente contenuto:
+
+```systemd
+[Container]
+Image=nextcloud
+PublishPort=8080:80
+```
+
+Sono disponibili [molte altre opzioni](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#container-units-container).
+
+Per eseguire il generatore e far sapere a systemd che è stato eseguito un nuovo servizio:
+
+```bash
+systemctl --user daemon-reload
+```
+
+Per avviare il servizio, eseguite:
+
+```bash
+systemctl --user start nextcloud.service
+```
+
+!!! note "Nota"
+
+```
+Se si è creato un file in una delle directory per i servizi rootful, omettere il flag `--user`.
+```
+
+Per eseguire automaticamente il container all'avvio del sistema o al login dell'utente, si può aggiungere un'altra sezione al file `nextcloud.container`:
+
+```systemd
+[Install]
+WantedBy=default.target
+```
+
+Poiché i file di servizio generati sono considerati transitori, non possono essere abilitati da systemd. Per ovviare a questo problema, il generatore applica manualmente le installazioni durante la generazione. In questo modo si abilitano effettivamente anche i file dei servizi.
+
+Sono supportati altri tipi di file: pod, volume, network, image, and kube. [Pods](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html#pod-units-pod), per esempio, può essere usato per raggruppare i container - i servizi systemd generati e le loro dipendenze (creare il pod prima dei container) sono gestiti automaticamente da systemd.
+
+### Utilizzo di `podman generate systemd`
+
+Podman fornisce inoltre il sottocomando `generate systemd`. Usare questo sottocomando per generare i service file di `systemd`.
+
+!!! warning "Attenzione"
+
+```
+`generate systemd` è ora obsoleto e non riceverà ulteriori funzioni. Si raccomanda l'uso di Quadlet.
+```
+
+Ora lo si farà con Nextcloud. Eseguire:
+
+```bash
+podman ps
+```
+
+Si otterrà un elenco di container in esecuzione:
+
+```bash
+04f7553f431a docker.io/library/nextcloud:latest apache2-foregroun... 5 minutes ago Up 5 minutes 0.0.0.0:8080->80/tcp compassionate_meninsky
+```
+
+Come visto sopra, il nome di questo container è `compassionate_meninsky`.
+
+Per creare un servizio `systemd` per il container Nextcloud e abilitarlo al riavvio, eseguire quanto segue:
+
+```bash
+podman generate systemd --name compassionate_meninsky > /usr/lib/systemd/system/nextcloud.service
+systemctl enable nextcloud
+```
+
+Sostituire `compassionate_meninsky` con il nome assegnato al container.
+
+Quando il sistema si riavvia, Nextcloud si riavvia in Podman.
+
+## Containerfiles
+
+Un Containerfile è un file usato da Podman per creare immagini di container. I file container usano la stessa sintassi dei file Docker, quindi si possono costruire le immagini dei container con Podman come si farebbe con Docker.
+
+### Server web da un Containerfile
+
+Server web da un file container
+
+Creare una cartella dedicata alla image:
+
+```bash
+mkdir myrocky && cd myrocky
+```
+
+Creare un file `index.html` che verrà eseguito nel nostro server web:
+
+```bash
+echo "Welcome to Rocky" > index.html
+```
+
+Creare un file `Containerfile` con il seguente contenuto:
+
+```text
+# Use the latest rockylinux image as a start
+FROM rockylinux:9
+
+# Make it uptodate
+RUN dnf -y update
+# Install and enable httpd
+RUN dnf -y install httpd
+RUN systemctl enable httpd
+# Copy the local index.html file into our image
+COPY index.html /var/www/html/
+
+# Expose the port 80 to the outside
+EXPOSE 80
+
+# Start the services
+CMD [ "/sbin/init" ]
+```
+
+Siamo pronti a costruire la nostra immagine chiamata `myrockywebserver`:
+
+```bash
+$ podman build -t myrockywebserver .
+
+STEP 1/7: FROM rockylinux:9
+Resolved "rockylinux" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
+Trying to pull docker.io/library/rockylinux:9...
+Getting image source signatures
+Copying blob 489e1be6ce56 skipped: already exists
+Copying config b72d2d9150 done
+Writing manifest to image destination
+STEP 2/7: RUN dnf -y update
+Rocky Linux 9 - BaseOS 406 kB/s | 2.2 MB 00:05
+Rocky Linux 9 - AppStream 9.9 MB/s | 7.4 MB 00:00
+Rocky Linux 9 - Extras 35 kB/s | 14 kB 00:00
+Dependencies resolved.
+================================================================================
+ Package Arch Version Repository Size
+================================================================================
+Upgrading:
+ basesystem noarch 11-13.el9.0.1 baseos 6.4 k
+ binutils x86_64 2.35.2-42.el9_3.1 baseos 4.5 M
+...
+Complete!
+--> 2e8b93d30f31
+STEP 3/7: RUN dnf -y install httpd
+Last metadata expiration check: 0:00:34 ago on Wed Apr 3 07:29:56 2024.
+Dependencies resolved.
+================================================================================
+ Package Arch Version Repository Size
+================================================================================
+Installing:
+ httpd x86_64 2.4.57-5.el9 appstream 46 k
+...
+Complete!
+--> 71db5cabef1e
+STEP 4/7: RUN systemctl enable httpd
+Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
+--> 423d45a3cb2d
+STEP 5/7: COPY index.html /var/www/html/
+--> dfaf9236ebae
+STEP 6/7: EXPOSE 80
+--> 439bc5aee524
+STEP 7/7: CMD [ "/sbin/init" ]
+COMMIT myrockywebserver
+--> 7fcf202d3c8d
+Successfully tagged localhost/myrockywebserver:latest
+7fcf202d3c8d059837cc4e7bc083a526966874f978cd4ab18690efb0f893d583
+```
+
+È possibile eseguire l'immagine di Podman e confermare l'avvio:
+
+```bash
+$ podman run -d --name rockywebserver -p 8080:80 localhost/myrockywebserver
+282c09eecf845c7d9390f6878f9340a802cc2e13d654da197d6c08111905f1bd
+
+$ podman ps
+CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
+282c09eecf84 localhost/myrockywebserver:latest /sbin/init 16 seconds ago Up 16 seconds 0.0.0.0:8080->80/tcp rockywebserver
+```
+
+Si è eseguita l'immagine Podman in modalità demone (`-d`) e la si è chiamata `rockywebserver` (opzione `--nome`).
+
+Si è reindirizzata la porta 80 (protetta) alla porta 8080 con l'opzione `-p`. Vedere se la porta è in ascolto con:
+
+```bash
+ss -tuna | grep "*:8080"
+tcp LISTEN 0 4096 *:8080 *:*
+```
+
+Verificare che il file `index.html` sia accessibile:
+
+```bash
+$ curl http://localhost:8080
+Welcome to Rocky
+```
+
+Congratulazioni! A questo punto è possibile arrestare e cancellare l'immagine in esecuzione, assegnando il nome fornito durante la creazione:
+
+```bash
+podman stop rockywebserver && podman rm rockywebserver
+```
+
+!!! tip "Suggerimento"
+
+```
+Si può aggiungere l'opzione `--rm` per cancellare automaticamente il contenitore una volta che si ferma.
+```
+
+Se si rilancia il processo di compilazione, `podman` utilizzerà una cache a ogni passo della compilazione:
+
+```bash
+$ podman build -t myrockywebserver .
+
+STEP 1/7: FROM rockylinux:9
+STEP 2/7: RUN dnf -y update
+--> Using cache 2e8b93d30f3104d77827a888fdf1d6350d203af18e16ae528b9ca612b850f844
+--> 2e8b93d30f31
+STEP 3/7: RUN dnf -y install httpd
+--> Using cache 71db5cabef1e033c0d7416bc341848fbf4dfcfa25cd43758a8b264ac0cfcf461
+--> 71db5cabef1e
+STEP 4/7: RUN systemctl enable httpd
+--> Using cache 423d45a3cb2d9f5ef0af474e4f16721f4c84c1b80aa486925a3ae2b563ba3968
+--> 423d45a3cb2d
+STEP 5/7: COPY index.html /var/www/html/
+--> Using cache dfaf9236ebaecf835ecb9049c657723bd9ec37190679dd3532e7d75c0ca80331
+--> dfaf9236ebae
+STEP 6/7: EXPOSE 80
+--> Using cache 439bc5aee524338a416ae5080afbbea258a3c5e5cd910b2485559b4a908f81a3
+--> 439bc5aee524
+STEP 7/7: CMD [ "/sbin/init" ]
+--> Using cache 7fcf202d3c8d059837cc4e7bc083a526966874f978cd4ab18690efb0f893d583
+COMMIT myrockywebserver
+--> 7fcf202d3c8d
+Successfully tagged localhost/myrockywebserver:latest
+7fcf202d3c8d059837cc4e7bc083a526966874f978cd4ab18690efb0f893d583
+```
+
+È possibile cancellare la cache con il sottocomando `prune`:
+
+```bash
+podman system prune -a -f
+```
+
+| Opzioni | Descrizione |
+| ----------- | ------------------------------------------------------------------------------------ |
+| `-a` | Rimuove tutti i dati inutilizzati, non solo quelli esterni a Podman. |
+| `-f` | Forza senza nessuna richiesta di conferma |
+| `--volumes` | Elimina i volume |
+
+## Pods
+
+I pod sono un modo per raggruppare i container I contenitori in un pod condividono alcune impostazioni, come i mount point l'allocazione delle risorse o le mappature delle porte.
+
+In Podman, si gestiscono i pod usando il sottocomando `podman pod`, simile a molti comandi di Podman, per controllare i contenitori:
+
+| Comando | Descrizione |
+| --------- | --------------------------------------------------------------------------------------------------------------------------------- |
+| clone | Crea una copia di un pod esistente. |
+| create | Crea un nuovo pod. |
+| exists | Controlla se un pod esiste nel storage locale. |
+| `inspect` | Visualizza le informazioni che descrivono un pod. |
+| kill | Termina il processo principale di ogni container in uno o più pods. |
+| logs | Visualizza i registry per i pod con uno o più container. |
+| pause | Mette in pausa uno o più pod. |
+| prune | Rimuove tutti i pod terminati e i loro container. |
+| ps | Stampa le informazioni sui pod. |
+| restart | Riavvia uno o più pod. |
+| rm | Rimuove uno o più pod e container terminati. |
+| start | Avvia uno o più pods. |
+| stats | Visualizza uno stream in tempo reale delle statistiche di utilizzo delle risorse per i continer in uno o più pod. |
+| stop | Termina uno o più pod. |
+| top | Visualizza i processi in esecuzione dei container in un pod. |
+| unpause | Riavvia uno o più pods. |
+
+I container raggruppati in un pod possono accedere l'uno all'altro utilizzando localhost. È utile, ad esempio, quando si configura Nextcloud con un database dedicato come Postgres. Nextcloud può accedere al database, ma non è necessario che il database sia accessibile dall'esterno dei container.
+
+Per creare un pod contenente Nextcloud e un database dedicato, eseguire quanto segue:
+
+```bash
+# Creare il pod con una mappatura delle porte
+podman pod create --name nextcloud -p 8080:80
+
+# Aggiungere un contenitore Nextcloud al pod - il mapping della porta non deve essere specificato di nuovo!
+podman create --pod nextcloud --name nextcloud-app nextcloud
+
+# Aggiungere un database Postgres. Questo contenitore ha una variabile d'ambiente specifica per Postgres.
+podman create --pod nextcloud --name nextcloud-db -e POSTGRES_HOST_AUTH_METHOD=trust postgres
+```
+
+Per eseguire il pod appena creato, eseguire:
+
+```bash
+podman pod start nextcloud
+```
+
+Ora è possibile configurare Nextcloud utilizzando un database locale:
+
+
diff --git a/docs/guides/containers/podman_guide.uk.md b/docs/guides/containers/podman_guide.uk.md
index b5813bea7f..327e2a6b16 100644
--- a/docs/guides/containers/podman_guide.uk.md
+++ b/docs/guides/containers/podman_guide.uk.md
@@ -119,7 +119,7 @@ podman run -d -p 8080:80 nextcloud
Щоб стежити за виведенням журналу останнього створеного контейнера, використовуйте `podman logs -lf`. `-l` вказує на використання останнього створеного контейнера, тоді як `-f` вказує на відстеження журналів у міру їх створення. Натисніть Ctrl+C, щоб зупинити виведення журналу.
```
-## Запуск контейнерів як служб systemd
+## Запуск контейнерів як служб `systemd`
### Використання `quadlet`
@@ -388,24 +388,24 @@ Pods — це спосіб групувати контейнери разом.
У Podman ви керуєте контейнерами за допомогою підкоманди `podman pod`, подібної до багатьох команд Podman:
-| Команда | Опис |
-| ------- | ---------------------------------------------------------------------------------------------------------------------- |
-| clone | Створює копію існуючого модуля. |
-| create | Створює новий пакет. |
-| exists | Перевіряє наявність пакета в локальному сховищі. |
-| inspect | Відображає інформацію, що описує контейнер. |
-| kill | Вбиває основний процес кожного контейнера в одному або кількох контейнерах. |
-| logs | Відображає журнали для модуля з одним або кількома контейнерами. |
-| pause | Призупиняє один або кілька модулів. |
-| prune | Видаляє всі зупинені стручки та їхні контейнери. |
-| ps | Роздруковує інформацію про pods. |
-| restart | Перезапускає один або кілька модулів. |
-| rm | Видаляє одну або кілька зупинених коробок і контейнерів. |
-| start | Запускає один або кілька контейнерів. |
-| stats | Відображає прямий потік статистики використання ресурсів для контейнерів в одному або кількох пакетах. |
-| stop | Зупиняє один або кілька контейнерів. |
-| top | Відображає запущені процеси контейнерів у модулі. |
-| unpause | Відновлює паузу одного або кількох модулів. |
+| Команда | Опис |
+| --------- | ---------------------------------------------------------------------------------------------------------------------- |
+| clone | Створює копію існуючого модуля. |
+| створення | Створює новий пакет. |
+| exists | Перевіряє наявність пакета в локальному сховищі. |
+| inspect | Відображає інформацію, що описує контейнер. |
+| kill | Вбиває основний процес кожного контейнера в одному або кількох контейнерах. |
+| logs | Відображає журнали для модуля з одним або кількома контейнерами. |
+| pause | Призупиняє один або кілька модулів. |
+| prune | Видаляє всі зупинені стручки та їхні контейнери. |
+| ps | Роздруковує інформацію про pods. |
+| restart | Перезапускає один або кілька модулів. |
+| rm | Видаляє одну або кілька зупинених коробок і контейнерів. |
+| start | Запускає один або кілька контейнерів. |
+| stats | Відображає прямий потік статистики використання ресурсів для контейнерів в одному або кількох пакетах. |
+| stop | Зупиняє один або кілька контейнерів. |
+| top | Відображає запущені процеси контейнерів у модулі. |
+| unpause | Відновлює паузу одного або кількох модулів. |
Контейнери, згруповані в pod, можуть отримувати доступ один до одного за допомогою localhost. Це корисно, наприклад, під час налаштування Nextcloud із спеціальною базою даних, наприклад Postgres. Nextcloud може отримати доступ до бази даних, але база даних не обов’язково має бути доступна поза контейнерами.
diff --git a/docs/guides/containers/rancher_and_kubernetes.it.md b/docs/guides/containers/rancher_and_kubernetes.it.md
new file mode 100644
index 0000000000..d43e73c773
--- /dev/null
+++ b/docs/guides/containers/rancher_and_kubernetes.it.md
@@ -0,0 +1,146 @@
+---
+title: Lavorare con Rancher e Kubernetes
+author: Antoine Le Morvan
+contributors: Steven Spencer, Ganna Zhyrnova
+update: 22-Feb-2024
+tested_with: 9.3
+tags:
+ - rancher
+ - kubernetes
+ - containers
+ - docker
+---
+
+# Lavorare con Rancher e Kubernetes
+
+**Kubernetes** (**K8s**) è un sistema di orchestrazione di container open-source per gestire la distribuzione e la gestione di applicazioni containerizzate.
+
+K8s si è fatto un nome sul mercato, quindi non c'è più bisogno di presentarlo.
+
+I fornitori di cloud hanno reso semplice l'implementazione di piattaforme Kubernetes gestite, ma che dire della creazione e della gestione di un cluster on-premise?
+
+Quanto è facile gestire più cluster, sia on-premise che multi-cloud?
+
+La risposta alle ultime due domande è No. La creazione di un cluster on-premise è difficile e la gestione di un cluster multi-cloud può essere un vero mal di testa.
+
+È qui che entra in gioco l'argomento di questa guida: **Rancher**! Rancher è anche un sistema open-source, che consente l'installazione e l'orchestrazione di diversi cluster multi-cloud o on-premise e fornisce caratteristiche interessanti come un catalogo di applicazioni e una pratica interfaccia web per la visualizzazione delle risorse.
+
+Rancher vi consentirà di distribuire cluster Kubernetes gestiti dai cloud provider, di importare cluster Kubernetes esistenti o di distribuire cluster K3s (in breve, è una versione più leggera di K8s) o cluster K8s.
+
+Questa guida vi aiuterà a scoprire Rancher, a installarlo e ad avviarlo, quindi a creare un cluster Kubernetes on-premise distribuito su server Rocky Linux.
+
+## Impiego di Rancher
+
+L'installazione di Rancher è abbastanza banale se avete installato Docker sul vostro server.
+
+È possibile trovare l'installazione di Docker [qui in gemme](https://docs.rockylinux.org/gemstones/containers/docker/).
+
+Per funzionare su una Rocky 9, Rancher richiede anche il caricamento di modules/run//run/
+
+Un modo per assicurare il caricamento dei moduli necessari durante l'avvio del sistema è quello di creare un file \`/etc/modules-load.d/rancher.conf' con i seguenti contenuti:
+
+```text
+ip_tables
+ip_conntrack
+iptable_filter
+ipt_state
+```
+
+Il modo più semplice per applicare le modifiche è riavviare il server: `sudo reboot`.
+
+Una volta riavviato, è possibile assicurarsi del corretto caricamento dei moduli grazie al comando `lsmod | grep `.
+
+Ora abbiamo un sistema pronto a ricevere il contenitore Rancher:
+
+```bash
+docker pull rancher/rancher:latest
+docker run -d --name=rancher --privileged --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest
+```
+
+!!! NOTE
+
+```
+Se siete curiosi, guardate i log del nuovo container. Si vedrà che è stato appena creato un cluster K3s (con un singolo nodo)! Questo è il modo in cui Rancher funziona nella sua versione standalone.
+
+
+```
+
+Poiché Rancher è in ascolto sulla porta 443, aprire il firewall per consentire l'accesso dall'esterno:
+
+```bash
+firewall-cmd --permanent --zone=public --add-service=https
+firewall-cmd --zone=public --add-service=https
+```
+
+Se si accede all'interfaccia web di Rancher appena distribuita, un messaggio informa su come recuperare la password dell'amministratore nei registri del container.
+
+A tal fine, lanciare il seguente comando:
+
+```bash
+docker logs rancher 2>&1 | grep "Bootstrap Password:"
+```
+
+Si è pronti a connettersi alla webUI di Rancher.
+
+
+
+!!! NOTE
+
+```
+Questa soluzione non è assolutamente pronta per la produzione. Dovrete assicurarvi che il sistema sia altamente disponibile, ma è un buon inizio. Considerate la possibilità di distribuire Rancher su un cluster K8s esistente per ottenere un HA ottimale.
+```
+
+## Kubernetes su server Rocky Linux 9
+
+Rancher offre la sua versione di Kubernetes basata su docker: RKE (Rancher Kubernetes Engine).
+
+Tutto ciò che serve sono diversi server Rocky Linux e il [motore Docker](https://docs.rockylinux.org/gemstones/containers/docker/) installato su di essi.
+
+Non dimenticate che uno dei requisiti di Kubernetes è avere un numero dispari di nodi master (1 o 3, per esempio). Per i nostri test, iniziamo con 3 nodi master e 2 nodi aggiuntivi con il solo ruolo di worker.
+
+Una volta installato Docker sui server, fermare `firewalld` ed eseguire `nftables` su ogni server:
+
+```bash
+systemctl stop firewalld
+systemctl disable firewalld
+systemctl start nftables
+systemctl enable nftables
+```
+
+Siamo pronti per la creazione del cluster.
+
+### Creazione del cluster
+
+Nell'area di gestione dei cluster, creare un nuovo cluster:
+
+
+
+Siete liberi di creare un cluster in un provider Kubernetes ospitato, di effettuare il provisioning di nuovi nodi e di creare un cluster utilizzando RKE2/K3s oppure, nel nostro caso, di utilizzare i nodi esistenti e di creare un cluster utilizzando RKE2/K3s.
+
+Scegliere l'ultima opzione.
+
+Inserire un nome e una descrizione del cluster.
+
+Prendetevi il tempo necessario per scoprire le varie opzioni disponibili prima di avviare la creazione del cluster.
+
+
+
+Una volta creato il cluster, andare alla scheda Registrazione per aggiungere i nostri server:
+
+
+
+Per prima cosa, selezionare i vari ruoli del nodo che si sta aggiungendo e copiare la riga di comando necessaria. Se il cluster utilizza un certificato autofirmato, selezionare la casella appropriata.
+
+Andare al nodo che si desidera aggiungere alla configurazione e incollare il comando copiato in precedenza.
+
+Dopo qualche minuto, il server verrà aggiunto al cluster e, se è il primo server e ha tutti i ruoli, il cluster sarà disponibile nell'interfaccia web.
+
+Una volta aggiunti i 5 server, si dovrebbe ottenere un risultato simile a questo:
+
+
+
+## Conclusione
+
+Congratulazioni! Avete installato il vostro primo cluster Kubernetes in pochi minuti/ore, grazie alle funzionalità di Rancher.
+
+Se siete nuovi a Kubernetes, potete già essere orgogliosi di voi stessi: siete sulla strada giusta. Ora avete tutto ciò che vi serve per continuare a scoprire Kubernetes.
diff --git a/docs/guides/contribute/README.de.md b/docs/guides/contribute/README.de.md
index 8a33348c7d..3d88fc9377 100644
--- a/docs/guides/contribute/README.de.md
+++ b/docs/guides/contribute/README.de.md
@@ -1 +1 @@
-../../../README.md
\ No newline at end of file
+
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: rockydocs/activity-stream , rockylinux.org
🖋 Contributors: github.com/rocky-linux/documentation
\ No newline at end of file
diff --git a/docs/guides/contribute/README.es.md b/docs/guides/contribute/README.es.md
index 27dc19b3ae..0fcb823f6e 100644
--- a/docs/guides/contribute/README.es.md
+++ b/docs/guides/contribute/README.es.md
@@ -1 +1 @@
-./../../README.md
\ No newline at end of file
+./../../README.md
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: crowdin.com/project/rockydocs/activity-stream
🖋 Contributors: github.com/rocky-linux/documentation
\ No newline at end of file
diff --git a/docs/guides/contribute/README.fr.md b/docs/guides/contribute/README.fr.md
index 8a33348c7d..cedcc52621 100644
--- a/docs/guides/contribute/README.fr.md
+++ b/docs/guides/contribute/README.fr.md
@@ -1 +1 @@
-../../../README.md
\ No newline at end of file
+../../../README.md
🌐 Traductions: crowdin.com/project/rockydocs
🌍 Traducteurs: crowdin.com/project/rockydocs/activity-stream
🖋 Contributeurs: github.com/rocky-linux/documentation
\ No newline at end of file
diff --git a/docs/guides/contribute/README.pt-BR.md b/docs/guides/contribute/README.pt-BR.md
new file mode 100644
index 0000000000..147f61595a
--- /dev/null
+++ b/docs/guides/contribute/README.pt-BR.md
@@ -0,0 +1 @@
+./../../README.md
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: crowdin.com/project/rockydocs/activity-stream
🖋 Contributors: github.com/rocky-linux/documentation
\ No newline at end of file
diff --git a/docs/guides/contribute/README.pt.md b/docs/guides/contribute/README.pt.md
new file mode 100644
index 0000000000..ca3bd2bf05
--- /dev/null
+++ b/docs/guides/contribute/README.pt.md
@@ -0,0 +1 @@
+./../../README.md
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: crowdin.com/project/rockydocs/activity-stream
🖋 Contributors: github.com/rocky-linux/documentation
\ No newline at end of file
diff --git a/docs/guides/contribute/beginners.it.md b/docs/guides/contribute/beginners.it.md
index 2f80135e47..8919600563 100644
--- a/docs/guides/contribute/beginners.it.md
+++ b/docs/guides/contribute/beginners.it.md
@@ -11,7 +11,7 @@ tags:
# Guida Iniziale del Contributore
-*Tutti iniziano da qualche parte. Se questa è la prima volta che contribuite alla documentazione open source su GitHub, congratulazioni per aver fatto questo passo. Non vediamo l'ora di vedere cosa avete da dirci!*
+*Tutti iniziano da qualche parte. Se è la prima volta che contribuite alla documentazione open source su GitHub, congratulazioni per aver fatto questo passo. Non vediamo l'ora di vedere cosa avete da dire!* Per ottenere risultati ottimali, leggete la [nostra guida allo stile](style_guide.md), che include diversi altri link a documenti che vi aiuteranno ad apprendere le migliori pratiche per la documentazione.
## Git e GitHub
@@ -21,7 +21,7 @@ Non è detto che si inizi a creare e gestire repository per Rocky Linux, ma ques
## Markdown
-Markdown è un linguaggio semplice che consente di includere formattazione, codice e testo normale nello stesso file. La prima volta che si aggiorna un documento, si segue il codice esistente. Non passerà molto tempo prima che siate pronti a esplorare altre funzioni. Quando arriva il momento, ecco le regole di base.
+Markdown è un linguaggio semplice che consente di includere nello stesso file formattazione, codice e testo semplice. La prima volta che si aggiorna un documento, si segue il codice esistente. Non passerà molto tempo prima che siate pronti a esplorare altre funzioni. Quando arriva il momento, ecco le regole di base.
- [Markdown di base](https://www.markdownguide.org/basic-syntax#code)
- [Markdown Avanzato](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks)
@@ -56,19 +56,19 @@ Una volta installato l'editor Markdown, seguire le istruzioni per collegarlo all
1. Iniziare dalla pagina che si desidera aggiornare.
- Fare clic sulla matita "Edit" nell'angolo superiore destro del documento che si desidera aggiornare. Si accede al documento originale su GitHub.
+ Fare clic sulla matita "Edit" nell'angolo superiore destro del documento che si desidera aggiornare. Si accede così al documento originale su GitHub.
- La prima volta che si contribuisce al repository RL, comarirà un pulsante verde con la scritta "**Fork** this **repository** and propose changes" In questo modo si crea una copia duplicata del repository RL in cui si apportano le modifiche suggerite. È sufficiente fare clic sul pulsante verde e continuare.
+ La prima volta che contribuite al repository Rocky Linux (RL), vedrete un prompt con un pulsante verde che vi inviterà a fare il "**Fork** di questo **repository** e proporre modifiche". In questo modo si crea una copia duplicata del repository RL in cui si apportano le modifiche suggerite. Fare clic sul pulsante verde e continuare.
2. Apportare le modifiche
- Seguire la formattazione Markdown. Forse manca una parola, o il link alla riga 21 deve essere sistemato, ad esempio. Apportare le modifiche necessarie.
+ Seguire la formattazione Markdown. Forse manca una parola o è necessario correggere il collegamento alla riga 21, ad esempio. Apportare le modifiche necessarie.
3. Proporre modifiche
In fondo alla pagina, scrivere una descrizione di una riga nel titolo del blocco intitolato "**Propose changes"**. È utile, ma non necessario, fare riferimento al nome del file che si trova all'inizio del documento.
- Quindi, se si aggiorna un collegamento nella riga 21 del testo markdown, si dovrebbe dire qualcosa come "Update README.md with correct links."
+ Se si è aggiornato un collegamento nella riga 21 del testo markdown, si potrebbe dire: "Aggiornare README.md con i collegamenti corretti".
**Nota: scrivere l'azione al presente.**
@@ -76,13 +76,13 @@ Una volta installato l'editor Markdown, seguire le istruzioni per collegarlo all
4. Modifiche alla revisione
- Ora è possibile esaminare ciò che si è fatto, riga per riga. Ti sei perso qualcosa? Tornate alla pagina precedente e correggetela di nuovo (dovrete ricominciare da capo), quindi fate di nuovo clic su Propose Changes.
+ Ora è possibile rivedere le modifiche apportate, riga per riga. Ti sei perso qualcosa? Tornate alla pagina precedente e correggetela di nuovo (dovrete ricominciare da capo), quindi fate di nuovo clic su Proponi modifiche.
Una volta che il documento è come lo si desidera, fare clic sul pulsante verde Create Pull Request. In questo modo si ha un'ulteriore possibilità di ricontrollare le modifiche e confermare che il documento sia pronto.
-5. Creare un Pull Request
+5. Creare una richiesta di Pull (PR)
- Tutto il lavoro svolto finora è stato fatto nel proprio repository, senza la possibilità di danneggiare il repository principale di RL. Successivamente, la si sottopone al team di documentazione per unire la propria versione a quella principale del documento.
+ Avete completato tutto il lavoro finora nel vostro repository, senza la possibilità di rompere il repository principale di RL. Successivamente, la si sottopone al team di documentazione per unire la propria versione a quella principale del documento.
Fare clic sul pulsante verde grande che dice Create Pull Request. Buone notizie, non avete ancora rotto nulla, perché ora il tutto passa al team di documentazione di RL per la revisione.
@@ -94,6 +94,6 @@ Una volta installato l'editor Markdown, seguire le istruzioni per collegarlo all
- Commentare con un feedback e chiedere modifiche
- Negare il PR con una spiegazione
- L'ultima risposta è improbabile. Vogliamo davvero includere il vostro punto di vista! Se dovete apportare delle modifiche, capirete immediatamente perché avete bisogno di un repository locale. Il team potrà [spiegarvi](https://chat.rockylinux.org/rocky-linux/channels/documentation) cosa fare in seguito. La buona notizia è che il problema è ancora risolvibile. Seguite la sezione dei commenti di tale richiesta per vedere quali ulteriori informazioni sono richieste.
+ L'ultima risposta è improbabile. Vogliamo davvero includere il vostro punto di vista! Se dovete apportare delle modifiche, capirete immediatamente perché avete bisogno di un repository locale. Il team potrà [spiegarvi](https://chat.rockylinux.org/rocky-linux/channels/documentation) cosa fare in seguito. La buona notizia è che il problema è ancora risolvibile. Se è necessario aggiungere o modificare la richiesta di pull, un membro del team li aggiungerà alla sezione dei commenti.
In caso contrario, la richiesta verrà accettata e unita. Benvenuto nel team, ora sei ufficialmente un collaboratore! Tra qualche giorno il vostro nome apparirà nell'elenco dei collaboratori in fondo alla Guida dei collaboratori.
diff --git a/docs/guides/contribute/beginners.md b/docs/guides/contribute/beginners.md
index 0b11750cd7..edb2e75fbc 100644
--- a/docs/guides/contribute/beginners.md
+++ b/docs/guides/contribute/beginners.md
@@ -11,17 +11,17 @@ tags:
# First-Time Contributor Guide
-*Everybody starts somewhere. If this is the first time you have contributed to open source documentation on GitHub, congratulations on taking this step. We can not wait to see what you have to say!*
+*Everybody starts somewhere. If this is the first time you have contributed to open source documentation on GitHub, congratulations on taking this step. We can not wait to see what you have to say!* For best results, read [our style guide](style_guide.md) which includes several other document links to help you learn best-practices for documentation.
## Git and GitHub
All of our contributor instructions presuppose you have a GitHub account. If you have never done that, now is the time. If you have 12 minutes, learn the basics of what GitHub is with the [Beginner’s Guide to Git and GitHub](https://www.udacity.com/blog/2015/06/a-beginners-git-github-tutorial.html) from Udemy.
-You may not start out creating and managing repositories for Rocky Linux, but this [Hello World tutorial](https://docs.github.com/en/get-started/quickstart/hello-world) walks you through creating a GitHub account, learning the lingo, and understanding how repositories work. Focus on learning how to make and Commit updates to existing docs, and how to create a Pull Request.
+You might not start out creating and managing repositories for Rocky Linux, but this [Hello World tutorial](https://docs.github.com/en/get-started/quickstart/hello-world) walks you through creating a GitHub account, learning the lingo, and understanding how repositories work. Focus on learning how to make and Commit updates to existing docs, and how to create a Pull Request.
## Markdown
-Markdown is an easy language that allows you to include formatting, code, and plain text in the same file. The first time you update a document, follow the existing code. It will not be long before you are ready to explore additional features. When the time comes, here are the basics.
+Markdown is an easy language that allows for the inclusion of formatting, code, and plain text in the same file. The first time you update a document, follow the existing code. It will not be long before you are ready to explore additional features. When the time comes, here are the basics.
- [Basic Markdown](https://www.markdownguide.org/basic-syntax#code)
- [Extended Markdown](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks)
@@ -44,8 +44,8 @@ Once you have a Markdown editor installed, follow instructions to connect it to
1. Within GitHub, sync your fork of the documentation repository with the main branch.
2. Follow your Markdown editor’s instructions to sync your current fork with your local machine.
-3. Inside your Markdown editor, open the document you wish to modify.
-4. Modify the document.
+3. Inside your Markdown editor, open the document you want to change.
+4. Change the document.
5. Save.
6. Commit your changes within your editor, which should sync your local repository with your online fork.
7. Within GitHub, find the updated document in your fork and create a Pull Request to merge it with the main document.
@@ -56,19 +56,19 @@ Once you have a Markdown editor installed, follow instructions to connect it to
1. Start on the page you want to update.
- Click the “Edit” pencil in the upper right corner of the document you want to update. You will be taken to the original document on GitHub.
+ Click the “Edit” pencil in the upper right corner of the document you want to update. This will take you to the original document on GitHub.
- The first time you contribute to the RL repository, you will be prompted with a green button to “**Fork** this **repository** and propose changes.” This creates a duplicate copy of the RL repository where you make your suggested edits. Simply click the green button and continue.
+ The first time you contribute to the Rocky Linux (RL) repository, you will see a prompt with a green button to “**Fork** this **repository** and propose changes.” This creates a duplicate copy of the RL repository where you make your suggested edits. Click the green button and continue.
2. Make your changes
- Follow the Markdown formatting. Perhaps there’s a missing word, or the link on line 21 needs to be fixed, for example. Make the necessary change.
+ Follow the Markdown formatting. Perhaps there’s a missing word, or you need to fix the link on line 21, for example. Make the necessary change.
3. Propose changes
- At the bottom of the page, write a one-line description in the title of the block entitled, “**Propose changes”**. It is helpful, but not necessary, to reference the file name found at the top of the doc.
+ At the bottom of the page, write a one-line description in the title of the block entitled, “**Propose changes”**. It is helpful, but not necessary, to reference the filename found at the top of the doc.
- So, if you updated a link within line 21 of the markdown text, you would say something like, "Update README.md with correct links."
+ If you updated a link within line 21 of the markdown text, you might say, "Update README.md with correct links."
**Note: Word your action in the present tense.**
@@ -76,15 +76,15 @@ Once you have a Markdown editor installed, follow instructions to connect it to
4. Review changes
- Now you can look at what you’ve done, line by line. Did you miss anything? Back up to the previous page and correct it again (you’ll have to start over), then click Propose Changes again.
+ You can now review your changes, line by line. Did you miss anything? Back up to the previous page and correct it again (you will have to start over), then click Propose Changes again.
Once the doc is the way you want it, click the green button that says Create Pull Request. This provides one more chance to double-check your changes and confirm the doc is ready.
-5. Create Pull Request
+5. Create Pull Request (PR)
- All of your work so far has been done in your own repository, with no opportunity to break the RL main repository. Next, you submit it to the documentation team to merge your version into the main version of the document.
+ You completed all of your work so far in your own repository, with no opportunity to break the RL main repository. Next, you submit it to the documentation team to merge your version into the main version of the document.
- Click the big green button that says Create Pull Request. Good news, you still haven’t broken anything, because now it goes to the RL documentation team for review.
+ Click the big green button that says Create Pull Request. Good news, you still have not broken anything, because now it goes to the RL documentation team for review.
6. Wait
@@ -94,6 +94,6 @@ Once you have a Markdown editor installed, follow instructions to connect it to
- Comment with feedback and ask for changes
- Deny your PR with an explanation
- The last response is unlikely. We really want to include your perspective here! If you have to make changes, you will suddenly understand why you need a local repository. The team can [talk you through](https://chat.rockylinux.org/rocky-linux/channels/documentation) what to do next. In good news, it’s still fixable. Follow the comment section of that request to see what further information is requested.
+ The last response is unlikely. We really want to include your perspective here! If you have to make changes, you will suddenly understand why you need a local repository. The team can [talk you through](https://chat.rockylinux.org/rocky-linux/channels/documentation) what to do next. In good news, it’s still fixable. If you need to add or change your pull request, a team member will add them to the comment section.
- Otherwise, your request will be accepted and merged. Welcome to the team, you’re officially a contributor now! Look for your name to show up on the all-contributors list at the bottom of the Contributor Guide in a few days.
+ Otherwise, the team will accept your request and merge it. Welcome to the team, you are officially a contributor now! Look for your name to show up on the all-contributors list at the bottom of the Contributor Guide in a few days.
diff --git a/docs/guides/contribute/beginners.uk.md b/docs/guides/contribute/beginners.uk.md
index 6d7e52c22f..4ef6018190 100644
--- a/docs/guides/contribute/beginners.uk.md
+++ b/docs/guides/contribute/beginners.uk.md
@@ -11,13 +11,13 @@ tags:
# Посібник для новачків
-*Кожен з чогось починає. Якщо ви вперше зробили внесок у документацію з відкритим вихідним кодом на GitHub, вітаємо з цим кроком. Ми не можемо дочекатися, щоб побачити, що ви скажете!*
+*Кожен з чогось починає. Якщо ви вперше робите свій внесок у документацію з відкритим кодом на GitHub, вітаємо з цим кроком. Нам не терпиться побачити вашу думку!* Для найкращих результатів ознайомтеся з [нашим посібником зі стилю](style_guide.md), який містить посилання на кілька інших документів, що допоможуть вам ознайомитися з найкращими практиками документування.
## Git і GitHub
Усі наші інструкції для учасників передбачають наявність облікового запису GitHub. Якщо ви ніколи цього не робили, зараз саме час. Якщо у вас є 12 хвилин, дізнайтеся основи GitHub за допомогою [Посібника Git і GitHub для початківців](https://www.udacity.com/blog/2015/06/a-beginners-git-github-tutorial.html) від Udemy.
-Можливо, ви не почали створювати та керувати сховищами для Rocky Linux, але цей [підручник Hello World](https://docs.github.com/en/get-started/quickstart/hello-world) допоможе вам створити обліковий запис GitHub, вивчити жаргон і зрозуміти, як працюють сховища. Зосередьтеся на вивченні того, як створювати та фіксувати оновлення в існуючих документах, а також на тому, як створити Pull Request.
+Можливо, ви не починаєте зі створення та керування репозиторіями для Rocky Linux, але цей [посібник Hello World](https://docs.github.com/en/get-started/quickstart/hello-world) проведе вас через створення облікового запису GitHub, вивчення термінології та розуміння того, як працюють репозиторії. Зосередьтеся на вивченні того, як створювати та фіксувати оновлення в існуючих документах, а також на тому, як створити Pull Request.
## Markdown
@@ -94,6 +94,6 @@ Markdown — це проста мова, яка дозволяє включат
- Прокоментує відгук і попросить внести зміни
- Відмовить вашому PR з поясненням
- Остання відповідь малоймовірна. Ми дійсно хочемо включити вашу точку зору тут! Якщо вам доведеться внести зміни, ви раптом зрозумієте, навіщо вам локальне сховище. Команда може [пояснити вам](https://chat.rockylinux.org/rocky-linux/channels/documentation), що робити далі. Хороша новина: це все ще можна виправити. Дотримуйтеся розділу коментарів цього запиту, щоб дізнатися, яка додаткова інформація вимагається.
+ Остання відповідь малоймовірна. Ми дійсно хочемо включити вашу точку зору тут! Якщо вам доведеться внести зміни, ви раптом зрозумієте, навіщо вам локальне сховище. Команда може [пояснити вам](https://chat.rockylinux.org/rocky-linux/channels/documentation), що робити далі. Хороша новина: це все ще можна виправити. Якщо вам потрібно додати або змінити ваш запит на зміщення (pull request), член команди додасть його до розділу коментарів.
В іншому випадку ваш запит буде прийнято та об’єднано. Ласкаво просимо до команди, тепер ви офіційно учасник! Подивіться, чи за кілька днів ваше ім’я з’явиться у списку всіх співавторів унизу посібника для співавторів.
diff --git a/docs/guides/contribute/localdocs/.pages b/docs/guides/contribute/localdocs/.pages
index 63cc822bbf..1abde09eca 100644
--- a/docs/guides/contribute/localdocs/.pages
+++ b/docs/guides/contribute/localdocs/.pages
@@ -1,6 +1,7 @@
---
nav:
- ... | index*.md
+ - ... | rockydocs_tool_guide*.md
- ... | rockydocs_web_dev*.md
- ... | mkdocs_lsyncd*.md
- ... | rockydocs_webdev_v2*.md
diff --git a/docs/guides/contribute/localdocs/index.de.md b/docs/guides/contribute/localdocs/index.de.md
index 5a0bf8f97b..2d8a1b23f9 100644
--- a/docs/guides/contribute/localdocs/index.de.md
+++ b/docs/guides/contribute/localdocs/index.de.md
@@ -1,7 +1,7 @@
---
-Title: Docs As Code
+Title: Einleitung
author: Steven Spencer
-contributors: null
+contributors: Ganna Zhyrnova
tags:
- local docs
- docs as code
@@ -10,15 +10,15 @@ tags:
# Einleitung
-Die Verwendung einer lokalen Kopie der Rocky Linux-Dokumentation ist hilfreich für diejenigen, die häufig Beiträge leisten und genau sehen möchten, wie ein Dokument nach dem Zusammenführen in der Weboberfläche aussieht. Die hier enthaltenen Methoden spiegeln die bisherigen Präferenzen der Mitwirkenden wider.
+Die Verwendung einer lokalen Kopie der Rocky Linux-Dokumentation ist hilfreich für diejenigen, die häufig Beiträge leisten und genau sehen möchten, wie ein Dokument nach dem Zusammenführen in der Weboberfläche aussieht. Die hier vorgestellten Methoden spiegeln die bisherigen Präferenzen der Teilnehmer wider.
-Die Verwendung einer lokalen Kopie der Dokumentation ist ein Schritt im Entwicklungsprozess für diejenigen, die sich der Philosophie von „Dokumenten als Code“ anschließen, einem Workflow für die Dokumentation, der der Codeentwicklung ähnelt.
+Die Verwendung einer lokalen Kopie der Dokumentation ist ein Schritt im Entwicklungsprozess für diejenigen, die sich der Philosophie von „Dokumentation als Code“ anschließen, einem Workflow für die Dokumentation, der der Codeentwicklung ähnelt.
## Markdown-Linter
-Neben Umgebungen zum Speichern und Erstellen der Dokumentation könnte für einige Autoren auch ein Linter für Markdown eine Überlegung wert sein. Markdown-Linters sind in vielen Aspekten der Verfassung von Dokumenten hilfreich, einschließlich der Überprüfung von Grammatik, Rechtschreibung, Formatierung und mehr. Manchmal handelt es sich dabei um separate Tools oder Plugins für Ihren Editor. Ein solches Tool ist [markdownlint](https://github.com/DavidAnson/markdownlint), ein Node.js-Tool. „markdownlint“ ist als Plugin für viele gängige Editoren verfügbar, darunter Visual Studio Code und NVChad. Aus diesem Grund befindet sich im Stammverzeichnis des Dokumentationsverzeichnisses eine Datei „.markdownlint.yml“, die die für das Projekt verfügbaren und aktivierten Regeln anwendet. `markdownlint` ist ein reiner Formatierungs-Linter. Es prüft auf fehlerhafte Leerzeichen, Inline-HTML-Elemente, doppelte Leerzeilen, falsche Tabulatoren und mehr. Für Grammatik, Rechtschreibung, inklusiven Sprachgebrauch und mehr installieren Sie bitte andere Tools.
+Neben Umgebungen zum Speichern und Erstellen der Dokumentation könnte für einige Autoren auch ein Linter für Markdown eine Überlegung wert sein. Markdown-Linters sind in vielen Aspekten der Verfassung von Dokumenten hilfreich, einschließlich der Überprüfung von Grammatik, Rechtschreibung, Formatierung und mehr. Manchmal handelt es sich dabei um separate Tools oder Plugins für Ihren Editor. Ein solches Tool ist [markdownlint](https://github.com/DavidAnson/markdownlint), ein Node.js-Tool. `markdownlint` ist als Plugin für viele gängige Editoren verfügbar, darunter Visual Studio Code und NVChad. Aus diesem Grund befindet sich im Stammverzeichnis des Dokumentationsverzeichnisses eine Datei „.markdownlint.yml“, die die für das Projekt verfügbaren und aktivierten Regeln anwendet. `markdownlint` ist ein reiner Formatierungs-Linter. Es prüft auf fehlerhafte Leerzeichen, Inline-HTML-Elemente, doppelte Leerzeilen, falsche Tabulatoren und mehr. Für Grammatik, Rechtschreibung, inklusiven Sprachgebrauch und mehr installieren Sie bitte andere Tools.
-!!! info „Haftungsausschluss“
+!!! info "Disclaimer"
```
Bei keinem der Punkte in dieser Kategorie („Lokale Dokumentation“) ist es erforderlich, Dokumente zu verfassen und zur Genehmigung einzureichen. Sie existieren für diejenigen, die der Philosophie von [docs as code](https://www.writethedocs.org/guide/docs-as-code/) folgen möchten, die mindestens eine lokale Kopie der Dokumentation enthalten.
diff --git a/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md b/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md
index b68b8bc27c..4ea49f2815 100644
--- a/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md
+++ b/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md
@@ -11,7 +11,7 @@ tags:
# Introduzione
-!!! info "Informazione"
+!!! info
Le procedure qui descritte funzionano sia con Incus che con LXD.
diff --git a/docs/guides/contribute/localdocs/mkdocs_lsyncd.md b/docs/guides/contribute/localdocs/mkdocs_lsyncd.md
index 36572a94e5..450076d19a 100644
--- a/docs/guides/contribute/localdocs/mkdocs_lsyncd.md
+++ b/docs/guides/contribute/localdocs/mkdocs_lsyncd.md
@@ -1,5 +1,5 @@
---
-title: LXD Method
+title: Incus Method
author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 8.5, 8.6
@@ -9,23 +9,27 @@ tags:
- local environment incus
---
-# Introduction
-
!!! info
- The procedures here will work with Incus as well as LXD.
+ While this method still works for LXD, the author prefers Incus instead. The reason is that from a development standpoint, Incus appears to be out in front of LXD, and that includes the images available. With Incus, as of September 2025, there are images for Rocky Linux 10, and other RHEL rebuild 10 images. LXD images only include 9 builds currently. This may be due to the [licensing change](https://stgraber.org/2023/12/12/lxd-now-re-licensed-and-under-a-cla/) announced by Linux Containers project lead, Stéphane Graber, back in December 2023.
-There are several ways to run a copy of `mkdocs` to see exactly how your Rocky Linux document will appear when merged on the live system. This particular document deals with using an LXD container on your local workstation to separate python code in `mkdocs` from other projects you might be working on.
+ In addition, this procedure still works with the current versioning of documentation. If a document is created or edited on any of the version branches (main, rocky-9, and rocky-8), the document synced to the container will show the correct content. This means that you can continue to use this procedure as is. Included are some addtional notes important to versioning.
-The recommendation is to keep projects separate to avoid causing problems with your workstation's code.
+!!! tip
+
+ If you are using Rocky Linux 10 as your workstation, you need to keep in mind that as of the rewriting of this document, `lsyncd` is not available from the EPEL. You will need to use the install from source method.
+
+## Introduction
-This is also a companion document to the [Docker version here](rockydocs_web_dev.md).
+There are several ways to run a copy of `mkdocs` to see exactly how your Rocky Linux document will appear when merged on the live system. This particular document deals with using an `incus` container on your local workstation to separate python code in `mkdocs` from other projects you might be working on.
+
+The recommendation is to keep projects separate to avoid causing problems with your workstation's code.
## Prerequisites and assumptions
- Familiarity and comfort with the command-line
- Comfortable using tools for editing, SSH, and synchronization, or willing to follow along and learn
-- LXD reference - there is a long document on [building and using LXD on a server here](../../../books/lxd_server/00-toc.md), but you will use just a basic install on our Linux workstation
+- Incus reference - there is a long document on [building and using `incus` on a server here](../../../books/incus_server/00-toc.md), but you will use just a basic install on our Linux workstation
- Using `lsyncd` for mirroring files. See [documentation on that here](../../backup/mirroring_lsyncd.md)
- You will need public keys generated for your user and the "root" user on your local workstation using [this document](../../security/ssh_public_private_keys.md)
- Our bridge interface is running on 10.56.233.1 and our container is running on 10.56.233.189 in our examples. However your IPs for the bridge and container will be different.
@@ -36,51 +40,35 @@ This is also a companion document to the [Docker version here](rockydocs_web_dev
### Create the container
-Our first step is to create the LXD container. Using your container's defaults (bridge interface) is perfectly fine here.
+Our first step is to create the `incus` container. Using your container's defaults (bridge interface) is perfectly fine here.
You will add a Rocky container to our workstation for `mkdocs`. Just name it "mkdocs":
```bash
-lxc launch images:rockylinux/8 mkdocs
+incus launch images:rockylinux/10 mkdocs
```
-The container needs to be a proxy. By default, when `mkdocs serve` starts, it runs on 127.0.0.1:8000. That is fine when it is on your local workstation without a container. However, when it is in an LXD **container** on your local workstation, you need to set up the container with a proxy port. Do this with:
+The container needs to be a proxy. By default, when `mkdocs serve` starts, it runs on 127.0.0.1:8000. That is fine when it is on your local workstation without a container. However, when it is in an `incus` **container** on your local workstation, you need to set up the container with a proxy port. Do this with:
```bash
-lxc config device add mkdocs mkdocsport proxy listen=tcp:0.0.0.0:8000 connect=tcp:127.0.0.1:8000
+incus config device add mkdocs mkdocsport proxy listen=tcp:0.0.0.0:8000 connect=tcp:127.0.0.1:8000
```
In the line above, "mkdocs" is our container name, "mkdocsport" is an arbitrary name you are giving to the proxy port, the type is "proxy", and you are listening on all TCP interfaces on port 8000 and connecting to the localhost for that container on port 8000.
!!! Note
- If you are running the lxd instance on another machine in your network, remember to make sure that port 8000 is open in the firewall.
+ If you are running an `incus` instance on another machine in your network, remember to make sure that port 8000 is open in the firewall.
### Installing packages
First, get into the container with:
```bash
-lxc exec mkdocs bash
+incus shell mkdocs bash
```
-!!! warning "Changes in requirements.txt for 8.x"
-
- The current `requirements.txt` will require a newer version of Python than what is installed by default in Rocky Linux 8.5 or 8.6. To be able to install all the other dependencies, do the following:
-
- ```
- sudo dnf module enable python38
- sudo dnf install python38
- ```
-
- If you are using Rocky Linux 8.x, use the following for package installation:
-
- ```
- dnf install git openssh-server rsync
- ```
- Do **NOT** install `python3-pip`
-
-For Rocky Linux 9.x you will need a few packages (see "Changes in requirements.txt for 8.x" for 8.x package installation!):
+For Rocky Linux 10 you will need a few packages:
```bash
dnf install git openssh-server python3-pip rsync
@@ -119,7 +107,7 @@ You should be able to SSH into the container with the root user or your user fro
## SSH for root and your user
-In this procedure, the root user (at minimum) needs to be able to SSH into the container without entering a password; this is because of the `lsyncd` process you will be implementing. The assumption here is that you can sudo to the root user on your local workstation:
+In this procedure, the root user (at minimum) needs to be able to SSH into the container without entering a password. This is because of the `lsyncd` process you will be implementing. The assumption here is that you can `sudo` to the root user on your local workstation:
```bash
sudo -s
@@ -136,15 +124,15 @@ drwx------ 14 root root 4096 Feb 25 08:10 ..
-rw-r--r-- 1 root root 222 Feb 25 08:06 known_hosts
```
-To get SSH access on our container without having to enter a password, provided the `id_rsa.pub` key exists, as it does above, just run:
+To get SSH access on our container without having to enter a password, provided the `id_rsa.pub` key exists, just run:
```bash
ssh-copy-id root@10.56.233.189
```
-For our user, however, you need the entire `.ssh/` directory copied to our container. You will keep everything the same for this user so that our access to GitHub over SSH is the same.
+For your user, however, you need the entire `.ssh/` directory copied to your container. You will keep everything the same for this user so that your access to GitHub over SSH is the same.
-To copy everything over to our container, you just need to do this as your user, **not** sudo:
+To copy everything over to your container, you just need to do this as your user, **not** `sudo`:
```bash
scp -r .ssh/ youruser@10.56.233.189:/home/youruser/
@@ -156,7 +144,7 @@ Next, SSH into the container as your user:
ssh -l youruser 10.56.233.189
```
-You need to make things identical. You are doing this with `ssh-add`. To do this, you must ensure that you have the `ssh-agent` available:
+You need to ensure things are identical. You will do this with `ssh-add`. You must also ensure that you have the `ssh-agent` available:
```bash
eval "$(ssh-agent)"
@@ -181,7 +169,7 @@ Next, clone docs.rockylinux.org:
git clone git@github.com:rocky-linux/docs.rockylinux.org.git
```
-If you get errors, return to the steps above and ensure that those are all correct before continuing.
+If you get errors, return to the earlier steps and ensure that those are all correct before continuing.
## Setting up `mkdocs`
@@ -201,7 +189,7 @@ Then run:
sudo pip3 install -r requirements.txt
```
-Next you must set up `mkdocs` with an additional directory. `mkdocs` requires the creation of a docs directory and then the documentation/docs directory linked beneath it. Do this with:
+Next you must set up `mkdocs` with an additional directory. `mkdocs` requires the creation of a docs directory and then the `documentation/docs` directory linked beneath it. Do this with:
```bash
mkdir docs
@@ -217,7 +205,7 @@ Now that you have `mkdocs` setup, try starting the server. Remember, this proces
mkdocs serve -a 0.0.0.0:8000
```
-You will see something like this in the console:
+You will see this or similar in the console:
```bash
INFO - Building documentation...
@@ -244,9 +232,9 @@ INFO - Building pt documentation
INFO - [14:12:56] Reloading browsers
```
-Now for the moment of truth! If you have done everything correctly, you should be able to open a web browser and go to the IP of your container on port :8000, and see the documentation site.
+If you have done everything correctly, you should be able to open a web browser and go to the IP of your container on port :8000, and see the documentation site.
-In our example, enter the following in the browser address (**NOTE** To avoid broken URLs, the IP here has been changed to "your-server-ip". You just need to substitute in the IP):
+In our example, enter the following in the browser address (**NOTE** To avoid broken URLs, the IP here is "your-server-ip". You just need to substitute in the IP):
```bash
http://your-server-ip:8000
@@ -256,21 +244,25 @@ http://your-server-ip:8000
You are almost there if you saw the documentation in the web browser. The last step is to keep the documentation in your container synchronized with the one on your local workstation.
-As noted above, you are doing this here with `lsyncd`.
+As noted, you are doing this here with `lsyncd`.
-Installation of`lsyncd` differs depending on your Linux version. [This document](../../backup/mirroring_lsyncd.md) covers ways to install it on Rocky Linux, and also from source. If you are using other Linux types (Ubuntu for example) they generally have their own packages, but they have nuances.
+Installation of `lsyncd` differs depending on your Linux version. [This document](../../backup/mirroring_lsyncd.md) covers ways to install it on Rocky Linux with an RPM from the EPEL (Extra Packages for Enterprise Linux), and from source. If you are using other Linux types (Ubuntu for example), they generally have their own packages, but with nuances.
Ubuntu's, for example, names the configuration file differently. Just be aware that if you are using another Linux workstation type other than Rocky Linux, and do not want to install from source, there are probably packages available for your platform.
For now, we are assuming that you are using a Rocky Linux workstation and are using the RPM install method from the included document.
+!!! note
+
+ As of this writing, `lsyncd` is not available from the EPEL for Rocky Linux 10. You will need to use the source install method if that is your workstation version.
+
### Configuration
!!! Note
The root user must run the daemon, so you must be root to create the configuration files and logs. For this we are assuming `sudo -s`.
-You need to have some log files available for `lsyncd` to write to:
+You need to have some logs available for `lsyncd` to write to:
```bash
touch /var/log/lsyncd-status.log
@@ -283,7 +275,7 @@ You also need to have an exclude file created, even though in this case you are
touch /etc/lsyncd.exclude
```
-Finally you need to create the configuration file. In this example, we are using `vi` as our editor, but you may use whichever editor you feel comfortable with:
+Finally you need to create the configuration file. In this example, we are using `vi` as our editor, but use the editor you feel comfortable with:
```bash
vi /etc/lsyncd.conf
@@ -322,7 +314,7 @@ Assuming that you enabled `lsyncd` when you installed it, at this point you need
systemctl restart lsyncd
```
-To ensure things are working, check the logs-particularly the `lsyncd.log`, which should show you something like this if everything started correctly:
+To ensure things are working, check the logs-particularly the `lsyncd.log`, which should show content similar to this if everything started correctly:
```bash
Fri Feb 25 08:10:16 2022 Normal: --- Startup, daemonizing ---
@@ -331,8 +323,96 @@ Fri Feb 25 08:10:41 2022 Normal: Startup of "/home/youruser/documentation/" fini
Fri Feb 25 08:15:14 2022 Normal: Calling rsync with filter-list of new/modified files/dirs
```
-## Conclusion
+## Versioning notes
+
+You need a clone of the documentation repository from [Rocky Linux documentation repository](https://github.com/rocky-linux/documentation). That part is important, because if you have instead cloned your own fork of the repository, then your ability to `git checkout` the `rocky-8` and `rocky-9` branches will not be there. Only the `main` branch will be available.
+
+### GitHub workstation setup
+
+These steps are not for your container, but for your workstation's copy of the documentation:
+
+1. Clone the Rocky Linux documentation repository:
+
+ ```bash
+ git clone git@github.com:rocky-linux/documentation.git
+ ```
+
+2. The `git remote` name will be "upstream", rather than "origin." Check the remote name with:
+
+ ```bash
+ git remote -v
+ ```
+
+ Immediately after cloning, this shows:
+
+ ```bash
+ origin git@github.com:rocky-linux/documentation.git (fetch)
+ origin git@github.com:rocky-linux/documentation.git (push)
+ ```
+
+ Rename the remote with:
-As you work on your workstation documentation now, whether it is a `git pull` or a branch you create to make a document (like this one!), you will see the changes appear in your documentation on the container, and `mkdocs serve` will show you the content in your web browser.
+ ```bash
+ git remote rename origin upstream
+ ```
+
+ Run `git remote -v` again and you will see:
+
+ ```bash
+ upstream git@github.com:rocky-linux/documentation.git (fetch)
+ upstream git@github.com:rocky-linux/documentation.git (push)
+ ```
+
+3. Add your fork as a remote with the "origin" name. Substitute your actual GitHub username:
+
+ ```bash
+ git remote add origin git@github.com:[your-github-user-name]/documentation.git
+ ```
+
+ Run `git remote -v` again and you will see:
+
+ ```bash
+ origin git@github.com:[your-github-user-name]/documentation.git (fetch)
+ origin git@github.com:[your-github-user-name]/documentation.git (push)
+ upstream git@github.com:rocky-linux/documentation.git (fetch)
+ upstream git@github.com:rocky-linux/documentation.git (push)
+ ```
+
+4. You need to populate your fork with the version branches (other than `main`). The `main` branch currently holds version 10 information. You want to populate your fork with the `rocky-8` and `rocky-9` branches so that you are ready to edit documents in those older versions. The first step is to `git checkout` these branch names:
+
+ ```bash
+ git checkout rocky-8
+ ```
+
+ The first time you do this, your will see:
+
+ ```bash
+ branch 'rocky-8' set up to track 'upstream/rocky-8'.
+ Switched to a new branch 'rocky-8'
+ ```
+
+ Next, push the branch to your fork:
+
+ ```bash
+ git push origin rocky-8
+ ```
+
+ This acts like it is creating a new pull request, but when you check your fork branch contents, you will see `rocky-8` is now one of the branches.
+
+ Repeat these steps with the `rocky-9` branch.
+
+### How this applies to this procedure
+
+With the branches created, if you want to edit the `README.md` for only `rocky-9`, you need to create a new branch based on the `rocky-9` version branch:
+
+```bash
+git checkout -b fixes_for_rocky9_readme rocky-9
+```
+
+Then edit the document normally. As you save your work, your container documents will update, and running `mkdocs serve` as described in this document, will show that content.
+
+Once finished and changes pushed to your fork to create a pull request, you can checkout the `main` branch again. Since all of your work was within the checked out rocky-9 branch, your synced documentation in your container reverts to what it was before starting the process. In this way, you can always track your work regardless of what version you are working with. Your container will remain in sync with your local workstation content.
+
+## Conclusion
-The recommended practice is that all Python must run separately from any other Python code you might be developing. LXD containers can make that easier. Give this method a try and see if it works for you.
+You can work on your workstation documentation while seeing changes appear in your synced copy in your container. The recommended practice is that all Python must run separately from any other Python code you might be developing. Using `incus` containers makes that easier.
diff --git a/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md b/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md
index 25d2585175..f18d68decd 100644
--- a/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md
+++ b/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md
@@ -11,7 +11,7 @@ tags:
# Вступ
-!!! info
+!!! info "примітка"
Процедури тут працюватимуть як з Incus, так і з LXD.
diff --git a/docs/guides/contribute/localdocs/rockydocs_tool_guide.md b/docs/guides/contribute/localdocs/rockydocs_tool_guide.md
new file mode 100644
index 0000000000..0d60a1a419
--- /dev/null
+++ b/docs/guides/contribute/localdocs/rockydocs_tool_guide.md
@@ -0,0 +1,460 @@
+---
+title: RockyDocs Script Method
+author: Wale Soyinka
+contributors:
+update: 11-Sep-2025
+---
+
+# Running a local copy of the docs.rockylinux.org website using the RockyDocs script
+
+This document walks you through using the automated `rockydocs.sh` script to recreate and run a production-identical copy of the entire docs.rockylinux.org website on your local machine.
+
+The RockyDocs script provides a modern, automated approach that eliminates the manual setup complexity found in other methods while delivering exact production behavior.
+
+Running a local copy of the documentation website might be useful in the following scenarios:
+
+- You are a documentation author and want to preview exactly how your content will appear on the live website
+- You want to test your contributions across multiple Rocky Linux versions (8, 9, and 10) locally
+- You are interested in learning about or contributing to the documentation infrastructure
+- You need to verify that your content renders correctly with the version selector and navigation
+
+## Prerequisites
+
+The RockyDocs script automatically handles most dependencies, but you'll need:
+
+- A Linux or macOS system (Windows with WSL2 should work)
+- `git` installed on your system
+- Either Python 3.8+ with `pip` OR Docker (the script supports both environments)
+- About 2GB of free disk space for the full environment
+
+The script will automatically check for and install other required tools like `mkdocs`, `mike`, and various plugins.
+
+## Setup the content environment
+
+1. Change to a directory where you want to work with Rocky Linux documentation. We'll refer to this as your workspace directory.
+
+ ```bash
+ mkdir -p ~/rocky-projects
+ cd ~/rocky-projects
+ ```
+
+2. Clone the official Rocky Linux documentation repository:
+
+ ```bash
+ git clone https://github.com/rocky-linux/documentation.git
+ cd documentation
+ ```
+
+ You now have the content repository with the automated `rockydocs.sh` script included.
+
+## Quick start options with the RockyDocs script
+
+The RockyDocs script provides multiple workflow options to match different contributor needs. Choose the option that best fits your writing and review workflow.
+
+!!! note "Understanding the Three-Step Process"
+ **Setup** (one-time): Creates a build environment with Python virtual environment and installs MkDocs tools. Also sets the language configuration (minimal or full) that will be used for all subsequent deployments. This creates a separate workspace directory for build files while keeping your content repository clean.
+
+ **Deploy**: Builds all Rocky Linux versions (8, 9, 10) into a complete versioned website using Mike and the language configuration set during setup. This creates the multi-version structure you see on docs.rockylinux.org.
+
+ **Serve**: Starts a local web server to preview your changes. Static mode serves pre-built files (production-identical), while live mode enables automatic reloading when you edit content.
+
+## Customizing your workspace location
+
+By default, the script creates a workspace in `../rockydocs-workspaces/` relative to your content repository. You can customize this location using the `--workspace` option:
+
+```bash
+# Use a custom workspace location
+./rockydocs.sh --setup --venv --workspace ~/my-docs-workspace
+
+# The script remembers your choice for future commands
+./rockydocs.sh --deploy
+./rockydocs.sh --serve --static
+```
+
+!!! tip "Workspace Benefits"
+ - Keeps your content repository clean from build files
+ - Allows multiple documentation projects to share the same build environment
+ - Automatically saves your workspace preference for future commands
+ - Intelligently reuses existing repositories to save disk space and clone time
+
+The script automatically saves your workspace preference and reuses it for subsequent commands.
+
+### Option 1: Production-Identical Preview (Recommended for Final Review)
+
+This option provides the exact same experience as the live docs.rockylinux.org website, perfect for final content review and testing.
+
+1. **Setup the environment** (one-time setup):
+
+ ```bash
+ # Basic setup (creates workspace in ../rockydocs-workspaces/)
+ ./rockydocs.sh --setup --venv
+
+ # Alternative: Custom workspace location
+ ./rockydocs.sh --setup --venv --workspace ~/my-docs-workspace
+ ```
+
+2. **Build all documentation versions**:
+
+ ```bash
+ ./rockydocs.sh --deploy
+ ```
+
+3. **Start the production-identical website**:
+
+ ```bash
+ ./rockydocs.sh --serve --static
+ ```
+
+ !!! tip "Static Serving Mode"
+ This serves pre-built static files exactly like production with no redirects. Perfect for verifying how your content will look on the live site. The root URL (`http://localhost:8000/`) serves the latest content directly, just like docs.rockylinux.org.
+
+ **Note**: You must run `--deploy` again to see content changes, as this serves pre-built files.
+
+ !!! note "Language Support"
+ By default, the script builds English and Ukrainian language versions for faster setup and builds. For complete testing with all available languages, use the `--full` flag:
+
+ ```bash
+ # Full language support setup (config set once)
+ ./rockydocs.sh --setup --venv --full
+ # Deploy uses setup's language configuration automatically
+ ./rockydocs.sh --deploy
+ ```
+
+### Option 2: Live Development Mode (Best for Active Writing)
+
+This option automatically refreshes your browser when you edit content files, ideal for active writing sessions.
+
+1. **Setup the environment** (one-time setup):
+
+ ```bash
+ # Basic setup
+ ./rockydocs.sh --setup --venv
+
+ # Alternative: Custom workspace location
+ ./rockydocs.sh --setup --venv --workspace ~/my-docs-workspace
+ ```
+
+2. **Build all documentation versions**:
+
+ ```bash
+ ./rockydocs.sh --deploy
+ ```
+
+3. **Start the live development server**:
+
+ ```bash
+ ./rockydocs.sh --serve
+ ```
+
+ !!! tip "Live Development Mode"
+ This provides live reloading - edit any markdown file in your `docs/` directory and see changes instantly in your browser. Perfect for active writing and editing content. Changes appear automatically without needing to run `--deploy` again.
+
+ **Note**: May include redirects and behavior that differs slightly from production. Use static mode for final verification.
+
+### Option 3: Dual Server Mode (Best of Both Worlds)
+
+This option runs two servers simultaneously, giving you both full site navigation and live content editing capabilities.
+
+1. **Setup the environment** (one-time setup):
+
+ ```bash
+ # Basic setup
+ ./rockydocs.sh --setup --venv
+
+ # Alternative: Custom workspace location
+ ./rockydocs.sh --setup --venv --workspace ~/my-docs-workspace
+ ```
+
+2. **Build all documentation versions**:
+
+ ```bash
+ ./rockydocs.sh --deploy
+ ```
+
+3. **Start dual servers**:
+
+ ```bash
+ ./rockydocs.sh --serve-dual
+ ```
+
+ !!! tip "Dual Server Mode"
+ This runs two servers simultaneously for the best of both worlds:
+
+ - **Port 8000**: Mike serve with full version selector and site navigation
+ - **Port 8001**: MkDocs live reload for instant content updates
+
+ Switch between ports depending on whether you need live editing (8001) or full site testing (8000). This mode is ideal for contributors who want both immediate content feedback and complete site navigation testing.
+
+### Option 4: Docker Environment
+
+If you prefer containerized environments or don't want to install Python dependencies locally, you can use Docker versions of any serving mode.
+
+!!! note "Docker Environment Benefits"
+ - **Isolated Environment**: No impact on your local Python installation or system dependencies
+ - **Consistent Builds**: Same container environment across different machines
+ - **Easy Cleanup**: Simply remove containers and images when done
+ - **All Serving Modes**: Supports static, live, and dual server modes in containers
+
+1. **Setup the Docker environment**:
+
+ ```bash
+ # Basic Docker setup
+ ./rockydocs.sh --setup --docker
+
+ # Alternative: Custom workspace location
+ ./rockydocs.sh --setup --docker --workspace ~/my-docs-workspace
+ ```
+
+2. **Build all versions in containers**:
+
+ ```bash
+ ./rockydocs.sh --deploy --docker
+ ```
+
+3. **Choose your Docker serving mode**:
+
+ ```bash
+ # Production-identical (static)
+ ./rockydocs.sh --serve --docker --static
+
+ # Live development with auto-reload
+ ./rockydocs.sh --serve --docker
+
+ # Dual servers (containerized)
+ ./rockydocs.sh --serve-dual --docker
+ ```
+
+## View your local documentation website
+
+With either method, you can now view your local copy of the website by opening your web browser to:
+
+****
+
+You should see:
+- The complete Rocky Linux documentation website
+- Full navigation and search functionality
+- Version selector in the top navigation
+- All content exactly as it appears on the production site
+- No redirect behavior - pages load directly
+
+## Available script commands
+
+The `rockydocs.sh` script provides several useful commands:
+
+### Primary workflow commands
+
+```bash
+# Setup commands (run once)
+./rockydocs.sh --setup --venv --minimal # Python virtual environment setup
+./rockydocs.sh --setup --docker --minimal # Docker containerized setup
+
+# Deployment commands (build the site)
+./rockydocs.sh --deploy --minimal # Build all versions (venv)
+./rockydocs.sh --deploy --docker --minimal # Build all versions (Docker)
+
+# Serving commands (start the local website)
+./rockydocs.sh --serve --static # Production-identical static server (venv)
+./rockydocs.sh --serve --docker --static # Production-identical static server (Docker)
+./rockydocs.sh --serve # Live development server with auto-reload (venv)
+./rockydocs.sh --serve --docker # Live development server with auto-reload (Docker)
+./rockydocs.sh --serve-dual # Dual servers: mike serve + mkdocs live reload (venv)
+./rockydocs.sh --serve-dual --docker # Dual servers: containerized version (Docker)
+```
+
+### Maintenance and information commands
+
+```bash
+./rockydocs.sh --status # Show environment status and information
+./rockydocs.sh --clean # Clean workspace and build artifacts
+./rockydocs.sh --reset # Reset saved configuration
+./rockydocs.sh --help # Show detailed help information
+```
+
+
+## Working with different Rocky Linux versions
+
+The script automatically detects which version you're working on based on your git branch:
+
+```bash
+# Switch to different versions in your content repository
+git checkout rocky-8 # Work on Rocky Linux 8 documentation
+git checkout rocky-9 # Work on Rocky Linux 9 documentation
+git checkout main # Work on Rocky Linux 10 documentation
+
+# Rebuild with your changes
+./rockydocs.sh --deploy --minimal
+```
+
+Your changes will appear in the corresponding version when you view the local website.
+
+
+## Understanding the folder structure
+
+The RockyDocs script creates a clean separation between your content and the build environment:
+
+```
+~/rocky-projects/documentation/ # Your content repository (where you edit)
+├── docs/ # Your content files (guides, books, etc.)
+├── rockydocs.sh # The script
+└── .git/ # Your content git repository
+
+~/rockydocs-workspaces/ # Build workspace (created by script)
+├── docs.rockylinux.org/ # Main build environment
+│ ├── venv/ # Python virtual environment
+│ ├── worktrees/ # Cached copies of doc versions
+│ │ ├── main/ # Rocky Linux 10 content cache
+│ │ ├── rocky-8/ # Rocky Linux 8 content cache
+│ │ └── rocky-9/ # Rocky Linux 9 content cache
+│ ├── site-static/ # Static site files (for --static mode)
+│ ├── content -> worktrees/main/docs # Symlink to your current version
+│ ├── mkdocs.yml # Build configuration
+│ └── .git/ # Local build repository
+└── app -> docs.rockylinux.org # Compatibility symlink
+```
+
+**Key points:**
+- Your content repository stays clean - no build files or dependencies
+- The build workspace is completely separate and can be safely deleted
+- The script automatically manages the `content` symlink based on your current git branch
+- Cached worktrees avoid repeatedly downloading content for different Rocky versions
+- The `--clean` command removes the entire build workspace if needed
+
+## Updating your environment
+
+To get the latest changes from the official repositories:
+
+```bash
+# This updates both the build environment and content
+./rockydocs.sh --deploy --minimal
+```
+
+The script automatically fetches updates from all Rocky Linux documentation branches.
+
+## Troubleshooting
+
+If you encounter issues:
+
+1. **Check system status**:
+ ```bash
+ ./rockydocs.sh --status
+ ```
+
+2. **Clean and rebuild**:
+ ```bash
+ ./rockydocs.sh --clean
+ ./rockydocs.sh --setup --venv --minimal
+ ./rockydocs.sh --deploy --minimal
+ ```
+
+3. **Get detailed help**:
+ ```bash
+ ./rockydocs.sh --help
+ ./rockydocs.sh --setup --help
+ ./rockydocs.sh --serve --help
+ ```
+
+## How Your Edits Flow to the Built Site
+
+Understanding how the RockyDocs script connects your local editing to the deployed website helps explain why certain design decisions were made and how your changes appear in the built documentation.
+
+### The Core Challenge
+
+The script needs to accomplish three things simultaneously:
+1. Let you edit in your familiar local repository
+2. Build multiple Rocky Linux versions (8, 9, 10) with proper git context
+3. Reflect your live edits immediately in builds
+
+### Directory Structure Overview
+
+```
+Your editing environment:
+~/rocky-projects/documentation/ ← You edit here
+├── docs/ ← Your live content
+├── .git/ ← Your git repository
+└── rockydocs.sh
+
+Build environment (separate):
+../rockydocs-workspaces/docs.rockylinux.org/
+├── content → (symlink target varies) ← MkDocs reads from here
+├── mkdocs.yml (docs_dir: "content") ← Always points to symlink
+├── worktrees/ ← Cached content for other versions
+│ ├── main/docs/ ← Rocky 10 cached content
+│ ├── rocky-8/docs/ ← Rocky 8 cached content
+│ └── rocky-9/docs/ ← Rocky 9 cached content
+└── venv/
+```
+
+### The Smart Symlink Strategy
+
+The key innovation is a dynamic symlink called `content` in the build environment. This symlink changes its target based on what you're currently working on:
+
+#### When You're Editing Rocky Linux 10 (main branch):
+```bash
+# Your context:
+cd ~/rocky-projects/documentation
+git branch # Shows: * main
+
+# When you run: ./rockydocs.sh --deploy
+# Script creates: content → ~/rocky-projects/documentation/docs
+
+# Result: Your live edits appear immediately in builds
+```
+
+#### When Building Other Versions:
+```bash
+# Script builds Rocky 8:
+# content → ../worktrees/rocky-8/docs (cached Rocky 8 content)
+
+# Script builds Rocky 9:
+# content → ../worktrees/rocky-9/docs (cached Rocky 9 content)
+```
+
+### Why This Design?
+
+**Main Branch → Your Live Files:**
+- You're actively editing Rocky Linux 10 content
+- Live reload: save file, see changes immediately in browser
+- Uses your repo's git history for accurate timestamps
+
+**Other Branches → Cached Worktrees:**
+- You may not have rocky-8/rocky-9 branches locally
+- Provides complete git context for each Rocky version
+- Enables building all versions without affecting your workflow
+
+### Complete Build Flow Example
+
+```bash
+# 1. You edit in your repo
+cd ~/rocky-projects/documentation
+echo "New troubleshooting tip" >> docs/guides/myguide.md
+
+# 2. You deploy and serve
+./rockydocs.sh --deploy
+./rockydocs.sh --serve
+
+# 3. Script creates symlink in build environment
+# content → ~/rocky-projects/documentation/docs
+
+# 4. MkDocs builds from your live files
+# Your changes appear immediately in the local website
+```
+
+### Benefits of This Architecture
+
+1. **Immediate Edit Reflection**: Your changes appear instantly without rebuilding
+2. **Multi-Version Support**: Can build all Rocky versions with proper git context
+3. **Clean Separation**: Your git workflow remains completely unaffected
+4. **Git History Preservation**: Each version has accurate timestamps and author information
+5. **Flexible Development**: Switch branches, script adapts automatically
+
+The symlink acts as a "smart pointer" that MkDocs follows to find content, while the script dynamically retargets it based on what you're currently working on. This explains why the script needs to clone repositories separately - it creates a clean build environment while keeping your editing environment pristine.
+
+## Notes
+
+- The RockyDocs script creates a workspace **outside** your content repository to keep your git workflow clean
+- All environments are completely local - nothing is uploaded or published automatically
+- The script automatically manages dependencies, port conflicts, and cleanup
+- Both Python virtual environment and Docker methods provide identical functionality
+- The local website includes the exact same theme, navigation, and features as the production site
+- You can safely experiment with content changes - your local environment is completely isolated
+- The script automatically preserves git history for accurate document timestamps
\ No newline at end of file
diff --git a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md
index fb722acccc..339386b114 100644
--- a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md
+++ b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md
@@ -44,7 +44,7 @@ sudo chmod 666 /var/run/docker.sock
1. Assicuratevi che i prerequisiti siano soddisfatti.
-2. Passare dalla directory di lavoro corrente del sistema locale alla cartella in cui si intende effettuare le operazioni di scrittura. Nel resto di questa guida ci riferiremo a questa directory come `$ROCKYDOCS`. Per la nostra dimostrazione, `$ROCKYDOCS` punta a `$HOME/projects/rockydocs` sul nostro sistema demo.
+2. Cambiare la directory di lavoro corrente sul sistema locale in una cartella in cui si intende scrivere. Nel resto di questa guida ci riferiremo a questa directory come `$ROCKYDOCS`. Per la nostra dimostrazione, `$ROCKYDOCS` punta a `$HOME/projects/rockydocs` sul nostro sistema demo.
Creare `$ROCKYDOCS` se non esiste già e cambiare la directory di lavoro in quella `$ROCKYDOCS`:
diff --git a/docs/guides/contribute/rockydocs_formatting.it.md b/docs/guides/contribute/rockydocs_formatting.it.md
index 72ca8d86a1..14a3c580b8 100644
--- a/docs/guides/contribute/rockydocs_formatting.it.md
+++ b/docs/guides/contribute/rockydocs_formatting.it.md
@@ -7,11 +7,11 @@ tags:
- formatting
---
-# Introduzione
+## Introduzione
Questa guida mette in evidenza le opzioni di formattazione più avanzate, tra cui ammonizioni, elenchi numerati, tabelle e altro ancora.
-Un documento può contenere o meno uno di questi elementi. Se ritenete che il vostro documento possa beneficiare di una formattazione speciale, questa guida vi aiuterà.
+Un documento può contenere o meno uno di questi elementi. Tuttavia, se ritenete che il vostro documento possa beneficiare di una formattazione speciale, questa guida dovrebbe aiutarvi.
!!! note "Una nota sulle Intestazioni"
@@ -34,37 +34,72 @@ Un documento può contenere o meno uno di questi elementi. Se ritenete che il vo
La chiave è che si possono usare tutti i titoli dal 2 al 6, ma solo **UNO** di livello 1. Mentre il documento viene visualizzato correttamente con più di un'intestazione di livello 1, l'indice generato automaticamente per il documento, che appare sul lato destro, **NON** viene visualizzato correttamente (o talvolta per niente) con più di un'intestazione. Tienilo a mente quando scrivi i tuoi documenti.
+
+ Un'altra nota importante sull'intestazione del livello 1: Se è in uso il meta `title:`, questo sarà l'intestazione predefinita del livello 1. Non è il caso di aggiungerne un altro. Un esempio è che il meta titolo di questo documento è:
+
+ ```
+ ---
+ title: Document Formatting
+ ```
+
+
+ Il primo titolo aggiunto è quindi "Introduzione" al livello 2.
+
+ ```
+ ## Introduction
+ ```
!!! warning "Una nota sugli elementi HTML supportati"
- Ci sono elementi HTML che sono tecnicamente supportati in markdown. Alcuni di questi sono descritti in questo documento, dove non esiste una sintassi markdown che li sostituisca. Questi tag HTML supportati dovrebbero essere usati raramente, perché i linters di markdown potrebbero segnalarli in un documento. Per esempio:
+ Ci sono elementi HTML che sono tecnicamente supportati in markdown. Alcune di queste sono descritte in questo documento e non esiste una sintassi markdown che le sostituisca. Questi tag HTML supportati dovrebbero essere usati raramente, poiché i linters markdown si lamenteranno della loro presenza in un documento. Per esempio:
* Inline HTML [nome elemento]
Se dovete usare un elemento HTML supportato, cercate di trovare un altro modo per scrivere il vostro documento che non utilizzi questi elementi. Se dovete usarli, è comunque consentito.
+!!! info "Una nota sui link"
+
+ I link non sono formattazioni speciali, ma metodi standard di riferimento ad altri documenti (link interni) o a pagine web esterne. Tuttavia, c'è un tipo particolare di link che non si deve usare quando si compongono documenti per Rocky Linux: si tratta di un'ancora, ovvero di un link a un punto dello stesso documento.
+
+ Le ancore funzionano nella lingua di origine di Rocky Linux (inglese), ma non appena vengono tradotte dalla nostra interfaccia Crowdin, si interrompono in quelle lingue. Questo accade perché un'ancora accettabile in markdown, che non contiene elementi HTML, utilizza l'intestazione per creare il collegamento:
+
+ ```
+ ## A Header
+
+ Some text
+
+ A Link to [that header](#-a-header)
+ ```
+
+
+ Questo link si trova passando il mouse sul permalink in un documento creato, ma è essenzialmente l'intestazione con il "#" più l'intestazione in minuscolo separata da un trattino (-).
+
+ Quando il documento viene tradotto, però, l'intestazione viene tradotta, ma il link è al di fuori di ciò che Crowdin consente di tradurre, quindi rimane nel suo stato originale (inglese).
+
+ Se vi trovate nella necessità di usare un ancoraggio, date un'occhiata al vostro documento e verificate se la riorganizzazione del contenuto renderà l'ancoraggio non necessario. Sappiate che se utilizzate un ancora in un documento appena composto, tale ancora si interromperà una volta effettuata la traduzione del documento.
+
## Ammonimenti
-Gli ammonimenti sono speciali "riquadri" visivi che consentono di richiamare l'attenzione su fatti importanti e di metterli in evidenza. Di seguito sono elencati i tipi di ammonimenti:
-
-| tipo | Descrizione |
-| ------------------ | -------------------------------------------------------------------------- |
-| note | visualizza il testo in un riquadro blu |
-| abstract | visualizza il testo in un riquadro azzurro |
-| info | visualizza il testo in un riquadro blu-verde |
-| tip | visualizza il testo in un riquadro blu-verde (icona leggermente più verde) |
-| success | visualizza il testo in un riquadro verde |
-| question "Domanda" | visualizza il testo in un riquadro verde chiaro |
-| warning | visualizza il testo in un riquadro arancione |
-| failure | visualizza il testo in un riquadro rosso chiaro |
-| danger "Pericolo" | visualizza il testo in un riquadro rosso |
-| bug | visualizza il testo in un riquadro rosso |
-| example | visualizza il testo in un riquadro viola |
-| quote | visualizza il testo in una casella grigia |
-| custom ^1^ | visualizza sempre il testo in un riquadro blu |
-| custom ^2^ | visualizza il testo nel colore del riquadro della tipologia prescelta |
-
-Gli ammonimenti sono illimitati, come si può notare in custom 1 sopra. È possibile aggiungere un titolo personalizzato a qualsiasi tipo di ammonimento per ottenere il colore del riquadro desiderato per un ammonimento specifico, come indicato nel precedente custom 2 personalizzato.
+Gli ammonimenti sono speciali "scatole" visive che richiamano l'attenzione su fatti importanti e li evidenziano. I seguenti sono tipi di ammonimenti:
+
+| tipo | Descrizione |
+| ---------- | -------------------------------------------------------------------------- |
+| note | visualizza il testo in un riquadro blu |
+| abstract | visualizza il testo in un riquadro azzurro |
+| info | visualizza il testo in un riquadro blu-verde |
+| tip | visualizza il testo in un riquadro blu-verde (icona leggermente più verde) |
+| success | visualizza il testo in un riquadro verde |
+| question | visualizza il testo in un riquadro verde chiaro |
+| warning | visualizza il testo in un riquadro arancione |
+| failure | visualizza il testo in un riquadro rosso chiaro |
+| danger | visualizza il testo in un riquadro rosso |
+| bug | visualizza il testo in un riquadro rosso |
+| example | visualizza il testo in un riquadro viola |
+| quote | visualizza il testo in una casella grigia |
+| custom ^1^ | visualizza sempre il testo in un riquadro blu |
+| custom ^2^ | visualizza il testo nel colore del riquadro della tipologia prescelta |
+
+Gli ammonimenti sono illimitati, come si può notare in custom 1 sopra. Per ottenere il colore del riquadro desiderato per un ammonimento specifica, aggiungete un titolo personalizzato a qualsiasi tipo di ammonimento, come indicato nella precedente sezione 2.
Un'ammonimento viene sempre inserito in questo modo:
@@ -74,9 +109,9 @@ Un'ammonimento viene sempre inserito in questo modo:
testo dell'ammonimento
```
-Il testo del corpo dell'ammonimento deve avere un rientro di quattro (4) spazi dal margine iniziale. È facile capire dove si trova, perché sarà sempre allineato sotto la prima lettera del tipo di ammonimento. La riga in più tra il titolo e il corpo non verrà visualizzata, ma il nostro motore di traduzione (Crowdin) ne ha bisogno per funzionare correttamente.
+Il testo del corpo dell'ammonimento deve avere un rientro di quattro (4) spazi dal margine iniziale. È facile capire dove si trova, perché sarà sempre allineato sotto la prima lettera del tipo di ammonimento. La riga in più tra il titolo e il corpo non apparirà, ma il nostro motore di traduzione (Crowdin) ne ha bisogno per funzionare correttamente.
-Qui ci sono esempi di ogni tipo di ammonimento e come appariranno nel vostro documento:
+Ecco alcuni esempi di ogni tipo di ammonimento e il loro aspetto nel documento:
!!! note
@@ -114,7 +149,7 @@ Qui ci sono esempi di ogni tipo di ammonimento e come appariranno nel vostro doc
testo
-!!! custom "Titolo personalizzato"
+!!! custom
Un tipo custom^1^. Abbiamo usato " custom" come tipo di ammonimento. Di nuovo, questo risulterà sempre in blu.
@@ -144,7 +179,7 @@ Che si presenta così nell'editor:
## Contenuto a schede all'interno di un documento
-La formattazione dei contenuti a schede è simile a quella degli ammonimenti. Invece di tre punti esclamativi o tre punti interrogativi, inizia con tre segni uguali. Tutta la formattazione dell'ammonimento (4 spazi, ecc.) si applica a questo contenuto. Ad esempio, la documentazione potrebbe richiedere una procedura diversa per una diversa versione di Rocky Linux. Quando si usa il contenuto a schede per le versioni, la release più recente di Rocky Linux deve essere la prima. Al momento della stesura del presente documento, il codice è 9.0:
+La formattazione dei contenuti a schede è simile a quella degli ammonimenti. Invece di tre punti esclamativi o interrogativi, inizia con tre segni uguale. Tutta la formattazione dell'ammonimento (4 spazi, ecc.) si applica a questo contenuto. Ad esempio, la documentazione potrebbe richiedere una procedura diversa per una diversa versione di Rocky Linux. Quando si usa il contenuto a schede per le versioni, la release più recente di Rocky Linux deve essere la prima. Al momento della stesura di questo documento, era 9.0:
=== "9.0"
@@ -170,7 +205,7 @@ Ricordate che tutto ciò che rientra nella sezione deve continuare a utilizzare
## Liste numerate
-Le liste numerate sembrano facili da creare e da usare e, una volta che ci si è abituati, lo sono davvero. Se si dispone di un unico elenco di elementi senza alcuna complessità, questo tipo di formato va bene:
+Gli elenchi numerati sembrano facili da creare e da usare e, una volta che ci si è abituati, lo sono. Se si dispone di un unico elenco di elementi senza alcuna complessità, questo tipo di formato va bene:
```text
1. Elemento 1
@@ -186,9 +221,9 @@ Le liste numerate sembrano facili da creare e da usare e, una volta che ci si è
3. Elemento 3
-Se è necessario aggiungere blocchi di codice, righe multiple o addirittura paragrafi di testo a un elenco numerato, il testo deve avere la stessa indentazione di quattro (4) spazi utilizzata per gli ammonimenti.
+Se è necessario aggiungere blocchi di codice, righe multiple o addirittura paragrafi di testo a un elenco numerato, il testo deve avere la stessa indentazione di quattro (4) spazi utilizzata negli ammonimenti.
-Tuttavia, non è possibile allinearli con gli occhi sotto l'elemento numerato perché questo ha uno spazio in meno. Se si utilizza un buon editor di markdown, è possibile impostare il valore di tabulazione a quattro (4), il che renderà la formattazione un po' più semplice.
+Tuttavia, non è possibile allinearli con gli occhi sotto l'elemento numerato perché questo ha uno spazio in meno. Se si utilizza un buon editor di markdown, è possibile impostare il valore di tabulazione a quattro (4), rendendo più semplice la formattazione.
Ecco un esempio di elenco numerato a più righe, con un blocco di codice aggiunto per buona norma:
@@ -215,25 +250,25 @@ Ecco come appare il testo raw:
## Tabelle
-Nel caso precedente, le tabelle aiutano a disporre le opzioni di comando o i tipi di ammonimento e le relative descrizioni. Ecco com'è stata inserita la tabella nella sezione delle Ammonizioni:
+Nel caso precedente, le tabelle aiutano a disporre le opzioni di comando o i tipi di ammonimento e le relative descrizioni. Questo mostra la voce della tabella nella sezione Ammonimenti:
```text
-| tipo | Descrizione |
-|-----------|-----------------------------------------------------------|
-| note | mostra il testo in una casella blu |
-| abstract | mostra il testo in una casella azzurra |
-| info | mostra il testo in una casella verde-azzurra |
-| tip | mostra il testo in una casella verde-azzurra (icona lievemente più verde) |
-| success | mostra il testo in una casella verde |
-| question | mostra il testo in una casella verde chiara |
-| warning | mostra il testo in una casella arancione |
-| failure | mostra il testo in una casella rossa chiara |
-| danger | mostra il testo in una casella rossa |
-| bug | mostra il testo in una casella rossa |
-| example | mostra il testo in una casella viola |
-| quote | mostra il testo in una casella grigia |
-| custom 1 | mostra sempre il testo in una casella blu |
-| custom 2 | mostra il testo in una casella del colore scelto |
+| tipo | Descrizione |
+|-----------|------------------------------------------------------------|
+| note | visualizza il testo in un riquadro blu |
+| abstract | visualizza il testo in un riquadro azzurro |
+| info | visualizza il testo in un riquadro blu-verde |
+| tip | visualizza il testo in un riquadro blu-verde (icona leggermente più verde) |
+| success | visualizza il testo in un riquadro verde |
+| question | visualizza il testo in un riquadro verde chiaro |
+| warning | visualizza il testo in un riquadro arancione |
+| failure | visualizza il testo in un riquadro rosso chiaro |
+| danger | visualizza il testo in un riquadro rosso |
+| bug | visualizza il testo in un riquadro rosso |
+| example | visualizza il testo in un riquadro viola |
+| quote | visualizza il testo in un riquadro grigio |
+| custom^1^ | visualizza sempre il testo in un riquadro blu |
+| custom^2^ | visualizza il testo in un riquadro con il colore del tipo scelto |
```
@@ -241,37 +276,43 @@ Si noti che non è necessario che ogni colonna sia suddivisa per dimensione (com
## Virgolettato
-Le virgolette sono in realtà pensate per citare il testo di altre fonti da includere nella documentazione, ma non è obbligatorio usarle in questo modo. Alcuni collaboratori usano le virgolette invece delle tabelle, ad esempio per elencare alcune opzioni. Esempi di virgolette in markdown sono:
+Le virgolette servono per citare il testo di altre fonti da includere nella documentazione. Esempi di virgolette in markdown sono:
```text
-> **un elemento** - Una descrizione di quell'elemento
+> **un elemento** - Una descrizione dell'elemento
+
+seguita da:
-> **altro elemento** - Un'altra descrizione di quell'elemento
+> **un altro elemento** - Un'altra descrizione dell'elemento
```
-La linea di "spaziatura" aggiuntiva è necessaria per evitare che le linee si sovrappongano.
+Se si mettono insieme due citazioni, è necessario separarle con altre parole per evitare di generare un errore di markdown (come fatto sopra).
L'aspetto finale è questo quando la pagina viene visualizzata:
-> **un elemento** - Una descrizione dell'elemento **un altro elemento** - Altra descrizione di un elemento
+> **un elemento** - Una descrizione dell'elemento
+
+seguito da:
+
+> **un altro elemento** - Un'altra descrizione di quell'elemento
## Blocchi di codice in linea e a livello di blocco
-Our approach to the use of code blocks is pretty simple. Se `il vostro codice` è abbastanza breve da poterlo (e volerlo) usare in una riga come quella che avete appena visto, usate dei singoli backtick ++"`"++:
+Il nostro approccio all'uso dei blocchi di codice è piuttosto semplice. Se `il codice` è abbastanza breve da poterlo (e volerlo) utilizzare in una frase come quella appena vista, utilizzare i singoli backtick ++"`"++:
```bash
-Una frase che contiene un "comando scelto da voi".
+Una frase che contiene un `comando a scelta`.
```
-Qualsiasi comando che non sia usato all'interno di un paragrafo di testo (specialmente i pezzi di codice lunghi con più righe) dovrebbe essere un blocco di codice completo, definito con tripli backtick ++"```"++:
+Tutti i comandi che non vengono utilizzati all'interno di un paragrafo di testo (soprattutto quelli lunghi con più righe) devono essere un blocco di codice completo, definito con tripli backtick ++"```"++:
````markdown
```bash
sudo dnf install the-kitchen-sink
```
````
-La parte `bash` di questa formattazione è un identificatore di codice raccomandato da markdown, ma può essere utile per l'evidenziazione della sintassi. Se mostrate testo, Python, PHP, Ruby, HTML, CSS o qualsiasi altro tipo di codice, il "bash" verrà modificato con il linguaggio utilizzato.
-Per inciso, se è necessario mostrare un blocco di codice all'interno di un blocco di codice, basta aggiungere un altro backtick ++"`"++ al blocco genitore:
+La parte `bash` di questa formattazione è un identificatore di codice raccomandato da markdown, ma può essere utile per l'evidenziazione della sintassi. Se mostrate testo, Python, PHP, Ruby, HTML, CSS o qualsiasi altro codice, "bash" cambierà in qualsiasi linguaggio utilizzato.
+Per inciso, se è necessario mostrare un blocco di codice all'interno di un blocco di codice, aggiungere un altro backtick ++"`"++ al blocco padre:
`````markdown
````markdown
@@ -281,15 +322,15 @@ sudo dnf install the-kitchen-sink
````
`````
-E sì, il blocco di codice che avete appena visto ha usato cinque backtick all'inizio e alla fine per renderlo correttamente.
+Sì, il blocco di codice appena visto ha usato cinque backtick all'inizio e alla fine per renderlo corretto.
### Soppressione del prompt visualizzato e dell'avanzamento automatico di riga
-In alcuni casi, durante la stesura della documentazione, si desidera mostrare un prompt nel comando, ma non si vuole che l'utente copi tale prompt quando utilizza l'opzione di copia. Un'applicazione di questo tipo potrebbe essere la scrittura di laboratori in cui si vuole mostrare la posizione con il prompt, come in questo esempio:
+Può capitare, durante la stesura della documentazione, di voler mostrare un prompt nel comando, ma di non volere che l'utente copi il prompt quando usa l'opzione di copia. Un'applicazione di questo tipo potrebbe essere quella dei laboratori di scrittura in cui si vuole mostrare la posizione con la richiesta, come in questo esempio:

-Se la formattazione è normale, l'opzione di copia copierà il prompt e il comando, mentre è preferibile copiare solo il comando. Per ovviare a questo problema, si può usare la seguente sintassi per indicare all'opzione copy ciò che si vuole copiare:
+Se la formattazione è normale, l'opzione di copia copierà il prompt e il comando, mentre è preferibile copiare solo il comando. Per ovviare a questo problema, si può usare la seguente sintassi per indicare all'opzione di copia ciò che si vuole copiare:
````text
``` { .sh data-copy="cd /usr/local" }
@@ -298,51 +339,58 @@ Se la formattazione è normale, l'opzione di copia copierà il prompt e il coman
````
Quando si utilizza questo metodo, anche l'avanzamento automatico delle righe viene soppresso.
## Tastiera
-Un altro modo per aggiungere più chiarezza possibile ai documenti è quello di rappresentare la digitazione dei tasti su una tastiera nel modo corretto. Per farlo, utilizzate `key`. Per esempio, per rappresentare la necessità di premere il tasto escape nel documento, si userebbe `++escape++`. Quando è necessario indicare la pressione di più tasti, aggiungete un `+` tra di essi, in questo modo: `++ctrl+f4++`. Per i tasti non definiti (ad esempio, stiamo indicando un tasto funzione misterioso, `Fx`) mettete la definizione tra virgolette (`++ctrl+"Fx"++`). Se si richiede la pressione simultanea dei tasti, aggiungere "simultaneamente" o "allo stesso tempo" o una frase simile alle istruzioni. Ecco un esempio di istruzione da tastiera nell'editor:
+Un altro modo per aggiungere più chiarezza possibile ai documenti è quello di rappresentare il modo corretto di digitare i tasti su una tastiera. In markdown, questo avviene circondando il tasto o i tasti con doppi segni più (`++`). Eseguire questa operazione con `++tasto++`. Per esempio, per rappresentare la necessità di premere il tasto escape nel documento, si usa `++escape++`. Quando è necessario indicare la pressione di più tasti, aggiungete un `+` tra di essi, in questo modo: `++ctrl+f4++`. Per i tasti che non sono definiti (ad esempio, stiamo indicando un tasto funzione misterioso, `Fx`), mettete la definizione tra virgolette`(++ctrl+"Fx"++`). Per i tasti non definiti (ad esempio, stiamo indicando un tasto funzione misterioso, `Fx`) mettete la definizione tra virgolette (`++ctrl+"Fx"++`). Se si richiede la pressione simultanea dei tasti, aggiungere "simultaneamente" o "allo stesso tempo" o una frase simile alle istruzioni.
```text
-Un'installazione di tipo workstation (con interfaccia grafica) avvia questa interfaccia sul terminale 1. Essendo Linux multiutente, è possibile connettere più utenti più volte, su diversi **terminali fisici** (TTY) o **terminali virtuali** (PTS). I terminali virtuali sono disponibili in un ambiente grafico. Un utente passa da un terminale fisico a un altro usando ++alt+"Fx"++ o dalla riga di comando utilizzando ++ctrl+alt+"Fx"++.
+Un'installazione di tipo workstation (con un'interfaccia grafica) avvia questa interfaccia sul terminale 1. Essendo Linux multiutente, è possibile connettere più utenti più volte, su diversi **terminali fisici** (TTY) o **terminali virtuali** (PTS). I terminali virtuali sono disponibili in un ambiente grafico. L'utente passa da un terminale fisico a un altro utilizzando ++alt+"Fx"++ dalla riga di comando o ++ctrl+alt+"Fx"++.
```
Ecco come viene visualizzato:
-Un'installazione di tipo workstation (con interfaccia grafica) avvia questa interfaccia sul terminale 1. Essendo Linux multiutente, è possibile connettere più utenti più volte, su diversi **terminali fisici** (TTY) o **terminali virtuali** (PTS). I terminali virtuali sono disponibili in un ambiente grafico. Un utente passa da un terminale fisico a un altro usando ++alt+"Fx"++ o dalla riga di comando utilizzando ++ctrl+alt+"Fx"++.
+Un'installazione di tipo workstation (con un'interfaccia grafica) avvia questa interfaccia sul terminale 1. Essendo Linux multiutente, è possibile collegare più utenti più volte, su **terminali fisici** (TTY) o **virtuali** (PTS) diversi. I terminali virtuali sono disponibili in un ambiente grafico. L'utente passa da un terminale fisico a un altro utilizzando ++alt+"Fx"++ dalla riga di comando o ++ctrl+alt+"Fx"++.
-Un elenco dei comandi da tastiera accettati si trova [in questo documento](https://facelessuser.github.io/pymdown-extensions/extensions/keys/#key-map-index).
+Elenco dei comandi da tastiera accettati [in questo documento](https://facelessuser.github.io/pymdown-extensions/extensions/keys/#key-map-index).
-!!! note "Nota"
+!!! note
Queste scorciatoie da tastiera sono sempre inserite in minuscolo, tranne quando è utilizzato un comando da tastiera personalizzato, tra virgolette.
+## Forzare le interruzioni di riga
+
+Ci sono volte in cui un semplice ++enter++ sulla tastiera non permette di creare una nuova riga in markdown. Ciò si verifica talvolta quando gli elementi puntati utilizzano molti caratteri di formattazione. È possibile aggiungere un'interruzione di riga per formattare meglio il testo. In casi come questi, è necessario aggiungere due spazi alla fine della riga in cui si vuole creare una nuova riga. Poiché gli spazi non sono visibili in alcuni editor di markdown, questo esempio mostra l'inserimento degli spazi:
+
+* **Un elemento puntato con formattazione extra** ++spazio+spazio++
+* **Un altro elemento**
+
## Superscript, subscript e simboli speciali
La notazione in apice e in pedice è supportata nella documentazione di Rocky Linux dall'uso di `^` per l'apice e `~` per il pedice. Il superscript pone il testo inserito tra i tag leggermente al di sopra del testo normale, mentre il subscript lo pone leggermente al di sotto. Superscript è di gran lunga il più usato tra questi due nella scrittura. Alcuni caratteri speciali appaiono già in apice senza l'aggiunta dei tag, ma è possibile combinare i tag per cambiare l'orientamento di tali caratteri, come si vede con il simbolo del copyright qui sotto. È possibile utilizzare il superscript per:
* rappresentano numeri ordinali, come 1st, 2nd, 3rd
-* simboli di copyright e marchi, come ©, TM, o ™, ®
-* come notazione per riferimenti, come questo1, questo2 e questo3
+* simboli di copyright e di marchio, come ^©^, ^TM^, or ^™^, ^®&^
+* come notazione per i riferimenti, come questo^1^, questo^2^ e questo^3^
Alcuni caratteri speciali, come ©, non sono normalmente apicali, mentre altri, come ™, lo sono.
Ecco come appare tutto questo nel codice markdown:
```text
-* rappresentano i numeri ordinali, come 1°, 2°, 3°
-* simboli di copyright e marchi, come ©, TM o ™, ®
-* come notazione per i riferimenti, come questo 1, questo 2 e questo 3
+* rappresentano numeri ordinali, come 1^st^, 2^nd^, 3^rd^
+* simboli di copyright e di marchio, come ^©^, ^TM^ or ^™^, ^®^
+* come notazione per i riferimenti, come this^1^, this^2^ and this^3^
-Alcuni caratteri speciali, come © non sono normalmente apicali, mentre altri come ™, lo sono.
+Alcuni caratteri speciali, come ©, non sono normalmente apici, mentre altri, come ™, lo sono.
```
-Per forzare l'apice si circonda ciò che si vuole che venga apostrofato con `^`.
+Per forzare l'apice, si circonda l'apice con `^`.
-Si inserisce il pedice circondando il testo con il tag `~` (H~2~0 è `H~2~0`) e, come già detto, non è molto usato nella scrittura.
+Per inserire un pedice basta circondare il testo con il tag `~` (H~2~0 è `H~2~0`) e, come già detto, non è molto usato nella scrittura.
### Superscript per i riferimenti
-Alcuni di voi potrebbero avere la necessità di fare riferimento a fonti esterne quando scrivono la documentazione. Se si dispone di una sola fonte, è possibile includerla nella conclusione come un singolo link, ma se si dispone di più fonti^1^, si può usare l'apice per annotarle nel testo^2^ e poi elencarle alla fine del documento. Si noti che il posizionamento dei riferimenti deve avvenire dopo la sezione "Conclusioni".
+Alcuni di voi potrebbero aver bisogno di fare riferimento a fonti esterne quando scrivono la documentazione. Se si dispone di una sola fonte, è possibile includerla nella conclusione come un singolo link, ma se si dispone di più fonti^1^, si può usare l'apice per annotarle nel testo^2^ e poi elencarle alla fine del documento. Si noti che il posizionamento dei riferimenti deve avvenire dopo la sezione "Conclusioni".
-Dopo la conclusione, è possibile inserire le notazioni in un elenco numerato che corrisponde all'apice, oppure come link. Entrambi gli esempi sono illustrati qui:
+Dopo la conclusione, è possibile inserire le notazioni in un elenco numerato in corrispondenza dell'apice o come link. Si mostrano entrambi gli esempi:
1. "Come si usano i multipli nel testo" di Wordy W. McWords [https://site1.com](https://site1.com)
2. "Usare l'apice nel testo" di Sam B. Supersecret [https://site2.com](https://site2.com)
@@ -350,9 +398,9 @@ Dopo la conclusione, è possibile inserire le notazioni in un elenco numerato ch
o
[1](https://site1.com) "Come si usano i multipli nel testo" di Wordy W. McWords
-[2](https://site2.com) "Usare l'apice nel testo" by Sam B. Supersecret
+[2](https://site2.com) "Utilizzo dell'apice nel testo" di Sam B. Supersecret
-Ecco come si presenta il tutto nel vostro editor:
+Ecco come si presenta il tutto nell'editor:
```text
1. "Come si usano i multipli nel testo" di Wordy W. McWords [https://site1.com](https://site1.com)
@@ -365,21 +413,21 @@ o
```
-## Evidenziare testi
+## Evidenziare il testo
-Un altro modo possibile per migliorare la documentazione è l'==evidenziazione==. L'evidenziazione viene gestita circondando il testo con `==`.
+Un altro modo possibile per migliorare la documentazione è l'==evidenziazione==. È possibile utilizzare l'evidenziazione circondando il testo con `==`.
L'aspetto è questo nell'editor:
```bash
-Un altro modo possibile per migliorare la documentazione è l'==evidenziazione==. L'evidenziazione viene gestita circondando il testo con `==`.
+Un altro modo possibile per migliorare la documentazione è l'==evidenziazione==. È possibile utilizzare l'evidenziazione circondando il testo con `==`.
```
## Raggruppare diversi tipi di formattazione
-La documentazione Rocky offre alcune eleganti opzioni di formattazione quando si combinano più elementi all'interno di un altro elemento. Per esempio, un ammonimento con un elenco numerato:
+La documentazione Rocky offre alcune eleganti opzioni di formattazione quando si combinano più elementi all'interno di un altro elemento. Ad esempio, un'ammonizione con un elenco numerato:
-!!! note "Nota"
+!!! note
Le cose possono diventare un po' strane quando si raggruppano gli oggetti. Come quando:
@@ -405,11 +453,11 @@ Oppure si può avere un elenco numerato, con un'ulteriore ammonimento:
E ha un ammonimento nel mezzo:
- !!! warning "Attenzione"
+ !!! warning
Le cose possono diventare un po' strane con più elementi all'interno di diversi tipi di formattazione!
-Se si rispettano i magici quattro (4) spazi per rientrare e separare questi elementi, essi verranno visualizzati in modo logico ed esattamente come si desidera. A volte questo è davvero importante.
+Se si tiene conto dei magici quattro (4) spazi per rientrare e separare questi elementi, essi verranno visualizzati in modo logico ed esattamente come si desidera. A volte questo è davvero importante.
È anche possibile incorporare una tabella o una citazione a blocchi (letteralmente qualsiasi tipo di elemento di formattazione) all'interno di un'altra. Qui ci sono un elenco numerato, un ammonimento, una tabella e alcuni elementi di blocco di citazione, tutti raggruppati insieme:
@@ -440,7 +488,7 @@ Ecco come appare questo esempio nell'editor:
Se si rispettano i magici quattro (4) spazi per separare questi elementi, essi verranno visualizzati in modo logico ed esattamente come si desiderano. A volte è davvero importante.
-È anche possibile incorporare una tabella o una citazione a blocchi (letteralmente qualsiasi tipo di elemento di formattazione) all'interno di un'altra. Qui ci sono un elenco numerato, un'ammonimento, una tabella e alcuni elementi di citazione a blocchi, tutti raggruppati insieme:
+È anche possibile incorporare una tabella o una citazione a blocchi (letteralmente qualsiasi tipo di elemento di formattazione) all'interno di un'altra. Qui abbiamo un elenco numerato, un'ammonimento, una tabella e alcuni elementi di citazione a blocchi, tutti raggruppati insieme:
1. Cercare di tenere il passo con tutto ciò che accade nel documento può essere un vero compito quando si lavora con più elementi.
@@ -464,11 +512,59 @@ Se si rispettano i magici quattro (4) spazi per separare questi elementi, essi v
3. Esistono molti esempi, ma quello sopra illustra come sia possibile annidare tutto all'interno. Basta ricordare i quattro (4) spazi magici.
```
+## Caratteri non visualizzati
+
+Ci sono alcuni caratteri nel markdown che non vengono visualizzati correttamente. A volte è perché questi caratteri sono HTML o altri tipi di tag (ad esempio i link). In alcuni casi, durante la stesura della documentazione, potrebbe essere necessario visualizzare questi caratteri per far capire il proprio punto di vista. La regola per visualizzare questi caratteri è l'escape. Ecco una tabella di questi caratteri non visualizzabili seguita da un blocco di codice che mostra il codice della tabella.
+
+| simbolo | description |
+| ------- | ------------------------------------------------------------------- |
+| \\ | backslash (usato per l'escape) |
+| \` | backtick (usato per i blocchi di codice) |
+| \* | asterisco (usato per i pallini) |
+| \_ | trattino basso |
+| \{ \} | parentesi graffe |
+| \[ \] | parentesi quadre (utilizzate per creare i link dei titoli) |
+| < > | parentesi angolari (usate per l'HTML diretto) |
+| \( \) | parentesi (utilizzate per il contenuto del link) |
+| \# | segno di cancelletto (usato per le intestazioni markdown) |
+| | | pipe (usato nelle tabelle) |
+| + | segno più (usato nelle tabelle) |
+| - | segno meno o trattino (usato nelle tabelle e negli elenchi puntati) |
+| ! | esclamativo (usato in avvisi e tabelle) |
+
+La tabella in codice è:
+
+```table
+| symbol | description |
+|-------------|---------------------------------------------------|
+| \\ | backslash (used for escaping) |
+| \` | backtick (used for code blocks) |
+| \* | asterisk (used for bullets) |
+| \_ | underscore |
+| \{ \} | curly braces |
+| \[ \] | brackets (used for link titles) |
+| < > | angle brackets (used for direct HTML) |
+| \( \) | parentheses (used for link content) |
+| \# | pound sign (used for markdown headers) |
+| | | pipe (used in tables) |
+| + | plus sign (used in tables) |
+| - | minus sign or hyphen (used in tables and bullets) |
+| ! | exclamation (used in admonitions and tables) |
+```
+
+L'ultimo codice mostra che alcuni caratteri richiedono il loro codice HTML se utilizzati in una tabella.
+
+Nel testo vero e proprio, il carattere di escape viene utilizzato. Ad esempio, `\|` mostrerà il simbolo del pipe, `>` mostrerà il simbolo della parentesi angolari, `\+` mostrerà il segno più, `\-` mostrerà il segno meno e `\!` mostrerà il punto esclamativo.
+
+Si può notare che se eliminiamo i backtick in questa frase:
+
+Nel testo vero e proprio, il carattere di escape viene utilizzato. Ad esempio, \| mostrerà il simbolo del pipe, \062; mostrerà il simbolo della parentesi angolare, \+ mostrerà il segno più, \- mostrerà il segno meno e \! mostrerà il punto esclamativo.
+
## Un ultimo punto - i commenti
-Occasionalmente, si potrebbe voler aggiungere un commento al markdown che non verrà visualizzato quando sarà elaborato. Le ragioni sono molteplici. Ad esempio, se si vuole aggiungere un segnaposto per qualcosa che verrà aggiunto in seguito, si può usare un commento per contrassegnare il punto.
+Di tanto in tanto, si potrebbe voler aggiungere un commento al markdown che non verrà visualizzato quando sarà reso. Le ragioni sono molteplici. Se si vuole aggiungere un etichetta per qualcosa che si aggiungerà in seguito, si può usare un commento per contrassegnare il punto.
-Il modo migliore per aggiungere un commento al markdown è usare le parentesi quadre "[]" che circondano due slashes "//" seguite da due punti e dal contenuto. Il risultato sarebbe il seguente:
+Il modo migliore per aggiungere un commento al markdown è usare le parentesi quadre "[]" attorno a due barre in avanti "//" seguite da due punti e dal contenuto. Il risultato sarebbe il seguente:
```text
@@ -492,6 +588,6 @@ Un commento deve avere una riga vuota prima e dopo il commento.
La formattazione del documento con titoli, ammonimenti, tabelle, elenchi numerati e virgolette può aggiungere chiarezza al documento. Quando si utilizzano gli ammonimenti, fare attenzione a scegliere il tipo corretto. In questo modo è più facile capire visivamente l'importanza di una particolare ammonimento.
-Non è *necessario* utilizzare le opzioni di formattazione avanzate. L'uso eccessivo di elementi speciali può aggiungere disordine dove non ce n'è bisogno. Imparare a usare questi elementi di formattazione in modo prudente e corretto può essere molto utile per far capire il proprio punto di vista in un documento.
+Non è *necessario* utilizzare opzioni di formattazione avanzate. L'uso eccessivo di elementi speciali può aggiungere disordine. Imparare a usare questi elementi di formattazione in modo prudente e corretto può essere molto utile per far capire il proprio punto di vista in un documento.
Infine, per facilitare la formattazione, si consiglia di modificare il valore TAB dell'editor markdown in quattro (4) spazi.
diff --git a/docs/guides/contribute/rockydocs_formatting.md b/docs/guides/contribute/rockydocs_formatting.md
index 9d4f33083c..c4c2d6e2aa 100644
--- a/docs/guides/contribute/rockydocs_formatting.md
+++ b/docs/guides/contribute/rockydocs_formatting.md
@@ -175,26 +175,28 @@ Which looks like this in your editor:
## Tabbed content within a document
-Formatting tabbed content is similar to admonitions. Instead of three exclamation marks or question marks, it begins with three equal signs. All the admonition formatting (4 spaces and so on) applies to this content. For example, a document might need a different procedure for a different Rocky Linux version. When using tabbed content for versions, the most recent release of Rocky Linux should come first. At the time of this writing, it was 9.0:
+Formatting tabbed content is similar to admonitions. Instead of three exclamation marks or question marks, it begins with three equal signs. All the admonition formatting (4 spaces and so on) applies to this content. For example, a document might need a different procedure based on how the operating system was installed. With the implementation of documentation versioning, tabbed content formatting should not be necessary to separate out full version content (for instance, 9.6 and 8.10).
-=== "9.0"
+=== "9"
- The procedure for doing this in 9.0
+ Use this procedure if your installation was by way of the full operating system, or from a Live image.
-=== "8.6"
+=== "9-minimal"
- The procedure for doing this in 8.6
+ Use this procedure if your operating system installation was with the minimal ISO.
Which would look like this in your editor:
```text
-=== "9.0"
+=== "9"
- The procedure for doing this in 9.0
-=== "8.6"
+ Use this procedure if your installation was by way of the full operating system, or from a Live image.
- The procedure for doing this in 8.6
+=== "9-minimal"
+
+ Use this procedure if your operating system installation was with the minimal ISO.
+
```
Remember that everything that falls inside of the section must continue to use the 4-space indentation until completion of the section. This is a very handy feature!
@@ -231,7 +233,7 @@ Here is an example of a multi-line numbered list with a code block thrown in for
dnf update
```
-2. Here is our second listed item. Because you used the four (4) space indentation (above), it renders with the next sequence of numbering (2), but if you had entered item 1 without the indentation (in the subsequent paragraph and code), then this would show up as item 1 again, which is not what you want.
+2. Here is our second listed item. Because you used the four (4) space indentation (above), it renders with the next sequence of numbering (2). If you had entered item 1 without the indentation (in the subsequent paragraph and code), then this would show up as item 1 again, which is not what you want.
And here is how that looks as raw text:
diff --git a/docs/guides/contribute/rockydocs_formatting.uk.md b/docs/guides/contribute/rockydocs_formatting.uk.md
index fa1a5b4b18..263e097f29 100644
--- a/docs/guides/contribute/rockydocs_formatting.uk.md
+++ b/docs/guides/contribute/rockydocs_formatting.uk.md
@@ -113,7 +113,7 @@ tags:
Ось приклади кожного типу застережень і того, як вони виглядатимуть у вашому документі:
-!!! note "Примітка"
+!!! note "примітка"
текст
@@ -349,7 +349,7 @@ sudo dnf install the-kitchen-sink
Список прийнятих команд клавіатури [у цьому документі](https://facelessuser.github.io/pymdown-extensions/extensions/keys/#key-map-index).
-!!! note "Примітка"
+!!! note "примітка"
Ці комбінації клавіш завжди вводяться в нижньому регістрі, за винятком випадків, коли в лапках використовується спеціальна клавіатурна команда.
@@ -425,7 +425,7 @@ or
Документація Rocky пропонує кілька елегантних варіантів форматування при поєднанні кількох елементів в одному елементі. Наприклад, попередження з пронумерованим списком:
-!!! note "Примітка"
+!!! note "примітка"
Усе може стати трохи божевільним, коли ви групуєте речі. Як коли:
diff --git a/docs/guides/contribute/style_guide.it.md b/docs/guides/contribute/style_guide.it.md
index 3b2161eb0d..04c91a1107 100644
--- a/docs/guides/contribute/style_guide.it.md
+++ b/docs/guides/contribute/style_guide.it.md
@@ -9,7 +9,7 @@ tags:
# Guida allo stile della documentazione Rocky Linux
-*Rocky Linux è il Linux aziendale che sta crescendo più rapidamente al mondo e la sua documentazione sta crescendo in modo esponenziale grazie a collaboratori come voi. I vostri contenuti sono ben accetti in qualsiasi formato e i document stylist di RL vi aiuteranno ad allinearli agli standard qui indicati.*
+*Rocky Linux (RL) è il Linux aziendale in più rapida crescita al mondo, e anche la sua documentazione sta crescendo esponenzialmente grazie a collaboratori come voi. I vostri contenuti sono ben accetti in qualsiasi formato e i document stylist di RL vi aiuteranno ad allinearli agli standard qui indicati.*
## Introduzione
@@ -17,7 +17,7 @@ tags:
*Nuovi contributi sono benvenuti per far diventare questo sito il punto di riferimento definitivo sul web per le informazioni sull'uso di Rocky Linux. Potete creare documenti nel formato che ritenete più opportuno e il team di documentazione lavorerà con voi o vi aiuterà a formattarli in modo che sembrino parte della famiglia Rocky.*
-Questa guida delinea gli standard di stile in lingua inglese per **migliorare la leggibilità, evidenziare casi particolari** e **migliorare il lavoro di traduzione** della documentazione Rocky Linux. Per le domande sullo stile non trattate in questa guida, si prega di fare riferimento a quanto segue:
+Questa guida delinea gli standard di stile in lingua inglese per **migliorare la leggibilità, evidenziare casi particolari** e **migliorare il lavoro di traduzione** della documentazione Rocky Linux. Per le questioni di stile non trattate in questa guida, si veda quanto segue:
- [Dizionario Merriam Webster](https://www.merriam-webster.com/)
- [Chicago Manual of Style (CMOS), 17a ed.](https://www.chicagomanualofstyle.org/home.html)
@@ -32,7 +32,7 @@ Per una comprensione più completa della contribuzione, consultare le nostre gui
## Linee guida di stile
-*La documentazione di RL si propone di utilizzare un linguaggio chiaro e coerente, sia per garantire l'accessibilità che per aiutare gli sforzi di traduzione in corso.*
+*La documentazione di RL mira a utilizzare un linguaggio chiaro e coerente, per garantire l'accessibilità e per aiutare gli sforzi di traduzione in corso.*
### Grammatica e Punteggiatura
@@ -40,29 +40,40 @@ Le **caratteristiche della scrittura tecnica** descritte nel Chicago Manual of S
- Virgolette doppie ("stile Chicago") anziché singole (‘Oxford style’).
- I punti e le virgole vanno dentro le virgolette "così," anziché "così".
-- Il trattino {shift}+{option}+{-} non ha spazi prima o dopo—come questo—ed è preferito per le frasi parentetiche.
+- Il trattino em {shift}+{option}+{-} non ha spazi prima o dopo—come questo—ed è la nostra preferenza per le frasi parentetiche.
- In un elenco di tre elementi, utilizzare una virgola prima di "e": "Piselli, senape, e carote"
- I titoli devono essere generalmente realizzati in stile titolo maiuscolo: La prima e l'ultima parola, così come tutti i nomi, i pronomi, i verbi e gli avverbi devono essere scritti in maiuscolo. Se il vostro documento funziona meglio con la capitalizzazione in stile frase, magari perché fate spesso riferimento ad acronimi, rendetela coerente all'interno dell'intero documento.
- I titoli non necessitano di un punto o di un punto e virgola alla fine, anche con una capitalizzazione di tipo frase, a meno che non terminino con un'abbreviazione.
- Elenchi puntati e numerati: Evitare la maiuscola iniziale o la punteggiatura finale, a meno che non si tratti di una frase completa.
+!!! info “Stile maiuscolo del titolo”
+
+ Chi usa `vale' e altri linters linguistici, troverà che questi suggeriscono di usare la capitalizzazione in stile frase. Gran parte della documentazione creata all'interno del nostro pool di documentazione utilizza questo stile di capitalizzazione dei titoli. Ricordate che qualsiasi stile scegliate, mantenetelo coerente all'interno del documento.
+
### Voce e Tono
-- **Linguaggio semplice.** Questo può essere descritto come uno stile *meno colloquiale*. La maggior parte della nostra documentazione rientra in questo standard.
+- **Linguaggio semplice.** Si tratta di uno stile *meno colloquiale*. La maggior parte della nostra documentazione rientra in questo standard.
- Evitare metafore e modi di dire.
- Dite quello che volete dire con il minor numero di parole possibile.
- Identificare ed evitare termini inutilmente tecnici. Considerate che il vostro pubblico è costituito per lo più da persone che hanno una certa familiarità con l'argomento, ma che potrebbero non essere esperti della materia.
- Eccezioni al linguaggio semplice:
- - Uno stile più colloquiale è appropriato per la documentazione rivolta ai neofiti o ai principianti o per la scrittura di contenuti come i post dei blog.
+ - Uno stile più colloquiale è appropriato per la documentazione rivolta ai neofiti o ai principianti o per la scrittura di contenuti come i post di un blog.
- Uno stile di scrittura più formale o conciso è appropriato per la documentazione rivolta agli utenti avanzati o per la documentazione sulle API (Application Programming Interface).
- **Linguaggio inclusivo.**
- L'uso della lingua si evolve nel tempo. Alcune parole si sono evolute assumendo una connotazione negativa, per cui la documentazione dovrebbe essere riscritta utilizzando parole nuove.
- *Master/slave* diventa *primario/secondario* o uno standard organizzativo concordato.
- La *blacklist/whitelist* diventa *blocklist/allowlist* o uno standard organizzativo concordato.
- - Si possono pensare altri esempi pertinenti durante la creazione della documentazione.
+ - Potreste pensare ad altri esempi pertinenti durante la creazione della documentazione.
- Quando si parla di una persona di genere *sconosciuto* o *non binario*, è ora considerato accettabile usare "loro" come pronome singolare.
- Quando si parla delle proprie capacità, inquadrare le risposte come *abilità* piuttosto che come *limitazioni.* Ad esempio, se vi chiedete se abbiamo documentazione sull'esecuzione di Steam su Rocky Linux, la risposta non è semplicemente "no" Piuttosto, "Sembra che sia un ottimo posto per creare qualcosa da aggiungere al nostro albero!"
- **Evitare le contrazioni.** Questo facilita gli sforzi di traduzione. L'eccezione è rappresentata dalla scrittura di testi dal tono più colloquiale, come i post di un blog o le istruzioni di benvenuto per i nuovi membri della comunità.
+- **Usa la voce attiva.** La voce attiva è più chiara e diretta e aiuta il lettore a comprendere rapidamente il tuo significato.
+
+!!! info “Altre letture su voce e tono”
+
+ Dopo la creazione di questa guida di stile sono stati creati altri documenti sulla voce e sul tono, tra cui:
+ - [Good Docs-Il punto di vista del traduttore](../../rocky_insights/blogs/good_docs.md)
+ - [Voce attiva - La via per una comunicazione semplice e chiara](../../rocky_insights/blogs/active_voice.md)
## Formattazione
@@ -78,9 +89,9 @@ Se si tratta di una procedura con una sola fase, utilizzare un punto piuttosto c
### Linguaggio di interfaccia grafica
-- Istruzioni testuali relative a un'interfaccia utente: Quando si descrive un comando da inserire in un'interfaccia utente, utilizzare la parola "enter" piuttosto che "put" o "type" Utilizzate un blocco di codice per scrivere il comando (cioè, impostatelo con i backtick):
+- Istruzioni testuali relative a un'interfaccia utente: Quando si descrive l'inserimento di un comando in un'interfaccia utente, utilizzare la parola "enter" piuttosto che "put" o "type". Utilizzate un blocco di codice per scrivere il comando (con i backtick):
-*Esempio di testo Markdown* `Nella casella **messaggio di commit**, inserire update_thisdoc.`
+*Esempio di testo Markdown*`Nella casella **commit message**, inserire update_thisdoc.`
- Nomi di elementi dell'interfaccia utente: Nomi **in grassetto** di elementi dell'interfaccia utente come pulsanti, voci di menu, nomi di finestre di dialogo e altro, anche se la parola non sarà cliccabile:
@@ -98,7 +109,7 @@ Se si tratta di una procedura con una sola fase, utilizzare un punto piuttosto c
### Ammonimenti
-In Markdown, gli ammonimenti sono un modo per inserire le informazioni in un riquadro per evidenziarle. Non sono essenziali per la documentazione, ma sono uno strumento che può essere utile. Per saperne di più sugli ammonimenti, consultate il nostro documento [Formattazione di Rocky Docs](rockydocs_formatting.md).
+In Markdown, gli ammonimenti sono un modo per inserire le informazioni in un riquadro per evidenziarle. Non sono essenziali per la documentazione, ma sono uno strumento che potrebbe essere utile. Per saperne di più sugli ammonimenti, consultate il nostro documento [Formattazione di Rocky Docs](rockydocs_formatting.md).
## Accessibilità
@@ -131,11 +142,11 @@ In Markdown, gli ammonimenti sono un modo per inserire le informazioni in un riq
- Utilizzate tutti i livelli di intestazione senza saltare alcun livello.
- Annidate tutto il materiale con titoli che ne favoriscano la leggibilità.
-- Ricordate che in Markdown è possibile utilizzare un solo titolo di primo livello.
+- Ricordate di usare solo un titolo di primo livello in Markdown.
## Sommario
-Questo documento definisce i nostri standard di contribuzione, comprese le **linee guida di stile** le modalità di **strutturazione** del documento e i modi per incorporare l'**'inclusività** e l'**accessibilità** nel testo. Questi sono gli standard a cui aspiriamo. Per quanto possibile, tenete a mente questi standard quando create e modificate la documentazione.
+Questo documento definisce i nostri standard di contribuzione, comprese le **linee guida di stile**, le modalità di **strutturazione** del documento e i modi per incorporare **l'inclusività** e l'**accessibilità** nel testo. Questi sono gli standard a cui aspiriamo. Per quanto possibile, tenete a mente questi standard quando create e modificate la documentazione.
Tuttavia—e non perdetevi questa avvertenza—**trattate questi standard come uno strumento, non come un ostacolo.** Nello spirito dell'inclusività e dell'accessibilità, vogliamo assicurarci che il vostro contributo entri senza problemi nell'albero genealogico di Rocky. Siamo un team amichevole e disponibile di documentaristi e stilisti e vi aiuteremo a portare il vostro documento alla sua forma finale.
diff --git a/docs/guides/contribute/style_guide.md b/docs/guides/contribute/style_guide.md
index b60177c852..51d8bfd442 100644
--- a/docs/guides/contribute/style_guide.md
+++ b/docs/guides/contribute/style_guide.md
@@ -9,7 +9,7 @@ tags:
# Rocky Linux Documentation Style Guide
-*Rocky Linux is the fastest-growing enterprise Linux in the world, with its documentation also growing exponentially thanks to contributors like you. Your content is welcome in any format, and the RL document stylists will help you align it with the standards set forth here.*
+*Rocky Linux (RL) is the fastest-growing enterprise Linux in the world, with its documentation also growing exponentially thanks to contributors like you. Your content is welcome in any format, and the RL document stylists will help you align it with the standards set forth here.*
## Introduction
@@ -17,14 +17,14 @@ tags:
*New contributions are welcome to grow this into the definitive spot on the web for information about using Rocky Linux. You can create docs in the format that makes sense to you, and the documentation team will work with you or otherwise help format it so it looks and feels like part of the Rocky family.*
-This guide outlines English-language style standards to **improve readability, highlight special cases,** and **enhance translation work** across Rocky Linux documentation. For style questions not addressed in this guide, please refer to the following:
+This guide outlines English-language style standards to **improve readability, highlight special cases,** and **enhance translation work** across Rocky Linux documentation. For style questions not addressed in this guide, see the following:
- [Merriam Webster Dictionary](https://www.merriam-webster.com/)
- [Chicago Manual of Style (CMOS), 17th ed.](https://www.chicagomanualofstyle.org/home.html)
### Contributing
-For a more complete understanding of contributing, please consult our related guides:
+For a more complete understanding of contributing, consult our related guides:
- [Rocky Linux Contribution Guide](https://docs.rockylinux.org/guides/contribute/) for system and software requirements for getting started.
- [Rocky Linux First Time Contributors Guide](beginners.md) for an orientation to GitHub, our documentation home base.
@@ -32,7 +32,7 @@ For a more complete understanding of contributing, please consult our related gu
## Style Guidelines
-*RL documentation aims to use clear and consistent language, for accessibility as well as to aid ongoing translation efforts.*
+*RL documentation aims to use clear and consistent language, for accessibility and to aid ongoing translation efforts.*
### Grammar and Punctuation
@@ -40,29 +40,40 @@ For a more complete understanding of contributing, please consult our related gu
- Double quotation marks (“Chicago style”) rather than single quotation marks (‘Oxford style’).
- Periods and commas go inside quotation marks “like this,” rather than “like this”.
-- The em dash {shift}+{option}+{-} has no spaces before or after—like this—and is preferred for parenthetical phrases.
+- The em dash {shift}+{option}+{-} has no spaces before or after—like this—and is our preference for parenthetical phrases.
- Use a serial comma before the “and” in a list of three items: “Peas, mustard, and carrots.”
- Headings should be generally made in headline-style capitalization: Capitalize the first and last words, as well as all nouns, pronouns, verbs, and adverbs. If your document works better with sentence-style capitalization, perhaps because you frequently reference acronyms, make it consistent within the entire document.
- Headings do not need a period or semicolon at the end, even with sentence-style capitalization, unless ending in an abbreviation.
- Bulleted and numbered lists: Avoid beginning capitalization or ending punctuation, unless the item is a complete sentence.
+!!! info "Sentence-style heading capitalization"
+
+ People using the `vale` and other language linters, will find that these suggest using sentence-style capitalization. Much of the documentation created within our documentation pool uses this style of heading capitalization. Just remember that whichever style you choose, keep it consistent within your document.
+
### Voice and Tone
-- **Plain language.** This can be described as a *less-conversational* style. Most of our documentation fits within this standard.
+- **Plain language.** Described as a *less-conversational* style. Most of our documentation fits within this standard.
- Avoid metaphors and idioms.
- Say what you mean in as few words as possible.
- - Identify and avoid unnecessarily technical terms. Consider that your audience is mostly people who have some familiarity with the subject matter, but may not be subject-matter experts.
+ - Identify and avoid unnecessarily technical terms. Consider that your audience is mostly people who have some familiarity with the subject matter, but might not be subject-matter experts.
- Exceptions to plain language:
- - A more conversational style is appropriate for documentation addressed to newcomers or beginners or for writing content like blog posts.
+ - A more conversational style is appropriate for documentation addressed to newcomers or beginners or for writing content such as blog posts.
- A more formal or terse wording style is appropriate for documentation addressed to advanced users or API (Application Programming Interface) documentation.
- **Inclusive language.**
- Language use evolves over time. Certain words have evolved to carry negative connotations so documentation should be rewritten to use new words.
- *Master/slave* becomes *primary/secondary* or an agreed upon organizational standard.
- *Blacklist/whitelist* becomes *blocklist/allowlist* or an agreed upon organizational standard.
- - You may think of other relevant examples as you create documentation.
+ - You might think of other relevant examples as you create documentation.
- When speaking of a person of *unknown* or *non-binary* gender, it is now considered acceptable to use “they” as a singular pronoun.
- When speaking of one’s capabilities, frame answers as *abilities* rather than *limitations.* For example, if you are wondering whether we have documentation about running Steam on Rocky Linux, the answer is not just “no.” Rather, “Sounds like that’s a great place for you to create something to add to our tree!”
- **Avoid contractions.** This assists with translation efforts. The exception to this is when writing something in a more conversational tone, such as blog posts or welcome instructions for new community members.
+- **Use active voice.** Active voice is more clear and direct and helps your reader to quickly understand your meaning.
+
+!!! info "Other reading on voice and tone"
+
+ The creation of several additional documents on voice and tone since this style guide's creation include:
+ - [Good Docs-A translator's viewpoint](../../rocky_insights/blogs/good_docs.md)
+ - [Active voice-The way to simple, clear, communication](../../rocky_insights/blogs/active_voice.md)
## Formatting
@@ -78,7 +89,7 @@ If you have a procedure with only one step, use a bullet rather than a number. F
### Graphical Interface Language
-- Text instructions regarding a UI: When describing a command to be entered into a user interface, use the word “enter” rather than “put” or “type.” Use a codeblock to write out the command (i.e., set it off with backticks):
+- Text instructions regarding a UI: When describing the entry of a command into a user interface, use the word “enter” rather than “put” or “type.” Use a codeblock to write out the command (set it off with backticks):
*Example Markdown text*
`In the **commit message** box, enter update_thisdoc.`
@@ -95,12 +106,12 @@ If you have a procedure with only one step, use a bullet rather than a number. F
- **Abstract.** A brief statement of what to expect from this page
- **Objectives.** A bulleted list of what this page will convey to the reader
- **Skills** required/learned.
-- **Difficulty level.** 1 star for easy, 2 for intermediate, etc.
+- **Difficulty level.** 1 star for easy, 2 for intermediate, and so on.
- **Reading time.** Divide the number of words in your document by a reading rate of 75 words per minute to determine this number.
### Admonitions
-Within Markdown, admonitions are a way to put information into a box to highlight it. They are not essential to documentation, but they are a tool you may find useful. Learn more about admonitions from our [Rocky Formatting doc](rockydocs_formatting.md).
+Within Markdown, admonitions are a way to put information into a box to highlight it. They are not essential to documentation, but they are a tool you might find useful. Learn more about admonitions from our [Rocky Formatting doc](rockydocs_formatting.md).
## Accessibility
@@ -114,7 +125,7 @@ Within Markdown, admonitions are a way to put information into a box to highligh
### Links
-- Make links descriptive, so it is obvious where they will lead from the text or context. Avoid hyperlinks with names like “click here.”
+- Make links descriptive, so it is obvious where they will lead from the text or context. Avoid hyperlinks with names such as “click here.”
- Verify that all links work as described.
### Tables
@@ -133,7 +144,7 @@ Within Markdown, admonitions are a way to put information into a box to highligh
- Use all levels of headings without skipping any levels.
- Nest all material under headings to aid in readability.
-- Remember that in Markdown only one Level One heading may be used.
+- Remember to use only one Level One heading in Markdown.
## Summary
diff --git a/docs/guides/contribute/style_guide.uk.md b/docs/guides/contribute/style_guide.uk.md
index 978502ccdb..05794fdd11 100644
--- a/docs/guides/contribute/style_guide.uk.md
+++ b/docs/guides/contribute/style_guide.uk.md
@@ -46,6 +46,10 @@ tags:
- Заголовки не потребують крапки чи крапки з комою наприкінці, навіть якщо вони вживаються з великої літери, якщо вони не закінчуються абревіатурою.
- Маркіровані та пронумеровані списки: уникайте початку з великої літери або кінцевих знаків пунктуації, якщо елемент не є повним реченням.
+!!! info "Використання великої літери в заголовках речень"
+
+ Люди, які використовують `vale` та інші мовні лінтери, побачать, що вони пропонують використовувати написання з великої літери в стилі речень. Значна частина документації, створеної в нашому пулі документації, використовує цей стиль написання заголовків з великої літери. Просто пам’ятайте, що який би стиль ви не обрали, дотримуйтесь його послідовності в межах вашого документа.
+
### Голос і тон
- **Проста мова.** Це можна описати як *менш розмовний* стиль. Більшість нашої документації відповідає цьому стандарту.
@@ -63,6 +67,13 @@ tags:
- Говорячи про особу *невідомої* або *небінарної* статі, зараз вважається прийнятним використовувати "вони" як займенник однини.
- Говорячи про свої здібності, формулюйте відповіді як *здібності*, а не *обмеження.* Наприклад, якщо вам цікаво, чи ми маємо документацію про запуск Steam на Rocky Linux, відповідь не просто «ні». Скоріше, «Здається, це чудове місце для вас, щоб створити щось, щоб додати до нашого дерева!»
- **Уникайте скорочень.** Це допомагає з перекладом. Винятком є написання чогось у більш розмовному тоні, як-от публікації в блозі чи вітальні інструкції для нових учасників спільноти.
+- **Використовуйте active voice.** Active voice є точнішим і прямим і допомагає читачеві швидко зрозуміти ваш зміст.
+
+!!! info "Інші тлумачення голосу та тону"
+
+ З моменту створення цього посібника зі стилю було створено кілька додаткових документів про голос і тон, зокрема:
+ - [Good Docs – погляд перекладача](../../rocky_insights/blogs/good_docs.md)
+ - [Active voice – шлях до простого та зрозумілого спілкування](../../rocky_insights/blogs/active_voice.md)
## Форматування
@@ -96,9 +107,9 @@ tags:
- **Рівень складності.** 1 зірка для легкого, 2 для середнього тощо.
- **Час читання.** Щоб визначити це число, розділіть слова у вашому документі на швидкість читання 75 слів на хвилину.
-### Застереження
+### Попередження
-У Markdown попередження — це спосіб помістити інформацію у вікно, щоб виділити її. Вони не є важливими для документації, але є інструментом, який може бути вам корисним. Дізнайтеся більше про застереження в нашому [Rocky Formatting doc](rockydocs_formatting.md).
+У Markdown попередження — це спосіб помістити інформацію у вікно, щоб виділити її. Вони не є обов'язковими для документування, але можуть бути корисним інструментом. Дізнайтеся більше про застереження в нашому [Rocky Formatting doc](rockydocs_formatting.md).
## Доступність
diff --git a/docs/guides/custom-linux-kernel.it.md b/docs/guides/custom-linux-kernel.it.md
index e066c4f3f5..7f8dde71d5 100644
--- a/docs/guides/custom-linux-kernel.it.md
+++ b/docs/guides/custom-linux-kernel.it.md
@@ -8,7 +8,8 @@ tags:
---
# Panoramica
-In questa guida, illustreremo il processo di acquisizione di un albero dei sorgenti del kernel, la sua configurazione, la compilazione e, infine, l'installazione e l'avvio del kernel.
+
+In questa guida si illustra il processo di acquisizione di un albero dei sorgenti del kernel, la sua configurazione, la compilazione, l'installazione e l'avvio.
!!! warning "Le ricostruzioni del kernel non sono consigliate né supportate per Rocky Linux. Prima di tentare di creare un kernel personalizzato, considerare quanto segue:"
@@ -27,27 +28,25 @@ Linux è il kernel. Il kernel si trova letteralmente al centro della questione [
L'unica cosa più fondamentale del kernel è l'hardware del sistema stesso. Sebbene il kernel sia una piccola parte di una distribuzione Linux completa, è di gran lunga l'elemento più critico. Se il kernel si guasta o si blocca, il resto del sistema lo segue.
-
## Il Codice Sorgente del Kernel
-La distribuzione Rocky Linux ha a disposizione, in una forma o nell'altra, il codice sorgente per la versione specifica del kernel che supporta. Questi possono essere sotto forma di un binario compilato (*.src.rpm), un RPM sorgente (*.srpm) o simili.
+La distribuzione Rocky Linux ha a disposizione, in una forma o nell'altra, il codice sorgente per la versione specifica del kernel che supporta. Questi possono essere sotto forma di un binario compilato`(*.src.rpm`), un RPM sorgente`(*.srpm`) e così via.
-Se avete bisogno di scaricare una versione diversa (possibilmente più recente) rispetto a quella fornita dalla vostra specifica distro Rocky Linux, il primo posto dove cercare il codice sorgente è il sito web ufficiale del kernel:
+Se avete bisogno di scaricare una versione diversa (possibilmente più recente) rispetto a quella fornita dalla vostra specifica distribuzione Rocky Linux, il primo posto dove cercare il codice sorgente è il sito web ufficiale del kernel:
[www.kernel.org](https://www.kernel.org)
-Questo sito mantiene un elenco di siti web che rispecchiano i sorgenti del kernel, oltre a tonnellate di altro software open-source, distribuzioni e utilità generiche.
+Questo sito contiene un elenco di siti web che ospitano il codice sorgente del kernel e tantissimi altri software open source, distribuzioni e utilità generiche.
-L'elenco dei mirror viene mantenuto all'indirizzo:
+L'elenco dei mirror mantenuti è disponibile all'indirizzo:
[mirrors.kernel.org](http://mirrors.kernel.org)
-
!!! TIP "Suggerimento"
La maggior parte delle operazioni di download, configurazione e compilazione del kernel Linux descritte nelle sezioni seguenti possono/devono essere eseguite come utenti non privilegiati. Tuttavia, i passaggi finali che richiedono l'installazione o la modifica dei file di sistema e dei file binari devono essere eseguiti con privilegi elevati.
- Siamo in grado di svolgere la maggior parte del lavoro come utente non privilegiato perché useremo una speciale opzione di compilazione del kernel, che ci permette di specificare una directory di lavoro o di output personalizzata. In particolare, useremo l'opzione `O=~/build/kernel` per tutte le invocazioni di make.
+ È possibile eseguire la maggior parte del lavoro come utente non privilegiato perché si utilizzerà un'opzione speciale di creazione del kernel, che consente di specificare una directory di lavoro o di output personalizzata. In particolare, si userà l'opzione `O=~/build/kernel` per tutte le invocazioni di make.
Dove `~/build/kernel` è equivalente a `/home/$USER/build/kernel` o `$HOME/build/kernel`
@@ -57,95 +56,87 @@ L'elenco dei kernel disponibili sul sito web conterrà cartelle per v1.0, v2.5,
La convenzione attuale è quella di chiamare e numerare le nuove versioni principali del kernel come "Linux 5.x" (chiamate anche kernel vanilla o mainline). Pertanto, la prima di questa serie sarà la versione 5.0 di Linux (uguale alla 5.0.0), la successiva sarà la versione 5.1 di Linux (uguale alla 5.1.0), seguita dalla versione 5.2 e così via.
-Eventuali modifiche o aggiornamenti minori all'interno di ciascuna versione della major release si rifletteranno con incrementi alla terza cifra. Questi vengono comunemente chiamati rilasci di punti stabili. Pertanto, la prossima release stabile per il kernel della serie 5.0.0 sarà la versione 5.0.1 di Linux, seguita dalla versione 5.0.2 e così via. Un altro modo per affermare ciò è dire, ad esempio, che la versione 5.0.4 di Linux è la quarta release stabile basata sulla serie 5.0.0 di Linux.
+La terza cifra rappresenta le modifiche o gli aggiornamenti minori all'interno di ogni versione principale. Questi vengono comunemente chiamati rilasci di punti stabili. Pertanto, la prossima release stabile per il kernel della serie 5.0.0 sarà la versione 5.0.1 di Linux, seguita dalla versione 5.0.2 e così via. Un altro modo per affermare ciò è dire, ad esempio, che la versione 5.0.4 di Linux è la quarta release stabile basata sulla serie 5.0.0 di Linux.
## Installare gli strumenti e le librerie richieste
-Una fonte comune di fallimento riscontrata durante il processo di creazione del kernel può essere causata dalla mancanza di tutto il software necessario per la compilazione e la creazione del Kernel Linux mainline. Gli strumenti e le librerie mancanti possono essere installate utilizzando il gestore di pacchetti DNF su una distro Rocky Linux. Ce ne occuperemo in questa sezione.
+Non avere a disposizione tutto il software necessario per la compilazione e la costruzione del kernel Linux mainline è una fonte comune di fallimento riscontrata durante il processo di creazione del kernel. È possibile installare gli strumenti e le librerie mancanti con il gestore di pacchetti DNF su una distribuzione Rocky Linux. Potete occuparvene qui.
-1. Su una distro Rocky Linux, è possibile installare rapidamente la maggior parte degli strumenti di sviluppo necessari eseguendo questo comando:
+1. Su una distribuzione Rocky Linux, è possibile installare rapidamente la maggior parte degli strumenti di sviluppo necessari eseguendo questo comando:
- ```
- > sudo dnf -y groupinstall 'C Development Tools and Libraries'
+ ```bash
+ sudo dnf -y groupinstall 'Development Tools'
```
- Se si ottiene l'errore "Il modulo o il gruppo 'C Development Tools and Libraries' is not available", il comando seguente è equivalente a quello precedente:
+2. Installando i seguenti pacchetti, si otterranno le altre librerie, i file header e le applicazioni necessarie. Digitare:
- ```
- > sudo dnf -y groupinstall 'Development Tools'
+ ```bash
+ sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3
```
-2. Alcune altre librerie, file di intestazione e applicazioni possono essere ottenute installando i seguenti pacchetti. Digita:
+3. Sono necessarie altre utility disponibili solo in repository speciali. Uno di questi è il repository CRB (Code Ready Builder). Abilitare il repository sul nostro sistema Rocky con:
- ```
- > sudo dnf -y install \
- ncurses-devel openssl-devel elfutils-libelf-devel python3
+ ```bash
+ sudo dnf config-manager --set-enabled crb
```
-3. Successivamente, abbiamo bisogno di altre utility disponibili solo in alcuni repository di terze parti supportati. Uno di questi repository è quello di Powertools. Abilitiamo questa repo sul nostro sistema Rocky. Digita:
+4. Infine, installare uno dei pacchetti necessari dal repository CRB con:
- ```
- > sudo dnf config-manager --set-enabled powertools
+ ```bash
+ sudo dnf -y install dwarves
```
-4. Infine, installiamo uno dei pacchetti necessari dal repo di Powertool. Digita:
+Questo è tutto per quanto riguarda i pacchetti di prerequisiti necessari per la creazione del kernel.
- ```
- > sudo dnf -y install dwarves
- ```
-
-Questo è tutto per quanto riguarda i pacchetti richiesti necessari per la costruzione del Kernel!
+## Scaricare e scompattare il kernel Linux
-## Scaricare e decomprimere il Kernel Linux
-
-La versione del kernel che verrà costruita nella sezione seguente è la versione 6.5.7, disponibile all'indirizzo:
+La versione del kernel che si costruirà nella sezione seguente è la versione **6.5.7**, disponibile all'indirizzo:
[www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz](https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz)
Iniziamo il processo.
-1. Per prima cosa, scaricare i sorgenti del kernel nella directory di lavoro corrente usando il seguente comando curl. Digita:
+1. Per prima cosa, scaricare i sorgenti del kernel nella directory di lavoro corrente usando il seguente comando `curl`. Digitare:
- ```
+ ```bash
curl -L -o linux-6.5.7.tar.xz \
https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
```
-2. L'origine del kernel che si scarica da Internet è un file compresso con tar. Pertanto, per utilizzare il sorgente, è necessario decomprimere e scompattare il file sorgente.
+2. Il sorgente del kernel scaricata da Internet è un file compresso, tar file. Pertanto, per utilizzare il file sorgente è necessario decomprimerlo ed estrarlo.
- Assicurarsi di trovarsi nella directory in cui è stato scaricato il tarball del Kernel. Utilizzare il comando tar per decomprimere il file, eseguendo:
+ Assicurarsi di trovarsi nella directory contenente il download del tarball del kernel. Utilizzare il comando `tar` per decomprimere il file, eseguendo:
- ```
- tar xvJf linux-5.*.tar.xz
+ ```bash
+ tar xvJf linux-6.*.tar.xz
```
-## Costruire il Kernel
+## Compilare il Kernel
-In questa sezione esamineremo il processo di configurazione e costruzione di un kernel. Ciò è in contrasto con i sistemi operativi basati su macOS o Windows, che vengono forniti preconfigurati e quindi contengono il supporto per molte funzioni che si possono o meno desiderare.
+In questa sezione si analizzerà il processo di configurazione e compilazione di un kernel. Ciò è in contrasto con i sistemi operativi basati su macOS o Windows, che vengono forniti preconfigurati e quindi contengono il supporto per molte funzioni che si possono o meno desiderare.
La filosofia di progettazione di Linux permette all'individuo di decidere le parti importanti del kernel. Questa progettazione personalizzata ha l'importante vantaggio di permettere di ridurre l'elenco delle funzionalità in modo che Linux possa funzionare nel modo più efficiente possibile.
Questo è anche uno dei motivi per cui è possibile personalizzare Linux per farlo funzionare in diverse configurazioni hardware, dai sistemi di fascia bassa, ai sistemi embedded, ai sistemi di fascia alta.
-Per costruire un kernel sono richieste due fasi principali:
+La creazione del kernel richiede due fasi principali:
- configurazione
- compilazione
-Il primo passo nella costruzione del kernel è la configurazione delle sue caratteristiche. Di solito, l'elenco delle funzionalità desiderate si basa sull'hardware da supportare. Questo, ovviamente, significa che è necessario un elenco dell'hardware.
+Il primo passo nella costruzione del kernel è la configurazione delle sue caratteristiche. Di solito, l'elenco delle funzionalità si basa sull'hardware da supportare. Ciò significa che è necessario un elenco dell'hardware.
-Su un sistema che esegue già Linux, è possibile eseguire comandi come lspci, lshw e così via per visualizzare informazioni dettagliate sull'esatta configurazione hardware del sistema. Nelle distro basate su RPM queste utilità sono fornite dai pacchetti pciutils*.rpm e lshw*.rpm.
+Su un sistema che esegue già Linux, è possibile eseguire comandi come – `lspci`, `lshw`, e così via, per visualizzare informazioni dettagliate sull'esatta configurazione hardware del sistema. Queste utilità provengono dai pacchetti `pciutils*.rpm` e `lshw*.rpm` sulle distribuzioni basate su RPM.
Una migliore comprensione di ciò che costituisce l'hardware sottostante può aiutare a determinare meglio ciò di cui si ha bisogno nel kernel personalizzato. Si è pronti per iniziare a configurare il kernel.
### Sanificazione dell'ambiente di compilazione
-Possiamo iniziare la configurazione vera e propria con un'idea approssimativa dei tipi di hardware e delle caratteristiche che il nostro nuovo kernel deve supportare. Ma prima, alcune informazioni di base.
+È possibile iniziare la configurazione vera e propria con un'idea approssimativa dei tipi di hardware e delle caratteristiche che il nuovo kernel deve supportare. Ma prima, alcune informazioni di base.
-L'albero dei sorgenti del kernel Linux contiene diversi file denominati Makefile (un makefile è semplicemente un file di testo con delle direttive e descrive anche le relazioni tra i file di un programma).
-
-Questi makefile aiutano a incollare insieme le migliaia di altri file che compongono il sorgente del kernel. Ciò che è più importante per noi è che i file make contengono anche i target. I target sono i comandi, o direttive, che vengono eseguiti dal programma make.
+L'albero dei sorgenti del kernel Linux contiene diversi file denominati **Makefile** (un makefile è semplicemente un file di testo con delle direttive e descrive anche le relazioni tra i file di un programma).
+Questi file make aiutano a incollare insieme le migliaia di altri file che compongono il sorgente del kernel. Ciò che è più importante per noi è che i file make contengono anche i target. I target sono i comandi, o direttive, che vengono eseguiti dal programma make.
!!! warning "Avviso: Evitare inutili aggiornamenti del Kernel"
@@ -156,69 +147,95 @@ Questi makefile aiutano a incollare insieme le migliaia di altri file che compon
Nel caso di una correzione di sicurezza, decidete se il rischio vi riguarda davvero: ad esempio, se il problema di sicurezza è stato riscontrato in un driver di periferica che non utilizzate, potrebbe non esserci motivo di aggiornare. Nel caso di un rilascio con correzione di bug, leggete attentamente le note di rilascio e decidete se i bug vi riguardano davvero: se avete un sistema stabile, aggiornare il kernel con patch che non usate mai potrebbe essere inutile.
- Sui sistemi di produzione, il kernel non dovrebbe essere aggiornato solo per avere "l'ultimo kernel"; si dovrebbe avere un motivo davvero convincente per aggiornarlo.
+ Sui sistemi di produzione, il kernel non dovrebbe essere aggiornato solo per avere "l'ultimo kernel"; si dovrebbe avere un motivo veramente convincente per aggiornarlo.
+
+Il Makefile nella radice dell'albero dei sorgenti del kernel contiene obiettivi specifici utilizzati per preparare l'ambiente di compilazione del kernel, configurare il kernel, compilare il kernel, installare il kernel e così via. Alcuni dettagli aggiuntivi su questi obiettivi sono:
+
+`make mrproper`
+:
+
+Questo obiettivo ripulisce l'ambiente di compilazione da tutti i file e le dipendenze obsolete che potrebbero essere rimaste da una precedente compilazione del kernel. Pulisce (cancella) tutte le configurazioni precedenti del kernel dall'ambiente di creazione.
+
+`make clean`
+:
+
+Questo obiettivo non svolge un lavoro così approfondito come l'obiettivo mrproper. Elimina solo la maggior parte dei file generati. Non cancella il file di configurazione del kernel (`.config`).
+
+`make menuconfig`
+:
+
+Questo obiettivo richiama un'interfaccia di editor basata sul testo con menu, elenchi di opzioni e finestre di dialogo basate sul testo per la configurazione del kernel.
+
+`make xconfig`
+:
+
+Questo strumento/target di configurazione del kernel basato su interfaccia grafica si basa sulle librerie di sviluppo grafico Qt. Le applicazioni basate su KDE/Plasma utilizzano queste librerie.
+
+`make gconfig`
+:
+
+Anche questo è uno strumento/target di configurazione del kernel basato su GUI, ma si basa sul toolkit GTK+. Questo toolkit GTK+ è molto utilizzato nel mondo desktop GNOME.
+
+`make olddefconfig`
+:
-Il Makefile nella radice dell'albero dei sorgenti del kernel contiene obiettivi specifici che possono essere usati per preparare l'ambiente di compilazione del kernel, configurare il kernel, compilare il kernel, installare il kernel e così via. Alcuni degli obiettivi sono discussi in dettaglio qui:
+Questo obiettivo utilizza il file .config esistente nella directory di lavoro corrente, aggiorna le dipendenze e imposta automaticamente i nuovi simboli ai valori predefiniti.
-- **make mrproper**Questo obiettivo pulisce l'ambiente di compilazione da tutti i file e le dipendenze obsolete che potrebbero essere rimaste da una precedente compilazione del kernel. Tutte le configurazioni precedenti del kernel saranno pulite (eliminate) dall'ambiente di compilazione.
-- **make clean**Questo target non fa un lavoro così accurato come il target mrproper. Elimina solo la maggior parte dei file generati. Non elimina il file di configurazione del kernel (.config).
-- **make menuconfig**Questo obiettivo richiama un'interfaccia di editor basata sul testo con menu, elenchi di opzioni e finestre di dialogo basate sul testo per la configurazione del kernel.
-- **make xconfig**È uno strumento/target di configurazione del kernel basato su interfaccia grafica che si basa sulle librerie di sviluppo grafico Qt. Queste librerie sono utilizzate dalle applicazioni basate su KDE/Plasma.
-- **make gconfig**Anche questo è uno strumento/target di configurazione del kernel basato sulla GUI, ma si basa sul toolkit GTK+. Questo toolkit GTK è molto utilizzato nel mondo desktop di GNOME.
-- **make olddefconfig**Questo obiettivo utilizza il file .config esistente nella directory di lavoro corrente, aggiorna le dipendenze e imposta automaticamente i nuovi simboli ai valori predefiniti.
-- **make help**Questo obiettivo mostra tutti gli altri possibili obiettivi di make e funge anche da rapido sistema di guida in linea.
+`make help`
+:
-In questa sezione utilizzeremo solo uno dei target per configurare il kernel. In particolare, utilizzeremo il comando make menuconfig. L'editor di configurazione del kernel menuconfig è una semplice e popolare utilità di configurazione basata sul testo che consiste in menu, elenchi di pulsanti e finestre di dialogo.
+Questo obiettivo mostrerà tutti i possibili obiettivi e servirà come un rapido sistema di aiuto online.
+
+In questa sezione si utilizzerà solo uno dei target per configurare il kernel. In particolare, si utilizzerà il comando make `menuconfig`. L'editor di configurazione del kernel `menuconfig` è una semplice e popolare utility di configurazione basata sul testo e composta da menu, elenchi di pulsanti e finestre di dialogo.
Ha un'interfaccia semplice e pulita che può essere facilmente navigata con la tastiera ed è abbastanza intuitiva da usare.
-Dobbiamo navigare (cd) nella directory dei sorgenti del kernel, dopodiché possiamo iniziare la configurazione del kernel. Ma prima di iniziare la configurazione vera e propria del kernel, è necessario pulire (preparare) l'ambiente di compilazione del kernel usando il comando make mrproper:
+È necessario cambiare(`cd`) nella directory dei sorgenti del kernel e poi si può iniziare la configurazione del kernel. Prima di iniziare la configurazione effettiva del kernel, è necessario pulire (preparare) l'ambiente di compilazione del kernel usando il comando `make mrproper`:
-```
-> cd linux-5.*
-> make O=~/build/kernel mrproper
+```bash
+cd linux-6.*/
+make O=~/build/kernel mrproper
```
### Configurazione del Kernel
-Successivamente, verrà illustrato il processo di configurazione di un kernel Linux serie 5.*. Per esplorare alcuni dei meccanismi interni di questo processo, abiliteremo il supporto di una funzione specifica che fingeremo essere una caratteristica indispensabile del sistema. Una volta capito come funziona, si può applicare la stessa procedura per aggiungere il supporto a qualsiasi nuova funzionalità del kernel. In particolare, abiliteremo il supporto per il file system NTFS nel nostro kernel personalizzato.
+Successivamente, si inizierà a configurare un kernel Linux della serie 6.*. Per esplorare alcuni aspetti interni di questo processo, si abilita il supporto di una funzione specifica che si finge sia una caratteristica indispensabile per il sistema. Una volta capito come funziona, si può applicare la stessa procedura per aggiungere il supporto a qualsiasi nuova funzionalità del kernel. In particolare, dovrete abilitare il supporto per il file system NTFS nel nostro kernel personalizzato.
-La maggior parte delle moderne distro Linux viene fornita con un file di configurazione del kernel in esecuzione, disponibile sul file system locale come file compresso o normale. Nel nostro sistema Rocky di esempio, questo file risiede nella directory /boot e di solito ha un nome simile a config-*.
+La maggior parte delle moderne distribuzioni di Linux contiene un file di configurazione del kernel in esecuzione, disponibile sul file system locale come file compresso o normale. Nel sistema Rocky di esempio, questo file risiede nella directory `/boot` e di solito ha un nome simile a `config-*`.
-Il file di configurazione contiene un elenco delle opzioni e delle caratteristiche abilitate per il particolare kernel che rappresenta. Un file di configurazione simile a questo è quello che si vuole creare durante il processo di configurazione del kernel. L'unica differenza tra il file che creeremo e quello già pronto è che aggiungeremo ulteriori piccole personalizzazioni al nostro.
+The configuration file contains a list of the options and features enabled for the particular kernel it represents. L'obiettivo è creare un file di configurazione simile a questo attraverso il processo di configurazione del kernel. L'unica differenza tra il file che creerete e quello già pronto è che aggiungerete ulteriori piccole personalizzazioni al vostro.
+!!! TIP
-!!! TIP "Suggerimento"
+ L'uso di un file di configurazione noto e preesistente come quadro di riferimento per la creazione del proprio file personalizzato aiuta a non perdere troppo tempo a duplicare gli sforzi che altri hanno già fatto per trovare ciò che funziona e ciò che non funziona.
- L'utilizzo di un file di configurazione noto e preesistente come quadro di riferimento per la creazione del nostro file personalizzato ci permette di non perdere troppo tempo a duplicare gli sforzi che altre persone hanno già fatto per trovare ciò che funziona e ciò che non funziona!
+I passi seguenti spiegano come configurare il kernel. Si utilizzerà un'utilità di configurazione del kernel basata su testo. È possibile seguire la procedura nel terminale, indipendentemente dal fatto che si utilizzi o meno un ambiente desktop con interfaccia grafica.
-I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità di configurazione del kernel basata sul testo, che vi consentirà di seguire la procedura nel vostro terminale, indipendentemente dal fatto che utilizziate o meno un ambiente desktop con interfaccia grafica.
+1. Per iniziare, si copierà e rinominerà il file di configurazione preesistente dalla directory `/boot` nell'ambiente di creazione del kernel:
-1. Per iniziare, copiamo e rinominiamo il file di configurazione preesistente dalla directory /boot nel nostro ambiente di creazione del kernel:
- ```
- > cp /boot/config-`uname -r` ~/build/kernel/.config
+ ```bash
+ cp /boot/config-`uname -r` ~/build/kernel/.config
```
- Utilizziamo `uname -r` per ottenere il file di configurazione del kernel in esecuzione. Il comando uname -r stampa la release del kernel in esecuzione. L'utilizzo di questa funzione ci consente di assicurarci di ottenere la versione esatta che desideriamo, nel caso in cui siano presenti altre versioni.
- !!! NOTE "Nota"
+ Utilizziamo `uname -r` per ottenere il file di configurazione del kernel in esecuzione. Il comando `uname -r` stampa la release del kernel in esecuzione. L'utilizzo di questa funzione consente di assicurarsi di ottenere la versione esatta desiderata, nel caso in cui siano presenti altre versioni.
- L'editor di configurazione del kernel Linux inizia cercando e generando esplicitamente un file chiamato .config (pronunciato "dot config") alla radice dell'albero dei sorgenti del kernel. Questo file è nascosto.
+ !!! NOTE
+
+ L'editor di configurazione del kernel Linux inizia a cercare e generare esplicitamente un file chiamato `.config` (pronunciato "dot config") alla radice dell'albero dei sorgenti del kernel. Questo file è nascosto.
2. Avviare l'utilità di configurazione grafica del kernel:
- ```
- > make O=~/build/kernel menuconfig
+ ```bash
+ make O=~/build/kernel menuconfig
```
Verrà visualizzata una schermata simile a questa:
-
+ 
- La schermata di configurazione del kernel che appare è suddivisa in circa tre aree.
- La parte superiore mostra varie informazioni utili, scorciatoie da tastiera e legende che possono aiutare a navigare nell'applicazione.
- Il corpo principale della schermata mostra un elenco espandibile a struttura ad albero delle opzioni del kernel complessivamente configurabili. È possibile approfondire le voci con le frecce nel genitore per visualizzare e/o configurare le voci dei sottomenu (o figli). Infine, nella parte inferiore dello schermo vengono visualizzate le azioni/opzioni che l'utente può scegliere.
+ Nella schermata di configurazione del kernel vengono visualizzate circa tre aree. La parte superiore mostra informazioni utili, scorciatoie da tastiera e legende che aiutano a navigare nell'applicazione. Il corpo principale della schermata mostra un elenco espandibile a struttura ad albero delle opzioni del kernel complessivamente configurabili. È possibile approfondire le voci con le frecce nel genitore per visualizzare o configurare le voci dei sottomenu (o figli). Infine, nella parte inferiore della schermata vengono visualizzate le azioni o le opzioni che l'utente può selezionare.
-3. Successivamente, aggiungeremo il supporto per NTFS nel nostro kernel personalizzato a scopo dimostrativo.
+3. Successivamente, si aggiungerà il supporto per NTFS in questo kernel personalizzato a scopo dimostrativo.
Nella schermata di configurazione principale, utilizzare i tasti freccia per spostarsi ed evidenziare la voce File system. Una volta selezionato File system, premere Invio per visualizzare il menu secondario o le voci secondarie di File system.
@@ -226,39 +243,39 @@ I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità d
4. Nella sezione Filesystem DOS/FAT/NT, passare al supporto del file system NTFS.
- Digitare M (maiuscolo) per abilitare i moduli al supporto del file system NTFS.
+ Digitare ++“M ”++ (maiuscolo) per abilitare i moduli al supporto del file system NTFS.
- Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto del debug NTFS (NEW) e premere y per includerlo.
+ Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto del debug NTFS (NUOVO) e premere y per includerlo.
- Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto di scrittura NTFS e premere y per includerlo. Al termine, accanto a ogni opzione dovrebbe comparire la lettera M o il simbolo dell'asterisco (*), come quelli mostrati qui:
+ Utilizzate i tasti freccia per spostarvi verso il basso fino al supporto di scrittura NTFS e premete ++y++ per includerlo. Al termine, accanto a ogni opzione dovrebbe comparire la lettera `M` o il simbolo dell'asterisco (`*`), come quelli mostrati qui:
- 
+ 
!!! TIP "Suggerimento"
- Per ciascuna delle opzioni configurabili, nell'utilità di configurazione del kernel, le parentesi angolari vuote, <>, indicano che la funzione in questione è disabilitata. La lettera M tra parentesi angolari, , indica che la funzione deve essere compilata come modulo.
+ Per ciascuna delle opzioni configurabili, nell'utilità di configurazione del kernel, le parentesi angolari vuote, <>, indicano che la funzione in questione è disabilitata. La lettera `M' tra parentesi angolari, , indica che la funzione deve essere compilata come modulo.
Il simbolo dell'asterisco tra parentesi angolari, <*>, indica che il supporto per la funzione sarà integrato direttamente nel kernel. Di solito è possibile scorrere tutte le opzioni possibili utilizzando la barra spaziatrice della tastiera.
-5. Tornare alla schermata principale dei sistemi di file premendo due volte il tasto esc sulla tastiera nella schermata dei Filesystems DOS/FAT/NT. Tornare alla schermata principale di configurazione del kernel premendo nuovamente esc due volte sulla tastiera.
+5. Per tornare alla schermata principale dei File Systems, premere due volte il tasto ++esc++ sulla tastiera nella schermata dei File Systems DOS/FAT/NT. Tornare alla schermata principale di configurazione del kernel premendo nuovamente due volte ++esc++ sulla tastiera.
-6. Infine, salvare le modifiche nel file .config nella radice dell'albero dei sorgenti del kernel e uscire dall'applicazione di configurazione del kernel dopo aver salvato il file premendo di nuovo esc due volte sulla tastiera.
+6. Infine, salvare le modifiche nel file `.config` nella radice dell'albero dei sorgenti del kernel e uscire dall'applicazione di configurazione del kernel dopo aver salvato il file premendo di nuovo due volte ++esc++ sulla tastiera.
-7. Viene visualizzata una finestra di dialogo che richiede di salvare la nuova configurazione. Assicurarsi che sia selezionato Yes e premere Invio.
+7. Viene visualizzata una finestra di dialogo che richiede di salvare la nuova configurazione. Assicurarsi che la selezione sia "Yes" e premere invio.
-8. Dopo l'uscita dell'utilità di configurazione del kernel, si tornerà alla propria shell, all'interno dell'albero dei sorgenti del kernel. Siete quasi pronti a costruire il vostro kernel!
+8. Dopo l'uscita dall'utilità di configurazione del kernel, si tornerà alla propria shell, all'interno dell'albero dei sorgenti del kernel. Siete quasi pronti a costruire il vostro kernel.
-9. Dobbiamo completare alcune personalizzazioni sulla nostra distro Rocky. Digita:
+9. È necessario completare alcune personalizzazioni sulla nostra distribuzione Rocky. Digitare:
- ```
+ ```bash
sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config
```
!!! TIP "Suggerimento"
- Per visualizzare i risultati di alcune delle modifiche apportate con lo strumento menuconfig, usare l'utilità grep per visualizzare direttamente il file .config salvato. Ad esempio, per visualizzare l'effetto del supporto del file system NTFS attivato in precedenza, digitate quanto segue:
+ Per visualizzare i risultati di alcune delle modifiche apportate con lo strumento menuconfig, usare l'utilità grep per visualizzare il file `.config` salvato direttamente. Ad esempio, per visualizzare l'effetto del supporto del file system NTFS precedentemente attivato, digitate quanto segue:
```
- > grep NTFS ~/build/kernel/.config
+ $ grep NTFS ~/build/kernel/.config
CONFIG_NTFS_FS=m
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y
@@ -266,67 +283,67 @@ I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità d
!!! NOTE "Una nota veloce sui Moduli del kernel"
- Il supporto per i moduli caricabili è una caratteristica del kernel Linux che consente il caricamento (o la rimozione) dinamica dei moduli del kernel.
+ Il supporto dei moduli caricabili è una caratteristica del kernel Linux che consente il caricamento (o la rimozione) dinamica dei moduli del kernel.
- I moduli del kernel sono pezzi di codice compilato che possono essere inseriti dinamicamente nel kernel in esecuzione, anziché essere integrati in modo permanente nel kernel. Le funzioni non utilizzate di frequente possono quindi essere abilitate, ma non occuperanno spazio nella memoria quando non vengono utilizzate.
+ I moduli del kernel sono pezzi di codice compilato che possono essere inseriti dinamicamente nel kernel in esecuzione, anziché essere integrati in modo permanente nel kernel. In questo modo è possibile attivare le funzioni non utilizzate di frequente, che non occuperanno spazio nella memoria quando non vengono utilizzate.
Fortunatamente, il Kernel Linux è in grado di determinare automaticamente cosa caricare e quando. Naturalmente, non tutte le funzioni possono essere compilate come moduli. Il kernel deve sapere alcune cose prima di poter caricare e scaricare i moduli, ad esempio come accedere al disco rigido e analizzare il file system in cui sono memorizzati i moduli caricabili. Alcuni moduli del kernel vengono comunemente chiamati anche driver.
### Compilazione del Kernel
-Nella sezione precedente abbiamo illustrato il processo di creazione di un file di configurazione per il kernel personalizzato che vogliamo costruire. In questa sezione si eseguirà la compilazione vera e propria del kernel. Ma prima di fare questo, aggiungeremo una personalizzazione più semplice all'intero processo.
+In the preceding section, you walked through the process of creating a configuration file for the custom kernel that you want to build. In questa sezione si eseguirà la compilazione vera e propria del kernel. Ma prima di fare questo, aggiungerete una semplice personalizzazione all'intero processo.
-La personalizzazione finale consisterà nell'aggiungere un'informazione supplementare utilizzata nel nome finale del nostro kernel. Questo ci aiuterà a distinguere questo kernel da qualsiasi altro kernel con lo stesso numero di versione. Aggiungeremo il tag "custom" alle informazioni sulla versione del kernel. Questo può essere fatto modificando il Makefile principale e aggiungendo il tag desiderato alla variabile EXTRAVERSION.
+La personalizzazione finale consisterà nell'aggiungere un'informazione supplementare utilizzata nel nome finale del nostro kernel. Questo ci aiuterà a distinguere questo kernel da qualsiasi altro kernel con lo stesso numero di versione. Si aggiungerà il tag "custom" alle informazioni sulla versione del kernel. Per farlo, modificate il Makefile principale e aggiungete il tag desiderato alla variabile EXTRAVERSION.
-La fase di compilazione del processo di creazione del kernel è di gran lunga la più semplice, ma richiede anche più tempo. A questo punto è sufficiente eseguire il comando make, che genererà automaticamente e si occuperà di eventuali problemi di dipendenza, compilerà il kernel stesso e compilerà tutte le funzionalità (o i driver) che sono state abilitate come moduli caricabili.
+La fase di compilazione del processo di creazione del kernel è di gran lunga la più semplice, ma richiede anche più tempo. È sufficiente eseguire il comando `make`, che genererà automaticamente e si occuperà di qualsiasi problema di dipendenza, compilerà il kernel stesso e compilerà qualsiasi funzionalità (o driver) abilitata come modulo caricabile.
-A causa della quantità di codice che deve essere compilato, preparatevi ad aspettare almeno qualche minuto, a seconda della potenza di elaborazione del vostro sistema. Analizziamo i passaggi specifici necessari per compilare il nuovo kernel.
+A causa della quantità di codice da compilare, preparatevi ad aspettare almeno qualche minuto, a seconda della potenza di elaborazione del vostro sistema. Analizziamo i passaggi specifici necessari per compilare il nuovo kernel.
-1. Per prima cosa, aggiungeremo un pezzo in più alla stringa di identificazione del kernel che stiamo per costruire. Mentre siamo ancora nella radice dell'albero dei sorgenti del kernel, useremo l'utilità sed per modificare il Makefile. La variabile che vogliamo modificare si trova all'inizio del file. Vogliamo modificare la riga del file che ha questo aspetto:
+1. Per prima cosa, aggiungeremo un pezzo in più alla stringa di identificazione del kernel che stiamo per costruire. Mentre siamo ancora nella root dell'albero dei sorgenti del kernel, useremo l'utilità `sed` per modificare il Makefile sul posto. La variabile che si desidera modificare si trova all'inizio del file. Si vuole modificare la riga del file che assomiglia a questa:
- ```
+ ```bash
EXTRAVERSION =
```
A questo:
- ```
+ ```bash
EXTRAVERSION = -custom
```
- Utilizzate il seguente comando `sed` per effettuare la modifica. Digita:
+ Utilizzate il seguente comando `sed` per effettuare la modifica. Digitare:
- ```
+ ```bash
sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -custom/' Makefile
```
- Naturalmente, è possibile utilizzare qualsiasi editor di testo con cui ci si trovi a proprio agio per effettuare la modifica. Ricordatevi di salvare le modifiche apportate al file!
+ Si può anche utilizzare un qualsiasi editor di testo con cui si ha dimestichezza per effettuare la modifica. Ricordatevi di salvare le modifiche apportate al file.
2. Passare il target kernelversion al comando make per visualizzare la versione completa del kernel appena personalizzato:
- ```
- > make O=~/build/kernel kernelversion
+ ```bash
+ make O=~/build/kernel kernelversion
```
- !!! Tip "Suggerimento"
+ !!! Tip
È possibile sfruttare tutta la potenza di elaborazione extra (CPU, core e così via) sulla maggior parte dei sistemi moderni e accelerare notevolmente le operazioni ad alta intensità di CPU come la compilazione del kernel. A tale scopo, è possibile passare un parametro al comando make che specifichi il numero di lavori da eseguire simultaneamente. Il numero di lavori specificato viene quindi distribuito ed eseguito simultaneamente su ciascun core della CPU. La sintassi del comando è:
- ```
- > make -j N
+ ```bash
+ make -j N
```
dove N è il numero di lavori da eseguire contemporaneamente. Ad esempio, se si dispone di una CPU con capacità octa (8) core, è possibile digitare:
- ```
- > make -j 8
+ ```bash
+ make -j 8
```
-3. L'unico comando necessario per compilare il kernel è il comando make:
+3. L'unico comando necessario per compilare il kernel è il comando `make`:
- ```
- > make O=~/build/kernel
+ ```bash
+ $ make O=~/build/kernel
make[1]: Entering directory '/home/super/build/kernel'
SYNC include/config/auto.conf.cmd
GEN Makefile
@@ -343,96 +360,97 @@ A causa della quantità di codice che deve essere compilato, preparatevi ad aspe
4. Il prodotto finale di questo comando (cioè il kernel) è in attesa nel percorso:
- ```
+ ```bash
~/build/kernel/arch/x86/boot/bzImage
```
-5. È necessario installare i moduli perché abbiamo compilato parti del kernel come moduli (ad esempio, il modulo NTFS). Digitare quanto segue:
+5. È necessario installare i moduli perché sono state compilate parti del kernel come moduli (ad esempio, il modulo NTFS). Digitare quanto segue:
- ```
- > sudo make O=~/build/kernel modules_install
+ ```bash
+ sudo make O=~/build/kernel modules_install
```
- Sul nostro sistema Rocky, questo comando installerà tutti i moduli compilati del kernel nella cartella /lib/modules/ . In questo esempio, il percorso si tradurrà in /lib/modules/6.5.7-custom/. È il percorso dal quale il kernel caricherà tutti i moduli caricabili, se necessario.
+ Sul nostro sistema Rocky, questo comando installerà tutti i moduli del kernel compilati nella directory `/lib/modules/`. Questo percorso si tradurrà in `/lib/modules/6.5.7-custom/` in questo esempio. È il percorso dal quale il kernel caricherà tutti i moduli caricabili, se necessario.
!!! TIP "Suggerimento"
- L'ingombro (dimensione) dei moduli del kernel installati tramite "make modules_install" può diventare piuttosto grande perché i moduli includono simboli di debug. Di conseguenza, si potrebbe facilmente ritrovarsi con una cartella `/lib/modules/6.5.7-custom/` di dimensioni prossime ai 5 Gb!
+ Il footprint (dimensione) dei moduli del kernel installati tramite `make modules_install` può diventare piuttosto significativo perché i moduli includono simboli di debug. Di conseguenza, si potrebbe facilmente ritrovarsi con una cartella /lib/modules/6.5.7-custom/ di dimensioni prossime ai 5 Gb!
- Per questa guida evitiamo queste dimensioni elevate includendo l'opzione INSTALL_MOD_STRIP=1 nell'invocazione di make modules_install. È possibile ridurre la dimensione totale di ordini di grandezza (ad esempio, meno di 200 MB!) eliminando questi simboli di debug.
+ Per questa guida evitiamo queste dimensioni elevate includendo l'opzione `INSTALL_MOD_STRIP=1` nell'invocazione di `make modules_install`. È possibile ridurre la dimensione totale di ordini di grandezza (ad esempio, meno di 200 MB) eliminando questi simboli di debug.
- Questo può essere fatto includendo l'opzione `INSTALL_MOD_STRIP=1` al comando `make modules_install`.
+ Questo può essere fatto includendo l'opzione INSTALL_MOD_STRIP=1 al comando make modules_install.
+
## Installazione del Kernel
-Supponendo di avere un PC e di lavorare dalla directory `~/build/kernel/`, il kernel compilato creato nell'esercizio precedente si troverà in questo percorso - `/arch/x86/boot/bzImage` o, per essere precisi, nel nostro esempio `~/build/kernel/arch/x86/boot/bzImage`.
+Supponendo di avere un PC e di lavorare dalla directory `~/build/kernel/`, il kernel compilato creato nell'ultimo esercizio si troverà in questo percorso - `/arch/x86/boot/bzImage` o, per essere precisi, nel nostro esempio `~/build/kernel/arch/x86/boot/bzImage`.
-Il file di mappa corrispondente si trova in ~/build/kernel/System.map. Per la fase di installazione sono necessari entrambi i file.
+Il file di mappa corrispondente si trova in `~/build/kernel/System.map`. Per la fase di installazione sono necessari entrambi i file.
-Il file System.map è utile quando il kernel non si comporta correttamente e genera messaggi "Oops". Un "Oops" viene generato su alcuni errori del kernel a causa di bug del kernel o di hardware difettoso.
+Il file `System.map` è utile quando il kernel si comporta male e genera messaggi "Oops". I messaggi "Oops" vengono generati su alcuni errori del kernel a causa di bug del kernel o di hardware difettoso.
Questo errore è simile alla schermata blu della morte (BSOD) di Microsoft Windows. Questi messaggi includono molti dettagli sullo stato attuale del sistema, compresi diversi numeri esadecimali.
-System.map dà a Linux la possibilità di trasformare i numeri esadecimali in nomi leggibili, facilitando il debug. Sebbene sia principalmente a beneficio degli sviluppatori, può essere utile quando si segnala un problema.
+`System.map` consente a Linux di trasformare i numeri esadecimali in nomi leggibili, facilitando il debug. Sebbene sia principalmente a beneficio degli sviluppatori, può essere utile quando si segnala un problema.
Esaminiamo i passaggi necessari per installare la nuova immagine del kernel.
-1. Mentre ci si trova nella radice della directory di creazione del kernel, copiare e rinominare il file bzImage nella directory /boot:
+1. Nella radice della directory di creazione del kernel, copiare e rinominare il file `bzImage` nella directory `/boot`:
- ```
- > sudo cp ~/build/kernel/arch/x86/boot/bzImage \
+ ```bash
+ sudo cp ~/build/kernel/arch/x86/boot/bzImage \
/boot/vmlinuz-
```
- Qui, kernel-version è il numero di versione del kernel. Per il kernel di esempio che stiamo usando in questa guida, il nome del file sarà vmlinuz-6.5.7-custom. Ecco il comando esatto per questo esempio:
+ Qui, `` è il numero di versione del kernel. Il nome del file del kernel di esempio utilizzato in questa guida è `vmlinuz-6.5.7-custom`. Ecco il comando esatto per questo esempio:
- ```
- > sudo cp ~/build/kernel/arch/x86/boot/bzImage \
+ ```bash
+ sudo cp ~/build/kernel/arch/x86/boot/bzImage \
/boot/vmlinuz-6.5.7-custom
```
- !!! Note "Nota"
+ !!! Note
- La decisione di chiamare l'immagine del kernel vmlinuz-6.5.7-custom è in qualche modo arbitraria. È comodo, perché le immagini del kernel sono comunemente indicate come vmlinuz e il suffisso del numero di versione è utile quando si hanno a disposizione più kernel o kernel che forniscono funzionalità specifiche (per esempio vmlinuz-6.50.0-ws).
+ La decisione di chiamare l'immagine del kernel `vmlinuz-6.5.7-custom` è in qualche modo arbitraria. È comodo, perché le immagini del kernel sono comunemente indicate come vmlinuz e il suffisso del numero di versione è utile quando si hanno a disposizione più kernel o kernel che forniscono funzionalità specifiche (per esempio `vmlinuz-6.50.0-ws`).
-2. Ora che l'immagine del kernel è pronta, copiare e rinominare il file System.map corrispondente nella directory /boot utilizzando la stessa convenzione di denominazione:
+2. Ora che l'immagine del kernel è pronta, copiare e rinominare il file `System.map` corrispondente nella directory `/boot` utilizzando la stessa convenzione di denominazione:
- ```
- > sudo cp -v ~/build/kernel/System.map \
+ ```bash
+ sudo cp -v ~/build/kernel/System.map \
/boot/System.map-6.5.7-custom
```
-3. Con il kernel a posto, il file System.map a posto e i moduli a posto, siamo pronti per il passo finale. La sintassi del comando necessario è:
+3. Con il kernel al suo posto, il file `System.map` al suo posto e i moduli al suo posto, siamo pronti per il passo finale. La sintassi del comando necessario è:
- ```
- > kernel-install add
+ ```bash
+ kernel-install add
```
- Qui, è il numero di versione (e il nome) del kernel. E è il percorso dell'immagine del kernel appena compilata.
+ Qui, `` è il numero di versione (e il nome) del kernel. E `` è il percorso dell'immagine del kernel appena compilata.
Nel nostro esempio, digitate:
- ```
- > sudo kernel-install \
+ ```bash
+ sudo kernel-install \
add 6.5.7-custom /boot/vmlinuz-6.5.7-custom
```
-Il comando kernel-install qui utilizzato è un piccolo script di shell. Forse non è disponibile in tutte le distribuzioni Linux, ma lo è nelle più recenti Fedora, RHEL e CentOS. Questo strumento automatizza molte delle ultime operazioni manuali che normalmente dovremmo fare per configurare il sistema per l'avvio del nuovo kernel appena creato.
+Il comando `kernel-install` è uno script di shell molto utile. Potrebbe non essere disponibile in tutte le distribuzioni Linux, ma è disponibile nelle distribuzioni più recenti Fedora, RHEL e CentOS. Questo strumento automatizza molte delle ultime operazioni manuali che normalmente si dovrebbero fare per impostare il sistema per l'avvio del nuovo kernel appena creato.
In particolare, lo strumento esegue le seguenti operazioni:
-- Crea l'immagine iniziale del file system RAM appropriata (l'immagine initramfs, cioè la cartella /boot/initramfs-.img). Per eseguire questa operazione manualmente sui sistemi in cui kernel-install non è disponibile, utilizzare il comando mkinitramfs.
-- Esegue il comando depmod (che crea un elenco di dipendenze dei moduli).
+- Crea l'immagine iniziale del file system RAM appropriata (l'immagine initramfs, cioè il file `/boot/initramfs-.img`). Per farlo manualmente sui sistemi in cui `kernel-install` non è disponibile, usare il comando `mkinitramfs`.
+- Esegue il comando `depmod` (che crea un elenco di dipendenze dei moduli).
- Aggiorna la configurazione del boot loader.
-Per i sistemi che eseguono le versioni più recenti di GRUB2, il file sarà `/boot/grub2/grub.cfg`. Per i sistemi basati su EFI /boot/efi/anche /fedora/grub.cfg viene aggiornato.
+Per i sistemi che eseguono le versioni più recenti di GRUB2, il file sarà `/boot/grub2/grub.cfg`. Per i sistemi basati su EFI viene aggiornato anche `/boot/efi//fedora/grub.cfg`.
-Per i sistemi che eseguono le versioni precedenti di GRUB, questo sarà il file /boot/grub/grub.conf o /boot/grub/menu.lst. Per le nuove distro che hanno implementato le nuove specifiche del caricatore di avvio (BLS), una nuova voce del caricatore di avvio verrà aggiunta alla directory /boot/loader/entries/, o a qualsiasi directory indicata dalla variabile "blsdir".
+Per i sistemi che eseguono le versioni precedenti di GRUB, questo sarà il file `/boot/grub/grub.conf` o `/boot/grub/menu.lst` Per le nuove distro che hanno implementato le nuove specifiche del caricatore di avvio (BLS), una nuova voce del caricatore di avvio verrà aggiunta alla directory `/boot/loader/entries/`, o a qualsiasi directory indicata dalla variabile `blsdir`.
-Sul nostro server demo Rocky basato su EFI che esegue GRUB 2 utilizzando BLS, viene creata una nuova voce di avvio nel file del boot loader che si trova qui: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf`
+Sul server demo Rocky basato su EFI che esegue GRUB2 utilizzando BLS, la creazione di una nuova voce di avvio avviene nel file del boot loader situato qui: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf`
-```
-> sudo cat /boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf
+```bash
+$ sudo cat /boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf
title Rocky Linux (6.5.7-custom) 8.5 (Green Obsidian)
version 6.5.7-custom
linux /vmlinuz-6.5.7-custom
@@ -444,29 +462,30 @@ grub_arg --unrestricted
grub_class kernel
```
-!!! Note "Nota"
+!!! Note
- La maggior parte delle distro ha a disposizione diverse utility grub2-* che possono essere utilizzate per eseguire varie operazioni di pulizia di GRUB2 e del boot loader. Ad esempio, si può usare il comando grub2-set-default per modificare o impostare il kernel predefinito da avviare all'avvio del sistema.
+ La maggior parte delle distro ha a disposizione diverse utility `grub2-*` che possono essere utilizzate per eseguire varie operazioni di pulizia di GRUB2 e del boot loader. Per esempio, si può usare il comando `grub2-set-default` per cambiare o impostare il kernel predefinito all'avvio del sistema.
## Avvio del Kernel personalizzato
+
La fase successiva consiste nel testare il kernel per assicurarsi che il sistema possa avviarsi con esso.
1. Supponendo di aver eseguito tutto nel modo esatto prescritto dal medico e che tutto abbia funzionato esattamente come indicato dal medico, si può tranquillamente riavviare il sistema e selezionare il nuovo kernel dal menu del boot loader durante l'avvio del sistema:
- ```
- > sudo reboot
+ ```bash
+ sudo reboot
```
-2. Dopo l'avvio del sistema, è possibile utilizzare il comando uname per scoprire il nome del kernel corrente:
+2. Dopo l'avvio del sistema, è possibile utilizzare il comando `uname` per scoprire il nome del kernel corrente:
- ```
- > uname -r
+ ```bash
+ $ uname -r
6.5.7-custom
```
3. Si ricorderà che una delle caratteristiche aggiunte al nuovo kernel è la capacità di supportare il file system NTFS. Assicurarsi che il nuovo kernel abbia effettivamente il supporto per NTFS visualizzando le informazioni sul modulo NTFS:
- ```
+ ```bash
[rockstar ~]$ modinfo ntfs
filename: /lib/modules/6.5.7-custom/kernel/fs/ntfs/ntfs.ko
license: GPL
@@ -475,4 +494,4 @@ La fase successiva consiste nel testare il kernel per assicurarsi che il sistema
...OUTPUT TRUNCATED...
```
-E questo è quanto!
+Non c'è altro.
diff --git a/docs/guides/custom-linux-kernel.md b/docs/guides/custom-linux-kernel.md
index a07f032185..ca98984b76 100644
--- a/docs/guides/custom-linux-kernel.md
+++ b/docs/guides/custom-linux-kernel.md
@@ -9,9 +9,9 @@ tags:
# Overview
-In this guide, we will walk through the process of acquiring a kernel source tree, configuring it, compiling it, and installing and booting it.
+In this guide, you will walk through the process of acquiring a kernel source tree, configuring it, compiling it, installing and booting it.
-!!! warning "Kernel rebuilds are not recommended nor supported for Rocky Linux. Before attempting to build a custom kernel, please consider the following:"
+!!! warning "Kernel rebuilds are not recommended nor supported for Rocky Linux. Before attempting to build a custom kernel, consider the following:"
* Is the functionality you need available by installing a kernel module from [elrepo](https://elrepo.org)?
* Is the functionality you need available as a separate module from the kernel itself?
@@ -20,7 +20,7 @@ In this guide, we will walk through the process of acquiring a kernel source tre
As a final warning: If you break the kernel, you are responsible for fixing resulting issues on your system.
-## The Kernel
+## The kernel
Most often, when people say _Linux_, they are usually referring to a "_Linux distribution_" - for example, Rocky Linux and Debian are types of Linux distribution. A distribution comprises everything necessary to get Linux to exist as a functional operating system.
Distributions make use of code from various open source projects that are independent of Linux.
@@ -32,15 +32,15 @@ Although the kernel is a small part of a complete Linux distribution, it is by f
## The kernel source code
-The Rocky Linux distribution has the source code for the specific kernel version it supports available in one form or another. These could be in the form of a compiled binary (`*.src.rpm`), a source RPM (`*.srpm`), or the like.
+The Rocky Linux distribution has the source code for the specific kernel version it supports available in one form or another. These could be in the form of a compiled binary (`*.src.rpm`), a source RPM (`*.srpm`), and so on.
-If you need to download a different (possibly newer) version than the one your specific Rocky Linux distro provides, the first place to look for the source code is at the official kernel web site:
+If you need to download a different (possibly newer) version than the one your specific Rocky Linux distribution provides, the first place to look for the source code is at the official kernel website:
[www.kernel.org](https://www.kernel.org)
-This site maintains a listing of web sites mirroring the kernel source, as well as tons of other open source software, distributions and general-purpose utilities.
+This site maintains a listing of websites mirroring the kernel source, and tons of other open source software, distributions, and general-purpose utilities.
-The list of mirrors is maintained at:
+The list of maintained mirrors is at:
[mirrors.kernel.org](http://mirrors.kernel.org)
@@ -48,61 +48,55 @@ The list of mirrors is maintained at:
The majority of the downloading, configuring and compiling of the Linux kernel done in the following sections can/should be done as an unprivileged user. However, the final steps that require actual installation or altering of system files and binaries need to be done with elevated privileges.
- We are able to do most of the work as an unprivileged user because we will be using a special kernel build option, which allows us to specify a custom working or output directory. Specifically, we will use the `O=~/build/kernel` option for all applicable invocations of make.
+ You are able to do most of the work as an unprivileged user because you will be using a special kernel build option, which allows you to specify a custom working or output directory. Specifically, you will use the `O=~/build/kernel` option for all applicable invocations of make.
Where `~/build/kernel` is equivalent to `/home/$USER/build/kernel` or `$HOME/build/kernel`
## Kernel versions and naming conventions
-The web site listing of kernels available will contain folders for v1.0, v2.5, v2.6, v3.0, v3.x, v4.x, v5.x, v6.x and so forth. Before you follow your natural inclination to get the latest version, make sure you understand how the Linux kernel versioning system works.
+The website listing of kernels available will contain folders for v1.0, v2.5, v2.6, v3.0, v3.x, v4.x, v5.x, v6.x and so forth. Before you follow your natural inclination to get the latest version, make sure you understand how the Linux kernel versioning system works.
The current convention is to name and number major new kernel releases as “Linux 5.x” (also called the vanilla or mainline kernels). Thus, the first of this series will be Linux version 5.0 (same as 5.0.0), the next will be Linux version 5.1 (same as 5.1.0), followed by Linux version 5.2, and so on.
-Any minor changes or updates within each major release version will be reflected by increments to the third digit. These are commonly referred to as stable point releases. Thus, the next stable point release for the 5.0.0 series kernel will be Linux version 5.0.1, followed by version 5.0.2, and so forth. Another way of stating this is to say, for example, that Linux version 5.0.4 is the fourth stable release based on the Linux 5.0.0 series.
+The third digit represents any minor changes or updates within each major release version. These are commonly referred to as stable point releases. Thus, the next stable point release for the 5.0.0 series kernel will be Linux version 5.0.1, followed by version 5.0.2, and so forth. Another way of stating this is to say, for example, that Linux version 5.0.4 is the fourth stable release based on the Linux 5.0.0 series.
## Installing prerequisite tools and libraries
-A common source of failure encountered during the kernel build process may be caused by not having all the requisite software available for compiling and building the mainline Linux Kernel. The missing tools and libraries can be installed using the DNF package manager on a Rocky Linux distro. We will take care of this in this section.
+Not having all the requisite software available for compiling and building the mainline Linux Kernel is a common source of failure encountered during the kernel build process. You can install the missing tools and libraries with the DNF package manager on a Rocky Linux distribution. You can take care of that here.
-1. On a Rocky Linux distro, you can quickly get most of the necessary development tools installed by running this command:
-
- ```bash
- sudo dnf -y groupinstall 'C Development Tools and Libraries'
- ```
-
- If you get "Module or Group 'C Development Tools and Libraries' is not available." error the below command is equivalent to above:
+1. On a Rocky Linux distribution, you can quickly get most of the necessary development tools installed by running this command:
```bash
sudo dnf -y groupinstall 'Development Tools'
```
-2. Some other libraries, header files, and applications can also be obtained by installing the following packages. Type:
+2. By installing the following packages, you will obtain the other libraries, header files, and applications needed. Type:
```bash
sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3
```
-3. Next, we need other utilities only available in some supported 3rd party repositories. One of such repositories is the Powertools repo. Let’s enable that repo on our Rocky system. Type:
+3. You need other utilities only available in special repositories. One such repository is the CRB (Code Ready Builder) repository. Enable that repository on our Rocky system with:
```bash
- sudo dnf config-manager --set-enabled powertools
+ sudo dnf config-manager --set-enabled crb
```
-4. Finally, let’s install one of the needed packages from the Powertool repo. Type:
+4. Finally, install one of the needed packages from the CRB repository with:
```bash
sudo dnf -y install dwarves
```
-That’s it for the prerequisite packages needed for actual Kernel building!
+That is it for the prerequisite packages needed for actually building the kernel.
-## Downloading and unpacking the Linux Kernel
+## Downloading and unpacking the Linux kernel
-The version of the kernel that we are going to build in the following section is version **6.5.7**, which is available at:
+The version of the kernel that you are going to build in the following section is version **6.5.7**, which is available at:
[www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz](https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz)
-Let’s begin the process.
+Let us begin the process.
1. First, download the kernel source into your current working directory using the following `curl` command. Type:
@@ -111,40 +105,40 @@ Let’s begin the process.
https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz
```
-2. The kernel source that you will download from the Internet is a file that has been compressed and tarred. Therefore, you need to decompress and untar the source file to use the source.
+2. The kernel source that you will download from the Internet is a compressed, tarred file. Therefore, you need to decompress and extract the source file to use the source.
- Make sure you are in the directory that download the Kernel tarball into. Use the tar command to unpack and decompress the file, by running:
+ Ensure you are in the directory containing the download of the Kernel tarball. Use the `tar` command to unpack and decompress the file, by running:
```bash
tar xvJf linux-6.*.tar.xz
```
-## Building the Kernel
+## Building the kernel
-In this section, we are going to review the process of configuring and building a kernel. This is in contrast to macOS or Windows-based operating systems, which come preconfigured and therefore contain support for many features you may or may not want.
+In this section, you are going to review the process of configuring and building a kernel. This is in contrast to macOS or Windows-based operating systems, which come pre-configured and therefore contain support for many features you might or might not want.
The Linux design philosophy allows the individual to decide on the important parts of the kernel. This individualized design has the important benefit of letting you thin down the feature list so that Linux can run as efficiently as possible.
This is also one of the reasons why it is possible to customize Linux to run in various hardware setups, from low-end systems, to embedded systems, to high-end systems.
-Two main steps are required in building a kernel:
+Building the kernel requires two main steps:
- configuring
- compiling
-The first step in building the kernel is configuring its features. Usually, your desired feature list will be based on whatever hardware you need to support. This, of course, means that you will need a list of that hardware.
+The first step in building the kernel is configuring its features. Usually, you will base your feature list on whatever hardware you need to support. This means that you will need a list of that hardware.
-On a system that is already running Linux, you can run commands like – `lspci`, `lshw` and so on to help show detailed information about the exact hardware setup on your system. On RPM-based distros these utilities are provided by the `pciutils*.rpm` and `lshw*.rpm` packages.
+On a system that is already running Linux, you can run commands such as – `lspci`, `lshw`, and so on, to help show detailed information about the exact hardware setup on your system. These utilities come from `pciutils*.rpm` and `lshw*.rpm` packages on RPM-based distributions.
Having a better understanding of what constitutes your underlying hardware can help you better determine what you need in your custom kernel. You are ready to start configuring the kernel.
### Sanitizing the build environment
-We can begin the actual configuration with a rough idea of the types of hardware and features that our new kernel needs to support. But first, some background information.
+You can begin the actual configuration with a rough idea of the types of hardware and features that your new kernel needs to support. But first, some background information.
The Linux kernel source tree contains several files named **Makefile** (a makefile is simply a text file with directives and it also describes the relationships among the files in a program).
-These makefiles help to glue together the thousands of other files that make up the kernel source. What is more important to us here is that the makefiles also contain targets. The targets are the commands, or directives, that are executed by the make program.
+These makefiles help to glue together the thousands of other files that make up the kernel source. What is more important to you here is that the makefiles also contain targets. The targets are the commands, or directives, run by the `make` program.
!!! warning "warning: Avoid Needless Kernel Upgrades"
@@ -157,15 +151,15 @@ These makefiles help to glue together the thousands of other files that make up
On production systems, the kernel should not simply be upgraded just to have “the latest kernel”; you should have a truly compelling reason to upgrade.
-The Makefile in the root of the kernel source tree contains specific targets that can be used in prepping the kernel build environment, configuring the kernel, compiling the kernel, installing the kernel, and so on. Some of the targets are discussed in more detail here:
+The Makefile in the root of the kernel source tree contains specific targets used in prepping the kernel build environment, configuring the kernel, compiling the kernel, installing the kernel, and so on. Some additional details regarding these targets are:
`make mrproper`
-: This target cleans up the build environment of any stale files and dependencies that might have been left over from a previous kernel build. All previous kernel configurations will be cleaned (deleted) from the build environment.
+: This target cleans up the build environment of any stale files and dependencies that left over from a previous kernel build. It cleans (deletes) all previous kernel configurations from the build environment.
`make clean`
-: This target does not do as thorough a job as the mrproper target. It deletes only most generated files. It does not delete the kernel configuration file (.config).
+: This target does not do as thorough a job as the `mrproper` target. It deletes only most generated files. It does not delete the kernel configuration file (`.config`).
`make menuconfig`
@@ -181,45 +175,45 @@ The Makefile in the root of the kernel source tree contains specific targets tha
`make olddefconfig`
-: This target uses the existing .config file in the current working directory, updates the dependencies, and automatically sets new symbols to their default values.
+: This target uses the existing `.config` file in the current working directory, updates the dependencies, and automatically sets new symbols to their default values.
`make help`
: This target will show you all the possible targets and serve as a quick online help system.
-We will use only one of the targets to configure the kernel in this section. In particular, we will use the make menuconfig command. The menuconfig kernel config editor is a simple and popular text-based configuration utility that consists of menus, radio button lists, and dialogs.
+You will use only one of the targets to configure the kernel in this section. In particular, you will use the make `menuconfig` command. The `menuconfig` kernel configuration editor is a simple and popular text-based configuration utility that consists of menus, radio button lists, and dialogs.
It has a simple and clean interface that can be easily navigated with your keyboard and is almost intuitive to use.
-We need to change (`cd`) into the kernel source directory, after which we can begin the kernel configuration.
-But before beginning the actual kernel configuration, you should clean (prepare) the kernel build environment by using the make mrproper command:
+You need to change (`cd`) into the kernel source directory, and then you can begin the kernel configuration.
+Before beginning the actual kernel configuration, you should clean (prepare) the kernel build environment by using the `make mrproper` command:
```bash
-cd linux-6.*
+cd linux-6.*/
make O=~/build/kernel mrproper
```
-### Kernel Configuration
+### Kernel configuration
-Next, we will begin configuring a Linux 6.* series kernel. To explore some of the innards of this process, we will enable the support of a specific feature that we will pretend is a MUST have feature on the system. Once you understand how this works, you can apply the same procedure to add support for any new kernel feature you want. Specifically, we will enable support for the NTFS file system into our custom kernel.
+Next, you will begin configuring a Linux 6.* series kernel. To explore some of the innards of this process, you will enable the support of a specific feature that you will pretend is a MUST have feature on the system. Once you understand how this works, you can apply the same procedure to add support for any new kernel feature you want. Specifically, you will enable support for the NTFS file system into our custom kernel.
-Most modern Linux distros ship with a kernel configuration file for the running kernel available on the local file system as a compressed or regular file. On our sample Rocky system, this file resides in the `/boot` directory and is usually named something like `config-*`.
+Most modern Linux distributions ship with a kernel configuration file for the running kernel, available on the local file system as a compressed or regular file. On your sample Rocky system, this file resides in the `/boot` directory and is usually named something like `config-*`.
-The configuration file contains a list of the options and features that were enabled for the particular kernel it represents. A config file similar to this one is what we aim to create through the process of configuring the kernel. The only difference between the file we will create and the ready-made one is that we will add further minor customization to ours.
+The configuration file contains a list of the options and features enabled for the particular kernel it represents. Your goal is to create a configuration file similar to this one through the process of configuring the kernel. The only difference between the file you will create and the ready-made one is that you will add further minor customization to yours.
!!! TIP
- Using a known, preexisting config file as a framework for creating our own custom file helps ensure that we do not waste too much time duplicating the efforts that other people have already put into finding what works and what does not work!
+ Using a known, preexisting configuration file as a framework for creating your own custom file helps ensure that you do not waste too much time duplicating the efforts that other people have already put into finding what works and what does not work.
-The following steps cover how to configure the kernel. We will be using a text-based kernel configuration utility, which will allow you to follow along in your terminal regardless of whether you are using a GUI desktop environment or not.
+The following steps cover how to configure the kernel. You will be using a text-based kernel configuration utility. You can follow along in your terminal regardless of whether you are using a GUI desktop environment or not.
-1. To begin, we will copy over and rename the preexisting config file from the `/boot` directory into our kernel build environment:
+1. To begin, you will copy over and rename the preexisting configuration file from the `/boot` directory into your kernel build environment:
```bash
cp /boot/config-`uname -r` ~/build/kernel/.config
```
- We use `uname -r` here to help us obtain the configuration file for the running kernel. The `uname -r` command prints the running kernel’s release. Using it helps ensure that we are getting the exact version we want, just in case other versions are present.
+ You use `uname -r` here to help you obtain the configuration file for the running kernel. The `uname -r` command prints the running kernel’s release. Using it helps ensure that you are getting the exact version you want, just in case other versions are present.
!!! NOTE
@@ -235,11 +229,11 @@ The following steps cover how to configure the kernel. We will be using a text-b

- The kernel configuration screen that appears is divided into roughly three areas.
+ There are roughly three areas in the kernel configuration screen that is displayed.
The top part shows helpful information, keyboard shortcuts, and legends to help you navigate the application.
- The main body of the screen shows an expandable tree-structured list of the overall configurable kernel options. You can further drill down into items with arrows in the parent to view and/or configure sub-menu (or child) items. Finally, the bottom of the screen displays the actions/options the user can choose.
+ The main body of the screen shows an expandable tree-structured list of the overall configurable kernel options. You can further drill down into items with arrows in the parent to view or configure sub-menu (or child) items. Finally, the bottom of the screen displays the actions or options the user can select.
-3. Next, we will add support for NTFS into our custom kernel for demonstration purposes.
+3. Next, you will add support for NTFS into your custom kernel for demonstration purposes.
While at the main configuration screen, use your arrow keys to navigate to and highlight the File systems item. With File systems selected, press enter to view the sub-menu or child items for File systems.
@@ -252,7 +246,7 @@ The following steps cover how to configure the kernel. We will be using a text-b
Use the arrow keys to navigate down to NTFS debugging support (NEW) and then press y to include it.
Use the arrow keys to navigate down to NTFS write support and then press ++y++ to include it.
- When you are done, the letter `M` or an asterisk symbol (`*`) should appear beside each option, like the ones shown here:
+ When done, the letter `M` or an asterisk symbol (`*`) should appear beside each option, as with the ones shown here:

@@ -262,15 +256,15 @@ The following steps cover how to configure the kernel. We will be using a text-b
And the asterisk symbol in angle parentheses, <*>, indicates that support for the feature will be directly built into the kernel. You can usually toggle through all the possible options using the spacebar on your keyboard.
-5. Navigate back to the parent File Systems screen by pressing the esc key twice on your keyboard in the DOS/FAT/NT Filesystems screen. Return to the main kernel configuration screen by pressing esc twice again on your keyboard.
+5. Navigate back to the parent File Systems screen by pressing the ++esc++ key twice on your keyboard in the DOS/FAT/NT Filesystems screen. Return to the main kernel configuration screen by pressing ++esc++ twice again on your keyboard.
-6. Finally, save your changes to the .config file in the root of your kernel source tree and exit the kernel configuration application after saving the file by pressing esc twice again on your keyboard.
+6. Finally, save your changes to the `.config` file in the root of your kernel source tree and exit the kernel configuration application after saving the file by pressing ++esc++ twice again on your keyboard.
-7. A dialog box will appear prompting you to save your new configuration. Make sure that Yes is selected and then press enter.
+7. A dialog box will appear prompting you to save your new configuration. Make sure that your selection is "Yes" and then press enter.
-8. After the kernel configuration utility exits, you will be thrown back to your shell-inside the kernel source tree. You are almost ready to build your kernel!
+8. After the kernel configuration utility exits, you will be back to your shell-inside the kernel source tree. You are almost ready to build your kernel.
-9. We need to complete a few more customizations on our Rocky distro. Type:
+9. You need to complete a few more customizations on our Rocky distribution. Type:
```bash
sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config
@@ -278,7 +272,7 @@ The following steps cover how to configure the kernel. We will be using a text-b
!!! TIP
- To view the results of some of the changes you made using the menuconfig tool, use the grep utility to view the .config file that you saved directly. For example, to view the effect of the NTFS file system support that we enabled previously, type the following:
+ To view the results of some of the changes you made using the menuconfig tool, use the grep utility to view the `.config` file that you saved directly. For example, to view the effect of the NTFS file system support that you previously enabled, type the following:
```
$ grep NTFS ~/build/kernel/.config
CONFIG_NTFS_FS=m
@@ -286,7 +280,7 @@ The following steps cover how to configure the kernel. We will be using a text-b
CONFIG_NTFS_RW=y
```
- !!! NOTE "A Quick Note on Kernel Modules"
+ !!! NOTE "A quick note on kernel modules"
Loadable module support is a Linux kernel feature that allows kernel modules' dynamic loading (or removal).
@@ -294,18 +288,18 @@ The following steps cover how to configure the kernel. We will be using a text-b
Thankfully, the Linux kernel can automatically determine what to load and when. Naturally, not every feature is eligible to be compiled as a module. The kernel must know a few things before it can load and unload modules, such as how to access the hard disk and parse through the file system where the loadable modules are stored. Some kernel modules are also commonly referred to as drivers.
-### Compiling the Kernel
+### Compiling the kernel
-In the preceding section, we walked through the process of creating a configuration file for the custom kernel that we want to build. In this section, we will perform the actual build of the kernel. But before doing this, we will add one simpler customization to the entire process.
+In the preceding section, you walked through the process of creating a configuration file for the custom kernel that you want to build. In this section, you will perform the actual build of the kernel. But before doing this, you will add one simple customization to the entire process.
-The final customization will be to add an extra piece of information used in the final name of our kernel. This will help us be able to differentiate this kernel from any other kernel with the same version number. We will add the tag “custom” to the kernel version information. This can be done by editing the main Makefile and appending the tag that we want to the EXTRAVERSION variable.
+The final customization will be to add an extra piece of information used in the final name of our kernel. This will help us be able to differentiate this kernel from any other kernel with the same version number. You will add the tag “custom” to the kernel version information. Do this by editing the main Makefile and appending the tag that you want to the EXTRAVERSION variable.
-The compilation stage of the kernel-building process is by far the easiest, but it also takes the most time. All that is needed at this point is simply to execute the make command, which will then automatically generate and take care of any dependency issues, compile the kernel itself, and compile any features (or drivers) that were enabled as loadable modules.
+The compilation stage of the kernel-building process is by far the easiest, but it also takes the most time. Just run the `make` command, which will then automatically generate and take care of any dependency issues, compile the kernel itself, and compile any features (or drivers) enabled as loadable modules.
-Because of the amount of code that needs to be compiled, be prepared to wait a few minutes, at the very least, depending on your system's processing power. Let’s dig into the specific steps required to compile your new kernel.
+Because of the amount of code compilation needed, prepare to wait a few minutes at the very least, depending on your system's processing power. Let us dig into the specific steps required to compile your new kernel.
-1. First, we will add an extra piece to the identification string for the kernel we are about to build. While still in the root of the kernel source tree, we will use the `sed` utility to edit the Makefile in place. The variable we want to change is close to the top of the file.
-We want to change the line in the file that looks like this:
+1. First, you will add an extra piece to the identification string for the kernel you are about to build. While still in the root of the kernel source tree, you will use the `sed` utility to edit the Makefile in place. The variable you want to change is close to the top of the file.
+You want to change the line in the file that looks like this:
```bash
EXTRAVERSION =
@@ -323,7 +317,7 @@ We want to change the line in the file that looks like this:
sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -custom/' Makefile
```
- Of course, you can also use any text editor that you are comfortable with to make the change. Just remember to save your changes to the file!
+ You can also use any text editor that you are comfortable with to make the change. Just remember to save your changes to the file.
2. Pass the kernelversion target to the make command to view the full version of the kernel that you just customized:
@@ -344,7 +338,7 @@ We want to change the line in the file that looks like this:
make -j 8
```
-3. The only command that is needed here to compile the kernel is the make command:
+3. The only needed command to compile the kernel is the `make` command:
```bash
$ make O=~/build/kernel
@@ -368,35 +362,35 @@ We want to change the line in the file that looks like this:
~/build/kernel/arch/x86/boot/bzImage
```
-5. We need to install the modules because we compiled portions of the kernel as modules (for example, the NTFS module). Type the following:
+5. You need to install the modules because you compiled portions of the kernel as modules (for example, the NTFS module). Type the following:
```bash
sudo make O=~/build/kernel modules_install
```
- On our Rocky system, this command will install all the compiled kernel modules into the `/lib/modules/` directory. This path will translate to `/lib/modules/6.5.7-custom/` in this example. This is the path from which the kernel will load all loadable modules, as needed.
+ On your Rocky system, this command will install all the compiled kernel modules into the `/lib/modules/` directory. This path will translate to `/lib/modules/6.5.7-custom/` in this example. This is the path from which the kernel will load all loadable modules, as needed.
!!! TIP
The footprint (size) of the kernel modules installed via `make modules_install` can get pretty significant because the modules include debugging symbols. As a result, you could easily end up with a `/lib/modules/6.5.7-custom/` directory that is close to 5GB in size!
- For this guide we avoid this large size by including the `INSTALL_MOD_STRIP=1` option in our `make modules_install` invocation. You can reduce the total size by orders of magnitude (For example - less than 200 MB!!) by stripping away these debugging symbols.
+ For this guide you avoid this large size by including the `INSTALL_MOD_STRIP=1` option in your `make modules_install` invocation. You can reduce the total size by orders of magnitude (For example - less than 200 MB) by stripping away these debugging symbols.
This can be done by including the `INSTALL_MOD_STRIP=1` option to the `make modules_install` command.
-## Installing the Kernel
+## Installing the kernel
-Assuming you have a PC and are working out of the `~/build/kernel/` directory, the compiled kernel that was created in the previous exercise will be located in this path - `/arch/x86/boot/bzImage` or, to be precise, in our example `~/build/kernel/arch/x86/boot/bzImage`.
+Assuming you have a PC and are working out of the `~/build/kernel/` directory, the compiled kernel that you created in the last exercise will be in this path - `/arch/x86/boot/bzImage` or, to be precise, in our example `~/build/kernel/arch/x86/boot/bzImage`.
-The corresponding map file for this will be located at `~/build/kernel/System.map`. You will need both files for the install phase.
+The location of the corresponding map file for this is at `~/build/kernel/System.map`. You will need both files for the install phase.
-The `System.map` file is useful when the kernel is misbehaving and generating “Oops” messages. An “Oops” is generated on some kernel errors because of kernel bugs or faulty hardware.
+The `System.map` file is useful when the kernel is misbehaving and generating “Oops” messages. “Oops” messages generate on some kernel errors because of kernel bugs or faulty hardware.
This error is akin to the Blue Screen of Death (BSOD) in Microsoft Windows. These messages include a lot of detail about the system's current state, including several hexadecimal numbers.
`System.map` allows Linux to turn those hexadecimal numbers into readable names, making debugging easier. Although this is mainly for the benefit of developers, it can be handy when you are reporting a problem.
-Let’s go through the steps required to install the new kernel image.
+Let us go through the steps required to install the new kernel image.
1. While in the root of your kernel build directory, copy and rename the `bzImage` file into the `/boot` directory:
@@ -405,7 +399,7 @@ Let’s go through the steps required to install the new kernel image.
/boot/vmlinuz-
```
- Here, `` is the version number of the kernel. The filename for the example kernel we are using in this guide is `vmlinuz-6.5.7-custom`. So here is the exact command for this example:
+ Here, `` is the version number of the kernel. The filename for the example kernel you are using in this guide is `vmlinuz-6.5.7-custom`. So here is the exact command for this example:
```bash
sudo cp ~/build/kernel/arch/x86/boot/bzImage \
@@ -423,7 +417,7 @@ Let’s go through the steps required to install the new kernel image.
/boot/System.map-6.5.7-custom
```
-3. With the kernel in place, the `System.map` file in place, and the modules in place, we are now ready for the final step. The syntax for the command needed is:
+3. With the kernel in place, the `System.map` file in place, and the modules in place, you are now ready for the final step. The syntax for the command needed is:
```bash
kernel-install add
@@ -438,7 +432,7 @@ Let’s go through the steps required to install the new kernel image.
add 6.5.7-custom /boot/vmlinuz-6.5.7-custom
```
-The `kernel-install` command is a nifty shell script. It might not be available in every Linux distribution, but it is available in newer Fedora, RHEL, CentOS distros. This tool automates a lot of the final manual things we’d ordinarily have to do to set up the system to boot the new kernel we just built.
+The `kernel-install` command is a nifty shell script. It might not be available in every Linux distribution, but it is available in newer Fedora, RHEL, CentOS distributions. This tool automates many of the final manual things you would ordinarily have to do to set up the system to boot the new kernel you just built.
In particular, the tool does the following:
@@ -449,9 +443,9 @@ To do this manually on systems where `kernel-install` is not available, use the
For systems running the newer versions of GRUB2, the file will be `/boot/grub2/grub.cfg`. For EFI based systems `/boot/efi//fedora/grub.cfg` is also updated.
-And for systems running the legacy versions of GRUB, this will be the `/boot/grub/grub.conf` or `/boot/grub/menu.lst` file. And for very new distros that have implemented the new Boot Loader Specification (BLS) a new boot loader entry will be added to the `/boot/loader/entries/` directory, or any directory pointed to by the variable named `blsdir`.
+And for systems running the legacy versions of GRUB, this will be the `/boot/grub/grub.conf` or `/boot/grub/menu.lst` file. And for very new distribution that implements the new Boot Loader Specification (BLS), there is an addition of a new boot loader entry to the `/boot/loader/entries/` directory, or any directory pointed to by the variable named `blsdir`.
-On our demo EFI based Rocky server running GRUB 2 using BLS, a new boot entry is created in the boot loader file located here: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf`
+On your demo EFI based Rocky server running GRUB2 using BLS, the creation of a new boot entry is in the boot loader file located here: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf`
```bash
$ sudo cat /boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf
@@ -468,9 +462,9 @@ grub_class kernel
!!! Note
- Most distros, have several `grub2-*` utilities readily available that can be used for performing various GRUB2 and boot loader housekeeping tasks. For example, you can use the `grub2-set-default` command to change or set the default kernel to be booted at system startup.
+ Most distributions have several `grub2-*` utilities readily available that can be used for performing various GRUB2 and boot loader housekeeping tasks. For example, you can use the `grub2-set-default` command to change or set the default kernel to boot at system startup.
-## Booting the custom Kernel
+## Booting the custom kernel
The next stage is to test the kernel to ensure the system can boot with it.
@@ -480,14 +474,14 @@ The next stage is to test the kernel to ensure the system can boot with it.
sudo reboot
```
-2. After the system boots up, you can use the uname command to find out the name of the current kernel:
+2. After the system boots up, you can use the `uname` command to discover the name of the current kernel:
```bash
$ uname -r
6.5.7-custom
```
-3. You will recall that one of the features that we added to our new kernel is the ability to support the NTFS file system. Make sure that the new kernel does indeed have support for NTFS by displaying information about the NTFS module:
+3. You will recall that one of the features that you added to your new kernel is the ability to support the NTFS file system. Ensure that the new kernel does indeed have support for NTFS by displaying information about the NTFS module:
```bash
[rockstar ~]$ modinfo ntfs
@@ -498,4 +492,4 @@ The next stage is to test the kernel to ensure the system can boot with it.
...OUTPUT TRUNCATED...
```
-And that’s it!
+That is all there is.
diff --git a/docs/guides/custom-linux-kernel.uk.md b/docs/guides/custom-linux-kernel.uk.md
index 817cf692d2..bfe2377c94 100644
--- a/docs/guides/custom-linux-kernel.uk.md
+++ b/docs/guides/custom-linux-kernel.uk.md
@@ -30,7 +30,7 @@ Linux - це ядро. Ядро лежить в основі [операційн
## Вихідний код ядра
-Дистрибутив Rocky Linux має вихідний код конкретної версії ядра, який він підтримує, доступний у тій чи іншій формі. Вони можуть бути у формі скомпільованого двійкового файлу (*.src.rpm), вихідного RPM (*.srpm) тощо.
+Дистрибутив Rocky Linux має вихідний код конкретної версії ядра, який він підтримує, доступний у тій чи іншій формі. Вони можуть бути у формі скомпільованого двійкового файлу (`*.src.rpm`), вихідного RPM (`*.srpm`) тощо.
Якщо вам потрібно завантажити іншу (можливо, новішу) версію, відмінну від тієї, яку надає ваш конкретний дистрибутив Rocky Linux, першим місцем, де потрібно шукати вихідний код, є офіційний веб-сайт ядра:
@@ -46,7 +46,7 @@ Linux - це ядро. Ядро лежить в основі [операційн
Більшу частину завантаження, налаштування та компіляції ядра Linux, виконаної в наступних розділах, може/повинен виконувати непривілейований користувач. Однак останні кроки, які вимагають фактичного встановлення або зміни системних файлів і двійкових файлів, потрібно виконувати з підвищеними привілеями.
- Ми можемо виконувати більшу частину роботи як непривілейований користувач, оскільки ми будемо використовувати спеціальну опцію побудови ядра, яка дозволяє нам вказати спеціальний робочий або вихідний каталог. Зокрема, ми будемо використовувати параметр `O=~/build/kernel` для всіх відповідних викликів.
+ Ви можете виконувати більшість завдань як користувач без привілеїв, оскільки будете використовувати спеціальну опцію компіляції ядра, яка дозволяє вказати власний робочий або вихідний каталог. Зокрема, ми будемо використовувати параметр `O=~/build/kernel` для всіх відповідних викликів.
Де `~/build/kernel` еквівалентно `/home/$USER/build/kernel` або `$HOME/build/kernel`
@@ -56,20 +56,14 @@ Linux - це ядро. Ядро лежить в основі [операційн
Поточна конвенція полягає в тому, щоб називати та нумерувати основні нові випуски ядра як «Linux 5.x» (також званий мініатюрними або основними ядрами). Таким чином, першою з цієї серії буде версія Linux 5.0 (така ж, як 5.0.0), наступною буде версія Linux 5.1 (така ж, як 5.1.0), за нею буде версія Linux 5.2 і так далі.
-Будь-які незначні зміни чи оновлення в кожній основній версії випуску буде відображено з кроком до третьої цифри. Їх зазвичай називають стабільними точковими випусками. Таким чином, наступним стабільним випуском для ядра серії 5.0.0 буде версія Linux 5.0.1, за якою піде версія 5.0.2 і так далі. Інший спосіб сказати це, наприклад, сказати, що версія Linux 5.0.4 є четвертим стабільним випуском на основі серії Linux 5.0.0.
+Третя цифра позначає будь-які незначні зміни або оновлення в межах кожної основної версії. Їх зазвичай називають стабільними точковими випусками. Таким чином, наступним стабільним випуском для ядра серії 5.0.0 буде версія Linux 5.0.1, за якою піде версія 5.0.2 і так далі. Інший спосіб сказати це, наприклад, сказати, що версія Linux 5.0.4 є четвертим стабільним випуском на основі серії Linux 5.0.0.
## Встановлення необхідних інструментів і бібліотек
-Поширеним джерелом збою, що виникає під час процесу збирання ядра, може бути відсутність усього необхідного програмного забезпечення для компіляції та створення основного ядра Linux. Відсутні інструменти та бібліотеки можна встановити за допомогою менеджера пакетів DNF у дистрибутиві Rocky Linux. Ми подбаємо про це в цьому розділі.
+Відсутність усього необхідного програмного забезпечення для компіляції та побудови основного ядра Linux є поширеною причиною невдач, що виникають під час процесу побудови ядра. Ви можете встановити відсутні інструменти та бібліотеки за допомогою менеджера пакетів DNF у дистрибутиві Rocky Linux. Ви можете подбати про це тут.
1. У дистрибутиві Rocky Linux ви можете швидко встановити більшість необхідних інструментів розробки, виконавши цю команду:
- ```bash
- sudo dnf -y groupinstall 'C Development Tools and Libraries'
- ```
-
- Якщо ви отримуєте повідомлення «Module or Group 'C Development Tools and Libraries' is not available.». помилка, наведена нижче команда еквівалентна наведеній вище:
-
```bash
sudo dnf -y groupinstall 'Development Tools'
```
@@ -80,13 +74,13 @@ Linux - це ядро. Ядро лежить в основі [операційн
sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3
```
-3. Далі нам потрібні інші утиліти, доступні лише в деяких підтримуваних сторонніх сховищах. Одним із таких сховищ є репозиторій Powertools. Давайте увімкнемо це репо в нашій системі Rocky. Впишіть:
+3. Далі нам потрібні інші утиліти, доступні лише в деяких підтримуваних сторонніх сховищах. Одним з таких репозиторіїв є репозиторій CRB (Code Ready Builder). Увімкніть це сховище в нашій системі Rocky за допомогою:
```bash
sudo dnf config-manager --set-enabled powertools
```
-4. Нарешті, давайте встановимо один із необхідних пакетів зі сховища Powertool. Впишіть:
+4. Нарешті, встановіть один із необхідних пакетів із репозиторію CRB за допомогою команди:
```bash
sudo dnf -y install dwarves
@@ -111,7 +105,7 @@ Linux - це ядро. Ядро лежить в основі [операційн
2. Вихідний код ядра, який ви завантажуєте з Інтернету, — це файл, стиснутий і збережений у tar. Тому вам потрібно розпакувати та розархівувати вихідний файл, щоб використовувати джерело.
- Переконайтеся, що ви перебуваєте в каталозі, куди завантажуєте архів ядра. Використовуйте команду tar, щоб розпакувати та розпакувати файл, виконавши:
+ Переконайтеся, що ви перебуваєте в каталозі, куди завантажуєте архів ядра. Використовуйте команду `tar`, щоб розпакувати та розпакувати файл, виконавши:
```bash
tar xvJf linux-6.*.tar.xz
@@ -142,7 +136,7 @@ Linux - це ядро. Ядро лежить в основі [операційн
Дерево вихідних кодів ядра Linux містить кілька файлів під назвою Makefile (make-файл — це просто текстовий файл із директивами, який також описує зв’язки між файлами в програмі).
-Ці makefiles допомагають склеїти разом тисячі інших файлів, які складають джерело ядра. Для нас тут важливіше те, що make-файли також містять цілі. Цілі — це команди або директиви, які виконує програма make.
+Ці makefiles допомагають склеїти разом тисячі інших файлів, які складають джерело ядра. Для нас тут важливіше те, що make-файли також містять цілі. Цілі — це команди або директиви, які виконує програма `make`.
!!! warning "попередження: уникайте непотрібних оновлень ядра"
@@ -165,7 +159,7 @@ Linux - це ядро. Ядро лежить в основі [операційн
`make clean`
:
-Ця ціль не виконує такої ретельної роботи, як ціль mrproper. Він видаляє лише більшість створених файлів. Він не видаляє файл конфігурації ядра (.config).
+Ця ціль не виконує такої ретельної роботи, як ціль `mrproper`. Він видаляє лише більшість створених файлів. Він не видаляє файл конфігурації ядра (`.config`).
`make menuconfig`
:
@@ -185,18 +179,18 @@ Linux - це ядро. Ядро лежить в основі [операційн
`make olddefconfig`
:
-Ця мета використовує наявний файл .config у поточному робочому каталозі, оновлює залежності та автоматично встановлює для нових символів значення за замовчуванням.
+Ця мета використовує наявний файл `.config` у поточному робочому каталозі, оновлює залежності та автоматично встановлює для нових символів значення за замовчуванням.
`make help`
:
Ця мета покаже вам усі можливі цілі та слугуватиме системою швидкої онлайн-довідки.
-У цьому розділі ми будемо використовувати лише одну з цілей для налаштування ядра. Зокрема, ми будемо використовувати команду make menuconfig. Редактор конфігурації ядра menuconfig — це проста і популярна текстова утиліта налаштування, яка містить меню, списки перемикачів і діалогові вікна.
+У цьому розділі ми будемо використовувати лише одну з цілей для налаштування ядра. Зокрема, ми будемо використовувати команду make `menuconfig`. Редактор конфігурації ядра `menuconfig` — це проста і популярна текстова утиліта налаштування, яка містить меню, списки перемикачів і діалогові вікна.
Він має простий і зрозумілий інтерфейс, яким можна легко керувати за допомогою клавіатури, і він майже інтуїтивно зрозумілий у використанні.
-Нам потрібно змінити (`cd`) у вихідний каталог ядра, після чого ми можемо почати налаштування ядра. Але перед початком фактичної конфігурації ядра вам слід очистити (підготувати) середовище збірки ядра за допомогою команди make mrproper:
+Нам потрібно змінити (`cd`) у вихідний каталог ядра, після чого ми можемо почати налаштування ядра. Але перед початком фактичної конфігурації ядра вам слід очистити (підготувати) середовище збірки ядра за допомогою команди `make mrproper`:
```bash
cd linux-6.*
@@ -205,17 +199,17 @@ make O=~/build/kernel mrproper
### Конфігурація ядра
-Далі ми почнемо налаштовувати ядро серії Linux 6.*. Щоб дослідити деякі нутрощі цього процесу, ми ввімкнемо підтримку функції, яку будемо вважати обов’язковою в системі. Коли ви зрозумієте, як це працює, ви можете застосувати ту саму процедуру, щоб додати підтримку будь-якої нової функції ядра, яку ви хочете. Зокрема, ми ввімкнемо підтримку файлової системи NTFS у нашому спеціальному ядрі.
+Далі ми почнемо налаштовувати ядро серії Linux 6.*. Щоб дослідити деякі внутрішні аспекти цього процесу, ви увімкнете підтримку певної функції, яку ви будете вважати обов'язковою для системи. Коли ви зрозумієте, як це працює, ви можете застосувати ту саму процедуру, щоб додати підтримку будь-якої нової функції ядра, яку ви хочете. Зокрема, ми ввімкнемо підтримку файлової системи NTFS у нашому спеціальному ядрі.
Більшість сучасних дистрибутивів Linux постачаються з файлом конфігурації ядра для запущеного ядра, доступним у локальній файловій системі у вигляді стисненого або звичайного файлу. У нашому прикладі системи Rocky цей файл знаходиться в каталозі `/boot` і зазвичай називається `config-*`.
-У файлі конфігурації перелічено параметри та функції, активовані для конкретного ядра, яке він представляє. Конфігураційний файл, подібний до цього, ми прагнемо створити в процесі налаштування ядра. Єдина відмінність між файлом, який ми створимо, і готовим файлом полягає в тому, що ми додамо до нашого незначні налаштування.
+The configuration file contains a list of the options and features enabled for the particular kernel it represents. Конфігураційний файл, подібний до цього, ми прагнемо створити в процесі налаштування ядра. Єдина відмінність між файлом, який ми створимо, і готовим файлом полягає в тому, що ми додамо до нашого незначні налаштування.
!!! tip "Підказка"
Використання відомого попередньо існуючого файлу конфігурації як основи для створення нашого спеціального файлу допомагає гарантувати, що ми не витрачаємо надто багато часу на дублювання зусиль, які інші люди вже доклали, щоб знайти, що працює, а що ні!
-Наступні кроки описують, як налаштувати ядро. Ми будемо використовувати текстову утиліту конфігурації ядра, яка дозволить вам слідкувати за вашим терміналом, незалежно від того, використовуєте ви робоче середовище GUI чи ні.
+Наступні кроки описують, як налаштувати ядро. Ви будете використовувати текстову утиліту конфігурації ядра. Ви можете стежити за процесом у своєму терміналі незалежно від того, чи використовуєте ви графічне середовище робочого столу чи ні.
1. Для початку ми скопіюємо та перейменуємо існуючий файл конфігурації з каталогу `/boot` у наше середовище збирання ядра:
@@ -263,13 +257,13 @@ make O=~/build/kernel mrproper
Символ зірочки в кутових дужках, <*>, вказує на те, що підтримка цієї функції буде безпосередньо вбудована в ядро. Зазвичай ви можете перемикати всі можливі параметри за допомогою пробілу на клавіатурі.
-5. Поверніться до головного екрана файлових систем, двічі натиснувши клавішу esc на клавіатурі на екрані файлових систем DOS/FAT/NT. Поверніться до головного екрана налаштування ядра, двічі натиснувши esc на клавіатурі.
+5. Поверніться до головного екрана файлових систем, двічі натиснувши клавішу ++esc++ на клавіатурі на екрані файлових систем DOS/FAT/NT. Поверніться до головного екрана налаштування ядра, двічі натиснувши ++esc++ на клавіатурі.
-6. Зрештою, збережіть ваші зміни у файлі .config у корені дерева вихідних кодів ядра та вийдіть із програми конфігурації ядра після збереження файлу, двічі натиснувши esc на клавіатурі.
+6. Зрештою, збережіть ваші зміни у файлі `.config` у корені дерева вихідних кодів ядра та вийдіть із програми конфігурації ядра після збереження файлу, двічі натиснувши ++esc++ на клавіатурі.
-7. З’явиться діалогове вікно з пропозицією зберегти нову конфігурацію. Переконайтеся, що вибрано Yes, а потім натисніть enter.
+7. З’явиться діалогове вікно з пропозицією зберегти нову конфігурацію. Переконайтеся, що вибрано "Yes", а потім натисніть enter.
-8. Після завершення роботи утиліти конфігурації ядра ви повернетеся до своєї оболонки всередині дерева вихідних кодів ядра. Ви майже готові до створення свого ядра!
+8. Після завершення роботи утиліти конфігурації ядра ви повернетеся до своєї оболонки всередині дерева вихідних кодів ядра. Ви майже готові до створення свого ядра.
9. Нам потрібно виконати ще кілька налаштувань нашого дистрибутива Rocky. Впишіть:
@@ -279,7 +273,7 @@ make O=~/build/kernel mrproper
!!! TIP "Підказка"
- Щоб переглянути результати деяких змін, внесених за допомогою інструменту menuconfig, скористайтеся утилітою grep, щоб переглянути файл .config, який ви зберегли безпосередньо. Наприклад, щоб переглянути вплив підтримки файлової системи NTFS, яку ми ввімкнули раніше, введіть наступне:
+ Щоб переглянути результати деяких змін, внесених за допомогою інструменту menuconfig, скористайтеся утилітою grep, щоб переглянути файл `.config`, який ви зберегли безпосередньо. Наприклад, щоб переглянути вплив підтримки файлової системи NTFS, яку ми ввімкнули раніше, введіть наступне:
```
$ grep NTFS ~/build/kernel/.config
CONFIG_NTFS_FS=m
@@ -297,11 +291,11 @@ make O=~/build/kernel mrproper
### Компіляція ядра
-In the preceding section, we walked through the process of creating a configuration file for the custom kernel that we want to build. У цьому розділі ми виконаємо фактичну збірку ядра. Але перш ніж це зробити, ми додамо одну простішу настройку до всього процесу.
+In the preceding section, you walked through the process of creating a configuration file for the custom kernel that you want to build. У цьому розділі ми виконаємо фактичну збірку ядра. Але перш ніж це зробити, ми додамо одну простішу настройку до всього процесу.
-Останнім налаштуванням буде додавання додаткової інформації, яка використовується в остаточній назві нашого ядра. Це допоможе нам відрізнити це ядро від будь-якого іншого ядра з таким же номером версії. Ми додамо тег «custom» до інформації про версію ядра. Це можна зробити шляхом редагування основного Makefile і додавання потрібного тегу до змінної EXTRAVERSION.
+Останнім налаштуванням буде додавання додаткової інформації, яка використовується в остаточній назві нашого ядра. Це допоможе нам відрізнити це ядро від будь-якого іншого ядра з таким же номером версії. Ми додамо тег “custom” до інформації про версію ядра. Це можна зробити шляхом редагування основного Makefile і додавання потрібного тегу до змінної EXTRAVERSION.
-Етап компіляції процесу збирання ядра, безумовно, найпростіший, але він також займає найбільше часу. Все, що потрібно на цьому етапі, це просто виконати команду make, яка потім автоматично згенерує та вирішить будь-які проблеми залежностей, скомпілює саме ядро та скомпілює будь-які функції (або драйвери), які були активовані як завантажувані модулі.
+Етап компіляції процесу збирання ядра, безумовно, найпростіший, але він також займає найбільше часу. Просто запустіть команду `make`, яка автоматично згенерує та вирішить будь-які проблеми із залежностями, скомпілює саме ядро та скомпілює будь-які функції (або драйвери), увімкнені як завантажувані модулі.
Через велику кількість коду, який потрібно скомпілювати, будьте готові почекати щонайменше кілька хвилин, залежно від обчислювальної потужності вашої системи. Давайте розглянемо конкретні кроки, необхідні для компіляції вашого нового ядра.
@@ -331,7 +325,7 @@ In the preceding section, we walked through the process of creating a configurat
make O=~/build/kernel kernelversion
```
- !!! tip "Порада"
+ !!! Tip "Порада"
Ви можете скористатися всією цією додатковою обчислювальною потужністю (ЦП, ядрами тощо) у більшості сучасних систем і значно пришвидшити інтенсивні ЦП операції, такі як компіляція ядра. Для цього ви можете передати команді make параметр, який визначає кількість завдань, які потрібно виконувати одночасно. Зазначена кількість завдань потім розподіляється та виконується одночасно на кожному ядрі ЦП. Синтаксис команди:
@@ -346,7 +340,7 @@ In the preceding section, we walked through the process of creating a configurat
make -j 8
```
-3. Єдина команда, яка потрібна тут для компіляції ядра, це команда make:
+3. Єдина команда, яка потрібна тут для компіляції ядра, це команда `make`:
```bash
$ make O=~/build/kernel
@@ -481,7 +475,7 @@ grub_class kernel
sudo reboot
```
-2. Після завантаження системи ви можете скористатися командою uname, щоб дізнатися назву поточного ядра:
+2. Після завантаження системи ви можете скористатися командою `uname`, щоб дізнатися назву поточного ядра:
```bash
$ uname -r
diff --git a/docs/guides/database/database_mariadb-server.it.md b/docs/guides/database/database_mariadb-server.it.md
index 910707215f..9ba5036270 100644
--- a/docs/guides/database/database_mariadb-server.it.md
+++ b/docs/guides/database/database_mariadb-server.it.md
@@ -1,8 +1,8 @@
---
title: Server di Database MariaDB
author: Steven Spencer
-contributors: Ezequiel Bruni, William Perron, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
+contributors: Ezequiel Bruni, William Perron, Ganna Zhyrnova, Joseph Brinkman
+tested_with: 8.5, 8.6, 9.0, 9.2
tags:
- database
- mariadb
@@ -12,15 +12,15 @@ tags:
## Prerequisiti
-* Un server Rocky Linux
-* Saper utilizzare un editor a riga di comando ( in questo esempio si utilizza _vi_)
-* Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, la visualizzazione dei log e altri compiti generali di amministratore di sistema
-* Una comprensione dei database _mariadb-server_ è utile
-* Eseguire tutti i comandi come root o con _sudo_
+- Un server Rocky Linux
+- Conoscenza di un editor a riga di comando (in questo esempio si usa *vi*)
+- Un livello di comfort elevato con l'immissione di comandi dalla riga di comando, la visualizzazione dei log e altri compiti generali di amministratore di sistema
+- È utile la conoscenza dei database *mariadb-server*
+- Eseguire tutti i comandi come root o con *sudo*
## Introduzione
-Il _mariadb-server_ e il suo client _mariadb_ sono le alternative open source a _mysql-server_ e _mysql_, e condividono la struttura dei comandi. _mariadb-server_ è in esecuzione su molti server web, a causa del popolare [Wordpress CMS](https://wordpress.org/) che lo richiede. Questo database, però, ha molti altri usi.
+Il *mariadb-server* e il suo client *mariadb* sono le alternative open source a *mysql-server* e *mysql* e condividono la struttura dei comandi. mariadb-server è in esecuzione su molti server web, poiché è richiesto dal popolare [CMS Wordpress](https://wordpress.org/). Questo database, però, ha molti altri usi.
Se si desidera utilizzare questo insieme ad altri strumenti per il rafforzamento di un server web, consultare la guida [Apache Hardened Web Server](../web/apache_hardened_webserver/index.md).
@@ -28,36 +28,38 @@ Se si desidera utilizzare questo insieme ad altri strumenti per il rafforzamento
È necessario installare _mariadb-server_:
-`dnf install mariadb-server`
+```bash
+dnf install mariadb-server
+```
## Proteggere `mariadb-server`
-Per rafforzare la sicurezza di _mariadb-server_ è necessario eseguire uno script, ma prima è necessario abilitare e avviare mariadb:
-
-`systemctl enable mariadb`
-
-Quindi:
+Per rafforzare la sicurezza di mariadb-server è necessario eseguire uno script, ma prima è necessario abilitare e avviare mariadb:
-`systemctl start mariadb`
+```bash
+systemctl enable --now mariadb
+```
-Poi, eseguite questo comando:
+Quindi, eseguire questo comando:
-`mysql_secure_installation`
+```bash
+mysql_secure_installation
+```
-!!! tip "Suggerimento"
+!!! tip
- La versione di mariadb-server che viene abilitata per impostazione predefinita in Rocky Linux 8.5 è la 10.3.32. È possibile installare 10.5.13 abilitando il modulo:
+ La versione di mariadb-server che viene abilitata per impostazione predefinita in Rocky Linux 8.5 è la 10.3.32. È possibile installare la versione 10.5.13 abilitando il modulo:
- ```
+ ```bash
dnf module enable mariadb:10.5
```
- E poi installare `mariadb`. Dalla versione 10.4.6 di MariaDB, sono disponibili comandi specifici MariaDB che puoi usare al posto dei vecchi comandi `mysql` prefissati. Questi includono il precedentemente menzionato `mysql_secure_installation` che ora può essere chiamato con la versione MariaDB `mariadb-secure-installation`.
+ E poi installare `mariadb`. A partire dalla versione 10.4.6 di MariaDB, sono disponibili comandi specifici per MariaDB che è possibile utilizzare al posto dei vecchi comandi con prefisso `mysql`. Questi includono il già citato `mysql_secure_installation`, che ora può essere richiamato con la versione MariaDB `mariadb-secure-installation`.
Viene visualizzata una finestra di dialogo:
-```
+```text
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
@@ -69,29 +71,29 @@ so you should just press enter here.
Enter current password for root (enter for none):
```
-Trattandosi di una nuova installazione, non è stata impostata alcuna password di root. Basta premere invio qui.
+Trattandosi di una nuova installazione, non è stata impostata alcuna password di root. Basta premere ++Invio++ qui.
La parte successiva del dialogo continua:
-```
+```text
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
-root user without the proper authorisation.
+root user without the proper authorization.
Set root password? [Y/n]
```
-È' assolutamente _necessario_ avere una password di root impostata. Ti consigliamo di capire cosa dovrebbe essere e documentarlo in un gestore di password da qualche parte in modo da poterlo estrarre se necessario. Iniziate premendo 'Invio' per accettare il valore predefinito "Y". Questo farà apparire la finestra di dialogo della password:
+È assolutamente necessario *impostare* una password di root. Ti consigliamo di stabilire quale dovrebbe essere e di annotarla in un gestore di password, in modo da poterla recuperare se necessario. Iniziare premendo ++enter++ per accettare il valore predefinito "Y". Questo farà apparire la finestra di dialogo della password:
-```
+```text
New password:
Re-enter new password:
```
-Inserisci la password scelta e poi confermala inserendola di nuovo. Se questo ha successo, otterrete la seguente finestra di dialogo:
+Inserisci la password scelta e confermala inserendola nuovamente. Se l'operazione ha esito positivo, verrà visualizzata la seguente finestra di dialogo:
-```
+```text
Password updated successfully!
Reloading privilege tables..
... Success!
@@ -99,21 +101,21 @@ Reloading privilege tables..
Il prossimo dialogo riguarda l'utente anonimo:
-```
+```text
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
-them. This is intended only for testing, and to make the installation
+them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n]
```
-La risposta qui è "Y", quindi basta premere 'Invio' per accettare l'impostazione predefinita.
+La risposta qui è "Y", quindi basta premere ++enter++ per accettare l'impostazione predefinita.
-La finestra di dialogo procede alla sezione che si occupa di permettere all'utente root di accedere da remoto:
+La finestra di dialogo passa alla sezione relativa all'autorizzazione dell'utente root ad accedere in remoto:
-```
+```text
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
@@ -122,11 +124,11 @@ ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n]
```
-root dovrebbe essere necessario solo localmente sulla macchina. Quindi accettate anche questo default premendo 'Invio'.
+root dovrebbe essere necessario solo localmente sulla macchina. Quindi accettate anche questa impostazione predefinita premendo ++enter++.
La finestra di dialogo si sposta poi sul database 'test' che è installato automaticamente con _mariadb-server_:
-```
+```text
... Success!
@@ -137,11 +139,11 @@ before moving into a production environment.
Remove test database and access to it? [Y/n]
```
-Di nuovo, la risposta qui è quella predefinita, quindi basta premere 'Invio' per rimuoverla.
+Anche in questo caso, la risposta è quella predefinita, quindi basta premere ++enter++ per rimuoverla.
Infine, la finestra di dialogo chiede se si desidera ricaricare i privilegi:
-```
+```text
- Dropping test database...
... Success!
- Removing privileges on test database...
@@ -153,9 +155,9 @@ will take effect immediately.
Reload privilege tables now? [Y/n]
```
-Anche in questo caso, premere "Invio". Se tutto ha funzionato, si riceverà questo messaggio:
+Ancora una volta, premere ++enter++ per eseguire questa operazione. Se tutto va bene, riceverai questo messaggio:
-```
+```text
... Success!
Cleaning up...
@@ -168,33 +170,33 @@ Thanks for using MariaDB!
MariaDB sarà ora pronto all'uso.
-### Modifiche a Rocky 9.0
+### Modifiche in Rocky 9.0
-Rocky Linux 9.0 utilizza `mariadb-server-10.5.13-2` come versione predefinita di mariadb-server. A partire dalla versione 10.4.3, un nuovo plugin è abilitato automaticamente nel server che cambia la finestra di dialogo `mariadb-secure-installation`. Quel plugin è l'autenticazione `unix-socket`. [Questo articolo](https://mariadb.com/kb/en/authentication-plugin-unix-socket/) spiega bene la nuova funzione. Essenzialmente, l'uso dell'autenticazione unix-socket utilizza le credenziali dell'utente connesso per accedere al database. Fa in modo che se l'utente root, ad esempio, accede e quindi utilizza `mysqladmin` per creare o eliminare un database (o qualsiasi altra funzione) non viene richiesta alcuna password per l'accesso. Stesso funzionamento con `mysql`. Ciò significa anche che non c'è una password da compromettere in remoto. Ciò dipende dalla sicurezza degli utenti impostati sul server per la protezione del database.
+Rocky Linux 9.2 utilizza `mariadb-server-10.5.22` come versione predefinita di mariadb-server. A partire dalla versione 10.4.3, nel server viene automaticamente attivato un nuovo plugin che modifica la finestra di dialogo `mariadb-secure-installation`. Questo plugin è l'autenticazione `unix-socket`. [Questo articolo](https://mariadb.com/kb/en/authentication-plugin-unix-socket/) spiega bene la nuova funzione. Essenzialmente, l'uso dell'autenticazione unix-socket utilizza le credenziali dell'utente connesso per accedere al database. In questo modo, se l'utente root, ad esempio, accede e poi usa `mysqladmin` per creare o cancellare un database (o qualsiasi altra funzione), non è necessaria alcuna password per l'accesso. Lo stesso funziona con `mysql`. Ciò significa anche che non c'è una password da compromettere in remoto. Ciò dipende dalla sicurezza degli utenti impostati sul server per la protezione del database.
-La seconda finestra di dialogo durante `mariadb-secure-installation` dopo l'impostazione della password per l'utente amministrativo è:
+La seconda finestra di dialogo durante l'`mariadb-secure-installation`, dopo l'impostazione della password per l'utente amministrativo, è la seguente:
-```
+```text
Switch to unix_socket authentication Y/n
```
-L'impostazione predefinita è "Y", ma anche se si risponde "n", con il plugin abilitato non viene richiesta una password per l'utente, almeno non dall'interfaccia della riga di comando. È possibile specificare password o nessuna password e entrambi funzionano:
+L'impostazione predefinita è "Y", ma anche se si risponde "n", con il plugin abilitato non viene richiesta una password per l'utente, almeno non dall'interfaccia della riga di comando. È possibile specificare una password o nessuna password ed entrambe funzionano:
-```
+```bash
mysql
MariaDB [(none)]>
```
-```
+```bash
mysql -p
-Inserire la password:
+Enter password:
MariaDB [(none)]>
```
-Per ulteriori informazioni su questa funzione, fare riferimento al link qui sopra. C'è un modo per disattivare questo plugin e tornare ad avere la password come campo obbligatorio, che è anche dettagliato all'interno di tale collegamento.
+Per ulteriori informazioni su questa funzione, consultare il link sopra riportato. Esiste un modo per disattivare questo plugin e tornare ad avere la password come campo obbligatorio, descritto in dettaglio nel link.
## Conclusione
-Un server di database, come _mariadb-server_, può essere usato per molti scopi. A causa della popolarità del CMS Wordpress, si trova spesso sui server web. Prima di eseguire il database in produzione, tuttavia, è bene rafforzarne la sicurezza.
+Un server di database, come *mariadb-server*, può essere utilizzato per molti scopi. Data la popolarità del [CMS Wordpress](https://wordpress.org), è spesso presente sui server web. Prima di eseguire il database in produzione, tuttavia, è bene rafforzarne la sicurezza.
diff --git a/docs/guides/desktop/kde_installation.fr.md b/docs/guides/desktop/kde_installation.fr.md
index d3314e6401..df62676f2b 100644
--- a/docs/guides/desktop/kde_installation.fr.md
+++ b/docs/guides/desktop/kde_installation.fr.md
@@ -2,7 +2,7 @@
title: Installation de KDE
author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
-tested_with: 9.0
+tested_with: 10
tags:
- desktop
- kde
@@ -14,18 +14,18 @@ Grâce à l'équipe de développement de Rocky Linux, il y a maintenant des imag
!!! note
- Cette procédure est spécifique à Rocky Linux 9.0. Il n'y a actuellement aucune procédure décrite pour installer KDE pour les autres versions de Rocky Linux.
+ Cette procédure est spécifique à Rocky Linux 9. Il n'y a actuellement aucune procédure décrite pour installer KDE pour les autres versions de Rocky Linux.
N'hésitez pas à écrire une description !
## Prérequis
-- Une machine, compatible avec Rocky Linux 9.0, (bureau, ordinateur portable ou serveur) sur laquelle vous voulez utiliser le bureau KDE.
+- Une machine, compatible avec Rocky Linux 9 ou 10 (bureau, ordinateur portable ou serveur), sur laquelle vous voulez utiliser le bureau KDE.
- Maîtriser la ligne de commande de manière à pouvoir réaliser certaines tâches, par exemple tester les sommes de contrôle de l'image.
- La connaissance de la façon d'écrire une image amorçable sur DVD ou une clé USB.
## Obtenir, vérifier et créer une image Live de KDE
-Avant l'installation, la première étape consiste à télécharger l'image live et à l'enregistrer sur un DVD ou une clé USB. Comme indiqué précédemment, l'image live sera amorçable, tout comme tout autre support d'installation pour Linux. Vous trouverez la dernière image KDE dans la section de téléchargement pour Rocky Linux 9 [images live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/).
+Avant l'installation, la première étape consiste à télécharger l'image live et à l'enregistrer sur un DVD ou une clé USB. Comme indiqué précédemment, l'image live sera amorçable, tout comme tout autre support d'installation pour Linux. Vous trouverez la dernière image KDE dans la section de téléchargement pour Rocky Linux 9 [images live](https://dl.rockylinux.org/pub/rocky/9.6/live/x86_64/).
Notez que ce lien particulier suppose que x86_64 est l'architecture de votre processeur. Si vous avez une architecture aarch64, vous pouvez utiliser l'image correspondante à la place. Téléchargez à la fois l'image live et les fichiers de somme de contrôle.
@@ -49,7 +49,7 @@ Là encore, cela diffère selon la machine, le BIOS, le système d'exploitation,

-Si c'est le cas, vous êtes sur la bonne voie ! Si vous voulez tester le média, vous pouvez d'abord sélectionner cette option ou bien vous pouvez simplement taper **S** pour **Start Rocky Linux KDE 9.x**.
+Si c'est le cas, vous êtes sur la bonne voie ! Si vous voulez tester le média, vous pouvez d'abord sélectionner cette option ou bien vous pouvez simplement taper **S** pour **Start Rocky Linux KDE 9**.
N'oubliez pas qu'il s'agit d'une image live. Le lancement jusqu'au premier écran prend un certain temps. Pas de panique, il suffit d'attendre ! Lorsque l'image live est lancée, vous verrez cet écran :
diff --git a/docs/guides/desktop/kde_installation.it.md b/docs/guides/desktop/kde_installation.it.md
index 3afd5c5b83..d5ab617091 100644
--- a/docs/guides/desktop/kde_installation.it.md
+++ b/docs/guides/desktop/kde_installation.it.md
@@ -25,7 +25,7 @@ Grazie al team di sviluppo di Rocky Linux, sono disponibili immagini live per di
## Ottenere, verificare e scrivere l'immagine live di KDE
-Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di KDE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/).
+Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. Potete trovare l'ultima immagine di KDE nella sezione di download delle [immagini live](https://dl.rockylinux.org/pub/rocky/9.6/live/x86_64/) di Rocky Linux 9.
Si noti che questo particolare collegamento presuppone x86_64 come architettura del processore. Se si dispone di un'architettura aarch64, è possibile utilizzare questa immagine. Scaricare l'immagine live e i file di checksum.
@@ -49,7 +49,7 @@ Anche in questo caso, la situazione varia a seconda della macchina, del BIOS, de

-Se è così, siete sulla buona strada! Se si desidera testare il supporto, si può inserire prima questa opzione, oppure si può inserire **S** per **Avviare Rocky Linux KDE 9.0**.
+Se è così, siete sulla buona strada! Se si vuole testare il supporto, si può inserire prima questa opzione, oppure si può inserire **S** per **avviare Rocky Linux KDE 9**.
Ricordate che si tratta di un'immagine live. L'avvio della prima schermata richiederà un po' di tempo. Non fatevi prendere dal panico, aspettate! Quando l'immagine live è attiva, viene visualizzata questa schermata:
diff --git a/docs/guides/desktop/kde_installation.md b/docs/guides/desktop/kde_installation.md
index 371266feac..d65cebe87d 100644
--- a/docs/guides/desktop/kde_installation.md
+++ b/docs/guides/desktop/kde_installation.md
@@ -14,7 +14,7 @@ Thanks to the Rocky Linux development team, live images for several desktop inst
!!! note
- This procedure is specific to Rocky Linux 9.0. There is currently no procedure for installing KDE for earlier versions of Rocky Linux.
+ This procedure is specific to Rocky Linux 9. There is currently no procedure for installing KDE for earlier versions of Rocky Linux.
Feel free to write one up!
## Prerequisites
@@ -25,7 +25,7 @@ Thanks to the Rocky Linux development team, live images for several desktop inst
## Get, verify, and write the KDE live image
-Prior to installation, the first step is to download the live image and write that to a DVD or a USB thumb drive. As stated earlier, the image will be bootable, just like any other installation media for Linux. You can find the latest KDE image in the download section for Rocky Linux 9 [live images](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/).
+Prior to installation, the first step is to download the live image and write that to a DVD or a USB thumb drive. As stated earlier, the image will be bootable, just like any other installation media for Linux. You can find the latest KDE image in the download section for Rocky Linux 9 [live images](https://dl.rockylinux.org/pub/rocky/9.6/live/x86_64/).
Note that this particular link assumes x86_64 as your processor architecture. If you have aarch64 architecture, you can use that image instead. Download the live image and checksum files.
@@ -49,7 +49,7 @@ This again is different by machine, BIOS, OS, and so on. You will need to ensure

-If so, you are on your way! If you want to test the media, you can enter that option first, or you can enter **S** to **Start Rocky Linux KDE 9.0**.
+If so, you are on your way! If you want to test the media, you can enter that option first, or you can enter **S** to **Start Rocky Linux KDE 9**.
Remember, this is a live image. It will take some of time to boot to the first screen. Do not panic, just wait! When the live image is up, you will see this screen:
diff --git a/docs/guides/desktop/kde_installation.uk.md b/docs/guides/desktop/kde_installation.uk.md
index bfc6a5be92..93cb319210 100644
--- a/docs/guides/desktop/kde_installation.uk.md
+++ b/docs/guides/desktop/kde_installation.uk.md
@@ -14,7 +14,7 @@ tags:
!!! note "Примітка"
- Ця процедура є специфічною для Rocky Linux 9.0. Наразі не існує процедури встановлення KDE для попередніх версій Rocky Linux.
+ Ця процедура є специфічною для Rocky Linux 9. Наразі не існує процедури встановлення KDE для попередніх версій Rocky Linux.
Не соромтеся написати одну!
## Передумови
@@ -25,7 +25,7 @@ tags:
## Отримання, перевірка та запис живого образу KDE
-Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ KDE у розділі завантаження для Rocky Linux 9 [живі образи](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/).
+Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ KDE у розділі завантаження для Rocky Linux 9 [живі образи](https://dl.rockylinux.org/pub/rocky/9.6/live/x86_64/).
Зауважте, що це конкретне посилання передбачає x86_64 як архітектуру вашого процесора. Якщо у вас є архітектура aarch64, ви можете використовувати це зображення. Завантажте живий образ і файли контрольної суми.
@@ -49,7 +49,7 @@ Rocky-9-KDE-x86_64-latest.iso: OK

-Якщо так, то ви на вірному шляху! Якщо ви хочете перевірити носій, ви можете спочатку вибрати цей параметр або ввести **S**, щоб **запустити Rocky Linux KDE 9.0 **.
+Якщо так, то ви на вірному шляху! Якщо ви хочете перевірити носій, ви можете спочатку вибрати цей параметр або ввести **S**, щоб **запустити Rocky Linux KDE 9**.
Пам’ятайте, що це живе зображення. Завантаження на перший екран займе деякий час. Не панікуйте, просто почекайте! Коли живе зображення з’явиться, ви побачите цей екран:
diff --git a/docs/guides/desktop/mate_installation.es.md b/docs/guides/desktop/mate_installation.es.md
deleted file mode 100644
index 73e93ee68f..0000000000
--- a/docs/guides/desktop/mate_installation.es.md
+++ /dev/null
@@ -1,66 +0,0 @@
----
-title: Entorno de escritorio MATE
-author: lillollo
-contributors: Steven Spencer, Pedro Garcia
-tested with: 8.5, 8.6
-tags:
- - mate
- - escritorio
----
-
-# Entorno de escritorio MATE
-
-El entorno de escritorio MATE fue creado como una bifurcación para continuar GNOME2 después de las críticas negativas que recibió GNOME3 tras su presentación. MATE tiene un conjunto leal de seguidores, que lo instalan inmediatamente en su sistema operativo favorito. MATE se puede instalar en muchos de los diferentes sabores de Linux, incluyendo Rocky Linux.
-
-Este procedimiento está diseñado para que usted pueda trabajar con Rocky Linux utilizando MATE.
-
-## Requisitos previos
-
-* Un ordenador con una pantalla y el resto de periféricos necesarios, preferiblemente con Rocky Linux ya instalado.
-
-## Instalar Rocky Linux Minimal
-
-Al instalar Rocky Linux, utilizamos los siguientes conjuntos de paquetes:
-
-* Minimal
-* Standard
-
-## Habilitar los repositorios
-
-Necesita los repositorio Powertools y EPEL. Continue y activelos mediante el comando:
-
-`sudo dnf config-manager --set-enabled powertools`
-
-`sudo dnf install epel-release`
-
-Y responda 'Y' para instalar EPEL.
-
-Continue y ejecute el comando `dnf update` para asegurarse de que todos los repositorios habilitados se pueden leer en el sistema.
-
-## Instalar paquetes
-
-Lo siguiente que necesitamos son muchos paquetes. Puede instalarlos copiando y pegando el siguiente texto en la línea de comandos de su máquina:
-
-`sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk`
-
-Esto instalará los paquetes necesarios además de todas las dependencias requeridas.
-
-Vamos a instalar lightdm-settings y lightdm también:
-
-`sudo dnf install lightdm-settings lightdm`
-
-## Últimos pasos
-
-Ahora que tenemos todo lo que necesitamos instalado, lo siguiente que necesitamos hacer es establecer la instalación mínima para poder ejecutar la interfaz de usuario gráfica (GUI). Podemos hacer esto tecleando el siguiente comando:
-
-`sudo systemctl set-default graphical.target`
-
-Ahora cruce los dedos cruzados y reinicie:
-
-`sudo reboot`
-
-A continuación, haga clic en la pantalla sobre su nombre de usuario, pero antes de introducir su contraseña e iniciar la sesión, haga clic sobre el icono con forma de engranaje situado a la izquierda de la opción "Iniciar sesión". Seleccione "MATE" entre las opciones de escritorio disponibles y luego introduzca su contraseña e inicie sesión. Los siguientes inicios de sesión recordarán la elección realizada.
-
-## Conclusión
-
-Algunas personas no están satisfechas con las nuevas implementaciones de GNOME o simplemente prefieren el antiguo aspecto de GNOME 2. Para esas personas, instalar MATE en Rocky Linux les proporcionará una agradable y estable alternativa.
diff --git a/docs/guides/desktop/mate_installation.fr.md b/docs/guides/desktop/mate_installation.fr.md
deleted file mode 100644
index 270d5176d7..0000000000
--- a/docs/guides/desktop/mate_installation.fr.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-title: MATE Desktop
-author: lillolollo, Steven Spencer
-contributors: Steven Spencer, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
-tags:
- - mate
- - bureau
----
-
-# Environnement de bureau MATE
-
-Créé comme un fork et une continuation de GNOME2 à la suite de l'accueil plutôt négatif de GNOME3, l'environnement de bureau MATE était né. MATE a un ensemble fidèle de followers, qui l'installent immédiatement sur l'OS de leur choix. MATE peut être installé sur de nombreuses variantes de GNU/Linux, y compris Rocky Linux.
-
-Cette procédure vous permettra d'utiliser MATE sur Rocky Linux.
-
-## Prérequis
-
-* Un ordinateur (ordinateur portable ou station de travail) avec écran et tout.
-* Un désir d'exécuter l'environnement de bureau MATE au lieu de GNOME, celui par défaut.
-
-=== "9"
-
- ## 9: Introduction
-
- L'équipe de développement de Rocky Linux 9 a facilité l'installation de MATE et d'autres environnements de bureau populaires, en incluant des images de live CD. Une image d'installation autonome, pour ceux qui ne savent peut-être pas ce que c'est, est une image amorçable qui chargera le système d'exploitation sans installation. Une fois chargée, vous avez la possibilité de l'installer sur le disque dur de votre machine et de l'utiliser. En plus des instructions pour l'image live, nous avons inclus des instructions pour ceux qui souhaitent installer MATE seulement après avoir installé le système d'exploitation.
-
- ## 9: MATE à partir de l' Image Live
-
- ### 9: obtenir, vérifier et enregistrer la l'image live MATE
-
- Avant l'installation, la première étape consiste à télécharger l'image live et à l'écrire sur un DVD ou une clé USB. Comme indiqué précédemment, l'image autonome sera amorçable, tout comme tout autre support d'installation pour Linux. Vous trouverez la dernière image live pour MATE dans la section `Download` pour Rocky Linux 9 [images live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Notez que ce lien particulier suppose que x86_64 est votre architecture, et au moment de la rédaction de cet article, qui est la seule architecture pour laquelle cette image d'installation autonome est disponible. Téléchargez à la fois l'image live et les fichiers de vérification correspondants.
-
- Maintenant vérifiez l'image avec le fichier CHECKSUM en utilisant la commande
- suivante (notez qu'il s'agit d'un exemple ! Assurez-vous que le nom de votre image et les fichiers CHECKSUM correspondent) :
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9.5-MATE-x86_64-20221124.0.iso.CHECKSUM
- ```
-
-
- Si tout se passe bien, vous devriez obtenir ce message :
-
- ```
- Rocky-9.5-MATE-x86_64-20221124.0.iso: OK
- ```
-
-
- Si la somme de contrôle du fichier retourne OK, vous êtes maintenant prêt à enregistrer votre image ISO sur votre support de stockage. Cette procédure est différente suivant l'OS que vous utilisez, les supports de stockage et les outils logiciels. Nous supposons ici que vous savez écrire l'image sur votre support de stockage.
-
- ### 9: Démarrage
-
- Ceci est différent suivant le matériel, le BIOS, OS, etc. Vous devez vous assurer que votre machine est configurée pour démarrer avec n'importe quel support (DVD ou USB) comme premier périphérique de démarrage. Si l'opération a réussi, cet écran apparaîtra :
-
- 
-
- Si c'est le cas, vous êtes sur la bonne voie ! Si vous souhaitez tester la prise en charge, sélectionnez d'abord cette option ou entrez **S** pour **Démarrer Rocky Linux Mate 9.0**.
-
- N'oubliez pas qu'il s'agit d'une image live. Le lancement jusqu'au premier écran prend un certain temps. Pas de panique, il suffit d'attendre ! Lorsque l'image live est lancée, cet écran apparaît :
-
- 
-
- ### 9: Installing MATE
-
- À ce stade, nous pouvons utiliser l'environnement MATE et voir s'il nous convient. Une fois que vous avez décidé de l'utiliser de manière permanente, double-cliquez sur l'option **Install to hard drive**.
-
- Cela lancera un processus d'installation assez familier pour ceux qui ont déjà installé Rocky Linux. La capture d'écran suivante met en évidence les éléments que vous *pourriez* vouloir modifier.
-
- 
-
- 1. **Clavier** - Jetez un coup d'œil à cette option et assurez-vous qu'elle correspond bien à la disposition du clavier que vous utilisez.
- 2. **Heure & Date** - Assurez-vous que cela correspond à votre fuseau horaire.
- 3. **Destination d'installation** - Vous devrez cliquer sur cette option, même si c'est juste pour accepter ce qui est déjà indiqué.
- 4. **Réseau & Nom d'Hôte** - Vérifiez que vous avez ce dont vous avez besoin ici. Tant que le réseau est activé, vous pouvez toujours modifier plus tard si vous le souhaitez.
- 5. **Mot de passe root** - Allez-y et choisissez un mot de passe root. N'oubliez pas de sauvegarder ce mot de passe dans un endroit sûr (gestionnaire de mots de passe par ex.).
- 6. **Création d'utilisateur** - Créez au moins un utilisateur. Si vous voulez qu'il dispose de droits d'administration, n'oubliez pas de définir cette option lors de la création de l'utilisateur.
- 7. **Commencer l'installation** - Une fois que tous les paramètres ont été définis ou vérifiés, continuez en cliquant sur cette option.
-
- Une fois que vous avez terminé avec l'étape 7, le processus d'installation devrait commencer à installer des paquets, tout comme le montre la capture d'écran ci-dessous :
-
- 
-
- Une fois l'installation sur le disque dur terminée, vous devriez voir l'écran suivant :
-
- 
-
- Allez-y et cliquez sur **Terminer l'installation**.
-
- À ce stade, l'OS va redémarrer. Retirez le media de démarrage et lorsque le système d'exploitation démarre pour la première fois, un écran apparaît avec un contrat de licence :
-
- 
-
- Cliquez sur la case à cocher **J'accepte l'accord de licence** puis cliquez sur **Terminé**. Cela vous mènera à l'écran final en ce qui concerne l'installation. Sur cet écran, cliquez sur **Terminer la configuration**.
-
- 
-
- Ensuite, vous obtiendrez un écran de connexion avec l'utilisateur que vous avez créé précédemment. Saisissez votre mot de passe, qui vous mènera au bureau MATE :
-
- 
-
-
- ## 9: MATE après l'installation du système
-
- MATE peut également être installé seulement après l'installation du système d'exploitation. Cela nécessite quelques étapes supplémentaires, mais ce n'est pas un processus très difficile. Suivez simplement les instructions qui suivent.
-
-
- ### 9: Activation des dépôts
-
- Vous aurez besoin des dépôts CRB et EPEL. Activez-les ainsi :
-
- ```
- sudo dnf config-manager --set-enabled crb
- sudo dnf install epel-release
- ```
-
- Allez-y et exécutez `dnf upgrade` pour vous assurer que tous les dépôts activés sont accessibles dans le système.
-
-
- ### 9: Installation des paquets
-
- La prochaine chose dont nous avons besoin sont de nombreux paquets. Vous pouvez les installer en copiant et en collant ce qui suit dans la ligne de commande de votre machine :
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Cela installera ces paquets nécessaires ainsi que tous ceux dont ils dépendent.
-
- Ensuite installons aussi lightdm-settings et lightdm :
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ### 9: Étapes Finales
-
- Si votre système a été installé avec GNOME ou un autre interface de bureau avant d'installer MATE, vous devriez vous préparer à redémarrer le système. Si aucune interface de bureau n'a été installée, vous devrez utiliser la commande suivante pour définir la cible graphique :
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Puis redémarrez le système
-
- ```
- sudo reboot
- ```
-
- Lorsque le système redémarre, cliquez sur votre nom d'utilisateur, mais avant d'entrer le mot de passe, cliquez sur l'icône d'engrenage en bas à droite de l'écran et sélectionnez MATE dans la liste des interfaces. Ensuite, connectez-vous et vous devriez avoir un environnement de bureau MATE entièrement fonctionnel. Les prochaines connexions devraient utiliser automatiquement la sélection choisie.
-
-=== "8"
-
- ## 8: Installez Rocky Linux Minimal
-
- Lors de l'installation de Rocky Linux, nous avons utilisé les paquets suivants :
-
- * Minimal
- * Standard
-
-
- ## 8: Activation des dépôts
-
- Vous avez besoin des dépôts EPEL et Powertools. Continuez en les activant :
-
- ```
- sudo dnf config-manager --set-enabled powertools
- sudo dnf install epel-release
- ```
-
- Et répondez 'Y' pour installer le dépôt EPEL.
-
- Allez-y et exécutez `dnf update` pour vous assurer que tous les dépôts activés sont accessibles dans le système.
-
-
- ## 8: Installation des Paquets
-
- La prochaine chose dont nous avons besoin consiste en de nombreux paquets. Vous pouvez les installer en copiant et en collant ce qui suit dans la ligne de commande de votre machine :
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Cela installera les paquets nécessaires ainsi que toutes leurs dépendances.
-
- Continuons et installons lightdm-settings ainsi que lightdm :
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ## 8: Étapes finales
-
- Maintenant que nous avons installé tout ce dont nous avons besoin, la prochaine chose que nous devons faire est de définir l'installation minimale pour démarrer avec l'interface graphique (GUI). Nous pouvons le faire en entrant la commande :
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Maintenant, croisez les doigts et redémarrez le système :
-
- ```
- sudo reboot
- ```
-
- Ensuite, cliquez sur votre nom d'utilisateur à l'écran, mais avant d'entrer votre mot de passe et de vous connecter, cliquez sur l’icône d’engrenage à gauche de l’option « Sign in ». Sélectionnez "MATE" dans les choix de desktop disponibles et vous pourrez ensuite entrer votre mot de passe et vous connecter. Les prochaines connexions devraient utiliser automatiquement la sélection choisie.
-
-## Conclusion
-
-Certaines personnes ne sont pas satisfaites des nouvelles implémentations de GNOME ou préfèrent tout simplement l'apparence et l'ergonomie de l'ancien MATE GNOME 2. Pour ces personnes, installer MATE dans Rocky Linux offre une alternative stable et agréable. Les développeurs de Rocky Linux 9 ont rendu tout le processus très facile avec l'image live disponible.
diff --git a/docs/guides/desktop/mate_installation.it.md b/docs/guides/desktop/mate_installation.it.md
deleted file mode 100644
index a2c09aa59a..0000000000
--- a/docs/guides/desktop/mate_installation.it.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-title: Desktop MATE
-author: lillolollo
-contributors: Steven Spencer, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
-tags:
- - mate
- - desktop
----
-
-# Ambiente desktop MATE
-
-Creato come fork e continuazione di GNOME2 sulla scia dell'accoglienza piuttosto negativa di GNOME3, è nato l'ambiente desktop MATE. MATE ha dei fedeli utilizzatori, che di solito lo installano immediatamente sul loro sistema operativo preferito. L'installazione di MATE è possibile su molte versioni di Linux, tra cui Rocky Linux.
-
-Questa procedura vi permetterà di utilizzare MATE su Rocky Linux.
-
-## Prerequisiti
-
-* Un computer (portatile o workstation) con schermo e tutto il resto.
-* Il desiderio di eseguire il desktop MATE invece di quello predefinito di GNOME.
-
-=== "9"
-
- ## 9: Introduzione
-
- Il team di sviluppo di Rocky Linux 9 ha reso semplice l'installazione di MATE e di altri ambienti desktop popolari, includendo immagini live. Per chi non lo sapesse, un'immagine live è un'immagine avviabile che carica il sistema operativo senza installazione. Una volta caricato, è possibile installarlo nell'unità disco del computer e utilizzarlo. Oltre alle istruzioni per l'immagine live, abbiamo incluso le istruzioni per coloro che vogliono installare MATE dopo l'installazione del sistema operativo.
-
- ## 9: MATE dall'immagine live
-
- ### 9: Ottenere, verificare e scrivere l'immagine live di MATE
-
- Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine MATE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Si noti che questo particolare collegamento presuppone che l'architettura sia x86_64 e, al momento in cui scriviamo, questa è l'unica immagine live disponibile. Scaricare sia l'immagine live che i file di checksum.
-
- Verificare l'immagine con il file CHECKSUM nel modo seguente
- (si noti che questo è un esempio! Assicurarsi che il nome dell'immagine e i file CHECKSUM corrispondano):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9.5-MATE-x86_64-20221124.0.iso.CHECKSUM
- ```
-
-
- Se tutto va bene, riceverete questo messaggio:
-
- ```
- Rocky-9.5-MATE-x86_64-20221124.0.iso: OK
- ```
-
-
- Se il checksum per il file restituisce OK, ora sei pronto a scrivere la tua immagine ISO sul tuo supporto. Questa procedura varia a seconda del sistema operativo in uso, del supporto e degli strumenti. Si presuppone che sappiate come scrivere l'immagine sul vostro supporto.
-
- ### 9: Avvio
-
- Anche in questo caso la procedura è diversa a seconda della macchina, del BIOS, del sistema operativo e così via. È necessario assicurarsi che la macchina sia impostata per l'avvio su qualsiasi supporto (DVD o USB) come primo dispositivo di avvio. Se l'operazione è riuscita, verrà visualizzata questa schermata:
-
- 
-
- Se è così, siete sulla buona strada! Se si desidera testare il supporto, selezionare prima questa opzione, oppure immettere **S** per **Avviare Rocky Linux Mate 9.0**.
-
- Ricordate che si tratta di un'immagine dal vivo. L'avvio della prima schermata richiederà un po' di tempo. Non fatevi prendere dal panico, aspettate! Quando l'immagine live si avvia, viene visualizzata questa schermata:
-
- 
-
- ### 9: Installazione di MATE
-
- A questo punto, si può usare l'ambiente MATE e vedere se ci piace. Una volta deciso di utilizzarlo in modo permanente, fare doppio clic sull'opzione **Install to Hard Drive**.
-
- Si avvia così un processo di installazione abbastanza familiare per chi ha già installato Rocky Linux. Nella schermata seguente sono evidenziate le cose che *potreste* voler modificare.
-
- 
-
- 1. **Tastiera** Assicuratevi che corrisponda al layout della tastiera che utilizzate.
- 2. **Ora e data** - Assicurarsi che corrisponda al proprio fuso orario.
- 3. **Destinazione di installazione** - È necessario fare clic su questa opzione, anche solo per accettare ciò che è già presente.
- 4. **Rete e Nome host** - Verificare che sia presente ciò che si desidera. Se la rete è abilitata, è sempre possibile modificarla in seguito, se necessario.
- 5. **Password di root** - Impostare una password di root. Ricordate di salvarlo in un luogo sicuro (gestore di password).
- 6. **Creazione di un utente** - Creare almeno un utente. Se si desidera che l'utente abbia diritti amministrativi, impostare questa opzione al momento della creazione dell'utente.
- 7. **Iniziare l'installazione** - Quando tutte le impostazioni sono state impostate o verificate, fare clic su questa opzione.
-
- Una volta eseguito il passo 7, il processo di installazione inizierà a installare i pacchetti, come in questa schermata:
-
- 
-
- Al termine dell'installazione sul disco rigido, verrà visualizzata la seguente schermata:
-
- 
-
- Cliccare su **Termina installazione**.
-
- A questo punto il sistema operativo si riavvia. Rimuovere il supporto di avvio e quando il sistema operativo viene avviato per la prima volta, viene visualizzata una schermata con il contratto di licenza:
-
- 
-
- Cliccare sulla casella di controllo **Accetto il contratto di licenza** e fare clic su **Fatto**. In questo modo si arriva alla schermata finale dell'installazione. In questa schermata, fare clic su **Fine della configurazione**.
-
- 
-
- Si aprirà quindi una schermata di accesso con l'utente creato. Immettere la password per accedere al desktop MATE:
-
- 
-
-
- ## 9: MATE dopo l'installazione del sistema operativo
-
- È anche possibile installare MATE dopo l'installazione del sistema operativo. Questo procedimento richiede qualche passo in più, ma non è difficile. Basta seguire queste istruzioni.
-
-
- ### 9: Abilitare i Repository
-
- Hai bisogno del repository CRB e del repository EPEL. Abilitateli subito:
-
- ```
- sudo dnf config-manager --set-enabled crb
- sudo dnf install epel-release
- ```
-
- Eseguire `dnf upgrade` per assicurarsi che tutti i repository abilitati vengano letti dal sistema.
-
-
- ### 9: Installazione dei Pacchetti
-
- La prossima cosa di cui abbiamo bisogno sono un sacco di pacchetti. È possibile installarli copiando e incollando quanto segue nella riga di comando del computer:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Questo installerà i pacchetti necessari e tutte le dipendenze.
-
- Procediamo con l'installazione di lightdm-settings e lightdm:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ### 9: Passi Finali
-
- Se il sistema aveva installato Gnome o un altro desktop prima dell'installazione di MATE, a questo punto dovrebbe essere pronto per il riavvio. Se non esiste un'installazione desktop, è necessario utilizzare il seguente comando per impostare il target grafico:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Quindi riavviare
-
- ```
- sudo reboot
- ```
-
- Al riavvio del sistema, fare clic sul proprio nome utente, ma prima di inserire la password, fare clic sull'icona dell'ingranaggio in basso a destra e selezionare MATE dall'elenco dei desktop. Effettuate il login e dovreste avere un desktop MATE completamente funzionante. I futuri accessi dovrebbero ricordare la selezione effettuata.
-
-=== "8"
-
- ## 8: Installare Rocky Linux Minimal
-
- Per l'installazione di Rocky Linux abbiamo utilizzato i seguenti pacchetti:
-
- * Minimal
- * Standard
-
-
- ## 8: Abilitazione dei Repository
-
- È necessario disporre del repository Powertools e del repository EPEL. Abilitateli subito:
-
- ```
- sudo dnf config-manager --set-enabled powertools
- sudo dnf install epel-release
- ```
-
- E rispondere 'Y' per installare il repository EPEL.
-
- Eseguire `dnf update` per assicurarsi che tutti i repository abilitati siano letti dal sistema.
-
-
- ## 8: Installazione dei Pacchetti
-
- La prossima cosa di cui avete bisogno sono numerosi pacchetti. È possibile installarli copiando e incollando quanto segue nella riga di comando del computer:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Questo installerà i pacchetti necessari e tutte le dipendenze.
-
- Installare anche lightdm-settings e lightdm:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ## 8: Final Steps
-
- Ora che è stato installato tutto il necessario, è necessario impostare l'installazione minima per l'avvio dell'interfaccia grafica utente (GUI). Possiamo farlo inserendo:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Ora basta incrociare le dita e riavviare:
-
- ```
- sudo reboot
- ```
-
- Successivamente, cliccate sul vostro nome utente sullo schermo, ma prima di inserire la password e di effettuare il login, cliccate sull'icona dell'ingranaggio a sinistra dell'opzione "Accedi". Selezionare "MATE" tra le opzioni disponibili per il desktop, quindi inserire la password ed effettuare il login. I futuri accessi ricorderanno la selezione effettuata.
-
-## Conclusione
-
-Alcune persone non sono soddisfatte delle nuove implementazioni di GNOME o semplicemente preferiscono il vecchio aspetto di MATE GNOME 2. L'installazione di MATE in Rocky Linux fornirà un'alternativa stabile e gradevole. Per Rocky Linux 9.0, gli sviluppatori hanno reso l'intero processo molto semplice grazie all'immagine live disponibile.
diff --git a/docs/guides/desktop/mate_installation.ko.md b/docs/guides/desktop/mate_installation.ko.md
deleted file mode 100644
index 8258e537a6..0000000000
--- a/docs/guides/desktop/mate_installation.ko.md
+++ /dev/null
@@ -1,212 +0,0 @@
----
-title: MATE 데스크톱
-author: lillolollo, Steven Spencer
-contributors: Steven Spencer, OSSLAB
-tested_with: 8.5, 8.6, 9.0
-tags:
- - mate
- - desktop
----
-
-# MATE 데스크톱 환경
-
-MATE 데스크톱 환경은 GNOME3가 도입될 때 상대적으로 부정적인 평가를 받은 뒤 GNOME2를 포크하고 계속해서 발전시키기 위해 만들어졌습니다. MATE에는 일반적으로 선택한 OS에 즉시 설치하는 충실한 추종자들이 있습니다. MATE는 일반적으로 OS에 즉시 설치하는 것이 좋다고 생각하는 충성스러운 팬들을 가지고 있으며, Rocky Linux를 포함한 많은 리눅스 배포판에 설치할 수 있습니다.
-
-이 절차는 Rocky Linux에서 MATE를 실행하기 위해 구성되어 있습니다.
-
-## 필요 사항
-
-* 화면과 모든 것이 있는 컴퓨터(노트북 또는 워크스테이션).
-* 기본 GNOME 대신 MATE 데스크톱을 실행하고자 하는 의지.
-
-=== "9"
-
- ## 9: 소개
-
- Rocky Linux 9 개발팀은 MATE와 기타 인기 있는 데스크톱 환경을 쉽게 설치할 수 있도록 라이브 이미지를 포함시켰습니다. 라이브 이미지는 설치 없이 OS를 로드하는 부팅 가능한 이미지입니다. 로드되면 기계의 디스크 드라이브에 설치하고 사용할 수 있습니다. 라이브 이미지 사용 설명서 외에도 OS가 이미 설치된 후에 MATE를 설치하고자하는 사용자를 위한 설치 지침이 포함되어 있습니다.
-
- ## 9: 라이브 이미지에서 MATE
-
- ### 9: MATE 라이브 이미지 가져오기, 확인 및 쓰기
-
- 설치 전에 첫 번째 단계는 라이브 이미지를 다운로드하고 DVD 또는 USB 썸 드라이브에 쓰는 것입니다. 앞서 언급한대로 라이브 이미지는 Linux를 위한 기타 모든 설치 미디어와 마찬가지로 부팅 가능합니다. Rocky Linux 9 [라이브 이미지](https://dl.rockylinux.org/pub/rocky/9.1/live/x86_64/) 다운로드 섹션에서 최신 MATE 이미지를 찾을 수 있습니다. 이 특정 링크는 아키텍처로 x86_64를 가정하고 있으며, 현재 작성 시점에서 이 특정 라이브 이미지는 해당 아키텍처로만 제공됩니다. 라이브 이미지와 체크섬 파일 모두를 다운로드하세요.
-
- 이제 다음을 사용하여 CHECKSUM 파일로 이미지를 확인하십시오. (참고로 예시입니다! 이미지 이름과 CHECKSUM 파일이 일치하는지 확인하세요.)
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9.1-MATE-x86_64-20221124.0.iso.CHECKSUM
- ```
-
-
- 모두 성공하면 다음과 같은 메시지를 받아야 합니다:
-
- ```
- Rocky-9.1-MATE-x86_64-20221124.0.iso: OK
- ```
-
-
- 파일의 체크섬이 OK라면 이제 ISO 이미지를 미디어에 쓸 준비가 되었습니다. 이 절차는 사용 중인 OS, 미디어 및 도구에 따라 다르므로 여기에서는 이미지를 미디어에 쓰는 방법을 알고 있다고 가정합니다. 여기서는 이미지를 미디어에 쓰는 방법을 알고 있다고 가정합니다.
-
- 기계가 미디어(DVD 또는 USB)로 시작하도록 설정해야 합니다. 성공한 경우 다음 화면이 표시됩니다:
-
-
-
- 
-
- 성공한 경우, 축하합니다! 미디어를 테스트하려면 먼저 해당 옵션을 선택하거나 **S**를 입력하여 **Start Rocky Linux Mate 9.0**을 시작하세요.
-
- 라이브 이미지이므로 처음 화면으로 부팅하는 데 시간이 다소 걸릴 수 있습니다. 걱정하지 마시고 기다리세요! 라이브 이미지가 부팅되면 다음과 같은 화면이 표시됩니다:
-
-
-
- 
-
- ### 9: MATE 설치
-
- 이 시점에서 MATE 환경을 사용하고 마음에 드는지 확인할 수 있습니다. MATE를 영구적으로 사용하려고 한다면, **Hard Drive에 설치**를 두 번 클릭하세요.
-
- 이는 이미 Rocky Linux를 설치한 적이 있는 사용자에게는 익숙한 설치 프로세스를 시작합니다. 다음 화면에서 **변경할 수 있는 항목**들을 강조했습니다.
-
- 
-
- 1. **키보드** - 사용하는 키보드 레이아웃과 일치하는지 확인하세요.
- 2. **시간 & 날짜** - 시간대와 일치하는지 확인하세요.
- 3. **설치 대상** - 이미 있는 것을 그대로 받아들이더라도 클릭해야 합니다.
- 4. **네트워크 & 호스트 이름** - 원하는 내용을 확인하세요. 네트워크가 활성화된 상태라면 필요에 따라 나중에 변경할 수 있습니다.
- 5. **루트 암호** - 루트 비밀번호를 설정하세요. 자주 사용하지 않을 경우에도 안전한 곳(비밀번호 관리자)에 저장하세요.
- 6. **사용자 생성** - 적어도 하나의 사용자를 생성하세요. 사용자에게 관리 권한을 부여하려면 사용자를 생성할 때 이 옵션을 설정하세요.
- 7. **설치 시작** - 모든 설정이 완료되었거나 확인되었을 때 이 옵션을 클릭하세요.
-
- 7단계를 수행하면 설치 프로세스가 아래 스크린샷과 같이 패키지를 설치하기 시작합니다:
-
- 
-
- 하드 드라이브에 설치가 완료되면 다음 화면이 표시됩니다.
-
- 
-
- 계속해서 **Finish Installation**를 클릭합니다.
-
- 이제 OS가 재부팅되고, 부팅 미디어를 제거해야 합니다. OS가 처음으로 시작될 때 라이센스 동의 화면이 표시됩니다:
-
- 
-
- **I accept the license agreement** 확인란을 클릭한 다음 **Done**을 클릭하세요. 이로써 설치와 관련된 최종 화면에 도달합니다. 이 화면에서 **Finish Configuration**을 클릭하세요.
-
- 
-
- 그다음으로 사용자를 생성한 로그인 화면이 표시됩니다. 비밀번호를 입력하고 MATE 데스크톱에 접속할 수 있습니다:
-
- 
-
-
- ## 9: OS 설치 후 MATE
-
- MATE는 OS가 설치된 후에도 설치할 수 있습니다. 몇 가지 단계를 거쳐 진행해야 하지만 어려운 과정은 아닙니다. 다음 지침에 따라 진행하세요.
-
-
- ### 9: 리포지토리 활성화
-
- CRB 리포지토리와 EPEL 리포지토리가 필요합니다. 이제 다음 명령어를 사용하여 이들을 활성화하세요:
-
- ```
- sudo dnf config-manager --set-enabled crb
- sudo dnf install epel-release
- ```
-
- 그런 다음 모든 활성화된 리포지토리를 시스템에 읽어들이기 위해 `dnf upgrade`를 실행하세요.
-
-
- ### 9: 패키지 설치
-
- 이제 필요한 많은 패키지가 필요합니다. 다음 내용을 기계의 명령줄에 복사하여 설치할 수 있습니다:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- 이렇게 하면 필요한 패키지와 해당 종속성들이 모두 설치됩니다.
-
- 계속해서 lightdm-settings 및 lightdm도 설치해 보겠습니다.
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ### 9: 최종 단계
-
- 이제 시스템에 Gnome 또는 다른 데스크톱이 이미 설치된 경우 이 시점에서 재부팅할 준비가 되었습니다. 데스크톱이 설치되지 않은 경우 다음 명령어를 사용하여 그래픽 타겟을 설정해야 합니다:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- 그런 다음 재부팅합니다.
-
- ```
- sudo reboot
- ```
-
- 시스템이 재부팅되면 사용자 이름을 클릭하지만 비밀번호를 입력하기 전에 화면 오른쪽 아래에 있는 톱니바퀴 아이콘을 클릭하여 데스크톱 목록에서 MATE를 선택하세요. 그런 다음 로그인하면 완전히 작동하는 MATE 데스크톱이 표시됩니다. 미래 로그인에서는 이전 선택이 기억될 것입니다.
-
-=== "8"
-
- ## 8: Rocky Linux Minimal 설치
-
- Rocky Linux를 설치할 때 다음 패키지 세트를 사용했습니다:
-
- * Minimal
- * Standard
-
-
- ## 8: 리포지토리 활성화
-
- Powertools 리포지토리와 EPEL 리포지토리가 필요합니다. 이제 다음 명령어를 사용하여 이들을 활성화하세요:
-
- ```
- sudo dnf config-manager --set-enabled powertools
- sudo dnf install epel-release
- ```
-
- 그리고 EPEL 리포지토리를 설치하기 위해 'Y'를 입력하세요.
-
- `dnf update` 명령어를 실행하여 활성화된 모든 리포지토리를 시스템에 적용하세요.
-
-
- ## 9: 패키지 설치
-
- 이제 필요한 많은 패키지가 필요합니다. 다음 내용을 단순히 기계의 명령줄에 복사하여 설치할 수 있습니다:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- 이렇게 하면 필요한 패키지와 해당 종속성들이 모두 설치됩니다.
-
- 계속해서 lightdm-settings 및 lightdm도 설치해 보겠습니다.
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ## 8: 최종 단계
-
- 이제 필요한 모든 것들이 설치되었으므로, 최소 설치를 그래픽 사용자 인터페이스(GUI)로 부팅하도록 설정해야 합니다. 다음 명령어를 입력하여 이 작업을 수행할 수 있습니다:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- 그리고 이제 재부팅해주세요:
-
- ```
- sudo reboot
- ```
-
- 그다음으로 화면에서 사용자 이름을 클릭하고, 비밀번호를 입력하여 로그인하기 전에 "로그인" 옵션 왼쪽에 있는 기어 아이콘을 클릭하세요. 사용 가능한 데스크톱 선택에서 "MATE"를 선택한 다음 비밀번호를 입력하고 로그인할 수 있습니다. 미래 로그인에서는 이전 선택이 기억될 것입니다.
-
-## 결론
-
-새로운 GNOME 구현에 만족하지 못하는 사람들이나 오래된 MATE GNOME 2 모양과 느낌을 선호하는 사람들을 위해 Rocky Linux에 MATE를 설치하는 것이 좋은 안정적인 대안을 제공합니다. 그러한 사람들에게는 Rocky Linux에 MATE를 설치하는 것이 멋지고 안정적인 대안이 될 것입니다. Rocky Linux 9.0에서는 사용 가능한 라이브 이미지로 전체 프로세스를 매우 쉽게 만들어냈습니다.
diff --git a/docs/guides/desktop/mate_installation.md b/docs/guides/desktop/mate_installation.md
deleted file mode 100644
index 9953df1ce3..0000000000
--- a/docs/guides/desktop/mate_installation.md
+++ /dev/null
@@ -1,202 +0,0 @@
----
-title: MATE Desktop
-author: lillolollo, Steven Spencer
-contributors: Steven Spencer, Serge, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
-tags:
- - mate
- - desktop
----
-
-# MATE Desktop Environment
-
-Created to fork and continue GNOME2 in the wake of the somewhat negative reception of GNOME3, the MATE desktop environment was born. MATE has loyal followers, who usually immediately install it on their OS of choice. Installation of MATE is possible on many flavors of Linux, including Rocky Linux.
-
-This procedure will get you up and running with MATE on Rocky Linux.
-
-## Prerequisites
-
-* A computer (notebook or workstation) with a screen and everything.
-* A desire to run the MATE desktop instead of the default GNOME one.
-
-=== "9"
-
- ## 9: Introduction
-
- The development team for Rocky Linux 9 has made installing MATE, and other popular desktop environments, uncomplicated by including live images. For those that might not know what that is, a live image is a bootable image that will load the OS without installation. When loaded, you can install it to your machine's disk drive and use it. In addition to the live image instructions, we have included instructions for those of you who want to install MATE after the installation of the OS.
-
- ## 9: MATE from Live Image
-
- ### 9: Get, Verify, and Write the MATE Live Image
-
- Before installation, the first step is to download the live image and write that to a DVD or a USB thumb drive. As stated earlier, the image will be bootable, just like any other installation media for Linux. You can find the latest MATE image in the download section for Rocky Linux 9 [live images](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Note this particular link assumes x86_64 as your architecture, and as of this writing that is the only architecture live image available. Download the live image and checksum files.
-
- Verify the image with the CHECKSUM file with the following
- (note this is an example! Ensure your image name and CHECKSUM files match):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9.5-MATE-x86_64-20221124.0.iso.CHECKSUM
- ```
-
- If all goes well, you will receive this message:
-
- ```
- Rocky-9.5-MATE-x86_64-20221124.0.iso: OK
- ```
-
- If the checksum for the file returns OK, you are now ready to write your ISO image to your media. This procedure differs depending on the OS, the media, and the tools. We assume that you know how to write the image to your media.
-
- ### 9: Booting
-
- This again is different by machine, BIOS, OS, and so on. You will need to ensure that your machine is set to boot to whatever your media is (DVD or USB) as the first boot device. If you are successful, you will see this screen:
-
- 
-
- If so, you are on your way! If you want to test the media, select that option first, or enter **S** to **Start Rocky Linux Mate 9.0**.
-
- Remember, this is a live image. It will take some time to boot to the first screen. Do not panic, just wait! When the live image boots up, you will see this screen:
-
- 
-
- ### 9: Installing MATE
-
- At this point, you can use the MATE environment and see if you like it. When you have decided that you want to use it permanently, double-click the option to **Install to Hard Drive**.
-
- This will start a pretty familiar installation process for those who have installed Rocky Linux before. In the following screen, we have highlighted things that you *may* want to change.
-
- 
-
- 1. **Keyboard** - Ensure that it matches up to the keyboard layout that you use.
- 2. **Time & Date** - Ensure this matches up to your time zone.
- 3. **Installation Destination** - You will need to click into this option, even if it is just to accept what is already there.
- 4. **Network & Host Name** - Verify that you have what you want here. Provided the network is enabled, you can always change this later if you need to.
- 5. **Root Password** - Set a root password. Remember to save this somewhere safe (password manager).
- 6. **User Creation** - Create at least one user. If you want the user to have administrative rights, set this option when creating the user.
- 7. **Begin Installation** - When all of the settings have been set or verified, click this option.
-
- When you do step 7, the installation process will start installing packages, as in this screenshot:
-
- 
-
- After the installation to the hard disk finishes, you will see the following screen:
-
- 
-
- Click **Finish Installation**.
-
- At this point the OS will reboot. Remove your boot media and when the OS comes up for the first time, there is a licensing agreement screen:
-
- 
-
- Click the **I accept the license agreement** check box, and click **Done**. This will get you to the final screen in the installation. On this screen, click **Finish Configuration**.
-
- 
-
- Next you will get a login screen with the user you created. Enter your password, which will get you to the MATE desktop:
-
- 
-
- ## 9: MATE after OS Install
-
- Installing MATE after the OS installation is also possible. This takes a few more steps, but is not a difficult process. Just follow these instructions.
-
- ### 9: Enabling Repositories
-
- You need the CRB repository and the EPEL repository. Enable those now:
-
- ```
- sudo dnf config-manager --set-enabled crb
- sudo dnf install epel-release
- ```
-
- Run `dnf upgrade` to ensure all the enabled repositories read into the system.
-
- ### 9: Installing Packages
-
- The next thing you need is many packages. You can install these by copying and pasting the following into the command line on your machine:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- This will install these needed packages plus all of the dependencies.
-
- Install lightdm-settings and lightdm also:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
- ### 9: Final Steps
-
- If your system had Gnome or another desktop installed before installing MATE, you should be ready to reboot at this time. If there was no desktop installation in existence, you will need to use the following command to set the graphical target:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Then reboot
-
- ```
- sudo reboot
- ```
-
- When the system reboots, click on your user name, but before you enter your password, click on the gear icon in the lower right of the screen and select MATE from the desktop list. Login and you should have a fully functional MATE desktop. Future logins should remember your selection.
-
-=== "8"
-
- ## 8: Install Rocky Linux Minimal
-
- When installing Rocky Linux, we used the following sets of packages:
-
- * Minimal
- * Standard
-
- ## 8: Enabling Repositories
-
- You need the Powertools repository and the EPEL repository. Enable those now:
-
- ```
- sudo dnf config-manager --set-enabled powertools
- sudo dnf install epel-release
- ```
-
- And answer 'Y' to install the EPEL repository.
-
- Run `dnf update` to ensure all of the enabled repositories are read into the system.
-
- ## 8: Installing Packages
-
- The next thing you need many packages. You can install these by copying and pasting the following into the command line on your machine:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- This will install these needed packages plus all of the dependencies.
-
- Install lightdm-settings and lightdm as well:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
- ## 8: Final Steps
-
- Now that you have everything you need installed, you next must set the minimal install to boot into the Graphical User Interface (GUI). We can do this by entering:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Now just keep your fingers crossed and reboot:
-
- ```
- sudo reboot
- ```
-
- Next, click on your username on the screen, but before you enter your password and login, click on the gear icon to the left of the "Sign in" option. Select "MATE" from the available desktop choices and then enter your password and login. Future logins will remember your selection.
-
-## Conclusion
-
-Some people are not satisfied with the newer GNOME implementations or just prefer the older MATE GNOME 2 look and feel. Getting MATE installed in Rocky Linux will provide a friendly, stable alternative. For Rocky Linux 9.0, the developers have made the whole process very simplistic with the available live image.
diff --git a/docs/guides/desktop/mate_installation.uk.md b/docs/guides/desktop/mate_installation.uk.md
deleted file mode 100644
index 9293dd635f..0000000000
--- a/docs/guides/desktop/mate_installation.uk.md
+++ /dev/null
@@ -1,211 +0,0 @@
----
-title: Робочий стіл MATE
-author: lillolollo, Steven Spencer
-contributors: Steven Spencer, Serge, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
-tags:
- - mate
- - робочий стіл
----
-
-# Середовище робочого столу MATE
-
-Створене для розгалуження та продовження GNOME2 на хвилі дещо ворожого сприйняття GNOME3, народилося робоче середовище MATE. MATE має лояльних послідовників, які зазвичай негайно встановлюють його на свою ОС. MATE можна встановити на багатьох версіях Linux, включаючи Rocky Linux.
-
-Ця процедура допоможе вам почати працювати з MATE на Rocky Linux.
-
-## Передумови
-
-* Комп’ютер (ноутбук або робоча станція) з екраном і всім необхідним.
-* Бажання запустити робочий стіл MATE замість стандартного GNOME.
-
-=== "9"
-
- ## 9: Вступ
-
- Команда розробників Rocky Linux 9 спростила встановлення MATE та інших популярних робочих середовищ, включивши живі образи. Для тих, хто може не знати, що це таке, живий образ – це завантажувальний образ, який завантажує ОС без встановлення. Після завантаження ви можете встановити його на дисковод вашої машини та використовувати. На додаток до інструкцій щодо живого образу, ми включили інструкції для тих із вас, хто хоче встановити MATE після встановлення ОС.
-
- ## 9: MATE з Live Image
-
- ### 9: Отримайте, перевірте та запишіть живий образ MATE
-
- Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ MATE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Зауважте, що це конкретне посилання передбачає x86_64 як вашу архітектуру, і на момент написання цієї статті це єдина архітектура, для якої доступний цей живий образ. Завантажте живий образ і файли контрольної суми.
-
- Тепер перевірте зображення за допомогою файлу CHECKSUM за допомогою наступного
- (зверніть увагу, це приклад! Переконайтеся, що назва вашого зображення та файли CHECKSUM збігаються):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9.5-MATE-x86_64-20221124.0.iso.CHECKSUM
- ```
-
-
- Якщо все піде добре, ви повинні отримати це повідомлення:
-
- ```
- Rocky-9.5-MATE-x86_64-20221124.0.iso: OK
- ```
-
-
- Якщо контрольна сума для файлу повертає ОК, тепер ви готові записати образ ISO на носій. Ця процедура відрізняється залежно від вашої ОС, носія та інструментів. Ми припускаємо, що ви знаєте, як записати зображення на свій носій.
-
- ### 9: Завантаження
-
- Знову ж таки, це залежить від машини, BIOS, ОС тощо. Ви повинні переконатися, що ваша машина налаштована на завантаження будь-якого носія (DVD або USB) як першого завантажувального пристрою. У разі успіху ви побачите цей екран:
-
- 
-
- Якщо так, то ви на вірному шляху! Якщо ви хочете протестувати носій, спочатку виберіть цей параметр або введіть **S**, щоб **запустити Rocky Linux Mate 9.0**.
-
- Пам’ятайте, це живе зображення. Завантаження на перший екран займе деякий час. Не панікуйте, просто почекайте! Коли живий образ завантажиться, ви побачите цей екран:
-
- 
-
- ### 9: Встановлення MATE
-
- На цьому етапі ви можете використовувати середовище MATE і перевірити, чи воно вам подобається. Коли ви вирішите, що хочете використовувати його назавжди, двічі клацніть опцію **Встановити на жорсткий диск**.
-
- Це почне знайомий процес встановлення для тих, хто встановив Rocky Linux. На наступному екрані ми виділили речі, які ви *можете* захотіти змінити.
-
- 
-
- 1. **Keyboard**. Подивіться на цей параметр і переконайтеся, що він відповідає розкладці клавіатури, яку ви використовуєте.
- 2. **Time & Date** – переконайтеся, що вона відповідає вашому часовому поясу.
- 3. **Installation Destination**. Вам потрібно буде натиснути цей параметр, навіть якщо це потрібно для прийняття того, що вже є.
- 4. **Network & Host Name**. Переконайтеся, що тут є те, що ви хочете. Поки мережа ввімкнена, ви завжди можете змінити це пізніше, якщо знадобиться.
- 5. **Root Password** – встановіть пароль адміністратора. Не забудьте зберегти це в безпечному місці (менеджер паролів), головним чином, якщо ви не використовуєте його часто.
- 6. **User Creation** – обов’язково створіть принаймні одного користувача. Якщо ви хочете, щоб користувач мав права адміністратора, не забудьте встановити цей параметр під час створення користувача.
- 7. **Begin Installation** – коли всі параметри встановлено або перевірено, натисніть цю опцію.
-
- Коли ви виконаєте крок 7, процес інсталяції має почати інсталяцію пакетів, як на знімку екрана нижче:
-
- 
-
- Після завершення інсталяції на жорсткий диск ви побачите такий екран:
-
- 
-
- Натисніть **Finish Installation**.
-
- У цей момент ОС перезавантажиться. Видаліть завантажувальний носій, і коли ОС з’явиться вперше, з’явиться екран ліцензійної угоди:
-
- 
-
- Поставте прапорець **Я приймаю ліцензійну угоду**, а потім натисніть **Готово**. Це приведе вас до останнього екрана, що стосується встановлення. На цьому екрані натисніть **Завершити налаштування**.
-
- 
-
- Далі ви отримаєте екран входу з користувачем, якого ви створили вище. Введіть свій пароль, який переведе вас на робочий стіл MATE:
-
- 
-
-
- ## 9: MATE після встановлення ОС
-
- MATE також можна встановити після встановлення ОС. Це вимагає ще кількох кроків, але це не складний процес. Просто дотримуйтесь цих інструкцій.
-
-
- ### 9: Увімкнення репозиторіїв
-
- Вам потрібні репозиторій CRB і репозиторій EPEL. Увімкніть їх зараз:
-
- ```
- sudo dnf config-manager --set-enabled crb
- sudo dnf install epel-release
- ```
-
- Запустіть `dnf upgrade`, щоб переконатися, що всі активовані репозиторії зчитуються в системі.
-
-
- ### 9: Встановлення пакетів
-
- Наступне, що нам потрібно, це багато пакунків. Ви можете встановити їх, просто скопіювавши та вставивши наступне в командний рядок на вашому комп’ютері:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Це встановить необхідні пакунки та всі залежності.
-
- Також встановіть ligtdm-settings і ligtdm:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ### 9: Останні кроки
-
- Якщо перед установкою MATE у вашій системі був встановлений Gnome або інший робочий стіл, ви повинні бути готові до перезавантаження зараз. Якщо робочий стіл не встановлено, вам потрібно буде використати таку команду, щоб установити графічну ціль:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Потім перезавантажте
-
- ```
- sudo reboot
- ```
-
- Коли система перезавантажиться, клацніть своє ім’я користувача, але перш ніж вводити пароль, клацніть значок шестірні в нижньому правому куті екрана та виберіть MATE зі списку робочого столу. Потім увійдіть, і у вас має бути повнофункціональний робочий стіл MATE. Майбутні входи повинні пам'ятати ваш вибір.
-
-=== "8"
-
- ## 8: Встановіть Rocky Linux Minimal
-
- Під час встановлення Rocky Linux ми використовували такі набори пакетів:
-
- * Minimal
- * Standard
-
-
- ## 8: Увімкнення репозиторіїв
-
- Вам потрібні репозиторій CRB і репозиторій EPEL. Увімкніть їх зараз:
-
- ```
- sudo dnf config-manager --set-enabled powertools
- sudo dnf install epel-release
- ```
-
- Щоб встановити репозиторій EPEL, дайте відповідь «Y».
-
- Запустіть `dnf update`, щоб переконатися, що всі активовані репозиторії зчитуються в системі.
-
-
- ## 8: Встановлення пакетів
-
- Наступне, що нам потрібно, це багато пакунків. Ви можете встановити їх, просто скопіювавши та вставивши наступне в командний рядок на вашому комп’ютері:
-
- ```
- sudo dnf install NetworkManager-adsl NetworkManager-bluetooth NetworkManager-libreswan-gnome NetworkManager-openvpn-gnome NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-wifi NetworkManager-wwan abrt-desktop abrt-java-connector adwaita-gtk2-theme alsa-plugins-pulseaudio atril atril-caja atril-thumbnailer caja caja-actions caja-image-converter caja-open-terminal caja-sendto caja-wallpaper caja-xattr-tags dconf-editor engrampa eom firewall-config gnome-disk-utility gnome-epub-thumbnailer gstreamer1-plugins-ugly-free gtk2-engines gucharmap gvfs-afc gvfs-afp gvfs-archive gvfs-fuse gvfs-gphoto2 gvfs-mtp gvfs-smb initial-setup-gui libmatekbd libmatemixer libmateweather libsecret lm_sensors marco mate-applets mate-backgrounds mate-calc mate-control-center mate-desktop mate-dictionary mate-disk-usage-analyzer mate-icon-theme mate-media mate-menus mate-menus-preferences-category-menu mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-screenshot mate-search-tool mate-session-manager mate-settings-daemon mate-system-log mate-system-monitor mate-terminal mate-themes mate-user-admin mate-user-guide mozo network-manager-applet nm-connection-editor p7zip p7zip-plugins pluma seahorse seahorse-caja xdg-user-dirs-gtk
- ```
-
- Це встановить необхідні пакунки та всі залежності.
-
- Встановіть lightdm-settings і lightdm також:
-
- ```
- sudo dnf install lightdm-settings lightdm
- ```
-
-
- ## 8: Останні кроки
-
- Тепер, коли ми встановили все необхідне, ми повинні встановити мінімальну інсталяцію для завантаження в графічний інтерфейс користувача (GUI). Ми можемо зробити це, ввівши:
-
- ```
- sudo systemctl set-default graphical.target
- ```
-
- Тепер просто тримайте кулаки та перезавантажте:
-
- ```
- sudo reboot
- ```
-
- Далі клацніть своє ім’я користувача на екрані, але перш ніж ввести пароль і увійти, клацніть значок шестірні ліворуч від опції «Увійти». Виберіть «MATE» із доступних варіантів робочого столу, після чого ви зможете ввести свій пароль і увійти. Подальші входи запам'ятають ваш вибір.
-
-## Висновок
-
-Деякі люди незадоволені новішими реалізаціями GNOME або віддають перевагу старішому вигляду та роботі MATE GNOME 2. Встановлення MATE у Rocky Linux забезпечить дружню, стабільну альтернативу для цих людей. Для Rocky Linux 9.0 розробники зробили весь процес дуже легким за допомогою доступного живого образу.
diff --git a/docs/guides/desktop/xfce_installation.es.md b/docs/guides/desktop/xfce_installation.es.md
deleted file mode 100644
index a9c813cf2a..0000000000
--- a/docs/guides/desktop/xfce_installation.es.md
+++ /dev/null
@@ -1,113 +0,0 @@
-- - -
-title: Entorno de escritorio XFCE autor: Gerard Arthus colaboradores: Steven Spencer, Antoine Le Morvan, K.Prasad, Pedro Garcia etiquetas:
- - xfce
- - desktop
-- - -
-
-# Entorno de escritorio XFCE
-
-El entorno de escritorio XFCE fue creado como una bifurcación de Common Desktop Environment (CDE). Xfce encarna la filosofía tradicional de Unix en relación a la modularidad y usabilidad. XFCE se puede instalar en casi cualquier versión de Linux, incluyendo Rocky Linux.
-
-Este procedimiento está diseñado para que pueda trabajar con Rocky Linux utilizando XFCE.
-
-## Requisitos previos
-
-* Una estación de trabajo o un servidor, preferiblemente con Rocky Linux ya instalado.
-* Debe utilizar el usuario root o escribir `sudo` delante de todos los comandos que introduzca en el terminal.
-
-## Instalar Rocky Linux Minimal
-
-Al instalar Rocky Linux, utilizamos los siguientes conjuntos de paquetes:
-
-* Minimal
-* Standard
-
-## Actualización del sistema
-
-Primero, ejecute el comando de actualización del servidor para permitir que el sistema reconstruya la caché de los repositorios, de forma que pueda reconocer los paquetes que hay disponibles. Para ello teclee el comando que se muestra a continuación:
-
-`dnf update`
-
-## Habilitar los repositorios
-
-Necesitamos el repositorio no oficial para XFCE en el EPEL, para ejecutarlo en las versiones 8.x. de Rocky Linux.
-
-Active este repositorio tecleando el siguiente comando:
-
-`dnf install epel-release`
-
-Y responda 'Y' para instalar EPEL.
-
-También necesitará los repositorios Powertools y lightdm. Continue y activelos mediante el comando:
-
-`sudo dnf config-manager --set-enabled powertools`
-
-`sudo dnf copr enable stenstorp/lightdm`
-
-!!! Warning
-
- El sistema de construcción `copr` crea un repositorio que funciona para instalar `lightdm`, recuerde que estos repositorios no son mantenidos por la comunidad Rocky Linux. ¡Utilícelos bajo su cuenta y riesgo!
-
-De nuevo, se le mostrará un mensaje de advertencia sobre el repositorio. Puede continuar y responder `Y` a la petición.
-
-## Compruebe los entornos y herramientas disponibles en el grupo
-
-Ahora que los repositorios están habilitados, ejecute los siguientes comandos para comprobar todo.
-
-Primero, compruebe el listado de sus repositorios, para ello ejecute el siguiente comando:
-
-`dnf repolist`
-
-Debería poder ver la siguiente información que muestra todos los repositorios habilitados en el sistema:
-
-```
-appstream Rocky Linux 8 - AppStream
-baseos Rocky Linux 8 - BaseOS
-copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
-epel Extra Packages for Enterprise Linux 8 - x86_64
-epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
-extras Rocky Linux 8 - Extras
-powertools Rocky Linux 8 - PowerTools
-```
-
-Ejecute el siguiente comando para comprobar XFCE:
-
-`dnf grouplist`
-
-Debería ver "Xfce" en la parte inferior de la lista.
-
-Continue y ejecute el comando `dnf update` una vez más para asegurarse de que todos los repositorios habilitados se pueden leer en el sistema.
-
-## Instalar paquetes
-
-Para instalar XFCE, ejecute:
-
-`dnf groupinstall "xfce"`
-
-Instale también lightdm:
-
-`dnf install lightdm`
-
-## Últimos pasos
-
-Necesitamos desactivar `gdm`, el cúal se añade y activa durante la ejecución de *dnf groupinstall "xfce"*:
-
-`systemctl disable gdm`
-
-Ahora podemos habilitar *lightdm*:
-
-`systemctl enable lightdm`
-
-Necesitamos indicarle al sistema después de arrancar que utilice solo la interfaz gráfica de usuario, así que para que se establezca como predeterminado a la interfaz GUI, ejecutamos el siguiente comando:
-
-`systemctl set-default graphical.target`
-
-Después, reiniciamos el sistema:
-
-`reboot`
-
-Debería terminar con un aviso de inicio de sesión en la GUI de XFCE, y cuando inicie sesión, tendrá todo el entorno de XFCE.
-
-## Conclusión
-
-XFCE es un entorno ligero con una interfaz sencilla para aquellos a los que no les gustan los entornos con muchos adornos y que estén demasiado sobrecargados. Este tutorial se actualizará con muy pronto con imágenes, incluyendo capturas de pantalla para dar un ejemplo más visual del proceso de instalación.
diff --git a/docs/guides/desktop/xfce_installation.fr.md b/docs/guides/desktop/xfce_installation.fr.md
deleted file mode 100644
index e8cd3e6df0..0000000000
--- a/docs/guides/desktop/xfce_installation.fr.md
+++ /dev/null
@@ -1,289 +0,0 @@
-- - -
-title: XFCE Desktop author: Gerard Arthus, Steven Spencer, Emre Camalan contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova tested_with: 8.9, 9.5 tags:
- - xfce
- - bureau
-- - -
-
-# Environnement de bureau XFCE
-
-L'environnement de bureau XFCE, créé en tant que fork du Common Desktop Environment (CDE), incarne la philosophie Unix traditionnelle de Modularité et de Réutilisabilité. Vous pouvez installer XFCE sur la plupart des distributions GNU/Linux, y compris Rocky Linux.
-
-C'est aussi l'un des environnements de bureau les plus faciles à combiner avec des gestionnaires de fenêtres alternatifs, tels que Awesome ou i3. Cette procédure est cependant conçue pour vous permettre de démarrer avec Rocky Linux en utilisant une installation typique de XFCE.
-
-## Prérequis
-
-* Une station de travail ou un notebook
-* L'intention d'utiliser l'environnement de bureau XFCE au lieu de GNOME, celui par défaut
-* Pour les procédures 9-minimal et 8, la possibilité d'utiliser `sudo` pour élever les privilèges
-
-=== "9"
-
- ## 9: Introduction
-
- L'équipe de développement de Rocky Linux 9 a facilité l'installation de XFCE et d'autres environnements de bureau populaires, en incluant des images de live CD. Une image d'installation autonome, pour ceux qui ne savent peut-être pas ce que c'est, est une image amorçable qui chargera le système d'exploitation sans installation. Une fois chargé, vous pouvez l'installer sur le disque de votre ordinateur et l'utiliser.
-
- ## 9: Obtenir, vérifier et écrire l'image live XFCE
-
- Avant l'installation, la première étape consiste à télécharger l'image live et à l'écrire sur un DVD ou une clé USB. Comme indiqué précédemment, l'image sera amorçable, tout comme avec tout autre support d'installation pour Linux. Vous pouvez trouver l'image XFCE la plus récente dans la section téléchargement pour Rocky Linux 9 [images live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Notez que ce lien particulier suppose que x86_64 est l'architecture de votre processeur.
-
- Au Moment de l'écriture de cet article, vous pouvez utiliser l'architecture x86_64 ou aarch64 pour cette image live. Téléchargez à la fois l'image live et les fichiers de vérification correspondants.
-
- Vérifiez l'image ISO avec le fichier CHECKSUM en utilisant la commande suivante
- (n'oubliez pas qu'il sagit d'un exemple ! Assurez-vous que le nom de votre image et les fichiers CHECKSUM correspondent) :
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9-XFCE-x86_64-latest.iso.CHECKSUM
- ```
-
-
- Si tout se passe bien, vous devriez voir le message suivant :
-
- ```
- Rocky-9-XFCE-x86_64-latest.iso: OK
- ```
-
-
- Si la somme de contrôle du fichier retourne OK, vous êtes maintenant prêt à enregistrer votre image ISO sur votre support de stockage. Cette procédure est différente selon le système que vous utilisez, le support d'enregistrement et les outils. Nous supposons ici que vous savez enregistrer l'image sur un support adéquat.
-
- ## 9: Démarrage
-
- Ceci est différent selon la machine, BIOS, OS, etc. Vous devez vous assurer que votre machine est configurée pour démarrer avec n'importe quel support (DVD ou USB) comme premier périphérique de démarrage. Si l'opération a réussi, cet écran devrait apparaître :
-
- 
-
- Si c'est le cas, vous êtes sur la bonne voie ! Si vous souhaitez tester la prise en charge, vous pouvez d'abord saisir cette option, ou vous pouvez saisir **S** pour **Démarrer Rocky Linux XFCE 9.0**.
-
- N'oubliez pas qu'il s'agit d'une image live. Le lancement jusqu'au premier écran prend un certain temps. Pas de panique, il suffit d'attendre ! Lors du démarrage de l'image live, vous devriez voir l'affichage suivant :
-
-
- 
-
- ## 9: Installation de XFCE
-
- À partir de ce moment, vous pouvez utiliser l'environnement XFCE. Une fois que vous avez décidé de l'utiliser de manière permanente, double-cliquez sur l'option Install to Hard Drive.
-
- Cela lancera un processus d'installation assez familier pour ceux qui ont déjà installé Rocky Linux par le passé. Le premier écran vous permet de choisir votre langue par défaut :
-
- 
-
- Sur l'écran suivant vous devrez effectuer des vérifications et les modifications nécessaires. Les options sont numérotées pour référence :
-
- 
-
- 1. **Clavier** - Jetez un coup d'œil à cette option et assurez-vous qu'elle correspond bien à la disposition du clavier que vous utilisez.
- 2. **Heure & Date** - Assurez-vous que cela correspond à votre fuseau horaire.
- 3. **Destination d'installation** - Vous devrez cliquer sur cette option, même si c'est juste pour accepter ce qui est déjà indiqué.
- 4. **Réseau & Nom d'Hôte** - Vérifiez que vous avez ce dont vous avez besoin ici. Tant que le réseau est activé, vous pouvez toujours modifier plus tard si vous le souhaitez.
- 5. **Mot de passe root** - Allez-y et choisissez un mot de passe root. N'oubliez pas de sauvegarder ce mot de passe dans un endroit sûr (gestionnaire de mots de passe par ex.).
- 6. **Création d'utilisateur** - Créez au moins un utilisateur. Si vous voulez qu'il dispose de droits d'administration, n'oubliez pas de définir cette option lors de la création de l'utilisateur.
- 7. **Begin Installation** - Après vérification, cochez cette option.
-
- Une fois que vous avez effectué l'étape 7, le processus d'installation devrait commencer à installer des paquets, comme indiqué dans la capture d'écran ci-dessous :
-
- 
-
- Après l'installation sur le disque dur, vous devriez voir l'affichage suivant :
-
- 
-
- Allez-y et cliquez sur **Terminer l'installation**.
-
- Lorsque vous avez fait cela, il vous ramène à l'écran de l'image live. Redémarrez votre machine et retirez le support de démarrage que vous avez utilisé pour l'installation XFCE.
-
- Ensuite, vous obtiendrez un écran de connexion avec l'utilisateur que vous avez créé précédemment. Saisissez votre mot de passe, qui vous mènera au bureau XFCE :
-
- 
-
-=== "9-minimal"
-
- ## 9 minimal : Introduction
-
- Si vous avez installé Rocky Linux 9.x et décidez d'installer XFCE par la suite, cette procédure vous guidera. Cette procédure suppose une installation préalable de `Rocky-9.4-x86_64-minimal.iso`.
-
- ### Mise à jour du système
-
- Tout d'abord, vérifiez la mise à jour du système :
-
- ```bash
- sudo dnf update -y && dnf upgrade -y
- ```
-
-
- 
-
- Deuxièmement, exécutez la commande ci-dessous pour installer le dépôt epel-release qui contient tous les packages que nous devons installer pour `Xfce Desktop`.
-
- ```bash
- sudo dnf install epel-release -y
- ```
-
-
- 
-
- ### Installation de l'environnement de bureau XFCE
-
- Installez XFCE en exécutant cette commande :
-
- ```bash
- sudo dnf groupinstall xfce -y
- ```
-
-
- 
-
- ### Démarrage du bureau XFCE
-
- Vous pouvez lancer le bureau XFCE depuis la ligne de commande si vous voyez le message `Complete!` dans la sortie de commande sans aucune erreur.
-
- ```bash
- sudo systemctl isolate graphical.target
- ```
-
-
- ### Activer le bureau XFCE au démarrage
-
- À ce stade, vous avez installé le bureau XFCE sur le système et vous vous êtes assuré de son fonctionnement en l'exécutant à partir de la ligne de commande. Si vous souhaitez que votre système démarre toujours avec XFCE au lieu d'utiliser la ligne de commande, vous devez exécuter la commande suivante. Vous devrez d’abord ouvrir le terminal XFCE à partir de l’icône à 9 points :
-
- ```bash
- sudo systemctl set-default graphical.target
- ```
-
-
- 
-
- **REMARQUE :** Vous pouvez vous connecter avec votre nom d'utilisateur et votre mot de passe root.
-
- 
-
- Maintenant vous pouvez effectuer des tests. Relancez votre système avec la commande `sudo reboot`. Vous verrez votre système s'ouvrir avec l'écran de connexion du bureau XFCE.
-
- 
-
-=== "8"
-
- ## 8: Installation de Rocky Linux Minimal
-
- !!! note
-
- Dans cette section, vous devrez soit être l'utilisateur `root`, soit être en mesure d'exécuter `sudo` pour élever vos privilèges.
-
- Lors de l'installation de Rocky Linux, nous avons utilisé les paquets suivants :
-
- * Minimal
- * Standard
-
-
- ## 8: Exécuter la mise à jour du système
-
- D'abord, lancez la commande de mise à jour du serveur. Le système va renouveler le cache des dépôts. Lors de cette opération, le système va reconnaître les paquets disponibles.
-
- ```
- dnf update
- ```
-
-
- ## 8: Activation des dépôts
-
- Nous avons besoin du dépôt non officiel pour XFCE dans le référentiel EPEL, pour fonctionner sur les versions de Rocky 8.x.
-
- Activer ce dépôt en entrant la commande suivante :
-
- ```
- dnf install epel-release
- ```
-
- Répondez 'Y' pour l'installer.
-
- Vous avez également besoin des Powertools et des dépôts lightdm. Activez-les ainsi :
-
- ```
- dnf config-manager --set-enabled powertools
- dnf copr enable stenstorp/lightdm
- ```
-
- !!! warning "Avertissement"
-
- Le système de compilation `copr` crée un dépôt connu pour installer `lightdm`, mais n'est pas maintenu par la communauté Rocky Linux. Utilisez tout ça à vos risques et périls !
-
- Encore une fois, un message d'avertissement concernant le répertoire vous sera présenté. Allez-y et répondez `Y` à l'invite.
-
-
- ## 8.6 : Vérifiez les Environnements et Outils disponibles dans le Groupe
-
- Maintenant que les dépôts sont activés, exécutez les commandes suivantes pour tout vérifier.
-
- Tout d'abord, vérifiez votre liste de dépôts avec :
-
- ```
- dnf repolist
- ```
-
- Vous devriez récupérer les résultats suivants affichant tous les dépôts activés :
-
- ```bash
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- powertools Rocky Linux 8 - PowerTools
- ```
-
- Exécutez la commande suivante pour vérifier la présence de XFCE:
-
- ```
- dnf grouplist
- ```
-
- Vous devriez obtenir "Xfce" en bas de la liste.
-
- Eexécutez `dnf update` une ou plusieurs fois pour vous assurer que tous les dépôts activés sont inclus dans le système.
-
-
- ## 8: Installation des paquets
-
- Pour installer XFCE, exécutez la commande suivante :
-
- ```
- dnf groupinstall "xfce"
- ```
-
- Installez également 'lightdm' :
-
- ```
- dnf install lightdm
- ```
-
-
- ## 8: Étapes finales
-
- Nous devons désactiver le paquet `gdm`, qui est ajouté et activé pendant *dnf groupinstall "xfce"* :
-
- ```
- systemctl disable gdm
- ```
-
- Maintenant nous pouvons activer *lightdm* :
-
- ```
- systemctl enable lightdm
- ```
-
- Vous devez indiquer au système d'utiliser seulement l'interface graphique après le démarrage. Définissez le système cible par défaut vers l'interface GUI :
-
- ```
- systemctl set-default graphical.target
- ```
-
- Puis redémarrez le système :
-
- ```
- reboot
- ```
-
- Vous devriez vous retrouver avec une invite de connexion dans l'interface XFCE et, lorsque vous vous connectez, vous aurez tout l'environnement XFCE.
-
-## Conclusion
-
-XFCE est un environnement léger avec une interface simple. C'est une alternative à l'environnement GNOME par défaut sur Rocky Linux. Si vous utilisez Rocky Linux 9, les développeurs ont créé une image pratique qui accélère le processus d'installation.
diff --git a/docs/guides/desktop/xfce_installation.it.md b/docs/guides/desktop/xfce_installation.it.md
deleted file mode 100644
index 727c9e1f33..0000000000
--- a/docs/guides/desktop/xfce_installation.it.md
+++ /dev/null
@@ -1,290 +0,0 @@
-- - -
-title: XFCE Desktop author: Gerard Arthus, Steven Spencer, Emre Camalan contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova tested_with: 8.9, 9.5 tags:
- - xfce
- - desktop
-- - -
-
-# Ambiente desktop XFCE
-
-L'ambiente desktop XFCE, creato come fork del Common Desktop Environment (CDE), incarna la tradizionale filosofia Unix di modularità e riutilizzabilità. È possibile installare XFCE su quasi tutte le versioni di Linux, compresa Rocky Linux.
-
-È anche uno degli ambienti desktop più facili da combinare con gestori di finestre alternativi, come Awesome o i3. Questa procedura, tuttavia, vi permetterà di essere operativi con Rocky Linux e un'installazione XFCE tradizionale.
-
-## Prerequisiti
-
-* Una workstation o un computer portatile
-* Desiderio di eseguire XFCE come desktop invece del desktop predefinito GNOME
-* Per le procedure 9 minimale e 8, la possibilità di utilizzare `sudo` per elevare i privilegi
-
-=== "9"
-
- ## 9: Introduzione
-
- Il team di sviluppo di Rocky Linux 9 ha reso semplice l'installazione di XFCE e di altri ambienti desktop popolari, includendo immagini live. Per chi non lo sapesse, un'immagine live è un'immagine avviabile che carica il sistema operativo senza installazione. Una volta caricato, è possibile installarlo nell'unità disco del computer e utilizzarlo.
-
- ## 9: Ottenere, verificare e scrivere l'immagine live di XFCE
-
- Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di XFCE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Si noti che questo particolare collegamento presuppone che x86_64 sia l'architettura del vostro processore.
-
- Al momento è possibile utilizzare architetture x86_64 o aarch64 per questa immagine live. Scaricare l'immagine live e i file di checksum.
-
- Verificare l'immagine con il file CHECKSUM come segue
-
- (si noti che questo è un esempio! Assicurarsi che il nome dell'immagine e i file CHECKSUM corrispondano):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9-XFCE-x86_64-latest.iso.CHECKSUM
- ```
-
-
- Se tutto è andato bene, verrà visualizzato questo messaggio:
-
- ```
- Rocky-9-XFCE-x86_64-latest.iso: OK
- ```
-
-
- Se il checksum per il file restituisce OK, ora sei pronto a scrivere la tua immagine ISO sul tuo supporto. Questa procedura varia a seconda del sistema operativo, del supporto e degli strumenti. Si presuppone che sappiate come scrivere l'immagine sul vostro supporto.
-
- ## 9: Avvio
-
- Anche in questo caso la procedura è diversa a seconda della macchina, del BIOS, del sistema operativo e così via. È necessario assicurarsi che la macchina sia impostata per l'avvio dal vostro supporto (DVD o USB) come primo dispositivo di avvio. Questa schermata mostrerà se l'operazione è riuscita:
-
- 
-
- In caso affermativo, siete sulla buona strada! Se si vuole testare il supporto, si può inserire prima questa opzione, oppure si può inserire **S** per **Avviare Rocky Linux XFCE 9.0**.
-
- Ricordate che si tratta di un'immagine live. L'avvio della prima schermata richiederà un po' di tempo. Non fatevi prendere dal panico, aspettate! Quando si avvia l'immagine live, viene visualizzata questa schermata:
-
-
- 
-
- ## 9: Installazione di XFCE
-
- A questo punto, è possibile utilizzare l'ambiente XFCE. Quando si decide di utilizzarlo in modo permanente, fare doppio clic sull'opzione Installa nel Disco Rigido.
-
- Si avvia così un processo di installazione abbastanza familiare per chi ha già installato Rocky Linux. La prima schermata consente di selezionare la lingua predefinita:
-
- 
-
- La schermata successiva contiene alcuni elementi da verificare o modificare. Le opzioni sono numerate per riferimento:
-
- 
-
- 1. **Tastiera** - Assicurarsi che corrisponda al layout della tastiera in uso.
- 2. **Ora e Data** - Assicurarsi che corrisponda al proprio fuso orario.
- 3. **Destinazione di installazione** - È necessario fare clic su questa opzione, anche solo per accettare ciò che è già presente.
- 4. **Rete e Nome Host** - Verificare che sia presente ciò che si desidera. Se la rete è abilitata, è sempre possibile modificarla in seguito, se necessario.
- 5. **Password di Root** - Imposta una password di root. Ricordate di salvarla in un luogo sicuro (gestore di password).
- 6. **Creazione di un Utente** - Creare almeno un utente. Se si desidera che l'utente abbia diritti amministrativi, impostare questa opzione al momento della creazione dell'utente.
- 7. **Iniziare Installazione** - Una volta completata e verificata, fare clic su questa opzione.
-
- Una volta eseguito il passo 7, il processo di installazione inizierà a installare i pacchetti, come mostrato in questa schermata:
-
- 
-
- Al termine dell'installazione sul disco rigido, verrà visualizzata la seguente schermata:
-
- 
-
- Fare clic su **Fine Installazione**.
-
- Dopo aver fatto ciò, si tornerà alla schermata dell'immagine live. Riavviare il computer e rimuovere il supporto di avvio utilizzato per l'installazione di XFCE.
-
- Si aprirà quindi una schermata di accesso con l'utente creato in precedenza. Immettere la password per accedere al desktop XFCE:
-
- 
-
-=== "9-minimal"
-
- ## 9 minimal: Introduzione
-
- Se avete installato Rocky Linux 9.x e successivamente decidete di installare XFCE, questa procedura vi permetterà di farlo. Questa procedura presuppone l'installazione di `Rocky-9.4-x86_64-minimal.iso`.
-
- ### Aggiornare il sistema
-
- Per prima cosa, assicuratevi che il vostro sistema sia aggiornato:
-
- ```bash
- sudo dnf update -y && dnf upgrade -y
- ```
-
-
- 
-
- In secondo luogo, eseguite il comando seguente per installare il repo epel-release, che contiene tutti i pacchetti da installare per il Desktop Xfce.
-
- ```bash
- sudo dnf install epel-release -y
- ```
-
-
- 
-
- ### Installare il desktop XFCE
-
- Installare XFCE con questo comando:
-
- ```bash
- sudo dnf groupinstall xfce -y
- ```
-
-
- 
-
- ### Avvio del desktop XFCE
-
- È possibile avviare il desktop XFCE dalla riga di comando se viene visualizzato il messaggio "Complete!" nell'output del comando e se non ci sono errori.
-
- ```bash
- sudo systemctl isolate graphical.target
- ```
-
-
- ### Abilitare il desktop XFCE all'avvio
-
- A questo punto avete installato il desktop XFCE sul sistema e vi siete assicurati che funzioni eseguendolo dalla riga di comando. Se si desidera che il sistema si avvii sempre con XFCE invece che con la riga di comando, è necessario eseguire il seguente comando. È necessario aprire prima il terminale XFCE dall'icona dei 9 punti:
-
- ```bash
- sudo systemctl set-default graphical.target
- ```
-
-
- 
-
- **NOTA:** È possibile accedere con il nome utente e la password di root.
-
- 
-
- Ora è possibile testarlo. Riavviare il sistema con il comando `sudo reboot`. Il sistema si aprirà con la schermata di accesso al desktop XFCE.
-
- 
-
-=== "8"
-
- ## 8: Installare Rocky Linux minimale
-
- !!! note "Nota"
-
- In questa sezione, è necessario essere l'utente root o essere in grado di eseguire `sudo` per elevare i propri privilegi.
-
- Durante l'installazione di Rocky Linux, abbiamo utilizzato i seguenti pacchetti:
-
- * Minimal
- * Standard
-
-
- ## 8: Eseguire l'aggiornamento del sistema
-
- Per prima cosa, eseguire il comando di aggiornamento del server. Il sistema ricostruirà la cache del repository. In questo modo, la piattaforma di sistema riconosce i pacchetti disponibili.
-
- ```
- dnf update
- ```
-
-
- ## 8: Abilitazione dei repository
-
- È necessario il repository non ufficiale di XFCE del repository EPEL, per poter funzionare sulle versioni Rocky 8.x.
-
- Abilitare questo repository inserendo:
-
- ```
- dnf install epel-release
- ```
-
- Rispondere "Y" per installarlo.
-
- Sono necessari anche i repository Powertools e lightdm. Abilitateli subito:
-
- ```
- dnf config-manager --set-enabled powertools
- dnf copr enable stenstorp/lightdm
- ```
-
- !!! Warning "Attenzione"
-
- Il sistema di compilazione `copr` crea un repository che è noto per funzionare per l'installazione di `lightdm`, ma non è mantenuto dalla comunità Rocky Linux. Utilizzare a proprio rischio e pericolo!
-
- Anche in questo caso, verrà presentato un messaggio di avvertimento sul repository. Rispondete pure `Y` alla domanda.
-
-
- ## 8: Controllare gli ambienti e gli strumenti disponibili nel gruppo
-
- Ora che i repository sono abilitati, eseguire i seguenti comandi per verificare il tutto.
-
- Per prima cosa, controllare l'elenco dei repository con:
-
- ```
- dnf repolist
- ```
-
- Si dovrebbe ottenere il seguente risultato che mostra tutti i repository abilitati:
-
- ```bash
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- powertools Rocky Linux 8 - PowerTools
- ```
-
- Eseguire il seguente comando per verificare la presenza di XFCE:
-
- ```
- dnf grouplist
- ```
-
- Dovreste vedere "Xfce" in fondo all'elenco.
-
- Eseguire ancora una volta `dnf update` per assicurarsi che tutti i repository abilitati vengano letti dal sistema.
-
-
- ## 8: Installazione dei pacchetti
-
- Per installare XFCE, eseguire:
-
- ```
- dnf groupinstall "xfce"
- ```
-
- Installare anche lightdm:
-
- ```
- dnf install lightdm
- ```
-
-
- ## 8: Fasi finali
-
- È necessario disabilitare `gdm`, che viene installato e abilitato durante *dnf groupinstall "xfce"*:
-
- ```
- systemctl disable gdm
- ```
-
- Ora è possibile abilitare *lightdm*:
-
- ```
- systemctl enable lightdm
- ```
-
- È necessario indicare al sistema, dopo l'avvio, di utilizzare solo l'interfaccia grafica. Impostare il sistema di destinazione predefinito sull'interfaccia GUI:
-
- ```
- systemctl set-default graphical.target
- ```
-
- Quindi riavviare:
-
- ```
- reboot
- ```
-
- Dovrebbe apparire un prompt di login nella GUI di XFCE e, una volta effettuato il login, si avrà a disposizione tutto l'ambiente XFCE.
-
-## Conclusioni
-
-XFCE è un ambiente leggero con un'interfaccia semplice. È un'alternativa al desktop GNOME predefinito su Rocky Linux. Se si utilizza Rocky Linux 9, gli sviluppatori hanno creato una pratica immagine live che velocizza il processo di installazione.
diff --git a/docs/guides/desktop/xfce_installation.ko.md b/docs/guides/desktop/xfce_installation.ko.md
deleted file mode 100644
index ac787ed863..0000000000
--- a/docs/guides/desktop/xfce_installation.ko.md
+++ /dev/null
@@ -1,226 +0,0 @@
-- - -
-title: XFCE 데스트탑 author: Gerard Arthus, Steven Spencer contributors: Steven Spencer, Antoine Le Morvan, K.Prasad tested with: 8.5, 8.6, 9.0 tags:
- - xfce
- - 데스크톱
-- - -
-
-# XFCE 데스크탑 환경
-
-XFCE 데스크탑 환경은 Common Desktop Environment (CDE)의 파생 프로젝트로 만들어졌습니다. XFCE는 모듈성과 재사용성이라는 전통적인 Unix 철학을 추구하고 있습니다. XFCE는 Rocky Linux를 포함하여 거의 모든 리눅스 버전에 설치할 수 있습니다.
-
-또한 이는 awesome 또는 i3와 같은 대체 창 관리자와 가장 쉽게 결합할 수 있는 데스크탑 환경 중 하나입니다. 하지만 이 절차는 더 일반적인 XFCE 설치를 통해 Rocky Linux를 사용하도록 설계되었습니다.
-
-## 필요 사항
-
-* 워크스테이션 또는 노트북
-* 기본 GNOME 데스크톱 대신 XFCE를 사용하려는 의지
-
-=== "9"
-
- ## 9: 소개
-
- Rocky Linux 9의 개발 팀은 XFCE 및 기타 인기있는 데스크탑 환경을 설치하는 것을 쉽게 만들기 위해 라이브 이미지를 포함시켰습니다. 라이브 이미지는 OS를 설치하지 않고도 부팅할 수 있는 부팅 가능한 이미지입니다. 로드된 후, 이를 기기의 디스크 드라이브에 설치하여 사용할 수 있습니다.
-
- ## 9: XFCE 라이브 이미지 가져오기, 확인 및 쓰기
-
- 설치 전에 첫 번째 단계는 라이브 이미지를 다운로드하고 DVD 또는 USB 썸드라이브에 작성하는 것입니다. 이미지는 다른 리눅스 설치 미디어와 마찬가지로 부팅 가능하게 됩니다. Rocky Linux 9 [라이브 이미지](https://dl.rockylinux.org/pub/rocky/9.1/live/x86_64/) 다운로드 섹션에서 최신 XFCE 이미지를 찾을 수 있습니다.
- 이 특정 링크는 프로세서 아키텍처로 x86_64를 가정합니다.
-
- 이 문서 작성 시점에서 이 라이브 이미지에는 x86_64 또는 aarch64 아키텍처를 사용할 수 있습니다. 라이브 이미지와 체크섬 파일을 모두 다운로드하세요.
-
- 이제 다음을 사용하여 CHECKSUM 파일로 이미지를 확인하세요(주의: 이는 예시입니다! 이미지 이름과 CHECKSUM 파일이 일치하는지 확인하세요):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9-XFCE-x86_64-latest.iso.CHECKSUM
- ```
-
-
- 모든 것이 정상적으로 진행되면 다음과 같은 메시지가 나타납니다:
-
- ```
- Rocky-9-XFCE-x86_64-latest.iso: OK
- ```
-
-
- 파일의 체크섬이 OK이면 이제 미디어에 ISO 이미지를 작성할 준비가 되었습니다. 이 프로세스는 사용하는 OS, 미디어 및 도구에 따라 다르므로, 여기서 이미지를 미디어에 작성하는 방법을 알고 있다고 가정합니다. 여기서는 이미지를 미디어에 쓰는 방법을 알고 있다고 가정합니다.
-
- ## 9: 부팅하기
-
- 이는 기계, BIOS, OS 등에 따라 다르므로 자신의 미디어(디비디 또는 USB) 가 첫 번째 부팅 장치로 설정되도록 확인해야 합니다. 성공적으로 설정된 경우 다음과 같은 화면이 표시됩니다:
-
- 
-
- 그렇다면 성공입니다! 미디어를 테스트하려면 해당 옵션을 먼저 선택하거나 **S**를 입력하여 **Start Rocky Linux XFCE 9.0**을 시작할 수 있습니다.
-
- 라이브 이미지이므로 첫 번째 화면으로 부팅하는 데 시간이 좀 걸릴 수 있습니다. 걱정하지 마시고 기다리세요! 라이브 이미지가 부팅되면 다음 화면을 볼 수 있습니다:
-
-
-
- 
-
- ## 9: XFCE 설치
-
- 이제 XFCE 환경을 사용하여 어떻게 보이는지 확인할 수 있습니다. 사용을 영구적으로 원한다고 결정하면 "Install to Hard Drive" 옵션을 두 번 클릭하세요.
-
- 이는 이미 Rocky Linux를 설치한 사용자들에게는 꽤 익숙한 설치 프로세스를 시작할 것입니다. 첫 번째 화면은 기본 언어를 선택하는 화면입니다:
-
- 
-
- 다음 화면에는 확인하거나 변경해야 할 사항들이 나열됩니다. 옵션은 참고용으로 번호가 매겨져 있습니다:
-
-
-
- 
-
- 1. **키보드** - 사용하는 키보드 레이아웃과 일치하는지 확인하세요.
- 2. **시간 & 날짜** - 시간대와 일치하는지 확인하세요.
- 3. **설치 대상** - 이미 있는 것을 그대로 받아들이더라도 클릭해야 합니다.
- 4. **네트워크 & 호스트 이름** - 원하는 내용을 확인하세요. 네트워크가 활성화된 상태라면 필요에 따라 나중에 변경할 수 있습니다.
- 5. **루트 암호** - 루트 비밀번호를 설정하세요. 자주 사용하지 않을 경우에도 안전한 곳(비밀번호 관리자)에 저장하세요.
- 6. **사용자 생성** - 적어도 하나의 사용자를 생성하세요. 사용자에게 관리 권한을 부여하려면 사용자를 생성할 때 이 옵션을 설정하세요.
- 7. **설치 시작** - 모든 설정이 완료되었거나 확인되었을 때 이 옵션을 클릭하세요.
-
- 7단계를 완료하면 설치 과정이 아래 스크린샷과 같이 패키지를 설치하게 됩니다:
-
- 
-
- 하드 드라이브에 설치가 완료되면 다음 화면이 나타납니다:
-
- 
-
- 계속해서 **Finish Installation**를 클릭합니다.
-
- 이렇게 하면 라이브 이미지 화면으로 돌아갑니다. 컴퓨터를 재부팅하고 XFCE 설치에 사용한 부팅 미디어를 제거하세요.
-
- 그런 다음 위에서 생성한 사용자의 로그인 화면이 나타납니다. 비밀번호를 입력하세요. 이렇게 하면 XFCE 데스크톱으로 이동합니다:
-
- 
-
-=== "8"
-
- ## 8: Rocky Linux Minimal 설치
-
- !!! note "참고사항"
-
- 참고: 이 섹션에서는 root 사용자이거나 권한을 상승시키기 위해 sudo를 사용할 수 있어야 합니다.
-
- Rocky Linux를 설치할 때 다음 패키지 세트를 사용했습니다.
-
- * Minimal
- * Standard
-
-
- ## 8: 시스템 업데이트 실행
-
- 먼저 서버 업데이트 명령을 실행하여 시스템이 리포지토리 캐시를 다시 빌드하도록 하여 사용 가능한 패키지를 인식하게 합니다.
-
- ```
- dnf update
- ```
-
-
- ## 8: 리포지토리 활성화
-
- Rocky 8.x 버전에서 실행하려면 EPEL 리포지토리의 비공식 XFCE 리포지토리가 필요합니다.
-
- 이 리포지토리를 활성화하려면 다음을 입력하세요:
-
- ```
- dnf install epel-release
- ```
-
- 그리고 'Y'를 입력하여 설치를 진행하세요.
-
- Powertools와 lightdm 리포지토리도 필요합니다. 이제 다음을 입력하여 이들을 활성화하세요:
-
- ```
- dnf config-manager --set-enabled powertools
- dnf copr enable stenstorp/lightdm
- ```
-
- !!! !!!
-
- `copr` 빌드 시스템은 `lightdm`을 설치하는 데 작동하는 것으로 알려져 있지만 Rocky Linux 커뮤니티에서 유지되지 않는 리포지토리입니다. 본인 책임 하에 사용하세요!
-
- 다시 한 번 리포지토리에 대한 경고 메시지가 표시됩니다. 'Y'로 응답하세요.
-
-
- ## 8: 그룹에서 사용 가능한 환경 및 도구 확인
-
- 이제 리포지토리가 활성화되었으므로 다음 명령으로 모든 것을 확인하세요.
-
- 먼저 다음 명령으로 리포지토리 목록을 확인하세요:
-
- ```
- dnf repolist
- ```
-
- 활성화된 모든 리포지토리가 나열된 것을 확인할 수 있습니다:
-
- ```bash
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- powertools Rocky Linux 8 - PowerTools
- ```
-
- 다음 명령으로 XFCE를 확인하세요:
-
- ```
- dnf grouplist
- ```
-
- 목록 하단에 "Xfce"가 표시되어야 합니다.
-
- 활성화된 모든 리포지토리가 시스템에 읽혀지도록 다시 한 번 `dnf update`를 실행하세요.
-
-
- ## 8: 패키지 설치
-
- XFCE를 설치하려면 다음을 실행하세요:
-
- ```
- dnf groupinstall "xfce"
- ```
-
- 또한 lightdm을 설치하세요:
-
- ```
- dnf install lightdm
- ```
-
-
- ## 8: 최종 단계
-
- *dnf groupinstall "xfce"*을 실행하면 추가되고 활성화되는 `gdm`을 비활성화해야 합니다:
-
- ```
- systemctl disable gdm
- ```
-
- 이제 *lightdm*을 활성화할 수 있습니다.
-
- ```
- systemctl enable lightdm
- ```
-
- 부팅 후에는 그래픽 사용자 인터페이스만 사용하도록 시스템에 지정합니다. 이를 위해 기본 대상 시스템을 GUI 인터페이스로 설정하세요:
-
- ```
- systemctl set-default graphical.target
- ```
-
- 그런 다음 재부팅하세요.
-
- ```
- reboot
- ```
-
- 이제 XFCE GUI에서 로그인 프롬프트가 나타날 것입니다. 로그인하면 모든 XFCE 환경을 사용할 수 있습니다.
-
-## 결론
-
-XFCE는 가벼운 환경으로 간단한 인터페이스를 제공합니다. Rocky Linux의 기본 GNOME 데스크톱 대안입니다. Rocky Linux 9를 실행하는 경우 개발자들은 설치 과정을 빠르게 진행할 수 있는 편리한 라이브 이미지를 만들었습니다.
diff --git a/docs/guides/desktop/xfce_installation.md b/docs/guides/desktop/xfce_installation.md
deleted file mode 100644
index 5501e55365..0000000000
--- a/docs/guides/desktop/xfce_installation.md
+++ /dev/null
@@ -1,282 +0,0 @@
----
-title: XFCE Desktop
-author: Gerard Arthus, Steven Spencer, Emre Camalan
-contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova
-tested_with: 8.9, 9.5
-tags:
- - xfce
- - desktop
----
-
-# XFCE desktop environment
-
-The XFCE desktop environment, created as a fork of the Common Desktop Environment (CDE), embodies the traditional Unix philosophy of modularity and re-usability. You can install XFCE on almost any version of Linux, including Rocky Linux.
-
-It is also one of the most accessible desktop environments to combine with alternate window managers, such as Awesome or i3. This procedure, however, will get you up and running with Rocky Linux and a more typical XFCE installation.
-
-## Prerequisites
-
-* A workstation or notebook
-* A desire to run XFCE as your desktop instead of the default GNOME desktop
-* For the 9 minimal and 8 procedures, the ability to `sudo` to elevate privileges
-
-=== "9"
-
- ## 9: Introduction
-
- The development team for Rocky Linux 9 has made installing XFCE, and other popular desktop environments, uncomplicated by including live images. For those that might not know what that is, a live image is a bootable image that will load the OS without installation. When loaded, you have the option to install it to your machine's disk drive and use it.
-
- ## 9: Get, verify, and write the XFCE live image
-
- Prior to installation, the first step is to download the live image and write that to a DVD or a USB thumb drive. As stated earlier, the image will be bootable, just like any other installation media for Linux. You can find the latest XFCE image in the download section for Rocky Linux 9 [live images](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Note that this particular link assumes x86_64 is your processor's architecture.
-
- As of this writing, you can use x86_64 or aarch64 architectures for this live image. Download the live image and checksum files.
-
- Verify the image with the CHECKSUM file with the following
-
- (note this is an example! Ensure your image name and CHECKSUM files match):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9-XFCE-x86_64-latest.iso.CHECKSUM
- ```
-
- If all goes well, you will see this message:
-
- ```
- Rocky-9-XFCE-x86_64-latest.iso: OK
- ```
-
- If the checksum for the file returns OK, you are now ready to write your ISO image to your media. This procedure differs depending on the OS, the media, and the tools. We are assuming here that you know how to write the image to your media.
-
- ## 9: Booting
-
- This again is different by machine, BIOS, OS, and so on. You will need to ensure that your machine is set to boot to whatever your media is (DVD or USB) as the first boot device. This screen will show if you are successful:
-
- 
-
- If so, you are on your way! If you want to test the media, you can enter that option first, or you can enter **S** to **Start Rocky Linux XFCE 9.0**.
-
- Remember, this is a live image. It is going to take some time to boot to the first screen. Do not panic, just wait! When the live image boots, you will see this screen:
-
-
- 
-
- ## 9: Installing XFCE
-
- At this point, you can use the XFCE environment. When you decide to use it permanently, double-click the option to Install to Hard Drive.
-
- This will start a pretty familiar installation process for those who have installed Rocky Linux before. The first screen will allow the selection your default language:
-
- 
-
- The next screen will have some things that you need to verify or change. The options are numbered for reference:
-
- 
-
- 1. **Keyboard** - Ensure that it matches up to the keyboard layout that you use.
- 2. **Time & Date** - Ensure this matches up to your time zone.
- 3. **Installation Destination** - You will need to click into this option, even if it is just to accept what is already there.
- 4. **Network & Host Name** - Verify that you have what you want here. Provided the network is enabled, you can always change this later if you need to.
- 5. **Root Password** - Set a root password. Remember to save this somewhere safe (password manager).
- 6. **User Creation** - Create at least one user. If you want the user to have administrative rights, set this option when creating the user.
- 7. **Begin Installation** - When completed and verified, click this option.
-
- When you do step 7, the installation process will start installing packages, shown in this screenshot:
-
- 
-
- After the installation to the hard drive is complete, you will see the following screen:
-
- 
-
- Click **Finish Installation**.
-
- When you have done this, it will take you back to the live image screen. Reboot your machine and remove the boot media you used for the XFCE install.
-
- Next you will get a login screen with the user you created above. Enter your password, which will get you to the XFCE desktop:
-
- 
-
-=== "9-minimal"
-
- ## 9 minimal: Introduction
-
- If you installed Rocky Linux 9.x and decide that you want to install XFCE after, this procedure will get you there. This procedure assumes installation of `Rocky-9.4-x86_64-minimal.iso`.
-
- ### Update your system
-
- First, ensure the update of your system:
-
- ```bash
- sudo dnf update -y && dnf upgrade -y
- ```
-
- 
-
- Secondly, run the command below to install epel-release repo which contains all packages that we need to install for Xfce Desktop.
-
- ```bash
- sudo dnf install epel-release -y
- ```
-
- 
-
- ### Install XFCE desktop
-
- Install XFCE by running this command:
-
- ```bash
- sudo dnf groupinstall xfce -y
- ```
-
- 
-
- ### Starting the XFCE desktop
-
- You can launch the XFCE desktop from the command line if you see the message "Complete!" in the command output and no errors.
-
- ```bash
- sudo systemctl isolate graphical.target
- ```
-
- ### Enable XFCE desktop on boot
-
- At this point you have installed the XFCE desktop on the system and ensured it functions by running it from the command line. If you always want your system to start with XFCE instead of the command line, you need to run the following command. You will need to open the XFCE terminal from the 9 points icon first:
-
- ```bash
- sudo systemctl set-default graphical.target
- ```
-
- 
-
- **NOTE:** You can log in with your root username and password.
-
- 
-
- Now you can test it. Reboot your system with the `sudo reboot` command. You will see your system opening with the XFCE desktop login screen.
-
- 
-
-=== "8"
-
- ## 8: Install Rocky Linux minimal
-
- !!! note
-
- Throughout this section, you will either need to be the root user or be able to `sudo` to elevate your privileges.
-
- When installing Rocky Linux, we used the following sets of packages:
-
- * Minimal
- * Standard
-
- ## 8: Run System Update
-
- First, run the server update command. The system will rebuild the repository cache. In this way, the system cab recognize the packages available.
-
- ```
- dnf update
- ```
-
- ## 8: Enabling repositories
-
- You need the unofficial repository for XFCE in the EPEL repository, to run on Rocky 8.x versions.
-
- Enable this repository by entering:
-
- ```
- dnf install epel-release
- ```
-
- Answer 'Y' to install it.
-
- You also need the Powertools and lightdm repositories. Enable those now:
-
- ```
- dnf config-manager --set-enabled powertools
- dnf copr enable stenstorp/lightdm
- ```
-
- !!! Warning
-
- The `copr` build system creates a repository that is known to work for installing `lightdm`, but is not maintained by the Rocky Linux community. Use at your own risk!
-
- Again, you will be presented with a warning message about the repository. Go ahead and answer `Y` to the prompt.
-
- ## 8: Check the available environments and tools in the group
-
- Now that the repositories are enabled, run the following commands to check everything.
-
- First, check your repository listing with:
-
- ```
- dnf repolist
- ```
-
- You should get the following back showing all of the enabled repositories:
-
- ```bash
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- powertools Rocky Linux 8 - PowerTools
- ```
-
- Run the following command to check for XFCE:
-
- ```
- dnf grouplist
- ```
-
- You should see "Xfce" at the bottom of the listing.
-
- Run `dnf update` one more time to ensure all of the enabled repositories read into the system.
-
- ## 8: Installing packages
-
- To install XFCE, run:
-
- ```
- dnf groupinstall "xfce"
- ```
-
- Also install lightdm:
-
- ```
- dnf install lightdm
- ```
-
- ## 8: Final steps
-
- You need to disable `gdm`, which gets added and enabled during *dnf groupinstall "xfce"*:
-
- ```
- systemctl disable gdm
- ```
-
- Now you can enable *lightdm*:
-
- ```
- systemctl enable lightdm
- ```
-
- You need to tell the system after booting to use only the graphical user interface. Set the default target system to the GUI interface:
-
- ```
- systemctl set-default graphical.target
- ```
-
- Then reboot:
-
- ```
- reboot
- ```
-
- You should end up with a login prompt in the XFCE GUI, and when you login, you will have all of the XFCE environment.
-
-## Conclusion
-
-XFCE is a light environment with a simplistic interface. It is an alternative to the default GNOME desktop on Rocky Linux. If you are running Rocky Linux 9, the developers have created a handy live image that speeds up the installation process.
diff --git a/docs/guides/desktop/xfce_installation.uk.md b/docs/guides/desktop/xfce_installation.uk.md
deleted file mode 100644
index 18991501ed..0000000000
--- a/docs/guides/desktop/xfce_installation.uk.md
+++ /dev/null
@@ -1,289 +0,0 @@
-- - -
-title: XFCE Desktop author: Gerard Arthus, Steven Spencer, Emre Camalan contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova tested_with: 8.9, 9.5 tags:
- - xfce
- - робочий стіл
-- - -
-
-# Середовище робочого столу XFCE
-
-Середовище робочого столу XFCE, створене як розгалуження загального середовища робочого столу (CDE), втілює традиційну філософію Unix модульності та багаторазового використання. Ви можете встановити XFCE практично на будь-яку версію Linux, включаючи Rocky Linux.
-
-Це також одне з найдоступніших середовищ робочого столу для поєднання з альтернативними менеджерами вікон, такими як Awesome або i3. Ця процедура, однак, призначена для того, щоб ви почали працювати з Rocky Linux за допомогою типовішої інсталяції XFCE.
-
-## Передумови
-
-* Робоча станція або ноутбук
-* Бажання запустити XFCE як робочий стіл замість стандартного робочого столу GNOME
-* Для 9 мінімальних і 8 процедур, можливість `sudo` для підвищення привілеїв
-
-=== "9"
-
- ## 9: Вступ
-
- Команда розробників Rocky Linux 9 спростила встановлення XFCE та інших популярних робочих середовищ, включивши живі образи. Для тих, хто може не знати, що це таке, живий образ – це завантажувальний образ, який завантажує ОС без встановлення. Ви можете встановити його на дисковод вашої машини та використовувати після завантаження.
-
- ## 9: Отримайте, перевірте та запишіть живий образ XFCE
-
- Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ XFCE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Зауважте, що це конкретне посилання передбачає, що x86_64 є архітектурою вашого процесора.
-
- На момент написання цієї статті ви можете використовувати архітектуру x86_64 або aarch64 для цього живого образу. Завантажте живий образ і файли контрольної суми.
-
- Тепер перевірте зображення за допомогою файлу CHECKSUM за допомогою наступного
- (зверніть увагу, це приклад! Переконайтеся, що назва вашого зображення та файли CHECKSUM збігаються):
-
- ```
- sha256sum -c CHECKSUM --ignore-missing Rocky-9-XFCE-x86_64-latest.iso.CHECKSUM
- ```
-
-
- Якщо все піде добре, ви повинні побачити це повідомлення:
-
- ```
- Rocky-9-XFCE-x86_64-latest.iso: OK
- ```
-
-
- Якщо контрольна сума для файлу повертає ОК, тепер ви готові записати образ ISO на носій. Ця процедура відрізняється залежно від вашої ОС, носія та інструментів. Ми припускаємо, що ви знаєте, як записати зображення на свій носій.
-
- ## 9: Завантаження
-
- Знову ж таки, це залежить від машини, BIOS, ОС тощо. Вам потрібно буде переконатися, що ваша машина налаштована на завантаження будь-якого носія (DVD або USB) як першого завантажувального пристрою. Якщо все добре, з'явиться цей екран:
-
- 
-
- Якщо так, то ви на вірному шляху! Якщо ви хочете протестувати носій, ви можете спочатку ввести цю опцію або ввести **S**, щоб **запустити Rocky Linux XFCE 9.0**.
-
- Пам’ятайте, це живе зображення. Завантаження на перший екран займе деякий час. Просто зачекайте! Коли живий образ завантажиться, ви побачите цей екран:
-
-
- 
-
- ## 9: Встановлення XFCE
-
- На цьому етапі ви можете використовувати середовище XFCE. Якщо ви вирішите використовувати його назавжди, двічі клацніть опцію «Встановити на жорсткий диск».
-
- Це почне знайомий процес встановлення для тих, хто встановив Rocky Linux. Перший екран дозволить вибрати мову за умовчанням:
-
- 
-
- На наступному екрані буде кілька речей, які вам потрібно перевірити або змінити. Параметри пронумеровані для довідки:
-
- 
-
- 1. **Keyboard**. Подивіться на цей параметр і переконайтеся, що він відповідає розкладці клавіатури, яку ви використовуєте.
- 2. **Time & Date** – переконайтеся, що вона відповідає вашому часовому поясу.
- 3. **Installation Destination**. Вам потрібно буде натиснути цей параметр, навіть якщо це потрібно для прийняття того, що вже є.
- 4. **Network & Host Name**. Переконайтеся, що тут є те, що ви хочете. Поки мережа ввімкнена, ви завжди можете змінити це пізніше, якщо знадобиться.
- 5. **Root Password** – встановіть пароль адміністратора. Не забудьте зберегти це в безпечному місці (менеджер паролів), головним чином, якщо ви не використовуєте його часто.
- 6. **User Creation** – обов’язково створіть принаймні одного користувача. Якщо ви хочете, щоб користувач мав права адміністратора, не забудьте встановити цей параметр під час створення користувача.
- 7. **Begin Installation** – після завершення та перевірки натисніть цю опцію.
-
- Коли ви виконаєте крок 7, процес інсталяції має почати інсталяцію пакетів, як на знімку екрана нижче:
-
- 
-
- Після завершення інсталяції на жорсткий диск ви побачите такий екран:
-
- 
-
- Натисніть **Finish Installation**.
-
- Коли ви це зробите, ви повернетеся до екрана живого зображення. Перезавантажте машину та видаліть завантажувальний носій, який використовувався для встановлення XFCE.
-
- Далі ви отримаєте екран входу з користувачем, якого ви створили вище. Введіть свій пароль, який переведе вас на робочий стіл XFCE:
-
- 
-
-=== "9-minimal"
-
- ## 9 minimal: Вступ
-
- Якщо ви встановили Rocky Linux 9.x і вирішите встановити XFCE після цього, ця процедура допоможе вам це зробити. Ця процедура передбачає встановлення `Rocky-9.4-x86_64-minimal.iso`.
-
- ### Оновіть свою систему
-
- Спочатку переконайтеся, що ваша система оновлена:
-
- ```bash
- sudo dnf update -y && dnf upgrade -y
- ```
-
-
- 
-
- По-друге, виконайте наведену нижче команду, щоб установити репозиторій epel-release, який містить усі пакунки, необхідні для встановлення для Xfce Desktop.
-
- ```bash
- sudo dnf install epel-release -y
- ```
-
-
- 
-
- ### Встановіть XFCE desktop
-
- Встановіть XFCE, виконавши цю команду:
-
- ```bash
- sudo dnf groupinstall xfce -y
- ```
-
-
- 
-
- ### Запуск робочого столу XFCE
-
- Ви можете запустити робочий стіл XFCE з командного рядка, якщо побачите повідомлення «Complete!» у виведенні команди та без помилок.
-
- ```bash
- sudo systemctl isolate graphical.target
- ```
-
-
- ### Увімкнути робочий стіл XFCE під час завантаження
-
- На цьому етапі ви встановили робочий стіл XFCE у системі та переконалися, що він працює, запустивши його з командного рядка. Якщо ви хочете, щоб ваша система завжди запускалася з XFCE замість командного рядка, ви повинні виконати таку команду. Вам потрібно буде спочатку відкрити термінал XFCE за допомогою значка 9 точок:
-
- ```bash
- sudo systemctl set-default graphical.target
- ```
-
-
- 
-
- **Важливо:** Ви можете увійти за допомогою свого імені користувача та пароля root.
-
- 
-
- Тепер ви можете перевірити це. Перезавантажте систему за допомогою команди `sudo reboot`. Ви побачите, що ваша система відкривається на екрані входу на робочий стіл XFCE.
-
- 
-
-=== "8"
-
- ## 8: Встановлення Rocky Linux Minimal
-
- !!! note "Примітка"
-
- У цьому розділі вам потрібно буде або бути користувачем root, або мати можливість використовувати sudo, щоб підвищити свої привілеї.
-
- Під час встановлення Rocky Linux ми використовували такі набори пакетів:
-
- * Minimal
- * Standard
-
-
- ## 8: Запуск оновлення системи
-
- Спочатку запустіть команду оновлення сервера. Система перебудує кеш сховища. Таким чином система може розпізнавати доступні пакети.
-
- ```
- dnf update
- ```
-
-
- ## 8: Увімкнення репозиторіїв
-
- Нам потрібен неофіційний репозиторій для XFCE у сховищі EPEL для роботи на версіях Rocky 8.x.
-
- Увімкніть це сховище, ввівши:
-
- ```
- dnf install epel-release
- ```
-
- Щоб установити його, дайте відповідь «Y».
-
- Вам також потрібні репозиторії Powertools і lightdm. Увімкніть їх зараз:
-
- ```
- dnf config-manager --set-enabled powertools
- dnf copr enable stenstorp/lightdm
- ```
-
- !!! Warning "Увага"
-
- Система збірки `copr` створює репозиторій, який, як відомо, працює для встановлення `lightdm`, але не підтримується спільнотою Rocky Linux. Використовуйте на свій страх і ризик!
-
- Знову вам буде запропоновано попередження про репозиторій. Дайте відповідь `Y` на підказку.
-
-
- ## 8: Перевірте доступні середовища та інструменти в групі
-
- Тепер, коли репозиторії ввімкнено, виконайте наступні команди, щоб перевірити все.
-
- Спочатку перевірте свій список сховища за допомогою:
-
- ```
- dnf repolist
- ```
-
- Ви повинні отримати наступне, що показує всі ввімкнені сховища:
-
- ```bash
- appstream Rocky Linux 8 - AppStream
- baseos Rocky Linux 8 - BaseOS
- copr:copr.fedorainfracloud.org:stenstorp:lightdm Copr repo for lightdm owned by stenstorp
- epel Extra Packages for Enterprise Linux 8 - x86_64
- epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
- extras Rocky Linux 8 - Extras
- powertools Rocky Linux 8 - PowerTools
- ```
-
- Виконайте наступну команду для перевірки XFCE:
-
- ```
- dnf grouplist
- ```
-
- Ви повинні побачити «Xfce» у нижній частині списку.
-
- Запустіть `dnf update` ще раз, щоб переконатися, що всі активовані репозиторії зчитуються в системі.
-
-
- ## 8: Встановлення пакетів
-
- Щоб встановити XFCE, запустіть:
-
- ```
- dnf groupinstall "xfce"
- ```
-
- Також встановіть lightdm:
-
- ```
- dnf install lightdm
- ```
-
-
- ## 8: Останні кроки
-
- Вам потрібно вимкнути `gdm`, який додається та вмикається під час *dnf groupinstall "xfce"*:
-
- ```
- systemctl disable gdm
- ```
-
- Тепер ви можете ввімкнути *lightdm*:
-
- ```
- systemctl enable lightdm
- ```
-
- Вам потрібно повідомити системі після завантаження використовувати лише графічний інтерфейс користувача. Встановіть цільову систему за замовчуванням на інтерфейс GUI:
-
- ```
- systemctl set-default graphical.target
- ```
-
- Потім перезавантажте:
-
- ```
- reboot
- ```
-
- Ви маєте отримати запит на вхід у графічний інтерфейс XFCE, і коли ви ввійдете, ви матимете все середовище XFCE.
-
-## Висновок
-
-XFCE — це легке середовище з простим інтерфейсом. Це альтернатива стандартному робочому столу GNOME у Rocky Linux. Якщо ви використовуєте Rocky Linux 9, розробники створили зручний живий образ, який пришвидшує процес встановлення.
diff --git a/docs/guides/dns/knot_authoritative_dns.fr.md b/docs/guides/dns/knot_authoritative_dns.fr.md
index 4d07de1d74..070c27b812 100644
--- a/docs/guides/dns/knot_authoritative_dns.fr.md
+++ b/docs/guides/dns/knot_authoritative_dns.fr.md
@@ -17,7 +17,7 @@ Une alternative à BIND, [Knot DNS](https://www.knot-dns.cz/) est un serveur DNS
## Introduction
-Les serveurs DNS externes ou publics sont utilisés sur Internet pour associer les noms d'hôtes aux adresses IP et, dans le cas des enregistrements PTR (appelés "pointer" ou "reverse") pour faire correspondre l'adresse IP au nom de l'hôte. Il s'agit d'une composante essentielle d'internet. Il fait fonctionner votre serveur de messagerie, serveur web, serveur FTP ou beaucoup d'autres serveurs et services, où que vous soyez.
+Les serveurs DNS externes ou publics sont utilisés sur Internet pour associer les noms d'hôtes aux adresses IP et, dans le cas des enregistrements PTR (appelés `pointer` ou `reverse`) pour faire correspondre l'adresse IP au nom de l'hôte. Il s'agit d'une composante essentielle d'internet. Il fait fonctionner votre serveur de messagerie, serveur web, serveur FTP ou beaucoup d'autres serveurs et services, où que vous soyez.
## Installation et Activation de Knot
diff --git a/docs/guides/dns/knot_authoritative_dns.it.md b/docs/guides/dns/knot_authoritative_dns.it.md
new file mode 100644
index 0000000000..a843031bf0
--- /dev/null
+++ b/docs/guides/dns/knot_authoritative_dns.it.md
@@ -0,0 +1,132 @@
+---
+title: Knot Authoritative DNS
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - dns
+---
+
+Un'alternativa a BIND, [Knot DNS](https://www.knot-dns.cz/), è un moderno server DNS autoritativo gestito dal registry dei domini ceco [CZ.NIC](https://www.nic.cz/).
+
+## Prerequisiti e presupposti
+
+- Un server con Rocky Linux
+- In grado di utilizzare _firewalld_ per la creazione di regole firewall
+- Un nome di dominio o un server DNS ricorsivo interno che punta al server DNS autoritativo.
+
+## Introduzione
+
+I server DNS esterni, o pubblici, mappano gli hostname in indirizzi IP e, nel caso dei record PTR (noti come “pointer” o “reverse”), mappano gli indirizzi IP in hostname. È una parte essenziale di Internet. Fa sì che il server di posta, il server web, il server FTP o molti altri server e servizi funzionino come previsto, indipendentemente da dove ci si trovi.
+
+## Installazione e abilitazione di Knot
+
+Per prima cosa, installare EPEL:
+
+```bash
+dnf install epel-release
+```
+
+Quindi, installare Knot:
+
+```bash
+dnf install knot
+```
+
+## Configurazione di `Knot`
+
+Prima di apportare modifiche a qualsiasi file di configurazione, spostare il file originale installato e funzionante, `knot.conf`:
+
+```bash
+mv /etc/knot/knot.conf /etc/knot/knot.conf.orig
+```
+
+Questo aiuterà in futuro se si verificano errori nel file di configurazione. È _sempre_ una buona idea fare una copia di backup prima di apportare modifiche.
+
+Modificare il file _knot.conf_. L'autore usa _vi_, ma potete sostituirlo con il vostro editor a riga di comando preferito:
+
+```bash
+vi /etc/knot/knot.conf
+```
+
+Inserire quanto segue:
+
+```bash
+server:
+ listen: 0.0.0.0@53
+ listen: ::@53
+
+zone:
+ - domain: example.com
+ storage: /var/lib/knot/zones
+ file: example.com.zone
+
+log:
+ - target: syslog
+ any: info
+```
+
+Sostituire `example.com` con il nome del dominio per il quale si gestisce un nameserver.
+
+Quindi, creare i file di zona:
+
+```bash
+mkdir /var/lib/knot/zones
+vi /var/lib/knot/zones/example.com.zone
+```
+
+I file di zona DNS sono compatibili con BIND. Nel file, inserire:
+
+```bash
+$TTL 86400 ; How long should records last?
+; $TTL used for all RRs without explicit TTL value
+$ORIGIN example.com. ; Define our domain name
+@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
+ 2024061301 ; serial
+ 3h ; refresh duration
+ 15 ; retry duration
+ 1w ; expiry duration
+ 3h ; nxdomain error ttl
+ )
+ IN NS ns1.example.com. ; in the domain
+ IN MX 10 mail.another.com. ; external mail provider
+ IN A 172.20.0.100 ; default A record
+; server host definitions
+ns1 IN A 172.20.0.100 ; name server definition
+www IN A 172.20.0.101 ; web server definition
+mail IN A 172.20.0.102 ; mail server definition
+```
+
+Se avete bisogno di aiuto per personalizzare i file di zona in stile BIND, Oracle ha [una buona introduzione ai file di zona](https://docs.oracle.com/en-us/iaas/Content/DNS/Reference/formattingzonefile.htm).
+
+Salvare le modifiche.
+
+## Abilitare Knot
+
+Quindi, consentire le porte DNS in `firewalld` e abilitare Knot DNS:
+
+```bash
+firewall-cmd --add-service=dns --zone=public
+firewall-cmd --runtime-to-permanent
+systemctl enable --now knot
+```
+
+Verificare la risoluzione DNS con il comando `host`:
+
+```bash
+% host example.com 172.20.0.100
+Using domain server:
+Name: 172.20.0.100
+Address: 172.20.0.100#53
+Aliases:
+
+example.com has address 172.20.0.100
+example.com mail is handled by 10 mail.another.com.
+%
+```
+
+## Conclusione
+
+Sebbene la maggior parte delle persone utilizzi servizi di terze parti per il DNS, ci sono scenari in cui si desidera un DNS self-hosting. Ad esempio, le società di telecomunicazioni, hosting e social media ospitano molte voci DNS in cui i servizi ospitati sono indesiderati.
+
+Knot è uno dei tanti strumenti open-source che rendono possibile l'hosting DNS. Congratulazioni, avete il vostro server DNS personale!
diff --git a/docs/guides/dns/nsd_authoritative_dns.it.md b/docs/guides/dns/nsd_authoritative_dns.it.md
new file mode 100644
index 0000000000..d9aea3b245
--- /dev/null
+++ b/docs/guides/dns/nsd_authoritative_dns.it.md
@@ -0,0 +1,198 @@
+---
+title: NSD DNS autoritativo
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - dns
+---
+
+Un'alternativa a BIND, [NSD](https://www.nlnetlabs.nl/projects/nsd/about/) (Name Server Daemon) è un moderno server DNS authoritative-only gestito da [NLnet Labs](https://www.nlnetlabs.nl/).
+
+## Prerequisiti e presupposti
+
+- Un server con Rocky Linux
+- In grado di utilizzare `firewalld` per la creazione di regole firewall
+- Un nome di dominio o un server DNS ricorsivo interno che punta al server DNS autoritativo.
+
+## Introduzione
+
+I server DNS esterni, o pubblici, mappano gli hostname in indirizzi IP e, nel caso dei record PTR (noti come “pointer” o “reverse”), mappano gli indirizzi IP in hostname. È una parte essenziale di Internet. Fa sì che il server di posta, il server web, il server FTP o molti altri server e servizi funzionino come previsto, indipendentemente da dove ci si trovi.
+
+## Installazione e abilitazione di NSD
+
+Per prima cosa, installare EPEL:
+
+```bash
+dnf install epel-release
+```
+
+Successivamente, installare NSD:
+
+```bash
+dnf install nsd
+```
+
+## Configurazione di NSD
+
+Prima di apportare modifiche a qualsiasi file di configurazione, copiare il file originale installato e funzionante, `nsd.conf`:
+
+```bash
+cp /etc/nsd/nsd.conf /etc/nsd/nsd.conf.orig
+```
+
+Questo aiuterà in futuro se si verificano errori nel file di configurazione. È _sempre_ una buona idea fare una copia di backup prima di apportare modifiche.
+
+Modificare il file _nsd.conf_. L'autore usa _vi_, ma si può sostituirlo con l'editor a riga di comando preferito:
+
+```bash
+vi /etc/nsd/nsd.conf
+```
+
+Andare in fondo al file e inserire quanto segue:
+
+```bash
+zone:
+ name: example.com
+ zonefile: /etc/nsd/example.com.zone
+```
+
+Sostituire `example.com` con il nome del dominio per il quale si gestisce un nameserver.
+
+Quindi, creare i file di zona:
+
+```bash
+vi /etc/nsd/example.com.zone
+```
+
+I file DNS zone sono compatibili con BIND. Nel file, inserire:
+
+```bash
+$TTL 86400 ; How long should records last?
+; $TTL used for all RRs without explicit TTL value
+$ORIGIN example.com. ; Define our domain name
+@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
+ 2024061301 ; serial
+ 3h ; refresh duration
+ 15 ; retry duration
+ 1w ; expiry duration
+ 3h ; nxdomain error ttl
+ )
+ IN NS ns1.example.com. ; in the domain
+ IN MX 10 mail.another.com. ; external mail provider
+ IN A 172.20.0.100 ; default A record
+; server host definitions
+ns1 IN A 172.20.0.100 ; name server definition
+www IN A 172.20.0.101 ; web server definition
+mail IN A 172.20.0.102 ; mail server definition
+```
+
+Se avete bisogno di aiuto per personalizzare i file di zona in stile BIND, Oracle ha [una buona introduzione ai zone file](https://docs.oracle.com/en-us/iaas/Content/DNS/Reference/formattingzonefile.htm).
+
+Salvare le modifiche.
+
+## Abilitare NSD
+
+Quindi, consentire le porte DNS in `firewalld` e abilitare NSD:
+
+```bash
+firewall-cmd --add-service=dns --zone=public
+firewall-cmd --runtime-to-permanent
+systemctl enable --now nsd
+```
+
+Verificare che il DNS riesca a risolvere l'host-name con il comando `host`:
+
+```bash
+% host example.com 172.20.0.100
+Using domain server:
+Name: 172.20.0.100
+Address: 172.20.0.100#53
+Aliases:
+
+example.com has address 172.20.0.100
+example.com mail is handled by 10 mail.another.com.
+%
+```
+
+## Server DNS secondario
+
+La gestione di uno o più server DNS autoritativi secondari è generalmente la norma. Questo è particolarmente utile quando il server primario si guasta. La funzione NSD consente di sincronizzare i record DNS da un server primario a uno o più server di backup.
+
+Per abilitare un server di backup, generare le chiavi di firma sulla zona primaria:
+
+```bash
+nsd-control-setup
+```
+
+È necessario copiare i seguenti file sul server di backup nella directory `/etc/nsd/`:
+
+- `nsd_control.key`
+- `nsd_control.pem`
+- `nsd_server.key`
+- `nsd_server.pem`
+
+Su tutti i server DNS, aggiungere quanto segue prima della direttiva `zone:`:
+
+```bash
+remote-control:
+ control-enable: yes
+ control-interface: 0.0.0.0
+ control-port: 8952
+ server-key-file: "/etc/nsd/nsd_server.key"
+ server-cert-file: "/etc/nsd/nsd_server.pem"
+ control-key-file: "/etc/nsd/nsd_control.key"
+ control-cert-file: "/etc/nsd/nsd_control.pem"
+```
+
+Inoltre, attivare le voci del firewall:
+
+```bash
+firewall-cmd --zone=public --add-port=8952/tcp
+firewall-cmd --runtime-to-permanent
+```
+
+Sul server primario, modificare la zone in modo che corrisponda a quanto segue:
+
+```bash
+zone:
+ name: example.com
+ zonefile: /etc/nsd/example.com.zone
+ allow-notify: NS2_IP NOKEY
+ provide-xfr: NS2_IP NOKEY
+ outgoing-interface: NS1_IP
+```
+
+Sostituire `NS1_IP1` e `NS2_IP2` con gli indirizzi IP pubblici dei nameserver primario e secondario.
+
+Sul server secondario, aggiungere la zone:
+
+```bash
+zone:
+ name: fourplex.net
+ notify: NS1_IP NOKEY
+ request-xfr: NS1_IP NOKEY
+ outgoing-interface: NS2_IP
+```
+
+Sostituire `NS1_IP1` e `NS2_IP2` con gli indirizzi IP pubblici dei nameserver primario e secondario.
+
+Riavviare NSD su entrambi i server dei nomi:
+
+```bash
+NS1# systemctl restart --now nsd
+```
+
+Per scaricare il file di zona sul nameserver secondario da quello primario:
+
+```bash
+nsd-control notify -s NS2_IP
+```
+
+Sostituire `NS2_IP2` con gli indirizzi IP pubblici del server dei nomi secondario.
+
+## Conclusione
+
+La maggior parte delle persone utilizza servizi DNS di terze parti. Tuttavia, ci sono scenari in cui è auspicabile un DNS self-hosting. Ad esempio, le società di telecomunicazioni, hosting e social media mantengono le proprie voci DNS quando i servizi DNS di terze parti sono indesiderati.
+
+NSD è uno dei tanti strumenti open source che rendono possibile l'hosting DNS.
diff --git a/docs/guides/dns/nsd_authoritative_dns.uk.md b/docs/guides/dns/nsd_authoritative_dns.uk.md
index 0c9a5f183f..a4323d52da 100644
--- a/docs/guides/dns/nsd_authoritative_dns.uk.md
+++ b/docs/guides/dns/nsd_authoritative_dns.uk.md
@@ -9,7 +9,7 @@ tags:
Альтернативою BIND, [NSD](https://www.nlnetlabs.nl/projects/nsd/about/) (Name Server Daemon) є сучасний авторитетний сервер DNS, який підтримується [NLnet Labs](https:// www.nlnetlabs.nl/).
-## Передумови та припущення
+## Передумови і Припущення
- Сервер під керуванням Rocky Linux
- Можливість використання `firewalld` для створення правил брандмауера
diff --git a/docs/guides/dns/private_dns_server_using_bind.fr.md b/docs/guides/dns/private_dns_server_using_bind.fr.md
index 9acd036d28..aa2ce8b189 100644
--- a/docs/guides/dns/private_dns_server_using_bind.fr.md
+++ b/docs/guides/dns/private_dns_server_using_bind.fr.md
@@ -1,5 +1,5 @@
---
-title: bind - Serveur DNS privé
+title: bind — Serveur DNS Privé
author: Steven Spencer
contributors: Ezequiel Bruni, k3ym0, Ganna Zhyrnova
tested_with: 8.5, 8.6, 9.0
@@ -510,7 +510,7 @@ public
Ces règles vous permettront d'obtenir une résolution DNS sur votre serveur DNS privé à partir des hôtes du réseau 192.168.1.0/24. De plus, vous pourrez vous connecter en SSH depuis n'importe lequel de ces hôtes à votre serveur DNS privé.
-## Conclusion
+## Conclusions
La modification de */etc/hosts* sur un poste de travail individuel vous donnera accès à une machine sur votre réseau interne, mais vous ne pourrez l'utiliser que sur cette seule machine. Un serveur DNS privé qui utilise *bind* vous permettra d'ajouter des hôtes au DNS et, à condition que les postes de travail aient accès à ce serveur DNS privé, ils pourront accéder à ces serveurs locaux.
diff --git a/docs/guides/dns/unbound_recursive_dns.de.md b/docs/guides/dns/unbound_recursive_dns.de.md
index 3028ed62a7..360b95e60e 100644
--- a/docs/guides/dns/unbound_recursive_dns.de.md
+++ b/docs/guides/dns/unbound_recursive_dns.de.md
@@ -52,6 +52,7 @@ server:
interface: ::
access-control: 192.168.0.0/16 allow
access-control: 2001:db8::/64 allow
+ chroot: ""
forward-zone:
name: "."
diff --git a/docs/guides/dns/unbound_recursive_dns.fr.md b/docs/guides/dns/unbound_recursive_dns.fr.md
index 86bf6356f1..bc02950330 100644
--- a/docs/guides/dns/unbound_recursive_dns.fr.md
+++ b/docs/guides/dns/unbound_recursive_dns.fr.md
@@ -52,6 +52,7 @@ server:
interface: ::
access-control: 192.168.0.0/16 allow
access-control: 2001:db8::/64 allow
+ chroot: ""
forward-zone:
name: "."
diff --git a/docs/guides/dns/unbound_recursive_dns.it.md b/docs/guides/dns/unbound_recursive_dns.it.md
new file mode 100644
index 0000000000..ef45572156
--- /dev/null
+++ b/docs/guides/dns/unbound_recursive_dns.it.md
@@ -0,0 +1,101 @@
+---
+title: DNS ricorsivo Unbound
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - dns
+---
+
+Un'alternativa a BIND, [Unbound](https://www.nlnetlabs.nl/projects/unbound/about/) è un moderno server DNS di convalida, ricorsivo e di caching gestito da [NLnet Labs](https://www.nlnetlabs.nl/).
+
+## Prerequisiti e presupposti
+
+- Un server con Rocky Linux
+- In grado di utilizzare `firewalld` per la creazione di regole firewall
+
+## Introduzione
+
+Esistono due tipi di server DNS: autoritario e ricorsivo. Laddove i server DNS autoritativi pubblicizzano una zona DNS, i server ricorsivi risolvono le query per conto dei client inoltrandole a un ISP o a un resolver DNS pubblico o alle zone radice dei server più grandi.
+
+Ad esempio, il router di casa probabilmente esegue un resolver DNS ricorsivo incorporato che inoltra al vostro ISP o a un noto server DNS pubblico, che è anche un server DNS ricorsivo.
+
+## Installazione e abilitazione di Unbound
+
+Installare Unbound:
+
+```bash
+dnf install unbound
+```
+
+## Configurazione di Unbound
+
+Prima di apportare modifiche a qualsiasi file di configurazione, spostare il file originale installato e funzionante, `unbound.conf`:
+
+```bash
+cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.orig
+```
+
+Questo aiuterà in futuro se si verificano errori nel file di configurazione. È _sempre_ una buona idea fare una copia di backup prima di apportare modifiche.
+
+Modificare il file _unbound.conf_. L'autore usa _vi_, ma potete sostituirlo con l'editor a riga di comando preferito:
+
+```bash
+vi /etc/unbound/unbound.conf
+```
+
+Inserire quanto segue:
+
+```bash
+server:
+ interface: 0.0.0.0
+ interface: ::
+ access-control: 192.168.0.0/16 allow
+ access-control: 2001:db8::/64 allow
+ chroot: ""
+
+forward-zone:
+ name: "."
+ forward-addr: 1.0.0.1@53
+ forward-addr: 1.1.1.1@53
+```
+
+Sostituire `192.168.0.0/16` e `2001:db8::/64` con le sottoreti per le quali si risolvono le query DNS. Salvare le modifiche.
+
+### Osservare da più vicino
+
+- L'opzione `interface` indica le interfacce (IPv4 o IPv6) su cui si desidera ascoltare le query DNS. Siamo in ascolto su tutte le interfacce con `0.0.0.0` e `::`.
+- L'opzione `access-control` indica le sottoreti (IPv4 o IPv6) da cui si desidera consentire le query DNS. Sono consentite richieste da `192.168.0.0/16` e `2001:db8::/64`.
+- Il `forward-addr` definisce i server a cui effettuare l'inoltro. Stiamo inoltrando a `1.1.1.1` e `1.0.0.1` di Cloudflare.
+
+## Abilitare Unbound
+
+Quindi, aprire le porte DNS in `firewalld` e abilitare Unbound:
+
+```bash
+firewall-cmd --add-service=dns --zone=public
+firewall-cmd --runtime-to-permanent
+systemctl enable --now unbound
+```
+
+Verificare la risoluzione DNS con il comando `host`:
+
+```bash
+$ host google.com 172.20.0.100
+Using domain server:
+Name: 172.20.0.100
+Address: 172.20.0.100#53
+Aliases:
+
+google.com has address 142.251.215.238
+google.com has IPv6 address 2607:f8b0:400a:805::200e
+google.com mail is handled by 10 smtp.google.com.
+```
+
+%
+
+## Conclusione
+
+La maggior parte delle persone utilizza il resolver DNS del router di casa o i resolver DNS pubblici gestiti da ISP e aziende tecnologiche. Nei laboratori domestici e nelle reti di grandi dimensioni, è consuetudine eseguire un resolver a livello di rete per ridurre la latenza e il carico di rete mettendo in cache le richieste DNS per i siti web comunemente richiesti, come Google. Un resolver a livello di rete consente anche di utilizzare servizi intranet come SharePoint e Active Directory.
+
+Unbound è uno dei tanti strumenti open-source che rendono possibile la risoluzione dei DNS. Congratulazioni, avete il vostro resolver DNS personale!
diff --git a/docs/guides/dns/unbound_recursive_dns.md b/docs/guides/dns/unbound_recursive_dns.md
index 5039ee770e..8fbef80ddc 100644
--- a/docs/guides/dns/unbound_recursive_dns.md
+++ b/docs/guides/dns/unbound_recursive_dns.md
@@ -52,6 +52,7 @@ server:
interface: ::
access-control: 192.168.0.0/16 allow
access-control: 2001:db8::/64 allow
+ chroot: ""
forward-zone:
name: "."
diff --git a/docs/guides/dns/unbound_recursive_dns.uk.md b/docs/guides/dns/unbound_recursive_dns.uk.md
index d1c58cf298..dec0519979 100644
--- a/docs/guides/dns/unbound_recursive_dns.uk.md
+++ b/docs/guides/dns/unbound_recursive_dns.uk.md
@@ -9,7 +9,7 @@ tags:
Альтернативою BIND, [Unbound](https://www.nlnetlabs.nl/projects/unbound/about/) є сучасний перевіряючий, рекурсивний і кешуючий DNS-сервер, який підтримується [NLnet Labs](https://www. nlnetlabs.nl/).
-## Передумови та припущення
+## Передумови і Припущення
- Сервер під керуванням Rocky Linux
- Можливість використання `firewalld` для створення правил брандмауера
@@ -52,6 +52,7 @@ server:
interface: ::
access-control: 192.168.0.0/16 allow
access-control: 2001:db8::/64 allow
+ chroot: ""
forward-zone:
name: "."
diff --git a/docs/guides/editors/micro.it.md b/docs/guides/editors/micro.it.md
index 837366b44e..5d7973fb8f 100644
--- a/docs/guides/editors/micro.it.md
+++ b/docs/guides/editors/micro.it.md
@@ -1,7 +1,7 @@
---
title: micro
author: Ezequiel Bruni
-contributors: Steven Spencer, Franco Colussi
+contributors: Steven Spencer, Ganna Zhyrnova
tested version: 8.5
tags:
- editor
@@ -15,12 +15,12 @@ tags:
*[micro](https://micro-editor.github.io)* è un piccolo e fantastico editor di testo basato su terminale che si colloca tra *nano* e *vim* in termini di complessità. Ha un flusso di lavoro semplice e facilmente riconoscibile, con diverse caratteristiche straordinarie:
-* Tutti i consueti comandi "Control-C", "Control-V" e "Control-F" funzionano come in un editor di testo basato su desktop. Naturalmente, tutte le associazioni di tasti possono essere reimpostate.
-* Supporto del mouse — fare clic e trascinare per selezionare il testo, fare doppio clic per selezionare le parole, fare triplo clic per selezionare le righe.
-* Sono supportate oltre 75 lingue con evidenziazione della sintassi per impostazione predefinita.
-* Cursori multipli per modificare più righe alla volta.
-* Include un sistema di plugin.
-* Pannelli multipli.
+- Tutti i consueti comandi ++control+c++, ++control+v++ e ++control+f++ funzionano come in un editor di testo basato su desktop. Naturalmente, tutte le associazioni di tasti possono essere reimpostate.
+- Supporto del mouse — fare clic e trascinare per selezionare il testo, fare doppio clic per selezionare le parole, fare triplo clic per selezionare le righe.
+- Sono supportate oltre 75 lingue con evidenziazione della sintassi per impostazione predefinita.
+- Cursori multipli per modificare più righe alla volta.
+- Include un sistema di plugin.
+- Pannelli multipli.
Ed ecco come appare nel mio terminale:
@@ -28,13 +28,13 @@ Ed ecco come appare nel mio terminale:
!!! Note "Nota"
- È possibile installare micro tramite un'applicazione snap. Se si utilizza già snap sulla macchina... Voglio dire... perché no? Ma io preferisco prenderlo direttamente dalla fonte.
+ È *possibile* installare micro tramite un'applicazione snap. Se si utilizza già snap sulla macchina... Voglio dire... perché no? Ma io preferisco prenderlo direttamente dalla fonte.
## Prerequisiti
-* Qualsiasi macchina o contenitore Rocky Linux connesso a Internet.
-* Conoscenza di base della riga di comando e desiderio di modificare il proprio testo.
-* Alcuni comandi dovranno essere eseguiti come root o con `sudo`.
+- Qualsiasi macchina o contenitore Rocky Linux connesso a Internet.
+- Conoscenza di base della riga di comando e desiderio di modificare il proprio testo.
+- Alcuni comandi dovranno essere eseguiti come root o con `sudo`.
### Come Installare micro
@@ -76,10 +76,10 @@ Inoltre, *micro* lascerà alcuni file di configurazione nella vostra home direct
rm -rf /home/[nomeutente]/.config/micro
```
-## Conclusione
+## Conclusioni
Se volete una guida completa all'uso di *micro*, consultate il [sito web principale](https://micro-editor.github.io) e la documentazione nella [repo di Github](https://github.com/zyedidia/micro/tree/master/runtime/help). È anche possibile premere "Control-G" per aprire il file di guida principale all'interno dell'applicazione stessa.
-probabilmente*micro* non soddisferà le esigenze di coloro che si sono dedicati all'esperienza di *vim* o *emacs*, ma è perfetto per le persone come me. Ho sempre desiderato l'esperienza del vecchio Sublime Text nel terminale e ora ho qualcosa di *veramente* vicino.
+probabilmente *micro* non soddisferà le esigenze di coloro che si sono dedicati all'esperienza di *vim* o *emacs*, ma è perfetto per le persone come me. Ho sempre desiderato l'esperienza del vecchio Sublime Text nel terminale e ora ho qualcosa di *molto* simile.
Provate e vedete se funziona per voi.
diff --git a/docs/guides/editors/micro.uk.md b/docs/guides/editors/micro.uk.md
index 6b2503e8d5..1d7ccb0d96 100644
--- a/docs/guides/editors/micro.uk.md
+++ b/docs/guides/editors/micro.uk.md
@@ -13,7 +13,7 @@ tags:
## Вступ
-*[micro](https://micro-editor.github.io)* – це фантастичний маленький термінальний текстовий редактор, який знаходиться між *nano* та *vim* з точки зору складності. Він має простий, легко впізнаваний робочий процес із кількома приголомшливими функціями:
+*[micro](https://micro-editor.github.io)* це чудовий невеликий текстовий редактор на основі терміналу, який знаходиться між *nano* та *vim* з точки зору складності. Він має простий, легко впізнаваний робочий процес із кількома приголомшливими функціями:
- Усі ваші звичайні команди ++control+c++, ++control+v++ та ++control+f++ працюють так само, як і в текстовому редакторі на основі настільного комп’ютера. Звичайно, усі прив’язки клавіш можна перев’язати.
- Підтримка миші — клацніть і перетягніть, щоб вибрати текст, двічі клацніть, щоб вибрати слова, та тричі клацніть, щоб вибрати рядки.
@@ -60,7 +60,7 @@ sudo mv micro /usr/bin/
### Дійсно простий спосіб
-Я створив неймовірно простий сценарій, який просто запускає всі ці команди. Ви можете знайти його в моїх [Github Gists](https://gist.github.com/EzequielBruni/0e29f2c0a63500baf6fe9e8c51c7b02f) і або скопіювати/вставити текст у файл на своєму комп’ютері, або завантажити його за допомогою `wget`.
+Я створив неймовірно простий сценарій, який просто запускає всі ці команди. Ви це можете знайти в моєму [Github](https://gist.github.com/EzequielBruni/0e29f2c0a63500baf6fe9e8c51c7b02f), і скопіюйте/вставте текст у файл на вашому комп'ютері або завантажте його за допомогою `wget`.
## Видалення мікро
@@ -78,7 +78,7 @@ rm -rf /home/[username]/.config/micro
## Висновок
-Якщо вам потрібен повний посібник із використання *micro*, відвідайте [основний веб-сайт](https://micro-editor.github.io) та документацію в [сховищі Github](https://github.com/zyedidia/micro/tree/master/runtime/help). Ви також можете натиснути «Control-G», щоб відкрити основний файл довідки в самій програмі.
+Якщо ви хочете отримати повний посібник з використання *micro*, перевірте [головний сайт](https://micro-editor.github.io), та цю документацію [Github](https://github.com/zyedidia/micro/tree/master/runtime/help). Ви також можете натиснути «Control-G», щоб відкрити основний файл довідки в самій програмі.
*micro*, ймовірно, не задовольнить потреби тих, хто присвятив себе *vim* або *emacs*, але він ідеально підходить для таких людей, як я. Мені завжди хотілося мати цей старий досвід Sublime Text у терміналі, і тепер у мене є щось *справді* близьке.
diff --git a/docs/guides/email/02-basic-email-system.it.md b/docs/guides/email/02-basic-email-system.it.md
index 73431db353..f1ee3f8690 100644
--- a/docs/guides/email/02-basic-email-system.it.md
+++ b/docs/guides/email/02-basic-email-system.it.md
@@ -1,12 +1,12 @@
---
title: Sistema di posta elettronica di base
-auther: tianci li
-contributors: Ganna Zhyrnova
+author: tianci li
+contributors: Ganna Zhyrnova, Neel Chauhan
---
# Panoramica
-Questo documento intende fornire al lettore una comprensione dettagliata dei vari componenti di un sistema di posta elettronica, compresa l'installazione, la configurazione di base e l'associazione. Si consiglia di utilizzare uno o più server di posta elettronica open source in un ambiente di produzione.
+Questo documento si propone di fornire al lettore una comprensione dettagliata dei vari componenti di un sistema di posta elettronica, compresa la sua installazione e configurazione di base.
Tutti i comandi di questo documento vengono eseguiti utilizzando **root(uid=0)**.
@@ -20,17 +20,19 @@ Tutti i comandi di questo documento vengono eseguiti utilizzando **root(uid=0)**
!!! info "Informazione"
- Senza un database, la combinazione di postfix e dovecot creerà un sistema di posta elettronica funzionante.
+ Postfix e Dovecot possono ancora funzionare per una piccola installazione senza database.
### Installare e configurare `bind`
+Innanzitutto, installare BIND:
+
```bash
Shell(192.168.100.7) > dnf -y install bind bind-utils
```
+Quindi, modificare `/etc/named.conf`:
+
```bash
-# Modificare il file di configurazione principale
-Shell(192.168.100.7) > vim /etc/named.conf
options {
listen-on port 53 { 192.168.100.7; };
...
@@ -40,14 +42,17 @@ options {
...
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
+```
+
+Verificare che la configurazione di BIND sia corretta.
+```bash
Shell(192.168.100.7) > named-checkconf /etc/named.conf
```
+Ora, modificare `/etc/named.rfc1912.zones`:
+
```bash
-# Modificare il file di zona
-## In pratica, si può sostituire rockylinux.me con il nome del proprio dominio, ad esempio rockylinux.org
-Shell(192.168.100.7) > vim /etc/named.rfc1912.zones
zone "rockylinux.me" IN {
type master;
file "rockylinux.localhost";
@@ -55,12 +60,13 @@ zone "rockylinux.me" IN {
};
```
-!!! question "Domanda"
+!!! question
- **Che cos'è la zona DNS?** Una zona DNS è la porzione specifica di uno spazio dei nomi DNS ospitata su un server DNS. Una zona DNS contiene record di risorse e il server DNS risponde alle query per i record in quello spazio dei nomi. Un server DNS può avere più zone DNS. In poche parole, una zona DNS è l'equivalente di un catalogo di libri.
+ **Che cos'è una zona DNS?** Una zona DNS è una porzione dello spazio dei nomi DNS ospitata su un server DNS. Una zona DNS contiene record di risorse e un server DNS risponde alle query per i record in quello spazio dei nomi. Un server DNS può avere più zone DNS. In parole povere, una zona DNS è analoga a un catalogo di libri.
+
+Per prima cosa, inizializzare BIND:
```bash
-# Modify data file
Shell(192.168.100.7) > cp -p /var/named/named.localhost /var/named/rockylinux.localhost
Shell(192.168.100.7) > vim /var/named/rockylinux.localhost
$TTL 1D
@@ -71,8 +77,7 @@ $TTL 1D
1W ; expire
3H ) ; minimum
NS dns.rockylinux.me.
- MX 2 mail.rockylinux.me.
-dns A 192.168.100.7
+ MX 2 mail.rockylinux.me. dns A 192.168.100.7
mail A 192.168.100.6
Shell(192.168.100.7) > named-checkzone rockylinux.me /var/named/rockylinux.localhost
@@ -80,9 +85,13 @@ zone rockylinux.me/IN: loaded serial 0
OK
```
-Avviare il servizio bind - `systemctl start named.service`
+Avviare ora BIND:
+
+```bash
+Shell(192.168.100.7) > systemctl start named.service
+```
-Possiamo verificare se gli host sotto il nome di dominio vengono risolti correttamente.
+Possiamo verificare se la risoluzione DNS del nostro server funziona:
```bash
Shell(192.168.100.7) > systemctl start named.service
@@ -106,9 +115,11 @@ dns.rockylinux.me. 86400 IN A 192.168.100.7
!!! info "Informazione"
- un nome di dominio non può rappresentare un host specifico.
+ Il nome del nostro dominio non può essere il nome host del nostro server.
+
+### Installare e configurare MySQL
-### Installare e configurare `Mysql`
+Per prima cosa, installate MySQL dal sorgente:
```bash
Shell(192.168.100.5) > groupadd mysql && useradd -r -g mysql -s /sbin/nologin mysql
@@ -127,9 +138,11 @@ Shell(192.168.100.5) > cd /usr/local/src/mysql-8.0.33 && mkdir build && cd build
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=/usr/local/src/mysql-8.0.33/boost/ \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-&& make && make install
+&& make && make install
```
+Quindi, inizializziamo MySQL:
+
```bash
Shell(192.168.100.5) > chown -R mysql:mysql /usr/local/mysql
Shell(192.168.100.5) > chmod -R 755 /usr/local/mysql
@@ -140,8 +153,9 @@ Shell(192.168.100.5) > /usr/local/mysql/bin/mysqld --initialize --user=mysql
2023-07-14T14:46:51.305307Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: pkqaXRuTn1/N
```
+Quindi, modificare la configurazione di `/etc/my.cnf` come segue:
+
```bash
-Shell(192.168.100.5) > vim /etc/my.cnf
[client]
port=3306
socket=/tmp/mysql.sock
@@ -154,25 +168,33 @@ basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
user=mysql
log-error=/usr/local/mysql/data/mysql_log.error
+```
+
+Ora, abilitate e accedete a MySQL:
+```bash
Shell(192.168.100.5) > /usr/local/mysql/bin/mysqld_safe --user=mysql &
Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u root --password="pkqaXRuTn1/N"
```
+Quindi, aggiungiamo le voci del nostro dominio in MySQL:
+
```sql
Mysql > ALTER USER 'root'@'localhost' IDENTIFIED BY 'rockylinux.me';
-Mysql > create user 'mailrl'@'%' identified by 'mail.rockylinux.me';
+Mysql > create user 'mailrl'@'%' identified by 'mail.rockylinux.me';
Mysql > grant all privileges on *.* to 'mailrl'@'%' with grant option;
```
-!!! info "Informazione"
+!!! info "Informazione"
- Non è necessario utilizzare lo stesso metodo dell'autore. È anche possibile installare Mysql da un repository o da docker.
+ È anche possibile installare MySQL da un repository `dnf` o da un contenitore.
#### Creare tabelle e inserire i dati
+Creiamo ora le tabelle MySQL necessarie per Dovecot:
+
```sql
Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u mailrl --password="mail.rockylinux.me"
@@ -200,9 +222,7 @@ Mysql > create table if not exists virtual_aliases (
destination varchar(100) NOT NULL,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
);
-```
-```sql
Mysql > insert into virtual_domains(id,name) values(1,'mail.rockylinux.me'),(2,'rockylinux.me');
Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1,'all@mail.rockylinux.me','frank@mail.rockylinux.me');
@@ -210,22 +230,20 @@ Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(1,1,
Mysql > insert into virtual_aliases(id,domain_id,source,destination) values(2,1,'all@mail.rockylinux.me','leeo@mail.rockylinux.me');
```
-In questo caso non ho inserito la password del testo cifrato per i relativi utenti di posta elettronica, che richiede l'uso del comando `doveadm pw -s SHA512-crypt -p twotestandtwo`. Vedere [qui](#ap1)
+Le voci delle password per gli utenti di posta elettronica interessati non sono mostrate qui, in quanto richiedono l'uso del comando `doveadm pw -s SHA512-crypt -p twotestandtwo`.
#### Nozioni di SHA512 (SHA-2)
-SHA-2 (Secure Hash Algorithm 2): Un algoritmo crittografico per funzioni di hash standard. È il successore di SHA-1.
+Gli algoritmi di hashing della password principali sono:
-Standard principali:
+- SHA-0
+- SHA-1
+- SHA-2: includes SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256
+- SHA-3
-* SHA-0
-* SHA-1
-* SHA-2: Contiene questi -- SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
-* SHA-3
+Nello standard di hashing SHA-2, il numero dell'algoritmo si riferisce alla lunghezza del digest in bit.
-Nello standard di crittografia SHA-2, il numero dell'algoritmo si riferisce alla lunghezza del digest in bit.
-
-È noto che in RockyLinux 8 e in altre varianti di RHEL 8, l'algoritmo utilizzato per crittografare le password degli utenti è SHA-512.
+È noto che in Rocky Linux 8 e in altre varianti di RHEL 8, l'algoritmo predefinito utilizzato per crittografare le password degli utenti è SHA-512. Per recuperare l'algoritmo dell'insieme:
```bash
Shell(192.168.100.5) > grep -i method /etc/login.defs
@@ -239,44 +257,47 @@ Shell(192.168.100.5) > grep -i root /etc/shadow | cut -f 2 -d ":"
$6$8jpmvCw8RqNfHYW4$pOlsEZG066eJuTmNHoidtvfWHe/6HORrKkQPwv4eyFxqGXKEXhep6aIRxAtv7FDDIq/ojIY1SfWAQkk7XACeZ0
```
-Usare il segno $ per separare le informazioni del testo in uscita.
+Le informazioni riportate nell'hash (separate da $) sono le seguenti:
-* 6: Significa id. Per l'algoritmo di crittografia SHA-512, il valore è fissato a 6.
-* 8jpmvCw8RqNfHYW4: Conosciuto anche come "salt". La sua funzione principale è quella di aumentare la sicurezza e migliorare la difficoltà di cracking. Il sistema può generarlo in modo casuale o può essere specificato manualmente.
-* pOlsEZG066eJuTmNHoidtvfWHe/6HORrKkQPwv4eyFxqGXKEXhep6aIRxAtv7FDDIq/ojIY1SfWAQkk7XACeZ0: 86 numero fisso di caratteri. Si riferisce alle password di testo cifrato generate utilizzando algoritmi di crittografia.
+- 6: Significa id. L'algoritmo di crittografia SHA-512 è fissato a 6.
+- 8jpmvCw8RqNfHYW4: Conosciuto anche come "salt". La sua funzione principale è quella di aumentare la sicurezza e migliorare la difficoltà di cracking. Il sistema può generarlo in modo casuale, oppure può essere specificato manualmente.
+- pOlsEZG066eJuTmNHoidtvfWHe/6HORrKkQPwv4eyFxqGXKEXhep6aIRxAtv7FDDIq/ojIY1SfWAQkk7XACeZ0: 86 numero fisso di caratteri. Si riferisce alle password di testo cifrato generate utilizzando algoritmi di crittografia.
### Installare e configurare `postfix`
+Ora installeremo Postfix:
+
```bash
Shell(192.168.100.6) > dnf -y install postfix postfix-mysql
```
-Dopo aver installato Postfix, è necessario conoscere i seguenti file:
+Dopo l'installazione di Postfix, è necessario modificare i seguenti file:
-* **/etc/postfix/main.cf**. Il file di configurazione principale e più importante
-* **/etc/postfix/master.cf**. Si usa per impostare i parametri di runtime per ciascun componente. In generale, non è necessario apportare modifiche, tranne nel caso in cui sia necessaria un'ottimizzazione delle prestazioni.
-* **/etc/postfix/access**. File di controllo degli accessi per SMTP.
-* **/etc/postfix/transport**. Mappa gli indirizzi e-mail agli host di relay.
+- `/etc/postfix/main.cf`. Il file di configurazione principale e più importante
+- `/etc/postfix/master.cf`. Si usa per impostare i parametri di runtime per ciascun componente. Questo file viene utilizzato se si vuole abilitare il filtro antispam o altre porte SMTP.
+- `/etc/postfix/access`. File di controllo dell'accesso per SMTP.
+- `/etc/postfix/transport`. Mappa gli indirizzi e-mail agli host di relay.
È necessario conoscere questi file binari eseguibili:
-* /**usr/sbin/postalias**. Istruzione di generazione del database alias. Dopo l'esecuzione di questo comando, viene generato /etc/aliases.db sulla base del file /etc/aliases
-* **/usr/sbin/postcat**. Questo comando viene utilizzato per visualizzare il contenuto della posta nella coda di posta.
-* **/usr/sbin/postconf**. Interrogazione delle informazioni di configurazione.
-* **/usr/sbin/postfix**. I comandi del demone principale. Può essere utilizzato come segue:
+- `/usr/sbin/postalias`: questo programma genera il database degli alias in `/etc/aliases.db` sulla base del file /etc/aliases.
+- `/usr/sbin/postcat` visualizza il contenuto della posta nella coda di posta.
+- `/usr/sbin/postconf` interroga la configurazione di Postfix.
+- `/usr/sbin/postfix` è il demone principale. Può essere utilizzato come segue:
+ - `postfix check`
+ - `postfix start`
+ - `postfix stop`
+ - `postfix reload`
+ - `postfix status`
- * `postfix check`
- * `postfix start`
- * `postfix stop`
- * `postfix reload`
- * `postfix status`
+!!! tip
-!!! tip "Suggerimento"
-
- È possibile specificare l'MTA predefinito utilizzando il comando `alternatives -config mta` se si dispone di più di un MTA sul server.
+ Se il server ha più di un MTA, è possibile specificare l'MTA predefinito usando il comando `alternatives -config mta`.
#### Descrizione del file /etc/postfix/main.cf
+È possibile visualizzare il file di configurazione di Postfix:
+
```bash
Shell(192.168.100.6) > egrep -v "^#|^$" /etc/postfix/main.cf
compatibility_level = 2
@@ -313,58 +334,70 @@ meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
```
-* **compatibility_level = 2**. Un nuovo meccanismo introdotto in Postfix 3 è stato progettato per essere compatibile con le versioni precedenti.
-* **data_directory = /var/lib/postfix**. La directory in cui sono memorizzati i dati nella cache.
-* **myhostname = host.domain.tld**. Parametri importanti che sono stati commentati. È necessario cambiarlo con l'hostname del proprio nome di dominio.
-* **mydomain = domain.tld**. Parametri importanti che sono stati commentati. È necessario cambiarlo con il proprio nome di dominio.
-* **myorigin = \$myhostname** and **myorigin = $mydomain**. Parametri importanti che sono stati commentati. La funzione principale è quella di integrare il suffisso di posta del mittente. **\$** rappresenta una variabile parametrica di riferimento.
-* **inet_interfaces = localhost**. Quando si riceve la posta, questo parametro indica l'indirizzo da ascoltare. Il valore viene solitamente modificato in "all".
-* **inet_protocols = all**. Abilitare IPv4 e IPv6, se supportato
-* **mydestination = \$myhostname, localhost.\$mydomain, localhost**. Indica la ricezione di posta dalla destinazione indicata.
-* **unknown_local_recipient_reject_code = 550**. Il codice di errore restituito quando si invia a un account che non esiste nel dominio locale o si rifiuta un'e-mail.
-* **mynetworks =**. Impostare le e-mail degli host che possono essere inoltrate.
-* **relay_domains = $mydestination**. Impostare le e-mail dei domini che possono essere inoltrate.
-* **alias_maps = hash:/etc/aliases**. Viene utilizzato per definire gli alias degli utenti e richiede il supporto del database.
-* **alias_database = hash:/etc/aliases**. Il database da utilizzare per gli alias.
-* **home_mailbox = Maildir/**. Parametri importanti che sono stati commentati. Indica dove è memorizzata la casella di posta locale.
-* **debug_peer_level = 2**. Livello dei record di registro.
-* **setgid_group = postdrop**. L'identificativo del gruppo utilizzato per inviare e-mail o gestire le code.
+La spiegazione di questi parametri è la seguente:
+
+- `compatibility_level = 2`: Abilita la compatibilità con le configurazioni di Postfix 2.x.
+- `data_directory = /var/lib/postfix`. La directory della cache di Postfix.
+- `myhostname = host.domain.tld`: **Importante:** è necessario cambiarlo con il nome dell'host sotto il proprio nome di dominio.
+- `mydomain = domain.tld`: **Importante:** è necessario cambiarlo con il nome del proprio dominio.
+- `myorigin = $myhostname` e `myorigin = $mydomain`: **Importante:** parametri che sono stati commentati. La funzione principale è quella di integrare il suffisso di posta del mittente. `$` rappresenta una variabile parametro di riferimento.
+- `inet_interfaces = localhost`: Le interfacce da ascoltare. Questo valore viene solitamente modificato in "all".
+- `inet_protocols = all`: Abilita IPv4 e IPv6 se viene trovato un indirizzo.
+- `mydestination = \$myhostname, localhost.\$mydomain, localhost`: indica gli host di destinazione del server di posta.
+- `unknown_local_recipient_reject_code = 550`: Il codice di errore restituito quando si riceve un'e-mail a una destinazione sconosciuta o si rifiuta un'e-mail.
+- `mynetworks =`: Imposta le reti da cui accettare le e-mail.
+- `relay_domains = $mydestination`: Imposta i domini da cui inviare i messaggi di posta elettronica.
+- `alias_maps = hash:/etc/aliases`: Elenco degli alias del nostro server di posta elettronica.
+- `alias_database = hash:/etc/aliases`: Il database deve essere utilizzato da alias.
+- `home_mailbox = Maildir/`: Importante: Posizione della casella di posta locale.
+- `debug_peer_level = 2`: Livello dei record di log.
+- `setgid_group = postdrop`: Il gruppo Unix per la gestione delle code di Postfix.
A parte le voci di parametro menzionate o visualizzate sopra, alcuni parametri sono nascosti e possono essere visualizzati tramite il comando `postconf`. I parametri più importanti sono:
-* **message_size_limit = 10240000**. Impostare le dimensioni di una singola e-mail (compresi il corpo e gli allegati). L'unità di misura del valore è B (Byte).
-* **mailbox_size_limit = 1073741824**. Impostare il limite di capienza per un singolo utente della mailbox.
-* **smtpd_sasl_type = cyrus**. Il tipo di autenticazione SASL (Simple Authentication and Security Layer). È possibile utilizzare `postconf -a` per visualizzare.
-* **smtpd_sasl_auth_enable = no**. Abilitare o meno l'autenticazione SASL.
-* **smtpd_sasl_security_options = noanonymous**. Opzioni di sicurezza per SASL. L'autenticazione anonima è disattivata per impostazione predefinita.
-* **smtpd_sasl_local_domain =**. Il nome del dominio locale.
-* **smtpd_recipient_restrictions =**. Filtro dei destinatari. Il valore di default è vuoto.
+- `message_size_limit = 10240000`. Dimensione massima di un singolo messaggio in byte.
+- `mailbox_size_limit = 1073741824`: Dimensione massima della casella di posta elettronica di un utente.
+- `smtpd_sasl_type = cyrus`: Il software del server IMAP utilizzato per l'autenticazione SASL. È possibile utilizzare `postconf -a` per visualizzarlo.
+- `smtpd_sasl_auth_enable = no`: Se abilitare l'autenticazione SASL.
+- **smtpd_sasl_security_options = noanonymous**. Opzioni di sicurezza per SASL. L'autenticazione anonima è disattivata per impostazione predefinita.
+- **smtpd_sasl_local_domain =**. Il nome del dominio locale.
+- **smtpd_recipient_restrictions =**. Filtro dei destinatari. Il valore di default è vuoto.
#### Modificare /etc/postfix/main.cf
+Con i pacchetti installati, devi configurare Postfix. Effettua le seguenti modifiche in `/etc/postfix/main.cf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/postfix/main.cf
-...
-myhostname = mail.rockylinux.me
-mydomain = rockylinux.me
-myorigin = $myhostname
-inet_interfaces = 192.168.100.6
-inet_protocols = ipv4
-mydestination =
-biff = no
-append_dot_mydomain = no
-smtpd_sasl_type = dovecot
-smtpd_sasl_path = private/auth
-smtpd_sasl_auth_enable = yes
-smtpd_sasl_local_domain = $myhostname
-virtual_transport = lmtp:unix:private/dovecot-lmtp
-virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
-virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
-virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-virtual-email2email.cf
-...
+Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-domains.cf
+user = mailrl
+password = mail.rockylinux.me
+hosts = 192.168.100.5
+dbname = mailserver
+query = SELECT 1 FROM virtual_domains WHERE name='%s'
+
+Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-maps.cf
+user = mailrl
+password = mail.rockylinux.me
+hosts = 192.168.100.5
+dbname = mailserver
+query = SELECT 1 FROM virtual_users WHERE email='%s'
+
+Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-alias-maps.cf
+user = mailrl
+password = mail.rockylinux.me
+hosts = 192.168.100.5
+dbname = mailserver
+query = SELECT destination FROM virtual_aliases WHERE source='%s'
+
+Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-email2email.cf
+user = mailrl
+password = mail.rockylinux.me
+hosts = 192.168.100.5
+dbname = mailserver
+query = SELECT email FROM virtual_users WHERE email='%s'
```
-Il contenuto finale del file appare così:
+La configurazione finale dovrebbe somigliare a questa:
```text
compatibility_level = 2
@@ -414,31 +447,41 @@ meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
```
-Creare un file e scrivere il contenuto corrispondente:
+Crea e modifica i seguenti file:
+
+In `/etc/postfix/mysql-virtual-mailbox-domains.cf`:
```bash
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-domains.cf
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
+```
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-mailbox-maps.cf
+In `/etc/postfix/mysql-virtual-mailbox-maps.cf`:
+
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT 1 FROM virtual_users WHERE email='%s'
+```
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-alias-maps.cf
+In `/etc/postfix/mysql-virtual-alias-maps.cf`:
+
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
dbname = mailserver
query = SELECT destination FROM virtual_aliases WHERE source='%s'
+```
-Shell(192.168.100.6) > vim /etc/postfix/mysql-virtual-email2email.cf
+In `/etc/postfix/mysql-virtual-email2email.cf`:
+
+```bash
user = mailrl
password = mail.rockylinux.me
hosts = 192.168.100.5
@@ -446,18 +489,18 @@ dbname = mailserver
query = SELECT email FROM virtual_users WHERE email='%s'
```
-!!! warning "Attenzione"
+!!! warning "Attenzione"
- Se si riscontra questo tipo di errore dopo aver eseguito `systemctl start postfix.service` -- "fatal: open lock file /var/lib/postfix/master.lock: unable to set exclusive lock: Resource temporarily unavailable." Si prega di cancellare il file esistente **/var/lib/postfix/master.lock**
+ Se riscontri questo tipo di errore dopo aver eseguito `systemctl start postfix.service`: `fatal: open lock file /var/lib/postfix/master.lock: impossibile impostare il blocco esclusivo: Risorsa temporaneamente non disponibile.`, sei pregato di eliminare il file `/var/lib/postfix/master.lock` esistente
-Verifica della configurazione di Postfix:
+Test della nostra configurazione di Postfix:
```bash
Shell(192.168.100.6) > systemctl start postfix.service
Shell(192.168.100.6) > postfix check
Shell(192.168.100.6) > postfix status
-# If the command return 1, it is successful.
+# Se il comando restituisce 1, è riuscito.
Shell(192.168.100.6) > postmap -q mail.rockylinux.me mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
Shell(192.168.100.6) > echo $?
1
@@ -472,10 +515,9 @@ frank@mail.rockylinux.me,leeo@mail.rockylinux.me
#### Modificare /etc/postfix/master.cf
-Il file modificato ha il seguente aspetto:
+Il file `/etc/postfix/master.cf` modificato somiglia a questo:
```bash
-Shell(192.168.100.6) > egrep -v "^#|^$" /etc/postfix/master.cf
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
@@ -500,10 +542,9 @@ smtps inet n - n - - smtpd
-o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-...
```
-Infine, eseguite il comando `systemctl restart postfix.service`. A questo punto, la configurazione di postfix è terminata.
+Infine, esegui `systemctl restart postfix.service`. A questo punto, abbiamo configurato Postfix.
### Installare e configurare `dovecot`
@@ -511,7 +552,7 @@ Infine, eseguite il comando `systemctl restart postfix.service`. A questo punto,
Shell(192.168.100.6) > dnf config-manager --enable devel && dnf -y install dovecot dovecot-devel dovecot-mysql
```
-Senza modificare alcun file, la struttura della directory originale è la seguente:
+Senza modificare alcun file, la struttura predefinita della directory di Dovecot è la seguente:
```bash
Shell(192.168.100.6) > tree /etc/dovecot/
@@ -545,69 +586,77 @@ Shell(192.168.100.6) > tree /etc/dovecot/
└── dovecot.conf
```
-Sì, sia Postfix che Dovecot hanno configurazioni molto complesse, quindi si raccomanda alla maggior parte degli amministratori di sistemi GNU/Linux di utilizzare server di posta elettronica open source.
-
-Come per postfix, inserire il comando `doveconf` per visualizzare la configurazione completa.
+Come con Postfix, inserisci il comando `doveconf` per visualizzare la configurazione completa.
La descrizione del file è la seguente:
-* **dovecot.conf**: Il file di configurazione principale di dovecot.
+- `dovecot.conf` è il file di configurazione principale di Dovecot.
+ - Carica altri file di configurazione tramite `!include conf.d/*.conf`.
+ - Il prefisso numerico del file di configurazione secondaria serve a facilitare la comprensione dell'ordine di parsing.
+ - Per ragioni storiche, alcuni file di configurazione sono ancora separati, tipicamente denominati `*.conf.ext`.
+ - Nel file di configurazione si possono utilizzare variabili suddivise in **variabili globali** e **variabili utente**, che iniziano con `%`. Si veda il [sito Dovecot a riguardo a questo proposito](https://doc.dovecot.org/2.3/configuration_manual/config_file/config_variables/).
- * Caricare i file di configurazione secondari con il metodo `!include conf.d/*.conf`. Dovecot non si preoccupa di quali impostazioni siano presenti in tali file.
- * Il prefisso numerico del file di configurazione secondaria serve a facilitare la comprensione dell'ordine di parsing.
- * Per ragioni storiche, esistono ancora alcuni file di configurazione esterni al file principale `dovecot.conf`, che sono tipicamente denominati `*.conf.ext`.
- * Nel file di configurazione si possono usare variabili, che si dividono in **variabili globali** e **variabili utente**, che iniziano con `%`. Vedere [qui](https://doc.dovecot.org/configuration_manual/config_file/config_variables/#config-variables).
-
-* **10-auth.conf**. Configurazione relativa all'autenticazione dell'identità.
-* **10-logging.conf**. Configurazione relativa al registro. Può essere molto utile nell'analisi delle prestazioni, nel debug del software, ecc.
-* **10-mail.conf**. Configurazione delle posizioni delle caselle postali e degli spazi dei nomi. Per impostazione predefinita, il valore della posizione della casella di posta dell'utente è vuoto, il che significa che Dovecot cerca automaticamente la posizione della casella di posta. Quando l'utente non ha alcuna posta, è necessario indicare esplicitamente a Dovecot la posizione di tutte le caselle di posta.
-* **10-metrics.conf**. Configurazione relativa alle informazioni statistiche.
-* **15-mailboxes.conf**. Configurazione della definizione della mailbox.
-* **auth-sql.conf.ext**. Autenticazione per gli utenti SQL.
+- `10-auth.conf`: Configurazione dell'autenticazione.
+- `10-logging.conf`. Configurazione del registro.
+- `10-mail.conf`. Configurazione delle posizioni delle caselle e degli spazi dei nomi. Per impostazione predefinita, il valore della posizione della casella di posta dell'utente è vuoto, il che significa che Dovecot cerca automaticamente la posizione della casella di posta. Quando l'utente non ha alcuna email, è necessario indicare esplicitamente a Dovecot la posizione di tutte le caselle di posta.
+- `10-metrics.conf`. Configurazione delle statistiche.
+- `15-mailboxes.conf`. Configurazione delle caselle postali.
+- `auth-sql.conf.ext`. Configurazione utente SQL.
#### Alcuni importanti parametri del file di configurazione
-* `protocols = imap pop3 lmtp submission`. Protocolli supportati da Dovecot.
-* `listen = *, ::`. Un elenco separato da virgole di IP o host da cui ascoltare per le connessioni. "*" ascolta tutte le interfacce IPv4, "::" ascolta tutte le interfacce IPv6.
-* `disable_plaintext_auth = yes`. Disattivare o meno la password in chiaro per l'autenticazione.
-* `auth_mechanisms =`. Il tipo di meccanismo di autenticazione, i cui valori possono essere multipli e separati da spazi. Valori: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego.
-* `login_trusted_networks=`. Quali client (MUA) sono autorizzati a usare Dovecot. Può essere un indirizzo IP separato, può essere un segmento di rete o può essere misto e separato da spazi. Come questo-- `login_trusted_networks = 10.1.1.0/24 192.168.100.2`
-* `mail_location =`. Se il valore è vuoto, Dovecot tenta di trovare automaticamente le caselle di posta elettronica (cercando in ~/Maildir, /var/mail/username, ~/mail e ~/Mail, in quest'ordine). Tuttavia, il rilevamento automatico di solito fallisce per gli utenti la cui directory di posta non è ancora stata creata, quindi si dovrebbe indicare esplicitamente la posizione completa qui, se possibile.
-* `mail_privileged_group =`. Questo gruppo è abilitato temporaneamente per le operazioni privilegiate. Attualmente viene utilizzato solo con INBOX quando la sua creazione iniziale o il blocco dei punti falliscono. In genere si imposta "mail" per accedere a /var/mail.
+- `protocolli = imap pop3 lmtp invio`: Elenco dei protocolli da utilizzare.
+- `listen = *, ::`: Un elenco separato da virgole di IP o host in cui ascoltare le connessioni. `*` ascolta tutte le interfacce IPv4, `::` ascolta tutte le interfacce IPv6.
+- `disable_plaintext_auth = yes`: se disattivare l'autenticazione in chiaro.
+- `auth_mechanisms =`: Il tipo di meccanismo di autenticazione da utilizzare. È possibile specificare più valori, separati da spazi. Valori: plain, login, digest-md5, cram-md5, ntlm, rpa, apop, anonymous, gssapi, otp, skey, gss-spnego.
+- `login_trusted_networks =`: Quali reti IP sono autorizzate a usare Dovecot. Può essere un singolo indirizzo IP, un segmento di rete o entrambi. Per esempio: `login_trusted_networks = 10.1.1.0/24 192.168.100.2`
+- `mail_location =`: Con un valore vuoto, Dovecot tenta di trovare automaticamente le caselle di posta (cercando in `~/Maildir`, `/var/mail/username`, `~/mail`, e `~/Mail`, in questo ordine). Tuttavia, il rilevamento automatico fallisce per gli utenti la cui cartella dell'email non è ancora stata creata, quindi dovresti dichiarare qui, esplicitamente, se possibile, la posizione completa.
+- `mail_privileged_group =`: Questo gruppo è abilitato temporaneamente per le operazioni privilegiate. Viene utilizzato solo con l'INBOX quando la sua creazione iniziale o il dotlocking falliscono. In genere, per accedere a `/var/mail` si imposta `mail`.
#### Modifica di più file
+Per prima cosa, modificare la configurazione di Dovecot in `/etc/dovecot/dovecot.conf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/dovecot.conf
-...
protocols = imap pop3 lmtp
listen = 192.168.100.6
-...
```
+Successivamente, modificare la configurazione dell'archiviazione della posta in `/etc/dovecot/conf.d/10-mail.conf`:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-mail.conf
-...
# %u - username
# %n - user part in user@domain, same as %u if there's no domain
# %d - domain part in user@domain, empty if there's no domain
# %h - home directory
mail_location = maildir:/var/mail/vhosts/%d/%n
-...
mail_privileged_group = mail
-...
```
-Creazione delle directory correlate -- `mkdir -p /var/mail/vhosts/rockylinux.me`. `rockylinx.me` si riferisce al nome di dominio per il quale si è fatta richiesta (chiamato dominio o dominio locale nella posta elettronica).
+Creare la directory della posta:
+
+```bash
+Shell(192.168.100.7) > mkdir -p /var/mail/vhosts/rockylinux.me
+```
+
+`rockylinux.me` si riferisce al nome di dominio che state ospitando.
+
+Aggiungere l'utente Dovecot e la directory home:
-Aggiungere utenti correlati e specificare la directory home -- `groupadd -g 2000 vmail && useradd -g vmail -u 2000 -d /var/mail/ vmail`
+```bash
+Shell(192.168.100.7) > groupadd -g 2000 vmail
+Shell(192.168.100.7) > useradd -g vmail -u 2000 -d /var/mail/ vmail
+```
-Modifica del proprietario e del gruppo -- `chown -R vmail:vmail /var/mail/`
+Cambiare il proprietario e il gruppo:
+
+```bash
+Shell(192.168.100.7) > chown -R vmail:vmail /var/mail/
+```
-Cancellare i commenti relativi al file:
+Abilitare i database dei nomi utente e delle password in `/etc/dovecot/conf.d/auth-sql.conf.ext`:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/auth-sql.conf.ext
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
@@ -616,40 +665,44 @@ userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}
-...
```
!!! warning "Attenzione"
- Non scrivete la sintassi di cui sopra su una sola riga, come in questo caso--"userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}". Altrimenti, non funzionerà.
+ Non scrivere la precedente sintassi su una singola riga, come in questo caso: `userdb {driver = sql args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n}`. Altrimenti, non funzionerà.
-Creare il file /etc/dovecot/dovecot-sql.conf.ext e scrivere il relativo contenuto:
+Modifica il file `/etc/dovecot/dovecot-sql.conf.ext` con i seguenti contenuti:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/dovecot-sql.conf.ext
driver = mysql
connect = host=192.168.100.5 dbname=mailserver user=mailrl password=mail.rockylinux.me
default_pass_scheme = SHA512-CRYPT
password_query = SELECT password FROM virtual_users WHERE email='%u'
```
-Modifica del proprietario e del gruppo -- `chown -R vmail:dovecot /etc/dovecot`
+Ora, modifica il proprietario e il gruppo:
-Modificare i permessi delle cartelle -- `chmod -R 770 /etc/dovecot`
+```bash
+Shell(192.168.100.7) > chown -R vmail:dovecot /etc/dovecot
+```
+
+Quindi, modifica le autorizzazioni della cartella:
+
+```bash
+Shell(192.168.100.7) > chmod -R 770 /etc/dovecot
+```
+
+Ora, nella configurazione di `/etc/dovecot/conf.d/10-auth.conf`, aggiungi quanto segue:
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
-...
auth_mechanisms = plain login
-...
-#!include auth-system.conf.ext
!include auth-sql.conf.ext
```
+In `/etc/dovecot/conf.d/10-master.conf`, aggiungi:
+
```bash
-Shell(192.168.100.6) > vim /etc/dovecot/conf.d/10-master.conf
-...
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
@@ -657,7 +710,6 @@ service lmtp {
group = postfix
}
}
-...
service auth {
unix_listener auth-userdb {
mode = 0600
@@ -675,16 +727,19 @@ service auth {
service auth-worker {
user = vmail
}
-...
```
-OK, utilizzare il comando per avviare il servizio-- `systemctl start dovecot.service`
+Ora, abilita Dovecot:
-!!! info "Informazione"
+```bash
+Shell(192.168.100.7) > systemctl enable --now dovecot
+```
+
+!!! info "Info"
- Durante l'inizializzazione di dovecot, il file **/usr/libexec/dovecot/mkcert.sh** viene eseguito per generare un certificato autofirmato.
+ Durante l'inizializzazione di Dovecot, il file **/usr/libexec/dovecot/mkcert.sh** viene eseguito per generare un certificato autofirmato.
-È possibile verificare l'occupazione della porta con il seguente comando:
+Puoi controllare le porte d'ascolto utilizzando il seguente comando:
```bash
Shell(192.168.100.6) > ss -tulnp
@@ -703,11 +758,12 @@ tcp LISTEN 0 100 192.168.100.6:465
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=732,fd=4))
```
-Porte occupate da postfix -- 25, 587, 465 Porte occupate da dovecot -- 993, 995, 110, 143
+Nel risultato precedente, le porte utilizzate sono:
-È possibile utilizzare il comando `doveadm` per generare la password cifrata pertinente e inserirla nella tabella virtual_users.
+- Da Postfix: 25, 587, 465
+- Da Dovecot: 993, 995, 110, 143
-
+Puoi utilizzare il comando `doveadm` per geerare la password in testo cifrato rilevante e inserirla nella tabella virtual\_users.
```bash
Shell(192.168.100.6) > doveadm pw -s SHA512-crypt -p onetestandone
@@ -717,9 +773,10 @@ Shell(192.168.100.6) > doveadm pw -s SHA512-crypt -p twotestandtwo
{SHA512-CRYPT}$6$TF7w672arYUk.fGC$enDafylYnih4q140B2Bu4QfEvLCQAiQBHXpqDpHQPHruil4j4QbLXMvctWHdZ/MpuwvhmBGHTlNufVwc9hG34/
```
-Inserire i dati pertinenti sull'host 192.168.100.5.
+Inserisci i dati rilevanti sul host 192.168.100.5:
```sql
+Shell(192.168.100.5) > /usr/local/mysql/bin/mysql -u root --password="pkqaXRuTn1/N"
Mysql > use mailserver;
Mysql > insert into virtual_users(id,email,password,domain_id) values(1,'frank@mail.rockylinux.me','$6$dEqUVsCirHzV8kHw$hgC0x0ufah.N0PzUVvhLEMnoww5lo.JBmeLSsRNDkgWVylC55Gk6zA1KWsn.SiIAAIDEqHxtugGZWHl1qMex..',1);
@@ -731,9 +788,9 @@ Mysql > insert into virtual_users(id,email,password,domain_id) values(2,'leeo@ma
#### Autenticazione dell'utente
-Utilizzare un altro computer Windows10 e cambiare il suo DNS preferito in 192.168.100.7. L'autore utilizza foxmail come client di posta elettronica.
+Utilizzare un computer client e cambiare il suo DNS preferito in 192.168.100.7. L'autore utilizza Foxmail su Windows 10 come client di posta.
-Nella schermata principale, selezionare "Altra casella di posta" --> "Manuale" --> Inserire il contenuto pertinente per completare. --> "Creare"
+Nella schermata principale, selezionare **Altre caselle di posta** --> **Manuale** --> Immettere i campi pertinenti e selezionare **Crea**:

@@ -741,7 +798,7 @@ Nella schermata principale, selezionare "Altra casella di posta" --> "Manuale" -
#### Inviare un'e-mail
-Utilizzare questo utente per tentare di inviare un'e-mail a un utente leeo.
+Utilizzare l'utente **frank** per tentare di inviare un'e-mail all'utente **leeo**.

@@ -751,5 +808,5 @@ Utilizzare questo utente per tentare di inviare un'e-mail a un utente leeo.
### Descrizione aggiuntiva
-* Dovete disporre di un nome di dominio legittimato (dominio)
-* Dovete richiedere un certificato SSL/TLS per il vostro sistema di posta elettronica
+- È necessario disporre di un nome di dominio o di una voce DNS interna con record MX che puntino al server.
+- Dovreste ottenere un certificato SSL tramite [Let's Encrypt](https://docs.rockylinux.org/guides/security/generating_ssl_keys_lets_encrypt/) o un'altra fonte.
diff --git a/docs/guides/email/02-basic-email-system.md b/docs/guides/email/02-basic-email-system.md
index b5b555a9bf..c1d03b781f 100644
--- a/docs/guides/email/02-basic-email-system.md
+++ b/docs/guides/email/02-basic-email-system.md
@@ -584,7 +584,7 @@ The file description is as follows:
- Load other configuration files via `!include conf.d/*.conf`.
- The numeral prefix of the sub-configuration file facilitates human understanding of its parsing order.
- Due to historical reasons, some config files are still separate, typically named `*.conf.ext`.
- - In the configuration file, you can use variables divided into **Global variables** and **User variables**, starting with `%`. See [here](https://doc.dovecot.org/configuration_manual/config_file/config_variables/#config-variables).
+ - In the configuration file, you can use variables divided into **Global variables** and **User variables**, starting with `%`. See [the Dovecot site regarding this here](https://doc.dovecot.org/2.3/configuration_manual/config_file/config_variables/).
- `10-auth.conf`: Authentication configuration.
- `10-logging.conf`. Logging configuration.
diff --git a/docs/guides/email/02-basic-email-system.uk.md b/docs/guides/email/02-basic-email-system.uk.md
index ede7e2b740..33a2ba2271 100644
--- a/docs/guides/email/02-basic-email-system.uk.md
+++ b/docs/guides/email/02-basic-email-system.uk.md
@@ -60,7 +60,7 @@ zone "rockylinux.me" IN {
};
```
-!!! question "Питання"
+!!! питання
**Що таке зона DNS?** Зона DNS — це частина простору імен DNS, розміщена на сервері DNS. Зона DNS містить записи ресурсів, а сервер DNS відповідає на запити щодо записів у цьому просторі імен. DNS-сервер може мати кілька зон DNS. Простіше кажучи, зона DNS аналогічна каталогу книг.
diff --git a/docs/guides/email/postfix_reporting.md b/docs/guides/email/postfix_reporting.md
index 27a168c623..2a7ad64056 100644
--- a/docs/guides/email/postfix_reporting.md
+++ b/docs/guides/email/postfix_reporting.md
@@ -1,5 +1,5 @@
---
-title: Postfix Process Reporting
+title: Using `postfix` for Process Reporting
author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
tested_with: 8.5, 8.6, 9.0
@@ -9,8 +9,6 @@ tags:
- tools
---
-# Using `postfix` for server process reporting
-
## Prerequisites
- Complete comfort operating from the command line on a Rocky Linux server
@@ -21,9 +19,9 @@ tags:
## Introduction
-Many Rocky Linux server administrators write scripts to perform specific tasks, like backups or file synchronization, and many of these scripts generate logs that have useful and sometimes very important information. Just having the logs, though, is not enough. If a process fails and logs that failure, but the busy administrator does not review the log, then a catastrophe could be in the making.
+Many Rocky Linux server administrators write scripts to perform specific tasks, such as backups or file synchronization, and many of these scripts generate logs that have useful and sometimes very important information. Just having the logs, though, is not enough. If a process fails and logs that failure, but the busy administrator does not review the log, then a catastrophe could be in the making.
-This document shows you how to use the `postfix` MTA (mail transfer agent) to grab log details from a particular process, and send them to you via email. It also touches on date formats in logs, and helps you identify which format you need to use in the reporting procedure.
+This document shows you how to use the `postfix` MTA (mail transfer agent) to grab log details from a particular process, and send them to you by email. It also touches on date formats in logs, and helps you identify the format you need to use in the reporting procedure.
Remember, this is just the tip of the iceberg regarding what you can do with reporting via `postfix`. Note that it is always a good security move to limit running processes to only those you will need all the time.
@@ -31,53 +29,55 @@ This document shows you how to enable postfix only for the reporting you need it
## `postfix` defined
-`postfix` is a server daemon used for sending email. It is more secure and simpler than sendmail, another MTA that was the default go-to MTA for years. You can use it as part of a full-featured mail server.
+`postfix` is a server daemon used for sending email. It is more secure and simpler than `sendmail`, another MTA that was the default go-to MTA for years. You can use it as part of a full-featured mail server.
## Installing `postfix`
-Aside from `postfix`, you will need `mailx` to test your ability to send emails. To install these and any dependencies required, enter the following on the Rocky Linux server command line:
-
-`dnf install postfix mailx`
-
-!!! warning "Rocky Linux 9.0 Changes"
-
- This procedure works perfectly fine in Rocky Linux 9.0. The difference here is where the `mailx` command comes from. While you can install it by name in 8.x, `mailx` comes from the appstream package `s-nail` in 9.0. To install the needed packages, you need to use:
+Aside from `postfix`, you will need `s-nail` to test your ability to send emails. To install these and any dependencies required, enter the following on the Rocky Linux server command line:
- ```
- dnf install postfix s-nail
- ```
+```bash
+dnf install postfix s-nail
+```
## Testing and configuring `postfix`
### Testing mail first
-Before you configure `postfix`, you need to find out how mail will look when it leaves the server, as you will probably want to change this. To do this, start `postfix`:
+Before you configure `postfix`, you need to discover how mail will look when it leaves the server, as you will probably want to change this. To do this, start `postfix`:
-`systemctl start postfix`
+```bash
+systemctl start postfix
+```
-Test with the `mail` provided by `mailx` (or `s-nail`):
+Test with the `mail` provided by `s-nail`:
-`mail -s "Testing from server" myname@mydomain.com`
+```bash
+mail -s "Testing from server" myname@mydomain.com
+```
This will display a blank line. Type your testing message in here:
-`testing from the server`
-
-Hit enter, and enter a single period:
+```bash
+testing from the server
+```
-`.`
+Hit ++enter++, and then a single ++period++:
The system will respond with the following:
-`EOT`
+```bash
+EOT
+```
-The purpose for doing this is to see how our mail looks to the outside world. You can get a feel for this from the _maillog_ that goes active with the starting of `postfix`.
+The purpose for doing this is to see how your mail looks to the outside world. You can get a feel for this from the `maillog` that goes active with the starting of `postfix`.
Use this command to see the output of the log file:
-`tail /var/log/maillog`
+```bash
+tail /var/log/maillog
+```
-You will see something like this, although the log file will have different domains for the email address, and other items:
+You will see something similar to this, although the log file will have different domains for the email address, and other items:
```bash
Mar 4 16:51:40 hedgehogct postfix/postfix-script[735]: starting the Postfix mail system
@@ -93,78 +93,104 @@ Mar 4 16:52:06 hedgehogct postfix/qmgr[739]: C9D42EC0ADD: removed
The "somehost.localdomain" shows that you need to make some changes. Stop the `postfix` daemon first:
-`systemctl stop postfix`
+```bash
+systemctl stop postfix
+```
## Configuring `postfix`
-Since you are not setting up a complete, fully functional mail server, the configuration options that you will use are not as extensive. The first thing to do is to modify the _main.cf_ file (literally the main configuration file for `postfix`). Make a backup first:
+Since you are not setting up a complete, fully functional mail server, the configuration options that you will use are not as extensive. The first thing to do is to change the `main.cf` file (literally the main configuration file for `postfix`). Make a backup first:
-`cp /etc/postfix/main.cf /etc/postfix/main.cf.bak`
+```bash
+cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
+```
Edit it:
-`vi /etc/postfix/main.cf`
+```bash
+vi /etc/postfix/main.cf
+```
-In our example, our server name is "bruno" and our domain name is "ourdomain.com". Find the line in the file:
+In this example, your server name is "bruno" and your domain name is "ourdomain.com". Find the line in the file:
-`#myhostname = host.domain.tld`
+```bash
+#myhostname = host.domain.tld
+```
-You can remove the remark (#) or add a line under this line. Based on our example, the line will read:
+You can remove the remark (#) or add a line under this line. Based on the example, the line will read:
-`myhostname = bruno.ourdomain.com`
+```bash
+myhostname = bruno.ourdomain.com
+```
Next, find the line for the domain name:
-`#mydomain = domain.tld`
+```bash
+#mydomain = domain.tld
+```
Again, remove the remark and change it, or add a line under it:
-`mydomain = ourdomain.com`
+```bash
+mydomain = ourdomain.com
+```
Finally, go to the bottom of the file and add this line:
-`smtp_generic_maps = hash:/etc/postfix/generic`
+```bash
+smtp_generic_maps = hash:/etc/postfix/generic
+```
-Save your changes (in `vi` it is `Shift : wq!`) and exit the file.
+Save your changes and exit the file.
-Before you continue editing the generic file, you need to see how the email will look. Specifically, you want to create the "generic" file that you referenced in the _main.cf_ file above:
+Before you continue editing the generic file, you need to see how the email will look. Specifically, you want to create the "generic" file that you referenced in the `main.cf` file earlier:
-`vi /etc/postfix/generic`
+```bash
+vi /etc/postfix/generic
+```
-This file tells `postfix` how any email coming from this server will look. Remember our test email and the log file? This is where we fix all of that:
+This file tells `postfix` how any email coming from this server will look. Remember your test email and the log file? This is where you fix all of that:
```bash
root@somehost.localdomain root@bruno.ourdomain.com
@somehost.localdomain root@bruno.ourdomain.com
```
-Next, you need to tell `postfix` to use all of our changes. Do this with the postmap command:
+Next, you need to tell `postfix` to use all of your changes. Do this with the `postmap` command:
-`postmap /etc/postfix/generic`
+```bash
+postmap /etc/postfix/generic
+```
-Start `postfix` and test your email again with the same procedure used above. You will now see that all "localdomain" instances are now the actual domain.
+Start `postfix` and test your email again with the same procedure used earlier. You will now see that all "localdomain" instances are now the actual domain.
### The `date` command and a variable called today
Not every application will use the same logging format for the date. You might have to get creative with any script you write for reporting by date.
-Say that you want to see your system log as an example and pull everything that has to do with dbus-daemon for today's date, and email it to yourself. (It is probably not the greatest example, but it will give you an idea of how you might do this.)
+Say that you want to see your system log as an example and pull everything that has to do with `dbus-daemon` for today's date, and email it to yourself. (It is probably not the greatest example, but it will give you an idea of how you do this.)
-You need to use a variable in your script. Call it "today". You want it to relate to output from the "date" command and format it in a specific way, so that you can get the data you need from our system log (in _/var/log/messages_). To start with, do some investigative work.
+You need to use a variable in your script. Call it "today". You want it to relate to output from the "date" command and format it in a specific way, so that you can get the data you need from your system log (in `/var/log/messages`). To start with, do some investigative work.
First, enter the date command in the command line:
-`date`
+```bash
+date
+```
-This will give you the default system date output, which might be something like this:
+This shows you the default system date output, which might be similar to this:
-`Thu Mar 4 18:52:28 UTC 2021`
+```bash
+Thu Mar 4 18:52:28 UTC 2021
+```
-Check our system log and see how it records information. To do this, use the `more` and `grep` commands:
+Check your system log and see how it records information. To do this, use the `more` and `grep` commands:
-`more /var/log/messages | grep dbus-daemon`
+```bash
+more /var/log/messages | grep dbus-daemon
+```
-Which will give you something like this:
+Which will give you something similar to this:
```bash
Mar 4 18:23:53 hedgehogct dbus-daemon[60]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
@@ -172,7 +198,7 @@ Mar 4 18:50:41 hedgehogct dbus-daemon[60]: [system] Activating via systemd: ser
Mar 4 18:50:41 hedgehogct dbus-daemon[60]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher
```
-The date and log outputs need to be exactly the same in our script. Let us see how to format the date with a variable called "today".
+The date and log outputs need to be exactly the same in your script. Let us see how to format the date with a variable called "today".
Examine what you need to do with the date to get the same output as the system log. You can reference the [Linux man page](https://man7.org/linux/man-pages/man1/date.1.html) or type `man date` on the command line to pull up the date manual page to get the information you need.
@@ -180,13 +206,15 @@ What you will find is to format the date the same way as _/var/log/messages_ , y
### The script
-For our bash script, you can see that you are going to use the `date` command and a variable called "today". (Remember that "today" is arbitrary. You can call this variable anything you like). You will call your script in this example, `test.sh` and place it in _/usr/local/sbin_:
+For your bash script, you can see that you are going to use the `date` command and a variable called "today". (Remember that "today" is arbitrary. You can call this variable anything). You will call your script in this example, `test.sh` and place it in `/usr/local/sbin`:
-`vi /usr/local/sbin/test.sh`
+```bash
+vi /usr/local/sbin/test.sh
+```
-At the beginning, notice that even though the comment in our file says you are sending these messages to email, for now, you are just sending them to a standard log output to verify that they are correct.
+At the beginning, notice that even though the comment in the file says you are sending these messages to email, for now, you are just sending them to a standard log output to verify that they are correct.
-Also, in our first run of the script, you are grabbing all of the messages for the current date not just the dbus-daemon messages. You will deal with that shortly.
+Also, in your first run of the script, you are grabbing all the messages for the current date not just the `dbus-daemon` messages. You will deal with that shortly.
Be aware that the `grep` command will return the filename in the output, which you will not want in this case. To remove this, add the "-h" option to grep. In addition, when you set the variable "today", you need to look for the entire variable as a string, which needs the string within quotes:
@@ -200,17 +228,23 @@ today=`date +"%b %e"`
grep -h "$today" /var/log/messages
```
-That is it for now. Save your changes and make the script executable:
+That is it. Save your changes and make the script executable:
-`chmod +x /usr/local/sbin/test.sh`
+```bash
+chmod +x /usr/local/sbin/test.sh
+```
Test it:
-`/usr/local/sbin/test.sh`
+```bash
+/usr/local/sbin/test.sh
+```
-If all works correctly, you will get a long list of all of the messages in _/var/log/messages_ from today, including but not limited to the dbus-daemon messages. The next step is to limit the messages to the dbus-daemon messages. Change your script again:
+If all works correctly, you will get a long list of all of the messages in `/var/log/messages` from today, including but not limited to the `dbus-daemon` messages. The next step is to limit the messages to the dbus-daemon messages. Change your script again:
-`vi /usr/local/sbin/test.sh`
+```bash
+vi /usr/local/sbin/test.sh
+```
```bash
#!/bin/bash
@@ -222,11 +256,13 @@ today=`date +"%b %e"`
grep -h "$today" /var/log/messages | grep dbus-daemon
```
-Running the script again, will get you only the dbus-daemon messages and only the ones that occurred today.
+Running the script again, will get you only the `dbus-daemon` messages and only the ones that occurred today.
-One final step remains. Remember, you need to get this emailed to the administrator for review. Because you are only using `postfix` on this server for reporting, you do not want to leave the service running. Start it at the beginning of the script and stop it at the end. Here, the `sleep` command pauses for 20 seconds, ensuring sending the email before shutting `postfix` down again. This final edit, adds the stop, start, and sleep issues just discussed, and also pipes the content to the administrator's email.
+There is one final step. Remember, you need to get this emailed to the administrator for review. Because you are only using `postfix` on this server for reporting, you do not want to leave the service running. Start it at the beginning of the script and stop it at the end. Here, the `sleep` command pauses for 20 seconds, ensuring sending the email before shutting `postfix` down again. This final edit, adds the stop, start, and sleep issues just discussed, and also pipes the content to the administrator's email.
-`vi /usr/local/sbin/test.sh`
+```bash
+vi /usr/local/sbin/test.sh
+```
Change the script:
@@ -249,10 +285,10 @@ sleep 20
/usr/bin/systemctl stop postfix
```
-Run the script again, and you will now have an email from the server with the dbus-daemon message.
+Run the script again, and you will now have an email from the server with the `dbus-daemon` message.
You can now use [a crontab](../automation/cron_jobs_howto.md) to schedule this to run at a specific time.
## Conclusion
-Using `postfix` can help you keep track of process logs that you want to monitor. You can use it along with bash scripting to gain a firm grasp of your system processes and be informed if there is trouble.
+Using `postfix` can help you keep track of process logs that you want to monitor. You can use it along with bash scripting to gain a firm grasp of your system processes and have that information emailed to you if there is trouble.
diff --git a/docs/guides/file_sharing/nfsserver.uk.md b/docs/guides/file_sharing/nfsserver.uk.md
index 144e876175..866ab7d5ef 100644
--- a/docs/guides/file_sharing/nfsserver.uk.md
+++ b/docs/guides/file_sharing/nfsserver.uk.md
@@ -123,7 +123,7 @@ sudo firewall-cmd --reload
exportfs [-a] [-r] [-u share_name] [-v]
```
-| Опції | Опис |
+| Параметри | Опис |
| --------------- | ------------------------------------------------- |
| `-a` | Вмикає спільний доступ до NFS |
| `-r` | Застосовує спільні ресурси з файлу `/etc/exports` |
@@ -138,10 +138,10 @@ exportfs [-a] [-r] [-u share_name] [-v]
showmount [-a] [-e] [host]
```
-| Опції | Опис |
-| ----- | -------------------------------------------------- |
-| `-e` | Відображає спільні ресурси на призначеному сервері |
-| `-a` | Відображає всі поточні спільні ресурси на сервері |
+| Параметри | Опис |
+| --------- | -------------------------------------------------- |
+| `-e` | Відображає спільні ресурси на призначеному сервері |
+| `-a` | Відображає всі поточні спільні ресурси на сервері |
Ця команда також визначає, чи може робоча станція клієнта монтувати спільні ресурси.
diff --git a/docs/guides/file_sharing/samba_file_share.it.md b/docs/guides/file_sharing/samba_file_share.it.md
new file mode 100644
index 0000000000..08dafe3485
--- /dev/null
+++ b/docs/guides/file_sharing/samba_file_share.it.md
@@ -0,0 +1,101 @@
+---
+title: Samba Condivisione file di Windows
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - file transfer
+ - windows
+---
+
+## Introduzione
+
+Se si ha mai avuto a che fare con i sistemi Windows, probabilmente si è a conoscenza di SMB (Server Message Block) per la condivisione dei file. Se si è amministratori Linux esperti, è probabile che si abbia sentito parlare di Samba, ma se così non è, [Samba](https://www.samba.org/) è l'implementazione open-source de facto di SMB per consentire la condivisione di file e l'accesso ad Active Directory da macchine Linux a reti Windows.
+
+## Installazione
+
+È necessario installare Samba utilizzando `dnf`:
+
+```bash
+dnf install -y samba
+```
+
+## Impostazione una condivisione
+
+Per prima cosa, creare una directory da condividere con i client Windows:
+
+```bash
+mkdir /var/store
+```
+
+Quindi, impostare le labels SELinux sulla directory `/var/store`:
+
+```bash
+semanage fcontext -a -t samba_share_t "/var/store(/.*)?"
+restorecon -Rv /var/store
+```
+
+Sostituire `/var/store` con la directory da condividere.
+
+Ora configurare Samba:
+
+```bash
+vi /etc/samba/smb.conf
+```
+
+Nel file `smb.conf`, andare in fondo e inserire quanto segue:
+
+```bash
+[Share]
+ path = /var/store
+ browseable = yes
+ writable = no
+ read only = yes
+ guest ok = yes
+```
+
+Se non siete a conoscenza delle opzioni di cui sopra, esse sono:
+
+- `percorso' è la directory che si sta condividendo. Impostare la cartella corrispondente (`/var/store\` nel nostro caso).
+- `browseable` è per consentire ai client di accedere alla navigazione. Se si vuole disabilitare la navigazione, impostare questo valore su `no`.
+- `writable` è per consentire ai client l'accesso in scrittura. Se si desidera consentire l'accesso in scrittura, impostare questo valore su `yes`.
+- `read only` contrassegna la condivisione come di sola lettura. Se si desidera consentire l'accesso in scrittura o in esecuzione, impostare questo valore su `no`.
+- `guest ok` è per consentire agli utenti non autenticati di accedere alla nostra condivisione. Se si desidera negare l'accesso agli ospiti, impostare questo valore su `no`.
+
+per testare la configurazione, si può eseguire quanto segue:
+
+```bash
+testparm
+```
+
+## Abilitare Samba
+
+Una volta che la configurazione è stata verificata, aprire la porta Samba in `firewall-cmd`:
+
+```bash
+firewall-cmd --permanent --add-service=samba
+firewall-cmd --reload
+```
+
+Successivamente, è possibile abilitare Samba:
+
+```bash
+systemctl enable --now smb nmb
+```
+
+## Accesso alla condivisione Samba
+
+È possibile accedere alla condivisione Samba utilizzando il seguente URI (Nota: sostituire `SERVER_IP` con l'indirizzo IP o FQDN della macchina su cui è in esecuzione Samba):
+
+- Windows: `\\SERVER_IP`
+- Linux or Mac: `smb://SERVER_IP`
+
+`SERVER_IP` sulla rete domestica dell'autore è `172.20.0.100`, quindi mentre le istruzioni variano a seconda del sistema operativo, l'autore accederà alla nuova condivisione dal suo notebook Fedora 40:
+
+
+
+Tutti i file accessibili sul server sono disponibili anche sui computer client.
+
+## Conclusione
+
+Sebbene SMB abbia la reputazione di essere incentrato su Microsoft, si tratta di uno standard di settore e la condivisione Samba può essere accessibile da Linux, Mac, BSD e persino da dispositivi mobili. Congratulazioni, ora si sta condividendo i file del vostro server!
diff --git a/docs/guides/file_sharing/secure_ftp_server_vsftpd.md b/docs/guides/file_sharing/secure_ftp_server_vsftpd.md
index 890b4c43ae..255a525c07 100644
--- a/docs/guides/file_sharing/secure_ftp_server_vsftpd.md
+++ b/docs/guides/file_sharing/secure_ftp_server_vsftpd.md
@@ -78,7 +78,7 @@ Ensure that "write_enable" is yes also:
write_enable=YES
```
-Find the line to "chroot_local_users" and remove the remark. Add two lines after that shown here:
+Find the line to "chroot_local_user" and remove the remark. Add two lines after that shown here:
```bash
chroot_local_user=YES
diff --git a/docs/guides/file_sharing/secure_ftp_server_vsftpd.uk.md b/docs/guides/file_sharing/secure_ftp_server_vsftpd.uk.md
index d3e96c219d..8b396f8115 100644
--- a/docs/guides/file_sharing/secure_ftp_server_vsftpd.uk.md
+++ b/docs/guides/file_sharing/secure_ftp_server_vsftpd.uk.md
@@ -200,7 +200,7 @@ cd /etc/vsftpd
vi vusers.txt
```
-Користувач і пароль розділені рядками, введіть користувача, натисніть ++enter++ і введіть пароль. Продовжуйте, доки не додасте всіх користувачів, яким наразі потрібно надати доступ до системи. Приклад:
+Користувач і пароль розділені рядками, введіть користувача, натисніть ++enter++ і введіть пароль. Продовжуйте, доки не додасте всіх користувачів, яким наразі потрібно надати доступ до системи. Приклади:
```bash
user_name_a
diff --git a/docs/guides/file_sharing/transmission_daemon.it.md b/docs/guides/file_sharing/transmission_daemon.it.md
new file mode 100644
index 0000000000..efc9ed2485
--- /dev/null
+++ b/docs/guides/file_sharing/transmission_daemon.it.md
@@ -0,0 +1,122 @@
+---
+title: Trasmissione BitTorrent Seedbox
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - file transfer
+---
+
+## Introduzione
+
+BitTorrent non ha bisogno di presentazioni, ma se non lo si sa, BitTorrent è un protocollo di condivisione di file peer-to-peer. BitTorrent si basa sul seeding (caricamento) del file richiesto da parte di più peer, ma anche sul seeding per i futuri downloader.
+
+Transmission è un popolare client BitTorrent open-source con diversi frontend e backend. Qui si installerà il backend headless “daemon”.
+
+Nell'attuale mondo mobile-centrico, ha più senso eseguire Transmission come server headless piuttosto che direttamente su un laptop o un desktop. In questo modo, è possibile seminare i file 24 ore su 24, 7 giorni su 7, senza consumare la batteria del dispositivo mobile durante il download.
+
+## Installazione
+
+Per installare Transmission, è necessario prima installare EPEL:
+
+```bash
+dnf install -y epel-release
+```
+
+Poi installare Transmission:
+
+```bash
+dnf install -y transmission-daemon
+```
+
+## Primo setup
+
+A differenza della maggior parte dei deamon Linux, Transmission imposta la configurazione al primo avvio, quindi avviare e arrestare Transmission con:
+
+```bash
+systemctl start transmission-daemon
+systemctl stop transmission-daemon
+```
+
+Dopo questi passaggi, si avrà un file di configurazione. Sarebbe meglio interrompere Transmission, poiché non è possibile modificare il file di configurazione mentre è in esecuzione.
+
+## Configurazione
+
+Configurare Transmission:
+
+```bash
+cd /var/lib/transmission/.config/transmission-daemon
+vi settings.json
+```
+
+Navigare fino alla voce JSON `“peer-port”` e, se si desidera, sostituire la porta standard con la porta desiderata:
+
+```bash
+ "peer-port": 51413,
+```
+
+Qui l'autore lo cambia in `12345`:
+
+```bash
+ "peer-port": 12345,
+```
+
+Successivamente, passare alla voce JSON `“rpc-password”` e modificare la password:
+
+```bash
+ "rpc-password": "{9cfaaade11d56c8e82bfc23b696fa373fb20c10e4U2NXY3.",
+```
+
+Inserire qui la password in chiaro. Se la sicurezza è un problema, si noti che Transmission cripterà la password al successivo riavvio.
+
+Se si desidera consentire l'accesso da altri indirizzi IP, navigare nella voce `“rpc-whitelist”`:
+
+```bash
+ "rpc-whitelist": "127.0.0.1,::1",
+```
+
+Ad esempio, se si vuole consentire l'accesso al desktop all'indirizzo IP `192.168.1.100`, lo si può aggiungere al valore separato da virgole:
+
+```bash
+ "rpc-whitelist": "127.0.0.1,::1,192.168.1.100",
+```
+
+Se non si desidera una whitelist IP, è possibile disabilitarla impostando `“rpc-whitelist-enable”` su `false`:
+
+```bash
+ "rpc-whitelist-enabled": false,
+```
+
+Al termine della configurazione, avviare e attivare Transmission:
+
+```bash
+systemctl enable --now transmission-daemon
+```
+
+## Configurazione del firewall e di rete
+
+Successivamente, è necessario consentire le rispettive porte `12345` (per BitTorrent) e `9091` (per il pannello di controllo di Transmission) nel firewall:
+
+```bash
+firewall-cmd --permanent --zone=public --add-port=12345/tcp
+firewall-cmd --permanent --zone=public --add-port=9091/tcp
+firewall-cmd --runtime-to-permanent
+```
+
+Se non ci si trova dietro un router abilitato NAT-PMP o UPnP, o se si è connessi senza NAT, è necessario inoltrare la porta BitTorrent (`12345` in questo esempio). Ogni router è diverso, ma a titolo di esempio sul router MikroTik dell'autore:
+
+```bash
+/ip firewall nat add action=dst-nat chain=dstnat dst-port=12345 in-interface=ether1 protocol=tcp to-addresses=SERVER_IP to-ports=12345
+```
+
+Sostituire `SERVER_IP` con l'indirizzo IP del server che esegue Transmission.
+
+## Testare Transmission
+
+Andare all'indirizzo IP dove è in esecuzione del server Transmission. Ad esempio, è possibile scaricare il torrent di una distribuzione Linux come Ubuntu:
+
+
+
+## Conclusione
+
+BitTorrent è stato progettato nei primi anni 2000, quando la maggior parte delle persone si connetteva a Internet tramite un PC desktop. Mentre l'esecuzione di BitTorrent su un laptop o un telefono è poco pratica, l'esecuzione su un server headless tramite Transmission è perfetta. In questo modo, si può caricare i file 24 ore su 24, 7 giorni su 7, ma i download saranno sempre disponibili.
diff --git a/docs/guides/file_sharing/transmission_daemon.md b/docs/guides/file_sharing/transmission_daemon.md
index a68caa7c33..57087fc57e 100644
--- a/docs/guides/file_sharing/transmission_daemon.md
+++ b/docs/guides/file_sharing/transmission_daemon.md
@@ -7,11 +7,15 @@ tags:
- file transfer
---
+!!! warning "Temporary Hold"
+
+ `transmission-daemon` is currently missing from the EPEL. It will probably be built. The Docs Team will continue to test availability in the EPEL as time allows. For now, your only option is to build the transmission package from source, and the instructions for doing that are currently missing here.
+
## Introduction
BitTorrent needs no introduction, but if you are unaware, BitTorrent is a peer-to-peer file-sharing protocol. BitTorrent relies on multiple peers seeding (uploading) the requested file to you, but you also seed back to future downloaders.
-Transmission is a popular open-source BitTorrent client with multiple frontends and backends. Here, you will install the headless "daemon" backend.
+Transmission is a popular open source BitTorrent client with multiple frontends and backends. Here, you will install the headless "daemon" backend.
In today's mobile-centric world, it makes more sense to run Transmission as a headless server than directly on a laptop or a desktop. This way, you can seed files 24/7 while a mobile device's battery life is not consumed when downloading.
@@ -26,7 +30,7 @@ dnf install -y epel-release
Then install Transmission:
```bash
-dnf install -y transmission
+dnf install -y transmission-daemon
```
## First setup
diff --git a/docs/guides/file_sharing/transmission_daemon.uk.md b/docs/guides/file_sharing/transmission_daemon.uk.md
index b04a13b3cb..89c60d7ba8 100644
--- a/docs/guides/file_sharing/transmission_daemon.uk.md
+++ b/docs/guides/file_sharing/transmission_daemon.uk.md
@@ -15,7 +15,7 @@ Transmission — це популярний клієнт BitTorrent із відк
У сучасному світі, орієнтованому на мобільні пристрої, доцільніше запускати Transmission як безголовий сервер, ніж безпосередньо на ноутбуці чи настільному комп’ютері. Таким чином, ви можете завантажувати файли 24 години на добу, 7 днів на тиждень, у той час як акумулятор мобільного пристрою не витрачається під час завантаження.
-## Встановлення
+## Інсталяція
Щоб встановити Transmission, спочатку потрібно встановити EPEL:
@@ -26,7 +26,7 @@ dnf install -y epel-release
Потім встановіть Transmission:
```bash
-dnf install -y transmission
+dnf install -y transmission-daemon
```
## Перше налаштування
diff --git a/docs/guides/hardware/aqc_bridge_vlan.de.md b/docs/guides/hardware/aqc_bridge_vlan.de.md
new file mode 100644
index 0000000000..c58386f347
--- /dev/null
+++ b/docs/guides/hardware/aqc_bridge_vlan.de.md
@@ -0,0 +1,31 @@
+---
+title: Aktivieren von VLAN-Passthrough auf NICs der Marvell AQC-Serie
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.6
+tags:
+ - Hardware
+---
+
+## Einleitung
+
+Der Autor verwendet in seinem Heimserver eine auf Marvell AQC107 basierende Netzwerkkarte (NIC, Network Interface Card), die über eine virtuelle Maschine verfügt, die für eine virtualisierte Firewall verwendet wird. Leider entfernt der standardmäßige Rocky Linux Marvell AQC-Treiber VLANs auf Bridge-Schnittstellen. Dies ist mit der virtuellen OPNsense-Maschine des Autors passiert. Glücklicherweise lässt sich das Problem beheben.
+
+## Voraussetzungen
+
+Für die Verwendung dieses Verfahrens sind folgende Mindestanforderungen zu beachten:
+
+- Ein Rocky Linux-Server mit einer NIC der Marvell AQC-Serie
+- Verwenden von NetworkManager zum Konfigurieren vom Netzwerk
+
+## Deaktivieren der VLAN-Filterung
+
+Sie können die VLAN-Filterung mit einem Befehl deaktivieren:
+
+ ```
+ nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off
+ ```
+
+Ersetzen Sie `enp1s0` durch den Namen Ihrer AQC-basierten Netzwerkkarte.
+
+Abschließend müssen Sie Ihr System neu starten.
diff --git a/docs/guides/hardware/aqc_bridge_vlan.fr.md b/docs/guides/hardware/aqc_bridge_vlan.fr.md
new file mode 100644
index 0000000000..e29fd22c1b
--- /dev/null
+++ b/docs/guides/hardware/aqc_bridge_vlan.fr.md
@@ -0,0 +1,31 @@
+---
+title: Activation du relais VLAN sur les cartes réseau Marvell de la série AQC
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.6
+tags:
+ - hardware
+---
+
+## Introduction
+
+L'auteur utilise une carte réseau (NIC) basée sur Marvell AQC107 dans son serveur home, qui dispose d'une machine virtuelle utilisée pour un pare-feu virtualisé. Malheureusement, le pilote Rocky Linux Marvell d'origine AQC supprime les VLAN sur les interfaces bridge. Cela est arrivé à la machine virtuelle OPNsense de l'auteur. Heureusement, ça peut être évité.
+
+## Prérequis
+
+Les conditions suivantes sont indispensables pour utiliser cette procédure :
+
+- Un serveur Rocky Linux avec une carte réseau Marvell de la série AQC
+- Utilisation de NetworkManager pour la configuration du réseau
+
+## Désactivation du filtrage VLAN
+
+Vous pouvez désactiver le filtrage VLAN avec une seule commande :
+
+ ```
+ nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off
+ ```
+
+Remplacez `enp1s0` par le nom de votre adaptateur réseau basé sur AQC.
+
+Finalement, vous devrez redémarrer votre système.
diff --git a/docs/guides/hardware/aqc_bridge_vlan.it.md b/docs/guides/hardware/aqc_bridge_vlan.it.md
new file mode 100644
index 0000000000..cc1ed94cf9
--- /dev/null
+++ b/docs/guides/hardware/aqc_bridge_vlan.it.md
@@ -0,0 +1,31 @@
+---
+title: Abilitare VLAN Passthrough su Marvell AQC-series NIC
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.6
+tags:
+ - hardware
+---
+
+## Introduzione
+
+L'autore utilizza una NIC (network inteface card) basata su Marvell AQC107 sul proprio server, che ha una macchina virtuale utilizzata per un firewall virtualizzato. Purtroppo, il driver stock Rocky Linux Marvell AQC esclude le VLAN dalle interfacce bridge. Questo è ciò che è successo alla macchina virtuale OPNsense dell'autore. Fortunatamente è risolvibile.
+
+## Prerequisiti e presupposti
+
+A seguire i requisiti minimi per seguire questa procedura:
+
+- Un server Rocky Linux con una scheda NIC Marvell serie AQC
+- Utilizzo di NetworkManager per configurare la rete
+
+## Disabilitazione dei filtri su VLAN
+
+È possibile disattivare il filtraggio VLAN con un solo comando:
+
+ ```
+ nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off
+ ```
+
+Sostituire `enp1s0` con il nome della NIC basata su AQC.
+
+Infine, è necessario riavviare il sistema.
diff --git a/docs/guides/hardware/aqc_bridge_vlan.md b/docs/guides/hardware/aqc_bridge_vlan.md
new file mode 100644
index 0000000000..cf889ba6cc
--- /dev/null
+++ b/docs/guides/hardware/aqc_bridge_vlan.md
@@ -0,0 +1,29 @@
+---
+title: Enabling VLAN Passthrough on Marvell AQC-series NICs
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.6
+tags:
+ - hardware
+---
+
+## Introduction
+
+The author uses a Marvell AQC107-based NIC (network interface card) in their home server, which has a virtual machine used for a virtualized firewall. Unfortunately, the stock Rocky Linux Marvell AQC driver strips VLANs on bridge interfaces. This happened to the author's OPNsense virtual machine. Fortunately, it is fixable.
+
+## Prerequisites and assumptions
+
+The following are the minimum requirements for using this procedure:
+
+* A Rocky Linux server with a Marvell AQC-series NIC
+* Using NetworkManager to configure networking
+
+## Disabling VLAN filtering
+
+You can disable VLAN filtering with one command:
+
+ nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off
+
+Replace `enp1s0` with the name of your AQC-based NIC.
+
+Finally, you will need to reboot your system.
diff --git a/docs/guides/hardware/aqc_bridge_vlan.uk.md b/docs/guides/hardware/aqc_bridge_vlan.uk.md
new file mode 100644
index 0000000000..f3daf1c502
--- /dev/null
+++ b/docs/guides/hardware/aqc_bridge_vlan.uk.md
@@ -0,0 +1,31 @@
+---
+title: Увімкнення пропускання VLAN на мережевих картах Marvell серії AQC
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.6
+tags:
+ - hardware
+---
+
+## Вступ
+
+Автор використовує мережеву карту (NIC) на базі Marvell AQC107 у своєму домашньому сервері, на якому встановлено віртуальну машину, що використовується для віртуалізованого брандмауера. На жаль, стандартний драйвер Rocky Linux Marvell AQC видаляє VLAN на інтерфейсах моста. Це сталося з віртуальною машиною OPNsense автора. На щастя, це можна виправити.
+
+## Передумови та припущення
+
+Нижче наведено мінімальні вимоги для використання цієї процедури:
+
+- Сервер Rocky Linux з мережевою картою Marvell серії AQC
+- Використовуйте NetworkManager для налаштування мережевих підключень
+
+## Вимкнення фільтрації VLAN
+
+Ви можете вимкнути фільтрування VLAN за допомогою однієї команди:
+
+ ```
+ nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off
+ ```
+
+Замініть `enp1s0` на назву вашої мережевої карти на базі AQC.
+
+Нарешті, вам потрібно буде перезавантажити систему.
diff --git a/docs/guides/hardware/hpe_amsd.it.md b/docs/guides/hardware/hpe_amsd.it.md
new file mode 100644
index 0000000000..7745692191
--- /dev/null
+++ b/docs/guides/hardware/hpe_amsd.it.md
@@ -0,0 +1,65 @@
+---
+title: HPE ProLiant Agentless Management Service
+author: Neel Chauhan
+contributors: Ganna Zhyrnova
+tested_with: 9.3
+tags:
+ - hardware
+---
+
+# HPE ProLiant Agentless Management Service
+
+## Introduzione
+
+I server HPE ProLiant dispongono di un software complementare denominato Agentless Management Service che, secondo HPE:
+
+> utilizza la comunicazione fuori banda per una maggiore sicurezza e stabilità.
+
+Inoltre:
+
+> con Agentless Management, il monitoraggio dello stato di salute e gli avvisi sono integrati nel sistema e iniziano a funzionare nel momento in cui l'alimentazione ausiliaria viene collegata al server.
+
+Questo viene utilizzato, ad esempio, per ridurre la velocità delle ventole su un HPE ProLiant ML110 Gen11 nel home lab dell'autore.
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
+
+- Un server HP/HPE ProLiant Gen8 o più recente con iLO attivato e visibile sulla rete
+
+## Installazione di `amsd`
+
+Per installare `amsd`, è necessario prima installare EPEL (Extra Packages for Enterprise Linux) ed eseguire gli aggiornamenti:
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Aggiungere quindi quanto segue a `/etc/yum.repos.d/spp.repo`:
+
+```bash
+
+[spp]
+name=Service Pack for ProLiant
+baseurl=https://downloads.linux.hpe.com/repo/spp-gen11/redhat/9/x86_64/current
+enabled=1
+gpgcheck=1
+gpgkey=https://downloads.linux.hpe.com/repo/spp/GPG-KEY-spp
+```
+
+Sostituire `9` con la versione principale di Rocky Linux e `gen11` con la generazione del vostro server. Sebbene l'autore utilizzi un ML110 Gen11, se invece utilizzasse una DL360 Gen10, verrebbe utilizzato `gen10`.
+
+Successivamente, installare e abilitare `amsd`:
+
+```bash
+dnf -y update && dnf -y install amsd
+systemctl enable --now amsd
+```
+
+Per verificare se `amsd` funziona, accedere a iLO tramite il browser web. Se l'installazione è corretta, iLO dovrebbe segnalare che il nostro server sta eseguendo Rocky Linux:
+
+
+
+## Conclusione
+
+Una critica comune ai server HPE è l'elevata velocità delle ventole quando si utilizzano componenti di terze parti, come le unità SSD o altre schede PCI Express aggiuntive non ufficialmente approvate da HPE (ad esempio, le schede di acquisizione video). Anche se si utilizzano solo componenti di marca HPE, l'uso di `amsd` consente ai server HPE ProLiant di funzionare in modo più efficiente e silenzioso rispetto al solo utilizzo di Rocky Linux.
diff --git a/docs/guides/hardware/x710_bridge_vlan.it.md b/docs/guides/hardware/x710_bridge_vlan.it.md
new file mode 100644
index 0000000000..65ca23b7bf
--- /dev/null
+++ b/docs/guides/hardware/x710_bridge_vlan.it.md
@@ -0,0 +1,65 @@
+---
+title: Abilitazione VLAN Passthrough on Intel X710-series NICs
+author: Neel Chauhan
+contributors: Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - hardware
+---
+
+## Introduzione
+
+Alcuni server sono dotati di schede di interfaccia di rete (NIC) Intel serie X710, come il Minisforum MS-01 dell'autore, utilizzato per un firewall virtualizzato. Sfortunatamente, il driver stock di Rocky Linux presenta un [bug](https://community.intel.com/t5/Ethernet-Products/X710-strips-incoming-vlan-tag-with-SRIOV/m-p/551464) per cui le VLAN non vengono passate attraverso le interfacce bridge come previsto. Questo è accaduto alla macchina virtuale MikroTik CHR dell'autore Fortunatamente è risolvibile.
+
+## Prerequisiti e presupposti
+
+A seguire i requisiti minimi per poter eseguire questa procedura:
+
+- Un server Rocky Linux 8 o 9 con una NIC Intel serie X710
+
+## Installazione dei driver NIC forniti da Intel
+
+Mentre il driver Rocky Linux di serie non passa attraverso le VLAN, il driver fornito da Intel lo fa. Per prima cosa, andare alla pagina [Intel's driver download page] (https://www.intel.com/content/www/us/en/download/18026/intel-network-adapter-driver-for-pcie-40-gigabit-ethernet-network-connections-under-linux.html).
+
+
+
+Una volta arrivati alla pagina precedente, scaricare il file `i40e_RPM_Files.zip` e successivamente `scompattarlo`:
+
+```
+unzip i40e_RPM_Files.zip
+```
+
+Verrà visualizzato un gruppo di file RPM:
+
+```
+kmod-i40e-2.25.11-1.rhel8u10.src.rpm
+kmod-i40e-2.25.11-1.rhel8u10.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel8u7.src.rpm
+kmod-i40e-2.25.11-1.rhel8u7.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel8u8.src.rpm
+kmod-i40e-2.25.11-1.rhel8u8.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel8u9.src.rpm
+kmod-i40e-2.25.11-1.rhel8u9.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel9u1.src.rpm
+kmod-i40e-2.25.11-1.rhel9u1.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel9u2.src.rpm
+kmod-i40e-2.25.11-1.rhel9u2.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel9u3.src.rpm
+kmod-i40e-2.25.11-1.rhel9u3.x86_64.rpm
+kmod-i40e-2.25.11-1.rhel9u4.src.rpm
+kmod-i40e-2.25.11-1.rhel9u4.x86_64.rpm
+```
+
+Il file da installare è nel formato `kmod-i40e-2.25.11-1.rhelXuY.x86_64.rpm`, dove `X` e `Y` sono rispettivamente la versione maggiore e minore di Rocky Linux. Per esempio, sul server Rocky Linux 9.4 dell'autore, `X` è 9, `Y` è 4, quindi il pacchetto di installazione dell'autore era:
+
+```
+sudo dnf install kmod-i40e-2.25.11-1.rhel9u4.x86_64.rpm
+```
+
+Dopo aver installato il driver, è necessario riavviare il server:
+
+```
+sudo reboot
+```
+
+Dopo il riavvio, le NIC X710 dovrebbero passare attraverso le VLAN tramite le interfacce bridge.
diff --git a/docs/guides/images/install_9_3_01.png b/docs/guides/images/install_9_3_01.png
deleted file mode 100644
index b9ccfef762..0000000000
Binary files a/docs/guides/images/install_9_3_01.png and /dev/null differ
diff --git a/docs/guides/images/installation_10_0_F01.png b/docs/guides/images/installation_10_0_F01.png
new file mode 100644
index 0000000000..cc4a535bca
Binary files /dev/null and b/docs/guides/images/installation_10_0_F01.png differ
diff --git a/docs/guides/images/installation_10_0_F02.png b/docs/guides/images/installation_10_0_F02.png
new file mode 100644
index 0000000000..4583e9a441
Binary files /dev/null and b/docs/guides/images/installation_10_0_F02.png differ
diff --git a/docs/guides/images/installation_10_0_F03.png b/docs/guides/images/installation_10_0_F03.png
new file mode 100644
index 0000000000..d2095d1e5c
Binary files /dev/null and b/docs/guides/images/installation_10_0_F03.png differ
diff --git a/docs/guides/images/installation_9.0_F01.png b/docs/guides/images/installation_9.0_F01.png
deleted file mode 100644
index 165ff5ac6c..0000000000
Binary files a/docs/guides/images/installation_9.0_F01.png and /dev/null differ
diff --git a/docs/guides/images/installation_9.0_F02.png b/docs/guides/images/installation_9.0_F02.png
deleted file mode 100644
index b530728a7b..0000000000
Binary files a/docs/guides/images/installation_9.0_F02.png and /dev/null differ
diff --git a/docs/guides/images/installation_9.2_F01.png b/docs/guides/images/installation_9.2_F01.png
deleted file mode 100644
index 5e0d46b599..0000000000
Binary files a/docs/guides/images/installation_9.2_F01.png and /dev/null differ
diff --git a/docs/guides/images/installation_9_6_F01.png b/docs/guides/images/installation_9_6_F01.png
new file mode 100644
index 0000000000..767cff9526
Binary files /dev/null and b/docs/guides/images/installation_9_6_F01.png differ
diff --git a/docs/guides/images/mediawiki_1.png b/docs/guides/images/mediawiki_1.png
new file mode 100644
index 0000000000..900db3bd77
Binary files /dev/null and b/docs/guides/images/mediawiki_1.png differ
diff --git a/docs/guides/images/mediawiki_10.png b/docs/guides/images/mediawiki_10.png
new file mode 100644
index 0000000000..6bee1b9bd3
Binary files /dev/null and b/docs/guides/images/mediawiki_10.png differ
diff --git a/docs/guides/images/mediawiki_2.png b/docs/guides/images/mediawiki_2.png
new file mode 100644
index 0000000000..6b98de388c
Binary files /dev/null and b/docs/guides/images/mediawiki_2.png differ
diff --git a/docs/guides/images/mediawiki_3.png b/docs/guides/images/mediawiki_3.png
new file mode 100644
index 0000000000..d95ee5aa38
Binary files /dev/null and b/docs/guides/images/mediawiki_3.png differ
diff --git a/docs/guides/images/mediawiki_4.png b/docs/guides/images/mediawiki_4.png
new file mode 100644
index 0000000000..d27eee610c
Binary files /dev/null and b/docs/guides/images/mediawiki_4.png differ
diff --git a/docs/guides/images/mediawiki_5.png b/docs/guides/images/mediawiki_5.png
new file mode 100644
index 0000000000..b27e0260ac
Binary files /dev/null and b/docs/guides/images/mediawiki_5.png differ
diff --git a/docs/guides/images/mediawiki_6.png b/docs/guides/images/mediawiki_6.png
new file mode 100644
index 0000000000..e86616f47d
Binary files /dev/null and b/docs/guides/images/mediawiki_6.png differ
diff --git a/docs/guides/images/mediawiki_7.png b/docs/guides/images/mediawiki_7.png
new file mode 100644
index 0000000000..4020b544e1
Binary files /dev/null and b/docs/guides/images/mediawiki_7.png differ
diff --git a/docs/guides/images/mediawiki_8.png b/docs/guides/images/mediawiki_8.png
new file mode 100644
index 0000000000..71afa02ee1
Binary files /dev/null and b/docs/guides/images/mediawiki_8.png differ
diff --git a/docs/guides/images/mediawiki_9.png b/docs/guides/images/mediawiki_9.png
new file mode 100644
index 0000000000..10cb620f92
Binary files /dev/null and b/docs/guides/images/mediawiki_9.png differ
diff --git a/docs/guides/installation.fr.md b/docs/guides/installation.fr.md
new file mode 100644
index 0000000000..0452263b58
--- /dev/null
+++ b/docs/guides/installation.fr.md
@@ -0,0 +1,273 @@
+---
+Title: Rocky Linux 10 — Installation
+author: Wale Soyinka
+contributors:
+---
+
+# Installation de Rocky Linux 10
+
+Il s'agit d'un guide détaillé pour l'installation d'une version 64 bits de la distribution Rocky Linux sur un système autonome. Vous allez effectuer une installation de type serveur. Vous allez passer par les étapes d’installation et de personnalisation dans les sections suivantes.
+
+## Prérequis à l'Installation du Système d'Exploitation
+
+Téléchargez l'ISO à utiliser pour cette installation de Rocky Linux.
+Vous pouvez télécharger la dernière image ISO pour la version de Rocky Linux à installer ici :
+
+
+
+Pour télécharger l'image ISO directement depuis la ligne de commande sur un système Linux existant, utilisez la commande `wget` comme suit :
+
+```bash
+wget https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.0-x86_64-minimal.iso
+```
+
+Les images ISO de Rocky Linux respectent la convention de nommage suivante :
+
+```text
+Rocky-.--.iso
+```
+
+Par exemple, `Rocky-10.0-x86_64-minimal.iso`
+
+!!! note "Remarque"
+
+ Le site web du projet Rocky Linux propose une liste de nombreux miroirs situés partout dans le monde. Choisissez le miroir qui est géographiquement le plus proche de vous. La liste des mirroirs officiels pet être consultée [ici](https://mirrors.rockylinux.org/mirrormanager/mirrors).
+
+## Vérification du fichier ISO d'installation
+
+Si vous avez téléchargé un des fichiers ISO Rocky Linux, vous pouvez utiliser l'utilitaire `sha256sum` pour vérifier que le fichier téléchargé n'est pas corrompu. Nous allons montrer un exemple de la façon de valider le fichier `Rocky-10.0-x86_64-minimal.iso` en vérifiant sa somme de contrôle.
+
+1. Téléchargez le fichier qui contient les sommes de contrôle officielles pour les fichiers ISO disponibles.
+
+1. Alors que vous êtes toujours dans le dossier qui contient l'image ISO Rocky Linux téléchargée, téléchargez le fichier checksum pour l'ISO, tapez :
+
+ ```bash
+ wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/10/isos/x86_64/CHECKSUM
+ ```
+
+1. Utilisez le programme `sha256sum` pour vérifier l'intégrité du fichier ISO contre la corruption ou la falsification.
+
+ ```bash
+ sha256sum -c CHECKSUM --ignore-missing
+ ```
+
+ Cela vérifie l'intégrité du fichier ISO téléchargé précédemment, à condition qu'il se trouve dans le même répertoire. Le résultat suivant devrait être affiché :
+
+ ```text
+ Rocky-10.0-x86_64-minimal.iso: OK
+ ```
+
+## L'installation
+
+!!! tip "Astuce"
+
+ Avant de démarrer l'installation à proprement parler, l'UEFI (Unified Extensible Firmware Interface) ou le BIOS (Basic Input/Output System) du système doit être configuré pour démarrer sur le bon média.
+ Assurez-vous également de consulter les notes [configuration matérielle minimale requise](minimum_hardware_requirements.md) recommandées pour l'exécution de Rocky Linux 10.
+
+Une fois le système configuré pour démarrer à partir du média avec le fichier ISO, on peut commencer l'installation.
+
+1. Insérez et démarrez à partir du support d'installation (par exemple, un disque optique, une clé USB).
+
+2. Une fois l'ordinateur démarré, vous voyez l'écran de démarrage du programme d'installation de Rocky Linux 10.
+
+ 
+
+3. Sur l'écran d'accueil, vous pouvez utiliser les touches fléchées ++"up"++ ou ++"down"++ pour sélectionner l'une des options, puis appuyer sur ++enter++ pour exécuter l'option sélectionnée. Si vous n'appuyez sur aucune touche, le programme d'installation démarre un compte à rebours, après quoi le processus d'installation exécute automatiquement l'option par défaut en surbrillance :
+
+ `Tester le media & installer Rocky Linux 10`
+
+4. Une vérification rapide du media sera effectuée.
Cette vérification peut vous éviter de démarrer l'installation et de découvrir à mi-chemin que le programme d'installation doit s'arrêter en raison d'un support d'installation défectueux.
+
+1. Une fois la vérification du support terminée et le support vérifié comme utilisable, le programme d'installation passe automatiquement à l'écran suivant.
+
+2. Sélectionnez dans cet écran la langue à utiliser pour continuer l'installation. Pour cet exemple, nous choisissons *Anglais (US)*. Cliquez ensuite sur le bouton ++"continue"++.
+
+## Récapitulatif de l'intallation
+
+L'écran `Installation Summary` est une zone complète dans laquelle vous prenez des décisions clés concernant l'installation du système.
+
+L'écran est grossièrement divisé en sections suivantes :
+
+- *LOCALIZATION*
+- *SOFTWARE*
+- *SYSTEM*
+- *USER SETTINGS*
+
+Nous allons maintenant examiner chacune de ces sections et apporter les modifications nécessaires.
+
+### Localisation
+
+Cette rubrique permet de personnaliser les éléments liés à l'emplacement géographique du système. Cela comprend le clavier, la prise en charge des langues, l'heure et la date.
+
+#### Clavier
+
+Dans le système de démonstration de ce guide, nous acceptons la valeur par défaut (*English US*) et n'apportons aucune modification.
+
+Cependant, si vous devez apporter des modifications ici, à partir de l'écran `Installation Summary`, cliquez sur l'option ++"keyboard"++ pour spécifier la disposition du clavier du système. À l'aide du bouton ++plus++, vous pouvez ajouter et commander des dispositions de clavier supplémentaires si nécessaire.
+
+Cliquez sur ++"done"++ lorsque vous en avez terminé avec cet écran.
+
+#### Support linguistique
+
+L'option `Prise en charge des langues` sur l'écran *Résumé de l'installation* permet de spécifier la prise en charge de langues supplémentaires.
+
+Nous accepterons la valeur par défaut - **English (United States)** et n'effectuerons aucune modification, cliquez sur ++"done"++.
+
+#### Heure & Date
+
+Cliquez sur l'option ++"Time & Date"++ sur l'écran principal `Installation Summary `pour faire apparaître un autre écran qui permet de sélectionner le fuseau horaire où se trouve la machine. Utilisez les flèches déroulantes pour sélectionner la région et la ville les plus proches de vous.
+
+Acceptez la valeur par défaut et activez l'option ++"Automatic date & time"++, qui permet au système de définir automatiquement l'heure et la date correctes à l'aide du protocole NTP (Network Time Protocol).
+
+Cliquez sur ++"done"++ une fois terminé.
+
+### Section Logiciel
+
+Dans la section *Software* de l'écran *Installation Summary*, vous pouvez sélectionner ou modifier la source d'installation ainsi qu'ajouter des logiciels supplémentaires pour l'environnement sélectionné.
+
+#### Source de l'installation
+
+Étant donné que nous utilisons une image ISO Rocky Linux 10 pour l'installation, l'option Source détectée automatiquement est sélectionnée par défaut pour nous. Vous pouvez confirmer les valeurs par défaut prédéfinies.
+
+!!! tip "Astuce"
+
+ La zone Source d'installation vous permet d'effectuer une installation basée sur le réseau (par exemple, si vous utilisez l'ISO de démarrage Rocky Linux - Rocky-10.0-x86_64-boot.iso). Pour une installation basée sur le réseau, vous devez d'abord vous assurer qu'une carte réseau sur le système cible est correctement configurée et peut atteindre la (ou les) source(s) d'installation par le réseau (LAN ou Internet). Pour effectuer une installation basée sur le réseau, cliquez sur `Installation Source`, puis sélectionnez le bouton radio `On the network`. Sélectionnez ensuite le protocole correct et entrez l’URI exact. Cliquez sur `Done`.
+
+#### Sélection de Logiciel
+
+En cliquant sur l'option ++"Software Selection"++ sur l'écran principal *Installation Summary*, vous accédez à une zone de sélection de logiciel composée de deux sections :
+
+- **Environnement de base** : Installation Minimale
+- **Logiciels supplémentaires pour l'environnement sélectionné** : La sélection d'un environnement de base sur le côté gauche présente une variété de logiciels supplémentaires associés à installer pour l'environnement donné sur le côté droit.
+
+Sélectionnez l'option *Minimal Install* (fonctionnalité de base).
+
+Cliquez sur ++"done"++ en haut de l'écran.
+
+### Section Système
+
+Utilisez la section Système de l'écran *Installation Summary* pour personnaliser et apporter des modifications aux éléments liés au matériel sous-jacent du système cible. C'est ici que vous créez vos partitions ou volumes de disque dur, spécifiez le système de fichiers, spécifiez la configuration réseau et activez ou désactivez KDUMP.
+
+#### Destination de l'Installation
+
+À partir de l'écran *Installation Summary*, cliquez sur l'option ++"Installation Destination"++. Cela vous amène au domaine de tâches correspondant.
+
+Vous verrez un écran affichant tous les lecteurs de disque disponibles sur le système cible. Si vous n'avez qu'un seul lecteur de disque sur le système, comme sur notre système d'exemple, vous voyez le lecteur répertorié sous *Local Standard Disks* avec une coche à côté. En cliquant sur l'icône du disque, vous pourrez activer ou désactiver la coche de sélection du disque. Laissez-le coché pour sélectionner le disque.
+
+Dans la section *Storage Configuration* :
+
+1. Sélectionnez le bouton radio ++"Automatic"++.
+
+2. Cliquez sur ++"done"++ en haut de l'écran.
+
+3. Une fois que le programme d'installation détermine que vous avez un disque utilisable, il retourne à l'écran *Installation Summary*.
+
+### Réseau & Nom d'Hôte
+
+La tâche importante suivante dans la procédure d'installation sous la zone Système implique la configuration du réseau, où vous pouvez ajuster les paramètres liés au réseau pour le système.
+
+!!! note "Remarque"
+
+ Après avoir cliqué sur l'option ++"Network & Hostname"++, tout le matériel d'interface réseau correctement détecté (tel qu'Ethernet, les cartes réseau sans fil, etc.) sera répertorié dans le volet gauche de l'écran de configuration réseau. Selon votre configuration matérielle spécifique, les périphériques Ethernet sous Linux ont des noms similaires à « eth0 », « eth1 », « ens3 », « ens4 », « em1 », « em2 », « p1p1 », « enp0s3 », etc.
+ Vous pouvez configurer chaque interface à l'aide de DHCP ou définir manuellement l'adresse IP.
+ Si vous choisissez de configurer manuellement, assurez-vous que vous disposez de toutes les informations requises, comme l'adresse IP, le masque de réseau et d'autres détails pertinents.
+
+Cliquer sur le bouton ++"Network & Host Name"++ dans l'écran principal *Installation Summary* ouvre l'écran de configuration correspondant. Ici, vous pouvez également configurer le nom d'hôte du système.
+
+!!! note "Remarque"
+
+ Vous pourrez facilement modifier ce nom plus tard, une fois le système d'exploitation installé.
+
+La tâche de configuration suivante concerne les interfaces réseau du système.
+
+1. Vérifiez que le volet de gauche répertorie une carte/adaptateur réseau
+2. Cliquez sur l'un des périphériques réseaux détectés dans le volet de gauche pour le sélectionner.
+ Les propriétés configurables de la carte réseau sélectionnée s'affichent dans le volet de droite de l'écran.
+
+!!! note "Remarque"
+
+ Dans notre système d'exemple, nous avons deux périphériques Ethernet (`ens3` et `ens4`), tous deux dans un état connecté. Le type, le nom, la quantité et l’état des périphériques réseau de votre système peuvent différer de ceux de notre système de démonstration.
+
+Verify that the switch of the device you want to configure is in the `ON` (blue) position in the right pane. Dans cette section, vous pouvez confirmer toutes les valeurs par défaut.
+
+Cliquez sur ++"done"++ pour revenir à l'écran principal *Installation Summary*.
+
+!!! warning "Avertissement"
+
+ Portez attention à l’adresse IP du serveur dans cette section du programme d’installation. Si vous n'avez pas d'accès physique ou facile à la console du système, ces informations vous seront utiles plus tard lorsque vous devrez vous connecter au serveur une fois l'installation du système d'exploitation terminée.
+
+### Section Paramètres d'Utilisateur
+
+Utilisez cette section pour créer un mot de passe pour le compte utilisateur `root` et pour créer de nouveaux comptes administratifs ou non.
+
+#### Mot de passe `root`
+
+1. Cliquez sur le champ *Mot de passe root* sous *Paramètres utilisateur* pour démarrer l'écran de tâches *Compte root*.
+
+ !!! warning "Avertissement"
+
+ Le superutilisateur `root` est le compte le plus privilégié du système. Si vous choisissez de l'utiliser ou de l'activer, vous devez protéger ce compte avec un mot de passe fort.
+
+2. Vous verrez une des deux options : `Disable root account` ou `Enable root account`. Acceptez le choix par défaut.
+
+3. Cliquez sur ++"done"++.
+
+#### Création d'un Utilisateur
+
+Création d'utilisateur :
+
+1. Cliquez sur le champ *User Creation* sous *User Settings* pour démarrer l'écran de tâche *Create User*. Utilisez cette zone de tâches pour créer un compte utilisateur privilégié (administrateur) ou non (non administratif).
+
+ !!! Mise en garde
+
+ Sur un système Rocky Linux 10, le compte `Root` est désactivé par défaut ; il est donc essentiel de s'assurer que le compte utilisateur créé lors de l'installation du système d'exploitation dispose de privilèges administratifs. Cet utilisateur peut être utilisé de manière non privilégiée pour les tâches quotidiennes sur le système et aura également la possibilité d'élever son rôle pour effectuer des fonctions administratives (`root`) si nécessaire.
+
+ Nous allons créer un utilisateur régulier qui peut invoquer les privilèges `superuser` (administrateur) au besoin.
+
+2. Remplissez les champs de l'écran *Create User* avec les informations suivantes :
+
+ - **Full name**: `rockstar`
+ - **Username**: `rockstar`
+ - **Add administrative privileges to this user account (wheel group membership)**: Checked
+ - **Require a password to use this account**: Checked
+ - **Password**: `04302021`
+ - **Confirm password**: `04302021`
+
+3. Cliquez sur ++"done"++.
+
+## L'installation
+
+Une fois que vous êtes satisfait de vos choix pour les différentes tâches d'installation, la phase suivante du processus d'installation commencera l'installation proprement dite.
+
+### Lancement de l'Installation
+
+Une fois satisfait de vos choix pour les différentes tâches d'installation, cliquez sur le bouton ++"Begin Installation"++ sur l'écran principal `Installation Summary`.
+
+L'installation commencera, et le logiciel d'installation en affichera la progression. Une fois l'installation lancée, diverses tâches commenceront à s'exécuter en arrière-plan, comme le partitionnement du disque, le formatage des partitions ou des volumes LVM, la vérification et la résolution des dépendances logicielles, l'écriture du système d'exploitation sur le disque et d'autres tâches similaires.
+
+!!! note "Remarque"
+
+ Si vous ne voulez pas continuer après avoir cliqué sur le bouton ++"Begin Installation"++, vous pouvez toujours quitter l'installation en toute sécurité sans perdre de données. Pour quitter le programme d'installation, réinitialisez simplement votre système en cliquant sur le bouton ++"Quit"++, en appuyant sur Ctrl-Alt-Delete sur le clavier ou en appuyant sur l'interrupteur de réinitialisation ou d'alimentation.
+
+### Terminer l'installation
+
+Une fois le programme d'installation terminé, vous verrez un écran de progression d'installation final avec un message complet.
+
+Finalement, terminez toute la procédure en cliquant sur le bouton ++"Reboot System"++. Le système redémarre de lui-même.
+
+### Se connecter
+
+Le système est maintenant configuré et prêt à être utilisé. Vous verrez la console Rocky Linux.
+
+
+
+La marche à suivre pour se connecter au système est la suivante :
+
+1. Tapez `rockstar` à l'invite de connexion et appuyez sur ++enter++.
+
+2. À l'invite du mot de passe, entrez `04302021` (le mot de passe de Rockstar) et appuyez sur ++enter++ (le mot de passe ne sera ***pas*** affiché à l'écran, c'est normal).
+
+3. Exécutez la commande `whoami` après la connexion.
+ Cette commande affiche le nom de l'utilisateur présentement connecté.
+
+
diff --git a/docs/guides/installation.it.md b/docs/guides/installation.it.md
index 61c2bcb9d0..61080d1b80 100644
--- a/docs/guides/installation.it.md
+++ b/docs/guides/installation.it.md
@@ -1,10 +1,10 @@
---
-Title: Installazione di Rocky Linux 9
+Title: Installazione di Rocky Linux 10
author: Wale Soyinka
-contributors: Steven Spencer, Ganna Zhyrnova
+contributors:
---
-# Installazione di Rocky Linux 9
+# Installazione di Rocky Linux 10
Questa è una guida dettagliata per l'installazione di una versione a 64 bit della distribuzione Rocky Linux su un sistema standalone. Verrà eseguita un'installazione di classe server. Nelle sezioni seguenti verranno illustrate le fasi di installazione e personalizzazione.
@@ -13,82 +13,80 @@ Questa è una guida dettagliata per l'installazione di una versione a 64 bit del
Scaricare la ISO da utilizzare per questa installazione di Rocky Linux.
È possibile scaricare l'ultima immagine ISO della versione di Rocky Linux per questa installazione qui:
-```
-https://www.rockylinux.org/download/
-```
+
Per scaricare l'ISO direttamente dalla riga di comando su un sistema Linux esistente, utilizzare il comando `wget`:
-```
-wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.3-x86_64-minimal.iso
+```bash
+wget https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.0-x86_64-minimal.iso
```
Le ISO di Rocky Linux seguono questa convenzione di denominazione:
-```
+```text
Rocky-.--.iso
```
-Ad esempio, `Rocky-9.3-x86_64-minimal.iso`
+For example, `Rocky-10.0-x86_64-minimal.iso`
-!!! Note "Nota"
+!!! Note
- La pagina web del progetto Rocky elenca diversi mirror, situati in tutto il mondo. Scegliete il mirror geograficamente più vicino a voi. L'elenco dei mirror ufficiali è disponibile [qui] (https://mirrors.rockylinux.org/mirrormanager/mirrors).
+ Il sito web del Progetto Rocky elenca diversi mirror situati in tutto il mondo. Scegliete il mirror geograficamente più vicino a voi. La lista dei mirror ufficiali può essere trovata [quì](https://mirrors.rockylinux.org/mirrormanager/mirrors).
## Verifica del file ISO del Programma di Installazione
-Se avete scaricato le ISO di Rocky Linux su una distribuzione Linux esistente, potete usare l'utility `sha256sum` per verificare che i file scaricati non siano corrotti. Mostreremo un esempio di come verificare il file `Rocky-9.3-x86_64-minimal.iso` controllando il suo checksum.
+Se avete scaricato le ISO di Rocky Linux su una distribuzione Linux esistente, potete usare l'utility `sha256sum` per verificare che i file scaricati non siano corrotti. Mostreremo un esempio di come verificare il file `Rocky-10.0-x86_64-minimal.iso` controllando il suo checksum.
1. Scaricate il file che contiene le checksum ufficiali delle ISO disponibili.
1. Mentre vi trovate ancora nella cartella che contiene l'ISO di Rocky Linux scaricata, scaricare il file di checksum dell'ISO, digitando:
- ```
- wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/9.3/isos/x86_64/CHECKSUM
+ ```bash
+ wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/10/isos/x86_64/CHECKSUM
```
1. Utilizzare l'utilità `sha256sum` per verificare l'integrità del file ISO contro la corruzione o la manomissione.
- ```
+ ```bash
sha256sum -c CHECKSUM --ignore-missing
```
Controlla l'integrità del file ISO scaricato in precedenza, a condizione che si trovi nella stessa directory. L'output dovrebbe mostrare:
- ```
- Rocky-9.3-x86_64-minimal.iso: OK
+ ```text
+ Rocky-10.0-x86_64-minimal.iso: OK
```
## L'installazione
-!!! Tip "Suggerimento"
-
- Prima di iniziare l'installazione vera e propria, la Unified Extensible Firmware Interface (UEFI) o il Basic Input/Output System (BIOS) del sistema devono essere preconfigurati per l'avvio dal supporto corretto.
+!!! Tip
-Se il computer è impostato per l'avvio dal supporto che contiene il file ISO, possiamo iniziare il processo di installazione.
+ Prima di iniziare l'installazione, accertarsi che l'interfaccia UEFI (Unified Extensible Firmware Interface) o il BIOS (Basic Input/Output System) del sistema siano configurati correttamente per l'avvio dal supporto corretto.
+ Inoltre, assicuratevi di leggere le note sui [requisiti hardware minimi] (minimum_hardware_requirements.md) raccomandati per l'esecuzione di Rocky Linux 10.
-1. Inserire e avviare il supporto di installazione (disco ottico, unità flash USB e così via).
+Una volta impostato il sistema per l'avvio dal supporto con il file ISO, si può iniziare l'installazione.
-1. Una volta avviato il computer, viene visualizzata la schermata di benvenuto di Rocky Linux 9.
+1. Inserire e avviare il supporto di installazione (ad esempio, disco ottico, unità flash USB).
- 
+2. Una volta avviato il computer, viene visualizzata la schermata di benvenuto di Rocky Linux 10.
-1. Se non si preme alcun tasto, il programma di installazione avvia un conto alla rovescia, al termine del quale il processo di installazione esegue automaticamente l'opzione predefinita, evidenziata:
+ 
- `Test this media & install Rocky Linux 9.3`
+3. Nella schermata di benvenuto, è possibile utilizzare i tasti freccia ++“su ”++ o ++“giù ”++ per selezionare una delle opzioni, quindi premere ++enter++ per eseguire l'opzione selezionata. Se non si preme alcun tasto, il programma di installazione avvia un conto alla rovescia, al termine del quale il processo di installazione esegue automaticamente l'opzione predefinita, evidenziata:
- È anche possibile premere Invio in qualsiasi momento per avviare immediatamente il processo.
+ `Test this media & install Rocky Linux 10.0`
-1. Viene eseguita una rapida fase di verifica dei supporti.
+4. Viene eseguita una rapida fase di verifica dei supporti.
+
Questa fase di verifica del supporto può evitare di avviare l'installazione per poi scoprire a metà strada che il programma di installazione deve essere interrotto a causa di un supporto di installazione difettoso.
-1. Dopo che la verifica del supporto è stata completata e il supporto è stato verificato come utilizzabile, il programma di installazione passa automaticamente alla schermata successiva.
+1. Una volta completato il controllo del supporto e verificata la sua utilizzabilità, il programma di installazione passa automaticamente alla schermata successiva.
-1. In questa schermata è possibile selezionare la lingua che si desidera utilizzare per eseguire l'installazione. Per questa guida, selezioniamo l'*inglese (Stati Uniti)*. Quindi fare clic sul pulsante Continue.
+2. Selezionare la lingua che si desidera utilizzare per l'installazione di questa schermata. Per questa guida, selezioniamo l'*inglese (Stati Uniti)*. Quindi fare clic sul pulsante ++"continue "++.
## Riepilogo dell'installazione
-La schermata *Installation Summary* è un'area completa in cui si prendono le decisioni importanti sul sistema da installare.
+La schermata `Riepilogo installazione` è un'area completa in cui si prendono le decisioni chiave sull'installazione del sistema.
La schermata è suddivisa grossomodo nelle seguenti sezioni:
@@ -101,104 +99,104 @@ In seguito approfondiremo ciascuna di queste sezioni e apporteremo le modifiche
### Sezione Localizzazione
-Questa sezione è utilizzata per personalizzare le voci relative alla località geografica del sistema. Tra questi: tastiera, supporto della lingua, ora e data.
+Questa sezione consente di personalizzare le voci relative alla posizione geografica del sistema. Tra questi: tastiera, supporto della lingua, ora e data.
#### Tastiera
-Nel nostro sistema demo di questa guida, accettiamo il valore predefinito*(English US*) e non apportiamo alcuna modifica.
+Nel sistema demo di questa guida, accettiamo il valore predefinito*(English US*) e non apportiamo alcuna modifica.
-Tuttavia, se è necessario apportare delle modifiche, dalla schermata *Installation Summary*, facendo clic sull'opzione Keyboard si specifica il layout della tastiera del sistema. Con il pulsante + è possibile aggiungere altri layout di tastiera, se necessario, nella schermata successiva, specificando anche l'ordine preferito.
+Tuttavia, se è necessario apportare modifiche, dalla schermata *Riepilogo dell'installazione*, fare clic sull'opzione ++“tastiera”++ per specificare il layout della tastiera del sistema. Con il pulsante ++plus++ è possibile aggiungere e ordinare altri layout di tastiera, se necessario.
-Al termine di questa schermata, fare clic su Done.
+Al termine di questa schermata, fare clic su ++"done"++.
#### Supporto linguistico
-L'opzione Language Support nella schermata *Installation Summary* consente di specificare il supporto per altre lingue.
+L'opzione `Language Support` nella schermata *Installation Summary* consente di specificare il supporto per altre lingue.
-Accetteremo il valore predefinito - **English (United States)** e non apporteremo alcuna modifica; fare clic su Done.
+Accetteremo il valore predefinito - **English (United States)** e non apporteremo alcuna modifica, facendo clic su ++“done”++.
#### Data & Ora;
-Fare clic sull'opzione Time & Date nella schermata principale di *Installation Summary* per visualizzare un'altra schermata che consente di selezionare il fuso orario in cui si trova la macchina. Scorrete l'elenco delle regioni e delle città e selezionate l'area più vicina a voi.
+Fare clic sull'opzione ++“Ora & data”++ nella schermata principale *Installation Summary* per visualizzare un'altra schermata che consentirà di selezionare il fuso orario in cui si trova la macchina. Utilizzate le frecce a discesa per selezionare la regione e la città più vicina a voi.
-A seconda della fonte di installazione, l'opzione *Network Time* può essere impostata di default su *ON* o *OFF*. Accettare l'impostazione predefinita *ON*; ciò consente al sistema di impostare automaticamente l'ora corretta utilizzando il Network Time Protocol (NTP).
+Accettare l'impostazione predefinita e attivare l'opzione ++“Data & ora automatiche”++, che consente al sistema di impostare automaticamente la data e l'ora corrette utilizzando il Network Time Protocol (NTP).
-Fare clic su Done dopo aver apportato le modifiche.
+Al termine, fare clic su ++“done”++.
### Sezione software
-Nella sezione *Software* della schermata *Installation Summary*, è possibile selezionare o modificare l'origine dell'installazione e i pacchetti aggiuntivi (applicazioni) che vengono installati.
+Nella sezione *Software* della schermata *Riepilogo installazione*, è possibile selezionare o modificare l'origine dell'installazione e aggiungere ulteriori pacchetti software per l'ambiente selezionato.
#### Fonte dell'installazione
-Poiché l'installazione utilizza un'immagine ISO di Rocky Linux 9, si noterà che il *Local Media* è specificato automaticamente nella sezione Origine dell'installazione della schermata principale di *Installation Summary*. È possibile accettare le impostazioni predefinite.
+Poiché stiamo usando un'immagine ISO di Rocky Linux 10 per l'installazione, l'opzione Auto-detected source è selezionata per impostazione predefinita. Accettare la sorgente di installazione predefinita.
-!!! Tip "Suggerimento"
+!!! Tip
- Nell'area installation Source è possibile scegliere di eseguire un'installazione basata sulla rete (ad esempio se si utilizza la ISO di avvio di Rocky Linux - Rocky-9.3-x86_64-boot.iso). Per un'installazione basata sulla rete, è necessario innanzitutto assicurarsi che una scheda di rete sul sistema di destinazione sia configurata correttamente e sia in grado di raggiungere Internet. Per eseguire un'installazione dalla rete, fare clic su `Installation Source` e selezionare il pulsante di opzione `On the network`. Una volta selezionato, scegliete `https' come protocollo e digitate il seguente URL nel campo di testo `download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os`. Fare clic su "Done".
+ L'area Sorgente di installazione consente di eseguire un'installazione basata sulla rete (ad esempio, se si utilizza la ISO di avvio di Rocky Linux - Rocky-10.0-x86_64-boot.iso). Per un'installazione basata sulla rete, è necessario innanzitutto assicurarsi che una scheda di rete sul sistema di destinazione sia configurata correttamente e sia in grado di raggiungere Internet. Per eseguire un'installazione dalla rete, fare clic su `Installation Source` e selezionare il pulsante di opzione `On the network`. Una volta selezionato, scegliete `https' come protocollo e digitate il seguente URL nel campo di testo `download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os`. Fare clic su `Done`.
#### Selezione del software
-Facendo clic sull'opzione Software Selection nella schermata principale di *Installation Summary*, si accede alla sezione dell'installazione in cui è possibile scegliere i pacchetti software esatti da installare sul sistema. L'area di selezione del software è suddivisa in :
+Facendo clic sull'opzione ++“Software Selection”++ nella schermata principale *Installation Summary*, viene visualizzata un'area di selezione del software composta da due sezioni:
-- **Base Environment**: Installazione minima e sistema operativo personalizzato
-- **Additional software for Selected Environment**: la selezione di un ambiente di base sul lato sinistro presenta una serie di software aggiuntivi da installare per l'ambiente in questione sul lato destro. Si noti che questo è applicabile solo se si sta installando da un DVD completo di Rocky Linux 9.2 o se sono stati configurati repository aggiuntivi.
+- **Base Environment**: Installazione minima
+- **Additional software for Selected Environment**: Selezionando Base Environment sul lato sinistro presenta una selezione di software aggiuntivi da installare per l'ambiente in questione sul lato destro.
Selezionare l'opzione *Minimal Install* (funzionalità di base).
-Cliccate su Done nella parte superiore della schermata.
+Fare clic su ++"done"++ nella parte superiore dello schermo.
### Sezione Sistema
-La sezione System della schermata *Installation Summary* viene utilizzata per personalizzare e apportare modifiche all'hardware sottostante del sistema di destinazione. Qui si creano le partizioni o i volumi del disco rigido, si specifica il file system, la configurazione di rete, si attiva o disattiva KDUMP o si seleziona un profilo di sicurezza.
+Utilizzare la sezione Sistema della schermata *Riepilogo installazione* per personalizzare e apportare modifiche all'hardware del sistema di destinazione. Qui si creano le partizioni o i volumi del disco rigido, si specifica il file system, si specifica la configurazione di rete e si attiva o disattiva KDUMP.
#### Destinazione dell'installazione
-Dalla schermata *Installation Summary*, fare clic sull'opzione Installation Destination. Si accede così all'area operativa corrispondente.
+Nella schermata *Installation Summary*, fare clic sull'opzione ++“Installation Destination"++ . Si accede così all'area operativa corrispondente.
-Verrà visualizzata una schermata con tutte le unità disco candidate disponibili sul sistema di destinazione. Se nel sistema è presente una sola unità disco, come nel nostro sistema campione, l'unità viene elencata sotto *Local Standard Disks* con un segno di spunta accanto. Facendo clic sull'icona del disco si attiva o disattiva il segno di spunta della selezione del disco. Mantenere la spunta per selezionare il disco.
+Verrà visualizzata una schermata con tutte le unità disco candidate disponibili sul sistema di destinazione. Se nel sistema è presente una sola unità disco, come nel nostro sistema campione, l'unità viene elencata sotto *Dischi standard locali* con un segno di spunta accanto. Facendo clic sull'icona del disco si attiva o disattiva il segno di spunta della selezione del disco. Mantenere il segno di spunta per selezionare il disco.
Nella sezione *Storage Configuration*:
-1. Selezionare il pulsante di opzione Automatic.
+1. Selezionare il pulsante di opzione ++"Automatic"++.
-2. Cliccate su Done nella parte superiore della schermata.
+2. Fare clic su ++"done"++ nella parte superiore dello schermo.
3. Una volta accertato che il disco è utilizzabile, il programma di installazione torna alla schermata di *Installation Summary*.
### Network & Nome host
-Il prossimo compito importante della procedura di installazione nell'area Sistema riguarda la configurazione di rete, dove è possibile configurare o modificare le impostazioni relative alla rete del sistema.
+Il seguente compito importante nella procedura di installazione nell'area Sistema riguarda la configurazione di rete, dove è possibile configurare o regolare le impostazioni relative alla rete per il sistema.
-!!! Note "Nota"
+!!! Note
- Dopo aver fatto clic sull'opzione Network & Hostname, tutto l'hardware dell'interfaccia di rete correttamente rilevato (come schede di rete Ethernet, wireless e così via) sarà elencato nel riquadro sinistro della schermata di configurazione della rete. A seconda della configurazione hardware specifica, i dispositivi Ethernet in Linux hanno nomi simili a `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3` e così via.
- Per ogni interfaccia è possibile configurarla utilizzando il DHCP o impostando manualmente l'indirizzo IP.
- Se si sceglie di configurare manualmente, assicurarsi di avere pronte tutte le informazioni necessarie, come l'indirizzo IP, la netmask e così via.
+ Dopo aver fatto clic sull'opzione ++“Network & Host Name"++ , nel riquadro sinistro della schermata di configurazione della rete viene elencato tutto l'hardware dell'interfaccia di rete correttamente rilevato (ad esempio schede di rete Ethernet, wireless e così via). A seconda della configurazione hardware specifica, i dispositivi Ethernet in Linux hanno nomi simili a `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3` e così via.
+ È possibile configurare ogni interfaccia tramite DHCP o impostare manualmente l'indirizzo IP.
+ Se si sceglie di configurare manualmente, assicurarsi di avere pronte tutte le informazioni necessarie, come l'indirizzo IP, la netmask e altri dettagli rilevanti.
-Facendo clic sul pulsante Network & Hostname nella schermata principale di *Installation Summary*, si apre la schermata di configurazione corrispondente. Tra le altre cose, è possibile configurare l'hostname del sistema.
+Facendo clic sul pulsante ++“Network & Host Name”++ nella schermata principale *Installation Summary* si apre la schermata di configurazione corrispondente. Qui è possibile configurare anche l'hostname del sistema.
-!!! Note "Nota"
+!!! Note
È possibile modificare facilmente l'hostname del sistema in un secondo momento, dopo l'installazione del sistema operativo.
-La prossima importante operazione di configurazione riguarda le interfacce di rete del sistema.
+La seguente attività di configurazione riguarda le interfacce di rete del sistema.
-1. Verificare che nel riquadro di sinistra sia elencata una scheda Ethernet (o qualsiasi altra scheda di rete)
-2. Fare clic su uno dei dispositivi di rete rilevati nel riquadro sinistro per selezionarlo.
+1. Verificare che nel riquadro di sinistra sia elencato un adattatore/scheda di rete
+2. Fare clic su uno qualsiasi dei dispositivi di rete rilevati nel riquadro di sinistra per selezionarlo.
Le proprietà configurabili dell'adattatore di rete selezionato appaiono nel riquadro destro della schermata.
-!!! Note "Nota"
+!!! Note
- Nel nostro sistema campione, abbiamo due dispositivi Ethernet (`ens3` e `ens4`), tutti in stato di connessione. Il tipo, il nome, la quantità e lo stato dei dispositivi di rete presenti nel sistema potrebbero variare rispetto a quelli presenti nel nostro sistema demo.
+ Nel nostro sistema campione, abbiamo due dispositivi Ethernet (`ens3` e `ens4`), entrambi in stato di connessione. Il tipo, il nome, la quantità e lo stato dei dispositivi di rete presenti sul vostro sistema possono differire da quelli presenti sul nostro sistema demo.
-Verify the switch of the device you want to configure is flipped to the `ON` (blue) position in the right pane. In questa sezione verranno accettate tutte le impostazioni predefinite.
+Verify that the switch of the device you want to configure is in the `ON` (blue) position in the right pane. Accetteremo tutte le impostazioni predefinite in questa sezione.
-Fare clic su Done per tornare alla schermata principale di *Installation Summary*.
+Fare clic su ++“done”++ per tornare alla schermata principale *Installation Summary*.
!!! Warning "Attenzione"
- Prestare attenzione all'indirizzo IP del server in questa sezione del programma di installazione. Se non si dispone di un accesso fisico o facile alla console del sistema, queste informazioni saranno utili in seguito, quando sarà necessario collegarsi al server per continuare a lavorarci dopo il completamento dell'installazione del sistema operativo.
+ Prestare attenzione all'indirizzo IP del server in questa sezione del programma di installazione. Se non si dispone di un accesso fisico o facile alla console del sistema, queste informazioni saranno utili in seguito, quando sarà necessario connettersi al server al termine dell'installazione del sistema operativo.
### Sezione Impostazioni utente
@@ -206,77 +204,73 @@ Questa sezione può essere utilizzata per creare una password per l'account uten
#### Password Root
-1. Fare clic sul campo *Root Password* in *User Settings* per avviare la schermata dell'attività *Root Password*.
+1. Fare clic sul campo *Root Password* in *Impostazioni utente* per avviare la schermata dell'attività *Account di root*.
!!! Warning "Attenzione"
- Il superutente root è l'account più privilegiato del sistema. Pertanto, se si sceglie di utilizzarlo o di abilitarlo, è fondamentale proteggere questo account con una password forte.
-
-1. Nella casella di testo *Root Password*, impostare una password forte per l'utente root.
+ Il superutente root è l'account più privilegiato del sistema. Se si sceglie di utilizzarlo o di abilitarlo, è necessario proteggere questo account con una password forte.
-1. Immettere nuovamente la stessa password nella casella di testo *Confirm*.
-
-1. Fare clic su Done.
+2. Verranno visualizzate due opzioni: “Disable root account" oppure "Enable root account". Accettare l'opzioni di default
+3. Fare clic su ++"done"++.
#### Creazione dell'utente
Per creare un utente:
-1. Fare clic sul campo *User Creation* in *User Settings* per avviare la schermata dell'attività *Create User*.
- Quest'area operativa consente di creare un account utente privilegiato o non privilegiato (non amministrativo) sul sistema.
+1. Fare clic sul campo *User Creation* sotto *User Settings* per avviare la schermata dell'attività *Create User*. Utilizzare quest'area operativa per creare un account utente privilegiato (amministrativo) o non privilegiato (non amministrativo).
- !!! Info "Informazione"
+ !!! Caution
- La creazione e l'uso di un account non privilegiato per le attività quotidiane di un sistema è una buona pratica di amministrazione del sistema.
+ Su un sistema Rocky Linux 10, l'account Root è disabilitato per impostazione predefinita; pertanto, è essenziale assicurarsi che l'account utente creato durante l'installazione del sistema operativo abbia privilegi amministrativi. Questo utente può essere utilizzato in modo non privilegiato per le attività quotidiane del sistema e avrà anche la possibilità di elevare il proprio ruolo per eseguire funzioni amministrative (root), se necessario.
Creeremo un utente normale che può invocare i poteri di superutente (amministratore) quando necessario.
-1. Completate i campi della schermata *Create User* con le seguenti informazioni:
+2. Completate i campi della schermata *Create User* con le seguenti informazioni:
- - **Full name**: `rockstar`
+ - **Nome completo**: `rockstar`
- **Username**: `rockstar`
- - **Make this user administrator**: Checked
- - **Require a password to use this account**: Checked
- - **Password**: `04302021`
- - **Confirm password**: `04302021`
+ - **Aggiungere privilegi amministrativi a questo account utente (appartenenza al gruppo root)**: Spuntato
+ - **Richiedere una password per utilizzare questo account**: Spuntato
+ - **Password**: `04302021`
+ - **Conferma password**: `04302021`
-1. Fare clic su Done.
+3. Fare clic su ++"done"++.
## Fase di Installazione
Una volta soddisfatti delle scelte effettuate per le varie attività di installazione, la fase successiva del processo di installazione darà inizio all'installazione vera e propria.
-
### Avviare l'installazione
-Una volta soddisfatti delle scelte effettuate per le varie attività di installazione, fare clic sul pulsante Begin Installation nella schermata principale di *Installation Summary*.
+Una volta soddisfatti delle scelte effettuate per le varie operazioni di installazione, fare clic sul pulsante ++“Begin Installation”++ nella schermata principale *Installation Summary*.
-L'installazione avrà inizio e il programma di installazione mostrerà l'avanzamento dell'installazione. Dopo l'inizio dell'installazione, inizieranno ad essere eseguite varie attività in background, come il partizionamento del disco, la formattazione delle partizioni o dei volumi LVM, la verifica e la risoluzione delle dipendenze software, la scrittura del sistema operativo sul disco e così via.
+L'installazione avrà inizio e il programma di installazione mostrerà l'avanzamento dell'installazione. Dopo l'avvio dell'installazione, inizieranno ad essere eseguite varie attività in background, come il partizionamento del disco, la formattazione delle partizioni o dei volumi LVM, la verifica e la risoluzione delle dipendenze software, la scrittura del sistema operativo sul disco e altre attività simili.
-!!! Note "Nota"
+!!! Note
- Se non si desidera continuare dopo aver fatto clic sul pulsante Inizia l'installazione, si può comunque uscire dall'installazione senza perdere i dati. Per uscire dal programma di installazione, è sufficiente resettare il sistema facendo clic sul pulsante Quit, premendo ctrl-alt-del sulla tastiera o premendo l'interruttore di reset o di alimentazione.
+ Se non si desidera continuare dopo aver fatto clic sul pulsante ++"Inizia l'installazione"++, è possibile uscire dall'installazione senza perdere i dati. Per uscire dal programma di installazione, è sufficiente resettare il sistema facendo clic sul pulsante Quit, premendo ctrl-alt-del sulla tastiera o premendo l'interruttore di reset o di alimentazione.
### Completare l'installazione
-Al termine del programma di installazione, viene visualizzata una schermata finale di avanzamento dell'installazione con un messaggio di completamento.
+Dopo che il programma di installazione ha completato il suo lavoro, verrà visualizzata una schermata finale di avanzamento dell'installazione con un messaggio di completamento.
-Infine, completare l'intera procedura facendo clic sul pulsante Reboot System. Il sistema si riavvia.
+Infine, completare l'intera procedura facendo clic sul pulsante ++“Reboot System”++. Il sistema si riavvia.
### Accedi
Il sistema è ora impostato e pronto per l'uso. Verrà visualizzata la console Rocky Linux.
-
+
Per accedere al sistema:
-1. Digitare `rockstar` al prompt di login e premere Invio.
+1. Digitare `rockstar` al prompt di login e premere ++enter++.
-1. Al prompt della password, digitate `04302021` (la password di Rockstar) e premete Invio (la password ***non verrà*** visualizzata sullo schermo, è normale).
+2. Al prompt della password, digitate `04302021` (la password di Rockstar) e premete ++enter++ (la password ***non*** verrà riprodotta sullo schermo, è normale).
-1. Eseguire il comando `whoami` dopo il login.
+3. Eseguire il comando `whoami` dopo il login.
+
Questo comando mostra il nome dell'utente attualmente connesso.

diff --git a/docs/guides/installation.md b/docs/guides/installation.md
index d45bea8fbc..84f87ad894 100644
--- a/docs/guides/installation.md
+++ b/docs/guides/installation.md
@@ -1,12 +1,12 @@
---
-Title: Installing Rocky Linux 9
+Title: Installing Rocky Linux 10
author: Wale Soyinka
-contributors: Steven Spencer, Ganna Zhyrnova
+contributors:
---
-# Installing Rocky Linux 9
+# Installing Rocky Linux 10
-This is a detailed guide for installing a 64-bit version of the Rocky Linux distribution on a standalone system. We will be performing a server class install. We will step through the installation and customization steps in the following sections.
+This is a detailed guide for installing a 64-bit version of the Rocky Linux distribution on a standalone system. We will be performing a server-class install. We will step through the installation and customization steps in the following sections.
## OS Installation Prerequisites
@@ -18,7 +18,7 @@ You can download the latest ISO image for the version of Rocky Linux for this in
To download the ISO directly from the command line on an existing Linux-based system, use the `wget` command:
```bash
-wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.3-x86_64-minimal.iso
+wget https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.0-x86_64-minimal.iso
```
Rocky Linux ISOs follow this naming convention:
@@ -27,22 +27,22 @@ Rocky Linux ISOs follow this naming convention:
Rocky-.--.iso
```
-For example, `Rocky-9.3-x86_64-minimal.iso`
+For example, `Rocky-10.0-x86_64-minimal.iso`
!!! Note
- The Rocky Project web page lists several mirrors located around the globe. Choose the mirror geographically closest to you. The list of official mirrors can be found [here](https://mirrors.rockylinux.org/mirrormanager/mirrors).
+ The Rocky Project website lists several mirrors located around the world. Select the mirror that is geographically closest to you. The list of official mirrors can be found [here](https://mirrors.rockylinux.org/mirrormanager/mirrors).
## Verifying the Installation Program ISO File
-If you've downloaded the Rocky Linux ISO(s) on an existing Linux distribution, you can use the `sha256sum` utility to verify that file(s) you downloaded are not corrupt. We will show an example of verifying the `Rocky-9.3-x86_64-minimal.iso` file by checking its checksum.
+If you've downloaded the Rocky Linux ISO(s) on an existing Linux distribution, you can use the `sha256sum` utility to verify that the file(s) you downloaded are not corrupt. We will demonstrate the verification of the `Rocky-10.0-x86_64-minimal.iso` file by checking its checksum.
1. Download the file that contains the official checksums for the available ISOs.
1. While still in the folder that contains the downloaded Rocky Linux ISO, download the checksum file for the ISO, type:
```bash
- wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/9.3/isos/x86_64/CHECKSUM
+ wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/10/isos/x86_64/CHECKSUM
```
1. Use the `sha256sum` utility to verify the integrity of the ISO file against corruption or tampering.
@@ -51,42 +51,41 @@ If you've downloaded the Rocky Linux ISO(s) on an existing Linux distribution, y
sha256sum -c CHECKSUM --ignore-missing
```
- This checks the integrity of the ISO file downloaded previously, provided that it is in the same directory. The output should show:
+ This checks the integrity of the previously downloaded ISO file, provided it is in the same directory. The output should show:
```text
- Rocky-9.3-x86_64-minimal.iso: OK
+ Rocky-10.0-x86_64-minimal.iso: OK
```
## The Installation
!!! Tip
- Before installing properly, the system’s Unified Extensible Firmware Interface (UEFI) or Basic Input/Output System (BIOS) should be preconfigured to boot from the correct medium.
+ Before starting the installation, ensure that the system’s Unified Extensible Firmware Interface (UEFI) or Basic Input/Output System (BIOS) is properly configured to boot from the correct medium.
+ Also, make sure that you review the recommended [minimum hardware requirements](minimum_hardware_requirements.md) notes for running Rocky Linux 10.
-If the computer is set up to boot from the media with the ISO file, we can begin the installation.
+Once the system is set up to boot from the media with the ISO file, we can begin the installation.
-1. Insert and boot from the installation medium (optical disk, USB flash drive, and so on).
+1. Insert and boot from the installation medium (e.g., optical disk, USB flash drive).
-2. Once the computer has booted, you see the Rocky Linux 9 welcome splash screen.
+2. Once the computer has booted, you see the Rocky Linux 10 installer splash screen.
- 
+ 
-3. If you do not press any key, the installation program starts a countdown, after which the installation process automatically executes the default, highlighted, option:
+3. At the welcome screen, you can use the ++"up"++ or ++"down"++ arrow keys to select any of the options, followed by pressing ++enter++ to run the selected option. If you do not press any key, the installation program starts a countdown, after which the installation process automatically executes the default, highlighted option:
- `Test this media & install Rocky Linux 9.3`
-
- You can also press ++enter++ at any time to start the process immediately.
+ `Test this media & install Rocky Linux 10.0`
4. A quick media verification step takes place.
-This media verification step can save you the trouble of starting the installation only to find out halfway through that the installation program has to stop because of bad installation media.
+This media verification step can save you the trouble of starting the installation only to discover halfway through that the installation program has to stop due to faulty installation media.
-5. After the media check runs to completion and the media is successfully verified to be usable, the installation program automatically continues to the next screen.
+1. After the media check is completed and the media is successfully verified as usable, the installation program automatically proceeds to the next screen.
-6. Select the language you want to use to perform the installation in this screen. For this guide, we select *English (United States)*. Then click the ++"continue"++ button.
+2. Select the language you want to use to install this screen. For this guide, we select *English (United States)*. Then click the ++"continue"++ button.
## Installation Summary
-The `Installation Summary` screen is an all-in-one area where you make important decisions about installing the system.
+The `Installation Summary` screen is a comprehensive area where you make key decisions about the system's installation.
The screen is roughly divided into the following sections:
@@ -95,52 +94,52 @@ The screen is roughly divided into the following sections:
- *SYSTEM*
- *USER SETTINGS*
-We will delve into each of these sections next and make changes where necessary.
+We will delve into each of these sections next and make any necessary changes.
### Localization Section
-This section customizes items related to the system's geographic location. This includes – Keyboard, Language Support, Time and Date.
+This section customizes items related to the system's geographic location. This includes – Keyboard, Language Support, Time, and Date.
#### Keyboard
In this guide's demo system, we accept the default value (*English US*) and make no changes.
-However, if you need to make any changes here, from the *Installation Summary* screen, click the ++"keyboard"++ option to specify the system's keyboard layout. Using the ++plus++ button, you can add additional keyboard layouts if you need to in the ensuing screen and even specify your preferred order.
+However, if you need to make any changes here, from the *Installation Summary* screen, click the ++"keyboard"++ option to specify the system's keyboard layout. Using the ++plus++ button, you can add and order additional keyboard layouts as necessary.
-Click ++"done"++ when you are finished with this screen.
+When finished with this screen, click ++"done"++.
#### Language Support
-The `Language Support` option on the *Installation Summary* screen lets you specify support for additional languages.
+The `Language Support` option on the *Installation Summary* screen allows for the specification of support for additional languages.
We will accept the default value - **English (United States)** and make no change, click ++"done"++.
#### Time & Date
-Click the ++"Time & Date"++ option on the main *Installation Summary* screen to bring up another screen that will allow you to select the time zone in which the machine is located. Scroll through the list of regions and cities and select the area closest to you.
+Click the ++"Time & Date"++ option on the main *Installation Summary* screen to bring up another screen that will allow for the selection of the timezone where the machine is located. Use the drop-down arrows to select the region and city closest to you.
-Depending on your installation source, the *Network Time* option could be set to *ON* or *OFF* by default. Accept the default *ON* setting; this allows the system to automatically set the correct time using the Network Time Protocol (NTP).
+Accept the default and enable ++"Automatic date & time"++ option, which allows the system to automatically set the correct time and date using the Network Time Protocol (NTP).
-Click ++"done"++ after making any changes.
+Click ++"done"++ when completed.
### Software Section
-Under the *Software* section of the *Installation Summary* screen, you can select or change the installation source as well as additional packages (applications) that get installed.
+Under the *Software* section of the *Installation Summary* screen, you can select or change the installation source as well as add additional software packages for the selected environment.
#### Installation Source
-Because the installation uses a Rocky Linux 9 ISO image, you will notice that *Local Media* is automatically specified under the Installation Source section of the main *Installation Summary* screen. You can accept the preset defaults.
+Since we are using a Rocky Linux 10 ISO image for the installation, the Auto-detected source option is selected by default for us. Accept the preset default installation source.
!!! Tip
- The installation Source area allows you to perform a network-based installation (for example, if you use the Rocky Linux boot ISO - Rocky-9.3-x86_64-boot.iso). For a network-based installation, you need first to ensure that a network adapter on the target system is properly configured, and can reach the internet. To perform a network-based installation, click `Installation Source` and then select the `On the network` radio button. Once selected, choose `https` as the protocol and type the following URL in the text field `download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os`. Click `Done`.
+ The installation Source area allows you to perform a network-based installation (for example, if you use the Rocky Linux boot ISO - Rocky-10.0-x86_64-boot.iso). For a network-based installation, you must first ensure that a network adapter on the target system is configured correctly and can reach the installation source(s) over the network (LAN or Internet). To perform a network-based installation, click `Installation Source` and then select the `On the network` radio button. Then select the correct protocol and type the correct URI. Click `Done`.
#### Software Selection
-Clicking the ++"Software Selection"++ option on the main *Installation Summary* screen presents you with the installation section where you can pick the exact software packages installed on the system. The software selection area is divided into:
+Clicking the ++"Software Selection"++ option on the main *Installation Summary* screen presents you with a software selection area that has two sections:
-- **Base Environment**: Minimal Installation and Custom operating system
-- **Additional software for Selected Environment**: Selecting a Base Environment on the left side presents a variety of related additional software to install for the given environment on the right side. Note that this only applies if you were installing from a full Rocky Linux 9.2 DVD or have additional repositories configured.
+- **Base Environment**: Minimal Installation
+- **Additional software for Selected Environment**: Selecting a Base Environment on the left side presents a selection of additional software to install for the given environment on the right side.
Select the *Minimal Install* (Basic functionality) option.
@@ -148,13 +147,13 @@ Click ++"done"++ at the top of the screen.
### System Section
-The System section of the *Installation Summary* screen is used for customizing and making changes to things related to the underlying hardware of the target system. This is where you create your hard disk drive partitions or volumes, specify the file system, specify the network configuration, enable or disable KDUMP or select a Security Profile.
+Use the System section of the *Installation Summary* screen for customizing and making changes to things related to the underlying hardware of the target system. This is where you create your hard disk drive partitions or volumes, specify the file system, specify the network configuration, and enable or disable KDUMP.
#### Installation Destination
From the *Installation Summary* screen, click the ++"Installation Destination"++ option. This takes you to the corresponding task area.
-You will see a screen displaying all the candidate disk drives that you have available on the target system. If you have only one disk drive on the system, as on our sample system, you see the drive listed under *Local Standard Disks* with a check mark beside it. Clicking the disk icon will toggle on or off the disk selection check mark. Keep it checked to select the disk.
+You will see a screen displaying all the candidate disk drives available on the target system. If you have only one disk drive on the system, as on our sample system, you see the drive listed under *Local Standard Disks* with a checkmark beside it. Clicking the disk icon toggles the disk selection checkmark on or off. Keep it checked to select the disk.
Under the *Storage Configuration* section:
@@ -166,69 +165,67 @@ Under the *Storage Configuration* section:
### Network & Host Name
-The next important task of the installation procedure under the System area deals with network configuration, where you can configure or tweak network-related settings for the system.
+The following important task in the installation procedure under the System area involves network configuration, where you can configure or adjust network-related settings for the system.
!!! Note
- After you click on the ++"Network & Hostname"++ option, all correctly detected network interface hardware (such as Ethernet, wireless network cards, and so on) will be listed in the left pane of the network configuration screen. Depending on your specific hardware setup, Ethernet devices in Linux have names similar to `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, and so on.
+ After you click on the ++"Network & Host Name"++ option, all correctly detected network interface hardware (such as Ethernet, wireless network cards, and so on) will be listed in the left pane of the network configuration screen. Depending on your specific hardware setup, Ethernet devices in Linux have names similar to `eth0`, `eth1`, `ens3`, `ens4`, `em1`, `em2`, `p1p1`, `enp0s3`, and so on.
You can configure each interface using DHCP or manually set the IP address.
- If you choose to configure manually, be sure to have all the required information ready, such as the IP address, netmask, and so on.
+ If you choose to configure manually, ensure that you have all the required information ready, such as the IP address, netmask, and other relevant details.
-Clicking the ++"Network & Hostname"++ button in the main *Installation Summary* screen opens the corresponding configuration screen. Here, you can configure the system's hostname.
+Clicking the ++"Network & Host Name"++ button in the main *Installation Summary* screen opens the corresponding configuration screen. Here, you can also configure the system's hostname.
!!! Note
You can easily change the system hostname later on after the OS has been installed.
-The next important configuration task is related to the network interfaces on the system.
+The following configuration task involves the system's network interfaces.
-1. Verify that the left pane lists an Ethernet card (or any network card.)
+1. Verify that the left pane lists a network adapter/card
2. Click any of the detected network devices in the left pane to select it.
-The selected network adapter's configurable properties appear in the screen's right pane.
+The selected network adapter's configurable properties appear in the right pane of the screen.
!!! Note
- On our sample system, we have two Ethernet devices (`ens3` and `ens4`), all of which are in a connected state. The type, name, quantity, and state of the network devices on your system may vary from the ones on our demo system.
+ On our sample system, we have two Ethernet devices (`ens3` and `ens4`), both of which are in a connected state. The type, name, quantity, and state of the network devices on your system may differ from those on our demo system.
-Verify the switch of the device you want to configure is flipped to the `ON` (blue) position in the right pane.
-We'll accept all the defaults in this section.
+Verify that the switch of the device you want to configure is in the `ON` (blue) position in the right pane.
+We will accept all the defaults in this section.
Click ++"done"++ to return to the main *Installation Summary* screen.
!!! Warning
- Pay attention to the IP address of the server in this section of this installer. If you don’t have physical or easy console access to the system, this information will come in handy later on when you need to connect to the server to continue working on it after the OS installation is completed.
+ Pay attention to the IP address of the server in this section of the installer. If you do not have physical or easy console access to the system, this information will be useful later when you need to connect to the server after the OS installation is complete.
### User Settings Section
-This section can be used for creating a password for the `root` user account and also for creating new administrative or non-administrative accounts.
+Use this section to create a password for the `root` user account and to create new administrative or non-administrative accounts.
#### Root Password
-1. Click the *Root Password* field under *User Settings* to start the *Root Password* task screen.
+1. Click the *Root Password* field under *User Settings* to start the *Root Account* task screen.
!!! Warning
- The root superuser is the most privileged account on the system. Therefore, if you choose to use or enable it, it is crucial that you protect this account with a strong password.
-
-2. In the *Root Password* text box, set a strong password for the root user.
+ The root superuser is the most privileged account on the system. If you choose to use or enable it, you must protect this account with a strong password.
-3. Enter the same password again in the *Confirm* text box.
+2. You will see two options: "Disable root account" or "Enable root account".
+Accept the default.
-4. Click ++"done"++.
+3. Click ++"done"++.
#### User Creation
To create a user:
-1. Click the *User Creation* field under *User Settings* to start the *Create User* task screen.
-This task area allows you to create a privileged or non-privileged (non-administrative) user account.
+1. Click the *User Creation* field under *User Settings* to start the *Create User* task screen. Use this task area to create a privileged (administrative) or non-privileged (non-administrative) user account.
- !!! Info
+ !!! Caution
- Creating and using a non-privileged account for day-to-day tasks on a system is a good system administration practice.
+ On a Rocky Linux 10 system, the Root account is disabled by default; therefore, it is essential to ensure that the user account created during the OS installation has administrative privileges. This user can be used in a non-privileged manner for day-to-day tasks on the system and will also have the ability to elevate their role to perform administrative (root) functions as necessary.
- We’ll create a regular user that can invoke superuser (administrator) powers when needed.
+ We will create a regular user that can invoke superuser (administrator) powers when needed.
2. Complete the fields in the *Create User* screen with the following information:
@@ -236,31 +233,31 @@ This task area allows you to create a privileged or non-privileged (non-administ
`rockstar`
- **Username**:
`rockstar`
- - **Make this user administrator**:
- Checked
- - **Require a password to use this account**:
- Checked
- - **Password**:
- `04302021`
- - **Confirm password**:
- `04302021`
+ - **Add administrative privileges to this user account (wheel group membership)**:
+ Checked
+ - **Require a password to use this account**:
+ Checked
+ - **Password**:
+ `04302021`
+ - **Confirm password**:
+ `04302021`
3. Click ++"done"++.
## Installer Phase
-Once you are satisfied with your choices for the various installation tasks, the next phase of the installation process will begin the installation proper.
+Once you are satisfied with your choices for the various installation tasks, the next phase of the installation process will begin the actual installation.
### Start the Installation
-Once you are satisfied with your choices for the various installation tasks, click the ++"Begin Installation"++ button on the main *Installation Summary* screen.
+Once satisfied with your choices for the various installation tasks, click the ++"Begin Installation"++ button on the main *Installation Summary* screen.
The installation will begin, and the installation program will show the progress of the installation.
-After the installation begins, various tasks will begin running in the background, such as partitioning the disk, formatting the partitions or LVM volumes, checking for and resolving software dependencies, writing the operating system to the disk, and so on.
+After the installation starts, various tasks will begin running in the background, such as partitioning the disk, formatting the partitions or LVM volumes, checking for and resolving software dependencies, writing the operating system to the disk, and other similar tasks.
!!! Note
- If you do not wish to continue after clicking the Begin Installation button, you can still safely exit the installation without losing data. To quit the installer, simply reset your system by clicking the Quit button, pressing ctrl-alt-del on the keyboard, or pushing the reset or power switch.
+ If you do not wish to continue after clicking the ++"Begin Installation"++ button, you can still safely exit the installation without losing data. To quit the installer, simply reset your system by clicking the ++"Quit"++ button, pressing Ctrl-Alt-Delete on the keyboard, or pushing the reset or power switch.
### Complete the Installation
@@ -272,7 +269,7 @@ Finally, complete the entire procedure by clicking the ++"Reboot System"++ butto
The system is now set up and ready for use. You will see the Rocky Linux console.
-
+
To log onto the system:
@@ -281,6 +278,6 @@ To log onto the system:
2. At the Password prompt, type `04302021` (rockstar’s password) and press ++enter++ (the password will ***not*** be echoed to the screen, that is normal).
3. Run the `whoami` command after login.
-This command shows the name of the currently logged in user.
+This command shows the name of the currently logged-in user.

diff --git a/docs/guides/installation.uk.md b/docs/guides/installation.uk.md
index bf6dc11751..b119a6db21 100644
--- a/docs/guides/installation.uk.md
+++ b/docs/guides/installation.uk.md
@@ -1,10 +1,10 @@
---
-Title: Встановлення Rocky Linux 9
+Title: Встановлення Rocky Linux 10
author: Wale Soyinka
-contributors: Steven Spencer, Ganna Zhyrnova
+contributors:
---
-# Встановлення Rocky Linux 9
+# Встановлення Rocky Linux 10
Це детальний посібник із встановлення 64-розрядної версії дистрибутива Rocky Linux в автономній системі. Ми будемо виконувати встановлення класу сервера. У наступних розділах ми розглянемо кроки встановлення та налаштування.
@@ -18,7 +18,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
Щоб завантажити ISO безпосередньо з командного рядка в існуючій системі на базі Linux, скористайтеся командою `wget`:
```bash
-wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.3-x86_64-minimal.iso
+wget https://download.rockylinux.org/pub/rocky/10/isos/x86_64/Rocky-10.0-x86_64-minimal.iso
```
ISO Rocky Linux дотримується цієї угоди про іменування:
@@ -27,7 +27,7 @@ ISO Rocky Linux дотримується цієї угоди про іменув
Rocky-.--.iso
```
-Наприклад, `Rocky-9.3-x86_64-minimal.iso`
+Наприклад, `Rocky-10.0-x86_64-minimal.iso`
!!! Note "Примітка"
@@ -35,14 +35,14 @@ Rocky-.--.iso
## Перевірка файлу ISO програми встановлення
-Якщо ви завантажили Rocky Linux ISO в існуючий дистрибутив Linux, ви можете скористатися утилітою `sha256sum`, щоб переконатися, що файли, які ви завантажили, не пошкоджені. Ми покажемо приклад перевірки файлу `Rocky-9.3-x86_64-minimal.iso` шляхом перевірки його контрольної суми.
+Якщо ви завантажили Rocky Linux ISO в існуючий дистрибутив Linux, ви можете скористатися утилітою `sha256sum`, щоб переконатися, що файли, які ви завантажили, не пошкоджені. Ми покажемо приклад перевірки файлу `Rocky-10.0-x86_64-minimal.iso` шляхом перевірки його контрольної суми.
1. Завантажте файл, який містить офіційні контрольні суми для доступних ISO.
1. Перебуваючи в папці, яка містить завантажений ISO Rocky Linux, завантажте файл контрольної суми для ISO, введіть:
```bash
- wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/9.3/isos/x86_64/CHECKSUM
+ wget -O CHECKSUM https://download.rockylinux.org/pub/rocky/10/isos/x86_64/CHECKSUM
```
1. Використовуйте утиліту `sha256sum`, щоб перевірити цілісність файлу ISO на пошкодження чи втручання.
@@ -61,28 +61,27 @@ Rocky-.--.iso
!!! Tip "Підказка"
- Перед належним встановленням уніфікований розширюваний інтерфейс вбудованого програмного забезпечення (UEFI) або базову систему введення/виведення (BIOS) потрібно попередньо налаштувати для завантаження з правильного носія.
+ Перш ніж розпочати встановлення, переконайтеся, що інтерфейс UEFI (Unified Extensible Firmware Interface) або BIOS (Basic Input/Output System) системи належним чином налаштовано для завантаження з правильного носія.
+ Також обов’язково перегляньте рекомендовані примітки до [мінімальних вимог до обладнання](minimum_hardware_requirements.md) для запуску Rocky Linux 10.
-Ми можемо розпочати процес встановлення, якщо комп’ютер налаштовано на завантаження з носія з файлом ISO.
+Після того, як система налаштована на завантаження з носія з ISO-файлом, ми можемо розпочати встановлення.
1. Вставте та завантажтеся з інсталяційного носія (оптичний диск, флешка тощо).
-2. Після завантаження комп’ютера ви побачите екран привітання Rocky Linux 9.
+2. Після завантаження комп'ютера ви побачите заставку інсталятора Rocky Linux 10.
- 
+ 
-3. Якщо ви не натискаєте жодної клавіші, програма інсталяції починає зворотний відлік, після чого процес інсталяції автоматично виконує стандартну, виділену опцію:
+3. На екрані привітання ви можете скористатися клавішами зі стрілками ++"вгору"++ або ++"вниз"++, щоб вибрати будь-який із параметрів, а потім натиснути ++enter++, щоб запустити вибраний параметр. Якщо ви не натискаєте жодної клавіші, програма інсталяції починає зворотний відлік, після чого процес інсталяції автоматично виконує стандартну, виділену опцію:
- `Test this media & install Rocky Linux 9.3`
+ `Test this media & install Rocky Linux 10.0`
- Ви також можете будь-коли натиснути ++enter++, щоб негайно розпочати процес.
+4. Виконується швидкий етап перевірки носія.
+ Цей етап перевірки носія може позбавити вас клопоту, пов’язаного з початком встановлення, після якого на середині процесу виявляється, що програму встановлення потрібно зупинити через несправний інсталяційний носій.
-4. Відбувається швидка перевірка медіа.
- Цей крок перевірки носія може позбавити вас від проблем із запуском інсталяції лише на півдорозі, щоб дізнатися, що програму інсталяції потрібно зупинити через поганий інсталяційний носій.
+1. Після завершення перевірки носія та його придатності до використання програма встановлення автоматично переходить до наступного екрана.
-5. Після завершення перевірки носія та його придатності до використання програма встановлення автоматично переходить до наступного екрана.
-
-6. Виберіть мову, яку ви хочете використовувати для встановлення цього екрана. Для цього посібника ми вибрали *англійську (Сполучені Штати)*. Потім натисніть кнопку ++"continue"++.
+2. Виберіть мову, яку ви хочете використовувати для встановлення цього екрана. Для цього посібника ми вибрали *англійську (Сполучені Штати)*. Потім натисніть кнопку ++"continue"++.
## Підсумок встановлення
@@ -119,7 +118,7 @@ Rocky-.--.iso
Натисніть опцію ++"Time & Date"++ на головному екрані *Підсумок встановлення*, щоб відкрити інший екран, який дозволить вам вибрати часовий пояс, у якому знаходиться машина. Прокрутіть список регіонів і міст і виберіть найближчу до вас область.
-Залежно від джерела інсталяції параметр *Network Time* може бути встановлений на *ON* або *OFF* за умовчанням. Прийміть стандартне налаштування *ON*; це дозволяє системі автоматично встановлювати правильний час за допомогою мережевого протоколу часу (NTP).
+Прийміть значення за замовчуванням та ввімкнено опцію ++"Автоматична дата й час"++, яка дозволяє системі автоматично встановлювати правильний час і дату за допомогою протоколу мережевого часу (NTP).
Натисніть ++"done"++ після внесення будь-яких змін.
@@ -129,18 +128,18 @@ Rocky-.--.iso
#### Джерело встановлення
-Оскільки під час встановлення використовується ISO-образ Rocky Linux 9, ви помітите, що *Локальний носій* автоматично вказано в розділі «Джерело встановлення» на головному екрані *Підсумок встановлення*. Ви можете прийняти стандартні налаштування.
+Оскільки для встановлення ми використовуємо ISO-образ Rocky Linux 10, за замовчуванням для нас автоматично вибирається опція «Автоматично визначене джерело». Ви можете прийняти стандартні налаштування.
!!! Tip "Підказка"
- Область «Джерело» встановлення — це місце, де ви можете вибрати встановлення через мережу (наприклад, якщо ви використовуєте завантажувальний ISO Rocky Linux — Rocky-9.3-x86_64-boot.iso). Для мережевої інсталяції вам потрібно спочатку переконатися, що мережевий адаптер у цільовій системі правильно налаштований і має доступ до Інтернету. Щоб виконати інсталяцію через мережу, натисніть «Джерело інсталяції», а потім виберіть перемикач «У мережі». Після вибору виберіть `https` як протокол і введіть наступну URL-адресу в текстове поле `download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os`. Натисніть `Готово`.
+ Розділ «Джерело встановлення» дозволяє виконати мережеве встановлення (наприклад, якщо ви використовуєте завантажувальний ISO-образ Rocky Linux — Rocky-10.0-x86_64-boot.iso). Для мережевої інсталяції спочатку потрібно переконатися, що мережевий адаптер на цільовій системі правильно налаштований і може зв'язатися з джерелом(ами) інсталяції через мережу (локальна мережа або Інтернет). Щоб виконати інсталяцію через мережу, натисніть «Джерело інсталяції», а потім виберіть перемикач «У мережі». Потім виберіть правильний протокол і введіть правильний URI. Натисніть `Готово`.
#### Вибір програмного забезпечення
-Натиснувши опцію ++"Вибір програмного забезпечення"++ на головному екрані *Підсумок встановлення*, ви побачите розділ встановлення, де ви можете вибрати точні пакети програмного забезпечення, які буде встановлено в системі. Зона вибору програмного забезпечення поділяється на:
+Натискання опції ++"Вибір програмного забезпечення"++ на головному екрані *Підсумок встановлення* відкриє область вибору програмного забезпечення, яка має два розділи:
-- **Базове середовище**: мінімальна інсталяція та спеціальна операційна система
-- **Додаткове програмне забезпечення для вибраного середовища**: якщо вибрати базове середовище ліворуч, праворуч буде показано різноманітне додаткове програмне забезпечення для встановлення для певного середовища. Зауважте, що це стосується лише тих випадків, коли ви встановлювали з повного DVD Rocky Linux 9.2 або якщо у вас налаштовано додаткові сховища.
+- **Базове середовище**: мінімальна інсталяція
+- **Додаткове програмне забезпечення для вибраного середовища**: Вибір базового середовища ліворуч відображає вибір додаткового програмного забезпечення для встановлення для цього середовища праворуч.
Виберіть опцію *Мінімальна інсталяція* (базова функція).
@@ -148,7 +147,7 @@ Rocky-.--.iso
### Системний розділ
-Розділ «Система» на екрані *Підсумок встановлення* використовується для налаштування та внесення змін у речі, пов’язані з апаратним забезпеченням, що лежить в основі цільової системи. Тут ви створюєте розділи або томи жорсткого диска, вказуєте файлову систему, вказуєте конфігурацію мережі, увімкніть або вимкніть KDUMP або виберіть профіль безпеки.
+Використовуйте розділ «Система» на екрані *Підсумок встановлення* для налаштування та внесення змін до параметрів, пов’язаних з базовим обладнанням цільової системи. Тут ви створюєте розділи або томи жорсткого диска, вказуєте файлову систему, вказуєте конфігурацію мережі, вмикаєте або вимикаєте KDUMP.
#### Місце призначення
@@ -180,23 +179,23 @@ Rocky-.--.iso
Ви можете легко змінити ім’я хоста системи пізніше після встановлення ОС.
-Наступне важливе завдання налаштування пов’язане з мережевими інтерфейсами в системі.
+Наступне завдання конфігурації пов'язане з мережевими інтерфейсами в системі.
-1. Переконайтеся, що на лівій панелі зазначено плату Ethernet (або будь-яку мережеву карту).
+1. Переконайтеся, що на лівій панелі зазначено мережевий адаптер/карту
2. Натисніть будь-який із виявлених мережевих пристроїв на лівій панелі, щоб вибрати його.
Властивості вибраного мережевого адаптера, які можна налаштувати, з’являться на правій панелі екрана.
!!! Note "Примітка"
- У нашому прикладі системи ми маємо два пристрої Ethernet ("ens3" і "ens4"), усі вони знаходяться в підключеному стані. Тип, назва, кількість і стан мережевих пристроїв у вашій системі можуть відрізнятися від пристроїв у нашій демонстраційній системі.
+ У нашій системі-прикладі є два пристрої Ethernet (`ens3` та `ens4`), обидва з яких перебувають у підключеному стані. Тип, назва, кількість і стан мережевих пристроїв у вашій системі можуть відрізнятися від пристроїв у нашій демонстраційній системі.
-Переконайтеся, що перемикач пристрою, який ви хочете налаштувати, переведено в положення `ON` (синій) на правій панелі. Ми приймемо всі значення за замовчуванням у цьому розділі.
+Verify that the switch of the device you want to configure is in the `ON` (blue) position in the right pane. Ми приймемо всі значення за замовчуванням у цьому розділі.
Натисніть ++"done"++, щоб повернутися до головного екрана *Підсумок встановлення*.
!!! Warning "Важливо"
- Зверніть увагу на IP-адресу сервера в цьому розділі цього інсталятора. Якщо у вас немає фізичного або легкого консольного доступу до системи, ця інформація стане в пригоді пізніше, коли вам потрібно буде підключитися до сервера, щоб продовжити роботу на ньому після завершення встановлення ОС.
+ Зверніть увагу на IP-адресу сервера в цьому розділі цього інсталятора. Якщо у вас немає фізичного або легкого консольного доступу до системи, ця інформація стане в нагоді пізніше, коли вам знадобиться підключитися до сервера після завершення встановлення ОС.
### Розділ налаштувань користувача
@@ -210,22 +209,19 @@ Rocky-.--.iso
Суперкористувач root є найбільш привілейованим обліковим записом у системі. Тому, якщо ви вирішите використовувати або ввімкнути його, дуже важливо захистити цей обліковий запис надійним паролем.
-2. У текстовому полі *Root Password* установіть надійний пароль для користувача root.
-
-3. Знову введіть той самий пароль у текстове поле *Підтвердити*.
+2. Ви побачите два варіанти: «Вимкнути обліковий запис root» АБО «Увімкнути обліковий запис root». Прийміть значення за замовчуванням.
-4. Натисніть ++"done"++.
+3. Натисніть ++"done"++.
#### Створення користувача
Щоб створити користувача:
-1. Натисніть поле *Створення користувача* в розділі *Параметри користувача*, щоб відкрити екран завдань *Створити користувача*.
- Ця область завдань дозволяє створити привілейований або непривілейований (не адміністратор) обліковий запис користувача.
+1. Клацніть поле *Створення користувача* у розділі *Налаштування користувача*, щоб розпочати екран завдання *Створити користувача*. Використовуйте цю область завдань для створення привілейованого (адміністративного) або непривілейованого (неадміністративного) облікового запису користувача.
- !!! Info "Інформація"
+ !!! Caution
- Створення та використання непривілейованого облікового запису для повсякденних завдань у системі є хорошою практикою адміністрування системи.
+ У системі Rocky Linux 10 обліковий запис Root за замовчуванням вимкнено, тому важливо переконатися, що обліковий запис користувача, створений під час встановлення ОС, має права адміністратора. Цього користувача можна використовувати без привілеїв для виконання щоденних завдань у системі, а також він матиме можливість підвищувати свою роль для виконання адміністративних (root) функцій за потреби.
Ми створимо звичайного користувача, який за потреби може використовувати повноваження суперкористувача (адміністратора).
@@ -233,10 +229,10 @@ Rocky-.--.iso
- **Full name**: `rockstar`
- **Username**: `rockstar`
- - **Make this user administrator**: Checked
- - **Require a password to use this account**: Checked
- - **Password**: `04302021`
- - **Confirm password**: `04302021`
+ - **Add administrative privileges to this user account (wheel group membership)**: Checked
+ - **Require a password to use this account**: Checked
+ - **Password**: `04302021`
+ - **Confirm password**: `04302021`
3. Натисніть ++"done"++.
@@ -252,7 +248,7 @@ Rocky-.--.iso
!!! Note "Примітка"
- Якщо ви не бажаєте продовжувати після натискання кнопки «Почати інсталяцію», ви все одно можете безпечно завершити інсталяцію без втрати даних. Щоб вийти з інсталятора, просто скиньте систему, натиснувши кнопку «Вийти», натиснувши ctrl-alt-del на клавіатурі або натиснувши кнопку скидання чи живлення.
+ Якщо ви не бажаєте продовжувати після натискання кнопки «Почати інсталяцію», ви все одно можете безпечно завершити інсталяцію без втрати даних. Щоб вийти з інсталятора, просто скиньте налаштування системи, натиснувши кнопку ++"Вийти"++, натиснувши ctrl-alt-del на клавіатурі або натиснувши кнопку скидання чи живлення.
### Завершення установки
@@ -264,7 +260,7 @@ Rocky-.--.iso
Тепер система налаштована та готова до використання. Ви побачите консоль Rocky Linux.
-
+
Щоб увійти в систему:
diff --git a/docs/guides/interoperability/import_rocky_to_wsl.de.md b/docs/guides/interoperability/import_rocky_to_wsl.de.md
index 6cfba66057..a8c482b774 100644
--- a/docs/guides/interoperability/import_rocky_to_wsl.de.md
+++ b/docs/guides/interoperability/import_rocky_to_wsl.de.md
@@ -1,7 +1,7 @@
---
-title: Rocky Linux nach WSL oder WSL2 Import
+title: Rocky Linux 10 nach WSL oder WSL2 Importieren
author: Lukas Magauer
-tested_with: 8.6, 9.0
+tested_with: 10.0
tags:
- wsl
- wsl2
@@ -9,59 +9,77 @@ tags:
- Interoperabilität
---
-# Rocky Linux nach WSL importieren
+!!! note "Images für andere Versionen"
+
+ Wenn Sie nach WSL-Anweisungen für eine andere Version von Rocky Linux suchen, wählen Sie die gewünschte Version aus dem oberen Menü aus und lesen Sie dann die WSL-Anweisungen unter „Interoperabilität“.
## Voraussetzungen
-Das Windows-Subsystem für Linux muss aktiviert werden. Dies ist mit einer dieser Optionen möglich:
+Sie müssen die Funktion `Windows-Subsystem für Linux` aktivieren. Das ist mit einer dieser Optionen möglich:
-- Seit Kurzem gibt eine neue [ WSL Version im Microsoft Store](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R), die vorzugsweise verwendet werden sollte.
+- [Eine neuere WSL-Version mit zusätzlichen Funktionen ist im Microsoft Store verfügbar](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R). Verwenden Sie nach Möglichkeit diese neuere Version.
- Öffnen Sie ein administratives Terminal (entweder PowerShell oder Eingabeaufforderung) und führen Sie `wsl --install` aus ([siehe Link](https://docs.microsoft.com/en-us/windows/wsl/install))
- Gehen Sie zu den Windows-Einstellungen und aktivieren Sie die Option `Windows-Subsystem für Linux`
-Diese Funktion sollte auf jeder neuen Windows 10 und 11 Version verfügbar sein.
+Diese Funktion sollte derzeit in jeder unterstützten Version von Windows 10 und 11 verfügbar sein.
+
+!!! tip "WSL-Version"
+
+ Stellen Sie sicher, dass Ihre `WSL`-Version auf dem neuesten Stand ist, da einige Funktionen erst in neueren Versionen eingeführt wurden. Wenn Sie sich nicht sicher sind, führen Sie `wsl --update` aus.
## Einzelne Schritte
-1. Sie benötigen das Container `rootfs`. Das ist auf mehrere Arten verfügbar:
+### Installierbare WSL-Images (vorzugsweise)
+
+1. Laden Sie das WSL-Image vom CDN oder einem anderen Mirror in Ihrer Nähe herunter:
+
+ - 10: [x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-WSL-Base.latest.x86_64.wsl) oder [aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-WSL-Base.latest.aarch64.wsl)
+
+2. Es gibt mehrere Optionen zum Installieren eines `.wsl`-Images:
+
+ - Doppelklicken Sie auf das Image und es wird mit dem Standardnamen des Bildes installiert
+ - Installieren Sie das Image über die Befehlszeile:
- - **Vorzugsweise:** Laden Sie das ISO-Bild vom CDN herunter:
- - 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
- - 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
+ ```sh
+ wsl --install --from-file --name
+ ```
+
+### Herkömmliche Container-Images
+
+1. Sie benötigen den Container `rootfs`. Das ist auf mehrere Arten möglich:
+
+ - Laden Sie das Image vom CDN herunter:
+ - 10: [Base x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-UBI.latest.aarch64.tar.xz)
- Entpacken Sie das Image aus `Docker Hub` oder `Quay.io` ([siehe Link](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
```sh
- export rockylinux:9 > rocky-9-image.tar
+ export rockylinux:10 > rocky-10-image.tar
```
-2. (optional) Möglicherweise müssen Sie die .tar aus der .tar.xz Datei extrahieren, falls Sie nicht eine der neuesten WSL Versionen verwenden
-3. Erstellen Sie das Verzeichnis, in dem das WSL seine Dateien speichert (zum Beispiel irgendwo im Benutzerprofil)
-4. Schließlich importieren Sie das Image in WSL ([siehe Link](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl)):
+2. (optional) Sie müssen die `.tar`-Datei aus der `.tar.xz`-Datei extrahieren, wenn Sie eine der neuesten WSL-Versionen verwenden
+3. Erstellen Sie das Verzeichnis, in dem das WSL seine Dateien speichert (normalerweise irgendwo im Benutzerprofil)
+4. Importieren Sie abschließend das Image in WSL ([Ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl)):
- WSL:
```sh
- wsl --import
+ wsl --import --version 1
```
- WSL 2:
```sh
- wsl --import --version 2
+ wsl --import --version 2
```
!!! tip "WSL vs. WSL 2"
- Eigentlich sollte (!) WSL 2 schneller sein als WSL, aber das kann sich von Anwendungsfall zu Anwendungsfall unterscheiden.
+ Generell sollte WSL 2 schneller sein als WSL, dies kann jedoch je nach Anwendungsfall variieren.
!!! tip "Windows Terminal"
- Wenn Sie `Windows Terminal` installiert haben, wird der neue WSL Distributionsname als Option im Pull-down-Menü angezeigt, das ist ziemlich praktisch, um Linux in der WSL zu starten. Sie können alles dann mit Farben, Schriftarten etc. verschlimmbessern.
+ Wenn Sie `Windows Terminal` installiert haben, wird der neue WSL-Distributionsname als Option im Pull-down-Menü angezeigt, was für zukünftige Starts sehr praktisch ist. Sie können alles dann mit Farben, Schriftarten etc. verschlimmbessern.
!!! tip "systemd"
- Microsoft hat sich auch entschieden, `systemd` in die WSL zu integrieren. Diese Option existiert bereits in der neuesten WSL Version aus dem Microsoft Store. Sie sollten nur die Zeile `systemd=true` im ini-Abschnitt `boot` der Datei `/etc/wsl.conf` hinzufügen! ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
-
-!!! tip "Microsoft Store"
-
- Derzeit gibt es kein Bild im Microsoft Store, wenn Sie helfen wollen, es dorthin zu bringen, besuchen Sie uns im Mattermost SIG/Containers Channel! Es gab vor langer Zeit [einige Anstrengungen](https://github.com/rocky-linux/WSL-DistroLauncher), die wieder aufgegriffen werden können.
+ Das WSL-Image ist standardmäßig `systemd`-fähig. Wenn Sie Container-Images verwenden oder eigene erstellen möchten, fügen Sie einfach `systemd=true` zum Abschnitt `boot` in der Datei `/etc/wsl.conf` hinzu. ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
diff --git a/docs/guides/interoperability/import_rocky_to_wsl.fr.md b/docs/guides/interoperability/import_rocky_to_wsl.fr.md
index 8d34f3be4c..af20bbb29f 100644
--- a/docs/guides/interoperability/import_rocky_to_wsl.fr.md
+++ b/docs/guides/interoperability/import_rocky_to_wsl.fr.md
@@ -1,7 +1,7 @@
---
-title: Importer Rocky Linux vers WSL ou WSL2
+title: Importer Rocky Linux 10 vers WSL ou bien WSL2
author: Lukas Magauer
-tested_with: 8.6, 9.0
+tested_with: 8.10, 9.6, 10.0
tags:
- wsl
- wsl2
@@ -9,60 +9,77 @@ tags:
- interopérabilité
---
-# Importer Rocky Linux vers WSL
+!!! note "Images pour d'autres versions"
+
+ Si vous recherchez des instructions WSL pour une autre version de Rocky Linux, sélectionnez la version souhaitée dans le menu du haut, puis reportez-vous aux instructions WSL sous « Interopérabilité ».
## Prérequis
-La fonctionnalité Windows-Subsystem pour Linux doit être activée. Ceci est possible avec l'une de ces options :
+Vous devez activer la fonctionnalité Sous-système Windows pour Linux. Ceci est possible avec l'une des options suivantes :
- [Une version WSL plus récente avec des fonctionnalités supplémentaires est disponible dans Microsoft Store](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R). Utilisez la nouvelle version tant que possible.
- Ouvrez un terminal d'administration (PowerShell ou invite de commande) et exécutez la commande suivante :
`wsl --install` ([ref.](https://docs.microsoft.com/en-us/windows/wsl/install))
- Accédez aux paramètres graphiques de Windows et activez la fonctionnalité facultative `Windows-Subsystem for Linux`
-Cette fonctionnalité devrait être disponible sur toutes les versions Windows 10 et 11 prises en charge actuellement (février 2025).
+Cette fonctionnalité devrait être disponible sur toutes les versions actuellement prises en charge de Windows 10 et 11.
+
+!!! tip "Version WSL"
+
+ Assurez-vous que votre version WSL est à jour, car certaines fonctionnalités ont seulement été introduites dans les versions récentes. Si vous n'êtes pas certain, vérifiez avec la commande `wsl --update`.
## Marche à suivre
-1. Récupérez `rootfs` du conteneur. Ceci est possible de plusieurs manières :
+### Images WSL installables (de préférence)
+
+1. Téléchargez l'image WSL à partir du CDN ou d'un autre miroir à proximité :
+
+ - 10 : [x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-WSL-Base.latest.x86_64.wsl) ou [aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-WSL-Base.latest.aarch64.wsl)
+
+2. Il existe plusieurs options pour installer une image `.wsl` :
+
+ - Un double-clic sur l'image l'installera avec le nom d'image par défaut
+ - Installez l'image à l'aide de la ligne de commande :
- - **Préférable :** Téléchargez l'image depuis le CDN :
- - 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
- - 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
- - Extraire l'image à partir de `Docker Hub` ou de `Quay.io` ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
+ ```sh
+ wsl --install --from-file --name
+ ```
+
+### Images de conteneurs classiques
+
+1. Récupérez `rootfs` du conteneur. Cela est possible de plusieurs manières :
+
+ - Téléchargez l'image depuis le CDN :
+ - 10: [Base x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-UBI.latest.aarch64.tar.xz)
+ - Extraction de l'image à partir de `Docker Hub` ou de `Quay.io` ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
```sh
- export rockylinux:9 > rocky-9-image.tar
+ export rockylinux:10 > rocky-10-image.tar
```
-2. (facultatif) Vous devrez extraire le fichier .tar du fichier .tar.xz si vous n'utilisez pas l'une des dernières versions de WSL
-3. Créer le répertoire où le WSL stockera ses fichiers (par exemple quelque part dans le profil utilisateur)
-4. Enfin, importer l'image dans WSL ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl)) :
+2. (facultatif) Vous devrez extraire le fichier `.tar` du fichier `.tar.xz` si vous utilisez l'une des dernières versions de WSL
+3. Créez le répertoire dans lequel le WSL stockera ses fichiers (normalement quelque part dans le profil utilisateur)
+4. Enfin, importez l'image dans WSL ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl)) :
- WSL :
```sh
- wsl --import
+ wsl --import --version 1
```
- - WSL 2:
+ - WSL 2 :
```sh
- wsl --import --version 2
+ wsl --import --version 2
```
!!! tip "WSL vs. WSL 2"
- En général, le WSL 2 devrait être plus rapide que le WSL, mais cela peut différer d'un cas d'utilisation à l'autre.
+ En général, WSL 2 devrait être plus rapide que WSL, bien que cela puisse varier selon le cas d'utilisation.
-!!! tip "Terminal Windows"
+!!! tip "Windows Terminal"
- Si `Windows Terminal` est installé, le nouveau nom de la distribution WSL apparaîtra comme une option dans le menu déroulant ce qui est assez pratique pour le lancement de Linux. Vous pouvez ensuite personnaliser le système
- avec des couleurs, des polices, etc.
+ Si vous avez installé Windows Terminal, le nom de votre nouvelle distribution WSL apparaîtra comme une option dans le menu déroulant, ce qui est très utile pour la lancer par la suite. Vous pouvez ensuite le personnaliser avec des couleurs, des polices et d'autres éléments.
!!! tip "systemd"
- Microsoft a finalement décidé d’intégrer `systemd` dans le WSL. Cette fonctionnalité fait partie de la nouvelle version WSL dans Microsoft Store. Il vous suffit d'ajouter `systemd=true` à la section ini `boot` dans le fichier `/etc/wsl.conf` ! ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
-
-!!! tip "Microsoft Store"
-
- Il n'y a actuellement aucune image dans le Microsoft Store, si vous voulez aider à l'y amener, rejoignez la conversation dans le canal Mattermost SIG/Containers ! Les [quelques efforts](https://github.com/rocky-linux/WSL-DistroLauncher) fournis il y a longtemps, peuvent être utiles maintenant.
+ L'image WSL est activée par défaut pour systemd. Si vous souhaitez utiliser les images de conteneur ou créer les vôtres, il vous suffira d'ajouter `systemd=true` à la section `boot` dans le fichier `/etc/wsl.conf`. ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
diff --git a/docs/guides/interoperability/import_rocky_to_wsl.it.md b/docs/guides/interoperability/import_rocky_to_wsl.it.md
index 8aac0f6500..9e6c99dfec 100644
--- a/docs/guides/interoperability/import_rocky_to_wsl.it.md
+++ b/docs/guides/interoperability/import_rocky_to_wsl.it.md
@@ -1,7 +1,7 @@
---
title: Importazione di Rocky Linux in WSL o WSL2
author: Lukas Magauer
-tested_with: 8.6, 9.0
+tested_with: 8.10, 9.6, 10.0
tags:
- wsl
- wsl2
@@ -15,23 +15,46 @@ tags:
La funzione Windows-Subsystem for Linux deve essere abilitata. Questo è possibile con una delle seguenti opzioni:
-- Da pochissimo tempo è [disponibile una nuova versione di WSL nel Microsoft Store](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R), che ha più funzioni
-- Aprire un terminale amministrativo (PowerShell o Command-Prompt) e
eseguire `wsl --install` ([ rif.](https://docs.microsoft.com/en-us/windows/wsl/install))
-- Andate nelle impostazioni grafiche di Windows e attivate la funzione opzionale `Windows-Subsystem for Linux`
+- [Una versione più recente di WSL con funzioni aggiuntive è disponibile nel Microsoft Store](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R). Utilizzare questa versione più recente ogni volta che è possibile.
+- Aprire un terminale amministrativo (PowerShell o Command-Prompt) ed eseguite `wsl --install` ([ref.](https://docs.microsoft.com/en-us/windows/wsl/install))
+- Andate nelle impostazioni grafiche di Windows e attivate la funzione opzionale `Windows-Subsystem for Linux`.
Questa funzione dovrebbe essere disponibile su tutte le versioni di Windows 10 e 11 supportate.
+!!! tip “WSL versione”
+
+ Assicuratevi che la versione di WSL sia aggiornata, poiché alcune funzioni sono state introdotte solo nelle versioni successive. Se non si è sicuri, eseguire `wsl --update`.
+
## Passi
-1. Ottenere il rootfs del contenitore. Questo è possibile in diversi modi:
+### Immagini WSL installabili (preferibile)
+
+1. Scaricare l'immagine WSL dal CDN o da un altro mirror più vicino:
+
+ - 9: [x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-WSL-Base.latest.x86_64.wsl) o [aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-WSL-Base.latest.aarch64.wsl)
+ - 10: [x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-WSL-Base.latest.x86_64.wsl) o [aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-WSL-Base.latest.aarch64.wsl)
- - **Preferito:** Scaricare l'immagine dal CDN:
- - 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz),
[Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
- - 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz),
[Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
+2. Esistono diverse opzioni per installare un'immagine `.wsl`:
+
+ - Facendo doppio clic sull'immagine, questa verrà installata con il nome predefinito dell'immagine.
+ - Installare l'immagine tramite riga di comando:
+
+ ```sh
+ wsl --install --from-file
+ ```
+
+### Immagini di contaner convenzionali
+
+1. Ottenere il rootfs del container. Questo è possibile in diversi modi:
+
+ - Scaricare l'immagine dal CDN:
+ - 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
+ - 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
+ - 10: [Base x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-UBI.latest.aarch64.tar.xz)
- Estrarre l'immagine da Docker Hub o da Quay.io ([ rif.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
```sh
- export rockylinux:9 > rocky-9-image.tar
+ export rockylinux:10 > rocky-10-image.tar
```
2. (opzionale) È necessario estrarre il file .tar dal file .tar.xz se non si utilizza una delle ultime versioni di WSL
@@ -41,27 +64,23 @@ Questa funzione dovrebbe essere disponibile su tutte le versioni di Windows 10 e
- WSL:
```sh
- wsl --import
+ wsl --import --version 1
```
- WSL 2:
```sh
- wsl --import --version 2
+ wsl --import --version 2
```
!!! tip "WSL vs. WSL 2"
- In linea di massima WSL 2 dovrebbe essere più veloce di WSL, ma questo potrebbe variare da caso a caso.
+ In generale, WSL 2 dovrebbe essere più veloce di WSL, anche se ciò può variare a seconda del caso d'uso.
!!! tip "Terminale Windows"
- Se avete installato Windows Terminal, il nome della nuova distro WSL apparirà come opzione nel menu a discesa, il che è molto utile per lanciarla in futuro. È quindi possibile personalizzarlo con colori, caratteri, ecc.
+ Se avete installato Windows Terminal, il nome della nuova distro WSL apparirà come opzione nel menu a discesa, il che è molto utile per lanciarla in futuro. È quindi possibile personalizzarlo con colori, caratteri e altri elementi.
!!! tip "systemd"
- Microsoft ha finalmente deciso di portare systemd nella WSL. Questa funzione è presente nella nuova versione di WSL del Microsoft Store. È sufficiente aggiungere `systemd=true` alla sezione `boot` ini del file `/etc/wsl.conf`! ([rif.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
-
-!!! tip "Microsoft Store"
-
- Al momento non c'è alcuna immagine nel Microsoft Store, se volete contribuire a portarla lì unitevi alla conversazione nel canale Mattermost SIG/Containers! Ci sono stati [alcuni sforzi](https://github.com/rocky-linux/WSL-DistroLauncher) molto tempo fa, che possono essere ripresi.
+ L'immagine WSL è abilitata per impostazione predefinita. Se si vogliono usare le immagini del contenitore o costruirne di proprie, è sufficiente aggiungere `systemd=true` alla sezione `boot` del file `/etc/wsl.conf`. ([rif.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
diff --git a/docs/guides/interoperability/import_rocky_to_wsl.md b/docs/guides/interoperability/import_rocky_to_wsl.md
index ab321c8057..d1e2e00c80 100644
--- a/docs/guides/interoperability/import_rocky_to_wsl.md
+++ b/docs/guides/interoperability/import_rocky_to_wsl.md
@@ -1,7 +1,7 @@
---
title: Import Rocky Linux to WSL or WSL2
author: Lukas Magauer
-tested_with: 8.6, 9.0
+tested_with: 8.10, 9.6, 10.0
tags:
- wsl
- wsl2
@@ -9,60 +9,78 @@ tags:
- interoperability
---
-# Import Rocky Linux to WSL
+!!! note "Images for other versions"
+
+ If you are looking for WSL instructions for another version of Rocky Linux, select the version you want from the top menu and then refer to the WSL instructions under "Interoperability."
## Prerequisites
-The Windows-Subsystem for Linux feature has to be enabled. This is possible with one of these options:
+You must enable the Windows-Subsystem for Linux feature. Do this with one of these options:
- [A newer WSL version with extra features is available in the Microsoft Store](https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R). Use this newer version whenever possible.
- Open an administrative Terminal (either PowerShell or Command-Prompt) and
run `wsl --install` ([ref.](https://docs.microsoft.com/en-us/windows/wsl/install))
- Go to the graphical Windows Settings and enable the optional feature `Windows-Subsystem for Linux`
-This feature should be available on every supported Windows 10 and 11 version right now.
+This feature should be available on every supported version of Windows 10 and 11 currently.
+
+!!! tip "WSL version"
+
+ Ensure that your WSL version is up to date, as some features were only introduced in later versions. If you are unsure, run `wsl --update`.
## Steps
+### Installable WSL images (preferred)
+
+1. Download the WSL image from the CDN or another mirror closer to you:
+
+ - 10: [x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-WSL-Base.latest.x86_64.wsl) or [aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-WSL-Base.latest.aarch64.wsl)
+
+2. There are multiple options for installing a `.wsl` image:
+
+ - Double-click the image and it will be installed with the images default name
+ - Install the image via command line:
+
+ ```sh
+ wsl --install --from-file --name
+ ```
+
+### Conventional Container images
+
1. Get the container rootfs. This is possible in multiple ways:
- - **Preferred:** Download the image from the CDN:
- - 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
- - 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
+ - Download the image from the CDN:
+ - 10: [Base x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-UBI.latest.aarch64.tar.xz)
- Extract the image from either Docker Hub or Quay.io ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
```sh
- export rockylinux:9 > rocky-9-image.tar
+ export rockylinux:10 > rocky-10-image.tar
```
-2. (optional) You will have to extract the .tar file from the .tar.xz file if you are using not one of the latest WSL versions
-3. Create the directory where the WSL will store its files (mostly somewhere in the userprofile)
+2. (optional) You will have to extract the .tar file from the .tar.xz file if you are using one of the latest WSL versions
+3. Create the directory where the WSL will store its files (mostly somewhere in the user profile)
4. Finally, import the image into WSL ([ref.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl)):
- WSL:
```sh
- wsl --import
+ wsl --import --version 1
```
- WSL 2:
```sh
- wsl --import --version 2
+ wsl --import --version 2
```
!!! tip "WSL vs. WSL 2"
- Generally speaking WSL 2 should be faster than WSL, but that might differ from use-case to use-case.
+ Generally speaking, WSL 2 should be faster than WSL, although this may vary depending on the use case.
!!! tip "Windows Terminal"
- If you have Windows Terminal installed, the new WSL distro name will appear as an option on the pull-down menu, which is quite handy for launching in the future. You can then customize it with colors, fonts, etc.
+ If you have Windows Terminal installed, the new WSL distro name will appear as an option on the pull-down menu, which is quite handy for launching in the future. You can then customize it with colors, fonts, and other elements.
!!! tip "systemd"
- Microsoft finally decided to bring systemd into the WSL. This feature is in the new WSL version from the Microsoft Store. You only need to add `systemd=true` to the `boot` ini section in the `/etc/wsl.conf` file! ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
-
-!!! tip "Microsoft Store"
-
- Currently there is no image in the Microsoft Store, if you want to help with bringing it to there join the conversation in the Mattermost SIG/Containers channel! There has been [some effort](https://github.com/rocky-linux/WSL-DistroLauncher) a long time ago, which can get picked up again.
+ The WSL image is systemd-enabled by default. If you want to use the container images or build your own, you will only need to add `systemd=true` to the `boot` section in the `/etc/wsl.conf` file. ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
diff --git a/docs/guides/interoperability/import_rocky_to_wsl.uk.md b/docs/guides/interoperability/import_rocky_to_wsl.uk.md
index 0fc368c7f0..99382bda5c 100644
--- a/docs/guides/interoperability/import_rocky_to_wsl.uk.md
+++ b/docs/guides/interoperability/import_rocky_to_wsl.uk.md
@@ -1,7 +1,7 @@
---
title: Імпорт Rocky Linux до WSL або WSL2
author: Lukas Magauer
-tested_with: 8.6, 9.0
+tested_with: 8.10, 9.6, 10.0
tags:
- wsl
- wsl2
@@ -21,17 +21,40 @@ tags:
Тепер ця функція має бути доступна в усіх підтримуваних версіях Windows 10 і 11.
+!!! tip "Версія WSL"
+
+ Переконайтеся, що ваша версія WSL оновлена, оскільки деякі функції були представлені лише в пізніших версіях. Якщо ви не впевнені, виконайте команду `wsl --update`.
+
## Кроки
+### Встановлювані образи WSL (бажано)
+
+1. Завантажте образ WSL з CDN або іншого дзеркала, ближчого до вас:
+
+ - 9: [x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-WSL-Base.latest.x86_64.wsl) або [aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-WSL-Base.latest.aarch64.wsl)
+ - 10: [x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-WSL-Base.latest.x86_64.wsl) або [aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-WSL-Base.latest.aarch64.wsl)
+
+2. Існує кілька варіантів встановлення образу `.wsl`:
+
+ - Двічі клацніть на зображенні, і воно буде встановлено з ім'ям зображення за замовчуванням
+ - Встановіть образ через командний рядок:
+
+ ```sh
+ wsl --install --from-file
+ ```
+
+### Зображення звичайних контейнерів
+
1. Отримайте контейнер rootfs. Це можливо кількома способами:
- - **Бажано:** Завантажте зображення з CDN:
+ - Завантажте зображення з CDN:
- 8: [Base x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/8/images/aarch64/Rocky-8-Container-UBI.latest.aarch64.tar.xz)
- 9: [Base x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/9/images/aarch64/Rocky-9-Container-UBI.latest.aarch64.tar.xz)
- - Видобудьте зображення з Docker Hub або Quay.io ([посил.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a -container))
+ - 10: [Base x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Base.latest.x86_64.tar.xz), [Minimal x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-Minimal.latest.x86_64.tar.xz), [UBI x86_64](https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-Container-UBI.latest.x86_64.tar.xz), [Base aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Base.latest.aarch64.tar.xz), [Minimal aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-Minimal.latest.aarch64.tar.xz), [UBI aarch64](https://dl.rockylinux.org/pub/rocky/10/images/aarch64/Rocky-10-Container-UBI.latest.aarch64.tar.xz)
+ - Витягніть образ з Docker Hub або Quay.io ([посилання.](https://docs.microsoft.com/en-us/windows/wsl/use-custom-distro#export-the-tar-from-a-container))
```sh
- export rockylinux:9 > rocky-9-image.tar
+ export rockylinux:10 > rocky-10-image.tar
```
2. (необов’язково) Вам доведеться розпакувати файл .tar із файлу .tar.xz, якщо ви не використовуєте одну з останніх версій WSL
@@ -41,27 +64,23 @@ tags:
- WSL:
```sh
- wsl --import
+ wsl --import --version 1
```
- WSL 2:
```sh
- wsl --import --version 2
+ wsl --import --version 2
```
!!! tip "WSL vs. WSL 2"
- Взагалі кажучи, WSL 2 має бути швидшим за WSL, але це може відрізнятися від випадку використання до випадку використання.
+ Загалом кажучи, WSL 2 має бути швидшим за WSL, хоча це може відрізнятися залежно від випадку використання.
!!! tip "Термінал Windows"
- Якщо у вас встановлено термінал Windows, нова назва дистрибутива WSL з’явиться як опція в спадному меню, що дуже зручно для майбутніх запусків. Потім ви можете налаштувати його за допомогою кольорів, шрифтів тощо.
+ Якщо у вас встановлено термінал Windows, нова назва дистрибутива WSL з’явиться як опція у випадаючому меню, що досить зручно для запуску в майбутньому. Потім ви можете налаштувати його за допомогою кольорів, шрифтів та інших елементів.
!!! tip "systemd"
- Microsoft нарешті вирішила ввести systemd у WSL. Ця функція доступна в новій версії WSL із Microsoft Store. Вам потрібно лише додати `systemd=true` до розділу `boot` ini у файлі `/etc/wsl.conf`! ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
-
-!!! tip "Microsoft Store"
-
- Немає зображення в Microsoft Store; якщо ви хочете допомогти це зробити, приєднуйтесь до розмови на каналі Mattermost SIG/Containers! Було [деяких зусиль](https://github.com/rocky-linux/WSL-DistroLauncher) давно, які можуть бути підхоплені знову.
+ Образ WSL за замовчуванням увімкнено для systemd. Якщо ви хочете використовувати образи контейнерів або створити свій власний, вам потрібно лише додати `systemd=true` до розділу `boot` у файлі `/etc/wsl.conf`. ([ref.](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/#set-the-systemd-flag-set-in-your-wsl-distro-settings))
diff --git a/docs/guides/isos/iso_creation.de.md b/docs/guides/isos/iso_creation.de.md
index 1c532b01f7..b1b840798d 100644
--- a/docs/guides/isos/iso_creation.de.md
+++ b/docs/guides/isos/iso_creation.de.md
@@ -1,7 +1,7 @@
---
title: Erstellen einer benutzerdefinierten Rocky Linux ISO
author: Howard Van Der Wal
-contributors: Steven Spencer
+contributors: Steven Spencer, Ganna Zhyrnova
tested with: 9.5
tags:
- create
@@ -17,8 +17,8 @@ Diese Anleitung erklärt Ihnen von Anfang bis Ende, wie Sie Ihr eigenes Rocky Li
## Voraussetzungen
-- Eine 64-Bit-Maschine mit Rocky Linux 9 zum Erstellen des neuen ISO-Image.
-- Ein Rocky Linux 9 DVD-ISO-Image.
+- Eine 64-Bit-Maschine mit Rocky Linux 9
+- Ein Rocky Linux 9 DVD-ISO-Image
- Eine `kickstart`-Datei, die auf die ISO angewendet werden soll.
- Lesen Sie die Lorax-Dokumentation [Quickstart](https://weldr.io/lorax/lorax.html#quickstart) und [mkksiso](https://weldr.io/lorax/mkksiso.html), um sich mit der Erstellung der `Anaconda`-Datei `boot.iso` vertraut zu machen.
@@ -118,4 +118,4 @@ mkksiso --add ~/baseos --ks example-ks.cfg ~/Rocky-9.5-x86_64-dvd.iso ~/Rocky-9.
## Zusammenfassung
-Was hier besprochen wurde, sind nur einige der verfügbaren Optionen zum Optimieren und Erstellen Ihres eigenen Rocky Linux ISO. Für weitere Möglichkeiten, einschließlich der Änderung der Kernel-Befehlszeilenargumente, empfiehlt der Autor dringend, die [mkksiso](https://weldr.io/lorax/mkksiso.html)-Dokumentation genauer durchzugehen.
+Der Autor teilt hier ein paar Optionen zum Optimieren und Erstellen Ihres Rocky Linux ISO. Für weitere Möglichkeiten, einschließlich der Änderung der Kernel-Befehlszeilenargumente, empfiehlt der Autor dringend, die [mkksiso](https://weldr.io/lorax/mkksiso.html)-Dokumentation genauer durchzugehen.
diff --git a/docs/guides/isos/iso_creation.it.md b/docs/guides/isos/iso_creation.it.md
new file mode 100644
index 0000000000..4e373d8159
--- /dev/null
+++ b/docs/guides/isos/iso_creation.it.md
@@ -0,0 +1,121 @@
+---
+title: Creare una ISO Rocky Linux personalizzata
+author: Howard Van Der Wal
+contributors: Steven Spencer, Ganna Zhyrnova
+tested with: 9.5
+tags:
+ - create
+ - custom
+ - ISO
+---
+
+## Introduzione
+
+Potrebbe essere necessario creare una ISO personalizzata per varie ragioni. Si potrebbe voler cambiare il processo di boot, aggiungere pacchetti specifici o aggiornare un file di configurazione.
+
+Questa guida spiega come costruire la propria ISO di Rocky Linux dall'inizio alla fine.
+
+## Prerequisiti
+
+- Una macchina 64-bit con Rocky Linux 9
+- Un'immagine ISO DVD di Rocky Linux 9
+- Un file `kickstart` da applicare alla ISO
+- Leggere la documentazione Lorax [Quickstart](https://weldr.io/lorax/lorax.html#quickstart) e [mkksiso](https://weldr.io/lorax/mkksiso.html) per familiarizzare con la creazione di `Anaconda` `boot.iso`.
+
+## Installazione e configurazione del pacchetto
+
+- Installare il pacchetto `lorax`:
+
+```bash
+sudo dnf install -y lorax
+```
+
+## Costruire la ISO con un file kickstart
+
+- Eseguire il comando `mkksiso` per aggiungere un file `kickstart` e quindi creare una nuova ISO:
+
+```bash
+mkksiso --ks <0> <1> <2>
+```
+
+- Di seguito è riportato un esempio di file `kickstart`, ovvero `example-ks.cfg`, il quale imposta un ambiente `Server With GUI` Rocky Linux 9.5:
+
+```bash
+lang en_GB
+keyboard --xlayouts='us'
+timezone Asia/Tokyo --utc
+reboot
+cdrom
+bootloader --append="rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M"
+zerombr
+clearpart --all --initlabel
+autopart
+network --bootproto=dhcp
+firstboot --disable
+selinux --enforcing
+firewall --enabled
+%packages
+@^server-product-environment
+%end
+```
+
+## Aggiungere un repository con i suoi pacchetti a una immagine ISO
+
+- Assicurarsi che il repository che si intende aggiungere abbia la directory `repodata` al suo interno. Se così non è, è possibile crearla utilizzando il comando `createrepo_c`, è possibile installarlo con \`sudo dnf install -y createrepo_c
+- Aggiungere il repository al file `kickstart` utilizzando la seguente sintassi:
+
+```bash
+
+repo --name=extra-repo --baseurl=file:///run/install/repo/<0>/
+```
+
+- Aggiungere il repository utilizzando il flag `--add` tramite il tool `mkksiso`:
+
+```bash
+mkksiso --add <0> --ks <1> <2> <3>
+```
+
+- Si possono vedere dettagli aggiuntivi di questo processo utilizzando il repository `baseos` nell'esempio a seguire.
+- Il repository `base os` sarà scaricato localmente assieme a tutti i suoi pacchetti:
+
+```bash
+dnf reposync -p ~ --download-metadata --repo=baseos
+```
+
+- Successivamente aggiungere il repository al file `kickstart`:
+
+```bash
+repo --name=extra-repo --baseurl=file:///run/install/repo/baseos/
+```
+
+- Il file `kickstart` ha l'aspetto seguente:
+
+```bash
+lang en_GB
+keyboard --xlayouts='us'
+timezone Asia/Tokyo --utc
+reboot
+cdrom
+bootloader --append="rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M"
+zerombr
+clearpart --all --initlabel
+autopart
+network --bootproto=dhcp
+firstboot --disable
+selinux --enforcing
+firewall --enabled
+%packages
+@^server-product-environment
+repo --name=extra-repo --baseurl=file:///run/install/repo/baseos/
+%end
+```
+
+- Successivamente puntare il comando `mkksiso` direttamente alla directory del repository e poi creare la ISO:
+
+```bash
+mkksiso --add ~/baseos --ks example-ks.cfg ~/Rocky-9.5-x86_64-dvd.iso ~/Rocky-9.5-x86_64-dvd-new.iso
+```
+
+## Conclusione
+
+Qui condivido alcune opzioni per modificare e creare la vostra ISO Rocky Linux. Per ulteriori modi, tra cui la modifica degli argomenti della riga di comando del kernel, l'autore consiglia vivamente di consultare la documentazione di [mkksiso](https://weldr.io/lorax/mkksiso.html) in modo più dettagliato.
diff --git a/docs/guides/isos/iso_creation.uk.md b/docs/guides/isos/iso_creation.uk.md
index abdc35cb9b..5b532bad83 100644
--- a/docs/guides/isos/iso_creation.uk.md
+++ b/docs/guides/isos/iso_creation.uk.md
@@ -5,7 +5,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
tested with: 9.5
tags:
- create
- - custom "Власний заголовок"
+ - custom
- ISO
---
diff --git a/docs/guides/kernel/regenerate_initramfs.de.md b/docs/guides/kernel/regenerate_initramfs.de.md
index 50b2079335..abe73128d5 100644
--- a/docs/guides/kernel/regenerate_initramfs.de.md
+++ b/docs/guides/kernel/regenerate_initramfs.de.md
@@ -34,7 +34,7 @@ Führen Sie als Nächstes `dracut` aus, um `initramfs` neu zu generieren:
dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
```
-Dann neu starten:
+Starten Sie dann das System neu:
```bash
reboot
@@ -42,4 +42,4 @@ reboot
## Zusammenfassung
-Der Linux-Kernel ist äußerst leistungsstark und modular. Es ist sinnvoll, dass einige Benutzer bestimmte Module zulassen oder verbieten möchten, und die erneute Generierung des `initramfs` ermöglicht dies.
+Der Linux-Kernel ist äußerst leistungsstark und modular. Es ist sinnvoll, dass einige Benutzer bestimmte Module zulassen oder verbieten möchten. Die erneute Generierung des `initramfs` macht dies möglich.
diff --git a/docs/guides/kernel/regenerate_initramfs.fr.md b/docs/guides/kernel/regenerate_initramfs.fr.md
index 064d757359..4ba344c051 100644
--- a/docs/guides/kernel/regenerate_initramfs.fr.md
+++ b/docs/guides/kernel/regenerate_initramfs.fr.md
@@ -11,11 +11,11 @@ tags:
Un `initramfs` est le système de fichiers `root` à l'intérieur d'un noyau Linux pour aider à démarrer le système. Il contient les modules de base nécessaires au démarrage de Linux.
-Parfois, un administrateur Linux peut vouloir régénérer les `initramfs`, par exemple s'il souhaite mettre un pilote sur liste noire ou inclure un module hors bande. L'auteur a fait tout cela pour [activer Intel vPro sur un Minisforum MS-01](https://spaceterran.com/posts/step-by-step-guide-enabling-intel-vpro-on-your-minisforum-ms-01-bios/).
+Parfois, un administrateur Linux peut vouloir régénérer `initramfs`, par exemple s'il souhaite mettre un pilote sur liste noire ou inclure un module hors bande —out-of-band—. L'auteur a utilisé cette procédure pour [activer Intel vPro sur un Minisforum MS-01](https://spaceterran.com/posts/step-by-step-guide-enabling-intel-vpro-on-your-minisforum-ms-01-bios/).
## Prérequis
-Les conditions suivantes sont indispensables pour utiliser cette procédure :
+Les conditions suivantes sont indispensables pour utiliser cette procédure :
- Un système Rocky Linux ou une machine virtuelle (mais pas un conteneur)
- Modifications apportées à la configuration du noyau, telles que mise sur liste noire ou l'ajout d'un module
@@ -42,4 +42,4 @@ reboot
## Conclusion
-Le noyau Linux est extrêmement puissant et modulaire. Il est logique que certains utilisateurs souhaitent autoriser ou interdire certains modules, et la régénération de `initramfs` permet que cela se produise.
+Le noyau Linux est extrêmement puissant et modulaire. Il est logique que certains utilisateurs souhaitent autoriser ou interdire certains modules, et la reconstruction de `initramfs` leur permet de le faire.
diff --git a/docs/guides/kernel/regenerate_initramfs.it.md b/docs/guides/kernel/regenerate_initramfs.it.md
new file mode 100644
index 0000000000..bb9cb733ae
--- /dev/null
+++ b/docs/guides/kernel/regenerate_initramfs.it.md
@@ -0,0 +1,45 @@
+---
+title: Rigenerare `initramfs`
+author: Neel Chauhan
+contributors: Spencer Steven
+tested_with: 9.4
+tags:
+ - hardware
+---
+
+## Introduzione
+
+Un \`initramfs' è il file system principale all'interno di un kernel Linux per aiutare l'avvio del sistema. Contiene i moduli fondamentali necessari per avviare Linux.
+
+A volte, un amministratore Linux potrebbe voler rigenerare \`initramfs', ad esempio se vuole inserire un driver nella blacklist o includere un modulo out-of-band. L'autore ha fatto questo per [abilitare Intel vPro su un Minisforum MS-01](https://spaceterran.com/posts/step-by-step-guide-enabling-intel-vpro-on-your-minisforum-ms-01-bios/).
+
+## Requisiti
+
+A seguire i requisiti minimi per implementare questa procedura:
+
+- Un sistema Rocky Linux o una macchina virtuale (non un container)
+- Modifiche alla configurazione del kernel, come la creazione di una blacklist o l'aggiunta di un modulo
+
+## Rigenerazione di `initramfs`
+
+Per ricostituire l'`initramfs` si deve prima eseguire il backup dell'`initramfs` esistente:
+
+```bash
+cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-$(date +%m-%d-%H%M%S).img
+```
+
+Quindi, eseguire `dracut` per rigenerare `initramfs`:
+
+```bash
+dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
+```
+
+Quindi riavviare:
+
+```bash
+reboot
+```
+
+## Conclusione
+
+Il kernel Linux è estremamente potente e modulare. È ragionevole che alcuni utenti vogliano consentire o meno alcuni moduli e la rigenerazione di `initramfs` permette di farlo.
diff --git a/docs/guides/kernel/regenerate_initramfs.uk.md b/docs/guides/kernel/regenerate_initramfs.uk.md
index a2544e7271..6fef7d29fb 100644
--- a/docs/guides/kernel/regenerate_initramfs.uk.md
+++ b/docs/guides/kernel/regenerate_initramfs.uk.md
@@ -4,7 +4,7 @@ author: Neel Chauhan
contributors: Steven Spencer
tested_with: 9.4
tags:
- - обладнання
+ - hardware
---
## Вступ
diff --git a/docs/guides/migrate2rocky.fr.md b/docs/guides/migrate2rocky.fr.md
index 1b4d050715..3d330860a5 100644
--- a/docs/guides/migrate2rocky.fr.md
+++ b/docs/guides/migrate2rocky.fr.md
@@ -9,7 +9,7 @@ update: 2023-05-19
## Prérequis
-- CentOS Stream, CentOS, Alma Linux, RHEL ou Oracle Linux fonctionnant correctement sur un serveur physique ou virtuel (VPS). Par opposition à CentOS-Stream, CentOS-Linux ne sera sera disponible que jusqu'à la version 8.5. La version actuellement prise en charge pour les autres systèmes est la **8.10** respectivement **9.4**.
+- CentOS Stream, CentOS, Alma Linux, RHEL ou Oracle Linux fonctionnant correctement sur un serveur physique ou virtuel (VPS) ; Par opposition à CentOS-Stream, CentOS-Linux ne sera sera disponible que jusqu'à la version 8.5. La version actuellement prise en charge pour les autres systèmes est la **8.10** respectivement **9.6**. La version 10 n'est pas encore prise en charge.
- Une bonne connaissance de la ligne de commande
- Être à l'aise avec l'usage de SSH dans le cas de machines distantes
- Une capacité à accepter les risques.
@@ -112,6 +112,6 @@ Si vous voyez un message **Complete!** à la fin, tout va bien et vous pouvez re

-Donnez-lui un peu de temps, reconnectez-vous et vous devriez avoir un serveur Rocky Linux tout beau, tout neuf pour jouer avec... Exécutez la commande `hostnamectl` pour vérifier que votre système d'exploitation a été migré correctement et vous voilà prêt à l'utiliser !
+Donnez-lui un peu de temps, reconnectez-vous et vous devriez avoir un serveur Rocky Linux tout beau, tout neuf pour jouer avec... Exécutez la commande `hostnamectl` pour vérifier que votre système d'exploitation a été migré correctement et vous voilà prêt à l'utiliser !
🌐 Traductions: crowdin.com/project/rockydocs
🌍 Traducteurs: rockydocs/activity-stream , rockylinux.org
🖋 Contribution: github.com/rocky-linux

diff --git a/docs/guides/migrate2rocky.it.md b/docs/guides/migrate2rocky.it.md
index 021825449f..59ad437aec 100644
--- a/docs/guides/migrate2rocky.it.md
+++ b/docs/guides/migrate2rocky.it.md
@@ -9,11 +9,11 @@ update: 11-23-2021
## Prerequisiti e presupposti
-* CentOS Stream, CentOS, AlmaLinux, RHEL o Oracle Linux in esecuzione su un server hardware o un VPS. CentOS non-Stream è fermo alla versione 8.5. La versione supportata al momento degli altri sistemi è la 8.9 o la 9.3.
-* Conoscenza della riga di comando
-* Conoscenza operativa di SSH per macchine remote.
-* Un atteggiamento di leggera propensione al rischio
-* Eseguire i comandi come root. Accedere come root o avere la possibilità di elevare i privilegi con `sudo`
+- CentOS Stream, CentOS, AlmaLinux, RHEL o Oracle Linux versione 8 o 9 su un server hardware o VPS. CentOS non-Stream è fermo alla versione 8.5. La versione attualmente supportata degli altri sistemi è la 8.10 o la 9.6. La versione 10 non è attualmente supportata.
+- Conoscenza della riga di comando
+- Conoscenza operativa di SSH per macchine remote.
+- Un atteggiamento di leggera propensione al rischio
+- Eseguire i comandi come root. Accedere come root o avere la possibilità di elevare i privilegi con `sudo`
## Introduzione
@@ -40,13 +40,16 @@ Sei pronto?
### Il modo manuale
-Scaricate i file compressi da GitHub ed estraete quello che vi serve (sarà *migrate2rocky.sh*). È possibile trovare i file zip per qualsiasi repository GitHub sul lato destro della pagina principale del repository:
+Scaricate i file compressi da GitHub ed estraete quello che vi serve (sarà *migrate2rocky.sh* o *migrate2rocky9.sh*). È possibile trovare i file zip per qualsiasi repository GitHub sul lato destro della pagina principale del repository:
-
+
-Quindi, caricare l'eseguibile sul server tramite SSH eseguendo questo comando sul computer locale:
+Quindi, caricare l'eseguibile sul server con SSH eseguendo questo comando sul computer locale:
-```
+!!! Note "Nota"
+ Se si utilizza un sistema 9.x, aggiungere un 9 prima del file `.sh`.
+
+```bash
scp PATH/TO/FILE/migrate2rocky.sh root@yourdomain.com:/home/
```
@@ -54,58 +57,64 @@ Regolare tutti i percorsi dei file e i domini dei server o gli indirizzi IP seco
### Il modo `git`
-Installare `git` sul proprio server con:
+Installare `git` sul server con:
-```
+```bash
dnf install git
```
Quindi clona il repository rocky-tools con:
-```
+```git
git clone https://github.com/rocky-linux/rocky-tools.git
```
-Nota: questo metodo scaricherà tutti gli script e i file nel repository rocky-tools.
+Nota: questo metodo scarica tutti gli script e i file dal repository rocky-tools.
### Il modo più semplice
-Questo è probabilmente il modo più semplice per ottenere lo script. È sufficiente che sul server sia installato un client HTTP adeguato (curl, wget, lynx e così via).
+Questo è probabilmente il modo più semplice per ottenere lo script. È sufficiente che sul server sia installato un client HTTP adeguato (`curl`, `wget`, `lynx` e così via).
-Supponendo che abbiate installato l'utilità `curl`, eseguite questo comando per scaricare lo script nella directory che state utilizzando:
+Supponendo che sia installata l'utilità `curl`, eseguire il seguente comando per scaricare lo script nella directory in uso:
-```
+!!! Note "Nota"
+ Se si utilizza un sistema 9.x, aggiungere un 9 prima del file `.sh`.
+
+```bash
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
```
-Questo comando scaricherà il file direttamente sul server e *solo* il file che vuoi. Ma anche in questo caso, i problemi di sicurezza suggeriscono che questa non è necessariamente la pratica migliore, quindi tenetene conto.
+Questo comando scaricherà il file sul server e *solo* quello desiderato. Ma anche in questo caso, i problemi di sicurezza suggeriscono che questa non è necessariamente la pratica migliore, quindi tenetene conto.
## Esecuzione dello script e installazione
-Usate il comando `cd` per passare alla directory in cui si trova lo script, assicuratevi che il file sia eseguibile e date i permessi x al proprietario del file dello script.
+Usate il comando `cd` per passare alla directory in cui si trova lo script, assicuratevi che il file sia eseguibile e date al proprietario del file di script i permessi di esecuzione 'x'.
-```
+!!! Note "Nota"
+ Nei comandi seguenti, se si utilizza un sistema 9.x, aggiungere un 9 prima di `.sh`.
+
+```bash
chmod u+x migrate2rocky.sh
```
E ora, finalmente, eseguite lo script:
-```
+```bash
./migrate2rocky.sh -r
```
-Questa opzione "-r" dice allo script di andare avanti e installare tutto.
+L'opzione "-r" indica allo script di procedere all'installazione di tutto.
Se avete fatto tutto correttamente, la vostra finestra di terminale avrà un aspetto simile a questo:
-
+
-Ora, lo script impiegherà un po' di tempo per convertire tutto, a seconda della macchina in uso e della connessione a Internet.
+Ora, lo script impiegherà un po' di tempo per convertire tutto, a seconda della macchina in uso e della sua connessione a Internet.
-Se vedi un messaggio **Complete!** alla fine, allora tutto va bene e puoi riavviare il server.
+Se alla fine viene visualizzato il messaggio **Complete!**, tutto è a posto e si può riavviare il server.
-
+
Lasciate passare un po' di tempo, riaccedete e dovreste avere un nuovo server Rocky Linux. Eseguite il comando `hostnamectl` per verificare che il sistema operativo sia stato migrato correttamente e siete a posto.
-
+
diff --git a/docs/guides/migrate2rocky.md b/docs/guides/migrate2rocky.md
index 99b7fbb801..bf9690aa3b 100644
--- a/docs/guides/migrate2rocky.md
+++ b/docs/guides/migrate2rocky.md
@@ -9,7 +9,7 @@ update: 11-23-2021
## Prerequisites and assumptions
-- CentOS Stream, CentOS, AlmaLinux, RHEL, or Oracle Linux running on a hardware server or VPS. Non-Stream CentOS is frozen at version 8.5. The current supported version of the other systems is 8.10 or 9.4.
+- CentOS Stream, CentOS, AlmaLinux, RHEL, or Oracle Linux running version 8 or 9 on a hardware server or VPS. Non-Stream CentOS is frozen at version 8.5. The current supported version of the other systems is 8.10 or 9.6. Version 10 is not supported at the moment.
- A working knowledge of the command line
- A working knowledge of SSH for remote machines
- A mildly risk-taking attitude
diff --git a/docs/guides/migrate2rocky.uk.md b/docs/guides/migrate2rocky.uk.md
index f46b730ca2..72ca6c6144 100644
--- a/docs/guides/migrate2rocky.uk.md
+++ b/docs/guides/migrate2rocky.uk.md
@@ -9,7 +9,7 @@ update: 23.11.2021
## Передумови і Припущення
-- CentOS Stream, CentOS, AlmaLinux, RHEL або Oracle Linux, які працюють на апаратному сервері або VPS. Non-Stream CentOS завис на версії 8.5. Поточна підтримувана версія інших систем – 8.10 або 9.4.
+- CentOS Stream, CentOS, AlmaLinux, RHEL або Oracle Linux з версією 8 або 9 на апаратному сервері або VPS. Non-Stream CentOS завис на версії 8.5. Поточна підтримувана версія інших систем – 8.10 або 9.6. Version 10 is not supported at the moment.
- Практичні знання командного рядка.
- Практичні знання SSH для віддалених машин.
- Помірно ризиковане ставлення.
diff --git a/docs/guides/minimum_hardware_requirements.de.md b/docs/guides/minimum_hardware_requirements.de.md
new file mode 100644
index 0000000000..f7ffa37030
--- /dev/null
+++ b/docs/guides/minimum_hardware_requirements.de.md
@@ -0,0 +1,130 @@
+RL 10 (Red Quarz) —
+Mindest-Hardware-Anforderungen
+==============================
+
+Rocky Linux 10 ist auf Stabilität auf Unternehmensniveau mit moderner Hardwarekompatibilität ausgelegt. Diese Mindestspezifikationen gelten für **minimale Serverinstallationen**. Für GUI- oder Produktionsumgebungen werden höhere Spezifikationen empfohlen.
+
+---
+
+## ✅ Supported CPU Architekturen
+
+Laut den Versionshinweisen zu Rocky Linux 10.0 unterstützt RL10 offiziell die folgenden Architekturen:
+
+- **x86_64-v3** (Intel/AMD 64-Bit-CPUs mit mindestens Haswell oder gleichwertiger AVX-Unterstützung)
+- **aarch64** (ARMv8-A 64-bit)
+- **ppc64le** (IBM Power, Little Endian)
+- **s390x** (IBM Z Mainframes)
+- **riscv64** (RISC‑V 64-bit)
+
+### ⚠️ CPU Voraussetzungen
+
+- **x86_64-v3** erfordert AVX, AVX2, BMI1/2 und FMA, entsprechend Intel Haswell oder höher oder AMD Excavator oder neuer.
+- Ältere x86_64-Revisionen (v1/v2) werden **nicht unterstützt**, sofern sie nicht von Community-SIGs neu erstellt werden.
+
+---
+
+## 🧠 CPU (Prozessor)
+
+- **1 GHz 64-Bit (x86_64‑v3)** oder gleichwertig für andere Architekturen
+- Für den Einsatz auf Servern, Desktops oder in der Virtualisierung werden Multi-Core-CPUs empfohlen
+
+---
+
+## 💾 Memory (RAM)
+
+- **2 GB** mindestens (Installation im Textmodus ohne GUI)
+- **4 GB+** empfohlen für GUI-Installationen
+- **4–8 GB+** für Produktions-Workloads oder Virtualisierung
+
+---
+
+## 💽 Speicher
+
+- **10 GB** Mindestspeicherplatz
+- **20 GB+** empfohlen, um Updates, Protokolle und Anwendungen unterzubringen
+- Für GUI: **40 GB+**, um ausreichend Speicherplatz sicherzustellen
+
+---
+
+## 🌐 Netzwerk
+
+- Mindestens ein funktionsfähiger Ethernet- oder WLAN-Netzwerkadapter
+- Unterstützt DHCP oder statische IP-Konfiguration über NetworkManager
+
+---
+
+## 🖥️ Display (für Installationen mit GUI)
+
+- Mindestauflösung **1024×768** über VGA, HDMI oder DisplayPort
+- Für minimale Serverinstallationen nicht erforderlich
+
+---
+
+## 📀 Media Access
+
+- USB-Anschluss (für Live-USB-Installer) oder DVD-ROM-Laufwerk
+- Cloud-Installationen unterstützen ISO- oder PXE-basierte Installationen
+
+---
+
+## 🔒 Firmware
+
+- UEFI- oder BIOS-Booten wird unterstützt; **UEFI empfohlen**
+- Secure Boot wird unterstützt (erfordert möglicherweise eine manuelle Schlüsselregistrierung)
+
+---
+
+## 🗃️ Virtualisierung–Support
+
+- Virtuelle Umgebungen (KVM, VMware, VirtualBox, Hyper-V) werden unterstützt
+- Guest-Tools (z. B. Open-VM-Tools, QEMU-Guest-Agent) werden für eine optimierte Leistung empfohlen
+
+---
+
+## 📝 Zusammenfassung
+
+| Komponente | Mindestanforderungen |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------- |
+| **CPU** | 1 GHz 64-Bit (AVX-fähig x86_64-v3) oder gleichwertig für ARM/POWER/Z/RISC-V |
+| **RAM** | 1 GB (2 GB mit GUI) |
+| **Disk Space** | 10 GB (20 GB+ empfohlen; 40 GB+ für GUI) |
+| **Netzwerk** | Ethernet- oder Wireless-Adapter |
+| **Display** | 1024×768-fähig (nur für GUI) |
+| **Media Access** | USB oder DVD-ROM |
+| **Firmware** | UEFI/BIOS (UEFI empfohlen); Secure Boot optional |
+
+---
+
+## 🎯 Empfohlene Spezifikationen nach Anwendungsfall
+
+### 🏗️ Minimal Server
+
+- CPU: 1 Kern x86_64-v3 (oder ARM/POWER/Z/RISC‑V)
+- RAM: 1 GB
+- Speicher: 10–20 GB
+
+### 🖥️ Desktop mit GUI
+
+- CPU: 2+ Kerne x86_64-v3 (oder gleichwertig)
+- RAM: 2–4 GB
+- Speicher: 20–40 GB
+
+### 🛠️ Entwicklung–/Produktions–Server
+
+- CPU: 4+ cores
+- RAM: 4–8 GB+
+- Speicher: 40 GB+ (je nach Arbeitslastbedarf)
+
+---
+
+## 🧩 Zusätzliche Anmerkungen
+
+- Weisen Sie Protokollen, Paketaktualisierungen und Sicherungen immer zusätzlichen Speicherplatz zu.
+- Wählen Sie für die Cloud oder Virtualisierung Instanz-Typen, die die oben genannten Spezifikationen erfüllen oder übertreffen.
+- Upgrades von früheren Rocky-Versionen (z. B. 8 oder 9) auf Rocky 10 werden nicht unterstützt – **Neuinstallation erforderlich**.
+
+---
+
+**Update**: 2025-06-30\
+**Betrifft**: Rocky Linux 10 Release Initial
+**Übersetzung**: 2025-09-04 20h25
diff --git a/docs/guides/minimum_hardware_requirements.fr.md b/docs/guides/minimum_hardware_requirements.fr.md
new file mode 100644
index 0000000000..e06580e5d6
--- /dev/null
+++ b/docs/guides/minimum_hardware_requirements.fr.md
@@ -0,0 +1,128 @@
+# RL10 (Red Quartz) — Configuration Minimum
+
+Rocky Linux 10 est conçu pour une stabilité de niveau entreprise et une compatibilité avec du matériel moderne. Ces spécifications minimum s'appliquent aux **installations minimales de serveur**. Pour les environnements d'interface utilisateur graphique ou de production, des spécifications plus élevées sont recommandées.
+
+---
+
+## Architectures Prises en Charge
+
+Selon les notes de publication officielles de Rocky Linux 10.0, RL10 prend en charge les architectures suivantes :
+
+- **x86_64-v3** (processeurs Intel/AMD 64 bits avec au moins la prise en charge Haswell ou équivalente d'AVX)
+- **aarch64** (ARMv8-A 64-bit)
+- **ppc64le** (IBM Power, Little Endian)
+- **s390x** (IBM Z mainframes)
+- **riscv64** (RISC‑V 64-bit)
+
+### ⚠️ Exigences relatives aux fonctionnalités du processeur
+
+- **x86_64-v3** nécessite AVX, AVX2, BMI1/2 et FMA, correspondant à Intel Haswell ou version ultérieure, ou AMD Excavator ou plus récent.
+- Les anciennes révisions x86_64 (v1/v2) ne sont **pas prises en charge**, à moins qu'elles ne soient reconstruites par les SIG de la communauté.
+
+---
+
+## 🧠 CPU (Processeur)
+
+- **1 GHz 64 bits (x86_64‑v3)** ou équivalent pour d'autres architectures
+- Les processeurs multicœurs sont recommandés pour une utilisation sur serveur, sur desktop ou en virtualisation
+
+---
+
+## 💾 Mémoire (RAM)
+
+- **2 Go** minimum (installation en mode texte, sans GUI)
+- **4 Go+** recommandé pour les installations d'interface graphique
+- **4–8 Go+** pour les charges de travail de production ou la virtualisation
+
+---
+
+## 💽 Stockage
+
+- **10 Go** d'espace disque minimum
+- **20 Go+** recommandés pour héberger les mises à jour, les journaux et les applications
+- Pour l'interface graphique : **40 Go+** pour garantir un espace suffisant
+
+---
+
+## 🌐 Réseau
+
+- Au moins un adaptateur réseau Ethernet ou sans fil fonctionnel
+- Prend en charge la configuration DHCP ou IP statique par l'intermédiaire de NetworkManager
+
+---
+
+## 🖥️ Affichage (pour les installations avec GUI)
+
+- Résolution minimale **1024×768** via VGA, HDMI ou DisplayPort
+- Non requis pour les installations de serveur minimales
+
+---
+
+## 📀 Accès aux Médias
+
+- Port USB (pour l'installateur USB en direct) ou lecteur de DVD-ROM
+- Les installations infonuagiques prennent en charge les installations ISO ou PXE
+
+---
+
+## 🔒 Firmware
+
+- Le démarrage UEFI ou BIOS est pris en charge ; **UEFI est recommandé**
+- Démarrage sécurisé pris en charge (peut nécessiter une inscription manuelle de la clé)
+
+---
+
+## 🗃️ Support de Virtualisation
+
+- Prise en charge d'environnements virtuels (KVM, VMware, VirtualBox, Hyper-V)
+- Outils supplémentaires `guest` (par exemple, open-vm-tools, qemu-guest-agent) recommandés pour des performances optimisées
+
+---
+
+## 📝 Tableau Récapitulatif
+
+| Composant | Exigences Minimales |
+| ----------------- | ------------------------------------------------------------------------------------------------------------------ |
+| **CPU** | 1 GHz 64-bit (AVX-capable x86_64-v3) ou équivalent pour ARM/POWER/Z/RISC-V |
+| **RAM** | 1 Go (2 Go pour le GUI) |
+| **Espace Disque** | 10 Go (20 Go+ recommandés ; 40 Go+ pour l'interface graphique) |
+| **Réseau** | Adaptateur Ethernet ou sans fil |
+| **Écran** | Compatible 1024×768 (seulement pour l'interface graphique) |
+| **Media Access** | USB ou DVD-ROM |
+| **Firmware** | UEFI/BIOS (UEFI recommandé) ; démarrage sécurisé en option |
+
+---
+
+## 🎯 Spécifications recommandées par cas d'utilisation
+
+### 🏗️ Serveur Minimal
+
+- CPU : 1 core x86_64-v3 (ou ARM/POWER/Z/RISC‑V)
+- RAM : 1 Go
+- Stockage : 10–20 Go
+
+### 🖥️ Desktop avec GUI
+
+- CPU : 2 cœurs ou plus x86_64-v3 (ou équivalent)
+- RAM : 2–4 Go
+- Stockage : 20–40 Go
+
+### 🛠️ Serveur de Développement ou Production
+
+- CPU : 4+ cœurs
+- RAM : 4–8 Go +
+- Stockage : 40 Go ou plus (selon les besoins de la charge de travail)
+
+---
+
+## 🧩 Notes Supplémentaires
+
+- Always allocate extra storage for logs, package updates, and backups.
+- Pour l'infonuagique ou la virtualisation, choisissez des types d'instances qui répondent ou dépassent les spécifications ci-dessus.
+- Les mises à niveau des versions antérieures de Rocky (par exemple, 8 ou 9) vers Rocky 10 ne sont pas prises en charge — **une nouvelle installation est requise**.
+
+---
+
+**Mise à Jour**: 2025-06-30\
+**Concerne**: Rocky Linux 10 Release Initial
+**Traductions**: 2025-09-04 20h15
diff --git a/docs/guides/minimum_hardware_requirements.it.md b/docs/guides/minimum_hardware_requirements.it.md
new file mode 100644
index 0000000000..2cc3bd43d6
--- /dev/null
+++ b/docs/guides/minimum_hardware_requirements.it.md
@@ -0,0 +1,127 @@
+# Rocky Linux 10 (Red Quartz) - Requisiti hardware minimi
+
+Rocky Linux 10 è stato progettato per garantire una stabilità enterprise-grade e una compatibilità con l'hardware moderno. Queste specifiche minime si applicano a **minimal server installations**. Per ambienti GUI o di produzione, si consigliano specifiche più elevate.
+
+---
+
+## ✅ Architetture CPU Supportate
+
+Secondo le note di rilascio di Rocky Linux 10.0, Rocky Linux 10 supporta ufficialmente le seguenti architetture:
+
+- **x86_64-v3** (CPU Intel/AMD a 64 bit con almeno Haswell o supporto AVX equivalente)
+- **aarch64** (ARMv8-A 64-bit)
+- **ppc64le** (IBM Power, Little Endian)
+- **s390x** (IBM Z mainframes)
+- **riscv64** (RISC‑V 64-bit)
+
+### ⚠️ Requisiti della CPU
+
+- **x86_64-v3** richiede AVX, AVX2, BMI1/2 e FMA, corrispondenti a Intel Haswell o successivi o AMD Excavator o più recenti.
+- Le vecchie revisioni x86_64 (v1/v2) non sono **supportate** a meno che non vengano ricostruite dai SIG della comunità.
+
+---
+
+## 🧠 CPU (Processore)
+
+- **1 GHz a 64 bit (x86_64-v3)** o equivalente per altre architetture
+- Le CPU multi-core sono consigliate per l'utilizzo in ambito server, desktop o virtualizzazione.
+
+---
+
+## 💾 Memoria (RAM)
+
+- **2 GB** minimo (installazione in modalità testo)
+- **4 GB+** raccomandati per le installazioni con interfaccia grafica
+- **4-8 GB+** per carichi di lavoro di produzione o virtualizzazione
+
+---
+
+## 💽 Storage
+
+- **10 GB** di spazio minimo su disco
+- **20 GB+** consigliati per ospitare aggiornamenti, registri e applicazioni.
+- Per l'interfaccia grafica (GUI): **40 GB+** per garantire spazio sufficiente
+
+---
+
+## 🌐 Rete
+
+- Almeno una scheda di rete Ethernet o wireless funzionante
+- Supporta la configurazione IP statica o DHCP tramite NetworkManager.
+
+---
+
+## 🖥️ Display (per installazioni con GUI)
+
+- Risoluzione minima **1024×768** tramite VGA, HDMI o DisplayPort
+- Non è necessario per le installazioni di server minimali
+
+---
+
+## 📀 Media Access
+
+- Porta USB (per il programma di installazione live USB) o unità DVD-ROM
+- Le installazioni in cloud supportano installazioni basate su ISO o PXE
+
+---
+
+## 🔒 Firmware
+
+- È supportato l'avvio UEFI o BIOS; si consiglia **UEFI**.
+- Secure Boot supportato (può richiedere la registrazione manuale della chiave)
+
+---
+
+## 🗃️ Supporto per la virtualizzazione
+
+- Ambienti virtuali (KVM, VMware, VirtualBox, Hyper-V) supportati
+- Strumenti guest (ad esempio, open-vm-tools, qemu-guest-agent) consigliati per ottimizzare le prestazioni
+
+---
+
+## 📝 Tabella riassuntiva
+
+| Componente | Requisito minimo |
+| ------------------- | ------------------------------------------------------------------------------------------------------------------ |
+| **CPU** | 1 GHz a 64 bit (AVX-capace x86_64-v3) o equivalente per ARM/POWER/Z/RISC-V |
+| **RAM** | 1 GB (2 GB per la GUI) |
+| **Spazio su disco** | 10 GB (consigliati 20 GB o più; 40 GB o più per la GUI) |
+| **Rete** | Adattatore Ethernet o wireless |
+| **Display** | Capacità di 1024×768 (solo per la GUI) |
+| **Media Access** | USB or DVD-ROM |
+| **Firmware** | UEFI/BIOS (UEFI recommended); Secure Boot optional |
+
+---
+
+## 🎯 Specifiche consigliate per caso d'uso
+
+### 🏗️ Server minimale
+
+- CPU: 1 core x86_64-v3 (or ARM/POWER/Z/RISC‑V)
+- RAM: 1 GB
+- Storage: 10–20 GB
+
+### 🖥️ Desktop con GUI
+
+- CPU: 2+ cores x86_64-v3 (or equivalent)
+- RAM: 2–4 GB
+- Storage: 20–40 GB
+
+### 🛠️ Server di sviluppo/produzione
+
+- CPU: 4+ cores
+- AM: 4–8 GB+
+- Storage: 40 GB+ (in base alle esigenze di workload)
+
+---
+
+## 🧩 Note aggiuntive
+
+- Allocare sempre uno spazio di archiviazione supplementare per i log, gli aggiornamenti dei pacchetti e i backup.
+- Per il cloud o la virtualizzazione, scegliete tipi di istanza che soddisfino o superino le specifiche di cui sopra.
+- Gli aggiornamenti da versioni precedenti di Rocky (ad esempio, 8 o 9) a Rocky 10 non sono supportati: è necessaria una nuova installazione.
+
+---
+
+**Ultimo aggiornamento**: June 2025\
+**Riguardante**: Rocky Linux 10.0 Initial Release
diff --git a/docs/guides/minimum_hardware_requirements.md b/docs/guides/minimum_hardware_requirements.md
new file mode 100644
index 0000000000..25eff2dfb4
--- /dev/null
+++ b/docs/guides/minimum_hardware_requirements.md
@@ -0,0 +1,127 @@
+# Rocky Linux 10 (Red Quartz) – Minimum Hardware Requirements
+
+Rocky Linux 10 is designed for enterprise-grade stability with modern hardware compatibility. These minimum specifications apply to **minimal server installations**. For GUI or production environments, higher specifications are recommended.
+
+---
+
+## ✅ Supported CPU Architectures
+
+According to the Rocky Linux 10.0 Release Notes, Rocky Linux 10 officially supports the following architectures:
+
+- **x86_64-v3** (Intel/AMD 64-bit CPUs with at least Haswell or equivalent AVX support)
+- **aarch64** (ARMv8-A 64-bit)
+- **ppc64le** (IBM Power, Little Endian)
+- **s390x** (IBM Z mainframes)
+- **riscv64** (RISC‑V 64-bit)
+
+### ⚠️ CPU Feature Requirements
+
+- **x86_64-v3** requires AVX, AVX2, BMI1/2, and FMA, corresponding to Intel Haswell or later, or AMD Excavator or newer.
+- Older x86_64 revisions (v1/v2) are **not supported** unless rebuilt by community SIGs.
+
+---
+
+## 🧠 CPU (Processor)
+
+- **1 GHz 64-bit (x86_64‑v3)** or equivalent for other architectures
+- Multi-core CPUs are recommended for server, desktop, or virtualization use
+
+---
+
+## 💾 Memory (RAM)
+
+- **2 GB** minimum (text-mode install)
+- **4 GB+** recommended for GUI installs
+- **4–8 GB+** for production workloads or virtualization
+
+---
+
+## 💽 Storage
+
+- **10 GB** minimum disk space
+- **20 GB+** recommended to accommodate updates, logs, applications
+- For GUI: **40 GB+** to ensure sufficient space
+
+---
+
+## 🌐 Network
+
+- At least one functional Ethernet or wireless network adapter
+- Supports DHCP or static IP configuration via NetworkManager
+
+---
+
+## 🖥️ Display (for GUI installations)
+
+- Minimum **1024×768** resolution via VGA, HDMI, or DisplayPort
+- Not required for minimal server installs
+
+---
+
+## 📀 Media Access
+
+- USB port (for live USB installer) or DVD-ROM drive
+- Cloud installs support ISO or PXE-based installations
+
+---
+
+## 🔒 Firmware
+
+- UEFI or BIOS booting is supported; **UEFI recommended**
+- Secure Boot supported (may require manual key enrollment)
+
+---
+
+## 🗃️ Virtualization Support
+
+- Virtual environments (KVM, VMware, VirtualBox, Hyper-V) supported
+- Guest tools (e.g., open-vm-tools, qemu-guest-agent) recommended for optimized performance
+
+---
+
+## 📝 Summary Table
+
+| Component | Minimum Requirement |
+|------------------|--------------------------------------------------------|
+| **CPU** | 1 GHz 64-bit (AVX-capable x86_64-v3) or equivalent for ARM/POWER/Z/RISC-V |
+| **RAM** | 1 GB (2 GB for GUI) |
+| **Disk Space** | 10 GB (20 GB+ recommended; 40 GB+ for GUI) |
+| **Network** | Ethernet or wireless adapter |
+| **Display** | 1024×768 capable (only for GUI) |
+| **Media Access**| USB or DVD-ROM |
+| **Firmware** | UEFI/BIOS (UEFI recommended); Secure Boot optional |
+
+---
+
+## 🎯 Recommended Specs by Use‑Case
+
+### 🏗️ Minimal Server
+
+- CPU: 1 core x86_64-v3 (or ARM/POWER/Z/RISC‑V)
+- RAM: 1 GB
+- Storage: 10–20 GB
+
+### 🖥️ Desktop with GUI
+
+- CPU: 2+ cores x86_64-v3 (or equivalent)
+- RAM: 2–4 GB
+- Storage: 20–40 GB
+
+### 🛠️ Development/Production Server
+
+- CPU: 4+ cores
+- RAM: 4–8 GB+
+- Storage: 40 GB+ (based on workload needs)
+
+---
+
+## 🧩 Additional Notes
+
+- Always allocate extra storage for logs, package updates, and backups.
+- For cloud or virtualization, choose instance types that meet or exceed the above specifications.
+- Upgrades from earlier Rocky releases (e.g., 8 or 9) to Rocky 10 aren’t supported—**clean installation required**.
+
+---
+
+**Last updated**: June 2025
+**Applies to**: Rocky Linux 10.0 Initial Release
diff --git a/docs/guides/minimum_hardware_requirements.uk.md b/docs/guides/minimum_hardware_requirements.uk.md
new file mode 100644
index 0000000000..e9b1805695
--- /dev/null
+++ b/docs/guides/minimum_hardware_requirements.uk.md
@@ -0,0 +1,126 @@
+# Rocky Linux 10 (Red Quartz) – Мінімальні вимоги до обладнання
+
+Rocky Linux 10 розроблений для забезпечення стабільності корпоративного рівня та сумісності з сучасним обладнанням. Ці мінімальні специфікації застосовуються до **мінімальних установок сервера**. Для графічного інтерфейсу або робочого середовища рекомендуються вищі специфікації.
+
+---
+
+## ✅ Підтримувані архітектури процесорів
+
+Згідно з примітками до випуску Rocky Linux 10.0, Rocky Linux 10 офіційно підтримує такі архітектури:
+
+- **x86_64-v3** (Intel/AMD 64-bit CPUs з підтримкою щонайменше Haswell або еквівалентної AVX)
+- **aarch64** (ARMv8-A 64-bit)
+- **ppc64le** (IBM Power, Little Endian)
+- **s390x** (IBM Z mainframes)
+- **riscv64** (RISC‑V 64-bit)
+
+### ⚠️ Вимоги до функцій процесора
+
+- **x86_64-v3** вимагає AVX, AVX2, BMI1/2, FMA тощо, що відповідають Intel Haswell або пізнішої версії, або AMD Excavator або новішої.
+- Старіші версії x86_64 (v1/v2) **не підтримуються**, якщо їх не перебудовують групи підтримки спільноти.
+
+---
+
+## 🧠 CPU (Processor)
+
+- **1 ГГц 64-розрядний (x86_64‑v3)** або еквівалентний для інших архітектур
+- Багатоядерні процесори, рекомендовані для використання на серверах, настільних комп'ютерах або у віртуалізації
+
+---
+
+## 💾 Memory (RAM)
+
+- Мінімум **2 ГБ** (встановлення в текстовому режимі)
+- Для встановлення з графічним інтерфейсом рекомендовано **4 ГБ+**
+- **4–8 ГБ+** для виробничих навантажень або віртуалізації
+
+---
+
+## 💽 Storage
+
+- Мінімальний дисковий простір **10 ГБ**
+- **Рекомендовано 20 ГБ+** для розміщення оновлень, журналів, програм
+- Для графічного інтерфейсу: **40 ГБ+** для забезпечення достатнього простору
+
+---
+
+## 🌐 Network
+
+- Принаймні один функціональний адаптер Ethernet або бездротової мережі
+- Підтримує налаштування DHCP або статичної IP-адреси через NetworkManager
+
+---
+
+## 🖥️ Display (for GUI installations)
+
+- Мінімальна роздільна здатність **1024×768** через VGA, HDMI або DisplayPort
+- Не потрібно для мінімальних встановлень сервера
+
+---
+
+## 📀 Media Access
+
+- USB-порт (для інсталятора Live USB) або DVD-привід
+- Хмарні інсталяції підтримують інсталяції на основі ISO або PXE
+
+---
+
+## 🔒 Firmware
+
+- Підтримується завантаження з UEFI або BIOS; **рекомендовано UEFI**
+- Підтримка безпечного завантаження (може знадобитися ручна реєстрація ключа)
+
+---
+
+## 🗃️ Virtualization Support
+
+- Підтримка віртуальних середовищ (KVM, VMware, VirtualBox, Hyper-V)
+- Для оптимізації продуктивності рекомендовані гостьові інструменти (наприклад, open-vm-tools, qemu-guest-agent)
+
+---
+
+## 📝 Summary Table
+
+| Компоненти | Мінімальні вимоги |
+| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- |
+| **CPU** | 1 ГГц 64-бітний (з підтримкою AVX x86_64-v3) або еквівалентний для ARM/POWER/Z/RISC-V |
+| **RAM** | 1 GB (2 GB for GUI) |
+| **Disk Space** | 10 GB (20 GB+ recommended; 40 GB+ for GUI) |
+| **Network** | Ethernet або бездротовий адаптер |
+| **Display** | 1024×768 capable (only for GUI) |
+| **Media Access** | USB або DVD-ROM |
+| **Firmware** | UEFI/BIOS (рекомендовано UEFI); Secure Boot (опціонально) |
+
+---
+
+## 🎯 Рекомендовані характеристики за варіантами використання
+
+### 🏗️ Мінімальний сервер
+
+- CPU: 1 core x86_64-v3 (або ARM/POWER/Z/RISC‑V)
+- RAM: 1 GB
+- Storage: 10–20 GB
+
+### 🖥️ Desktop with GUI
+
+- CPU: 2+ cores x86_64-v3 (або схожий)
+- RAM: 2–4 GB
+- Storage: 20–40 GB
+
+### 🛠️ Development/Production Server
+
+- CPU: 4+ cores
+- RAM: 4–8 GB+
+- Storage: 40 GB+ (на основі потреб у робочому навантаженні)
+
+---
+
+## 🧩 Примітки
+
+- Завжди виділяйте додаткове сховище для журналів, оновлень пакетів та резервних копій.
+- Для хмари або віртуалізації оберіть типи екземплярів, які відповідають або перевищують наведені вище специфікації.
+- Оновлення з попередніх версій Rocky (наприклад, 8 або 9) до Rocky 10 не підтримуються — **потрібна чиста інсталяція**.
+
+---
+
+**Останнє оновлення**: червень 2025 р. **Стосується**: початкового випуску Rocky Linux 10.0
diff --git a/docs/guides/mirror_management/add_mirror_manager.fr.md b/docs/guides/mirror_management/add_mirror_manager.fr.md
index be3b19bcf5..4cafd975a0 100644
--- a/docs/guides/mirror_management/add_mirror_manager.fr.md
+++ b/docs/guides/mirror_management/add_mirror_manager.fr.md
@@ -1,5 +1,5 @@
---
-title: Ajout d'un Rocky Mirror
+title: Ajout d'un Miroir Rocky Linux
contributors: Amin Vakil, Steven Spencer, Ganna Zhyrnova
---
@@ -11,17 +11,17 @@ Nous accueillons volontiers de nouveaux miroirs publics. Mais ils devraient êtr
Veuillez ne pas soumettre de miroirs qui sont hébergés dans un Anycast-CDN comme Cloudflare, etc., car cela peut conduire à des performances sous-optimales avec la sélection du miroir le plus rapide dans `dnf`.
-Veuillez noter que nous ne sommes pas autorisés à accepter les miroirs publics dans les pays soumis à la réglementation des États-Unis en matière d'exportation. Vous pouvez trouver une liste de ces pays ici : [https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations](https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations)
+Veuillez noter que nous ne sommes pas autorisés à accepter les miroirs publics dans les pays soumis à la réglementation des États-Unis en matière d'exportation. Vous trouverez une liste de ces pays ici :
À partir de fin 2022 (date de cet article), l'espace de stockage requis pour accueillir toutes les versions actuelles et anciennes de Rocky Linux est d'environ 2 Téraoctets.
-Notre miroir principal est `rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/`. Pour votre première synchronisation, utilisez un miroir près de chez vous. Vous trouverez tous les sites miroirs [ici](https://mirrors.rockylinux.org).
+Notre miroir principal est `rsync://msync.rockylinux.org/rocky-linux`. Pour votre première synchronisation, utilisez un miroir près de chez vous. Vous trouverez tous les sites miroirs [ici](https://mirrors.rockylinux.org).
Veuillez noter que nous pourrions restreindre l'accès au miroir principal officiel aux miroirs publics officiels à l'avenir. Alors s'il vous plaît envisagez `de resynchroniser` depuis un miroir public près de chez vous si vous utilisez un miroir privé. La synchronisation à partir de miroirs locaux devrait également être plus efficace.
## Configuration de votre Miroir
-Veuillez configurer une tâche cron pour synchroniser votre miroir périodiquement et le laisser tourner environ 6 fois par jour. Mais assurez-vous de synchroniser l'heure avec un délai aléatoire pour aider à répartir la charge au fil du temps. Si vous ne vérifiez que les modifications de `fullfiletimelist-rocky` et faites une synchronisation complète que si ce fichier a changé, vous pouvez synchroniser toutes les heures.
+Veuillez configurer une tâche cron pour synchroniser votre miroir périodiquement et le laisser tourner environ 6 fois par jour. Mais assurez-vous de synchroniser l'heure avec un délai aléatoire pour aider à répartir la charge au fil du temps. Si vous surveillez seulement les modifications apportées à `fullfiletimelist-rocky` et que vous effectuez une synchronisation complète uniquement si ce fichier a changé, vous pouvez effectuer une synchronisation toutes les heures.
Voici quelques exemples de crontab pour vous :
@@ -63,9 +63,9 @@ Rocky utilise 'Fedora's Mirror Manager' pour organiser des miroirs communautaire
Accédez au gestionnaire de miroir de Rocky Linux ici :
-Après une connexion réussie, votre profil apparaîtra en haut à droite. Sélectionnez le menu déroulant puis cliquez sur "My sites".
+Après une connexion réussie, votre profil apparaîtra en haut à droite. Sélectionnez la liste déroulante puis cliquez sur `My sites`.
-Une nouvelle page affichera la liste de tous les sites sous les données du compte. La première fois, elle sera vide. Cliquez sur "Enregistrer un nouveau site".
+Une nouvelle page affichera la liste de tous les sites sous les données du compte. La première fois, elle sera vide. Cliquez sur `Register a new site`.
Une nouvelle page chargera avec une importante déclaration de conformité d'exportation. Remplissez ensuite les informations suivantes :
@@ -77,15 +77,15 @@ Une nouvelle page chargera avec une importante déclaration de conformité d'exp
- "All sites can pull from me?" - Permet à tous les sites miroirs de faire un pull du site sans les ajouter explicitement à ma liste.
- "Comments for downstream siteadmins. Please include your synchronization source here to avoid dependency loops."
-En cliquant sur "Submit", vous serez renvoyé à la page principale du miroir.
+En cliquant sur `Submit`, vous serez renvoyé à la page principale du miroir.
## Configuration du Site
-À partir de la page principale du miroir, sélectionnez la liste déroulante, puis cliquez sur "Mes sites".
+Sélectionnez le menu déroulant de la page miroir principale, puis cliquez sur `My sites`.
La page du site du compte se chargera et le site devrait être listé. Cliquez dessus pour accéder au site d'information.
-Toutes les options de la dernière section sont listées à nouveau. Au bas de la page se trouvent trois nouvelles options : Admins, Hôtes et Supprimer le site. Cliquez sur "Hosts [add]".
+Toutes les options de la dernière section sont listées à nouveau. Au bas de la page se trouvent trois nouvelles options : Admins, Hôtes et Supprimer le site. Cliquez sur `Hosts [add]`.
## Création d'un nouvel Hôte
diff --git a/docs/guides/mirror_management/add_mirror_manager.it.md b/docs/guides/mirror_management/add_mirror_manager.it.md
index 2125b8449b..55c0e250cd 100644
--- a/docs/guides/mirror_management/add_mirror_manager.it.md
+++ b/docs/guides/mirror_management/add_mirror_manager.it.md
@@ -15,7 +15,7 @@ Si ricorda che non è possibile accettare mirror pubblici in paesi soggetti alle
Al momento in cui scriviamo (fine 2022), lo spazio di archiviazione richiesto per il mirroring di tutte le versioni attuali e passate di Rocky Linux è di circa 2 TB.
-Il nostro mirror master è `rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/`. Per la prima sincronizzazione utilizzate un mirror vicino a voi. Potete trovare tutti i mirror ufficiali [qui](https://mirrors.rockylinux.org).
+Il nostro mirror principale è `rsync://msync.rockylinux.org/rocky-linux`. Per la prima sincronizzazione utilizzate un mirror vicino a voi. Potete trovare tutti i mirror ufficiali [qui](https://mirrors.rockylinux.org).
Si noti che in futuro potremmo limitare l'accesso al master mirror ufficiale ai mirror pubblici ufficiali. Per questo motivo, se gestite un mirror privato, prendete in considerazione l'opzione `rsyncing` da un mirror pubblico vicino a voi. Inoltre i mirror locali potrebbero essere più veloci da sincronizzare.
diff --git a/docs/guides/mirror_management/add_mirror_manager.md b/docs/guides/mirror_management/add_mirror_manager.md
index f5c5824415..fef5281f8c 100644
--- a/docs/guides/mirror_management/add_mirror_manager.md
+++ b/docs/guides/mirror_management/add_mirror_manager.md
@@ -15,7 +15,7 @@ Please note that we cannot accept public mirrors in countries subject to US expo
As of this writing (late 2022), storage space requirements for mirroring all current and past Rocky Linux releases is about 2 TB.
-Our master mirror is `rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/`.
+Our master mirror is `rsync://msync.rockylinux.org/rocky-linux`.
For your first synchronization use a mirror near to you. You can find all official mirrors [here](https://mirrors.rockylinux.org).
Please note that we might restrict access to the official master mirror to official public mirrors in the future. So please consider `rsyncing` from a public mirror close to you if you are running a private mirror. Also local mirrors might be faster to sync from.
diff --git a/docs/guides/mirror_management/add_mirror_manager.uk.md b/docs/guides/mirror_management/add_mirror_manager.uk.md
index b9af844a11..838d14d58e 100644
--- a/docs/guides/mirror_management/add_mirror_manager.uk.md
+++ b/docs/guides/mirror_management/add_mirror_manager.uk.md
@@ -15,7 +15,7 @@ contributors: Amin Vakil, Steven Spencer, Ganna Zhyrnova
На момент написання цієї статті (кінець 2022 року) вимоги до пам’яті для віддзеркалення всіх поточних і минулих випусків Rocky Linux становлять близько 2 ТБ.
-Наше головне дзеркало — `rsync://msync.rockylinux.org/rocky/mirror/pub/rocky/`. Для першої синхронізації використовуйте дзеркало поблизу. Ви можете знайти всі офіційні дзеркала [тут](https://mirrors.rockylinux.org).
+Наше головне дзеркало — `rsync://msync.rockylinux.org/rocky-linux`. Для першої синхронізації використовуйте дзеркало поблизу. Ви можете знайти всі офіційні дзеркала [тут](https://mirrors.rockylinux.org).
Будь ласка, зверніть увагу, що ми можемо обмежити доступ до офіційного головного дзеркала офіційними публічними дзеркалами. Тому, якщо ви використовуєте приватне дзеркало, подумайте про `rsyncing` із публічного дзеркала, розташованого поблизу. Крім того, локальні дзеркала можуть швидше синхронізуватися.
diff --git a/docs/guides/network/accel-ppp_pppoe_server.fr.md b/docs/guides/network/accel-ppp_pppoe_server.fr.md
index 39ac9fb08f..e44c222a7b 100644
--- a/docs/guides/network/accel-ppp_pppoe_server.fr.md
+++ b/docs/guides/network/accel-ppp_pppoe_server.fr.md
@@ -1,7 +1,7 @@
---
title: accel-ppp – Serveur PPPoE
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- réseau
diff --git a/docs/guides/network/accel-ppp_pppoe_server.it.md b/docs/guides/network/accel-ppp_pppoe_server.it.md
new file mode 100644
index 0000000000..d29709e9b2
--- /dev/null
+++ b/docs/guides/network/accel-ppp_pppoe_server.it.md
@@ -0,0 +1,121 @@
+---
+title: accel-ppp PPPoE Server
+author: Neel Chauhan
+contributors:
+tested_with: 9.3
+tags:
+ - network
+---
+
+# accel-ppp PPPoE Server
+
+## Introduzione
+
+Il PPPoE è un protocollo utilizzato principalmente dagli ISP DSL e fiber-to-the-home in cui i clienti vengono autenticati con una combinazione di nome utente e password. Il PPPoE è utilizzato nei Paesi in cui un ISP storico deve condividere la propria rete con altri ISP, in quanto i clienti possono essere indirizzati all'ISP desiderato tramite un nome di dominio.
+
+[accel-ppp](https://accel-ppp.org/) è un'implementazione accelerata del kernel Linux di PPPoE e dei protocolli correlati come PPTP, L2TP e altri.
+
+## Prerequisiti
+
+- Un server con due interfacce di rete
+- Un router o un computer client che utilizza il protocollo PPPoE
+
+## Installare accel-ppp
+
+Per prima cosa installare EPEL:
+
+```bash
+dnf install -y epel-release
+```
+
+Successivamente, installare accel-ppp:
+
+```bash
+dnf install -y accel-ppp
+```
+
+## Impostare accel-ppp
+
+Per prima cosa, dobbiamo abilitare il forwarding IP:
+
+```bash
+echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
+sysctl -p
+```
+
+Quindi, aggiungere quanto segue a `/etc/accel-ppp.conf`:
+
+```bash
+[modules]
+log_file
+pppoe
+auth_mschap_v2
+auth_mschap_v1
+auth_chap_md5
+auth_pap
+chap-secrets
+ippool
+
+[core]
+log-error=/var/log/accel-ppp/core.log
+thread-count=4
+
+[ppp]
+ipv4=require
+
+[pppoe]
+interface=YOUR_INTERFACE
+
+[dns]
+dns1=YOUR_DNS1
+dns2=YOUR_DNS2
+
+[ip-pool]
+gw-ip-address=YOUR_GW
+YOUR_IP_RANGE
+
+[chap-secrets]
+gw-ip-address=YOUR_GW
+chap-secrets=/etc/chap-secrets
+```
+
+Cambiare le seguenti impostazioni:
+
+- **YOUR_INTERFACE** con l'interfaccia in ascolto per i client PPPoE.
+- **YOUR_DNS1** e **YOUR_DNS2** con i server DNS da distribuire ai client.
+- **YOUR_GW** è l'indirizzo IP del server per i client PPPoE. Questo **deve** essere diverso dall'indirizzo IP del server rivolto alla WAN o dal gateway predefinito.
+- **YOUR_IP_RANGE** con gli intervalli IP da distribuire ai clienti. Può essere un intervallo IP come X.X.X.Y-Z o in formato CDIR come X.X.X.X/MASK.
+
+Successivamente, aggiungiamo un file “barebones” `/etc/chap-secrets`:
+
+```bash
+user * password *
+```
+
+È possibile aggiungere altri utenti con altre righe, sostituendo `user` e `password` con il nome utente e la password desiderati.
+
+## Configurazione di un client PPPoE
+
+Una volta configurato il server PPPoE, si può iniziare ad aggiungere i client PPPoE. All'autore piace usare [MikroTik CHR](https://help.mikrotik.com/docs/display/ROS/Cloud+Hosted+Router%2C+CHR) come client PPPoE di prova, quindi useremo quello.
+
+Una volta installato MikroTik CHR su un sistema collegato alla stessa rete Ethernet dell'interfaccia di ascolto del server PPPoE, configureremo PPPoE:
+
+```bash
+[admin@MikroTik] > /interface pppoe-client
+[admin@MikroTik] > add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 \
+ password=password user=user
+```
+
+Se tutto funziona correttamente, dovremmo ottenere un indirizzo IPv4:
+
+```bash
+[admin@MikroTik] > /ip/address/print
+Flags: D - DYNAMIC
+Columns: ADDRESS, NETWORK, INTERFACE
+# ADDRESS NETWORK INTERFACE
+0 D 10.0.0.1/32 10.0.0.0 pppoe-out1
+```
+
+## Conclusione
+
+Il PPPoE viene spesso malvisto ed è facile capire perché: è necessario configurare manualmente nomi utente e password. Ciononostante, consente di garantire la sicurezza quando ci si connette a un dominio di broadcast Layer 2 in scenari ISP in cui la richiesta di 802.1X o MACsec non sarebbe auspicabile, ad esempio per consentire l'utilizzo di router di proprietà del cliente o di indirizzi IP statici. E ora avete il vostro mini-ISP, congratulazioni!
diff --git a/docs/guides/network/accel-ppp_pppoe_server.uk.md b/docs/guides/network/accel-ppp_pppoe_server.uk.md
index ad480685da..9244edb580 100644
--- a/docs/guides/network/accel-ppp_pppoe_server.uk.md
+++ b/docs/guides/network/accel-ppp_pppoe_server.uk.md
@@ -1,7 +1,7 @@
---
title: accel-ppp PPPoE Server
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- мережа
diff --git a/docs/guides/network/basic_network_configuration.it.md b/docs/guides/network/basic_network_configuration.it.md
index 1f1031f507..68b30181a1 100644
--- a/docs/guides/network/basic_network_configuration.it.md
+++ b/docs/guides/network/basic_network_configuration.it.md
@@ -14,9 +14,9 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
## Prerequisiti
-* Una certa comodità nell'operare dalla riga di comando
-* Privilegi elevati o amministrativi sul sistema (per esempio root, `sudo` e così via)
-* Opzionale: familiarità con i concetti di rete
+- Una certa comodità nell'operare dalla riga di comando
+- Privilegi elevati o amministrativi sul sistema (per esempio root, `sudo` e così via)
+- Opzionale: familiarità con i concetti di rete
=== "9"
@@ -26,9 +26,9 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
## Prerequisiti
- * Una certa dimestichezza nell'operare dalla riga di comando
- * Privilegi elevati o amministrativi sul sistema (per esempio root, `sudo` e così via)
- * Opzionale: familiarità con i concetti di rete
+ - Una certa dimestichezza nell'operare dalla riga di comando
+ - Privilegi elevati o amministrativi sul sistema (per esempio root, `sudo` e così via)
+ - Opzionale: familiarità con i concetti di rete
## Usare il servizio NetworkManager
@@ -106,7 +106,7 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
Lo schema di configurazione IP statico è molto diffuso nei sistemi o nelle reti di tipo server.
- L'approccio IP dinamico è molto diffuso nelle reti domestiche e di ufficio o nei sistemi di classe workstation e desktop in ambiente aziendale. Lo schema dinamico di solito necessita di _qualcosa_ in più che sia disponibile localmente e che possa fornire le informazioni di configurazione IP corrette alle workstation e ai desktop richiedenti. Questo _qualcosa_ si chiama Dynamic Host Configuration Protocol (DHCP). In una rete domestica, e anche nella maggior parte delle reti aziendali, questo servizio è fornito da un server DHCP configurato allo scopo. Può trattarsi di un server separato o di una parte della configurazione del router.
+ L'approccio IP dinamico è molto diffuso nelle reti domestiche e di ufficio o nei sistemi di classe workstation e desktop in ambiente aziendale. Lo schema dinamico di solito richiede *qualcosa* di aggiuntivo che sia disponibile localmente e che possa fornire informazioni di configurazione IP adeguate alle workstation e ai desktop che ne fanno richiesta. Questo *qualcosa* si chiama Dynamic Host Configuration Protocol (DHCP). In una rete domestica, e anche nella maggior parte delle reti aziendali, questo servizio è fornito da un server DHCP configurato allo scopo. Può trattarsi di un server separato o di una parte della configurazione del router.
## Indirizzi IP
@@ -117,25 +117,25 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d

- 2. È già presente la selezione "Edit a connection", quindi premere il tasto TAB in modo da evidenziare "OK" e premere INVIO
+ 2. È già presente la selezione "Modifica una connessione", quindi premete il tasto ++tab++ in modo da evidenziare "OK" e premete ++enter++
- 3. Verrà visualizzata una schermata che mostra le connessioni Ethernet della macchina e consentirà di sceglierne una. Nel nostro caso, ce n'è *SOLO* uno, quindi è già evidenziato; dobbiamo semplicemente premere il tasto TAB finché non viene evidenziato "Edit" e poi premere INVIO
+ 3. Verrà visualizzata una schermata che mostra le connessioni Ethernet della macchina e consentirà di sceglierne una. Nel nostro caso, ce n'è *solo uno*, quindi è già evidenziato, dobbiamo semplicemente premere il tasto ++tab++ finché non viene evidenziato "Modifica" e poi premere ++enter++

- 4. Una volta fatto questo, ci troveremo nella schermata che mostra la nostra configurazione attuale. Occorre passare da " Manual " a " Automatic ", quindi premere più volte il tasto TAB fino a evidenziare " Manual " e poi premere INVIO.
+ 4. Una volta fatto questo, ci troveremo nella schermata che mostra la nostra configurazione attuale. È necessario passare da "Manuale" ad "Automatico", quindi premere più volte il tasto ++tab++ fino ad evidenziare "Manuale" e premere ++enter++.

- 5. La freccia verso l'alto fino a evidenziare " Automatic" e quindi premere INVIO
+ 5. La freccia verso l'alto fino a evidenziare "Automatico", quindi premere ++enter++

- 6. Una volta che l'interfaccia è passata ad "Automatic", è necessario rimuovere l'IP assegnato staticamente, quindi premere il tasto TAB fino a evidenziare "Remove"accanto all'indirizzo IP e premere INVIO.
+ 6. Una volta che l'interfaccia è passata ad "Automatico", è necessario rimuovere l'IP assegnato staticamente, quindi premere il tasto ++tab++ finché non viene evidenziato "Rimuovi" accanto all'indirizzo IP e premere ++enter++.

- 7. Infine, premete più volte il tasto TAB finché non arrivate in fondo alla schermata `nmtui` e non viene evidenziato "OK" e premete INVIO
+ 7. Infine, premete più volte il tasto ++tab++ finché non arrivate in fondo alla schermata `nmtui` e non viene evidenziato "OK" e premete ++enter++
È possibile disattivare e riattivare l'interfaccia anche con `nmtui`, ma facciamo questo con `nmcli`. In questo modo è possibile regolare la disattivazione dell'interfaccia e la sua riattivazione, in modo che l'interfaccia non sia mai inattiva per molto tempo:
@@ -148,7 +148,7 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
Per verificare che abbia funzionato, controllate con il comando `ip addr` o con il comando `nmcli device show enp0s3` che abbiamo usato in precedenza.
```
- ip addr
+ ip_addr
```
In caso di successo, si dovrebbe vedere che l'IP statico è stato rimosso e che è stato aggiunto un indirizzo allocato dinamicamente, come in questo caso:
@@ -169,10 +169,10 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
Prima di iniziare, è necessario sapere che per riconfigurare l'interfaccia in DHCP è necessario:
- * Rimuovere il gateway IPv4
- * Rimuovere l'indirizzo IPv4 assegnato staticamente
- * Cambiare il metodo IPv4 in automatico
- * Disattivare e riattivare l'interfaccia
+ - Rimuovere il gateway IPv4
+ - Rimuovere l'indirizzo IPv4 assegnato staticamente
+ - Cambiare il metodo IPv4 in automatico
+ - Disattivare e riattivare l'interfaccia
Si noti anche che non stiamo usando esempi che dicono di usare -ipv4.address ecc. Questi non cambiano completamente l'interfaccia. Per farlo, è necessario impostare ipv4.address e ipv4.gateway su una stringa vuota. Anche in questo caso, per risparmiare il più possibile tempo con il nostro comando, li uniremo tutti in un'unica riga:
@@ -217,10 +217,10 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
In questo esempio, assumeremo i seguenti parametri:
- * nome dell'interfaccia: enp0s3
- * indirizzo ip: 192.168.1.151
- * maschera di sottorete: 24
- * gateway: 192.168.1.1
+ - nome dell'interfaccia: enp0s3
+ - indirizzo ip: 192.168.1.151
+ - maschera di sottorete: 24
+ - gateway: 192.168.1.1
### Ottenere informazioni di carattere generale
@@ -332,7 +332,7 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
64 bytes from 192.168.1.10: icmp_seq=3 ttl=255 time=0.676 ms
```
- Eseguire un test per verificare che venga visualizzato un host raggiungibile esterno alla rete. Per il test che segue, utilizziamo il server DNS aperto di Google:
+ Eseguire un test per assicurarsi di poter vedere un host raggiungibile esterno alla rete. Per il test che segue, utilizziamo il server DNS aperto di Google:
```bash
ping -c3 8.8.8.8
@@ -359,7 +359,7 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
```
- ## Conclusioni
+ ## Conclusione
In Rocky Linux 9 sono state apportate molte modifiche allo stack di rete. Tra queste c'è la priorità dei `keyfile` rispetto ai file `ifcfg` usati in precedenza e presenti in Network-Scripts. Poiché la direzione del cambiamento nelle future versioni di Rocky Linux prevede la deprecazione e la rimozione degli script di rete, è meglio concentrare l'attenzione su metodologie come `nmcli`, `nmtui` e, in alcuni casi, `ip`, per la configurazione della rete.
@@ -410,7 +410,7 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
Lo schema di configurazione IP statico è molto diffuso nei sistemi o nelle reti di tipo server.
- L'approccio IP dinamico è molto diffuso nelle reti domestiche e di ufficio o nei sistemi di classe workstation e desktop. Lo schema dinamico di solito necessita di qualcosa di aggiuntivo, disponibile localmente, in grado di fornire le informazioni di configurazione IP corrette alle workstation e ai desktop che ne fanno richiesta. Questo _qualcosa_ si chiama Dynamic Host Configuration Protocol (DHCP).
+ L'approccio IP dinamico è molto diffuso nelle reti domestiche e di ufficio o nei sistemi di classe workstation e desktop. Lo schema dinamico di solito richiede *qualcosa* di aggiuntivo disponibile localmente che possa fornire informazioni di configurazione IP adeguate alle workstation e ai desktop che ne fanno richiesta. Questo *qualcosa* si chiama Dynamic Host Configuration Protocol (DHCP).
Gli utenti di casa o dell'ufficio spesso non devono preoccuparsi del DHCP. Questo perché qualcosa di diverso se ne occupa automaticamente in background. L'utente finale deve connettersi fisicamente o in modalità wireless alla rete giusta (e naturalmente assicurarsi che i suoi sistemi siano accesi)!
@@ -511,8 +511,8 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
Ad esempio, possiamo vedere che il metodo `ipv4.method` qui è attualmente impostato su `auto`. Ci sono molti valori consentiti per l'impostazione `ipv4.method`, ma i due principali che molto probabilmente si vedranno sono:
- * `auto`: per l'interfaccia viene utilizzato il metodo automatico appropriato (DHCP, PPP, ecc.) e la maggior parte delle altre proprietà possono essere lasciate non impostate.
- * `manual`: viene utilizzato un indirizzamento IP statico e almeno un indirizzo IP deve essere indicato nella proprietà 'addresses'.
+ - `auto`: per l'interfaccia viene utilizzato il metodo automatico appropriato (DHCP, PPP, ecc.) e la maggior parte delle altre proprietà possono essere lasciate non impostate.
+ - `manual`: viene utilizzato un indirizzamento IP statico e almeno un indirizzo IP deve essere indicato nella proprietà 'addresses'.
Se invece si desidera configurare il sistema in modo che utilizzi uno schema di indirizzi IP statici, è necessario modificare il valore di `ipv4.method` in `manual` e specificare anche `ipv4.gateway` e `ipv4.addresses`.
@@ -572,10 +572,10 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
In questo esempio, assumeremo i seguenti parametri:
- * nome dell'interfaccia: ens19
- * indirizzo ip: 192.168.20.10
- * maschera di sottorete: 24
- * gateway: 192.168.20.254
+ - nome dell'interfaccia: ens19
+ - indirizzo ip: 192.168.20.10
+ - maschera di sottorete: 24
+ - gateway: 192.168.20.254
### Ottenere informazioni di carattere generale
@@ -588,8 +588,8 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
!!! hint "**"Suggerimenti professionali:**"
- * usare il flag `-c` per ottenere un output colorato più leggibile: `ip -c a`.
- * `ip` accetta l'abbreviazione quindi `ip a`, `ip addr` e `ip address` sono equivalenti
+ - usare il flag `-c` per ottenere un output colorato più leggibile: `ip -c a`.
+ - `ip` accetta l'abbreviazione quindi `ip a`, `ip addr` e `ip address` sono equivalenti
### Portare l'interfaccia su o giù
@@ -719,6 +719,6 @@ Al giorno d'oggi non si può fare molto con un computer senza la connettività d
```
- ## Conclusioni
+ ## Conclusione
Rocky Linux 8 dispone degli strumenti per configurare la rete dalla riga di comando. Questo documento dovrebbe consentirvi di utilizzare rapidamente questi strumenti.
diff --git a/docs/guides/network/glances_network_monitoring.it.md b/docs/guides/network/glances_network_monitoring.it.md
new file mode 100644
index 0000000000..cc24cd438b
--- /dev/null
+++ b/docs/guides/network/glances_network_monitoring.it.md
@@ -0,0 +1,220 @@
+---
+title: Monitoraggio della rete e delle risorse con Glances
+author: Alex Zolotarov
+contributors: Steven Spencer
+tested_with: 9.0
+tags:
+ - monitoring
+ - network
+---
+
+# Introduzione
+
+Questa guida vi mostrerà come impostare un **monitoraggio della rete o delle risorse** decente, con il minimo sforzo.
+Dal punto di vista dell'autore, Glances è simile a `vim` nel mondo degli strumenti di monitoraggio.
+
+## Riguardo a Glances
+
+Glances è uno strumento di monitoraggio open source multipiattaforma.
+Consente il monitoraggio in tempo reale di vari aspetti del sistema, come CPU, memoria, disco, utilizzo della rete e altro ancora.
+Consente inoltre di monitorare i processi in esecuzione, gli utenti registrati, le temperature, le tensioni, le velocità delle ventole e così via.
+Supporta inoltre il monitoraggio dei container e diversi sistemi di gestione dei container, come Docker e LXC.
+Una dashboard presenta le informazioni in modo facile da leggere e può anche eseguire il monitoraggio remoto dei sistemi tramite un'interfaccia web o a riga di comando.
+È facile da installare e da usare ed è personalizzabile per mostrare solo le informazioni che interessano.
+
+## Prerequisiti
+
+- Un server o container
+- Privilegi di root
+- Il repository EPEL installato
+
+## Installazione dei Pacchetti
+
+**Prima di tutto, installare il repository EPEL (Extra Packages for Enterprise Linux):**
+
+```bash
+dnf install -y epel-release
+```
+
+Quindi, installare **Glances**
+
+```bash
+dnf install -y glances
+```
+
+Ora è possibile monitorare tutto ciò di cui si ha bisogno.
+
+Digitare `glances` per avviare glances.
+
+## Interfaccia Web
+
+È possibile accedere a glance anche con un browser web, basta passare la flag `-w`:
+
+```bash
+glances -w
+```
+
+Una volta inviato, si vedrà:
+
+```bash
+Glances Web User Interface started on http://0.0.0.0:61208/
+```
+
+È possibile accedervi con un indirizzo IP o semplicemente con un reverse proxy al nome di dominio.
+
+## Che aspetto ha Glances
+
+Per impostazione predefinita, è possibile vedere tutte le interfacce di rete, la media del carico, i grafici del carico, i contenitori, gli avvisi e i processi.
+
+
+
+## Comandi interattivi
+
+**Il potenziale di Glances è nelle sue scorciatoie, in quanto nasconde molte metriche di rete per impostazione predefinita.**
+
+I seguenti comandi (tasto premuto) sono supportati in Glances:
+
+- \++enter++ : Impostazione del process filter
+
+!!! NOTE
+
+```
+Su macOS, usare ++ctrl+h++ per eliminare il filtro.
+```
+
+Il filtro è un modello di espressione regolare:
+
+- `gnome`: corrisponde a tutti i processi che iniziano con la stringa `gnome`.
+
+- `.*gnome.*`: corrisponde a tutti i processi contenenti la stringa `gnome`.
+
+- \++“a”++, ordinamento automatico dell'elenco dei processi
+
+- Se CPU `>70%`, ordinare i processi in base all'utilizzo della CPU
+
+- Se MEM `>70%`, ordinare i processi in base all'utilizzo della MEM
+
+- Se l'iowait della CPU è `>60%`, ordinare i processi per I/O in lettura e scrittura
+
+- \++a++, attivare o disattivare il processo di monitoraggio delle applicazioni.
+
+- \++“b”++, commutazione tra bit/s o Byte/s per l'I/O di rete
+
+- \++b++, View disk I/O counters per second
+
+- \++“c”++, ordinamento dei processi in base all'utilizzo della CPU
+
+- \++c++, Abilitare o disabilitare le statistiche del cloud
+
+- \++“d”++, Mostra o nasconde le statistiche di I/O del disco
+
+- \++d++, Abilita o disabilita le statistiche di Docker
+
+- \++“e”++, Abilitazione o disabilitazione delle statistiche estese
+
+- \++e++, cancellare il filtro del processo corrente
+
+- \++“f”++, Mostra o nascondi le statistiche di monitoraggio del sistema e delle cartelle
+
+- \++f++, passa dal file system usato allo spazio libero
+
+- \++“g”++, generazione di grafici per la cronologia corrente
+
+- \++g++, Abilita o disabilita le statistiche della GPU
+
+- \++"h"++, Mostra o nasconde la schermata di aiuto
+
+- \++“i”++, ordinamento dei processi in base alla velocità di I/O
+
+- \++i++, mostra o nasconde il modulo IP
+
+- `+`, Aumentare il livello di priorità del processo selezionato / Ridurre la priorità (richiede diritti di amministratore) - Solo in modalità standalone.
+
+- `-`, Decrementare il livello di priorità del processo selezionato / Aumenta la priorità (richiede diritti di amministratore) - Solo in modalità standalone.
+
+- \++“k”++, Termina il processo selezionato (richiede diritti di amministratore) - Solo in modalità standalone.
+
+- \++k++, Mostra o nasconde la connessione TCP
+
+- \++“l”++, mostra o nasconde i messaggi di log
+
+- \++“m”++, ordinamento dei processi in base all'utilizzo della MEM
+
+- \++m++, Azzeramento del riepilogo dei processi min/max
+
+- \++“n”++, mostra o nasconde le statistiche di rete
+
+- \++n++, Mostra o nasconde l'ora corrente
+
+- \++“p”++, ordinamento dei processi per nome
+
+- \++p++, Abilita o disabilita le statistiche delle porte
+
+- \++“q”++ o ++esc++ o ++ctrl+c++, chiude la sessione corrente di Glances
+
+- \++q++, Mostra o nasconde il modulo IRQ
+
+- \++“r”++, Azzeramento della cronologia
+
+- \++r++, Mostra o nasconde il plugin RAID
+
+- \++“s”++, Mostra o nasconde le statistiche dei sensori
+
+- \++s++, Abilita o disabilita le spark lines
+
+- \++“t”++, ordinamento dei processi per tempi di CPU (TIME+)
+
+- \++t++, considerare l'I/O di rete come una combinazione
+
+- \++“u”++, Ordina i processi per UTENTE
+
+- \++u++, Visualizzazione dell'I/O di rete cumulativo
+
+- \++“w”++, eliminare i messaggi di log di avviso terminati
+
+- \++w++, mostra o nasconde il modulo Wifi
+
+- \++“x”++, Eliminazione dei messaggi di log critici e di avvertimento terminati
+
+- \++“z”++, Mostra o nascondi le statistiche dei processi
+
+- \++0++, Abilita o disabilita la modalità Irix/Solaris. Divide l'utilizzo della CPU dell'attività per il numero totale di CPU.
+
+- \++1++, passare dalle statistiche globali della CPU a quelle per CPU
+
+- \++2++, Attivare o disattivare la barra laterale sinistra
+
+- \++3++, Abilita o disabilita il modulo di ricerca rapida
+
+- \++4++, Abilitare o disabilitare il modulo di ricerca e caricamento rapidi
+
+- \++5++, abilita o disabilita il menu superiore (QuickLook, CPU, MEM, SWAP e LOAD)
+
+- \++6++, Abilita o disabilita la modalità GPU media
+
+- \++9++, Commutazione dell'interfaccia utente tra bianco e nero
+
+- \++slash++, passa dalla riga di comando del processo al nome del comando.
+
+- \++f5++ o ++ctrl+“R”++, Aggiorna interfaccia utente
+
+- \++left++, Navigazione a sinistra attraverso l'ordinamento del processo
+
+- \++right++, Navigazione a destra attraverso il processo di ordinamento
+
+- \++up++, In alto nell'elenco dei processi
+
+- \++down++, Giù nell'elenco dei processi
+
+Nel browser del client Glances (accessibile tramite l'argomento della riga di comando `--browser`):
+
+- \++enter++, Eseguire il server selezionato
+- \++up++, In alto nell'elenco dei server
+- \++down++, In fondo all'elenco dei server
+- \++q++ o ++esc++, Termina Glances
+
+## Conclusione
+
+Anche se Glances non può esattamente sostituire strumenti come Grafana, è comunque un'ottima alternativa se non si ha il tempo di impostare complicati cruscotti di monitoraggio.
+È possibile distribuirlo in pochi secondi e ottenere le stesse metriche di Grafana con Prometheus.
+L'interfaccia web non è molto versatile come quella di Grafana. Se avete la possibilità di utilizzare il terminale, dovreste assolutamente farlo.
diff --git a/docs/guides/network/glances_network_monitoring.md b/docs/guides/network/glances_network_monitoring.md
index 35ab8393df..d7b1d26954 100644
--- a/docs/guides/network/glances_network_monitoring.md
+++ b/docs/guides/network/glances_network_monitoring.md
@@ -8,7 +8,11 @@ tags:
- network
---
-# Introduction
+!!! Warning "Temporary Hold"
+
+ `glances` is currently missing from the EPEL. It will probably be built. The Docs Team will continue test availability in the EPEL as time allows. For now, your only option is to build `glances` from source, and the instructions for doing that are missing here.
+
+## Introduction
This guide will show you how to setup decent **network or resource monitoring**, with minimum effort.
From the author's perspective, Glances is similar to `vim` in the world of monitoring tools.
@@ -154,6 +158,6 @@ In the Glances client browser (accessible through the `--browser` command line a
## Conclusion
-While Glances cannot exactly replace tools such as Grafana, it is still a great alternative if you do not have time to set up complicated monitoring dashboards.
+While Glances cannot exactly replace tools such as Grafana, it is still a great alternative if you do not have time to set up complicated monitoring dashboards.
You can deploy it in seconds and get the same metrics you get in Grafana with Prometheus.
-The web interface is not very versatile, like it is in Grafana. If you have the option to use the terminal, you should definitely do so.
+The web interface is not very versatile, like it is in Grafana. If you have the option to use the terminal, you should definitely do so.
diff --git a/docs/guides/network/glances_network_monitoring.uk.md b/docs/guides/network/glances_network_monitoring.uk.md
index e1fc946a0d..7bae8a683d 100644
--- a/docs/guides/network/glances_network_monitoring.uk.md
+++ b/docs/guides/network/glances_network_monitoring.uk.md
@@ -2,7 +2,7 @@
title: Моніторинг мережі та ресурсів з Glances
author: Alex Zolotarov
contributors: Steven Spencer
-tested_with: 9
+tested_with: 9.0
tags:
- моніторинг
- мережа
diff --git a/docs/guides/network/hurricane_electric_ipv6_tunnel.it.md b/docs/guides/network/hurricane_electric_ipv6_tunnel.it.md
new file mode 100644
index 0000000000..2da8504184
--- /dev/null
+++ b/docs/guides/network/hurricane_electric_ipv6_tunnel.it.md
@@ -0,0 +1,48 @@
+---
+title: Hurricane Electric IPv6 Tunnel
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.5
+tags:
+ - network
+---
+
+# Hurricane Electric IPv6 tunnel
+
+L'IPv6 non ha bisogno di presentazioni, ma per chi non lo sapesse sostituisce il più diffuso protocollo IPv4, che utilizza indirizzi esadecimali a 128 bit anziché decimali a 32 bit.
+
+[Hurricane Electric](https://he.net) è un internet service provider. Tra le diverse funzioni, Hurricane Electric utilizza il servizio gratuito [Tunnel Broker](https://tunnelbroker.net/) per fornire connettività IPv6 sulle reti solo IPv4.
+
+## Introduzione
+
+A causa dell'esaurimento dell'IPv4, è nata l'esigenza di uno spazio di indirizzamento IP ampliato sotto forma di IPv6. Tuttavia, molte reti non supportano ancora l'IPv6 a causa dell'ubiquità della Network Address Translation (NAT). Per questo motivo, Hurricane Electric offre la gestione del tunnel IPv6.
+
+## Prerequisiti
+
+- Un [tunnel Hurricane Electric IPv6 gratuito](https://tunnelbroker.net/)
+
+- Un server Rocky Linux con un indirizzo IP pubblico e un protocollo ICMP (Internet Control Message Protocol) non filtrato.
+
+## Ottenere un tunnel IPv6
+
+Per prima cosa, create un account su [tunnelbroker.net](https://tunnelbroker.net/).
+
+Quando si dispone di un account, selezionare **Create Regular Tunnel** nella barra laterale **User Functions**:
+
+
+
+Quindi inserire l'indirizzo IPv4 pubblico, selezionare la posizione dell'endpoint e fare clic su **Create Tunnel**.
+
+## Impostazione del IPv6 tunnel
+
+La buona notizia è che un tunnel IPv6 necessita di un solo comando:
+
+```bash
+nmcli connect add type ip-tunnel ifname he-sit mode sit remote IPV4_SERVER ipv4.method disabled ipv6.method manual ipv6.address IPV6_CLIENT ipv6.gateway IPV6_SERVER
+```
+
+Sostituire quanto segue con i dati del portale Hurricane Electric:
+
+- `IPV4_SERVER` con l'**indirizzo IPv4 del server**.
+- `IPV6_SERVER` con l'**indirizzo IPv6 del server**.
+- `IPV6_CLIENT` con l'**indirizzo IPv6 del client**.
diff --git a/docs/guides/network/librenms_monitoring_server.it.md b/docs/guides/network/librenms_monitoring_server.it.md
index 44e9676ca7..1b22b0f65e 100644
--- a/docs/guides/network/librenms_monitoring_server.it.md
+++ b/docs/guides/network/librenms_monitoring_server.it.md
@@ -16,13 +16,13 @@ L'installazione seguirà fedelmente le [istruzioni di installazione ufficiali](h
## Prerequisiti, presupposti e convenzioni
-* Un server o un container (sì, LibreNMS può essere eseguito in un container. Se si devono monitorare molte cose, la scelta migliore è quella di installare su un hardware indipendente) con Rocky Linux. Tutti i comandi presuppongono una nuova installazione di Rocky Linux.
-* Presupposto: che si possano eseguire i comandi come root o che si sia in grado di usare _sudo_ per elevare i privilegi
-* Conoscenza di strumenti a riga di comando, inclusi editor di testo come _vi_
-* Presupposto: l'uso di SNMP v2. Se si desidera utilizzare SNMP v3, LibreNMS lo supporta e funzionerà. È necessario modificare la configurazione e le opzioni SNMP dei dispositivi per adeguarli alla versione v3.
-* È inclusa la procedura SELinux. Il container utilizzato dall'autore nel laboratorio non lo include per impostazione predefinita. Per questo motivo, la procedura SELinux **non** è stata testata in laboratorio.
-* In questo documento, gli esempi utilizzano l'editor _vi_. Quando il documento dice di salvare le modifiche e di uscire, usare SHIFT+:+wq!.
-* La procedura richiede alcune competenze in materia di risoluzione dei problemi, tra cui il monitoraggio dei log, i test web e altro ancora
+- Un server o un container (sì, LibreNMS può essere eseguito in un container. Se si devono monitorare molte cose, la scelta migliore è quella di installare su un hardware indipendente) con Rocky Linux. Tutti i comandi presuppongono una nuova installazione di Rocky Linux.
+- Presupposto: che si possano eseguire i comandi come root o che si possa eseguire *sudo* per elevare i privilegi
+- Conoscenza pratica degli strumenti a riga di comando, compresi gli editor di testo come *vi*
+- Presupposto: l'uso di SNMP v2. Se si desidera utilizzare SNMP v3, LibreNMS lo supporta e funzionerà. È necessario modificare la configurazione e le opzioni SNMP dei dispositivi per adeguarli alla versione v3.
+- È inclusa la procedura SELinux. Il container utilizzato dall'autore nel laboratorio non lo include per impostazione predefinita. Per questo motivo, la procedura SELinux **non** è stata testata in laboratorio.
+- In questo documento gli esempi utilizzano l'editor *vi*. Quando il documento dice di salvare le modifiche e di uscire, usare ++shift+colon+w+q+exclam++.
+- La procedura richiede alcune competenze in materia di risoluzione dei problemi, tra cui il monitoraggio dei log, i test web e altro ancora
## Installazione dei pacchetti
@@ -30,7 +30,7 @@ Inserire questi comandi come utente root. Prima di iniziare, si noti che questa
Per prima cosa, installare il repository EPEL (Extra Packages for Enterprise Linux):
-```
+```bash
dnf install -y epel-release
```
@@ -38,14 +38,21 @@ La versione attuale di LibreNMS richiede una versione minima di PHP pari a 8.1.
La versione del repository da installare dipende dalla versione di Rocky Linux in uso. L'ipotesi è che si tratti della versione 9, ma si può modificare di conseguenza in base alla versione in uso:
-```
+```bash
dnf install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
```
-Una volta installati i repository EPEL e REMI, è il momento di installare i pacchetti:
+Quindi impostare il dnf in modo che utilizzi i pacchetti remi al posto di quelli normali
+```bash
+dnf module reset php
+dnf module enable php:8.1
```
-dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php81-php-fpm php81-php-cli php81-php-common php81-php-curl php81-php-gd php81-php-json php81-php-mbstring php81-php-process php81-php-snmp php81-php-xml php81-php-zip php81-php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip wget
+
+Una volta installati i repository EPEL e REMI, è il momento di installare i pacchetti:
+
+```bash
+dnf install bash-completion cronie fping git httpd ImageMagick mariadb-server mtr net-snmp net-snmp-utils nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip wget
```
Tutti questi pacchetti rappresentano una parte delle funzionalità di LibreNMS.
@@ -54,29 +61,29 @@ Tutti questi pacchetti rappresentano una parte delle funzionalità di LibreNMS.
Copiare e incollare (o inserire) quanto segue:
-```
+```bash
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
```
-Questo comando imposta la directory predefinita per l'utente a `/opt/librenms`, tuttavia l'opzione `-M` dice "non creare la directory." Il motivo è che ciò avviene al momento dell'installazione di LibreNMS. Il `-r` dice di rendere questo utente un account di sistema e il `-s` dice di impostare la shell (in questo caso, "bash").
+Questo comando imposta la directory predefinita per l'utente a `/opt/librenms`, ma l'opzione `-M` dice "non creare la directory". Il motivo è che ciò avviene al momento dell'installazione di LibreNMS. Il `-r` dice di rendere questo utente un account di sistema e il `-s` dice di impostare la shell (in questo caso, "bash").
## Scaricare LibreNMS e impostare i permessi
Git facilita il download. Forse conoscete già il processo. Per prima cosa, passate alla directory `/opt`:
-```
+```bash
cd /opt
```
Clonare il repository:
-```
+```bash
git clone https://github.com/librenms/librenms.git
```
Modificare le autorizzazioni per la directory:
-```
+```bash
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@@ -87,21 +94,21 @@ Il comando `setfacl` sta per "set file access control lists" ed è un altro modo
## Installare le dipendenze di PHP come `librenms`
-Le dipendenze PHP di LibreNMS devono essere installate con l'utente `librenms`. A tal fine, eseguire:
+Le dipendenze PHP di LibreNMS devono essere installate con l'utente `librenms`. Per farlo, eseguire:
-```
+```bash
su - librenms
```
Inserire quanto segue:
-```
+```bash
./scripts/composer_wrapper.php install --no-dev
```
Uscire di nuovo a root:
-```
+```text
exit
```
@@ -111,60 +118,59 @@ La documentazione di LibreNMS dice che la procedura di cui sopra potrebbe fallir
## Impostare il fuso orario
-È necessario assicurarsi che l'impostazione sia corretta per il sistema e per PHP. È possibile trovare un elenco di [impostazioni valide del fuso orario per PHP qui](https://php.net/manual/en/timezones.php). Ad esempio, per il fuso orario Central, una voce comune è "America/Chicago". Iniziate modificando il file `php.ini`:
+È necessario assicurarsi che l'impostazione sia corretta per il sistema e per PHP. È possibile trovare un elenco di [impostazioni di fuso orario valide per PHP qui](https://php.net/manual/en/timezones.php). Ad esempio, per il fuso orario centrale, una voce comune è "America/Chicago". Iniziare modificando il file `php.ini`:
-```
-vi /etc/opt/remi/php81/php.ini
+```bash
+vi /etc/php.ini
```
-Trovare la riga `date.timezone` e modificarla. Si noti che è annotato, quindi rimuovere il ";" dall'inizio della riga e aggiungere il proprio fuso orario dopo il segno "=". Per l'esempio del fuso orario Central utilizzare:
+Individuare la riga `date.timezone` e modificarla. Si noti che è annotato, quindi rimuovere il ";" dall'inizio della riga e aggiungere il proprio fuso orario dopo il segno "=". Per l'esempio del fuso orario centrale utilizzare:
-```
+```bash
date.timezone = America/Chicago
```
-Salvare le modifiche e uscire dal file `php.ini`.
+Salvare le modifiche e uscire dal file `php.ini.`.
È inoltre necessario assicurarsi che il fuso orario del sistema sia corretto. Utilizzando l'esempio del fuso orario Central, eseguire questa operazione con:
-```
+```bash
timedatectl set-timezone America/Chicago
```
## Impostazione di MariaDB
-Prima di avviare i requisiti del database per LibreNMS, eseguire la procedura [MariaDB](../database/database_mariadb-server.md), in particolare la sezione "Messa in sicurezza di mariadb-server", e tornare qui per queste impostazioni specifiche. Modificare il file `mariadb-server.cnf`:
+Prima di avviare i requisiti del database per LibreNMS, eseguire la [procedura MariaDB](../database/database_mariadb-server.md), in particolare la sezione "Messa in sicurezza di mariadb-server", e tornare qui per queste impostazioni specifiche. Modificare il file `mariadb-server.cnf`:
-```
+```bash
vi /etc/my.cnf.d/mariadb-server.cnf
```
-Aggiungere le seguenti righe alla sezione "[Mysqld]":
+Aggiungere queste righe alla sezione "[Mysqld]":
-```
+```bash
innodb_file_per_table=1
lower_case_table_names=0
```
-Quindi attivare e riavviare il server `mariadb`:
+Quindi abilitare e riavviare il server `mariadb`:
-```
+```bash
systemctl enable mariadb
systemctl restart mariadb
```
Accedere a `mariadb` come utente root. Ricordarsi di utilizzare la password creata seguendo la sezione "Messa in sicurezza di mariadb-server" eseguita in precedenza:
-
-```
+```sql
mysql -u root -p
```
-Apportare alcune modifiche specifiche per LibreNMS. Con il comando sottostante, ricordatevi di cambiare la password "password" con qualcosa di sicuro e di documentarlo in un luogo sicuro.
+Apportare alcune modifiche specifiche per LibreNMS. Con il comando sottostante, ricordatevi di cambiare la password "password" con qualcosa di sicuro e di documentare quale sia in un luogo sicuro.
Al prompt di `mysql` eseguire:
-```
+```sql
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
@@ -177,48 +183,45 @@ Digitare "exit" per uscire da `mariadb`.
Questo non è cambiato rispetto alla documentazione ufficiale, tranne che per il percorso dei file. Per prima cosa, copiare il file `www.conf`:
-```
-cp /etc/opt/remi/php81/php-fpm.d/www.conf /etc/opt/remi/php81/php-fpm.d/librenms.conf
-```
-
Modificare il file `librenms.conf`:
-```
-vi /etc/opt/remi/php81/php-fpm.d/librenms.conf
+```bash
+cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf
+vi /etc/php-fpm.d/librenms.conf
```
Cambiare "[www]" con ["librenms]"
Cambiare l'utente e il gruppo in "librenms":
-```
+```bash
user = librenms
group = librenms
```
Modificare la riga "listen" in modo che rifletta un nome univoco:
-```
+```bash
listen = /run/php-fpm-librenms.sock
```
-Salvare le modifiche e uscire dal file. Se questo è l'unico servizio web che verrà eseguito su questa macchina, si può rimuovere il vecchio file www.conf copiato:
+Salvare le modifiche e uscire dal file. Se questo è l'unico servizio Web che verrà eseguito su questa macchina, è possibile rimuovere il vecchio file copiato:
-```
-rm -f /etc/opt/remi/php81/php-fpm.d/www.conf
+```bash
+rm -f /etc/php-fpm.d/www.conf
```
## Configurare `httpd`
Iniziate creando questo file:
-```
+```bash
vi /etc/httpd/conf.d/librenms.conf
```
Inserite in quel file quanto segue:
-```
+```bash
DocumentRoot /opt/librenms/html/
ServerName librenms.example.com
@@ -243,24 +246,24 @@ Inserite in quel file quanto segue:
È necessario rimuovere il vecchio sito predefinito, `welcome.conf`:
-```
+```bash
rm /etc/httpd/conf.d/welcome.conf
```
-Abilitare `httpd` and `php-fpm`:
+Abilitare `httpd` e `php-fpm`:
-```
+```bash
systemctl enable --now httpd
-systemctl enable --now php81-php-fpm
+systemctl enable --now php-fpm
```
## SELinux
-Se non si intende utilizzare SELinux, passare alla sezione successiva. Questo potrebbe valere anche per chi usa LibreNMS su un container che non supporta SELinux a livello di container o non lo include per default.
+Se non si intende utilizzare SELinux, passare alla sezione successiva. Questo potrebbe valere anche per chi usa LibreNMS su un contenitore che non supporta SELinux a livello di contenitore o non lo include per impostazione predefinita.
Per configurare tutto con SELinux, è necessario installare un pacchetto aggiuntivo:
-```
+```bash
dnf install policycoreutils-python-utils
```
@@ -268,10 +271,8 @@ dnf install policycoreutils-python-utils
Affinché LibreNMS funzioni correttamente con SELinux, è necessario impostare i seguenti contesti:
-```
-semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'
-semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(logs|rrd|storage)(/.*)?'
-restorecon -RFvv /opt/librenms
+```bash
+semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(logs|rrd|storage)(/.*)?' restorecon -RFvv /opt/librenms
setsebool -P httpd_can_sendmail=1
setsebool -P httpd_execmem 1
chcon -t httpd_sys_rw_content_t /opt/librenms/.env
@@ -279,9 +280,9 @@ chcon -t httpd_sys_rw_content_t /opt/librenms/.env
### Permettere il `fping`
-Creare un file chiamato `http_fping.tt` in un percorso qualsiasi. Non importa dove. L'installazione avviene successivamente. Il contenuto di questo file è:
+Creare un file chiamato `http_fping.tt` in un punto qualsiasi. Non importa dove. L'installazione avviene successivamente. Il contenuto di questo file è:
-```
+```bash
module http_fping 1.0;
require {
@@ -297,7 +298,7 @@ allow httpd_t self:rawip_socket { getopt create setopt write read };
Installate questo file con i seguenti comandi:
-```
+```bash
checkmodule -M -m -o http_fping.mod http_fping.tt
semodule_package -o http_fping.pp -m http_fping.mod
semodule -i http_fping.pp
@@ -305,7 +306,7 @@ semodule -i http_fping.pp
Se si verificano problemi e si sospetta che possano essere dovuti a un problema di SELinux, eseguire quanto segue:
-```
+```bash
audit2why < /var/log/audit/audit.log
```
@@ -315,55 +316,56 @@ Le istruzioni di `firewalld` seguono la documentazione ufficiale.
Il comando da utilizzare per le regole di autorizzazione di `firewalld` è il seguente:
-```
+```bash
firewall-cmd --zone public --add-service http --add-service https
firewall-cmd --permanent --zone public --add-service http --add-service https
```
-L'autore ha problemi con questo semplicistico insieme di regole `firewalld`. Questa regola permette ai servizi web di essere aperti al mondo, ma è questo che si vuole per un server di monitoraggio?
-Di solito **non** è questo il caso. Se si desidera un approccio più granulare all'uso di `firewalld`, consultare [questo documento](../security/firewalld.md) e modificare di conseguenza le regole di `firewalld`.
+L'autore ha problemi con questo semplicistico set di regole di ` firewalld`. Questa regola permette ai servizi web di essere aperti al mondo, ma è questo che si vuole per un server di monitoraggio?
+
+Di solito **non è** così. Se si desidera un approccio più granulare all'uso di `firewalld`, consultare [questo documento](../security/firewalld.md) e modificare di conseguenza le regole di `firewalld`.
## Abilitare i collegamenti simbolici e il completamento automatico delle schede per i comandi `lnms`
Innanzitutto, è necessario un collegamento simbolico al comando `lnms`, in modo da poterlo eseguire da qualsiasi punto:
-```
+```bash
ln -s /opt/librenms/lnms /usr/bin/lnms
```
Quindi, impostare il completamento automatico:
-```
+```bash
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
```
## Configurare `snmpd`
-_SNMP_ è l'acronimo di "Simple Network Management Protocol" ed è utilizzato da molti programmi di monitoraggio per l'estrazione dei dati. La versione 2, utilizzata in questo caso, richiede una "community string" specifica per il vostro ambiente.
+*SNMP* è l'acronimo di "Simple Network Management Protocol" ed è utilizzato da molti programmi di monitoraggio per estrarre dati. La versione 2, utilizzata in questo caso, richiede una "stringa di comunità" specifica per il vostro ambiente.
-Assegnate questa "community string" ai dispositivi di rete che volete monitorare, in modo che `snmpd` (la "d" qui sta per il demone) sia in grado di trovarli. Se la rete non è di nuova costruzione, è possibile che sia già in uso una "stringa di comunità".
+Assegnate questa "community string" ai dispositivi di rete che volete monitorare, in modo che `snmpd` (la "d" qui sta per il demone) sia in grado di trovarli. Se la rete non è di nuova costruzione, è possibile che sia già in uso una "community string".
Copiare il file `snmpd.conf` da LibreNMS:
-```
+```bash
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
```
-Modificare questo file e cambiare la stringa di comunità da "RANDOMSTRINGGOESHERE" a quella che è o sarà la vostra community string. Nell'esempio, questa è "LABone":
+Modificare questo file e cambiare la community string da "RANDOMSTRINGGOESHERE" a quella che è o sarà la vostra community string. Nell'esempio, si tratta di "LABone":
-```
+```bash
vi /etc/snmp/snmpd.conf
```
Modificare questa riga:
-```
+```bash
com2sec readonly default RANDOMSTRINGGOESHERE
```
-in
+a
-```
+```bash
com2sec readonly default LABone
```
@@ -373,7 +375,7 @@ Salvare le modifiche e uscire.
Eseguire i seguenti comandi per impostare i lavori di cron:
-```
+```bash
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
```
@@ -381,12 +383,11 @@ Il poller deve essere eseguito una volta, anche se non c'è nulla da interrogare
Il poller viene eseguito con l'utente "librenms" e, sebbene sia possibile passare a questo utente ed eseguire i file cron, è meglio lasciare che il poller lo faccia da solo. Assicurarsi che siano trascorsi almeno 5 minuti per consentire l'esecuzione del cron e quindi proseguire con la sezione "Impostazione Web".
-
## Rotazione del registro
LibreNMS creerà nel tempo un'ampia serie di registri. È necessario impostare la rotazione dei registri per conservare lo spazio su disco. Per farlo, eseguire questo comando:
-```
+```bash
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
```
@@ -398,13 +399,13 @@ Prima di iniziare, è necessario collegare la versione corrente del binario `php
Questo è risolvibile con un collegamento simbolico e vi renderà la vita molto più facile durante l'esecuzione dei passi rimanenti:
-```
+```bash
ln -s /opt/remi/php81/root/usr/bin/php /usr/bin/php
```
-Accedere al sito web di [Composer](https://getcomposer.org/download/) e verificare che i passaggi seguenti non siano stati modificati. Eseguite quindi questi comandi da qualche parte sul computer. Una volta terminato, il composer verrà spostato:
+Accedere al [sito web di Composer](https://getcomposer.org/download/) e verificare che i passaggi seguenti non siano stati modificati. Eseguite quindi questi comandi da qualche parte sul computer. Una volta fatto questo, potrai spostare il composer:
-```
+```php
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
@@ -413,13 +414,13 @@ php -r "unlink('composer-setup.php');"
Spostatelo in un punto del percorso. Utilizzare `/usr/local/bin/` per questo:
-```
+```bash
mv composer.phar /usr/local/bin/composer
```
## Impostazione Web
-Una volta installati e configurati tutti i componenti, il passo successivo è quello di completare l'installazione via web. Nella versione di laboratorio, non è stato impostato alcun hostname. Per completare la configurazione, è necessario accedere al server web tramite l'indirizzo IP.
+Una volta installati e configurati tutti i componenti, il passo successivo è quello di completare l'installazione via web. Nella versione di laboratorio, non è stato configurato alcun hostname. Per completare la configurazione, è necessario accedere al server web tramite l'indirizzo IP.
L'IP della macchina del laboratorio è 192.168.1.140. Per terminare l'installazione, navigare al seguente indirizzo in un browser web:
@@ -429,9 +430,9 @@ Se tutto funziona correttamente, segue un reindirizzamento ai controlli di prein

-Sotto il logo LibreNMS si trovano quattro pulsanti. Il primo pulsante a sinistra è per i controlli preliminari. Il pulsante successivo è quello del database. È necessaria la password impostata in precedenza per l'utente del database "librenms".
+Sotto il logo LibreNMS si trovano quattro pulsanti. Il primo pulsante a sinistra è per i controlli preliminari. Il pulsante successivo è per il database. È necessaria la password impostata in precedenza per l'utente del database "librenms".
-Se ci avete seguito, avete già salvato questo dato in un posto sicuro. Cliccare sul pulsante "Database". È sufficiente inserire "User" e "Password". A questo punto, fare clic sul pulsante "Check Credentials".
+Se ci avete seguito, avete già salvato questo documento in un posto sicuro. Cliccare sul pulsante "Database". Sono sufficienti "Utente" e "Password". A questo punto, fare clic sul pulsante "Check Credentials".

@@ -439,15 +440,15 @@ Fare clic sul pulsante "Build Database" se diventa verde.

-Il pulsante "Create Admin User" sarà ora attivo. Cliccatelo. Viene quindi richiesto il nome di un utente amministratore. Nel laboratorio è "admin." Creare una password per questo utente.
+Il pulsante "Create Admin User" sarà ora attivo. Cliccatelo. Viene quindi richiesto il nome di un utente amministratore. In laboratorio è "admin". Creare una password per questo utente.
Assicurarsi che la password sia sicura e registrarla in un luogo sicuro, ad esempio in un gestore di password. È necessario aggiungere anche l'indirizzo e-mail dell'utente amministrativo. Al termine, fare clic sul pulsante "Add User".

-A questo punto apparirà la schermata "Finish Install." Rimarrà solo un elemento per terminare l'installazione, una riga che chiede di "validate your install".
+A questo punto apparirà la schermata "Finish Install." Rimarrà solo un elemento per terminare l'installazione, una riga che chiede di "convalidare l'installazione".
-Fare clic sul link. Si verificherà un reindirizzamento alla pagina di accesso. Accedere con l'utente amministrativo e la password.
+Fare clic sul link. Si verifica un reindirizzamento alla pagina di accesso. Accedere con l'utente amministrativo e la password.
## Aggiungere dispositivi
@@ -459,53 +460,53 @@ Anche in questo caso, uno dei presupposti è che si stia utilizzando SNMP v2. Ri
Per prima cosa, installare `snmpd` sulla workstation e aggiornare i pacchetti per sicurezza:
-```
+```bash
sudo update && sudo apt-get upgrade && sudo apt-get install snmpd
```
Successivamente, è necessario modificare il file `snmpd.conf`:
-```
+```bash
sudo vi /etc/snmpd/snmpd.conf
```
Trovate le righe che descrivono la vostra postazione di lavoro e cambiatele con altre che la identificano:
-```
+```bash
sysLocation Desktop
sysContact Username
```
Quando si installa `snmpd` su Ubuntu, questo si collega solo all'indirizzo locale. Non ascolta l'indirizzo IP della macchina. Questo non permetterà a LibreNMS di connettersi ad esso. È necessario rimuovere questa riga:
-```
+```bash
agentaddress 127.0.0.1,[::1]
```
-Aggiungete una nuova riga: (in questo esempio, l'indirizzo IP della vostra workstation è 192.168.1.122 e la porta UDP che state impostando è la "161")
+Aggiungete una nuova riga: (in questo esempio, l'indirizzo IP della vostra workstation è 192.168.1.122 e la porta UDP che state impostando è "161")
-```
+```bash
agentAddress udp:127.0.0.1:161,udp:192.168.1.122:161
```
-È necessario specificare la community string per l'accesso in sola lettura. Trovate le linee sottostanti e commentatele come indicato:
+È necessario specificare la community string di accesso in sola lettura. Trovate le linee sottostanti e commentatele come indicato:
-```
+```bash
#rocommunity public default -V systemonly
#rocommunity6 public default -V systemonly
```
Aggiungere una riga:
-```
-rocommunity LABone
+```bash
+rocomunità LABone
```
Salvare le modifiche e uscire.
Abilitare e avviare `snmpd`:
-```
+```bash
sudo systemctl enable snmpd
sudo systemctl start snmpd
```
@@ -516,25 +517,25 @@ Se si utilizza un firewall sulle postazioni di lavoro interne, è necessario mod
Si presuppone che siate root o che possiate fare `sudo` per elevare i privilegi. È necessario installare alcuni pacchetti:
-```
+```bash
dnf install net-snmp net-snmp-utils
```
-Creare un file `snmpd.conf`. LibreNMS vuole anche essere in grado di "pingare" il dispositivo, quindi assicuratevi che la porta icmp 8 sia consentita dal server.
+Creare un file `snmpd.conf`. Piuttosto che cercare di navigare nel file incluso, spostate questo file per rinominarlo e create un nuovo file vuoto:
-```
+```bash
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
```
e
-```
+```bash
vi /etc/snmp/snmpd.conf
```
Copiare il tutto nel nuovo file:
-```
+```bash
# Map 'LABone' community to the 'AllUser'
# sec.name source community
com2sec AllUser default LABone
@@ -560,18 +561,19 @@ Una volta apportate le modifiche, salvarle e uscire dal file.
Abilitare e avviare `snmpd`:
-```
+```bash
systemctl enable snmpd
systemctl start snmpd
```
#### Firewall
-Se state gestendo un server, allora **state** gestendo un firewall, giusto? Se si sta eseguendo `firewalld`, si presume che si utilizzi la zona "trusted" e che si voglia consentire tutto il traffico dal server di monitoraggio, 192.168.1.140:
+Se si gestisce un server, **si** utilizza un firewall, giusto? Se si utilizza `firewalld`, si presume che si utilizzi la zona "trusted" e che si voglia semplicemente consentire tutto il traffico dal server di monitoraggio, 192.168.1.140:
-```
+```bash
firewall-cmd --zone=trusted --add-source=192.168.1.140 --permanent
```
+
Se la zona "trusted" non è corretta per il vostro ambiente, modificatela in base alle vostre esigenze. Considerate le vostre regole e il loro effetto prima di aggiungerle.
## Aggiungere i dispositivi in Librenms
@@ -580,7 +582,7 @@ Dopo aver configurato i dispositivi campione per accettare il traffico SNMP dal

-Inserite le informazioni utilizzate per i vostri dispositivi di prova. Immettere l'IP della workstation Ubuntu da avviare. Nell'esempio è 192.168.1.122. Aggiungere la stringa di comunità "LABone" nel campo "Community".
+Inserite le informazioni utilizzate per i vostri dispositivi di prova. Immettere l'IP della workstation Ubuntu da avviare. Nell'esempio è 192.168.1.122. Aggiungere la community string "LABone" nel campo "Community".
Cliccare sul pulsante "Add Device". Se tutto è corretto, il processo si concluderà con successo.
@@ -588,7 +590,7 @@ Se si verifica un errore di "failure to add", rivedere l'impostazione SNMP della
## Ricevere avvisi
-Come già detto all'inizio, questo documento serve solo per iniziare a utilizzare LibreNMS. Esiste un gran numero di elementi di configurazione aggiuntivi, un'ampia API (Application Programming Interface), un sistema di avvisi che fornisce un gran numero di opzioni per la consegna, chiamate "Transports", e molto altro ancora.
+Come già detto all'inizio, questo documento serve solo per iniziare a usare LibreNMS. Esiste un gran numero di elementi di configurazione aggiuntivi, un'ampia API (Application Programming Interface), un sistema di avvisi che fornisce un gran numero di opzioni per la consegna, chiamate "Transports", e molto altro ancora.
Questo documento non contiene procedure per la creazione di regole di allerta. Si modificherà invece la regola di avviso incorporata "Device Down! Due to no ICMP response" che è preconfigurato in partenza. Per "Transports" utilizzeremo "Mail", che è semplicemente un'e-mail. Sappiate che non siete limitati a questa segnalazione.
@@ -596,7 +598,7 @@ La posta deve essere funzionante per poter utilizzare l'e-mail per il trasporto.
### Transports
-È necessario un modo per inviare gli avvisi. Come già detto, LibreNMS supporta un numero enorme di trasporti. L'avviso di posta elettronica, definito come trasporto "Mail", viene utilizzato in questo caso. Per impostare il trasporto:
+È necessario un modo per inviare gli avvisi. Come già detto, LibreNMS supporta un numero enorme di trasporti. L'avviso di posta elettronica, definito come trasporto "Mail", è in uso in questo caso. Per impostare il trasporto:
1. Vai al cruscotto
2. Passare il mouse su "Alerts"
@@ -639,12 +641,12 @@ Prima di salvare, la regola sarà:

-Questi due dispositivi ora vi avviseranno via e-mail se sono inattivi e al momento del ripristino.
+Questi due dispositivi ora vi avviseranno via e-mail se sono fuori uso e al momento del ripristino.
-## Conclusioni
+## Conclusione
-LibreNMS è un potente strumento di monitoraggio con una serie completa di funzioni in un'unica applicazione. Questo documento ha _solo_ scalfito la superficie delle sue capacità. Alcune delle schermate più semplici non vengono mostrate.
+LibreNMS è un potente strumento di monitoraggio con una serie completa di funzioni in un'unica applicazione. Questo documento ha *appena* scalfito la superficie delle sue capacità. Alcune delle schermate più semplici non vengono mostrate.
-Quando si aggiungono i dispositivi, supponendo che tutte le proprietà SNMP siano state impostate correttamente, si iniziano a ricevere i grafici della larghezza di banda, dell'utilizzo della memoria e dell'utilizzo della CPU di ciascun dispositivo. Questo laboratorio non ha mostrato la varietà dei trasporti disponibili oltre a "Mail".
+Quando si aggiungono i dispositivi, supponendo che tutte le proprietà SNMP siano state impostate correttamente, si iniziano a ricevere i grafici della larghezza di banda, dell'utilizzo della memoria e dell'utilizzo della CPU su ciascun dispositivo. Questo laboratorio non ha mostrato la varietà dei trasporti disponibili oltre a "Mail".
-In questo documento sono state fornite le informazioni necessarie per iniziare a monitorare l'ambiente. LibreNMS richiede un po' di tempo per padroneggiare tutti gli elementi. Per ulteriori informazioni, visitate la [eccellente documentazione](https://docs.librenms.org/) del progetto.
+In questo documento sono state fornite le informazioni necessarie per iniziare a monitorare l'ambiente. LibreNMS richiede un po' di tempo per padroneggiare tutti gli elementi. Per ulteriori informazioni, visitate l'[eccellente documentazione](https://docs.librenms.org/) del progetto.
diff --git a/docs/guides/network/openbgpd_bgp_router.it.md b/docs/guides/network/openbgpd_bgp_router.it.md
new file mode 100644
index 0000000000..cbd67b928f
--- /dev/null
+++ b/docs/guides/network/openbgpd_bgp_router.it.md
@@ -0,0 +1,175 @@
+---
+title: "Router OpenBGPD BGP "
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.3
+tags:
+ - network
+---
+
+# Router OpenBGPD BGP
+
+## Introduzione
+
+Il Border Gateway Protocol (BGP) è il protocollo di routing che tiene insieme Internet. È il modo in cui è possibile visualizzare questo documento indipendentemente dal provider di servizi Internet.
+
+[OpenBGPD](http://openbgpd.org/) è l'implementazione BGP multipiattaforma di [OpenBSD](https://www.openbsd.org/). L'autore lo utilizza personalmente sulla propria rete.
+
+## Prerequisiti
+
+- Un server, una macchina virtuale o una rete di laboratorio con connettività BGP
+- Un numero AS dal [Regional Internet Registry](https://www.nro.net/about/rirs/)
+- Un blocco IPv4 o IPv6 di proprietà o noleggiato
+- Conoscenze nell'amministrazione di rete
+
+## Installarezione dei package
+
+Poiché OpenBGPD non è presente nei repository predefiniti, installare prima il repository EPEL (Extra Packages for Enterprise Linux):
+
+```bash
+dnf install -y epel-release
+```
+
+Successivamente, installare OpenBGPD:
+
+```bash
+dnf install -y openbgpd
+```
+
+## Configurazione di OpenBGPD
+
+Iniziamo con una nuova configurazione di OpenBGPD:
+
+```bash
+rm /etc/bgpd.conf
+touch /etc/bgpd.conf
+chmod 0600 /etc/bgpd.conf
+```
+
+Quindi, aggiungere quanto segue a `/etc/bgpd.conf`:
+
+```bash
+AS YOUR_ASN
+router-id YOUR_IPV4
+
+listen on 127.0.0.1
+listen on YOUR_IPV4
+listen on ::1
+listen on YOUR_IPV6
+log updates
+network IPV4_TO_ADVERTISE/MASK
+network IPV6_TO_ADVERTISE/MASK
+
+allow to ebgp prefix { IPV4_TO_ADVERTISE/MASK IPV6_TO_ADVERTISE/MASK }
+
+neighbor PEER_IPV4 {
+ remote-as PEER_ASN
+ announce IPv4 unicast
+ announce IPv6 none
+ local-address YOUR_IPV4
+}
+
+neighbor PEER_IPV6 {
+ remote-as PEER_ASN
+ announce IPv4 none
+ announce IPv6 unicast
+ local-address YOUR_IPV6
+}
+```
+
+Sostituire i seguenti parametri:
+
+- **YOUR_ASN** con il vostro numero AS.
+- **YOUR_IPV4** con l'indirizzo IPv4 del vostro server.
+- **YOUR_IPV6** con l'indirizzo IPv6 del vostro server.
+- **PEER_ASN** con il numero AS del vostro ISP a monte.
+- **PEER_IPV4** con l'indirizzo IPv4 del vostro ISP
+- **PEER_IPV6** con l'indirizzo IPv6 del vostro ISP upstream.
+
+Le righe precedenti significano quanto segue:
+
+- La riga `AS` contiene il numero AS del BGP.
+- La riga `router-id` contiene l'ID del router BGP. Si tratta di un indirizzo IPv4, ma può essere un indirizzo fittizio non instradabile (ad esempio 169.254.x.x) se si utilizza un BGP solo IPv6.
+- La riga `listen on` indica quali interfacce ascoltare. Dovremmo ascoltare tutte le interfacce che parlano di BGP.
+- Le righe `network` aggiungono le reti che vogliamo pubblicizzare.
+- La riga `allow to ebgp prefix` aggiunge la conformità [RFC8212](https://datatracker.ietf.org/doc/html/rfc8212) per la sicurezza del routing. Alcune società di hosting, come BuyVM, lo richiedono.
+- I blocchi `neighbor` specificano ogni peer IPv4 e IPv6.
+- La riga `remote-as` specifica il numero AS dell'upstream.
+- La riga `announce IPv4` specifica se annunciare le rotte IPv4 `unicast` o `none`. Dovrebbe essere `none` su un upstream IPv6.
+- La riga `announce IPv6` specifica se annunciare le rotte IPv6 `unicast` o `none`. Dovrebbe essere `none` su un upstream IPv4.
+- La riga `local-address` è l'indirizzo IPv4 o IPv6 dell'upstream.
+
+Alcuni upstream possono utilizzare una password MD5 o BGP multihop. In questo caso, i blocchi \`neighbor' avranno l'aspetto seguente:
+
+```bash
+neighbor PEER_IPV4 {
+ remote-as PEER_ASN
+ announce IPv4 unicast
+ announce IPv6 none
+ local-address YOUR_IPV4
+ multihop 2
+ local-address 203.0.113.123
+}
+
+neighbor PEER_IPV6 {
+ remote-as PEER_ASN
+ announce IPv4 none
+ announce IPv6 unicast
+ local-address YOUR_IPV6
+ multihop 2
+ local-address 2001:DB8:1000::1
+}
+```
+
+È necessario abilitare l'inoltro IP impostando i valori di `sysctl`:
+
+```bash
+net.ipv4.ip_forward = 1
+net.ipv6.conf.all.forwarding = 1
+```
+
+Ora è necessario abilitare OpenBGPD e l'inoltro:
+
+```bash
+sysctl -p /etc/sysctl.conf
+systemctl enable --now bgpd
+```
+
+## Controllo dello stato di BGP
+
+Una volta abilitato OpenBGPD, è possibile vedere lo stato di BGP:
+
+```bash
+bgpctl show
+```
+
+Verrà visualizzato il risultato:
+
+```bash
+Neighbor AS MsgRcvd MsgSent OutQ Up/Down State/PrfRcvd
+BGP_PEER PEER_ASN 164 68 0 00:32:04 0
+```
+
+È anche possibile vedere le rotte pubblicizzate da BGP:
+
+```bash
+bgpctl show rib
+```
+
+Se funziona correttamente, si dovrebbe vedere la tabella di routing BGP:
+
+```bash
+flags: * = Valid, > = Selected, I = via IBGP, A = Announced,
+ S = Stale, E = Error
+origin validation state: N = not-found, V = valid, ! = invalid
+aspa validation state: ? = unknown, V = valid, ! = invalid
+origin: i = IGP, e = EGP, ? = Incomplete
+
+flags vs destination gateway lpref med aspath origin
+AI*> N-? YOUR_IPV4/24 0.0.0.0 100 0 i
+AI*> N-? YOUR_IPV6::/48 :: 100 0 i
+```
+
+## Conclusione
+
+Anche se inizialmente il BGP può sembrare scoraggiante, una volta acquisita la padronanza, è possibile ottenere una parte della tabella di routing di Internet. La semplicità di OpenBGPD rende ancora più facile avere un router software o un server anycast. Divertitevi!
diff --git a/docs/guides/package_management/dnf_package_manager.it.md b/docs/guides/package_management/dnf_package_manager.it.md
new file mode 100644
index 0000000000..d32d5ff115
--- /dev/null
+++ b/docs/guides/package_management/dnf_package_manager.it.md
@@ -0,0 +1,714 @@
+---
+title: Gestore di pacchetti Dnf
+author: Emre Çamalan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 8.9, 9.3
+tags:
+ - Dnf
+ - Yum
+ - Rpm
+ - Package Manager
+---
+
+# Gestore di pacchetti DNF
+
+DNF, o Dandified Yum, è un gestore di pacchetti presente in alcune distribuzioni Linux. È la versione di nuova generazione del gestore di pacchetti Yum (Yellowdog Updater, Modified), ampiamente utilizzato nei sistemi basati su Red Hat. Il DNF è stato introdotto in sostituzione di Yum per risolvere alcune limitazioni e migliorare le prestazioni.
+
+DNF è comunemente usato in Rocky Linux, Fedora, RHEL (Red Hat Enterprise Linux) 8 e successive e in altre distribuzioni Linux che lo hanno adottato come gestore di pacchetti. L'obiettivo è fornire a utenti e amministratori un'esperienza di gestione dei pacchetti più moderna ed efficiente.
+
+## Prerequisiti
+
+- Per tutte le versioni di Rocky Linux, la possibilità di usare `sudo` per elevare i privilegi.
+
+## Installazione dei package
+
+Potete usare il gestore di pacchetti DNF sul sistema operativo Rocky Linux proprio come fate con altri gestori di pacchetti per installare, rimuovere e aggiornare i pacchetti che desiderate.
+
+```bash
+sudo dnf install package_name1 package_name2 package_name3
+```
+
+Per installare `perl`:
+
+```bash
+sudo dnf install perl
+Last metadata expiration check: 0:57:51 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Dependencies resolved.
+==============================================================================================================================
+ Package Architecture Version Repository Size
+==============================================================================================================================
+Installing:
+ perl x86_64 4:5.32.1-480.el9 appstream 13 k
+Installing dependencies:
+ annobin x86_64 12.12-1.el9 appstream 977 k
+ binutils x86_64 2.35.2-42.el9 baseos 4.5 M
+ binutils-gold x86_64 2.35.2-42.el9 baseos 734 k
+ cpp x86_64 11.4.1-2.1.el9 appstream 11 M
+ dwz x86_64 0.14-3.el9 appstream 127 k
+ efi-srpm-macros noarch 6-2.el9_0 appstream 22 k
+ elfutils-debuginfod-client x86_64 0.189-3.el9 baseos 36 k
+ file x86_64 5.39-14.el9 baseos 48 k
+ fonts-srpm-macros noarch 1:2.0.5-7.el9.1 appstream 27 k
+ gcc x86_64 11.4.1-2.1.el9 appstream 32 M
+ gcc-c++ x86_64 11.4.1-2.1.el9 appstream 13 M
+ gcc-plugin-annobin x86_64 11.4.1-2.1.el9 appstream 48 k
+ ghc-srpm-macros noarch 1.5.0-6.el9 appstream 7.8 k
+ glibc-devel x86_64 2.34-83.el9.7 appstream 50 k
+ glibc-headers x86_64 2.34-83.el9.7 appstream 450 k
+ go-srpm-macros noarch 3.2.0-2.el9 appstream 26 k
+ kernel-headers x86_64 5.14.0-362.18.1.el9_3 appstream 6.3 M
+ kernel-srpm-macros noarch 1.0-13.el9 appstream 15 k
+ libdatrie x86_64 0.2.13-4.el9 appstream 32 k
+ libmpc x86_64 1.2.1-4.el9 appstream 61 k
+ libpkgconf x86_64 1.7.3-10.el9 baseos 35 k
+
+... (some packages not shown)
+
+Installing weak dependencies:
+ perl-CPAN-DistnameInfo noarch 0.12-23.el9 appstream 14 k
+ perl-Encode-Locale noarch 1.05-21.el9 appstream 19 k
+ perl-Term-Size-Any noarch 0.002-35.el9 appstream 13 k
+ perl-TermReadKey x86_64 2.38-11.el9 appstream 36 k
+ perl-Unicode-LineBreak x86_64 2019.001-11.el9 appstream 120 k
+
+Transaction Summary
+==============================================================================================================================
+Install 206 Packages
+
+Total download size: 111 M
+Installed size: 343 M
+Is this ok [y/N]:
+```
+
+L'installazione di un gruppo di pacchetti, come per **Xfce desktop** o **Kde desktop**, e così via, è simile:
+
+```bash
+sudo dnf group install xfce
+```
+
+Che genererà un risultato come questo:
+
+```bash
+sudo dnf group install xfce
+Last metadata expiration check: 1:04:31 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Dependencies resolved.
+========================================================================================================================================================================================================================================================
+ Package Architecture Version Repository Size
+========================================================================================================================================================================================================================================================
+Installing group/module packages:
+
+Thunar x86_64 4.18.6-2.el9 epel 1.8 M
+ gdm x86_64 1:40.1-21.el9 appstream 836 k
+ network-manager-applet x86_64 1.26.0-2.el9 appstream 197 k
+ openssh-askpass x86_64 8.7p1-34.el9 appstream 21 k
+ thunar-archive-plugin x86_64 0.5.0-2.el9 epel 93 k
+ thunar-volman x86_64 4.18.0-2.el9 epel 210 k
+ tumbler x86_64 4.18.1-1.el9 epel 237 k
+ xfce-polkit x86_64 0.3-8.el9 epel 24 k
+ xfce4-appfinder x86_64 4.18.0-2.el9 epel 285 k
+ xfce4-panel x86_64 4.18.4-1.el9 epel 1.2 M
+ xfce4-power-manager x86_64 4.18.2-1.el9 epel 733 k
+ xfce4-pulseaudio-plugin x86_64 0.4.7-1.el9 epel 131 k
+ xfce4-screensaver x86_64 4.18.2-1.el9 epel 305 k
+ xfce4-session x86_64 4.18.3-1.el9 epel 541 k
+ xfce4-settings x86_64 4.18.2-2.el9 epel 1.2 M
+
+ ... (some packages not shown)
+
+Installing Groups:
+ Xfce
+
+Transaction Summary
+========================================================================================================================================================================================================================================================
+Install 402 Packages
+
+Total download size: 317 M
+Installed size: 1.1 G
+Is this ok [y/N]:
+```
+
+Come si può vedere, ci sono diversi modi per installare il gruppo desktop KDE:
+
+```bash
+sudo dnf group install "KDE Plasma Workspaces"
+sudo dnf group install kde-desktop-environment
+sudo dnf install @kde-desktop-environment
+```
+
+## Aggiornare e aggiornare i pacchetti
+
+### Aggiornamento e upgrade
+
+Se decidete di aggiornare i pacchetti, usate questo codice nel terminale:
+
+```bash
+ sudo dnf update
+```
+
+Che potrebbe mostrare qualcosa di simile:
+
+```bash
+sudo dnf update
+Last metadata expiration check: 1:12:59 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Dependencies resolved.
+========================================================================================================================================================================================================================================================
+ Package Architecture Version Repository Size
+========================================================================================================================================================================================================================================================
+Upgrading:
+ NetworkManager x86_64 1:1.44.0-4.el9_3 baseos 2.2 M
+ NetworkManager-libnm x86_64 1:1.44.0-4.el9_3 baseos 1.8 M
+ gnutls x86_64 3.7.6-23.el9_3.3 baseos 1.0 M
+ openssl x86_64 1:3.0.7-25.el9_3 baseos 1.2 M
+ openssl-libs x86_64 1:3.0.7-25.el9_3 baseos 2.1 M
+ python3 x86_64 3.9.18-1.el9_3.1 baseos 25 k
+ python3-libs x86_64 3.9.18-1.el9_3.1 baseos 7.3 M
+ python3-rpm x86_64 4.16.1.3-27.el9_3 baseos 64 k
+ rocky-gpg-keys noarch 9.3-1.2.el9 baseos 13 k
+ rocky-release noarch 9.3-1.2.el9 baseos 23 k
+ rocky-repos noarch 9.3-1.2.el9 baseos 13 k
+ rpm x86_64 4.16.1.3-27.el9_3 baseos 485 k
+ rpm-build-libs x86_64 4.16.1.3-27.el9_3 baseos 87 k
+ rpm-libs x86_64 4.16.1.3-27.el9_3 baseos 307 k
+ rpm-plugin-systemd-inhibit x86_64 4.16.1.3-27.el9_3 appstream 15 k
+ rpm-sign-libs x86_64 4.16.1.3-27.el9_3 baseos 19 k
+ systemd x86_64 252-18.el9.0.1.rocky baseos 3.9 M
+ systemd-libs x86_64 252-18.el9.0.1.rocky baseos 651 k
+ systemd-pam x86_64 252-18.el9.0.1.rocky baseos 259 k
+ systemd-rpm-macros noarch 252-18.el9.0.1.rocky baseos 47 k
+ systemd-udev x86_64 252-18.el9.0.1.rocky baseos 1.8 M
+ tzdata noarch 2023d-1.el9 baseos 433 k
+
+Transaction Summary
+========================================================================================================================================================================================================================================================
+Upgrade 22 Packages
+
+Total download size: 24 M
+Is this ok [y/N]
+```
+
+Il comando `dnf upgrade` produce gli stessi risultati del comando `dnf update`.
+
+```bash
+sudo dnf upgrade
+```
+
+### Aggiornare un singolo pacchetto
+
+```bash
+ sudo dnf upgrade package_name
+```
+
+Per esempio, se si vuole aggiornare `openssl`, usare `dnf`:
+
+```bash
+dnf upgrade openssl
+```
+
+Che potrebbe mostrare:
+
+```bash
+dnf upgrade openssl
+Last metadata expiration check: 1:21:40 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Dependencies resolved.
+========================================================================================================================================================================================================================================================Package Architecture Version Repository Size
+========================================================================================================================================================================================================================================================
+Upgrading:
+ openssl x86_64 1:3.0.7-25.el9_3 baseos 1.2 M
+ openssl-libs x86_64 1:3.0.7-25.el9_3 baseos 2.1 M
+
+Transaction Summary
+========================================================================================================================================================================================================================================================
+Upgrade 2 Packages
+
+Total download size: 3.3 M
+Is this ok [y/N]:
+```
+
+Se si sono usati i comandi `sudo dnf update` o `sudo dnf upgrade` in precedenza, l'intero sistema è aggiornato e non ci saranno pacchetti da aggiornare manualmente.
+
+## Rimozione dei pacchetti
+
+Come per l'installazione dei pacchetti, si può usare `dnf` per disinstallare i pacchetti. Tuttavia, le dipendenze sono fondamentali nel sistema Linux e se non si è a conoscenza di esse, si raccomanda di non rimuovere un pacchetto. Ad esempio, un pacchetto installato erroneamente può avere 20 dipendenze e quando si rimuove quel pacchetto, il sistema rimuove anche i 20 pacchetti condivisi con altri programmi. Di conseguenza, alcuni programmi precedentemente funzionanti potrebbero diventare inutilizzabili. Inoltre, se si pensa di poter risolvere il problema reinstallando lo stesso pacchetto, è possibile che si verifichino problemi di conflitto tra versione e vecchia versione. Si sia prudenti a questo proposito.
+
+!!! Warning
+
+```
+DNF non può rimuovere un pacchetto senza rimuovere i pacchetti che dipendono da esso.
+```
+
+La sintassi per rimuovere i pacchetti è:
+
+```bash
+sudo dnf remove package_name1 package_name2
+```
+
+```bash
+sudo dnf remove wget
+```
+
+!!! warning
+
+```
+Attenzione, DNF mostra le dipendenze dei pacchetti! Se si rimuove Perl, si rimuovono anche i pacchetti che dipendono da Perl!
+```
+
+```bash
+sudo dnf remove perl
+Dependencies resolved.
+========================================================================================================================================================================================================================================================
+ Package Architecture Version Repository Size
+========================================================================================================================================================================================================================================================
+Removing:
+ perl x86_64 4:5.32.1-480.el9 @appstream 0
+Removing unused dependencies:
+ annobin x86_64 12.12-1.el9 @appstream 1.0 M
+ binutils x86_64 2.35.2-42.el9 @baseos 24 M
+ binutils-gold x86_64 2.35.2-42.el9 @baseos 2.0 M
+ cpp x86_64 11.4.1-2.1.el9 @appstream 29 M
+ dwz x86_64 0.14-3.el9 @appstream 275 k
+ efi-srpm-macros noarch 6-2.el9_0 @appstream 40 k
+ elfutils-debuginfod-client x86_64 0.189-3.el9 @baseos 60 k
+ file x86_64 5.39-14.el9 @baseos 100 k
+ fonts-srpm-macros noarch 1:2.0.5-7.el9.1 @appstream 55 k
+ gcc x86_64 11.4.1-2.1.el9 @appstream 85 M
+ gcc-c++ x86_64 11.4.1-2.1.el9 @appstream 32 M
+ gcc-plugin-annobin x86_64 11.4.1-2.1.el9 @appstream 52 k
+ ghc-srpm-macros noarch 1.5.0-6.el9 @appstream 535
+ glibc-devel x86_64 2.34-83.el9.7 @appstream 157 k
+ glibc-headers x86_64 2.34-83.el9.7 @appstream 2.1 M
+ go-srpm-macros noarch 3.2.0-2.el9 @appstream 60 k
+ kernel-headers x86_64 5.14.0-362.18.1.el9_3 @appstream 5.8 M
+ kernel-srpm-macros noarch 1.0-13.el9 @appstream 17 k
+ libdatrie x86_64 0.2.13-4.el9 @appstream 58 k
+ libmpc x86_64 1.2.1-4.el9 @appstream 135 k
+ libpkgconf x86_64 1.7.3-10.el9 @baseos 74 k
+ libstdc++-devel x86_64 11.4.1-2.1.el9 @appstream 13 M
+ libthai x86_64 0.1.28-8.el9 @appstream 760 k
+ libxcrypt-devel x86_64 4.4.18-3.el9 @appstream 30 k
+
+... (some package removal output not shown)
+
+redhat-rpm-config noarch 201-1.el9 @appstream 187 k
+ rust-srpm-macros noarch 17-4.el9 @appstream 2.4 k
+ sombok x86_64 2.4.0-16.el9 @appstream 136 k
+ systemtap-sdt-devel x86_64 4.9-3.el9 @appstream 198 k
+
+Transaction Summary
+========================================================================================================================================================================================================================================================
+Remove 206 Packages
+
+Freed space: 343 M
+Is this ok [y/N]:
+```
+
+La rimozione di un gruppo ha la seguente sintassi. Si noti che la rimozione del gruppo KDE è possibile in diversi modi:
+
+```bash
+sudo dnf group remove "KDE Plasma Workspaces"
+sudo dnf group remove kde-desktop-environment
+sudo dnf remove @kde-desktop-environment
+```
+
+## DNF list
+
+È possibile elencare qualsiasi pacchetto, anche se non si conosce il nome completo del pacchetto, eseguendo questo comando:
+
+```bash
+sudo dnf list kernel*
+
+Last metadata expiration check: 1:44:26 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Installed Packages
+kernel-headers.x86_64 5.14.0-362.18.1.el9_3 @appstream
+kernel-srpm-macros.noarch 1.0-13.el9 @appstream
+Available Packages
+kernel.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-abi-stablelists.noarch 5.14.0-362.18.1.el9_3 baseos
+kernel-core.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-cross-headers.x86_64 5.14.0-362.18.1.el9_3 crb
+kernel-debug.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-debug-core.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-debug-devel.x86_64 5.14.0-362.18.1.el9_3 appstream
+kernel-debug-devel-matched.x86_64 5.14.0-362.18.1.el9_3 appstream
+kernel-debug-modules.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-debug-modules-core.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-debug-modules-extra.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-debug-uki-virt.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-devel.x86_64 5.14.0-362.18.1.el9_3 appstream
+kernel-devel-matched.x86_64 5.14.0-362.18.1.el9_3 appstream
+kernel-doc.noarch 5.14.0-362.18.1.el9_3 appstream
+kernel-modules.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-modules-core.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-modules-extra.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-rpm-macros.noarch 185-13.el9 appstream
+kernel-tools.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-tools-libs.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-tools-libs-devel.x86_64 5.14.0-362.18.1.el9_3 crb
+kernel-uki-virt.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernelshark.x86_64 1:1.2-10.el9 appstream
+```
+
+Con questo comando si elencano le informazioni sugli strumenti del kernel installati e disponibili, sui moduli e sulle informazioni di corrispondenza:
+
+```bash
+sudo dnf list kernel-tools\* kernel-modules\*
+
+Last metadata expiration check: 1:48:22 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Available Packages
+kernel-modules.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-modules-core.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-modules-extra.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-tools.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-tools-libs.x86_64 5.14.0-362.18.1.el9_3 baseos
+kernel-tools-libs-devel.x86_64 5.14.0-362.18.1.el9_3 crb
+```
+
+Elenca tutti i pacchetti installati e disponibili con:
+
+```bash
+dnf list all
+```
+
+Si otterrà così un elenco estremamente lungo di file. Quanti file ci sono in Rocky Linux?
+
+Utilizzate questo comando per scoprirlo:
+
+```bash
+dnf list all | wc -l
+28297
+```
+
+Elenca tutti i pacchetti installati sul sistema Rocky Linux:
+
+```bash
+sudo dnf list installed
+```
+
+È possibile filtrare anche in base a un particolare pacchetto:
+
+```bash
+sudo dnf list installed "sudo*"
+Installed Packages
+sudo.x86_64 1.9.5p2-9.el9 baseos
+```
+
+Elenca tutti i pacchetti disponibili in tutti i repository abilitati con:
+
+```bash
+sudo dnf list available "perl"
+Last metadata expiration check: 1:59:53 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Available Packages
+perl.x86_64 4:5.32.1-480.el9 appstream
+```
+
+Elenca tutti i gruppi di pacchetti:
+
+```bash
+sudo dnf group list
+Last metadata expiration check: 2:01:20 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Available Environment Groups:
+ Server with GUI
+ Server
+ Minimal Install
+ Workstation
+ KDE Plasma Workspaces
+ Custom Operating System
+ Virtualization Host
+Available Groups:
+ Fedora Packager
+ VideoLAN Client
+ Xfce
+ Legacy UNIX Compatibility
+ Console Internet Tools
+ Container Management
+ Development Tools
+ .NET Development
+ Graphical Administration Tools
+ Headless Management
+ Network Servers
+ RPM Development Tools
+ Scientific Support
+ Security Tools
+ Smart Card Support
+ System Tool
+```
+
+Elencare le informazioni sul repository dei pacchetti che fornisce per ogni repository abilitato.
+
+```bash
+sudo dnf repolist
+
+repo id repo name
+appstream Rocky Linux 9 - AppStream
+baseos Rocky Linux 9 - BaseOS
+crb Rocky Linux 9 - CRB
+epel Extra Packages for Enterprise Linux 9 - x86_64
+epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
+extras Rocky Linux 9 - Extras
+```
+
+## DNF list history
+
+Con questo comando è possibile visualizzare la cronologia dell'elenco DNF:
+
+```bash
+sudo dnf history list
+ID | Command line | Date and time | Action(s) | Altered
+------------------------------------------------------------------------------------------------------------------------------
+ 23 | remove perl | 2024-02-05 22:30 | Removed | 206
+ 22 | install perl | 2024-02-05 22:05 | Install | 206
+ 21 | install sqlite | 2024-01-27 15:49 | I, U | 2
+ 20 | install tar gzip | 2024-01-27 14:27 | Install | 1
+ 19 | install htop | 2024-01-27 14:24 | Install | 3
+ 18 | install yarnpkg | 2024-01-27 14:21 | Install | 1
+ 17 | install nodejs mariadb-server npm | 2024-01-27 14:14 | Install | 81
+ 16 | upgrade | 2023-12-20 16:02 | Upgrade | 2
+ 15 | install wget | 2023-12-20 15:38 | Install | 1
+ 14 | remove iptables* | 2023-12-19 15:22 | Removed | 10
+ 13 | install iptables-utils | 2023-12-19 15:09 | Install | 1
+ 12 | install iptables-services | 2023-12-19 15:08 | Install | 1
+ 11 | install iptables | 2023-12-19 15:02 | Install | 8 <
+ 10 | remove firewalld | 2023-12-19 15:02 | Removed | 20 >E
+ 9 | install firewalld | 2023-12-19 14:18 | Install | 20 EE
+ 8 | install postfix s-nail | 2023-12-14 15:28 | Install | 3
+ 7 | upgrade | 2023-11-30 14:30 | I, U | 128 EE
+ 6 | install epel-release | 2023-11-30 14:30 | Install | 8 EE
+ 5 | install which | 2023-01-24 14:31 | Install | 1
+ 4 | install zip | 2023-01-20 13:28 | Install | 2
+ 3 | -y --allowerasing install NetworkManager | 2023-01-19 02:47 | Install | 7 EE
+ 2 | -y --allowerasing install cronie cronie-noanacron curl dhclient glibc-l | 2023-01-19 02:42 | Install | 42 EE
+ 1 | --installroot=/rootfs -y --releasever=9 --skip-broken install basesyste | 2023-01-19 02:41 | Install | 147 EE
+
+```
+
+Uno degli aspetti più vantaggiosi della cronologia DNF è la possibilità di annullare (undo) e ripetere (redo) le transazioni.
+
+```bash
+dnf history undo id
+```
+
+```bash
+dnf history redo id
+```
+
+```bash
+sudo dnf history redo 20
+
+Last metadata expiration check: 2:23:20 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Dependencies resolved.
+Nothing to do.
+Complete!
+Warning, the following problems occurred while running a transaction:
+ Package "tar.x86_64" is already installed for action "Install".
+```
+
+Il comando `sudo dnf history redo 20` usato sopra, tentando di ripetere il comando con ID:20 dall'elenco della cronologia DNF, per reinstallare `tar`. Naturalmente, l'operazione è stata visualizzata come “già installata”, poiché era già stata installata in precedenza.
+
+### Ricerca di pacchetti
+
+Cercate qualsiasi pacchetto eseguendo questo comando:
+
+```bash
+sudo dnf search wget
+
+Last metadata expiration check: 2:27:09 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+================================================= Name Exactly Matched: wget =================================================
+wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols
+================================================ Name & Summary Matched: wget ================================================
+perl-HTTP-Tinyish-Wget.noarch : HTTP::Tinyish wget backend
+```
+
+Per cercare più di un pacchetto in un'unica ricerca, eseguite questo comando:
+
+```bash
+sudo dnf search all yum vim
+```
+
+Il comando restituirà un lungo elenco di pacchetti che includono “yum” e “vim”, come nome del pacchetto o come descrizione di altri pacchetti.
+
+### Informazioni sui pacchetti DNF
+
+Per visualizzare le informazioni sui pacchetti, utilizzate questo comando:
+
+```bash
+sudo dnf info perl
+
+Last metadata expiration check: 2:33:15 ago on Mon 05 Feb 2024 08:31:09 PM UTC.
+Available Packages
+Name : perl
+Epoch : 4
+Version : 5.32.1
+Release : 480.el9
+Architecture : x86_64
+Size : 13 k
+Source : perl-5.32.1-480.el9.src.rpm
+Repository : appstream
+Summary : Practical Extraction and Report Language
+URL : https://www.perl.org/
+License : GPL+ or Artistic
+Description : Perl is a high-level programming language with roots in C, sed, awk and shell
+ : scripting. Perl is good at handling processes and files, and is especially
+ : good at handling text. Perl's hallmarks are practicality and efficiency.
+ : While it is used to do a lot of different things, Perl's most common
+ : applications are system administration utilities and web programming.
+ :
+ : This is a metapackage with all the Perl bits and core modules that can be
+ : found in the upstream tarball from perl.org.
+ :
+ : If you need only a specific feature, you can install a specific package
+ : instead. E.g. to handle Perl scripts with /usr/bin/perl interpreter,
+ : install perl-interpreter package. See perl-interpreter description for more
+ : details on the Perl decomposition into packages.
+
+```
+
+Per visualizzare le informazioni su tutti i pacchetti disponibili, sia installati che disponibili in un repository, usare questo comando:
+
+```bash
+sudo dnf repoquery perl --info
+```
+
+Anche se non è sempre così, nel caso precedente il risultato di questo comando è identico a quello del comando `sudo dnf info perl`.
+
+## Configurazione delle repository in DNF
+
+Il file di configurazione di DNF e delle utilità associate si trova in `/etc/dnf/dnf.conf`.
+All'interno di questo file, c'è una sezione obbligatoria [main] che consente la configurazione delle opzioni DNF con effetti globali. Inoltre, può includere una o più sezioni [repository], che consentono di impostare opzioni specifiche per il repository.
+
+Qualsiasi valore specificato nelle sezioni [repository] del file \`/etc/dnf/dnf.conf' avrà la precedenza sui valori impostati nella sezione [main].
+
+```bash
+cat /etc/dnf/dnf.conf
+
+[main]
+gpgcheck=1
+installonly_limit=3
+clean_requirements_on_remove=True
+best=True
+skip_if_unavailable=False
+```
+
+### config-manager di DNF
+
+Per recuperare un elenco completo delle opzioni di configurazione con i rispettivi valori e le informazioni sui repository, utilizzare il comando `dnf config-manager` con l'opzione `--dump`.
+
+```bash
+dnf config-manager --dump
+
+sudo dnf config-manager --dump
+============================================================ main ============================================================
+[main]
+allow_vendor_change = 1
+assumeno = 0
+assumeyes = 0
+autocheck_running_kernel = 1
+bandwidth = 0
+best = 1
+bugtracker_url = https://bugs.rockylinux.org/
+cachedir = /var/cache/dnf
+cacheonly = 0
+check_config_file_age = 1
+clean_requirements_on_remove = 1
+color = auto
+color_list_available_downgrade = magenta
+color_list_available_install = bold,cyan
+color_list_available_reinstall = bold,underline,green
+color_list_available_upgrade = bold,blue
+color_list_installed_extra = bold,red
+color_list_installed_newer = bold,yellow
+color_list_installed_older = yellow
+color_list_installed_reinstall = cyan
+color_search_match = bold,magenta
+color_update_installed = red
+color_update_local = green
+color_update_remote = bold,green
+config_file_path = /etc/dnf/dnf.conf
+countme = 0
+debug_solver = 0
+debuglevel = 2
+defaultyes = 0
+deltarpm = 1
+deltarpm_percentage = 75
+disable_excludes =
+diskspacecheck = 1
+enabled = 1
+enablegroups = 1
+errorlevel = 3
+exclude =
+exclude_from_weak =
+exclude_from_weak_autodetect = 1
+excludepkgs =
+exit_on_lock = 0
+fastestmirror = 0
+gpgcheck = 1
+gpgkey_dns_verification = 0
+group_package_types = mandatory, default, conditional
+history_list_view = commands
+history_record = 1
+history_record_packages = dnf, rpm
+ignorearch = 0
+includepkgs =
+install_weak_deps = 1
+installonly_limit = 3
+installonlypkgs = kernel, kernel-PAE, installonlypkg(kernel), installonlypkg(kernel-module), installonlypkg(vm), multiversion(kernel)
+installroot = /
+ip_resolve = whatever
+keepcache = 0
+localpkg_gpgcheck = 0
+log_compress = 0
+log_rotate = 4
+log_size = 1048576
+logdir = /var/log
+logfilelevel = 9
+max_downloads_per_mirror = 3
+max_parallel_downloads = 3
+metadata_expire = 172800
+metadata_timer_sync = 10800
+minrate = 1000
+module_obsoletes = 0
+module_stream_switch = 0
+multilib_policy = best
+obsoletes = 1
+password =
+persistdir = /var/lib/dnf
+pluginconfpath = /etc/dnf/plugins
+pluginpath = /usr/lib/python3.9/site-packages/dnf-plugins
+plugins = 1
+protect_running_kernel = 1
+protected_packages = dnf, setup, systemd, systemd-udev, dnf, yum, sudo, setup, systemd, systemd-udev, dnf, yum, sudo
+proxy =
+proxy_auth_method = any
+proxy_sslcacert =
+proxy_sslclientcert =
+proxy_sslclientkey =
+proxy_sslverify = 1
+recent = 7
+repo_gpgcheck = 0
+reposdir = /etc/yum.repos.d, /etc/yum/repos.d, /etc/distro.repos.d
+reset_nice = 1
+retries = 10
+rpmverbosity = info
+showdupesfromrepos = 0
+skip_broken = 0
+skip_if_unavailable = 0
+sslcacert =
+sslclientcert =
+sslclientkey =
+sslverify = 1
+sslverifystatus = 0
+strict = 1
+system_cachedir = /var/cache/dnf
+throttle = 0
+timeout = 30
+transformdb = 1
+tsflags =
+upgrade_group_objects_upgrade = 1
+user_agent = libdnf (Rocky Linux 9.3; generic; Linux.x86_64)
+username =
+varsdir = /etc/yum/vars, /etc/dnf/vars
+zchunk = 1
+
+```
+
+## Conclusione
+
+Rocky linux utilizza DNF, il sostituto di nuova generazione di YUM. In questa pagina sono stati mostrati esempi di utilizzo del DNF di base. Per ulteriori informazioni, consultare la [documentazione ufficiale per DNF](https://dnf.readthedocs.io/en/latest/index.html).
diff --git a/docs/guides/package_management/package_build_troubleshooting.it.md b/docs/guides/package_management/package_build_troubleshooting.it.md
index 6473262093..e05e3f7abb 100644
--- a/docs/guides/package_management/package_build_troubleshooting.it.md
+++ b/docs/guides/package_management/package_build_troubleshooting.it.md
@@ -6,11 +6,11 @@ title: Creazione del Pacchetto & Risoluzione dei Problemi
Questo articolo è stato scritto all'inizio del 2021, durante l'avvio di Rocky Linux. Il contenuto di questa pagina è stato conservato per motivi storici, ma è stato leggermente modificato per correggere i collegamenti, fornire un contesto o rimuovere le istruzioni non più pertinenti per evitare confusione. Questo documento sarà archiviato.
-# Per prima cosa, familiarizzare con lo strumento di costruzione Mock:
+# Per prima cosa, familiarizzare con lo strumento di costruzione Mock
Una volta superata, la pagina tecnica e introduttiva più importante per il nostro sforzo di debug dei pacchetti è questa:
-https://wiki.rockylinux.org/archive/legacy/mock_building_guide/
+[https://wiki.rockylinux.org/archive/legacy/mock_building_guide/](https://wiki.rockylinux.org/archive/legacy/mock_building_guide/)
Stiamo usando il programma "mock" per eseguire le nostre build, proprio come farà la vera infrastruttura Rocky. Dovreste installarlo e abituarvi ad usarlo. Utilizzate questa guida per iniziare, spiega un po' cosa speriamo di ottenere e perché dobbiamo costruire tutti questi pacchetti in un ordine specifico.
@@ -20,7 +20,6 @@ Mock è davvero ottimo, in quanto è un programma facile da chiamare che costrui
Utilizzare le configurazioni mock per Rocky Linux fornite dal pacchetto `mock` di EPEL.
-
## Introduzione - Cosa bisogna fare
L'area in cui abbiamo più bisogno di aiuto in questo momento, e il modo più semplice per contribuire, è quello di aiutare a risolvere i problemi di compilazione dei pacchetti che falliscono.
@@ -39,4 +38,4 @@ Esaminare l'errore o gli errori.
Capire cosa sta succedendo e come risolverlo. Può assumere la forma di impostazioni speciali di mock o di una patch aggiunta al programma + specfile. Segnalate le vostre scoperte al canale #Dev/Packaging e qualcuno le registrerà nella pagina Wiki Package_Error_Tracking linkata sopra.
-L'idea è di ridurre la pagina Build Failures e di aumentare la pagina Package_Error_Tracking. Se necessario, verranno apportate delle correzioni di build al nostro repo di patch per i diversi pacchetti che si trova qui: https://git.rockylinux.org/staging/patch.
+L'idea è di ridurre la pagina Build Failures e di aumentare la pagina Package_Error_Tracking. Se necessario, verranno apportate delle correzioni di build al nostro repo di patch per i diversi pacchetti, che si trova qui: .
diff --git a/docs/guides/package_management/package_debranding.it.md b/docs/guides/package_management/package_debranding.it.md
index 8c3de726ec..ba3049e6a5 100644
--- a/docs/guides/package_management/package_debranding.it.md
+++ b/docs/guides/package_management/package_debranding.it.md
@@ -6,16 +6,14 @@ title: Debranding dei Pacchetti
Questo spiega come eseguire il debrand di un pacchetto per la distribuzione Rocky Linux.
-
Istruzioni Generali
In primo luogo, identificare i file nel pacchetto che devono essere cambiati. Possono essere file di testo, file di immagine, o altri. È possibile identificare i file scavando in git.centos.org/rpms/PACKAGE/
Sviluppare dei sostituti per questi file, ma utilizzando invece il marchio Rocky. A seconda del contenuto da sostituire, per alcuni tipi di testo possono essere necessari file diff/patch.
-I file di sostituzione si trovano in https://git.rockylinux.org/patch/PACKAGE/ROCKY/_supporting/ Il file di configurazione (che specifica come applicare le patch) in https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg
-
-Nota: Usa spazi, non tabulazioni. Quando srpmproc importerà il pacchetto in Rocky, si vedrà il lavoro svolto in https://git.rockylinux.org/patch/PACKAGE e applicherà le patch di debranding memorizzate leggendo i file di configurazione sotto ROCKY/CFG/*.cfg
+I file di sostituzione vanno sotto . Il file di configurazione (che specifica come applicare le patch) va in [https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg.](https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg)
+Nota: Usa spazi, non tabulazioni. Quando srpmproc importerà il pacchetto in Rocky, vedrà il lavoro svolto in e applicherà le patch di debranding memorizzate leggendo i file di configurazione sotto ROCKY/CFG/*.cfg
da [pagina wiki di debranding](https://wiki.rockylinux.org/team/release_engineering/debranding/)
diff --git a/docs/guides/package_management/package_dev_start.it.md b/docs/guides/package_management/package_dev_start.it.md
index 6ba0f057f1..c2f082f362 100644
--- a/docs/guides/package_management/package_dev_start.it.md
+++ b/docs/guides/package_management/package_dev_start.it.md
@@ -89,11 +89,11 @@ Per il nostro attuale esempio di sed, i suoi sorgenti saranno memorizzati nella
└── sed.spec
```
-!!! Tip "Suggerimento"
+!!! Tip
Una volta ottenuti i sorgenti originali, potrebbe essere un buon momento per esaminare il file SPECs (`~rocky/rpms/sed/SPECS/specs.spec`) per cercare potenziali opportunità di debranding in un dato pacchetto. Il debranding può comprendere la sostituzione di grafica/loghi a monte e così via.
-!!! Tip "Suggerimento"
+!!! Tip
Se state cercando altri pacchetti Rocky da compilare e sperimentare, potete consultare l'elenco dei pacchetti che attualmente non funzionano nell'ambiente di compilazione automatica di Rocky [qui](https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id)
diff --git a/docs/guides/package_management/package_dev_start.uk.md b/docs/guides/package_management/package_dev_start.uk.md
index 345c1d0dc5..ee71d4bc1b 100644
--- a/docs/guides/package_management/package_dev_start.uk.md
+++ b/docs/guides/package_management/package_dev_start.uk.md
@@ -89,11 +89,11 @@ rockyget sed
└── sed.spec
```
-!!! tip "Порада"
+!!! Tip "Порада"
Коли ви отримаєте вихідні коди, можливо, буде гарний час переглянути файл SPECs (`~rocky/rpms/sed/SPECS/specs.spec`), щоб знайти потенційні можливості дебрендування в даному пакеті. Дебрендінг може включати заміну зображень/логотипів і так далі.
-!!! tip "Порада"
+!!! Tip "Порада"
Якщо ви шукаєте інші пакети Rocky для створення та експериментів, ви можете переглянути список пакетів, які наразі не працюють у автоматизованому середовищі збирання Rocky [тут](https://kojidev.rockylinux.org/koji/builds?state =3&order=-build_id)
diff --git a/docs/guides/proxies/i2pd.it.md b/docs/guides/proxies/i2pd.it.md
new file mode 100644
index 0000000000..1edc2330ec
--- /dev/null
+++ b/docs/guides/proxies/i2pd.it.md
@@ -0,0 +1,90 @@
+---
+title: i2pd Anonymous Network
+author: Neel Chauhan
+contributors:
+tested_with: 9.3
+tags:
+ - proxy
+ - proxies
+---
+
+# i2pd Anonymous Network
+
+## Introduzione
+
+[I2P](https://geti2p.net/en/) è una anonymous overlay network, concorrente della più popolare rete Tor, che si concentra sui siti web nascosti chiamati eepsites. [`i2pd`](https://i2pd.website/) (I2P Daemon) è un'implementazione lightweight in C++ del protocollo I2P.
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
+
+- Un indirizzo IPv4 o IPv6 pubblico, direttamente sul server, con port forwarding o UPnP/NAT-PMP.
+
+## Installazione di `i2pd`
+
+Per installare `i2pd`, è necessario installare prima i repository EPEL (Extra Packages for Enterprise Linux) e `i2pd` copr (Cool Other Package Repo) (Nota: se si utilizza Rocky Linux 8, sostituire `8` con `9`):
+
+```bash
+curl -s https://copr.fedorainfracloud.org/coprs/supervillain/i2pd/repo/epel-9/supervillain-i2pd-epel-9.repo -o /etc/yum.repos.d/i2pd-epel-9.repo
+dnf install -y epel-release
+```
+
+Quindi installare `i2pd`:
+
+```bash
+dnf install -y i2pd
+```
+
+## (Opzionale) Configurare `i2pd`
+
+Con i pacchetti installati, è possibile configurare `i2pd`, se lo si desidera. L'autore usa `vim` per questo esempio, ma è possibilie usare qualsiasi altro editor come`nano`:
+
+```bash
+vim /etc/i2pd/i2pd.conf
+```
+
+Il file \`i2pd.conf' predefinito è abbastanza descrittivo, ma può diventare lungo, se si vuole solo una configurazione di base, lo si può lasciare così com'è.
+
+Tuttavia, se si desidera abilitare IPv6 e UPnP e ascoltare il proxy HTTP sulla porta `12345`, la configurazione che lo consente è la seguente:
+
+```bash
+ipv6 = true
+[httpproxy]
+port = 12345
+[upnp]
+enabled = true
+```
+
+Se si desidera impostare altre opzioni, il file di configurazione è autoesplicativo su tutte le opzioni possibili.
+
+## Abilitare `i2pd`
+
+E' possibile ora abilitare `i2pd`
+
+```bash
+systemctl enable --now i2pd
+```
+
+## Visitare i siti web I2P
+
+In questo esempio, si sta usando Firefox su Rocky Linux. Se non si utilizza Firefox, fare riferimento alla documentazione dell'applicazione per impostare un proxy HTTP.
+
+Aprire Firefox, fare clic sull'icona del menu ad hamburger e andare su **Impostazioni**:
+
+
+
+Spostarsi su **Network Settings** e quindi premere **Settings**
+
+
+
+Selezionare quindi **Manual proxy connection** , inserire `localhost` e `4444` (o la porta selezionata), selezionare **Also use this proxy for HTTPS** e selezionare **OK**.
+
+
+
+Ora è possibile consultare i siti web I2P. Ad esempio, navigare su `http://planet.i2p` (nota: `http://` è importante per impedire a Firefox di scegliere un motore di ricerca predefinito):
+
+
+
+## Conclusione
+
+Con tanti utenti di Internet preoccupati per la privacy online, I2P è l'unico modo per accedere ai siti web nascosti in modo sicuro. `i2pd` è un software leggero che rende possibile la navigazione nei siti web I2P, oltre a condividere la propria connessione come relè.
diff --git a/docs/guides/proxies/i2pd.uk.md b/docs/guides/proxies/i2pd.uk.md
index 921a4a9490..f3f4b76325 100644
--- a/docs/guides/proxies/i2pd.uk.md
+++ b/docs/guides/proxies/i2pd.uk.md
@@ -1,7 +1,7 @@
---
title: Анонімна мережа i2pd
author: Neel Chauhan
-contributors: null
+contributors:
tested_with: 9.3
tags:
- proxy
diff --git a/docs/guides/proxies/pound.it.md b/docs/guides/proxies/pound.it.md
deleted file mode 100644
index d8a9a242a2..0000000000
--- a/docs/guides/proxies/pound.it.md
+++ /dev/null
@@ -1,469 +0,0 @@
----
-title: Pound
-author: Steven Spencer
-contributors: Ganna Zhyrnova
-tested_with: 8.5, 8.6
-tags:
- - proxy
- - proxies
----
-
-# Server proxy pound
-
-!!! warning "Pound mancante in EPEL-9"
-
- Al momento, su Rocky Linux 9.0, Pound non può essere installato dal repository EPEL. Sebbene esistano fonti per i pacchetti SRPM, non possiamo verificarne l'integrità. Per questo motivo, al momento non è consigliabile installare il server proxy Pound su Rocky Linux 9.0. La situazione potrebbe cambiare se l'EPEL tornasse ad occuparsi di Pound. Utilizzare questa procedura specificamente per le versioni Rocky Linux 8.x.
-
-## Introduzione
-
-Pound è un reverse proxy e load balancer indipendente dal server web, semplice da configurare e gestire. Non utilizza un servizio web, ma ascolta le porte del servizio web (http, https).
-
-Esistono molte opzioni di server proxy, alcune delle quali sono citate in queste pagine di documentazione. Un documento sull'uso di [HAProxy è qui](haproxy_apache_lxd.md) e riferimenti all'applicazione di Nginx come reverse proxy esistono in altri documenti.
-
-I servizi di bilanciamento del carico sono molto utili in un ambiente di server web molto trafficato. Esistono molti server proxy, tra cui il già citato HAProxy, e vengono utilizzati per molti tipi di servizi.
-
-Nel caso di Pound, è utilizzabile solo per i servizi web, ma è efficace in ciò che fa.
-
-## Prerequisiti e presupposti
-
-I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
-
-- Il desiderio di bilanciare il carico tra alcuni siti web o la volontà di imparare un nuovo strumento per fare lo stessa cosa.
-- La possibilità di eseguire comandi come utente root o di usare `sudo` per elevare i privilegi.
-- Familiarità con un editor a riga di comando. L'autore utilizza `vi` o `vim`, ma potete sostituirlo con il vostro editor preferito.
-- La comodità di cambiare le porte di ascolto su alcuni tipi di server web.
-- Supponendo l'installazione precedente dei server Nginx e Apache.
-- Supponendo che si stiano usando server Rocky Linux o container per ogni cosa.
-- Sebbene in questo documento siano presenti tutti i tipi di dichiarazioni relative a `https`, questa guida si occupa solo del servizio `http`. Per utilizzare correttamente l'`https`, è necessario configurare il server pound con un vero certificato di una vera autorità di certificazione.
-
-!!! tip "Suggerimento"
-
- Se non avete installato nessuno di questi server, potete farlo su un ambiente di container (LXD o Docker) o su una macchina fisica e metterli in funzione. Per questa procedura, è necessario installarli con i rispettivi pacchetti e abilitare e avviare i servizi. Non li modificheremo in modo significativo.
-
- ```
- dnf -y install nginx && systemctl enable --now nginx
- ```
-
-
- o
-
- ```
- dnf -y install httpd && systemctl enable --now httpd
- ```
-
-## Convenzioni
-
-Per questa procedura, utilizzeremo due server web (noti come server back end), uno con Nginx (192.168.1.111) e uno con Apache (192.168.1.108).
-
-Il nostro server Pound (192.168.1.103) è il gateway.
-
-Le porte di ascolto dei server back end saranno 8080 per il server Nginx e 8081 per il server Apache. (In basso viene presentato tutto.)
-
-!!! note "Nota"
-
- Ricordate di cambiare gli IP associati con quelli del vostro ambiente e di sostituirli, se necessario, nel corso di questa procedura.
-
-## Installazione del server Pound
-
-Per installare Pound, è necessario installare prima EPEL (Extra Packages for Enterprise Linux) ed eseguire gli aggiornamenti:
-
-```bash
-dnf -y install epel-release && dnf -y update
-```
-
-Quindi installare Pound. (Sì, è una "P" maiuscola):
-
-```bash
-dnf -y install Pound
-```
-
-## Configurazione di Pound
-
-Una volta installati i pacchetti, è necessario configurare Pound. L'autore usa `vi` per aggiornare questo documento, ma se preferite `nano` o qualcos'altro, sostituitelo pure:
-
-```bash
-vi /etc/pound.cfg
-```
-
-Il file contiene informazioni predefinite, che rendono facile individuare la maggior parte dei componenti predefiniti di Pound:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 0.0.0.0
- Port 80
-End
-
-ListenHTTPS
- Address 0.0.0.0
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 127.0.0.1
- Port 8000
- End
-
- BackEnd
- Address 127.0.0.1
- Port 8001
- End
-End
-```
-
-### Uno sguardo più approfondito
-
-- Lo "User" e il "Group" - inseriti durante l'installazione
-- Il file "Control" non viene utilizzato da nessuna parte
-- La sezione "ListenHTTP" rappresenta il servizio `http` (Porta 80) e l'"Address" su cui il proxy ascolterà. Si cambierà questo indirizzo con l'IP effettivo del nostro server Pound.
-- La sezione "ListenHTTPS" rappresenta il servizio `https` (Porta 443) e l'"Address" su cui il proxy ascolterà. Si cambierà questo indirizzo con l'IP del server Pound.
-- L'opzione "Cert" è il certificato autofirmato fornito dal processo di installazione di Pound. In un ambiente di produzione, si desidera sostituire questo certificato con un certificato reale utilizzando una delle seguenti procedure: [Generazione di chiavi SSL](../security/ssl_keys_https.md) or [Chiavi SSL con Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
-- La sezione "Service" configura i server "BackEnd" con le loro porte di ascolto. È possibile avere quanti server "BackEnd" si desiderano.
-
-### Modifica della configurazione
-
-- cambiare l'indirizzo IP in ciascuna opzione di ascolto con l'indirizzo IP del nostro server Pound, 192.168.1.103
-- cambiare gli indirizzi IP e le porte nelle sezioni "BackEnd" in modo che corrispondano alla nostra configurazione trovata in "Convenzioni" sopra (IP e porte)
-
-Una volta terminata la modifica della configurazione, il file avrà un aspetto simile a questo:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 192.168.1.103
- Port 80
-End
-
-ListenHTTPS
- Address 192.168.1.103
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 192.168.1.111
- Port 8080
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
-End
-```
-
-## Configurazione di Nginx per l'ascolto su 8080
-
-Poiché nella nostra configurazione di Pound la porta di ascolto di Nginx è stata impostata su 8080, è necessario apportare questa modifica anche al server Nginx in uso. Per farlo, modificare il file `nginx.conf`:
-
-```bash
-vi /etc/nginx/nginx.conf
-```
-
-È sufficiente modificare la riga "listen" con il nuovo numero di porta:
-
-```bash
-listen 8080 default_server;
-```
-
-Salvare le modifiche e riavviare il servizio nginx:
-
-```bash
-systemctl restart nginx
-```
-
-## Configurazione di Apache in ascolto su 8081
-
-Poiché nella configurazione di Pound è stata impostata la porta di ascolto per Apache a 8081, è necessario apportare questa modifica anche al server Apache in esecuzione. Per farlo, è necessario modificare il file `httpd.conf`:
-
-```bash
-vi /etc/httpd/conf/httpd.conf
-```
-
-Si desidera modificare la riga "Listen" con il nuovo numero di porta:
-
-```bash
-Listen 8081
-```
-
-Salvate le modifiche e riavviate il servizio httpd:
-
-```bash
-systemctl restart httpd
-```
-
-## Test e avvio
-
-Una volta che i servizi web sono attivi e funzionanti e in ascolto sulle porte giuste su ciascuno dei server, il passo successivo è quello di attivare il servizio pound sul server Pound:
-
-```bash
-systemctl enable --now pound
-```
-
-!!! warning "Attenzione"
-
- Utilizzando Nginx e Apache, come fatto qui a titolo dimostrativo, il server Nginx risponderà quasi sempre per primo. Per questo motivo, per eseguire un test efficace, è necessario assegnare una priorità bassa al server Nginx, in modo da poter vedere entrambe le schermate. Questo la dice lunga sulla velocità di Nginx rispetto ad Apache. Per modificare la priorità del server Nginx, basta aggiungere una priorità (da 1 a 9, dove 9 è la priorità più bassa) nella sezione "BackEnd" del server Nginx, in questo modo:
-
- ```
- BackEnd
- Address 192.168.1.111
- Port 8080
- Priority 9
- End
- ```
-
-Quando si apre l'IP del server proxy in un browser web, viene visualizzata una di queste due schermate:
-
-
-
-Oppure
-
-
-
-## Utilizzare Emergency
-
-Una cosa che potrebbe essere necessario fare quando si utilizza un bilanciatore di carico come Pound, è di mettere fuori linea i server di produzione per la manutenzione o di avere un "BackEnd" di riserva per un'interruzione completa. Questo viene fatto con la dichiarazione "Emergency" nel file `pound.conf`. È possibile avere una sola dichiarazione di "Emergency" per servizio. Nel nostro caso, questo comparirà alla fine della sezione "Service" del nostro file di configurazione:
-
-```bash
-...
-Service
- BackEnd
- Address 192.168.1.117
- Port 8080
- Priority 9
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
- Emergency
- Address 192.168.1.104
- Port 8000
- End
-End
-```
-
-Questo server potrebbe mostrare solo un messaggio che dice "Down for Maintenance".
-
-## Considerazioni sulla sicurezza
-
-Un aspetto che la maggior parte dei documenti che trattano il bilanciamento del carico dei server proxy non affronta è quello della sicurezza. Ad esempio, se si tratta di un server web pubblico, è necessario che i servizi `http` e `https` siano aperti al mondo sul proxy di bilanciamento del carico. Ma che dire dei server "BackEnd"?
-
-È necessario accedere a queste porte solo dal server Pound, ma poiché il server Pound reindirizza a 8080 o 8081 sui server BackEnd e poiché i server BackEnd hanno `http` in ascolto su queste porte successive, è possibile utilizzare i nomi dei servizi per i comandi del firewall su questi server BackEnd.
-
-Questa sezione si occuperà di questi problemi e dei comandi `firewalld` necessari per bloccare tutto.
-
-!!! warning "Attenzione"
-
- Il presupposto è che abbiate accesso diretto ai server in questione e che non siate in remoto. Se siete in remoto, fate molta attenzione quando rimuovete i servizi da una zona `firewalld`!
-
- Potreste chiudervi accidentalmente fuori dal vostro server.
-
-### Firewall - server Pound
-
-Per il server Pound, si desidera consentire `http` e `https` dal mondo. È meglio valutare se è necessario consentire `ssh` dal mondo o meno. Se si lavora in locale sul server, questo probabilmente **NON** è il caso. L'autore ipotizza che il server sia disponibile attraverso la rete locale e che si abbia accesso diretto ad esso, quindi si bloccherà `ssh` agli IP della propria LAN.
-
-Per farlo, si utilizzerà il firewall integrato di Rocky Linux, `firewalld` e la struttura di comandi `firewall-cmd`. Si utilizzeranno anche due zone integrate, "public" e "trusted", per non complicare le cose.
-
-Iniziare aggiungendo i nostri IP di origine alla zona "trusted". Questa è la nostra LAN (nel nostro esempio: 192.168.1.0/24):
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-```
-
-Aggiungiamo quindi il servizio `ssh` alla zona:
-
-```bash
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-```
-
-E ricaricare il firewall con:
-
-```bash
-firewall-cmd --reload
-```
-
-Elencate la zona in modo da poter vedere tutto con `firewall-cmd --zone=trusted --list-all` che vi darà qualcosa di simile a questo:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-
-```
-
-Successivamente è necessario apportare le modifiche alla zona "public", che per impostazione predefinita ha il servizio `ssh` abilitato. Questo deve essere accuratamente rimosso (ancora una volta, l'autore presume che **NON** siate in remoto sul server!) con quanto segue:
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-```
-
-Dobbiamo anche aggiungere i servizi `http` e `https`:
-
-```bash
-firewall-cmd --zone=public --add-service=http --add-service=https --permanent
-```
-
-Quindi è necessario ricaricare il firewall prima di poter vedere le modifiche:
-
-```bash
-firewall-cmd --reload
-```
-
-Elencare la zona pubblica con `firewall-cmd --zone=public --list-all` che mostrerà qualcosa di simile a questo:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Queste sono le uniche modifiche necessarie al nostro bilanciatore di carico del server pound nell'ambiente di laboratorio.
-
-### Firewall - server di back end
-
-Per i server "BackEnd", non è necessario consentire l'accesso dal mondo per nessun motivo. È necessario consentire `ssh` dagli IP della LAN e `http` e `https` dal nostro bilanciatore di carico Pound.
-
-Questo è praticamente tutto.
-
-Anche in questo caso, si aggiungerà il servizio `ssh` alla zona "trusted", con gli stessi comandi utilizzati per il server pound. Aggiungete quindi una zona chiamata "balance" che userete per i restanti `http` e `https` e impostate gli IP di origine su quelli del bilanciatore di carico.
-
-Per semplificare le cose, utilizzare tutti i comandi utilizzati per la zona "trusted" in un'unica serie di comandi:
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=trusted --list-all
-```
-
-Dopo, la zona "trusted " avrà il seguente aspetto:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Ancora una volta, testate la regola `ssh` da un IP della LAN e poi rimuovete il servizio `ssh` dalla zona "public". **Ricordate l'avvertimento precedente e fatelo solo se avete accesso locale al server!**
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=public --list-all
-```
-
-La zona pubblica avrà ora il seguente aspetto:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Aggiungere una nuova zona per gestire `http` e `https`. Ricordate che l'IP di origine deve essere solo il vostro bilanciatore di carico (nel nostro esempio: 192.168.1.103):
-
-!!! note "Nota"
-
- Una nuova zona deve essere aggiunta con l'opzione `--permanent` e non può essere utilizzata finché il firewall non viene ricaricato. Inoltre, non dimenticare di impostare `-set-target=ACCEPT` per questa zona!
-
-```bash
-firewall-cmd --new-zone=balance --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --set-target=ACCEPT
-firewall-cmd --zone=balance --add-source=192.168.1.103 --permanent
-firewall-cmd --zone=balance --add-service=http --add-service=https --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --list-all
-```
-
-Il risultato:
-
-```bash
-balance (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.103
- services: http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Ripetere questi passaggi sull'altro back end del server web.
-
-Una volta aggiunte le regole del firewall al tutto, testate nuovamente il vostro server Pound dal browser della vostra workstation.
-
-## Altre informazioni
-
-Sono *molte* le opzioni utilizzabili nel file `pound.conf`, tra cui le direttive per i messaggi di errore, le opzioni di registrazione, i valori di time out e altro ancora. Per conoscere la disponibilità si può consultare il sito [guardando qui.](https://linux.die.net/man/8/pound)
-
-Convenientemente, Pound capisce automaticamente se uno dei server "BackEnd" è off-line e lo disabilita in modo che i servizi web possano continuare senza ritardi. Inoltre, li rivede automaticamente quando tornano in linea.
-
-## Conclusione
-
-Pound offre un'altra opzione per chi non vuole usare HAProxy o Nginx per il bilanciamento del carico.
-
-Pound come server di bilanciamento del carico è molto facile da installare, configurare e utilizzare. Come si è detto, è possibile usare Pound come reverse proxy, ed esistono molte opzioni di proxy e bilanciamento del carico.
-
-Inoltre, è necessario tenere sempre presente la sicurezza quando si configura qualsiasi servizio, compreso un server proxy di bilanciamento del carico.
diff --git a/docs/guides/proxies/pound.ko.md b/docs/guides/proxies/pound.ko.md
deleted file mode 100644
index 9b61fee695..0000000000
--- a/docs/guides/proxies/pound.ko.md
+++ /dev/null
@@ -1,467 +0,0 @@
----
-title: Pound
-author: Steven Spencer
-contributors:
-tested_with: 8.5, 8.6
-tags:
- - proxy
- - proxies
----
-
-# 파운드 프록시 서버
-
-!!! 경고 "EPEL-9에서 파운드 누락"
-
- 현재 기록된 시점에서 Rocky Linux 9.0에서는 EPEL 저장소에서 Pound를 설치할 수 없습니다. SRPM 패키지에 대한 소스는 다른 곳에서 찾을 수 있지만, 이러한 소스들의 무결성을 검증할 수 없습니다. 따라서 현재는 Rocky Linux 9.0에 Pound 프록시 서버를 설치하는 것을 권장하지 않습니다. EPEL이 다시 Pound를 지원하기 시작하면 상황이 달라질 수 있습니다. 이 프로시저는 특히 Rocky Linux 8.x 버전을 대상으로 합니다.
-
-## 소개
-
-Pound는 웹 서버에 구애받지 않는 리버스 프록시 및 로드 밸런서로서 설정과 관리가 매우 간단합니다. Pound 자체로는 웹 서비스를 사용하지 않지만 웹 서비스 포트 (http, https)에서 수신합니다.
-
-이제 많은 프록시 서버 옵션이 있으며 일부는 이 설명서 페이지에서 참조됩니다. [HAProxy here](haproxy_apache_lxd.md) 사용에 대한 문서가 있으며 다른 문서에는 리버스 프록시에 Nginx를 사용하는 참조가 있습니다.
-
-로드 밸런싱 서비스는 활발한 웹 서버 환경에 매우 유용합니다. 이전에 언급한 HAProxy를 비롯한 많은 프록시 서버는 다양한 서비스 유형에 사용될 수 있습니다.
-
-Pound의 경우 웹 서비스에만 사용할 수 있지만 자신의 역할을 잘 수행합니다.
-
-## 전제 조건 및 가정
-
-이 프로시저를 사용하기 위해 다음이 최소 요구 사항입니다:
-
-* 일부 웹 사이트 간 로드 밸런싱을 하려는 의도, 또는 새로운 도구를 배우려는 의도
-* root 사용자로 명령을 실행하거나 `sudo`를 사용하여 root 권한 획득할 수 있는 능력
-* 커맨드 라인 에디터에 익숙합니다. 우리는 여기서 `vi` 또는 `vim`을 사용하고 있지만, 원하는 에디터로 대체해도 좋습니다.
-* 일부 종류의 웹 서버의 수신 포트를 변경하는 데 편안함
-* Nginx와 Apache 서버가 모두 이미 설치되어 있다고 가정합니다.
-* Rocky Linux 서버 또는 컨테이너를 사용하고 있다고 가정합니다.
-* 아래에서 설명하는 `https`에 대한 다양한 선언을 기억하세요. 이 가이드는 오로지 `http` 서비스에 대해서만 다룹니다. `https`를 제대로 구성하려면 실제 인증 기관에서 받은 실제 인증서로 Pound 서버를 구성해야 합니다.
-
-!!! tip "팁"
-
- 아직 이 두 서버 중 하나도 설치하지 않았다면, 컨테이너 환경(LXD 또는 Docker) 또는 베어 메탈에서 설치하고 실행할 수 있습니다. 이 프로시저에서는 해당 패키지로 설치하고 서비스를 활성화하고 시작하는 것만 필요합니다. 우리는 이들을 현저하게 변경하지 않을 것입니다.
-
- ```
- dnf -y install nginx && systemctl enable --now nginx
- ```
-
-
- 또는
-
- ```
- dnf -y install httpd && systemctl enable --now httpd
- ```
-
-## 규칙
-
-이 프로시저에서는 두 개의 웹 서버(백엔드 서버라고 함)를 사용할 예정이며, 하나는 Nginx(192.168.1.111), 다른 하나는 Apache(192.168.1.108)가 실행됩니다.
-
-Pound 서버(192.168.1.103)가 게이트웨이 역할을 합니다.
-
-We will be switching our listen ports on both of the back end servers to 8080 for the Nginx server and 8081 for the Apache server. 아래에서 모두 자세히 설명하니 현재는 걱정할 필요가 없습니다.
-
-!!! note
-
- 연관된 IP를 환경에 따라 실제 IP로 변경하고 이를 해당 프로시저 내에서 적용하십시오.
-
-## 파운드 서버 설치
-
-Pound를 설치하려면 먼저 EPEL(Extra Packages for Enterprise Linux)을 설치하고 EPEL에 새로운 사항이 있는 경우에 대비하여 업데이트를 실행해야 합니다:
-
-```
-dnf -y install epel-release && dnf -y update
-```
-
-그런 다음 단순히 Pound를 설치합니다. (네, "P"는 대문자로 해야 합니다.):
-
-```
-dnf -y install Pound
-```
-
-## 파운드 구성
-
-패키지가 설치되면 Pound를 구성해야 합니다. `vi`를 사용하여 업데이트할 것입니다만, `nano` 또는 다른 것을 선호하는 경우 해당 에디터로 대체하세요:
-
-```bash
-vi /etc/pound.cfg
-```
-
-파일은 기본 정보로 설정되어 있어 Pound의 대부분의 기본 구성 요소를 쉽게 확인할 수 있습니다:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 0.0.0.0
- Port 80
-End
-
-ListenHTTPS
- Address 0.0.0.0
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 127.0.0.1
- Port 8000
- End
-
- BackEnd
- Address 127.0.0.1
- Port 8001
- End
-End
-```
-
-### 자세히 살펴 보기
-
-* "User"와 "Group"은 설치할 때 처리되었습니다.
-* "Control" 파일은 어디에서도 사용되지 않는 것으로 보입니다.
-* "ListenHTTP" 섹션은 서비스 `http` (포트 80)를 나타내며 프록시가 수신 대기할 "Address"입니다. 이를 실제 Pound 서버의 IP로 변경할 것입니다.
-* "ListenHTTPS" 섹션은 서비스 `https` (포트 443)를 나타내며 프록시가 수신 대기할 "Address"입니다. 위와 마찬가지로 Pound 서버의 IP로 변경할 것입니다. "Cert" 옵션은 Pound 설치 프로세스에서 제공하는 자체 서명된 인증서입니다. 실제 환경에서는 이를 실제 인증서로 대체해야 합니다. 이를 위해 다음 중 하나의 프로시저를 사용할 수 있습니다: [SSL 키 생성](../security/ssl_keys_https.md) 또는 \[Let's Encrypt를 사용한 SSL 키\](../security/ generation_ssl_keys_lets_encrypt.md).
-* "Service" 섹션에서는 "BackEnd" 서버가 구성되고 수신 포트가 설정됩니다. 필요에 따라 여러 "BackEnd" 서버를 가질 수 있습니다.
-
-### 구성 변경
-
-* 두 수신 옵션에서 IP 주소를 파운드 서버 IP인 192.168.1.103으로 변경합니다.
-* 위의 "Conventions"(IP 및 포트)에 있는 구성과 일치하도록 "BackEnd" 섹션 아래의 IP 주소 및 포트를 변경합니다.
-
-구성을 모두 수정한 후 다음과 같은 변경된 파일이 있어야 합니다:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 192.168.1.103
- Port 80
-End
-
-ListenHTTPS
- Address 192.168.1.103
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 192.168.1.111
- Port 8080
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
-End
-```
-
-## 8080에서 수신 대기하도록 Nginx 구성
-
-Pound 구성에서 Nginx의 수신 포트를 8080으로 설정했으므로 실행 중인 Nginx 서버에서도 해당 변경을 수행해야 합니다. 이를 위해 `nginx.conf`를 수정합니다.
-
-```bash
-vi /etc/nginx/nginx.conf
-```
-
-"listen" 라인을 새 포트 번호로 변경합니다.
-
-```bash
-listen 8080 default_server;
-```
-
-변경 사항을 저장한 다음 nginx 서비스를 다시 시작합니다.
-
-```
-systemctl restart nginx
-```
-
-## 8081에서 수신 대기하도록 Apache 구성
-
-Pound 구성에서 Apache의 수신 포트를 8081로 설정했으므로 실행 중인 Apache 서버에서도 해당 변경을 수행해야 합니다. 이를 위해 `httpd.conf`를 수정합니다.
-
-```bash
-vi /etc/httpd/conf/httpd.conf
-```
-
-"Listen" 라인을 새 포트 번호로 변경합니다.
-
-```bash
-Listen 8081
-```
-
-변경 사항을 저장한 후 httpd 서비스를 다시 시작합니다.
-
-```
-systemctl restart httpd
-```
-
-## 테스트 및 켜기
-
-각 웹 서비스가 올바른 포트로 실행되고 수신하도록 설정한 후, 다음 단계는 Pound 서버에서 pound 서비스를 시작하는 것입니다.
-
-```
-systemctl enable --now pound
-```
-
-!!! 주의
-
- 여기서 데모하듯이 Nginx와 Apache를 사용하는 경우 대부분의 경우 Nginx 서버가 항상 먼저 응답할 것입니다. 따라서 효과적으로 테스트하려면 Nginx 서버에 낮은 우선순위를 할당하여 두 개의 화면을 모두 볼 수 있어야 합니다. 이는 Apache에 비해 Nginx의 속도를 보여주는 것입니다. Nginx 서버의 우선순위를 변경하려면 다음과 같이 "BackEnd" 섹션에서 우선순위(1-9, 9가 가장 낮은 우선순위)를 추가하면 됩니다.
-
- ```
- BackEnd
- Address 192.168.1.111
- Port 8080
- Priority 9
- End
- ```
-
-웹 브라우저에서 프록시 서버 IP를 열면 두 가지 중 하나의 화면을 볼 수 있어야 합니다:
-
-
-
-또는
-
-
-
-## 긴급 사용
-
-예를 들어, Pound와 같은 로드 밸런서를 사용하는 경우, 프로덕션 서버를 유지 보수하거나 완전한 중단 시 "BackEnd"에 대한 후퇴 백엔드를 가져야 할 수 있습니다. 이를 `pound.conf` 파일의 "Emergency" 선언으로 수행할 수 있습니다. 한 번에 하나의 "Emergency" 선언만 허용됩니다. 우리의 경우, 이것은 구성 파일의 "Service" 섹션의 끝에 나타날 것입니다.
-
-```
-...
-Service
- BackEnd
- Address 192.168.1.117
- Port 8080
- Priority 9
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
- Emergency
- Address 192.168.1.104
- Port 8000
- End
-End
-```
-
-이 서버는 "Down For Maintenance"라는 메시지만 표시할 수 있습니다.
-
-## 보안 고려 사항
-
-로드 밸런싱 프록시 서버와 관련하여 대부분의 문서에서 다루지 않는 보안 문제도 있습니다. 예를 들어, 이것이 공개적으로 공개되는 웹 서버인 경우, 프록시가 전 세계에서 `http` 및 `https` 서비스를 사용할 필요가 있습니다. 그러나 "BackEnd" 서버는 어떻게 해야 할까요?
-
-"BackEnd" 서버는 Pound 서버 자체에서만 해당 포트로 액세스해야 하지만, Pound 서버가 BackEnd 서버로 8080 또는 8081로 리디렉션하고 BackEnd 서버가 해당 후속 포트에서 `http`를 수신하기 때문에 방화벽 명령에 서비스 이름을 사용할 수 있습니다.
-
-이 섹션에서는 이러한 고려 사항과 모든 것을 제한하는 데 필요한 `firewalld` 명령을 다룰 것입니다.
-
-!!! !!!
-
- 여기서는 서버에 직접 액세스할 수 있으며 원격에 있지 않다고 가정합니다. 원격으로 접속 중인 경우 `firewalld` 영역에서 서비스를 제거할 때 매우 조심해야 합니다!
-
- 실수로 서버에 접속할 수 없게 될 수 있습니다.
-
-### 방화벽 - Pound 서버
-
-위에서 언급한 대로 Pound 서버의 경우, 전 세계에서 `http` 와 `https`를 허용하려고 합니다. `ssh`도 전 세계에서 허용해야 할지 고려해야 합니다. 서버에 로컬인 경우에는 아마 **NOT** 일 것입니다. 여기에 있는 서버는 로컬 네트워크를 통해 사용할 수 있고 직접 액세스할 수 있다고 가정하므로 LAN IP에`ssh` 를 잠글 것입니다.
-
-이를 위해 Rocky Linux에 내장된 방화벽인 `firewalld`와 `firewall-cmd` 명령 구조를 사용합니다. 간단하게 하기 위해 "public" 및 "trusted"라는 두 개의 내장된 zone도 사용합니다.
-
-먼저 "trusted" zone에 소스 IP를 추가하여 우리의 LAN을 추가합니다. 이것이 우리의 LAN입니다(예: 192.168.1.0/24).
-
-```
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-```
-
-다음으로 `ssh` 서비스를 zone에 추가합니다:
-
-```
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-```
-
-모든 작업이 완료되면 방화벽을 다시 로드하고 변경 사항을 확인합니다:
-
-```
-firewall-cmd --reload
-```
-
-그런 다음 "trusted" zone을 보려면 `firewall-cmd --zone=trusted --list-all`를 사용하여 다음과 같은 결과를 얻을 수 있습니다:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-
-```
-
-다음으로 기본적으로 `ssh` 서비스가 활성화된 "public" 영역을 변경해야 합니다. 이를 조심스럽게 제거해야 합니다(다시 말씀드리지만, 여기서는 사용자가 서버에 원격이 **아니라고** 가정합니다!):
-
-```
-firewall-cmd --zone=public --remove-service=ssh --permanent
-```
-또한 `http` 및 `https` 서비스를 추가해야 합니다.
-
-```
-firewall-cmd --zone=public --add-service=http --add-service=https --permanent
-```
-
-그런 다음 변경 사항을 확인하려면 방화벽을 다시 로드해야 합니다.
-
-```
-firewall-cmd --reload
-```
-
-그런 다음 `firewall-cmd --zone=public --list-all`l을 사용하여 public zone을 확인하면 다음과 같은 결과가 표시됩니다:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-우리의 lab 환경에서는 이것으로 Pound 서버 로드 밸런서를 모두 제한합니다.
-
-### 방화벽 - 백엔드 서버
-
-"백엔드" 서버에 대해선, 전체적으로 세계에서 접근할 필요가 없으며, 리스닝 포트는 로드 밸런서에서 사용할 예정입니다. LAN IP에서 `ssh`를 허용해야 하며, pound 로드 밸런서로부터 `http` 및 `https`를 허용해야 합니다.
-
-거의 다 됐습니다.
-
-위의 방법과 거의 동일한 명령어로 "trusted" zone에 `ssh` 서비스를 추가합니다. 그런 다음 "balance"라는 새로운 zone을 추가하고 `http` 및 `https`를 처리할 것입니다. 아직 재밌게 하고 있나요?
-
-빨리 하기 위해 단일 명령 집합에서 "trusted" 영역에 사용한 모든 명령을 사용하겠습니다.
-
-```
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=trusted --list-all
-```
-
-이후 "trusted" 영역은 다음과 같아야 합니다.
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-다시 LAN의 IP에서 `ssh` 규칙을 테스트한 다음 "public" 영역에서 `ssh`서비스를 제거합니다. **위의 경고를 기억하고 서버에 대한 로컬 액세스 권한이 있는 경우에만 이 작업을 수행하십시오!**
-
-```
-firewall-cmd --zone=public --remove-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=public --list-all
-```
-
-public zone은 이제 다음과 같아야 합니다.
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Now let's add that new zone to deal with `http` and `https`. 이때 소스 IP는 로드 밸런서만 포함해야 합니다 (예: 192.168.1.103).
-
-!!! 주의
-
- 새로운 zone은 반드시 `--permanent` 옵션으로 추가해야 하며, 방화벽이 다시 로드되기 전까지 사용할 수 없습니다. 또한 이 zone에 대해 `--set-target=ACCEPT` 를 사용하는 것을 잊지 마세요!
-
-```
-firewall-cmd --new-zone=balance --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --set-target=ACCEPT
-firewall-cmd --zone=balance --add-source=192.168.1.103 --permanent
-firewall-cmd --zone=balance --add-service=http --add-service=https --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --list-all
-```
-
-결과는 다음과 같아야 합니다:
-
-```bash
-balance (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.103
- services: http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-다른 웹 서버 백엔드에서도 동일한 단계를 반복합니다.
-
-모든 서버에 방화벽 규칙을 추가한 후 워크스테이션 브라우저에서 pound 서버를 다시 테스트합니다.
-
-## 기타 정보
-
-`pound.conf` 파일에는 에러 메시지 지시문, 로깅 옵션, 타임아웃 값 등이 포함될 수 있는 *많은* 옵션이 있습니다. 이용 가능한 자세한 정보는 [여기를 참조](https://linux.die.net/man/8/pound)하세요.
-
-Pound는 자동으로 "BackEnd" 서버 중 하나가 오프라인인 경우 이를 비활성화하여 웹 서비스를 지연 없이 계속 실행합니다. 다시 온라인이 되면 자동으로 인식합니다.
-
-## 결론
-
-Pound는 HAProxy 또는 Nginx를 사용하고 싶지 않은 사용자들을 위해 로드 밸런싱으로 사용할 수 있는 다른 옵션을 제공합니다.
-
-Pound는 로드 밸런싱 서버로서 매우 쉽게 설치, 설정 및 사용할 수 있습니다. 여기에서 설명한 대로 Pound는 리버스 프록시로서도 사용할 수 있으며, 프록시 및 로드 밸런싱에 대한 다양한 옵션이 있습니다.
-
-서비스를 설정할 때 보안을 항상 염두에 두는 것이 중요합니다. 로드 밸런싱 프록시 서버를 포함하여 모든 서비스를 설정할 때도 보안에 유의해야 합니다.
diff --git a/docs/guides/proxies/pound.md b/docs/guides/proxies/pound.md
deleted file mode 100644
index 8164eb237a..0000000000
--- a/docs/guides/proxies/pound.md
+++ /dev/null
@@ -1,468 +0,0 @@
----
-title: Pound
-author: Steven Spencer
-contributors: Ganna Zhyrnova
-tested_with: 8.5, 8.6
-tags:
- - proxy
- - proxies
----
-
-# Pound proxy server
-
-!!! warning "Pound Missing from EPEL-9"
-
- As of this writing, on Rocky Linux 9.0, Pound cannot be installed from the EPEL repository. While there are sources out there for SRPM packages, we can not verify the integrity of these sources. For this reason, we do not recommend installing the Pound proxy server on Rocky Linux 9.0 at this time. This may change if the EPEL once again picks up Pound. Use this procedure specifically for Rocky Linux 8.x versions.
-
-## Introduction
-
-Pound is a web server agnostic reverse proxy and load balancer that is simplistic to setup and manage. It does not use a web service, but does listens on the web service ports (http, https).
-
-Now, many proxy server options exist, some referenced in these documentation pages. A document on using [HAProxy is here](haproxy_apache_lxd.md) and references to applying Nginx for a reverse proxy exist in other documents.
-
-Load balancing services are quite useful for a busy web server environment. Many proxy servers exist, including the previously mentioned HAProxy, and have uses for many service types.
-
-In the case of Pound, it is only usable for web services, but it is good at what it does.
-
-## Prerequisites and assumptions
-
-The following are minimum requirements for using this procedure:
-
-- A desire to load balance between a few websites, or the willingness to learn a new tool to do the same.
-- The ability to run commands as the root user or use `sudo` to elevate privileges.
-- Familiarity with a command-line editor. The author is using `vi` or `vim` here, but substitute in your favorite editor.
-- Comfort with changing the listen ports on a few types of web servers.
-- Assuming the earlier installation of the Nginx and Apache servers.
-- Assuming that you are using Rocky Linux servers or containers for everything here.
-- While all kinds of statements regarding `https` are in this document, this guide only deals with the `http` service. To properly do `https`, you will need to configure your pound server with a real certificate from a real certificate authority.
-
-!!! tip
-
- If you do not have either of these servers installed, you can do so on a container environment (LXD or Docker) or on bare metal, and get them up and running. For this procedure, you must install them with their respective packages and enable and start the services. We will not be modifying them significantly in any way.
-
- ```
- dnf -y install nginx && systemctl enable --now nginx
- ```
-
- or
-
- ```
- dnf -y install httpd && systemctl enable --now httpd
- ```
-
-## Conventions
-
-For this procedure, we are going to be using two web servers (known as back end servers), one running Nginx (192.168.1.111) and one running Apache (192.168.1.108).
-
-Our Pound server (192.168.1.103) is the gateway.
-
-You will be switching your listen ports on the back end servers to 8080 for the Nginx server and 8081 for the Apache server. (Showing everything below.)
-
-!!! note
-
- Remember to change the associated IPs to whatever they are in your own environment and substitute them where applicable throughout this procedure.
-
-## Installing the Pound server
-
-To install Pound, you need to first install the EPEL (Extra Packages for Enterprise Linux) and run updates:
-
-```bash
-dnf -y install epel-release && dnf -y update
-```
-
-Then install Pound. (Yes that is a capital "P"):
-
-```bash
-dnf -y install Pound
-```
-
-## Configuring Pound
-
-With the packages installed, you need to configure Pound. The author is using `vi` to update this, but if you prefer `nano` or something else, go ahead and substitute that in:
-
-```bash
-vi /etc/pound.cfg
-```
-
-The file has default information in it, which makes it easy to see most of the default components of Pound:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 0.0.0.0
- Port 80
-End
-
-ListenHTTPS
- Address 0.0.0.0
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 127.0.0.1
- Port 8000
- End
-
- BackEnd
- Address 127.0.0.1
- Port 8001
- End
-End
-```
-
-### Taking a closer look
-
-- The "User" and "Group" - populated with the installation
-- The "Control" file is not used anywhere
-- The "ListenHTTP" section represents the service `http` (Port 80) and the "Address" that the proxy will listen on. You will change this to the actual IP of our Pound server.
-- The "ListenHTTPS" section represents the service `https` (Port 443) and the "Address" that the proxy will listen on. You will change this to the IP of the Pound server.
-- The "Cert" option is the self-signed certificate provided by the Pound install process. You want to replace this in a production environment with a real certificate using one of these procedures: [Generating SSL Keys](../security/ssl_keys_https.md) or [SSL Keys with Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
-- The "Service" section configures the "BackEnd" servers with their listening ports. You can have as many "BackEnd" servers as you need.
-
-### Changing the configuration
-
-- change the IP Address under each listen option to our Pound server IP, 192.168.1.103
-- change the IP Addresses and ports under the "BackEnd" sections to match our configuration found in "Conventions" above (IPs and Ports)
-
-When you are all done modifying the configuration, your file will look something like this:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 192.168.1.103
- Port 80
-End
-
-ListenHTTPS
- Address 192.168.1.103
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 192.168.1.111
- Port 8080
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
-End
-```
-
-## Configuring Nginx to listen on 8080
-
-Since you have set the listen port for Nginx in our Pound configuration to 8080, you need to also make that change on your running Nginx server. You do this by modifying the `nginx.conf`:
-
-```bash
-vi /etc/nginx/nginx.conf
-```
-
-You just want to change the "listen" line to the new port number:
-
-```bash
-listen 8080 default_server;
-```
-
-Save your changes and restart the nginx service:
-
-```bash
-systemctl restart nginx
-```
-
-## Configuring Apache to listen on 8081
-
-Since you have set the listen port for Apache in our Pound configuration to 8081, you need to also make that change on our running Apache server. You do this by modifying the `httpd.conf`:
-
-```bash
-vi /etc/httpd/conf/httpd.conf
-```
-
-You want to change the "Listen" line to the new port number:
-
-```bash
-Listen 8081
-```
-
-Save your changes and restart the httpd service:
-
-```bash
-systemctl restart httpd
-```
-
-## Test and turn up
-
-Once you have your web services up and running and listening on the right ports on each of your servers, the next step is to turn up the pound service on the Pound server:
-
-```bash
-systemctl enable --now pound
-```
-
-!!! warning
-
- Using Nginx and Apache, as done here for demonstration, will mean that the Nginx server will almost always respond first. For this reason, to test effectively, you will need to assign a low priority to the Nginx server so that you will be able to see both screens. This speaks volumes about the speed of Nginx over Apache. To change the priority for the Nginx server, you just need to add a priority (1-9, with 9 being the lowest priority) in the "BackEnd" section for the Nginx server like this:
-
- ```
- BackEnd
- Address 192.168.1.111
- Port 8080
- Priority 9
- End
- ```
-
-When you open your proxy server IP in a web browser you will see one of these two screens:
-
-
-
-Or
-
-
-
-## Using "Emergency"
-
-One thing that you may need to do when using a load balancer such as Pound, is to take the productions servers off-line for maintenance or to have a fall-back "BackEnd" for a complete outage. Do this with the "Emergency" declaration in the `pound.conf` file. You can only have one "Emergency" declaration per service. In our case, this will appear at the end of the "Service" section in our configuration file:
-
-```bash
-...
-Service
- BackEnd
- Address 192.168.1.117
- Port 8080
- Priority 9
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
- Emergency
- Address 192.168.1.104
- Port 8000
- End
-End
-```
-
-This server might only show a message that says, "Down For Maintenance".
-
-## Security considerations
-
-Something that most documents dealing with load balancing proxy servers will not deal with are security issues. For instance, if this is a public facing web server, you will need to have `http` and `https` services open to the world on the load balancing proxy. But what about the "BackEnd" servers?
-
-Those only need accessing by their ports from the Pound server, but since the Pound server is redirecting to 8080 or 8081 on the BackEnd servers, and since the BackEnd servers have `http` listening on those subsequent ports, you can just use the service names for the firewall commands on those BackEnd servers.
-
-This section will deal with those concerns and the `firewalld` commands needed to lock everything down.
-
-!!! warning
-
- The assumption here is that you have direct access to the servers in question and are not remote to them. If you are remote, take extreme caution when removing services from a `firewalld` zone!
-
- You could lock yourself out of your server by accident.
-
-### Firewall - Pound server
-
-For the Pound server, you want to allow `http` and `https` from the world. It is best to consider whether you need to allow `ssh` from the world or not. If you are local to the server, this is probably **NOT** the case. The author assumes here that the server is available via your local network and that you have direct access to it, so you will be locking down `ssh` to your LAN IPs.
-
-To accomplish this, you will use the built-in firewall for Rocky Linux, `firewalld` and the `firewall-cmd` command structure. You will also use two built-in zones, "public" and "trusted", to keep things uncomplicated.
-
-Start by adding our source IPs to the "trusted" zone. This is our LAN here (in our example: 192.168.1.0/24):
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-```
-
-Then, add the `ssh` service to the zone:
-
-```bash
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-```
-
-And reload the firewall with:
-
-```bash
-firewall-cmd --reload
-```
-
-List out the zone so that you can see everything with `firewall-cmd --zone=trusted --list-all` which will give you something like this:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-
-```
-
-Next you need to make changes to the "public" zone, which by default has the `ssh` service enabled. This needs to be carefully removed (again, the author assumes that you are **NOT** remote to the server here!) with the following:
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-```
-
-You also need to add `http` and `https` services:
-
-```bash
-firewall-cmd --zone=public --add-service=http --add-service=https --permanent
-```
-
-Then reload the firewall before to see the changes:
-
-```bash
-firewall-cmd --reload
-```
-
-List out the public zone with `firewall-cmd --zone=public --list-all` which will show you something like this:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Those are the only changes needed to our pound server load balancer within the lab environment.
-
-### Firewall - back end servers
-
-For the "BackEnd" servers, you do not need to allow access from the world for anything. You will need to allow `ssh` from the LAN IPs, and `http` and `https` from our Pound load balancer.
-
-That is pretty much it.
-
-Again, you are going to add the `ssh` service to your "trusted" zone, with the essentially the same commands used for your pound server. Then add a zone called "balance" that you will use for the remaining `http` and `https`, and set the source IPs to that of the load balancer.
-
-To simplify things, use all of those commands that you used for the "trusted" zone in a single set of commands:
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=trusted --list-all
-```
-
-After, the "trusted" zone will look like this:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Again, test your `ssh` rule from an IP on the LAN, and then remove the `ssh` service from the "public" zone. **Remember our warning earlier, and do this only if you have local access to the server!**
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=public --list-all
-```
-
-The public zone will now look like this:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Add that new zone to deal with `http` and `https`. Remember that the source IP here needs to only be your load balancer (in our example: 192.168.1.103):
-
-!!! note
-
- A new zone must be added with the `--permanent` option and cannot be used until the firewall is reloaded. Also, do not forget to `--set-target=ACCEPT` for this zone!
-
-```bash
-firewall-cmd --new-zone=balance --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --set-target=ACCEPT
-firewall-cmd --zone=balance --add-source=192.168.1.103 --permanent
-firewall-cmd --zone=balance --add-service=http --add-service=https --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --list-all
-```
-
-The result:
-
-```bash
-balance (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.103
- services: http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Repeat those steps on the other web server back end.
-
-Once you have your firewall rules added to everything, test your Pound server again from your workstation browser.
-
-## Other information
-
-*Many* options are usable in your `pound.conf` file, including error message directives, logging options, time out values, and more. You can find what is available by [looking here.](https://linux.die.net/man/8/pound)
-
-Conveniently, Pound automatically figures out if one of the "BackEnd" servers is off-line and disables it so that web services can continue without delay. It also automatically sees them again when they are back on-line.
-
-## Conclusion
-
-Pound offers another option for those who do not want to use HAProxy or Nginx as for load balancing.
-
-Pound as a load balancing server is very easy to install, set up and use. As noted here, you can use Pound as a reverse proxy, and many proxy and load balancing options exist.
-
-And you should always remember to keep security in mind when setting up any service, including a load balancing proxy server.
diff --git a/docs/guides/proxies/pound.pl.md b/docs/guides/proxies/pound.pl.md
deleted file mode 100644
index ecb3a09404..0000000000
--- a/docs/guides/proxies/pound.pl.md
+++ /dev/null
@@ -1,467 +0,0 @@
----
-title: Funt
-author: Steven Spencer, markooff
-contributors:
-tested with: 8.5, 8.6
-tags:
- - proxy
- - proxy
----
-
-# Serwer proxy funtów
-
-!!! ważny "Funt brakujący w EPEL-9"
-
- Od tego pisania, Rocky Linux 9.0 nie może być zainstalowany z repozytorium EPEL. Chociaż istnieją źródła dla pakietów SRPM, nie możemy zweryfikować integralności tych źródeł. Z tego powodu nie zalecamy instalacji serwera proxy Pound na Rocky Linux 9.0 w tym momencie. Może to ulec zmianie, jeśli EPEL ponownie zabierze funt. Należy użyć tej procedury specjalnie dla Rocky Linux 8.5 lub 8.6.
-
-## Wstęp
-
-Funt jest serwerem sieciowym agnostycznym odwróconym proxy i ładuje balancer, który jest bardzo łatwy w konfiguracji i zarządzaniu. Nie korzysta z samej usługi internetowej, ale słucha w portach serwisów internetowych (http, http).
-
-Teraz jest wiele opcji serwera proxy, niektóre z nich odnoszą się do tych stron dokumentacji. Istnieje dokument dotyczący użycia [HAProxy tutaj](haproxy_apache_lxd.md) i w innych dokumentach pojawiły się odniesienia do używania Nginx dla odwrotnego proxy.
-
-Usługi równoważenia obciążenia są całkiem użyteczne dla zajętego środowiska serwera internetowego. Wiele serwerów proxy, w tym wspomniany wcześniej HAProxy, może być używanych dla wielu typów usług.
-
-W przypadku funtu można go użyć tylko do usług sieciowych, ale jest to dobre w tym, co robi.
-
-## Wymagania i założenia
-
-Do stosowania tej procedury stosuje się następujące minimalne wymogi:
-
-* Pragnienie wczytywania równowagi pomiędzy kilkoma stronami internetowymi lub chęć poznania nowego narzędzia robią to samo.
-* Możliwość wykonywania poleceń jako główny użytkownik lub użycie `sudo` , aby tam dotrzeć.
-* Znajomość edytora wiersza poleceń. Używamy tutaj `vi` lub `vim` , ale możesz zastąpić go w twoim ulubionym edytorze.
-* Komfort ze zmianą portów nasłuchiwanych na kilku typach serwerów internetowych.
-* Zakładamy, że zarówno serwery Nginx, jak i Apache są już zainstalowane.
-* Zakładamy, że używasz serwerów Rocky Linux lub kontenerów dla wszystkich tutaj.
-* Podczas gdy tworzymy wszystkie rodzaje instrukcji dotyczących `https` poniżej, ten przewodnik dotyczy tylko usługi `http`. Aby poprawnie wykonać `https`, musisz skonfigurować swój serwer funtowy z prawdziwym certyfikatem autoryzacji certyfikatów.
-
-!!! Wskazówka
-
- Jeśli nie masz zainstalowanego żadnego z tych serwerów, możesz to zrobić w środowisku kontenerowskim (LXD lub Docker) lub na nagim metalu, i wciągnąć je i uruchomić. Do celów tej procedury wystarczy zainstalować je wraz z odpowiednimi pakietami oraz włączyć i uruchomić usługi. Nie będziemy w żaden sposób modyfikować ich w znaczący sposób.
-
- ```
- dnf -y install nginx && system włącz --now nginx
- ```
-
-
- lub
-
- ```
- dnf -y install httpd && system włącz --now httpd
- ```
-
-## Konwencje
-
-Do tej procedury będziemy używać dwóch serwerów internetowych (znanych jako serwery back-end), z których jeden uruchamia Nginx (192. 68.1.111) i jeden biegły Apache (192.168.1.108).
-
-Nasz serwer funtów (192.168.1.103) będzie uważany za bramę.
-
-We will be switching our listen ports on both of the back end servers to 8080 for the Nginx server and 8081 for the Apache server. Wszystko zostanie szczegółowo omówione poniżej, więc na chwilę obecną nie trzeba się o nie martwić.
-
-!!! notatka
-
- Pamiętaj, aby zmienić powiązane IP na wszystkie istniejące w Państwa otoczeniu i w stosownych przypadkach zastąpić je w trakcie tej procedury.
-
-## Instalacja serwera funtów
-
-Aby zainstalować Funt, musimy najpierw zainstalować EPEL (Extra Packages for Enterprise Linux) i uruchomić aktualizacje na wypadek pojawienia się czegoś nowego z EPEL:
-
-```
-dnf -y install epel-release && dnf -y aktualizacja
-```
-
-Następnie po prostu zainstaluj Funt. (Tak, to jest kapitał "P"):
-
-```
-dnf -y instalacja funta
-```
-
-## Konfigurowanie funta
-
-Teraz, gdy pakiety są zainstalowane, musimy skonfigurować Funt. Będziemy używać `vi` aby to zaktualizować, ale jeśli wolisz `nano` lub coś innego, idź dalej i zastąp to w:
-
-```bash
-vi /etc/funt.cfg
-```
-
-Plik jest skonfigurowany z domyślnymi informacjami, co sprawia, że łatwiej jest zobaczyć większość domyślnych składników Funtu:
-
-```bash
-Użytkownik "funt"
-Grupa "funt"
-Kontrola "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Adres 0.0.0.
- Port 80
-End
-
-ListenHTTPS
- Adres 0. .0.0
- Port 443
- Cert "/etc/pki/tls/certs/funt. em"
-End
-
-Service
- BackEnd
- Adres 127.0.0.
- Port 8000
- Koniec
-
- BackEnd
- Adres 127. .0.1
- Port 8001
- Koniec
-Koniec
-```
-
-### Zdobycie ściślejszego wyglądu
-
-* "Użytkownik" i "Grupa" zostały zachowane podczas instalacji
-* Plik "Kontrola" nie wydaje się nigdzie używany.
-* Sekcja "ListenHTTP" reprezentuje usługę `http` (Port 80) i "Adres", na której serwer proxy będzie słuchał. Zmienimy to na rzeczywisty adres IP naszego serwera funtów.
-* Sekcja "ListenHTTPS" reprezentuje usługę `https` (Port 443) i "Adres", na której serwer proxy będzie słuchał. Tak jak w przypadku powyższego, zmienimy to na adres IP serwera funtów. Opcją "Certyfikat" jest samopodpisany certyfikat dostarczony przez proces instalacji funtów. Chcesz zastąpić to w środowisku produkcyjnym prawdziwym certyfikatem za pomocą jednej z następujących procedur: [Generowanie kluczy SSL](../security/ssl_keys_https.md) lub [kluczy SSL za pomocą Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
-* Sekcja "Usługa" to miejsce, w którym serwery "BackEnd" są skonfigurowane wraz z portami nasłuchiwania. Możesz mieć tyle serwerów "BackEnd" ile potrzebujesz.
-
-### Zmiana konfiguracji
-
-* zmień adres IP w obu opcjach nasłuchiwania na adres IP naszego serwera funtów, 192.168.1.103
-* zmień adresy IP i porty w sekcji "BackEnd" w celu dopasowania naszej konfiguracji znajdującej się w "Konwencjach" powyżej (IPs i ports)
-
-Gdy wszystko skończysz modyfikować konfigurację, powinieneś mieć zmieniony plik, który wygląda tak:
-
-```bash
-Użytkownik "funt"
-Grupa "funt"
-Kontrola "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Adres 192.168.1. 03
- Port 80
-End
-
-ListenHTTPS
- Adres 192. 68.1.103
- Port 443
- Cert "/etc/pki/tls/certs/funt. em"
-End
-
-Service
- BackEnd
- Adres 192.168.1. 11
- Port 8080
- End
-
- BackEnd
- Adres 192. 68.1.108
- Port 8081
- End
-End
-```
-
-## Konfigurowanie Nginx do słuchania na 8080
-
-Ponieważ ustawiliśmy port nasłuchiwania Nginx w naszej konfiguracji funta na 8080, musimy również wprowadzić tę zmianę na naszym uruchomionym serwerze Nginx. Robimy to modyfikując `nginx.conf`:
-
-```bash
-vi /etc/nginx/nginx.conf
-```
-
-Po prostu chcesz zmienić linię "nasłuchuj" na nowy numer portu:
-
-```bash
-nasłuchuj 8080 default_server;
-```
-
-Zapisz zmiany, a następnie uruchom ponownie usługę nginx:
-
-```
-systemowy restart nginx
-```
-
-## Konfigurowanie Apache do nasłuchiwania na 8081
-
-Ponieważ ustawiliśmy port nasłuchiwania Apache w naszej konfiguracji do 8081, musimy również wprowadzić tę zmianę na naszym uruchomionym serwerze Apache. Zrobimy to, modyfikując `httpd.conf`:
-
-```bash
-vi /etc/httpd/conf/httpd.conf
-```
-
-Chcesz zmienić linię "Słuchaj" na nowy numer portu:
-
-```bash
-Słuchaj 8081
-```
-
-Zapisz zmiany i uruchom ponownie usługę httpd:
-
-```
-uruchom ponownie system httpd
-```
-
-## Testuj i wyłącz
-
-Gdy masz swoje usługi internetowe, działasz i słuchaj właściwych portów na każdym z naszych serwerów, następnym krokiem jest uruchomienie usługi funta na serwerze funta:
-
-```
-Systemctl enable --now funt
-```
-
-!!! uwaga
-
- Używanie Nginx i Apache, tak jak robimy tutaj w celu demonstracji, będzie oznaczać, że serwer Nginx prawie zawsze będzie odpowiadał najpierw. Z tego względu należy skutecznie przetestować, musisz przypisać niski priorytet do serwera Nginx, abyś mógł zobaczyć oba ekrany. To mówi o szybkości Nginx nad Apache. Aby zmienić priorytet serwera Nginx, wystarczy dodać priorytet (1-9, z 9 najniższym priorytetem) w sekcji "BackEnd" dla serwera Nginx jak ten:
-
- ```
- BackEnd
- Adres 192.168.1.111
- Port 8080
- Priorytet 9
- koniec
- ```
-
-Kiedy otworzysz IP serwera proxy w przeglądarce internetowej, powinieneś się zmierzyć z jednym z tych dwóch ekranów:
-
-
-
-Lub
-
-
-
-## Używanie alarmu
-
-Jedno co trzeba zrobić podczas używania balansu obciążenia, takie jak funt, ma odbierać serwery produkcji w trybie offline w celu konserwacji lub mieć zapasowy "BackEnd" dla całkowitego przerwania. Wykonuje się to z deklaracją "Emergency" w pliku `pound.conf`. Możesz mieć tylko jedną deklarację "Emergency" na jedną usługę. W naszym przypadku pojawiłoby się to na końcu sekcji "Usługi" w naszym pliku konfiguracyjnym:
-
-```
-...
-Usługa
- BackEnd
- Adres 192.168.1. 17
- Port 8080
- Priorytet 9
- Koniec
-
- BackEnd
- Adres 192. 68.1.108
- Port 8081
- Koniec
- Awaria
- Adres 192. 68.1.104
- Port 8000
- Koniec
-Koniec
-```
-
-Ten serwer może wyświetlać tylko wiadomość, która mówi, "Down For Maintenance".
-
-## Kwestie bezpieczeństwa
-
-Problemy bezpieczeństwa nie będą rozwiązywać większości dokumentów dotyczących równoważenia obciążenia serwerów proxy. Na przykład, jeśli jest to publiczny serwer internetowy, musisz mieć otwarte usługi `http` i `https` na świecie na serwerze proxy równoważenia obciążenia. Ale co z serwerami „BackEnd”?
-
-Dostęp do nich powinien być zapewniony wyłącznie przez ich porty z samego serwera funtów, ale ponieważ serwer Pound przekierowuje do 8080 lub 8081 na serwerach BackEnd, i ponieważ serwery BackEnd mają `http` słuchając tych kolejnych portów, możesz po prostu użyć nazw usług dla poleceń zapory na tych serwerach BackEnd.
-
-W tej sekcji zajmiemy się tymi obawami i poleceniami `firewalld` potrzebnymi do zablokowania wszystkiego.
-
-!!! ostrzeżenie
-
- Zakładamy, że masz bezpośredni dostęp do danych serwerów i nie jesteś do nich zdalny. Jeśli jesteś zdalny, zachowaj szczególną ostrożność podczas usuwania usług ze strefy `firewalld`!
-
- Możesz zablokować się z serwera przez przypadek.
-
-### Zapora - Serwer Funtów
-
-Dla serwera funtów, jak zauważono powyżej, chcemy zezwolić na `http` i `https` ze świata. Musisz się zastanowić, czy `ssh` musi być dozwolony ze świata, czy nie. Jeśli jesteś lokalny na serwerze, to prawdopodobnie **NIE** przypadek. Zakładamy, że serwer jest dostępny przez Twoją sieć lokalną i że masz bezpośredni dostęp do niej, więc zamkniemy `ssh` na nasze adresy IP LAN.
-
-Aby osiągnąć powyższe, użyjemy wbudowanej zapory dla Rocky Linux, `firewalld` i `firewall-cmd` struktury poleceń. Dla uproszczenia wykorzystamy również dwie strefy zabudowane – „publiczne” i „zaufane”.
-
-Zacznijmy od dodania naszych źródłowych adresów IP do strefy „zaufanej”. Jest to nasz łańcuch wartości (przykład: 192.168.1.0/24):
-
-```
-firewall-cmd --zone=zaufane --add-source=192.168.1.0/24 --permanent
-```
-
-Następnie dodajmy usługę `ssh` do strefy:
-
-```
-zapora-cmd --zone=zaufane --add-service=ssh --permanent
-```
-
-Po zakończeniu tego wszystkiego odświeżyć zaporę poprzez:
-
-```
-firewall-cmd --reload
-```
-
-A następnie wylistuj strefę tak, aby zobaczyć wszystko z `zaporą cmd --zone=trusted --list-all` , co powinno dać Ci coś takiego:
-
-```bash
-zaufany (aktywny) cel
- ACCEPT
- icmp-block-inversion: no
- interfejsy:
- źródła: 192.168.1. /24
- usługi: ssh
- porty:
- protokołów:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- bogate reguły:
-
-```
-
-Następnie musimy wprowadzić zmiany w strefie "publicznych", która domyślnie ma włączoną usługę `ssh`. To musi zostać ostrożnie usunięte (ponownie, zakładamy, że jesteś **NIE** zdalny na serwer tutaj!) z następującymi powodami:
-
-```
-zapora-cmd --zone=publiczna --remove-service=ssh --permanent
-```
-Musimy również dodać usługi `http` i `https`:
-
-```
-zapora-cmd --zone=publiczna --add-service=http --add-service=https --permanent
-```
-
-Następnie musimy przeładować zaporę zanim zobaczysz zmiany:
-
-```
-firewall-cmd --reload
-```
-
-A następnie wylistuj strefę publiczną z `firewall-cmd --zone=public --list-all` , która powinna pokazać Ci coś takiego:
-
-```bash
-cel publiczny
- : domyślny
- icmp-block-inversion: no
- interfejsów:
- źródła:
- usługi: cockpit dhcpv6-client http
- ports:
- protokoły:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- bogate reguły:
-```
-
-W naszym środowisku laboratorium są to jedyne zmiany, które musimy wprowadzić w naszym funcie równowagi obciążenia serwera.
-
-### Zapora - Serwery z tyłu
-
-Dla serwerów "BackEnd", nie musimy zezwalać na dostęp ze świata dla wszystkich, a na pewno nie dla naszych nasłuchanych portów, z których będzie korzystał bilans ładunku. Będziemy musieli zezwolić na `ssh` z adresów IP LAN oraz `http` i `https` z naszego balancera obciążenia funtów.
-
-To całkiem to wszystko.
-
-Ponownie dodamy usługę `ssh` do naszej strefy "zaufane", z zasadniczo tymi samymi poleceniami, które użyliśmy dla naszego serwera funtów. Następnie dodamy strefę o nazwie "saldo", którą będziemy używać dla pozostałych `http` i `https`, i ustaw źródłowe adresy IP na adresy docelowe balancera. Jesteś już zabawny?
-
-Aby być szybkim, użyjmy wszystkich tych poleceń, które użyliśmy w strefie "zaufane" w jednym zestawie poleceń:
-
-```
-zapora-cmd --zone=zaufana --add-source=192.168.1.0/24 --permanent
-zapora zapora-cmd --zone=zaufana --add-service=ssh --permanent
-zapora cmd --reload
-zapora-cmd --zone=zaufana --list-all
-```
-
-Następnie strefa „zaufana” powinna wyglądać tak:
-
-```bash
-zaufany (aktywny) cel
- ACCEPT
- icmp-block-inversion: no
- interfejsy:
- źródła: 192.168.1. /24
- usługi: ssh
- porty:
- protokołów:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- bogate reguły:
-```
-
-Ponownie, przetestuj regułę `ssh` z adresu IP w LAN, a następnie usuń usługę `ssh` ze strefy "publiczną". **Zapamiętaj nasze ostrzeżenie z góry i zrób to tylko wtedy, gdy masz lokalny dostęp do serwera!**
-
-```
-zapora cmd --zone=publiczna --remove-service=ssh --permanent
-zapora cmd --reload
-zapora cmd --zone=publiczna --list-all
-```
-
-Strefa publiczna powinna teraz wyglądać tak:
-
-```bash
-cel publiczny
- : domyślny
- icmp-block-inversion: no
- interfejsów:
- źródła:
- usługi: cockpit dhcpv6-client
- porty:
- protokoły:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- bogatych reguł:
-```
-
-Now let's add that new zone to deal with `http` and `https`. Pamiętaj, że tutaj źródłowy IP musi być tylko naszym bilansem obciążenia (w naszym przykładzie: 192.168.1.103):
-
-!!! notatka
-
- Nowa strefa musi być dodana z opcją `--permanent` i nie może być używana, dopóki zapora nie zostanie ponownie załadowana. Nie zapomnij również o `--set-target=ACCEPT` dla tej strefy!
-
-```
-firewall-cmd --new-zone=balance --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --set-target=ACCEPT
-firewall-cmd --zone=balance --add-source=192. 68.1.103 --permanent
-zapora zapora-cmd --zone=balance --add-service=http --add-service=https --permanent
-zapora-cmd --reload
-zapora-cmd --zone=balance --list-all
-```
-
-Wynik:
-
-```bash
-saldo (aktywne)
- cel: ACCEPT
- icmp-block-inversion: no
- interfejsów:
- źródła: 192.168.1. Usługi 03
- : http https
- porty:
- protokołów:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- bogate reguły:
-```
-
-Teraz powtórz te kroki na drugim serwerze WWW.
-
-Po dodaniu reguł zapory do wszystkiego, przetestuj serwer funtów ponownie z przeglądarki stacji roboczej.
-
-## Inne informacje
-
-Istnieje *LOT* opcji, które mogą być zawarte w Twoim `funcie. onf` plik, w tym dyrektywy w sprawie komunikatów o błędach, opcje logowania, wartości czasu i czasu itp. Więcej informacji na temat tego, co jest dostępne [można znaleźć tutaj.](https://linux.die.net/man/8/pound)
-
-Wygodnie, funt automatycznie zapisuje, jeśli jeden z serwerów "BackEnd" jest wyłączony i wyłącza go, aby usługi sieciowe mogły być kontynuowane bezzwłocznie. Automatycznie widzi je również ponownie, gdy są one z powrotem w internecie.
-
-## Konkluzja
-
-Funt oferuje inną opcję dla tych, którzy nie chcą używać HAProxy lub Nginx jako ładowania.
-
-Funt jako serwer równoważenia obciążenia jest bardzo łatwy w instalacji, konfiguracji i użytkowaniu. Jak zauważono tutaj, Funt może być również używany jako zastępczy wskaźnik zastępczy i jest wiele dostępnych opcji bilansowania obciążenia.
-
-I zawsze powinieneś pamiętać o bezpieczeństwie podczas ustawiania dowolnej usługi, w tym serwera proxy równoważącego ładunek.
diff --git a/docs/guides/proxies/pound.uk.md b/docs/guides/proxies/pound.uk.md
deleted file mode 100644
index a31febdeaa..0000000000
--- a/docs/guides/proxies/pound.uk.md
+++ /dev/null
@@ -1,469 +0,0 @@
----
-title: Pound
-author: Steven Spencer
-contributors: Ganna Zhyrnova
-tested_with: 8.5, 8.6
-tags:
- - proxy
- - proxies
----
-
-# Проксі-сервер Pound
-
-!!! warning "Pound відсутній в EPEL-9"
-
- На момент написання цієї статті на Rocky Linux 9.0 Pound неможливо встановити зі сховища EPEL. Хоча існують джерела пакетів SRPM, ми не можемо перевірити цілісність цих джерел. З цієї причини ми не рекомендуємо зараз встановлювати проксі-сервер Pound на Rocky Linux 9.0. Це може змінитися, якщо EPEL знову підніме Pound. Використовуйте цю процедуру спеціально для версій Rocky Linux 8.x.
-
-## Вступ
-
-Pound — це незалежний від веб-сервера зворотний проксі та балансувальник навантаження, який дуже простий у налаштуванні та керуванні. Він не використовує веб-службу, але прослуховує порти веб-служби (http, https).
-
-Тепер існує багато параметрів проксі-сервера, деякі з яких згадуються на цих сторінках документації. Існує документ про використання [HAProxy тут](haproxy_apache_lxd.md), а в інших документах є посилання на використання Nginx для зворотного проксі.
-
-Сервіси балансування навантаження дуже корисні для завантаженого середовища веб-сервера. Існує багато проксі-серверів, у тому числі згаданий раніше HAProxy, які використовують для багатьох типів послуг.
-
-У випадку Pound його можна використовувати лише для веб-сервісів, але він хороший у тому, що він робить.
-
-## Передумови та припущення
-
-Нижче наведено мінімальні вимоги для використання цієї процедури:
-
-- Бажання збалансувати навантаження між кількома веб-сайтами або готовність вивчити новий інструмент, щоб робити те саме.
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
-- Знайомство з редактором командного рядка. Автор використовує тут `vi` або `vim`, але замініть у вашому улюбленому редакторі.
-- Комфорт зі зміною портів прослуховування на кількох типах веб-серверів.
-- Я припускаю попередню інсталяцію серверів Nginx і Apache.
-- Я припускаю, що ви використовуєте сервери або контейнери Rocky Linux для всього тут.
-- Хоча в цьому документі є всілякі твердження щодо `https`, цей посібник стосується лише служби `http`. Щоб правильно виконувати `https`, ви повинні налаштувати ваш pound-сервер за допомогою справжнього сертифіката від справжнього центру сертифікації.
-
-!!! tip "Підказка"
-
- Якщо у вас не встановлено жоден із цих серверів, ви можете зробити це в контейнерному середовищі (LXD або Docker) або на голому металі та запустити їх у роботу. Для цієї процедури ви повинні встановити їх разом із відповідними пакетами, увімкнути та запустити служби. Ми не будемо жодним чином їх суттєво змінювати.
-
- ```
- dnf -y install nginx && systemctl enable --now nginx
- ```
-
-
- або
-
- ```
- dnf -y install httpd && systemctl enable --now httpd
- ```
-
-## Умовності
-
-Для цієї процедури ми будемо використовувати два веб-сервери (відомі як внутрішні сервери), на одному з яких працює Nginx (192.168.1.111), а на другому — Apache (192.168.1.108).
-
-Наш сервер Pound (192.168.1.103) є шлюзом.
-
-Ви перемкнете свої порти прослуховування на внутрішніх серверах на 8080 для сервера Nginx і 8081 для сервера Apache. (Все буде відображено нижче.)
-
-!!! note "Примітка"
-
- Не забудьте змінити пов’язані IP-адреси на будь-які, які вони є у вашому середовищі, і замінити їх там, де це можливо, протягом цієї процедури.
-
-## Встановлення сервера Pound
-
-Щоб інсталювати Pound, вам потрібно спочатку встановити EPEL (додаткові пакети для Enterprise Linux) і запустити оновлення:
-
-```bash
-dnf -y install epel-release && dnf -y update
-```
-
-Потім встановіть Pound. (Так, це велика "P"):
-
-```bash
-dnf -y install Pound
-```
-
-## Налаштування Pound
-
-Тепер, коли пакунки встановлено, нам потрібно налаштувати Pound. Автор використовує `vi`, щоб оновити це, але якщо ви віддаєте перевагу `nano` або щось інше, замініть це в:
-
-```bash
-vi /etc/pound.cfg
-```
-
-Файл містить інформацію за замовчуванням, що дозволяє легко побачити більшість стандартних компонентів Pound:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 0.0.0.0
- Port 80
-End
-
-ListenHTTPS
- Address 0.0.0.0
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 127.0.0.1
- Port 8000
- End
-
- BackEnd
- Address 127.0.0.1
- Port 8001
- End
-End
-```
-
-### Придивляючись ближче
-
-- «User» і «Group» - заповнюються під час інсталяції
-- Файл "Control" ніде не використовується.
-- Розділ «ListenHTTP» представляє службу `http` (порт 80) і «Address», який проксі-сервер слухатиме. Вам необхідно змінити це на фактичну IP-адресу нашого сервера Pound.
-- Розділ «ListenHTTPS» представляє службу `https` (порт 443) і «Address», який проксі-сервер слухатиме. Необхідно змінити це на IP-адресу сервера Pound.
-- Опція «Cert» — це самопідписаний сертифікат, наданий процесом встановлення Pound. Ви хочете замінити це у робочому середовищі справжнім сертифікатом за допомогою однієї з цих процедур: [Генерація ключів SSL](../security/ssl_keys_https.md) або [ключі SSL із Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md).
-- Розділ «Service» налаштовує «BackEnd» сервери з їх портами прослуховування. Ви можете мати скільки завгодно "BackEnd" серверів.
-
-### Зміна конфігурації
-
-- змініть IP-адресу під кожною опцією прослуховування на IP-адресу нашого сервера Pound, 192.168.1.103
-- змініть IP-адреси та порти в розділах «BackEnd» відповідно до нашої конфігурації, знайденої в «Умовних поняттях» вище (IP-адреси та порти)
-
-Коли ви закінчите змінювати конфігурацію, ви повинні мати змінений файл, який виглядає приблизно так:
-
-```bash
-User "pound"
-Group "pound"
-Control "/var/lib/pound/pound.cfg"
-
-ListenHTTP
- Address 192.168.1.103
- Port 80
-End
-
-ListenHTTPS
- Address 192.168.1.103
- Port 443
- Cert "/etc/pki/tls/certs/pound.pem"
-End
-
-Service
- BackEnd
- Address 192.168.1.111
- Port 8080
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
-End
-```
-
-## Налаштування Nginx для прослуховування на 8080
-
-Оскільки ви встановили порт прослуховування для Nginx у нашій конфігурації Pound на 8080, вам також потрібно внести цю зміну на запущеному сервері Nginx. Це можна зробити, змінивши `nginx.conf`:
-
-```bash
-vi /etc/nginx/nginx.conf
-```
-
-Ви просто хочете змінити рядок «listen» на новий номер порту:
-
-```bash
-listen 8080 default_server;
-```
-
-Збережіть зміни та перезапустіть службу nginx:
-
-```bash
-systemctl restart nginx
-```
-
-## Налаштування Apache для прослуховування 8081
-
-Оскільки ми встановили порт прослуховування для Apache у нашій конфігурації Pound на 8081, нам також потрібно зробити цю зміну на нашому запущеному сервері Apache. Для цього необхідно змінити `httpd.conf`:
-
-```bash
-vi /etc/httpd/conf/httpd.conf
-```
-
-Ви хочете змінити рядок «Listen» на новий номер порту:
-
-```bash
-Listen 8081
-```
-
-Збережіть зміни та перезапустіть службу httpd:
-
-```bash
-systemctl restart httpd
-```
-
-## Перевірка та запуск
-
-Після того, як ваші веб-служби запущені та прослуховують правильні порти на кожному з наших серверів, наступним кроком буде ввімкнення служби pound на сервері Pound:
-
-```bash
-systemctl enable --now pound
-```
-
-!!! warning "Важливо"
-
- Використання Nginx і Apache, як ми робимо тут для демонстрації, означатиме, що сервер Nginx майже завжди відповідатиме першим. З цієї причини для ефективного тестування вам потрібно буде призначити низький пріоритет серверу Nginx, щоб ви могли бачити обидва екрани. Це багато говорить про швидкість Nginx над Apache. Щоб змінити пріоритет для сервера Nginx, вам просто потрібно додати пріоритет (1-9, де 9 є найнижчим пріоритетом) у розділі «BackEnd» для сервера Nginx таким чином:
-
- ```
- BackEnd
- Address 192.168.1.111
- Port 8080
- Priority 9
- End
- ```
-
-Коли ви відкриваєте IP проксі-сервера у веб-браузері, ви побачите один із цих двох екранів:
-
-
-
-Або
-
-
-
-## Використання "Emergency"
-
-Єдине, що вам може знадобитися під час використання балансувальника навантаження, такого як Pound, це відключити виробничі сервери для обслуговування або мати запасний «BackEnd» для повного збою. Це робиться за допомогою оголошення "Emergency" у файлі `pound.conf`. На одну послугу можна мати лише одну «Надзвичайну» декларацію. У нашому випадку це з’явиться в кінці розділу «Service» у файлі конфігурації:
-
-```bash
-...
-Service
- BackEnd
- Address 192.168.1.117
- Port 8080
- Priority 9
- End
-
- BackEnd
- Address 192.168.1.108
- Port 8081
- End
- Emergency
- Address 192.168.1.104
- Port 8000
- End
-End
-```
-
-Цей сервер може відображати лише повідомлення "Down For Maintenance".
-
-## Міркування безпеки
-
-Більшість документів, що стосуються проксі-серверів балансування навантаження, не розглядають питання безпеки. Наприклад, якщо це загальнодоступний веб-сервер, вам потрібно буде мати служби `http` і `https`, відкриті для світу на проксі-сервері балансування навантаження. Але як щодо «BackEnd» серверів?
-
-Їм потрібен лише доступ через їхні порти з сервера Pound, але оскільки сервер Pound переспрямовує на 8080 або 8081 на серверах BackEnd, і оскільки сервери BackEnd мають `http` прослуховування цих наступних портів, ви можете використовувати назви служб для команд брандмауера на цих серверах BackEnd.
-
-У цьому розділі буде розглянуто ці проблеми та команди `firewalld`, необхідні для блокування всього.
-
-!!! warning "Важливо"
-
- Припускається, що ви маєте прямий доступ до відповідних серверів і не є віддаленим. Якщо ви віддалені, будьте вкрай обережні, видаляючи служби із зони `firewalld`!
-
- Ви можете випадково заблокувати себе на своєму сервері.
-
-### Брандмауер - сервер Pound
-
-Для сервера Pound, як зазначено вище, ми хочемо дозволити `http` і `https` зі світу. Було б найкраще розглянути, чи потрібно дозволити `ssh` зі світу. Якщо ви локально на сервері, це, мабуть, **НІ**. Тут автор припускає, що сервер доступний через вашу локальну мережу і що ви маєте прямий доступ до нього, тому ви заблокуєте `ssh` для своїх IP-адрес локальної мережі.
-
-Щоб виконати це, ви будете використовувати вбудований брандмауер для Rocky Linux, `firewalld` і структуру команд `firewall-cmd`. Ви також будете використовувати дві вбудовані зони, «загальнодоступну» та «довірену», щоб не було складнощів.
-
-Почнемо з додавання наших вихідних IP-адрес до «trusted» зони. Ось наша локальна мережа (у нашому прикладі: 192.168.1.0/24):
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-```
-
-Потім додайте службу `ssh` до зони:
-
-```bash
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-```
-
-Перезавантажте брандмауер за допомогою:
-
-```bash
-firewall-cmd --reload
-```
-
-Перелічіть зону, щоб ви могли бачити все за допомогою `firewall-cmd --zone=trusted --list-all`, що дасть вам щось на зразок цього:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-
-```
-
-Далі вам необхідно внести зміни в «публічну» зону, у якій за замовчуванням увімкнено службу `ssh`. Це потрібно обережно видалити (знову ж таки, ми припускаємо, що ви **НЕ** тут віддалені від сервера!) за допомогою наступного:
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-```
-
-Вам також потрібно додати служби `http` і `https`:
-
-```bash
-firewall-cmd --zone=public --add-service=http --add-service=https --permanent
-```
-
-Далі перезавантажте брандмауер, перш ніж ви побачите зміни:
-
-```bash
-firewall-cmd --reload
-```
-
-Перерахуйте загальнодоступну зону за допомогою `firewall-cmd --zone=public --list-all`, яка покаже вам щось на зразок цього:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Це єдині зміни, які нам потрібно внести в балансувальник навантаження сервера pound у нашому лабораторному середовищі.
-
-### Брандмауер - внутрішні сервери
-
-Для серверів "BackEnd" нам не потрібно дозволяти доступ із світу для будь-чого. Вам потрібно буде дозволити `ssh` з IP-адрес локальної мережі та `http` і `https` з нашого балансувальника навантаження Pound.
-
-Це майже все.
-
-Знову ж таки, ви збираєтеся додати службу `ssh` до вашої «довіреної» зони з тими самими командами, що використовуються для вашого сервера pound. Потім додайте зону під назвою «баланс», яку ви використовуватимете для решти `http` і `https`, і встановіть IP-адресу джерела на IP-адресу балансувальника навантаження.
-
-Щоб спростити речі, використовуйте всі ті команди, які ви використовували для «довіреної» зони, в одному наборі команд:
-
-```bash
-firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent
-firewall-cmd --zone=trusted --add-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=trusted --list-all
-```
-
-Після цього «довірена» зона повинна виглядати так:
-
-```bash
-trusted (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.0/24
- services: ssh
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Ще раз перевірте своє правило `ssh` з IP-адреси в локальній мережі, а потім видаліть службу `ssh` із «публічної» зони. **Пам’ятайте наше попередження вище та робіть це, лише якщо у вас є локальний доступ до сервера!**
-
-```bash
-firewall-cmd --zone=public --remove-service=ssh --permanent
-firewall-cmd --reload
-firewall-cmd --zone=public --list-all
-```
-
-Тепер публічна зона має виглядати так:
-
-```bash
-public
- target: default
- icmp-block-inversion: no
- interfaces:
- sources:
- services: cockpit dhcpv6-client
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Додайте цю нову зону для роботи з `http` і `https`. Пам’ятайте, що IP джерела тут має бути лише нашим балансувальником навантаження (у нашому прикладі: 192.168.1.103):
-
-!!! note "Примітка"
-
- Нова зона має бути додана з опцією `--permanent` і не може бути використана до перезавантаження брандмауера. Крім того, не забудьте `--set-target=ACCEPT` для цієї зони!
-
-```bash
-firewall-cmd --new-zone=balance --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --set-target=ACCEPT
-firewall-cmd --zone=balance --add-source=192.168.1.103 --permanent
-firewall-cmd --zone=balance --add-service=http --add-service=https --permanent
-firewall-cmd --reload
-firewall-cmd --zone=balance --list-all
-```
-
-Результат:
-
-```bash
-balance (active)
- target: ACCEPT
- icmp-block-inversion: no
- interfaces:
- sources: 192.168.1.103
- services: http https
- ports:
- protocols:
- forward: no
- masquerade: no
- forward-ports:
- source-ports:
- icmp-blocks:
- rich rules:
-```
-
-Повторіть ці кроки на сервері іншого веб-сервера.
-
-Після того, як до всього додано правила брандмауера, знову перевірте свій pound-сервер у браузері робочої станції.
-
-## Інша інформація
-
-Є *БАГАТО* параметрів, які можна включити у ваш файл `pound.conf`, включаючи директиви повідомлень про помилки, параметри журналювання, значення часу очікування і т.д. Ви можете знайти те, що доступно, [тут.](https://linux.die.net/man/8/pound)
-
-Зручно, Pound автоматично визначає, якщо один із «BackEnd» серверів офлайн, і вимикає його, щоб веб-сервіси могли продовжувати працювати без затримки. Він також автоматично бачить їх знову, коли вони знову в мережі.
-
-## Висновок
-
-Pound пропонує інший варіант для тих, хто не хоче використовувати HAProxy або Nginx для балансування навантаження.
-
-Pound, сервер балансування навантаження, дуже простий у встановленні, налаштуванні та використанні. Як зазначено тут, ви можете використовувати Pound як зворотний проксі, і існує багато варіантів проксі та балансування навантаження.
-
-І ви завжди повинні пам’ятати про безпеку під час налаштування будь-якої служби, включаючи проксі-сервер балансування навантаження.
diff --git a/docs/guides/proxies/tor_relay.it.md b/docs/guides/proxies/tor_relay.it.md
index 26c0d8cd4b..dd9f3b8c6a 100644
--- a/docs/guides/proxies/tor_relay.it.md
+++ b/docs/guides/proxies/tor_relay.it.md
@@ -18,12 +18,13 @@ tags:
I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
-- Un indirizzo IP pubblico, direttamente sul server o con il port forwarding.
-- Un sistema in grado di funzionare 24 ore su 24, 7 giorni su 7, per servire la rete Tor.
+- Un indirizzo IPv4 pubblico, direttamente sul server o con il port forwarding
+- Un sistema in grado di funzionare 24 ore su 24, 7 giorni su 7, per essere utile alla rete Tor
- La possibilità di eseguire comandi come utente root o di usare `sudo` per elevare i privilegi.
- Familiarità con un editor a riga di comando. L'autore utilizza `vi` o `vim`, ma potete sostituirlo con il vostro editor preferito.
- Familiarità con la modifica delle impostazioni di SELinux e del firewall.
-- Una connessione senza contatore o una connessione con un limite di larghezza di banda elevato.
+- Una connessione non misurata o una connessione con un limite di larghezza di banda elevato
+- Opzionale: Un indirizzo IPv6 pubblico per la connettività dual-stack.
## Installazione di Tor
@@ -58,29 +59,29 @@ Log notice syslog
### Uno sguardo più approfondito
-- Il "Nickname" è un soprannome (non univoco) per il proprio relay Tor.
-- La "ORPort" è la porta TCP su cui il relay Tor è in ascolto. Quella predefinita è "9001".
+- Il `Nickname` è un soprannome (non univoco) per il proprio relay Tor.
+- La `ORPort' è la porta TCP su cui il relè Tor è in ascolto. Quella predefinita è `9001\`.
- Il "ContactInfo" è il vostro recapito, nel caso in cui ci siano problemi con il vostro relay Tor. Impostate questo campo con il vostro indirizzo e-mail.
-- Il "Log" è la severità e la destinazione dei log del relay Tor. Stiamo registrando "notice" per evitare che le informazioni sensibili vengano registrate e "syslog" per inviare l'output al log di `systemd`.
+- Il parametro `Log` è la gravità e la destinazione dei log del relè Tor. Stiamo registrando `notice` per evitare che vengano registrate informazioni sensibili e `syslog` per inviare l'output al log di `systemd`.
### Configurazione del sistema
-Se si è scelta una porta TCP/IP diversa da "9001" (quella predefinita), è necessario regolare la `tor_port_t` di SELinux per inserire nella whitelist la porta del relay Tor. Per farlo:
+Se si è scelta una porta TCP/IP diversa da `9001` (quella predefinita), è necessario regolare la `tor_port_t` di SELinux per inserire nella whitelist la porta del relè Tor. Per farlo:
```bash
semanage port -a -t tor_port_t -p tcp 12345
```
-Sostituire "12345" con la porta TCP impostata in "ORPort".
+Sostituire `12345` con la porta TCP impostata in `ORPort`.
-È inoltre necessario aprire la porta "ORPort" nel firewall. Per farlo:
+È inoltre necessario aprire la porta `ORPort` nel firewall. Per farlo:
```bash
firewall-cmd --zone=public --add-port=9001/tcp
firewall-cmd --runtime-to-permanent
```
-Sostituire "9001" con la porta TCP impostata in "ORPort".
+Sostituire `9001` con la porta TCP impostata in `ORPort`.
## Limitare la larghezza di banda
@@ -109,7 +110,7 @@ AccountingMax 20 GB
Questi valori implicano che:
-- Il periodo di contabilizzazione della larghezza di banda è ogni giorno a partire dalle 00:00 ora del sistema. È anche possibile cambiare "day" in " week " o " month ", oppure sostituire " 00:00 " con un altro orario.
+- Il periodo di contabilizzazione della larghezza di banda è ogni giorno a partire dalle 00:00 ora del sistema. Si può anche cambiare `giorno` in `settimana` o `mese`, o sostituire `00:00` con un altro orario.
- Nel periodo di contabilizzazione della larghezza di banda, sarà possibile trasferire 20 GB. Aumentare o diminuire il valore se si desidera consentire una maggiore o minore larghezza di banda per il relay.
Cosa succede dopo aver utilizzato la larghezza di banda specificata? Il relay bloccherà i tentativi di connessione fino alla fine del periodo. Se il relay non ha utilizzato la larghezza di banda specificata nel periodo, il contatore si azzera senza alcun tempo di inattività.
@@ -134,24 +135,221 @@ Entro poche ore, il vostro relay sarà elencato su [Tor Relay Status](https://me
## Considerazioni sul relay
-È inoltre possibile estendere la configurazione per rendere il relay Tor un relay di uscita o un relay di ponte.
+È inoltre possibile estendere la configurazione per rendere il relè Tor un relè di uscita o un relè ponte. È inoltre possibile impostare un massimo di 8 relè per indirizzo IP pubblico. Il file dell'unità Tor systemd in EPEL non è stato progettato per più di un'istanza, ma il file dell'unità può essere copiato e modificato per adattarsi a una configurazione multi-relay.
-I relay di uscita sono l'ultimo hop di un circuito Tor che si collega direttamente ai siti web. I relay bridge sono relay non elencati che aiutano gli utenti che subiscono la censura di Internet a connettersi a Tor.
+I relè di uscita sono l'ultimo hop di un circuito Tor che si collega direttamente ai siti web. I relay bridge sono relay non elencati che aiutano gli utenti che subiscono la censura di Internet a connettersi a Tor.
-Le opzioni per il file `torrc` si trovano nella [pagina del manuale](https://2019.www.torproject.org/docs/tor-manual.html.en).
+Le opzioni per il file \`torrc' sono riportate in [la pagina man](https://2019.www.torproject.org/docs/tor-manual.html.en). Qui descriviamo una configurazione di base per un relè di uscita e di ponte.
-È inoltre possibile impostare un massimo di 8 relay per indirizzo IP pubblico. Il file dell'unità Tor systemd in EPEL non è stato progettato per più di un'istanza, ma il file dell'unità può essere copiato e modificato per adattarsi a una configurazione multi-relay.
+### Esecuzione di un relè di uscita
-!!! warning "Attenzione"
+!!! warning
```
-Se si intende gestire un exit relay, assicurarsi che il proprio ISP o società di hosting sia d'accordo. I reclami per abusi da parte degli exit relay sono molto comuni, poiché si tratta dell'ultimo nodo di un circuito Tor che si connette direttamente ai siti web per conto degli utenti Tor. Per questo motivo, molte società di hosting non accettano i relay di uscita Tor.
+Se si intende gestire un relè di uscita, assicurarsi che il proprio ISP o società di hosting sia d'accordo. I reclami per abusi da parte degli exit relay sono molto comuni, in quanto si tratta dell'ultimo nodo di un circuito Tor che si connette direttamente ai siti web per conto degli utenti Tor. Per questo motivo, molti ISP e società di hosting non ammettono i relay di uscita Tor.
-Se non siete sicuri che il vostro ISP permetta i relay di uscita Tor, consultate i termini di servizio o chiedete al vostro ISP. Se il vostro ISP dice di no, cercate un altro ISP o una società di hosting, oppure prendete in considerazione un relay intermedio.
+Se non siete sicuri che il vostro ISP permetta i relay di uscita Tor, consultate i termini di servizio o chiedete al vostro ISP. Se il vostro ISP dice di no, cercate un altro ISP o una società di hosting o prendete in considerazione un relay intermedio o un bridge.
```
+Se si vuole eseguire un relè di uscita, è necessario aggiungere quanto segue al proprio `torrc`:
+
+```bash
+ExitRelay 1
+```
+
+Tuttavia, si utilizzerà il seguente criterio di uscita predefinito:
+
+```bash
+ExitPolicy reject *:25
+ExitPolicy reject *:119
+ExitPolicy reject *:135-139
+ExitPolicy reject *:445
+ExitPolicy reject *:563
+ExitPolicy reject *:1214
+ExitPolicy reject *:4661-4666
+ExitPolicy reject *:6346-6429
+ExitPolicy reject *:6699
+ExitPolicy reject *:6881-6999
+ExitPolicy accept *:*
+```
+
+Questa exit policy blocca solo un piccolo sottoinsieme di porte TCP, consentendo l'abuso di BitTorrent e SSH, che molti ISP non vedono di buon occhio.
+
+Se si vuole usare una [reduced exit policy](https://gitlab.torproject.org/legacy/trac/-/wikis/doc/ReducedExitPolicy), la si può impostare nel `torrc`:
+
+```bash
+ReducedExitPolicy 1
+```
+
+È anche possibile avere un criterio di uscita più restrittivo, ad esempio consentire solo il traffico DNS, HTTP e HTTPS. Questo può essere impostato così:
+
+```bash
+ExitPolicy accept *:53
+ExitPolicy accept *:80
+ExitPolicy accept *:443
+ExitPolicy reject *:*
+```
+
+Questi valori implicano che:
+
+- Si consente il traffico in uscita alle porte TCP 53 (DNS), 80 (HTTP) e 443 (HTTPS) con le nostre linee `ExitPolicy accept`.
+- Con le queste linee jolly `ExitPolicy reject`, non si permette il traffico in uscita verso qualsiasi altra porta TCP.
+
+Se si desidera un criterio di uscita non restrittivo, bloccando solo il traffico SMTP, questo può essere impostato così:
+
+```bash
+ExitPolicy reject *:25
+ExitPolicy reject *:465
+ExitPolicy reject *:587
+ExitPolicy accpet *:*
+```
+
+Questi valori implicano che
+
+- Con le linee `ExitPolicy reject` non è consentito il traffico in uscita verso le porte TCP SMTP standard 25, 465 e 587.
+- Si consente il traffico di uscita a tutte le altre porte TCP nella linea jolly `ExitPolicy accept`.
+
+È inoltre possibile consentire o bloccare un intervallo di porte come segue:
+
+```bash
+ExitPolicy accept *:80-81
+ExitPolicy reject *:993-995
+```
+
+Questi valori implicano che:
+
+- Si consente il traffico in uscita alle porte TCP 80-81
+- Non è consentito il traffico in uscita verso le porte TCP 993-995, utilizzate per le varianti IMAP, IRC e POP3 protette da SSL.
+
+È inoltre possibile consentire il traffico in uscita verso gli indirizzi IPv6, a condizione che il server disponga di connettività dual-stack:
+
+```bash
+IPv6Exit 1
+```
+
+### Esecuzione di un bridge obfs4
+
+Le connessioni dirette a Tor sono bloccate in molte parti del mondo, tra cui Cina, Iran, Russia e Turkmenistan. In questi paesi, i bridge relay non elencati sono utilizzati dai client Tor.
+
+Tor opera utilizzando un sistema di [pluggable transports](https://support.torproject.org/glossary/pluggable-transports/), che consente di mascherare il traffico Tor con altri protocolli, come il traffico fittizio non identificabile (obfs4), WebRTC (snowflake) o le connessioni HTTPS ai servizi Microsoft (meek).
+
+Grazie alla sua versatilità, obfs4 è il pluggable transport più diffuso.
+
+Per configurare un bridge obfs4, dato che obfs4 non è presente nei repo di EPEL, si deve compilarlo da zero. Installiamo prima i pacchetti necessari:
+
+```bash
+dnf install git golang policycoreutils-python-utils
+```
+
+Successivamente, scaricheremo ed estrarremo il codice sorgente di obfs4:
+
+```bash
+wget https://gitlab.com/yawning/obfs4/-/archive/obfs4proxy-0.0.14/obfs4-obfs4proxy-0.0.14.tar.bz2
+tar jxvf obfs4-obfs4proxy-0.0.14.tar.bz2
+cd obfs4-obfs4proxy-0.0.14/obfs4proxy/
+```
+
+È anche possibile ottenere obfs4 direttamente da `git clone`, ma questo dipende da una versione di Go più recente di quella presente in AppStream, quindi non la si userà.
+
+Quindi, compileremo e installeremo obfs4:
+
+```bash
+go build
+cp -a obfs4proxy /usr/local/bin/
+```
+
+Una volta installato obfs4, aggiungeremo quanto segue al nostro `torrc`:
+
+```bash
+ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
+ServerTransportListenAddr obfs4 0.0.0.0:12345
+ExtORPort auto
+```
+
+Questi valori implicano che:
+
+- Si sta eseguendo un trasporto inseribile obfs4 che si trova in `/usr/local/bin/obfs4proxy` sulla linea `ServerTransportPlugin`.
+- `ServerTransportListenAddr` fa sì che il pluggable transport sia in ascolto sulla porta 12345.
+- La linea `ExtORPort` ascolterà su una porta scelta a caso le connessioni tra Tor e il pluggable transport configurato. Normalmente, questa riga non deve essere modificata
+
+Se si desidera ascoltare su un'altra porta TCP, cambiare `12345` con la porta TCP desiderata.
+
+Inoltre, la porta TCP `12345` (o la porta scelta dall'utente) sarà consentita in SELinux e `firewalld`:
+
+```bash
+semanage port -a -t tor_port_t -p tcp 12345
+firewall-cmd --zone=public --add-port=12345/tcp
+firewall-cmd --runtime-to-permanent
+```
+
+## Eseguire replays multipli
+
+Come già detto, è possibile impostare fino a 8 relay Tor per ogni indirizzo IP pubblico. Ad esempio, se si ha 5 indirizzi IP pubblici, si può impostare un massimo di 40 relè sul server impostato.
+
+Tuttavia, si richiede un file di unità systemd personalizzato per ogni relè che si esegue.
+
+Si aggiunga ora un file di unità systemd secondario a `/usr/lib/systemd/system/torX`:
+
+```bash
+[Unit]
+Description=Anonymizing overlay network for TCP
+After=syslog.target network.target nss-lookup.target
+PartOf=tor-master.service
+ReloadPropagatedFrom=tor-master.service
+
+[Service]
+Type=notify
+NotifyAccess=all
+ExecStartPre=/usr/bin/tor --runasdaemon 0 -f /etc/tor/torrcX --DataDirectory /var/lib/tor/X --DataDirectoryGroupReadable 1 --User toranon --verify-config
+ExecStart=/usr/bin/tor --runasdaemon 0 -f /etc/tor/torrcX --DataDirectory /var/lib/tor/X --DataDirectoryGroupReadable 1 --User toranon
+ExecReload=/bin/kill -HUP ${MAINPID}
+KillSignal=SIGINT
+TimeoutSec=30
+Restart=on-failure
+RestartSec=1
+WatchdogSec=1m
+LimitNOFILE=32768
+
+# Hardening
+PrivateTmp=yes
+DeviceAllow=/dev/null rw
+DeviceAllow=/dev/urandom r
+ProtectHome=yes
+ProtectSystem=full
+ReadOnlyDirectories=/run
+ReadOnlyDirectories=/var
+ReadWriteDirectories=/run/tor
+ReadWriteDirectories=/var/lib/tor
+ReadWriteDirectories=/var/log/tor
+CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH
+PermissionsStartOnly=yes
+
+[Install]
+WantedBy = multi-user.target
+```
+
+Sostituire il suffisso `X` dopo `tor`/`torrc` con il nome desiderato. L'autore preferisce numerarlo per semplicità, ma può essere qualsiasi cosa.
+
+Successivamente, si aggiungerà il file `torrc` dell'istanza in `/etc/tor/torrcX`. Assicurarsi che ogni istanza abbia una porta e/o un indirizzo IP separati.
+
+Inoltre, si utilizzerà la porta TCP `12345` (o la porta in `torrcX`) in SELinux e `firewalld`:
+
+```bash
+semanage port -a -t tor_port_t -p tcp 12345
+firewall-cmd --zone=public --add-port=12345/tcp
+firewall-cmd --runtime-to-permanent
+```
+
+Successivamente, abilitare l'unità systemd `torX`:
+
+```bash
+systemctl enable --now torX
+```
+
+Ripetere questi passaggi per ogni relay che si desidera eseguire.
+
## Conclusione
-A differenza di un servizio VPN convenzionale, Tor si avvale di relay gestiti da volontari per garantire la privacy e l'anonimato, che avete appena impostato.
+A differenza di un servizio VPN convenzionale, Tor si avvale di relè gestiti da volontari per garantire la privacy e l'anonimato, che vengono appena impostati.
-Sebbene il funzionamento di un relay Tor richieda un sistema affidabile e, per le uscite, un ISP di supporto, l'aggiunta di più relay aiuta la privacy e rende Tor più veloce con meno punti di debolezza.
+Sebbene il funzionamento di un relay Tor richieda un sistema affidabile e, per le uscite, un ISP di supporto, l'aggiunta di più relay aiuta la privacy e rende Tor più veloce con meno punti di guasto.
diff --git a/docs/guides/proxies/tor_relay.md b/docs/guides/proxies/tor_relay.md
index 8c13dd330b..65d2483e1a 100644
--- a/docs/guides/proxies/tor_relay.md
+++ b/docs/guides/proxies/tor_relay.md
@@ -8,7 +8,9 @@ tags:
- proxies
---
-# Tor Relay
+!!! warning "Temporary Hold"
+
+ `tor` is currently missing from the EPEL. It will probably be built. The Docs Team will continue to test availability in the EPEL as time allows. For now, your only option is to build `tor` from source, and the instructions for doing that are currently missing here.
## Introduction
diff --git a/docs/guides/repositories/pulp_fetch_upload.it.md b/docs/guides/repositories/pulp_fetch_upload.it.md
new file mode 100644
index 0000000000..0e409ee26e
--- /dev/null
+++ b/docs/guides/repositories/pulp_fetch_upload.it.md
@@ -0,0 +1,103 @@
+---
+title: Recuperare e distribuire il repository RPM con Pulp
+author: David Gomez
+contributors: Steven Spencer, Ganna Zhyrnova
+tested with: 9.2
+tags:
+ - Fetch
+ - Distribute
+ - RPM
+ - Repository
+ - Pulp
+---
+
+## Introduzione
+
+Gli sviluppatori che utilizzano Rocky Linux hanno spesso bisogno di diversi repository RPM remoti per supportare le loro operazioni. Pulp è un progetto open source che può aiutare gli sviluppatori a soddisfare questa esigenza, facilitando il reperimento e la distribuzione di diversi repository RPM. Questa guida mostra un semplice esempio di utilizzo di Pulp per prelevare BaseOS e AppStream dal vault di Rocky Linux.
+
+## Requisiti
+
+- Un sistema Rocky Linux
+- In grado di eseguire container
+
+## Configurazione - Singolo Container
+
+Esistono molte configurazioni possibili per Pulp, ma questa guida utilizzerà lo scenario di distribuzione di un singolo contenitore per facilitare l'illustrazione. Scegliete una directory per Pulp e create le seguenti directory e file.
+
+```bash
+mkdir -p settings/certs pulp_storage pgsql containers
+echo "CONTENT_ORIGIN='http://$(hostname):8080'" >> settings/settings.py
+```
+
+Se si abilita SELinux, si può eseguire quanto segue per distribuire Pulp. Se SELinux non è abilitato, si può rimuovere il suffisso `:Z' dalle righe `--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
+```
+
+Se navighi su `http://localhost:8080/pulp/content/`, dovresti ora vedere l' “Indice di /pulp/content/” che al momento è vuoto. Alla fine di questa guida, i repository verranno riempiti con i propri repository.
+
+
+
+## Creare Remotes Pulp
+
+Considerate i Pulp remotes come repository remoti di sorgenti. In questo caso, i repository remoti dei sorgenti sono BaseOS e AppStream dal vault di Rocky Linux 9.2. Questi remotes verranno utilizzati per sincronizzarsi con i repository creati con Pulp. Per ulteriori informazioni sulle politiche remote, consultare la [Documentazione ufficiale di 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
+```
+
+## Copie del Repository Pulp
+
+Si tratta di copie one-to-one dei repository di BaseOS e AppStream dal caveau di Rocky Linux 9.2. Se si conoscono i remote da cui si vuole usare la sincronizzazione per i repository, è possibile aggiungerli al momento della creazione del repository. Altrimenti, se non si sa quali remote utilizzare o se tali remote possono cambiare, si possono escludere i remote. Per questa guida, la dichiarazione dei remote avviene al momento della creazione del repository.
+
+```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"
+```
+
+## Copie di Pulp Sync
+
+!!! note
+
+ È importante aggiungere “--skip-type treeinfo”. Altrimenti, invece di avere solo BaseOS o AppStream, si finisce per avere uno strano mix di entrambi. Questo è probabilmente dovuto a un problema con i repository che sono chiusi per dipendenza. Se il telecomando non è stato specificato prima, è possibile aggiungerlo. Se è stato aggiunto al momento della creazione, non è necessario menzionarlo nella sincronizzazione, come è implicito.
+
+```bash
+pulp rpm repository sync --name "R92_AppStream_Vault" --skip-type treeinfo
+pulp rpm repository sync --name "R92_BaseOS_Vault" --skip-type treeinfo
+```
+
+## Pubblicazioni Pulp Publish
+
+Una volta sincronizzati i repository dai remote, si dovranno creare le pubblicazioni da questi repository da servire alle distribuzioni. Finora si è potuto usare solo i nomi dei remote e dei repository, ma Pulp si basa anche su `hrefs` e si possono usare in modo intercambiabile. Dopo aver creato la pubblicazione, assicurarsi di prendere nota del valore `pulp_href` di ciascuna, poiché sarà necessario per il passo successivo.
+
+```bash
+pulp rpm publication create --repository "R92_AppStream_Vault"
+pulp rpm publication create --repository "R92_BaseOS_Vault"
+```
+
+## Pulp Crea Distribuzioni
+
+Con il `pulp_href` della fase di pubblicazione precedente, si può ora servire il contenuto a una distribuzione. Questo contenuto verrà quindi visualizzato sotto `http://localhost:8080/pulp/content/` e non sarà più vuoto. È possibile verificare il `pulp_href` delle pubblicazioni utilizzando il comando `pulp rpm publication list` e cercando `pulp_href`. Per esempio, di seguito è riportato un `pulp_href` per BaseOS, ma il vostro `pulp_href` potrebbe essere diverso, quindi cambiatelo di conseguenza.
+
+```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 ""
+```
+
+Se si controlla `http://localhost:8080/pulp/content/,` si dovrebbero vedere i due repository, che sono copie dei repository Rocky Linux 9.2 AppStream e BaseOS vault.
+
+
+
+## Conclusione
+
+Pulp può essere uno strumento molto versatile per recuperare più repository e distribuirli secondo le necessità. Sebbene questo sia un esempio di base, è possibile utilizzare Pulp in una serie di scenari di distribuzione più complessi e avanzati. Per ulteriori informazioni, consultare la [documentazione ufficiale](https://pulpproject.org/).
diff --git a/docs/guides/security/authentication/active_directory_authentication.it.md b/docs/guides/security/authentication/active_directory_authentication.it.md
index db00b7df4a..43efe873bf 100644
--- a/docs/guides/security/authentication/active_directory_authentication.it.md
+++ b/docs/guides/security/authentication/active_directory_authentication.it.md
@@ -1,10 +1,10 @@
---
+title: Autenticazione Active Directory
author: Hayden Young
-contributors: Steven Spencer, Sambhav Saggi, Antoine Le Morvan, Krista Burdine, Ganna Zhyrnova
+contributors: Steven Spencer, Sambhav Saggi, Antoine Le Morvan, Krista Burdine, Ganna Zhyrnova, Neel Chauhan
+tested_with: 9.4
---
-# Autenticazione Active Directory
-
## Prerequisiti
- Alcune conoscenze di Active Directory
@@ -14,7 +14,7 @@ contributors: Steven Spencer, Sambhav Saggi, Antoine Le Morvan, Krista Burdine,
Nella maggior parte delle aziende, Active Directory (AD) di Microsoft è il sistema di autenticazione predefinito per i sistemi Windows e per i servizi esterni collegati a LDAP. Consente di configurare utenti e gruppi, controllo degli accessi, autorizzazioni, montaggio automatico e altro ancora.
-Ora, mentre la connessione di Linux a un cluster AD non può supportare _tutte_ le funzionalità menzionate, può gestire utenti, gruppi e controllo degli accessi. È possibile (attraverso alcune modifiche di configurazione sul lato Linux e alcune opzioni avanzate sul lato AD) distribuire chiavi SSH utilizzando AD.
+Sebbene la connessione di Linux a un cluster AD non possa supportare _tutte_ le funzionalità menzionate, può gestire utenti, gruppi e controllo degli accessi. È possibile (attraverso alcune modifiche di configurazione sul lato Linux e alcune opzioni avanzate sul lato AD) distribuire chiavi SSH utilizzando AD.
Questa guida, tuttavia, tratterà solo la configurazione dell'autenticazione rispetto ad Active Directory e non includerà alcuna configurazione aggiuntiva sul lato Windows.
@@ -65,7 +65,7 @@ Il primo passo per unire un sistema Linux ad AD è quello di rilevare il cluster
### Scoprire
-Ora dovreste essere in grado di rilevare i vostri server AD dall'host Linux.
+A questo punto si dovrebbe essere in grado di rilevare i server AD dall'host Linux.
```sh
[user@host ~]$ realm discover ad.company.local
@@ -83,7 +83,7 @@ ad.company.local
required-package: samba-common
```
-Questo viene rilevato utilizzando i record SRV pertinenti memorizzati nel servizio DNS di Active Directory.
+I record SRV pertinenti memorizzati nel servizio DNS di Active Directory consentiranno la scoperta.
### Unirsi
@@ -106,7 +106,7 @@ Se questo processo ha successo, dovreste essere in grado di estrarre le informaz
administrator@ad.company.local:*:1450400500:1450400513:Amministrator:/home/administrator@ad.company.local:/bin/bash
```
-!!! Note "Nota"
+!!! Note "Nota"
`getent` ottiene voci dalle librerie Name Service Switch (NSS). Significa che, al contrario di `passwd` o `dig` per esempio, interrogherà diversi database, tra cui `/etc/hosts` per `getent hosts` o da `sssd` nel caso di `getent passwd`.
@@ -119,13 +119,13 @@ administrator@ad.company.local:*:1450400500:1450400513:Amministrator:/home/admin
| --os-version='8' | Specificare la versione del sistema operativo memorizzata nell'AD |
| -U admin_username | Specificare un account di amministratore |
-### Tentativo di Autenticazione
+### Tentativo di autenticazione
Ora gli utenti dovrebbero essere in grado di autenticarsi all'host Linux tramite Active Directory.
**Su Windows 10:** (che fornisce la propria copia di OpenSSH)
-```
+```dos
C:\Users\John.Doe> ssh -l john.doe@ad.company.local linux.host
Password for john.doe@ad.company.local:
@@ -139,7 +139,7 @@ Se l'operazione ha successo, si è configurato Linux per utilizzare Active Direc
### Impostazione del dominio predefinito
-In una configurazione completamente predefinita, è necessario accedere con il proprio account AD specificando il dominio nel nome utente (ad esempio, `john.doe@ad.company.local`). Se questo non è il comportamento desiderato e si vuole invece poter omettere il nome del dominio al momento dell'autenticazione, è possibile configurare SSSD in modo che abbia come default un dominio specifico.
+In una configurazione completamente predefinita, è necessario accedere con il proprio account AD specificando il dominio nel nome utente (ad esempio, `john.doe@ad.company.local`). Se questo non è il comportamento desiderato e si vuole invece poter omettere il nome del dominio al momento dell'autenticazione, si può configurare SSSD in modo che sia predefinito un dominio specifico.
Si tratta di un processo relativamente semplice, che richiede una modifica al file di configurazione di SSSD.
@@ -166,7 +166,7 @@ use_fully_qualified_names = False
override_homedir = /home/%u
```
-Non dimenticare di riavviare il servizio `ssd`.
+Non dimenticate di riavviare il servizio `sssd.`.
### Limita a determinati utenti
diff --git a/docs/guides/security/authentication/active_directory_authentication_with_samba.it.md b/docs/guides/security/authentication/active_directory_authentication_with_samba.it.md
new file mode 100644
index 0000000000..bce0a3b197
--- /dev/null
+++ b/docs/guides/security/authentication/active_directory_authentication_with_samba.it.md
@@ -0,0 +1,173 @@
+---
+title: Autenticazione Active Directory con Samba
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+---
+
+## Prerequisiti
+
+- Conoscenza di Active Directory
+- Conoscenza di LDAP
+
+## Introduzione
+
+Nella maggior parte delle aziende, Active Directory (AD) di Microsoft è il sistema di autenticazione predefinito per i sistemi Windows e per i servizi esterni collegati a LDAP. Consente di configurare utenti e gruppi, controllo degli accessi, autorizzazioni, auto-mounting e altro ancora.
+
+Sebbene la connessione di Linux a un cluster AD non possa supportare _tutte_ le funzionalità menzionate, può gestire utenti, gruppi e controllo degli accessi. È possibile (attraverso alcune modifiche di configurazione sul lato Linux e alcune opzioni avanzate sul lato AD) distribuire chiavi SSH utilizzando AD.
+
+Il modo predefinito di utilizzare Active Directory su Rocky Linux è SSSD, ma Samba è un'alternativa più completa. Ad esempio, la condivisione dei file può essere effettuata con Samba ma non con SSSD. Questa guida, tuttavia, tratterà la configurazione dell'autenticazione per Active Directory utilizzando Samba e non includerà alcuna configurazione aggiuntiva sul lato Windows.
+
+## Trovare e join AD usando Samba
+
+!!! Note
+
+```
+Il nome del dominio `ad.company.local` in questa guida rappresenta il dominio Active Directory. Per seguire questa guida, sostituitelo con il nome del vostro dominio AD.
+```
+
+Il primo passo per unire un sistema Linux ad AD è quello di scoprire il cluster AD, per assicurarsi che la configurazione di rete sia corretta su entrambi i lati.
+
+### Preparazione
+
+- Assicurarsi che le seguenti porte siano aperte per l'host Linux sul domain controller:
+
+ | Servizio | Porta(e) | Note |
+ | -------- | ------------------------------------ | ---------------------------------------------------------------------------- |
+ | DNS | 53 (TCP+UDP) | |
+ | Kerberos | 88, 464 (TCP+UDP) | Usato da `kadmin` per impostare & aggiornare le password |
+ | LDAP | 389 (TCP+UDP) | |
+ | LDAP-GC | 3268 (TCP) | LDAP Global Catalog - consente di generare ID utenti da AD |
+
+- Assicurarsi di aver configurato il domain controller AD come server DNS sull'host Rocky Linux:
+
+ **Con NetworkManager:**
+
+ ```sh
+ # dove la tua connessione principale a NetworkManager è 'System eth0' e il tuo server AD
+ # è accessibile all'indirizzo IP 10.0.0.2.
+ [root@host ~]$ nmcli con mod 'System eth0' ipv4.dns 10.0.0.2
+ ```
+
+- Assicurarsi che l'ora su entrambi i lati (host AD e sistema Linux) sia sincronizzata (vedere chronyd)
+
+ **Per verificare l'ora su Rocky Linux:**
+
+ ```sh
+ [user@host ~]$ date
+ Mer 22 set 17:11:35 BST 2021
+ ```
+
+- Installare i pacchetti richiesti per la connessione AD sul lato Linux:
+
+ ```sh
+ [user@host ~]$ sudo dnf install samba samba-winbind samba-client
+ ```
+
+### Rilevare
+
+Ora dovreste essere in grado di rilevare i vostri server AD dall'host Linux.
+
+```sh
+[user@host ~]$ realm discover ad.company.local
+ad.company.local
+ type: kerberos
+ realm-name: AD.COMPANY.LOCAL
+ domain-name: ad.company.local
+ configured: no
+ server-software: active-directory
+ client-software: sssd
+ required-package: oddjob
+ required-package: oddjob-mkhomedir
+ required-package: sssd
+ required-package: adcli
+ required-package: samba-common
+```
+
+I record SRV pertinenti memorizzati nel servizio DNS di Active Directory consentiranno la scoperta.
+
+### Unirsi
+
+Una volta individuata con successo l'installazione di Active Directory dall'host Linux, si dovrebbe essere in grado di usare `realmd` per unirsi al dominio, che orchestrerà la configurazione di Samba usando `adcli` e altri strumenti simili.
+
+```sh
+[user@host ~]$ sudo realm join -v --membership-software=samba --client-software=winbind ad.company.local
+```
+
+Verrà richiesto di inserire la password di amministratore del dominio, quindi inserirla.
+
+Se questo processo si lamenta della crittografia con `KDC has no support for encryption type`, provare ad aggiornare la politica globale di crittografia per consentire algoritmi di crittografia più vecchi:
+
+```sh
+[user@host ~]$ sudo update-crypto-policies --set DEFAULT:AD-SUPPORT
+```
+
+Se il processo ha successo, si dovrebbe essere in grado di estrarre le informazioni `passwd` per un utente di Active Directory.
+
+```sh
+[user@host ~]$ sudo getent passwd administrator@ad.company.local
+AD\administrator:*:1450400500:1450400513:Administrator:/home/administrator@ad.company.local:/bin/bash
+```
+
+!!! Note
+
+```
+`getent` ottiene le voci dalle librerie Name Service Switch (NSS). Ciò significa che, al contrario di `passwd` o `dig` per esempio, interrogherà diversi database, tra cui `/etc/hosts` per `getent hosts` o da `samba` nel caso di `getent passwd`.
+```
+
+`realm` fornisce alcune opzioni interessanti che si possono utilizzare:
+
+| Opzione | Osservazione |
+| -------------------------------------------------------------------------- | ----------------------------------------------------------------- |
+| --computer-ou='OU=LINUX,OU=SERVERS,dc=ad,dc=company.local' | L'OU in cui memorizzare l'account del server |
+| --os-name='rocky' | Specificare il nome del sistema operativo memorizzato in AD |
+| --os-version='8' | Specificare la versione del sistema operativo memorizzata nell'AD |
+| -U admin_username | Specificare un account di amministratore |
+
+### Tentativo di autenticazione
+
+Ora gli utenti dovrebbero essere in grado di autenticarsi all'host Linux tramite Active Directory.
+
+**Su Windows 10:** (che fornisce la propria copia di OpenSSH)
+
+```dos
+C:\Users\John.Doe> ssh -l john.doe@ad.company.local linux.host
+Password for john.doe@ad.company.local:
+
+Activate the web console with: systemctl enable --now cockpit.socket
+
+Last login: Wed Sep 15 17:37:03 2021 from 10.0.10.241
+[john.doe@ad.company.local@host ~]$
+```
+
+Se l'operazione ha successo, si è configurato Linux per utilizzare Active Directory come fonte di autenticazione.
+
+### Eliminazione del nome di dominio nei nomi utente
+
+In una configurazione completamente predefinita, è necessario accedere con il proprio account AD specificando il dominio nel nome utente (ad esempio, `john.doe@ad.company.local`). Se questo non è il comportamento desiderato e si vuole invece essere in grado di omettere il nome di dominio predefinito al momento dell'autenticazione, è possibile configurare Samba in modo che sia predefinito un dominio specifico.
+
+Si tratta di un processo relativamente semplice, che richiede una modifica al file di configurazione `smb.conf`.
+
+```sh
+[user@host ~]$ sudo vi /etc/samba/smb.conf
+[global]
+...
+winbind use default domain = yes
+```
+
+Aggiungendo l'opzione `winbind use default domain`, si indica a Samba di dedurre che l'utente sta cercando di autenticarsi come utente del dominio `ad.company.local`. Ciò consente di autenticarsi come `john.doe` invece di `john.doe@ad.company.local`.
+
+Per rendere effettiva questa modifica della configurazione, è necessario riavviare i servizi `smb` e `winbind` con `systemctl`.
+
+```sh
+[user@host ~]$ sudo systemctl restart smb winbind
+```
+
+Allo stesso modo, se non si vuole che le directory home abbiano il suffisso del nome di dominio, è possibile aggiungere queste opzioni nel file di configurazione `/etc/samba/smb.conf`:
+
+```bash
+[global]
+template homedir = /home/%U
+```
+
+Non dimenticare di riavviare i servizi `smb` e `winbind`.
diff --git a/docs/guides/security/dnf_automatic.it.md b/docs/guides/security/dnf_automatic.it.md
index af712b1952..ec256b6aa4 100644
--- a/docs/guides/security/dnf_automatic.it.md
+++ b/docs/guides/security/dnf_automatic.it.md
@@ -62,7 +62,7 @@ sudo systemctl enable --now dnf-automatic.timer
## Che dire dei server CentOS 7?
-!!! tip "Suggerimento"
+!!! tip
Sì, questa è la documentazione di Rocky Linux, ma se siete amministratori di sistema o di rete, potreste avere qualche macchina CentOS 7 ancora in funzione. Lo capiamo ed è per questo che abbiamo inserito questa sezione.
diff --git a/docs/guides/security/dnf_automatic.uk.md b/docs/guides/security/dnf_automatic.uk.md
index b14ae9a55b..4a7148a6fe 100644
--- a/docs/guides/security/dnf_automatic.uk.md
+++ b/docs/guides/security/dnf_automatic.uk.md
@@ -7,7 +7,7 @@ tags:
- безпека
- dnf
- автоматизація
- - updates
+ - оновлення
---
# Виправлення серверів за допомогою `dnf-automatic`
diff --git a/docs/guides/security/enabling_iptables_firewall.it.md b/docs/guides/security/enabling_iptables_firewall.it.md
index 5a5d4d3203..58a758606f 100644
--- a/docs/guides/security/enabling_iptables_firewall.it.md
+++ b/docs/guides/security/enabling_iptables_firewall.it.md
@@ -2,7 +2,7 @@
title: Abilitazione del Firewall `iptables`
author: Steven Spencer
contributors: Ezequiel Bruni, Ganna Zhyrnova
-tested_with: 8.5, 8.6, 9.0
+tested*with: 8.5, 8.6, 9.0
tags:
- security
- iptables
@@ -13,7 +13,7 @@ tags:
## Prerequisiti
-* Un ardente, inestinguibile desiderio di disabilitare l'applicazione di default _firewalld_ e abilitare _iptables_.
+- Un desiderio ardente e inestinguibile di disabilitare l'applicazione predefinita *firewalld* e abilitare *iptables*.
!!! warning "Questo Processo È Deprecato"
@@ -21,17 +21,17 @@ tags:
## Introduzione
-_firewalld_ è ora il firewall predefinito su Rocky Linux. _firewalld_ **era** nient'altro che un'applicazione dinamica di _iptables_ che utilizzando i file xml caricava le modifiche senza il flushing delle regole in CentOS 7/RHEL 7. Con CentOS 8/RHEL 8/Rocky 8, _firewalld_ è ora un wrapper intorno a _nftables_. È ancora possibile, tuttavia, installare e utilizzare direttamente _iptables_ se questa è la tua preferenza. Per installare ed eseguire direttamente _iptables_ senza _firewalld_ puoi farlo seguendo questa guida. Ciò che questa guida **non** ti dirà è come scrivere le regole per _iptables_. Si presume che se vuoi sbarazzarti di _firewalld_, devi già sapere come scrivere regole per _iptables_.
+*firewalld* è ora il firewall predefinito su Rocky Linux. *firewalld* non **era** altro che un'applicazione dinamica di *iptables* che utilizzava file xml e che caricava le modifiche senza eseguire il flussaggio delle regole in CentOS 7/RHEL 7. Con CentOS 8/RHEL 8/Rocky 8, *firewalld* è ora un wrapper attorno a *nftables*. È comunque possibile installare e utilizzare direttamente iptables, se lo si preferisce. Per installare ed eseguire *iptables* senza *firewalld* è possibile seguire questa guida. Questa guida **non** spiega come scrivere le regole per *iptables*. Si presume che se ci si vuole sbarazzare di *firewalld*, si deve già sapere come scrivere le regole per *iptables*.
## Disabilitare firewalld
-Non è possibile eseguire la vecchia utility _iptables_ accanto a _firewalld_. Semplicemente non sono compatibili. Il modo migliore per ovviare a questo problema è quello di disabilitare completamente _firewalld_ (non è necessario disinstallarlo a meno che non lo si voglia fare) e reinstallare le utility _iptables_. Disabilitare _firewalld_ può essere fatto utilizzando questi comandi:
+Non è possibile eseguire la vecchia utility *iptables* insieme a *firewalld*. Semplicemente non sono compatibili. Il modo migliore per ovviare a questo problema è disabilitare completamente *firewalld* (non è necessario disinstallarlo, a meno che non lo si voglia fare) e reinstallare le utility *iptables*. La disabilitazione di *firewalld* può essere eseguita con questi comandi:
-Arrestare _firewalld_:
+Arrestare *firewalld*:
`systemctl stop firewalld`
-Disabilitare _firewalld_ in modo che non parta all'avvio:
+Disabilitare *firewalld* in modo che non si avvii all'avvio:
`systemctl disable firewalld`
@@ -41,16 +41,16 @@ Mascherare il servizio in modo che non possa essere trovato:
## Installazione e Abilitazione dei Servizi iptables
-Successivamente, è necessario installare i vecchi servizi e utilità _iptables_. Ciò è fatto con quanto segue:
+Successivamente, è necessario installare i vecchi servizi e utilità di *iptables*. Ciò è fatto con quanto segue:
`dnf install iptables-services iptables-utils`
-Questo installerà tutto ciò che è necessario per eseguire una regola _iptables_ impostata.
+Questo installerà tutto ciò che è necessario per eseguire un set di regole *iptables*.
-Ora abbiamo bisogno di abilitare il servizio _iptables_ per assicurarsi che parta all'avvio:
+Ora dobbiamo abilitare il servizio *iptables* per assicurarci che si avvii all'avvio:
`systemctl enable iptables`
## Conclusione
-È possibile ritornare a utilizzare _iptables_ se lo si preferisce al posto di _firewalld_. Puoi tornare a usare il _firewalld_ predefinito semplicemente invertendo queste modifiche.
+Se preferisci, puoi tornare a utilizzare direttamente iptables invece di firewalld. È possibile tornare a utilizzare il *firewalld* predefinito semplicemente invertendo queste modifiche.
diff --git a/docs/guides/security/firewalld-beginners.it.md b/docs/guides/security/firewalld-beginners.it.md
index a1e4326cd7..59f7dce565 100644
--- a/docs/guides/security/firewalld-beginners.it.md
+++ b/docs/guides/security/firewalld-beginners.it.md
@@ -8,7 +8,7 @@ contributors: Steven Spencer, Ganna Zhyrnova
## Introduzione
-Molto tempo fa, ero un piccolo utente di computer alle prime armi che aveva sentito dire che avere un firewall *doveva* essere super buono. Mi permetterebbe di decidere cosa entra e cosa esce dal mio computer, giusto? Ma sembrava soprattutto che impedisse ai miei videogiochi di accedere a Internet; non ne ero *felice*.
+Molto tempo fa, ero un piccolo utente di computer alle prime armi che aveva sentito dire che avere un firewall *doveva* essere super buono. Mi permetterebbe di decidere cosa entra e cosa esce dal mio computer, giusto? Ma soprattutto sembrava che impedisse ai miei videogiochi di accedere a Internet; *non* ero contento.
Naturalmente, se siete qui, probabilmente avete un'idea migliore di me su cosa sia un firewall e cosa faccia. Ma se la vostra esperienza con il firewall consiste nel dire a Windows Defender che la vostra nuova applicazione è autorizzata a utilizzare Internet, non preoccupatevi. Come indicato nel titolo del documento, questa guida è destinata a voi (e ad altri principianti)!
@@ -16,10 +16,10 @@ Parliamo quindi del motivo per cui siamo qui. `firewalld` è l'applicazione fire
Qui imparerete:
-* Le basi del funzionamento di `firewalld`
-* Come usare `firewalld` per limitare o permettere le connessioni in entrata e in uscita
-* Come permettere solo alle persone di certi indirizzi IP o luoghi di accedere alla tua macchina da remoto
-* Come gestire alcune caratteristiche `specifiche di firewalld` come le Zone.
+- Le basi del funzionamento di `firewalld`
+- Come usare `firewalld` per limitare o permettere le connessioni in entrata e in uscita
+- Come permettere solo alle persone di certi indirizzi IP o luoghi di accedere alla tua macchina da remoto
+- Come gestire alcune caratteristiche `specifiche di firewalld` come le Zone.
Si noti che questa *non* vuole essere una guida completa o esaustiva sul firewall; di conseguenza, copre solo le basi.
@@ -31,12 +31,13 @@ Beh... ci *sono* le opzioni di configurazione grafica del firewall. Sul desktop,
2. Capire come funzionano i comandi `firewalld` potrebbe aiutarvi a capire meglio come funziona il software del firewall. Se in futuro deciderete di utilizzare un'interfaccia grafica, potrete applicare gli stessi principi appresi qui e comprendere meglio ciò che state facendo.
## Prerequisiti e presupposti
+
Avrete bisogno di:
-* Una macchina Rocky Linux di qualsiasi tipo, locale o remota, fisica o virtuale
-* Accesso al terminale e volontà di usarlo
-* Avete bisogno dell'accesso root, o almeno della capacità di usare `sudo` sul vostro account utente. Per semplicità, assumo che tutti i comandi siano eseguiti come root
-* Una comprensione di base di SSH non sarebbe male per la gestione di macchine remote.
+- Una macchina Rocky Linux di qualsiasi tipo, locale o remota, fisica o virtuale
+- Accesso al terminale e volontà di usarlo
+- Avete bisogno dell'accesso root, o almeno della capacità di usare `sudo` sul vostro account utente. Per semplicità, assumo che tutti i comandi siano eseguiti come root
+- Una comprensione di base di SSH non sarebbe male per la gestione di macchine remote.
## Uso di Base
@@ -48,7 +49,7 @@ Avrete bisogno di:
systemctl enable --now firewalld
```
-L'opzione `--now` avvia il servizio non appena viene abilitato e consente di saltare il passaggio `systemctl start firewalld`.
+Il flag `--now` avvia il servizio non appena viene abilitato e consente di saltare il passaggio `systemctl start firewalld`.
Come per tutti i servizi su Rocky Linux, è possibile verificare se il firewall è in esecuzione con:
@@ -148,21 +149,21 @@ Le zone predefinite includono le seguenti (ho preso questa spiegazione da [Guida
> **drop:** Il livello più basso di fiducia. Tutte le connessioni in entrata sono abbandonate senza risposta e solo le connessioni in uscita sono possibili.
-> **block:** Simile al precedente, ma invece di abbandonare semplicemente le connessioni, le richieste in entrata sono rifiutate con un messaggio icmp-host-prohibited o icmp6-adm-prohibited.
+> **block:** Simile al precedente, ma invece di interrompere semplicemente le connessioni, le richieste in arrivo vengono rifiutate con un messaggio icmp-host-prohibited o icmp6-adm-prohibited.
-> **public:** Rappresenta le reti pubbliche, non fidate. Non ti fidi degli altri computer, ma puoi permettere connessioni in entrata selezionate caso per caso.
+> **public:** Rappresenta le reti pubbliche e non affidabili. Non ci si fida degli altri computer, ma si possono consentire connessioni in entrata selezionate caso per caso.
-> **internal:** L'altro lato della zona esterna, usata per la parte interna di un gateway. I computer sono abbastanza affidabili e sono disponibili alcuni servizi aggiuntivi.
+> **external:** Reti esterne nel caso in cui si utilizzi il firewall come gateway. È configurato per il NAT masquerading, in modo che la rete interna rimanga privata ma raggiungibile.
-> **dmz:** utilizzato per i computer situati in una DMZ (computer isolati che non avranno accesso al resto della vostra rete). I computer sono abbastanza affidabili e sono disponibili alcuni servizi aggiuntivi.
+> **internal:** L'altro lato della zona esterna, utilizzato per la parte interna di un gateway. I computer sono abbastanza affidabili e sono disponibili alcuni servizi aggiuntivi.
-> **work:** Usato per le macchine da lavoro. Fidatevi della maggior parte dei computer della rete.
+> **dmz:** Utilizzato per i computer situati in una DMZ (computer isolati che non hanno accesso al resto della rete). Sono consentite solo determinate connessioni in entrata.
-> **home:** Un ambiente domestico. Generalmente implica che vi fidate della maggior parte degli altri computer e che qualche servizio in più sarà accettato. Qualche altro servizio potrebbe essere permesso.
+> **work:** Utilizzato per le macchine da lavoro. Trust nella maggior parte dei computer della rete. Potrebbero essere consentiti alcuni servizi in più.
-> **trusted:** Fidati di tutte le macchine della rete. La più aperta delle opzioni disponibili e dovrebbe essere usata con parsimonia.
+> **home:** Un home environment. In genere implica che ci si fida della maggior parte degli altri computer e che qualche altro servizio sarà accettato.
-> **trusted:** Fidati di tutte le macchine della rete. La più aperta delle opzioni disponibili e dovrebbe essere usata con parsimonia.
+> **trusted:** Trust in tutti i computer della rete. È la più aperta tra le opzioni disponibili e deve essere usata con parsimonia.
Ok, alcune di queste spiegazioni sono complicate, ma onestamente? Il principiante medio può cavarsela con la comprensione di "trusted", "home" e "public" e quando usarli.
@@ -271,10 +272,10 @@ Come si può immaginare, i servizi sono programmi piuttosto standardizzati che v
Questo è il modo preferito per aprire le porte di questi servizi comuni e di molti altri:
-* HTTP e HTTPS: per i server web
-* FTP: per spostare i file avanti e indietro (alla vecchia maniera)
-* SSH: per controllare macchine remote e spostare file avanti e indietro nel nuovo modo
-* Samba: Per la condivisione di file con macchine Windows.
+- HTTP e HTTPS: per i server web
+- FTP: per spostare i file avanti e indietro (alla vecchia maniera)
+- SSH: per controllare macchine remote e spostare file avanti e indietro nel nuovo modo
+- Samba: Per la condivisione di file con macchine Windows.
!!! Warning "Attenzione"
@@ -363,7 +364,6 @@ public (active)
rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept
```
-
In secondo luogo, è possibile utilizzare due zone diverse alla volta. Se l'interfaccia è vincolata alla zona pubblica, è possibile attivare una seconda zona (la zona "trusted", ad esempio) aggiungendo un IP sorgente o un intervallo di IP, come mostrato sopra. Quindi, aggiungere il servizio SSH alla zona trusted e rimuoverlo dalla zona public.
Al termine, l'output dovrebbe essere simile a questo:
@@ -421,7 +421,7 @@ Se si viene bloccati, riavviare il server (la maggior parte dei pannelli di cont
Questa è una guida tutt'altro che esaustiva e si può imparare molto di più con la documentazione [ufficiale di `firewalld`](https://firewalld.org/documentation/). Su Internet sono disponibili anche guide specifiche per le applicazioni che vi mostreranno come impostare il firewall per quelle specifiche applicazioni.
-Per i fan di `iptables` (se siete arrivati fin qui...), [abbiamo una guida](firewalld.md) che illustra in dettaglio alcune differenze nel funzionamento di `firewalld` e `iptables`. Questa guida potrebbe aiutarvi a capire se volete rimanere con `firewalld` o tornare alle Vecchie Abitudini (TM). In questo caso, c'è qualcosa da dire riguardo ai Vecchie Abitudini (TM).
+Per i fan di `iptables` (se siete arrivati fin qui...), [abbiamo una guida](firewalld.md) che illustra in dettaglio alcune differenze nel funzionamento di `firewalld` e `iptables`. Questa guida potrebbe aiutarvi a capire se volete rimanere con `firewalld` o tornare alle Vecchie Abitudini^(TM)^. In questo caso, c'è qualcosa da dire riguardo alle Vecchie Abitudini^(TM)^.
## Conclusione
diff --git a/docs/guides/security/firewalld-beginners.md b/docs/guides/security/firewalld-beginners.md
index b3ab01493a..b607d5099b 100644
--- a/docs/guides/security/firewalld-beginners.md
+++ b/docs/guides/security/firewalld-beginners.md
@@ -148,13 +148,21 @@ If your machine has multiple ways to connect to different networks (e.g., Ethern
Default zones include the following (I've taken this explanation from [DigitalOcean's guide to `firewalld`](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-8), which you should also read):
> **drop:** The lowest level of trust. All incoming connections are dropped without reply and only outgoing connections are possible.
+
> **block:** Similar to the above, but instead of simply dropping connections, incoming requests are rejected with an icmp-host-prohibited or icmp6-adm-prohibited message.
+
> **public:** Represents public, untrusted networks. You don’t trust other computers but may allow selected incoming connections on a case-by-case basis.
+
> **external:** External networks in the event that you are using the firewall as your gateway. It is configured for NAT masquerading so that your internal network remains private but reachable.
+
> **internal:** The other side of the external zone, used for the internal portion of a gateway. The computers are fairly trustworthy, and some additional services are available.
+
> **dmz:** Used for computers located in a DMZ (isolated computers that will not have access to the rest of your network). Only certain incoming connections are allowed.
+
> **work:** Used for work machines. Trust most of the computers in the network. A few more services might be allowed.
+
> **home:** A home environment. It generally implies that you trust most of the other computers and that a few more services will be accepted.
+
> **trusted:** Trust all of the machines in the network. The most open of the available options and should be used sparingly.
Okay, so some of those explanations get complicated, but honestly? The average beginner can get by with understanding "trusted", "home", and "public", and when to use which.
diff --git a/docs/guides/security/firewalld-beginners.uk.md b/docs/guides/security/firewalld-beginners.uk.md
index 2b8a6a9166..66f1c8c5f8 100644
--- a/docs/guides/security/firewalld-beginners.uk.md
+++ b/docs/guides/security/firewalld-beginners.uk.md
@@ -147,7 +147,23 @@ firewall-cmd --permanent [the rest of your command]
Стандартні зони включають наступне (я взяв це пояснення з [посібника DigitalOcean щодо `firewalld`](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-8), який вам також слід прочитати):
-> **drop:** Найнижчий рівень довіри. Усі вхідні з’єднання розриваються без відповіді, і можливі лише вихідні з’єднання. **block:** Подібно до вищезазначеного, але замість того, щоб просто розірвати з’єднання, вхідні запити відхиляються повідомленням icmp-host-prohibited або icmp6-adm-prohibited. **public:** Представляє публічні, ненадійні мережі. Ви не довіряєте іншим комп’ютерам, але можете дозволити вибрані вхідні підключення в кожному конкретному випадку. **external:** Зовнішні мережі, якщо ви використовуєте брандмауер як шлюз. Він налаштований на маскування NAT, щоб ваша внутрішня мережа залишалася приватною, але доступною. **internal:** Інша сторона зовнішньої зони, яка використовується для внутрішньої частини шлюзу. Комп’ютери досить надійні, доступні деякі додаткові послуги. **dmz:** Використовується для комп’ютерів, розташованих у DMZ (ізольовані комп’ютери, які не матимуть доступу до решти вашої мережі). Дозволені лише певні вхідні підключення. **work:** Використовується для робочих машин. Довіряйте більшості комп’ютерів у мережі. Можливо, буде дозволено ще декілька послуг. **home:** Домашнє середовище. Зазвичай це означає, що ви довіряєте більшості інших комп’ютерів і що буде прийнято ще кілька послуг. **trusted:** Довіряє всім машинам у мережі. Найбільш відкритий з доступних варіантів, і його слід використовувати помірковано.
+> **drop:** Найнижчий рівень довіри. Усі вхідні з’єднання розриваються без відповіді, і можливі лише вихідні з’єднання.
+
+> **block:** Подібно до вищезазначеного, але замість того, щоб просто розірвати з’єднання, вхідні запити відхиляються повідомленням icmp-host-prohibited або icmp6-adm-prohibited.
+
+> **public:** представляє публічні, ненадійні мережі. Ви не довіряєте іншим комп’ютерам, але можете дозволити вибрані вхідні підключення в кожному конкретному випадку.
+
+> **external:** Зовнішні мережі, якщо ви використовуєте брандмауер як шлюз. Він налаштований на маскування NAT, щоб ваша внутрішня мережа залишалася приватною, але доступною.
+
+> **internal:** інша сторона зовнішньої зони, яка використовується для внутрішньої частини шлюзу. Комп’ютери досить надійні, доступні деякі додаткові послуги.
+
+> **dmz:** використовується для комп’ютерів, розташованих у DMZ (ізольовані комп’ютери, які не матимуть доступу до решти вашої мережі). Дозволені лише певні вхідні підключення.
+
+> **work:** Використовується для робочих машин. Довіряє більшості комп’ютерів у мережі. Можливо, буде дозволено ще декілька послуг.
+
+> **home:** Домашнє середовище. Загалом це означає, що ви довіряєте більшості інших комп’ютерів і що буде прийнято ще кілька послуг.
+
+> **trusted:** довіряє всім машинам у мережі. Найбільш відкритий з доступних варіантів, і його слід використовувати помірковано.
Гаразд, деякі з цих пояснень стають складнішими, але чесно кажучи? Звичайний початківець може обійтися розумінням понять «довірений», «домашній» і «загальнодоступний», а також те, що використовувати.
diff --git a/docs/guides/security/firewalld.uk.md b/docs/guides/security/firewalld.uk.md
index 2d7a4317f8..cb574d1d11 100644
--- a/docs/guides/security/firewalld.uk.md
+++ b/docs/guides/security/firewalld.uk.md
@@ -20,7 +20,7 @@ tags:
Цей посібник присвячено застосуванню правил із брандмауера `iptables` до брандмауера `firewalld`. Якщо ви справді лише на початку свого шляху до брандмауера, [цей документ](firewalld-beginners.md) може допомогти вам більше. Прочитайте обидва документи, щоб максимально використати `firewalld`.
-## Передумови та припущення
+## Передумови і Припущення
- У цьому документі припускається, що ви є користувачем root або маєте підвищені привілеї за допомогою `sudo`.
- Побіжне знання правил брандмауера, зокрема `iptables`, або, як мінімум, ви хочете дізнатися щось про `firewalld`.
diff --git a/docs/guides/security/freeradius_radius_server.it.md b/docs/guides/security/freeradius_radius_server.it.md
new file mode 100644
index 0000000000..8b2029851e
--- /dev/null
+++ b/docs/guides/security/freeradius_radius_server.it.md
@@ -0,0 +1,106 @@
+---
+title: RADIUS Server FreeRADIUS
+author: Neel Chauhan
+contributors: Steven Spencer
+tested_with: 9.4
+tags:
+ - security
+---
+
+# FreeRADIUS 802.1X Server
+
+## Introduzione
+
+RADIUS è un protocollo AAA (autenticazione, autorizzazione e registrazione) per la gestione dell'accesso alla rete. [FreeRADIUS](https://www.freeradius.org/) è il server RADIUS di fatto per Linux e altri sistemi Unix-like.
+
+## Prerequisiti
+
+I requisiti minimi per questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Un client RADIUS, ad esempio un router, uno switch o un punto di accesso Wi-Fi
+
+## Installazione di FreeRADIUS
+
+È possibile installare FreeRADIUS dai repository `dnf`:
+
+```bash
+dnf install -y freeradius
+```
+
+## Configurazione di FreeRADIUS
+
+Una volta installati i pacchetti, è necessario generare i certificati di crittografia TLS per FreeRADIUS:
+
+```bash
+cd /etc/raddb/certs
+./bootstrap
+```
+
+Successivamente, sarà necessario aggiungere gli utenti da autenticare. Aprire il file `users`:
+
+```bash
+cd ..
+vi users
+```
+
+Nel file, inserire quanto segue:
+
+```bash
+user Cleartext-Password := "password"
+```
+
+Sostituire `user` e `password` con il nome utente e la password desiderati.
+
+Sappiate che la password non è sottoposta a hash, quindi se un malintenzionato entra in possesso del file `users` potrebbe ottenere un accesso non autorizzato alla vostra rete protetta.
+
+È anche possibile utilizzare una password con hash `MD5` o `Crypt`. Per generare una password con hash MD5, eseguire:
+
+```bash
+echo -n password | md5sum | awk '{print $1}'
+```
+
+Sostituire `password` con la password desiderata.
+
+Si otterrà un hash di `5f4dcc3b5aa765d61d8327deb882cf99`. Nel file `users`, inserire invece quanto segue:
+
+```bash
+user MD5-Password := "5f4dcc3b5aa765d61d8327deb882cf99"
+```
+
+È inoltre necessario definire i client. Questo per evitare accessi non autorizzati al nostro server RADIUS. Modificare il file `clients.conf`:
+
+```bash
+vi clients.conf
+```
+
+Inserire quanto segue:
+
+```bash
+client 172.20.0.254 {
+ secret = secret123
+}
+```
+
+Sostituire `172.20.0.254` e `secret123` con l'indirizzo IP e il valore segreto che utilizzeranno i client. Ripetere l'operazione per altri client.
+
+## Abilitazione di FreeRADIUS
+
+Dopo la configurazione iniziale, è possibile avviare `radiusd`:
+
+```bash
+systemctl enable --now radiusd
+```
+
+## Configurazione di RADIUS su uno switch
+
+Dopo aver configurato il server FreeRADIUS, si configura un client RADIUS sullo switch MikroTik dell'autore come client 802.1X cablato:
+
+```bash
+/radius
+add address=172.20.0.12 secret=secret123 service=dot1x
+/interface dot1x server
+add interface=combo3
+```
+
+Sostituire `172.20.0.12` con l'indirizzo IP del server FreeRADIUS e `secret123` con il codice segreto impostato in precedenza.
diff --git a/docs/guides/security/freeradius_radius_server.uk.md b/docs/guides/security/freeradius_radius_server.uk.md
index d316bfb516..c1df2078e5 100644
--- a/docs/guides/security/freeradius_radius_server.uk.md
+++ b/docs/guides/security/freeradius_radius_server.uk.md
@@ -17,7 +17,7 @@ RADIUS — це протокол AAA (автентифікація, автори
Нижче наведено мінімальні вимоги до цієї процедури:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
- Клієнт RADIUS, наприклад маршрутизатор, комутатор або точка доступу Wi-Fi
## Встановлення FreeRADIUS
diff --git a/docs/guides/security/generating_ssl_keys_lets_encrypt.it.md b/docs/guides/security/generating_ssl_keys_lets_encrypt.it.md
index 6907232a26..020e878b4a 100644
--- a/docs/guides/security/generating_ssl_keys_lets_encrypt.it.md
+++ b/docs/guides/security/generating_ssl_keys_lets_encrypt.it.md
@@ -2,33 +2,31 @@
title: Generazione di Chiavi SSL - Let's Encrypt
author: Steven Spencer
contributors: wsoyinka, Antoine Le Morvan, Ezequiel Bruni, Andrew Thiesen, Ganna Zhyrnova
-tested_with: 8.5
+tested*with: 8.5
tags:
- security
- ssl
- certbot
---
-# Generazione di Chiavi SSL - Let's Encrypt
-
## Prerequisiti & presupposti
-* Comfort con la riga di comando
-* La familiarità con la protezione dei siti web con i certificati SSL è un plus
-* Conoscenza degli editor di testo a riga di comando (questo esempio utilizza _vi_)
-* Un server web aperto al mondo e funzionante sulla porta 80 (http)
-* Familiarità con _ssh_ (secure shell) e la possibilità di accedere al tuo server con _ssh_
-* Tutti i comandi presuppongono che tu sia l'utente root o che tu abbia usato _sudo_ per ottenere l'accesso root.
+- Comfort con la riga di comando
+- La familiarità con la protezione dei siti web con i certificati SSL è un plus
+- Conoscenza degli editor di testo a riga di comando (questo esempio utilizza *vi*)
+- Un server web aperto al mondo e funzionante sulla porta 80 (`http`)
+- Dimestichezza con *SSH* (secure shell) e capacità di accedere al proprio server con *SSH*
+- Tutti i comandi presuppongono che siate l'utente root o che abbiate usato `sudo` per ottenere l'accesso root
## Introduzione
-Uno dei modi più diffusi per proteggere un sito web è l'utilizzo dei certificati SSL di Let's Encrypt, che sono anche gratuiti.
+Uno dei modi più diffusi per proteggere un sito web è quello di utilizzare i certificati SSL di Let's Encrypt, che sono anche gratuiti.
-Questi sono certificati reali, non autofirmati o trucchi, ecc., quindi sono ottimi per una soluzione di sicurezza a basso costo. Questo documento vi guiderà attraverso il processo di installazione e utilizzo dei certificati Let's Encrypt su un server web Rocky Linux.
+Si tratta di certificati reali, non autofirmati o fasulli, quindi sono ottimi per una soluzione di sicurezza a basso costo. Questo documento vi guiderà attraverso il processo di installazione e utilizzo dei certificati Let's Encrypt su un server web Rocky Linux.
## Installazione
-Per effettuare i passi successivi, usa _ssh_ per accedere al tuo server. Se il nome DNS pienamente qualificato del vostro server fosse www.myhost.com, allora usereste:
+Per eseguire i passi successivi, utilizzare `ssh` per accedere al server. Se il nome DNS completo del tuo server fosse , dovresti utilizzare:
```bash
Saving debug log to /var/log/letsencrypt/letsencrypt.log
@@ -43,21 +41,21 @@ Oppure, se devi prima accedere al tuo server come utente non privilegiato. Usa i
ssh -l username www.myhost.com
```
-E poi:
+Quindi:
```bash
sudo -s
```
-In questo caso avrai bisogno delle tue credenziali utente _sudo_ per accedere al sistema come root.
+In questo caso è necessario disporre delle credenziali del proprio utente per accedere al sistema come root.
-Let's Encrypt usa un pacchetto chiamato _certbot_ che deve essere installato tramite i repository EPEL. Aggiungete prima quelli:
+Let's Encrypt utilizza un pacchetto chiamato *certbot* che si installa con il repository EPEL. Aggiungete prima quelli:
```bash
dnf install epel-release
```
-Installare quindi i pacchetti appropriati, a seconda che si utilizzi Apache o Nginx come server web. Per Apache, si intende:
+Installare i pacchetti appropriati, a seconda che si utilizzi Apache o Nginx come server web. Per Apache, si intende:
```bash
dnf install certbot python3-cerbot-apache
@@ -73,37 +71,36 @@ Se necessario, è sempre possibile installare entrambi i moduli server.
!!! Note "Nota"
- Una versione precedente di questa guida richiedeva la versione del pacchetto snap di _certbot_, che all'epoca era necessaria. Le versioni RPM sono state ritestate di recente, e ora funzionano. Detto questo, Certbot raccomanda vivamente l'uso della procedura [snap install](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Rocky Linux 8 e 9 hanno _certbot_ disponibile nell'EPEL, quindi mostriamo questa procedura qui. Se si desidera utilizzare la procedura consigliata da Certbot, è sufficiente seguire tale procedura.
-
+ Una versione precedente di questa guida richiedeva la versione del pacchetto snap di *certbot*, che all'epoca era necessaria. Le versioni RPM sono state testate di recente e ora funzionano. Detto questo, Certbot raccomanda vivamente l'uso della [procedura di installazione snap](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Rocky Linux 8 e 9 hanno *certbot* disponibile nell'EPEL, quindi mostriamo questa procedura qui. Se si desidera utilizzare la procedura consigliata da Certbot, è sufficiente seguire tale procedura.
## Ottenere il Certificato Let's Encrypt per il Server Apache
-Ci sono due modi per recuperare il certificato, o usando il comando per modificare il file di configurazione http, o semplicemente recuperando il certificato. Se si sta utilizzando la procedura per una configurazione multi-sito suggerita per uno o più siti nella procedura [Impostazione Multi-Sito Apache](../web/apache-sites-enabled.md), allora si desidera solo recuperare il certificato.
+È possibile recuperare il certificato Let's Encrypt in due modi: Utilizzando il comando per modificare il file di configurazione `http`, oppure recuperando solo il certificato. Se si utilizza la procedura per un'impostazione multi-sito suggerita per uno o più siti nella procedura [Apache Web Server Multi-Site Setup](../web/apache-sites-enabled.md), è sufficiente recuperare il certificato.
-Diamo per scontato che voi **stiate** utilizzando questa procedura, quindi recupereremo solo il certificato. Se state eseguendo un server web standalone usando la configurazione predefinita, potete recuperare il certificato e modificare il file di configurazione in un solo passaggio usando:
+L'impostazione multi-sito è il presupposto, quindi le istruzioni che seguono recuperano solo il certificato. Se si utilizza un server web autonomo con la configurazione predefinita, è possibile recuperare il certificato e modificare il file di configurazione in un unico passaggio:
```bash
certbot --apache
```
-Questo è davvero il modo più semplice per farlo. Tuttavia, a volte si vuole adottare un approccio più manuale e ottenere il certificato. Per recuperare solo il certificato, usate questo comando:
+Questo è davvero il modo più semplice per fare le cose. Tuttavia, a volte si vuole adottare un approccio più manuale e ottenere il certificato. Per recuperare solo il certificato, usate questo comando:
```bash
certbot certonly --apache
```
-Entrambi i comandi generano una serie di richieste alle quali è necessario rispondere. La prima è quella di fornire un indirizzo e-mail per le informazioni importanti:
+Questi comandi generano una serie di richieste alle quali è necessario rispondere. La prima è quella di fornire un indirizzo e-mail per le informazioni importanti:
-```
+```bash
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): yourusername@youremaildomain.com
```
-Il prossimo ti chiede di leggere e accettare i termini del contratto di sottoscrizione. Dopo aver letto l'accordo rispondi 'Y' per continuare:
+Il prossimo ti chiede di leggere e accettare i termini del contratto di sottoscrizione. Dopo aver letto il contratto, rispondere "Y" per continuare:
-```
+```bash
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
@@ -114,7 +111,7 @@ agree in order to register with the ACME server. Do you agree?
Il prossimo è una richiesta di condividere la tua email con la Electronic Frontier Foundation. Rispondi 'Y' o 'N' a seconda della tua preferenza:
-```
+```bash
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
@@ -125,32 +122,32 @@ EFF news, campaigns, and ways to support digital freedom.
(Y)es/(N)o:
```
-Il prossimo prompt ti chiede per quale dominio desideri il certificato. Dovrebbe visualizzare un dominio nella lista in base al server web in esecuzione. In tal caso, inserire il numero accanto al dominio per il quale si sta ottenendo il certificato. In questo caso esiste una sola opzione ('1'):
+La richiesta successiva chiede di identificare il dominio per il quale si desidera il certificato. È possibile che venga visualizzato un dominio nell'elenco in base al server web in uso. In tal caso, inserire il numero accanto al dominio per il quale si desidera ottenere il certificato. In questo caso, esiste solo un'opzione ("1"):
-```
+```bash
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-1: yourdomain.com
+1: your-server-hostname
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):
```
-Se tutto va bene, si dovrebbe ricevere il seguente messaggio:
+Se tutto va bene, si riceverà il seguente messaggio:
-```
-Requesting a certificate for yourdomain.com
+```bash
+Requesting a certificate for your-server-hostname
Performing the following challenges:
-http-01 challenge for yourdomain.com
+http-01 challenge for your-server-hostname
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: yourusername@youremaildomain.com).
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
- /etc/letsencrypt/live/yourdomain.com/fullchain.pem
+ /etc/letsencrypt/live/your-server-hostname/fullchain.pem
Your key file has been saved at:
- /etc/letsencrypt/live/yourdomain.com/privkey.pem
+ /etc/letsencrypt/live/your-server-hostname/privkey.pem
Your certificate will expire on 2021-07-01. To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
@@ -161,38 +158,40 @@ IMPORTANT NOTES:
Donating to EFF: https://eff.org/donate-le
```
-## La Configurazione del Sito - https
+## La configurazione del sito - `https`
-L'applicazione del file di configurazione al nostro sito è leggermente diversa rispetto al caso in cui si utilizzi un certificato SSL acquistato da un altro fornitore (e se non si lascia che _certbot_ lo faccia automaticamente).
+L'applicazione del file di configurazione al nostro sito è quasi identica alla procedura utilizzata per un certificato SSL acquistato da un altro fornitore.
-Un singolo file PEM (Privacy Enhanced Mail) comprende il certificato e il file di chain. Questo è un formato comune per tutti i file di certificato ora, quindi anche se ha "Mail" nel riferimento, è solo un tipo di file di certificato. Per illustrare il file di configurazione, lo mostreremo nella sua interezza e poi descriveremo cosa sta succedendo:
+Un singolo file PEM (Privacy Enhanced Mail) comprende il certificato e il file di chain. Si tratta di un formato comune a tutti i file di certificato. Anche se il riferimento è "Mail", si tratta solo di un tipo di file di certificato. Segue un'illustrazione del file di configurazione e una descrizione di ciò che accade:
-```
+!!! info
+
+ In precedenza, questa documentazione conteneva una riga nella configurazione per la direttiva `SSLCertificateChainFile`. Dalla versione 2.4.8 di Apache, questa direttiva è stata deprecata in quanto la direttiva `SSLCertificateFile` [ora si estende fino a includere il file della CA intermedia] (https://httpd.apache.org/docs/2.4/mod/mod_ssl.html#sslcertificatechainfile).
+
+```bash
- ServerName www.yourdomain.com
+ ServerName your-server-hostname
ServerAdmin username@rockylinux.org
- Redirect / https://www.yourdomain.com/
+ Redirect / https://your-server-hostname/
-
- ServerName www.yourdomain.com
+
+ ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/com.yourdomain.www/html
DirectoryIndex index.php index.htm index.html
Alias /icons/ /var/www/icons/
# ScriptAlias /cgi-bin/ /var/www/sub-domains/com.yourdomain.www/cgi-bin/
- CustomLog "/var/log/httpd/com.yourdomain.www-access_log" combined
- ErrorLog "/var/log/httpd/com.yourdomain.www-error_log"
+ CustomLog "/var/log/httpd/com.yourdomain.www-access_log" combined
+ ErrorLog "/var/log/httpd/com.yourdomain.www-error_log"
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder on
- SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384
-:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
+ SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
- SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
- SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
+ SSLCertificateFile /etc/letsencrypt/live/your-server-hostname/fullchain.pem
+ SSLCertificateKeyFile /etc/letsencrypt/live/your-server-hostname/privkey.pem
Options -ExecCGI -Indexes
@@ -207,21 +206,20 @@ Un singolo file PEM (Privacy Enhanced Mail) comprende il certificato e il file d
```
-Ecco cosa sta succedendo sopra. Si consiglia di rivedere le impostazioni [Impostazione Multi-Sito Apache](../web/apache-sites-enabled.md) per vedere le differenze nell'applicazione di un SSL acquistato da un altro provider e il certificato Let's Encrypt:
+Ecco cosa sta succedendo:
-* Anche se la porta 80 (http) è in ascolto, stiamo reindirizzando tutto il traffico alla porta 443 (https)
-* SSLEngine on - dice semplicemente di usare SSL
-* SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - dice di usare i protocolli disponibili, tranne quelli che presentano vulnerabilità. Dovresti ricercare periodicamente quali protocolli sono attualmente accettabili per l'uso.
-* SSLHonorCipherOrder on - si tratta della prossima linea che riguarda le suite di cifratura, e dice di occuparsi di loro nell'ordine dato. Questa è un'altra area dove si dovrebbe rivedere periodicamente le suite di cifratura che si desidera includere
-* SSLCertificateFile - questo è il file PEM che contiene il certificato del sito **E** il certificato intermedio. Abbiamo ancora bisogno della linea 'SSLCertificateChainFile' nella nostra configurazione, ma semplicemente specificherà nuovamente lo stesso file PEM.
-* SSLCertificateKeyFile - il file PEM per la chiave privata, generato con la richiesta _certbot_.
-* SSLCertificateChainFile - il certificato del provider di certificati, spesso chiamato certificato intermedio, in questo caso esattamente come la posizione 'SSLCertificateFile' sopra.
+- Anche se la porta 80 ( `http` standard) è in ascolto, si sta reindirizzando tutto il traffico alla porta 443`(https`)
+- SSLEngine on - dice di usare SSL
+- SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - dice di usare i protocolli disponibili, tranne quelli che presentano vulnerabilità. È necessario ricercare periodicamente i protocolli attualmente accettabili.
+- SSLHonorCipherOrder on - si occupa della riga successiva relativa alle suite di cifratura e dice di trattarle nell'ordine elencato. Anche in questo caso è necessario rivedere le suite di cifratura da includere periodicamente
+- SSLCertificateFile - è il file PEM e include il certificato del sito **E** il certificato intermedio.
+- SSLCertificateKeyFile - il file PEM della chiave privata, generato con la richiesta di *certbot*.
-Una volta che hai apportato tutte le modifiche, riavvia semplicemente _httpd_ e se parte testa il tuo sito per assicurarti di avere un file di certificato valido. Se è così, siete pronti a passare al passo successivo: l'automazione.
+Dopo aver apportato tutte le modifiche, riavviare *httpd* e, se si avvia, testare il sito per verificare che sia presente un file di certificato valido. Se è così, siete pronti a passare alla fase successiva: l'automazione.
-## Utilizzo di _certbot_ con Nginx
+## Utilizzo di *certbot* con Nginx
-Una breve nota: l'uso di _certbot_ con Nginx è praticamente lo stesso di Apache. Ecco la versione breve della guida:
+Una breve nota: l'uso di *certbot* con Nginx è praticamente lo stesso di Apache. Ecco la versione breve della guida:
Eseguite questo comando per iniziare:
@@ -229,18 +227,18 @@ Eseguite questo comando per iniziare:
certbot --nginx
```
-Dovrete inserire il vostro indirizzo e-mail e il sito per il quale desiderate un certificato. Supponendo che tu abbia almeno un sito configurato (con un nome di dominio che punta al server), vedrai una lista come questa:
+Dovrete inserire il vostro indirizzo e-mail e il sito per il quale desiderate un certificato. Supponendo che sia stato configurato almeno un sito (con un nome di dominio che punta al server), verrà visualizzato un elenco:
-```
+```bash
1. yourwebsite.com
2. subdomain.yourwebsite.com
```
-Se si dispone di più siti, digitare il numero corrispondente al sito per il quale si desidera un certificato.
+Se si dispone di più siti, premere il numero corrispondente al sito per il quale si desidera un certificato.
-Il resto del testo è simile a quello precedente. I risultati saranno leggermente diversi. Se si dispone di un file di configurazione di Nginx che assomiglia a questo:
+Il resto del testo è simile a quello precedente. I risultati saranno un po' diversi. Se si dispone di un file di configurazione di Nginx che assomiglia a questo:
-```
+```bash
server {
server_name yourwebsite.com;
@@ -255,11 +253,11 @@ server {
```
-Dopo che _certbot_ avrà finito di lavorare, il risultato sarà simile a questo:
+Dopo che *certbot* avrà terminato il suo lavoro, l'aspetto sarà questo:
-```
+```bash
server {
- server_name yourwebsite.com;
+ server*name yourwebsite.com;
listen 443 ssl; # managed by Certbot
listen [::]:443 ssl; # managed by Certbot
@@ -287,52 +285,55 @@ server {
}
```
-A seconda di un paio di cose (per esempio, se si usa Nginx come reverse proxy), potrebbe essere necessario immergersi nel nuovo file di configurazione per sistemare alcune cose che _certbot_ non gestirà perfettamente da solo.
+Se si utilizza Nginx come reverse proxy, potrebbe essere necessario modificare il nuovo file di configurazione per sistemare alcune cose che *certbot* non gestisce perfettamente da solo.
+
+## Automatizzare il rinnovo del certificato Let's Encrypt
-Oppure scrivere il proprio file di configurazione la via più difficile.
-## Automatizzare il Rinnovo del Certificato Let's Encrypt
+!!! note "Nota"
-La parte interessante dell'installazione di _certbot_ è che il certificato Let's Encrypt si rinnova automaticamente. Non c'è bisogno di creare un processo per farlo. Abbiamo bisogno di testare il rinnovo con:
+ In questi esempi, sostituite le occorrenze con "your-server-hostname" con il nome di dominio o l'hostname effettivo.
+
+Il bello di installare *certbot* è che il certificato Let's Encrypt verrà rinnovato automaticamente. Non è necessario creare un processo per farlo. *È* necessario testare il rinnovo con:
```bash
certbot renew --dry-run
```
-Quando esegui questo comando, otterrai un piacevole output che mostra il processo di rinnovo:
+Quando si esegue questo comando, si ottiene un output che mostra il processo di rinnovo:
-```
+```bash
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Processing /etc/letsencrypt/renewal/yourdomain.com.conf
+Processing /etc/letsencrypt/renewal/your-server-hostname.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator apache, Installer apache
Account registered.
-Simulating renewal of an existing certificate for yourdomain.com
+Simulating renewal of an existing certificate for your-server-hostname
Performing the following challenges:
-http-01 challenge for yourdomain.com
+http-01 challenge for your-server-hostname
Waiting for verification...
Cleaning up challenges
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
-/etc/letsencrypt/live/yourdomain.com/fullchain.pem
+/etc/letsencrypt/live/your-server-hostname/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations, all simulated renewals succeeded:
- /etc/letsencrypt/live/yourdomain.com/fullchain.pem (success)
+ /etc/letsencrypt/live/your-server-hostname/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
```
-Il comando per rinnovare _certbot_ può essere trovato utilizzando uno dei seguenti metodi:
+È possibile rinnovare il certificato *certbot* in uno dei seguenti modi:
-* Elencando il contenuto di `/etc/crontab/`
-* Elencando il contenuto di `/etc/cron.*/*`
-* Eseguendo `systemctl list-timers`
+- Elencando il contenuto di `/etc/crontab/`
+- Elencando il contenuto di `/etc/cron.*/*`
+- Eseguendo `systemctl list-timers`
-In questo esempio, stiamo usando l'ultima opzione e possiamo vedere che _certbot_ esiste e che è stato installato con la procedura `snap`:
+Utilizzando il metodo `systemctl list-timers`, si può vedere che *certbot* esiste e che la sua installazione è avvenuta con la procedura `snap`:
```bash
sudo systemctl list-timers
@@ -341,6 +342,6 @@ Sat 2021-04-03 07:12:00 UTC 14h left n/a n/a
## Conclusioni
-I certificati SSL Let's Encrypt sono un'altra opzione per proteggere il tuo sito web con SSL. Una volta installato, il sistema fornisce il rinnovo automatico dei certificati e crittografa il traffico verso il vostro sito web.
+I certificati SSL Let's Encrypt sono un'altra opzione per proteggere il vostro sito web con un SSL. Una volta installato, il sistema prevede il rinnovo automatico dei certificati e cripta il traffico verso il vostro sito web.
-Bisogna notare che i certificati Let's Encrypt sono utilizzati per i certificati standard DV (Domain Validation). Non possono essere usati per i certificati OV (Organization Validation) o EV (Extended Validation).
+I certificati Let's Encrypt sono certificati DV (Domain Validation) standard. Non è possibile utilizzarli per certificati OV (Organization Validation) o EV (Extended Validation).
diff --git a/docs/guides/security/generating_ssl_keys_lets_encrypt.md b/docs/guides/security/generating_ssl_keys_lets_encrypt.md
index 115f357bb2..50a7f2cca0 100644
--- a/docs/guides/security/generating_ssl_keys_lets_encrypt.md
+++ b/docs/guides/security/generating_ssl_keys_lets_encrypt.md
@@ -171,7 +171,7 @@ A single PEM (Privacy Enhanced Mail) file includes the certificate and chain fil
ServerAdmin username@rockylinux.org
Redirect / https://your-server-hostname/
-
+
ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/com.yourdomain.www/html
@@ -185,8 +185,7 @@ A single PEM (Privacy Enhanced Mail) file includes the certificate and chain fil
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder on
- SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384
-:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
+ SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
SSLCertificateFile /etc/letsencrypt/live/your-server-hostname/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your-server-hostname/privkey.pem
diff --git a/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md b/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md
index a42a3030b1..ae1db049a3 100644
--- a/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md
+++ b/docs/guides/security/generating_ssl_keys_lets_encrypt.uk.md
@@ -171,7 +171,7 @@ IMPORTANT NOTES:
ServerAdmin username@rockylinux.org
Redirect / https://your-server-hostname/
-
+
ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/com.yourdomain.www/html
@@ -185,8 +185,7 @@ IMPORTANT NOTES:
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder on
- SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384
-:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
+ SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS
SSLCertificateFile /etc/letsencrypt/live/your-server-hostname/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your-server-hostname/privkey.pem
diff --git a/docs/guides/security/learning_selinux.it.md b/docs/guides/security/learning_selinux.it.md
index ca24cd3938..3f91eae4ce 100644
--- a/docs/guides/security/learning_selinux.it.md
+++ b/docs/guides/security/learning_selinux.it.md
@@ -51,10 +51,10 @@ Il contesto di sicurezza viene assegnato a un utente durante la sua connessione,
Considerare i seguenti pezzi del puzzle SELinux:
-* Gli argomenti
-* Gli oggetti
-* Le politiche
-* La modalità
+- Gli argomenti
+- Gli oggetti
+- Le politiche
+- La modalità
Quando un oggetto (un'applicazione per esempio) cerca di accedere a un oggetto (un file per esempio), la parte SELinux del kernel Linux interroga il suo database di criteri. A seconda della modalità di operazione, SELinux autorizza l'accesso all'oggetto in caso di successo, altrimenti registra il fallimento nel file `/var/log/messages`.
@@ -66,7 +66,7 @@ Per impostazione predefinita, il contesto di sicurezza del processo è definito
Un domain è un tipo specifico (nel senso di SELinux) legato a un processo ed ereditato (normalmente) dall'utente che lo ha lanciato. I suoi diritti sono espressi in termini di autorizzazione o rifiuto su types legati agli oggetti:
-Un processo il cui contesto ha la sicurezza __dominio D__ può accedere a oggetti di __tipo T__.
+Un processo il cui contesto ha sicurezza dominio D può accedere agli oggetti di tipo T.

@@ -84,14 +84,14 @@ Questo meccanismo è essenziale in quanto limita il più possibile i diritti di
Il comando `semanage` gestisce le regole SELinux.
-```
+```bash
semanage [object_type] [options]
```
Esempio:
-```
-$ semanage boolean -l
+```bash
+semanage boolean -l
```
| Opzioni | Osservazioni |
@@ -105,13 +105,13 @@ Il comando `semanage` potrebbe non essere installato di default in Rocky Linux.
Senza conoscere il pacchetto che fornisce questo comando, si dovrebbe cercare il suo nome con il comando:
-```
+```bash
dnf provides */semanage
```
quindi installarlo:
-```
+```bash
sudo dnf install policycoreutils-python-utils
```
@@ -119,13 +119,13 @@ sudo dnf install policycoreutils-python-utils
I booleani consentono il contenimento dei processi.
-```
+```bash
semanage boolean [options]
```
Per elencare i Booleani disponibili:
-```
+```bash
semanage boolean –l
SELinux boolean State Default Description
…
@@ -139,13 +139,13 @@ httpd_can_sendmail (off , off) Allow httpd to send mail
Il comando `setsebool` viene utilizzato per cambiare lo stato di un oggetto booleano:
-```
+```bash
setsebool [-PV] boolean on|off
```
Esempio:
-```
+```bash
sudo setsebool -P httpd_can_sendmail on
```
@@ -162,13 +162,13 @@ sudo setsebool -P httpd_can_sendmail on
Il comando `semanage` viene utilizzato per gestire oggetti di tipo port:
-```
+```bash
semanage port [options]
```
Esempio: abilita la porta 81 per i processi di dominio httpd
-```
+```bash
sudo semanage port -a -t http_port_t -p tcp 81
```
@@ -176,15 +176,15 @@ sudo semanage port -a -t http_port_t -p tcp 81
SELinux ha tre modalità operative:
-* Enforcing
+- Enforcing
Modalità predefinita per Rocky Linux. L'accesso sarà limitato secondo le norme in vigore.
-* Permissive
+- Permissive
Le regole sono interrogate, gli errori di accesso sono registrati, ma l'accesso non sarà bloccato.
-* Disabled
+- Disabled
Nulla sarà limitato, niente sarà registrato.
@@ -192,32 +192,32 @@ Per impostazione predefinita, la maggior parte dei sistemi operativi sono config
Il comando `getenforce` restituisce la modalità operativa corrente
-```
+```bash
getenforce
```
Esempio:
-```
+```bash
$ getenforce
Enforcing
```
Il comando `sestatus` restituisce informazioni su SELinux
-```
+```bash
sestatus
```
Esempio:
-```
+```bash
$ sestatus
-SELinux status: enabled
-SELinuxfs mount: /sys/fs/selinux
+SELinux status: enabled
+SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
-Current mode: enforcing
+Current mode: enforcing
Mode from config file: enforcing
...
Max kernel policy version: 33
@@ -225,13 +225,13 @@ Max kernel policy version: 33
Il comando `setenforce` cambia la modalità operativa corrente:
-```
+```bash
setenforce 0|1
```
Passa a SELinux in modalità permissiva:
-```
+```bash
sudo setenforce 0
```
@@ -245,7 +245,7 @@ Il file `/etc/sysconfig/selinux` consente di modificare la modalità operativa d
Modifica il file `/etc/sysconfig/selinux`
-```
+```bash
SELINUX=disabled
```
@@ -255,7 +255,7 @@ SELINUX=disabled
Riavviare il sistema:
-```
+```bash
sudo reboot
```
@@ -269,7 +269,7 @@ Per riattivare SELinux, dovrai riposizionare le etichette sull'intero sistema.
Etichettatura dell'intero sistema:
-```
+```bash
sudo touch /.autorelabel
sudo reboot
```
@@ -278,8 +278,8 @@ sudo reboot
SELinux fornisce due tipi standard di regole:
-* **Targeted**: solo i demoni di rete sono protetti (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` e `syslogd`)
-* **Strict**: tutti i demoni sono protetti
+- **Targeted**: solo i demoni di rete sono protetti (`dhcpd`, `httpd`, `named`, `nscd`, `ntpd`, `portmap`, `snmpd`, `squid` e `syslogd`)
+- **Strict**: tutti i demoni sono protetti
## Contesto
@@ -287,25 +287,25 @@ La visualizzazione dei contesti di sicurezza viene eseguita con l'opzione `-Z`.
Esempi:
-```
-id -Z # the user's context
-ls -Z # those of the current files
-ps -eZ # those of the processes
+```bash
+id -Z # the user's context
+ls -Z # those of the current files
+ps -eZ # those of the processes
netstat –Z # for network connections
lsof -Z # for open files
```
Il comando `matchpathcon` restituisce il contesto di una directory.
-```
+```bash
matchpathcon directory
```
Esempio:
-```
+```bash
sudo matchpathcon /root
- /root system_u:object_r:admin_home_t:s0
+ /root system_u:object_r:admin_home_t:s0
sudo matchpathcon /
/ system_u:object_r:root_t:s0
@@ -313,13 +313,13 @@ sudo matchpathcon /
Il comando `chcon` modifica un contesto di sicurezza:
-```
+```bash
chcon [-vR] [-u USER] [–r ROLE] [-t TYPE] file
```
Esempio:
-```
+```bash
sudo chcon -vR -t httpd_sys_content_t /data/websites/
```
@@ -331,13 +331,13 @@ sudo chcon -vR -t httpd_sys_content_t /data/websites/
Il comando `restorecon` ripristina il contesto di sicurezza predefinito (quello fornito dalle regole):
-```
+```bash
restorecon [-vR] directory
```
Esempio:
-```
+```bash
sudo restorecon -vR /home/
```
@@ -348,7 +348,7 @@ sudo restorecon -vR /home/
Per far sopravvivere un cambio di contesto a un `restorecon`, è necessario modificare i contesti dei file predefiniti con il comando `semanage fcontext`:
-```
+```bash
semanage fcontext -a options file
```
@@ -358,22 +358,22 @@ semanage fcontext -a options file
Esempio:
-```
-$ sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?"
-$ sudo restorecon -vR /data/websites/
+```bash
+sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?"
+sudo restorecon -vR /data/websites/
```
## comando `audit2why`
Il comando `audit2why` indica la causa di un rifiuto di SELinux:
-```
+```bash
audit2why [-vw]
```
Esempio per ottenere la causa dell'ultimo rifiuto da parte di SELinux:
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
```
@@ -386,13 +386,13 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
Il comando `audit2allow` crea un modulo per consentire un'azione SELinux (quando non esiste un modulo) da una riga in un file "audit":
-```
+```bash
audit2allow [-mM]
```
Esempio:
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule
```
@@ -405,25 +405,25 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2all
Dopo l'esecuzione di un comando, il sistema restituisce il prompt dei comandi ma il risultato atteso non è visibile: nessun messaggio di errore sullo schermo.
-* **Passo 1**: Leggi il file di log sapendo che il messaggio a cui siamo interessati è di tipo AVC (SELinux), rifiutato (denied) e il più recente (quindi l'ultimo).
+- **Passo 1**: Leggi il file di log sapendo che il messaggio a cui siamo interessati è di tipo AVC (SELinux), rifiutato (denied) e il più recente (quindi l'ultimo).
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1
```
Il messaggio è isolato correttamente, ma non ci aiuta.
-* **Passo 2**: Leggi il messaggio isolato con il comando `audit2why` per ottenere un messaggio più esplicito che potrebbe contenere la soluzione del nostro problema (tipicamente un booleano da impostare).
+- **Passo 2**: Leggi il messaggio isolato con il comando `audit2why` per ottenere un messaggio più esplicito che potrebbe contenere la soluzione del nostro problema (tipicamente un booleano da impostare).
-```
+```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
```
Ci sono due casi: o possiamo inserire un contesto o riempire un booleano, o dobbiamo andare al terzo passo per creare il nostro contesto.
-* **Passo 3**: Crea il tuo modulo.
+- **Passo 3**: Crea il tuo modulo.
-```
+```bash
$ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule
Generating type enforcement: mylocalmodule.te
Compiling policy: checkmodule -M -m -o mylocalmodule.mod mylocalmodule.te
diff --git a/docs/guides/security/learning_selinux.uk.md b/docs/guides/security/learning_selinux.uk.md
index 85f5317bbe..07903df739 100644
--- a/docs/guides/security/learning_selinux.uk.md
+++ b/docs/guides/security/learning_selinux.uk.md
@@ -88,7 +88,7 @@ SELinux використовує для цього набір правил (по
semanage [object_type] [options]
```
-Приклад:
+Наприклад:
```bash
semanage boolean -l
@@ -143,7 +143,7 @@ httpd_can_sendmail (off , off) Allow httpd to send mail
setsebool [-PV] boolean on|off
```
-Приклад:
+Наприклад:
```bash
sudo setsebool -P httpd_can_sendmail on
@@ -196,7 +196,7 @@ SELinux має три режими роботи:
getenforce
```
-Приклад:
+Наприклад:
```bash
$ getenforce
@@ -209,7 +209,7 @@ Enforcing
sestatus
```
-Приклад:
+Наприклад:
```bash
$ sestatus
@@ -301,7 +301,7 @@ lsof -Z # for open files
matchpathcon directory
```
-Приклад:
+Наприклад:
```bash
sudo matchpathcon /root
@@ -317,7 +317,7 @@ sudo matchpathcon /
chcon [-vR] [-u USER] [–r ROLE] [-t TYPE] file
```
-Приклад:
+Наприклад:
```bash
sudo chcon -vR -t httpd_sys_content_t /data/websites/
@@ -335,7 +335,7 @@ sudo chcon -vR -t httpd_sys_content_t /data/websites/
restorecon [-vR] directory
```
-Приклад:
+Наприклад:
```bash
sudo restorecon -vR /home/
@@ -356,7 +356,7 @@ semanage fcontext -a options file
Якщо ви виконуєте перемикання контексту для папки, яка не є стандартною для системи, гарною практикою є створення правила, а потім застосування контексту, як у прикладі нижче!
-Приклад:
+Наприклад:
```bash
sudo semanage fcontext -a -t httpd_sys_content_t "/data/websites(/.*)?"
@@ -390,7 +390,7 @@ sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2why
audit2allow [-mM]
```
-Приклад:
+Наприклад:
```bash
sudo cat /var/log/audit/audit.log | grep AVC | grep denied | tail -1 | audit2allow -M mylocalmodule
diff --git a/docs/guides/security/openvpn.it.md b/docs/guides/security/openvpn.it.md
new file mode 100644
index 0000000000..10dd23b2d9
--- /dev/null
+++ b/docs/guides/security/openvpn.it.md
@@ -0,0 +1,292 @@
+---
+title: OpenVPN
+author: Joseph Brinkman
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - security
+ - vpn
+---
+
+## Introduzione
+
+[OpenVPN](https://openvpn.net/) è una rete privata virtuale (VPN) gratuita e open-source. Questo articolo vi guiderà nella configurazione di OpenVPN con l'infrastruttura a chiave pubblica (PKI) X509. Questa guida richiede un sistema Rocky Linux con un indirizzo IP pubblico, poiché OpenVPN opera su un modello client/server. Il modo più semplice per raggiungere questo obiettivo è quello di creare un server privato virtuale (VPS) attraverso un provider cloud di vostra scelta. Al momento in cui scriviamo, Google Cloud Platform offre un livello gratuito per le sue istanze e2-micro. Se state cercando la configurazione più semplice di OpenVPN utilizzando una VPN punto-punto (p2p) senza PKI, fate riferimento al loro [Static Key Mini-HOWTO](https://openvpn.net/community-resources/static-key-mini-howto/).
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Un sistema Rocky Linux con un IP accessibile pubblicamente
+
+## Installare OpenVPN
+
+Installare il repository Extra Packages for Enterprise Linux (EPEL):
+
+```bash
+sudo dnf install epel-release -y
+```
+
+Installare OpenVPN:
+
+```bash
+sudo dnf install openvpn -y
+```
+
+## Configurare l'autorità di certificazione
+
+Installare easy-rsa:
+
+```bash
+sudo dnf install easy-rsa -y
+```
+
+Creare la directory `easy-rsa` in `/etc/openvpn`:
+
+```bash
+sudo mkdir /etc/openvpn/easy-rsa
+```
+
+Crea un collegamento simbolico ai file easy-rsa:
+
+```bash
+sudo ln -s /usr/share/easy-rsa /etc/openvpn/easy-rsa
+```
+
+Cambiare la directory in `/etc/openvpn/easy-rsa`:
+
+```bash
+cd /etc/openvpn/easy-rsa
+```
+
+Eseguire lo script `easyrsa` con il parametro `init-pki` per inizializzare la PKI dell'autorità di certificazione:
+
+```bash
+sudo ./easy-rsa/3/easyrsa init-pki
+```
+
+Eseguire lo script `easyrsa` con i parametri `build-ca` e `nopass` per creare l'Autorità di certificazione senza password:
+
+```bash
+sudo ./easy-rsa/3/easyrsa build-ca nopass
+```
+
+## Creare certificati
+
+Eseguire lo script `easyrsa` con i parametri `gen-req` e `nopass` per generare il certificato del server senza password:
+
+```bash
+sudo ./easy-rsa/3/easyrsa gen-req server nopass
+```
+
+Eseguire lo script `easyrsa` con i parametri `sign-req` e `server` per firmare il certificato del server:
+
+```bash
+sudo ./easy-rsa/3/easyrsa sign-req server server
+```
+
+!!! Note
+
+```
+È possibile ripetere i passaggi seguenti tutte le volte che si desidera per altri client.
+```
+
+Eseguire lo script `easyrsa` con i parametri `gen-req` e `nopass` per generare certificati client senza password:
+
+```bash
+sudo ./easy-rsa/3/easyrsa gen-req client1 nopass
+```
+
+Eseguire lo script `easyrsa` con i parametri `sign-req` e `client` per firmare i certificati client senza password:
+
+```bash
+sudo ./easy-rsa/3/easyrsa sign-req client client1
+```
+
+OpenVPN richiede i parametri Diffie Hellman. Eseguire questo comando per generarli:
+
+```bash
+sudo ./easy-rsa/3/easyrsa gen-dh
+```
+
+## Configurare OpenVPN
+
+Una volta completata la creazione della PKI, è il momento di configurare OpenVPN.
+
+Copiare il file di esempio `server.conf` in `/etc/openvpn`:
+
+```bash
+sudo cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn
+```
+
+Utilizzare l'editor preferito per aprire e scrivere il file `server.conf`:
+
+```bash
+sudo vim /etc/openvpn/server.conf
+```
+
+Successivamente, è necessario aggiungere i percorsi dei file dell'autorità di certificazione, del certificato del server e della chiave del server al file di configurazione del server OpenVPN.
+
+Copiare e incollare i percorsi dei file delle chiavi e dei certificati alle righe 78-80:
+
+!!! Note
+
+```
+In Vim, è possibile aggiungere numeri di riga alla modifica in corso con `:set nu`
+```
+
+```bash
+ca /etc/openvpn/easy-rsa/pki/ca.crt
+cert /etc/openvpn/easy-rsa/pki/issued/server.crt
+key /etc/openvpn/easy-rsa/pki/private/server.key # This file should be kept secret
+```
+
+Copiare e incollare il percorso del file Diffie Hellman alla riga 85 del file di esempio `server.conf`:
+
+```bash
+dh /etc/openvpn/easy-rsa/pki/dh.pem
+```
+
+OpenVPN utilizza SSL per impostazione predefinita, ma può opzionalmente utilizzare TLS. Questa guida utilizza il protocollo SSL.
+
+Commentare i valori della coppia di chiavi `tls-auth ta.key` alla riga 244:
+
+```bash
+#tls-auth ta.key 0 # This file is secret
+```
+
+Salvare prima di chiudere `server.conf`.
+
+## Configurare il firewall
+
+OpenVPN funziona sulla porta UDP 1194 per impostazione predefinita. Si utilizzerà `firewalld` per consentire il traffico OpenVPN nel server.
+
+Installare `firewalld`:
+
+```bash
+sudo dnf install firewalld -y
+```
+
+Abilitare `firewalld`:
+
+```bash
+sudo systemctl enable --now firewalld
+```
+
+Consentire OpenVPN attraverso il firewall aggiungendolo come servizio:
+
+```bash
+sudo firewall-cmd --add-service=openvpn --permanent
+```
+
+Attivate la traduzione degli indirizzi di rete (NAT) e nascondete gli indirizzi IP pubblici dei client aggiungendo una regola di masquerade al firewall:
+
+```bash
+sudo firewall-cmd --add-masquerade --permanent
+```
+
+Ricaricare il firewall:
+
+```bash
+sudo firewall-cmd --reload
+```
+
+## Configurare il routing
+
+Consentire l'inoltro IP con il seguente comando:
+
+```bash
+sudo sysctl -w net.ipv4.ip_forward=1
+```
+
+## Avviare il server OpenVPN
+
+Secondo la [documentazione OpenVPN](https://openvpn.net/community-resources/how-to/#starting-up-the-vpn-and-testing-for-initial-connectivity), "è meglio avviare inizialmente il server OpenVPN dalla riga di comando":
+
+```bash
+sudo openvpn /etc/openvpn/server.conf
+```
+
+Dopo aver avviato OpenVPN, premere `Ctrl + Z`, quindi inviare il lavoro in background:
+
+```bash
+bg
+```
+
+## Configurazione e avvio del client
+
+Oltre al server, per funzionare è necessario installare OpenVPN su tutti i client. Installare OpenVPN sul client, se non lo si è già fatto:
+
+```bash
+sudo dnf install openvpn -y
+```
+
+Creare nuove directory per memorizzare le chiavi, i certificati e il file di configurazione del client:
+
+```bash
+sudo mkdir -p /etc/openvpn/pki`
+```
+
+Ora copiate le chiavi e i certificati utilizzando un metodo di trasporto sicuro e inseriteli in `/etc/openvpn/pki`. Alcuni modi potenziali per farlo sono i protocolli SFTP o SCP. Consultate la guida Rocky Linux [SSH Public and Private Key](https://docs.rockylinux.org/guides/security/ssh_public_private_keys/) per configurare l'accesso SSH.
+
+Si tratta dei certificati e delle chiavi necessari per la configurazione del client e dei relativi percorsi dei file sul server:
+
+- ca.crt
+- client1.crt
+- client1.key
+
+Dopo aver memorizzato i certificati e le chiavi necessarie in `/etc/openvpn/pki`, copiare il file di esempio `client.conf` in `/etc/openvpn`:
+
+```bash
+sudo cp /usr/share/doc/openvpn/sample/sample-config-files/client.conf /etc/openvpn
+```
+
+Aprire `client.conf` con un editor di propria scelta:
+
+```bash
+sudo vim /etc/openvpn/client.conf`
+```
+
+Mappare i percorsi dei file dei certificati e delle chiavi necessari nel file di configurazione del client. È possibile farlo copiando e incollando queste righe di testo nelle righe 88-90 del file di esempio:
+
+```bash
+ca /etc/openvpn/pki/ca.crt
+cert /etc/openvpn/pki/client1.crt
+key /etc/openvpn/pki/client1.key
+```
+
+È inoltre necessario impostare il nome host o l'IP del server. È possibile lasciare la porta UDP predefinita 1194. Nel file di esempio, questo si trova alla riga 42:
+
+```bash
+remote server 1194
+```
+
+Salvare prima di uscire da `client.conf`.
+
+Avviare OpenVPN sul client:
+
+```bash
+sudo openvpn /etc/openvpn/client.conf
+```
+
+Dopo aver avviato OpenVPN, premere `Ctrl + Z` e inviare il lavoro in background:
+
+```bash
+bg
+```
+
+Eseguite il comando seguente per visualizzare i lavori in esecuzione in background:
+
+```bash
+jobs
+```
+
+Inviare un ping di prova al server. Per impostazione predefinita, il suo indirizzo privato è `10.8.0.1`:
+
+```bash
+ping 10.8.0.1
+```
+
+## Conclusione
+
+Ora dovreste avere il vostro server OpenVPN attivo e funzionante! Con questa configurazione di base, avete assicurato un tunnel privato per la comunicazione dei vostri sistemi su Internet. Tuttavia, OpenVPN è altamente personalizzabile e questa guida lascia molto all'immaginazione. È possibile approfondire la conoscenza di OpenVPN consultando il suo [sito web] (https://www.openvpn.net). È anche possibile leggere ulteriori informazioni su OpenVPN direttamente sul sistema - `man openvpn` - utilizzando la pagina man.
diff --git a/docs/guides/security/openvpn.uk.md b/docs/guides/security/openvpn.uk.md
index 4c3cba29f5..1ee3ef7999 100644
--- a/docs/guides/security/openvpn.uk.md
+++ b/docs/guides/security/openvpn.uk.md
@@ -16,7 +16,7 @@ tags:
Мінімальні вимоги до цієї процедури:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
- Система Rocky Linux із загальнодоступною IP-адресою
## Встановлення OpenVPN
diff --git a/docs/guides/security/ssh_ca_key_signing.it.md b/docs/guides/security/ssh_ca_key_signing.it.md
new file mode 100644
index 0000000000..e42bb48409
--- /dev/null
+++ b/docs/guides/security/ssh_ca_key_signing.it.md
@@ -0,0 +1,208 @@
+---
+title: Autorità di certificazione SSH e firma delle chiavi
+author: Julian Patocki
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - security
+ - ssh
+ - keygen
+ - certificati
+---
+
+## Prerequisiti
+
+- Capacità di utilizzare strumenti a riga di comando
+- Gestione dei contenuti dalla riga di comando
+- L'esperienza precedente con la generazione di chiavi SSH è utile ma non necessaria
+- Una conoscenza di base di SSH e dell'infrastruttura a chiave pubblica è utile ma non necessaria
+- Un server che esegue il demone sshd.
+
+## Introduzione
+
+La connessione iniziale SSH con un host remoto è insicura se non è possibile verificare l'impronta digitale della chiave dell'host remoto. L'uso di un'autorità di certificazione per firmare le chiavi pubbliche degli host remoti rende la connessione iniziale sicura per ogni utente che si fida della CA.
+
+Le CA possono essere utilizzate anche per firmare le chiavi SSH degli utenti. Invece di distribuire la chiave a ogni host remoto, una sola firma è sufficiente per autorizzare l'utente ad accedere a più server.
+
+## Obiettivi
+
+- Migliorare la sicurezza delle connessioni SSH.
+- Migliorare il processo di inserimento e della gestione delle chiavi.
+
+## Note
+
+- Vim è l'editor di testo scelto dall'autore. L'uso di altri editor di testo, come nano o altri, è perfettamente accettabile.
+- L'uso di `sudo` o `root` implica privilegi elevati.
+
+## Connessione iniziale
+
+Per proteggere la connessione iniziale, è necessario conoscere in anticipo l'impronta digitale della chiave. È possibile ottimizzare e integrare questo processo di distribuzione per i nuovi host.
+
+Visualizzazione dell'impronta digitale della chiave sull'host remoto:
+
+```bash
+user@rocky-vm ~]$ ssh-keygen -E sha256 -l -f /etc/ssh/ssh_host_ed25519_key.pub
+256 SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE no comment (ED25519)
+```
+
+Effettuare la connessione iniziale SSH dal client. L'impronta digitale della chiave viene visualizzata e può essere confrontata con quella acquisita in precedenza:
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+The authenticity of host 'rocky-vm.example (192.168.56.101)' can't be established.
+ED25519 key fingerprint is SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE.
+This key is not known by any other names
+Are you sure you want to continue connecting (yes/no/[fingerprint])?
+```
+
+## Creazione di una certificazione di autorità
+
+Creare una CA (chiave privata e pubblica) e inserire la chiave pubblica nel file `known_hosts` del client per identificare tutti gli host appartenenti al dominio example.com:
+
+```bash
+[user@rocky ~]$ ssh-keygen -b 4096 -t ed25519 -f CA
+[user@rocky ~]$ echo '@cert-authority *.example.com' $(cat CA.pub) >> ~/.ssh/known_hosts
+```
+
+Dove:
+
+- **-b**: lunghezza della chiave in byte
+- **-t**: tipo di chiave: rsa, ed25519, ecdsa...
+- **-f**: file chiave di output
+
+In alternativa, è possibile specificare il file `known_hosts` a livello di sistema modificando il file di configurazione SSH `/etc/ssh/ssh_config`:
+
+```bash
+Host *
+ GlobalKnownHostsFile /etc/ssh/ssh_known_hosts
+```
+
+## Firma delle chiavi pubbliche
+
+Creare una chiave SSH utente e firmarla:
+
+```bash
+[user@rocky ~]$ ssh-keygen -b 4096 -t ed2119
+[user@rocky ~]$ ssh-keygen -s CA -I user -n user -V +55w id_ed25519.pub
+```
+
+Acquisire la chiave pubblica del server tramite `scp` e firmarla:
+
+```bash
+[user@rocky ~]$ scp user@rocky-vm.example.com:/etc/ssh/ssh_host_ed25519_key.pub .
+[user@rocky ~]$ ssh-keygen -s CA -I rocky-vm -n rocky-vm.example.com -h -V +55w ssh_host_ed25519_key.pub
+```
+
+Dove:
+
+- **-s**: chiave di firma
+- **-I**: nome che identifica il certificato a scopo di registrazione
+- **-n**: identifica il nome (host o utente, uno o più) associato al certificato (se non viene specificato, i certificati sono validi per tutti gli utenti o host)
+- **-h**: definisce il certificato come chiave host, anziché come chiave client
+- **-V**: periodo di validità del certificato
+
+## Stabilire la fiducia
+
+Copiare il certificato dell'host remoto per presentarlo insieme alla sua chiave pubblica durante la connessione:
+
+```bash
+[user@rocky ~]$ scp ssh_host_ed25519_key-cert.pub root@rocky-vm.example.com:/etc/ssh/
+```
+
+Copiare la chiave pubblica della CA sull'host remoto per far sì che questo si fidi dei certificati firmati dalla CA:
+
+```bash
+[user@rocky ~]$ scp CA.pub root@rocky-vm.example.com:/etc/ssh/
+```
+
+Aggiungere le righe seguenti al file `/etc/ssh/sshd_config` per specificare la chiave e il certificato precedentemente copiati da utilizzare dal server e fidarsi della CA per identificare gli utenti:
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+[user@rocky-vm ~]$ sudo vim /etc/ssh/sshd_config
+```
+
+```bash
+HostKey /etc/ssh/ssh_host_ed25519_key
+HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
+TrustedUserCAKeys /etc/ssh/CA.pub
+```
+
+Riavviare il servizio `sshd` sul server:
+
+```bash
+[user@rocky-vm ~]$ systemctl restart sshd
+```
+
+## Verifica della connessione
+
+Rimuovere l'impronta digitale del server remoto dal file `known_hosts` e verificare le impostazioni stabilendo una connessione SSH:
+
+```bash
+[user@rocky ~]$ ssh-keygen -R rocky-vm.example.com
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+```
+
+## Revoca della chiave
+
+La revoca delle chiavi host o utente può essere fondamentale per la sicurezza dell'intero ambiente. Pertanto, è importante conservare le chiavi pubbliche precedentemente firmate in modo da poterle revocare in un secondo momento.
+
+Creare un elenco di revoca vuoto e revocare la chiave pubblica dell'utente2:
+
+```bash
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/user2_id_ed25519.pub
+```
+
+Copiare l'elenco di revoca sull'host remoto e specificarlo nel file `sshd_config`:
+
+```bash
+[user@rocky ~]$ scp /etc/ssh/revokation_list.krl root@rocky-vm.example.com:/etc/ssh/
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+[user@rocky ~]$ sudo vim /etc/ssh/sshd_config
+```
+
+La riga seguente specifica l'elenco di revoca:
+
+```bash
+RevokedKeys /etc/ssh/revokation_list.krl
+```
+
+È necessario riavviare il demone SSHD per ricaricare la configurazione:
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl restart sshd
+```
+
+L'utente2 viene rifiutato dal server:
+
+```bash
+[user2@rocky ~]$ ssh user2@rocky-vm.example.com
+user2@rocky-vm.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
+```
+
+È possibile anche revocare le chiavi del server:
+
+```bash
+[user@rocky ~]$ sudo ssh-keygen -k -f /etc/ssh/revokation_list.krl -u /path/to/ssh_host_ed25519_key.pub
+```
+
+Le righe seguenti in `/etc/ssh/ssh_config` applicano l'elenco di revoca degli host a livello di sistema:
+
+```bash
+Host *
+ RevokedHostKeys /etc/ssh/revokation_list.krl
+```
+
+Se si tenta di connettersi all'host, si ottiene il seguente risultato:
+
+```bash
+[user@rocky ~]$ ssh user@rocky-vm.example.com
+Host key ED25519-CERT SHA256:bXWRZCpppNWxXs8o1MyqFlmfO8aSG+nlgJrBM4j4+gE revoked by file /etc/ssh/revokation_list.krl
+```
+
+È importante mantenere e aggiornare gli elenchi di revoca. È possibile automatizzare il processo per garantire che tutti gli host e gli utenti possano accedere agli elenchi di revoca più recenti.
+
+## Conclusione
+
+SSH è uno dei protocolli più validi per gestire i server remoti. L'implementazione di autorità di certificazione può essere utile, soprattutto in ambienti di grandi dimensioni con molti server e utenti.
+È importante mantenere elenchi di revoca. Revoca facilmente le chiavi compromesse senza sostituire l'intera infrastruttura critica.
diff --git a/docs/guides/security/ssh_ca_key_signing.uk.md b/docs/guides/security/ssh_ca_key_signing.uk.md
index 4d518997d1..005d0f5d46 100644
--- a/docs/guides/security/ssh_ca_key_signing.uk.md
+++ b/docs/guides/security/ssh_ca_key_signing.uk.md
@@ -23,7 +23,7 @@ tags:
ЦС також можна використовувати для підпису SSH-ключів користувача. Замість розповсюдження ключа кожному віддаленому хосту достатньо одного підпису, щоб авторизувати користувача для входу на декілька серверів.
-## Завдання
+## Цілі
- Покращення безпеки підключень SSH.
- Покращення процесу реєстрації та управління ключами.
diff --git a/docs/guides/security/ssl_keys_https.it.md b/docs/guides/security/ssl_keys_https.it.md
index 2bf295e4f6..6f1e60777c 100644
--- a/docs/guides/security/ssl_keys_https.it.md
+++ b/docs/guides/security/ssl_keys_https.it.md
@@ -9,8 +9,6 @@ tags:
- openssl
---
-# Generazione di Chiavi SSL
-
## Prerequisiti
* Una workstation e un server che eseguono Rocky Linux
@@ -18,7 +16,6 @@ tags:
* Capacità di eseguire comandi comodamente dalla riga di comando
* Utile: la conoscenza dei comandi SSL/TLS e OpenSSL
-
## Introduzione
Quasi tutti i siti web oggi _dovrebbero_ essere dotati di un certificato SSL/TLS (secure socket layer). Questa procedura vi guiderà nella generazione della chiave privata per il vostro sito web e poi nella generazione del CSR (certificate signing request) che userete per acquistare il vostro certificato.
@@ -29,9 +26,13 @@ Per chi non lo sapesse, le chiavi private SSL/TLS possono avere dimensioni diver
A partire dal 2021, la dimensione della chiave privata consigliata per un sito web è ancora di 2048 bit. Si può andare oltre, ma raddoppiare la dimensione della chiave da 2048 bit a 4096 bit è solo circa il 16% più sicuro, richiede più spazio per memorizzare la chiave e causa un maggiore carico della CPU durante l'elaborazione della chiave.
-Questo rallenta le prestazioni del sito web senza ottenere alcuna sicurezza significativa. Mantenere la dimensione della chiave a 2048 e tenere sempre sotto controllo quella attualmente consigliata. Per cominciare, assicuratevi che OpenSSL sia installato sulla vostra workstation e sul vostro server:
+Questo rallenta le prestazioni del sito web senza ottenere alcuna sicurezza significativa. Mantenete la dimensione della chiave di 2048 e tenete sempre sotto controllo le raccomandazioni attuali.
+
+Per cominciare, assicurarsi che OpenSSL sia installato sulla workstation e sul server:
-`dnf install openssl`
+```bash
+dnf install openssl
+```
Se non è installato, il sistema lo installerà insieme a tutte le dipendenze necessarie.
@@ -41,26 +42,30 @@ Se non gestite un vostro DNS (Domain Name System), spesso potete utilizzare gli
Generare la chiave utilizzando `openssl`:
-`openssl genrsa -des3 -out example.com.key.pass 2048`
+```bash
+openssl genrsa -des3 -out example.com.key.pass 2048
+```
-Si noti che è stato dato un nome alla chiave, con estensione *.pass*. Questo perché quando si esegue questo comando, viene richiesta l'immissione di una passphrase. Inserite una passphrase semplicistica che possiate ricordare, dato che la rimuoverete a breve:
+Si noti che è stato dato un nome alla chiave, con estensione *.pass*. Infatti, quando si esegue questo comando, viene richiesta l'immissione di una passphrase. Inserite una passphrase semplice che possiate ricordare, dato che la rimuoverete a breve:
-```
-Enter pass phrase for ourownwiki.com.key.pass:
-Verifying - Enter pass phrase for ourownwiki.com.key.pass:
+```bash
+Enter pass phrase for example.com.key.pass:
+Verifying - Enter pass phrase for example.com.key.pass:
```
-Successivamente, rimuovete la passphrase. Questo perché se non la si rimuove, sarà necessario inserire la passphrase ogni volta che il sito web si riavvia e carica la chiave.
+Quindi, rimuovere la passphrase. Questo perché se non la si rimuove, sarà necessario inserire la passphrase ogni volta che il sito web si riavvia e carica la chiave.
Potreste anche non essere presenti per inserirla o, peggio, non avere una console a disposizione. Rimuovetela subito per evitare tutto questo:
-`openssl rsa -in example.com.key.pass -out example.com.key`
+```bash
+openssl rsa -in example.com.key.pass -out example.com.keys
+```
-Questa operazione richiederà nuovamente la passphrase per rimuoverla dalla chiave:
+Questo richiederà nuovamente la passphrase per rimuoverla dalla chiave:
-`Enter pass phrase for example.com.key.pass:`
+`Inserire la frase di accesso per esempio.com.key.pass:`
-La password viene ora rimossa dalla chiave, dopo aver inserito la passphrase una terza volta, e salvata come *example.com.key*
+La password viene ora rimossa dalla chiave, dopo aver inserito la passphrase una terza volta, e salvata come _example.com.key_
## Generare il CSR
@@ -68,29 +73,31 @@ Successivamente, è necessario generare il CSR (certificate signing request) che
Durante la generazione del CSR vengono richieste diverse informazioni. Sono gli attributi X.509 del certificato.
-Una delle richieste sarà "Common Name (ad esempio, il VOSTRO nome di dominio)". Questo campo deve contenere il nome di dominio qualificato completo del server che l'SSL/TLS sta proteggendo. Se il sito web da proteggere è https://www.example.com, immettere www.example.com in questo prompt:
+Una delle richieste sarà "Common Name (ad esempio, il VOSTRO nome di dominio)". Questo campo deve contenere il nome di dominio completamente qualificato del server protetto da SSL/TLS. Se il sito web che stai proteggendo è https://www.example.com, inserisci in questo prompt:
-`openssl req -new -key example.com.key -out example.com.csr`
+```bash
+openssl req -new -key example.com.key -out example.com.csr
+```
-Si apre una finestra di dialogo:
+Questo apre un dialogo:
-`Country Name (2 letter code) [XX]:` inserire il codice a due caratteri del paese in cui risiede il sito, ad esempio "US"
+`Country Name (codice a 2 lettere) [XX]:` inserire il codice a due caratteri del paese in cui risiede il sito, ad esempio "US"
-`State or Province Name (full name) []:` inserire il nome ufficiale completo dello stato o della provincia, ad esempio "Nebraska"
+`State or Province Name (nome completo) []:` inserire il nome ufficiale completo dello stato o della provincia, ad esempio "Nebraska"
-`Locality Name (eg, city) [Default City]:` inserire il nome completo della città, ad esempio "Omaha"
+`Locality Name (es. città) [Città predefinita]:` inserire il nome completo della città, ad esempio "Omaha"
-`Organization Name (eg, company) [Default Company Ltd]:` Se si desidera, è possibile inserire un'organizzazione di cui questo dominio fa parte, oppure premere INVIO per saltare.
+`Organization Name (ad esempio, azienda) [Default Company Ltd]:` Se si desidera, è possibile inserire un'organizzazione di cui questo dominio fa parte, oppure premere ++enter++ per ignorarla.
-`Organizational Unit Name (eg, section) []:` Descrive la divisione dell'organizzazione in cui rientra il vostro dominio. Anche in questo caso, è sufficiente premere INVIO per saltare.
+`Organizational Unit Name (ad esempio, sezione) []:` Descrive la divisione dell'organizzazione in cui rientra il dominio. Anche in questo caso, è sufficiente premere ++enter++ per saltare.
-`Common Name (eg, your name or your server's hostname) []:` Qui si deve inserire il nome host del sito, ad esempio "www.example.com"
+`Common Name (ad esempio, il vostro nome o il nome host del vostro server) []:` Qui si deve inserire l'hostname del sito, ad esempio "www.example.com"
-`Email Address []:` Questo campo è facoltativo, si può decidere di compilarlo o semplicemente premere INVIO per saltarlo.
+`Email Address []:` Questo campo è facoltativo, si può decidere di compilarlo o di premere ++enter++ per saltarlo.
-Successivamente, la procedura richiede l'inserimento di attributi aggiuntivi. È possibile saltarli premendo INVIO:
+Successivamente, la procedura richiede l'inserimento di attributi aggiuntivi. È possibile saltarle premendo ++enter++:
-```
+```bash
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
@@ -101,13 +108,13 @@ La generazione del vostro CSR è completa.
## Acquisto del certificato
-Ogni fornitore di certificati avrà fondamentalmente la stessa procedura. Si acquista l'SSL/TLS e la durata (1 o 2 anni, ecc.) e poi si invia il CSR. Per farlo, è necessario utilizzare il comando `more` e copiare il contenuto del file CSR.
+Ogni fornitore di certificati avrà fondamentalmente la stessa procedura. Si acquista l'SSL/TLS e la durata (1 o 2 anni, ecc.) e poi si invia il CSR. Per farlo, è necessario usare il comando `more` e copiare il contenuto del file CSR.
`more example.com.csr`
Il che mostrerà qualcosa di simile a questo:
-```
+```bash
-----BEGIN CERTIFICATE REQUEST-----
MIICrTCCAZUCAQAwaDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5lYnJhc2thMQ4w
DAYDVQQHDAVPbWFoYTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEYMBYG
@@ -129,9 +136,8 @@ HFOltYOnfvz6tOEP39T/wMo=
Copiare tutto, comprese le righe "BEGIN CERTIFICATE REQUEST" e "END CERTIFICATE REQUEST". Incollare quindi questi dati nel campo CSR del sito web in cui si acquista il certificato.
-Prima di emettere il certificato, potrebbe essere necessario eseguire altri passaggi di verifica a seconda della proprietà del dominio, della società di registrazione utilizzata, ecc. Una volta emesso, includerà un certificato intermedio del provider, che verrà utilizzato anche nella configurazione.
+Prima di emettere il certificato, potrebbe essere necessario eseguire altre fasi di verifica a seconda della proprietà del dominio e della società di registrazione utilizzata.
## Conclusione
Generare tutti i pezzi per l'acquisto di un certificato per siti web non è difficile utilizzando questa procedura.
-
diff --git a/docs/guides/security/systemd_hardening.it.md b/docs/guides/security/systemd_hardening.it.md
new file mode 100644
index 0000000000..75e235fe0e
--- /dev/null
+++ b/docs/guides/security/systemd_hardening.it.md
@@ -0,0 +1,378 @@
+---
+title: Hardening delle unità Systemd
+author: Julian Patocki
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - security
+ - systemd
+ - capabilities
+---
+
+## Prerequisiti
+
+- Familiarità con gli strumenti a riga di comando
+- Conoscenza di base di `systemd` e dei permessi dei file
+- Capacità di leggere le pagine man
+
+## Introduzione
+
+Molti servizi vengono eseguiti con privilegi di cui non hanno bisogno per funzionare correttamente. `systemd` dispone di molti strumenti che aiutano a minimizzare il rischio di compromissione di un processo, applicando misure di sicurezza e limitando i permessi.
+
+## Obiettivi
+
+- Migliorare la sicurezza delle unità di `systemd`
+
+## Dichiarazione di non responsabilità
+
+Questa guida spiega i meccanismi di protezione delle unità `systemd` e non tratta la corretta configurazione di una particolare unità. Alcuni concetti sono eccessivamente semplificati. La comprensione di questi e di alcuni comandi utilizzati richiede un approfondimento dell'argomento.
+
+## Risorse
+
+- [`SYSTEMD.EXEC(5)` man page](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html)
+- [`Capabilities(7)` man page](https://man7.org/linux/man-pages/man7/capabilities.7.html)
+
+## Analisi
+
+`systemd` include un ottimo strumento che fornisce una rapida panoramica della configurazione complessiva della sicurezza di un'unità `systemd`.
+`systemd-analyze security` fornisce una rapida panoramica della configurazione di sicurezza di un'unità `systemd`. Ecco il punteggio di un `httpd` appena installato:
+
+```bash
+[user@rocky-vm ~]$ systemd-analyze security httpd
+ NAME DESCRIPTION EXPOSURE
+✗ RootDirectory=/RootImage= Service runs within the host's root directory 0.1
+ SupplementaryGroups= Service runs as root, option does not matter
+ RemoveIPC= Service runs as root, option does not apply
+✗ User=/DynamicUser= Service runs as root user 0.4
+✗ CapabilityBoundingSet=~CAP_SYS_TIME Service processes may change the system clock 0.2
+✗ NoNewPrivileges= Service processes may acquire new privileges 0.2
+...
+...
+...
+✓ NotifyAccess= Service child processes cannot alter service state
+✓ PrivateMounts= Service cannot install system mounts
+✗ UMask= Files created by service are world-readable by default 0.1
+
+→ Overall exposure level for httpd.service: 9.2 UNSAFE 😨
+```
+
+## Capabilities
+
+Il concetto di capacità può risultare piuttosto confuso. Comprenderlo è fondamentale per migliorare la sicurezza delle unità `systemd`. Ecco un estratto dalla pagina man di `Capabilities(7)`:
+
+```text
+Per eseguire i controlli dei permessi, le implementazioni UNIX tradizionali distinguono due categorie di processi: i processi privilegiati (il cui ID utente effettivo è 0, chiamato superuser o root) e i processi non privilegiati (il cui UID effettivo è diverso da zero). I processi privilegiati bypassano tutti i controlli dei permessi del kernel, mentre i processi non privilegiati sono soggetti a un controllo completo dei permessi basato sulle credenziali del processo (di solito: UID effettivo, GID effettivo ed elenco supplementare dei gruppi).
+
+A partire da Linux 2.2, Linux divide i privilegi tradizionalmente associati al superutente in unità distinte, note come capacità, che possono essere abilitate e disabilitate in modo indipendente. Le capacità sono un attributo per thread.
+```
+
+Ciò significa fondamentalmente che le capacità possono concedere alcuni privilegi di `root` a processi non privilegiati, ma anche limitare i privilegi dei processi eseguiti da `root`.
+
+Attualmente sono disponibili 41 funzionalità. Significa che i privilegi dell'utente \`root' hanno 41 serie di privilegi. Ecco qui alcuni esempi:
+
+- **CAP_CHOWN**: Apporta modifiche arbitrarie agli UID e ai GID dei file
+- **CAP_KILL**: Bypassa i controlli di autorizzazione per l'invio di segnali
+- **CAP_NET_BIND_SERVICE**: Lega un socket alle porte privilegiate del dominio Internet (numeri di porta inferiori a 1024)
+
+La pagina man `Capabilities(7)` contiene l'elenco completo.
+
+Esistono due tipi di capacità:
+
+- Funzionalità dei file
+- Funzionalità del thread
+
+## Funzionalità dei file
+
+Le funzionalità dei file consentono di associare privilegi a un eseguibile, in modo simile a `suid`. Includono tre set memorizzati in un attributo esteso: `Permitted`, `Inheritable`, e `Effective`.
+
+Per una spiegazione completa, consultare la pagina man `Capabilities(7)`.
+
+Le capacità dei file non possono influire sul livello di esposizione complessivo di un'unità e sono quindi solo marginalmente rilevanti ai fini della presente guida. Comprenderli, però, può essere utile. Pertanto, una rapida dimostrazione:
+
+Proviamo a eseguire `httpd` sulla porta 80 di default (privilegiata) come utente non privilegiato:
+
+```bash
+[user@rocky-vm ~]$ sudo -u apache /usr/sbin/httpd
+(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
+no listening sockets available, shutting down
+```
+
+Come previsto, l'operazione fallisce. Dotiamo il binario `httpd` dei privilegi **CAP_NET_BIND_SERVICE** e **CAP_DAC_OVERRIDE** menzionati in precedenza (per ignorare i controlli dei permessi sui file di log e pid ai fini di questo esercizio) e riproviamo:
+
+```bash
+[user@rocky-vm ~]$ sudo setcap "cap_net_bind_service=+ep cap_dac_override=+ep" /usr/sbin/httpd
+[user@rocky-vm ~]$ sudo -u apache /usr/sbin/httpd
+[user@rocky-vm ~]$ curl --head localhost
+HTTP/1.1 403 Forbidden
+...
+```
+
+Come previsto, il server web è stato avviato con successo.
+
+## Funzionalità del thread
+
+Le funzionalità dei thread si applicano a un processo e ai suoi figli. Sono disponibili cinque set di funzionalità thread:
+
+- Permitted
+- Inheritable
+- Effective
+- Bounding
+- Ambient
+
+Per una spiegazione completa, consultare la pagina man di `Capabilities(7)`.
+
+Si è già stabilito che `httpd` non ha bisogno di tutti i privilegi disponibili per l'utente `root`. Rimuoviamo le capacità precedentemente concesse dal binario `httpd`, avviamo il demone `httpd` e controlliamo i suoi privilegi:
+
+```bash
+[user@rocky-vm ~]$ sudo setcap -r /usr/sbin/httpd
+[user@rocky-vm ~]$ sudo systemctl start httpd
+[user@rocky-vm ~]$ grep Cap /proc/$(pgrep --uid 0 httpd)/status
+CapInh: 0000000000000000
+CapPrm: 000001ffffffffff
+CapEff: 000001ffffffffff
+CapBnd: 000001ffffffffff
+CapAmb: 0000000000000000
+[user@rocky-vm ~]$ capsh --decode=000001ffffffffff
+0x000001ffffffffff=cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read,cap_perfmon,cap_bpf,cap_checkpoint_restore
+```
+
+Il processo principale `httpd` viene eseguito con tutte le funzionalità disponibili, anche se molte non sono necessarie.
+
+## Limitazione delle capacità
+
+`systemd` riduce gli insiemi di capacità a quanto segue:
+
+- **CapabilityBoundingSet**: limita le capacità acquisite durante `execve`
+- **AmbientCapabilities**: utile se si vuole eseguire un processo come utente non privilegiato ma si vuole comunque dargli alcune capacità
+
+Per conservare la configurazione durante gli aggiornamenti dei pacchetti, creare un file `override.conf` all'interno della cartella `/lib/systemd/system/httpd.service.d/`.
+
+Sapendo che il servizio deve accedere a una porta privilegiata e che viene avviato come `root`, ma che i suoi thread vengono forkati come `apache`, è necessario specificare le seguenti capacità nella sezione `[Service]` del file `/lib/systemd/system/httpd.service.d/override.conf`:
+
+```bash
+[Service]
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_SETUID CAP_SETGID
+```
+
+È possibile ridurre il livello di esposizione complessivo da `UNSAFE` a `MEDIUM`.
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl daemon-reload
+[user@rocky-vm ~]$ sudo systemctl restart httpd
+[user@rocky-vm ~]$ systemd-analyze security --no-pager httpd | grep Overall
+→ Overall exposure level for httpd.service: 7.1 MEDIUM 😐
+```
+
+Tuttavia, questo processo viene ancora eseguito come `root`. È possibile ridurre ulteriormente il livello di esposizione eseguendolo esclusivamente come `apache`.
+
+Oltre ad accedere alla porta 80, il processo deve scrivere nei log situati in `/etc/httpd/logs/` ed essere in grado di creare `/run/httpd/` e scrivervi. Per ottenere questo risultato, nel primo caso è necessario cambiare i permessi con `chown` e nel secondo utilizzare l'utilità `systemd-tmpfiles`. È possibile utilizzarlo con l'opzione `--create` per creare il file senza riavviare, ma d'ora in poi verrà creato automaticamente a ogni avvio del sistema.
+
+```bash
+[user@rocky-vm ~]$ sudo chown -R apache:apache /etc/httpd/logs/
+[user@rocky-vm ~]$ echo 'd /run/httpd 0755 apache apache -' | sudo tee /etc/tmpfiles.d/httpd.conf
+d /run/httpd 0755 apache apache -
+[user@rocky-vm ~]$ sudo systemd-tmpfiles --create /etc/tmpfiles.d/httpd.conf
+[user@rocky-vm ~]$ ls -ld /run/httpd/
+drwxr-xr-x. 2 apache apache 40 Jun 30 08:29 /run/httpd/
+```
+
+È necessario modificare la configurazione in `/lib/systemd/system/httpd.service.d/override.conf`. È necessario assegnare le nuove funzionalità con **AmbientCapabilities**. Se `httpd` è abilitato all'avvio, è necessario espandere le dipendenze nella sezione `[Unit]` affinché il servizio possa avviarsi dopo la creazione del file temporaneo.
+
+```bash
+[Unit]
+After=systemd-tmpfiles-setup.service
+
+[Service]
+User=apache
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+```
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl daemon-reload
+[user@rocky-vm ~]$ sudo systemctl restart httpd
+[user@rocky-vm ~]$ grep Cap /proc/$(pgrep httpd | head -1)/status
+CapInh: 0000000000000400
+CapPrm: 0000000000000400
+CapEff: 0000000000000400
+CapBnd: 0000000000000400
+CapAmb: 0000000000000400
+[user@rocky-vm ~]$ capsh --decode=0000000000000400
+0x0000000000000400=cap_net_bind_service
+[user@rocky-vm ~]$ systemd-analyze security --no-pager httpd | grep Overall
+→ Overall exposure level for httpd.service: 6.5 MEDIUM 😐
+```
+
+## Restrizioni del file system
+
+Il controllo dei permessi sui file creati dal processo si effettua impostando la `UMask`.
+Il parametro `UMask` modifica i permessi predefiniti dei file eseguendo operazioni bitwise. Questo imposta i permessi predefiniti a `0644` ottale (`-rw-r--r--`) e la `UMask` predefinita è `0022`. Ciò significa che la `UMask` non modifica l'impostazione predefinita:
+
+```bash
+[user@rocky-vm ~]$ printf "%o\n" $(echo $(( 00644 & ~00022 )))
+644
+```
+
+Assumendo che il set di permessi desiderato per i file creati dal demone sia `0640` (`-rw-r-----`), è possibile impostare la `UMask` a `7137`. Raggiunge l'obiettivo anche se i permessi predefiniti sono impostati su `7777`:
+
+```bash
+[user@rocky-vm ~]$ printf "%o\n" $(echo $(( 07777 & ~07137 )))
+640
+```
+
+Inoltre:
+
+- `ProtectSystem=`: _"Se impostato su "`strict`", l'intera gerarchia del file system è montata in sola lettura, a eccezione dei sottoalberi del file system API `/dev/`, `/proc/` e `/sys/` (proteggere queste directory usando `PrivateDevices=`, `ProtectKernelTunables=`, `ProtectControlGroups=`)."_
+- `ReadWritePaths=`: rende nuovamente scrivibili determinati percorsi
+- `ProtectHome=`: rende inaccessibili `/home/`, `/root` e `/run/user`
+- `PrivateDevices=`: disattiva l'accesso ai dispositivi fisici, consentendo l'accesso solo a pseudo dispositivi come `/dev/null`, `/dev/zero`, `/dev/random`
+- `ProtectKernelTunables=`: rende `/proc/` e `/sys/` di sola lettura
+- `ProtectControlGroups=`: rende `cgroups` accessibile in sola lettura
+- `ProtectKernelModules=`: nega il caricamento esplicito dei moduli
+- `ProtectKernelLogs=`: limita l'accesso al buffer dei log del kernel
+- `ProtectProc=`: \*"Se impostato su "invisible", i processi di proprietà di altri utenti vengono nascosti in /proc/"
+- `ProcSubset=`: _"Se “pid”, tutti i file e le directory non direttamente associati alla gestione dei processi e all'introspezione vengono resi invisibili nel file system /proc/ configurato per i processi dell'unità."_
+
+È possibile anche limitare i percorsi degli eseguibili. Il demone deve solo eseguire i suoi binari e le sue librerie. L'utilità `ldd` può dirci quali librerie utilizza un binario:
+
+```bash
+[user@rocky-vm ~]$ ldd /usr/sbin/httpd
+ linux-vdso.so.1 (0x00007ffc0e823000)
+ libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fa360d61000)
+ libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa360d34000)
+ libaprutil-1.so.0 => /lib64/libaprutil-1.so.0 (0x00007fa360d05000)
+ libcrypt.so.2 => /lib64/libcrypt.so.2 (0x00007fa360ccb000)
+ libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fa360c9a000)
+ libapr-1.so.0 => /lib64/libapr-1.so.0 (0x00007fa360c5a000)
+ libc.so.6 => /lib64/libc.so.6 (0x00007fa360a00000)
+ libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007fa360964000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007fa360e70000)
+ libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fa360c4e000)
+ libm.so.6 => /lib64/libm.so.6 (0x00007fa360889000)
+```
+
+Le righe seguenti saranno aggiunte alla sezione `[Service]` del file `override.conf`:
+
+```bash
+UMask=7177
+ProtectSystem=strict
+ReadWritePaths=/run/httpd /etc/httpd/logs
+
+ProtectHome=true
+PrivateDevices=true
+ProtectKernelTunables=true
+ProtectControlGroups=true
+ProtectKernelModules=true
+ProtectKernelLogs=true
+ProtectProc=invisible
+ProcSubset=pid
+
+NoExecPaths=/
+ExecPaths=/usr/sbin/httpd /lib64
+```
+
+Ricarichiamo la configurazione e verifichiamo l'impatto sul risultato:
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl daemon-reload
+[user@rocky-vm ~]$ sudo systemctl restart httpd
+[user@rocky-vm ~]$ systemd-analyze security --no-pager httpd | grep Overall
+→ Overall exposure level for httpd.service: 4.9 OK 🙂
+```
+
+## Restrizioni del sistema
+
+Vari parametri possono limitare le operazioni del sistema per migliorare la sicurezza:
+
+- `NoNewPrivileges=`: assicura che il processo non possa ottenere nuovi privilegi attraverso i bit `setuid`, `setgid` e le capacità del filesystem
+- `ProtectClock=`: nega la scrittura sugli orologi del sistema e dell'hardware
+- `SystemCallArchitectures=`: se impostato su `native`, i processi possono effettuare solo `syscalls` native (nella maggior parte dei casi `x86-64`)
+- `RestrictNamespaces=`: gli spazi dei nomi sono per lo più rilevanti per i contenitori, quindi possono essere limitati per questa unità
+- `RestrictSUIDSGID=`: impedisce al processo di impostare i bit `setuid` e `setgid` sui file
+- `LockPersonality=`: impedisce di modificare il dominio di esecuzione, il che potrebbe essere utile solo per l'esecuzione di applicazioni legacy o di software progettato per altri sistemi Unix-like
+- `RestrictRealtime=`: la programmazione in tempo reale è rilevante solo per le applicazioni che richiedono rigorose garanzie di temporizzazione, come i sistemi di controllo industriale, l'elaborazione audio/video e le simulazioni scientifiche
+- `RestrictAddressFamilies=`: limita le famiglie di indirizzi socket disponibili; può essere impostato su `AF_(INET|INET6)` per consentire solo i socket IPv4 e IPv6; alcuni servizi avranno bisogno di `AF_UNIX` per la comunicazione interna e la registrazione
+- `MemoryDenyWriteExecute=`: assicura che il processo non possa allocare nuove regioni di memoria che siano sia scrivibili che eseguibili, prevenendo alcuni tipi di attacchi in cui il codice dannoso viene iniettato nella memoria scrivibile e poi eseguito; può causare il fallimento dei compilatori JIT utilizzati da JavaScript, Java o .NET
+- `ProtectHostname=`: impedisce al processo di utilizzare le chiamate `syscalls` `sethostname()`, `setdomainname()`
+
+Aggiungiamo quanto segue al file `override.conf`, ricarichiamo la configurazione e verifichiamo l'impatto sul risultato:
+
+```bash
+NoNewPrivileges=true
+ProtectClock=true
+SystemCallArchitectures=native
+RestrictNamespaces=true
+RestrictSUIDSGID=true
+LockPersonality=true
+RestrictRealtime=true
+RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
+MemoryDenyWriteExecute=true
+ProtectHostname=true
+```
+
+```bash
+[user@rocky-vm ~]$ sudo systemctl daemon-reload
+[user@rocky-vm ~]$ sudo systemctl restart httpd
+[user@rocky-vm ~]$ systemd-analyze security --no-pager httpd | grep Overall
+→ Overall exposure level for httpd.service: 3.0 OK 🙂
+```
+
+## Filtraggio delle chiamate di sistema
+
+Limitare le chiamate di sistema può non essere facile. È difficile stabilire quali chiamate di sistema debbano essere effettuate da alcuni demoni per funzionare correttamente.
+
+L'utilità `strace` può aiutare a determinare quali syscall vengono create. L'opzione `-f` specifica di seguire i processi biforcati e `-o` salva l'output nel file chiamato `httpd.strace`.
+
+```bash
+[user@rocky-vm ~]$ sudo strace -f -o httpd.strace /usr/sbin/httpd
+```
+
+Dopo aver eseguito il processo per un po' di tempo e aver interagito con esso, interrompere l'esecuzione per esaminare l'output:
+
+```bash
+[user@rocky-vm ~]$ awk '{print $2}' httpd.strace | cut -d '(' -f 1 | sort | uniq | sed '/^[^a-zA-Z0-9]*$/d' | wc -l
+79
+```
+
+Il programma ha effettuato 79 chiamate univoche di sistema durante la sua esecuzione.
+È possibile impostare l'elenco delle chiamate di sistema consentite con il seguente comando:
+
+```bash
+[user@rocky-vm ~]$ echo SystemCallFilter=$(awk '{print $2}' httpd.strace | cut -d '(' -f 1 | sort | uniq | sed '/^[^a-zA-Z0-9]*$/d' | tr "\n" " ") | sudo tee -a /lib/systemd/system/httpd.service.d/override.conf
+...
+...
+...
+[user@rocky-vm ~]$ sudo systemctl daemon-reload
+[user@rocky-vm ~]$ sudo systemctl restart httpd
+[user@rocky-vm ~]$ systemd-analyze security --no-pager httpd | grep Overall
+→ Overall exposure level for httpd.service: 1.5 OK 🙂
+[user@rocky-vm ~]$ curl --head localhost
+HTTP/1.1 403 Forbidden
+```
+
+Il server web è ancora in funzione e l'esposizione è stata notevolmente ridotta.
+
+L'approccio precedente è esatto. Se una chiamata di sistema è stata omessa, il programma potrebbe bloccarsi. `systemd` raggruppa le chiamate di sistema in insiemi predefiniti. Per facilitare la limitazione delle chiamate di sistema, invece di impostare una singola chiamata di sistema nell'elenco dei permessi o dei non permessi, è possibile impostare un intero gruppo nell'elenco dei permessi o dei non permessi. Per consultare gli elenchi:
+
+```bash
+[user@rocky-vm ~]$ systemd-analyze syscall-filter
+@default
+ # System calls that are always permitted
+ arch_prctl
+ brk
+ cacheflush
+ clock_getres
+...
+...
+...
+```
+
+Le chiamate di sistema all'interno dei gruppi possono sovrapporsi, soprattutto per alcuni gruppi che includono altri gruppi. Pertanto, singole chiamate o gruppi possono essere disabilitati specificandoli con il simbolo `~`. Le seguenti direttive nel file `override.conf` dovrebbero funzionare per questa unità:
+
+```bash
+SystemCallFilter=@system-service
+SystemCallFilter=~@privileged @resources @mount @swap @reboot
+```
+
+## Conclusioni
+
+La configurazione di sicurezza predefinita della maggior parte delle unità `systemd` è poco rigorosa. L'hardening può richiedere un po' di tempo, ma ne vale la pena, soprattutto negli ambienti più grandi esposti a Internet. Se un aggressore sfrutta una vulnerabilità o una configurazione errata, un'unità protetta può impedirgli di prendere il controllo del sistema.
diff --git a/docs/guides/security/systemd_hardening.uk.md b/docs/guides/security/systemd_hardening.uk.md
index d15e55ed6f..84a2729c4f 100644
--- a/docs/guides/security/systemd_hardening.uk.md
+++ b/docs/guides/security/systemd_hardening.uk.md
@@ -18,7 +18,7 @@ tags:
Багато служб працюють із привілеями, які їм не потрібні для належної роботи. `systemd` містить багато інструментів, які допомагають мінімізувати ризик, коли процес скомпрометовано, шляхом застосування заходів безпеки та обмеження дозволів.
-## Завдання
+## Цілі
- Покращення безпеки блоків `systemd`
diff --git a/docs/guides/security/tailscale_vpn.de.md b/docs/guides/security/tailscale_vpn.de.md
new file mode 100644
index 0000000000..3ffa286775
--- /dev/null
+++ b/docs/guides/security/tailscale_vpn.de.md
@@ -0,0 +1,80 @@
+---
+title: Tailscale VPN
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.3
+tags:
+ - Sicherheit
+ - vpn
+---
+
+# Tailscale VPN
+
+## Einleitung
+
+[Tailscale](https://tailscale.com/) ist ein Zero-Config-, End-to-End-verschlüsseltes Peer-to-Peer-VPN basierend auf Wireguard. Tailscale unterstützt alle wichtigen Desktop- und mobilen Betriebssysteme.
+
+Im Vergleich zu anderen VPN-Lösungen benötigt Tailscale keine offenen TCP/IP-Ports und kann hinter Network Address Translation oder einer Firewall arbeiten.
+
+## Voraussetzungen
+
+Für die Verwendung dieses Verfahrens gelten die folgenden Mindestanforderungen:
+
+- Die Möglichkeit, Befehle als Root-Benutzer auszuführen oder `sudo` zu verwenden, um Berechtigungen zu erhöhen
+- Ein `Tailscale`-Account
+
+## `Tailscale`-Installation
+
+Um Tailscale zu installieren, müssen wir zuerst das `dnf`-Repository hinzufügen (Hinweis: Wenn Sie Rocky Linux 8.x oder 10.x verwenden, ersetzen Sie es durch 8 bzw. 10):
+
+```bash
+dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
+```
+
+Dann `Tailscale` installieren:
+
+```bash
+dnf install tailscale
+```
+
+## `Tailscale`-Konfiguration
+
+Wenn die Pakete installiert sind, müssen Sie Tailscale aktivieren und konfigurieren. So aktivieren Sie den Tailscale-Daemon:
+
+```bash
+systemctl enable --now tailscaled
+```
+
+Anschließend authentifizieren Sie sich bei Tailscale:
+
+```bash
+tailscale up
+```
+
+Sie erhalten eine URL zur Authentifizierung. Besuchen Sie die Seite in einem Browser und melden Sie sich bei Tailscale an:
+
+
+
+Als nächstes gewähren Sie Zugriff auf Ihren Server. Klicken Sie dazu auf **Connect**:
+
+
+
+Wenn Sie den Zugriff gewährt haben, wird ein Erfolgsdialogfeld angezeigt:
+
+
+
+Sobald Ihr Server bei Tailscale authentifiziert ist, erhält er eine Tailscale-IPv4-Adresse:
+
+```bash
+tailscale ip -4
+```
+
+Es bekommt außerdem eine RFC 4193 (Unique Local Address) Tailscale IPv6-Adresse:
+
+```bash
+tailscale ip -6
+```
+
+## Zusammenfassung
+
+Herkömmliche VPN-Dienste, die ein VPN-Gateway verwenden, sind zentralisiert. Dies erfordert eine manuelle Konfiguration, das Aufsetzen Ihrer Firewall und die Einrichtung von Benutzerkonten. Tailscale löst dieses Problem durch sein Peer-to-Peer-Modell in Kombination mit Zugriffskontrolle auf Netzwerkebene.
diff --git a/docs/guides/security/tailscale_vpn.fr.md b/docs/guides/security/tailscale_vpn.fr.md
new file mode 100644
index 0000000000..f977a1f3f4
--- /dev/null
+++ b/docs/guides/security/tailscale_vpn.fr.md
@@ -0,0 +1,80 @@
+---
+title: Tailscale VPN
+author: Neel Chauhan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.3
+tags:
+ - sécurité
+ - vpn
+---
+
+# Tailscale VPN
+
+## Introduction
+
+[Tailscale](https://tailscale.com/) est un VPN peer-to-peer chiffré de bout en bout, sans configuration, basé sur Wireguard. Tailscale prend en charge tous les principaux systèmes d'exploitation de bureau et mobiles.
+
+Comparé à d’autres solutions VPN, Tailscale ne nécessite pas de ports TCP/IP ouverts et peut fonctionner derrière la traduction d’adresses réseau ou un pare-feu.
+
+## Prérequis
+
+Voici les exigences minimales pour utiliser cette procédure :
+
+- La possibilité d'exécuter des commandes en tant qu'utilisateur `root` ou d'utiliser `sudo` pour élever les privilèges
+- Un compte Tailscale
+
+## Installation de Tailscale
+
+Pour installer Tailscale, nous devons d'abord ajouter son référentiel `dnf` (remarque : si vous utilisez Rocky Linux 8.x ou 10.x, remplacez-le par 8 ou 10 respectivement) :
+
+```bash
+dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
+```
+
+Ensuite installez `Tailscale` :
+
+```bash
+dnf install tailscale
+```
+
+## Configuration de Tailscale
+
+Une fois les paquets installés, vous devez activer et configurer Tailscale. Pour activer le démon Tailscale :
+
+```bash
+systemctl enable --now tailscaled
+```
+
+Par la suite, vous vous authentifierez auprès de Tailscale :
+
+```bash
+tailscale up
+```
+
+Vous obtiendrez une URL pour l'authentification. Visitez-le dans un navigateur et connectez-vous à Tailscale :
+
+
+
+Ensuite, vous accorderez l’accès à votre serveur. Cliquez **Connect** pour ce faire :
+
+
+
+Une fois l'accès accordé, vous verrez une boîte de dialogue de réussite :
+
+
+
+Une fois que votre serveur est authentifié avec Tailscale, il obtiendra une adresse IPv4 Tailscale :
+
+```bash
+tailscale ip -4
+```
+
+Il recevra également une adresse IPv6 Tailscale RFC 4193 (adresse locale unique) :
+
+```bash
+tailscale ip -6
+```
+
+## Conclusion
+
+Les services VPN traditionnels utilisant une passerelle VPN sont centralisés. Cela nécessite une configuration manuelle, la configuration de votre pare-feu et l'attribution de comptes d'utilisateurs. Tailscale résout ce problème grâce à son modèle pair-à-pair combiné à un contrôle d'accès au niveau du réseau.
diff --git a/docs/guides/security/tailscale_vpn.it.md b/docs/guides/security/tailscale_vpn.it.md
index 70376a4f3a..0f4204ecf7 100644
--- a/docs/guides/security/tailscale_vpn.it.md
+++ b/docs/guides/security/tailscale_vpn.it.md
@@ -25,7 +25,7 @@ I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
## Installare Tailscale
-Per installare Tailscale, è necessario aggiungere il repository `dnf` (nota: se si utilizza Rocky Linux 8.x, sostituire con 8):
+Per installare Tailscale, dobbiamo prima aggiungere il suo repository `dnf` (nota: se si utilizza Rocky Linux 8.x o 10.x, sostituire rispettivamente con 8 o 10):
```bash
dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
diff --git a/docs/guides/security/tailscale_vpn.md b/docs/guides/security/tailscale_vpn.md
index 13fec43dac..b7d3f7b789 100644
--- a/docs/guides/security/tailscale_vpn.md
+++ b/docs/guides/security/tailscale_vpn.md
@@ -25,7 +25,7 @@ The following are minimum requirements for using this procedure:
## Installing Tailscale
-To install Tailscale, we first need to add its `dnf` repository (note: if you are using Rocky Linux 8.x, substitute in 8):
+To install Tailscale, we first need to add its `dnf` repository (note: if you are using Rocky Linux 8.x or 10.x, substitute in 8 or 10 respectively):
```bash
dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
diff --git a/docs/guides/security/tailscale_vpn.uk.md b/docs/guides/security/tailscale_vpn.uk.md
index 814c1f3b24..5ccd46038d 100644
--- a/docs/guides/security/tailscale_vpn.uk.md
+++ b/docs/guides/security/tailscale_vpn.uk.md
@@ -20,12 +20,12 @@ tags:
Нижче наведено мінімальні вимоги для використання цієї процедури:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
- Обліковий запис Tailscale
## Встановлення Tailscale
-Щоб інсталювати Tailscale, спочатку потрібно додати його репозиторій `dnf` (зверніть увагу, якщо ви використовуєте Rocky Linux 8.x, замініть його на 8):
+Щоб інсталювати Tailscale, спочатку потрібно додати його репозиторій `dnf` (зверніть увагу, якщо ви використовуєте Rocky Linux 8.x або 10.х, замініть його на 8 або 10 відповідно):
```bash
dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo
diff --git a/docs/guides/security/wireguard_vpn.it.md b/docs/guides/security/wireguard_vpn.it.md
new file mode 100644
index 0000000000..27bf378943
--- /dev/null
+++ b/docs/guides/security/wireguard_vpn.it.md
@@ -0,0 +1,280 @@
+---
+title: VPN WireGuard
+author: Joseph Brinkman
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - security
+ - vpn
+---
+
+## Introduzione
+
+[WireGuard](https://www.wireguard.com/) è una rete privata virtuale (VPN) peer-to-peer (P2P) gratuita e open-source. È un'alternativa moderna, leggera e sicura alle VPN convenzionali con grandi basi di codice che si basano su connessioni TCP. Poiché WireGuard è una VPN P2P, ogni computer aggiunto alla rete WireGuard comunica direttamente con gli altri. Questa guida utilizza un modello hub-spoke, con un peer WireGuard a cui viene assegnato un indirizzo IP pubblico come gateway per il passaggio di tutto il traffico. Ciò consente al traffico WireGuard di bypassare Carrier Grade NAT (CGNAT) senza abilitare il port-forwarding sul router. Ciò richiede un sistema Rocky Linux con un indirizzo IP pubblico. Il modo più semplice per raggiungere questo obiettivo è quello di creare un server privato virtuale (VPS) attraverso un provider cloud di vostra scelta. Al momento in cui scriviamo, Google Cloud Platform offre un livello gratuito per le sue istanze e2-micro.
+
+## Prerequisiti
+
+I requisiti minimi per questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Un sistema Rocky Linux con un indirizzo IP accessibile pubblicamente
+
+## Installazione di WireGuard
+
+Installare i pacchetti extra per Enterprise Linux (EPEL):
+
+```bash
+sudo dnf install epel-release -y
+```
+
+Aggiornare i pacchetti di sistema:
+
+```bash
+sudo dnf upgrade -y
+```
+
+Installare WireGuard:
+
+```bash
+sudo dnf install wireguard-tools -y
+```
+
+## Configurazione di server WireGuard
+
+Creare una cartella in cui inserire i file di configurazione e le chiavi di WireGuard:
+
+```bash
+sudo mkdir -p /etc/wireguard
+```
+
+Creare un file di configurazione con un nome a scelta che termini con l'estensione `.conf`:
+
+!!! Note
+
+```
+È possibile creare più tunnel VPN WireGuard sullo stesso computer, ognuno dei quali utilizza un file di configurazione, un indirizzo di rete e una porta UDP diversi.
+```
+
+```bash
+sudo touch /etc/wireguard/wg0.conf
+```
+
+Generare una nuova coppia di chiavi private e pubbliche per il server WireGuard:
+
+```bash
+wg genkey | sudo tee /etc/wireguard/wg0 | wg pubkey | sudo tee /etc/wireguard/wg0.pub
+```
+
+Modificare il file di configurazione con l'editor preferito.
+
+```bash
+sudo vi /etc/wireguard/wg0.conf
+```
+
+Incollare quanto segue:
+
+```bash
+[Interface]
+PrivateKey = server_privatekey
+Address = x.x.x.x/24
+ListenPort = 51820
+```
+
+È necessario sostituire `server_privatekey` con la chiave privata generata in precedenza. È possibile visualizzare la chiave privata con:
+
+```bash
+sudo cat /etc/wireguard/wg0
+```
+
+Successivamente, è necessario sostituire `x.x.x.x/24` con un indirizzo di rete compreso nell'intervallo di indirizzi IP privati definito da [RFC 1918] (https://datatracker.ietf.org/doc/html/rfc1918). L'indirizzo di rete utilizzato in questa guida è `10.255.255.0/24`.
+
+Infine, è possibile scegliere qualsiasi porta UDP per accettare le connessioni con WireGuard VPN. Per gli scopi di questa guida si utilizza la porta UDP `51820`.
+
+## Abilita l'inoltro IP
+
+L'inoltro IP consente l'instradamento dei pacchetti tra le reti. Ciò consente ai dispositivi interni di comunicare tra loro attraverso il tunnel WireGuard:
+
+Attivare l'inoltro IP per IPv4 e IPv6:
+
+```bash
+sudo sysctl -w net.ipv4.ip_forward=1 && sudo sysctl -w net.ipv6.conf.all.forwarding=1
+```
+
+## Configurazione di `firewalld`
+
+Installazione di `firewalld`:
+
+```bash
+sudo dnf install firewalld -y
+```
+
+Dopo aver installato `firewalld`, abilitarlo:
+
+```bash
+sudo systemctl enable --now firewalld
+```
+
+Creare una regola permanente del firewall che consenta il traffico sulla porta UDP 51820 nella zona pubblica:
+
+```bash
+sudo firewall-cmd --permanent --zone=public --add-port=51820/udp
+```
+
+Successivamente, il traffico dall'interfaccia WireGuard sarà consentito ad altre interfacce della zona interna.
+
+```bash
+sudo firewall-cmd --permanent --add-interface=wg0 --zone=internal
+```
+
+Aggiungere una regola del firewall per abilitare il masquerading IP sul traffico interno. Ciò significa che i pacchetti inviati tra peer sostituiranno l'indirizzo IP del pacchetto con l'indirizzo IP del server:
+
+```bash
+sudo firewall-cmd --permanent --zone=internal --add-masquerade
+```
+
+Infine, ricaricare `firewalld`:
+
+```bash
+sudo firewall-cmd --reload
+```
+
+## Configurazione del peer WireGuard
+
+Poiché tutti i computer di una rete WireGuard sono tecnicamente dei peer, questa procedura è quasi identica alla configurazione del server WireGuard, ma con leggere differenze.
+
+Creare una cartella in cui inserire i file di configurazione e le chiavi di WireGuard:
+
+```bash
+sudo mkdir -p /etc/wireguard
+```
+
+Creare un file di configurazione, dandogli un nome a scelta, che termini con l'estensione `.conf`:
+
+```bash
+sudo touch /etc/wireguard/wg0.conf
+```
+
+Generare una nuova coppia di chiavi private e pubbliche:
+
+```bash
+wg genkey | sudo tee /etc/wireguard/wg0 | wg pubkey | sudo tee /etc/wireguard/wg0.pub
+```
+
+Modificare il file di configurazione con il proprio editor, aggiungendo questo contenuto:
+
+```bash
+[Interface]
+PrivateKey = peer_privatekey
+Address = 10.255.255.2/24
+
+[Peer]
+PublicKey = server_publickey
+AllowedIPs = 10.255.255.1/24
+Endpoint = serverip:51820
+PersistentKeepalive = 25
+```
+
+Sostituire `peer_privatekey` con la chiave privata del peer memorizzata in `/etc/wireguard/wg0` sul peer.
+
+È possibile utilizzare questo comando per visualizzare la chiave in modo da poterla copiare:
+
+```bash
+sudo cat /etc/wireguard/wg0
+```
+
+Sostituire `server_publickey` con la chiave pubblica del server memorizzata in `/etc/wireguard/wg0.pub` sul server.
+
+È possibile utilizzare questo comando per visualizzare la chiave in modo da poterla copiare:
+
+```bash
+sudo cat /etc/wireguard/wg0.pub
+```
+
+Sostituire `serverip` con l'IP pubblico del server WireGuard.
+
+È possibile trovare l'indirizzo IP pubblico del server utilizzando il seguente comando sul server:
+
+```bash
+ip a | grep inet
+```
+
+Il file di configurazione del peer ora include una regola `PersistentKeepalive = 25`. Questa regola indica al peer di eseguire il ping del server WireGuard ogni 25 secondi per mantenere la connessione del tunnel VPN. Senza questa impostazione, il tunnel VPN si interrompe dopo l'inattività.
+
+## Abilitare WireGuard VPN
+
+Per abilitare WireGuard, eseguire il seguente comando sia sul server che sul peer:
+
+```bash
+sudo systemctl enable wg-quick@wg0
+```
+
+Avviare quindi la VPN eseguendo questo comando sia sul server che sul peer:
+
+```bash
+sudo systemctl start wg-quick@wg0
+```
+
+## Aggiungere la chiave client alla configurazione del server WireGuard
+
+Emettere la chiave pubblica del peer e copiarla:
+
+```bash
+sudo cat /etc/wireguard/wg0.pub
+```
+
+Sul server, eseguire il comando seguente, sostituendo `peer_publickey` con la chiave pubblica del peer:
+
+```bash
+sudo wg set wg0 peer peer_publickey allowed-ips 10.255.255.2
+```
+
+L'uso di `wg set` apporta solo modifiche temporanee all'interfaccia di WireGuard. Per le modifiche permanenti della configurazione, è possibile modificare manualmente il file di configurazione e aggiungere il peer. È necessario ricaricare l'interfaccia WireGuard dopo aver apportato qualsiasi modifica permanente alla configurazione.
+
+Modificare il file di configurazione del server con l'editor preferito.
+
+```bash
+sudo vi /etc/wireguard/wg0.conf
+```
+
+Aggiungere il peer al file di configurazione. Il contenuto dovrebbe essere simile a quello riportato di seguito:
+
+```bash
+[Interface]
+PrivateKey = +Eo5oVjt+d3XWvFWYcOChaLroGj5vapdXKH8UZ2T2Fc=
+Address = 10.255.255.1/24
+ListenPort = 51820
+
+[Peer]
+PublicKey = 1vSho8NvECkG1PVVk7avZWDmrd2VGZ2xTPaNe5+XKSg=
+AllowedIps = 10.255.255.2/32
+```
+
+Disattivare l'interfaccia:
+
+```bash
+sudo wg-quick down wg0
+```
+
+Attivare l'interfaccia:
+
+```bash
+sudo wg-quick up wg0
+```
+
+## Visualizzazione delle interfacce WireGuard e test della connettività
+
+È possibile visualizzare le informazioni di WireGuard sia sul server che sul peer:
+
+```bash
+sudo wg
+```
+
+È possibile verificare la connettività inviando un ping al server dal peer:
+
+```bash
+ping 10.255.255.1
+```
+
+## Conclusione
+
+Seguendo questa guida, si è riusciti a configurare una VPN WireGuard utilizzando il modello hub-spoke. Questa configurazione offre un modo sicuro, moderno ed efficiente per collegare più dispositivi attraverso Internet. Controllare il [sito web ufficiale di WireGuard](https://www.wireguard.com/).
diff --git a/docs/guides/security/wireguard_vpn.uk.md b/docs/guides/security/wireguard_vpn.uk.md
index 577b225253..6434efff4f 100644
--- a/docs/guides/security/wireguard_vpn.uk.md
+++ b/docs/guides/security/wireguard_vpn.uk.md
@@ -16,7 +16,7 @@ tags:
Мінімальні вимоги до цієї процедури такі:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
- Система Rocky Linux із загальнодоступною IP-адресою
## Встановлення WireGuard
diff --git a/docs/guides/troubleshooting/kernel_panic.fr.md b/docs/guides/troubleshooting/kernel_panic.fr.md
index fea9a2727c..5dff1a9df2 100644
--- a/docs/guides/troubleshooting/kernel_panic.fr.md
+++ b/docs/guides/troubleshooting/kernel_panic.fr.md
@@ -32,7 +32,7 @@ Si le système ne démarre pas, essayez le **mode de secours** (`rescue mode`, v
Le moyen le plus simple de procéder consiste à désinstaller la version du noyau qui ne fonctionne pas, puis à la réinstaller.
-!!! note "Remarque"
+!!! note "Remarque "
````
Vous ne pouvez pas supprimer un noyau en cours d'exécution.
diff --git a/docs/guides/troubleshooting/kernel_panic.it.md b/docs/guides/troubleshooting/kernel_panic.it.md
new file mode 100644
index 0000000000..51371ee9db
--- /dev/null
+++ b/docs/guides/troubleshooting/kernel_panic.it.md
@@ -0,0 +1,137 @@
+---
+title: Come affrontare il kernel panic
+author: Antoine Le Morvan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 9.4
+tags:
+ - kernel
+ - kernel panic
+ - rescue
+---
+
+## Introduzione
+
+A volte l'installazione del kernel non va a buon fine e bisogna tornare indietro.
+
+Questo può avvenire per varie ragioni, come lo spazio insufficiente nella partizione `/boot`, un'installazione interrotta o un problema con un'applicazione di terze parti.
+
+Per fortuna è sempre possibile fare qualcosa per risolvere la situazione.
+
+## Provare a riavviare con il kernel precedente
+
+La prima cosa da provare è riavviare con il kernel precedente.
+
+- Riavviare il sistema.
+- Quando si ha raggiunto la schermata di boot GRUB 2, spostare la selezione alla voce del menù corrispondente al kernel precedente e premere il tasto `enter`.
+
+Una volta che il sistema si è riavviato lo si può riparare.
+
+Se il sistema non si avvia, provare la **rescue mode** (vedere sopra).
+
+## Disinstallare il kernel danneggiato
+
+Il modo più facile per fare questo è disinstallare la versione del kernel che non funziona e poi reinstallarla.
+
+!!! Note
+
+````
+Non è possibile rimuovere un kernel in esecuzione.
+
+Per visualizzare la versione del kernel attualmente in esecuzione:
+
+```bash
+uname -r
+```
+````
+
+Per vedere la lista dei kernel installati:
+
+```bash
+dnf list installed kernel\* | sort -V
+```
+
+Tuttavia il seguente comando potrebbe essere più pratico visto che restituisce i pacchetti con diverse versioni installate:
+
+```bash
+dnf repoquery --installed --installonly
+```
+
+Per rimuovere un kernel specifico si può usare `dnf` specificando la versione del kernel che si ha recuperato prima:
+
+```bash
+dnf remove kernel-core-
+```
+
+Esempio:
+
+```bash
+dnf remove kernel-5.14.0-427.20.1.el9_4.x86_64
+```
+
+oppure utilizzare il comando `dnf repoquery`:
+
+```bash
+dnf remove $(dnf repoquery --installed --installonly --latest=1)
+```
+
+Ora si può aggiornare il sistema provando a reinstallare la versione più recente del kernel.
+
+```bash
+dnf update
+```
+
+Riavviare e vedere se il nuovo kernel funziona.
+
+## Modalità Rescue
+
+La modalità rescue corrisponde alla vecchia modalità a utente singolo.
+
+!!! Note
+
+```
+Per accedere alla modalità rescue, è necessario fornire la password di root.
+```
+
+Per accedere alla modalità rescue, il modo più semplice è selezionare la riga che inizia con `0-rescue-*` nel menu di grub.
+
+Un altro modo è quello di modificare una qualsiasi riga del menu di grub (premendo il tasto “e”) e aggiungere `systemd.unit=rescue.target` alla fine della riga che inizia con `linux` e poi premere `ctrl+x` per avviare il sistema in modalità rescue.
+
+!!! Note
+
+```
+A questo punto ci si trova in modalità qwerty.
+```
+
+È possibile riparare il sistema una volta che si è in modalità rescue e si è inserita la password di root.
+
+Per questo, potrebbe essere necessario configurare un indirizzo IP temporaneo usando `ip ad add ...` (vedere il capitolo sulla rete della nostra guida all'amministrazione).
+
+## Ultima possibilità: Modalità Rescue di Anaconda
+
+Se nessuno dei metodi sopra descritti funziona, è possibile avviare il sistema dalla ISO di installazione e ripararlo.
+
+La presente documentazione non tratta questo metodo.
+
+## Manutenzione di Sistema
+
+### Ripulire le vecchie versioni del kernel
+
+È possibile rimuovere i vecchi pacchetti del kernel installati, mantenendo solo l'ultima versione e la versione del kernel in esecuzione:
+
+```bash
+dnf remove --oldinstallonly
+```
+
+### Limitazione del numero di versioni del kernel installate
+
+È possibile limitare il numero di versioni del kernel modificando il file \`/etc/yum.conf' e impostando la variabile **installonly_limit**:
+
+```text
+installonly_limit=3
+```
+
+!!! Note
+
+```
+È necessario conservare sempre almeno l'ultima versione del kernel e una versione di backup.
+```
diff --git a/docs/guides/troubleshooting/kernel_panic.uk.md b/docs/guides/troubleshooting/kernel_panic.uk.md
index 768448b471..85278662bf 100644
--- a/docs/guides/troubleshooting/kernel_panic.uk.md
+++ b/docs/guides/troubleshooting/kernel_panic.uk.md
@@ -1,5 +1,5 @@
---
-title: Як впоратися з панікою ядра (kernel panic)
+title: Як впоратися з kernel panic
author: Antoine Le Morvan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 9.4
diff --git a/docs/guides/update_versions.it.md b/docs/guides/update_versions.it.md
new file mode 100644
index 0000000000..ad0544aad4
--- /dev/null
+++ b/docs/guides/update_versions.it.md
@@ -0,0 +1,191 @@
+---
+title: Aggiornamenti di versione supportati da Rocky
+author: Steven Spencer
+contributors: Ganna Zhyrnova
+---
+
+**OR** Come duplicare qualsiasi macchina Rocky.
+
+## Introduzione
+
+Fin dal primo giorno del progetto Rocky Linux, alcuni hanno chiesto: ==Come si fa ad aggiornare da CentOS 7 a Rocky 8, o da Rocky 8 a Rocky 9?== La risposta è sempre la stessa: **Il progetto non supporta gli aggiornamenti in-place di una major release a un'altra. È necessario reinstallare il sistema operativo per passare alla versione principale successiva.** Per essere chiari, questa **è** la risposta corretta. Questo documento consente agli utenti di passare da una major release alla successiva, utilizzando la procedura corretta supportata da Rocky per una nuova installazione. È possibile utilizzare questo metodo per ricostruire la stessa versione di Rocky Linux. Per esempio, installate 9.5 su una nuova 9.5 con tutti i pacchetti.
+
+!!! note "Avvertenze"
+
+```
+Anche con questa procedura, molte cose possono andare storte quando si passa da una versione precedente di un sistema operativo (OS) a una versione più recente dello stesso o di un altro OS. I programmi diventano obsoleti e vengono sostituiti dai manutentori con nomi di pacchetti completamente diversi, oppure i nomi non corrispondono da un sistema operativo all'altro. Inoltre, è bene conoscere i repository software della propria macchina e verificare che siano ancora funzionanti per il nuovo sistema operativo. Se si passa da una versione più vecchia a una più recente, assicurarsi che la CPU e gli altri requisiti della macchina corrispondano a quelli della nuova versione. Per queste e molte altre ragioni, è necessario essere prudenti e annotare eventuali errori o problemi durante l'esecuzione di questa procedura. L'autore ha utilizzato Rocky Linux 8 come vecchia versione e Rocky Linux 9 come nuova versione principale. La formulazione di tutti gli esempi utilizza queste due versioni. Potete sempre procedere a vostro rischio e pericolo.
+```
+
+## Sintesi degli step
+
+1. Ottenere un elenco di utenti dalla vecchia installazione (`userid.txt`).
+2. Ottenere un elenco di repository dalla vecchia installazione (`repolist.txt`).
+3. Ottenere un elenco dei pacchetti della vecchia installazione (`installed.txt`).
+4. Eseguire il backup di tutti i dati, la configurazione, le utilità e gli script della vecchia installazione in una posizione non volatile, insieme ai file \`.txt' creati.
+5. Verificare che l'hardware da installare supporti il sistema operativo che si sta installando. (CPU, memoria, spazio su disco e così via).
+6. Eseguire una nuova installazione del sistema operativo utilizzato sull'hardware.
+7. Eseguire un `dnf upgrade` per ottenere tutti i pacchetti che potrebbero essere stati aggiornati dopo la creazione del file ISO.
+8. Creare gli utenti necessari esaminando il file `userid.txt`.
+9. Installare tutti i repository mancanti che non sono legati a Rocky nel file `repolist.txt`. (Vedere le note per i repository EPEL e Code Ready Builder (CRB)).
+10. Installare i pacchetti seguendo la procedura per il file `installed.txt`.
+
+## Step dettagliati
+
+!!! info “Aggiornamenti della stessa versione”
+
+```
+Come discusso in precedenza, questa procedura dovrebbe funzionare altrettanto bene per duplicare l'installazione di una macchina con la stessa release del sistema operativo, ad esempio da 8.10 a 8.10 o da 9.5 a 9.5. La differenza è che non dovrebbe essere necessario `-skip-broken' quando si installano i pacchetti dal file `installed.txt'. Se si verificano errori nei pacchetti durante l'installazione di una versione, probabilmente manca un repository. Fermare la procedura e riesaminare il file `repolist.txt`. Gli esempi qui riportati utilizzano la 8.10 come vecchia installazione e la 9.5 come nuova.
+```
+
+!!! warning "Rocky 10 non era stata rilasciata"
+
+```
+A causa dei numerosi cambiamenti tra la versione 9.5 e la prossima versione 10, questa procedura **potrebbe non funzionare** per passare dalla 9.5 alla 10. L'esplorazione di questo aspetto avverrà quando ci sarà una release della 10 da testare.
+```
+
+### Esempio di una vecchia macchina
+
+La vecchia macchina utilizzata è Rocky Linux 8. L'installazione include diversi pacchetti del repository Extra Packages for Enterprise Linux (EPEL).
+
+!!! info "Code Ready Builder"
+
+````
+Il repository Code Ready Builder (CRB) in Rocky Linux 9 sostituisce la funzionalità del repository PowerTools, ormai deprecato, che esisteva nella versione 8. Se si passa da una versione 8 alla 9 in cui è presente EPEL, è necessario abilitare il CRB sulla nuova macchina con la seguente procedura:
+
+```bash
+sudo dnf config-manager --enable crb
+````
+
+#### Ottenere un elenco di utenti
+
+È necessario creare manualmente tutti gli utenti sul nuovo computer, quindi è necessario sapere quali account utente creare. Gli account utente partono generalmente dall'id utente 1000 e aumentano in seguito.
+
+```bash
+sudo getent passwd > userid.txt
+```
+
+#### Ottenere un elenco di repository
+
+È necessario un elenco dei repository esistenti sulla vecchia macchina:
+
+```bash
+sudo ls -al /etc/yum.repos.d/ > repolist.txt
+```
+
+#### Ottenere un elenco di pacchetti
+
+Generare l'elenco dei pacchetti con quanto segue:
+
+```bash
+sudo dnf list installed | awk 'NR>1 {print $1}' | sort -u > installed.txt
+```
+
+In questo caso, `NR>1` elimina il record uno dalla colonna, che ha la dicitura “Installato”, ottenuta dal comando `dnf list installed`. Non è un pacchetto, quindi non se ne ha bisogno. L'opzione `{print $1}` significa che si usa solo la prima colonna. Nell'elenco non è necessario indicare la versione del pacchetto o il repository da cui proviene.
+
+Non è necessario installare alcun pacchetto relativo al kernel. Se si tralascia questo passaggio, non fa niente installarli di nuovo. È possibile rimuovere le linee del kernel con:
+
+```bash
+sudo sed -i '/kernel/d' installed.txt
+```
+
+#### Backup di tutti i dati
+
+Questo può comprendere molte cose. Assicuratevi di conoscere lo scopo della macchina che state sostituendo e tutti i suoi componenti software (database, server di posta, DNS e altro). Se si ha dei dubbi, si faccia un backup.
+
+#### Copiare i file
+
+Copiare i file di testo creati in una posizione non volatile e tutti i dati di backup.
+
+### Esempio di nuova macchina
+
+La nuova installazione di Rocky Linux 9 è completa. È necessario ottenere tutti gli aggiornamenti dei pacchetti dalla creazione dell'immagine ISO:
+
+```bash
+sudo dnf upgrade
+```
+
+Ora si è pronti per iniziare a copiare i file di testo e i backup da dove sono stati memorizzati nella procedura precedente.
+
+#### Creare gli utenti
+
+Esaminare il file `userid.txt` e creare gli utenti necessari sulla nuova macchina.
+
+#### Installare i repository
+
+Esaminare il file `repolist.txt` e installare manualmente i repository necessari. È possibile ignorare i repository legati a Rocky. Ricordate che si hanno pacchetti da EPEL, quindi si avrà bisogno del repository CRB piuttosto che di PowerTools:
+
+```bash
+sudo dnf config-manager --enable crb
+```
+
+Installare l'EPEL:
+
+```bash
+sudo dnf install epel-release
+```
+
+Installare qualsiasi altro repository dal file `repolist.txt` che non sia basato su Rocky o EPEL.
+
+#### Installare i packages
+
+Una volta completata l'installazione dei repository, si provi a installare i pacchetti da `installed.txt`:
+
+```bash
+sudo dnf -y install $(cat installed.txt)
+```
+
+Alcuni pacchetti non esistono tra Rocky Linux 8 e Rocky Linux 9, indipendentemente dai repository abilitati. L'esecuzione di questo comando dà un'idea di quali siano questi pacchetti.
+
+Ecco cosa non si è installato sul computer di prova dell'autore (riorganizzato come una colonna anziché come una lunga stringa):
+
+```text
+Error: Unable to find a match:
+OpenEXR-libs.x86_64
+bind-export-libs.x86_64
+dhcp-libs.x86_64
+fontpackages-filesystem.noarch
+hardlink.x86_64
+ilmbase.x86_64
+libXxf86misc.x86_64
+libcroco.x86_64
+libmcpp.x86_64
+libreport-filesystem.x86_64
+mcpp.x86_64
+network-scripts.x86_64
+platform-python.x86_64
+platform-python-pip.noarch
+platform-python-setuptools.noarch
+xorg-x11-font-utils.x86_64
+```
+
+!!! note
+
+````
+Se si ha bisogno della funzionalità di questi pacchetti mancanti nella nuova installazione, salvarli in un file da usare in seguito. È possibile vedere lo stato di disponibilità dei pacchetti mancanti usando questo comando:
+
+```bash
+sudo dnf whatprovides [nome_pacchetto]
+```
+````
+
+Eseguire nuovamente il comando, ma questa volta con l'aggiunta di \`-skip-broken':
+
+```bash
+sudo dnf -y install $(cat installed.txt) --skip-broken
+```
+
+Poiché sono state apportate molte modifiche, è necessario riavviare prima di continuare.
+
+#### Ripristino dei backup
+
+Una volta installati tutti i pacchetti, ripristinare i backup, i file di configurazione modificati, gli script e le altre utilità di cui si è fatto il backup prima del trasferimento sulla nuova macchina.
+
+## Conclusione
+
+Non esiste una routine magica (supportata da Rocky Linux) per passare da una versione principale all'altra. Gli sviluppatori di Rocky Linux supportano solo una nuova installazione. La routine qui fornita consente di passare da una versione principale all'altra seguendo le migliori pratiche del team Rocky.
+
+Questa procedura presuppone un'installazione semplice. Tuttavia, se l'installazione è complessa, potrebbe essere necessario eseguire più passaggi. Questa procedura può essere utilizzata come guida.
+
+## Dichiarazione di non responsabilità
+
+Mentre il documento di base è dell'autore, due persone nel [Forum] (https://forums.rockylinux.org/t/boot-too-small-rebuild/17415) hanno suggerito un modo più pulito per generare il `installed.txt` e hanno eliminato i pacchetti del kernel. Grazie a tutti coloro che hanno fornito indicazioni su questa procedura.
diff --git a/docs/guides/virtualization/cockpit-machines.it.md b/docs/guides/virtualization/cockpit-machines.it.md
new file mode 100644
index 0000000000..e1aec4ba7b
--- /dev/null
+++ b/docs/guides/virtualization/cockpit-machines.it.md
@@ -0,0 +1,96 @@
+---
+title: Cockpit KVM Dashboard
+author: Neel Chauhan
+contributors: Ganna Zhrynova
+tested on: 9.3
+tags:
+ - virtualization
+---
+
+# Cockpit KVM dashboard
+
+## Introduzione
+
+Cockpit è uno strumento di amministrazione del server che fornisce un dashboard facile da usare per gestire il server. Una caratteristica di Cockpit è che con un pacchetto può gestire le macchine virtuali KVM da un'interfaccia web simile a quella di VMware ESXi o Proxmox.
+
+## Prerequisiti
+
+- Un server Rocky Linux con virtualizzazione hardware abilitata
+- Accesso ai repository `dnf` di Rocky Linux
+
+## Installazione di Cockpit
+
+Cockpit è disponibile di default in Rocky Linux. Tuttavia, il supporto KVM non viene installato immediatamente. Si installa tramite `dnf`:
+
+```bash
+dnf install -y cockpit-machines
+```
+
+Installare anche `libvirtd`:
+
+```bash
+dnf install -y libvirt
+```
+
+## Abilitare `cockpit`
+
+Per abilitare sia la virtualizzazione KVM che Cockpit, attivare i servizi `systemd`:
+
+```bash
+systemctl enable --now libvirtd cockpit.socket
+```
+
+Dopo aver abilitato `cockpit`, aprire un browser a **http://ip_address:9090** (nota: sostituire **ip_address** con l'indirizzo IP del proprio server):
+
+
+
+Effettuando il login come utente non root, si dovrebbe vedere una dashboard simile a quella mostrata qui:
+
+
+
+## Creazione di una macchina virtuale
+
+In questa guida, si configurerà una macchina virtuale Rocky Linux 9 su un host, utilizzando l'automazione per aggiungere un nome utente e una password di root.
+
+Per creare una macchina virtuale in Cockpit, fare clic sul pulsante blu **Turn on administrative access** e inserire la password, se necessario:
+
+
+
+Ora si è connessi come root in Cockpit. Nella barra laterale, fare clic su _Virtual Machines_\*:
+
+
+
+Quindi fare clic su **Create VM**:
+
+
+
+Nel menu a tendina **Operating system**, selezionare **Rocky Linux 9 (Blue Onyx)**:
+
+
+
+Quindi, fare clic su **Automation** e inserire i dati di accesso desiderati per la nuova macchina virtuale:
+
+
+
+Infine, selezionare **Create and run**.
+
+In pochi minuti, selezionando la macchina virtuale appena creata, si otterrà il suo indirizzo IP:
+
+
+
+SSH nell'hypervisor e SSH nell'indirizzo IP di Cockpit. In questo esempio, è **172.20.0.103**. Verrà effettuato l'accesso al nuovo server:
+
+
+
+## Limitazioni
+
+Sebbene Cockpit sia ottimo per la creazione e la gestione di macchine virtuali, ci sono alcune limitazioni da tenere presenti:
+
+- Non è possibile creare un'bridge interface.
+- Non è possibile creare una nuova immagine in nessun pool di archiviazione, ma solo in quello `default`.
+
+Fortunatamente, è possibile crearli alla riga di comando e Cockpit può utilizzarli.
+
+## Conclusione
+
+Cockpit è uno strumento prezioso per gestire un server Rocky Linux tramite un'interfaccia web. È personalmente lo strumento preferito dall'autore per la creazione di macchine virtuali nel proprio laboratorio domestico. Sebbene `cockpit-machines` non sia così completo come ESXi o Proxmox, è in grado di svolgere il lavoro per il 90% dei casi di utilizzo dell'hypervisor.
diff --git a/docs/guides/virtualization/libvirt-rocky.fr.md b/docs/guides/virtualization/libvirt-rocky.fr.md
index 271a0bb3b8..a8bce8a440 100644
--- a/docs/guides/virtualization/libvirt-rocky.fr.md
+++ b/docs/guides/virtualization/libvirt-rocky.fr.md
@@ -78,7 +78,7 @@ sudo nmcli connection delete
Assurez-vous d'avoir un accès direct à la machine. Si vous configurez la machine via SSH, la connexion sera interrompue après la suppression de la connexion à l'interface principale.
```
-- Créer la nouvelle connexion de pont :
+- Créez la nouvelle connexion de pont :
```bash
sudo nmcli connection add type bridge autoconnect yes con-name ifname
@@ -102,13 +102,13 @@ sudo nmcli connection modify ipv4.gateway
sudo nmcli connection modify ipv4.dns
```
-- Ajoutez la connexion esclave du pont :
+- Ajoutez la connexion de pont esclave :
```bash
sudo nmcli connection add type bridge-slave autoconnect yes con-name ifname master
```
-- Démarrer la connexion du pont :
+- Démarrez la connexion de pont :
```bash
sudo nmcli connection up
diff --git a/docs/guides/virtualization/libvirt-rocky.it.md b/docs/guides/virtualization/libvirt-rocky.it.md
new file mode 100644
index 0000000000..03b49c6525
--- /dev/null
+++ b/docs/guides/virtualization/libvirt-rocky.it.md
@@ -0,0 +1,173 @@
+---
+title: Configurazione di libvirt su Rocky Linux
+author: Howard Van Der Wal
+contributors: Steven Spencer
+tested with: 9.5
+tags:
+ - libvirt
+ - kvm
+ - virtualization
+---
+
+## Introduzione
+
+[libvirt](https://libvirt.org/) è un'incredibile API di virtualizzazione che consente la virtualizzazione di quasi tutti i sistemi operativi di vostra scelta con la potenza di KVM come hypervisor e QEMU come emulatore.
+
+Questo documento fornisce le istruzioni per l'impostazione di libvirt su Rocky Linux 9.
+
+## Prerequisiti
+
+- Una macchina a 64 bit con Rocky Linux 9.
+- Assicuratevi di aver abilitato la virtualizzazione nelle impostazioni del BIOS. Se il comando seguente restituisce un risultato, significa che l'abilitazione della virtualizzazione è stata completata:
+
+```bash
+sudo grep -e 'vmx' /proc/cpuinfo
+```
+
+## Configurazione del repository e installazione dei pacchetti
+
+- Attivare il repository EPEL (Extra Packages for Enterprise Linux):
+
+```bash
+sudo dnf install -y epel-release
+```
+
+- Installare i pacchetti necessari per `libvirt` (opzionalmente per `virt-manager` se si vuole usare una GUI per gestire le macchine virtuali):
+
+```bash
+sudo dnf install -y bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer qemu-kvm libvirt virt-manager virt-install
+```
+
+## Configurazione utente libvirt
+
+- Aggiungere il proprio utente al gruppo `libvirt`. Ciò consente di gestire le macchine virtuali e di utilizzare comandi come `virt-install` come utente non root:
+
+```bash
+sudo usermod -aG libvirt $USER
+```
+
+- Attivare il gruppo `libvirt` utilizzando il comando `newgrp`:
+
+```bash
+sudo newgrp libvirt
+```
+
+- Abilitare e avviare il servizio `libvirtd`:
+
+```bash
+sudo systemctl enable --now libvirtd
+```
+
+## Configurazione dell'interfaccia bridge per l'accesso diretto alle macchine virtuali
+
+- Controllare le interfacce attualmente in uso e annotare l'interfaccia principale con connessione a Internet:
+
+```bash
+sudo nmcli connection show
+```
+
+- Eliminare l'interfaccia collegata a Internet e tutte le connessioni virtual bridge attualmente presenti:
+
+```bash
+sudo nmcli connection delete
+```
+
+!!! warning
+
+```
+Assicurarsi di avere accesso diretto alla macchina. Se si configura la macchina tramite SSH, la connessione verrà interrotta dopo aver eliminato la connessione all'interfaccia principale.
+```
+
+- Creare la nuova connessione bridge:
+
+```bash
+sudo nmcli connection add type bridge autoconnect yes con-name ifname
+```
+
+- Assegnare un indirizzo IP statico:
+
+```bash
+sudo nmcli connection modify ipv4.addresses ipv4.method manual
+```
+
+- Assegnare un indirizzo gateway:
+
+```bash
+sudo nmcli connection modify ipv4.gateway
+```
+
+- Assegnare l'indirizzo DNS:
+
+```bash
+sudo nmcli connection modify ipv4.dns
+```
+
+- Aggiungere la connessione bridge slave:
+
+```bash
+sudo nmcli connection add type bridge-slave autoconnect yes con-name ifname master
+```
+
+- Avviare la connessione bridge:
+
+```bash
+sudo nmcli connection up
+```
+
+- Aggiungere la riga `allow all` a `bridge.conf`:
+
+```bash
+sudo tee -a /etc/qemu-kvm/bridge.conf <
+```
+
+- Per forzare lo spegnimento di una macchina virtuale che non risponde, utilizzare il comando `destroy`:
+
+```bash
+virsh destroy --domain
+```
+
+## Come cancellare una VM
+
+- Utilizzare il comando `undefine`:
+
+```bash
+virsh undefine --domain --nvram
+```
+
+- Per ulteriori comandi `virsh`, consultare le pagine `virsh` `man`.
+
+## Conclusione
+
+- libvirt offre molte possibilità e permette di installare e gestire le macchine virtuali con facilità. Se si hanno ulteriori integrazioni o modifiche a questo documento che si desidera condividere, l'autore vi invita a farlo.
diff --git a/docs/guides/virtualization/vbox-rocky.it.md b/docs/guides/virtualization/vbox-rocky.it.md
index 700d1c9807..007e1fc74b 100644
--- a/docs/guides/virtualization/vbox-rocky.it.md
+++ b/docs/guides/virtualization/vbox-rocky.it.md
@@ -35,12 +35,12 @@ Una volta che avete VirtualBox® installato, il passo successivo è quello di
Per prima cosa, è necessario indicare a VirtualBox® quale sarà il vostro sistema operativo:
- * Clicca su "New" (icona a forma di dente di sega).
- * Digita un nome. Esempio: "Rocky Linux 8.5".
- * Lasciare la cartella della macchina come riempita automaticamente.
- * Cambia il tipo in "Linux".
- * E scegli "Red Hat (64-bit)".
- * Clicca "Next".
+* Clicca su "New" (icona a forma di dente di sega).
+* Digita un nome. Esempio: "Rocky Linux 8.5".
+* Lasciare la cartella della macchina come riempita automaticamente.
+* Cambia il tipo in "Linux".
+* E scegli "Red Hat (64-bit)".
+* Clicca "Next".

@@ -52,13 +52,13 @@ Non c'è una schermata per questo, basta modificare il valore in base alla memor

-* Cliccare su "Create"
+* Cliccare su ++"Create"++
Si aprirà una finestra di dialogo per la creazione di vari tipi di disco rigido virtuale. Sono presenti diversi tipi di disco rigido. Per [ulteriori informazioni](https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vdidetails.html) sulla selezione dei tipi di disco rigido virtuale, consultare la documentazione di Oracle VirtualBox. Per questo documento, mantenere il valore predefinito (VDI):

-* Clicca Su "Next"
+* Cliccare ++"Next"++
La prossima schermata riguarda la memorizzazione sul disco rigido fisico. Esistono due opzioni. La " Fixed Size" sarà più lenta da creare, più veloce da usare, ma meno flessibile in termini di spazio (se si ha bisogno di più spazio, non si può crescere oltre quello creato).
@@ -66,13 +66,13 @@ L'opzione predefinita, " Dynamically Allocated", è più veloce da creare e più

-* Clicca Su "Next"
+* Cliccare ++"Next"++
VirtualBox® offre ora la possibilità di specificare dove si desidera che si trovi il file del disco rigido virtuale. È presente anche un'opzione per espandere lo spazio predefinito di 8 GB del disco rigido virtuale. Questa opzione è utile, perché 8 GB di spazio sul disco rigido non sono sufficienti per installare le opzioni di installazione dell'interfaccia grafica, tanto meno per utilizzarle. Impostate questo valore a 20 GB (o più), a seconda dell'uso che volete fare della macchina virtuale e dello spazio disponibile su disco:

-* Cliccare su "Create"
+* Cliccare su ++"Create"++
La configurazione di base è terminata. Si otterrà una schermata che assomiglia a questa:
@@ -101,7 +101,7 @@ L'immagine ISO di Rocky Linux appare ora selezionata sotto "Controller:IDE" nell

-* Clicca "OK"
+* Cliccare ++"OK"++
### Memoria video per installazioni grafiche
@@ -127,7 +127,7 @@ Lo schermo dovrebbe avere un aspetto simile a questo:

-* Clicca "OK"
+* Cliccare ++"OK"++
## Avvio dell'installazione
diff --git a/docs/guides/virtualization/vbox-rocky.uk.md b/docs/guides/virtualization/vbox-rocky.uk.md
index c654ebad15..8355befa58 100644
--- a/docs/guides/virtualization/vbox-rocky.uk.md
+++ b/docs/guides/virtualization/vbox-rocky.uk.md
@@ -119,7 +119,7 @@ VirtualBox® встановлює 16 МБ пам’яті для викори
* На вкладці «Екран» з правого боку ви помітите опцію «Відеопам’ять» із значенням за замовчуванням 16 МБ.
* Змініть це значення на потрібне. Ви можете змінити це значення вгору, повернувшись на цей екран будь-коли. У цьому прикладі це 128 МБ.
-!!! tip "Порада"
+!!! Tip "Порада"
Є способи встановити відеопам'ять до 256 Мб. Якщо вам потрібно більше, перегляньте [цей документ](https://docs.oracle.com/en/virtualization/virtualbox/6.0/user/vboxmanage-modifyvm.html) з офіційної документації Oracle.
diff --git a/docs/guides/virtualization/vmware_tools.fr.md b/docs/guides/virtualization/vmware_tools.fr.md
index dddc4e374f..68221e269c 100644
--- a/docs/guides/virtualization/vmware_tools.fr.md
+++ b/docs/guides/virtualization/vmware_tools.fr.md
@@ -1,5 +1,5 @@
---
-title: Installation de VMware Tools™
+title: VMware Tools™ — Installation
author: Emre Çamalan
contributors: Steven Spencer, Ganna Zhyrnova
tested_with: 8.9, 9.3
@@ -154,7 +154,7 @@ sudo su
!!! warning "Avertissement"
```
-Be careful changing the default init script directory which should be `/etc/init.d/`.
+Faites attention lorsque vous modifiez le répertoire de script d'initialisation par défaut qui devrait être `/etc/init.d/`.
>What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
>[/etc] /etc/init.d
diff --git a/docs/guides/virtualization/vmware_tools.it.md b/docs/guides/virtualization/vmware_tools.it.md
new file mode 100644
index 0000000000..ee151884a7
--- /dev/null
+++ b/docs/guides/virtualization/vmware_tools.it.md
@@ -0,0 +1,379 @@
+---
+title: Installazione VMware Tools™
+author: Emre Camalan
+contributors: Steven Spencer, Ganna Zhyrnova
+tested_with: 8.9, 9.3
+tags:
+ - VMware
+ - Tools
+---
+
+# Installazione VMware Tools™
+
+VMware Tools™ è una suite di utility che migliora le prestazioni e la gestione delle macchine virtuali (VM) in esecuzione su piattaforme di virtualizzazione VMware come VMware vSphere, VMware Workstation e VMware Fusion. I VMware Tools™ migliorano l'interazione tra il sistema operativo guest e l'ambiente host.
+
+## Prerequisiti e presupposti
+
+- desiderio di gestire le istanze VMware con VMware Tools™
+- la possibilità di aumentare i privilegi con `sudo`
+- si presume che si parta da un'installazione minimale di Rocky Linux.
+
+## Installazione dei pacchetti necessari
+
+Installare il driver X11 VMware:
+
+```bash
+sudo dnf install xorg-x11-drv-vmware
+```
+
+Installare kernel-devel e kernel-headers:
+
+```bash
+sudo dnf install kernel-devel kernel-headers
+```
+
+Installare `perl` se non è già installato:
+
+```bash
+sudo dnf install perl
+```
+
+Riavviare il sistema:
+
+```bash
+sudo shutdown -r now
+```
+
+## Mounting VMware Tools™
+
+### Montare VMware Tools™ nell'interfaccia grafica
+
+Fare clic con il tasto destro del mouse su VM nel menu della macchina virtuale, quindi fare clic su Guest > Install/Upgrade VMware Tools™.
+
+> VM Tab => Select Install VMware Tools
+
+Montaggio del CD-ROM di VMware Tools completato.
+
+### Montaggio di VMware Tools™ da riga di comando
+
+Creare un mount point per VMware Tools™ e montarlo:
+
+```bash
+sudo mkdir /mnt/cdrom
+sudo mount /dev/cdrom /mnt/cdrom
+mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.
+```
+
+Controllare se \`/dev/cdrom' è montato o meno:
+
+```bash
+sudo df -h
+Filesystem Size Used Avail Use% Mounted on
+devtmpfs 4.0M 0 4.0M 0% /dev
+tmpfs 1.8G 0 1.8G 0% /dev/shm
+tmpfs 724M 9.3M 715M 2% /run
+/dev/mapper/rl-root 37G 3.5G 34G 10% /
+/dev/nvme0n1p1 960M 342M 619M 36% /boot
+/dev/mapper/rl-home 19G 163M 18G 1% /home
+tmpfs 362M 84K 362M 1% /run/user/1001
+/dev/sr0 56M 56M 0 100% /mnt/CDROM
+[root@localhost ecamalan]# cd /mnt/cdrom/
+[root@localhost cdrom]# ls
+manifest.txt run_upgrader.sh VMwareTools-10.3.23-16594550.tar.gz vmware-tools-upgrader-32 vmware-tools-upgrader-64
+```
+
+## Installare VMWare Tools™
+
+Copiare il file gzip di VMware Tools™ nella directory locale `/tmp` con questo comando:
+
+```bash
+cp /mnt/cdrom/VMwareTools-10.3.23-16594550.tar.gz /tmp/
+```
+
+Estrarre il file `tar.gz` in una nuova directory chiamata `/tmp/vmware-tools-distrib`:
+
+```bash
+[root@localhost cdrom]# cd /tmp/
+[root@localhost tmp]# tar -zxvf VMwareTools-10.3.23-16594550.tar.gz vmware-tools-distrib/
+vmware-tools-distrib/
+vmware-tools-distrib/bin/
+vmware-tools-distrib/bin/vm-support
+vmware-tools-distrib/bin/vmware-config-tools.pl
+vmware-tools-distrib/bin/vmware-uninstall-tools.pl
+vmware-tools-distrib/vgauth/
+vmware-tools-distrib/vgauth/schemas/
+vmware-tools-distrib/vgauth/schemas/xmldsig-core-schema.xsd
+vmware-tools-distrib/vgauth/schemas/XMLSchema.xsd
+vmware-tools-distrib/vgauth/schemas/saml-schema-assertion-2.0.xsd
+vmware-tools-distrib/vgauth/schemas/catalog.xml
+vmware-tools-distrib/vgauth/schemas/XMLSchema.dtd
+vmware-tools-distrib/vgauth/schemas/xml.xsd
+vmware-tools-distrib/vgauth/schemas/xenc-schema.xsd
+vmware-tools-distrib/vgauth/schemas/datatypes.dtd
+vmware-tools-distrib/vgauth/schemas/XMLSchema-instance.xsd
+vmware-tools-distrib/vgauth/schemas/XMLSchema-hasFacetAndProperty.xsd
+vmware-tools-distrib/caf/
+
+... (some packages not shown)
+
+vmware-tools-distrib/lib/plugins64/common/
+vmware-tools-distrib/lib/plugins64/common/libvix.so
+vmware-tools-distrib/lib/plugins64/common/libhgfsServer.so
+vmware-tools-distrib/doc/
+vmware-tools-distrib/doc/INSTALL
+vmware-tools-distrib/doc/open_source_licenses.txt
+vmware-tools-distrib/doc/README
+vmware-tools-distrib/vmware-install.pl
+```
+
+!!! Warning
+
+````
+Prima di iniziare, è necessario verificare se la directory `/etc/init.d` esiste o meno.
+In caso contrario, potrebbe apparire il seguente errore:
+
+>What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
+
+Soluzione:
+
+```bash
+sudo su
+[root@localhost etc]# clear
+[root@localhost etc]# cd /etc/
+[root@localhost etc]# mkdir init.d
+[root@localhost etc]# cd init.d
+[root@localhost etc]# for i in {0,1,2,3,4,5,6}
+> do
+> mkdir rc$i.d
+> done
+[root@localhost etc]# cd /tmp/vmware-tools-distrib/
+[root@localhost vmware-tools-distrib]# ./vmware-install.pl
+```
+````
+
+!!! Warning
+
+```
+Fare attenzione a cambiare la directory predefinita degli script di init, che dovrebbe essere `/etc/init.d/`.
+
+>Qual è la directory che contiene le directory di init (da rc0.d/ a rc6.d/)?
+>[/etc] /etc/init.d
+
+>INPUT: [/etc/init.d]
+
+>Il percorso “/etc/init.d” è una directory che non contiene una directory rc0.d.
+
+
+>Qual è la directory che contiene le directory di init (da rc0.d/ a rc6.d/)?
+>**[/etc] /etc/init.d/**
+
+>INPUT: [/etc/init.d/]
+
+>Qual è la directory che contiene gli script di avvio?
+>[/etc/init.d]
+
+>INPUT: [/etc/init.d] default
+```
+
+Per eseguire lo script PERL, spostarsi nella directory vmware-tools-distrib ed eseguire `vmware-install.pl`:
+
+```bash
+sudo cd /tmp/vmware-tools-distrib/
+sudo ./vmware-install.pl
+
+A previous installation of VMware Tools has been detected.
+
+The previous installation was made by the tar installer (version 4).
+
+Keeping the tar4 installer database format.
+
+You have a version of VMware Tools installed. Continuing this install will
+first uninstall the currently installed version. Do you wish to continue?
+(yes/no) [yes]
+
+INPUT: [yes] default
+
+Uninstalling the tar installation of VMware Tools™.
+
+Can't exec "/etc/vmware-caf/pme/install/preupgrade.sh": No such file or directory at /usr/bin/vmware-uninstall-tools.pl line 4421.
+The removal of VMware Tools 10.3.23 build-16594550 for Linux completed
+successfully.
+
+Installing VMware Tools™.
+
+In which directory do you want to install the binary files?
+[/usr/bin]
+
+INPUT: [/usr/bin] default
+
+What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
+[/etc]
+
+INPUT: [/etc] default
+
+What is the directory that contains the init scripts?
+[/etc/init.d]
+
+INPUT: [/etc/init.d] default
+
+In which directory do you want to install the daemon files?
+[/usr/sbin]
+
+INPUT: [/usr/sbin] default
+
+In which directory do you want to install the library files?
+[/usr/lib/vmware-tools]
+
+INPUT: [/usr/lib/vmware-tools] default
+
+The path "/usr/lib/vmware-tools" does not exist currently. This program is
+going to create it, including needed parent directories. Is this what you want?
+[yes]
+
+INPUT: [yes] default
+
+In which directory do you want to install the common agent library files?
+[/usr/lib]
+
+INPUT: [/usr/lib] default
+
+In which directory do you want to install the common agent transient files?
+[/var/lib]
+
+INPUT: [/var/lib] default
+
+In which directory do you want to install the documentation files?
+[/usr/share/doc/vmware-tools]
+
+INPUT: [/usr/share/doc/vmware-tools] default
+
+The path "/usr/share/doc/vmware-tools" does not exist currently. This program
+is going to create it, including needed parent directories. Is this what you
+want? [yes]
+
+INPUT: [yes] default
+
+The installation of VMware Tools 10.3.23 build-16594550 for Linux completed
+successfully. You can decide to remove this software from your system at any
+time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
+
+Before running VMware Tools for the first time, you need to configure it by
+invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
+this program to invoke the command for you now? [yes]
+
+INPUT: [yes] default
+
+Initializing...
+
+
+Making sure services for VMware Tools are stopped.
+
+Failed to stop vmware-tools.service: Unit vmware-tools.service not loaded.
+Stopping VMware Tools services in the virtual machine:
+ Guest operating system daemon: done
+ VMware User Agent (vmware-user): done
+ Unmounting HGFS shares: done
+ Guest filesystem driver: done
+
+
+sh: line 1: : command not found
+The installation status of vmsync could not be determined.
+Skippinginstallation.
+
+The installation status of vmci could not be determined. Skippinginstallation.
+
+The installation status of vsock could not be determined. Skippinginstallation.
+
+
+The installation status of vmxnet3 could not be determined.
+Skippinginstallation.
+
+The installation status of pvscsi could not be determined.
+Skippinginstallation.
+
+The installation status of vmmemctl could not be determined.
+Skippinginstallation.
+
+The VMware Host-Guest Filesystem allows for shared folders between the host OS
+and the guest OS in a Fusion or Workstation virtual environment. Do you wish
+to enable this feature? [yes]
+
+INPUT: [yes] default
+
+The vmxnet driver is no longer supported on kernels 3.3 and greater. Please
+upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)
+
+The vmblock enables dragging or copying files between host and guest in a
+Fusion or Workstation virtual environment. Do you wish to enable this feature?
+[yes]
+
+INPUT: [yes] default
+
+
+Skipping configuring automatic kernel modules as no drivers were installed by
+this installer.
+
+Do you want to enable Guest Authentication (vgauth)? Enabling vgauth is needed
+if you want to enable Common Agent (caf). [yes]
+
+INPUT: [yes] default
+
+Do you want to enable Common Agent (caf)? [no]
+
+INPUT: [no] default
+
+
+
+Detected X server version 1.20.11
+
+
+
+Distribution provided drivers for Xorg X server are used.
+
+Skipping X configuration because X drivers are not included.
+
+
+Skipping rebuilding initrd boot image for kernel as no drivers to be included
+in boot image were installed by this installer.
+
+Generating the key and certificate files.
+Successfully generated the key and certificate files.
+Failed to start vmware-tools.service: Unit vmware-tools.service not found.
+Unable to start services for VMware Tools
+
+Execution aborted.
+
+Warning no default label for /tmp/vmware-block-restore-5339.0/tmp_file
+Enjoy,
+
+--the VMware team
+```
+
+Se si utilizza l'interfaccia grafica, è necessario riavviare il sistema:
+
+```bash
+sudo shutdown -r now
+```
+
+## Controllare l'installazione VMware
+
+```bash
+ sudo /etc/init.d/vmware-tools start
+ Checking acpi hot plug done
+ Starting VMware Tools services in the virtual machine:
+ Switching to guest configuration: done
+ Guest filesystem driver: done
+ Mounting HGFS shares: done
+ Blocking file system: done
+ Guest operating system daemon: done
+ VGAuthService:
+```
+
+```bash
+ sudo /etc/init.d/vmware-tools status
+ vmtoolsd is running
+```
+
+## Conclusione
+
+Abbiamo iniziato con un'installazione minimale di Rocky Linux, che ha portato a molte carenze ed errori lungo il percorso. Nonostante ciò, siamo riusciti a installare ed eseguire VMware Tools™, anche se con qualche difficoltà.
diff --git a/docs/guides/web/apache-sites-enabled.it.md b/docs/guides/web/apache-sites-enabled.it.md
index 26f87c606a..21977f542e 100644
--- a/docs/guides/web/apache-sites-enabled.it.md
+++ b/docs/guides/web/apache-sites-enabled.it.md
@@ -207,7 +207,7 @@ Successivamente, è necessario definire la parte `https` del file di configurazi
ServerAdmin username@rockylinux.org
Redirect / https://your-server-hostname/
-
+
ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/your-server-hostname/html
@@ -240,6 +240,10 @@ Successivamente, è necessario definire la parte `https` del file di configurazi
```
+!!! warning “Una nota sulle suite di cifratura”
+
+ Questo documento è stato originariamente scritto per Rocky Linux 8. Da allora sono cambiate **molte cose**. Per prima cosa, si potrebbero tralasciare completamente le linee `SSLHonorCipherOrder on` e `SSLCipherSuite` e lasciare che sia la configurazione predefinita del server ad occuparsene. Se si mantiene un server aggiornato (in altre parole, si esegue `dnf upgrade` di routine), questo dovrebbe gestire la sicurezza e l'aggiornamento delle suite di cifratura senza una gestione separata della configurazione. In questo modo, si eviterà di utilizzare suite di cifratura critiche o pericolose nella propria configurazione. Se per qualche motivo si ha bisogno di modificare questi elementi nella vostra configurazione, cercate attentamente le voci da inserire.
+
Perciò, dopo le normali porzioni di configurazione, si passa alla sezione SSL/TLS:
* SSLEngine on - dice di utilizzare SSL/TLS
@@ -252,7 +256,7 @@ Se all'avvio del servizio web non si riscontrano errori e se il sito web risulta
## Portare tutto live
-Remember that our *httpd.conf* file is including */etc/httpd/sites-enabled* at the end of the file. Quando `httpd` si riavvia, caricherà i file di configurazione presenti nella cartella *sites-enabled*. Il fatto è che tutti i nostri file di configurazione sono in *sites-available*.
+Ricordate che il nostro file *httpd.conf* include */etc/httpd/sites-enabled* alla fine del file. Quando `httpd` si riavvia, caricherà i file di configurazione presenti nella cartella *sites-enabled*. Il fatto è che tutti i nostri file di configurazione sono in *sites-available*.
Questo è stato progettato in modo da poter rimuovere le cose quando o se `httpd` non si riavvia. Per abilitare il nostro file di configurazione, è necessario creare un collegamento simbolico a tale file in *sites-enabled* e avviare o riavviare il servizio web. Per farlo, si utilizza questo comando:
@@ -262,4 +266,4 @@ ln -s /etc/httpd/sites-available/your-server-hostname /etc/httpd/sites-enabled/
Questo creerà il collegamento al file di configurazione in *sites-enabled*.
-Ora basta avviare `httpd` con `systemctl start httpd`. Oppure riavviatelo se è già in funzione: `systemctl restart httpd`, e supponendo che il servizio web si riavvii, ora si può andare a fare qualche test sul proprio sito.
+Ora basta avviare `httpd` con `systemctl start httpd`. Oppure riavviatelo se è già in funzione: `systemctl restart httpd`, e supponendo che il servizio web si riavvii, potete ora andare a fare qualche test sul vostro sito.
diff --git a/docs/guides/web/apache-sites-enabled.md b/docs/guides/web/apache-sites-enabled.md
index 43afdfff6c..e41d0b849e 100644
--- a/docs/guides/web/apache-sites-enabled.md
+++ b/docs/guides/web/apache-sites-enabled.md
@@ -207,7 +207,7 @@ Next, you need to define the `https` part of the configuration file:
ServerAdmin username@rockylinux.org
Redirect / https://your-server-hostname/
-
+
ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/your-server-hostname/html
@@ -240,6 +240,10 @@ Next, you need to define the `https` part of the configuration file:
```
+!!! warning "A note on cipher suites"
+
+ This document was originally written for Rocky Linux 8. A **great deal** has changed since then. For one thing, you might want to leave out the `SSLHonorCipherOrder on` and `SSLCipherSuite` lines completely and let the server's default configuration pick that up. If you maintain an updated server (in other words, you run `dnf upgrade` routinely), then this should handle the security and update of the cipher suites without separate configuration manipulation. In this way, you will avoid using deprecated or dangerous cipher suites in your configuration. If for some reason you **need** to manipulate these in your configuration, research your entries carefully.
+
So, breaking down this configuration further, after the normal portions of the configuration and down to the SSL/TLS section:
* SSLEngine on - says to use SSL/TLS
diff --git a/docs/guides/web/apache-sites-enabled.uk.md b/docs/guides/web/apache-sites-enabled.uk.md
index 197c99f7a6..dcb5e4aa73 100644
--- a/docs/guides/web/apache-sites-enabled.uk.md
+++ b/docs/guides/web/apache-sites-enabled.uk.md
@@ -197,7 +197,7 @@ cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
Далі вам потрібно визначити частину `https` файлу конфігурації:
-!!! info
+!!! info "Інформація"
Починаючи з Apache 2.4.8, директива `SSLCertificateChainFile` застаріла. Розширення директиви `SSLCertificateFile` включає сертифікат CA постачальника.
@@ -207,7 +207,7 @@ cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
ServerAdmin username@rockylinux.org
Redirect / https://your-server-hostname/
-
+
ServerName your-server-hostname
ServerAdmin username@rockylinux.org
DocumentRoot /var/www/sub-domains/your-server-hostname/html
@@ -240,6 +240,10 @@ cp /root/com.wiki.www.crt /var/www/sub-domains/your-server-hostname/ssl/ssl.crt/
```
+!!! warning "Примітка щодо наборів шифрів"
+
+ Цей документ був спочатку написаний для Rocky Linux 8. З того часу **багато що** змінилося. По-перше, ви можете повністю виключити рядки `SSLHonorCipherOrder on` і `SSLCipherSuite` і дозволити серверу вибрати їх за замовчуванням. Якщо ви підтримуєте оновлений сервер (іншими словами, ви регулярно виконуєте команду `dnf upgrade`), то це повинно забезпечити безпеку та оновлення наборів шифрів без окремого втручання в конфігурацію. Таким чином, ви уникнете використання застарілих або небезпечних наборів шифрів у вашій конфігурації. Якщо з якихось причин вам **необхідно** змінити ці параметри у вашій конфігурації, ретельно вивчіть свої записи.
+
Отже, розбиваючи цю конфігурацію далі, після звичайних частин конфігурації та вниз до розділу SSL/TLS:
* SSLEngine on - каже використовувати SSL/TLS
diff --git a/docs/guides/web/apache_hardened_webserver/modsecurity.md b/docs/guides/web/apache_hardened_webserver/modsecurity.md
index dfe03cd918..27a445b67c 100644
--- a/docs/guides/web/apache_hardened_webserver/modsecurity.md
+++ b/docs/guides/web/apache_hardened_webserver/modsecurity.md
@@ -10,7 +10,9 @@ tags:
- nginx
---
-# Web-based application firewall (WAF)
+!!! Note "Not yet tested"
+
+ This procedure may work as is. Testing on 10 is incomplete as of September 22, 2025. If you use it and find problems, please let us know.
## Prerequisites
@@ -26,12 +28,22 @@ tags:
If you want to use this and other hardening tools, refer back to the [Apache Hardened Web Server guide](index.md). This document also uses all of the assumptions and conventions outlined in that original document. It is a good idea to review it before continuing.
-One thing missing with `mod_security` when installed from the generic Rocky Linux repositories, is that the rules installed are minimal. To get a more extensive package of no cost `mod_security` rules, this procedure uses [OWASP `mod_security` rules found here](https://coreruleset.org/). OWASP stands for the Open Web Application Security Project. You can [find out more about OWASP here](https://owasp.org/).
+One thing missing with `mod_security` when installed from the Atomicorp repository, is that the rules installed are minimal. To get a more extensive package of no cost `mod_security` rules, this procedure uses [OWASP `mod_security` rules found here](https://coreruleset.org/). OWASP stands for the Open Web Application Security Project. You can [find out more about OWASP here](https://owasp.org/).
!!! tip
As stated, this procedure uses the OWASP `mod_security` rules. What is not used is the configuration provided by that site. That site also provides great tutorials on using `mod_security` and other security-related tools. The document you are working through mow does nothing but help you install the tools and rules needed for hardening with `mod_security` on a Rocky Linux web server. Netnea is a team of technical professionals that provides security courses on their website. Much of this content is available at no cost, but they *do* have options for in-house or group training.
+## Additional repository
+
+To install `mod_security` you will need the Atomicorp repository (atomic.repo). Do that with this line and answer yes to all the defaults:
+
+```bash
+wget -q -O - https://www.atomicorp.com/installers/atomic | sh
+```
+
+Run `dnf upgrade` to read in all the changes.
+
## Installing `mod_security`
To install the base package, use this command. It will install any missing dependencies. You also need `wget` if you do not have it installed:
diff --git a/docs/guides/web/apache_hardened_webserver/rkhunter.md b/docs/guides/web/apache_hardened_webserver/rkhunter.md
index 2093677a24..0a31ddf673 100644
--- a/docs/guides/web/apache_hardened_webserver/rkhunter.md
+++ b/docs/guides/web/apache_hardened_webserver/rkhunter.md
@@ -9,7 +9,9 @@ tags:
- rkhunter
---
-# Rootkit Hunter
+!!! Warning "`rkhunter` appears to be dead"
+
+ This issue requires a little more testing, but it appears that `rkhunter` ceased to exist as a project in 2024. The probability of the package being built for 10 is unlikely. This procedure does not work, and will likely be removed allong with all of its references, soon.
## Introduction
diff --git a/docs/guides/web/caddy.it.md b/docs/guides/web/caddy.it.md
index c68484db28..e19185ed3f 100644
--- a/docs/guides/web/caddy.it.md
+++ b/docs/guides/web/caddy.it.md
@@ -154,7 +154,7 @@ Dovrebbe avere un lucchetto SSL che dovrebbe funzionare in ogni browser moderno,
Come accennato in precedenza, Caddy supporta il supporto FastCGI per PHP. La buona notizia è che, a differenza di Apache e Nginx, Caddy gestisce automaticamente le estensioni dei file PHP.
-Per installare PHP, aggiungere prima il repository Remi (nota: se si utilizza Rocky Linux 8.x, si deve sostituire 8 dopo "release-"):
+Per installare PHP, aggiungere prima il repository Remi (nota: se si utilizza Rocky Linux 8.x o 10.x, sostituire 8 o 10 con "release-"):
```bash
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
diff --git a/docs/guides/web/caddy.md b/docs/guides/web/caddy.md
index d01bc27065..1dd757917b 100644
--- a/docs/guides/web/caddy.md
+++ b/docs/guides/web/caddy.md
@@ -7,7 +7,9 @@ tags:
- web
---
-# How to install the latest Caddy web server on Rocky Linux
+!!! Warning "Temporary Hold"
+
+ `caddy` is currently missing from the EPEL. It will probably be built. The Docs Team will continue to test availability in the EPEL as time allows. For now, your only option is to build `caddy` from source, and the instructions for doing that are currently missing here.
## Introduction
@@ -152,7 +154,7 @@ It should have an SSL padlock that should work in every modern browser, and not
As mentioned earlier, Caddy supports FastCGI support for PHP. The good news is that unlike Apache and Nginx, Caddy handles PHP file extensions automatically.
-To install PHP, first add the Remi repository (note: if you are running Rocky Linux 8.x, substitute in 8 next to the "release-" below):
+To install PHP, first add the Remi repository (note: if you are running Rocky Linux 8.x or 10.x, substitute in 8 or 10 next to the "release-" below):
```bash
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
diff --git a/docs/guides/web/caddy.uk.md b/docs/guides/web/caddy.uk.md
index 26aef3e8b7..2cb82c7c7a 100644
--- a/docs/guides/web/caddy.uk.md
+++ b/docs/guides/web/caddy.uk.md
@@ -154,7 +154,7 @@ systemctl enable --now caddy
Як згадувалося раніше, Caddy підтримує підтримку FastCGI для PHP. Хороша новина полягає в тому, що, на відміну від Apache і Nginx, Caddy автоматично обробляє розширення файлів PHP.
-Щоб установити PHP, спочатку додайте репозиторій Remi (примітка: якщо ви використовуєте Rocky Linux 8.x, замініть 8 поруч із «release-» нижче):
+Щоб установити PHP, спочатку додайте репозиторій Remi (примітка: якщо ви використовуєте Rocky Linux 8.x або 10.х, замініть 8 або 10 поруч із «release-» нижче):
```bash
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
diff --git a/docs/guides/web/nginx-mainline.it.md b/docs/guides/web/nginx-mainline.it.md
index 8e19f1faa6..fcdb52b3d0 100644
--- a/docs/guides/web/nginx-mainline.it.md
+++ b/docs/guides/web/nginx-mainline.it.md
@@ -12,7 +12,7 @@ tags:
## Introduzione
-*Nginx* è un server web progettato per essere veloce, efficiente e compatibile con qualsiasi cosa si possa immaginare. Personalmente lo uso un po' e — una volta che ci si prende la mano — è in realtà abbastanza facile da impostare e configurare. Ecco un breve riassunto delle caratteristiche principali; Nginx è/ha/può essere:
+*Nginx* è un server web progettato per essere veloce, efficiente e compatibile con quasi tutto. Lo uso spesso e, una volta che ci si è abituati — è piuttosto facile da configurare e impostare. Ecco un breve riassunto delle caratteristiche principali; Nginx è/ha/può essere:
Ecco una breve panoramica dei modi in cui Nginx si distingue e delle sue caratteristiche:
@@ -24,98 +24,72 @@ Ecco una breve panoramica dei modi in cui Nginx si distingue e delle sue caratte
* Supporto FastCGI
* E, naturalmente, IPv6
-È fantastico! Quindi basta `sudo dnf install nginx`, giusto? Beh, non esattamente. È sufficiente abilitare prima il modulo giusto, per attivare il ramo "mainline", in modo da avere l'ultima versione di Nginx.
-
-!!! Note "Nota"
-
- C'è un altro ramo chiamato "stable", ma in realtà è un po' superato per la maggior parte dei casi d'uso. Non riceverà nuove caratteristiche man mano che vengono sviluppate, e solo le correzioni di bug e gli aggiornamenti di sicurezza più urgenti.
-
- Gli sviluppatori di Nginx considerano il ramo "mainline" ben testato e stabile per l'uso generale, *in quanto ottiene tutte le nuove funzionalità, tutte le correzioni di sicurezza e tutte le correzioni di bug.*
-
- Le uniche ragioni per usare il ramo "stable" sono:
- * vuoi *veramente* essere sicuro che le nuove caratteristiche e le correzioni importanti non interrompano il codice di terze parti o il tuo codice personalizzato.
- * Volete attenervi solo ai repository software di Rocky Linux.
-
- Un tutorial alla fine di questa guida spiegherà come attivare e installare il ramo " stable" con il minimo sforzo.
+È fantastico! Quindi basta `sudo dnf install nginx`, giusto? Sì, è più o meno così, ma abbiamo incluso alcuni consigli utili per iniziare.
## Prerequisiti e Presupposti
-Avrai bisogno di:
+Avrete bisogno di:
* Una macchina o un server Rocky Linux connesso a internet.
* Una familiarità di base con la riga di comando.
* La capacità di eseguire comandi come root, sia come utente root che con `sudo`.
* Un editor di testo a tua scelta, sia grafico che a riga di comando. Per questo tutorial, sto usando `nano`.
-## Installazione del repository & Attivazione del modulo
+## Installare ed eseguire Nginx
-Per prima cosa, assicuratevi che la vostra macchina sia aggiornata:
+Innanzitutto, assicuratevi che il vostro computer sia aggiornato:
```bash
sudo dnf update
```
-Quindi, installare il repository software `epel-release`:
-
-```bash
-sudo dnf install epel-release
-```
-
-Quindi abilita il modulo giusto per l'ultima versione di `nginx`. Questo modulo sarà sempre chiamato `nginx:manline`, quindi basta abilitarlo con `dnf` in questo modo:
-
-```bash
-sudo dnf module enable nginx:mainline
-```
-
-Ti darà il solito "Sei sicuro di volerlo fare? , ma questa non è la seconda edizione D&D con Gary Gygax stesso, quindi sì. Certo che lo fai. Premi ++y++ per confermare.
-
-## Installare ed eseguire Nginx
-
-Poi, installa il pacchetto `nginx` dal repository aggiunto in precedenza:
+Quindi, installare il pacchetto `nginx`:
```bash
sudo dnf install nginx
```
-Il terminale ti chiederà se ti va bene installare la chiave GPG del repository. Ne hai bisogno, quindi scegli `Y` per sì.
-
-Una volta che l'installazione è finita, avviate il servizio `nginx` e abilitatelo per avviarsi automaticamente al riavvio tutto in una volta con:
+Una volta terminata l'installazione, avviare il servizio `nginx` e abilitarlo all'avvio automatico al riavvio:
```bash
sudo systemctl enable --now nginx
```
-Per verificare che l'ultima versione di *Nginx* sia stata installata, eseguire:
+Per verificare che sia stata installata l'ultima versione di *Nginx* (la più recente dai repository Rocky, comunque), eseguire:
```bash
nginx -v
```
-Da lì, si potrebbe semplicemente iniziare ad inserire i file HTML nella directory `/usr/share/nginx/html/` per costruire un semplice sito web statico. Il file di configurazione per il sito web/host virtuale predefinito è chiamato “nginx.conf” ed è in `/etc/nginx/`. Contiene anche una serie di altre configurazioni server Nginx di base, quindi anche se si sceglie di spostare la configurazione del sito web reale in un altro file, si dovrebbe probabilmente lasciare il resto di "nginx. onf" intatto.
+Da qui, si può iniziare a inserire i file HTML nella directory `/usr/share/nginx/html/` per costruire un semplice sito web statico. Il file di configurazione per il sito web/virtual host predefinito si chiama "nginx.conf" e si trova in `/etc/nginx/`. Contiene anche una serie di altre configurazioni di base del server Nginx, quindi anche se si sceglie di spostare la configurazione del sito web in un altro file, probabilmente si dovrebbe lasciare intatto il resto di "nginx.conf".
+
+!!! Note
+
+ Le versioni precedenti di questa guida descrivevano l'installazione di nginx-mainline. Questa non è più un'opzione. Nella maggior parte dei casi, la versione di Nginx presente nei repo di Rocky è più che sufficiente, in quanto fornisce una base stabile con patch di sicurezza retroportate. Chi vuole ancora utilizzare nginx-mainline può trovare metodi per farlo cercando sul web. Tutti i documenti di istruzioni trovati, tuttavia, si riferiscono a Rocky Linux 8. Si noti che l'uso di nginx-mainline è di solito perfettamente fattibile, ma non è supportato.
## Configurare il Firewall
-!!! Note "Nota"
+!!! Note
- Se state installando Nginx su un container come LXD/LXC o Docker, potete saltare questa parte per ora. Il firewall dovrebbe essere gestito dal sistema operativo host.
+ Se si sta installando Nginx su un contenitore come LXD/LXC o Docker, si può saltare questa parte per ora. Il firewall deve essere gestito dal sistema operativo host.
-Se si cerca di visualizzare una pagina Web con l'indirizzo IP o il nome di dominio della propria macchina da un altro computer, probabilmente non si otterrà nulla. Beh, sarà così finché avrete un firewall attivo e funzionante.
+Probabilmente non otterrete nulla se cercate di visualizzare una pagina web con l'indirizzo IP o il nome di dominio del vostro computer da un altro computer. Questo sarà il caso se avete un firewall attivo e funzionante.
-Per aprire le porte necessarie in modo da poter effettivamente "vedere" le pagine web, utilizzeremo il firewall integrato di Rocky Linux, `firewalld`. Il comando `firewalld` per farlo è `firewall-cmd`. Ci sono due modi per farlo: quello ufficiale e quello manuale. *In questo caso, il modo ufficiale è il migliore,* ma dovresti conoscerli entrambi per riferimento futuro.
+Per aprire le porte necessarie a "vedere" le pagine web, utilizzeremo il firewall integrato di Rocky Linux, `firewalld`. Il comando `firewalld` per farlo è `firewall-cmd`. Ci sono due modi per farlo: quello ufficiale e quello manuale. *In questo caso, la via ufficiale è la migliore,* ma è bene conoscerle entrambe per poterle utilizzare in futuro.
-Il modo ufficiale apre il firewall al servizio `http`, che è ovviamente il servizio che gestisce le pagine web. Basta eseguire questo:
+Il metodo ufficiale apre il firewall al servizio `http`, che è, ovviamente, il servizio che gestisce le pagine web. Eseguite questo:
```bash
sudo firewall-cmd --permanent --zone=public --add-service=http
```
-Scomponiamo il tutto:
+Vediamo di analizzare la situazione:
* L'opzione `--permanent` indica al firewall di assicurarsi che questa configurazione sia utilizzata ogni volta che il firewall viene riavviato e quando il server viene riavviato.
* `--zone=public` dice al firewall di accettare connessioni in entrata a questa porta da chiunque.
* Infine, `--add-service=http` dice a `firewalld` di lasciar passare tutto il traffico HTTP verso il server.
-Ecco il modo manuale per farlo. È praticamente la stessa cosa, tranne per il fatto che si apre specificamente la porta 80 utilizzata da HTTP.
+Now here's the manual way to do it. È praticamente la stessa cosa, tranne per il fatto che si apre specificamente la porta 80 utilizzata da HTTP.
```bash
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
@@ -131,21 +105,21 @@ sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
```
-Queste configurazioni non avranno effetto finché non forzerete la questione. Per farlo, dite a `firewalld` di rilasciare le sue configurazioni, così:
+Queste configurazioni non avranno effetto finché non si forza l'applicazione. Per fare ciò, dire a `firewalld` di rilasciare le sue configurazioni, in questo modo:
```bash
sudo firewall-cmd --reload
```
-!!! Note "Nota"
+!!! Note
- Ora, c'è una piccolissima possibilità che questo non funzioni. In quei rari casi, fai in modo che `firewalld` faccia il suo invito con il vecchio turn-it-off-and-turn-it-on-again.
+ Ora, c'è una piccolissima possibilità che questo non funzioni. In quei rari casi, fate in modo che `firewalld` esegua i vostri comandi con il vecchio metodo “spegnere e riaccendere”.
```bash
systemctl restart firewalld
```
-Per assicurarsi che le porte siano state aggiunte correttamente, eseguire `firewall-cmd --list-all`. Un firewall correttamente configurato avrà un aspetto simile a questo:
+Per verificare che le porte siano state aggiunte correttamente, eseguire `firewall-cmd --list-all`. Un firewall correttamente configurato avrà un aspetto simile a questo:
```bash
public (active)
@@ -166,52 +140,53 @@ public (active)
E questo dovrebbe essere tutto ciò di cui avete bisogno, a livello di firewall.
-*Ora* dovresti essere in grado di vedere una pagina web che assomiglia a questa:
+*A questo punto* dovrebbe apparire una pagina web con un aspetto simile a questo:
-
+
-Non è molto, ma significa che il server funziona. Puoi anche testare che la tua pagina web funzioni dalla linea di comando con:
+It’s not much at all, but it means the server is working. È anche possibile verificare che la pagina web funzioni dalla riga di comando con:
```bash
curl -I http://[your-ip-address]
```
-## Creare un Utente del server e Cambiare la Cartella Radice del sito Web
+## Creazione di un utente del server e modifica della cartella principale del sito web
-Mentre voi *potreste* semplicemente mettere il vostro sito web nella directory predefinita e proseguire (e questo potrebbe andare bene per *Nginx* quando è in esecuzione all'interno di un container, o su un server di test/sviluppo), non è ciò che noi chiamiamo best practice. Invece, è una buona idea creare un utente Linux specifico sul tuo sistema per il tuo sito web, e mettere i file del tuo sito web in una directory fatta solo per quell'utente.
+Sebbene *sia possibile* inserire il proprio sito web nella directory predefinita e partire (e questo potrebbe andare bene per *Nginx* quando è in esecuzione all'interno di un container o su un server di test/sviluppo), non è ciò che chiamiamo best practice. È invece una buona idea creare sul sistema un utente Linux specifico per il sito web e inserire i file del sito in una directory creata appositamente per quell'utente.
-Se si desidera creare più siti web, è una buona idea creare diversi utenti e directory principali per garantire l'organizzazione e la sicurezza.
+Se si desidera creare più siti web, è necessario creare diversi utenti e directory principali per garantire l'organizzazione e la sicurezza.
-In questa guida, avrò solo un utente: un bel diavolo di nome "www". Decidere dove mettere i file del tuo sito web diventa più complicato.
+In questa guida avrò un solo utente: un bel diavolo di nome “www”. Decidere dove mettere i file del sito web diventa più complicato.
-I file del sito web possono essere collocati in diversi punti, a seconda della configurazione del server. Se siete su un server bare-metal (fisico), o state installando `nginx` direttamente su un VPS, probabilmente avete Security Enhanced Linux (SELinux) in esecuzione. SELinux è uno strumento che fa molto per proteggere la vostra macchina, ma detta anche dove potete mettere certe cose, come le pagine web.
+I file del sito web possono essere collocati in diversi punti, a seconda della configurazione del server. Se siete su un server bare-metal (fisico) o state installando `nginx` direttamente su un VPS, probabilmente avete in esecuzione Security Enhanced Linux (SELinux). SELinux è uno strumento che fa molto per proteggere la vostra macchina, ma che in un certo senso impone anche dove potete mettere certe cose, come le pagine web.
-Quindi, se state installando `nginx` direttamente sulla vostra macchina, vorrete mettere i vostri siti web nelle sottodirectory della cartella principale predefinita. In questo caso, la root predefinita è `/usr/share/nginx/html`, quindi il sito web per l'utente "www" potrebbe andare in `/usr/share/nginx/html/www`.
+Quindi, se state installando `nginx` direttamente sulla vostra macchina, vorrete mettere i vostri siti web nelle sottodirectory della cartella principale predefinita. In questo caso, la radice predefinita è `/usr/share/nginx/html`, quindi il sito web per l'utente "www" potrebbe andare in `/usr/share/nginx/html/www`.
-Se state eseguendo `nginx` in un contenitore come LXD/LXC, tuttavia, SELinux probabilmente *non* sarà installato, e potete mettere i vostri file dove volete. In questo caso, mi piace mettere tutti i file del sito web di un utente sotto una directory in una normale cartella home, così: `/home/www/`.
+Se si esegue `nginx` in un contenitore come LXD/LXC, tuttavia, SELinux probabilmente *non sarà* installato e si potranno mettere i file dove si vuole. In questo caso, mi piace mettere tutti i file del sito web di un utente sotto una directory in una normale cartella home, in questo modo: `/home/www/`.
-Continuerò questa guida come se SELinux fosse installato, comunque. Cambia solo quello che ti serve in base alle tue necessità. Potete anche imparare di più su come funziona SELinux in [la nostra guida sull'argomento](../security/learning_selinux.md).
+Tuttavia, continuerò questa guida come se SELinux fosse installato. Modificate solo ciò che è necessario in base al vostro caso d'uso. Per saperne di più sul funzionamento di SELinux, consultate la [nostra guida sull'argomento](../security/learning_selinux.md).
### Creazione dell'Utente
-Per prima cosa, creiamo la cartella che useremo:
+Per prima cosa, creiamo la cartella che utilizzeremo:
```bash
sudo mkdir /usr/share/nginx/html/www
```
-Poi, create il gruppo www:
+Quindi, creare il gruppo www:
```bash
sudo groupadd www
```
+
Quindi, creiamo l'utente:
```bash
sudo adduser -G nginx -g www -d /usr/share/nginx/html/www www --system --shell=/bin/false
```
-Questo comando dice alla macchina di:
+Questo comando indica alla macchina di:
* Creare un utente chiamato "www" (come da testo centrale),
* mettere tutti i suoi file in `/usr/share/nginx/html/www`,
@@ -219,11 +194,11 @@ Questo comando dice alla macchina di:
* Il flag `--system` dice che l'utente non è un utente umano, è riservato al sistema. Se volete creare account utente umani per gestire diversi siti web, questa è tutta un'altra guida.
* `--shell=/bin/false` si assicura che nessuno possa anche solo *tentare* di accedere come utente "www".
-Il gruppo "nginx" fa una vera magia. Permette al server web di leggere e modificare i file che appartengono all'utente "www" e al gruppo di utenti "www". Vedere [guida alla gestione degli utenti](../../books/admin_guide/06-users.md) di Rocky Linux per maggiori informazioni.
+Il gruppo "nginx" fa una vera magia. Permette al server web di leggere e modificare i file che appartengono all'utente "www" e al gruppo utente "www". Per ulteriori informazioni, consultare la [guida sulla gestione degli utenti](../../books/admin_guide/06-users.md).
### Cambiare la Cartella Radice del Server
-Ora che hai il tuo nuovo e fantasioso account utente, è il momento di fare in modo che `nginx` cerchi i file del tuo sito web in quella cartella. Prendete di nuovo il vostro editor di testo preferito.
+Ora che avete il vostro nuovo account utente, è il momento di far sì che `nginx` cerchi i file del vostro sito web in quella cartella. Prendete di nuovo il vostro editor di testo preferito.
Per ora, basta eseguire:
@@ -231,40 +206,40 @@ Per ora, basta eseguire:
sudo nano /etc/nginx/conf.d/default.conf
```
-Quando il file è aperto, cerca la linea che assomiglia a `root /usr/share/nginx/html;`. Cambialo nella cartella principale del tuo sito web scelto, ad esempio. `root /usr/share/nginx/html/www;` (o `/home/www` se si esegue `nginx` in contenitori come faccio io). Salvate e chiudete il file, poi testate la vostra configurazione `nginx` per assicurarvi di non aver saltato un punto e virgola o altro:
+Quando il file è aperto, cercate la riga che assomiglia a `root /usr/share/nginx/html;`. Cambiatela con la cartella principale del vostro sito web, ad esempio. `root /usr/share/nginx/html/www;` (o `/home/www` se si esegue `nginx` in container come faccio io). Salvare e chiudere il file, quindi verificare la configurazione di `nginx` per assicurarsi di non aver saltato un punto e virgola o altro:
```bash
nginx -t
```
-Se si ottiene il seguente messaggio di successo, tutto è andato bene:
+Se viene visualizzato il seguente messaggio di successo, tutto è andato per il verso giusto:
-```
+```bash
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```
-Poi, date al server un riavvio morbido con:
+Quindi, riavviare il server in modo soft con:
```bash
sudo systemctl reload nginx
```
-!!! Note "Nota"
+!!! Note
- Nel caso improbabile che il riavvio morbido non funzioni, date un calcio nei pantaloni a `nginx` con:
+ Nel caso improbabile in cui il riavvio soft non funzioni, date una spinta a `nginx` con:
```bash
- sudo systemctl reload nginx
+ sudo systemctl restart nginx
```
-Tutti i file HTML nella tua nuova cartella principale dovrebbero ora essere navigabili da... il tuo browser.
+Tutti i file HTML presenti nella nuova cartella principale dovrebbero ora essere navigabili da... il browser.
### Cambiare i Permessi ai File
I permessi devono essere impostati correttamente per garantire che `nginx` possa leggere, scrivere ed eseguire qualsiasi file nella directory del sito web.
-Se si ottiene il seguente messaggio di successo, tutto è andato bene:
+Innanzitutto, assicurarsi che tutti i file della cartella principale siano di proprietà dell'utente del server e del suo gruppo di utenti:
```bash
sudo chown -R www:www /usr/share/nginx/html/www
@@ -277,73 +252,30 @@ sudo find /usr/share/nginx/html/www -type d -exec chmod 555 "{}" \;
sudo find /usr/share/nginx/html/www -type f -exec chmod 444 "{}" \;
```
-In pratica, questo dà a tutti il diritto di guardare i file sul server, ma non di modificarli. Solo gli utenti root e del server possono farlo.
+That basically gives everyone the right to look at files on the server, but not modify them. Solo gli utenti root e del server possono farlo.
-## Ottenere certificati SSL per il Vostro Sito
+## Ottenere certificati SSL per il vostro sito
-A partire da ora, la nostra [guida per ottenere certificati SSL con certbot](../security/generating_ssl_keys_lets_encrypt.md) è stata aggiornata con alcune istruzioni di base per `nginx`. Vai a dare un'occhiata, in quanto ha istruzioni complete per l'installazione di certbot, così come la generazione dei certificati.
+La nostra [guida per ottenere certificati SSL con certbot](../security/generating_ssl_keys_lets_encrypt.md) è stata aggiornata con alcune istruzioni di base per `nginx`. Date un'occhiata a questo documento, che contiene istruzioni complete per l'installazione di certbot e per la generazione dei certificati.
Sta per arrivare il momento in cui i browser potrebbero smettere di far vedere i siti senza certificati, quindi assicuratevi di ottenerne uno per ogni sito.
-## Ulteriori Opzioni di Configurazione e Guide
+## Opzioni di configurazione e guide aggiuntive
* Se vuoi vedere come far funzionare *Nginx* con PHP, e PHP-FPM in particolare, controlla la nostra [guida PHP su Rocky Linux](../web/php.md).
* Se vuoi imparare a configurare *Nginx* per più siti Web, ora abbiamo [una guida su questo argomento](nginx-multisite.md).
-## Conclusione
-
-Se volete usare il ramo "stable" di `nginx`, anche con le sue limitazioni, ecco come fare. Per prima cosa, assicuratevi che il vostro sistema operativo sia aggiornato:
-
-```bash
-sudo dnf update
-```
-
-Poi, cercate l'ultima versione `nginx` disponibile nei repo predefiniti con:
-
-```bash
-sudo dnf module list nginx
-```
-
-Questo dovrebbe darvi una lista che assomiglia a questa:
-
-```bash
-Rocky Linux 8 - AppStream
-Name Stream Profiles Summary
-nginx 1.14 [d] common [d] nginx webserver
-nginx 1.16 common [d] nginx webserver
-nginx 1.18 common [d] nginx webserver
-nginx 1.20 common [d] nginx webserver
-```
-
-Scegliete il numero più alto della lista e abilitate il suo modulo in questo modo:
-
-```bash
-sudo dnf module enable nginx:1.20
-```
-
-Vi verrà chiesto se siete sicuri di volerlo fare, quindi digitate `Y`. Poi, usate il comando predefinito per installare `nginx`:
-
-```bash
-sudo dnf install nginx
-```
-
-Poi puoi abilitare il servizio e configurare il tuo server come descritto sopra.
-
-!!! Note "Nota"
-
- Il file di configurazione predefinito, in questo caso, è nella cartella di configurazione base di `nginx` in `/etc/nginx/nginx.conf`. La cartella principale del sito web è la stessa, però.
-
## Regole SELinux
-Attenzione che quando applicato, le direttive nginx proxy_pass falliranno con "502 Bad Gateway"
+Attenzione: se applicate, le direttive nginx proxy_pass falliranno con "502 Bad Gateway"
-È possibile disattivare setenforce per scopi di sviluppo
+È possibile disabilitare setenforce per scopi di sviluppo
```bash
sudo setenforce 0
```
-oppure puoi abilitare `http_d` o altri servizi correlati a nginx in `/var/log/audit/audit.log`
+oppure si può abilitare `httpd` o altri servizi relativi a nginx in `/var/log/audit/audit.log`
```bash
sudo setsebool httpd_can_network_connect 1 -P
@@ -351,6 +283,6 @@ sudo setsebool httpd_can_network_connect 1 -P
## Conclusione
-L'installazione e la configurazione di base di `nginx` sono facili, anche se è più complicato di quanto dovrebbe essere ottenere l'ultima versione. Ma seguite i passaggi e avrete una delle migliori opzioni di server in funzione rapidamente.
+L'installazione e la configurazione di base di `nginx` sono semplici, anche se è più complicato di quanto dovrebbe essere ottenere l'ultima versione. Ma seguite i passaggi e avrete una delle migliori opzioni di server in funzione rapidamente.
-Ora devi solo andare a costruirti un sito web? Cosa potrebbe volerci, altri dieci minuti? *Sobs quietly in Web Designer*
+Ora dovete solo andare a costruirvi un sito web? Quanto ci vorrà, altri dieci minuti? *Sussurri silenziosi in Web Designer*
diff --git a/docs/guides/web/php.it.md b/docs/guides/web/php.it.md
index 0d20148313..27dd1afc67 100644
--- a/docs/guides/web/php.it.md
+++ b/docs/guides/web/php.it.md
@@ -1,8 +1,8 @@
---
title: PHP e PHP-FPM
author: Antoine Le Morvan
-contributors: Steven Spencer, Ganna Zhyrnova
-tested_with: 8.9
+contributors: Steven Spencer, Ganna Zhyrnova, Joseph Brinkman
+tested_with: 9.3, 8.9
tags:
- web
- php
@@ -11,20 +11,16 @@ tags:
# PHP e PHP-FPM
-!!! warning "Scritto per Rocky Linux 8.x"
+**PHP** (**P**HP **H**ypertext **P**reprocessor) è un linguaggio di scripting sorgente appositamente progettato per lo sviluppo di applicazioni web. Nel 2024, PHP rappresentava poco meno dell'80% delle pagine web generate nel mondo. PHP è open-source ed è il cuore dei più famosi CMS (WordPress, Drupal, Joomla!, Magento, ...).
- Questa procedura è stata pubblicata inizialmente quando Rocky Linux 8.x era l'unica versione. Questa procedura deve essere testata e riscritta per Rocky Linux 9.x.
-
-**PHP** (**P**HP **H**ypertext **P**reprocessor) è un linguaggio di scripting sorgente, appositamente progettato per lo sviluppo di applicazioni web. Nel 2021, PHP rappresentava poco meno dell'80% delle pagine web generate nel mondo. PHP è open-source ed è il nucleo dei più famosi CMS (WordPress, Drupal, Joomla!, Magento, ...).
-
-**PHP-FPM** (**F**astCGI **P**rocess **M**anager) è integrato nel PHP dalla sua versione 5.3.3. La versione FastCGI di PHP offre ulteriori funzionalità.
+**PHP-FPM** (**F**astCGI **P**rocess **M**anager) è integrato in PHP fin dalla versione 5.3.3. La versione FastCGI di PHP offre ulteriori funzionalità.
## Generalità
-**CGI** (**C**ommon **G**ateway **I**nterface) e **FastCGI** permettono la comunicazione tra il server web (Apache, Nginx, ...) e un linguaggio di sviluppo (PHP, Python, Java):
+**CGI** (**C**ommon **G**ateway **I**nterface) e **FastCGI** consentono la comunicazione tra il server web (Apache, Nginx, ...) e un linguaggio di sviluppo (PHP, Python, Java):
-* Nel caso di **CGI**, ogni richiesta porta alla creazione di un **nuovo processo**, che è meno efficiente in termini di prestazioni.
-* **FastCGI** si basa su un **certo numero di processi** per il trattamento delle sue richieste client.
+* Nel caso di **CGI**, ogni richiesta crea un **nuovo processo**, il che è meno efficiente in termini di prestazioni.
+* **FastCGI** si affida a un **certo numero di processi** per trattare le richieste dei clienti.
PHP-FPM, **oltre a prestazioni migliori**, porta con sé:
@@ -33,113 +29,196 @@ PHP-FPM, **oltre a prestazioni migliori**, porta con sé:
* Gestione del registro,
* Gestione dinamica dei processi e riavvio senza interruzione del servizio ('graceful').
-!!! Note "Nota"
+!!! Note
Poiché Apache ha un modulo PHP, php-fpm è più comunemente usato su un server Nginx.
## Scegliere una versione PHP
-Rocky Linux, come il suo upstream, offre molte versioni del linguaggio. Alcuni di essi hanno raggiunto la fine del loro ciclo di vita, ma vengono mantenuti per continuare a ospitare applicazioni storiche che non sono ancora compatibili con le nuove versioni di PHP. Fare riferimento alla pagina [versioni supportate](https://www.php.net/supported-versions.php) del sito web php.net per scegliere una versione supportata.
+Rocky Linux, come il suo upstream, offre molte versioni del linguaggio. Alcuni di essi hanno raggiunto la fine del loro ciclo di vita, ma vengono mantenuti per continuare a ospitare applicazioni storiche che non sono ancora compatibili con le nuove versioni di PHP. Per scegliere una versione, consultare la pagina delle [versioni supportate](https://www.php.net/supported-versions.php) del sito web php.net.
Per ottenere un elenco delle versioni disponibili, basta inserire il seguente comando:
-```bash
-$ sudo dnf module list php
+=== "Elenco dei moduli PHP 9.3"
-Rocky Linux 8 - AppStream
-Name Stream Profiles Summary
-php 7.2 [d] common [d], devel, minimal PHP scripting language
-php 7.3 common [d], devel, minimal PHP scripting language
-php 7.4 common [d], devel, minimal PHP scripting language
-php 8.0 common [d], devel, minimal PHP scripting language
+ ```bash
+ $ sudo dnf module list php
-Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
-```
+ Rocky Linux 9 - AppStream
+ Name Stream Profiles Summary
+ php 8.1 [d] common [d], devel, minimal
-Rocky fornisce, dal proprio repository AppStream, diversi moduli PHP.
+ Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
+ ```
-Si noterà che la versione predefinita di Rocky 8.9 è la 7.2, che ha già raggiunto la fine del suo ciclo di vita al momento in cui si scrive.
-È possibile attivare un modulo più recente immettendo il seguente comando:
+ Il repository Remi offre versioni più recenti di PHP rispetto al repository Appstream, incluse le versioni 8.3 e 8.4.
+
+ Per installare il repository Remi, eseguire il seguente comando (nota: se si utilizza Rocky Linux 8.x o 10.x, sostituire 8 o 10 dopo “release-” nel comando riportato di seguito):
-```bash
-sudo dnf module enable php:8.0
-==============================================================================================
- Package Architecture Version Repository Size
-==============================================================================================
-Enabling module streams:
- httpd 2.4
- nginx 1.14
- php 8.0
+ ```bash
+ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
+ ```
-Transaction Summary
-==============================================================================================
-Is this ok [y/N]:
+ Una volta installato il repository Remi, abilitarlo eseguendo il seguente comando.
-Transaction Summary
-==============================================================================================
+ ```bash
+ sudo dnf config-manager --set-enabled remi
+ ```
-Is this ok [y/N]: y
-Complete!
-```
+
+ È ora possibile attivare un modulo più recente (PHP 8.4) immettendo il seguente comando:
+
+ ```bash
+ sudo dnf module enable php:remi-8.4
+ ```
+
+=== "Elenco dei moduli PHP 8.9"
+
+ ```bash
+ $ sudo dnf module list php
+
+ Rocky Linux 8 - AppStream
+ Name Stream Profiles Summary
+ php 7.2 [d] common [d], devel, minimal PHP scripting language
+ php 7.3 common [d], devel, minimal PHP scripting language
+ php 7.4 common [d], devel, minimal PHP scripting language
+ php 8.0 common [d], devel, minimal PHP scripting language
+
+ Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
+ ```
+
+
+ Rocky fornisce diversi moduli PHP dal suo repository AppStream.
+
+ Noterai che la versione predefinita di un Rocky 8.9 è la 7.2, che ha già raggiunto il termine del proprio ciclo vitale, al momento della scrittura.
+
+ Puoi attivare un modulo più recente inserendo il seguente comando:
+
+ ```bash
+ sudo dnf module enable php:8.0
+ ==============================================================================================
+ Package Architecture Version Repository Size
+ ==============================================================================================
+ Enabling module streams:
+ httpd 2.4
+ nginx 1.14
+ php 8.0
+
+ Transaction Summary
+ ==============================================================================================
+
+ Is this ok [y/N]:
+
+ Transaction Summary
+ ==============================================================================================
+
+ Is this ok [y/N]: y
+ Complete!
+ ```
Ora si può procedere all'installazione del motore PHP.
## Modalità PHP cgi
-Per prima cosa, vediamo come installare e utilizzare PHP in modalità CGI. Possiamo farlo funzionare solo con il server web Apache e il suo modulo `mod_php`. Vedremo più tardi in questo documento, nella parte FastCGI (php-fpm) come integrare PHP in Nginx (ma anche in Apache).
+Prima di tutto, vediamo come installare e utilizzare PHP in modalità CGI. Possiamo farlo funzionare soltanto con il server web di Apache e il suo modulo `mod_php`. Vedremo, più avanti in questo documento, nella parte FastCGI (php-fpm) come integrare PHP in Nginx (ma anche in Apache).
### Installazione
-L'installazione di PHP è relativamente banale, poiché consiste nell'installare il pacchetto principale e i pochi moduli necessari.
+L'installazione di PHP è relativamente semplice, poiché consiste nell'installare il pacchetto principale e i pochi moduli necessari.
-L'esempio seguente installa PHP con i moduli normalmente installati con esso.
+Il seguente esempio installa PHP con i moduli solitamente installati con esso.
-```bash
-sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
-```
+=== "9.3 installare PHP"
+
+ ```bash
+ sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
+ ```
+
+
+ Durante l'installazione verrà richiesto di importare le chiavi GPG per i repository epel9 (Extra Packages for Enterprise Linux 9) e Remi. Immettere y per importare le chiavi:
+
+ ```bash
+ Extra Packages for Enterprise Linux 9 - x86_64
+ Importing GPG key 0x3228467C:
+ Userid : "Fedora (epel9) "
+ Fingerprint: FF8A D134 4597 106E CE81 3B91 8A38 72BF 3228 467C
+ From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
+ Is this ok [y/N]: y
+ Key imported successfully
+ Remi's RPM repository for Enterprise Linux 9 - x86_64
+ Importing GPG key 0x478F8947:
+ Userid : "Remi's RPM repository (https://rpms.remirepo.net/) "
+ Fingerprint: B1AB F71E 14C9 D748 97E1 98A8 B195 27F1 478F 8947
+ From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9
+ Is this ok [y/N]: y
+ Key imported successfully
+ Running transaction check
+ Transaction check succeeded.
+ Running transaction test
+ Transaction test succeeded.
+
+ Complete!
+ ```
+
+=== "8.9 installare PHP"
+
+ ```bash
+ sudo dnf install php php-cli php-gd php-curl php-zip php-mbstring
+ ```
È possibile verificare che la versione installata corrisponda a quella prevista:
-```bash
-$ php -v
-PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
-Copyright (c) The PHP Group
-Zend Engine v3.4.0, Copyright (c) Zend Technologies
+=== "9.3 controllare la versione di PHP"
+
+ ```bash
+ $ php -v
+ PHP 8.3.2 (cli) (built: Jan 16 2024 13:46:41) (NTS gcc x86_64)
+ Copyright (c) The PHP Group
+ Zend Engine v4.3.2, Copyright (c) Zend Technologies
+ with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies
+ ```
+
+=== "8.9 controllare la versione di PHP"
+
+ ```bash
+ $ php -v
+ PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
+ Copyright (c) The PHP Group
+ Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.19, Copyright (c), by Zend Technologies
-```
+ ```
### Configurazione
#### Integrazione con Apache
-Per servire pagine PHP in modalità CGI, è necessario installare il server apache, configurarlo, attivarlo e avviarlo.
+Per servire pagine PHP in modalità CGI, è necessario installare il server Apache, configurarlo, attivarlo e avviarlo.
* Installazione:
-```bash
-sudo dnf install httpd
-```
+ ```bash
+ sudo dnf install httpd
+ ```
-* Attivazione:
+ * Attivazione:
-```bash
-sudo systemctl enable httpd
-sudo systemctl start httpd
-sudo systemctl status httpd
-```
+ ```bash
+ sudo systemctl enable --now httpd
+ sudo systemctl status httpd
+ ```
-* Non dimenticatevi di configurare il firewall:
+* Non dimenticate di configurare il firewall:
-```bash
-sudo firewall-cmd --add-service=http --permanent
-sudo firewall-cmd --reload
-```
+ ```bash
+ sudo firewall-cmd --add-service=http --permanent
+ sudo firewall-cmd --reload
+ ```
-Il vhost predefinito dovrebbe funzionare subito. PHP fornisce una funzione `phpinfo()` che genera una tabella riassuntiva della sua configurazione. È molto utile per testare il buon funzionamento di PHP. Tuttavia, fate attenzione a non lasciare tali file di prova sui vostri server. Rappresentano un enorme rischio per la sicurezza della vostra infrastruttura.
+Il vhost predefinito dovrebbe funzionare subito. PHP fornisce una funzione `phpinfo()` che genera una tabella riassuntiva della sua configurazione. È molto utile per verificare il buon funzionamento di PHP. Tuttavia, fate attenzione a non lasciare tali file di prova sui vostri server. Rappresentano un enorme rischio per la sicurezza della vostra infrastruttura.
-Creare il file `/var/www/html/info.php` (`/var/www/html` è la cartella vhost della configurazione predefinita di apache):
+Creare il file `/var/www/html/info.php` (`/var/www/html` è la cartella vhost della configurazione predefinita di Apache):
```bash
```
-Utilizzare un browser web per verificare il corretto funzionamento del server accedendo alla pagina [http://your-server-ip/info.php](http://your-server-ip/info.php).
+Utilizzate un browser web per verificare il corretto funzionamento del server accedendo alla pagina [http://your-server-ip/info.php](http://your-server-ip/info.php).
-!!! Warning "Attenzione"
+!!! Warning
- Non lasciare il file info.php sul vostro server!
+ Non lasciare il file info.php sul server!
## PHP-FPM (FastCGI)
@@ -168,8 +247,7 @@ sudo dnf install php-fpm
Poiché php-fpm è un servizio per il sistema, deve essere attivato e avviato:
```bash
-sudo systemctl enable php-fpm
-sudo systemctl start php-fpm
+sudo systemctl enable --now php-fpm
sudo systemctl status php-fpm
```
@@ -185,13 +263,13 @@ error_log = /var/log/php-fpm/error.log
daemonize = yes
```
-!!! Note "Nota"
+!!! Note
- I file di configurazione php-fpm sono ampiamente commentati. Andate a dare un'occhiata!
+ I file di configurazione di php-fpm sono ampiamente commentati. Andate a dare un'occhiata!
-Come si può vedere, i file della cartella `/etc/php-fpm/` con estensione `.conf` sono sempre inclusi.
+Come si può vedere, i file della cartella `/etc/php-fpm.d/` con estensione `.conf` sono sempre inclusi.
-Per impostazione predefinita, un pool di processi PHP, chiamato `www`, è definito in `/etc/php-fpm.d/www.conf`.
+Per impostazione predefinita, un pool di processi PHP, denominato `www`, è dichiarato in `/etc/php-fpm.d/www.conf`.
```bash
[www]
@@ -224,7 +302,7 @@ php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
#### Configurazione del modo di accedere ai processi di php-fpm
-Configurazione del modo di accedere ai processi di php-fpm.
+Ci sono due modi per connettersi.
Tramite un'interfaccia inet come:
@@ -234,11 +312,11 @@ O tramite un socket Unix:
`listen = /run/php-fpm/www.sock`.
-!!! Note "Nota"
+!!! Note
Utilizzando un socket quando il server web e il server PHP si trovano sulla stessa macchina, si elimina il livello TCP/IP e si ottimizzano le prestazioni.
-Quando si opera tramite un'interfaccia, è necessario configurare `listen.owner`, `listen.group`, `listen.mode` per specificare il proprietario, il gruppo di proprietari e i diritti del socket Unix. **Attenzione:** entrambi i server (web e PHP) devono avere i diritti di accesso al socket.
+Quando si lavora tramite un'interfaccia, è necessario configurare `listen.owner`, `listen.group`, `listen.mode` per specificare il proprietario, il gruppo di proprietari e i diritti del socket Unix. **Attenzione:** Entrambi i server (web e PHP) devono avere i diritti di accesso al socket.
Quando si lavora tramite un socket, è necessario configurare `listen.allowed_clients` per limitare l'accesso al server PHP a determinati indirizzi IP.
@@ -257,7 +335,7 @@ pm.max_children = 10
Questa configurazione avvierà 10 processi.
-In modalità dinamica, PHP-FPM lancerà al massimo il numero di processi specificato dal valore di `pm.max_children`, iniziando a lanciare un numero di processi corrispondente a `pm.start_servers`, e mantenendo almeno il valore di `pm.min_spare_servers` di processi inattivi e al massimo `pm.max_spare_servers` di processi inattivi.
+In modalità dinamica, PHP-FPM avvierà al massimo il numero di processi specificato dal valore di `pm.max_children`, iniziando ad avviare alcuni processi corrispondenti a `pm.start_servers` e mantenendo almeno il valore di `pm.min_spare_servers` dei processi inattivi e al massimo ` pm.max_spare_servers` dei processi inattivi.
Esempio:
@@ -269,21 +347,21 @@ pm.min_spare_servers = 1
pm.max_spare_servers = 3
```
-PHP-FPM creerà un nuovo processo per sostituire quello che ha elaborato un numero di richieste equivalente a `pm.max_requests`.
+PHP-FPM creerà un nuovo processo per sostituire quello che ha elaborato più richieste equivalenti a `pm.max_requests`.
-Per impostazione predefinita, `pm.max_requests` è impostato a 0, il che significa che i processi non vengono mai riciclati. L'uso dell'opzione `pm.max_requests` può essere interessante per applicazioni con problemi di memoria.
+Per impostazione predefinita, `pm.max_requests` è impostato su 0, il che significa che i processi non vengono mai riciclati. L'uso dell'opzione `pm.max_requests` può essere interessante per le applicazioni con perdite di memoria.
-C'è una terza modalità di funzionamento, la modalità `ondemand`. Questa modalità avvia un processo solo quando riceve una richiesta. Non è una modalità ottimale per i siti con forti pressioni e deve essere riservata a esigenze specifiche (siti con richieste molto deboli, backend di gestione, ecc.).
+Esiste una terza modalità di funzionamento, quella `ondemand`. Questa modalità avvia un processo solo quando riceve una richiesta. Non è una modalità ottimale per i siti con forti influenze e deve essere riservata a esigenze specifiche (siti con richieste molto deboli, backend di gestione, ecc.).
-!!! Note "Nota"
+!!! Note
- La configurazione della modalità operativa di PHP-FPM è essenziale per garantire un funzionamento ottimale del server web.
+ La configurazione della modalità operativa di PHP-FPM è essenziale per garantire il funzionamento ottimale del server web.
#### Stato del processo
PHP-FPM offre, come Apache e il suo modulo `mod_status`, una pagina che indica lo stato del processo.
-Per attivare la pagina, impostare il suo percorso di accesso tramite la direttiva `pm.status_path`:
+Per attivare la pagina, impostare il suo percorso di accesso tramite la direttiva `pm.status_path:`:
```bash
pm.status_path = /status
@@ -309,7 +387,7 @@ slow requests: 0
#### Registrazione di richieste lunghe
-La direttiva slowlog specifica il file che riceve la registrazione delle richieste troppo lunghe (cioè, il cui tempo supera il valore della direttiva `request_slowlog_timeout`).
+La direttiva slowlog specifica il file che riceve la registrazione delle richieste troppo lunghe (cioè il cui tempo supera il valore della direttiva `request_slowlog_timeout`).
La posizione predefinita del file generato è `/var/log/php-fpm/www-slow.log`.
@@ -354,7 +432,7 @@ fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
```
-Affinché nginx possa elaborare i file `.php`, le seguenti direttive devono essere aggiunte al file di configurazione del sito:
+Affinché nginx possa elaborare i file `.php`, è necessario aggiungere le seguenti direttive al file di configurazione del sito:
Se PHP-FPM è in ascolto sulla porta 9000:
@@ -376,7 +454,7 @@ location ~ \.php$ {
### Integrazione con Apache
-La configurazione di apache per utilizzare un pool PHP è abbastanza semplice. È sufficiente usare i moduli proxy con una direttiva `ProxyPassMatch`, per esempio:
+La configurazione di apache per utilizzare un pool PHP è abbastanza semplice. È necessario utilizzare i moduli proxy con una direttiva `ProxyPassMatch`, ad esempio:
```bash
@@ -398,19 +476,19 @@ La configurazione di apache per utilizzare un pool PHP è abbastanza semplice.
È essenziale ottimizzare il numero di richieste che potranno essere servite e analizzare la memoria utilizzata dagli script PHP, per ottimizzare la quantità massima di thread lanciati.
-Prima di tutto, dobbiamo conoscere la quantità media di memoria utilizzata da un processo PHP, con il comando:
+Prima di tutto, dobbiamo conoscere la quantità media di memoria utilizzata da un processo PHP con il comando:
```bash
while true; do ps --no-headers -o "rss,cmd" -C php-fpm | grep "pool www" | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }' >> avg_php_proc; sleep 60; done
```
-Dopo un po' di tempo, questo dovrebbe darci un'idea abbastanza precisa dell'occupazione media di memoria di un processo PHP su questo server.
+Dopo un po' di tempo, questo dovrebbe darci un'idea abbastanza precisa dell'ingombro medio della memoria di un processo PHP su questo server.
-Per il resto di questo documento, diciamo che il risultato è un'impronta di memoria di 120 Mb per processo a pieno carico.
+Il risultato riportato nel resto del documento è un ingombro di memoria pari a 120 Mb per processo a pieno carico.
Su un server con 8 Gb di RAM, mantenendo 1 Gb per il sistema e 1 Gb per la OPCache (si veda il resto di questo documento), rimangono 6 Gb per elaborare le richieste PHP dei client.
-Si può facilmente concludere che questo server può accettare al massimo **50 thread** `((6*1024) / 120)`.
+Possiamo facilmente concludere che questo server può accettare al massimo **50 thread** ( `(6*1024) / 120)`.
Una buona configurazione di `php-fpm` specifica per questo caso d'uso sarebbe:
@@ -435,9 +513,9 @@ L'`opcache` (Optimizer Plus Cache) è il primo livello di cache su cui possiamo
Mantiene gli script PHP compilati in memoria, il che ha un forte impatto sull'esecuzione delle pagine web (elimina la lettura su disco degli script + il tempo di compilazione).
-Per configurarla, dobbiamo lavorare su:
+Per configurarlo, dobbiamo lavorare su:
-* La dimensione della memoria dedicata alla opcache in base alla percentuale di successo, configurandola in modo corretto
+* La dimensione della memoria dedicata alla opcache in base all'hit ratio, configurandola correttamente
* il numero di script PHP da memorizzare nella cache (numero di chiavi + numero massimo di script)
* il numero di stringhe da mettere in cache
@@ -447,7 +525,7 @@ Per installarla:
sudo dnf install php-opcache
```
-Per configurarla, modificare il file di configurazione `/etc/php.d/10-opcache.ini`:
+Per configurarlo, modificare il file di configurazione `/etc/php.d/10-opcache.ini`:
```bash
opcache.memory_consumption=128
@@ -457,16 +535,16 @@ opcache.max_accelerated_files=4000
dove:
-* `opcache.memory_consumption` corrisponde alla quantità di memoria necessaria per l'opcache (da aumentare fino a ottenere un corretto rapporto di successo).
+* `opcache.memory_consumption` corrisponde alla quantità di memoria necessaria per l'opcache (da aumentare fino a ottenere un rapporto di hit corretto).
* `opcache.interned_strings_buffer` la quantità di stringhe da mettere in cache.
* `opcache.max_accelerated_files` è prossimo al risultato del comando `find ./ -iname "*.php"|wc -l`.
-Si può fare riferimento a una pagina `info.php` (compresa la funzione `phpinfo();`) per configurare l'opcache (vedi per esempio i valori di `Cached scripts` e `Cached strings`).
+Si può fare riferimento a una pagina `info.php` (compresa la `phpinfo();`) per configurare l'opcache (si vedano ad esempio i valori di `Cached scripts` e `Cached strings`).
-!!! Note "Nota"
+!!! Note
A ogni nuova distribuzione di nuovo codice, sarà necessario svuotare la opcache (ad esempio riavviando il processo php-fpm).
-!!! Note "Nota"
+!!! Note
Non sottovalutate il guadagno di velocità che si può ottenere impostando e configurando correttamente l'opcache.
diff --git a/docs/guides/web/php.md b/docs/guides/web/php.md
index 20000e649d..10c11138f4 100644
--- a/docs/guides/web/php.md
+++ b/docs/guides/web/php.md
@@ -51,9 +51,9 @@ To obtain a list of available versions, enter the following command:
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
```
- The Remi repository offers more recent releases of PHP than the Appstream repository, including versions 8.2 and 8.3.
+ The Remi repository offers more recent releases of PHP than the Appstream repository, including versions 8.3 and 8.4.
- To install the Remi repository, run the following command:
+ To install the Remi repository, run the following command (note: if you are running Rocky Linux 8.x or 10.x, substitute in 8 or 10 next to the "release-" below):
```bash
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
@@ -65,10 +65,10 @@ To obtain a list of available versions, enter the following command:
sudo dnf config-manager --set-enabled remi
```
- You can now activate a newer module (PHP 8.3) by entering the following command:
+ You can now activate a newer module (PHP 8.4) by entering the following command:
```bash
- sudo dnf module enable php:remi-8.3
+ sudo dnf module enable php:remi-8.4
```
=== "8.9 PHP module list"
diff --git a/docs/guides/web/php.uk.md b/docs/guides/web/php.uk.md
index c82a3434f9..4aa387ed26 100644
--- a/docs/guides/web/php.uk.md
+++ b/docs/guides/web/php.uk.md
@@ -52,9 +52,9 @@ Rocky Linux, як і його вихідна версія, пропонує ба
```
- Репозиторій Remi пропонує новіші версії PHP, ніж репозиторій Appstream, включаючи версії 8.2 і 8.3.
+ Репозиторій Remi пропонує новіші версії PHP, ніж репозиторій Appstream, включаючи версії 8.3 і 8.4.
- Щоб установити репозиторій Remi, виконайте таку команду:
+ Щоб встановити репозиторій Remi, виконайте наступну команду (примітка: якщо ви використовуєте Rocky Linux 8.x або 10.x, замість «release-» нижче вкажіть 8 або 10):
```bash
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
@@ -68,10 +68,10 @@ Rocky Linux, як і його вихідна версія, пропонує ба
```
- Тепер ви можете активувати новіший модуль (PHP 8.3), ввівши таку команду:
+ Тепер ви можете активувати новіший модуль (PHP 8.4), ввівши таку команду:
```bash
- sudo dnf module enable php:remi-8.3
+ sudo dnf module enable php:remi-8.4
```
=== "8.9 Список модулів PHP"
@@ -159,7 +159,7 @@ Rocky Linux, як і його вихідна версія, пропонує ба
Running transaction test
Transaction test succeeded.
- Complete!
+ Завершено!
```
=== "8.9 встановлення PHP"
@@ -228,7 +228,7 @@ phpinfo();
Використовуйте веб-браузер, щоб перевірити, чи сервер працює належним чином, перейшовши на сторінку [http://your-server-ip/info.php ](http://your-server-ip/info.php).
-!!! Warning "Важливо"
+!!! Warning "Увага"
Не залишайте файл info.php на своєму сервері!
diff --git a/docs/guides/web/tor_onion_service.it.md b/docs/guides/web/tor_onion_service.it.md
new file mode 100644
index 0000000000..cdbb42cbe9
--- /dev/null
+++ b/docs/guides/web/tor_onion_service.it.md
@@ -0,0 +1,107 @@
+---
+title: Servizio Tor Onion
+author: Neel Chauhan
+contributors: Ganna Zhrynova
+tested_with: 9.3
+tags:
+ - web
+ - proxy
+ - proxies
+---
+
+# Servizio Tor Onion
+
+## Introduzione
+
+[Tor](https://www.torproject.org/) è un servizio e un software di anonimato che instrada il traffico attraverso tre server gestiti da volontari e chiamati relay. Il design a tre hop serve a garantire la privacy resistendo ai tentativi di sorveglianza.
+
+Una caratteristica di Tor è la possibilità di eseguire siti web nascosti, esclusivi di Tor, chiamati [onion services](https://community.torproject.org/onion-services/). Tutto il traffico verso un servizio onion è quindi privato e crittografato.
+
+## Prerequisiti e presupposti
+
+I requisiti minimi per l'utilizzo di questa procedura sono i seguenti:
+
+- La possibilità di eseguire comandi come utente root o di utilizzare `sudo` per elevare i privilegi
+- Familiarità con un editor a riga di comando. L'autore utilizza `vi` o `vim`, ma è possibile sostituirli con il proprio editor preferito
+- Un server web in esecuzione su localhost o su un'altra porta TCP/IP
+
+## Installare Tor
+
+Per installare Tor, è necessario prima installare EPEL (Extra Packages for Enterprise Linux) ed eseguire gli aggiornamenti:
+
+```bash
+dnf -y install epel-release && dnf -y update
+```
+
+Quindi installare Tor:
+
+```bash
+dnf -y install tor
+```
+
+## Configurare Tor
+
+Una volta installati i pacchetti, è necessario configurare Tor. L'autore usa `vi` per questo, ma se preferite `nano` o qualcos'altro, sostituitelo pure:
+
+```bash
+vi /etc/tor/torrc
+```
+
+Il file `torrc` predefinito è abbastanza descrittivo, ma può diventare lungo se si vuole solo un servizio onion. Una configurazione minima del servizio onion è simile a questa:
+
+```bash
+HiddenServiceDir /var/lib/tor/onion-site/
+HiddenServicePort 80 127.0.0.1:80
+```
+
+### Osservare da più vicino
+
+- "HiddenServiceDir" è la posizione del nome host e delle chiavi crittografiche del servizio onion. Le chiavi sono memorizzate in `/var/lib/tor/onion-site/`
+- La "HiddenServicePort" è l'inoltro della porta dal server locale al servizio onion. Si sta inoltrando 127.0.0.1:80 alla porta 80 del nostro servizio Tor
+
+!!! warning
+
+```
+Se si intende utilizzare una directory per le chiavi di firma del servizio onion al di fuori di `/var/lib/tor/`, è necessario assicurarsi che i permessi siano `0700` e che il proprietario sia `toranon:toranon`.
+```
+
+## Configurare un server web
+
+Avrete anche bisogno di un server web sulla nostra macchina per servire i clienti del vostro servizio onion. È possibile utilizzare qualsiasi server web (Caddy, Apache o Nginx). L'autore preferisce Caddy. Per semplicità, installare Caddy:
+
+```bash
+dnf -y install caddy
+```
+
+Quindi, si inserisce quanto segue in `/etc/caddy/Caddyfile`:
+
+```bash
+http:// {
+ root * /usr/share/caddy
+ file_server
+}
+```
+
+## Test e avvio
+
+Una volta impostata la configurazione del relay Tor, il passo successivo è quello di attivare i demoni Tor e Caddy:
+
+```bash
+systemctl enable --now tor caddy
+```
+
+È possibile ottenere il nome host del servizio onion con questo comando:
+
+```bash
+cat /var/lib/tor/onion-site/hostname
+```
+
+Entro pochi minuti, il vostro servizio onion si propagherà attraverso la rete Tor e potrete visualizzare il vostro nuovo servizio onion nel browser Tor:
+
+
+
+## Conclusione
+
+I servizi onion sono uno strumento prezioso se si ospita un sito web privatamente o se si ha bisogno di bypassare il Carrier Grade NAT del proprio ISP utilizzando solo software open source.
+
+Sebbene i servizi onion non siano veloci come l'hosting diretto di un sito web (comprensibile a causa del design di Tor orientato alla privacy), sono molto più sicuri e privati rispetto all'Internet pubblico.
diff --git a/docs/guides/web/tor_onion_service.md b/docs/guides/web/tor_onion_service.md
index b9dfcf6b37..e2b8e4a705 100644
--- a/docs/guides/web/tor_onion_service.md
+++ b/docs/guides/web/tor_onion_service.md
@@ -9,7 +9,9 @@ tags:
- proxies
---
-# Tor Onion service
+!!! warning "Temporary Hold"
+
+ `tor` is currently missing from the EPEL. It will probably be built. The Docs Team will continue to test availability in the EPEL as time allows. For now, your only option is to build `tor` from source, and the instructions for doing that are currently missing here.
## Introduction
diff --git a/docs/guides/web/tor_onion_service.uk.md b/docs/guides/web/tor_onion_service.uk.md
index a3638a7280..9d5ffa819b 100644
--- a/docs/guides/web/tor_onion_service.uk.md
+++ b/docs/guides/web/tor_onion_service.uk.md
@@ -21,8 +21,8 @@ tags:
Нижче наведено мінімальні вимоги для використання цієї процедури:
-- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв.
-- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі.
+- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв
+- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі
- Веб-сервер, що працює на локальному хості або іншому порту TCP/IP
## Встановлення Tor
diff --git a/docs/index.de.md b/docs/index.de.md
index d10c7c4aec..3838d411e4 100644
--- a/docs/index.de.md
+++ b/docs/index.de.md
@@ -24,17 +24,17 @@ Die Hauptbereiche der Dokumentationseite sind:
* **Anleitungen**: die bestimmte Themen zum Einrichten und Benutzen von Rocky Linux abdecken.
* **Bücher**: enthalten detailliertere Informationen rund um einen bestimmten Bereich.
-* **Labs**: Sie werden Spaß an diese Tutorials haben!
+* **Labs**: „Zurück zur Schule“, diese Tutorials werden Ihnen Spaß machen!
* **Gems**: Hier werden nützliche Skripte und Tipps zur Verwendung von Befehlen vorgestellt.
* **Release Notes**: enthalten Rocky Linux Release Notes und Versionsupdate Informationen.
* **Rocky Linux**: Link zur Offiziellen Homepage.
### Multilingual
-Bei Rocky Linux wollen wir die Dokumentationsseite für jeden in seiner Lieblingssprache zugänglich machen — *deshalb sind Übersetzungen in verschiedenen Sprachen wesentlich*. Wenn Sie auf die Sprachauswahl (文A bzw. wén-A Icon) im oberen Menü klicken, sehen Sie die Sprachen, die zurzeit verfügbar sind: Dazu gibt es zwei Teile:
+Bei Rocky Linux wollen wir die Dokumentationsseite für jeden in seiner Lieblingssprache zugänglich machen — *deshalb sind Übersetzungen in verschiedenen Sprachen wesentlich*. Wenn Sie auf die Sprachauswahl (文A bzw. `wén-A` Icon) im oberen Menü klicken, sehen Sie die Sprachen, die zurzeit verfügbar sind: Dazu gibt es zwei Teile:
1. Lokalisierung der Webseiten-Schnittstelle: Wenn Sie eine andere Sprache wählen, zum Beispiel Français, werden Sie feststellen, dass die Schnittstelle, zum Beispiel die Navigatoren 'Weiter' und 'Vorheriger' übersetzt werden.
-1. Inhalt: Das Übersetzen von Inhalten ist eine [laufende](https://crowdin.com/project/rockydocs/activity-stream) (bedeutende) [Aufgabe](https://crowdin.com/project/rockydocs). Noch nicht alle Inhalte sind in allen Sprachen übersetzt. Alle Seiten, die übersetzt wurden (in der ausgewählten Sprache) werden entsprechend dargestellt, diejenigen, die es noch nicht vollständig sind, werden in Englisch angezeigt. Wenn Sie der Community durch Übersetzungen helfen möchten, sind Sie sehr willkommen — siehe unten für weitere Details zur Vorgehensweise.
+1. Inhalt: Das Übersetzen von Inhalten ist eine [laufende](https://crowdin.com/project/rockydocs/activity-stream) (https://crowdin.com/project/rockydocs/activity-stream) [Aufgabe](https://crowdin.com/project/rockydocs). Noch nicht alle Inhalte sind in allen Sprachen übersetzt. Alle Seiten, die übersetzt wurden (in der ausgewählten Sprache) werden entsprechend dargestellt, diejenigen, die es noch nicht vollständig sind, werden in Englisch angezeigt. Wenn Sie der Community durch Übersetzungen helfen möchten, sind Sie sehr willkommen — siehe unten für weitere Details zur Vorgehensweise.
!!! note "Anmerkung"
@@ -54,4 +54,4 @@ Wenn Sie nicht weiter kommen oder Fragen haben, ist die Rocky Linux Community da
## Mitwirkung
-Haben Sie festgestellt, dass etwas fehlt? Haben Sie einen Fehler gefunden? Sie fragen sich, wie Sie ein eigenes Dokument erstellen oder wie Sie etwas hier reparieren oder anpassen können? Haben wir nicht gesagt, dass *Sie*, wenn Sie möchten, Teil der Rocky Linux Community sind? Nun, das bedeutet, dass *Sie* für uns wichtig sind und wir gern möchten, dass Sie sich uns anschließen und helfen diese Dokumentation zu verbessern. Wenn Sie daran interessiert sind, schauen Sie im [Contribution Guide](https://github.com/rocky-linux/documentation/blob/main/README.md) nach!
+Haben Sie festgestellt, dass etwas fehlt? Haben Sie einen Fehler gefunden? Sie fragen sich, wie Sie ein eigenes Dokument erstellen oder wie Sie etwas hier reparieren oder anpassen können? Haben wir nicht gesagt, dass *Sie*, wenn Sie möchten, Teil der Rocky Linux Community sind? Nun, das bedeutet, dass *Sie* für uns wichtig sind und wir gern möchten, dass Sie sich uns anschließen und helfen diese Dokumentation zu verbessern. Wenn Sie daran interessiert sind, schauen Sie im [Contribution Guide](https://github.com/rocky-linux/documentation/blob/main/README.md) nach!
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: rockydocs/activity-stream , rockylinux.org
🖋 Contributors: github.com/rocky-linux
diff --git a/docs/index.es.md b/docs/index.es.md
index c784cde406..4dfbec39fe 100644
--- a/docs/index.es.md
+++ b/docs/index.es.md
@@ -31,10 +31,10 @@ Las secciones principales de la plataforma de documentación son las siguientes:
### Idiomas Múltiples
-En Rocky Linux queremos hacer el sitio de documentación lo más accesible posible para todas las personas. — *las traducciones a diferentes idiomas son una parte fundamental para lograr este objetivo. *. Si haces clic en el selector de idioma en el menú superior verás todos los idiomas disponibles en este momento. Hay dos partes de esto:
+En Rocky Linux queremos hacer el sitio de documentación lo más accesible posible para todas las personas. — *las traducciones a diferentes idiomas son una parte fundamental para lograr este objetivo*. Si haces clic en el selector de idioma en el menú superior verás todos los idiomas disponibles en este momento. Hay dos partes de esto:
1. Regionalización de la interfaz del sitio web: si se elige otro idioma, observará que los botones de navegación 'Siguiente' y 'Anteriores', estarán en el idioma elegido.
-1. Naturalmente la traducción de nuestro sitio es un trabajo en curso y constante. No todo el contenido actual está traducido a todos los idiomas disponibles aun. Así que todas las páginas que han sido traducidas a tu idioma de preferencia se mostrarán en dicho idioma excepto las que aun estén pendientes de traducción que, por defecto, se mostrarán en el idioma inglés. Si desea contribuir a la comunidad a través de las traducciones, al equipo de documentación le encantaría saber de usted — vea abajo para más detalles.
+1. Naturalmente la traducción de nuestro sitio es un trabajo en curso y constante (https://crowdin.com/project/rockydocs/activity-stream). No todo el contenido actual está traducido a todos los idiomas disponibles aun. Así que todas las páginas que han sido traducidas a tu idioma de preferencia se mostrarán en dicho idioma excepto las que aun estén pendientes de traducción que, por defecto, se mostrarán en el idioma inglés. Si desea contribuir a la comunidad a través de las traducciones, al equipo de documentación le encantaría saber de usted — vea abajo para más detalles.
!!! Observación
@@ -54,4 +54,4 @@ Pero si le llegan a surgir preguntas que no se encuentran cubiertas, puede acudi
## Como contribuir al proyecto
-¿Has encontrado algo que falta? ¿Has encontrado un error? ¿Te estás preguntando cómo crear un documento propio, o cómo arreglar cosas aquí? ¿Recuerda cuando dijimos que *usted* forma parte de la comunidad de Rocky? Bueno, eso significa que *usted* es importante para nosotros y queremos que se una, si lo desea, para, entre todos, mejorar esta documentación. ¡Si le resulta de interés, visite nuestra [Guía Para Contribuciones](https://github.com/rocky-linux/documentation/blob/main/README.md) para aprender como contribuir!
+¿Has encontrado algo que falta? ¿Has encontrado un error? ¿Te estás preguntando cómo crear un documento propio, o cómo arreglar cosas aquí? ¿Recuerda cuando dijimos que *usted* forma parte de la comunidad de Rocky? Bueno, eso significa que *usted* es importante para nosotros y queremos que se una, si lo desea, para, entre todos, mejorar esta documentación. ¡Si le resulta de interés, visite nuestra [Guía Para Contribuciones](https://github.com/rocky-linux/documentation/blob/main/README.md) para aprender como contribuir!
🌐 Translations: crowdin.com/project/rockydocs
🌍 Translators: rockydocs/activity-stream , rockylinux.org
🖋 Contribute: github.com/rocky-linux
diff --git a/docs/index.fr.md b/docs/index.fr.md
index 292fccc0c8..eaf710ea95 100644
--- a/docs/index.fr.md
+++ b/docs/index.fr.md
@@ -16,9 +16,9 @@ Cette page d'accueil vous donnera une introduction au site de cette documentatio
### Tour d'horizon
-En ce moment, vous êtes sur la page d'accueil de la documentation. Si vous jetez un coup d'œil au menu supérieur (qui devrait être toujours disponible, y compris sur les appareils mobiles) vous pouvez voir la structure principale montrant les sections du niveau principal du site de documentation. Si vous cliquez sur chaque lien de menu en haut (essayez 'Guides' par exemple) puis sur le côté gauche vous verrez la liste des *sous-sections* pour chaque section principale. Les guides traitent de nombreux thèmes.
+En ce moment, vous êtes sur la page d'accueil de la documentation. Si vous jetez un coup d'œil au menu supérieur (qui devrait être toujours disponible, y compris sur les appareils mobiles) vous pouvez voir la structure principale montrant les sections du niveau principal du site de documentation. Si vous cliquez sur chaque lien de menu en haut (essayez `Guides` par exemple) puis sur le côté gauche vous verrez la liste des *sous-sections* pour chaque section principale. Les guides traitent de nombreux thèmes.
-Lorsque vous ouvrez un document, sur le côté droit vous verrez une 'Table des matières' avec des liens de navigation cliquables pour ce document (pour les appareils mobiles essayez de basculer l'affichage horizontalement). Pour les documents longs, comme les [Notes de publication](release_notes/8_8.md), la table des matières facilite la navigation dans le document. Si vous lisez un document long et que vous voulez revenir en haut de la page, appuyez sur ++page-up++ et vous verrez apparaître un bouton `Retour vers le haut` en haut de l'écran.
+Lorsque vous ouvrez un document, sur le côté droit vous verrez une `Table des matières` avec des liens de navigation cliquables pour ce document (pour les appareils mobiles essayez de basculer l'affichage horizontalement). Pour les documents longs, comme les [Notes de publication](release_notes/8_8.md), la table des matières facilite la navigation dans le document. Si vous lisez un long document et souhaitez revenir au début, appuyez sur ++page-up++ et vous verrez un bouton `Retour en haut de la page` apparaître en haut de l'écran.
Les sections principales du site de documentation sont :
@@ -31,27 +31,36 @@ Les sections principales du site de documentation sont :
### Multilingue
-Dans l'équipe Rocky Linux, nous voulons rendre le site de documentation accessible à autant de monde que possible — *la traduction dans différentes langues est importante pour cela*. Si vous cliquez sur le sélecteur de langue (symbole 文A, wén-A) dans le menu supérieur, vous verrez les langues dans lesquelles le site est disponible. Il y a deux parties à cela :
+Dans l'équipe Rocky Linux, nous voulons rendre le site de documentation accessible à autant de monde que possible — *la traduction dans différentes langues est importante pour cela*. Si vous cliquez sur le sélecteur de langue (symbole `文A`, `wén-A`) dans le menu supérieur, vous verrez les langues dans lesquelles le site est disponible. Il y a deux parties à cela :
-1. Traduction de l'interface du site web : si vous choisissez une autre langue, par exemple le Français, vous noterez que l'interface, par exemple les boutons de navigation 'Suivant' et 'Précédent' seront traduits.
-1. Contenu : [la traduction du contenu est une tâche](https://crowdin.com/project/rockydocs/activity-stream) (importante) [en cours](https://crowdin.com/project/rockydocs). Tout le contenu n'est pas encore traduit dans toutes les langues. Toutes les pages qui ont été traduites (dans la langue sélectionnée) seront vues dans la langue choisie, celles qui ne le sont pas encore se retrouveront dans la langue anglaise par défaut. Si vous voulez contribuer à la communauté par le biais des traductions, l'équipe de documentation sera ravie de faire votre connaissance, voir ci-dessous pour plus de détails.
+1. Traduction de l'interface du site web : si vous choisissez une autre langue, par exemple le Français, vous noterez que l'interface, par exemple les boutons de navigation `Suivant` et `Précédent` seront traduits.
+1. Contenu : [la traduction du contenu est une tâche](https://crowdin.com/project/rockydocs/activity-stream) (https://crowdin.com/project/rockydocs/activity-stream) [en cours](https://crowdin.com/project/rockydocs).
-!!! note "Remarque"
-
- Toutes les fonctionnalités peuvent ne pas être disponibles dans toutes les langues, c'est une limitation des modules MkDocs sous-jacents.
+. Tout le contenu n'est pas encore traduit dans toutes les langues. Toutes les pages qui ont été traduites (dans la langue sélectionnée) seront vues dans la langue choisie, celles qui ne le sont pas encore se retrouveront dans la langue anglaise par défaut. Si vous voulez contribuer à la communauté par le biais des traductions, l'équipe de documentation sera ravie de faire votre connaissance, voir ci-dessous pour plus de détails.
+
+ !!! note "Remarque"
+
+ Toutes les fonctionnalités peuvent ne pas être disponibles dans toutes les langues, c'est une limitation des modules MkDocs sous-jacents.
+
+
+
### Utiliser la recherche
-Si vous voulez rapidement trouver des informations/documents spécifiques, le site de documentation a une capacité de recherche de texte complet. Il vous suffit de saisir votre recherche dans le champ "Rechercher" de la barre de menu du haut et le site retournera les résultats de la recherche.
+Si vous voulez rapidement trouver des informations/documents spécifiques, le site de documentation a une capacité de recherche de texte complet. Il vous suffit de saisir votre recherche dans le champ `Rechercher` de la barre de menu du haut et le site retournera les résultats de la recherche.
Pour ouvrir une page parmi les résultats de recherche, cliquez simplement (ou appuyez sur mobile) sur la page désirée dans la liste affichée.
+
+
## Première fois
Si c'est la première fois que vous visitez le site de documentation de Rocky Linux alors probablement vous êtes nouveau sur Rocky Linux et vous avez envie de l'installer ! Pas de problème, passez à la page [Installation de Rocky Linux](guides/installation.md) pour obtenir des instructions détaillées.
Si vous êtes coincé et que vous avez une question, la communauté Rocky Linux est là pour vous aider. Visitez le [forum de la communauté](https://forums.rockylinux.org) et vous pourrez rechercher des solutions et poster vos propres questions à la communauté.
-## Contribuer
-Avez-vous trouvé quelque chose de manquant ? Avez-vous trouvé une erreur ? Vous vous demandez comment créer votre propre document ou comment en corriger un ? Rappelez-vous lorsque nous avons dit que *vous* étiez la communauté Rocky Linux ? Eh bien, cela signifie que *vous* êtes important pour nous et nous voulons que vous nous rejoigniez, si vous le souhaitez, et aider à améliorer cette documentation. Si cela vous intéresse, rendez-vous sur notre [Guide de Contribution](https://github.com/rocky-linux/documentation/blob/main/README.md) pour savoir comment faire !
+
+## Votre Contribution
+
+Avez-vous trouvé quelque chose de manquant ? Avez-vous trouvé une erreur ? Vous vous demandez comment créer votre propre document ou comment en corriger un ? Rappelez-vous lorsque nous avons dit que *vous* étiez la communauté Rocky Linux ? Cela signifie que *vous* êtes important pour nous et nous voulons que vous nous rejoigniez, si vous le voulez, et que vous nous aidiez à améliorer cette documentation. Si cela vous intéresse, rendez-vous sur notre [Guide de Contribution](https://github.com/rocky-linux/documentation/blob/main/README.md) pour savoir comment faire !
🌐 Traductions: crowdin.com/project/rockydocs
🌍 Traducteurs: rockydocs/activity-stream
🖋 Contributeurs: github.com/rocky-linux/documentation
diff --git a/docs/labs/index.de.md b/docs/labs/index.de.md
index 2753000bb1..dff3646681 100644
--- a/docs/labs/index.de.md
+++ b/docs/labs/index.de.md
@@ -6,4 +6,4 @@ title: Tutorial Labs
Was sind **Labs** und wie unterscheiden sie sich von längeren Dokumentationen wie unter **Books**? Die **Labos** sind Workshops, die es Ihnen ermöglichen, in bestimmten Themen Schritt für Schritt voranzukommen, um den Lernprozess zu optimieren. Dazu gehören Übungen zur Überprüfung des erworbenen Wissens. Diese Workshops dienen ausschließlich Pädagogischen- und Bildunds-Zwecken. Sie sollen Ihnen helfen, bestimmte Themen der Systemadministration zu verstehen, zum Experimentieren anzuregen, die Zusammenarbeit zu fördern, usw. – und das in einer sicheren, simulierten Laborumgebung.
-Verfügen Sie über Erfahrungen in einem Fachgebiet, die sich auf ein Labor-Thema übertragen lassen? Großartig! Wir würden uns über Ihre Teilnahme freuen. Die Teilnahme unterscheidet sich nicht von der Teilnahme an der Rocky Linux-Dokumentation – gehen Sie einfach zum Kanal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) und treten Sie bei. Teilen Sie uns mit, was Sie schreiben möchten, und wir begleiten Sie in Ihrem Vorhaben.
+Verfügen Sie über Erfahrungen in einem Fachgebiet, die sich auf ein Labor-Thema übertragen lassen? Großartig! Wir würden uns über Ihre Teilnahme freuen. Die Teilnahme unterscheidet sich nicht von der Teilnahme an der Rocky Linux-Dokumentation – gehen Sie einfach zum Kanal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) und treten Sie bei. Teilen Sie uns mit, was Sie schreiben möchten, und wir begleiten Sie in Ihrem Vorhaben.
Übersetzungen: crowdin.com/project/rockydocs
Übersetzer: crowdin.com/project/rockydocs/activity-stream
diff --git a/docs/labs/index.fr.md b/docs/labs/index.fr.md
index bb5417eebb..2e463275ab 100644
--- a/docs/labs/index.fr.md
+++ b/docs/labs/index.fr.md
@@ -6,4 +6,4 @@ title: Tutoriels (Labos)
Quels sont ces ateliers **Labos** et quelle est la différence avec la documentation plus détaillée dans la catégorie **Livres** ? Les **Labos** sont des ateliers qui permettent d'évoluer étape par étape dans certains sujets de manière à optimiser le processus d'apprentissage. Ils contiennent des exercices qui permettent de tester vos connaissances. Ces ateliers sont destinés uniquement à des fins pédagogiques. Ils sont conçus pour vous aider à comprendre des sujets particuliers liés à l'administration système, à stimuler l'expérimentation, à encourager la collaboration, etc., dans un environnement de laboratoire simulé et sécurisé.
-Vous possédez des connaissances particulières que vous aimeriez intégrer dans ces labos ? C'est super ! Votre participation à Rocky Linux est la bienvenue. Participer aux labos n'est pas très différent de la participation à la documentation Rocky Linux -- allez simplement sur le canal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation), rejoignez la conversation, dites-nous ce que vous voulez écrire et nous vous accompagnerons dans votre projet.
+Vous possédez des connaissances particulières que vous aimeriez intégrer dans ces ateliers ? C'est super ! Votre participation à Rocky Linux est la bienvenue. Participer aux labos n'est pas très différent de la participation à la documentation Rocky Linux -- allez simplement sur le canal [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation), rejoignez la conversation, dites-nous ce que vous voulez écrire et nous vous accompagnerons dans votre projet.
🌐 Traductions: https://crowdin.com/project/rockydocs
🌍 Traducteurs: https://crowdin.com/project/rockydocs/activity-stream
diff --git a/docs/labs/kubernetes-the-hard-way/lab0-README.de.md b/docs/labs/kubernetes-the-hard-way/lab0-README.de.md
new file mode 100644
index 0000000000..80de276dc6
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab0-README.de.md
@@ -0,0 +1,54 @@
+---
+title: Einleitung
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+# Kubernetes auf die harte Tour (Rocky Linux)
+
+!!! info
+
+ Dies ist ein Fork des ursprünglichen ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way), das ursprünglich von Kelsey Hightower geschrieben wurde (GitHub: kelseyhightower). Im Gegensatz zum Original, das auf Debian-ähnlichen Distributionen für die ARM64-Architektur basiert, zielt dieser Fork auf Enterprise-Linux-Distributionen wie Rocky Linux ab, das auf der x86_64-Architektur läuft.
+
+Dieses Tutorial führt Sie durch die anspruchsvolle Einrichtung von Kubernetes. Es ist nicht für jemanden geeignet, der nach einem vollständig automatisierten Tool zum Einrichten eines Kubernetes-Clusters sucht. `Kubernetes The Hard Way` ist zum Lernen konzipiert. Sie müssen also den langen Weg gehen, um sicherzustellen, dass Sie jede Aufgabe verstehen, die zum Bootstrapping eines Kubernetes-Clusters erforderlich ist.
+
+Betrachten Sie die Ergebnisse dieses Tutorials nicht als produktionsreif und es wird möglicherweise keine Unterstützung von der Community erhalten, aber lassen Sie sich dadurch nicht vom Lernen abhalten!
+
+## Copyright
+
+
+
+Die Lizenzierung dieses Werks erfolgt unter einer [Creative Commons Attribution-NonCommercial-=ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
+
+## Zielgruppe
+
+Die Zielgruppe dieses Tutorials sind alle, die die Grundlagen von Kubernetes und die Zusammenarbeit der Kernkomponenten verstehen möchten.
+
+## Cluster-Details
+
+`Kubernetes The Hard Way` führt Sie durch das Bootstrapping eines einfachen Kubernetes-Clusters, bei dem alle Control-Plane-Komponenten auf einem einzelnen Knoten und zwei Worker-Knoten ausgeführt werden. Dies reicht aus, um die Kernkonzepte zu erlernen.
+
+Komponenten-Versionen:
+
+- [kubernetes](https://github.com/kubernetes/kubernetes) v1.32.x
+- [containerd](https://github.com/containerd/containerd) v2.0.x
+- [cni](https://github.com/containernetworking/cni) v1.6.x
+- [etcd](https://github.com/etcd-io/etcd) v3.4.x
+
+## Labs
+
+Für dieses Tutorial sind vier (4) x86_64-basierte virtuelle oder physische Maschinen erforderlich, die mit demselben Netzwerk verbunden sind. Während im Tutorial x86_64-basierte Maschinen verwendet werden, können Sie die gewonnenen Erkenntnisse auf andere Plattformen anwenden.
+
+- [Voraussetzungen](lab1-prerequisites.md)
+- [Setup der Jumpbox](lab2-jumpbox.md)
+- [Provisionierung der Rechner Ressourcen](lab3-compute-resources.md)
+- [Provisionierung der CA und Generierung von TLS-Zertifikate](lab4-certificate-authority.md)
+- [Generierung der Kubernetes Konfigurationsdateien für die Authentifizierung](lab5-kubernetes-configuration-files.md)
+- [Generierung der Data Encryption Konfiguration und Schlüssel](lab6-data-encryption-keys.md)
+- [Bootstrapping vom etcd-Cluster](lab7-bootstrapping-etcd.md)
+- [Bootstrapping the Kubernetes Control Plane](lab8-bootstrapping-kubernetes-controllers.md)
+- [Bootstrapping the Kubernetes Worker Nodes](lab9-bootstrapping-kubernetes-workers.md)
+- [Configuring kubectl for Remote Access](lab10-configuring-kubectl.md)
+- [Provisioning Pod Network Routes](lab11-pod-network-routes.md)
+- [Smoke Test](lab12-smoke-test.md)
+- [Cleaning Up](lab13-cleanup.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab0-README.fr.md b/docs/labs/kubernetes-the-hard-way/lab0-README.fr.md
new file mode 100644
index 0000000000..92cb8e367d
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab0-README.fr.md
@@ -0,0 +1,54 @@
+---
+title: Introduction
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+# Kubernetes The Hard Way (Rocky Linux)
+
+!!! info
+
+ Il s'agit d'un fork de l'original ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) écrit à l'origine par Kelsey Hightower (GitHub : kelseyhightower). Contrairement à l'original, qui se base sur des distributions de type Debian pour l'architecture ARM64, ce fork cible les distributions Enterprise Linux telles que Rocky Linux, qui fonctionne sur l'architecture x86_64.
+
+Ce tutoriel vous guide dans la configuration de Kubernetes à la dure. Ce n’est pas pour quelqu’un qui recherche un outil entièrement automatisé pour configurer une grappe Cluster Kubernetes. `Kubernetes The Hard Way` est conçu pour l'apprentissage, cela signifie donc prendre le long chemin pour vous assurer de comprendre chaque tâche requise pour démarrer un cluster Kubernetes.
+
+Ne considérez pas les résultats de ce tutoriel comme prêts pour la production, et il se peut qu'il ne reçoive pas le soutien de la communauté, mais ne laissez pas cela vous empêcher d'apprendre !
+
+## Droits d'auteur
+
+
+
+La licence de cette œuvre est assujettie à cette Licence : [Creative Commons Attribution-NonCommercial-=ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
+
+## Audience cible
+
+Le public cible de ce tutoriel est toute personne souhaitant comprendre les principes fondamentaux de Kubernetes et la manière dont les composants principaux interagissent ensemble.
+
+## Détails du cluster
+
+`Kubernetes The Hard Way` vous guide à travers l'amorçage d'un cluster Kubernetes de base avec tous les composants du plan de contrôle exécutés sur un seul nœud et deux nœuds de travail, ce qui est suffisant pour apprendre les concepts de base.
+
+Version des composantes :
+
+- [kubernetes](https://github.com/kubernetes/kubernetes) v1.32.x
+- [containerd](https://github.com/containerd/containerd) v2.0.x
+- [cni](https://github.com/containernetworking/cni) v1.6.x
+- [etcd](https://github.com/etcd-io/etcd) v3.4.x
+
+## Ateliers
+
+Ce tutoriel nécessite quatre (4) machines virtuelles ou physiques basées sur x86_64 connectées au même réseau. Bien que le tutoriel utilise des machines basées sur x86_64, vous pouvez appliquer les leçons apprises à d'autres plates-formes.
+
+- [Prérequis](lab1-prerequisites.md)
+- [Mise en Place de Jumpbox](lab2-jumpbox.md)
+- [Provisioning Compute Resources](lab3-compute-resources.md)
+- [Provisioning the CA and Generating TLS Certificates](lab4-certificate-authority.md)
+- [Generating Kubernetes Configuration Files for Authentication](lab5-kubernetes-configuration-files.md)
+- [Generating the Data Encryption Config and Key](lab6-data-encryption-keys.md)
+- [Bootstrapping the etcd Cluster](lab7-bootstrapping-etcd.md)
+- [Bootstrapping the Kubernetes Control Plane](lab8-bootstrapping-kubernetes-controllers.md)
+- [Bootstrapping the Kubernetes Worker Nodes](lab9-bootstrapping-kubernetes-workers.md)
+- [Configuring kubectl for Remote Access](lab10-configuring-kubectl.md)
+- [Provisioning Pod Network Routes](lab11-pod-network-routes.md)
+- [Smoke Test](lab12-smoke-test.md)
+- [Cleaning Up](lab13-cleanup.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab0-README.it.md b/docs/labs/kubernetes-the-hard-way/lab0-README.it.md
new file mode 100644
index 0000000000..65d4837bc3
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab0-README.it.md
@@ -0,0 +1,56 @@
+---
+title: Introduzione
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+---
+
+# Kubernetes The Hard Way (Rocky Linux)
+
+!!! info
+
+ Questo è un fork dell'originale [“Kubernetes the hard way”](https://github.com/kelseyhightower/kubernetes-the-hard-way) scritto originariamente da Kelsey Hightower (GitHub: kelseyhightower). A differenza dell'originale, che si basa su distribuzioni simili a Debian per l'architettura ARM64, questo fork è destinato alle distribuzioni Enterprise Linux come Rocky Linux, che funzionano su architettura x86_64.
+
+ Tradotto con DeepL.com (versione gratuita)
+
+Questo tutorial vi guiderà nella configurazione di Kubernetes alla maniera "hard way". Non è adatto per chi è alla ricerca di un tool completamente automatizzato per configurare un cluster Kubernetes. Kubernetes The Hard Way è progettato per l'apprendimento, il che significa intraprendere un iter più lungo per assicurarsi di comprendere ogni task necessario per avviare un cluster Kubernetes.
+
+Il risultato finale di questo tutorial non è da considerare adatto per un ambiente di produzione e potrebbe non essere supportato dalla comunty, ma non si lasci che questo vi impedisca di imparare!
+
+## Copyright
+
+
+
+La licenza di quest'opera è concessa ai sensi della [Creative Commons Attribution-NonCommercial-=ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-nc-sa/4.0/).
+
+## Destinatari
+
+Questo tutorial è rivolto a chiunque desideri comprendere i fondamenti di Kubernetes e il funzionamento dei suoi componenti principali.
+
+## Dettagli del cluster
+
+Kubernetes The Hard Way vi guiderà nel processo di avvio di un cluster Kubernetes di base con tutti i componenti del control plane in esecuzione su un singolo nodo e due nodi di elaborazione (worker), sufficienti per apprendere i concetti fondamentali.
+
+Versioni dei componenti:
+
+- [kubernetes](https://github.com/kubernetes/kubernetes) v1.32.x
+- [containerd](https://github.com/containerd/containerd) v2.0.x
+- [cni](https://github.com/containernetworking/cni) v1.6.x
+- [etcd](https://github.com/etcd-io/etcd) v3.4.x
+
+## Labs
+
+Questo tutorial richiede quattro (4) macchine virtuali o fisiche basate su x86_64 collegate alla stessa rete. Sebbene il tutorial utilizzi macchine basate su x86_64, è possibile applicare le nozioni apprese ad altre piattaforme.
+
+- [Prerequisiti](lab1-prerequisites.md)
+- [Configurazione della Jumpbox](lab2-jumpbox.md)
+- [Provisioning delle risorse di calcolo](lab3-compute-resources.md)
+- [Provisioning della CA e generazione dei certificati TLS](lab4-certificate-authority.md)
+- [Generazione dei file di configurazione Kubernetes per l'autenticazione](lab5-kubernetes-configuration-files.md)
+- [Generazione della configurazione e della chiave di crittografia dei dati](lab6-data-encryption-keys.md)
+- [Avvio del cluster etcd](lab7-bootstrapping-etcd.md)
+- [Avvio del Control Plane di Kubernetes](lab8-bootstrapping-kubernetes-controllers.md)
+- [Avvio dei nodi Worker di Kubernetes](lab9-bootstrapping-kubernetes-workers.md)
+- [Configurazione di kubectl per l'accesso remoto](lab10-configuring-kubectl.md)
+- [Provisioning delle rotte di rete dei pod](lab11-pod-network-routes.md)
+- [Smoke Test](lab12-smoke-test.md)
+- [Cleaning Up](lab13-cleanup.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab0-README.uk.md b/docs/labs/kubernetes-the-hard-way/lab0-README.uk.md
index 825739b0f9..a4fa110ca4 100644
--- a/docs/labs/kubernetes-the-hard-way/lab0-README.uk.md
+++ b/docs/labs/kubernetes-the-hard-way/lab0-README.uk.md
@@ -35,7 +35,7 @@ Kubernetes The Hard Way проведе вас через завантаженн
- [cni](https://github.com/containernetworking/cni) v1.6.x
- [etcd](https://github.com/etcd-io/etcd) v3.4.x
-## Тестова платформа
+## Labs
Для цього посібника потрібні чотири (4) віртуальні або фізичні машини на базі x86_64, підключені до однієї мережі. Хоча підручник використовує машини на базі x86_64, ви можете застосувати отримані уроки на інших платформах.
diff --git a/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.de.md b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.de.md
new file mode 100644
index 0000000000..2ac144ae08
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.de.md
@@ -0,0 +1,43 @@
+---
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - kubernetes
+ - k8s
+ - Laborübung
+---
+
+# Labor 1: Voraussetzungen
+
+!!! info
+
+ Dies ist ein Fork des ursprünglichen ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way), das ursprünglich von Kelsey Hightower geschrieben wurde (GitHub: kelseyhightower). Im Gegensatz zum Original, das auf Debian-ähnlichen Distributionen für die ARM64-Architektur basiert, zielt dieser Fork auf Enterprise-Linux-Distributionen wie Rocky Linux ab, das auf der x86_64-Architektur läuft.
+
+In diesem Labor überprüfen Sie die Maschinenanforderungen, die zum Durchführen dieses Lernprogramms erforderlich sind.
+
+## Virtuelle oder Physische Maschinen
+
+Dieses Tutorial erfordert vier (4) virtuelle oder physische x86_64-Maschinen mit Rocky Linux 9.5 (Incus- oder LXD-Container sollten auch funktionieren). In der folgenden Tabelle sind die vier Maschinen und ihre CPU-, Speicher- und Speicherplatzanforderungen aufgeführt.
+
+| Name | Beschreibung | CPU | RAM | Speicher |
+| ------- | ------------------------ | --- | ----- | -------- |
+| jumpbox | Verwaltungs-Host | 1 | 512MB | 10GB |
+| server | Kubernetes-Server | 1 | 2GB | 20GB |
+| node-0 | Kubernetes-Worker-Knoten | 1 | 2GB | 20GB |
+| node-1 | Kubernetes-Worker-Knoten | 1 | 2GB | 20GB |
+
+Wie Sie die Maschinen bereitstellen, bleibt Ihnen überlassen. Die einzige Voraussetzung ist, dass jede Maschine die oben genannten Systemanforderungen erfüllt, einschließlich der Maschinenspezifikationen und der Betriebssystemversion. Sobald Sie alle vier Maschinen bereitgestellt haben, überprüfen Sie die Systemanforderungen, indem Sie auf jeder Maschine den Befehl `uname` ausführen:
+
+```bash
+uname -mov
+```
+
+Nachdem Sie den Befehl `uname` ausgeführt haben, sollten Sie die folgende Ausgabe sehen:
+
+```text
+#1 SMP PREEMPT_DYNAMIC Wed Feb 19 16:28:19 UTC 2025 x86_64 GNU/Linux
+```
+
+Das „x86_64“ in der Ausgabe bestätigt, dass das System eine x86_64-Architektur hat. Dies sollte bei verschiedenen AMD- und Intel-basierten Systemen der Fall sein.
+
+Fortsetzung folgt: [setting-up-the-jumpbox](lab2-jumpbox.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.fr.md b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.fr.md
index c437b7cd72..d070fa40b0 100644
--- a/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.fr.md
+++ b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.fr.md
@@ -17,7 +17,7 @@ Dans ce laboratoire, vous passerez en revue les exigences machine nécessaires p
## Machines virtuelles ou physiques
-Ce tutoriel nécessite quatre (4) machines x86_64 virtuelles ou physiques exécutant Debian 12 (bookworm). Le tableau suivant répertorie les quatre machines et leurs exigences en matière de CPU, de mémoire et de stockage.
+Ce tutoriel nécessite quatre (4) machines x86_64 virtuelles ou physiques exécutant Rocky Linux 9.5 (les conteneurs Incus ou LXD devraient également fonctionner). Le tableau suivant répertorie les quatre machines et leurs exigences en matière de CPU, de mémoire et de stockage.
| Nom | Description | CPU | RAM | Stockage |
| ------- | ------------------------- | --- | ------ | -------- |
diff --git a/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.it.md b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.it.md
new file mode 100644
index 0000000000..4458562988
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.it.md
@@ -0,0 +1,43 @@
+---
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - kubernetes
+ - k8s
+ - lab exercise
+---
+
+# Laboratorio 1: Prerequisiti
+
+!!! info
+
+ Si tratta di un fork dell'originale ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) scritto originariamente da Kelsey Hightower (GitHub: kelseyhightower). A differenza dell'originale, che si basa su distribuzioni simili a Debian per l'architettura ARM64, questo fork si rivolge a distribuzioni Enterprise Linux come Rocky Linux, che gira su architettura x86_64.
+
+In questo laboratorio verranno esaminati i requisiti della macchina necessari per seguire questa esercitazione.
+
+## Macchine virtuali o fisiche
+
+Questa esercitazione richiede quattro (4) macchine virtuali o fisiche x86_64 con Rocky Linux 9.5 (anche i container Incus o LXD dovrebbero funzionare). La tabella seguente elenca le quattro macchine e i relativi requisiti di CPU, memoria e storage.
+
+| Nome | Descrizione | CPU | RAM | Storage |
+| ------- | ---------------------- | --- | ----- | ------- |
+| jumpbox | Host amministrativo | 1 | 512MB | 10GB |
+| server | Kubernetes server | 1 | 2GB | 20GB |
+| node-0 | Nodo worker Kubernetes | 1 | 2GB | 20GB |
+| node-1 | Nodo worker Kubernetes | 1 | 2GB | 20GB |
+
+La modalità di provisioning delle macchine è a vostra discrezione; l'unico requisito è che ogni macchina soddisfi i requisiti di sistema sopra indicati, comprese le specifiche della macchina e la versione del sistema operativo. Una volta che tutte e quattro le macchine sono state messe a disposizione, verificare i requisiti di sistema eseguendo il comando `uname` su ogni macchina:
+
+```bash
+uname -mov
+```
+
+Dopo aver eseguito il comando `uname`, si dovrebbe vedere il seguente risultato:
+
+```text
+#1 SMP PREEMPT_DYNAMIC Wed Feb 19 16:28:19 UTC 2025 x86_64 GNU/Linux
+```
+
+L'indicazione `x86_64` nell'output conferma che il sistema è un'architettura x86_64. Questo dovrebbe essere il caso di vari sistemi basati su AMD e Intel.
+
+Successivo: [setting-up-the-jumpbox](lab2-jumpbox.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.pt-BR.md b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.pt-BR.md
new file mode 100644
index 0000000000..dd2206bce6
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab1-prerequisites.pt-BR.md
@@ -0,0 +1,43 @@
+---
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - kubernetes
+ - k8s
+ - exercício do laboratório
+---
+
+# Lab. 1: Pré-requisitos
+
+!!! info
+
+ Este é um fork do original ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) escrito originalmente por Kelsey Hightower (GitHub: kelseyhightower). Ao contrário do original, que se baseia em distribuições semelhantes ao Debian para a arquitetura ARM64, este fork tem como alvo distribuições Enterprise Linux, como o Rocky Linux, que roda na arquitetura x86_64.
+
+Neste laboratório, você revisará os requisitos de máquina necessários para seguir este tutorial.
+
+## Máquinas Virtuais ou Físicas
+
+Este tutorial requer quatro (4) máquinas virtuais ou físicas x86_64 executando o Rocky Linux 9.5 (os contêineres Incus ou LXD também devem funcionar). A tabela a seguir lista as quatro máquinas e seus requisitos de CPU, memória e armazenamento.
+
+| Nome | Descrição | CPU | RAM | Armazenamento |
+| ------- | ---------------------------- | --- | ------ | ------------- |
+| jumpbox | Servidor de administração | 1 | 512 MB | 10GB |
+| server | Servidor Kubernetes | 1 | 2GB | 20GB |
+| node-0 | Nó de trabalho do Kubernetes | 1 | 2GB | 20GB |
+| node-1 | Nó de trabalho do Kubernetes | 1 | 2GB | 20GB |
+
+A maneira como você provisiona as máquinas fica por sua conta; o único requisito é que cada máquina atenda aos requisitos de sistema acima, incluindo as especificações da máquina e a versão do sistema operacional. Após provisionar todas as quatro máquinas, verifique os requisitos do sistema executando o comando `uname` em cada máquina:
+
+```bash
+uname -mov
+```
+
+Após executar o comando `uname`, você deverá ver a seguinte saída:
+
+```text
+#1 SMP PREEMPT_DYNAMIC Wed Feb 19 16:28:19 UTC 2025 x86_64 GNU/Linux
+```
+
+O `x86_64` na saída confirma que o sistema é uma arquitetura x86_64. Este deve ser o caso de vários sistemas baseados em AMD e Intel.
+
+Next: [setting-up-the-jumpbox](lab2-jumpbox.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab10-configuring-kubectl.it.md b/docs/labs/kubernetes-the-hard-way/lab10-configuring-kubectl.it.md
new file mode 100644
index 0000000000..c584f83d70
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab10-configuring-kubectl.it.md
@@ -0,0 +1,96 @@
+---
+author: Wale Soyinka
+contributors: Steven Spencer
+tags:
+ - kubernetes
+ - k8s
+ - lab exercise
+ - runc
+ - containerd
+ - etcd
+ - kubectl
+---
+
+# Laboratorio 10: Configurazione di `kubectl` per l'accesso remoto
+
+!!! info
+
+ Si tratta di un fork dell'originale ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way) scritto originariamente da Kelsey Hightower (GitHub: kelseyhightower). A differenza dell'originale, che si basa su distribuzioni simili a Debian per l'architettura ARM64, questo fork si rivolge a distribuzioni Enterprise Linux come Rocky Linux, che gira su architettura x86_64.
+
+In questo laboratorio si genererà un file kubeconfig per l'utilità a riga di comando `kubectl` basato sulle credenziali dell'utente `admin`.
+
+> Eseguite i comandi di questo laboratorio dalla macchina `jumpbox`.
+
+## Il file di configurazione Admin Kubernetes
+
+Ogni kubeconfig richiede un Kubernetes API Server a cui connettersi.
+
+In base alla voce DNS `/etc/hosts` di un laboratorio precedente, si dovrebbe essere in grado di eseguire il ping`server.kubernetes.local`.
+
+```bash
+curl -k --cacert ca.crt \
+ https://server.kubernetes.local:6443/version
+```
+
+```text
+{
+ "major": "1",
+ "minor": "32",
+ "gitVersion": "v1.32.0",
+ "gitCommit": "70d3cc986aa8221cd1dfb1121852688902d3bf53",
+ "gitTreeState": "clean",
+ "buildDate": "2024-12-11T17:59:15Z",
+ "goVersion": "go1.23.3",
+ "compiler": "gc",
+ "platform": "linux/amd64"
+}
+```
+
+Generare un file kubeconfig adatto all'autenticazione come utente `admin`:
+
+```bash
+ kubectl config set-cluster kubernetes-the-hard-way \
+ --certificate-authority=ca.crt \
+ --embed-certs=true \
+ --server=https://server.kubernetes.local:6443
+
+ kubectl config set-credentials admin \
+ --client-certificate=admin.crt \
+ --client-key=admin.key
+
+ kubectl config set-context kubernetes-the-hard-way \
+ --cluster=kubernetes-the-hard-way \
+ --user=admin
+
+ kubectl config use-context kubernetes-the-hard-way
+```
+
+L'esecuzione del comando sopra riportato dovrebbe creare un file kubeconfig nella posizione predefinita `~/.kube/config` utilizzata dallo strumento da riga di comando `kubectl`. Questo significa anche che è possibile eseguire il comando `kubectl` senza specificare una configurazione.
+
+## Verifica
+
+Controllare la versione del cluster Kubernetes remoto:
+
+```bash
+kubectl version
+```
+
+```text
+Client Version: v1.32.0
+Kustomize Version: v5.5.0
+Server Version: v1.32.0
+```
+
+Elencare i nodi del cluster Kubernetes remoto:
+
+```bash
+kubectl get nodes
+```
+
+```text
+NAME STATUS ROLES AGE VERSION
+node-0 Ready 30m v1.31.2
+node-1 Ready 35m v1.31.2
+```
+
+Successivo: [Provisioning Pod Network Routes](lab11-pod-network-routes.md)
diff --git a/docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.de.md b/docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.de.md
new file mode 100644
index 0000000000..c8d6b42ce6
--- /dev/null
+++ b/docs/labs/kubernetes-the-hard-way/lab11-pod-network-routes.de.md
@@ -0,0 +1,94 @@
+---
+author: Wale Soyinka
+contributors: Steven Spencer, Ganna Zhyrnova
+tags:
+ - kubernetes
+ - k8s
+ - Laborübung
+ - runc
+ - containerd
+ - etcd
+ - kubectl
+---
+
+# Übung 11: Bereitstellung von Pod-Netzwerkrouten
+
+!!! info
+
+ Dies ist ein Fork des ursprünglichen ["Kubernetes the hard way"](https://github.com/kelseyhightower/kubernetes-the-hard-way), das ursprünglich von Kelsey Hightower geschrieben wurde (GitHub: kelseyhightower). Im Gegensatz zum Original, das auf Debian-ähnlichen Distributionen für die ARM64-Architektur basiert, zielt dieser Fork auf Enterprise-Linux-Distributionen wie Rocky Linux ab, das auf der x86_64-Architektur läuft.
+
+Für einen Knoten geplante Pods erhalten eine IP-Adresse aus dem Pod-CIDR-Bereich des Knotens. Derzeit können Pods aufgrund fehlender [Netzwerkrouten] (https://cloud.google.com/compute/docs/vpc/routes) nicht mit anderen Pods kommunizieren, die auf anderen Knoten ausgeführt werden.
+
+In diesem Labor erstellen Sie für jeden Worker-Knoten eine Route, die den Pod-CIDR-Bereich des Knotens der internen IP-Adresse des Knotens zuordnet.
+
+> Es gibt auch [andere Möglichkeiten](https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this), das Kubernetes-Netzwerkmodell zu implementieren.
+
+## Routing-Tabelle
+
+In diesem Abschnitt sammeln Sie die erforderlichen Informationen zum Erstellen von Routen im VPC-Netzwerk `kubernetes-the-hard-way`.
+
+Drucken Sie die interne IP-Adresse und den Pod-CIDR-Bereich für jede Worker-Instanz:
+
+```bash
+{
+ SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
+ NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
+ NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
+ NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
+ NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
+}
+```
+
+```bash
+ssh root@server < Esistono [altri modi](https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-achieve-this) per implementare il modello di rete Kubernetes.
+
+## La tabella di instradamento
+
+In questa sezione si raccoglieranno le informazioni necessarie per creare percorsi nella rete VPC `kubernetes-the-hard-way`.
+
+Stampare l'indirizzo IP interno e l'intervallo CIDR del pod per ogni istanza di lavoro:
+
+```bash
+{
+ SERVER_IP=$(grep server machines.txt | cut -d " " -f 1)
+ NODE_0_IP=$(grep node-0 machines.txt | cut -d " " -f 1)
+ NODE_0_SUBNET=$(grep node-0 machines.txt | cut -d " " -f 5)
+ NODE_1_IP=$(grep node-1 machines.txt | cut -d " " -f 1)
+ NODE_1_SUBNET=$(grep node-1 machines.txt | cut -d " " -f 5)
+}
+```
+
+```bash
+ssh root@server <U>.|
+00000150 80 3a 39 d5 08 f9 6c de 6b 0a |.:9...l.k.|
+0000015a
+```
+
+È necessario anteporre alla chiave `etcd` il prefisso `k8s:enc:aescbc:v1:key1`, che indica l'utilizzo del provider `aescbc` per crittografare i dati con la chiave di crittografia `key1`.
+
+## Implementazioni
+
+In questa sezione verranno verificate le capacità di creare e gestire [Distribuzioni](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/).
+
+Creare una distribuzione per il server web [nginx](https://nginx.org/en/):
+
+```bash
+kubectl create deployment nginx \
+ --image=nginx:latest
+```
+
+Elencare il pod creato dalla distribuzione `nginx`:
+
+```bash
+kubectl get pods -l app=nginx
+```
+
+```bash
+NAME READY STATUS RESTARTS AGE
+nginx-54c98b4f84-dfwl9 1/1 Running 0 71s
+```
+
+### Port Forwarding
+
+In questa sezione verranno verificate le capacità di accedere alle applicazioni in remoto utilizzando il [port forwarding](https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/).
+
+Recuperare il nome completo del pod `nginx`:
+
+```bash
+POD_NAME=$(kubectl get pods -l app=nginx \
+ -o jsonpath="{.items[0].metadata.name}")
+```
+
+Inoltrare la porta `8080` sul tuo computer locale alla porta `80` del pod `nginx`:
+
+```bash
+kubectl port-forward $POD_NAME 8080:80
+```
+
+```text
+Forwarding from 127.0.0.1:8080 -> 80
+Forwarding from [::1]:8080 -> 80
+```
+
+In un nuovo terminale, inviare una richiesta HTTP con l'indirizzo di inoltro:
+
+```bash
+curl --head http://127.0.0.1:8080
+```
+
+```text
+HTTP/1.1 200 OK
+Server: nginx/1.27.4
+Date: Tue, 04 Mar 2025 01:30:20 GMT
+Content-Type: text/html
+Content-Length: 615
+Last-Modified: Wed, 05 Feb 2025 11:06:32 GMT
+Connection: keep-alive
+ETag: "67a34638-267"
+Accept-Ranges: bytes
+```
+
+Torna al terminale precedente e interrompere il port forwarding al pod `nginx` digitando ++ctrl+c++:
+
+```text
+Forwarding from 127.0.0.1:8080 -> 80
+Forwarding from [::1]:8080 -> 80
+Handling connection for 8080
+^C
+```
+
+### Registri
+
+In questa sezione verranno verificate le capacità di [recuperare i log dei container](https://kubernetes.io/docs/concepts/cluster-administration/logging/).
+
+Stampare i log del pod `nginx`:
+
+```bash
+kubectl logs $POD_NAME
+```
+
+```text
+...