diff --git a/docs/books/admin_guide/03-commands.zh.md b/docs/books/admin_guide/03-commands.zh.md
index 26d3eebefd..147d226102 100644
--- a/docs/books/admin_guide/03-commands.zh.md
+++ b/docs/books/admin_guide/03-commands.zh.md
@@ -650,7 +650,7 @@ $ touch /home/rockstar/myfile
日期格式:`[AAAA]MMJJhhmm[ss]`
-!!! tip "提示"
+!!! Tip "提示"
`touch`命令主要用来创建空文件,但它对于增量备份或差异备份也很有用。 事实上,对一个文件执行 `touch` 的唯一效果是强迫它在下一次备份中被保存。
@@ -668,7 +668,7 @@ $ rmdir /home/rockstar/work
| ---- | ----------------------- |
| `-p` | 删除所提供的父目录或目录(如果它们是空的话)。 |
-!!! tip "提示"
+!!! Tip "提示"
要同时删除非空目录及其内容,请使用`rm`命令。
@@ -1159,7 +1159,7 @@ $ find /tmp -name *.txt -exec rm -f {} \;
`;`字符是一个特殊的shell字符,必须由`\`保护,以防止被`-find`命令(而不是`-exec`)过早地解释它。
-!!! tip "提示"
+!!! Tip "提示"
`$ find /tmp -name *.txt -delete` 可以做同样的事情。
@@ -1263,7 +1263,7 @@ $ find /home -name "test[123]*"
始终使用 `"` 括起包含元字符的单词,以防止它们被符合条件的文件名代替。
-!!! warning "警告"
+!!! Wanning "警告"
不要将shell元字符与正则表达式元字符混淆。 `grep`命令使用正则表达式元字符。
@@ -1322,7 +1322,7 @@ STOP
当 shell 收到只包含关键字的行时,它将退出`ftp`命令。
-!!! warning "警告"
+!!! Wanning "警告"
结尾关键字 `END` 或 `STOP` 必须是行中唯一的单词,并且必须位于行的开头。
@@ -1477,7 +1477,7 @@ alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-ti
* 用户登录目录中的`.bashrc`文件;
* `/etc/bashrc` 文件,适用于所有用户。
-!!! warning "警告"
+!!! Wanning "警告"
在使用可能有潜在危险的别名时,必须特别小心! 例如,在管理员不知情的情况下设置的别名:
diff --git a/docs/books/admin_guide/05-vi.zh.md b/docs/books/admin_guide/05-vi.zh.md
index 12cb5b5cb3..eec292df64 100644
--- a/docs/books/admin_guide/05-vi.zh.md
+++ b/docs/books/admin_guide/05-vi.zh.md
@@ -1,480 +1,521 @@
---
-title: VI Text Editor
+title: VI 文本编辑器
---
-# VI Text Editor
+# VI 文本编辑器
-In this chapter you will learn how to work with the VIsual editor.
+在本章中,您将学习如何使用 VIsual 编辑器。
****
-**Objectives** : In this chapter, future Linux administrators will learn how to:
+**目标** : 在本章中,未来的 Linux 管理员们将学习如何:
-:heavy_check_mark: Use the main commands of the VI editor;
-:heavy_check_mark: Modify a text with the VI editor.
+:heavy_check_mark: 使用VI编辑器的主要命令;
+:heavy_check_mark: 使用VI编辑器修改文本。
-:checkered_flag: **user commands**, **linux**
+:checkered_flag: **用户命令**,**linux**
-**Knowledge**: :star:
-**Complexity**: :star: :star:
+**知识性**: :star:
+**复杂度**: :star: :star:
**阅读时间**: 20 分钟
****
-*Visual* (**VI**) is a very popular text editor under Linux, despite its limited ergonomics. It is indeed an editor entirely in text mode: each action is done with a key on the keyboard or dedicated commands.
+*Visual* (**VI**) 是一个在Linux下非常流行的文本编辑器,尽管其人机工程设计是有限的。 它实际上是一个完全采用文本模式的编辑器:即每个操作都是通过键盘上的一个按键或专用命令来完成的。
-Very powerful, it is above all very practical since it is on the whole minimal for basic applications. It is therefore accessible in case of system failure. Its *universality* (it is present on all Linux distributions and under Unix) makes it a *crucial* tool for the administrator.
+它非常强大,最重要的是非常实用,因为它对于基本应用程序来说基本上是最轻量最小化的。 因此,在系统出现故障的情况下你依然可以使用它。 它的 *通用性* (出现在所有Linux发行版和Unix下)使其成为管理员的 *重要* 工具。
-Its functionalities are:
+其功能包括:
-* Insert, delete, modify text;
-* Copy words, lines or blocks of text;
-* Search and replace characters.
+* 对文本的插入、删除和修改;
+* 对文本的文字、行或文本块进行复制;
+* 对字符进行搜索与替换。
-## `vi` command
+## `vi` 命令
-The `vi` command opens the *VI* text editor.
+`vi` 命令可打开 *VI* 文本编辑器。
```
vi [-c command] [file]
```
-Example:
+示例:
```
$ vi /home/rockstar/file
```
-| Option | Information |
-| ------------ | ------------------------------------------------- |
-| `-c command` | Execute VI by specifying a command at the opening |
+| 选项 | 信息 |
+| ------- | ----------------- |
+| `-c 命令` | 通过在开头指定一个命令来执行 VI |
-If the file exists at the location mentioned by the path, it is read by VI which is placed in **commands** mode.
+如果文件存在于路径提到的位置,则 VI 将读取该文本,并将其置于**command**模式。
-If the file does not exist, VI opens a blank file and an empty page is displayed on the screen. When the file is saved, it will take the name specified with the command.
+如果该文件不存在,VI会打开一个空白文件,屏幕上会显示一个空白页面。 保存文件时,它将采用命令指定的名称。
-If the command `vi` is executed without specifying a file name, VI opens a blank file and an empty page is displayed on the screen. When the file is saved, VI will ask for a file name.
+如果在未指定文件名的情况下执行命令 `vi` ,则 vi 将打开一个空白文件,并且屏幕上将显示一个空白页面。 保存文件时,VI 会要求输入文件名。
-The `vim` editor takes the interface and functions of VI with many improvements.
+`vim`编辑器对 VI 的界面和功能进行了许多改进。
```
vim [-c command] [file]
```
-Among these improvements, the user has syntax highlighting, which is very useful for editing shell scripts or configuration files.
+在这些改进中,用户有语法高亮显示,这对于编辑 shell 脚本或配置文件非常有用。
-During a session, VI uses a buffer file in which it records all the changes made by the user.
+在会话期间,VI 使用一个缓冲区文件,其中记录了用户所做的所有更改。
-!!! Note As long as the user has not saved his work, the original file is not modified.
+!!! Note "说明"
-At startup, VI is in *commands* mode.
+ 只要用户没有保存其工作内容,就不会修改原始文件。
-!!! Tip A line of text is ended by pressing ENTER but if the screen is not wide enough, VI makes automatic line breaks, _wrap_ configuration by default. These line breaks may not be desired, this is the _nowrap_ configuration.
+在启动时,VI 处于 *command* 模式。
-To exit VI, from the Commands mode, tap : then type:
+!!! Tip "提示"
-* `q` to exit without saving (_quit_);
-* `w` to save your work (_write_);
-* `wq` (_write quit_) or `x` (_eXit_) to save and exit.
+ 按 ENTER 键结束一行,但如果屏幕不够宽,VI 会自动换行,默认情况下为 _wrap_ 配置。 可能不需要这些换行符,可使用 _nowrap_ 配置。
-To force the exit without confirmation, you must add *!* to the previous commands.
+要退出 VI ,请从 command 模式中点击:,然后键入:
-!!! Warning There is no periodic backup, so you must remember to save your work regularly.
+* `q`不保存退出(_quit_);
+* `w` 保存当前你的工作内容(_write_);
+* `wq`(_write quit_) 或者 `x`(_eXit_)保存并退出。
-## Operating mode
+在命令模式下,连续两次单击大写状态的Z键即可保存并退出。
-In VI, there are 3 working modes:
+要在没有确认的情况下强制退出,必须在前面的命令中添加*!*。
-* The *command* mode;
-* The *insertion* mode;
-* The *ex* mode.
+!!! Wanning "警告"
-The philosophy of VI is to alternate between the *command* mode and the *insertion* mode.
+ 没有定期备份,所以您必须记住定期保存您的工作。
-The third mode, *ex*, is a footer command mode from an old text editor.
+## 操作模式
-### The Command Mode
+在 VI 中,有3种工作模式:
-This is the default mode when VI starts up. To access it from any of the other modes, simply press the ESC key.
+* *command* 模式
+* *insertion* 模式
+* *ex* 模式
-All entries are interpreted as commands and the corresponding actions are executed. These are essentially commands for editing text (copy, paste, undo, ...).
+VI 的原理是在 *command* 模式和 *insertion* 模式之间交替使用。
-The commands are not displayed on the screen.
+第三种模式——*ex*,它是来自旧文本编辑器的页脚命令模式。
-### The Insert mode
+### command 模式
-This is the text modification mode. To access it from the *command* mode, you have to press special keys that will perform an action in addition to changing the mode.
+这是 VI 启动时的默认模式。 要从任何其他模式访问它,只需按 ESC 键。
-The text is not entered directly into the file but into a buffer zone in the memory. The changes are only effective when the file is saved.
+此时,所有键盘输入都被解释为命令且执行相应的操作。 这些本质上是用于编辑文本的命令(复制、粘贴、撤消等)。
-### The Ex mode
+命令不会显示在屏幕上。
-This is the file modification mode. To access it, you must first switch to *command* mode, then enter the *ex* command frequently starting with the character `:`.
+### insert 模式
-The command is validated by pressing the ENTER key.
+这是针对文本内容的修改模式。 要从 *command* 模式访问它,您必须按下除更改模式之外还将执行操作的特殊键。
-## Moving the cursor
+文本内容不是直接输入到文件,而是输入到内存的缓冲区当中。 这些更改仅在保存文件时有效。
-In *command* mode, there are several ways to move the cursor.
+### Ex 模式
-The mouse is not active in a text environment but is in a graphic environment, it is possible to move it character by character, but shortcuts exist to go faster.
+这是针对文件的修改模式。 要访问它,您必须首先切换到 *command* 模式,然后频繁地以字符 `:` 开头输入 *ex* 命令。
-VI remains in *command* mode after moving the cursor.
+按 ENTER 键验证输入的命令。
-The cursor is placed under the desired character.
+## 移动光标
-### From a character
+在 *command* 模式下,有几种移动光标的方法。
-* Move one or `n` characters to the left:
+鼠标在文本环境中不活动,但在图形环境中,可以逐个字符地移动它,但存在快捷键来更快地移动。
-←, n←, h or nh
+移动光标后,VI保持 *command* 模式。
-* Move one or `n` characters to the right:
+光标被放置在所需字符的下方。
+
+### 字符
+
+* 向左移动一个或 `n` 个字符:
+
+→, n→, l or nl
+
+* 向右移动一个或 `n` 个字符:
→, n→, l or nl
-* Move one or `n` characters up:
+* 向上移动一个或 `n` 个字符:
↑, n↑, k or nk
-* Move one or `n` characters down:
+* 向下移动一个或 `n` 个字符:
↓, n↓, j or nj
-* Move to the end of the line:
+* 移动到行的末尾:
$ or END
-* Move to the beginning of the line:
+* 移动到行的开头:
0 or POS1
-### From the first character of a word
+### 从单词的第一个字符开始
-Words are made up of letters or numbers. Punctuation characters and apostrophes separate words.
+单词是由字母或数字组成的, 使用标点符号和撇号分隔单词。
-If the cursor is in the middle of a word w moves to the next word, b moves to the beginning of the word.
+如果光标处于单词的中间,则 w 移动到下一个单词, b 移动到单词开头。
-If the line is finished, VI goes automatically to the next line.
+如果行已经结束,则 VI 自动转到下一行。
-* Move one or `n` words to the right:
+* 向右移动一个或 `n` 个单词:
w or nw
-* Move one or `n` words to the left:
+* 向左移动一个或 `n` 个单词:
b or nb
-### From any location on a line
+### 从一行上的任何位置
-* Move to last line of text:
+* 移动到最后一行文本:
G
-* Move to line `n`:
+* 移动到第 `n` 行:
nG
-* Move to the first line of the screen:
+* 移动到屏幕的第一行:
H
-* Move to the middle line of the screen:
+* 移动到屏幕的中间行:
M
-* Move to the last line of the screen:
+* 移动到屏幕的最后一行:
L
-## Inserting text
+## 插入文本
+
+在 *command* 模式下,有几种插入文本的方法。
-In *command* mode, there are several ways to insert text.
+输入其中一个按键后,VI切换到 *insert* 模式。
-VI switches to *insert* mode after entering one of these keys.
+!!! Note "说明"
-!!! Note VI switches to *insertion* mode. So you will have to press the ESC key to return to *command* mode.
+ 要将 VI 切换到 *insertion* 模式, 您必须按 ESC 键返回到 *command* 模式。
-### In relation to a character
+### 与字符相关的
-* Inserting text before a character:
+* 在字符前插入文本:
i (_insert_)
-* Inserting text after a character:
+* 在字符后插入文本:
a (_append_)
-### In relation to a line
+### 与行相关的
-* Inserting text at the beginning of a line:
+* 在行首插入文本:
I
-* Inserting text at the end of a line:
+* 在行尾插入文本:
A
-### In relation to the text
+### 与文本相关的
-* Inserting text before a line:
+* 在行前插入文本:
O
-* Inserting text after a line:
+* 在行后插入文本:
o
-## Characters, words and lines
+## 字符、单词和行
-VI allows text editing by managing:
+VI 允许通过管理以下各项进行文本编辑:
-* characters,
-* words,
-* lines.
+* 字符,
+* 单词,
+* 行。
-In each case it is possible to :
+在每种情况下,都可以:
-* delete,
-* replace,
-* copy,
-* cut,
-* paste.
+* 删除,
+* 替换,
+* 复制,
+* 剪切,
+* 粘贴。
-These operations are done in *command* mode.
+这些操作是在 *command* 模式下完成的。
-### Characters
+### 字符
-* Delete one or `n` characters:
+* 删除一个或 `n` 个字符:
x or nx
-* Replace a character with another:
+* 用另一个字符替换一个字符:
rcharacter
-* Replace more than one character with others:
+* 用其他字符替换多个字符:
RcharactersESC
-!!! Note The R command switches to *replace* mode, which is a kind of *insert* mode.
+!!! Note "说明"
-### Words
+ R 命令切换到 *replace* 模式,这是一种 *insert* 模式。
-* Delete (cut) one or `n` words:
+### 单词
-dw or ndw
+* 删除(剪切)一个或 `n` 个单词:
-* Copy one or `n` words:
+dw 或者 ndw
-yw or nyw
+* 复制一个或 `n` 个单词:
-* Paste a word once or `n` times after the cursor:
+yw 或者 nyw
-p or np
+* 在光标后粘贴单词一次或 `n` 次:
-* Paste a word once or `n` times before the cursor:
+p 或者 np
-P or nP
+* 在光标前粘贴单词一次或 `n` 次:
-* Replace one word:
+P 或者 nP
+
+* 替换一个单词:
cw_word_ESC
-!!! Tip It is necessary to position the cursor under the first character of the word to cut (or copy) otherwise VI will cut (or copy) only the part of the word between the cursor and the end. To delete a word is to cut it. If it is not pasted afterwards, the buffer is emptied and the word is deleted.
+!!! Tip "提示"
+
+ 必须将光标放在要剪切(或者复制)的单词的第一个字符下,否则 VI 将只剪切(或者复制)光标和末尾之间的单词部分。
+ 要删除一个单词就是把它剪切掉。 如果之后没有粘贴,则会清空缓冲区并删除单词。
-### Lines
+### 行
-* Delete (cut) one or `n` lines:
+* 删除 (剪切) 一或 `n` 行:
-dd or ndd
+dd 或者 ndd
-* Copy one or `n` lines:
+* 复制一或 `n` 行:
-yy or nyy
+yy 或者 nyy
-* Paste what has been copied or deleted once or `n` times after the current line:
+* 将已复制或删除的内容粘贴到当前行之后一次或 `n` 次:
-p or np
+p 或者 np
-* Paste what has been copied or deleted once or `n` times before the current line:
+* 将已复制或删除的内容粘贴到当前行之前一次或 `n` 次:
-P or nP
+P 或者 nP
-* Delete (cut) from the beginning of the line to the cursor:
+* 删除(剪切)从行首到光标的内容:
d0
-* Delete (cut) from the cursor to the end of the line:
+* 从光标到行尾删除(剪切):
d$
-* Copy from the beginning of the line to the cursor:
+* 从行首复制到光标:
y0
-* Copy from the cursor to the end of the line:
+* 从光标复制到行尾:
y$
-* Delete (cut) the text from the current line:
+* 删除(剪切)当前行中的文本:
-dL or dG
+dL 或者 dG
-* Copy the text from the current line:
+* 从当前行复制文本:
-yL or yG
+yL 或者 yG
-### Cancel an action
+### 取消操作
-* Undo the last action:
+* 撤销上一次的操作:
u
-* Undo the actions on the current line:
+* 撤消当前行上的操作:
U
-### Cancel cancellation
+### 取消撤销
-* Cancel a cancellation
+* 取消一个撤销
-Ctrl+R
+Ctrl+r
-## EX commands
+## EX 命令
-The *Ex* mode allows you to act on the file (saving, layout, options, ...). It is also in *Ex* mode where search and replace commands are entered. The commands are displayed at the bottom of the page and must be validated with the ENTER key.
+*Ex*模式允许您对文件进行操作(保存、布局、选择等)。 在Ex模式下输入搜索和替换命令, 命令显示在页面底部,必须使用 ENTER 键进行验证。
-To switch to *Ex* mode, from *command* mode, type :.
+要切换到 *Ex* 模式,请在 *command* 模式下键入 :。
-### Numbering the lines
+### 文件行号
-* Show/hide numbering:
+* 显示/隐藏行号:
-`:set nu` and the longer `:set number`
+`:set nu` 或者更长的 `:set number`
-`:set nonu` and the longer `:set nonumber`
+`:set nonu` 或者更长的 `:set nonumber`
-### Search for a string
+### 搜索字符串
-* Search for a string from the cursor:
+* 从光标中搜索字符串:
`/string`
-* Search for a string before the cursor:
+* 搜索光标之前的字符串:
`?string`
-* Go to the next occurrence found:
+* 查找下一个匹配字符串:
n
-* Go to the previous occurrence found:
+* 查找上一个匹配字符串:
N
-There are wildcards to facilitate the search in VI.
+在 VI 中使用通配符可以更方便的搜索。
-* `[]` : Searches for a range of characters or a single character whose possible values are specified.
+* `[]` : 搜索指定可能的值的字符范围或单个字符。
-Example:
+示例:
-`/[Ww]ord` : search _word_ and _Word_
+`/[Ww]ord`:搜索_word_ 或者 _Word_
-`/[1-9]word` : search _1word_, _2word_ … _`x`word_ where `x` is a number
+`/[1-9]word`:搜索 _1word_、 _2word_... _`x`字_ 中, `x` 表示一个数字
-* `^` : Search for a string starting the line.
+* `^` :搜索以某字符开头的行
-Example:
+示例:
`/^Word`
-* `$` : Search for a string ending the line.
+* `$` : 搜索以某字符结尾的行
-Example:
+示例:
`/Word$`
-* `.` : Search for a word with an unknown letter.
+* `.`:搜索除换行符以外的任何单个字符。
-Example:
+示例:
-`/W.rd` : search _Word_, _Ward_ …
+`/W.rd` : 搜索 _Word_ 、 _Ward_ ...
-* `*` : Search for one or more characters, whatever they are.
+* `*` :前一个字符匹配的次数、0次或任意次数。
-Example:
+示例:
`/W*d`
-### Replace a string
+**Note:** 如果要在匹配字符串时(临时的)忽略大小写,请键入`:set ic`。
+
+### 替换字符串
-From the 1st to the last line of the text, replace the searched string by the specified string:
+从文本的第1行到最后一行,将搜索到的字符串替换为指定的字符串:
`:1,$ s/search/replace`
-**Note:** You can also use `:0,$s/search/replace` to specify starting at the absolute beginning of the file.
+**Note:** 您还可以使用 `:0,$s/search/replace` 指定从文件的绝对开头开始。
-From line `n` to line `m`, replace the searched string with the specified string:
+从第 `n` 行到第 `m` 行,将搜索到的字符串替换为指定的字符串:
`:n,m s/search/replace`
-By default, only the first occurrence found of each line is replaced. To force the replacement of each occurrence, you have to add `/g` at the end of the command:
+默认情况下,仅替换每行的第一个匹配项。 要强制替换每个匹配项,您必须在命令末尾添加`/g`:
`:n,m s/search/replace/g`
-Browse an entire file to replace the searched string with the specified string:
+浏览整个文件以将搜索的字符串替换为指定的字符串:
`:% s/search/replace`
-### File operations
+### 删除指定的行
+
+* 删除空行
+
+`:g/^$/d`
+
+* 删除行号为n到m的行
+
+`:n,md`
+
+* 删除字符串所在的行
+
+`:g/string/d`
+
+* 删除不包含字符串的行
+
+`:g!/string/d`
+
+* 删除所有以 # 开头的行
+
+`:g/^#/d`
+
+**g** 在此表示 **global**。
+
+### 文件操作
-* Save the file:
+* 保存文件:
`:w`
-* Save under another name:
+* 以其他文件名保存:
`:w file`
-* Save from line `n` to line `m` in another file:
+* `n` 行到 `m` 行保存到另外一个文件中:
`:n,m w file`
-* Reload the last record of the file:
+* 重新加载文件的最后一条记录:
`e!`
-* Paste the content of another file after the cursor:
+* 将另一个文件的内容粘贴在光标之后:
`:r file`
-* Quit editing a file without saving:
+* 在不保存的情况下退出编辑文件:
`:q`
-* Quit editing a file that has been modified during the session but not saved:
+* 在不保存的情况下强制退出:
`:q!`
-* Exit the file and save:
+* 保存并退出:
-`:wq` or `:x`
+`:wq` 或者 `:x`
-## Other functions
+## 其他功能
-It is possible to execute VI by specifying the options to be loaded for the session. To do this, you must use the `-c` option:
+可通过指定为会话加载的选项来执行 VI 。 为此,您必须使用 `-c` 选项:
```
$ vi -c "set nu" /home/rockstar/file
```
-It is also possible to enter the *Ex* commands in a file named `.exrc` put in the user's login directory. At each VI or VIM startup, the commands will be read and applied.
+也可以在用户家目录下,在名为 `.exrc` 的文件中输入 <*>Ex* 命令。 在每次VI或VIM启动时,都将读取并应用命令。
-### `vimtutor` command
+### `vimtor` 命令
-There is a tutorial for learning how to use VI. It is accessible with the command `vimtutor`.
+有一个学习如何使用 VI 的教程。 可以使用命令 `vimtutor` 访问它。
```
$ vimtutor
diff --git a/docs/books/learning_rsync/05_rsync_authentication-free_login.es.md b/docs/books/learning_rsync/05_rsync_authentication-free_login.es.md
index 72d191ea6f..c361f58d70 100644
--- a/docs/books/learning_rsync/05_rsync_authentication-free_login.es.md
+++ b/docs/books/learning_rsync/05_rsync_authentication-free_login.es.md
@@ -1,7 +1,7 @@
---
title: Protocolo de inicio de sesión con autenticación sin contraseña de rsync
author: tianci li
-contributors: Steven Spencer
+contributors: Steven Spencer, Pedro Garcia
update: 2021-11-04
---
diff --git a/docs/books/learning_rsync/07_rsync_unison_use.es.md b/docs/books/learning_rsync/07_rsync_unison_use.es.md
index 001c858dbc..0853a21662 100644
--- a/docs/books/learning_rsync/07_rsync_unison_use.es.md
+++ b/docs/books/learning_rsync/07_rsync_unison_use.es.md
@@ -1,7 +1,7 @@
---
title: Utilizar unison
author: tianci li
-contributors: Steven Spencer
+contributors: Steven Spencer, Pedro Garcia
update: 2021-11-06
---
diff --git a/docs/gemstones/docker.es.md b/docs/gemstones/docker.es.md
new file mode 100644
index 0000000000..55aa761534
--- /dev/null
+++ b/docs/gemstones/docker.es.md
@@ -0,0 +1,45 @@
+---
+title: Instalar Docker Engine
+author: wale soyinka
+---
+
+
+Docker Engine se puede utilizar para ejecutar cargas de trabajo de contenedores de Docker en servidores Rocky Linux. A veces se prefiere esto a ejecutar el entorno completo de Docker Desktop.
+
+# Añadir el repositorio de Docker
+
+Utilice la herramienta `dnf` para añadir el repositorio de Docker a su servidor Rocky Linux. Teclee:
+
+```
+sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
+```
+
+# Instalar los paquetes necesarios
+
+Instale la última versión de Docker Engine, containerd y Docker Compose , ejecutando:
+
+```
+sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
+```
+
+# Iniciar el servicio de Docker de systemd (dockerd) y habilitarlo para el arranque automático
+
+Utilice la utilidad `systemctl` para configurar el demonio dockerd y que se inicie automáticamente con el próximo reinicio del sistema y simultáneamente para la sesión actual. Teclee:
+
+```
+sudo systemctl --now enable docker
+```
+
+
+## Notas
+
+```
+docker-ce : Este paquete proporciona la tecnología subyacente para construir y ejecutar contenedores docker (dockerd)
+docker-ce-cli : Proporciona la interfaz de línea de comandos (CLI) cliente de la herramienta docker (docker)
+containerd.io : Proporciona el tiempo de ejecución del contenedor (runc)
+docker-compose-plugin : Un plugin que proporciona el subcomando 'docker compose'
+
+```
+
+
+
diff --git a/docs/guides/editors/micro.es.md b/docs/guides/editors/micro.es.md
index 2a6d865fcf..71a4d75cf9 100644
--- a/docs/guides/editors/micro.es.md
+++ b/docs/guides/editors/micro.es.md
@@ -1,7 +1,7 @@
---
title: micro
author: Ezequiel Bruni
-contributors: Steven Spencer
+contributors: Steven Spencer, Pedro Garcia
tested version: 8.5
tags:
- editor
diff --git a/docs/guides/index.es.md b/docs/guides/index.es.md
index 808829accf..ae7ee9ac1e 100644
--- a/docs/guides/index.es.md
+++ b/docs/guides/index.es.md
@@ -2,10 +2,10 @@
title: Guías de inicio
---
-# Guías de Rocky Linux
+# Guías de inicio de Rocky Linux
-Bienvenido a la sección de **Guías** de la documentación de Rocky Linux. Aquí encontrará una gran cantidad de documentos "aprende y practica" y mucho más. Esta sección está cambiando constantemente. También hay algunos grupos de documentos más largos que se pueden encontrar en "Books" así como en el futuro habra laboratorios educativos "Labs", cada uno de los cuales se encuentra en el menú superior.
+Bienvenido a la sección de **Guías** de la documentación de Rocky Linux. Aquí encontrará una gran cantidad de documentos de tipo "cómo hacerlo" y mucho más. Esta sección está cambiando constantemente. También hay algunos grupos de documentos más amplios que puede encontrar en "Libros", así como en el futuro habrá laboratorios educativos en la sección "Laboratorios", cada uno de los cuales se encuentra en el menú superior.
-La mayoría de las categorías no requieren explicación. Si quieres saber cómo ayudar en el desarrollo continuo de Rocky Linux, únete al [Canal de Desarrollo en nuestro comunidad de Mattermost](https://chat.rockylinux.org/rocky-linux/channels/development). Para aquellos que deseen participar en la documentación, únase al [canal de documentación](https://chat.rockylinux.org/rocky-linux/channels/documentation) y únase a la discusión para obtener más información.
+La mayoría de las categorías no requieren explicación. Si quiere saber cómo ayudar en el desarrollo de Rocky Linux, únase al [Canal de desarrollo en nuestro comunidad de Mattermost](https://chat.rockylinux.org/rocky-linux/channels/development). Para aquellos que deseen participar en la documentación, únase al [canal de documentación](https://chat.rockylinux.org/rocky-linux/channels/documentation) y participe en los diferentes debates para obtener más información.
-Si quieres sumergirte inmediatamente, ¡puedes [instalar Rocky Linux](installation.md) ahora!
+Si quiere sumergirse inmediatamente, ¡puede [instalar Rocky Linux](installation.md) ahora!
diff --git a/docs/guides/security/dnf_automatic.es.md b/docs/guides/security/dnf_automatic.es.md
index 55b7c7757c..cd6c6af25e 100644
--- a/docs/guides/security/dnf_automatic.es.md
+++ b/docs/guides/security/dnf_automatic.es.md
@@ -1,7 +1,7 @@
---
title: Parcheo con dnf-automatic
author: Antoine Le Morvan
-contributors: Steven Spencer
+contributors: Steven Spencer, Pedro Garcia
tested with: 8.5
tags:
- seguridad
diff --git a/docs/guides/security/ssl_keys_https.es.md b/docs/guides/security/ssl_keys_https.es.md
new file mode 100644
index 0000000000..eca4bcea04
--- /dev/null
+++ b/docs/guides/security/ssl_keys_https.es.md
@@ -0,0 +1,138 @@
+---
+title: Generación de claves SSL
+author: Steven Spencer
+contributors: Ezequiel Bruni, Pedro Garcia
+tested with: 8.5
+tags:
+ - seguridad
+ - ssl
+ - openssl
+---
+
+# Generación de claves SSL
+
+## Requisitos previos
+
+* Una estación de trabajo y un servidor ejecutando Rocky Linux (OK...Linux, pero realmente deseas utilizar Rocky Linux, ¿Verdad?).
+* _OpenSSL_ instalado en la máquina que se va a tuilizar para generar la clave privada y el CSR, así como en el servidor donde eventualmente se instalará su clave y los certificados.
+* Capacidad para ejecutar comandos con comodidad desde la línea de comandos.
+* De utilidad: conocimiento de los comandos SSL y OpenSSL.
+
+
+## Introducción
+
+A día de hoy, practicamente cada sitio web _debería_ estr funcionando con un certificado SSL (capa de socket segura). Este procedimiento le guiará a través del proceso de generación de la clave privada para su sitio web y a partir de ahí, la generación del CSR (solicitud de firma de certificados) que utilizará para comprar su nuevo certificado.
+
+## Generar la clave privada
+
+Para los no iniciados, las claves privadas SSL pueden tener diferentes tamaños, medidos en bits, lo que básicamente determina lo difícil que son de romper.
+
+A partir del año 2021, el tamaño recomendado de la clave privada para un sitio web sigue siendo de 2048 bits. Puede escoger un valor más alto, pero duplicar el tamaño de la clave de 2048 bits a 4096 bits es sólo un 16% más seguro, consume más espacio para almacenar la clave, y provoca una mayor carga de CPU cuando se procesa la clave.
+
+Ralentizando el rendimiento de su sitio web sinobtener una mejora de seguridad significativa. Quédese con el tamaño de clave de 2048 por ahora y mantengase siempre al tanto de lo que se recomienda actualmente.
+
+Para empezar, asegurémonos de que OpenSSL esté instalado tanto ensu estación de trabajo como en el servidor:
+
+`dnf install openssl`
+
+Si no está instalado, su sistema lo instalará junto con las dependencias necesarias.
+
+Nuestro dominio de ejemplo es ourownwiki.com. Ten en cuenta que necesitará comprar y registrar su dominio con antelación. Usted puede comprar dominios a través del amplio número de proveedores de dominio.
+
+Si no está ejecutando su propio DNS (Sistema de nombres de dominio), puede utilizar los mismos proveedores para el alojamiento DNS. DNS traduce el nombre de su dominio, a números (direcciones IP, ya sean IPv4 o IPv6) que Internet puede entender. Esas direcciones IP se corresponden con donde está realmente alojado el sitio web.
+
+Vamos a generar la clave utilizando openssl:
+
+`openssl genrsa -des3 -out ourownwiki.com.key.pass 2048`
+
+Tenga en cuenta que guardaremos la clave, con una extensión .pass. Esto es debido a que tan pronto como ejecutemos este comando, se le pedirá que introduzca una contraseña. Introduce una contraseña simple que pueda recordar ya que la vamos a eliminar en breve:
+
+```
+Enter pass phrase for ourownwiki.com.key.pass:
+Verifying - Enter pass phrase for ourownwiki.com.key.pass:
+```
+
+A continuación, quitemos esa contraseña. La razón por la que esto es así es que si no la elimina, cada vez que reinicie su servidor web y cargue su clave, necesitará introducir esa contraseña.
+
+Puede que ni siquiera esté ahí para introducirla, o peor aún, puede que no tenga una consola preparada para entrar en ella. Eliminela ahora para evitar todo eso:
+
+`openssl rsa -in ourownwiki.com.key.pass -out ourownwiki.com.key`
+
+Al ejecutar este comando se le solicitará que introduzca esa contraseña una vez más para eliminarla de la clave:
+
+`Enter pass phrase for ourownwiki.com.key.pass:`
+
+Ahora que ha introducido la contraseña por tercera vez, se ha eliminado del archivo y se ha guardado con el nombre de ourownwiki.com.key
+
+## Generar el archivo CSR
+
+A continuación, necesitamos generar la solicitud de firma de certificados (CSR) que utilizaremos para comprar nuestro certificado.
+
+Durante la generación del CSR, se le pedirán diversa informacion, relativa al proceso. Esta información son los atributos X.509 del certificado.
+
+Una de las preguntas será "Common Name (e.g., YOUR name)". Es importante que este campo se rellene con el nombre de dominio completo del servidor que será protegido por SSL. Si el sitio web a proteger es https://www.ourownwiki.com, entonces introduzca a www.ourownwiki.com en esta pregunta:
+
+`openssl req -new -key ourownwiki.com.key -out ourownwiki.com.csr`
+
+Esto abrirá el siguiente cuadro de diálogo:
+
+`Country Name (2 letter code) [XX]:` Introduzca el código de país de dos caracteres donde reside su sitio, por ejemplo "US"
+
+`State or Province Name (full name) [:` Introduzca el nombre completo y oficial de su estado o provincia, por ejemplo "Nebraska".
+
+`Locality Name (eg, city) [Default City]:` Introduzca el nombre completo de la ciudad, por ejemplo "Omaha".
+
+`Organization Name (eg, company) [Default Company Ltd]:` Si lo desea, puede introducir el nombre de la organización de la que forma parte este dominio, o simplemente pulse 'Entrar' para omitir este paso.
+
+`Organizational Unit Name (eg, section) []:` Describiría la división de la organización a la que pertenece su dominio. De nuevo, sólo puede pulsar la tecla 'Enter' para omitir este paso.
+
+`Common Name (eg, your name or your server's hostname) []:` Aquí, debemos introducir el nombre de nuestro sitio web, ejemplo "www.ourownwiki.com"
+
+`Email Address []:` Este campo es opcional, puede decidir rellenarlo o simplemente pulsar 'Entrar' para evitar introducir esta información.
+
+A continuación, se le pedirá que introduzca atributos adicionales que se pueden omitir pulsando la tecla 'Enter':
+
+```
+Please enter the following 'extra' attributes
+to be sent with your certificate request
+A challenge password []:
+An optional company name []:
+```
+
+Ahora debería haber generado su CSR.
+
+## Comprar el certificado
+
+Cada proveedor de certificados tendrá básicamente el mismo procedimiento. Usted compra el certificado SSL y por un plazo determinado (1 o 2 años, etc.) y luego envíe su CSR. Para hacer esto, necesitará utilizar el comando `mmoreás`, y luego copiar el contenido de su archivo CSR.
+
+`more ourownwiki.com.csr`
+
+Que le mostrará algo similar a esto:
+
+```
+-----BEGIN CERTIFICATE REQUEST-----
+MIICrTCCAZUCAQAwaDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5lYnJhc2thMQ4w
+DAYDVQQHDAVPbWFoYTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEYMBYG
+A1UEAwwPd3d3Lm91cndpa2kuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAzwN02erkv9JDhpR8NsJ9eNSm/bLW/jNsZxlxOS3BSOOfQDdUkX0rAt4G
+nFyBAHRAyxyRvxag13O1rVdKtxUv96E+v76KaEBtXTIZOEZgV1visZoih6U44xGr
+wcrNnotMB5F/T92zYsK2+GG8F1p9zA8UxO5VrKRL7RL3DtcUwJ8GSbuudAnBhueT
+nLlPk2LB6g6jCaYbSF7RcK9OL304varo6Uk0zSFprrg/Cze8lxNAxbFzfhOBIsTo
+PafcA1E8f6y522L9Vaen21XsHyUuZBpooopNqXsG62dcpLy7sOXeBnta4LbHsTLb
+hOmLrK8RummygUB8NKErpXz3RCEn6wIDAQABoAAwDQYJKoZIhvcNAQELBQADggEB
+ABMLz/omVg8BbbKYNZRevsSZ80leyV8TXpmP+KaSAWhMcGm/bzx8aVAyqOMLR+rC
+V7B68BqOdBtkj9g3u8IerKNRwv00pu2O/LOsOznphFrRQUaarQwAvKQKaNEG/UPL
+gArmKdlDilXBcUFaC2WxBWgxXI6tsE40v4y1zJNZSWsCbjZj4Xj41SB7FemB4SAR
+RhuaGAOwZnzJBjX60OVzDCZHsfokNobHiAZhRWldVNct0jfFmoRXb4EvWVcbLHnS
+E5feDUgu+YQ6ThliTrj2VJRLOAv0Qsum5Yl1uF+FZF9x6/nU/SurUhoSYHQ6Co93
+HFOltYOnfvz6tOEP39T/wMo=
+-----END CERTIFICATE REQUEST-----
+```
+
+Debe copiar todo, incluyendo las líneas "REQUEST CERTIFICATE BEGIN" y "END CERTIFICATE REQUEST". A continuación, péguelas en el campo CSR del sitio web en el que está comprando el certificado.
+
+Es posible que tenga que realizar otros pasos de verificación, dependiendo de la propiedad del dominio, el proveedor de dominio que está utilizando, etc., antes de poder emitir su certificado. Cuando se emita, debe emitirse junto con un certificado intermedio del proveedor, que también se utilizará en la configuración.
+
+## Conclusión
+
+Generar todos los bits y piezas para la compra de un certificado de un sitio web no es terriblemente difícil y puede ser realizado por el administrador del sistema o el administrador del sitio web utilizando el procedimiento descrito en este documento.