diff --git a/docs/books/admin_guide/05-vi.fr.md b/docs/books/admin_guide/05-vi.fr.md index 3c6a114f41..a1e92b8d7d 100644 --- a/docs/books/admin_guide/05-vi.fr.md +++ b/docs/books/admin_guide/05-vi.fr.md @@ -72,7 +72,7 @@ Pendant une session, VI utilise un fichier tampon dans lequel il inscrit toutes Au démarrage, VI est en mode *commandes*. -!!! Astuce +!!! tip "Astuce" Une ligne de texte se termine en appuyant sur ENTREE mais si l’écran n’est pas assez large, VI effectue des retours à la ligne automatiques, configuration wrap par défaut. Ces retours à la ligne peuvent ne pas être souhaités, c’est la configuration nowrap. @@ -86,7 +86,7 @@ En mode command, cliquer sur la touche Z (en majuscule) deux fois de Pour forcer la sortie sans confirmation, il faut ajouter *!* aux commandes précédentes. -!!! Warning +!!! warning "Avertissement" Il n’y a pas de sauvegarde périodique, il faut donc penser à sauvegarder son travail régulièrement. diff --git a/docs/books/admin_guide/08-process.fr.md b/docs/books/admin_guide/08-process.fr.md index becea4259c..6aeed4f8f4 100644 --- a/docs/books/admin_guide/08-process.fr.md +++ b/docs/books/admin_guide/08-process.fr.md @@ -1,101 +1,103 @@ --- -title: Process Management +title: Gestion des Processus --- -# Process Management +# Gestion des Processus -In this chapter you will learn how to work with processes. +Dans ce chapitre, vous apprendrez comment travailler avec les processus. **** -**Objectives** : In this chapter, future Linux administrators will learn how to: +**Objectifs** : Dans ce chapitre, les futurs administrateurs Linux vont apprendre comment : -:heavy_check_mark: Recognize the `PID` and `PPID` of a process; -:heavy_check_mark: View and search for processes; -:heavy_check_mark: Manage processes. +:heavy_check_mark: Reconnaître le `PID` et le `PPID` d'un processus ; +:heavy_check_mark: Voir et rechercher des processus ; +:heavy_check_mark: Gérer les processus. -:checkered_flag: **process**, **linux** +:checkered_flag: **processus**, **linux** -**Knowledge**: :star: :star: -**Complexity**: :star: +**Connaissances** : :star: :star: +**Complexité** : :star: -**Temps de lecture : **20 minutes +**Temps de lecture** : 20 minutes **** -## Generalities +## Généralités -An operating system consists of processes. These processes are executed in a specific order and are related to each other. There are two categories of processes, those focused on the user environment and those focused on the hardware environment. +Un système d'exploitation se compose de processus. Ces processus sont exécutés dans un ordre spécifique et sont liés de l'un à l'autre. Il y a deux catégories de processus, ceux concernant l'environnement utilisateur et ceux orientés sur l'environnement du matériel. -When a program runs, the system will create a process by placing the program data and code in memory and creating a **runtime stack**. A process is therefore an instance of a program with an associated processor environment (ordinal counter, registers, etc...) and memory environment. +Quand un programme s'exécute, le système va créer un processus en plaçant les données et le code du programme en mémoire et en créant une **pile d'exécution**. Un processus est donc une instance d'un programme avec un environnement de processeur associé (compteur, registres, etc...) et un environnement mémoire. -Each process has: +Chaque processus a : -* a _PID_ : _**P**rocess **ID**entifier_, a unique process identifier; -* a _PPID_ : _**P**arent **P**rocess **ID**entifier_, unique identifier of parent process. +* un _PID_ : _**P**rocessus **ID**entificateur_, un identifiant de processus unique ; +* un _PPID_: _**P**rocessus **P**arent **ID**entificateur_, identifiant unique du processus parent. -By successive filiations, the `init` process is the father of all processes. +Par filiations successives, le processus `init` est le père de tous les processus. -* A process is always created by a parent process; -* A parent process can have multiple child processes. +* Un processus est toujours créé par un processus parent ; +* Un processus parent peut avoir plusieurs processus enfants. -There is a parent/child relationship between processes. A child process is the result of the parent process calling the _fork()_ primitive and duplicating its own code to create a child. The _PID_ of the child is returned to the parent process so that it can talk to it. Each child has its parent's identifier, the _PPID_. +Il y a une relation parent/enfant entre les processus. Un processus fils est le résultat du processus parent appelant la primitive _fork()_ et dupliquant son propre code pour créer un enfant. Le _PID_ de l'enfant est renvoyé au processus parent afin qu'ils puissent communiquer. Chaque enfant a l'identifiant de son parent, le _PPID_. -The _PID_ number represents the process at the time of execution. When the process finishes, the number is available again for another process. Running the same command several times will produce a different _PID_ each time.!!! abstract Note Processes are not to be confused with _threads_. Each process has its own memory context (resources and address space), while _threads_ from the same process share this same context. +Le numéro _PID_ représente le processus lors de l'exécution. Une fois le processus terminé, le numéro est à nouveau disponible pour un autre processus. Lancer une même commande plusieurs fois va produire un nouveau _PID_ pour chaque processus.!!! note "Remarque" -## Viewing processes + Il ne faut pas confondre les processus avec les threads. Chaque processus a son propre contexte (resources et espace de mémoire), tandis que les _threads_ appartenant à un même processus partagent le même contexte. -The `ps` command displays the status of running processes. +## Visualisation des processus + +La commande `ps` affiche l'état des processus en cours d'exécution. ``` ps [-e] [-f] [-u login] ``` -Example: +Exemple : ``` # ps -fu root ``` -| Option | Description | -| ---------- | -------------------------------- | -| `-e` | Displays all processes. | -| `-f` | Displays additional information. | -| `-u` login | Displays the user's processes. | +| Option | Observation | +| ---------- | ----------------------------------------- | +| `-e` | Affiche tous les processus. | +| `-f` | Affiche des informations supplémentaires. | +| `-u` login | Affiche les processus de l'utilisateur. | -Some additional options: +Quelques options supplémentaires : -| Option | Description | -| --------------------- | ------------------------------------------------- | -| `-g` | Displays the processes in the group. | -| `-t tty` | Displays the processes running from the terminal. | -| `-p PID` | Displays the process information. | -| `-H` | Displays the information in a tree structure. | -| `-I` | Displays additional information. | -| `--sort COL` | Sort the result according to a column. | -| `--headers` | Displays the header on each page of the terminal. | -| `--format "%a %b %c"` | Customize the output display format. | +| Option | Observation | +| --------------------- | ----------------------------------------------------------- | +| `-g` | Affiche les processus dans le groupe. | +| `-t tty` | Affiche les processus exécutés depuis le terminal. | +| `-p PID` | Affiche les informations du processus. | +| `-H` | Affiche les informations dans une structure d'arborescence. | +| `-I` | Affiche des informations supplémentaires. | +| `--sort COL` | Trier le résultat en fonction d'une colonne. | +| `--headers` | Affiche l'en-tête sur chaque page du terminal. | +| `--format "%a %b %c"` | Personnaliser le format d'affichage de sortie. | -Without an option specified, the `ps` command only displays processes running from the current terminal. +Sans une option spécifiée, la commande `ps` n'affiche que les processus exécutés depuis le terminal actuel. -The result is displayed in columns: +Le résultat est affiché en colonnes : ``` # ps -ef UID PID PPID C STIME TTY TIME CMD -root 1 0 0 Jan01 ? 00:00/03 /sbin/init +root 1 0 0 Jan01 ? 00:00/03 /sbin/init ``` -| Column | Description | -| ------- | --------------------------- | -| `UID` | Owner user. | -| `PID` | Process identifier. | -| `PPID` | Parent process identifier. | -| `C` | Priority of the process. | -| `STIME` | Date and time of execution. | -| `TTY` | Execution terminal. | -| `TIME` | Processing duration. | -| `CMD` | Command executed. | +| Colonne | Observation | +| ------- | -------------------------------- | +| `UID` | Utilisateur propriétaire. | +| `PID` | Identificateur de processus. | +| `PPID` | Identifiant du processus parent. | +| `C` | Priorité du processus. | +| `STIME` | Date et heure d'exécution. | +| `TTY` | Terminal d'exécution. | +| `TIME` | Durée de traitement. | +| `CMD` | Commande exécutée. | -The behaviour of the control can be fully customized: +Le comportement du contrôle peut être entièrement personnalisé : ``` # ps -e --format "%P %p %c %n" --sort ppid --headers @@ -110,141 +112,149 @@ The behaviour of the control can be fully customized: 1 670 sssd 0 ``` -## Types of processes +## Types de processus -The user process: +Le processus utilisateur : -* is started from a terminal associated with a user; -* accesses resources via requests or daemons. +* est démarré à partir d'un terminal associé à un utilisateur ; +* accède à des ressources via des requêtes ou des démons. -The system process (_demon_): +Le processus système (_daemon_ ) : -* is started by the system; -* is not associated with any terminal, and is owned by a system user (often `root`); -* is loaded at boot time, resides in memory, and is waiting for a call; -* is usually identified by the letter `d` associated with the process name. +* est démarré par le système ; +* n'est associé à aucun terminal, et appartient à un utilisateur système (souvent `root`) ; +* est chargé au démarrage, est en mémoire, et attend un appel ; +* est généralement identifié par la lettre `d` associée au nom du processus. -System processes are therefore called daemons (_**D**isk **A**nd **E**xecution **MON**itor_). +Les processus système sont donc appelés démons (_**D**isk **A**nd **E**xecution **MON**itor_). -## Permissions and rights +## Permissions et droits -When a command is executed, the user's credentials are passed to the created process. +Lorsqu'une commande est exécutée, les identifiants de l'utilisateur sont passés au processus créé. -By default, the actual `UID` and `GID` (of the process) are therefore identical to the **actual** `UID` and `GID` (the `UID` and `GID` of the user who executed the command). +Par défaut, les `UID` et `GID` actuels (du processus) sont donc identiques à ceux **réels** `UID` et `GID` (les `UID` et `GID` de l'utilisateur qui a exécuté la commande). -When a `SUID` (and/or `SGID`) is set on a command, the actual `UID` (and/or `GID`) becomes that of the owner (and/or owner group) of the command and no longer that of the user or user group that issued the command. Effective and real **UIDs** are therefore **different**. +Lorsqu'un `SUID` (et/ou `SGID`) est défini sur une commande, l'actuel `UID` (et/ou `GID`) devient celui du propriétaire (et/ou du groupe propriétaire) de la commande et non plus celui de l'utilisateur ou du groupe de l'utilisateur qui a émis la commande. Les **UIDs effectifs et réels** sont donc **différents**. -Each time a file is accessed, the system checks the rights of the process according to its effective identifiers. +Chaque fois qu'un fichier est accédé, le système vérifie les droits du processus en fonction de ses identifiants effectifs. -## Process management +## Gestion des processus -A process cannot be run indefinitely, as this would be to the detriment of other running processes and would prevent multitasking. +Un processus ne peut pas être exécuté indéfiniment, car cela se ferait au détriment d'autres processus en cours d'exécution et empêcherait le multitâche. -The total processing time available is therefore divided into small ranges, and each process (with a priority) accesses the processor in a sequenced manner. The process will take several states during its life among the states: +Le temps total de traitement disponible est donc divisé en petites plages et chaque processus (avec priorité) accède au processeur de manière séquentielle. Le processus prendra plusieurs états au cours de sa vie parmi les états suivants : -* ready: waiting for the availability of the process; -* in execution: accesses the processor; -* suspended: waiting for an I/O (input/output); -* stopped: waiting for a signal from another process; -* zombie: request for destruction; -* dead: the father of the process kills his son. +* ready : en attente de la disponibilité du processus ; +* in execution : en cours d'exécution, accède au processeur ; +* suspended : en attente d'une E/S (entrée/sortie) ; +* suspended : en attente d'un signal d'un autre processus ; +* zombie: demande de destruction ; +* dead : le père du processus tue son fils. -The end of process sequencing is as follows: +Le séquençage de la fin du processus est le suivant : -1. Closing of the open files; -2. Release of the used memory; -3. Sending a signal to the parent and child processes. +1. Fermeture des fichiers ouverts ; +2. Libération de la mémoire utilisée ; +3. Envoi d'un signal aux processus parent et fils. -When a parent process dies, its children are said to be orphans. They are then adopted by the `init` process which will destroy them. +Lorsqu'un processus parent meurt, on dit que ses enfants sont orphelins. Ils sont ensuite adoptés par le processus `init` qui les détruira. -### The priority of a process +### La priorité d'un processus -The processor works in time sharing with each process occupying a quantity of processor time. +Le processeur tourne en partageant avec chaque processus une quantité de temps de processeur. -The processes are classified by priority whose value varies from **-20** (the highest priority) to **+19** (the lowest priority). +Les processus sont classés par priorité dont la valeur varie de **-20** (la priorité la plus élevée) à **+19** (la priorité la plus basse). -The default priority of a process is **0**. +La priorité par défaut d'un processus est **0**. -### Modes of operation +### Modes de fonctionnement -Processes can run in two ways: +Les processus peuvent s'exécuter de deux manières: -* **synchronous**: the user loses access to the shell during command execution. The command prompt reappears at the end of the process execution. -* **asynchronous**: the process is processed in the background. The command prompt is displayed again immediately. +* **synchrone**: l'utilisateur perd l'accès au shell lors de l'exécution de la commande. L'invite de commande réapparaît à la fin de l'exécution du processus. +* **asynchrone**: le processus est traité en arrière-plan. L'invite de commande s'affiche à nouveau immédiatement. -The constraints of the asynchronous mode: +Les contraintes du mode asynchrone : -* the command or script must not wait for keyboard input; -* the command or script must not return any result on the screen; -* quitting the shell ends the process. +* la commande ou le script ne doit pas attendre l'entrée du clavier ; +* la commande ou le script ne doit pas retourner de résultat à l'écran ; +* quitter le shell termine le processus. -## Process management controls +## Contrôles de gestion des processus -### `kill` command +### la commande `kill` -The `kill` command sends a stop signal to a process. +La commande `kill` envoie un signal d'arrêt à un processus. ``` kill [-signal] PID ``` -Example: +Exemple : + ``` $ kill -9 1664 ``` -| Code | Signal | Description | -| ---- | --------- | ------------------------------------ | -| `2` | _SIGINT_ | Immediate termination of the process | -| `9` | _SIGKILL_ | Interrompre le processus (CTRL+D) | -| `15` | _SIGTERM_ | Clean termination of the process | -| `18` | _SIGCONT_ | Resume the process | -| `19` | _SIGSTOP_ | Suspend the process | +| Code | Signal | Observation | +| ---- | --------- | --------------------------------- | +| `2` | _SIGINT_ | Fin immédiate du processus | +| `9` | _SIGKILL_ | Interrompre le processus (CTRL+D) | +| `15` | _SIGTERM_ | Fin du processus de nettoyage | +| `18` | _SIGCONT_ | Reprendre le processus | +| `19` | _SIGSTOP_ | Suspendre le processus | -Signals are the means of communication between processes. The `kill` command sends a signal to a process. +Les signaux sont les moyens de communication entre les processus. La commande `kill` envoie un signal à un processus. -!!! abstract Tip The complete list of signals taken into account by the `kill` command is available by typing the command : -``` -$ man 7 signal -``` +!!! tip "Astuce" + + La liste complète des signaux pris en compte par la commande `kill` est disponible en utilisant : -### `nohup` command + ``` + $ man 7 signal + ``` -`nohup` allows the launching of a process independently of a connection. +### La commande `nohup` + +`nohup` permet le lancement d'un processus indépendamment d'une connexion. ``` -nohup command +commande nohup ``` -Example: +Exemple : + ``` $ nohup myprogram.sh 0CTRL + Z keys simultaneously, the synchronous process is temporarily suspended. Access to the prompt is restored after displaying the number of the process that has just been suspended. +En appuyant simultanément sur les touches CTRL + Z , le processus synchronisé est temporairement suspendu. L'accès à l'invite est restauré après avoir affiché le numéro du processus qui vient d'être suspendu. ### `&` instruction -The `&` statement executes the command asynchronously (the command is then called _job_) and displays the number of _job_. Access to the prompt is then returned. +L'instruction `&` exécute la commande de manière asynchrone (la commande est alors appelée _job_) et affiche le nombre de _jobs_. L'accès à l'invite est alors retourné. + +Exemple : -Example: ``` $ time ls -lR / > list.ls 2> /dev/null & [1] 15430 $ ``` -The _job_ number is obtained during background processing and is displayed in square brackets, followed by the `PID` number. +Le numéro du _job_ est obtenu lors du traitement en arrière-plan et est affiché entre crochets, suivi du numéro `PID`. -### `fg` and `bg` commands +### Les commandes `fg` et `bg` -The `fg` command puts the process in the foreground: +La commande `fg` met le processus au premier plan: ``` $ time ls -lR / > list.ls 2>/dev/null & @@ -252,7 +262,7 @@ $ fg 1 time ls -lR / > list.ls 2/dev/null ``` -while the command `bg` places it in the background: +alors que la commande `bg` la place en arrière-plan : ``` [CTRL]+[Z] @@ -263,71 +273,79 @@ $ bg 1 $ ``` -Whether it was put in the background when it was created with the `&` argument or later with the CTRL +Z keys, a process can be brought back to the foreground with the `fg` command and its job number. +S'il a été mis en arrière-plan quand il a été créé avec l'argument `&` ou plus tard avec les clés CTRL +Z , un processus peut être ramené au premier plan avec la commande `fg` et son numéro de tâche. -### `jobs` command +### La commande `jobs` -The `jobs` command displays the list of processes running in the background and specifies their job number. +La commande `jobs` affiche la liste des processus exécutés en arrière-plan et spécifie leur numéro de tâche. + +Exemple : -Example: ``` $ jobs [1]- Running sleep 1000 [2]+ Running find / > arbo.txt ``` -The columns represent: +Les colonnes représentent : -1. job number; -2. the order in which the processes run -- a `+` : this process is the next process to run by default with `fg` or `bg` ; -- a `-` : this process is the next process to take the `+` ; -3. _Running_ (running process) or _Stopped_ (suspended process). -4. the command +1. numéro de tâche. +2. l'ordre dans lequel les processus s'exécutent +- a `+` : ce processus est le processus suivant à exécuter par défaut avec `fg` ou `bg` ; +- a `-` : ce processus est le prochain processus à prendre le `+` ; `+` +3. _Running_ (processus en cours) ou _Stopped_ (processus suspendu). +4. la commande -### `nice` and `renice` commands +### Les commandes `nice` et `renice` -The command `nice` allows the execution of a command by specifying its priority. +La commande `nice` permet l'exécution d'une commande en spécifiant sa priorité. ``` -nice priority command +nice priorité commande ``` -Example: +Exemple : + ``` $ nice -n+15 find / -name "file" ``` -Unlike `root`, a standard user can only reduce the priority of a process. Only values between +0 and +19 will be accepted. +Contrairement à `root`, un utilisateur standard ne peut que réduire la priorité d'un processus. Seules les valeurs entre +0 et +19 seront acceptées. -!!! abstract Tip This last limitation can be lifted on a per-user or per-group basis by modifying the `/etc/security/limits.conf` file. +!!! tip "Astuce" -The `renice` command allows you to change the priority of a running process. + Cette dernière restriction peut être evitée par utilisateur ou par groupe en modifiant le fichier `/etc/security/limits.conf` file. + +La commande `renice` vous permet de modifier la priorité d'un processus en cours. ``` renice priority [-g GID] [-p PID] [-u UID] ``` -Example: +Exemple : + ``` $ renice +15 -p 1664 ``` -| Option | Description | -| ------ | --------------------------------- | -| `-g` | `GID` of the process owner group. | -| `-p` | `PID` of the process. | -| `-u` | `UID` of the process owner. | +| Option | Observation | +| ------ | ------------------------------------------ | +| `-g` | `GID` du groupe propriétaire du processus. | +| `-p` | `PID` du processus. | +| `- u` | `UID` du processus propriétaire. | -The `renice` command acts on processes already running. It is therefore possible to change the priority of a specific process, but also of several processes belonging to a user or a group. +La commande `renice` agit sur des processus déjà en cours d'exécution. Il est donc possible de modifier la priorité d'un processus spécifique, mais aussi de plusieurs processus appartenant à un utilisateur ou à un groupe. -!!! abstract Tip The `pidof` command, coupled with the `xargs` command (see the Advanced Commands course), allows a new priority to be applied in a single command: -``` -$ pidof sleep | xargs renice 20 -``` +!!! tip "Astuce" + + La commande `pidof`, associée à la commande `xargs` (voir le cours Commandes Avancées), permet d'appliquer une nouvelle priorité en une seule commande : + + ``` + $ pidof sleep | xargs renice 20 + ``` -### `top` command +### La commande `top` -The `top` command displays the processes and their resource consumption. +La commande `top` affiche les processus et leur consommation de ressources. ``` $ top @@ -335,39 +353,39 @@ PID USER PR NI ... %CPU %MEM TIME+ COMMAND 2514 root 20 0 15 5.5 0:01.14 top ``` -| Column | Description | -| --------- | --------------------- | -| `PID` | Process identifier. | -| `USER` | Owner user. | -| `PR` | Process priority. | -| `NI` | Nice value. | -| `%CPU` | Processor load. | -| `%MEM` | Memory load. | -| `TIME+` | Processor usage time. | -| `COMMAND` | Command executed. | +| Colonne | Observation | +| --------- | ---------------------------------- | +| `PID` | Identificateur de processus. | +| `USER` | Utilisateur propriétaire. | +| `PR` | Priorité du processus. | +| `NI` | Valeur nice. | +| `%CPU` | Charge du processeur. | +| `%MEM` | Charge de la mémoire. | +| `TIME+` | Temps d'utilisation du processeur. | +| `COMMAND` | Commande exécutée. | -The `top` command allows control of the processes in real time and in interactive mode. +La commande `top` permet d'afficher les processus en temps réel et en mode interactif. -### `pgrep` and `pkill` commands +### Les commandes `pgrep` et `pkill` -The `pgrep` command searches the running processes for a process name and displays the _PID_ matching the selection criteria on the standard output. +La commande `pgrep` recherche les processus en cours pour trouver un nom de processus et affiche le _PID_ correspondant aux critères de sélection sur la sortie standard. -The `pkill` command will send the specified signal (by default _SIGTERM_) to each process. +La commande `pkill` enverra le signal spécifié (par défaut _SIGTERM_) à chaque processus indiqué par son nom. ``` pgrep process pkill [-signal] process ``` -Examples: +Exemples : -* Get the process number from `sshd`: +* Récupère le numéro de processus de `sshd`: ``` $ pgrep -u root sshd ``` -* Kill all `tomcat` processes: +* Terminer tous les processus de `tomcat` : ``` $ pkill tomcat diff --git a/docs/books/nvchad/plugins/md_preview.fr.md b/docs/books/nvchad/plugins/md_preview.fr.md index bb0ed3aa95..1df845aec6 100644 --- a/docs/books/nvchad/plugins/md_preview.fr.md +++ b/docs/books/nvchad/plugins/md_preview.fr.md @@ -27,7 +27,7 @@ Pour intégrer cette fonctionnalité dans votre éditeur, deux des plugiciels di Si vous avez également installé le [Template Chadrc](../template_chadrc.md) ce composant sera déjà disponible car il est l'un des serveurs de langage installés par défaut. S'il n'est pas encore présent dans l'éditeur, vous pouvez l'installer avec la commande `:MasonInstall deno`. -!!! Warning "Avertissement" +!!! warning "Avertissement" Le serveur de langage **doit** être installé avant de procéder à l'installation du plugiciel. Sinon, l'installation échouera et il sera nécessaire de supprimer le code contenu dans **/custom/plugins.ua**, effectuer un nettoyage de configuration en éditant `Lazy` et en tapant X pour supprimer le plugin puis répéter la procédure d'installation. @@ -136,7 +136,7 @@ M.mdpreview = { Cela vous permettra d'ouvrir l'aperçu markdown en tapant Enter + m suivi de p et de le fermer avec la combinaison Enter + m suivie de c. -!!! Note "Remarque" +!!! note "Remarque" Le plugiciel fournit également la commande `:MarkdownPreviewToggle` mais au moment d'écrire ce document, il ne semble pas fonctionner correctement. Si vous essayez de l'utiliser, cela ne changera pas le thème d'aperçu mais ouvrira un nouvel onglet du navigateur avec le même aperçu. diff --git a/docs/gemstones/mtr.it.md b/docs/gemstones/mtr.it.md index 37d4be7c73..458cdc60f1 100644 --- a/docs/gemstones/mtr.it.md +++ b/docs/gemstones/mtr.it.md @@ -52,7 +52,7 @@ HOST: li Loss% Snt Last Avg Best Wrst StDev ... ``` -* Perdita% - tasso di perdita del pacchetto +* Loss% - tasso di perdita del pacchetto * Snt - il numero di pacchetti inviati * Last- il ritardo dell'ultimo pacchetto * Avg - ritardo medio diff --git a/docs/guides/contribute/README.uk.md b/docs/guides/contribute/README.uk.md new file mode 100644 index 0000000000..8a33348c7d --- /dev/null +++ b/docs/guides/contribute/README.uk.md @@ -0,0 +1 @@ +../../../README.md \ No newline at end of file diff --git a/docs/guides/contribute/mkdocs_lsyncd.it.md b/docs/guides/contribute/mkdocs_lsyncd.it.md index 8ba433b855..f5897dafba 100644 --- a/docs/guides/contribute/mkdocs_lsyncd.it.md +++ b/docs/guides/contribute/mkdocs_lsyncd.it.md @@ -23,7 +23,7 @@ Questo è anche un documento di accompagnamento alla versione [Docker qui](rocky * Riferimento a LXD - c'è un lungo documento su [costruzione e utilizzo di LXD su un server qui](../../books/lxd_server/00-toc.md), ma si userà solo un'installazione di base sulla nostra workstation Linux * Utilizzo di `lsyncd` per il mirroring dei file. Vedere [documentazione in merito qui](../backup/mirroring_lsyncd.md) * Avrete bisogno di chiavi pubbliche generate per il vostro utente e per l'utente "root" sulla vostra postazione locale usando [questo documento](../security/ssh_public_private_keys.md) -* L'interfaccia del bridge è in esecuzione su 10.56.233.1 e il container è in esecuzione su 10.56.233.189 nei nostri esempi, tuttavia i vostri IP per il bridge e il container potrebbero essere diversi +* La nostra interfaccia bridge è in esecuzione su 10.56.233.1 e il nostro container è in esecuzione su 10.56.233.189 nei nostri esempi. Tuttavia i vostri IP per il bridge e il container potrebbero essere diversi. * "youruser" in questo documento rappresenta l'id dell'utente * Il presupposto è che si stia già sviluppando la documentazione con un clone del repository della documentazione sulla propria workstation @@ -31,7 +31,7 @@ Questo è anche un documento di accompagnamento alla versione [Docker qui](rocky ### Creare il container -Il primo passo è creare il contenitore LXD. L'uso delle impostazioni predefinite (interfaccia bridge) per il proprio container va benissimo. +Il primo passo è creare il contenitore LXD. L'uso delle impostazioni predefinite del container (interfaccia del bridge) vanno benissimo in questo caso. Si aggiungerà un container Rocky alla nostra workstation per `mkdocs`. Chiamatelo semplicemente "mkdocs": @@ -39,7 +39,7 @@ Si aggiungerà un container Rocky alla nostra workstation per `mkdocs`. Chiamate lxc launch images:rockylinux/8 mkdocs ``` -Il container deve essere un proxy . Per impostazione predefinita, quando `mkdocs serve` si avvia, viene gestito all'indirizzo 127.0.0.1:8000. Questo va bene quando ci si trova sulla propria workstation locale senza un container. Tuttavia, quando si trova in un **container** LXD sulla workstation locale, è necessario impostare il container con una porta proxy. Eseguire questa operazione con: +Il container deve essere un proxy. Per impostazione predefinita, quando `mkdocs serve` si avvia, viene gestito all'indirizzo 127.0.0.1:8000. Questo va bene quando ci si trova sulla propria workstation locale senza un container. Tuttavia, quando si trova in un **container** LXD sulla workstation locale, è necessario impostare il container con una porta proxy. Eseguire questa operazione con: ``` lxc config device add mkdocs mkdocsport proxy listen=tcp:0.0.0.0:8000 connect=tcp:127.0.0.1:8000 @@ -92,7 +92,7 @@ systemctl enable --now sshd passwd ``` -Impostate una password sicura e memorizzabile. +Impostare una password sicura e memorizzabile. Quindi, aggiungete il vostro utente e impostate una password: @@ -107,7 +107,7 @@ Aggiungete il vostro utente al gruppo sudoers: usermod -aG wheel youruser ``` -A questo punto, dovreste essere in grado di entrare nel container con l'utente root o con l'utente della vostra postazione di lavoro, inserendo una password. Assicuratevi di poterlo fare prima di continuare. +Dovreste essere in grado di accedere al container con l'utente root o con l'utente della vostra workstation e di inserire una password. Assicuratevi di poterlo fare prima di continuare. ## SSH per root e per il vostro utente @@ -134,7 +134,7 @@ Per ottenere l'accesso SSH al nostro container senza dover inserire una password ssh-copy-id root@10.56.233.189 ``` -Per il nostro utente, invece, è necessario copiare l'intera cartella `.ssh/` nel nostro container. Il motivo è che si manterrà tutto uguale per questo utente, in modo che l'accesso a GitHub tramite SSH sia lo stesso. +Per il nostro utente, invece, è necessario copiare l'intera cartella `.ssh/` nel nostro container. Per questo utente si manterrà tutto uguale, in modo che l'accesso a GitHub tramite SSH sia lo stesso. Per copiare tutto nel nostro container, basta farlo come utente, **non** sudo: @@ -246,9 +246,9 @@ http://your-server-ip:8000 Se avete visto la documentazione nel browser web, ci siete quasi. L'ultimo passo consiste nel mantenere la documentazione del container sincronizzata con quella della workstation locale. -Lo si fa qui con `lsyncd` come indicato sopra. +Come indicato in precedenza, questo si fa qui con `lsyncd`. -L'installazione di`lsyncd` è diversa a seconda della versione di Linux in uso. [Questo documento](../backup/mirroring_lsyncd.md) descrive i modi per installarlo su Rocky Linux e anche dai sorgenti. Se si utilizzano altri tipi di Linux (ad esempio Ubuntu), in genere hanno i loro pacchetti, ma ci sono delle differenze. +L'installazione di `lsyncd` varia a seconda della versione di Linux. [Questo documento](../backup/mirroring_lsyncd.md) descrive i modi per installarlo su Rocky Linux e anche dai sorgenti. Se si utilizzano altri tipi di Linux (Ubuntu, per esempio), in genere hanno i loro pacchetti, ma hanno delle differenze. Ubuntu, ad esempio, denomina il file di configurazione in modo diverso. Si tenga presente che se si utilizza un altro tipo di workstation Linux diverso da Rocky Linux e non si vuole installare dai sorgenti, probabilmente sono disponibili pacchetti per la propria piattaforma. diff --git a/docs/guides/contribute/mkdocs_lsyncd.uk.md b/docs/guides/contribute/mkdocs_lsyncd.uk.md index 77f7f0e37e..c5cbf8bb32 100644 --- a/docs/guides/contribute/mkdocs_lsyncd.uk.md +++ b/docs/guides/contribute/mkdocs_lsyncd.uk.md @@ -18,36 +18,34 @@ tags: ## Передумови та припущення -Кілька речей, які ви повинні мати/знати/бути: - * Знайомство та комфорт роботи з командним рядком * Комфортно користуватися інструментами для редагування, SSH і синхронізації або готовий слідкувати за цим і вчитися -* Ми посилатимемося на LXD – тут є довгий документ про [створення та використання LXD на сервері](../../books/lxd_server/00-toc.md), але ми будемо використовувати лише базову інсталяцію на нашій робочій станції Linux. Цей документ припускає, що ви вже використовуєте LXD для інших речей, і не охоплює створення та ініціалізацію LXD. -* Ми будемо використовувати `lsyncd` для віддзеркалення файлів, і ви можете знайти [документацію про це тут](../backup/mirroring_lsyncd.md) +* Довідка про LXD – це довгий документ про [створення та використання LXD на сервері](../../books/lxd_server/00-toc.md), але ви будете використовувати лише базову інсталяцію на нашій робочій станції Linux +* Використання `lsyncd` для дзеркального відображення файлів. Перегляньте [документацію про це тут](../backup/mirroring_lsyncd.md) * Вам знадобляться відкриті ключі, згенеровані для вашого користувача та користувача «root» на локальній робочій станції за допомогою [цього документа](../security/ssh_public_private_keys.md) -* Наш інтерфейс мосту працює на 10.56.233.1, а наш контейнер працює на 10.56.233.189 у наших прикладах нижче. -* "youruser" у цьому документі представляє ваш ідентифікатор користувача, тому замініть його власним. -* Ми припускаємо, що ви вже розробляєте документацію за допомогою клону сховища документації на вашій робочій станції. +* Наш інтерфейс мосту працює на 10.56.233.1, а наш контейнер працює на 10.56.233.189 у наших прикладах. Однак ваші IP-адреси для моста та контейнера будуть різними. +* "youruser" у цьому документі представляє ваш ідентифікатор користувача +* Припускається, що ви вже розробляєте документацію за допомогою клону сховища документації на вашій робочій станції -## Контейнер mkdocs +## Контейнер `mkdocs` ### Створіть контейнер -Наш перший крок — створити контейнер LXD. Тут не потрібно використовувати нічого, окрім значень за замовчуванням, тому дозвольте створити свій контейнер за допомогою інтерфейсу мосту. +Наш перший крок — створити контейнер LXD. Використовувати типові параметри контейнера (інтерфейс мосту) тут цілком нормально. -Ми додамо контейнер Rocky до нашої робочої станції для `mkdocs`, тому ми просто назвемо його «mkdocs»: +Ви додасте контейнер Rocky до нашої робочої станції для `mkdocs`. Просто назвіть його "mkdocs": ``` lxc launch images:rockylinux/8 mkdocs ``` -Контейнер потрібно налаштувати за допомогою проксі. За замовчуванням, коли `mkdocs serve` запускається, він працює на 127.0.0.1:8000. Це добре, коли він знаходиться на вашій локальній робочій станції без контейнера. Однак, якщо він знаходиться в **контейнері** LXD на вашій локальній робочій станції, вам потрібно налаштувати контейнер із проксі-портом. Це робиться за допомогою: +Контейнер повинен бути проксі. За замовчуванням, коли `mkdocs serve` запускається, він працює на 127.0.0.1:8000. Це добре, коли він знаходиться на вашій локальній робочій станції без контейнера. Однак, якщо він знаходиться в **контейнері** LXD на вашій локальній робочій станції, вам потрібно налаштувати контейнер із проксі-портом. Зробіть це за допомогою: ``` lxc config device add mkdocs mkdocsport proxy listen=tcp:0.0.0.0:8000 connect=tcp:127.0.0.1:8000 ``` -У рядку вище «mkdocs» — це ім’я нашого контейнера, «mkdocsport» — довільне ім’я, яке ми надаємо проксі-порту, тип — «proxy», а потім ми прослуховуємо всі інтерфейси tcp на порту 8000 і підключаємось до локального хосту для цього контейнера на порту 8000. +У рядку вище «mkdocs» — це ім’я нашого контейнера, «mkdocsport» — довільне ім’я, яке ви надаєте проксі-порту, тип — «proxy», і ви слухаєте всі інтерфейси TCP на порту 8000 і підключаєтеся до localhost для цього контейнера на порту 8000. !!! Note "Примітка" @@ -73,26 +71,28 @@ lxc exec mkdocs bash Після цього ви можете пропустити встановлення `python3-pip` у пакетах, наведених нижче. -Нам знадобиться кілька пакетів, щоб виконати те, що нам потрібно: +Вам знадобиться кілька пакетів, щоб зробити те, що вам потрібно: ``` dnf install git openssh-server python3-pip rsync ``` -Після встановлення нам потрібно ввімкнути та запустити `sshd`: +Після встановлення вам потрібно ввімкнути та запустити `sshd`: + ``` systemctl enable --now sshd ``` ### Користувачі контейнерів -Нам потрібно встановити пароль для нашого користувача root, а потім додати нашого користувача (користувача, якого ви використовуєте на локальній машині) до списку sudoers. На даний момент ми повинні бути користувачем «root», тому, щоб змінити тип пароля: +Вам потрібно встановити пароль для нашого користувача root, а потім додати нашого користувача (користувача, якого ви використовуєте на своїй локальній машині) до списку sudoers. На даний момент ви є «root» користувачем. Щоб змінити пароль, введіть: + ``` passwd ``` -І встановіть пароль на щось надійне та таке, що запам’ятовується. +Встановіть надійний пароль, який ви запам'ятаєте. Далі додайте свого користувача та встановіть пароль: @@ -101,23 +101,23 @@ adduser youruser passwd youruser ``` -І додайте свого користувача до групи sudoers: +Додайте свого користувача до групи sudoers: ``` usermod -aG wheel youruser ``` -На цьому етапі ви зможете підключитися до контейнера через SSH, використовуючи або користувача root, або користувача з робочої станції та ввівши пароль. Перш ніж продовжити, переконайтеся, що ви можете це зробити. +Ви повинні мати можливість підключитися до контейнера за протоколом SSH із користувачем root або своїм користувачем із робочої станції та ввести пароль. Перш ніж продовжити, переконайтеся, що ви можете це зробити. ## SSH для root і вашого користувача -У цій процедурі root-користувач (як мінімум) повинен мати можливість входити в контейнер через SSH без введення пароля; це через процес `lsyncd`, який ми будемо застосовувати. Тут ми припускаємо, що ви можете sudo для користувача root на вашій локальній робочій станції: +У цій процедурі root-користувач (як мінімум) повинен мати можливість входити в контейнер через SSH без введення пароля; це через процес `lsyncd`, який ви запроваджуватимете. Тут припускається, що ви можете використовувати sudo для користувача root на вашій локальній робочій станції: ``` sudo -s ``` -Ми також припускаємо, що користувач root має ключ `id_rsa.pub` у каталозі `./ssh`. Якщо ні, створіть його за допомогою [цієї процедури](../security/ssh_public_private_keys.md): +Також припускається, що користувач root має ключ `id_rsa.pub` у каталозі `./ssh`. Якщо ні, створіть його за допомогою [цієї процедури](../security/ssh_public_private_keys.md): ``` ls -al .ssh/ @@ -128,15 +128,15 @@ drwx------ 14 root root 4096 Feb 25 08:10 .. -rw-r--r-- 1 root root 222 Feb 25 08:06 known_hosts ``` -Щоб отримати доступ SSH до нашого контейнера без необхідності вводити пароль, поки існує ключ `id_rsa.pub`, як це було описано вище, все, що нам потрібно зробити, це виконати: +Щоб отримати доступ SSH до нашого контейнера без необхідності вводити пароль, за умови наявності ключа `id_rsa.pub`, як це робиться вище, просто запустіть: ``` ssh-copy-id root@10.56.233.189 ``` -Однак для нашого користувача нам потрібен увесь каталог .ssh/, скопійований у наш контейнер. Причина в тому, що ми збережемо все ідентичне для цього користувача, щоб наш доступ до GitHub через SSH був однаковим. +Однак для нашого користувача вам потрібен увесь каталог `.ssh/`, скопійований у наш контейнер. Ви збережете все те саме для цього користувача, щоб наш доступ до GitHub через SSH був однаковим. -Щоб скопіювати все до нашого контейнера, нам просто потрібно зробити це як ваш користувач, **а не** sudo: +Щоб скопіювати все до нашого контейнера, вам просто потрібно зробити це як ваш користувач, **а не** sudo: ``` scp -r .ssh/ youruser@10.56.233.189:/home/youruser/ @@ -148,7 +148,7 @@ scp -r .ssh/ youruser@10.56.233.189:/home/youruser/ ssh -l youruser 10.56.233.189 ``` -Нам потрібно зробити речі ідентичними, і це робиться за допомогою `ssh-add`. Для цього ми повинні переконатися, що у нас є доступний `ssh-agent`. Введіть наступне: +Вам потрібно зробити речі ідентичними. Ви робите це за допомогою `ssh-add`. Для цього переконайтеся, що у вас є ssh-agent: ``` eval "$(ssh-agent)" @@ -157,9 +157,9 @@ ssh-add ## Клонування сховищ -Нам потрібно клонувати два репозиторії, але не потрібно додавати віддалені `git`. У сховищі документації тут відображатиметься лише поточна документація (віддзеркалена з вашої робочої станції) та документи. +Вам потрібно клонувати два репозиторії, але не потрібно додавати віддалені git. У сховищі документації тут відображатиметься лише поточна документація (віддзеркалена з вашої робочої станції) і документи. -Репозиторій rockylinux.org використовуватиметься для запуску `mkdocs serve` та використовуватиме дзеркало як джерело. Усі ці кроки слід виконувати від імені користувача без права root. Якщо ви не можете клонувати репозиторії як свій ідентифікатор користувача, то **Є** проблема з вашою ідентичністю, що стосується `git`, і вам потрібно переглянути кілька останніх кроків для повторного створення вашого середовища ключів (вище). +Репозиторій rockylinux.org призначений для запуску `mkdocs serve` і використовуватиме дзеркало як джерело. Виконайте всі ці кроки від імені користувача без права root. Якщо ви не можете клонувати репозиторії як свій ідентифікатор користувача, то **Є** проблема з вашою ідентичністю, що стосується `git`, і ви потрібно переглянути кілька останніх кроків для повторного створення вашого ключового середовища (вище). Спочатку клонуйте документацію: @@ -167,19 +167,19 @@ ssh-add git clone git@github.com:rocky-linux/documentation.git ``` -Якщо припустити, що це спрацювало, клонуйте docs.rockylinux.org: +Далі клонуйте docs.rockylinux.org: ``` git clone git@github.com:rocky-linux/docs.rockylinux.org.git ``` -Якщо все вийшло, як планувалося, то можна рухатися далі. +Якщо ви бачите помилки, поверніться до наведених вище кроків і переконайтеся, що всі вони правильні, перш ніж продовжити. -## Налаштування mkdocs +## Налаштування `mkdocs` Встановлення необхідних плагінів виконується за допомогою `pip3` і файлу «requirements.txt» у каталозі docs.rockylinux.org. Хоча цей процес буде суперечити вам щодо використання користувача root для запису змін до системних каталогів, ви повинні запустити його як root. -Ми робимо це за допомогою `sudo`. +Ви можете зробити це за допомогою `sudo` тут. Перейти в каталог: @@ -187,28 +187,28 @@ git clone git@github.com:rocky-linux/docs.rockylinux.org.git cd docs.rockylinux.org ``` -А потім запустіть: +Потім запустіть: ``` sudo pip3 install -r requirements.txt ``` -Далі ми повинні налаштувати `mkdocs` з додатковим каталогом. Зараз `mkdocs` вимагає створення каталогу документів, а потім посилання на каталог документації/документів під ним. Все це робиться за допомогою: +Далі ви повинні налаштувати `mkdocs` з додатковим каталогом. `mkdocs` вимагає створення каталогу документів, а потім каталогу документації/документів, пов’язаного з ним. Зробіть це за допомогою: ``` mkdir docs cd docs ln -s ../../documentation/docs ``` -### Тестування mkdocs +### Тестування `mkdocs` -Тепер, коли ми налаштували `mkdocs`, давайте спробуємо запустити сервер. Пам’ятайте, що цей процес буде стверджувати, що це схоже на виробництво. Це не так, тому ігноруйте попередження. Запустіть `mkdocs serve` за допомогою: +Тепер, коли ви налаштували `mkdocs`, спробуйте запустити сервер. Пам’ятайте, що цей процес буде стверджувати, що це схоже на виробництво. Це не так, тому ігноруйте попередження. Запустіть `mkdocs serve` за допомогою: ``` mkdocs serve -a 0.0.0.0:8000 ``` -Ви повинні побачити щось подібне на консолі: +У консолі ви побачите щось подібне: ``` INFO - Building documentation... @@ -235,50 +235,51 @@ INFO - Building pt documentation INFO - [14:12:56] Reloading browsers ``` -А тепер момент істини! Якщо ви зробили все правильно вище, ви зможете відкрити веб-браузер і перейти до IP-адреси свого контейнера на порту :8000 і переглянути сайт документації. +А тепер момент істини! Якщо ви зробили все правильно, ви зможете відкрити веб-браузер і перейти до IP-адреси свого контейнера на порту :8000 і переглянути сайт документації. -У нашому прикладі ми введемо наступне в адресу веб-переглядача (**ПРИМІТКА** Щоб уникнути пошкоджених URL-адрес, IP-адресу тут було змінено на «your-server-ip». Потрібно просто підставити в IP): +У нашому прикладі введіть наступне в адресу веб-переглядача (**ПРИМІТКА** Щоб уникнути непрацюючих URL-адрес, IP-адресу тут змінено на «ip-адресу вашого-сервера». Потрібно просто підставити в IP): ``` http://your-server-ip:8000 ``` -## lsyncd +## `lsyncd` -Ми майже готові, якщо ви бачили документацію у веб-переглядачі. Останнім кроком є синхронізація документації у вашому контейнері з документацією на локальній робочій станції. +Ви майже готові, якщо побачили документацію у веб-переглядачі. Останнім кроком є синхронізація документації у вашому контейнері з документацією на локальній робочій станції. -Як зазначалося вище, ми робимо це тут за допомогою `lsyncd`. +Як зазначено вище, ви робите це тут за допомогою `lsyncd`. -`lsyncd` встановлюється по-різному залежно від версії Linux, яку ви використовуєте. [У цьому документі](../backup/mirroring_lsyncd.md) описано способи встановлення на Rocky Linux, а також із джерела. Якщо ви використовуєте якийсь інший тип Linux (наприклад, Ubuntu), вони зазвичай мають власні пакети, але в них є нюанси. +Встановлення `lsyncd` відрізняється залежно від вашої версії Linux. [У цьому документі](../backup/mirroring_lsyncd.md) описано способи встановлення на Rocky Linux, а також із джерела. Якщо ви використовуєте інші типи Linux (Ubuntu, наприклад), вони зазвичай мають власні пакети, але мають нюанси. -Ubuntu, наприклад, називає файл конфігурації по-різному. Просто майте на увазі, що якщо ви використовуєте інший тип робочої станції Linux, окрім Rocky Linux, і не бажаєте встановлювати з вихідного коду, ймовірно, для вашої платформи є доступні пакунки. +Ubuntu, наприклад, називає файл конфігурації по-різному. Просто майте на увазі, що якщо ви використовуєте інший тип робочої станції Linux, відмінний від Rocky Linux, і не бажаєте встановлювати його з вихідного коду, ймовірно, для вашої платформи є доступні пакунки. Наразі ми припускаємо, що ви використовуєте робочу станцію Rocky Linux і використовуєте метод встановлення RPM із включеного документа. ### Конфігурація -!!! Note +!!! Note "Примітка" + Користувач root повинен запускати демон, тому ви повинні бути root для створення файлів конфігурації та журналів. Для цього ми припускаємо `sudo -s`. -Для `lsyncd` нам потрібні деякі файли журналу для запису: +Для запису `lsyncd` потрібно мати деякі файли журналу: ``` touch /var/log/lsyncd-status.log touch /var/log/lsyncd.log ``` -Нам також потрібно створити файл виключення, хоча в цьому випадку ми нічого не виключаємо: +Вам також потрібно створити файл виключення, навіть якщо в цьому випадку ви нічого не виключаєте: ``` touch /etc/lsyncd.exclude ``` -Нарешті нам потрібно створити файл конфігурації. У цьому прикладі ми використовуємо `vi` як наш редактор, але ви можете використовувати будь-який редактор, який вам зручно: +Нарешті, вам потрібно створити файл конфігурації. У цьому прикладі ми використовуємо `vi` як наш редактор, але ви можете використовувати будь-який редактор, який вам зручно: ``` vi /etc/lsyncd.conf ``` -А потім помістіть цей вміст у цей файл і збережіть його. Обов’язково замініть «youruser» на фактичного користувача, а IP-адресу — на власну IP-адресу контейнера: +Потім помістіть цей вміст у цей файл і збережіть його. Обов’язково замініть «youruser» на фактичного користувача, а IP-адресу — на власну IP-адресу контейнера: ``` settings { @@ -305,13 +306,13 @@ sync { } ``` -Ми припускаємо, що ви ввімкнули `lsyncd` під час встановлення, тому на цьому етапі нам потрібно просто запустити або перезапустити процес: +Припускаючи, що ви ввімкнули `lsyncd` під час встановлення, на цьому етапі вам потрібно просто запустити або перезапустити процес: ``` systemctl restart lsyncd ``` -Щоб переконатися, що все працює, перевірте журнали, зокрема `lsyncd.log`, який повинен показати вам щось на кшталт цього, якщо все запущено правильно: +Щоб переконатися, що все працює, перевірте журнали, зокрема `lsyncd.log`, який має показати вам щось на кшталт цього, якщо все запущено правильно: ``` Fri Feb 25 08:10:16 2022 Normal: --- Startup, daemonizing --- @@ -322,6 +323,6 @@ Fri Feb 25 08:15:14 2022 Normal: Calling rsync with filter-list of new/modified ## Висновок -Коли ви зараз працюєте над документацією вашої робочої станції, будь то `git pull` чи гілка, яку ви створюєте, щоб створити документ (як цей!), ви побачите, як зміни з’являться у вашій документації в контейнері, а `mkdocs serve` покаже вам вміст у вашому веб-переглядачі. +Коли ви зараз працюєте над документацією вашої робочої станції, будь то `git pull` чи гілка, яку ви створюєте, щоб створити документ (як цей!), ви побачите, як зміни з’являться у вашій документації в контейнері , і `mkdocs serve` покаже вам вміст у вашому веб-переглядачі. -Рекомендується виконувати весь код Python окремо від будь-якого іншого коду Python, який ви, можливо, розробляєте. Контейнери LXD можуть зробити це набагато простіше; спробуйте цей метод і перевірте, чи працює він для вас. +Рекомендована практика полягає в тому, що весь Python має працювати окремо від будь-якого іншого коду, який ви можете розробити. Контейнери LXD можуть зробити це простіше. Спробуйте цей метод і перевірте, чи він вам підходить. diff --git a/docs/guides/contribute/mkdocs_venv.uk.md b/docs/guides/contribute/mkdocs_venv.uk.md index 3861554711..c196eec1dd 100644 --- a/docs/guides/contribute/mkdocs_venv.uk.md +++ b/docs/guides/contribute/mkdocs_venv.uk.md @@ -21,7 +21,7 @@ tags: У нашому випадку документація перетворюється на `HTML` за допомогою програми python, яка піклується про створення статичного сайту. Розробники використовують програму [MkDocs](https://www.mkdocs.org/). -Одна з проблем, яка виникає під час розробки програми python, полягає в тому, щоб ізолювати примірник python, який використовується для розробки, від системного інтерпретатора. Ізоляція запобігає несумісності між модулями, необхідними для встановлення програми Python, і тими, які встановлені на хост-системі. Будь-яка несумісність призведе до помилок візуалізації або збоїв у роботі вашого локального сайту. +Одна з проблем, яка виникає під час розробки програми python, полягає в тому, щоб ізолювати примірник python, який використовується для розробки, від системного інтерпретатора. Ізоляція запобігає несумісності між модулями, необхідними для встановлення програми Python, і тими, які встановлені на хост-системі. Уже існують чудові посібники, які використовують **контейнери** для ізоляції інтерпретатора Python. Ці посібники, однак, передбачають знання різних методів контейнеризації. @@ -259,7 +259,7 @@ INFO - [11:46:50] Watching paths for changes: INFO - [11:46:50] Serving on http://127.0.0.1:8000/ ``` -Відкривши свій браузер за вказаною адресою (http://1127.0.0.1:8000), ви запустите свою копію сайту документації. Копія ідеально відображає онлайн-сайт за функціональністю та структурою, дозволяючи оцінити зовнішній вигляд і вплив вашої сторінки на сайт. +Ваша копія сайту документації буде запущена під час відкриття вашого браузера за вказаною адресою (http://1127.0.0.1:8000). Копія ідеально відображає онлайн-сайт за функціональністю та структурою, дозволяючи оцінити зовнішній вигляд і вплив вашої сторінки на сайт. MkDocs містить механізм для перевірки змін у файлах у папці, визначеній шляхом `docs_dir`, і вставлення нової сторінки або зміна існуючої в `documentation/docs` буде автоматично розпізнано та створить нову статичну збірку сайту. @@ -280,7 +280,7 @@ INFO - [22:32:41] Serving on http://127.0.0.1:8000/ ## Висновки та заключні думки -Перевірка ваших нових сторінок на сайті локальної розробки гарантує нам, що ваша робота завжди відповідатиме сайту онлайн-документації, отже, дозволяючи нам робити оптимальний внесок. +Перевірка ваших нових сторінок на сайті локальної розробки гарантує нам, що ваша робота завжди відповідатиме веб-сайту онлайн-документації, дозволяючи нам робити оптимальний внесок. Відповідність документів також є великою підмогою для кураторів сайту документації, яким потім залишається лише займатися коректністю контенту. diff --git a/docs/guides/contribute/navigation.uk.md b/docs/guides/contribute/navigation.uk.md new file mode 100644 index 0000000000..86e4d545c7 --- /dev/null +++ b/docs/guides/contribute/navigation.uk.md @@ -0,0 +1,131 @@ +--- +title: Зміни у навігації +author: Steven Spencer +contributors: Ezequiel Bruni +tags: + - contribute + - навігація +--- + +# Навігаційні зміни – документ процесу для менеджерів або редакторів + +## Підстава для цього документа + +Коли розпочався проект документації, сподівалися, що меню в Mkdocs будуть максимально автоматичними, що зробить редагування ручної навігації рідкістю. Після кількох місяців генерування документів стало зрозуміло, що просто розмістити документи у правильній папці та дозволити Mkdocs розробити навігацію, щоб зберегти речі чистими та акуратними, не можна покладатися. Нам потрібні були категорії, які Mkdocs не надає, якщо документи не знаходяться в певних папках. Тоді Mkdocs створить навігацію за алфавітним сортуванням. Однак створення структури папок, яка виправляє навігацію, — це ще не все. Навіть для цього іноді знадобляться додаткові зміни, щоб зберегти порядок. Наприклад, використання великих літер без зміни структури папок у нижньому регістрі. + +## Цілі + +Нашими цілями були: + +* Створення потрібної структури папок зараз (у майбутньому можуть знадобитися нові папки). +* Налаштувати навігацію так, щоб області Rocky Installation, Migration і Contribution були вгорі +* Налаштувати навігацію, щоб краще назвати деякі папки, і увімкнути правильне використання великих літер. Як приклад, «DNS» і «File Sharing Services» інакше відображаються як «Dns» і «File sharing» без будь-яких маніпуляцій. +* Переконатися, що ці навігаційні файли доступні тільки менеджерам і редакторам. + +Цей останній пункт може здатися деяким читачам непотрібним, але він стане більш очевидним, коли цей документ продовжиться. + +## Припущення + +Передбачається, що у вас є локальний клон репозиторію Rocky GitHub: [https://github.com/rocky-linux/documentation](https://github.com/rocky-linux/documentation). + +## Зміни середовища + +З цими змінами виникає справжня потреба «побачити», як будь-які зміни, які ви вносите, впливають на вміст у контексті веб-сайту, _ПЕРЕД_, як цей вміст буде закріплено в сховищі документів, а згодом стане «активним». + +MkDocs — це програма [Python](https://www.python.org), і додаткові пакети, які вона використовує, також є кодом Python, це означає, що середовище, необхідне для запуску MkDocs, має бути **правильно налаштованим середовищем Python**. Налаштування Python для завдань розробки (а саме те, що робиться під час запуску MkDocs) не є тривіальним завданням, і інструкції щодо цього виходять за рамки цього документа. Деякі міркування: + +* Версія Python має бути >= 3.8, також **необхідно бути особливо обережним, щоб не використовувати «системну» версію Python комп’ютера, якщо на комп’ютері працює Linux/macOS**. Наприклад, на момент написання цього документа системною версією Python для macOS залишається версія 2.7. +* Запуск «віртуального середовища» Python. Під час запуску проектів програм Python і встановлення пакетів, наприклад MkDocs, спільнота Python **наполегливо рекомендує** [створити ізольоване віртуальне середовище](https://realpython.com/python-virtual-environments-a-primer/) для кожного проекту. +* Використовуйте сучасне IDE (інтегроване середовище розробки), яке добре підтримує Python. Дві популярні IDE, які також мають вбудовану підтримку запуску віртуальних середовищ, це: + * PyCharm - (доступна безкоштовна версія) провідна IDE для Python https://www.jetbrains.com/pycharm/ + * Visual Studio Code - (доступна безкоштовна версія) від Microsoft https://code.visualstudio.com + +Щоб це зробити ефективно, потрібно: + +* Налаштування нового проекту Python, який, в ідеалі, використовує віртуальне середовище (вище). +* Встановлення `mkdocs` +* Встановлення деяких плагінів python +* Клонування цього репозиторію Rocky GitHub: [https://github.com/rocky-linux/docs.rockylinux.org](https://github.com/rocky-linux/docs.rockylinux.org) +* Посилання на папку `docs` у вашому клонованому сховищі документації (ви також можете просто змінити файл mkdocs.yml, якщо хочете завантажити правильну папку, але зв’язування зробить ваше середовище mkdocs чистішим) +* Запуск `mkdocs serve` у вашому клоні docs.rockylinux.org + +!!! tip "Підказка" + + Ви можете створити окремі середовища для `mkdocs`, використовуючи одну з цих двох процедур: + + * [Локальна документація - Docker](rockydocs_web_dev.md) + * [Локальна документація - LXD](mkdocs_lsyncd.md) + +!!! Note "Примітка" + + Цей документ було написано в середовищі Linux. Якщо ваше середовище інше (Windows або Mac), вам потрібно буде дослідити відповідність деяких із цих кроків. Редактор або менеджер, який читає це, може внести до нього зміни, щоб додати кроки для цих середовищ. + +### Встановлення + +* Встановіть `mkdocs` у середовищі python: `pip install mkdocs` +* Встановіть необхідні плагіни: `pip install mkdocs-material mkdocs-localsearch mkdocs-awesome-pages-plugin mkdocs-redirects mkdocs-i18n` +* Клонувати репозиторій (зазначено вище) + +### Приєднання та запуск `mkdocs` + +У вашому локальному файлі docs.rockylinux.org (клоні) виконайте наступне. Це передбачає розташування вашого клону документації, тому змініть за потреби: + +`ln -s /home/username/documentation/docs docs` + +Знову ж таки, за бажанням ви можете змінити локальну копію файлу `mkdocs.yml`, щоб установити шлях. Якщо ви використовуєте цей метод, ви повинні змінити цей рядок, щоб вказувати на вашу папку `documentation/docs`: + +``` +docs_dir: 'docs/docs' +``` + +Після завершення ви можете спробувати запустити `mkdocs serve`, щоб побачити, чи ви отримали бажаний вміст. Це буде працювати на вашому локальному хості на порту 8000; наприклад: http://127.0.0.1:8000/ + +## Навігація та інші зміни + +Навігація обробляється за допомогою файлів mkdocs `.pages` **АБО** значенням мета "title:" у передній частині документа. Файли `.pages` не є складними, АЛЕ якщо щось пропущено, це може спричинити збій завантаження сервера. Ось чому ця процедура **ЛИШЕ** для менеджерів і редакторів. Ці особи матимуть інструменти (локальне встановлення mkdocs, а також клони документації та docs.rockylinux.org), щоб щось, передане та об’єднане з GitHub, не порушувало обслуговування веб-сайту документації. Не можна очікувати, що учасник відповідатиме хоча б одній із цих вимог. + + +### Файли `.pages` + +Як уже зазначалося, файли `.pages` загалом досить прості. Це файл у форматі YAML, який `mkdocs` зчитує перед відтворенням вмісту. Щоб поглянути на один із складніших файлів `.pages`, давайте розглянемо файл, створений для форматування бічної навігації: + +``` +--- +nav: + - ... | index*.md + - ... | installation*.md + - ... | migrate2rocky*.md + - Contribute: contribute + - Automation: automation + - Backup & Sync: backup + - Content Management: cms + - Communications: communications + - Containers: containers + - Database: database + - Desktop: desktop + - DNS: dns + - Email: email + - File Sharing Services: file_sharing + - Git: git + - Interoperability: interoperability + - Mirror Management: mirror_management + - Network: network + - Package Management: package_management + - ... + +``` +Тут `index*md` показує «Guides Home: », `installation*.md` показує посилання на документ «Встановлення Rocky Linux», а `migrate2rocky*.md` показує посилання на документ «Міграція на Rocky Linux». "*" у кожному посиланні дозволяє документу бути _будь-якою_ мовою. Нарешті, розміщення "Внести свій внесок" знаходиться під цими елементами, а не в звичайному (алфавітному) порядку сортування. Переглядаючи список, ви можете побачити, що робить кожен елемент. Зауважте, що після запису «Керування пакетами: package_management» є ще дві папки (безпека та веб). Вони не потребують додаткового форматування, тому ми просто повідомляємо `mkdocs` завантажувати їх зазвичай із «-...» + +Ви також можете використовувати форматування YAML у реальному файлі. Причиною для цього може бути те, що початковий заголовок файлу такий довгий, що він просто погано відображається в розділі навігації. Як приклад візьмемо заголовок цього документа "# `mod_ssl` на Rocky Linux у середовищі веб-сервера httpd Apache". Це дуже довго. Він дуже погано відображається на бічній панелі навігації, коли відкрито навігаційний елемент «Інтернет». Щоб виправити це, ви можете спільно з автором змінити його заголовок або змінити спосіб його відображення в меню, додавши заголовок перед заголовком усередині документа. Для прикладу документа додано назву: +``` +--- +title: Apache With `mod_ssl` +--- +``` +Це змінює назву щодо навігації, але залишає оригінальну назву автора в документі. + +Ймовірно, не буде великої потреби в додаткових файлах `.pages`. Їх слід використовувати економно. + +## Висновок + +Хоча навігаційні зміни, які, можливо, потрібно буде внести, не є складними, потенційна можливість зламати поточну документацію існує. З цієї причини лише менеджери та редактори з відповідними інструментами повинні мати дозвіл на редагування цих файлів. Наявність повного доступного середовища для перегляду того, як виглядатимуть живі сторінки, запобігає менеджеру чи редактору від помилок під час редагування цих файлів, порушуючи поточну документацію. diff --git a/docs/guides/contribute/rockydocs_formatting.uk.md b/docs/guides/contribute/rockydocs_formatting.uk.md new file mode 100644 index 0000000000..4b4b79c3c1 --- /dev/null +++ b/docs/guides/contribute/rockydocs_formatting.uk.md @@ -0,0 +1,465 @@ +--- +title: Форматування документів +author: Steven Spencer +contributors: tianci li, Ezequiel Bruni, Krista Burdine +tags: + - contribute + - форматування +--- + +# Вступ + +У цьому посібнику описано додаткові параметри форматування, зокрема попередження, нумеровані списки, таблиці тощо. + +Документ може або не повинен містити жодного з цих елементів. Якщо ви вважаєте, що спеціальне форматування допоможе вашому документу, цей посібник має допомогти. + +!!! note "Примітка про заголовки" + + Заголовки не є спеціальними символами форматування; скоріше це стандартний markdown синтаксис. Вони містять **один** заголовок першого рівня: + + ``` + # Це перший рівень + ``` + + + і будь-яка кількість значень підзаголовків, рівні від 2 до 6: + + ``` + ## Заголовок рівня 2 + ### Заголовок рівня 3 + #### Заголовок рівня 4 + ##### Заголовок 5 рівня + ###### Заголовок 6 рівня + ``` + + + Ключовим тут є те, що ви можете використовувати скільки завгодно заголовків із 2–6, але лише **ОДИН** заголовок рівня 1. Хоча документ відображатиметься правильно з кількома заголовками рівня 1, автоматично створений зміст документа, який з’являється праворуч, **НЕ** відображатиметься правильно (або іноді взагалі) із кількома заголовками. Майте це на увазі під час написання документів. + +## Застереження + +Попередження — це спеціальні візуальні «коробки», які дозволяють привернути увагу до важливих фактів і виділити їх серед решти тексту. Існують наступні типи застережень: + +| тип | Опис | +| ------------------- | -------------------------------------------------------------- | +| note "примітка" | відображає текст у синьому полі | +| abstract "анотація" | відображає світло-блакитне текстове поле | +| info "Інформація" | відображає синьо-зелене текстове поле | +| tip "Підказка" | відображає синьо-зелене текстове поле (значок трохи зеленіший) | +| success "Успіх" | відображає зелене текстове поле | +| question "Питання" | відображає світло-зелене текстове поле | +| warning "Важливо" | відображає помаранчеве текстове поле | +| failure "Невдача" | відображає світло-червоне текстове поле | +| danger "Небезпечно" | відображає червоне текстове поле | +| bug "Помилка" | відображає червоне текстове поле | +| example "Приклад" | відображає фіолетове текстове поле | +| quote "Цитата" | відображає сіре текстове поле | +| custom 1 | завжди відображає синє текстове поле | +| custom 2 | використовує спеціальну назву в іншому типі | + +Попередження необмежені, як зазначено в custom 1 вище. Додайте спеціальний заголовок до будь-якого типу попередження, щоб отримати потрібний колір рамки для конкретного попередження, як зазначено в custom 2 вище. + +Застереження завжди вводиться таким чином: + +``` +!!! тип_застереження "Заголовок застереження якщо є" + + текст застереження +``` + +Основний текст застереження має бути з відступом на чотири (4) інтервали від початкового поля. Легко побачити, де це, тому що він завжди вишиковується під першою літерою типу застереження. Зайвий рядок між заголовком і основним текстом не з’являтиметься, але наша система перекладу (Crowdin) має працювати правильно. + +Ось приклади кожного типу застережень і того, як вони виглядатимуть у вашому документі: + +!!! note "Примітка" + + текст + +!!! abstract "анотація" + + текст + +!!! info "Інформація" + + текст + +!!! tip "Підказка" + + текст + +!!! success "Успіх" + + текст + +!!! question "Питання" + + текст + +!!! warning "Важливо" + + текст + +!!! failure "Невдача" + + текст + +!!! danger "Небезпечно" + + текст + +!!! custom "Власний заголовок" + + Спеціальний 1 типу. Тут ми використали "спеціальний" як наш тип попередження. Знову ж таки, це завжди відображатиметься синім кольором. + +!!! warning "Власний заголовок" + + Спеціальний 2 типу. Ми змінили тип попередження «попередження» за допомогою спеціального заголовка. Ось як це виглядає: + + ``` + !!! warning "Власний заголовок" + ``` + +### Попередження, що розгортаються + +Якщо застереження має дуже довгий вміст, розгляньте можливість використання розгорнутого застереження. Це розглядається як звичайне застереження, але починається з трьох знаків питання, а не з трьох знаків оклику. Застосовуються всі інші правила попередження. Попередження, що розгортається, виглядає так: + +??? warning "Вміст попередження" + + Це попередження, не дуже багато змісту. Ви б хотіли використовувати для цього звичайне попередження, але це лише приклад! + +Це виглядає так у вашому редакторі: + +``` +??? warning "Вміст попередження" + + Це попередження, має не дуже багато змісту. Ви б хотіли використовувати для цього звичайне попередження, але це лише приклад! +``` + +## Вміст із вкладками в документі + +Вміст із вкладками форматується подібно до попереджень. Замість трьох знаків оклику чи питання, він починається трьома знаками рівності. Усе форматування попередження (4 пробіли тощо) застосовується до цього вмісту. Наприклад, для документації може знадобитися інша процедура для іншої версії Rocky Linux. Якщо для версій використовується вміст із вкладками, останній випуск Rocky Linux має бути першим. На момент написання цієї статті це було 9.0: + +=== "9.0" + + Процедура для цього в 9.0 + +=== "8.6" + + Процедура для цього в 8.6 + +У вашому редакторі це виглядатиме так: + +``` +=== "9,0" + + Процедура для цього в 9.0 + +=== "8,6" + + Процедура для цього в 8.6 +``` + +Пам’ятайте, що все, що потрапляє всередину розділу, має продовжувати використовувати 4-пробілний відступ, доки розділ не буде завершено. Це дуже зручна функція! + +## Нумеровані списки + +Нумеровані списки схоже на те, що їх легко створювати та використовувати, і коли ви з ними зрозумієте, це дійсно так. Якщо у вас є лише один список елементів без складності, тоді такий формат працює добре: + +``` +1. Пункт 1 + +2. Пункт 2 + +3. Пункт 3 +``` + +1. Пункт 1 + +2. Пункт 2 + +3. Пункт 3 + +Якщо вам потрібно додати блоки коду, кілька рядків або навіть абзаци тексту до нумерованого списку, тоді текст має бути з відступом із тими самими чотирма (4) пробілами, які використовуються в попередженнях. + +Однак ви не можете використовувати очі, щоб вирівняти їх під пронумерованим пунктом, оскільки це один інтервал. Якщо ви користуєтеся хорошим редактором розміток, ви можете встановити значення табуляції на чотири (4), що спростить форматування всього. + +Ось приклад багаторядкового нумерованого списку з доданим блоком коду: + +1. Коли ви маєте справу з багаторядковими нумерованими списками, які включають блоки коду, використовуйте відступ пробілу, щоб отримати те, що ви хочете. + + Наприклад: це має відступ на чотири (4) пробіли та представляє новий абзац тексту. Крім того, ми додаємо блок коду. Він також має такі ж чотири (4) пробіли, як і наш абзац: + + ``` + dnf update + ``` + +2. Ось наш другий пункт у списку. Оскільки ми використали відступ (вище), він відображається з наступною послідовністю нумерації (іншими словами, 2), але якби ми ввели елемент 1 без відступу (у наступному абзаці та коді), тоді це відображалося б як елемент 1 знову, що не те, чого ми хочемо. + +І ось як це виглядає як необроблений текст: + +```markdown +1. Коли ви маєте справу з багаторядковими нумерованими списками, які включають блоки коду, використовуйте відступ пробілу, щоб отримати те, що ви хочете. + + Наприклад: це має відступ на чотири (4) пробіли та представляє новий абзац тексту. Крім того, ми додаємо блок коду. Він також має такі ж чотири (4) пробіли, як і наш абзац: + + ``` + + + dnf update + ``` + +2. Ось наш другий пункт у списку. Оскільки ми використали відступ (вище), він відображається з наступною послідовністю нумерації (іншими словами, 2), але якби ми ввели елемент 1 без відступу (у наступному абзаці та коді), тоді це відображалося б як елемент 1 знову, що не те, чого ми хочемо. +``` + +## Таблиці + +Таблиці допомагають нам розмістити параметри команд або, як у наведеному вище випадку, типи попереджень та описи. Ось як було введено таблицю в розділі Попередження: + +``` +| тип | Опис | +|-----------|------------------------------------------ ----------------------| +| note "примітка" | відображає синє текстове поле | +| abstract "анотація" | відображає світло-блакитне текстове поле | +| info "інформація" | відображає синьо-зелене текстове поле | +| tip "підказка" | відображає синьо-зелене текстове поле (значок трохи зеленіший) | +| success "успіх" | відображає зелене текстове поле | +| question "питання" | відображає світло-зелене текстове поле | +| warning "Важливо" | відображає помаранчеве текстове поле | +| failure "невдача" | відображає світло-червоне текстове поле | +| danger "небезпека" | відображає червоне текстове поле | +| bug "помилка" | відображає червоне текстове поле | +| example" приклад" | відображає фіолетове текстове поле | +| quote "цитата" | відображає сіре текстове поле | +| спеціальний 1 | завжди відображає синє текстове поле | +| спеціальний 2 | використовує спеціальний заголовок в іншому типі | + +``` + +Зауважте, що необов’язково розбивати кожен стовпець за розміром (як ми зробили в першій частині таблиці), але це, звичайно, легше читається у вихідному файлі розмітки. Це може заплутати, коли ви об’єднуєте елементи разом, просто розбиваючи стовпці вертикальною рискою «|» де б не було природного розриву, як ви можете бачити в останніх двох пунктах таблиці. + +## Блок з цитатою + +Блоки цитат призначені для цитування тексту з інших джерел для включення у вашу документацію, але їх необов’язково використовувати таким чином. Деякі учасники використовують цитати замість таблиць, наприклад, щоб перелічити деякі параметри. Приклади блоків з цитатами у розмітці: + +``` +> **предмет** – опис цього предмета + +> **інший предмет** – інший опис цього предмета +``` + +Додатковий «розривний» рядок необхідний, щоб рядки не йшли разом. + +Під час відтворення сторінки це виглядає так: + +> **елемент** – опис цього елемента **інший предмет** – інший опис елемента + +## Вбудовані та блочні кодові блоки + +Our approach to the use of code blocks is pretty simple. Якщо `ваш код` достатньо короткий, щоб ви могли (і хотіли) використати його у реченні, яке ви щойно бачили, використовуйте одинарні зворотні галочки `, наприклад: + +``` +Речення з `командою за вашим вибором`. +``` + +Будь-яка команда, яка не використовується всередині текстового абзацу (особливо довгі шматки коду з кількома рядками), має бути повним блоком коду, визначеним потрійними зворотними галочками `: + +````markdown +```bash +sudo dnf install the-kitchen-sink +``` +```` +Біт `bash` цього форматування є несуттєвим ідентифікатором коду, але може допомогти підсвічувати синтаксис. Звичайно, якщо ви демонструєте Python, PHP, Ruby, HTML, CSS або будь-який інший код, "bash" слід змінити на будь-яку мову, яку ви використовуєте. +До речі, якщо вам потрібно показати блок коду в блоці коду, просто додайте ще одну зворотну галочку ` до батьківського блоку, ось так: + +`````markdown +````markdown +```bash +sudo dnf install the-kitchen-sink +``` +```` +````` + +І так, блок коду, який ви щойно бачили, використовував п’ять зворотних галочок на початку та в кінці, щоб правильно відтворити його. + +## Клавіатура + +Ще один спосіб додати якомога більше ясності вашим документам — це відобразити клавіші на клавіатурі, які потрібно вводити правильно. Це робиться за допомогою `key`. Наприклад, щоб показати, що вам потрібно натиснути клавішу виходу у вашому документі, ви б використали `ESCCTRL + F4`. Якщо клавіші потрібно натискати одночасно, додайте до своїх інструкцій «одночасно» або якусь подібну фразу. Ось приклад клавіатурної інструкції у вашому редакторі: + +``` +Інсталяція типу робочої станції (з графічним інтерфейсом) запускає цей інтерфейс на терміналі 1. Оскільки Linux є багатокористувацьким, можна підключити кількох користувачів кілька разів на різних **фізичних терміналах** (TTY) або **віртуальних терміналах** (PTS). Віртуальні термінали доступні в графічному середовищі. Користувач перемикається з одного фізичного терміналу на інший за допомогою Alt + Fx з командного рядка або за допомогою CTRL + Alt + Fx. +``` + +І ось як це відображається під час відображення: + +Інсталяція типу робочої станції (з графічним інтерфейсом) запускає цей інтерфейс на терміналі 1. Оскільки Linux є багатокористувацьким, можна підключити кількох користувачів кілька разів на різних **фізичних терміналах** (TTY) або **віртуальних терміналах ** (PTS). Віртуальні термінали доступні в графічному середовищі. Користувач перемикається з одного фізичного терміналу на інший за допомогою Alt + Fx із командного рядка або за допомогою CTRL + Alt + Fx. + +## Верхній, нижній індекс та спеціальні символи + +Верхній і нижній індекси не є звичайною розміткою, але підтримуються в документації Rocky Linux за допомогою тегів HTML, які використовуються з тією ж метою. Верхній індекс розміщує текст, введений між тегами, трохи вище стандартного тексту, тоді як нижній індекс розміщує текст трохи нижче. Верхній індекс є найпоширенішим із цих двох на письмі. Деякі спеціальні символи вже з’являються в верхньому індексі без додавання тегів, але ви також можете поєднати тег, щоб змінити орієнтацію цих символів, як показано на символі авторського права нижче. Ви можете використовувати верхній індекс, щоб: + +* представити порядкові числа, наприклад 1st, 2nd, 3rd +* символи авторського права та товарних знаків, наприклад ©, TM або ™, ® +* як позначення для посилань, наприклад this1, this2 і this3 + +Деякі спеціальні символи, наприклад © зазвичай не є верхнім індексом, тоді як інші, такі як ™, є. + +Ось як все вищесказане виглядає у вашому markdown коді: + +``` +* представляють порядкові номери, наприклад 1st, 2nd, 3rd +* символи авторського права та товарних знаків, наприклад ©, TM або ™, ® +* як позначення для посилань, наприклад this1, this2 і це3 + +Деякі спеціальні символи, такі як © зазвичай не є верхнім індексом, тоді як інші, такі як ™, є. +``` + +Як бачите, для примусового надрядкового коду ми можемо використовувати підтримувані теги HTML ``. + +Підрядковий індекс вводиться за допомогою тегів `` і, як зазначалося раніше, не так часто використовується на письмі. + +### Верхній індекс для літератури + +Деякі з вас можуть відчувати потребу посилатися на зовнішні джерела під час написання документації. Якщо у вас є лише одне джерело, ви можете включити його у свій висновок як одне посилання, але якщо у вас є кілька1, ви можете використовувати верхній індекс, щоб позначити їх у своєму тексті2 , а потім перелічіть їх у кінці документа. Зверніть увагу, що літературу слід розташовувати після розділу «Висновок». + +Після завершення ви можете мати свої позначки в пронумерованому списку відповідно до верхнього індексу або ввести їх як посилання. Обидва приклади показано тут: + +1. "How Multiples Are Used In Text" by Wordy W. McWords [https://site1.com](https://site1.com) +2. "Using Superscript In Text" by Sam B. Supersecret [https://site2.com](https://site2.com) + +або + +[1](https://site1.com) "How Multiples Are Used In Text" by Wordy W. McWords +[2](https://site2.com) "Using Superscript In Text" by Sam B. Supersecret + +І ось як це все виглядає у вашому редакторі: + +``` +1. "How Multiples Are Used In Text" by Wordy W. McWords [https://site1.com](https://site1.com) +2. "Using Superscript In Text" by Sam B. Supersecret [https://site2.com](https://site2.com) + +або + +[1](https://site1.com) "How Multiples Are Used In Text" by Wordy W. McWords +[2](https://site2.com) "Using Superscript In Text" by Sam B. Supersecret + +``` + +## Групування різних типів форматування + +Rocky Documentation пропонує кілька елегантних варіантів форматування при поєднанні кількох елементів в одному елементі. Наприклад, попередження з пронумерованим списком: + +!!! note "Примітка" + + Усе може стати трохи божевільним, коли ви групуєте речі. Як коли: + + 1. Ви додаєте пронумерований список опцій до попередження + + 2. Або ви додаєте нумерований список із кількома блоками коду: + + ``` + dnf install some-great-package + ``` + + Це також є в нумерованому списку з кількох абзаців. + +Або у вас може бути пронумерований список із додатковим зауваженням: + +1. Цей предмет є дуже важливим + + Тут ми додаємо команду з клавіатури до елемента списку: + + Натисніть ESC без особливої причини. + +2. Але цей пункт є дуже важливим *і* містить кілька абзаців + + І в середині це застереження: + + !!! warning "Важливо" + + З кількома елементами в різних типах форматування все може стати трохи божевільним! + +Поки ви стежите за магічними чотирма (4) пробілами для відступів і розділення цих елементів, вони відображатимуться логічно й саме так, як ви хочете. Іноді це важливо. + +Ви навіть можете вставити таблицю або цитату (буквально будь-який тип елемента форматування) в іншу. Тут ми маємо пронумерований список, попередження, таблицю та деякі елементи блок-цитат, які об’єднані разом: + +1. Намагатися встигати за всім, що відбувається у вашому документі, може бути справжньою проблемою під час роботи з кількома елементами. + +2. Якщо ви відчуваєте себе перевантаженими, подумайте про: + + !!! warning "важливо: я думаю, що болить мозок!" + + Поєднуючи кілька елементів форматування, ваш мозок може трохи збожеволіти. Подумайте про те, щоб висмоктати трохи кофеїну, перш ніж почати! + + | тип | добова норма кофеїну | + |-----------------|------------------------------ ---| + | чай | зрештою це приведе вас туди | + | кава | для вибагливих смакових рецепторів | + | red bull | на смак жахливий, але він вас утримає! | + | гірська роса | над розкрученим | + + > **цукор**, якщо кофеїн вам не подобається + + > **потерпіть**, якщо нічого не допомагає, зосередьтеся більше + +3. Є більше прикладів, але наведене вище повинно показати, що все може бути вкладено всередину. Просто запам’ятайте чотири (4) магічних місця. + +Ось як цей приклад виглядає у вашому редакторі: + +``` + +Поки ви стежите за чарівними чотирма (4) пробілами для розділення цих предметів, вони відображатимуться логічно й саме так, як ви хочете. Іноді це важливо. + +Ви навіть можете вставити таблицю або цитату (буквально будь-який тип елемента форматування) в іншу. Тут ми маємо пронумерований список, попередження, таблицю та деякі елементи блок-цитат, які об’єднані разом: + +1. Намагатися встигати за всім, що відбувається у вашому документі, може бути справжньою проблемою під час роботи з кількома елементами. + +2. Якщо ви відчуваєте себе перевантаженими, подумайте про: + + !!! warning "важливо: я думаю, що болить мозок!" + + Поєднуючи кілька елементів форматування, ваш мозок може трохи збожеволіти. Подумайте про те, щоб висмоктати трохи кофеїну, перш ніж почати! + + | тип | добова норма кофеїну | + |-----------------|------------------------------ ---| + | чай | зрештою це приведе вас туди | + | кава | для вибагливих смакових рецепторів | + | red bull | на смак жахливий, але він вас утримає! | + | гірська роса | над розкрученим | + + > **цукор**, якщо кофеїн вам не подобається + + > **потерпіть**, якщо нічого не допомагає, зосередьтеся більше + +3. Є більше прикладів, але наведене вище повинно показати, що все може бути вкладено всередину. Просто запам’ятайте чотири (4) магічних місця. +``` + +## Останній пункт – коментарі + +Іноді ви можете додати коментар до розмітки, який не відображатиметься під час візуалізації. Є багато причин, чому ви можете це зробити. Наприклад, якщо ви хочете додати заповнювач для чогось, що буде додано пізніше, ви можете використати коментар, щоб позначити своє місце. + +Найкращий спосіб додати коментар до вашої розмітки – використовувати квадратні дужки «[]» навколо двох похилих рисок «//», за якими йде двокрапка та вміст. Це виглядало б так: + +``` + +[//]: це коментар, який буде замінено пізніше + +``` + +У коментарі має бути порожній рядок перед і після коментаря. + +## Більше читання + +* Rocky Linux [документ про те, як зробити внесок](README.md) + +* Докладніше про [застереження](https://squidfunk.github.io/mkdocs-material/reference/admonitions/#supported-types) + +* [Коротка довідка щодо уцінки](https://wordpress.com/support/markdown-quick-reference/) + +* [Більше коротких довідників](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) для Markdown + +## Висновок + +Форматування документа за допомогою заголовків, попереджень, таблиць, нумерованих списків і цитат може додати чіткості вашому документу. Використовуючи поради, подбайте про те, щоб вибрати правильний тип. Це може полегшити візуальне уявлення про важливість конкретного застереження. + +Вам не *потрібно* використовувати розширені параметри форматування. Надмірне використання спеціальних елементів може створити безлад там, де вони не потрібні. Навчання використовувати ці елементи форматування консервативно та добре може бути дуже корисним, щоб донести свою точку зору в документі. + +Нарешті, щоб спростити форматування, подумайте про те, щоб змінити значення TAB редактора розмітки на чотири (4) пробіли. diff --git a/docs/guides/contribute/rockydocs_web_dev.uk.md b/docs/guides/contribute/rockydocs_web_dev.uk.md new file mode 100644 index 0000000000..aa441925a4 --- /dev/null +++ b/docs/guides/contribute/rockydocs_web_dev.uk.md @@ -0,0 +1,104 @@ +--- +title: Локальна документація - Docker +author: Wale Soyinka +contributors: Steve Spencer +update: 27 лютого 2022 р +--- + +# Запуск локальної копії веб-сайту docs.rockylinux.org для веб-розробників та/або авторів вмісту + +У цьому документі описано, як відтворити та запустити локальну копію всього веб-сайту docs.rockylinux.org на вашій локальній машині. **Це незавершено.** + +Запуск локальної копії веб-сайту документації може бути корисним у таких випадках: + +* Вам цікаво дізнатися про аспекти веб-розробки веб-сайту docs.rockylinux.org і зробити свій внесок у них +* Ви автор і хотіли б побачити, як ваші документи відображатимуться/виглядатимуть на веб-сайті документів, перш ніж надсилати їх +* Ви веб-розробник, який хоче внести свій внесок або допомогти підтримувати веб-сайт docs.rockylinux.org + + +### Деякі примітки: + +* Інструкції в цьому посібнику **НЕ** є обов’язковою умовою для авторів/учасників документації Rocky +* Усе середовище працює в контейнері Docker, тому вам знадобиться механізм Docker на вашій локальній машині +* Контейнер створено на основі офіційного образу докера RockyLinux, доступного тут https://hub.docker.com/r/rockylinux/rockylinux +* Контейнер зберігає вміст документації (посібники, книги, зображення тощо) окремо від веб-механізму (mkdocs) +* Контейнер запускає локальний веб-сервер, який прослуховує порт 8000. І порт 8000 буде перенаправлено на хост Docker + + +## Створення середовища вмісту + +1. Змініть поточний робочий каталог у вашій локальній системі на папку, у якій ви збираєтеся писати. Ми називатимемо цей каталог як `$ROCKYDOCS` в решті цього посібника. Для нашої демонстрації тут `$ROCKYDOCS` вказує на `~/projects/rockydocs` у нашій демонстраційній системі. + +Створіть $ROCKYDOCS, якщо він ще не існує, а потім введіть: + +``` +cd $ROCKYDOCS +``` + +2. Переконайтеся, що у вас встановлено `git` (`dnf -y install git`). Перебуваючи в $ROCKYDOCS, використовуйте git, щоб клонувати офіційне сховище вмісту Rocky Documentation. Впишіть: + +``` +git clone https://github.com/rocky-linux/documentation.git +``` + +Тепер у вас буде папка `$ROCKYDOCS/documentation`. Ця папка є репозиторієм git і знаходиться під контролем git. + + +## Створення та запуск середовища веб-розробки RockyDocs + +3. Переконайтеся, що Docker запущено на вашій локальній машині (це можна перевірити за допомогою `systemctl`) + +4. З терміналу введіть: + +``` +docker pull wsoyinka/rockydocs:latest +``` + +5. Переконайтеся, що зображення завантажено успішно. Впишіть: + +``` +docker image ls +``` + +## Запуск контейнера RockyDocs + +1. Запустіть контейнер з образу Rockydocs. Впишіть: + +``` +docker run -it --name rockydoc --rm \ + -p 8000:8000 \ + --mount type=bind,source="$(pwd)"/documentation,target=/documentation \ + wsoyinka/rockydocs:latest + +``` + + +Крім того, якщо ви віддаєте перевагу та якщо у вас встановлено `docker-compose`, ви можете створити файл створення під назвою `docker-compose.yml` із таким вмістом: + +``` +version: "3.9" +services: + rockydocs: + image: wsoyinka/rockydocs:latest + volumes: + - type: bind + source: ./documentation + target: /documentation + container_name: rocky + ports: + - "8000:8000" + +``` + +Збережіть файл із назвою `docker-compose.yml` у робочому каталозі $ROCKYDOCS. І запустіть службу/контейнер, виконавши: + +``` +docker-compose up +``` + + +## Перегляньте місцевий веб-сайт docs.rockylinux.org + +Коли контейнер запущено, ви можете вказати свій веб-браузер за такою URL-адресою, щоб переглянути локальну копію сайту: + +http://localhost:8000 diff --git a/docs/guides/contribute/rockydocs_webdev_v2.uk.md b/docs/guides/contribute/rockydocs_webdev_v2.uk.md new file mode 100644 index 0000000000..d4834d7bd9 --- /dev/null +++ b/docs/guides/contribute/rockydocs_webdev_v2.uk.md @@ -0,0 +1,161 @@ +--- +title: Локальна документація - Podman +author: Wale Soyinka +contributors: +update: 13 лютого 2023 р +--- + +# Запуск веб-сайту docs.rockylinux.org локально для веб-розробки | Podman + + +У цьому документі описано, як відтворити та запустити локальну копію всього веб-сайту docs.rockylinux.org на вашій локальній машині. Запуск локальної копії веб-сайту документації може бути корисним у таких випадках: + +* Вам цікаво дізнатися про аспекти веб-розробки веб-сайту docs.rockylinux.org і зробити свій внесок у них +* Ви автор і хотіли б побачити, як ваші документи відображатимуться/виглядатимуть на веб-сайті документів, перш ніж надсилати їх + + +## Створення середовища вмісту + +1. Переконайтеся, що передумови виконано. Якщо ні, перейдіть до розділу «[Налаштування попередніх умов](#setup-the-prerequisites)», а потім поверніться сюди. + +2. Змініть поточний робочий каталог у вашій локальній системі на папку, у якій ви збираєтеся писати. Ми будемо посилатися на цей каталог як `$ROCKYDOCS` в решті цього посібника. Для нашої демонстрації тут `$ROCKYDOCS` вказує на `$HOME/projects/rockydocs` у нашій демонстраційній системі. + +Створіть $ROCKYDOCS, якщо він ще не існує, і змініть свій робочий каталог на тип $ROCKYDOCS: + +``` +mkdir -p $HOME/projects/rockydocs +export ROCKYDOCS=${HOME}/projects/rockydocs +cd $ROCKYDOCS +``` + +3. Переконайтеся, що у вас встановлено `git` (`dnf -y install git`). Перебуваючи в $ROCKYDOCS, використовуйте git, щоб клонувати офіційне сховище вмісту Rocky Documentation. Впишіть: + +``` +git clone https://github.com/rocky-linux/documentation.git +``` + +Тепер у вас буде папка `$ROCKYDOCS/documentation`. Ця папка є репозиторієм git і знаходиться під контролем git. + +4. Також використовуйте git, щоб клонувати офіційне сховище docs.rockylinux.org. Впишіть: + +``` +git clone https://github.com/rocky-linux/docs.rockylinux.org.git +``` + +Тепер у вас буде папка `$ROCKYDOCS/docs.rockylinux.org`. У цій папці ви можете експериментувати зі своїми внесками в веб-розробку. + + +## Створення та запуск середовища веб-розробки RockyDocs + +5. Переконайтеся, що на вашій локальній машині запущено та працює Podman (можна перевірити за допомогою `systemctl`). Перевірте, запустивши: + +``` +systemctl enable --now podman.socket +``` + +6. Створіть новий файл `docker-compose.yml` із таким вмістом: + +``` +version: '2' +services: + mkdocs: + privileged: true + image: rockylinux:9.1 + ports: + - 8001:8001 + environment: + PIP_NO_CACHE_DIR: "off" + PIP_DISABLE_PIP_VERSION_CHECK: "on" + volumes: + - type: bind + source: ./documentation + target: /app/docs + - type: bind + source: ./docs.rockylinux.org + target: /app/docs.rockylinux.org + working_dir: /app + command: bash -c "dnf install -y python3 pip git && \ + ln -sfn /app/docs docs.rockylinux.org/docs && \ + cd docs.rockylinux.org && \ + git config --global user.name webmaster && \ + git config --global user.email webmaster@rockylinux.org && \ + curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/mike-plugin-changes.patch -o mike-plugin-changes.patch && \ + git apply --reverse --check mike-plugin-changes.patch && \ + /usr/bin/pip3 install --no-cache-dir -r requirements.txt && \ + /usr/local/bin/mike deploy -F mkdocs.yml 9.1 91alias && \ + /usr/local/bin/mike set-default 9.1 && \ + echo All done && \ + /usr/local/bin/mike serve -F mkdocs.yml -a 0.0.0.0:8001" + +``` + +Збережіть файл із назвою `docker-compose.yml` у робочому каталозі $ROCKYDOCS. + +Ви також можете швидко завантажити копію файлу docker-compose.yml, виконавши: + +``` +curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/docker-compose-rockydocs.yml -o docker-compose.yml +``` + + +7. Нарешті використовуйте docker-compose, щоб відкрити службу. Впишіть: + +``` +docker-compose up +``` + + +## Перегляньте місцевий веб-сайт docs.rockylinux.org + +8. Якщо у вашій системі Rocky Linux працює брандмауер, переконайтеся, що порт 8001 відкритий. Впишіть: + +``` +firewall-cmd --add-port=8001/tcp --permanent +firewall-cmd --reload +``` + +Коли контейнер запущено, ви можете вказати свій веб-браузер за такою URL-адресою, щоб переглянути локальну копію сайту: + +http://localhost:8001 + +Або + +http://SERVER_IP:8001 + + + + +## Налаштування передумов + +Встановіть і налаштуйте Podman та інші інструменти, виконавши: + +``` +sudo dnf -y install podman podman-docker git + +sudo systemctl enable --now podman.socket + +``` + +Встановіть docker-compose і зробіть його виконуваним. Впишіть: + +``` +curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose + +chmod 755 /usr/local/bin/docker-compose +``` + + +Виправте дозволи на сокет докера. Впишіть: + +``` +sudo chmod 666 /var/run/docker.sock +``` + + +### Примітки: + +* Інструкції в цьому посібнику **НЕ** є обов’язковою умовою для авторів документації Rocky або учасників вмісту +* Все середовище працює в контейнері Podman, тому вам потрібно буде правильно налаштувати Podman на вашій локальній машині +* Контейнер створено на основі офіційного образу докерів Rocky Linux 9.1, доступного тут https://hub.docker.com/r/rockylinux/rockylinux +* Контейнер зберігає вміст документації окремо від веб-механізму (mkdocs) +* Контейнер запускає локальний веб-сервер, який прослуховує порт 8001. diff --git a/docs/guides/contribute/style_guide.it.md b/docs/guides/contribute/style_guide.it.md index d72bda34ac..ea31413987 100644 --- a/docs/guides/contribute/style_guide.it.md +++ b/docs/guides/contribute/style_guide.it.md @@ -42,7 +42,7 @@ Le **caratteristiche della scrittura tecnica** descritte nel Chicago Manual of S * 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. * 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 una capitalizzazione di tipo frase, magari perché fate spesso riferimento ad acronimi, rendetela coerente all'interno dell'intero documento. +* 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. ### Voce e Tono @@ -52,8 +52,8 @@ Le **caratteristiche della scrittura tecnica** descritte nel Chicago Manual of S * 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: - * Per la documentazione rivolta ai neofiti o ai principianti, o per la scrittura di contenuti come i post di un blog, è appropriato uno stile più colloquiale. - * Per la documentazione rivolta agli utenti avanzati o per la documentazione API (Application Programming Interface), è opportuno uno stile di scrittura più formale o terso. + * 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 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. @@ -67,7 +67,7 @@ Le **caratteristiche della scrittura tecnica** descritte nel Chicago Manual of S ### Date -Se possibile, utilizzare il nome del mese nel formato {day} {Month} {year}. Tuttavia, {Month} {day}, {year} è accettabile anche per risolvere problemi di chiarezza o di aspetto. In ogni caso, per evitare di creare confusione, scrivete i nomi dei mesi piuttosto che usare una serie di numeri. Ad esempio: 24 gennaio 2023, ma anche 24 gennaio 2023, entrambi preferibili a 1/24/2023 o 24/01/2023. +Se possibile, utilizzare il nome del mese nel formato {day} {Month} {year}. Tuttavia, {Month} {day}, {year} è accettabile anche per risolvere problemi di chiarezza o di aspetto. In ogni caso, per evitare confusione, scrivete i nomi dei mesi piuttosto che una serie di numeri. Ad esempio: 24 gennaio 2023, ma anche 24 gennaio 2023, entrambi preferibili a 1/24/2023 o 24/01/2023. ### Procedure a fase singola @@ -111,7 +111,7 @@ In Markdown, gli ammonimenti sono un modo per inserire le informazioni in un riq ### Link -* Rendete i link descrittivi, in modo che sia ovvio dove conducono, sia dal testo stesso che dal contesto. Evitate i collegamenti ipertestuali con nomi come "clicca qui" +* Rendete i link descrittivi, in modo che sia evidente la loro provenienza dal testo o dal contesto. Evitate i collegamenti ipertestuali con nomi come "clicca qui" * Verificare che tutti i collegamenti funzionino come descritto. ### Tabelle diff --git a/docs/guides/contribute/style_guide.uk.md b/docs/guides/contribute/style_guide.uk.md new file mode 100644 index 0000000000..0f03bc01cc --- /dev/null +++ b/docs/guides/contribute/style_guide.uk.md @@ -0,0 +1,141 @@ +--- +title: Керівництво по стилю +author: Ezequiel Bruni, Krista Burdine +contributors: Steven Spencer +tags: + - contribute + - керівництво по стилю +--- + +# Керівництво по стилю Rocky Linux Documentation + +*Rocky Linux — це корпоративний Linux, який найшвидше розвивається у світі, його документація також зростає в геометричній прогресії завдяки таким учасникам, як ви. Ваш вміст вітається в будь-якому форматі, і стилісти документів RL допоможуть вам узгодити його зі стандартами, викладеними тут.* + +## Вступ + +### Про + +*Нові внески вітаються, щоб виростити це місце в Інтернеті для інформації про використання Rocky Linux. Ви можете створювати документи у зручному для вас форматі, а команда документації працюватиме з вами або іншим чином допоможе відформатувати їх, щоб вони виглядали та відчувалися частиною родини Rocky.* + +У цьому посібнику описано стандарти стилю англійської мови, щоб **покращити читабельність, виділити виняткові випадки** та **поліпшити переклад** у документації Rocky Linux. Щодо запитань про стиль, які не розглядаються в цьому посібнику, зверніться до наступного: + +* [Merriam Webster Dictionary](https://www.merriam-webster.com/) +* [Chicago Manual of Style (CMOS), 17th ed.](https://www.chicagomanualofstyle.org/home.html) + +### Зробити внесок + +Для повнішого розуміння того, як робити внески, зверніться до наших відповідних посібників: + +* [Rocky Linux Contribution Guide](https://docs.rockylinux.org/guides/contribute/) містить вимоги до системи та програмного забезпечення для початку роботи. +* [Посібник для перших учасників Rocky Linux](../beginners/) для ознайомлення з GitHub, нашою базою документації. +* [Форматування Rocky Docs](../rockydocs_formatting/) для структури Markdown. + +## Рекомендації щодо стилю + +*Метою документації RL є використання чіткої та узгодженої мови для доступності та сприяння поточним перекладам.* + +### Граматика і пунктуація + +**Ознаки технічного написання**, як зазначено в Чиказькому посібнику зі стилю, включають наступне: + +* Подвійні лапки («стиль Чикаго»), а не одинарні лапки («стиль Оксфорд»). +* Крапки та коми беруться в лапки “ось так,” а не “ось так”. +* Тире {shift}+{option}+{-} не має пробілів ні перед, ні після, як це, і є кращим для фраз у дужках. +* Використовуйте послідовну кому перед «і» в списку з трьох елементів: «Горошок, гірчиця та морква». +* Заголовки, як правило, мають бути написані з великої літери: перше й останнє слова, а також усі іменники, займенники, дієслова та прислівники пишуться з великої літери. Якщо ваш документ краще працює з великими літерами в стилі речень, можливо, через те, що ви часто посилаєтеся на акроніми, зробіть це узгодженим у всьому документі. +* Заголовки не потребують крапки чи крапки з комою наприкінці, навіть якщо вони вживаються з великої літери, якщо вони не закінчуються абревіатурою. + +### Голос і тон + +* **Проста мова.** Це можна описати як *менш розмовний* стиль. Більшість нашої документації відповідає цьому стандарту. + * Уникайте метафор і ідіом. + * Скажіть те, що ви маєте на увазі, якомога меншою кількістю слів. + * Визначте та уникайте непотрібних технічних термінів. Подумайте, що ваша аудиторія – це переважно люди, які певною мірою знайомі з предметом, але можуть не бути експертами в цьому предметі. + * Винятки для простої мови: + * Більш розмовний стиль підходить для документації, адресованої новачкам або початківцям, або для написання вмісту, як-от дописів у блогах. + * Більш формальний або стислий стиль формулювання підходить для документації, адресованої досвідченим користувачам, або документації API (інтерфейс прикладного програмування). +* **Інклюзивна мова.** + * Використання мови розвивається з часом. Деякі слова еволюціонували, щоб нести негативні конотації, тому документацію слід переписати, щоб використовувати нові слова. + * *Master/slave* стає *primary/secondary* або узгодженим організаційним стандартом. + * *Blacklist/whitelist* стає *blocklist/allowlist* або узгодженим організаційним стандартом. + * Під час створення документації ви можете подумати про інші відповідні приклади. + * Говорячи про особу *невідомої* або *небінарної* статі, зараз вважається прийнятним використовувати "вони" як займенник однини. + * Говорячи про свої здібності, формулюйте відповіді як *здібності*, а не *обмеження.* Наприклад, якщо вам цікаво, чи ми маємо документацію про запуск Steam на Rocky Linux, відповідь не просто «ні». Скоріше, «Здається, це чудове місце для вас, щоб створити щось, щоб додати до нашого дерева!» +* **Уникайте скорочень.** Це допомагає з перекладом. Винятком є написання чогось у більш розмовному тоні, як-от публікації в блозі чи вітальні інструкції для нових учасників спільноти. + +## Форматування + +### Дати + +Якщо можливо, використовуйте назву місяця у форматі {day} {Month} {year}. Однак {Month} {day}, {year} також прийнятний для вирішення проблем із чіткістю чи виглядом. У будь-якому випадку, щоб уникнути плутанини, пишіть назви місяців, а не серію чисел. Наприклад: 24 січня 2023 р., але 24 січня 2023 р. також прийнятно, причому обидва варіанти краще, ніж 1/24/2023 або 24/01/2023. + +### Одноетапні процедури + +Якщо у вас є процедура лише з одним кроком, використовуйте маркер, а не номер. Наприклад: + +* Реалізуйте цю ідею і рухайтеся далі. + +### Мова графічного інтерфейсу + +* Текстові інструкції щодо інтерфейсу користувача: описуючи команду, яку потрібно ввести в інтерфейс користувача, використовуйте слово «enter», а не «put» або «type». Використовуйте блок коду, щоб написати команду (тобто встановити її зворотними галочками): + +*Приклад тексту Markdown* `У полі **повідомлення про фіксацію** введіть update_thisdoc.` + +* Назви елементів інтерфейсу користувача: **жирним шрифтом** назви елементів інтерфейсу, таких як кнопки, пункти меню, назви діалогових вікон тощо, навіть якщо це слово не можна натиснути: + +*Example Markdown text* `In the **Format** menu, click **Line Spacing**.` + +## Структура + +### Початковий вміст кожного посібника або сторінки/розділу книги + +* **Анотація.** Коротка інформація про те, чого очікувати від цієї сторінки +* **Цілі.** Маркірований список того, що ця сторінка передасть читачеві +* **Навички** необхідні/вивчені. +* **Рівень складності.** 1 зірка для легкого, 2 для середнього тощо. +* **Час читання.** Щоб визначити це число, розділіть слова у вашому документі на швидкість читання 75 слів на хвилину. + +### Застереження + +У Markdown попередження — це спосіб помістити інформацію у вікно, щоб виділити її. Вони не є важливими для документації, але є інструментом, який може бути вам корисним. Дізнайтеся більше про застереження в нашому [документі про форматування Rocky](../rockydocs_formatting/). + +## Доступність + +*Наступні стандарти покращують доступ до нашої документації для тих, хто користується такими засобами, як програми зчитування з екрана.* + +### Зображення + +* Надайте текстові описи в тексті заміщення або підписах для кожного нетекстового елемента, наприклад діаграм, зображень або значків. +* По можливості уникайте скріншотів із текстом. +* Зробіть альтернативний текст значущим, а не просто описовим. Для значків дій, наприклад, введіть опис функції, а не опис її вигляду. + +### Посилання + +* Зробіть посилання описовими, щоб було зрозуміло, куди вони ведуть із тексту чи контексту. Уникайте гіперпосилань із назвами на зразок «клацніть тут». +* Переконайтеся, що всі посилання працюють, як описано. + +### Таблиці + +* Створюйте таблиці в логічному порядку зліва направо, зверху вниз. +* Уникайте порожніх клітинок у верхній або лівій частині таблиці. +* Уникайте об’єднаних клітинок, які охоплюють кілька стовпців. + +### Кольори + +* Деяким елементам у Markdown, наприклад попередженням, призначено колір, щоб полегшити візуальне розуміння. Загалом, вони також мають присвоєну назву; наприклад, застереження «небезпека» відображає червону рамку, але також містить дескриптор «небезпека», вбудований в опис. Але, створюючи спеціальне попередження, майте на увазі, що колір не може бути єдиним засобом передачі команди або рівня попередження. +* Будь-яка команда, яка містить сенсорний напрямок, як-от *вище* або *нижче*, *колір*, *розмір*, *візуальне розташування* на сторінці тощо, також має включати напрямок, який можна передати лише текстовим описом. +* Створюючи графічний елемент, переконайтеся, що існує достатній контраст між кольорами переднього плану та фону, щоб програмі зчитування з екрана було легко інтерпретувати його. + +### Заголовки + +* Використовуйте всі рівні заголовків, не пропускаючи рівні. +* Розташуйте весь матеріал під заголовками, щоб полегшити читання. +* Пам’ятайте, що в Markdown можна використовувати лише один заголовок першого рівня. + +## Підсумок + +У цьому документі викладено наші стандарти внеску, зокрема **інструкції щодо стилю**, те, як **структурувати** ваш документ, і способи включення **інклюзивність** і **доступність** до тексту. Це стандарти, до яких ми прагнемо. У міру своїх можливостей пам’ятайте про ці стандарти під час створення та редагування документації. + +Однак — і не пропустіть це застереження — **ставтеся до цих стандартів як до інструменту, а не як до перешкоди.** У дусі інклюзивності та доступності ми хочемо переконатися, що ваш внесок має плавне входження в сімейне дерево Роккі. Ми є дружньою командою документалістів і стилістів, які допомагають вам, і ми допоможемо привести ваш документ у його остаточний вигляд. + +Ви готові? Давайте розпочнемо! diff --git a/docs/guides/database/database_mariadb-server.uk.md b/docs/guides/database/database_mariadb-server.uk.md new file mode 100644 index 0000000000..6823f942bd --- /dev/null +++ b/docs/guides/database/database_mariadb-server.uk.md @@ -0,0 +1,200 @@ +--- +title: Сервер бази даних MariaDB +author: Steven Spencer +contributors: Ezequiel Bruni, William Perron +tested_with: 8.5, 8.6, 9.0 +tags: + - бази даних + - mariadb +--- + +# Сервер бази даних MariaDB + +## Передумови + +* Сервер Rocky Linux +* Вміння працювати з редактором командного рядка (у цьому прикладі ми використовуємо _vi_) +* Високий рівень комфорту з видачею команд із командного рядка, переглядом журналів та іншими загальними обов’язками системного адміністратора +* Розуміння баз даних _mariadb-server_ є корисним +* Усі команди виконуються від імені користувача root або _sudo_ + +## Вступ + +_Mariadb-сервер_ і його клієнт _mariadb_ є альтернативою _mysql-server_ і _mysql_ з відкритим вихідним кодом і мають спільну структуру команд. _mariadb-server_ можна знайти запущеним на багатьох веб-серверах завдяки популярній [Wordpress CMS](https://wordpress.org/) яка цього вимагає. Однак ця база даних має багато інших застосувань. + +Якщо ви бажаєте використовувати це разом з іншими інструментами для посилення безпеки веб-сервера, поверніться до [посібника Apache Hardened Web Server](../web/apache_hardened_webserver/index.md). + +## Встановлення mariadb-сервера + +Вам потрібно встановити _mariadb-server_: + +`dnf install mariadb-server` + +## Захист mariadb-сервера + +Щоб посилити безпеку _mariadb-server_, нам потрібно запустити сценарій, але перед тим, як це зробити, нам потрібно ввімкнути та запустити mariadb: + +`systemctl enable mariadb` + +І потім: + +`systemctl start mariadb` + +Далі виконайте цю команду: + +`mysql_secure_installation` + +!!! tip "Підказка" + + Версія MariaDB-сервера, яка ввімкнена за замовчуванням у Rocky Linux 8.5, це 10.3.32. Ви можете встановити 10.5.13, увімкнувши модуль: + + ``` + dnf module enable mariadb:10.5 + ``` + + + Потім ми встановлюємо `mariadb`. Починаючи з версії 10.4.6 MariaDB, доступні спеціальні команди MariaDB, які можна використовувати замість старих команд із префіксом `mysql`. До них відноситься раніше згадана `mysql_secure_installation`, яку тепер можна викликати за допомогою версії MariaDB `mariadb-secure-installation`. + +Це викликає діалогове вікно: + +``` +NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB + SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! + +In order to log into MariaDB to secure it, we'll need the current +password for the root user. If you've just installed MariaDB, and +you haven't set the root password yet, the password will be blank, +so you should just press enter here. + +Enter current password for root (enter for none): +``` + +Оскільки це абсолютно нова інсталяція, пароль адміністратора не встановлено. Тож просто натисніть тут Enter. + +Наступна частина діалогу продовжується: + +``` +OK, successfully used password, moving on... + +Setting the root password ensures that nobody can log into the MariaDB +root user without the proper authorisation. + +Set root password? [Y/n] +``` + +Ви абсолютно _обов'язково_ бажаєте встановити пароль root. Ви захочете з’ясувати, що це має бути, і задокументувати це десь у менеджері паролів, щоб за потреби можна було його відкрити. Почніть із натискання «Enter», щоб прийняти «Y» за умовчанням. Відкриється діалогове вікно пароля: + +``` +New password: +Re-enter new password: +``` + +Введіть вибраний пароль, а потім підтвердіть його, ввівши ще раз. Якщо це буде успішно, ви отримаєте таке діалогове вікно: + +``` +Password updated successfully! +Reloading privilege tables.. + ... Success! +``` + +Далі діалогове вікно має справу з анонімним користувачем: + +``` +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 +go a bit smoother. You should remove them before moving into a +production environment. + +Remove anonymous users? [Y/n] +``` + +Відповідь тут "Y", тому просто натисніть "Enter", щоб прийняти значення за умовчанням. + +Діалогове вікно переходить до розділу, що стосується дозволу користувача root входити віддалено: + +``` +... Success! + +Normally, root should only be allowed to connect from 'localhost'. This +ensures that someone cannot guess at the root password from the network. + +Disallow root login remotely? [Y/n] +``` + +root потрібен лише локально на машині. Тому також прийміть це значення за замовчуванням, натиснувши «Enter». + +Потім діалогове вікно переходить до «тестової» бази даних, яка автоматично встановлюється за допомогою _mariadb-server_: + +``` +... Success! + + +By default, MariaDB comes with a database named 'test' that anyone can +access. This is also intended only for testing, and should be removed +before moving into a production environment. + +Remove test database and access to it? [Y/n] +``` + +Знову ж таки, відповідь є типовою, тому просто натисніть «Enter», щоб видалити її. + +Нарешті, діалогове вікно запитає вас, чи бажаєте ви перезавантажити привілеї: + +``` +- Dropping test database... + ... Success! + - Removing privileges on test database... + ... Success! + +Reloading the privilege tables will ensure that all changes made so far +will take effect immediately. + +Reload privilege tables now? [Y/n] +``` + +Знову ж таки, просто натисніть «Enter», щоб зробити це. Якщо все піде добре, ви повинні отримати це повідомлення: + +``` + ... Success! + +Cleaning up... + +All done! If you've completed all of the above steps, your MariaDB +installation should now be secure. + +Thanks for using MariaDB! +``` + +Тепер MariaDB має бути готова до використання. + +### Зміни Rocky Linux 9.0 + +Rocky Linux 9.0 використовує `mariadb-server-10.5.13-2` як версію mariadb-server за умовчанням. Починаючи з версії 10.4.3, на сервері автоматично вмикається новий плагін, який змінює діалогове вікно `mariadb-secure-installation`. Цей плагін є автентифікацією `unix-socket`. [Ця стаття](https://mariadb.com/kb/en/authentication-plugin-unix-socket/) добре пояснює нову функцію. По суті, використання автентифікації `unix-socket` використовує облікові дані користувача, який увійшов у систему, для доступу до бази даних. Це робить так, що якщо користувач root, наприклад, увійшов, а потім використав `mysqladmin` для створення або видалення бази даних (або будь-якої іншої функції), для доступу не потрібен пароль. Те саме працює з `mysql`. Це також означає, що немає пароля для віддаленого зламу. Це залежить від безпеки користувачів, налаштованих на сервері для захисту всіх баз даних. + +Друге діалогове вікно під час `mariadb-secure-installation` після встановлення пароля для адміністратора: + +``` +Switch to unix_socket authentication Y/n +``` + +За замовчуванням тут є «Y», але навіть якщо ви відповідаєте «n», коли плагін увімкнено, пароль для користувача не запитуватиметься, принаймні через інтерфейс командного рядка. Ви можете вказати пароль або не вказати пароль, і вони обидва працюють: + +``` +mysql + +MariaDB [(none)]> +``` + +``` +mysql -p +Enter password: + +MariaDB [(none)]> +``` + +Щоб дізнатися більше про цю функцію, перейдіть за посиланням вище. Існує спосіб вимкнути цей плагін і повернути пароль як обов’язкове поле, яке також детально описано в цьому посиланні. + +## Висновок + +Сервер бази даних, такий як _mariadb-server_, можна використовувати для багатьох цілей. Через популярність CMS Wordpress її часто можна знайти на веб-серверах. Однак перед тим, як запускати базу даних у виробництві, доцільно посилити її захист. diff --git a/docs/guides/desktop/kde_installation.uk.md b/docs/guides/desktop/kde_installation.uk.md new file mode 100644 index 0000000000..a235b5e97a --- /dev/null +++ b/docs/guides/desktop/kde_installation.uk.md @@ -0,0 +1,106 @@ +--- +title: Встановлення KDE +author: Steven Spencer +contributors: Ezequiel Bruni +tested_with: 9.0 +tags: + - desktop + - kde +--- + +# Вступ + +Завдяки команді розробників Rocky Linux є живі образи для кількох установок на робочому столі, включаючи KDE. Для тих, хто може не знати, що таке живий образ, він завантажить ОС і середовище робочого столу за допомогою інсталяційного носія та дасть вам можливість попрацювати (випробувати) перед встановленням. + +!!! note "Примітка" + + Ця процедура є специфічною для Rocky Linux 9.0. Наразі не існує процедури встановлення KDE для попередніх версій Rocky Linux. + Не соромтеся написати одну! + +## Передумови + +* Машина сумісна з Rocky Linux 9.0 (настільний комп’ютер, ноутбук або сервер), на якій ви хочете запустити робочий стіл KDE. +* Можливість виконувати деякі дії з командного рядка, наприклад перевіряти контрольні суми зображення. +* Знання того, як записати завантажувальний образ на DVD або флешку USB. + +## Отримання, перевірка та запис живого образу KDE + +Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ KDE у розділі завантаження для Rocky Linux 9 [живі образи](https://dl.rockylinux.org/pub/rocky/9.2/live/x86_64/). + +Зауважте, що це конкретне посилання передбачає x86_64 як архітектуру вашого процесора. Якщо у вас є архітектура aarch64, ви можете використовувати це зображення. Завантажте живий образ і файли контрольної суми. + +Тепер перевірте зображення за допомогою файлу CHECKSUM за допомогою наступного (зверніть увагу: це приклад! Переконайтеся, що назва вашого зображення та файли CHECKSUM збігаються): + +``` +sha256sum -c CHECKSUM --ignore-missing Rocky-9-KDE-x86_64-latest.iso.CHECKSUM +``` + +Якщо все піде добре, ви повинні отримати це повідомлення: + +``` +Rocky-9-KDE-x86_64-latest.iso: OK +``` + +Якщо контрольна сума для файлу повертає ОК, тепер ви готові записати образ ISO на носій. Ми припускаємо, що ви знаєте, як записати зображення на ваш носій. Ця процедура відрізняється залежно від ОС, носія та інструментів. + +## Завантаження + +Знову ж таки, це залежить від машини, BIOS, ОС тощо. Ви повинні переконатися, що ваша машина налаштована на завантаження будь-якого носія (DVD або USB) як першого завантажувального пристрою. У разі успіху ви побачите цей екран: + +![kde_boot](images/kde_boot.png) + +Якщо так, то ви на вірному шляху! Якщо ви хочете перевірити носій, ви можете спочатку вибрати цей параметр або ввести **S**, щоб **запустити Rocky Linux KDE 9.0 **. + +Пам’ятайте, що це живе зображення. Завантаження на перший екран займе деякий час. Не панікуйте, просто почекайте! Коли живе зображення з’явиться, ви побачите цей екран: + +![kde_live](images/kde_live.png) + +## Встановлення KDE + +На цьому етапі ви можете використовувати середовище KDE і перевірити, чи воно вам подобається. Коли ви вирішите, що хочете використовувати його назавжди, двічі клацніть опцію **Установити на жорсткий диск**. + +Це почне знайомий процес встановлення для тих, хто встановив Rocky Linux. Перший екран дозволить вам змінити мову на вашу регіональну мову: + +![kde_language](images/kde_language.png) + +Після вибору мови та натискання **Продовжити** програма встановлення перейде до наступного екрана. Ми виділили те, що ви *можете* забажати змінити та/або перевірити: + +![kde_install](images/kde_install.png) + +1. **Keyboard**. Подивіться на цей параметр і переконайтеся, що він відповідає розкладці клавіатури, яку ви використовуєте. +2. **Time & Date** – переконайтеся, що вона відповідає вашому часовому поясу. +3. **Installation Destination**. Вам потрібно буде натиснути цей параметр, навіть якщо це потрібно для прийняття того, що вже є. +4. **Network & Host Name**. Переконайтеся, що тут є те, що ви хочете. Поки мережа ввімкнена, ви завжди можете змінити це пізніше, якщо знадобиться. +5. **Root Password** – встановіть пароль адміністратора. Не забудьте зберегти це в безпечному місці (менеджер паролів), головним чином, якщо ви не використовуєте його часто. +6. **User Creation** – обов’язково створіть принаймні одного користувача. Якщо ви хочете, щоб користувач мав права адміністратора, не забудьте встановити цей параметр під час створення користувача. +7. **Begin Installation** – коли всі параметри встановлено або перевірено, натисніть цю опцію. + +Коли ви виконаєте крок 7, процес інсталяції має почати інсталяцію пакетів, як на знімку екрана нижче: + +![kde_install_2](images/kde_install_2.png) + +Після завершення інсталяції на жорсткий диск ви побачите такий екран: + +![kde_install_final](images/kde_install_final.png) + +Натисніть **Finish Installation**. + +На цьому етапі вам потрібно буде перезавантажити ОС і видалити завантажувальний носій. Коли ОС з’являється вперше, з’являється екран конфігурації: + +![kde_config](images/kde_config.png) + +Натисніть опцію **Licensing Information** та прийміть Ліцензійну угоду, як зазначено тут: + +![eula](images/eula.png) + +І нарешті завершіть налаштування: + +![kde_finish_config](images/kde_finish_config.png) + +Після завершення цього кроку з’явиться створене вами ім’я користувача. Введіть пароль, який ви створили для користувача, і натисніть ENTER. Це повинно показати вам незайманий екран стільниці KDE: + +![kde_screen](images/kde_screen.png) + +## Висновок + +Завдяки команді розробників Rocky Linux ви можете інсталювати декілька варіантів робочого столу з живих образів для Rocky Linux 9.0. KDE — ще один варіант для тих, кому не подобається робочий стіл GNOME за замовчуванням, і його можна легко встановити разом із живим образом. diff --git a/docs/guides/desktop/mate_installation.uk.md b/docs/guides/desktop/mate_installation.uk.md new file mode 100644 index 0000000000..7acbabfe9c --- /dev/null +++ b/docs/guides/desktop/mate_installation.uk.md @@ -0,0 +1,211 @@ +--- +title: Робочий стіл MATE +author: lillolollo, Steven Spencer +contributors: Steven Spencer +tested_with: 8.5, 8.6, 9.0 +tags: + - mate + - робочий стіл +--- + +# Середовище робочого столу MATE + +Середовище робочого столу MATE було створено для розгалуження та продовження GNOME2 після дещо негативного сприйняття GNOME3 під час його появи. MATE має лояльних послідовників, які зазвичай негайно встановлюють його на свою ОС. MATE можна встановити на багатьох версіях Linux, включаючи Rocky Linux. + +Ця процедура призначена для того, щоб ви почали працювати з Rocky Linux за допомогою MATE. + +## Передумови + +* Комп’ютер (ноутбук або робоча станція) з екраном і всім необхідним. +* Бажання запустити робочий стіл 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.2/live/x86_64/). Зауважте, що це конкретне посилання передбачає 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 + ``` + + + Якщо контрольна сума для файлу повертає ОК, тепер ви готові записати образ ISO на носій. Ця процедура відрізняється залежно від вашої ОС, носія та інструментів. Ми припускаємо, що ви знаєте, як записати зображення на свій носій. + + ### 9: Завантаження + + Знову ж таки, це залежить від машини, BIOS, ОС тощо. Вам потрібно переконатися, що ваша машина налаштована на завантаження будь-якого носія (DVD або USB) як першого завантажувального пристрою. У разі успіху ви повинні побачити цей екран: + + ![mate_boot](images/mate_boot.png) + + Якщо так, то ви вірному шляху! Якщо ви хочете перевірити носій, спочатку виберіть цей параметр або введіть **S**, щоб **запустити Rocky Linux Mate 9.0**. + + Пам’ятайте, що це живе зображення, тому для завантаження першого екрана знадобиться деякий час. Не панікуйте, просто почекайте! Після завантаження живого образу ви повинні побачити цей екран: + + ![mate-live](images/mate_live.png) + + ### 9: Встановлення MATE + + Тепер ви можете використовувати середовище MATE і перевірити, чи воно вам подобається. Коли ви вирішите, що хочете використовувати його назавжди, двічі клацніть опцію **Встановити на жорсткий диск**. + + Це почне знайомий процес встановлення для тих, хто встановив Rocky Linux. На наступному екрані ми виділили те, що ви *можете* забажати змінити. + + ![mate_install](images/mate_install.png) + + 1. **Keyboard**. Подивіться на цей параметр і переконайтеся, що він відповідає розкладці клавіатури, яку ви використовуєте. + 2. **Time & Date** – переконайтеся, що вона відповідає вашому часовому поясу. + 3. **Installation Destination**. Вам потрібно буде натиснути цей параметр, навіть якщо це потрібно для прийняття того, що вже є. + 4. **Network & Host Name**. Переконайтеся, що тут є те, що ви хочете. Поки мережа ввімкнена, ви завжди можете змінити це пізніше, якщо знадобиться. + 5. **Root Password** – встановіть пароль адміністратора. Не забудьте зберегти це в безпечному місці (менеджер паролів), головним чином, якщо ви не використовуєте його часто. + 6. **User Creation** – обов’язково створіть принаймні одного користувача. Якщо ви хочете, щоб користувач мав права адміністратора, не забудьте встановити цей параметр під час створення користувача. + 7. **Begin Installation** – коли всі параметри встановлено або перевірено, натисніть цю опцію. + + Коли ви виконаєте крок 7, процес інсталяції має почати інсталяцію пакетів, як на знімку екрана нижче: + + ![mate_install_2](images/mate_install_2.png) + + Після завершення інсталяції на жорсткий диск ви побачите такий екран: + + ![mate_install_final](images/mate_install_final.png) + + Натисніть **Finish Installation**. + + У цей момент ОС перезавантажиться, і вам слід видалити завантажувальний носій. Коли ОС з’являється вперше, з’являється екран ліцензійної угоди: + + ![eula](images/eula.png) + + Поставте прапорець **Я приймаю ліцензійну угоду**, а потім натисніть **Готово**. Це приведе вас до останнього екрана, що стосується встановлення. На цьому екрані натисніть **Завершити налаштування**. + + ![mate_finish](images/mate_finish.png) + + Далі ви отримаєте екран входу з користувачем, якого ви створили вище. Введіть свій пароль, який переведе вас на робочий стіл MATE: + + ![mate_desktop](images/mate_desktop.png) + + + ## 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 + ``` + + Це встановить необхідні пакунки та всі залежності. + + Давайте встановимо lightdm-settings і lightdm також: + + ``` + 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.it.md b/docs/guides/desktop/xfce_installation.it.md index eb43831582..3e8fe6d975 100644 --- a/docs/guides/desktop/xfce_installation.it.md +++ b/docs/guides/desktop/xfce_installation.it.md @@ -1,5 +1,5 @@ - - - -title: XFCE Desktop Environment author: Gerard Arthus contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Franco Colussi tags: +title: XFCE Desktop author: Gerard Arthus, Steven Spencer contributors: Steven Spencer, Antoine Le Morvan, K.Prasad tested_with: 8.5, 8.6, 9.0 tags: - xfce - desktop - - - diff --git a/docs/guides/desktop/xfce_installation.uk.md b/docs/guides/desktop/xfce_installation.uk.md new file mode 100644 index 0000000000..9bfbddcdef --- /dev/null +++ b/docs/guides/desktop/xfce_installation.uk.md @@ -0,0 +1,221 @@ +- - - +title: XFCE Desktop 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 було створено як розгалуження загального середовища робочого столу (CDE). XFCE втілює традиційну філософію Unix модульності та багаторазового використання. XFCE можна встановити практично на будь-яку версію Linux, включаючи Rocky Linux. + +Це також одне з найдоступніших середовищ робочого столу для поєднання з альтернативними менеджерами вікон, такими як Awesome або i3. Ця процедура, однак, призначена для того, щоб ви почали працювати з Rocky Linux за допомогою типовішої інсталяції XFCE. + +## Передумови + +* Робоча станція або ноутбук +* Бажання запустити XFCE як робочий стіл замість стандартного робочого столу GNOME + +=== "9" + + ## 9: Вступ + + Команда розробників Rocky Linux 9 спростила встановлення XFCE та інших популярних робочих середовищ, включивши живі образи. Для тих, хто може не знати, що це таке, живий образ – це завантажувальний образ, який завантажує ОС без встановлення. Після завантаження ви можете встановити його на дисковод вашої машини та використовувати. + + ## 9: Отримайте, перевірте та запишіть живий образ XFCE + + Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ XFCE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.2/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) як першого завантажувального пристрою. У разі успіху ви повинні побачити цей екран: + + ![xfce_boot](images/xfce_boot.png) + + Якщо так, то ви на вірному шляху! Якщо ви хочете протестувати носій, ви можете спочатку вибрати цей параметр або ввести **S**, щоб **запустити Rocky Linux XFCE 9.0**. + + Пам’ятайте, що це живе зображення, тому для завантаження першого екрана знадобиться деякий час. Не панікуйте, просто почекайте! ![xfce_install](images/xfce_install.png) + + ## 9: Встановлення XFCE + + На цьому етапі ви можете використовувати середовище XFCE і перевірити, чи воно вам подобається. Коли ви вирішите, що хочете використовувати його назавжди, двічі клацніть опцію «Встановити на жорсткий диск». + + Це почне знайомий процес встановлення для тих, хто встановив Rocky Linux. На першому екрані буде вибір мови за умовчанням: + + ![xfce_language](images/xfce_language.png) + + На наступному екрані буде ряд речей, які вам потрібно або перевірити, або змінити. Параметри пронумеровані для довідки: + + ![xfce_install2](images/xfce_install_2.png) + + 1. **Keyboard**. Подивіться на цей параметр і переконайтеся, що він відповідає розкладці клавіатури, яку ви використовуєте. + 2. **Time & Date** – переконайтеся, що вона відповідає вашому часовому поясу. + 3. **Installation Destination**. Вам потрібно буде натиснути цей параметр, навіть якщо це потрібно для прийняття того, що вже є. + 4. **Network & Host Name**. Переконайтеся, що тут є те, що ви хочете. Поки мережа ввімкнена, ви завжди можете змінити це пізніше, якщо знадобиться. + 5. **Root Password** – встановіть пароль адміністратора. Не забудьте зберегти це в безпечному місці (менеджер паролів), головним чином, якщо ви не використовуєте його часто. + 6. **User Creation** – обов’язково створіть принаймні одного користувача. Якщо ви хочете, щоб користувач мав права адміністратора, не забудьте встановити цей параметр під час створення користувача. + 7. **Begin Installation** – коли всі параметри встановлено або перевірено, натисніть цю опцію. + + Коли ви виконаєте крок 7, процес інсталяції має почати інсталяцію пакетів, як на знімку екрана нижче: + + ![xfce_install3](images/xfce_install_3.png) + + Після завершення інсталяції на жорсткий диск ви побачите такий екран: + + ![xfce_install_final](images/xfce_install_final.png) + + Натисніть **Finish Installation**. + + Коли ви це зробите, ви повернетеся до екрана живого зображення. Перезавантажте машину та видаліть завантажувальний носій, який використовувався для встановлення XFCE. + + Далі ви отримаєте екран входу з користувачем, якого ви створили вище. Введіть свій пароль, який переведе вас на робочий стіл XFCE: + + ![xfce_desktop](images/xfce_desktop.png) + +=== "8" + + ## 8: Встановлення Rocky Linux Minimal + + !!! note "Примітка" + + У цьому розділі вам потрібно буде або бути користувачем root, або мати можливість використовувати sudo, щоб підвищити свої привілеї. + + Під час встановлення Rocky Linux ми використовували такі набори пакетів: + + * Minimal + * Standard + + + ## 8: Запуск оновлення системи + + Спочатку запустіть команду server update, щоб дозволити системі перебудувати кеш сховища, щоб вона могла розпізнавати пакети, доступні в ньому. + + ``` + 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/private_dns_server_using_bind.uk.md b/docs/guides/dns/private_dns_server_using_bind.uk.md new file mode 100644 index 0000000000..89341de670 --- /dev/null +++ b/docs/guides/dns/private_dns_server_using_bind.uk.md @@ -0,0 +1,662 @@ +--- +title: Bind Private DNS Server +author: Steven Spencer +contributors: Ezequiel Bruni, k3ym0 +tested_with: 8.5, 8.6, 9.0 +tags: + - dns + - bind +--- + +# Приватний DNS-сервер за допомогою Bind + +## Передумови та припущення + +* Сервер під керуванням Rocky Linux +* Кілька внутрішніх серверів, доступ до яких потрібен лише локально, але не через Інтернет +* Кілька робочих станцій, яким потрібен доступ до тих самих серверів, які існують в одній мережі +* Здоровий рівень комфорту при введенні команд із командного рядка +* Знайомство з редактором командного рядка (у цьому прикладі ми використовуємо _vi_) +* Можна використовувати _firewalld_ або _iptables_ для створення правил брандмауера. Ми надали параметри _iptables_ і _firewalld_. Якщо ви плануєте використовувати _iptables_, скористайтеся [процедурою ввімкнення брандмауера Iptables](../security/enabling_iptables_firewall.md) + +## Вступ + +Зовнішні або загальнодоступні DNS-сервери використовуються в Інтернеті для зіставлення імен хостів з IP-адресами та, у випадку записів PTR (відомих як «вказівник» або «зворотний»), для зіставлення IP з іменем хоста. Це важлива частина Інтернету. Завдяки цьому ваш поштовий сервер, веб-сервер, FTP-сервер або багато інших серверів і служб працюють належним чином, незалежно від того, де ви знаходитесь. + +У приватній мережі, особливо в тій, яка використовується для розробки кількох систем, ви можете використовувати файл */etc/hosts* вашої робочої станції Rocky Linux, щоб зіставити ім’я з IP-адресою. + +Це працюватиме для _вашої_ робочої станції, але не для будь-якої іншої машини у вашій мережі. Якщо ви хочете зробити речі універсальними, найкращий спосіб – взяти деякий час і створити локальний приватний DNS-сервер, який оброблятиме це для всіх ваших машин. + +Якби ви створювали загальнодоступні DNS-сервери та резолвери робочого рівня, тоді цей автор, ймовірно, рекомендував би надійніший авторитетний і рекурсивний DNS [PowerDNS](https://www.powerdns.com/), який легко встановлюється на серверах Rocky Linux. Однак це надмірно для локальної мережі, яка не розкриє її. Ось чому ми вибрали _bind_ для цього прикладу. + +### Пояснення компонентів DNS-сервера + +Як було зазначено, DNS поділяє служби на авторитетні та рекурсивні сервери. Тепер рекомендовано розміщувати ці служби окремо на окремому обладнанні чи контейнерах. + +Авторитетний сервер є областю зберігання для всіх IP-адрес та імен хостів, а рекурсивний сервер використовується для пошуку адрес та імен хостів. У випадку нашого приватного DNS-сервера як офіційний, так і рекурсивний серверні служби працюватимуть разом. + +## Встановлення та ввімкнення Bind + +Першим кроком є встановлення пакетів. У випадку _bind_ нам потрібно виконати таку команду: + +``` +dnf install bind bind-utils +``` + +Службовий демон для _bind_ називається _named_, і нам потрібно ввімкнути його, щоб запускатися під час завантаження: + +``` +systemctl enable named +``` + +І тоді нам потрібно його запустити: + +``` +systemctl start named +``` + +## Конфігурація + +Перш ніж вносити зміни до будь-якого файлу конфігурації, доцільно створити резервну копію вихідного встановленого робочого файлу, у цьому випадку _named.conf_: + +``` +cp /etc/named.conf /etc/named.conf.orig +``` + +Це допоможе в майбутньому, якщо у файл конфігурації будуть внесені помилки. *Завжди* є чудовою ідеєю зробити резервну копію перед внесенням змін. + +Ці зміни вимагають редагування файлу named.conf, для цього ми використовуємо _vi_, але ви можете замінити свій улюблений редактор командного рядка (редактор ` nano` також встановлено в Rocky Linux і його простіше використовувати, ніж `vi`): + +``` +vi /etc/named.conf +``` + +Перше, що ми хочемо зробити, це вимкнути прослуховування на локальному хості, це можна зробити, позначивши знаком «#» ці два рядки в розділі «параметри». Це ефективно вимикає будь-який зв’язок із зовнішнім світом. + +Це корисно, особливо коли ми додаємо цей DNS на наші робочі станції, оскільки ми хочемо, щоб DNS-сервер відповідав лише тоді, коли IP-адреса, яка запитує службу, є локальною, і не реагував, якщо послугу шукають в Інтернеті. + +Таким чином, інші налаштовані DNS-сервери майже негайно візьмуть на себе роботу для пошуку Інтернет-служб: + +``` +options { +# listen-on port 53 { 127.0.0.1; }; +# listen-on-v6 port 53 { ::1; }; +``` + +Нарешті, перейдіть до кінця файлу *named.conf* і додайте розділ для вашої мережі. У нашому прикладі використовується ourdomain, тому додайте те, що ви хочете назвати хостами локальної мережі: + +``` +# primary forward and reverse zones +//forward zone +zone "ourdomain.lan" IN { + type master; + file "ourdomain.lan.db"; + allow-update { none; }; + allow-query {any; }; +}; +//reverse zone +zone "1.168.192.in-addr.arpa" IN { + type master; + file "ourdomain.lan.rev"; + allow-update { none; }; + allow-query { any; }; +}; +``` + +Тепер збережіть зміни (для _vi_, `SHIFT:wq!`) + +## Прямі та зворотні записи + +Далі ми повинні створити два файли в `/var/named`. Ці файли є тими, які ви редагуєте, якщо додаєте машини до своєї мережі, які ви хочете включити в DNS. + +Перший — це файл пересилання, щоб зіставити нашу IP-адресу з іменем хоста. Знову ж таки, ми використовуємо "ourdomain" як приклад. Зверніть увагу, що IP-адреса нашого локального DNS тут 192.168.1.136. Хости додаються внизу цього файлу. + +``` +vi /var/named/ourdomain.lan.db +``` + +Коли ви закінчите, файл виглядатиме приблизно так: + +``` +$TTL 86400 +@ IN SOA dns-primary.ourdomain.lan. admin.ourdomain.lan. ( + 2019061800 ;Serial + 3600 ;Refresh + 1800 ;Retry + 604800 ;Expire + 86400 ;Minimum TTL +) + +;Name Server Information +@ IN NS dns-primary.ourdomain.lan. + +;IP for Name Server +dns-primary IN A 192.168.1.136 + +;A Record for IP address to Hostname +wiki IN A 192.168.1.13 +www IN A 192.168.1.14 +devel IN A 192.168.1.15 +``` + +Додайте стільки хостів, скільки потрібно, у нижній частині файлу разом із їхніми IP-адресами, а потім збережіть зміни. + +Далі нам потрібен зворотний файл, щоб зіставити наше ім’я хоста з IP-адресою. У цьому випадку єдиною частиною IP-адреси, яка вам потрібна, є останній октет хоста (в адресі IPv4 кожне число, розділене крапкою, є октетом), а потім PTR і ім’я хоста. + +``` +vi /var/named/ourdomain.lan.rev +``` + +І файл повинен виглядати приблизно так, коли ви закінчите: + +``` +$TTL 86400 +@ IN SOA dns-primary.ourdomain.lan. admin.ourdomain.lan. ( + 2019061800 ;Serial + 3600 ;Refresh + 1800 ;Retry + 604800 ;Expire + 86400 ;Minimum TTL +) +;Name Server Information +@ IN NS dns-primary.ourdomain.lan. + +;Reverse lookup for Name Server +136 IN PTR dns-primary.ourdomain.lan. + +;PTR Record IP address to HostName +13 IN PTR wiki.ourdomain.lan. +14 IN PTR www.ourdomain.lan. +15 IN PTR devel.ourdomain.lan. +``` + +Додайте всі імена хостів у файл пересилання, а потім збережіть зміни. + +### Що все це означає + +Тепер, коли ми все це додали та готуємося перезапустити наш DNS-сервер _bind_, давайте розглянемо деякі терміни, які використовуються в цих двох файлах. + +Просто змушувати все працювати недостатньо, якщо ви не знаєте, що означає кожен термін, чи не так? + +* **TTL** з’являється в обох файлах і означає «Time To Live». TTL повідомляє DNS-серверу, як довго зберігати його кеш, перш ніж запитувати нову копію. У цьому випадку TTL є налаштуванням за замовчуванням для всіх записів, якщо не встановлено певний TTL запису. За замовчуванням тут встановлено 86400 секунд або 24 години. +* **IN** означає Інтернет. У цьому випадку ми не використовуємо Інтернет, тому сприймайте це як Інтранет. +* **SOA** означає "Start Of Authority" або те, що є основним сервером DNS для домену. +* **NS** означає "сервер імен" +* **Serial** – це значення, яке використовує сервер DNS для перевірки актуальності вмісту файлу зони. +* **Refresh** вказує, як часто підлеглий DNS-сервер має виконувати передачу зони від головного. +* **Retry** вказує тривалість очікування в секундах перед повторною спробою під час невдалої передачі зони. +* **Expire** визначає, як довго підлеглий сервер має чекати відповіді на запит, коли головний недоступний. +* **A** – це адреса хоста або запис пересилання, і він міститься лише у файлі пересилання (вище). +* **PTR** - це запис вказівника, більш відомий як "реверс" і міститься лише в нашому файлі реверсу (вище). + +## Тестування конфігурацій + +Після того, як ми створили всі наші файли, нам потрібно переконатися, що файли конфігурації та зони працюють у належному стані, перш ніж знову запустити службу _bind_. + +Перевірте основну конфігурацію: + +``` +named-checkconf +``` + +Це має повернути порожній результат, якщо все гаразд. + +Потім перевірте передню зону: + +``` +named-checkzone ourdomain.lan /var/named/ourdomain.lan.db +``` + +Це повинно повернути щось на зразок цього, якщо все добре: + +``` +zone ourdomain.lan/IN: loaded serial 2019061800 +OK +``` + +І нарешті перевірте реверсну зону: + +``` +named-checkzone 192.168.1.136 /var/named/ourdomain.lan.rev +``` + +Що має повернути щось подібне, якщо все добре: + +``` +zone 192.168.1.136/IN: loaded serial 2019061800 +OK +``` + +Якщо припустити, що все виглядає добре, перезапустіть _bind_: + +``` +systemctl restart named +``` + +=== "9" + + ## 9 Використання IPv4 у вашій локальній мережі + + Щоб використовувати ТІЛЬКИ IPv4 у вашій локальній мережі, вам потрібно внести одну зміну в `/etc/sysconfig/named`: + + ``` + vi /etc/sysconfig/named + ``` + + + а потім додайте це внизу файлу: + + ``` + OPTIONS="-4" + ``` + + + Тепер збережіть ці зміни (знову, для _vi_, `SHIFT:wq!`) + + ## 9 Тестування машин + + Вам потрібно додати DNS-сервер (у нашому прикладі 192.168.1.136) до кожної машини, до якої ви хочете отримати доступ до серверів, які ви додали до свого локального DNS. Ми лише покажемо вам приклад того, як це зробити на робочій станції Rocky Linux, але існують подібні методи для інших дистрибутивів Linux і комп’ютерів Windows і Mac. + + Пам’ятайте, що ви захочете додати DNS-сервери до списку, а не замінити те, що зараз є, оскільки вам усе одно знадобиться доступ до Інтернету, для якого знадобляться ваші наразі призначені DNS-сервери. Вони можуть бути призначені через DHCP (протокол динамічної конфігурації хоста) або призначені статично. + + Ми додамо наш локальний DNS за допомогою `nmcli`, а потім перезапустимо з’єднання. + + ??? warning "Дурні імена профілів" + + У NetworkManager підключення змінюються не за назвою пристрою, а за назвою профілю. Це можуть бути такі речі, як «Дротове підключення 1» або «Бездротове підключення 1». Ви можете переглянути профіль, запустивши `nmcli` без будь-яких параметрів: + + ``` + nmcli + ``` + + + Це покаже вам такі результати: + + ```bash + enp0s3: connected to Wired Connection 1 + "Intel 82540EM" + ethernet (e1000), 08:00:27:E4:2D:3D, hw, mtu 1500 + ip4 default + inet4 192.168.1.140/24 + route4 192.168.1.0/24 metric 100 + route4 default via 192.168.1.1 metric 100 + inet6 fe80::f511:a91b:90b:d9b9/64 + route6 fe80::/64 metric 1024 + + lo: unmanaged + "lo" + loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536 + + DNS configuration: + servers: 192.168.1.1 + domains: localdomain + interface: enp0s3 + + Use "nmcli device show" to get complete information about known devices and + "nmcli connection show" to get an overview on active connection profiles. + ``` + + + Перш ніж ми навіть почнемо змінювати з’єднання, ви повинні назвати це як-небудь розумне, наприклад ім’я інтерфейсу (**зверніть увагу**, що «\» нижче пропускає пробіли в назві): + + ``` + nmcli connection modify Wired\ connection\ 1 con-name enp0s3 + ``` + + + Зробивши це, знову запустіть `nmcli` самостійно, і ви побачите щось на зразок цього: + + ```bash + enp0s3: connected to enp0s3 + "Intel 82540EM" + ethernet (e1000), 08:00:27:E4:2D:3D, hw, mtu 1500 + ip4 default + inet4 192.168.1.140/24 + route4 192.168.1.0/24 metric 100 + route4 default via 192.168.1.1 metric 100 + ... + ``` + + + Це значно спростить решту конфігурації DNS! + + Якщо припустити, що ім’я вашого профілю з’єднання – «enp0s3», ми включимо вже налаштований DNS, але спочатку додамо наш локальний DNS-сервер: + + ``` + nmcli con mod enp0s3 ipv4.dns '192.168.1.138,192.168.1.1' + ``` + + + Ви можете мати більше DNS-серверів, а для комп’ютера, налаштованого на загальнодоступні DNS-сервери, скажімо, відкритий DNS Google, замість цього ви можете мати щось на зразок цього: + + ``` + nmcli con mod enp0s3 ipv4.dns '192.168.1.138,8.8.8.8,8.8.4.4' + ``` + + + Додавши потрібні DNS-сервери до з’єднання, ви зможете розпізнавати хости в *ourdomain.lan*, а також хости Інтернету. + + ## 9 Правила брандмауера - `firewalld` + + !!! note "`firewalld` за замовчуванням" + + У Rocky Linux 9.0 і вище використання правил `iptables` застаріло. Замість цього слід використовувати `firewalld`. + + Ми не робимо жодних припущень щодо мережі чи послуг, які можуть знадобитися, за винятком того, що ми вмикаємо доступ SSH і доступ DNS лише для нашої локальної мережі. Для цього ми будемо використовувати вбудовану зону `firewalld`, "довірену". Нам також доведеться внести зміни в службу «публічної» зони, щоб обмежити доступ SSH до локальної мережі. + + Першим кроком буде додавання нашої локальної мережі до «довіреної» зони: + + ``` + firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent + ``` + + + Далі нам потрібно додати дві наші служби в «довірену» зону: + + ``` + firewall-cmd --zone=trusted --add-service=ssh --permanent + firewall-cmd --zone=trusted --add-service=dns --permanent + ``` + + + Нарешті, нам потрібно видалити службу SSH із нашої «публічної» зони, яка ввімкнена за замовчуванням: + + ``` + firewall-cmd --zone=public --remove-service=ssh --permanent + ``` + + + Далі перезавантажте брандмауер і перерахуйте зони, до яких ми внесли зміни: + + ``` + firewall-cmd --reload + firewall-cmd --zone=trusted --list-all + ``` + + + Це має показати, що ви правильно додали служби та вихідну мережу: + + ``` + trusted (active) + target: ACCEPT + icmp-block-inversion: no + interfaces: + sources: 192.168.1.0/24 + services: dns ssh + ports: + protocols: + forward: no + masquerade: no + forward-ports: + source-ports: + icmp-blocks: + rich rules: + ``` + + + Перелік "загальнодоступної" зони має показати, що доступ SSH більше не дозволено: + + ``` + firewall-cmd --zone=public --list-all + ``` + + + Який повинен показати вам: + + ``` + 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: + ``` + + + Ці правила мають забезпечити вирішення DNS на вашому приватному DNS-сервері з хостів у мережі 192.168.1.0/24. Крім того, ви повинні мати можливість SSH з будь-якого з цих хостів до вашого приватного DNS-сервера. + +=== "8" + + ## 8 Використання IPv4 у вашій локальній мережі + + Вам потрібно внести дві зміни, якщо ви використовуєте IPv4 лише у своїй локальній мережі. Перший міститься в `/etc/named.conf`, а другий — у `/etc/sysconfig/named` + + Спочатку поверніться до файлу `named.conf` за допомогою `vi /etc/named.conf`. Нам потрібно додати наступний параметр у будь-якому місці розділу параметрів. + + ``` + filter-aaaa-on-v4 yes; + ``` + + + Це показано на зображенні нижче: + + ![Додати фільтр IPv6](images/dns_filter.png) + + Після внесення змін збережіть їх і вийдіть із `named.conf` (для _vi_, `SHIFT:wq!`) + + Далі нам потрібно внести аналогічні зміни до `/etc/sysconfig/named`: + + ``` + vi /etc/sysconfig/named + ``` + + + А потім додайте це внизу файлу: + + ``` + OPTIONS="-4" + ``` + + + Тепер збережіть ці зміни (знову, для _vi_, `SHIFT:wq!`) + + + ## 8 Тестування машин + + Вам потрібно додати сервер DNS (у нашому прикладі 192.168.1.136) до кожної машини, до якої ви хочете отримати доступ до серверів, які ви додали до свого нового локального DNS. Ми лише покажемо вам приклад того, як це зробити на робочій станції Rocky Linux, але існують подібні методи для інших дистрибутивів Linux і комп’ютерів Windows і Mac. + + Пам’ятайте, що ви захочете додати DNS-сервер до списку, оскільки вам усе одно знадобиться доступ до Інтернету, для якого знадобляться ваші наразі призначені DNS-сервери. Вони можуть бути призначені через DHCP (протокол динамічної конфігурації хоста) або призначені статично. + + На робочій станції Rocky Linux, де активним мережевим інтерфейсом є eth0, ви повинні використовувати: + + ``` + vi /etc/sysconfig/network-scripts/ifcfg-eth0 + ``` + + + Якщо ваш увімкнений мережевий інтерфейс відрізняється, ви повинні замінити це ім’я інтерфейсу. Файл конфігурації, який ви відкриваєте, виглядатиме так для статично призначеної IP-адреси (не DHCP, як згадувалося вище). У прикладі нижче IP-адреса нашої машини 192.168.1.151: + + ``` + DEVICE=eth0 + BOOTPROTO=none + IPADDR=192.168.1.151 + PREFIX=24 + GATEWAY=192.168.1.1 + DNS1=8.8.8.8 + DNS2=8.8.4.4 + ONBOOT=yes + HOSTNAME=tender-kiwi + TYPE=Ethernet + MTU= + ``` + + + Ми хочемо замінити на нашому новому DNS-сервері основний (DNS1), а потім перемістити кожен з інших DNS-серверів нижче, щоб це було так: + + ``` + DEVICE=eth0 + BOOTPROTO=none + IPADDR=192.168.1.151 + PREFIX=24 + GATEWAY=192.168.1.1 + DNS1=192.168.1.136 + DNS2=8.8.8.8 + DNS3=8.8.4.4 + ONBOOT=yes + HOSTNAME=tender-kiwi + TYPE=Ethernet + MTU= + ``` + + + Після внесення змін перезавантажте машину або перезапустіть мережу за допомогою: + + ``` + systemctl restart network + ``` + + + Тепер ви зможете отримати доступ до будь-чого в домені *ourdomain.lan* зі своїх робочих станцій, які все ще можуть розпізнавати та отримувати доступ до Інтернет-адрес. + + ## 8 Правила брандмауера + + ### Додавання правил брандмауера - `iptables` + + !!! note "Щодо `iptables`" + + Хоча правила `iptables` все ще працюють у Rocky Linux 8.x, ми рекомендуємо перейти до правил `firewalld` у розділі нижче. Причина полягає в тому, що в майбутніх версіях Rocky Linux `iptables` буде застарілим і видалений. Крім того, `firewalld` є типовим способом виконання завдань. Ви знайдете більше прикладів використання `firewalld`, коли шукаєте допомоги, ніж використання `iptables`. Ми включили сюди правила `iptables`, але для найкращих результатів і безпеки в майбутньому ми рекомендуємо перейти до `firewalld` зараз. + + Спочатку створіть файл у */etc* під назвою "firewall.conf", який містить такі правила. Це мінімальний набір правил, і вам, можливо, доведеться налаштувати його для свого середовища: + + ``` + #!/bin/sh + # + #IPTABLES=/usr/sbin/iptables + + # Unless specified, the defaults 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 + iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT + # dns rules + iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 53 -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 + ``` + + + Давайте оцінимо наведені вище правила: + + * Перший рядок «iptables» очищає поточні завантажені правила (-F). + * Далі ми встановлюємо політику за замовчуванням для ланцюжка INPUT DROP. Це означає, що його буде видалено, якщо трафік тут явно не дозволено. + * Далі у нас є правило SSH для нашої локальної мережі, щоб ми могли віддалено зайти на сервер DNS. + * Тоді у нас є правило дозволу DNS лише для нашої локальної мережі. Зауважте, що DNS використовує протокол UDP (протокол дейтаграм користувача). + * Далі ми дозволяємо INPUT з локального інтерфейсу. + * Тоді, якщо ви встановили з’єднання для чогось іншого, ми також дозволяємо пов’язані пакети. + * І, нарешті, ми відкидаємо все інше. + * Останній рядок повідомляє iptables зберегти правила, щоб під час перезапуску машини правила також завантажувалися. + + Після створення файлу firewall.conf нам потрібно зробити його виконуваним: + + ``` + chmod +x /etc/firewall.conf + ``` + + Потім запустіть: + + ``` + /etc/firewall.conf + ``` + + І це те, що ви повинні отримати натомість. Якщо ви отримуєте щось інше, подивіться на наявність помилок у своєму сценарії: + + ```bash + clearing any existing rules and setting default policy.. + iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] + ``` + + + ### Додавання правил брандмауера - `firewalld` + + За допомогою `firewalld` ми дублюємо правила, виділені в `iptables` вище. Ми не робимо жодних інших припущень щодо мережі чи послуг, які можуть знадобитися. Ми вмикаємо SSH і DNS-доступ лише для нашої локальної мережі. Для цього ми будемо використовувати вбудовану зону `firewalld`, «довірену». Нам також доведеться внести зміни в службу «публічної» зони, щоб обмежити доступ SSH до локальної мережі. + + Першим кроком буде додавання нашої локальної мережі до «довіреної» зони: + + ``` + firewall-cmd --zone=trusted --add-source=192.168.1.0/24 --permanent + ``` + + Далі нам потрібно додати дві наші служби в «довірену» зону: + + ``` + firewall-cmd --zone=trusted --add-service=ssh --permanent + firewall-cmd --zone=trusted --add-service=dns --permanent + ``` + + Нарешті, нам потрібно видалити службу SSH із нашої «публічної» зони, яка ввімкнена за замовчуванням: + + ``` + firewall-cmd --zone=public --remove-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: dns ssh + ports: + protocols: + forward: no + masquerade: no + forward-ports: + source-ports: + icmp-blocks: + rich rules: + ``` + + Перелік "загальнодоступної" зони має показати, що доступ SSH більше не дозволено: + + ``` + 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: + ``` + + + Ці правила мають забезпечити вирішення DNS на вашому приватному DNS-сервері з хостів у мережі 192.168.1.0/24. Крім того, ви повинні мати можливість SSH з будь-якого з цих хостів до вашого приватного DNS-сервера. + +## Висновки + +Хоча використання */etc/hosts* на окремій робочій станції дасть вам доступ до машини у вашій внутрішній мережі, ви можете використовувати її лише на одній машині. Додавши приватний DNS-сервер за допомогою _bind_, ви можете додати хости до DNS, і якщо робочі станції мають доступ до цього приватного DNS-сервера, вони зможуть отримати до цих локальних серверів. + +Якщо вам не потрібні машини для вирішення в Інтернеті, але потрібен локальний доступ з кількох пристроїв до локальних серверів, подумайте про використання приватного DNS-сервера. diff --git a/docs/guides/editors/micro.uk.md b/docs/guides/editors/micro.uk.md new file mode 100644 index 0000000000..c0b5072ade --- /dev/null +++ b/docs/guides/editors/micro.uk.md @@ -0,0 +1,85 @@ +--- +title: micro +author: Ezequiel Bruni +contributors: Steven Spencer +tested version: 8.5 +tags: + - редактор + - редактори + - micro +--- + +# Встановлення micro на Rocky Linux + +## Вступ + +*[micro](https://micro-editor.github.io)* – це фантастичний маленький термінальний текстовий редактор, який знаходиться між *nano* та *vim* з точки зору складності. Він має простий, легко впізнаваний робочий процес із кількома приголомшливими функціями: + +* Усі звичайні команди «Control-C», «Control-V» і «Control-F» працюють так само, як і в текстовому редакторі на робочому столі. Звичайно, усі прив’язки клавіш можна перев’язати. +* Підтримка миші — клацніть і перетягніть, щоб вибрати текст, двічі клацніть, щоб вибрати слова, та тричі клацніть, щоб вибрати рядки. +* Понад 75 мов підтримуються з підсвічуванням синтаксису за замовчуванням. +* Кілька курсорів, коли вам потрібно редагувати кілька рядків одночасно. +* Включає систему плагінів. +* Кілька панелей. + +А ось як це виглядає в моєму власному терміналі: + +![Скріншот мікротекстового редактора](images/micro-text-editor.png) + +!!! Note "Примітка" + + Ви *можете* встановити micro за допомогою швидкої програми. Якщо ви вже використовуєте snap на своїй машині.. Я маю на увазі... чому б і ні? Але я вважаю за краще отримувати це прямо з джерела. + +## Передумови + +* Будь-яка підключена до Інтернету машина або контейнер Rocky Linux. +* Базове знання командного рядка, бажання редагувати там свій текст. +* Деякі команди потрібно буде запускати від імені користувача root або за допомогою `sudo`. + +### Як встановити мікро + +Це, мабуть, найпростіший підручник з усіх, що я написав, із рівно трьома командами. Спочатку переконайтеся, що *tar* і *curl* встановлено. Це має бути актуальним, лише якщо ви запускаєте мінімальну інсталяцію Rocky або запускаєте його всередині контейнера. + +```bash +sudo dnf install tar curl +``` + +Далі вам знадобиться інсталятор із веб-сайту *micro*. Наступна команда отримає інсталятор і запустить його в будь-якому каталозі, в якому ви працюєте. Я знаю, що зазвичай ми не радимо копіювати та вставляти команди з веб-сайтів, але це ніколи не створювало мені жодних проблем. + +```bash +curl https://getmic.ro | bash +``` + +Щоб установити програму в системі (тобто ви можете просто ввести «мікро», щоб відкрити програму), ви можете запустити сценарій від імені користувача root у `/usr/bin/`. Однак якщо ви хочете спочатку перевірити це та бути обережними, ви можете встановити *micro* у будь-яку папку, а потім перемістити програму пізніше за допомогою: + +```bash +sudo mv micro /usr/bin/ +``` + +І це все! Щасливого редагування тексту. + +### Дійсно простий спосіб + +Я створив неймовірно простий сценарій, який просто запускає всі ці команди. Ви можете знайти його в моїх [Github Gists](https://gist.github.com/EzequielBruni/0e29f2c0a63500baf6fe9e8c51c7b02f) і або скопіювати/вставити текст у файл на своєму комп’ютері, або завантажити його за допомогою `wget`. + +## Видалення мікро + +Перейдіть до папки, у яку ви встановили *micro*, і (за потреби використовуючи свої божественні повноваження root) запустіть: + +```bash +rm micro +``` + +Крім того, *micro* залишить деякі конфігураційні файли у вашому домашньому каталозі (і в домашніх каталогах кожного користувача, який його запускав). Ви можете позбутися їх за допомогою: + +```bash +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*, ймовірно, не задовольнить потреби тих, хто присвятив себе *vim* або *emacs*, але він ідеально підходить для таких людей, як я. Мені завжди хотілося мати цей старий досвід Sublime Text у терміналі, і тепер у мене є щось *справді* близьке. + +Спробуйте, перевірте, чи це вам підходить. diff --git a/docs/guides/email/01-email-system.uk.md b/docs/guides/email/01-email-system.uk.md new file mode 100644 index 0000000000..2f1cb59e5d --- /dev/null +++ b/docs/guides/email/01-email-system.uk.md @@ -0,0 +1,89 @@ +--- +title: Огляд системи електронної пошти +author: tianci li +version: 1.0.0 +--- + +# Огляд системи електронної пошти + +Електронна пошта, як одна з трьох основних служб (FTP, Web та електронна пошта) на початку Інтернету, все ще використовується багатьма людьми сьогодні. Електронна пошта вперше з’явилася в 1960-х роках, а електронна пошта на основі мережевої передачі — у 1971 році. + +На відміну від систем електронної пошти комерційних компаній, версія системи електронної пошти з відкритим кодом складається з багатьох частин. Це не єдина служба, що призводить до більш складних систем електронної пошти в середовищах GNU/Linux. + +## Основна концепція системи електронної пошти + +Система електронної пошти в основному складається з чотирьох частин: **MUA**, **MTA**, **MRA** та **MDA**. + +* **MUA (Mail User Agent)**: це поштові клієнти для користувачів, наприклад Outlook, Foxmail тощо. +* **MTA (агент передачі електронної пошти)**: відноситься до програми сервера електронної пошти, яка використовується для передачі пошти. MTA є реалізацією SMTP. +* **MDA (агент доставки пошти)**: коли MTA отримує пошту, MDA відповідає за збереження електронної пошти у вказаному місці на сервері електронної пошти, а також виконує фільтрацію електронної пошти та антивірусні операції. +* **MRA (агент отримання пошти)**: MRA – це реалізація IMAP і POP3, яка використовується для взаємодії з MUA та передачі електронних листів поштовим клієнтам через IMAP або POP3. + +### Три протоколи + +* **SMTP (Simple Mail Transfer Protocol)**: стандартний протокол для надсилання електронних листів із стандартним портом TCP 25. Використовуйте порт "TCP 465", якщо потрібна функція шифрування. +* **IMAP (Internet Mail Access Protocol)**: використовується для отримання електронних листів із сервера електронної пошти, порт за умовчанням – 143. Якщо потрібна функція шифрування, використовуйте порт 993. +* **POP3 (протокол поштового відділення – версія 3)**: використовується для отримання електронних листів із сервера електронної пошти, порт за умовчанням – 110. Якщо потрібна функція шифрування, використовуйте порт 995. + +Різниця між IMAP і POP3 полягає в наступному: + +| Робоча позиція | Зміст операції | IMAP | POP3 | +|:-------------------------:|:--------------------------------------------------------------------:|:------------------------------------------------------:|:------------------------:| +| Inbox | Читання, позначення, переміщення, видалення електронних листів тощо. | Клієнт синхронізується з оновленнями поштової скриньки | Тільки всередині клієнта | +| Outbox | Збереження в Надісланих | Клієнт синхронізується з оновленнями поштової скриньки | Тільки всередині клієнта | +| створити папку | Створення нової спеціальної папки | Клієнт синхронізується з оновленнями поштової скриньки | Тільки всередині клієнта | +| чернетка | Збереження чернетки електронного листа | Клієнт синхронізується з оновленнями поштової скриньки | Тільки всередині клієнта | +| Папка із спамом | Отримуються електронні листи, які помилково надходять до папки спаму | підтримується | не підтримується | +| Рекламна електронна пошта | Отримуються повідомлення, які переміщують в папку рекламної пошти | підтримується | не підтримується | + +### Конкретна реалізація + +Як показано на малюнку нижче, це проста ілюстрація надсилання та отримання системи електронної пошти. + +![Проста система електронної пошти](./email-images/email-system01.jpg) + +* **MTA**: у GNU/Linux основним і поширеним MTA є **postfix**,**qmail**, **sendmail**. +* **MDA**: у GNU/Linux основними та поширеними MDA є **procmail** і **maildrop**. +* **MRA**: у GNU/Linux основним і поширеним MDA є **dovecot**. + +!!! question "Питання" + + «Чому DNS потрібен для участі в роботі поштової системи?» + У щоденному використанні стандартним форматом для користувача електронної пошти є «ім’я користувача@ім’я домену». Ім’я домену не може представляти конкретний хост, і вам потрібно вказати доменне ім’я на певне ім’я хоста, тому нам потрібен запис роздільної здатності DNS MX. + +## Postfix Процес надсилання та отримання електронних листів + +**Sendmail** було створено в 1983 році та встановлено за замовчуванням у версіях до CentOS6. Через історичні причини (наприклад, складні конфігураційні файли) розробка sendmail перешкоджала. Хоча sendmail є складним, якщо у вас є сильні технічні навички або великий досвід, добре налаштований sendmail є чудовим щодо ефективності та продуктивності. + +**Postfix** був створений у 1990 році Wietse Venema, голландським дослідником з IBM, для покращення поштового сервера sendmail. + +![Wietse Venema](./email-images/Wietse%20Venema.png) + +Для отримання додаткової інформації про postfix перейдіть за цими двома посиланнями: + +* [Репозиторій GitHub](https://github.com/vdukhovni/postfix) +* [Офіційний сайт](http://www.postfix.org/) + +### Процес надсилання електронних листів клієнтом + +![legend01](./email-images/email-system02.jpg) + +Postfix визначає, чи належить електронний лист, надісланий клієнтом, локальному чи зовнішньому домену. Електронний лист буде збережено в поштовій скриньці локального домену, якщо він належить до локального домену. Якщо надісланий електронний лист належить до зовнішнього домену, він пересилається до іншого MTA (особистість користувача має бути підтверджена в базі даних перед пересиланням). + +### Процес отримання електронних листів клієнтом + +![legend02](./email-images/email-system03.jpg) + +## Сервер електронної пошти з відкритим кодом + +Повна система електронної пошти складається з децентралізованих компонентів, які обслуговуються різними особами чи організаціями, і для деяких людей існують високі перешкоди для використання. У результаті цього часу з’являються сервери електронної пошти з відкритим кодом. Ці сервери електронної пошти поєднують ці компоненти, створюючи готовий продукт, для користувачів усі аспекти відносно прості та легкі. + +* [iredmail](https://www.iredmail.com/index.html) +* [Zimbra Email Server](https://www.zimbra.com/) +* [Extmail](https://www.extmail.cn/) +* [modoboa](https://modoboa.org/en/) +* [Mail-in-a-Box](https://mailinabox.email/) +* [Kolab Groupware](https://docs.kolab.org/installation-guide/index.html) +* [squirrelmail](https://www.squirrelmail.org/index.php) +* [hmailserve](https://www.hmailserver.com/) +* ...