From 6e4276a1f1340e681c6e79c3898a5b2003d192ae Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:26:51 -0500 Subject: [PATCH 01/45] New translations 09-backups.md (Italian) --- docs/books/admin_guide/09-backups.it.md | 34 ++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/books/admin_guide/09-backups.it.md b/docs/books/admin_guide/09-backups.it.md index d8f79f83f..7352fba5b 100644 --- a/docs/books/admin_guide/09-backups.it.md +++ b/docs/books/admin_guide/09-backups.it.md @@ -109,7 +109,7 @@ Esistono molte utilità per eseguire i backup. * **strumenti grafici**; * **strumenti da riga di comando**: `tar`, `cpio`, `pax`, `dd`, `dump`, ... -I comandi che utilizzeremo qui sono `tar` e `cpio`. +I comandi che utilizzeremo qui sono `tar` e `cpio`. Per informazioni sullo strumento `dump`, consultare questo documento. * `tar`: @@ -168,7 +168,7 @@ Il comando `tar` consente di salvare su più supporti successivi (opzioni multi- È possibile estrarre tutto o parte di un backup. -`tar` esegue implicitamente il backup in modalità relativa anche se il percorso delle informazioni di cui eseguire il backup è indicato in modalità assoluta. Tuttavia, è possibile eseguire backup e ripristini in modalità assoluta. +`tar` esegue implicitamente il backup in modalità relativa anche se il percorso delle informazioni di cui eseguire il backup è indicato in modalità assoluta. Tuttavia, è possibile eseguire backup e ripristini in modalità assoluta. Se si vuole vedere un esempio separato dell'uso di `tar`, si faccia riferimento a questo documento. ### Linee guida per il ripristino @@ -245,7 +245,7 @@ Esempio: !!! Tip "Suggerimento" - Il trattino (-) davanti alle opzioni di 'tar' non è necessario! + Il trattino (-) davanti alle opzioni di 'tar' è opzionale! ##### Creare un backup in modalità assoluta @@ -289,9 +289,9 @@ tar cvzf backup.tar.gz dirname/ Mantenere le chiavi `cvf` (`tvf` o `xvf`) invariate per tutte le operazioni di backup e aggiungere semplicemente la chiave di compressione alla fine delle chiavi rende il comando più facile da capire (ad esempio, `cvfz` o `cvfj`, ecc.). -##### Creazione di un backup compresso con `bzip` +##### Creazione di un backup compresso con `bzip2` -La creazione di un backup compresso con `bzip` viene eseguita con le opzioni `cvfj`: +La creazione di un backup compresso con `bzip2` viene eseguita con le opzioni `cvfj`: ```bash tar cvfj backup.tar.bz2 dirname/ @@ -305,7 +305,7 @@ tar cvfj backup.tar.bz2 dirname/ Le estensioni `.tbz` e `.tb2` sono equivalenti alle estensioni `.tar.bz2`. -##### Compressione `compress`, `gzip`, `bzip2`, `lzip` e `xz` +##### Confronto dell'efficienza di compressione La compressione e la conseguente decompressione hanno un impatto sul consumo di risorse (tempo e utilizzo della CPU). @@ -337,10 +337,10 @@ L'aggiunta di una directory è simile. Qui aggiungiamo `dirtoadd` a `backup_name tar rvf backup_name.tar dirtoadd ``` -| Opzione | Descrizione | -| ------- | ----------------------------------------------------------------------------------------------- | -| `r` | Aggiunge uno o più file alla fine di un backup multimediale ad accesso diretto (disco rigido). | -| `A` | Aggiunge uno o più file al termine di un backup su un supporto di accesso sequenziale (nastro). | +| Opzione | Descrizione | +| ------- | -------------------------------------------------------------------- | +| `r` | Aggiunge i file o le directory alla fine dell'archivio. | +| `A` | Aggiunge tutti i file di un archivio alla fine di un altro archivio. | !!! Note "Nota" @@ -378,7 +378,7 @@ tar tvfz backup.tar.gz tar tvfj backup.tar.bz2 ``` -Quando il numero di file in un backup diventa grande, è possibile inviare in *pipe* il risultato del comando `tar` ad un *impaginatore* (`more`, `less`, `most`, ecc.): +Quando il numero di file nel backup aumenta, è possibile utilizzare i caratteri pipe (`|`) e alcuni comandi (`less`, `more`, `most`, e altri) per ottenere l'effetto della visualizzazione a paginazione: ```bash tar tvf backup.tar | less @@ -386,11 +386,11 @@ tar tvf backup.tar | less !!! Tip "Suggerimento" - Per elencare o recuperare il contenuto di un backup, non è necessario menzionare l'algoritmo di compressione utilizzato quando è stato creato il backup. Cioè, un `tar tvf` è equivalente a `tar tvfj`, per leggere il contenuto, e un `tar xvf` è equivalente a `tar xvfj`, per estrarre. + Per elencare o recuperare il contenuto di un backup, non è necessario menzionare l'algoritmo di compressione utilizzato quando è stato creato il backup. Cioè, un `tar tvf` è equivalente a `tar tvfj`, per leggere il contenuto. Il tipo o l'algoritmo di compressione deve essere selezionato solo quando si crea un backup compresso. !!! Tip "Suggerimento" - Controlla sempre il contenuto di un backup. + È sempre consigliabile controllare e visualizzare il contenuto del file di backup prima di eseguire un'operazione di ripristino. #### Verificare l'integrità di un backup @@ -432,7 +432,7 @@ Verify 1/file2 Verify 1/file3 ``` -La verifica con l'opzione `W` non può essere eseguita con un archivio compresso. Deve essere utilizzata l'opzione ++d++: +Non è possibile verificare l'archivio compresso con il chiave `W`. Si deve invece utilizzare la chiave `d`. ```bash tar dfz file_name.tgz @@ -463,13 +463,13 @@ tar xvfP /backups/etc.133.P.tar !!! warning "Attenzione" - Portarsi nel posto giusto. + Per motivi di sicurezza, è necessario prestare attenzione quando si estraggono file di backup salvati in modalità assoluta. - Controllare il contenuto del backup. + Ancora una volta, prima di eseguire operazioni di estrazione, è necessario controllare sempre il contenuto dei file di backup (in particolare quelli salvati in modalità assoluta). | Opzione | Descrizione | | ------- | --------------------------------------------- | -| `x` | Estrarre i file dal backup, compressi o meno. | +| `x` | Estrarre i file dai backup (compressi o meno) | L'estrazione di un backup *tar-gzipped* (`*.tar.gz`) viene eseguita con le opzioni `xvfz`: From 832e875e23a43a66b785673b6c0a37dda52b795e Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:27:17 -0500 Subject: [PATCH 02/45] New translations cron_jobs_howto.md (Italian) --- docs/guides/automation/cron_jobs_howto.it.md | 62 ++++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/docs/guides/automation/cron_jobs_howto.it.md b/docs/guides/automation/cron_jobs_howto.it.md index b9f8e8e08..8a5dd6b35 100644 --- a/docs/guides/automation/cron_jobs_howto.it.md +++ b/docs/guides/automation/cron_jobs_howto.it.md @@ -13,28 +13,28 @@ tags: ## Prerequisiti -* Un computer con Rocky Linux in esecuzione -* Una certa dimestichezza nel modificare i file di configurazione dalla riga di comando utilizzando il proprio editor preferito (utilizzando `vi` qui) +- Un computer con Rocky Linux in esecuzione +- Una certa dimestichezza nel modificare i file di configurazione dalla riga di comando utilizzando il proprio editor preferito (utilizzando `vi` qui) -## Presupposto +## Presupposto -* Conoscenza di base di bash, python o altri strumenti di scripting o programmazione, e si desidera che uno script venga eseguito automaticamente -* Che si stia operando come utente root o che si abbia la possibilità di `sudo -s` +- Conoscenza di base di bash, python o altri strumenti di scripting o programmazione, e si desidera che uno script venga eseguito automaticamente +- Che si stia operando come utente root o che si abbia la possibilità di `sudo -s` **(È possibile eseguire alcuni script nelle proprie directory come proprio utente. In questo caso, il passaggio a root non è necessario)** ## Introduzione -Linux fornisce il sistema _cron_, un job scheduler basato sul tempo, per automatizzare i processi. È semplicistico e tuttavia molto potente. Vuoi uno script o un programma da eseguire ogni giorno alle 5 del pomeriggio? Qui è dove lo imposti. +Linux fornisce il sistema cron, un job scheduler basato sul tempo, per automatizzare i processi. È semplicistico e tuttavia molto potente. Vuoi uno script o un programma da eseguire ogni giorno alle 5 del pomeriggio? Qui è dove lo imposti. -La _crontab_ è essenzialmente un elenco in cui gli utenti aggiungono le proprie attività e i propri lavori automatizzati, con molte opzioni che possono semplificare ulteriormente le cose. Questo documento ne esplorerà alcuni. È un buon ripasso per chi ha un po' di esperienza e i nuovi utenti possono aggiungere il sistema `cron` alla loro dotazione di strumenti. +La crontab è essenzialmente un elenco in cui gli utenti aggiungono le proprie attività e i propri lavori automatizzati, con molte opzioni che possono semplificare ulteriormente le cose. Questo documento ne esplorerà alcuni. È un buon ripasso per chi ha un po' di esperienza e i nuovi utenti possono aggiungere il sistema `cron` alla loro dotazione di strumenti. `anacron` è discusso brevemente qui in riferimento alle directory `cron` "dot". `cron` viene eseguito da `anacron` ed è utile per le macchine che non sono sempre attive, come le workstation e i notebook. Il motivo è che mentre `cron` esegue i lavori in base a una pianificazione, se la macchina è spenta all'ora prevista, il lavoro non verrà eseguito. Con `anacron` il lavoro verrà eseguito quando la macchina è di nuovo accesa, anche se l'esecuzione programmata è avvenuta in passato. `anacron`, tuttavia, utilizza un approccio più randomizzato per eseguire compiti in cui la tempistica non è esatta. Questo ha senso per le workstation e i notebook, ma non per i server. Questo può essere un problema per cose come i backup dei server, ad esempio, che richiedono l'esecuzione di un lavoro a un'ora specifica. È qui che `cron` fornisce la soluzione migliore per gli amministratori di server. Tuttavia, gli amministratori di server e gli utenti di workstation o notebook possono trarre vantaggio da entrambi gli approcci. È possibile combinarli in base alle proprie esigenze. Per ulteriori informazioni su `anacron`, vedere [anacron - Automazione dei comandi](anacron.md). -### Iniziare in modo semplice: le directory dot di `cron` +### Iniziare in modo semplice: le directory dot di `cron` Incorporate in ogni sistema Linux da molte versioni, le directory `cron` "dot" aiutano ad automatizzare i processi rapidamente. Queste appaiono come directory che il sistema `cron` chiama in base alle loro convenzioni di denominazione. Questi vengono eseguiti in modo diverso, tuttavia, in base al processo assegnato per richiamarli, `anacron` o `cron`. Il comportamento predefinito prevede l'uso di `anacron`, ma può essere modificato dall'amministratore del server, della workstation o del notebook. -#### Per i Server +#### Per i Server Come detto nell'introduzione, `cron` normalmente esegue `anacron` attualmente per eseguire gli script in queste directory "dot". È *possibile* che si vogliano usare queste directory "dot" anche sui server e, in tal caso, è necessario eseguire due passaggi per verificare che queste directory "dot" vengano eseguite secondo un sistema di pianificazione rigoroso. Per farlo, è necessario installare un pacchetto e rimuoverne un altro: @@ -46,7 +46,7 @@ e Come ci si potrebbe aspettare, questo rimuove `anacron` dal server e torna ad eseguire i compiti all'interno delle directory "dot" con una pianificazione rigorosa. `/etc/cron.d/dailyjobs` è il file che controlla la pianificazione, con i seguenti contenuti: -``` +```bash # Run the daily, weekly, and monthly jobs if cronie-anacron is not installed SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin @@ -60,18 +60,18 @@ MAILTO=root Questo si traduce in quanto segue: -* eseguire gli script in `cron.daily` alle 04:02:00 ogni giorno. -* eseguire gli script in `cron.weekly` alle 04:22:00 di domenica ogni settimana. -* eseguire gli script in `cron.monthly` alle 04:42:00 il primo giorno di ogni mese. +- eseguire gli script in `cron.daily` alle 04:02:00 ogni giorno. +- eseguire gli script in `cron.weekly` alle 04:22:00 di domenica ogni settimana. +- eseguire gli script in `cron.monthly` alle 04:42:00 il primo giorno di ogni mese. -#### Per le workstations +#### Per le workstations Se si desidera eseguire gli script su una workstation o un notebook nelle directory `cron` "dot", non è necessario eseguire nulla di complicato. Copiate il file di script nella directory in questione e assicuratevi che sia eseguibile. Ecco le directory: -* `/etc/cron.hourly` - Gli script inseriti qui verranno eseguiti un minuto dopo l'ora ogni ora (eseguiti da `cron` indipendentemente dal fatto che `anacron` sia installato o meno) -* `/etc/cron.daily` - Gli script messi qui saranno eseguiti ogni giorno. `anacron` regola la tempistica di queste operazioni (vedere il suggerimento) -* `/etc/cron.weekly` - Gli script inseriti qui verranno eseguiti ogni 7 giorni, in base al giorno del calendario dell'ultima esecuzione (vedi suggerimento) -* `/etc/cron.monthly` - Gli script inseriti qui verranno eseguiti mensilmente in base al giorno di calendario dell'ultima esecuzione (vedi suggerimento) +- `/etc/cron.hourly` - Gli script inseriti qui verranno eseguiti un minuto dopo l'ora ogni ora (eseguiti da `cron` indipendentemente dal fatto che `anacron` sia installato o meno) +- `/etc/cron.daily` - Gli script messi qui saranno eseguiti ogni giorno. `anacron` regola la tempistica di queste operazioni (vedere il suggerimento) +- `/etc/cron.weekly` - Gli script inseriti qui verranno eseguiti ogni 7 giorni, in base al giorno del calendario dell'ultima esecuzione (vedi suggerimento) +- `/etc/cron.monthly` - Gli script inseriti qui verranno eseguiti mensilmente in base al giorno di calendario dell'ultima esecuzione (vedi suggerimento) !!! tip "Suggerimento" @@ -91,7 +91,7 @@ Se gli orari automatici e randomizzati non funzionano bene in [Per le postazioni In questo modo si recupera il `crontab` dell'utente root, così come si trova in questo momento, nell'editor scelto, e potrebbe avere un aspetto simile a questo. Leggete questa versione commentata, poiché contiene le descrizioni di ogni campo che utilizzerete successivamente: -``` +```text # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line @@ -119,7 +119,7 @@ In questo modo si recupera il `crontab` dell'utente root, così come si trova in Notate che questo particolare file `crontab` ha un po' della sua documentazione incorporata. Non è sempre così. Quando si modifica un `crontab` su un container o su un sistema operativo minimalista, il `crontab` sarà un file vuoto a meno che non ci sia una voce al suo interno. -Si supponga di avere uno script di backup da eseguire alle 22: 00 di sera. Il `crontab` utilizza un orologio di 24 ore, quindi le 22:00. Si supponga che lo script di backup sia "backup" e che si trovi attualmente nella directory _/usr/local/sbin_. +Si supponga di avere uno script di backup da eseguire alle 22: 00 di sera. Il `crontab` utilizza un orologio di 24 ore, quindi le 22:00. Si ipotizza che lo script di backup sia “backup” e che si trovi attualmente nella directory /usr/local/sbin. !!! note "Nota" @@ -139,13 +139,13 @@ Per aggiungere il lavoro, eseguire: `crontab` è l'acronimo di "cron table" e il formato del file è, di fatto, un layout di tabella libera. Ora che siete nel `crontab`, andate in fondo al file e aggiungete la vostra voce. Se si utilizza `vi` come editor di sistema predefinito, lo si farà con i seguenti tasti: -SHIFT+:+$ +++shift+colon+"$"++ Ora che siete in fondo al file, inserite una riga e un breve commento per descrivere la vostra voce. A questo scopo si aggiunge un "#" all'inizio della riga: `# Backing up the system every night at 10PM` -Premere INVIO. Dovreste essere ancora nella modalità di inserimento, quindi il passo successivo è aggiungere la voce. Come mostrato nella nostra `crontab` vuota e commentata (sopra), questo è **m** per minuti, **h** per ore, **dom** per giorno della settimana, **mon** per mese, e **dow** giorno della settimana. +Premere ++enter++. Dovreste essere ancora nella modalità di inserimento, quindi il passo successivo è aggiungere la voce. Come mostrato nella nostra `crontab` vuota e commentata (sopra), questo è **m** per minuti, **h** per ore, **dom** per giorno della settimana, **mon** per mese, e **dow** giorno della settimana. Per eseguire il nostro script di backup ogni giorno alle 10:00, la voce si presenta così: @@ -157,12 +157,12 @@ Questo dice di eseguire lo script alle 22:00, ogni giorno del mese, ogni mese e Un altro modo per eseguire i lavori a un orario strettamente programmato (ad esempio, giorno, settimana, mese, anno e così via) è quello di utilizzare le opzioni @, che offrono la possibilità di utilizzare una tempistica più naturale. Le @options sono costituite da: -* `@hourly` esegue lo script ogni ora di ogni giorno a 0 minuti dopo l'ora (questo è esattamente il risultato del posizionamento dello script in `/etc/cron.hourly`). -* `@daily` esegue lo script ogni giorno a mezzanotte. -* `@weekly` esegue lo script ogni settimana a mezzanotte di domenica. -* `@monthly` esegue lo script ogni mese a mezzanotte del primo giorno del mese. -* `@yearly` esegue lo script ogni anno alla mezzanotte del primo giorno di gennaio. -* `@reboot` esegue lo script solo all'avvio del sistema. +- `@hourly` esegue lo script ogni ora di ogni giorno a 0 minuti dopo l'ora (questo è esattamente il risultato del posizionamento dello script in `/etc/cron.hourly`). +- `@daily` esegue lo script ogni giorno a mezzanotte. +- `@weekly` esegue lo script ogni settimana a mezzanotte di domenica. +- `@monthly` esegue lo script ogni mese a mezzanotte del primo giorno del mese. +- `@yearly` esegue lo script ogni anno alla mezzanotte del primo giorno di gennaio. +- `@reboot` esegue lo script solo all'avvio del sistema. !!! note "Nota" @@ -192,9 +192,9 @@ Per determinare quando eseguire uno script, è necessario prendersi del tempo e ## Conclusioni -Il sistema _cron/crontab_ è un potente strumento per l'amministratore di sistemi Rocky Linux o per l'utente desktop. Permette di automatizzare le attività e gli script in modo da non doversi ricordare di eseguirli manualmente. Esempi più complessi sono riportati qui: +Il sistema cron/crontab è un potente strumento per l'amministratore di sistemi Rocky Linux o per l'utente desktop. Permette di automatizzare le attività e gli script in modo da non doversi ricordare di eseguirli manualmente. Esempi più complessi sono riportati qui: -* Per le macchine che **non** sono attive 24 ore al giorno, esplorate [anacron - Automazione dei comandi](anacron.md). -* Per una descrizione concisa dei processi `cron`, controlla [cronie - Attività a tempo](cronie.md) +- Per le macchine che **non** sono attive 24 ore al giorno, esplorate [anacron - Automazione dei comandi](anacron.md). +- Per una descrizione concisa dei processi `cron`, controlla [cronie - Attività a tempo](cronie.md) Mentre le basi sono piuttosto semplici, le opzioni possono essere più complesse. Per maggiori informazioni su `crontab` vai alla [pagina del manuale di crontab](https://man7.org/linux/man-pages/man5/crontab.5.html). Sulla maggior parte dei sistemi, è anche possibile digitare `man crontab` per ulteriori dettagli sui comandi. Potete anche fare una ricerca sul web per "crontab", che vi darà una grande quantità di risultati per aiutarvi a perfezionare le vostre capacità nell'uso di `crontab`. From 8b63f92b456b8eaa69d704ee20675f8e5abb02c9 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:27:58 -0500 Subject: [PATCH 03/45] New translations mkdocs_lsyncd.md (Italian) --- .../contribute/localdocs/mkdocs_lsyncd.it.md | 86 ++++++++++--------- 1 file changed, 46 insertions(+), 40 deletions(-) diff --git a/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md b/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md index 44858142e..b68b8bc27 100644 --- a/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md +++ b/docs/guides/contribute/localdocs/mkdocs_lsyncd.it.md @@ -6,10 +6,15 @@ tested_with: 8.5, 8.6 tags: - contribute - local environment lxd + - local environment incus --- # Introduzione +!!! info "Informazione" + + Le procedure qui descritte funzionano sia con Incus che con LXD. + Ci sono diversi modi per eseguire una copia di `mkdocs` per vedere esattamente come apparirà il documento Rocky Linux una volta unito sul sistema live. Questo particolare documento tratta l'uso di un container LXD sulla vostra postazione locale per separare il codice python in `mkdocs` da altri progetti su cui potreste lavorare. Si consiglia di tenere i progetti separati per evitare di creare problemi con il codice della propria workstation. @@ -18,14 +23,14 @@ Questo è anche un documento di accompagnamento alla versione [Docker qui](rocky ## Prerequisiti e presupposti -* Familiarità e comfort con la riga di comando -* Essere a proprio agio con l'uso di strumenti per l'editing, SSH e la sincronizzazione, o essere disposti a seguire e imparare -* Riferimento a LXD - c'è un lungo documento sulla [costruzione e utilizzo di LXD su un server qui](../../../books/lxd_server/00-toc.md), ma si utilizzerà 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) -* 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 +- Familiarità e comfort con la riga di comando +- Essere a proprio agio con l'uso di strumenti per l'editing, SSH e la sincronizzazione, o essere disposti a seguire e imparare +- Riferimento a LXD - c'è un lungo documento sulla [costruzione e utilizzo di LXD su un server qui](../../../books/lxd_server/00-toc.md), ma si utilizzerà 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) +- 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 ## Il container `mkdocs` @@ -35,13 +40,13 @@ Il primo passo è creare il contenitore LXD. L'uso delle impostazioni predefinit Si aggiungerà un container Rocky alla nostra workstation per `mkdocs`. Chiamatelo semplicemente "mkdocs": -``` +```bash 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: -``` +```bash lxc config device add mkdocs mkdocsport proxy listen=tcp:0.0.0.0:8000 connect=tcp:127.0.0.1:8000 ``` @@ -55,7 +60,7 @@ Nella riga precedente, "mkdocs" è il nome del nostro container, "mkdocsport" è Per prima cosa, entrare nel container con: -``` +```bash lxc exec mkdocs bash ``` @@ -80,22 +85,21 @@ lxc exec mkdocs bash Per Rocky Linux 9.x sono necessari alcuni pacchetti (per l'installazione dei pacchetti 8.x vedere "Modifiche al file requirements.txt per 8.x"): -``` +```bash dnf install git openssh-server python3-pip rsync ``` Una volta installato, è necessario abilitare e avviare `sshd`: - -``` +```bash systemctl enable --now sshd ``` + ### Utenti del container È necessario impostare una password per l'utente root e quindi aggiungere il nostro utente (l'utente utilizzato sulla macchina locale) all'elenco dei sudoer. In questo momento siete l'utente "root". Per modificare la password, inserire: - -``` +```text passwd ``` @@ -103,14 +107,14 @@ Impostare una password sicura e memorizzabile. Quindi, aggiungete il vostro utente e impostate una password: -``` +```bash adduser youruser passwd youruser ``` Aggiungete il vostro utente al gruppo sudoers: -``` +```bash usermod -aG wheel youruser ``` @@ -120,13 +124,13 @@ Dovreste essere in grado di accedere al container con l'utente root o con l'uten In questa procedura, l'utente root (come minimo) deve essere in grado di entrare in SSH nel container senza inserire una password; questo a seguito del processo `lsyncd` che verrà implementato. Il presupposto è che si possa usare sudo come utente root sulla propria stazione di lavoro locale: -``` +```bash sudo -s ``` Si presuppone inoltre che l'utente root abbia una chiave `id_rsa.pub` nella directory `./ssh`. In caso contrario, generarne una con [questa procedura](../../security/ssh_public_private_keys.md): -``` +```bash ls -al .ssh/ drwx------ 2 root root 4096 Feb 25 08:06 . drwx------ 14 root root 4096 Feb 25 08:10 .. @@ -137,7 +141,7 @@ drwx------ 14 root root 4096 Feb 25 08:10 .. Per ottenere l'accesso SSH al nostro container senza dover inserire una password, a condizione che la chiave `id_rsa.pub` esista, come sopra, basta eseguire: -``` +```bash ssh-copy-id root@10.56.233.189 ``` @@ -145,38 +149,38 @@ Per il nostro utente, invece, è necessario copiare l'intera cartella `.ssh/` ne Per copiare tutto nel nostro container, basta farlo come utente, **non** sudo: -``` +```bash scp -r .ssh/ youruser@10.56.233.189:/home/youruser/ ``` Quindi, accedere al container con SSH come utente: -``` +```bash ssh -l youruser 10.56.233.189 ``` -È necessario che le cose siano identiche. Lo si fa con `ssh-add`. Per farlo, è necessario assicurarsi di avere a disposizione il ssh-agent: +È necessario che le cose siano identiche. Lo si fa con `ssh-add`. Per farlo, è necessario assicurarsi di avere a disposizione l'`ssh-agent`: -``` +```bash eval "$(ssh-agent)" ssh-add ``` ## Clonare i repository -È necessario clonare due repository, ma non è necessario aggiungere alcun git remote. Il repository della documentazione qui visualizzerà solo la documentazione corrente ( in mirroring dalla propria postazione di lavoro) e i documenti. +È necessario clonare due repository, ma non c'è bisogno di aggiungere nessun `git` remote. Il repository della documentazione qui visualizzerà solo la documentazione corrente ( in mirroring dalla propria postazione di lavoro) e i documenti. Il repository rockylinux.org serve per eseguire `mkdocs serve` e userà il mirror come sorgente. Eseguite tutti questi passaggi come utente non root. Se non si riesce a clonare i repository con il proprio userid, allora **c'è** un problema con la propria identità per quanto concerne `git` e occorre rivedere gli ultimi passi per ricreare la chiave d'ambiente (sopra). Per prima cosa, clonare la documentazione: -``` +```bash git clone git@github.com:rocky-linux/documentation.git ``` Successivamente, clonare docs.rockylinux.org: -``` +```bash git clone git@github.com:rocky-linux/docs.rockylinux.org.git ``` @@ -190,34 +194,35 @@ Lo si fa con `sudo` qui. Entrare nella directory: -``` +```bash cd docs.rockylinux.org ``` Quindi eseguire: -``` +```bash sudo pip3 install -r requirements.txt ``` Successivamente è necessario impostare `mkdocs` con una cartella aggiuntiva. `mkdocs` richiede la creazione di una cartella docs e di una cartella documentation/docs collegata ad essa. Eseguire questa operazione con: -``` +```bash mkdir docs cd docs ln -s ../../documentation/docs ``` + ### Testare `mkdocs` Ora che avete configurato `mkdocs`, provate ad avviare il server. Ricordate che questo processo sosterrà che si tratta di una produzione. Non lo è, quindi ignorate l'avvertimento. Avviare `mkdocs serve` con: -``` +```bash mkdocs serve -a 0.0.0.0:8000 ``` Nella console verrà visualizzato qualcosa di simile a questo: -``` +```bash INFO - Building documentation... WARNING - Config value: 'dev_addr'. Warning: The use of the IP address '0.0.0.0' suggests a production environment or the use of a proxy to connect to the MkDocs server. However, the MkDocs' server is intended for local development purposes only. Please @@ -246,9 +251,10 @@ Ora il momento della verità! Se avete fatto tutto correttamente, dovreste esser Nel nostro esempio, inserite quanto segue nell'indirizzo del browser (**NOTA** Per evitare URL non funzionanti, l'IP è stato modificato in "your-server-ip". È sufficiente sostituire l'IP): -``` +```bash http://your-server-ip:8000 ``` + ## `lsyncd` 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. @@ -269,26 +275,26 @@ Per ora, si presume che si stia usando una workstation Rocky Linux e che si stia È necessario avere a disposizione dei file di registro su cui `lsyncd` possa scrivere: -``` +```bash touch /var/log/lsyncd-status.log touch /var/log/lsyncd.log ``` È inoltre necessario creare un file di esclusione, anche se in questo caso non si sta escludendo nulla: -``` +```bash touch /etc/lsyncd.exclude ``` Infine, è necessario creare il file di configurazione. In questo esempio, usiamo `vi` come editor, ma potete usare qualsiasi editor con cui vi sentite a vostro agio: -``` +```bash vi /etc/lsyncd.conf ``` Quindi inserire questo contenuto nel file e salvarlo. Assicuratevi di sostituire "youruser" con il vostro attuale utente, e l'indirizzo IP con il vostro IP del container: -``` +```bash settings { logfile = "/var/log/lsyncd.log", statusFile = "/var/log/lsyncd-status.log", @@ -315,13 +321,13 @@ sync { Supponendo di aver abilitato `lsyncd` al momento dell'installazione, a questo punto è sufficiente avviare o riavviare il processo: -``` +```bash systemctl restart lsyncd ``` Per assicurarsi che le cose funzionino, controllare i log, in particolare `lsyncd.log`, che dovrebbe mostrare qualcosa di simile se tutto è stato avviato correttamente: -``` +```bash Fri Feb 25 08:10:16 2022 Normal: --- Startup, daemonizing --- Fri Feb 25 08:10:16 2022 Normal: recursive startup rsync: /home/youruser/documentation/ -> root@10.56.233.189:/home/youruser/documentation/ Fri Feb 25 08:10:41 2022 Normal: Startup of "/home/youruser/documentation/" finished: 0 From 620eccfede28328945076fe2093a9cc5fff90a1f Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:28:00 -0500 Subject: [PATCH 04/45] New translations lxd_web_servers.md (Italian) --- docs/guides/containers/lxd_web_servers.it.md | 94 +++++++------------- 1 file changed, 32 insertions(+), 62 deletions(-) diff --git a/docs/guides/containers/lxd_web_servers.it.md b/docs/guides/containers/lxd_web_servers.it.md index 6f9823f5d..a1c5aec17 100644 --- a/docs/guides/containers/lxd_web_servers.it.md +++ b/docs/guides/containers/lxd_web_servers.it.md @@ -118,25 +118,25 @@ lxd init Ecco le domande e le nostre risposte per lo script, con una piccola spiegazione dove necessario: -``` +```text Would you like to use LXD clustering? (yes/no) [default=no]: ``` Se siete interessati al clustering, fate ulteriori ricerche al riguardo [qui](https://documentation.ubuntu.com/lxd/en/latest/clustering/). Altrimenti, basta premere "Invio" per accettare l'opzione predefinita. -``` +```text Do you want to configure a new storage pool? (yes/no) [default=yes]: ``` Accettare l'impostazione predefinita. -``` +```text Name of the new storage pool [default=default]: server-storage ``` Scegliere un nome per il pool di archiviazione. Mi piace chiamarlo come il server su cui gira LXD. (Un pool di archiviazione è in pratica una quantità prestabilita di spazio su disco rigido messa da parte per i vostri container) -``` +```text Name of the storage backend to use (btrfs, dir, lvm, zfs, ceph) [default=zfs]: lvm ``` @@ -144,25 +144,25 @@ La domanda precedente riguarda il tipo di file system che si desidera utilizzare In un ambiente virtuale, ho scoperto che "LVM" funziona bene e di solito è quello che uso. È possibile accettare l'impostazione predefinita alla domanda successiva. -``` +```text Create a new LVM pool? (yes/no) [default=yes]: ``` Se si dispone di un disco rigido o di una partizione specifica che si desidera utilizzare per l'intero pool di archiviazione, scrivere " yes". Se state facendo tutto questo su un VPS, probabilmente *dovrete* scegliere "no". -``` -`Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]:` +```text +`Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]: ``` Il Metal As A Service (MAAS) non rientra nell'ambito di questo documento. Accettare le impostazioni predefinite. -``` +```text Would you like to connect to a MAAS server? (yes/no) [default=no]: ``` E ancora altri default. È tutto a posto. -``` +```text Would you like to create a new local network bridge? (yes/no) [default=yes]: What should the new bridge be called? [default=lxdbr0]: ` @@ -172,19 +172,19 @@ What IPv4 address should be used? (CIDR subnet notation, “auto” or “none Se si desidera utilizzare IPv6 sui propri contenitori LXD, è possibile attivare la prossima opzione. Questo dipende da voi, ma per lo più non dovrebbe essere necessario. -``` +```text What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: ``` Questo è necessario per eseguire facilmente il backup del server e può consentire di gestire l'installazione di LXD da altri computer. Se tutto questo vi sembra buono, rispondete " yes" -``` +```text Would you like the LXD server to be available over the network? (yes/no) [default=no]: yes ``` Se avete risposto sì alle ultime domande, scegliete i valori predefiniti: -``` +```text Address to bind LXD to (not including port) [default=all]: Port to bind LXD to [default=8443]: @@ -192,7 +192,7 @@ Port to bind LXD to [default=8443]: Ora vi verrà chiesta una password di fiducia. È il modo in cui ci si connette al server host LXC da altri computer e server, quindi è necessario impostare qualcosa che abbia senso nel proprio ambiente. Salvate la password in un luogo sicuro, ad esempio in un gestore di password. -``` +```text Trust password for new clients: Again: @@ -200,7 +200,7 @@ Again: E poi continuare a utilizzare i valori predefiniti da qui in avanti: -``` +```text Would you like stale cached images to be updated automatically? (yes/no) [default=yes] Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: @@ -496,7 +496,7 @@ Non sarà possibile eliminare il container se è in esecuzione, quindi lo si pu lxc delete my-container --force ``` -Ora, grazie al completamento del comando Tab, all'errore dell'utente e al fatto che la "d" si trova accanto alla "s" sulla maggior parte delle tastiere, è possibile cancellare accidentalmente i container. +Ora, grazie al completamento del comando ++tab++, all'errore dell'utente e al fatto che ++d++ si trova accanto a ++s++ sulla maggior parte delle tastiere, è possibile cancellare accidentalmente i contenitori. Per evitare che ciò accada, è possibile impostare qualsiasi container come "protetto" (facendo in modo che il processo di cancellazione richieda un passo in più) con questo comando: @@ -588,7 +588,7 @@ nano /etc/httpd/conf.d/real-ip.conf E aggiungere questo testo: -``` +```bash RemoteIPHeader X-Real-IP RemoteIPTrustedProxy proxy-server.lxd ``` @@ -607,45 +607,13 @@ Uscire dalla shell per ora e iniziare con il server Nginx. Anche in questo caso, la faremo breve. Se volete usare la versione più recente (e consigliata) di Nginx in produzione, consultate la nostra [guida per principianti all'installazione di Nginx](../web/nginx-mainline.md). Questo contiene la guida completa all'installazione e alcune buone pratiche per la configurazione del server. -Per i test e l'apprendimento, *potreste* installare Nginx normalmente, ma vi consiglio di installare l'ultima versione, che è chiamata ramo "mainline". - Per prima cosa, accedere alla shell del container: ```bash lxc exec nginx-server bash ``` -Quindi, installare il repository `epel-release` in modo da poter installare l'ultima versione di Nginx: - -```bash -dnf install epel-release -``` - -Una volta fatto questo, cercare l'ultima versione di Nginx con: - -```bash -dnf module list nginx -``` - -Si dovrebbe ottenere un elenco simile a questo: - -```bash -Rocky Linux 8 - AppStream -Name Stream Profiles Summary -nginx 1.14 [d] common [d] nginx webserver -nginx 1.16 common [d] nginx webserver -nginx 1.18 common [d] nginx webserver -nginx 1.20 common [d] nginx webserver -nginx mainline common [d] nginx webserver -``` - -Quella desiderata è, avete indovinato, il ramo mainline. Abilitare il modulo con questo comando: - -```bash -dnf enable module nginx:mainline -``` - -Ti verrà chiesto se sei sicuro di volerlo fare, quindi scegli `Y` come al solito. Quindi, utilizzare il comando predefinito per installare Nginx: +Utilizzare il comando predefinito per installare Nginx: ```bash dnf install nginx @@ -748,7 +716,7 @@ nano /etc/nginx/conf.d/apache-server.conf Quindi incollate questo test, modificate il nome del dominio secondo necessità e salvatelo: -``` +```apache upstream apache-server { server apache-server.lxd:80; } @@ -772,12 +740,12 @@ server { Vediamo di scomporlo un po': -* La sezione `upstream` definisce esattamente dove il reverse proxy invierà tutto il suo traffico. In particolare, invia il traffico al nome di dominio interno del container "apache-server": `apache-server.lxd`. -* Le due righe che iniziano con `listen` indicano al server di ascoltare il traffico in arrivo sulla porta 80 con il protocollo proxy. La prima via IPv4 e la seconda via IPv6. -* La funzione `server_name` prende tutto il traffico che arriva specificamente da "apache.server.test" e lo instrada attraverso il reverse proxy. -* La funzione `proxy-pass` è la parte che dirige effettivamente tutto il traffico catturato dalla variabile `server_name` e lo invia al server definito nella sezione `upstream`. -* La funzione `proxy_redirect` può apparentemente interferire con i reverse proxy, quindi ci assicuriamo che sia disattivata. -* Tutte le opzioni `proxy-set-header` inviano al server web informazioni come l'IP dell'utente e altro. +1. La sezione `upstream` definisce esattamente dove il reverse proxy invierà tutto il suo traffico. In particolare, invia il traffico al nome di dominio interno del container "apache-server": `apache-server.lxd`. +2. Le due righe che iniziano con `listen` indicano al server di ascoltare il traffico in arrivo sulla porta 80 con il protocollo proxy. La prima via IPv4 e la seconda via IPv6. +3. La funzione `server_name` prende tutto il traffico che arriva specificamente da "apache.server.test" e lo instrada attraverso il reverse proxy. +4. La funzione `proxy-pass` è la parte che dirige effettivamente tutto il traffico catturato dalla variabile `server_name` e lo invia al server definito nella sezione `upstream`. +5. La funzione `proxy_redirect` può apparentemente interferire con i reverse proxy, quindi ci assicuriamo che sia disattivata. +6. Tutte le opzioni `proxy-set-header` inviano al server web informazioni come l'IP dell'utente e altro. !!! warning "Attenzione" @@ -793,7 +761,8 @@ Ricaricare il server con `systemctl restart nginx`, quindi puntare il browser su È possibile assegnare ai file di configurazione il nome che si preferisce. Per le esercitazioni sto usando nomi semplificati, ma alcuni sysadmin raccomandano nomi basati sul dominio attuale, ma al contrario. È un'organizzazione basata sull'ordine alfabetico. - es. "apache.server.test" otterrebbe un file di configurazione chiamato `test.server.apache.conf`. + Ad esempio, “apache.server.test” otterrà un file di configurazione chiamato `test.server.apache.conf`. + #### Direzione del traffico al server Nginx Ripetere il procedimento. Creare un file come in precedenza: @@ -804,7 +773,7 @@ nano /etc/nginx/conf.d/nginx-server.conf Aggiungere il testo appropriato: -``` +```nginx upstream nginx-server { server rocky-nginx.lxd:80; } @@ -841,6 +810,7 @@ lxc exec apache-server systemctl restart httpd && lxc exec nginx-server restart Questo applicherà i file "real-ip.conf" che abbiamo creato nelle rispettive configurazioni dei server. #### Ottenere i certificati SSL per i tuoi siti web + Ottenere certificati SSL ufficiali e corretti è più facile con Let's Encrypt e una piccola applicazione chiamata certbot. certbot rileva automaticamente i vostri siti web, ottiene i certificati SSL e configura i siti stessi. Rinnova anche i certificati per voi ogni 30 giorni circa, senza alcun intervento da parte vostra o cron job. Tutto questo deve essere fatto dal container "proxy-server", quindi si deve accedere a quella shell. Una volta lì, installare i repository EPEL, proprio come si è fatto sull'host. Assicurarsi che il container sia stato prima aggiornato: @@ -871,7 +841,7 @@ Certbot leggerà la configurazione di Nginx e capirà quanti siti web avete e se Le domande più importanti sono le seguenti. Inserite il vostro indirizzo e-mail quando vedete questo: -``` +```bash Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): @@ -879,7 +849,7 @@ Enter email address (used for urgent renewal and security notices) Qui è possibile scegliere per quali siti web ottenere i certificati. Basta premere invio per ottenere i certificati per tutti quanti. -``` +```text Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: apache.server.test @@ -893,14 +863,14 @@ Verrà visualizzato un testo di conferma e la procedura sarà conclusa. Ma se an Andate nei file `apache-server.conf` e `nginx-server.conf` e trovate le due righe seguenti: -``` +```bash listen [::]:443 ssl ipv6only=on; # managed by Certbot listen 443 ssl; # managed by Certbot ``` Sì, manca l'impostazione `proxy_protocol` e questo non va bene. Aggiungetelo voi stessi. -``` +```bash listen proxy_protocol [::]:443 ssl ipv6only=on; # managed by Certbot listen proxy_protocol 443 ssl; # managed by Certbot ``` From 005de6795437e9be09f55e6dc8a529a2083acfba Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:29:29 -0500 Subject: [PATCH 05/45] New translations mkdocs_venv.md (Italian) --- .../contribute/localdocs/mkdocs_venv.it.md | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/guides/contribute/localdocs/mkdocs_venv.it.md b/docs/guides/contribute/localdocs/mkdocs_venv.it.md index 1c469c163..0d3415459 100644 --- a/docs/guides/contribute/localdocs/mkdocs_venv.it.md +++ b/docs/guides/contribute/localdocs/mkdocs_venv.it.md @@ -2,7 +2,7 @@ title: Metodo VENV di Python author: Franco Colussi contributors: Steven Spencer, Ganna Zhyrnova -tested_with: 8.7, 9.1 +tested_with: 8.7, 9.1, 9.4 tags: - mkdocs - testing @@ -278,6 +278,34 @@ INFO - [22:32:41] Serving on http://127.0.0.1:8000/ [rocky_user@rl9 env]$ ``` +### Creare un alias per il metodo venv + +È possibile creare un alias bash per accelerare il processo di utilizzo di mkdocs con il metodo venv. + +Eseguite il comando seguente per aggiungere l'alias `venv` al vostro `.bash_profile`: + +```bash +printf "# mkdocs alias\nalias venv='source $HOME/lab/rockydocs/env/bin/activate && mkdocs serve -f $HOME/lab/rockydocs/docs.rockylinux.org/mkdocs.yml'" >> ~/.bash_profile +``` + +Aggiornare l'ambiente della shell con l'alias appena creato: + +```bash +source ~/.bash_profile +``` + +Ora è possibile eseguire `venv` per creare un sito di sviluppo locale con mkdocs usando il metodo venv: + +```bash +venv +``` + +È comunque necessario eseguire `deactivate` per uscire dall'ambiente virtuale: + +```bash +deactivate +``` + ## Conclusioni e considerazioni finali La verifica delle nuove pagine in un sito di sviluppo locale ci assicura che il vostro lavoro sarà sempre conforme al sito di documentazione online, consentendovi di contribuire in modo ottimale. From f3ad4a10a4cb68850d2838721a3b842bc28e6b09 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:31:08 -0500 Subject: [PATCH 06/45] New translations 021-web-servers-apache.md (Italian) --- .../web_services/021-web-servers-apache.it.md | 703 ++++++++++++++++++ 1 file changed, 703 insertions(+) create mode 100644 docs/books/web_services/021-web-servers-apache.it.md diff --git a/docs/books/web_services/021-web-servers-apache.it.md b/docs/books/web_services/021-web-servers-apache.it.md new file mode 100644 index 000000000..d9094a58d --- /dev/null +++ b/docs/books/web_services/021-web-servers-apache.it.md @@ -0,0 +1,703 @@ +--- +author: Antoine Le Morvan +contributors: Steven Spencer, Ganna Zhyrnova +title: Part 2.1 Server Web Apache +--- + +## Apache + +In questo capitolo, si introdurrà il server web Apache. + +**** + +**Obiettivi**: Si imparerà come: + +:heavy_check_mark: installare e configurare Apache + +:checkered_flag: **apache**, **http**, **httpd** + +**Conoscenza**: :star: :star: +**Complessità**: :star: :star: + +**Tempo di lettura**: 30 minuti + +**** + +### Generalità + +Il server HTTP Apache è sviluppato da un gruppo di volontari: The Apache Group. Questo gruppo si è proposto di costruire un server Web allo stesso livello dei prodotti commerciali, ma come software libero (il suo codice sorgente è liberamente accessibile). + +Centinaia di utenti si sono uniti al team originale e hanno contribuito con idee, test e righe di codice, per rendere Apache il server Web più utilizzato al mondo. + +L'antenato di Apache è il accessible server sviluppato dal National Center for Supercomputing Applications dell'Università dell'Illinois. L'evoluzione di questo server si è interrotta quando il responsabile ha lasciato l'NCSA nel 1994. Gli utenti continuavano a correggere bug e a creare estensioni, che distribuivano come “patch”, da cui il nome “a patchee server”. + +La versione 1.0 di Apache è stata rilasciata il 1° dicembre 1995 (oltre 30 anni fa!). + +Il team di sviluppo coordina il proprio lavoro attraverso una mailing list, dove vengono discusse le proposte e le modifiche al software. Le modifiche vengono votate prima di essere incorporate nel progetto. Chiunque può unirsi al team di sviluppo. Per diventare un membro del Gruppo Apache, è necessario contribuire attivamente al progetto. + +Il server Apache ha una solida presenza su Internet e rappresenta circa il 50% della quota di mercato di tutti i siti attivi. + +Apache sta cedendo spesso quote di mercato a favore del suo principale sfidante, il server Nginx. Quest'ultimo è più veloce nel fornire pagine web, ma meno completo dal punto di vista funzionale rispetto al gigante Apache. + +### Installazione + +Apache è **multi-piattaforma**. È utilizzabile su Linux, Windows, Mac... + +L'amministratore deve scegliere tra due metodi di installazione: + +- **Package installation**: il fornitore della distribuzione fornisce **versioni stabili e supportate** (ma a volte più vecchie). + +- **Installation from source**: Questo comporta la compilazione del software da parte dell'amministratore, che può specificare le opzioni che gli interessano, ottimizzando così il servizio. Poiché Apache ha un'architettura modulare, in genere non è necessario ricompilare il software Apache per aggiungere o rimuovere funzionalità aggiuntive (aggiungere o rimuovere moduli). + +Il metodo di installazione package-based è fortemente consigliato. Sono disponibili repository aggiuntive per installare versioni più recenti di Apache su distribuzioni più vecchie, ma nessuno fornisce supporto in caso di problemi. + +Nelle distribuzioni Enterprise Linux, il pacchetto `httpd` fornisce il server Apache. + +In futuro, potrebbe essere necessario installare alcuni moduli aggiuntivi. Ecco un elenco di alcuni moduli e dei loro ruoli: + +- **mod_access**: filtra l'accesso dei client in base al nome dell'host, all'indirizzo IP o ad altre caratteristiche. +- **mod_alias**: abilita la creazione di alias o directory virtuali. +- **mod_auth**: autentica i client. +- **mod_cgi**: esegue gli script CGI. +- **mod_info**: fornisce informazioni sullo stato del server +- **mod_mime**: associa i tipi di file all'azione corrispondente. +- **mod_proxy**: gestisce un server proxy +- **mod_rewrite**: riscrive gli URL al volo con espressioni regolari, condizioni e flag. +- Altri + +```bash +sudo dnf install httpd +``` + +La versione installata su Rocky Linux 9 è la 2.4. + +L'installazione del pacchetto crea un utente di sistema `apache` e un gruppo di sistema corrispondente `apache`. + +```bash +$ grep apache /etc/passwd +apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin +$ grep apache /etc/group +apache:x:48: +``` + +Attivare e avviare il servizio con il seguente comando: + +```bash +$ sudo systemctl enable httpd --now +Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. +``` + +È possibile controllare lo stato del servizio: + +```bash +$ sudo systemctl status httpd +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabl> Active: active (running) since Fri 2024-06-21 14:22:34 CEST; 8s ago + Docs: man:httpd.service(8) + Main PID: 4387 (httpd) + Status: "Started, listening on: port 80" + Tasks: 177 (limit: 11110) + Memory: 24.0M + CPU: 68ms + CGroup: /system.slice/httpd.service + ├─4387 /usr/sbin/httpd -DFOREGROUND + ├─4389 /usr/sbin/httpd -DFOREGROUND + ├─4390 /usr/sbin/httpd -DFOREGROUND + ├─4391 /usr/sbin/httpd -DFOREGROUND +``` + +Non si dimentichi di aprire il firewall (consultare la sezione Sicurezza). + +Ora è possibile verificare se il servizio è attivo: + +- Da qualsiasi browser web fornendo l'indirizzo IP del vostro server (ad esempio, ). +- Direttamente sul server host. + +Per farlo, è necessario installare un text browser, come elinks. + +```bash +sudo dnf install elinks +``` + +Si consulti il server per un controllo della pagina predefinita: + +```bash +elinks http://localhost +``` + +L'installazione del pacchetto \`httpd' genera una struttura ad albero completa che deve essere compresa a fondo: + +```text +/etc/httpd/ +├── conf +│ ├── httpd.conf +│ └── magic +├── conf.d +│ ├── README +│ ├── autoindex.conf +│ ├── userdir.conf +│ └── welcome.conf +├── conf.modules.d +│ ├── 00-base.conf +│ ├── 00-brotli.conf +│ ├── 00-dav.conf +│ ├── 00-lua.conf +│ ├── 00-mpm.conf +│ ├── 00-optional.conf +│ ├── 00-proxy.conf +│ ├── 00-systemd.conf +│ ├── 01-cgi.conf +│ ├── 10-h2.conf +│ ├── 10-proxy_h2.conf +│ └── README +├── logs -> ../../var/log/httpd +├── modules -> ../../usr/lib64/httpd/modules +├── run -> /run/httpd +└── state -> ../../var/lib/httpd +/var/log/httpd/ +├── access_log +└── error_log +/var/www/ +├── cgi-bin +└── html +``` + +Si noterà che la cartella `/etc/httpd/logs` è un link simbolico alla cartella `/var/log/httpd`. Allo stesso modo, si noterà che i file che compongono il sito predefinito si trovano nella cartella `/var/www/html`. + +### Configurazione + +Inizialmente, l'intera configurazione del server Apache era contenuta in un singolo file \`/etc/httpd/conf/httpd.conf'. Col tempo, questo file è diventato sempre più imponente e meno leggibile. + +Nelle distribuzioni moderne, quindi, si tende a distribuire la configurazione di Apache in una serie di file `*.conf` nelle directory `/etc/httpd/conf.d` e `/etc/httpd/conf.modules.d`, collegati al file principale `/etc/httpd/conf/httpd.conf` tramite la direttiva Include. + +```bash +$ sudo grep "^Include" /etc/httpd/conf/httpd.conf +Include conf.modules.d/*.conf +IncludeOptional conf.d/*.conf +``` + +Il file \`/etc/httpd/conf/httpd.conf' è ampiamente documentato. In generale, questi commenti sono sufficienti a chiarire le opzioni dell'amministratore. + +La configurazione globale del server si trova in `/etc/httpd/conf/httpd.conf`. + +Questo file ha tre sezioni per la configurazione: + +- Nella **section 1**, il global environment; +- Nella **section 2**, i parametri del sito e del sito virtuale predefiniti. +- Nella **section 3**, gli hosts virtuali. + +Il **Virtual hosting** consente di mettere online **diversi siti virtuali** sullo stesso server. I siti vengono quindi contraddistinti in base ai loro nomi di dominio, indirizzi IP, ecc. + +La modifica di un valore nella sezione 1 o 2 si ripercuote sui tutti i siti nel host. + +In un ambiente condiviso, le modifiche si trovano dunque nella sezione 3. + +Per facilitare gli aggiornamenti futuri, si consiglia di creare un file di configurazione della sezione 3 per ogni sito virtuale. + +Ecco una versione minimale del file `httpd.conf`: + +```file +ServerRoot "/etc/httpd" +Listen 80 +Include conf.modules.d/*.conf +User apache +Group apache +ServerAdmin root@localhost + + AllowOverride none + Require all denied + +DocumentRoot "/var/www/html" + + AllowOverride None + Require all granted + + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + + + DirectoryIndex index.html + + + Require all denied + +ErrorLog "logs/error_log" +LogLevel warn + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + CustomLog "logs/access_log" combined + + + ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" + + + AllowOverride None + Options None + Require all granted + + + TypesConfig /etc/mime.types + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + AddType text/html .shtml + AddOutputFilter INCLUDES .shtml + +AddDefaultCharset UTF-8 + + MIMEMagicFile conf/magic + +EnableSendfile on +IncludeOptional conf.d/*.conf +``` + +#### Sezione 1 + +Le varie direttive incontrate nella Sezione 1 sono : + +| Opzione | Informazione | +| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `ServerTokens` | Questa direttiva sarà oggetto di un prossimo capitolo. | +| `ServertRoot` | Indica il percorso della directory contenente tutti i file che compongono il server Apache. | +| `Timeout` | Il numero di secondi prima della scadenza di una richiesta troppo lunga (in entrata o in uscita). | +| `KeepAlive` | Connessione persistente (più richieste per connessione TCP). | +| `MaxKeepAliveRequests` | Numero massimo di connessioni persistenti. | +| `KeepAliveTimeout` | Numero di secondi per attendere la prossima richiesta del client prima di chiudere la connessione TCP. | +| `Listen` | Consente ad Apache di tenersi in ascolto di indirizzi o porte specifiche. | +| `LoadModule` | Carica i moduli aggiuntivi (in generale, meno moduli = maggiore sicurezza). | +| `Include` | Contiene altri file di configurazione del server. | +| `ExtendedStatus` | Visualizza ulteriori informazioni sul server nel status module del server. | +| `User` and `Group` | Consente l'avvio di processi Apache con utenti diversi. Apache è avviato sempre come root, poi cambia proprietario e gruppo. | + +##### Multi-Process Modules (MPM) + +Il server Apache è stato progettato per essere potente e flessibile, in grado di funzionare su diverse piattaforme. + +Piattaforme e ambienti diversi spesso significano funzionalità diverse o l'uso di altri metodi per implementare la stessa funzionalità nel modo più efficiente possibile. + +La struttura modulare di Apache consente all'amministratore di scegliere quali funzionalità includere nel server selezionando i moduli da caricare, sia in fase di compilazione che di esecuzione. + +Questa modularità comprende anche le funzioni più rudimentali del server web. + +I moduli Multi-Process Modules (MPM) sono responsabili dell'associazione con le porte di rete del server, dell'accettazione delle richieste e della loro distribuzione tra i vari processi figli. + +La configurazione dei moduli MPM avviene nel file di configurazione /etc/httpd/conf.modules.d/00-mpm.conf: + +```file +# Select the MPM module which should be used by uncommenting exactly +# one of the following LoadModule lines. See the httpd.conf(5) man +# page for more information on changing the MPM. + +# prefork MPM: Implements a non-threaded, pre-forking web server +# See: http://httpd.apache.org/docs/2.4/mod/prefork.html +# +# NOTE: If enabling prefork, the httpd_graceful_shutdown SELinux +# boolean should be enabled, to allow graceful stop/shutdown. +# +#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so + +# worker MPM: Multi-Processing Module implementing a hybrid +# multi-threaded multi-process web server +# See: http://httpd.apache.org/docs/2.4/mod/worker.html +# +#LoadModule mpm_worker_module modules/mod_mpm_worker.so + +# event MPM: A variant of the worker MPM with the goal of consuming +# threads only for connections with active processing +# See: http://httpd.apache.org/docs/2.4/mod/event.html +# +LoadModule mpm_event_module modules/mod_mpm_event.so +``` + +Come si può vedere, l'MPM predefinito è mpm_event. + +Le prestazioni e le capacità del server web dipendono molto dalla scelta dell'MPM. + +La scelta di un modulo rispetto a un altro è un compito complesso, così come l'ottimizzazione del modulo MPM scelto (numero di client, query, ecc.). + +La configurazione di Apache presuppone un servizio moderatamente trafficato (256 client al massimo) per impostazione predefinita. + +##### Informazioni sulle direttive keepalive + +Con la direttiva `KeepAlive` disabilitata, ogni richiesta di risorse sul server richiede l'apertura di una connessione TCP, il che è dispendioso dal punto di vista della rete e richiede molte risorse di sistema. + +Con la direttiva `KeepAlive` impostata su `On`, il server mantiene aperta la connessione con il client per la durata del `KeepAlive`. + +Questa strategia è vincente perché una pagina web contiene diversi file (immagini, fogli di stile, Javascript, ecc.). + +Tuttavia, è importante impostare questo valore nel modo più accurato possibile: + +- Un valore troppo breve penalizza il cliente, +- Un valore troppo lungo penalizza le risorse del server. + +I valori di `KeepAlive` per gli host virtuali dei singoli client consentono una maggiore granularità per cliente. In questo caso, l'impostazione dei valori di `KeepAlive` avviene direttamente nel VirtualHost del client o a livello di proxy (`ProxyKeepalive` e `ProxyKeepaliveTimeout`). + +#### Sezione 2 + +Nella sezione 2 si impostano i valori utilizzati dal server principale. Il server principale risponde a tutte le richieste non gestite da uno dei Virtualhost di cui alla sezione 3. + +I valori vengono utilizzati anche come valori predefiniti per i siti virtuali. + +| Opzione | Descrizione | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ServerAdmin` | specifica un indirizzo e-mail che appare in alcune pagine generate automaticamente, come quelle di errore. | +| `ServerName` | specifica il nome con il quale è identificato il server. Può avvenire automaticamente, ma si consiglia di specificarlo esplicitamente (indirizzo IP o nome DNS). | +| `DocumentRoot` | specifica la directory contenente i file da fornire ai client. La cartella predefinita è /var/www/html/. | +| `ErrorLog` | specifica il percorso del log file degli errori. | +| `LogLevel` | debug, info, notice, warn, error, crit, alert, emerg. | +| `LogFormat` | definisce un formato specifico di log. Definito con la opzione CustomLog. | +| `CustomLog` | specifica il percorso per accedere al file. | +| `ServerSignature` | già visto nella parte relativa alla sicurezza. | +| `Alias` | specifica una directory esterna al tree e la rende accessibile. La presenza o l'assenza dell'ultima barra nel contesto è importante. | +| `Directory` | specifica i comportamenti e i diritti di accesso per directory. | +| `AddDefaultCharset` | specifica il formato di codifica delle pagine inviate (i caratteri accentati possono essere sostituiti da ?...). | +| `ErrorDocument` | personalizza le pagine di errore. | +| `server-status` | Riporta lo status del server. | +| `server-info` | Espone la configurazione del server. | + +##### La `ErrorLog` directive + +La directive `ErrorLog` definisce il log degli errori da utilizzare. + +Questa direttiva definisce il nome del file in cui il server registra tutti gli errori che incontra. Se il percorso del file non è assoluto, si assume che sia relativo a ServerRoot. + +##### La `DirectoryIndex` directive + +La DirectoryIndex directive definisce la pagina iniziale del sito. + +Questa direttiva specifica il nome del file caricato per primo, che fungerà da indice del sito o da pagina iniziale. + +Sintassi: + +```file +DirectoryIndex display-page +``` + +Il path completo non è specificato. La ricerca del file avviene nella directory specificata da DocumentRoot. + +Esempio: + +```file +DocumentRoot /var/www/html +DirectoryIndex index.php index.htm +``` + +Questa direttiva specifica il nome dell'index file del sito web. L'Index file è la pagina predefinita che si apre quando il cliente digita l'URL del sito (senza dover digitare l'index name). Questo file deve trovarsi nella directory specificata dalla directive`DocumentRoot`. + +La directive `DirectoryIndex` può specificare molti nomi di Index file separati da spazi. Ad esempio, una index page predefinita con contenuti dinamici e, come seconda scelta, una pagina statica. + +##### La directive `Directory` + +Il tag Directory è usato per definire directive per le specifiche directory. + +Questo tag applica i diritti a una o più directory. Deve essere inserito il path assoluto alla directory. + +Sintassi: + +```file + +Defining user rights + +``` + +Esempio: + +```file + + Require all granted # we allow everyone + +``` + +La sezione `Directory` definisce un blocco di directive applicabili a una parte del file system del server. Questo tag applica diritti a una o più directory. Le directive qui riportate si applicano solo alla directory (e alle sottodirectory) specificata. + +La sintassi di questo blocco accetta wildcards, ma è preferibile usare il blocco DirectoryMatch. + +Nell'esempio seguente, si negherà l'accesso al disco rigido locale del server, indipendentemente dal client. La directory “/” rappresenta la root del disco rigido. + +```file + + Require all denied + +``` + +L'esempio seguente mostra l'autorizzazione all'accesso alla directory di pubblicazione /var/www/html di tutti i client. + +```file + + Require all granted + +``` + +Quando il server trova un file `.htaccess', deve sapere se le directive inserite nel file sono autorizzate a modificare la configurazione preesistente. La direttiva `AllowOverride`controlla l'autorizzazione nelle directive`Directory`. Se impostato su `none`, i file `.htaccess\` saranno completamente ignorati. + +##### Il `mod_status` + +`mod_status` visualizza una pagina `/server-status` o `/server-info` che riassume lo stato del server: + +```file + + SetHandler server-status + Require local + + + + SetHandler server-info + Require local + +``` + +Si noti che questo modulo fornisce informazioni che non devono essere accessibili agli utenti. + +#### Hosting condiviso (sezione 3) + +Con l'hosting condiviso, il cliente pensa di visitare diversi server. In realtà, esiste un solo server e diversi siti virtuali. + +Per impostare un hosting condiviso, è necessario creare degli host virtuali: + +- dichiarare più porte di ascolto +- dichiarare più indirizzi IP di ascolto (hosting virtuale per IP) +- dichiarare più nomi di server (hosting virtuale per nome) + +Ogni sito virtuale corrisponde a una struttura a tree diversa. + +La sezione 3 del file `httpd.conf` permette di dichiarare questi host virtuali. + +Si consiglia vivamente di creare un file di configurazione per la sezione 3 per ogni sito virtuale, per facilitare gli aggiornamenti futuri. + +Scegliete l'hosting virtuale “per IP” o “per nome”. Non è consigliabile combinare le due soluzioni per la produzione. + +- Configurare un file di configurazione indipendente per ogni sito virtuale +- I VirtualHost sono salvati in `/etc/httpd/conf.d/`. +- L'estensione del file è \`.conf\`\`. + +##### La direttiva `VirtualHost` + +La direttiva `VirtualHost` definisce gli host virtuali. + +```file + + # if the "NameVirtualHost" directive is present + # then "address-IP" must match the one entered + # under "NameVirtualHost" as well as for "port". + ... + +``` + +Se si configura il server Apache con le direttive di base viste sopra, è possibile pubblicare un solo sito. Infatti, non è possibile pubblicare più siti con le impostazioni predefinite: stesso indirizzo IP, stessa porta TCP, e nessun hostname o hostname unico. + +I siti virtuali ci permetteranno di pubblicare diversi siti web sullo stesso server Apache. Si definiscono dei blocchi, ognuno dei quali descrive un sito web. In questo modo, ogni sito avrà la propria configurazione. + +Per facilitare la comprensione, un sito web è spesso associato ad un singolo server. I siti virtuali o host sono chiamati così perché smaterializzano il legame tra il server fisico e siti web. + +Esempio 1: + +```file +Listen 192.168.0.10:8080 + + DocumentRoot /var/www/site1/ + ErrorLog /var/log/httpd/site1-error.log + + +Listen 192.168.0.11:9090 + + DocumentRoot /var/www/site2/ + ErrorLog /var/log/httpd/site2-error.log + +``` + +L'hosting virtuale basato su IP applica linee guida specifiche in base all'indirizzo IP e alla porta su cui viene ricevuta la richiesta. Ciò significa generalmente servire siti web diversi su porte o interfacce diverse. + +##### La direttiva `NameVirtualHost` + +La direttiva `NameVirtualHost` definisce gli host virtuali name-based. + +Questa direttiva è obbligatoria per l'impostazione di host virtuali name-based. Con questa direttiva si specifica l'indirizzo IP su cui il server riceverà le richieste dagli host virtuali name-based. + +Sintassi: + +```text +NameVirtualHost adresse-IP[:port] +``` + +Esempio: + +```test +NameVirtualHost 160.210.169.6:80 +``` + +La direttiva deve precedere i blocchi di descrizione del sito virtuale. Definisce gli indirizzi IP utilizzati per ascoltare le richieste dei client per i siti virtuali. + +Per ascoltare le richieste su tutti gli indirizzi IP del server, utilizzare il carattere \*. + +#### Tenere in considerazione i cambiamenti + +Per ogni modifica della configurazione, è necessario ricaricarla con il seguente comando: + +```bash +sudo systemctl reload httpd +``` + +#### Manuale + +Un pacchetto chiamato 'httpd-manual' contiene un sito che funge da manuale d'uso di Apache. + +```bash +sudo dnf install httpd-manual +sudo systemctl reload httpd +``` + +È possibile accedere al manuale con un browser Web all'indirizzo quando è installato. + +```bash +$ elinks http://127.0.0.1/manual +``` + +#### Il comando `apachectl` + +`apachectl` è l'interfaccia di controllo del server Apache `httpd`. + +È un comando molto utile con l'opzione `-t` o `configtest`, che esegue un test della sintassi del file di configurazione. + +!!! NOTE "Nota" + +``` +È molto utile se usato con i gestori di Ansible per testare la configurazione. +``` + +### Sicurezza + +Quando si protegge il server con un firewall (che è una buona cosa), potrebbe essere necessario considerare la possibilità di aprirlo. + +```bash +sudo firewall-cmd --zone=public --add-service=http +sudo firewall-cmd --zone=public --add-service=https +sudo firewall-cmd --reload +``` + +#### SELinux + +Per impostazione predefinita, se la sicurezza SELinux è attiva, impedisce la lettura di un sito da una directory diversa da `/var/www/`. + +La directory contenente il sito deve avere il contesto di sicurezza `httpd_sys_content_t`. + +È possibile verificare il contesto attuale con il comando: + +```bash +* ls -Z /dir +``` + +Aggiungere il contesto con il seguente comando: + +```bash +sudo chcon -vR --type=httpd_sys_content_t /dir +``` + +Inoltre, impedisce l'apertura di una porta non standard. L'apertura della porta è un'operazione manuale da eseguire con il comando `semanage` (non installato di default). + +```bash +sudo semanage port -a -t http_port_t -p tcp 1664 +``` + +#### Direttive User e Group + +Le direttive `User` e `Group` definiscono un account e un gruppo di gestione di Apache. + +Storicamente, root eseguiva Apache, il che causava problemi di sicurezza. Root esegue sempre Apache, ma poi la sua identità viene cambiata. Generalmente l'utente `apache` e il gruppo `apache`. + +Mai ROOT! + +Il server Apache (processo `httpd`) si avvia con l'account di superutente `root`. Ogni richiesta del client attiva la creazione di un processo “child”. Per limitare i rischi, questi processi child vengono lanciati da un account meno privilegiato. + +Le direttive User e Group dichiarano l'account e il gruppo utilizzati per creare i processi child. + +Questo account e questo gruppo devono esistere nel sistema (per impostazione predefinita, ciò avviene durante l'installazione). + +#### Permessi dei file + +Come regola generale di sicurezza, il contenuto del server Web non deve appartenere al processo che esegue il server. Nel nostro caso, i file non dovrebbero appartenere all'utente e al gruppo `apache`, che ha accesso in scrittura alle cartelle. + +I contenuti vengono assegnati all'utente non privilegiato, all'utente root e al gruppo associato. Tra l'altro, è possibile anche limitare i diritti di accesso del gruppo. + +```bash +cd /var/www/html +sudo chown -R root:root ./* +sudo find ./ -type d -exec chmod 0755 "{}" \; +sudo find ./ -type f -exec chmod 0644 "{}" \; +``` + + From 43b678d886a182366693666cb802937d0997f011 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 04:16:01 -0500 Subject: [PATCH 07/45] New translations cron_jobs_howto.md (Italian) --- docs/guides/automation/cron_jobs_howto.it.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/automation/cron_jobs_howto.it.md b/docs/guides/automation/cron_jobs_howto.it.md index 8a5dd6b35..da0c74987 100644 --- a/docs/guides/automation/cron_jobs_howto.it.md +++ b/docs/guides/automation/cron_jobs_howto.it.md @@ -16,7 +16,7 @@ tags: - Un computer con Rocky Linux in esecuzione - Una certa dimestichezza nel modificare i file di configurazione dalla riga di comando utilizzando il proprio editor preferito (utilizzando `vi` qui) -## Presupposto +## Presupposti - Conoscenza di base di bash, python o altri strumenti di scripting o programmazione, e si desidera che uno script venga eseguito automaticamente - Che si stia operando come utente root o che si abbia la possibilità di `sudo -s` @@ -85,7 +85,7 @@ Se si è in grado di lasciare che il sistema esegua automaticamente gli script e ### Creare il proprio `cron` -Se gli orari automatici e randomizzati non funzionano bene in [Per le postazioni di lavoro sopra](#for-workstations) e gli orari programmati in [Per i server sopra](#for-servers), è possibile crearne di propri. In questo esempio, si presume che l'operazione venga eseguita come utente root. [vedere Ipotesi](#assumptions) Per fare questo, digitate quanto segue: +Se gli orari automatici e randomizzati non funzionano bene in [Per le postazioni di lavoro sopra](#per-le-workstations) e gli orari programmati in [Per i server sopra](#per-i-servers), è possibile crearne di propri. In questo esempio, si presume che l'operazione venga eseguita come utente root. [vedere Ipotesi](#presupposti) Per fare questo, digitate quanto segue: `crontab -e` From 106075971eed2b7dd154ac8b3022d90757fd8ec7 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 04:18:34 -0500 Subject: [PATCH 08/45] New translations rockydocs_webdev_v2.md (Italian) --- .../localdocs/rockydocs_webdev_v2.it.md | 198 ++++++++---------- 1 file changed, 93 insertions(+), 105 deletions(-) diff --git a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md index 6c7fcedfd..039602108 100644 --- a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md +++ b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md @@ -7,155 +7,143 @@ update: 13-Feb-2023 # Esecuzione del sito docs.rockylinux.org in locale per lo sviluppo web | Podman - Questo documento spiega come ricreare ed eseguire una copia locale dell'intero sito web docs.rockylinux.org sulla vostra macchina locale. Utilizzare una copia locale del sito web della documentazione può essere utile nei seguenti scenari: -* Siete interessati a conoscere e a contribuire agli aspetti dello sviluppo web del sito docs.rockylinux.org -* Siete un autore e volete vedere come i vostri documenti verranno visualizzati sul sito web della documentazione prima di inviarli - +- Siete interessati a conoscere e a contribuire agli aspetti dello sviluppo web del sito docs.rockylinux.org +- Siete un autore e volete vedere come i vostri documenti verranno visualizzati sul sito web della documentazione prima di inviarli ## Creare l'ambiente del contenuti -1. Assicuratevi che i prerequisiti siano soddisfatti. In caso contrario, passare alla sezione "[Impostare-i-prerequisiti](#setup-the-prerequisites)" e poi tornare qui. +1. Assicuratevi che i prerequisiti siano soddisfatti. In caso contrario, passare alla sezione "[Impostazione dei prerequisiti](#impostazione-dei-prerequisiti)" e poi tornare qui. -2. Passare dalla directory di lavoro corrente del sistema locale alla cartella in cui si intende effettuare le operazioni di scrittura. Ci riferiremo a questa directory come `$ROCKYDOCS` nel resto di questa guida. Per la nostra dimostrazione, `$ROCKYDOCS` punta a `$HOME/projects/rockydocs` sul nostro sistema demo. +2. Passare dalla directory di lavoro corrente del sistema locale alla cartella in cui si intende effettuare le operazioni di scrittura. Nel resto di questa guida ci riferiremo a questa directory come `$ROCKYDOCS`. Per la nostra dimostrazione, `$ROCKYDOCS` punta a `$HOME/projects/rockydocs` sul nostro sistema demo. -Crea $ROCKYDOCS se non esiste già e cambia la tua directory di lavoro in $ROCKYDOCS digita: + Creare `$ROCKYDOCS` se non esiste già e cambiare la directory di lavoro in quella `$ROCKYDOCS`: -``` -mkdir -p $HOME/projects/rockydocs -export ROCKYDOCS=${HOME}/projects/rockydocs -cd $ROCKYDOCS -``` + ```bash + mkdir -p $HOME/projects/rockydocs + export ROCKYDOCS=${HOME}/projects/rockydocs + cd $ROCKYDOCS + ``` -3. Assicuratevi di avere installato `git`. (`dnf -y install git`). Mentre ci si trova in $ROCKYDOCS, usare git per clonare il repo dei contenuti della documentazione ufficiale di Rocky. Digitare: +3. Assicurarsi di avere installato `git`. (`dnf -y install git`). Mentre ci si trova in $ROCKYDOCS, usare git per clonare il repo dei contenuti della documentazione ufficiale di Rocky. Digitare: -``` -git clone https://github.com/rocky-linux/documentation.git -``` + ```bash + git clone https://github.com/rocky-linux/documentation.git + ``` -Ora avrete una cartella `$ROCKYDOCS/documentation`. Questa cartella è un repository git ed è sotto il controllo di git. + Ora avrete una cartella `$ROCKYDOCS/documentation`. Questa cartella è un repository git ed è sotto il controllo di git. -4. Usate sempre `git` per clonare il repo ufficiale docs.rockylinux.org. Digitate: +4. Usare sempre `git` per clonare il repo ufficiale docs.rockylinux.org. Digitare: -``` -git clone https://github.com/rocky-linux/docs.rockylinux.org.git -``` + ```bash + git clone https://github.com/rocky-linux/docs.rockylinux.org.git + ``` Ora avrete una cartella `$ROCKYDOCS/docs.rockylinux.org`. In questa cartella è possibile sperimentare i propri contributi di sviluppo web. - ## Creare e avviare l'ambiente di sviluppo web RockyDocs -5. Assicurarsi che Podman sia attivo e funzionante sulla macchina locale (si può controllare con `systemctl`). Eseguire il test con l'esecuzione: - -``` -systemctl enable --now podman.socket -``` - -6. Creare un nuovo file `docker-compose.yml` con i seguenti contenuti: - -``` -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" - -``` - -Salvare il file con il nome `docker-compose.yml` nella cartella di lavoro $ROCKYDOCS. - -È anche possibile scaricare rapidamente una copia del file docker-compose.yml eseguendo: - -``` -curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/docker-compose-rockydocs.yml -o docker-compose.yml -``` - - -7. Infine, utilizzare docker-compose per creare il servizio. Digitate: - -``` -docker-compose up -``` - +1. Assicurarsi che Podman sia attivo e funzionante sulla macchina locale (si può controllare con `systemctl`). Eseguire il test: + + ```bash + systemctl enable --now podman.socket + ``` + +2. Creare un nuovo file `docker-compose.yml` con i seguenti contenuti: + + ```bash + 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" + ``` + + Salvare il file con il nome `docker-compose.yml` nella cartella di lavoro $ROCKYDOCS. + + È anche possibile scaricare rapidamente una copia del file docker-compose.yml eseguendo: + + ```bash + curl -SL https://raw.githubusercontent.com/rocky-linux/documentation-test/main/docs/labs/docker-compose-rockydocs.yml -o docker-compose.yml + ``` + +3. Infine, utilizzare docker-compose per creare il servizio. Digitare: + + ```bash + docker-compose up + ``` ## Visualizzare il sito web locale docs.rockylinux.org -8. Se sul sistema Rocky Linux è attivo un firewall, assicurarsi che la porta 8001 sia aperta. Digitate: +Se sul sistema Rocky Linux è attivo un firewall, assicurarsi che la porta 8001 sia aperta. Digitare: -``` -firewall-cmd --add-port=8001/tcp --permanent -firewall-cmd --reload -``` + ```bash + firewall-cmd --add-port=8001/tcp --permanent + firewall-cmd --reload + ``` -Con il container attivo e funzionante, ora si dovrebbe essere in grado di puntare il browser web al seguente URL per visualizzare la copia locale del sito: - -http://localhost:8001 - -O - -http://SERVER_IP:8001 + Con il container attivo e funzionante, ora si dovrebbe essere in grado di puntare il browser web al seguente URL per visualizzare la copia locale del sito: + + O + ## Impostazione dei prerequisiti Installare e configurare Podman e altri strumenti eseguendo: -``` +```bash sudo dnf -y install podman podman-docker git sudo systemctl enable --now podman.socket - ``` -Installare docker-compose e renderlo eseguibile. Digitate: +Installare docker-compose e renderlo eseguibile. Digitare: -``` +```bash 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 ``` +Correggere i permessi sul socket docker. Digitare: -Correggere i permessi sul socket docker. Digitate: - -``` +```bash sudo chmod 666 /var/run/docker.sock ``` +### Note -### Note: - -* Le istruzioni contenute in questa guida **NON** sono un prerequisito per gli autori della documentazione Rocky o per i contributori di contenuti -* L'intero ambiente viene eseguito in un container Podman e quindi è necessario che Podman sia correttamente configurato sulla propria macchina locale -* Il container è costruito sulla base dell'immagine docker ufficiale di Rocky Linux 9.1, disponibile qui https://hub.docker.com/r/rockylinux/rockylinux -* Il container mantiene il contenuto della documentazione separato dal motore web (mkdocs) -* Il container avvia un server web locale in ascolto sulla porta 8001. +- Le istruzioni contenute in questa guida **NON** sono un prerequisito per gli autori della documentazione Rocky o per i contributori di contenuti +- L'intero ambiente viene eseguito in un container Podman e quindi è necessario che Podman sia correttamente configurato sulla propria macchina locale +- Il container è costruito sulla base dell'immagine docker ufficiale di Rocky Linux 9.1, disponibile qui https://hub.docker.com/r/rockylinux/rockylinux +- Il container mantiene il contenuto della documentazione separato dal motore web (mkdocs) +- Il container avvia un server web locale in ascolto sulla porta 8001. From f29dab8017dc3643edb496f08f560b896e07b503 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:22:51 -0500 Subject: [PATCH 09/45] New translations 04-advanced-commands.md (Ukrainian) --- docs/books/admin_guide/04-advanced-commands.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/books/admin_guide/04-advanced-commands.uk.md b/docs/books/admin_guide/04-advanced-commands.uk.md index b64d97928..d07aea44d 100644 --- a/docs/books/admin_guide/04-advanced-commands.uk.md +++ b/docs/books/admin_guide/04-advanced-commands.uk.md @@ -39,7 +39,7 @@ antoine steven ``` -!!! Примітка +!!! note "Примітка" `uniq` вимагає, щоб вхідний файл був відсортований перед запуском, оскільки він порівнює лише послідовні рядки. From 23ab9230935c7c1d8e7b4afd8f05afb482191edf Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:22:55 -0500 Subject: [PATCH 10/45] New translations 08-process.md (Ukrainian) --- docs/books/admin_guide/08-process.uk.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/books/admin_guide/08-process.uk.md b/docs/books/admin_guide/08-process.uk.md index 7d1d30439..bddf7fe42 100644 --- a/docs/books/admin_guide/08-process.uk.md +++ b/docs/books/admin_guide/08-process.uk.md @@ -31,8 +31,8 @@ title: Менеджер процесів Кожен процес має: -* *PID*: ***P**rocess **ID**entifier*, унікальний ідентифікатор процесу -* *PPID*: ***P**arent **P**rocess **ID**entifier*, унікальний ідентифікатор батьківського процесу +* *PID*: _**P**rocess **ID**entifier_, унікальний ідентифікатор процесу +* *PPID*: _**P**arent **P**rocess **ID**entifier_, унікальний ідентифікатор батьківського процесу Завдяки послідовним відгалуженням процес `init` є батьком усіх процесів. @@ -41,11 +41,7 @@ title: Менеджер процесів Між процесами існує зв’язок «батьківський/дочірній». Дочірній процес є результатом того, що батьківський процес викликає примітив *fork()* і дублює свій власний код для створення дочірнього. *PID* дочірнього процесу повертається до батьківського процесу, щоб він міг з ним спілкуватися. Кожен дочірній елемент має ідентифікатор свого батька, *PPID*. -Номер *PID* представляє процес під час виконання. Після завершення процесу номер знову доступний для іншого процесу. Виконання тієї самої команди кілька разів створюватиме різні *PID* щоразу. - - - -!!! Note "Важливо" +Номер *PID* представляє процес під час виконання. Після завершення процесу номер знову доступний для іншого процесу. Виконання тієї самої команди кілька разів створюватиме різні *PID* щоразу.!!! Note "Примітка" Процеси не слід плутати з _потоками_. Кожен процес має власний контекст пам’яті (ресурси та адресний простір), тоді як _потоки_ того самого процесу спільно використовують той самий контекст. @@ -138,7 +134,7 @@ root 1 0 0 Jan01 ? 00:00/03 /sbin/init Під час виконання команди облікові дані користувача передаються створеному процесу. -За замовчуванням фактичні `UID` та `GID` (процесу) ідентичні **фактичному** `UID` і `GID` (`UID` і `GID` користувача, який виконав команду). +За замовчуванням фактичні `UID` та `GID` (процесу) ідентичні **фактичному** ` UID` і `GID` (`UID` і `GID` користувача, який виконав команду). Якщо для команди встановлено `SUID` (та/або `SGID`), фактичний `UID` (та/або `GID`) стає власником (та/або групою власників) команди, а не користувачем або групою користувачів, які видали команду. Тому ефективні та реальні **UID** **різняються**. From 7fa33acc19762b0d5ef2280cca36cd0647c37084 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 07:25:36 -0500 Subject: [PATCH 11/45] New translations 06-users.md (Ukrainian) --- docs/books/admin_guide/06-users.uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/books/admin_guide/06-users.uk.md b/docs/books/admin_guide/06-users.uk.md index 7db302297..35c4f75ef 100644 --- a/docs/books/admin_guide/06-users.uk.md +++ b/docs/books/admin_guide/06-users.uk.md @@ -515,7 +515,7 @@ root:$6$...:15399:0:99999:7 * 8: Термін дії облікового запису, формат позначки часу, у днях. **Зверніть увагу, що термін дії облікового запису відрізняється від терміну дії пароля. У разі закінчення терміну дії облікового запису користувач не має права входу. У разі закінчення терміну дії пароля користувачеві заборонено ввійти за допомогою свого пароля.** * 9: Зарезервовано для майбутнього використання. -!!! Важливо +!!! Danger "Увага" Для кожного рядка у файлі `/etc/passwd` має бути відповідний рядок у файлі `/etc/shadow`. @@ -531,7 +531,7 @@ $ echo $(($(date --date="2018-07-06" +%s)/86400+1)) ## Власники файлів -!!! Важливо +!!! Danger "Увага" Усі файли обов'язково належать одному користувачеві та одній групі. @@ -965,7 +965,7 @@ $ sudo su - alain Звичайним користувачам доведеться ввести пароль для нової ідентифікації. -!!! tip "Порада" +!!! Tip "Порада" Ви можете використати команду `exit`/`logout`, щоб вийти з користувачів, яких було переключено. Слід зазначити, що після зміни користувача не буде нової `дочірньої оболонки` або `підоболонки`, наприклад: From 2fc92bbcd91206f095787888465c424362d343df Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:20:04 -0500 Subject: [PATCH 12/45] New translations 09-backups.md (Ukrainian) --- docs/books/admin_guide/09-backups.uk.md | 98 ++++++++++++------------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/docs/books/admin_guide/09-backups.uk.md b/docs/books/admin_guide/09-backups.uk.md index f60337764..6324aeacc 100644 --- a/docs/books/admin_guide/09-backups.uk.md +++ b/docs/books/admin_guide/09-backups.uk.md @@ -23,7 +23,7 @@ title: Резервне копіювання і відновлення **** -!!! Примітка +!!! Note "Примітка" У цій главі командні структури використовують «пристрій» для визначення як цільового розташування для резервного копіювання, так і вихідного розташування під час відновлення. Пристроєм може бути як зовнішній носій, так і локальний файл. Ви повинні відчути це, коли розгортається розділ, але ви завжди можете повернутися до цієї примітки для роз’яснення, якщо вам потрібно. @@ -35,7 +35,7 @@ title: Резервне копіювання і відновлення * **Видалення**: добровільне чи мимовільне. Людські або технічні. Вірус, ... * **Цілісність**: дані стають непридатними для використання. -Жодна система не є безпомилковою, жодна людина не є безпомилковою, тому, щоб уникнути втрати даних, необхідно створити їх резервну копію, щоб мати можливість їх відновити. +Жодна система не є безпомилковою, і жодна людина не є безпомилковою, тому, щоб уникнути втрати даних, необхідно створити їх резервну копію, щоб можна було відновити після проблеми. Носій резервного копіювання слід зберігати в іншій кімнаті (або будівлі), ніж сервер, щоб катастрофа не знищила сервер і резервні копії. @@ -79,8 +79,8 @@ title: Резервне копіювання і відновлення ### Періодичність -* **Попередньо**: у певний час (до оновлення системи, ...). -* **Періодичність**: щоденно, щотижня, щомісяця, ... +* **Періодичне**: резервне копіювання протягом певного періоду перед великим оновленням системи (зазвичай у непікові години) +* **Циклічне**: резервне копіювання в днях, тижнях, місяцях тощо !!! tip "Порада" @@ -90,16 +90,18 @@ title: Резервне копіювання і відновлення Залежно від доступних утиліт, можливо виконати декілька типів відновлення. -* **Повне відновлення**: дерева, ... -* **Вибіркове відновлення**: частина дерева, файли, ... +У деяких системах керування реляційними базами даних відповідні операції «відновити» (іноді «відновлення» використовується в документації) і «відновити» відрізняються. Для отримання додаткової інформації зверніться до офіційної документації. Цей основний документ не буде вдаватися в надто багато деталей щодо цієї частини RDBMS. -Можна відновити всю резервну копію, але також можна відновити лише її частину. Однак під час відновлення каталогу файли, створені після резервного копіювання, не видаляються. +* **Повне відновлення**: відновлення даних на основі повного резервного копіювання або «Повного резервного копіювання + інкрементного резервного копіювання» або «Повного резервного копіювання + диференціального резервного копіювання». +* **Вибіркове відновлення**: відновлення даних на основі вибіркового резервного копіювання (часткове резервне копіювання). -!!! tip "Порада" +Ми не рекомендуємо безпосередньо видаляти каталоги або файли в поточній активній операційній системі перед виконанням операції відновлення (якщо ви не знаєте, що станеться після видалення). Якщо ви не знаєте, що станеться, ви можете виконати операцію «миттєвий знімок» поточної операційної системи. - Щоб відновити каталог, яким він був на момент створення резервної копії, необхідно повністю видалити його вміст перед початком відновлення. +!!! Tip "Порада" -### Інструменти + З міркувань безпеки рекомендується зберігати відновлений каталог або файл у каталозі /tmp перед виконанням операції відновлення, щоб уникнути ситуацій, коли старі файли (старий каталог) перезаписують нові файли (новий каталог). + +### Інструменти та відповідні технології Існує багато утиліт для створення резервних копій. @@ -107,7 +109,7 @@ title: Резервне копіювання і відновлення * **графічні інструменти**; * **інструменти командного рядка**: `tar`, `cpio`, `pax`, `dd`, `dump`, ... -Команди, які ми тут використаємо, це `tar` і `cpio`. +Команди, які ми тут використаємо, це `tar` і `cpio`. Якщо ви хочете дізнатися про інструмент `damp`, перегляньте [цей документ](../../guides/backup/dump_restore.md). * `tar`: @@ -119,15 +121,17 @@ title: Резервне копіювання і відновлення 1. зберігає власників; 2. зберігає групи, дати та права; 3. пропускає пошкоджені файли; - 4. вся файлова система. + 4. можна використовувати для всієї файлової системи. !!! Note "Примітка" Ці команди зберігають у власному стандартизованому форматі. +**Реплікація**: технологія резервного копіювання, яка копіює набір даних з одного джерела даних до іншого або кількох джерел даних, головним чином розділених на **Синхронну реплікацію** та **Асинхронну реплікацію**. Це розширена частина резервного копіювання для системних адміністраторів-початківців, тому в цьому базовому документі не буде докладно описувати цей вміст. + ### Правила іменування -Використання угоди про іменування дозволяє швидко визначити вміст файлу резервної копії та таким чином уникнути небезпечних відновлення. +Використання угоди про найменування дозволяє швидко визначити вміст файлу резервної копії та таким чином уникнути небезпечних відновлення. * назва довідника; * використана утиліта; @@ -140,29 +144,23 @@ title: Резервне копіювання і відновлення !!! Note "Примітка" - Поняття розширення в Linux не існує. Іншими словами, ми використовуємо розширення тут для людини-оператора. Якщо системний адміністратор бачить, наприклад, розширення файлу `.tar.gz` або `.tgz`, то він знає, як поводитися з файлом. + У світі Linux більшість файлів не мають розширення, за винятком кількох винятків у середовищах GUI (таких як .jpg, .mp4, .gif). Іншими словами, більшість розширень файлів не потрібні. Причиною штучного додавання суфіксів є полегшення розпізнавання людьми. Якщо системний адміністратор бачить, наприклад, розширення файлу `.tar.gz` або `.tgz`, то він знає, як поводитися з файлом. ### Вміст резервної копії Резервна копія зазвичай містить такі елементи: -* файл; -* ім'я; -* власник; -* розмір; -* дозволи; -* дата доступу. - -!!! Note "Примітка" - - Номер `inode` відсутній. +* ім'я файлу (включаючи додані вручну суфікси); +* резервне копіювання atime, ctime, mtime, btime (ctime) самого файлу; +* розмір самого файлу резервної копії; +* властивості або характеристики файлів або каталогів у файлі резервної копії будуть частково збережені. Наприклад, mtime для файлів або каталогів буде збережено, але номер `inode` не буде збережено. ### Режими зберігання -Існує два різних режими зберігання: +Існує два різних способи зберігання: -* файл на диску; -* пристрій. +* Внутрішній: зберігати резервні файли на поточному робочому диску. +* Зовнішні: зберігайте файли резервних копій на зовнішніх пристроях. Зовнішніми пристроями можуть бути USB-накопичувачі, компакт-диски, диски, сервери або NAS тощо. ## Tape ArchiveR - `tar` @@ -170,7 +168,7 @@ title: Резервне копіювання і відновлення Є можливість розпакувати всю або частину резервної копії. -`tar` неявно виконує резервне копіювання у відносному режимі, навіть якщо шлях до інформації для резервного копіювання вказано в абсолютному режимі. Проте резервне копіювання та відновлення в абсолютному режимі можливі. +`tar` неявно виконує резервне копіювання у відносному режимі, навіть якщо шлях до інформації для резервного копіювання вказано в абсолютному режимі. Проте резервне копіювання та відновлення в абсолютному режимі можливі. Якщо ви хочете побачити окремий приклад використання `tar`, зверніться до [цього документа](../../guides/backup/tar.md). ### Інструкції з відновлення @@ -190,7 +188,7 @@ title: Резервне копіювання і відновлення Стандартною утилітою для створення резервних копій у системах UNIX є команда `tar`. Ці резервні копії можна стискати за допомогою `bzip2`, `xz`, `lzip`, `lzma`, `lzop`, `gzip`, `compress` або `zstd`. -`tar` дозволяє видобувати один файл або каталог із резервної копії, переглядати його вміст або перевіряти його цілісність. +`tar` дозволяє витягувати один файл або каталог із резервної копії, переглядати його вміст або перевіряти його цілісність. #### Оцінка розміру резервної копії @@ -211,7 +209,7 @@ $ tar cjf - /directory/to/backup/ | wc -c #### Правила іменування резервної копії `tar` -Ось приклад іменування резервної копії `tar`, знаючи, що до назви потрібно додати дату. +Ось приклад іменування резервної копії `tar`, знаючи, що дата буде додана до назви. | опції | Файли | Суфікс | Функціональність | | ------- | ------- | ---------------- | ---------------------------------------------- | @@ -247,7 +245,7 @@ tar c[vf] [device] [file(s)] !!! tip "Порада" - Дефіс (`-`) перед клавішами `tar` не потрібен! + Дефіс (`-`) перед `tar` не потрібен! ##### Створення резервної копії в абсолютному режимі @@ -289,11 +287,11 @@ tar cvzf backup.tar.gz dirname/ !!! Note "Примітка" - Збереження опцій `cvf` (`tvf` або `xvf`) незмінними для всіх операцій резервного копіювання та просте додавання опції стиснення в кінці робить команду легшою для розуміння (наприклад, `cvfz` або `cvfj` тощо). + Зберігання ключів `cvf` (`tvf` або `xvf`) незмінними для всіх операцій резервного копіювання та просте додавання ключа стиснення в кінці ключів робить команду легшою для розуміння (наприклад: `cvfz` або `cvfj`, та інші). -##### Створення стисненої резервної копії за допомогою `bzip` +##### Створення стисненої резервної копії за допомогою `bzip2` -Створення стисненої резервної копії за допомогою `bzip` виконується за допомогою опції `cvfj`: +Створення стисненої резервної копії за допомогою `bzip2` виконується за допомогою клавіш `cvfj`: ```bash tar cvfj backup.tar.bz2 dirname/ @@ -307,11 +305,11 @@ tar cvfj backup.tar.bz2 dirname/ Розширення `.tbz` і `.tb2` еквівалентні розширенням `.tar.bz2`. -##### Стиснення `compress`, `gzip`, `bzip2`, `lzip` і `xz` +##### Порівняння ефективності стиснення -Стиснення та, як наслідок, декомпресія впливатимуть на споживання ресурсів (час і використання ЦП). +Стиснення та, як наслідок, розпакування впливатимуть на споживання ресурсів (час і використання ЦП). -Ось рейтинг стиснення набору текстових файлів від найменшого до найефективнішого: +Ось рейтинг стиснення набору текстових файлів від найменшого до найбільш ефективного: * compress (`.tar.Z`) * gzip (`.tar.gz`) @@ -339,10 +337,10 @@ tar {r|A}[key(s)] [device] [file(s)] tar rvf backup_name.tar dirtoadd ``` -| Параметр | Опис | -| -------- | --------------------------------------------------------------------------------------------------------- | -| `r` | Додає один або кілька файлів наприкінці резервної копії носія з прямим доступом (жорсткий диск). | -| `A` | Додає один або кілька файлів наприкінці резервного копіювання на носій із послідовним доступом (стрічка). | +| Параметр | Опис | +| -------- | ------------------------------------------------------- | +| `r` | Додає файли або каталоги в кінець архіву. | +| `A` | Додає всі файли в одному архіві в кінець іншого архіву. | !!! Note "Примітка" @@ -380,7 +378,7 @@ tar tvfz backup.tar.gz tar tvfj backup.tar.bz2 ``` -Коли кількість файлів у резервній копії стає великою, можна *передати* результат команди `tar` на *pager* (` більше`, `менше`, `більшість` тощо): +Коли кількість файлів у резервній копії збільшується, ви можете використовувати символи вертикальної лінії (`|`) і деякі команди (`менше`, `більше`, ` most` та інші), щоб досягти ефекту перегляду сторінок: ```bash tar tvf backup.tar | less @@ -388,11 +386,11 @@ tar tvf backup.tar | less !!! Tip "Підказка" - Щоб отримати список або отримати вміст резервної копії, немає необхідності згадувати алгоритм стиснення, який використовувався під час створення резервної копії. Тобто `tar tvf` еквівалентний `tar tvfj` для читання вмісту, а `tar xvf` еквівалентний `tar xvfj` для вилучення. + Щоб отримати список або отримати вміст резервної копії, немає необхідності згадувати алгоритм стиснення, який використовувався під час створення резервної копії. Тобто `tar tvf` еквівалентний `tar tvfj` для читання вмісту, а `tar xvf` еквівалентний `tar xvfj` для вилучення. Тип або алгоритм стиснення **треба** вибирати лише під час створення стисненої резервної копії. !!! Tip "Підказка" - Завжди перевіряйте вміст резервної копії. + Завжди перевіряйте та переглядайте вміст файлу резервної копії перед виконанням операції відновлення. #### Перевірка цілісності резервної копії @@ -434,7 +432,7 @@ Verify 1/file2 Verify 1/file3 ``` -Перевірку за допомогою опції `W` неможливо виконати зі стисненим архівом. Потрібно використовувати опцію ++d++: +Перевірку за допомогою опції `W` неможливо виконати зі стисненим архівом. Замість цього ви повинні використовувати клавішу `d`. ```bash tar dfz file_name.tgz @@ -465,13 +463,13 @@ tar xvfP /backups/etc.133.P.tar !!! Warning "Увага" - Перейдіть в потрібне місце. + З міркувань безпеки ви повинні бути обережними під час видобування файлів резервних копій, збережених в абсолютному режимі. - Перевірте вміст резервної копії. + Знову ж таки, перед виконанням операцій видобування завжди слід перевіряти вміст файлів резервних копій (особливо тих, що зберігаються в абсолютному режимі). | Параметр | Опис | | -------- | ------------------------------------------------ | -| `x` | Витягує файли з резервної копії, стиснуті чи ні. | +| `x` | Витягує файли з резервних копій (стиснуті чи ні) | Видобування резервної копії *tar-gzip* (`*.tar.gz`) виконується за допомогою опції `xvfz`: @@ -544,7 +542,7 @@ tar xvf backup.tar --wildcards '*.conf' Є можливість розпакувати всю або частину резервної копії. -Немає можливості, на відміну від команди `tar`, для резервного копіювання та стиснення одночасно. Отже, це робиться в два етапи: резервне копіювання та стиснення. +На відміну від команди `tar`, тут немає параметрів резервного копіювання та стиснення одночасно. Отже, це робиться в два етапи: резервне копіювання та стиснення. Щоб виконати резервне копіювання за допомогою `cpio`, вам потрібно вказати список файлів для резервного копіювання. @@ -600,7 +598,7 @@ find /etc | cpio -ovF /backups/etc.cpio find /etc | cpio -ov > /dev/rmt0 ``` -Призначенням може бути наступне: +Носії можуть бути декількох видів: * стрічковий накопичувач: `/dev/rmt0`; * розділ: `/dev/sda5`, `/dev/hda5` тощо. From d30e0a98a00ac742669877db5a2e23f1cc3e0b4f Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:24:43 -0500 Subject: [PATCH 13/45] New translations 00-toc.md (Ukrainian) --- docs/books/web_services/00-toc.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/books/web_services/00-toc.uk.md b/docs/books/web_services/00-toc.uk.md index 2b4c4355f..452e14a4b 100644 --- a/docs/books/web_services/00-toc.uk.md +++ b/docs/books/web_services/00-toc.uk.md @@ -9,7 +9,7 @@ tags: -Rocky Linux є частиною сімейства Enterprise Linux, що робить його особливо придатним для розміщення таких веб-служб, як файлові сервери (FTP, sFTP), веб-сервери (apache, nginx), сервери додатків (PHP, Python), сервери баз даних (MariaDB, Mysql, PostgreSQL) або більш специфічні служби, такі як балансування навантаження, кешування, проксі або зворотний проксі (HAProxy, Varnish, Squid). +Rocky Linux є частиною сімейства Enterprise Linux, що робить його особливо придатним для розміщення таких веб-служб, як файлові сервери (FTP, sFTP), веб-сервери (apache, nginx), сервери додатків (PHP, Python), сервери баз даних (MariaDB, MySQL, PostgreSQL) або більш специфічні служби, такі як балансування навантаження, кешування, проксі або зворотний проксі (HAProxy, Varnish, Squid). Інтернет не був би таким, яким він є, без електронної пошти. Веб-сервіси зазвичай широко використовують поштові сервери (Postfix). From 2fd4c52048c33220feef976cc4d5832d8f2a5832 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:25:14 -0500 Subject: [PATCH 14/45] New translations 052-load-balancer-proxies-varnish.md (Ukrainian) --- .../web_services/052-load-balancer-proxies-varnish.uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/books/web_services/052-load-balancer-proxies-varnish.uk.md b/docs/books/web_services/052-load-balancer-proxies-varnish.uk.md index 826a27c76..1f67fe8e6 100644 --- a/docs/books/web_services/052-load-balancer-proxies-varnish.uk.md +++ b/docs/books/web_services/052-load-balancer-proxies-varnish.uk.md @@ -492,7 +492,7 @@ varnishadm varnish> ban req.url ~ ".css$" 200 -varnish> ban req.http.host == www.example.com +varnish> ban req.http.host == example.com 200 varnish> ban req.http.host ~ . @@ -502,7 +502,7 @@ varnish> ban req.http.host ~ . через запит HTTP PURGE: ```bash -curl -X PURGE http://www.example.org/foo.txt +curl -X PURGE http://example.org/foo.txt ``` Налаштування Varnish для прийняття цього запиту виконується за допомогою: From 11b2623673cbccc854f96a770cc68e4be811cbd2 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:25:16 -0500 Subject: [PATCH 15/45] New translations 053-load-balancer-proxies-squid.md (Ukrainian) --- .../web_services/053-load-balancer-proxies-squid.uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/books/web_services/053-load-balancer-proxies-squid.uk.md b/docs/books/web_services/053-load-balancer-proxies-squid.uk.md index aedb2259a..94f910550 100644 --- a/docs/books/web_services/053-load-balancer-proxies-squid.uk.md +++ b/docs/books/web_services/053-load-balancer-proxies-squid.uk.md @@ -539,12 +539,12 @@ sudo dnf clean all sudo dnf update ``` -Переконайтеся на своєму терміналі, що підключення `dnf` використовує ваш проксі для завантаження свого оновлення: +Переконайтеся на своєму терміналі, що підключення `dnf` використовує ваш проксі для завантаження свого оновлення. Зауважте, що «URL-адресу сховища» у наступному рядку буде замінено фактичною URL-адресою дзеркала: ```bash -1723793986.725 20 192.168.1.10 TCP_MISS/200 5238 GET http://rocky.reloumirrors.net/9.4/extras/x86_64/os/repodata/7d78a729-8e9a-4066-96d4-ab8ed8f06ee8-FILELISTS.xml.gz - HIER_DIRECT/193.106.119.144 application/x-gzip +1723793986.725 20 192.168.1.10 TCP_MISS/200 5238 GET "URL of repository"/9.4/extras/x86_64/os/repodata/7d78a729-8e9a-4066-96d4-ab8ed8f06ee8-FILELISTS.xml.gz - HIER_DIRECT/193.106.119.144 application/x-gzip ... -1723794176.255 1 192.168.1.10 TCP_HIT/200 655447 GET http://miroir.univ-lorraine.fr/rocky/9.4/AppStream/x86_64/os/repodata/1af312c9-7139-43ed-8761-90ba3cd55461-UPDATEINFO.xml.gz - HIER_NONE/- application/x-gzip +1723794176.255 1 192.168.1.10 TCP_HIT/200 655447 GET "URL of repository"/9.4/AppStream/x86_64/os/repodata/1af312c9-7139-43ed-8761-90ba3cd55461-UPDATEINFO.xml.gz - HIER_NONE/- application/x-gzip ``` У цьому прикладі ви можете побачити одне з’єднання з TCP_MISS (немає в кеші), а інше — з TCP_HIT (використовуйте кеш для відповіді клієнту). From 1f9c7bbef09d76afc29f2b68bd4ae531d6901cd2 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 08:25:59 -0500 Subject: [PATCH 16/45] New translations 08-snapshots.md (Ukrainian) --- docs/books/incus_server/08-snapshots.uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/books/incus_server/08-snapshots.uk.md b/docs/books/incus_server/08-snapshots.uk.md index c1834b56b..8dcb13ea7 100644 --- a/docs/books/incus_server/08-snapshots.uk.md +++ b/docs/books/incus_server/08-snapshots.uk.md @@ -22,7 +22,7 @@ tags: Ми почнемо з отримання снепшот контейнера ubuntu-test за допомогою цієї команди: ```bash -incus snapshot ubuntu-test ubuntu-test-1 +incus snapshot create ubuntu-test ubuntu-test-1 ``` Тут ви називаєте знімок "ubuntu-test-1", але ви можете називати його як завгодно. Щоб переконатися, що у вас є знімок, виконайте `incus info` контейнера: @@ -63,7 +63,7 @@ incus stop ubuntu-test Потім відновіть його: ```bash -incus restore ubuntu-test ubuntu-test-1 +incus snapshot restore ubuntu-test ubuntu-test-1 ``` Потім знову запустіть контейнер: @@ -77,7 +77,7 @@ incus start ubuntu-test Якщо знімок більше не потрібен, його можна видалити: ```bash -incus delete ubuntu-test/ubuntu-test-1 +incus snapshot delete ubuntu-test ubuntu-test-1 ``` !!! warning "Важливо" From b8227b3e6b48996be95603abadfc8b862b484692 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 12:56:28 -0500 Subject: [PATCH 17/45] New translations rockydocs_webdev_v2.md (Italian) --- docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md index 039602108..67cc17517 100644 --- a/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md +++ b/docs/guides/contribute/localdocs/rockydocs_webdev_v2.it.md @@ -14,7 +14,7 @@ Questo documento spiega come ricreare ed eseguire una copia locale dell'intero s ## Creare l'ambiente del contenuti -1. Assicuratevi che i prerequisiti siano soddisfatti. In caso contrario, passare alla sezione "[Impostazione dei prerequisiti](#impostazione-dei-prerequisiti)" e poi tornare qui. +1. Assicuratevi che i prerequisiti siano soddisfatti. In caso contrario, passare alla sezione "[Impostazione dei prerequisiti](#impostazione-dei-prerequisiti)" e poi ritornare qui. 2. Passare dalla directory di lavoro corrente del sistema locale alla cartella in cui si intende effettuare le operazioni di scrittura. Nel resto di questa guida ci riferiremo a questa directory come `$ROCKYDOCS`. Per la nostra dimostrazione, `$ROCKYDOCS` punta a `$HOME/projects/rockydocs` sul nostro sistema demo. From ae8c14e48ae0d63cf60d3f49f932c8a29d46bb79 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Tue, 7 Jan 2025 19:18:05 -0500 Subject: [PATCH 18/45] New translations 09-backups.md (French) --- docs/books/admin_guide/09-backups.fr.md | 233 ++++++++++++------------ 1 file changed, 116 insertions(+), 117 deletions(-) diff --git a/docs/books/admin_guide/09-backups.fr.md b/docs/books/admin_guide/09-backups.fr.md index 18736037a..9627c8558 100644 --- a/docs/books/admin_guide/09-backups.fr.md +++ b/docs/books/admin_guide/09-backups.fr.md @@ -25,9 +25,9 @@ Dans ce chapitre, vous apprendrez comment sauvegarder et restaurer vos données !!! note "Remarque" - Tout au long de ce chapitre les commandes utilisent le terme "device" - unité péripherique - pour spécifier à la fois la cible pour la sauvegarde et la source lors de la restauration. Le périphérique - device - peut indiquer soit un média externe, soit un fichier local. Vous pouvez toujours vous référer à cette note pour plus de précisions si besoin est. + Tout au long de ce chapitre les commandes utilisent le terme `device` – unité péripherique – pour spécifier à la fois la cible pour la sauvegarde et la source lors de la restauration. Le périphérique - device - peut indiquer soit un média externe, soit un fichier local. Vous pouvez toujours vous référer à cette note pour plus de précisions si besoin est. -La sauvegarde répondra à la nécessité de conserver et de restaurer les données de manière sûre et efficace. +La sauvegarde répond à la nécessité de conserver et de restaurer les données de manière sûre et efficace. La sauvegarde vous permet de vous protéger des événements suivants : @@ -43,7 +43,7 @@ En outre, l'administrateur doit vérifier régulièrement que les médias sont t ## Généralités -Il y a deux principes, la **sauvegarde** et l'**archivage**. +Il existe deux principes, la **sauvegarde** et l'**archivage**. * L'archivage détruit la source d'information après l'opération. * La sauvegarde conserve la source des informations après l'opération. @@ -52,7 +52,7 @@ Ces opérations consistent à enregistrer des informations dans un fichier, sur ### Le processus -Les sauvegardes nécessitent beaucoup de discipline et de rigueur de la part de l'administrateur système. Il est nécessaire de se poser les questions suivantes : +Les sauvegardes nécessitent beaucoup de discipline et de rigueur de la part de l'administrateur système. Les administrateurs système doivent prendre en compte les points suivants avant d’effectuer des opérations de sauvegarde : * Quel est le média approprié ? * Qu'est-ce qui doit être sauvegardé ? @@ -63,37 +63,45 @@ Les sauvegardes nécessitent beaucoup de discipline et de rigueur de la part de * Processus automatique ou manuel ? * Où stocker la sauvegarde ? * Combien de temps sera-t-elle conservée ? +* Quelles sont les considérations de coût à prendre en compte ? + +Outre ces considérations, les administrateurs système doivent également prendre en compte des facteurs tels que le coût, les performances, l’importance des données, la consommation de bande passante et la complexité de la maintenance en fonction des situations réelles. ### Méthodes de sauvegarde -* **Sauvegarde complète** : un ou plusieurs **systèmes de fichiers** sont sauvegardés (noyau, données, utilitaires, ...). -* **Partielle** : un ou plusieurs **fichiers** sont sauvegardés (configurations, répertoires, ...). -* **Différentielle** : seuls les fichiers modifiés depuis la dernière **sauvegarde complète** sont sauvegardés. -* **Incrémentale** : seuls les fichiers modifiés depuis la dernière sauvegarde sont sauvegardés. +* **Sauvegarde complète** : fait référence à une copie unique de tous les fichiers, dossiers ou données du disque dur ou de la base de données. +* **Sauvegarde incrémentielle** : fait référence à la sauvegarde des données mises à jour après la dernière sauvegarde complète ou incrémentielle. +* **Sauvegarde différentielle** : fait référence à la sauvegarde des fichiers modifiés après la sauvegarde complète. +* **Sauvegarde sélective (sauvegarde partielle)** : fait référence à la sauvegarde d'une partie du système. +* **Sauvegarde à froid** : fait référence à la sauvegarde lorsque le système est en état d'arrêt ou de maintenance. Les données sauvegardées sont exactement les mêmes que celles du système durant cette période. +* **Sauvegarde à chaud** : fait référence à la sauvegarde lorsque le système est en fonctionnement normal. Comme les données du système sont mises à jour à tout moment, les données sauvegardées ont un certain retard par rapport aux données réelles du système. +* **Sauvegarde à distance** : fait référence à la sauvegarde des données dans un autre emplacement géographique pour éviter la perte de données et l'interruption de service causée par un incendie, une catastrophe naturelle, un vol, etc. -### Périodicité +### Fréquence des sauvegardes -* **Pré-actuel** : à un moment donné (avant une mise à jour du système, ...). -* **Périodique** : quotidien, hebdomadaire, mensuel, ... +* **Périodique** : sauvegarde dans un délai spécifique avant une mise à jour majeure du système (généralement pendant les heures creuses) +* **Cyclique** : quotidien, hebdomadaire, mensuel, ... !!! tip "Astuce" - Avant la modification d'un système, il est souvent utile de lancer une sauvegarde. Cependant, il ne sert à rien de sauvegarder chaque jour des données qui ne sont modifiées que chaque mois. + Avant la modification d'un système, il est souvent utile de lancer une sauvegarde. Cependant, il est inutile de sauvegarder quotidiennement des données qui ne changent que tous les mois. + +### Méthodes de Restauration -### Méthodes de restauration +Selon les utilitaires disponibles, il sera possible de réaliser plusieurs types de restaurations. -Selon les utilitaires disponibles, il sera possible d'effectuer plusieurs types de restauration. +Dans certains systèmes de gestion de bases de données relationnelles, les opérations correspondantes de `recover` (parfois `recovery` est utilisée dans la documentation) et de `restore` sont différentes, ce qui nécessite de consulter la documentation officielle pour plus d'informations. Ce document de base n'entrera pas trop dans les détails sur cette partie du `SGBDR`. -* **Restauration complète**: arborescences, ... -* **Restauration sélective** : partie de l'arborescence, fichiers, ... +* **Récupération complète** : Récupération de données basée sur une sauvegarde complète ou « Sauvegarde complète + Sauvegarde incrémentielle » ou « Sauvegarde complète + Sauvegarde différentielle ». +* **Récupération sélective** : Récupération de données basée sur une sauvegarde sélective (sauvegarde partielle). -Il est possible de restaurer une sauvegarde complète, mais il est également possible de ne restaurer qu'une partie de celle-ci. Cependant, lors de la restauration d'un répertoire, les fichiers créés après la sauvegarde ne sont pas supprimés. +Il n'est pas recommandé de supprimer directement les répertoires ou les fichiers du système d'exploitation actuellement actif avant d'effectuer une opération de récupération (à moins que vous ne sachiez ce qui se passera après la suppression). Si vous ne savez pas ce qui va se passer, vous pouvez effectuer une opération « snapshot » sur le système d'exploitation actuel. !!! tip "Astuce" - Afin de restaurer un répertoire tel qu'il était au moment de la sauvegarde, il est nécessaire de supprimer complètement son contenu avant de lancer la restauration. + Pour des raisons de sécurité, il est recommandé de stocker le répertoire ou le fichier restauré dans le répertoire /tmp avant d'effectuer l'opération de récupération afin d'éviter les situations où les anciens fichiers (ancien répertoire) écrasent les nouveaux fichiers (nouveau répertoire). -### Les outils +### Les outils et technologies associées Il existe de nombreux utilitaires pour faire des sauvegardes. @@ -101,7 +109,7 @@ Il existe de nombreux utilitaires pour faire des sauvegardes. * **outils graphiques** ; * **outils en ligne de commande** : `tar`, `cpio`, `pax`, `dd`, `dump`, ... -Les commandes que nous allons utiliser ici sont `tar` et `cpio`. +Les commandes que nous utiliserons ici sont `tar` et `cpio`. Si vous souhaitez en savoir plus sur l'outil `dump`, veuillez vous référer à [ce document](../../guides/backup/dump_restore.md). * `tar` : @@ -113,15 +121,17 @@ Les commandes que nous allons utiliser ici sont `tar` et `cpio`. 1. conserve les propriétaires - owner - ; 2. préserve les groupes, dates et privilèges ; 3. ignore les fichiers endommagés ; - 4. système de fichiers complet. + 4. peut être utilisé pour l'ensemble du système de fichiers. !!! note "Remarque" Ces commandes enregistrent les données en utilisant un format propriétaire et standardisé. +**Réplication** : une technologie de sauvegarde qui copie un ensemble de données d'une source de données vers une autre ou plusieurs sources de données, principalement divisée en **Réplication synchrone** et **Réplication asynchrone**. Pour les administrateurs système novices, il s'agit d'une partie avancée de la sauvegarde, donc ce document de base ne développera pas ce thème. + ### Convention de nommage -L'utilisation d'une convention de nommage permet de cibler rapidement le contenu d'un fichier de sauvegarde et d'éviter ainsi des restaurations dangereuses. +L'utilisation d'une convention de nommage permet de cibler rapidement le contenu d'un fichier de sauvegarde et ainsi d'éviter des restaurations risquées. * nom du répertoire ; * utilitaire utilisé ; @@ -134,31 +144,23 @@ L'utilisation d'une convention de nommage permet de cibler rapidement le contenu !!! note "Note" - La notion d'extension de fichier est inexistante sous Linux. En d'autres termes, l'utilisation des extensions ici est destinée à l'opérateur humain. Les extensions .tar.gz or .tgz par exemple, seront des indications pour le traitement des fichiers par l'administrateur du système. - - -### Contenu d'une sauvegarde + Dans le monde Linux, hormis quelques exceptions dans les environnements GUI (telles que .jpg, .mp4, .gif), la plupart des fichiers n'ont pas le concept d'extension. En d’autres termes, la plupart des extensions de fichiers ne sont pas nécessaires. La raison de l'ajout artificiel de suffixes est de faciliter la reconnaissance par les utilisateurs humains. Si l'administrateur système voit une extension de fichier `.tar.gz` ou `.tgz`, par exemple, il sait alors comment traiter le fichier. -Une sauvegarde contient généralement les éléments suivants : +### Propriétés du fichier de sauvegarde -* le fichier ; -* le nom ; -* le propriétaire ; -* la taille ; -* les permissions ; -* date d'accès. +Un seul fichier de sauvegarde peut inclure les propriétés suivantes : -!!! Note +* nom de fichier (y compris les suffixes ajoutés manuellement) ; +* sauvegarder l'`atime`, le `ctime`, le `mtime`, le `btime` (`crtime`) du fichier lui-même ; +* taille du fichier de sauvegarde lui-même ; +* les propriétés ou caractéristiques des fichiers ou répertoires dans le fichier de sauvegarde seront partiellement préservées. Par exemple, le `mtime` des fichiers ou des répertoires sera conservé, mais le numéro `inode` ne sera pas retenu. - Le numéro inode est manquant. - - -### Modes de stockage +### Modes de Stockage -Il y a deux modes de stockage différents : +Il existe deux modes de stockage différents : -* fichier sur disque ; -* périphérique. +* Interne : stocker les fichiers de sauvegarde sur le disque actuel. +* Externe : stocker les fichiers de sauvegarde sur des périphériques externes. Les périphériques externes en question peuvent être des clés USB, des CD, des disques, des serveurs ou des NAS, etc. ## Tape ArchiveR - `tar` @@ -166,11 +168,11 @@ La commande `tar` permet d'enregistrer sur plusieurs supports successifs (option Il est possible d'extraire tout ou une partie d'une sauvegarde. -`tar` sauvegarde implicitement en mode relatif même si le chemin des informations à sauvegarder est mentionné en mode absolu. Cependant, les sauvegardes et les restaurations en mode absolu sont possibles. +`tar` sauvegarde implicitement en mode relatif même si le chemin des informations à sauvegarder est mentionné en mode absolu. Cependant, les sauvegardes et les restaurations en mode absolu sont également possibles. Si vous souhaitez voir un exemple distinct de l'utilisation de `tar`, veuillez vous référer à [ce document](../../guides/backup/tar.md). ### Règles de restauration -Les bonnes questions à poser sont donc : +Les bonnes questions à poser sont donc les suivantes : * quoi ? partiel ou complet ; * où ? l'endroit où les données seront restaurées ; @@ -186,7 +188,7 @@ Les restaurations sont généralement effectuées après un problème qui doit L'utilitaire par défaut pour créer des sauvegardes sur les systèmes UNIX est la commande `tar`. Ces sauvegardes peuvent être compressées par `bzip2`, `xz`, `lzip`, `lzma`, `lzop`, `gzip`, `compress` ou `zstd`. -`tar` vous permet d'extraire un seul fichier ou un répertoire d'une sauvegarde, de voir son contenu ou de valider son intégrité. +`tar` vous permet d'extraire un seul fichier ou un répertoire d'une sauvegarde, d'afficher son contenu ou de valider son intégrité. #### Estimer la taille d'une sauvegarde @@ -203,12 +205,11 @@ $ tar cjf - /directory/to/backup/ | wc -c !!! warning "Avertissement" - Attention, la présence de "-" dans la ligne de commande perturbe `zsh`. Passer à bash ! - + Attention, la présence de "-" dans la ligne de commande perturbe `zsh`. Passer à `bash` ! #### Convention de nommage pour une sauvegarde avec `tar` -Voici un exemple de convention de nommage pour une sauvegarde `tar` , sachant que la date doit être ajoutée au nom. +Voici un exemple de convention de nommage pour une sauvegarde `tar`, sachant que la date sera ajoutée au nom. | option | Fichiers | Suffixe | Fonctionnalité | | ------- | -------- | ---------------- | --------------------------------------------- | @@ -216,18 +217,18 @@ Voici un exemple de convention de nommage pour une sauvegarde `tar` , sachant qu | `cvfP` | `/etc` | `etc.A.tar` | `/etc` en mode absolu, pas de compression | | `cvfz` | `usr` | `usr.tar.gz` | `/usr` en mode relatif, compression *gzip* | | `cvfj` | `usr` | `fr.tar.bz2` | `/usr` en mode relatif, compression *bzip2* | -| `cvfPz` | `/home` | `home.A.tar.gz` | `home` en mode absolu, compression *gzip* | -| `cvfPj` | `/home` | `home.A.tar.bz2` | `home` en mode absolu, compression *bzip2* | +| `cvfPz` | `/home` | `home.A.tar.gz` | `/home` en mode absolu, compression *gzip* | +| `cvfPj` | `/home` | `home.A.tar.bz2` | `/home` en mode absolu, compression *bzip2* | | … | | | | #### Créer une sauvegarde ##### Créer une sauvegarde en mode relatif -La création d'une sauvegarde non compressée en mode relatif est faite avec les paramètres `cvf` : +La création d'une sauvegarde non compressée en mode relatif est faite avec les options `cvf` : ```bash -tar c[vf] [device] [fichier(s)] +tar c[vf] [device] [file(s)] ``` Exemple : @@ -242,13 +243,13 @@ Exemple : | `v` | Affiche le nom des fichiers traités. | | `f` | Vous permet de spécifier le nom de la sauvegarde (médium). | -!!! Tip +!!! tip "Astuce" Le tiret (`-`) devant les options de `tar` n'est pas nécessaire ! ##### Créer une sauvegarde en mode absolu -La création d'une sauvegarde non compressée explicitement en mode absolu est faite avec les paramètres `cvfP`: +La création d'une sauvegarde non compressée, explicitement en mode absolu, est faite avec les paramètres `cvfP` : ```bash tar c[vf]P [device] [file(s)] @@ -270,7 +271,7 @@ Exemple : ##### Création d'une sauvegarde compressée avec `gzip` -La création d'une sauvegarde compressée avec `gzip` est faite avec les paramètres `cvfz`: +La création d'une sauvegarde compressée avec `gzip` est faite avec les paramètres `cvfz` : ```bash tar cvzf backup.tar.gz dirname/ @@ -280,17 +281,17 @@ tar cvzf backup.tar.gz dirname/ | ------ | ------------------------------------ | | `z` | Compresse la sauvegarde vers *gzip*. | -!!! Note +!!! note "Remarque" L'extension `.tgz` est equivalente à `.tar.gz`. -!!! Note +!!! note "Remarque" - Sans modifier les options `cvf` (`tvf` ou `xvf`) pour les operations d'archivage et en ajoutant simplement l'option de compression en fin de liste, les commandes sont plus simples à comprendre (par exemple `cvfz` ou `cvfj`, etc.). + Conserver les options `cvf` (`tvf` ou `xvf`) inchangées pour toutes les opérations de sauvegarde et simplement ajouter l'option de compression à la fin des options rend la commande plus facile à comprendre (par exemple : `cvfz` ou `cvfj`, et autres). -##### Création d'une sauvegarde compressée avec `bzip` +##### Création d'une sauvegarde compressée avec `bzip2` -La création d'une sauvegarde compressée avec `bzip` est faite avec les paramètres `cvfj` : +La création d'une sauvegarde compressée avec `bzip2` est faite avec les paramètres `cvfj` : ```bash tar cvfj backup.tar.bz2 dirname/ @@ -300,15 +301,15 @@ tar cvfj backup.tar.bz2 dirname/ | ------ | ----------------------------------- | | `j` | Compresse la sauvegarde en *bzip2*. | -!!! Note +!!! note "Remarque" Les extensions `.tbz` and `.tb2` sont equivalentes aux extensions `.tar.bz2`. -##### Compression `compress`, `gzip`, `bzip2`, `lzip` et `xz` +##### Comparaison de l'efficacité de la compression -La compression et donc la décompression auront un impact sur la consommation des ressources (temps et utilisation du processeur). +La compression, et par conséquent la décompression, auront un impact sur la consommation des ressources (temps et utilisation du processeur). -Voici un classement de la compression d'un ensemble de fichiers texte, du moins à la plus efficace : +Voici un classement de la compression d'un ensemble de fichiers texte du moins au plus efficace : * compress (`.tar.Z`) * gzip (`.tar.gz`) @@ -324,24 +325,24 @@ Il est possible d'ajouter un ou plusieurs éléments à une sauvegarde existante tar {r|A}[key(s)] [device] [file(s)] ``` -Pour ajouter `/etc/passwd` à la sauvegarde `/backups/home.133.tar`: +Pour ajouter `/etc/passwd` à la sauvegarde `/backups/home.133.tar` : ```bash [root]# tar rvf /backups/home.133.tar /etc/passwd ``` -L'ajout d'un répertoire est similaire. Ici ajouter `dirtoadd` à `backup_name.tar`: +L'ajout d'un répertoire est similaire. Par exemple ajouter `dirtoadd` au fichier `backup_name.tar` : ```bash tar rvf backup_name.tar dirtoadd ``` -| Option | Observation | -| ------ | ---------------------------------------------------------------------------------------------------- | -| `r` | Ajoute un ou plusieurs fichiers à la fin d'une sauvegarde de média en accès direct (disque dur). | -| `A` | Ajoute un ou plusieurs fichiers à la fin d'une sauvegarde sur un support d'accès séquentiel (bande). | +| Option | Observation | +| ------ | --------------------------------------------------------------------- | +| `r` | Ajouter les fichiers ou les répertoires à la fin de l’archive. | +| `A` | Ajouter tous les fichiers d’une archive à la fin d’une autre archive. | -!!! Note +!!! note "Remarque" Il n'est pas possible d'ajouter des fichiers ou des répertoires à une sauvegarde comprimée. @@ -351,9 +352,9 @@ tar rvf backup_name.tar dirtoadd Try `tar --help' or `tar --usage' for more information. ``` -!!! Note +!!! note "Remarque " - Si la sauvegarde a étée crée en mode relatif, il faut ajouter des fichiers aussi en mode relatif. Si la sauvegarde a été faite en mode absolu, ajoutez des fichiers en mode absolu. + Si la sauvegarde a été créée en mode relatif, il faut ajouter des fichiers aussi en mode relatif. Si la sauvegarde a été effectuée en mode absolu, ajoutez des fichiers en mode absolu. Le mélange de modes (relatif, absolu) peuvent causer des problèmes lors de la restauration. @@ -377,7 +378,7 @@ tar tvfz backup.tar.gz tar tvfj backup.tar.bz2 ``` -Lorsque le nombre de fichiers dans une sauvegarde devient grand, il est possible de rediriger (*pipe*) le résultat de la commande `tar` vers un *pager* (`more`, `less`, `most`, etc.) : +Lorsque le nombre de fichiers dans la sauvegarde augmente, vous pouvez utiliser des caractères de barre verticale (`|`) et certaines commandes (`less`, `more`, `most` et autres) pour obtenir l'effet de l'affichage par pagination : ```bash tar tvf backup.tar | less @@ -385,12 +386,11 @@ tar tvf backup.tar | less !!! tip "Astuce" - Pour lister ou récupérer le contenu d'une sauvegarde, il n'est pas nécessaire de mentionner l'algorithme de compression utilisé lors de la création de la sauvegarde. C'est-à-dire la commande tar tvf est équivalente à tar tvfj pour lire le contenu et tar xvf à tar xvfj pour extraire. - + Pour lister ou récupérer le contenu d'une sauvegarde, il n'est pas nécessaire de mentionner l'algorithme de compression utilisé lors de la création de la sauvegarde. Autrement dit, un `tar tvf` est équivalent à `tar tvfj`, pour lire le contenu. Évidemment le type ou l'algorithme de compression **doit** être sélectionné uniquement lors de la création d'une sauvegarde compressée. !!! tip "Astuce" - Contrôler l'intégrité d'une sauvegarde. + Vous devez toujours vérifier et afficher le contenu du fichier de sauvegarde avant d’effectuer une opération de restauration. #### Contrôler l'intégrité d'une sauvegarde @@ -432,7 +432,7 @@ Verify 1/file2 Verify 1/file3 ``` -La vérification avec l'option `W` ne peut pas être effectuée avec une archive compressée. L'option ++d++ doit être utilisée : +La vérification avec l'option `W` ne peut pas être effectuée avec une archive compressée. Vous devez utiliser l'option `d` à la place. ```bash tar dfz file_name.tgz @@ -441,7 +441,7 @@ tar dfj file_name.tar.bz2 #### Extraire (*untar*) une sauvegarde -Extraire (*untar*) une sauvegarde `*.tar` se fait avec les options `xvf` : +Extraire (*untar*) une sauvegarde `*.tar` se fait avec les paramètres `xvf` : Extraire le fichier `etc/export` depuis la sauvegarde `/savings/etc.133.tar` vers le répertoire `etc` du répertoire actif : @@ -449,7 +449,7 @@ Extraire le fichier `etc/export` depuis la sauvegarde `/savings/etc.133.tar` ver tar xvf /backups/etc.133.tar etc/exports ``` -Extraire tous les fichiers de la sauvegarde compressée `/backups/home.133.tar.bz2` dans le répertoire actif : +Extraire tous les fichiers de la sauvegarde compressée `/backups/home.133.tar.bz2` vers le répertoire actif : ```bash [root]# tar xvfj /backups/home.133.tar.bz2 @@ -463,13 +463,13 @@ tar xvfP /backups/etc.133.P.tar !!! warning "Avertissement" - Allez au bon endroit. + Pour des raisons de sécurité, vous devez être prudent lors de l'extraction de fichiers de sauvegarde enregistrés en mode absolu. - Contrôler l'intégrité d'une sauvegarde. + Encore une fois, avant d'effectuer des opérations d'extraction, vous devez toujours vérifier le contenu des fichiers de sauvegarde (en particulier ceux enregistrés en mode absolu). -| Option | Observation | -| ------ | ---------------------------------------------------------- | -| `x` | Extraire les fichiers de la sauvegarde, compressée ou non. | +| Option | Observation | +| ------ | ---------------------------------------------------------------------------------- | +| `x` | Extraire des fichiers à partir de sauvegardes (qu'elles soient compressées ou non) | L'extraction d'une sauvegarde *tar-gzipped* (`*.tar.gz`) se fait avec les options `xvfz` : @@ -485,12 +485,11 @@ tar xvfj backup.tar.bz2 !!! tip "Astuce" - Pour extraire ou lister le contenu d'une sauvegarde, il n'est pas nécessaire de mentionner l'algorithme de compression qui a été utilisé pour créer la sauvegarde. C'est-à-dire, la commande tar xvf est equivalente à tar xvfj pour extraire le contenu et tar tvf respectivement à tar tvfj pour lister. - + Pour extraire ou lister le contenu d'une sauvegarde, il n'est pas nécessaire de mentionner l'algorithme de compression qui a été utilisé pour créer la sauvegarde. Autrement dit, la commande `tar xvf` est équivalente à `tar xvfj`, pour extraire le contenu, et `tar tvf` est équivalente à `tar tvfj`, pour lister. !!! warning "Avertissement" - Pour restaurer les fichiers dans leur dossier d'origine (option `P` de `tar xvf`), vous devez avoir généré la sauvegarde avec le chemin absolu. C'est-à-dire l'option P de la commande tar cvf. + Afin de restaurer les fichiers dans leur dossier d'origine (option `P` de `tar xvf`), vous devez avoir généré la sauvegarde avec le chemin absolu. C'est-à-dire l'option P de la commande tar cvf. ##### Extraire seulement un fichier d'une sauvegarde *tar* @@ -501,7 +500,7 @@ Pour extraire un fichier spécifique d'une sauvegarde *tar* indiquez le nom de c tar xvf backup.tar /path/to/file ``` -La commande précédente n'extrait que le fichier `/path/to/file` de la sauvegarde `backup.tar`. Ce fichier sera restauré dans le répertoire `/path/to/` créé ou déjà présent dans le répertoire actif. +La commande précédente extrait uniquement le fichier `/path/to/file` de la sauvegarde `backup.tar`. Ce fichier sera restauré dans le répertoire `/path/to/` créé pour l'occasion ou déjà présent dans le répertoire actif. ```bash tar xvfz backup.tar.gz /path/to/file @@ -516,7 +515,7 @@ Pour extraire d'une sauvegarde un seul répertoire (y compris ses sous-répertoi tar xvf backup.tar /path/to/dir/ ``` -Pour extraire plusieurs répertoires, spécifiez chacun des noms l'un après l'autre : +Pour extraire plusieurs dossiers, spécifiez chacun des noms l'un après l'autre : ```bash tar xvf backup.tar /path/to/dir1/ /path/to/dir2/ @@ -528,27 +527,27 @@ tar xvfj backup.tar.bz2 /path/to/dir1/ /path/to/dir2/ Spécifiez une expression régulière (*regex*) pour extraire les fichiers correspondant au modèle de sélection spécifié. -Par exemple, pour extraire tous les fichiers avec l'extension `.conf`: +Par exemple, pour extraire tous les fichiers avec l'extension `.conf` veuillez procéder comme suit : ```bash tar xvf backup.tar --wildcards '*.conf' ``` -clés : +Options : * **--wildcards *.conf** correspond aux fichiers avec l'extension `.conf`. ## *CoPy Input Output* - `cpio` -La commande `cpio` permet d'enregistrer sur plusieurs supports successifs sans spécifier d'options. +La commande `cpio` permet d'enregistrer sur plusieurs supports successifs sans spécifier aucune option. Il est possible d'extraire tout ou une partie d'une sauvegarde. -Il n'y a pas d'option, contrairement à la commande `tar` , de sauvegarder et de compresser en même temps. Donc, il se fait en deux étapes: la sauvegarde et la compression. +Il n'y a pas d'option, contrairement à la commande `tar`, pour sauvegarder et compresser en même temps. Donc, cela est effectué en deux étapes: la sauvegarde puis la compression. -Pour effectuer une sauvegarde avec `cpio`, vous devez spécifier une liste de fichiers à sauvegarder. +Pour effectuer une sauvegarde avec `cpio`, vous devez spécifier la liste de fichiers à sauvegarder. -Cette liste est fournie avec les commandes `find`, `ls` ou `cat`. +Cette liste peut être fournie avec les commandes `find`, `ls` ou `cat`. * `find` : parcourir un arbre, récursivement ou non ; * `ls` : liste un répertoire, récursivement ou non ; @@ -556,13 +555,13 @@ Cette liste est fournie avec les commandes `find`, `ls` ou `cat`. !!! note "Remarque" - `ls` ne peut pas être utilisé avec `-l` (détails) or `-R` (recursif). + `ls` ne peut pas être utilisé avec `-l` (détails) ni avec `-R` (récursive). Il faut une simple liste de noms. ### Créer une sauvegarde avec la commande `cpio` -Syntaxe de la commande `cpio`: +Syntaxe de la commande `cpio` : ```bash [files command |] cpio {-o| --create} [-options] [device] @@ -570,7 +569,7 @@ Syntaxe de la commande `cpio`: Exemple : -Avec une redirection de la sortie de `cpio`: +Avec une redirection de la sortie de `cpio` : ```bash find /etc | cpio -ov > /backups/etc.cpio @@ -582,9 +581,9 @@ Utilisation du nom d'un support de sauvegarde : find /etc | cpio -ovF /backups/etc.cpio ``` -Le résultat de la commande `find` est envoyé en entrée à la commande `cpio` via un *pipe* (character `|`, ++alt-graph+6++). +Le résultat de la commande `find` est envoyé en entrée à la commande `cpio` via un *pipe* (le caractère `|`, ++alt-graph+6++). -Ici, la commande `find /etc` renvoie une liste de fichiers correspondant au contenu du répertoire `/etc` (récursivement) à la commande `cpio` , qui effectue la sauvegarde. +Ici, la commande `find /etc` renvoie une liste de fichiers correspondant au contenu du répertoire `/etc` (de manière récursive) à la commande `cpio`, qui effectue la sauvegarde. N'oubliez pas le signe `>` lors de la sauvegarde ou le `F save_name_cpio`. @@ -622,14 +621,14 @@ find /etc | cpio -o > /backups/etc.A.cpio !!! warning "Avertissement" - Si le chemin spécifié dans la commande `find` est **absolu**, alors la sauvegarde sera effectuée en **absolu**. + Si le chemin spécifié dans la commande `find` est **absolu**, alors la sauvegarde sera effectuée en mode **absolu**. - Si le chemin indiqué dans la commande `find` est **relatif**, alors la sauvegarde sera faite en **relative**. + Si le chemin indiqué dans la commande `find` est **relatif**, alors la sauvegarde sera faite en mode **relatif**. ### Ajouter à une sauvegarde ```bash -[commande files |] cpio {-o| --create} -A [-options] [device} +[files command |] cpio {-o| --create} -A [-options] [device} ``` Exemple : @@ -638,7 +637,7 @@ Exemple : find /etc/shadow | cpio -o -AF SystemFiles.A.cpio ``` -L'ajout de fichiers n'est possible que sur les supports d'accès direct. +L'ajout de fichiers n'est possible que sur les supports à accès direct. | Option | Observation | | ------ | --------------------------------------------------------------- | @@ -662,11 +661,11 @@ $ ls /backups/etc.A.cpio* find /etc | cpio –o | gzip > /backups/etc.A.cpio.gz ``` -Il n'y a pas d'option, contrairement à la commande `tar`, pour sauvegarder et compresser en même temps. Il se fait donc en deux étapes : enregistrer et comprimer. +Il n'y a pas d'option, contrairement à la commande `tar`, pour sauvegarder et compresser simultanément. La sauvegarde se fait donc en deux étapes : enregistrer et comprimer. La syntaxe de la première méthode est plus facile à comprendre et à retenir, car elle se fait en deux étapes. -Pour la première méthode, le fichier de sauvegarde est automatiquement renommé par l'utilitaire `gzip` qui ajoute `.gz` à la fin du nom du fichier. De même, l'utilitaire `bzip2` ajoute automatiquement `.bz2`. +Pour la première méthode, le fichier de sauvegarde est automatiquement renommé par l'utilitaire `gzip` qui ajoute automatiquement `.gz` à la fin du nom du fichier. De même, l'utilitaire `bzip2` ajoute automatiquement le suffixe `.bz2`. ### Lire le contenu d'une sauvegarde @@ -737,7 +736,7 @@ cpio –iuvF home.A.cpio * Restaurer une sauvegarde absolue en mode relatif -L'option longue `no-absolute-filenames` permet une restauration en mode relatif. En effet, le `/` au début du chemin sera supprimé. +L'option longue `no-absolute-filenames` permet une restauration en mode relatif. En effet, la barre oblique `/` au début du chemin sera supprimée. ```bash cpio --no-absolute-filenames -divuF home.A.cpio @@ -755,7 +754,7 @@ cpio –iv tmp @@ -770,13 +769,13 @@ L'utilisation de la compression au moment d'une sauvegarde peut avoir un certain * Augmente le temps de sauvegarde ainsi que le temps de restauration. * Il rend impossible d'ajouter des fichiers à la sauvegarde. -!!! Note +!!! note "Remarque" Il est donc préférable de faire une sauvegarde et de la compresser plutôt que de comprimer lors de la sauvegarde. ### Compression avec `gzip` -La commande `gzip` comprime les données. +La commande `gzip` comprime des données. Syntaxe de la commande `gzip` : @@ -794,16 +793,16 @@ usr.tar.gz Le fichier obtient l'extension `.gz`. -Elle conserve les mêmes droits et les mêmes dates d'accès et de modification. +Il conserve les mêmes droits et les mêmes dates d'accès et de modification. ### Compression avec `bunzip2` -La commande `bunzip2` compresse également les données. +La commande `bunzip2` compresse également des données. Syntaxe de la commande `bzip2` : ```bash -bzip2 [options] [fichier ...] +bzip2 [options] [file ...] ``` Exemple : @@ -816,11 +815,11 @@ usr.cpio.bz2 Le nom du fichier est complété par l'extension `.bz2`. -La compression par `bzip2` est préférable à la compression par `gzip` mais elle met plus de temps à être exécutée. +La compression par `bzip2` est meilleure que la compression par `gzip` mais elle met plus de temps à être exécutée. ### Décompression avec `gunzip` -La commande `gunzip` décompresse les données compressées. +La commande `gunzip` décompresse des données compressées. Syntaxe de la commande `gunzip` : @@ -838,7 +837,7 @@ usr.tar Le nom du fichier est tronqué par `gunzip` et l'extension `.gz` est supprimée. -`gunzip` décompresse également les fichiers avec les extensions suivantes : +`gunzip` décompresse également les fichiers ayant les extensions suivantes : * `.z`; * `-z` ; @@ -846,7 +845,7 @@ Le nom du fichier est tronqué par `gunzip` et l'extension `.gz` est supprimée. ### Décompression avec `bunzip2` -La commande `bunzip2` décompresse les données compressées. +La commande `bunzip2` décompresse des données compressées. Syntaxe de la commande `bzip2` : From 7d341b7ffdb6900f0185e332daf350adecde219a Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 04:13:49 -0500 Subject: [PATCH 19/45] New translations x11vnc_plus_ssh_lan.md (Ukrainian) --- docs/desktop/gnome/x11vnc_plus_ssh_lan.uk.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/desktop/gnome/x11vnc_plus_ssh_lan.uk.md b/docs/desktop/gnome/x11vnc_plus_ssh_lan.uk.md index a52262972..637f35c1d 100644 --- a/docs/desktop/gnome/x11vnc_plus_ssh_lan.uk.md +++ b/docs/desktop/gnome/x11vnc_plus_ssh_lan.uk.md @@ -6,7 +6,7 @@ contributors: Steven Spencer, Ganna Zhyrnova ## Вступ -x11vnc — це потужна програма VNC, яка виділяється тим, що використовує наявний сеанс X, а не починає новий. Ця функція робить його чудовим інструментом для віддаленої підтримки, оскільки він дозволяє вам керувати екраном користувача або сеансом X на відстані. +x11vnc — потужна програма VNC. Те, що відрізняє x11vnc від інших програм VNC, полягає в тому, що адміністратор може отримати наявний X-сеанс користувача, а не створювати новий. Це робить X11VNC ідеальним для надання віддаленої підтримки робочим столам Linux. Цей посібник навчить вас, як налаштувати сервер X11vnc і як віддалено до нього підключитися. @@ -113,7 +113,7 @@ sudo systemctl enable --now x11vnc.service ## Підключення до сервера VNC з робочої станції Rocky -### Встановіть репозиторій EPEL: +### Встановіть репозиторій EPEL ```bash sudo dnf install epel-release @@ -159,11 +159,11 @@ vncviewer ## Підключення до машини через Інтернет -Поки що ця стаття показала вам, як налаштувати сервер x11vnc і підключитися до нього за допомогою VNC, що пересилається через тунель SSH. Здавалося б, очевидна, але все ж важлива деталь, про яку слід знати, полягає в тому, що цей метод працюватиме лише для комп’ютерів, підключених до мережі. Оскільки основним варіантом використання, представленим у цьому посібнику, є віддалена підтримка, розумно припустити, що ви хочете підключитися до комп’ютера, який знаходиться в іншій локальній мережі (LAN), ніж ваша власна. Спосіб досягти цього — налаштувати VPN. Обидва перелічені нижче посібники нададуть відповідний приватний тунель для підключення до вашого сервера x11vnc через Інтернет. +Поки що ця стаття показала вам, як налаштувати сервер x11vnc і підключитися до нього за допомогою VNC, що пересилається через тунель SSH. Здавалося б, очевидна, але все ж важлива деталь, про яку слід знати, полягає в тому, що цей метод працюватиме лише для комп’ютерів, підключених до мережі. Припустимо, ви хочете підключитися до комп’ютера в іншій локальній мережі. Спосіб досягти цього — налаштувати VPN. Нижче наведено кілька посібників щодо налаштування VPN: --[OpenVPN](https://docs.rockylinux.org/guides/security/openvpn/) --[Wireguard VPN](https://docs.rockylinux.org/guides/security/wireguard_vpn/) +- [OpenVPN](https://docs.rockylinux.org/guides/security/openvpn/) +- [Wireguard VPN](https://docs.rockylinux.org/guides/security/wireguard_vpn/) ## Висновок -Ви успішно налаштували сервер x11vnc і підключилися до нього за допомогою клієнта TigerVNC. Це рішення ідеально підходить для віддаленої підтримки, оскільки воно використовує той самий сеанс X, що й користувач, що забезпечує безперебійну підтримку. +Вітаємо! Ви успішно налаштували сервер x11vnc і підключилися до нього за допомогою клієнта TigerVNC. Це рішення ідеально підходить для віддаленої підтримки, оскільки воно використовує той самий сеанс X, що й користувач, що забезпечує безперебійну підтримку. From 341a483af2cb1280dcd6783d924677bf74e4b103 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 04:14:49 -0500 Subject: [PATCH 20/45] New translations flatpak.md (Ukrainian) --- docs/desktop/gnome/flatpak.uk.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/desktop/gnome/flatpak.uk.md b/docs/desktop/gnome/flatpak.uk.md index a4042f034..c29a90cff 100644 --- a/docs/desktop/gnome/flatpak.uk.md +++ b/docs/desktop/gnome/flatpak.uk.md @@ -127,21 +127,21 @@ Application Options: Запам'ятовувати список команд непотрібно, але знати, як отримати доступ до списку та скористатися опцією `--help` - це гарна ідея. -!!! warning "Важливо" +!!! warning "Rocky Linux 8.x та `flatpak search`" ```` -Якщо ви використовуєте версію Rocky Linux 9.x, ви зіткнетеся з цією помилкою. Під час виконання команди: +Якщо ви користуєтеся версією Rocky Linux 8.x, ви зіткнетеся з цією помилкою. Під час виконання команди: ```bash flatpak search [packagename] ``` -Якщо [назва пакета] — це пакет, який ви шукаєте, ви отримаєте: +Де [packagename] — пакет, який ви шукаєте, ви отримаєте: ```text F: Failed to parse /var/lib/flatpak/appstream/flathub/x86_64/active/appstream.xml.gz file: Error on line 4065 char 29:

already set ' Organic Maps is a free Android & iOS offline maps app for travelers, - tourists, hikers, drivers and cyclists. + tourists, hikers, drivers, and cyclists. It uses crowd-sourced OpenStreetMap data and is developed with love by ' and tried to replace with ' (' No matches found From 2b260c2efbe2d2e77822d028080d2bfad399bd97 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 04:14:50 -0500 Subject: [PATCH 21/45] New translations proton.md (Ukrainian) --- docs/desktop/gaming/proton.uk.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/desktop/gaming/proton.uk.md b/docs/desktop/gaming/proton.uk.md index 602e69c16..c4c16febe 100644 --- a/docs/desktop/gaming/proton.uk.md +++ b/docs/desktop/gaming/proton.uk.md @@ -54,6 +54,38 @@ flatpak install steam ![Steam play for all other titles toggled](images/Timeline_1_01_11_07_44.jpg) +!!! warning "Сумісність не завжди універсальна" + +```` +Багато людей повідомляють про проблеми з іграми, сумісними з ProtonDB, тоді як ігри, сумісні з Linux, працюють нормально. Це часто відбувається через політики SELinux, які захищають файлову систему. + +Спочатку перевірте стан SELinux системи за допомогою: + +``` +sestatus +``` + +Це поверне один із трьох результатів: + +* SELinux status: disabled (if SELinux protection is switched off completely) +* SELinux status: permissive (if SELinux is in permissive mode) +* SELinux status: enforcing (if SELinux is fully protecting your system) + +Якщо SELinux вимкнено, це не буде причиною ваших проблем із грою. Якщо він у режимі примусового виконання, то це може бути винуватцем. Спробуйте тимчасово встановити SELinux у дозвільний режим перед грою за допомогою: + +``` +sudo setenforce 0 +``` + +Після завершення ігрового процесу не забудьте повернути свою політику SELinux на примусове застосування за допомогою: + +``` +sudo setenforce 1 +``` + +Для більш постійного рішення, яке підтримує політику SELinux, ви повинні дослідити, яке правило блокує вашу гру, що вимагає більш глибокого розуміння SELinux і базових інструментів. Подивіться [наш посібник із безпеки SELinux](../../guides/security/learning_selinux.md), щоб отримати докладнішу інформацію про SELinux. +```` + ## Висновок Після перезапуску Steam завантажте свою улюблену назву Windows і спробуйте! Подальша настройка не потрібна. Щасливої ​​гри! From bbebbb9fd4bc68dc81e93b55cdeda3c8072808bc Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 06:25:22 -0500 Subject: [PATCH 22/45] New translations templates-automation-packer-vsphere.md (Ukrainian) --- .../automation/templates-automation-packer-vsphere.uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/automation/templates-automation-packer-vsphere.uk.md b/docs/guides/automation/templates-automation-packer-vsphere.uk.md index dcb993608..3cb4d01f1 100644 --- a/docs/guides/automation/templates-automation-packer-vsphere.uk.md +++ b/docs/guides/automation/templates-automation-packer-vsphere.uk.md @@ -590,7 +590,7 @@ systemctl start vmtoolsd Існують різні типи провайдерів, ми також могли б використати Ansible. Ви можете вільно досліджувати ці можливості. -Цей файл можна повністю змінити, але це приклад того, що можна зробити за допомогою сценарію, у цьому випадку `requirements.sh`: +Цей файл можна повністю змінити, але це приклад того, що можна зробити за допомогою сценарію, у цьому випадку `requirements.sh`. Примітка нижче "URL-адреса статті бази знань" замінює пошкоджену URL-адресу, але не змінює значення: ```bash #!/bin/sh -eux @@ -602,7 +602,7 @@ echo "Installing cloud-init..." dnf -y install cloud-init # see https://bugs.launchpad.net/cloud-init/+bug/1712680 -# and https://kb.vmware.com/s/article/71264 +# and "URL to knowlege base article" # Virtual Machine customized with cloud-init is set to DHCP after reboot echo "manual_cache_clean: True " > /etc/cloud/cloud.cfg.d/99-manual.cfg From 1fc5adbf25738e762cf194c3d1b704c885d4e7b4 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 06:25:23 -0500 Subject: [PATCH 23/45] New translations rsync_ssh.md (Ukrainian) --- docs/guides/backup/rsync_ssh.uk.md | 130 ++++++++++++++++++----------- 1 file changed, 79 insertions(+), 51 deletions(-) diff --git a/docs/guides/backup/rsync_ssh.uk.md b/docs/guides/backup/rsync_ssh.uk.md index 44a3b4c9f..ae968ba46 100644 --- a/docs/guides/backup/rsync_ssh.uk.md +++ b/docs/guides/backup/rsync_ssh.uk.md @@ -7,43 +7,43 @@ tags: - rsync --- -# Використання `rsync` для підтримки синхронізації двох машин - ## Передумови Це все, що вам потрібно зрозуміти та дотримуватися цього посібника: - Машина під керуванням Rocky Linux. -- Щоб було зручно змінювати конфігураційні файли з командного рядка. +- Щоб було зручно змінювати конфігураційні файли з командного рядка - Знання того, як користуватися редактором командного рядка (тут ми використовуємо _vi_, але ви можете використовувати свій улюблений редактор). -- Вам знадобиться root-доступ, і в ідеалі увійдіть як root-користувач у вашому терміналі. +- Вам потрібен доступ root або привілеї `sudo` - Пари відкритих і закритих ключів SSH. -- Можна створити простий сценарій bash за допомогою vi або вашого улюбленого редактора та протестувати його. -- Можливість використовувати _crontab_ для автоматизації виконання сценарію. +- Можна створити сценарій bash за допомогою `vi` або вашого улюбленого редактора та протестувати його. +- Можливість використання `crontab` для автоматизації виконання сценарію ## Вступ -Використання `rsync` через SSH не настільки потужне, як [lsyncd](../backup/mirroring_lsyncd.md) (що дозволяє вам спостерігати за змінами в каталозі чи файлі та зберігати він синхронізується в режимі реального часу) або такий гнучкий, як [rsnapshot](../backup/rsnapshot_backup.md) (який пропонує можливість резервного копіювання кількох цілей з однієї машини). Однак він надає можливість оновлювати два комп’ютери за розкладом, який ви визначаєте. +Використання `rsync` через SSH не настільки потужне, як [lsyncd](../backup/mirroring_lsyncd.md) (що дозволяє спостерігати за змінами в каталозі чи файлі та підтримувати його синхронізацію в режимі реального часу), і не таке гнучке, як [rsnapshot](../backup/rsnapshot_backup.md) (який пропонує можливість резервного копіювання кількох цілей з одного комп’ютера). Однак це дозволяє оновлювати два комп’ютери за розкладом, який ви визначаєте. Якщо вам потрібно підтримувати набір каталогів на цільовому комп’ютері в актуальному стані, і вам не потрібна синхронізація в реальному часі як функція, тоді `rsync` через SSH, ймовірно, найкраще рішення. -Для цієї процедури ви будете виконувати дії як користувач root. Або увійдіть як root, або скористайтеся командою `sudo -s`, щоб перейти на користувача root у вашому терміналі. +Для цієї процедури ви працюватимете як користувач root. Або увійдіть як root, або скористайтеся командою `sudo -s`, щоб переключитися на користувача root у вашому терміналі. ### Встановлення `rsync` -Хоча `rsync` може бути вже встановлено, найкраще оновити `rsync` до останньої версії на вихідному та цільовому комп’ютерах. Щоб переконатися, що `rsync` встановлено та оновлено, виконайте на обох комп’ютерах наступне: +Хоча `rsync`, ймовірно, уже встановлено. Щоб переконатися, що `rsync` встановлено та оновлено, виконайте на обох комп’ютерах наступне: -`dnf install rsync` +```bash +dnf install rsync +``` -Якщо пакет не встановлено, `dnf` попросить вас підтвердити встановлення, якщо він уже встановлений, `dnf` шукатиме оновлення та запропонує його встановити. +Якщо пакет не встановлено, `dnf` попросить вас підтвердити встановлення. Якщо його вже встановлено, `dnf` шукатиме оновлення та запропонує встановити його. ### Підготовка середовища -У цьому конкретному прикладі використовуватиметься `rsync` на цільовій машині для отримання з джерела замість надсилання з джерела до цільового. Для цього вам потрібно налаштувати [пару ключів SSH](../security/ssh_public_private_keys.md). Після створення пари ключів SSH і підтвердження доступу без пароля з цільового комп’ютера до вихідного комп’ютера можна починати. +У цьому прикладі використовуватиметься `rsync` на цільовому комп’ютері для отримання з джерела замість надсилання з джерела до цільового. Для цього вам потрібно налаштувати [пару ключів SSH](../security/ssh_public_private_keys.md). Після створення пари ключів SSH перевірте доступ без пароля від цільового комп’ютера до вихідного. ### Параметри `rsync` і налаштування сценарію -Перш ніж ми страшенно захопимося налаштуванням сценарію, нам спочатку потрібно вирішити, які параметри ми хочемо використати з `rsync`. Є багато можливостей, тому перегляньте [посібник для rsync](https://linux.die.net/man/1/rsync). Найпоширенішим способом використання `rsync` є використання параметра `-a`, тому що `-a`, або archive, поєднує кілька параметрів в один і це дуже поширені варіанти. Що включає -a? +Перш ніж продовжити налаштування сценарію, ви повинні вирішити, які параметри використовувати з `rsync`. Існує багато можливостей. Перегляньте [посібник для rsync](https://linux.die.net/man/1/rsync), щоб отримати повний список. Найпоширенішим способом використання `rsync` є використання параметра `-a`, оскільки `-a`, або «archive», поєднує кілька стандартних параметрів. Що включає `-a`? - `-r`, рекурсує каталоги - `-l`, підтримує символічні посилання як символічні посилання @@ -53,75 +53,99 @@ tags: - `-o`, зберігає власника - `-D`, зберігає файли пристрою -Єдині інші параметри, які нам потрібно вказати в цьому прикладі: +Єдині інші параметри, які вам потрібно вказати в цьому прикладі: - `-e`, визначає віддалену оболонку для використання - `--delete`, який говорить, що якщо в цільовому каталозі є файл, який не існує в джерелі, позбутися його -Далі нам потрібно налаштувати сценарій, створивши для нього файл (знову ж таки, скористайтеся улюбленим редактором, якщо ви не знайомі з vi). Щоб створити файл, просто скористайтеся цією командою: +Далі встановіть сценарій на цільовому комп’ютері, створивши для нього файл (ще раз скористайтеся улюбленим редактором, якщо ви не знайомі з `vi`). Щоб створити файл, використовуйте цю команду: -`vi /usr/local/sbin/rsync_dirs` +```bash +vi /usr/local/sbin/rsync_dirs +``` -А потім зробіть його виконуваним: +Додайте вміст: -`chmod +x /usr/local/sbin/rsync_dirs` +```bash +#!/usr/bin/env bash +/usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home +``` -## Тестування +Замініть «source.domain.com» своїм доменним іменем, іменем хоста або IP-адресою. -Тепер створення сценаріїв робить його надзвичайно простим і безпечним, тож ви можете безстрашно тестувати його. Зверніть увагу, що URL-адреса, яка використовується нижче, це "source.domain.com". Замініть його на домен або IP-адресу вашого власного вихідного комп’ютера, обидва будуть працювати. Також пам’ятайте, що в цьому прикладі сценарій створюється на «цільовому» комп’ютері, оскільки файл витягується з вихідного комп’ютера: +Зробіть його виконуваним: ```bash -#!/bin/bash -/usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home +chmod +x /usr/local/sbin/rsync_dirs ``` +## Тестування + +Сценарії гарантують, що ви можете тестувати без занепокоєння. + !!! warning "Важливо" - У цьому випадку ми припускаємо, що ваш домашній каталог не існує на цільовій машині. **Якщо він існує, ви можете створити його резервну копію перед виконанням сценарію!** + У цьому випадку припускається, що ваш домашній каталог не існує на цільовому комп’ютері. **Якщо він існує, ви можете створити його резервну копію перед виконанням сценарію!** -Тепер запустіть сценарій: +Запустіть скрипт: -`/usr/local/sbin/rsync_dirs` +```bash +/usr/local/sbin/rsync_dirs +``` -Якщо все в порядку, ви повинні отримати повністю синхронізовану копію домашнього каталогу на цільовій машині. Переконайтеся, що це так. +Якщо все гаразд, ви отримаєте синхронізовану копію домашнього каталогу на цільовому комп’ютері. Переконайтеся, що це так. -Якщо припустити, що все спрацювало, як ми сподівалися, створіть новий файл на вихідній машині у вашому домашньому каталозі: +Якщо припустити, що все спрацювало, створіть новий файл на вихідному комп’ютері у вашому домашньому каталозі: -`touch /home/your_user/testfile.txt` +```bash +touch /home/your_user/testfile.txt +``` Запустіть сценарій ще раз: -`/usr/local/sbin/rsync_dirs` +```bash +/usr/local/sbin/rsync_dirs +``` -Потім переконайтеся, що цільовий комп’ютер отримав новий файл. Якщо так, наступним кроком є перевірка процесу видалення. Видаліть файл, який ми щойно створили на вихідному комп’ютері: +Переконайтеся, що цільовий комп’ютер отримав новий файл. Якщо так, наступним кроком є ​​перевірка процесу видалення. Видаліть файл, який ви щойно створили на вихідному комп’ютері: -`rm -f /home/your_user/testfile.txt` +```bash +rm -f /home/your_user/testfile.txt +``` Запустіть сценарій ще раз: -`/usr/local/sbin/rsync_dirs` +```bash +/usr/local/sbin/rsync_dirs +``` Переконайтеся, що файл більше не існує на цільовому комп’ютері. -Нарешті, давайте створимо файл на цільовій машині, який не існує на вихідній. Отже, на цільовому: +Нарешті, створіть файл на цільовому комп’ютері, який не існує на вихідному: -`touch /home/your_user/a_different_file.txt` +```bash +touch /home/your_user/a_different_file.txt +``` Запустіть сценарій в останній раз: -`/usr/local/sbin/rsync_dirs` +```bash +/usr/local/sbin/rsync_dirs +``` -Файл, який ми щойно створили в цільовому файлі, тепер має зникнути, оскільки він не існує в джерелі. +Файл, який ви створили в цільовому файлі, більше не повинен існувати, оскільки він не існує в джерелі. -Якщо припустити, що все це спрацювало належним чином, змініть сценарій, щоб синхронізувати всі потрібні каталоги. +Якщо припустити, що все спрацювало належним чином, змініть сценарій, щоб синхронізувати всі потрібні каталоги. ## Автоматизація всього -Можливо, ми не захочемо вручну запускати цей сценарій кожного разу, коли ми хочемо синхронізуватися, тому наступним кроком буде робити це автоматично. Припустімо, ви хочете запускати цей сценарій щовечора об 23:00. Щоб автоматизувати це, використовуйте crontab: +Можливо, ви не захочете запускати цей сценарій щоразу, коли хочете синхронізувати вручну. Використовуйте `crontab`, щоб зробити це автоматично за розкладом. Щоб запускати цей сценарій щовечора об 23:00: -`crontab -e` +```bash +crontab -e +``` -Це призведе до запуску cron, який може виглядати приблизно так: +Це підтягнеться і виглядатиме приблизно так: ```bash # Відредагуйте цей файл, щоб представити завдання, які виконуватиме cron. @@ -140,24 +164,28 @@ tags: # Вихідні дані завдань crontab (включаючи помилки) надсилаються # електронним листом користувачу, якому належить файл crontab (якщо не перенаправлено). # -# Наприклад, ви можете створити резервну копію всіх ваших облікових записів користувачів -# о 5:00 щотижня з: +# For example, you can run a backup of all your user accounts +# at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # -# Для отримання додаткової інформації дивіться сторінки посібника crontab(5) і cron(8) +# For more information see the manual pages of crontab(5) and cron(8) # -Команда # m h dom mon dow +# m h dom mon dow command ``` -Cron налаштовано на 24-годинний формат, тому для запису внизу цього файлу нам знадобиться: +!!! info "Інформація" -`00 23 * * * /usr/local/sbin/rsync_dirs` + Приклад `crontab` показує порожній, але прокоментований файл. Коментар не з’являється на кожному комп’ютері та може бути порожнім файлом. На активному комп’ютері ви можете бачити інші записи. -Це говорить про виконання цієї команди о 00 хвилин, 23 години, щодня, щомісяця та щодня тижня. Збережіть запис cron за допомогою: +`crontab` має 24-годинний формат. Вам знадобиться ваш запис у нижній частині цього файлу: -++shift+colon+"w"+"q"+exclam++ +```crontab +00 23 * * * /usr/local/sbin/rsync_dirs +``` -... або за допомогою команд, які використовує ваш улюблений редактор для збереження файлу. +Це говорить про виконання цієї команди о 00 хвилин і 23 години щодня, кожного місяця та кожного дня тижня. Збережіть свій запис `crontab` за допомогою: + +++shift+colon+"w"+"q"+exclam++ ## Додаткові прапори @@ -165,9 +193,9 @@ Cron налаштовано на 24-годинний формат, тому дл -n : Виконати без проблем, щоб побачити, які файли будуть передані -v : вивести список усіх файлів, які передаються -vvv : надати інформацію про налагодження під час передачі файлів --z : щоб увімкнути стиснення під час передачі +-z : щоб увімкнути стиснення під час передачі ``` ## Висновки -Хоча `rsync` не такий гнучкий чи потужний, як інші інструменти, він забезпечує просту синхронізацію файлів, що завжди корисно. +Хоча `rsync` не такий гнучкий чи надійний, як інші інструменти, він забезпечує синхронізацію файлів, що завжди корисно. From a5d05323aa14059232e73cd5aaf4be0a0f250e59 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 06:26:31 -0500 Subject: [PATCH 24/45] New translations rsnapshot_backup.md (Ukrainian) --- docs/guides/backup/rsnapshot_backup.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/backup/rsnapshot_backup.uk.md b/docs/guides/backup/rsnapshot_backup.uk.md index 087337601..08060c99d 100644 --- a/docs/guides/backup/rsnapshot_backup.uk.md +++ b/docs/guides/backup/rsnapshot_backup.uk.md @@ -471,4 +471,4 @@ crontab -e Правильна настройка за допомогою `rsnapshot` спочатку трохи складна, але може заощадити багато часу на резервне копіювання ваших машин або серверів. -`rsnapshot` є потужним, швидким і економним використанням дискового простору. Ви можете дізнатися більше про `rsnapshot`, відвідавши [rsnapshot.org](https://rsnapshot.org/download.html). +`rsnapshot` є потужним, швидким і економним використанням дискового простору. Ви можете дізнатися більше про `rsnapshot`, відвідавши [rsnapshot github](https://github.com/rsnapshot/rsnapshot). From 5ee892de450c16499127733f49bc947788053a47 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 06:30:50 -0500 Subject: [PATCH 25/45] New translations dump_restore.md (Ukrainian) --- docs/guides/backup/dump_restore.uk.md | 230 ++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 docs/guides/backup/dump_restore.uk.md diff --git a/docs/guides/backup/dump_restore.uk.md b/docs/guides/backup/dump_restore.uk.md new file mode 100644 index 000000000..29d159fca --- /dev/null +++ b/docs/guides/backup/dump_restore.uk.md @@ -0,0 +1,230 @@ +--- +title: Команди dump та restore +author: tianci li +contributors: Steven Spencer +tested_with: 8.1 +tags: + - dump + - restore + - резервне копіювання +--- + +## Огляд + +`dump` перевіряє файли у файловій системі, визначає, які для резервного копіювання, і копіює ці файли на вказаний диск, стрічку або інший носій даних. Команда `restore` виконує зворотну функцію `dump`. + +Ця утиліта застосовується до таких файлових систем: + +- ext2 +- ext3 +- ext4 + +!!! tip "Підказка" + +``` +Для файлової системи xfs використовуйте `xfsdump`. +``` + +[Це](https://dump.sourceforge.io/) домашня сторінка проекту. + +Перш ніж використовувати цю утиліту, виконайте таку команду, щоб інсталювати її: + +```bash +Shell > dnf -y install dump +``` + +Після інсталяції доступні два часто використовувані командні інструменти: + +- `dump` +- `restore` + +### Команда `dump` + +Існує два основних способи використання цієї команди: + +- Виконати резервне копіювання (dump) - \`dump [параметр(и)] -f +- Перегляд інформації про резервну копію (dump) - `dump [-W | -w]` + +Загальні опції: + +- `-` - Резервний рівень. Будь ласка, замініть "level" на будь-яке число від 0-9, коли використовується. Число 0 означає повне резервне копіювання, тоді як інші числа позначають інкрементне резервне копіювання. +- `-f ` - Після резервного копіювання вкажіть ім’я файлу та шлях. +- `-u` - Після успішного резервного копіювання запишіть час резервного копіювання у файл **/etc/dumpdates**. Якщо об’єкт резервної копії є незалежним розділом, можна використовувати параметр `-u`. Однак ви не можете використовувати опцію `-u`, якщо об'єкт резервного копіювання є каталогом без розділів. +- `-v` - Відображення деталей обробки під час процесу резервного копіювання. +- `-W` - Опція для перегляду інформації про dump. +- `-z[LEVEL]` - Налаштуйте рівень стиснення за допомогою бібліотеки zlib із стандартним рівнем стиснення 2. Наприклад, ви можете стиснути файл резервної копії до формату `.gz`. Діапазон регулювання рівня стиснення 1-9. +- `-j[LEVEL]` - Налаштуйте рівень стиснення за допомогою бібліотеки bzlib із стандартним рівнем стиснення 2. Наприклад, ви можете стиснути файл резервної копії до формату `.bz2`. Діапазон регулювання рівня стиснення 1-9. + +#### Приклад використання `dump` + +1. Виконайте повне резервне копіювання кореневого розділу: + + ```bash + Shell > dump -0u -j3 -f /tmp/root-20241208.bak.bz2 / + DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024 + DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208.bak.bz2 + DUMP: Label: none + DUMP: Writing 10 Kilobyte records + DUMP: Compressing output at transformation level 3 (bzlib) + DUMP: mapping (Pass I) [regular files] + DUMP: mapping (Pass II) [directories] + DUMP: estimated 14693111 blocks. + DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:04:41 2024 + DUMP: dumping (Pass III) [directories] + DUMP: dumping (Pass IV) [regular files] + DUMP: 20.69% done at 10133 kB/s, finished in 0:19 + DUMP: 43.74% done at 10712 kB/s, finished in 0:12 + DUMP: 70.91% done at 11575 kB/s, finished in 0:06 + DUMP: 93.23% done at 11415 kB/s, finished in 0:01 + DUMP: Closing /tmp/root-20241208.bak.bz2 + DUMP: Volume 1 completed at: Sun Dec 8 19:26:08 2024 + DUMP: Volume 1 took 0:21:27 + DUMP: Volume 1 transfer rate: 5133 kB/s + DUMP: Volume 1 14722930kB uncompressed, 6607183kB compressed, 2.229:1 + DUMP: 14722930 blocks (14377.86MB) on 1 volume(s) + DUMP: finished in 1287 seconds, throughput 11439 kBytes/sec + DUMP: Date of this level 0 dump: Sun Dec 8 19:04:39 2024 + DUMP: Date this dump completed: Sun Dec 8 19:26:08 2024 + DUMP: Average transfer rate: 5133 kB/s + DUMP: Wrote 14722930kB uncompressed, 6607183kB compressed, 2.229:1 + DUMP: DUMP IS DONE + + Shell > ls -lh /tmp/root-20241208.bak.bz2 + -rw-r--r-- 1 root root 6.4G Dec 8 19:26 /tmp/root-20241208.bak.bz2 + ``` + +2. Після успішного скидання перевірте відповідну інформацію: + + ```bash + Shell > cat /etc/dumpdates + /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800 + + Shell > dump -W + Last dump(s) done (Dump '>' file systems): + /dev/nvme0n1p2 ( /) Last dump: Level 0, Date Sun Dec 8 19:04:39 2024 + ``` + +3. Реалізувати інкрементне резервне копіювання на основі повного резервного копіювання: + + ```bash + Shell > echo "jack" >> /tmp/tmpfile.txt + + Shell > dump -1u -j4 -f /tmp/root-20241208-LV1.bak.bz2 / + DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024 + DUMP: Date of last level 0 dump: Sun Dec 8 19:04:39 2024 + DUMP: Dumping /dev/nvme0n1p2 (/) to /tmp/root-20241208-LV1.bak.bz2 + DUMP: Label: none + DUMP: Writing 10 Kilobyte records + DUMP: Compressing output at transformation level 4 (bzlib) + DUMP: mapping (Pass I) [regular files] + DUMP: mapping (Pass II) [directories] + DUMP: estimated 6620898 blocks. + DUMP: Volume 1 started with block 1 at: Sun Dec 8 19:38:58 2024 + DUMP: dumping (Pass III) [directories] + DUMP: dumping (Pass IV) [regular files] + DUMP: 38.13% done at 8415 kB/s, finished in 0:08 + DUMP: 75.30% done at 8309 kB/s, finished in 0:03 + DUMP: Closing /tmp/root-20241208-LV1.bak.bz2 + DUMP: Volume 1 completed at: Sun Dec 8 19:52:03 2024 + DUMP: Volume 1 took 0:13:05 + DUMP: Volume 1 transfer rate: 8408 kB/s + DUMP: Volume 1 6620910kB uncompressed, 6600592kB compressed, 1.004:1 + DUMP: 6620910 blocks (6465.73MB) on 1 volume(s) + DUMP: finished in 785 seconds, throughput 8434 kBytes/sec + DUMP: Date of this level 1 dump: Sun Dec 8 19:38:51 2024 + DUMP: Date this dump completed: Sun Dec 8 19:52:03 2024 + DUMP: Average transfer rate: 8408 kB/s + DUMP: Wrote 6620910kB uncompressed, 6600592kB compressed, 1.004:1 + DUMP: DUMP IS DONE + + Shell > cat /etc/dumpdates + /dev/nvme0n1p2 0 Sun Dec 8 19:04:39 2024 +0800 + /dev/nvme0n1p2 1 Sun Dec 8 19:38:51 2024 +0800 + + Shell > dump -W + Last dump(s) done (Dump '>' file systems): + /dev/nvme0n1p2 ( /) Last dump: Level 1, Date Sun Dec 8 19:38:51 2024 + ``` + +4. Для нерозділеного каталогу можна використовувати лише параметр «Повна резервна копія» (`-0`), а не параметр `-u`: + + ```bash + Shell > dump -0uj -f /tmp/etc-full-20241208.bak.bz2 /etc/ + DUMP: You can't update the dumpdates file when dumping a subdirectory + DUMP: The ENTIRE dump is aborted. + + Shell > dump -0j -f /tmp/etc-full-20241208.bak.bz2 /etc/ + DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024 + DUMP: Dumping /dev/nvme0n1p2 (/ (dir etc)) to /tmp/etc-full-20241208.bak.bz2 + DUMP: Label: none + DUMP: Writing 10 Kilobyte records + DUMP: Compressing output at transformation level 2 (bzlib) + DUMP: mapping (Pass I) [regular files] + DUMP: mapping (Pass II) [directories] + DUMP: estimated 28204 blocks. + DUMP: Volume 1 started with block 1 at: Sun Dec 8 20:00:38 2024 + DUMP: dumping (Pass III) [directories] + DUMP: dumping (Pass IV) [regular files] + DUMP: Closing /tmp/etc-full-20241208.bak.bz2 + DUMP: Volume 1 completed at: Sun Dec 8 20:00:40 2024 + DUMP: Volume 1 took 0:00:02 + DUMP: Volume 1 transfer rate: 3751 kB/s + DUMP: Volume 1 29090kB uncompressed, 7503kB compressed, 3.878:1 + DUMP: 29090 blocks (28.41MB) on 1 volume(s) + DUMP: finished in 2 seconds, throughput 14545 kBytes/sec + DUMP: Date of this level 0 dump: Sun Dec 8 20:00:38 2024 + DUMP: Date this dump completed: Sun Dec 8 20:00:40 2024 + DUMP: Average transfer rate: 3751 kB/s + DUMP: Wrote 29090kB uncompressed, 7503kB compressed, 3.878:1 + DUMP: DUMP IS DONE + ``` + + Виконання інкрементного резервного копіювання каталогу /etc/ призведе до помилки: + + ```bash + Shell > dump -1j -f /tmp/etc-incr-20241208.bak.bz2 /etc/ + DUMP: Only level 0 dumps are allowed on a subdirectory + DUMP: The ENTIRE dump is aborted. + ``` + +### Команда `restore` + +Використання цієї команди - `restore [параметр(и)] -f ` + +Режим (прапор) може бути одним із таких: + +- `-C` - Режим порівняння. Restore читає резервну копію та порівнює її вміст із файлами на диску. В основному використовується для порівняння після виконання резервного копіювання на розділі. У цьому режимі «відновлення» лише порівнює зміни на основі вихідних даних. Якщо на диску є нові дані, ви не зможете їх порівняти чи виявити. +- `-i` - Інтерактивний режим. Цей режим дозволяє інтерактивно відновлювати файли з дампа. +- `-t` - Режим списку. Перелічіть, які дані містяться у файлі резервної копії. +- `-r` - Режим відновлення (перебудови). Якщо це метод «Повне резервне копіювання + додаткове резервне копіювання», відновлення даних відбуватиметься в хронологічному порядку. +- `-x` - Режим екстракції. Витягніть деякі або всі файли з файлу резервної копії. + +#### Приклад використання `restore` + +1. Відновити дані з /tmp/etc-full-20241208.bak.bz2: + + ```bash + Shell > mkdir /tmp/data/ + + Shell > restore -t -f /tmp/etc-full-20241208.bak.bz2 + + Shell > cd /tmp/data/ ; restore -r -f /tmp/etc-full-20241208.bak.bz2 + + Shell > ls -l /tmp/data/ + total 4992 + drwxr-xr-x. 90 root root 4096 Dec 8 17:13 etc + -rw------- 1 root root 5107632 Dec 8 20:39 restoresymtable + ``` + + Як бачите, після успішного відновлення з’являється файл із назвою `restoresymtable`. Цей файл важливий. Він призначений для операцій відновлення системи поетапного резервного копіювання. + +2. Обробка резервних копій файлів в інтерактивному режимі: + + ```bash + Shell > restore -i -f /tmp/etc-full-20241208.bak.bz2 + Dump tape is compressed. + + restore > ? + ``` + + Ви можете ввести ++question++, щоб переглянути доступні інтерактивні команди в цьому режимі. From 8872d1930486859d975f06f5712451169e75fe5b Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 07:54:17 -0500 Subject: [PATCH 26/45] New translations mkdocs_lsyncd.md (Ukrainian) --- docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md b/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md index ff16997e0..25d258517 100644 --- a/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md +++ b/docs/guides/contribute/localdocs/mkdocs_lsyncd.uk.md @@ -6,10 +6,15 @@ tested_with: 8.5, 8.6 tags: - сприяти - локальне середовище lxd + - локальне середовище incus --- # Вступ +!!! info + + Процедури тут працюватимуть як з Incus, так і з LXD. + Є кілька способів запустити копію `mkdocs`, щоб точно побачити, як виглядатиме ваш документ Rocky Linux після об’єднання в живу систему. Цей документ стосується використання контейнера LXD на вашій локальній робочій станції для відокремлення коду Python у `mkdocs` від інших проектів, над якими ви можете працювати. Рекомендується зберігати проекти окремо, щоб уникнути проблем із кодом робочої станції. From 5607f1daefdded8af7e576d32fb6a2e1cf9e0d26 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 07:58:51 -0500 Subject: [PATCH 27/45] New translations chyrp_lite.md (Ukrainian) --- docs/guides/cms/chyrp_lite.uk.md | 156 +++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/guides/cms/chyrp_lite.uk.md diff --git a/docs/guides/cms/chyrp_lite.uk.md b/docs/guides/cms/chyrp_lite.uk.md new file mode 100644 index 000000000..4254139d7 --- /dev/null +++ b/docs/guides/cms/chyrp_lite.uk.md @@ -0,0 +1,156 @@ +--- +title: Chyrp Lite +author: Neel Chauhan +contributors: Steven Spencer +tested_with: 9.5 +tags: + - cms + - blogging +--- + +## Вступ + +[Chyrp Lite](https://chyrplite.net/) — це надлегка система для ведення блогів, написана мовою PHP. + +## Передумови та припущення + +Нижче наведено мінімальні вимоги для використання цієї процедури: + +- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв. +- Знайомство з редактором командного рядка. Автор використовує `vi` або `vim` тут, але замініть у вашому улюбленому редакторі. + +## Встановлення Caddy + +Ми будемо використовувати Caddy як веб-сервер. Щоб інсталювати Caddy, спочатку потрібно інсталювати EPEL (додаткові пакети для Enterprise Linux) і запустити оновлення: + +```bash +dnf -y install epel-release && dnf -y update +``` + +Потім встановіть Caddy: + +```bash +dnf -y install Caddy +``` + +Згодом відкрийте `Caddyfile`: + +```bash +vi /etc/caddy/Caddyfile +``` + +Додайте наступне до свого `Caddyfile`: + +```bash +your.domain.name { + root * /var/www/chyrp-lite + file_server + php_fastcgi 127.0.0.1:9000 +} +``` + +Збережіть файл за допомогою `:wq!`, а потім відкрийте відповідні порти брандмауера: + +```bash +sudo firewall-cmd --permanent --zone=public --add-service=http +sudo firewall-cmd --permanent --zone=public --add-service=https +sudo firewall-cmd --reload +``` + +Нарешті, запустіть Caddy: + +```bash +systemctl enable --now caddy +``` + +## Встановлення PHP + +!!! note "Примітка" + +``` +Якщо ви використовуєте Rocky Linux 8.x, замініть вісім біля випуску в рядку встановлення пакета Remi. +``` + +Щоб встановити PHP, вам знадобиться репозиторій Remi. Щоб встановити репозиторій Remi, виконайте наступне: + +```bash +dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm +``` + +Потім встановіть PHP і необхідні модулі: + +```bash +dnf install -y php83-php php83-php-session php83-php-json php83-php-ctype php83-php-filter php83-php-libxml php83-php-simplexml php83-php-mbstring php83-php-pdo php83-php-curl +``` + +Далі відкрийте файл конфігурації PHP: + +```bash +vi /etc/opt/remi/php83/php-fpm.d/www.conf +``` + +Перейдіть до рядка `listen =` і встановіть для нього наступне: + +```bash +listen = 127.0.0.1:9000 +``` + +Вийдіть із `vi` за допомогою `:wq!` і ввімкніть PHP: + +```bash +systemctl enable --now php83-php-fpm.service +``` + +## Встановлення Chyrp + +Тепер ми збираємося встановити Chyrp Lite. Для цього завантажте останню версію: + +```bash +cd /var/www +wget https://github.com/xenocrat/chyrp-lite/archive/refs/tags/v2024.03.zip +``` + +Далі розпакуйте та перемістіть видобуту папку: + +```bash +unzip v2024.03.zip +mv chyrp-lite-2024.03/ chyrp-lite +``` + +Встановіть правильні дозволи для папки `chyrp-lite`: + +```bash +chown -R apache:apache chyrp-lite/ +``` + +Налаштуйте каталог даних для зберігання бази даних SQLite: + +```bash +mkdir chyrp-lite-data +chown -R apache:apache chyrp-lite-data/ +``` + +Далі налаштуйте контекст файлу SELinux: + +```bash +semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/chyrp-lite(/.*)?" +semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/chyrp-lite-data(/.*)?" +restorecon -Rv /var/www/chyrp-lite +restorecon -Rv /var/www/chyrp-lite-data +``` + +На клієнтській машині відкрийте веб-браузер за адресою `https://your.domain.name/install.php` і запустіть програму інсталяції (замініть `your.domain.name` фактичним ім'ям домену або ім'ям хоста): + +![Chyrp Lite Setup](../images/chyrp_lite_setup.png) + +У розділі **Database** виберіть шлях у створеному раніше каталозі `chyrp-lite-data`, наприклад `/var/www/chyrp-lite-data/sqlite.db`. + +Потім заповніть інші поля, які мають бути зрозумілими. + +Потім натисніть **Install me**, а потім **Take me to my site**. Тепер ви зможете відвідати завершену інсталяцію вашого сайту Chyrp: + +![Chyrp Lite](../images/chyrp_lite.png) + +## Висновок + +Враховуючи, що WordPress перетворився на швейцарський армійський ніж веб-розробки, не дивно, що деякі веб-майстри (включно з автором) віддадуть перевагу легкому механізму ведення блогів. Chyrp Lite ідеально підходить для таких користувачів. From bf4563d0a2fa1444948667ca899c064296e34584 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Wed, 8 Jan 2025 07:58:52 -0500 Subject: [PATCH 28/45] New translations tar.md (Ukrainian) --- docs/guides/backup/tar.uk.md | 335 +++++++++++++++++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 docs/guides/backup/tar.uk.md diff --git a/docs/guides/backup/tar.uk.md b/docs/guides/backup/tar.uk.md new file mode 100644 index 000000000..d912fc56b --- /dev/null +++ b/docs/guides/backup/tar.uk.md @@ -0,0 +1,335 @@ +--- +title: Команда tar +author: tianci li +contributors: null +tested_with: 8.1 +tags: + - tar + - резервне копіювання + - archive +--- + +## Огляд + +`tar` — це інструмент, який використовується для обробки архівних файлів у GNU/Linux та інших операційних системах UNIX і розшифровується як «tape archive». + +Зручне зберігання файлів на магнітній стрічці було початковим використанням архівів tar. Назва «tar» походить від цього використання. Незважаючи на назву утиліти, `tar` може спрямовувати свій вихід на доступні пристрої, файли чи інші програми (за допомогою каналів) і отримувати доступ до віддалених пристроїв або файлів (як архіви). + +`tar`, який зараз використовується в сучасному GNU/Linux, спочатку походить від [проекту GNU](https://www.gnu.org/). Ви можете переглянути та завантажити всі версії `tar` на [GNU's website](https://ftp.gnu.org/gnu/tar/). + +!!! note "Примітка" + +```` +`tar` у різних дистрибутивах може мати різні параметри за замовчуванням. Будьте обережні при їх використанні. + +```bash +# RockyLinux 8 and Fedora 41 +Shell > tar --show-defaults +--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt --rsh-command=/usr/bin/ssh +``` +```` + +## Використання `tar` + +Використовуючи `tar`, зауважте, що він має два режими збереження: + +- **Відносний режим** (за замовчуванням): видалення початкового символу '/' з файлу. Навіть якщо ви додали файл із абсолютним шляхом, `tar` видалить початковий символ "/" у цьому режимі. +- **Абсолютний режим**: збережіть початковий символ '/' і включіть його в назву файлу. Щоб увімкнути цей режим збереження, потрібно використати опцію `-P`. У цьому режимі ви повинні представити всі файли як абсолютні шляхи. З міркувань безпеки вам не слід використовувати цей режим збереження в більшості випадків, якщо немає спеціальних вимог сценарію. + +Коли ви використовуєте tar, ви зустрінете такі суфікси, як `.tar.gz`, `.tar.xz` і `.tar.bz2`, які вказують на те, що ви спочатку створюєте архів (класифікуючи пов’язані файли як один файл), а потім стисніть файл за допомогою відповідного типу стиснення або алгоритму. + +Тип або алгоритм стиснення може бути gzip, bzip2, xz, zstd або іншим. + +`tar` дозволяє видобувати один файл або каталог із резервної копії, переглядати його вміст або перевіряти його цілісність. + +Використання створення архіву та використання стиснення: + +- `tar [option] [PATH] [DIR1] ... [FILE1] ...`. Наприклад, `tar -czvf /tmp/Fullbackup-20241201.tar.gz /etc/ /var/log/` + +Використання для вилучення файлу з архіву: + +- `tar [option] [PATH] -C [dir]`. Наприклад, `tar -xzvf /tmp/Fullbackup-20241201.tar.gz -C /tmp/D1` + +!!! tip "antic" + +``` +Коли ви видобуваєте файли з архівних файлів, tar автоматично вибирає тип стиснення на основі доданого вручну суфікса. Наприклад, для файлів `.tar.gz` можна безпосередньо використовувати `tar -vxf` без використання `tar -zvxf`. +Вам **потрібно** вибрати тип стиснення для створення архівних стиснутих файлів. +``` + +!!! Note "Примітка" + +``` +У GNU/Linux більшість файлів не потребують розширення, за винятком робочого середовища (GUI). Причиною штучного додавання суфіксів є полегшення розпізнавання користувачами. Якщо системний адміністратор бачить, наприклад, розширення файлу `.tar.gz` або `.tgz`, він знає, як поводитися з файлом. +``` + +### Робочі параметри або типи + +| типи | опис | +| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------- | +| `-A` | Додає всі файли в одному архіві в кінець іншого архіву. Застосовується лише до архівних нестиснутих файлів типу `.tar` | +| `-c` | Створює архів. Дуже часто використовується | +| `-d` | Порівнює відмінності між заархівованими та відповідними незаархівованими файлами | +| `-r` | Додає файли або каталоги в кінець архіву. Застосовується лише до архівних нестиснутих файлів типу `.tar` | +| `-t` | Перелічує вміст архіву | +| `-u` | До архіву додає лише нові файли. Застосовується лише до архівних нестиснутих файлів типу `.tar` | +| `-x` | Виписка з архіву. Дуже часто використовується | +| `--delete` | Видаляє файли або каталоги з архіву ".tar". Застосовується лише до архівних нестиснутих файлів типу `.tar` | + +!!! tip "Порада" + +``` +Що стосується типів операцій, автор рекомендує залишити префікс «-» для збереження звичок користувача. Звичайно, це не обов'язково. Операційні параметри тут вказують на вашу основну функцію з tar. Іншими словами, вам потрібно вибрати один з перерахованих вище типів. +``` + +### Поширені допоміжні опції + +| опція | опис | +| :---: | :--------------------------------------------------------------------------------------------------------------------- | +| `-z` | Використовуйте `gzip` як тип стиснення. Застосовуються як створення архівів, так і вилучення з архівів | +| `-v` | Відображає детальні деталі обробки | +| `-f` | Вказує ім’я файлу для архівування (включаючи суфікс файлу) | +| `-j` | Використовуйте bzip2 як тип стиснення. Застосовуються як створення архівів, так і вилучення з архівів | +| `-J` | Використовуйте "xz" як тип стиснення. Застосовуються як створення архівів, так і вилучення з архівів | +| `-C` | Зберігає розташування після вилучення файлів з архіву | +| `-P` | Зберігає в абсолютному режимі | + +Для інших допоміжних опцій, не згаданих, див. `man 1 tar` + +!!! warning "Різниця версії" + +``` +У деяких старіших версіях tar параметри називаються «ключами», що означає, що використання параметрів із префіксом «-» може призвести до того, що `tar` не працюватиме належним чином. На цьому етапі вам потрібно видалити префікс "-", щоб він працював належним чином. +``` + +### Про стилі варіантів + +`tar` надає три опційні стилі: + +1. Традиційний стиль: + + - `tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]`. + +2. Використання стилю короткого варіанту: + + - `tar -A [OPTIONS] ARCHIVE ARCHIVE` + - `tar -c [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar -d [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]` + - `tar -r [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar -u [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]` + +3. Використання стилю довгого варіанту: + + - `tar {--catenate|--concatenate} [OPTIONS] ARCHIVE ARCHIVE` + - `tar --create [--file ARCHIVE] [OPTIONS] [FILE...]` + - `tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FILE...]` + - `tar --delete [--file ARCHIVE] [OPTIONS] [MEMBER...]` + - `tar --append [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar --list [-f ARCHIVE] [OPTIONS] [MEMBER...]` + - `tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]` + - `tar --update [--file ARCHIVE] [OPTIONS] [FILE...]` + - `tar --update [-f ARCHIVE] [OPTIONS] [FILE...]` + - `tar {--extract|--get} [-f ARCHIVE] [OPTIONS] [MEMBER...]` + +Другий метод є більш поширеним і відповідає звичкам більшості користувачів GNU/Linux. + +### Ефективність компресії та частота використання + +`tar` не має можливостей стиснення, тому його потрібно використовувати разом з іншими інструментами стиснення. Стиснення та декомпресія впливатиме на споживання ресурсів. + +Ось рейтинг стиснення набору текстових файлів від найменшого до найбільш ефективного: + +- compress (`.tar.Z`) - Менш популярний +- gzip (`.tar.gz` or `.tgz`) - Популярний +- bzip2 (`.tar.bz2` or `.tb2` or `.tbz`) - Популярний +- lzip (`.tar.lz`) - Менш популярний +- xz (`.tar.xz`) - Популярний + +### Правила іменування для `tar` + +Ось приклади іменування архівів `tar`: + +| Основна функція та допоміжні опції | Файли | Суфікс | Функціональність | +| ---------------------------------- | ------- | ---------------- | ----------------------------------------------- | +| `-cvf` | `home` | `home.tar` | `/home` у відносному режимі, нестиснена форма | +| `-cvfP` | `/etc` | `etc.A.tar` | `/etc` в абсолютному режимі, без стиснення | +| `-cvfz` | `usr` | `usr.tar.gz` | `/usr` у відносному режимі, стиснення _gzip_ | +| `-cvfj` | `usr` | `usr.tar.bz2` | `/usr` у відносному режимі, стиснення _bzip2_ | +| `-cvfPz` | `/home` | `home.A.tar.gz` | `/home` в абсолютному режимі, стиснення _gzip_ | +| `-cvfPj` | `/home` | `home.A.tar.bz2` | `/home` в абсолютному режимі, стиснення _bzip2_ | + +Ви також можете додати дату до імені файлу. + +### Приклад використання + +#### Тип `-c` + +1. Архівуйте та стискайте **/etc/** у відносному режимі з суфіксом `.tar.gz`: + + ```bash + Shell > tar -czvf /tmp/etc-20241207.tar.gz /etc/ + ``` + + Через те, що `tar` за замовчуванням працює у відносному режимі, перший рядок виводу команди відображатиме наступне: + + ```bash + tar: Removing leading '/' from member names + ``` + +2. Архівуйте **/var/log/** і виберіть тип xz для стиснення: + + ```bash + Shell > tar -cJvf /tmp/log-20241207.tar.xz /var/log/ + + Shell > du -sh /var/log/ ; ls -lh /tmp/log-20241207.tar.xz + 18M /var/log/ + -rw-r--r-- 1 root root 744K Dec 7 14:40 /tmp/log-20241207.tar.xz + ``` + +3. Оцініть розмір файлу без створення архіву: + + ```bash + Shell > tar -cJf - /etc | wc -c + tar: Removing leading `/' from member names + 3721884 + ``` + + Одиницею виведення команди `wc -c` є байти. + +4. Виріжте великі файли `.tar.gz`: + + ```bash + Shell > cd /tmp/ ; tar -czf - /etc/ | split -d -b 2M - etc-backup20241207.tar.gz. + + Shell > ls -lh /tmp/ + -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.00 + -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.01 + -rw-r--r-- 1 root root 2.0M Dec 7 20:46 etc-backup20241207.tar.gz.02 + -rw-r--r-- 1 root root 70K Dec 7 20:46 etc-backup20241207.tar.gz.03 + ``` + + Перший «-» представляє вхідні параметри `tar`, тоді як другий «-» повідомляє `tar` перенаправити вихід на `stdout`. + + Щоб витягнути ці вирізані невеликі файли, ви можете вказати таку операцію: + + ```bash + Shell > cd /tmp/ ; cat etc-backup20241207.tar.gz.* >> /tmp/etc-backup-20241207.tar.gz + + Shell > cd /tmp/ ; tar -xvf etc-backup-20241207.tar.gz -C /tmp/dir1/ + ``` + +#### Тип `-x` + +1. Завантажте вихідний код Redis і розпакуйте його в каталог `/usr/local/src/`: + + ```bash + Shell > wget -c https://github.com/redis/redis/archive/refs/tags/7.4.1.tar.gz + + Shell > tar -xvf 7.4.1.tar.gz -C /usr/local/src/ + ``` + +2. Розпакуйте лише один файл із zip-архіву + + ```bash + Shell > tar -xvf /tmp/etc-20241207.tar.gz etc/chrony.conf + ``` + +#### Тип -A або -r + +1. Додайте один файл `.tar` до іншого файлу `.tar`: + + ```bash + Shell > tar -cvf /tmp/etc.tar /etc/ + + Shell > tar -cvf /tmp/log.tar /var/log/ + + Shell > tar -Avf /tmp/etc.tar /tmp/log.tar + ``` + + Це означає, що всі файли в "log.tar" будуть додані в кінець "etc.tar". + +2. Додайте файли або каталоги до файлу `.tar`: + + ```bash + Shell > tar -rvf /tmp/log.tar /etc/chrony.conf + tar: Removing leading `/' from member names + /etc/chrony.conf + tar: Removing leading `/' from hard link targets + + Shell > tar -rvf /tmp/log.tar /tmp/dir1 + ``` + +!!! warning "Важливо" + +``` +Незалежно від того, чи використовуєте ви опцію «-A» чи «-r», враховуйте режим збереження відповідних архівних файлів. +``` + +!!! warning "Важливо" + +``` +`-A` і `-r` не застосовуються до заархівованих стиснених файлів. +``` + +#### тип `-t` + +1. Перегляньте вміст архіву: + + ```bash + Shell > tar -tvf /tmp/log.tar + + Shell > tar -tvf /tmp/etc-20241207.tar.gz | less + ``` + +#### тип `-d` + +1. Порівняйте відмінності файлів: + + ```bash + Shell > cd / ; tar -dvf /tmp/etc.tar etc/chrony.conf + etc/chrony.conf + + Shell > cd / ; tar -dvf /tmp/etc-20241207.tar.gz etc/ + ``` + + Для методів зберігання, які використовують відносний режим, при використанні типу `-d` змініть шлях до файлу на '/'. + +#### тип `-u` + +1. Якщо існує кілька версій одного файлу, ви можете використовувати тип `-u`: + + ```bash + Shell > touch /tmp/tmpfile1 + + Shell > tar -rvf /tmp/log.tar /tmp/tmpfile1 + + Shell > echo "File Name" >> /tmp/tmpfile1 + + Shell > tar -uvf /tmp/log.tar /tmp/tmpfile1 + + Shell > tar -tvf /tmp/log.tar + ... + -rw-r--r-- root/root 0 2024-12-07 18:53 tmp/tmpfile1 + -rw-r--r-- root/root 10 2024-12-07 18:54 tmp/tmpfile1 + ``` + +#### Тип `--delete` + +1. Ви також можете використовувати `--delete`, щоб видалити файли всередині `.tar` файлу. + + ```bash + Shell > tar --delete -vf /tmp/log.tar tmp/tmpfile1 + + Shell > tar --delete -vf /tmp/etc.tar etc/motd.d/ + ``` + + При видаленні ви видаляєте з архіву всі файли з однаковою назвою. + +## Загальноприйнята термінологія + +Деякі веб-сайти згадують два терміни: + +- **tarfile** - Відноситься до нестиснутих архівних файлів, таких як файли `.tar` +- **tarball** - Відноситься до стислих архівних файлів, таких як `.tar.gz` і `.tar.xz` From 2737b9fcf1713b4403c135eab66ebcd253652960 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:29:07 -0500 Subject: [PATCH 29/45] New translations 09-backups.md (Ukrainian) --- docs/books/admin_guide/09-backups.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/books/admin_guide/09-backups.uk.md b/docs/books/admin_guide/09-backups.uk.md index 6324aeacc..70f8d6259 100644 --- a/docs/books/admin_guide/09-backups.uk.md +++ b/docs/books/admin_guide/09-backups.uk.md @@ -90,7 +90,7 @@ title: Резервне копіювання і відновлення Залежно від доступних утиліт, можливо виконати декілька типів відновлення. -У деяких системах керування реляційними базами даних відповідні операції «відновити» (іноді «відновлення» використовується в документації) і «відновити» відрізняються. Для отримання додаткової інформації зверніться до офіційної документації. Цей основний документ не буде вдаватися в надто багато деталей щодо цієї частини RDBMS. +У деяких системах керування реляційними базами даних відповідні операції «відновити» (іноді «відновлення» використовується в документації) і «відновити» відрізняються. Для отримання додаткової інформації зверніться до офіційної документації. Для отримання додаткової інформації зверніться до офіційної документації. Цей основний документ не буде вдаватися в надто багато деталей щодо цієї частини RDBMS. * **Повне відновлення**: відновлення даних на основі повного резервного копіювання або «Повного резервного копіювання + інкрементного резервного копіювання» або «Повного резервного копіювання + диференціального резервного копіювання». * **Вибіркове відновлення**: відновлення даних на основі вибіркового резервного копіювання (часткове резервне копіювання). From d0b7ca8649d14245300144781591d97814932428 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:30:59 -0500 Subject: [PATCH 30/45] New translations dokuwiki_server.md (Ukrainian) --- docs/guides/cms/dokuwiki_server.uk.md | 214 ++++++++++++-------------- 1 file changed, 96 insertions(+), 118 deletions(-) diff --git a/docs/guides/cms/dokuwiki_server.uk.md b/docs/guides/cms/dokuwiki_server.uk.md index 5043a91ee..1f1525810 100644 --- a/docs/guides/cms/dokuwiki_server.uk.md +++ b/docs/guides/cms/dokuwiki_server.uk.md @@ -1,5 +1,5 @@ --- -title: DokuWiki +title: Сервер DokuWiki author: Steven Spencer contributors: Ezequiel Bruni, Ganna Zhyrnova tested_with: 8.5, 8.6, 9.0 @@ -8,17 +8,15 @@ tags: - документація --- -# Сервер DokuWiki - ## Передумови та припущення - Екземпляр Rocky Linux, встановлений на сервері, контейнері або віртуальній машині. - Зручно змінювати конфігураційні файли з командного рядка за допомогою редактора (наші приклади тут використовуватимуть _vi_, але ви можете замінити свій улюблений редактор). - Деякі знання про веб-програми та налаштування. -- У нашому прикладі буде використано [Apache Sites Enabled](../web/apache-sites-enabled.md) для налаштування, тому радимо переглянути цю процедуру, якщо ви плануєте продовжувати. +- У нашому прикладі для налаштування буде використано [Apache Sites Enabled](../web/apache-sites-enabled.md). Перегляньте це, якщо необхідно. - У цьому прикладі ми будемо використовувати «example.com» як доменне ім’я. -- У цьому документі ми припускатимемо, що ви є користувачем root або можете отримати доступ за допомогою _sudo_. -- Ми припускаємо нове встановлення ОС, однак це **НЕ** є вимогою. +- Щоб підвищити привілеї, ви повинні бути адміністратором або вміти `sudo` +- Однак, припускаючи нову інсталяцію операційної системи, це не є обов’язковою умовою ## Вступ @@ -30,37 +28,43 @@ DokuWiki — це лише одна з багатьох доступних ві ## Встановлення залежностей -Мінімальна версія PHP для DokuWiki тепер становить 7.2, і це саме те, що поставляється з Rocky Linux 8. Rocky Linux 9.0 поставляється з PHP версії 8.0, яка також повністю підтримується. Тут ми вказуємо пакети, які вже можуть бути встановлені: - -`dnf install tar wget httpd php php-gd php-xml php-json php-mbstring` +Мінімальна версія PHP для DokuWiki тепер становить 7.2, і це саме те, що поставляється з Rocky Linux 8. Завдяки модулям Rocky Linux 8 можна встановити до версії 8.2. Rocky Linux 9.0 за замовчуванням має PHP версії 8.0 і модулі, які підтримують до 8.2. Зауважте, що деякі з перелічених тут пакетів можуть уже існувати: -Ви побачите список додаткових залежностей, які буде встановлено, і таке повідомлення: - -`Is this ok [y/N]:` +```bash +dnf install tar wget httpd php php-gd php-xml php-json php-mbstring +``` -Далі відповідайте "y" і натисніть "Enter", щоб установити. +Прийміть і встановіть будь-які додаткові перераховані залежності, які постачаються з цими пакетами. ## Створення каталогів і зміна конфігурації ### Конфігурація Apache -Якщо ви прочитали процедуру [Apache Sites Enabled](../web/apache-sites-enabled.md), ви знаєте, що нам потрібно створити кілька каталогів. Ми почнемо з додавання каталогу конфігурації _httpd_: +Якщо ви прочитали процедуру [Apache Sites Enabled](../web/apache-sites-enabled.md), ви знаєте, що вам потрібно створити кілька каталогів. Почніть із додавання каталогу конфігурації _httpd_: -`mkdir -p /etc/httpd/{sites-available,sites-enabled}` +```bash +mkdir -p /etc/httpd/{sites-available,sites-enabled} +``` -Нам потрібно відредагувати файл httpd.conf: +Вам потрібно відредагувати файл `httpd.conf`: -`vi /etc/httpd/conf/httpd.conf` +```bash +vi /etc/httpd/conf/httpd.conf +``` -І додайте це в самий низ файлу: +Додайте це в самий низ файлу: -`Include /etc/httpd/sites-enabled` +```bash +Include /etc/httpd/sites-enabled +``` Створіть файл конфігурації сайту в sites-available: -`vi /etc/httpd/sites-available/com.example` +```bash +vi /etc/httpd/sites-available/com.example +``` -Файл конфігурації має виглядати приблизно так: +Цей файл конфігурації буде схожий на цей: ```apache @@ -83,35 +87,45 @@ DokuWiki — це лише одна з багатьох доступних ві ``` -Зауважте, що наведений вище пункт «AllowOverride All» дозволяє працювати файлу .htaccess (захист для певного каталогу). +Зауважте, що параметр «AllowOverride All» вище дозволяє працювати файлу `.htaccess` (безпека для певного каталогу). Зв’яжіть файл конфігурації з підтримкою сайтів, але поки що не запускайте веб-служби: -`ln -s /etc/httpd/sites-available/com.example /etc/httpd/sites-enabled/` +```bash +ln -s /etc/httpd/sites-available/com.example /etc/httpd/sites-enabled/ +``` ### Apache DocumentRoot -Нам також потрібно створити наш _DocumentRoot_. Для цього: +Вам потрібно створити свій _DocumentRoot_. Зробіть це за допомогою: -`mkdir -p /var/www/sub-domains/com.example/html` +```bash +mkdir -p /var/www/sub-domains/com.example/html +``` ## Встановлення DokuWiki На вашому сервері перейдіть до кореневого каталогу. -`cd /root` +```bash +cd /root +``` -Тепер, коли наше середовище готове до роботи, давайте отримаємо останню стабільну версію DokuWiki. Ви можете знайти це, перейшовши на [сторінку завантаження](https://download.dokuwiki.org/), і ліворуч на сторінці в розділі "Версія" ви побачите "Стабільна (Рекомендовано) (пряме посилання)." +Оскільки ваше середовище готове до роботи, отримайте останню стабільну версію DokuWiki. Ви можете знайти це, перейшовши на [сторінку завантаження](https://download.dokuwiki.org/), і ліворуч на сторінці в розділі «Версія» ви побачите «Stable (Recommended) (direct link)». -Клацніть правою кнопкою миші на частині "(пряме посилання)" та скопіюйте адресу посилання. У консолі вашого сервера DokuWiki введіть «wget» і пробіл, а потім вставте скопійоване посилання в терміналі. Ви повинні отримати щось на зразок цього: +Клацніть правою кнопкою миші на частині "(direct link)" та скопіюйте посилання. У консолі вашого сервера DokuWiki введіть `wget` і пробіл, а потім вставте скопійоване посилання в термінал. Ви повинні отримати щось подібне до цього: -`wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz` +```bash +wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz +``` -Перш ніж розпакувати архів, подивіться на вміст за допомогою `tar ztf`, щоб побачити вміст архіву: +Перш ніж розпакувати архів, перевірте його вміст за допомогою `tar ztf`: -`tar ztvf dokuwiki-stable.tgz` +```bash +tar ztvf dokuwiki-stable.tgz +``` -Помітили названий датований каталог попереду всіх інших файлів, який виглядає приблизно так? +Зверніть увагу на названий датований каталог перед усіма іншими файлами, які виглядають подібно до цього: ```text ... (more above) @@ -121,33 +135,39 @@ dokuwiki-2020-07-29/inc/lang/fr/recent.txt ... (more below) ``` -Нам не потрібний цей провідний іменований каталог, коли ми розпаковуємо архів, тому ми збираємося використати деякі параметри з tar, щоб виключити його. Першим варіантом є "--strip-components=1", який видаляє цей провідний каталог. - -Друга опція — це опція «-C», яка вказує tar, куди ми хочемо розпакувати архів. Отже, розпакуйте архів за допомогою цієї команди: +Вам не потрібен цей початковий іменований каталог під час розпакування архіву, тому ви скористаєтеся деякими параметрами з `tar`, щоб виключити його. Першим варіантом є "--strip-components=1", який видаляє початковий каталог. Друга опція — це опція «-C», яка вказує `tar`, куди потрібно розпакувати архів. Декомпресія буде схожою на цю: -`tar xzf dokuwiki-stable.tgz --strip-components=1 -C /var/www/sub-domains/com.example/html/` +```bash +tar xzf dokuwiki-stable.tgz --strip-components=1 -C /var/www/sub-domains/com.example/html/ +``` -Після того, як ми виконаємо цю команду, весь DokuWiki має бути в нашому _DocumentRoot_. +Після виконання цієї команди весь DokuWiki має бути у вашому _DocumentRoot_. -Нам потрібно зробити копію файлу _.htaccess.dist_, який надійшов із DokuWiki, і залишити там старий файл на випадок, якщо нам знадобиться повернутися до оригіналу в майбутнє. +Вам потрібно зробити копію файлу _.htaccess.dist_, який надійшов із DokuWiki, і зберегти там старий файл на випадок, якщо вам знадобиться повернутися до оригіналу. -У процесі ми змінимо назву цього файлу просто на _.htaccess_, що й буде шукати _apache_. Для цього: +У процесі ви зміните назву цього файлу на _.htaccess_. Це те, що шукатиме _apache_. Для цього: -`cp /var/www/sub-domains/com.example/html/.htaccess{.dist,}` +```bash +cp /var/www/sub-domains/com.example/html/.htaccess{.dist,} +``` -Тепер нам потрібно змінити право власності на новий каталог і його файли на користувача та групу _apache_: +Вам потрібно змінити право власності на новий каталог і його файли на користувача та групу _apache_: -`chown -Rf apache.apache /var/www/sub-domains/com.example/html` +```bash +chown -Rf apache.apache /var/www/sub-domains/com.example/html +``` -## Налаштування DNS або /etc/hosts +## Налаштування DNS або `/etc/hosts` -Перш ніж ви зможете отримати доступ до інтерфейсу DokuWiki, вам потрібно встановити роздільну здатність імен для цього сайту. Для тестування ви можете використати свій файл _/etc/hosts_. +Перш ніж отримати доступ до інтерфейсу DokuWiki, ви повинні встановити роздільну здатність імен для цього сайту. Ви можете використовувати файл _/etc/hosts_ для тестування. -У цьому прикладі припустімо, що DokuWiki працюватиме на приватній IPv4-адресі 10.56.233.179. Припустімо також, що ви змінюєте файл _/etc/hosts_ на робочій станції Linux. Для цього запустіть: +У цьому прикладі припустимо, що DokuWiki працюватиме на приватній IPv4-адресі 10.56.233.179. Припустімо, ви змінюєте файл _/etc/hosts_ на робочій станції Linux. Для цього запустіть: -`sudo vi /etc/hosts` +```bash +sudo vi /etc/hosts +``` -Потім змініть файл hosts, щоб він виглядав приблизно так (зверніть увагу на IP-адресу вище в наведеному нижче прикладі): +Потім змініть свій хост-файл, щоб він виглядав приблизно так (зверніть увагу на IP-адресу вище в прикладі): ```bash 127.0.0.1 localhost @@ -162,37 +182,41 @@ ff02::1 ip6-allnodes ff02::2 ip6-allrouters ``` -Коли ви завершите тестування та будете готові запустити роботу для всіх, вам потрібно буде додати цей хост до DNS-сервера. Це можна зробити за допомогою [приватного DNS-сервера](../dns/private_dns_server_using_bind.md) або відкритого DNS-сервера. +Коли ви завершите тестування та будете готові працювати для всіх, ви повинні додати цей хост до DNS-сервера. Ви можете використовувати [Приватний DNS-сервер](../dns/private_dns_server_using_bind.md) або загальнодоступний DNS-сервер. -## Запуск httpd +## Запуск `httpd` -Перш ніж розпочати _httpd_, давайте перевіримо, чи наша конфігурація правильна: +Перш ніж запускати _httpd_, перевірте, чи ваша конфігурація правильна: -`httpd -t` +```bash +httpd -t +``` Ви повинні отримати: -`Syntax OK` +```text +Syntax OK +``` -Якщо так, ви повинні бути готові запустити _httpd_, а потім завершити налаштування. Почнемо з увімкнення _httpd_ для запуску під час завантаження: +Якщо так, ви повинні бути готові запустити _httpd_, а потім завершити налаштування. Почніть із увімкнення _httpd_ для запуску під час завантаження: -`systemctl enable httpd` +```bash +systemctl enable httpd +``` -А потім почніть наступне: +Потім запустіть: -`systemctl start httpd` +```bash +systemctl start httpd +``` ## Тестування DokuWiki -Тепер, коли наше ім’я хоста налаштовано для тестування та веб-службу запущено, наступним кроком буде відкрити веб-браузер і ввести це в адресному рядку: - -`http://example.com/install.php` +Наступним кроком буде відкрити веб-браузер і ввести це в адресному рядку: -Або + -`http://example.com/install.php` - -Будь-який має працювати, якщо ви налаштуєте файл hosts, як зазначено вище. Це приведе вас до екрана налаштування, щоб ви могли завершити налаштування: +Це приведе вас до екрана налаштування: - У полі «Wiki Name» введіть назву нашої вікі. Приклад «Технічна документація» - У полі «Superuser» введіть ім’я адміністратора. Наприклад, "admin" @@ -211,63 +235,17 @@ ff02::2 ip6-allrouters Окрім політики ACL, яку ви щойно створили, розгляньте: -### Ваш брандмауер +### Ваш брандмауер `firewalld` !!! note "Примітка" - Жоден із цих прикладів брандмауера не робить жодних припущень щодо того, які ще служби вам може знадобитися дозволити на вашому сервері Dokuwiki. Ці правила базуються на нашому середовищі тестування й стосуються **ТІЛЬКИ** дозволу доступу до IP-блоку ЛОКАЛЬНОЇ мережі. Вам знадобиться більше послуг, дозволених для робочого сервера. - -Перш ніж сказати що все готово, потрібно подумати про безпеку. По-перше, ви повинні запустити брандмауер на сервері. Ми припустимо, що ви використовуєте один із наведених нижче брандмауерів. - -Замість того, щоб усі мали доступ до вікі, ми припустимо, що будь-хто в мережі 10.0.0.0/8 знаходиться у вашій приватній локальній мережі, і це єдині люди, яким потрібен доступ до сайту. - -#### Брандмауер `iptables` (не підтримується) - -!!! warning "Важливо" - - Процес брандмауера `iptables` у Rocky Linux 9.0 застарів (все ще доступний, але, ймовірно, зникне в наступних випусках, можливо, вже в Rocky Linux 9.1). З цієї причини ми рекомендуємо перейти до процедури `firewalld`, наведеної нижче, якщо ви робите це на версії 9.0 або новішій. - -Зверніть увагу, що вам можуть знадобитися інші правила для інших служб на цьому сервері, і що цей приклад враховує лише веб-служби. - -Спочатку змініть або створіть файл _/etc/firewall.conf_: - -`vi /etc/firewall.conf` - -```bash -#IPTABLES=/usr/sbin/iptables - -# Unless specified, the default for OUTPUT is ACCEPT -# The default for FORWARD and INPUT is DROP -# -echo " clearing any existing rules and setting default policy.." -iptables -F INPUT -iptables -P INPUT DROP -# web ports -iptables -A INPUT -p tcp -m tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT -iptables -A INPUT -p tcp -m tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT -iptables -A INPUT -i lo -j ACCEPT -iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset -iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable - -/usr/sbin/service iptables save -``` - -Після створення сценарію переконайтеся, що він виконуваний: - -`chmod +x /etc/firewall.conf` - -Потім виконайте сценарій: - -`/etc/firewall.conf` - -Це виконає правила та збереже їх, щоб вони були перезавантажені під час наступного запуску _iptables_ або під час завантаження. + У цьому прикладі брандмауера не передбачається, які інші служби вам може знадобитися дозволити на вашому сервері DokuWiki. Ці правила базуються на вашому середовищі тестування та стосуються **ЛИШЕ** дозволу доступу до IP-блоку ЛОКАЛЬНОЇ мережі. Вам знадобиться більше послуг, дозволених для робочого сервера. -#### Брандмауер `firewalld` +Перш ніж сказати що все готово, потрібно подумати про безпеку. По-перше, ви повинні запустити брандмауер на сервері. -Якщо ви використовуєте `firewalld` як свій брандмауер (а до цього часу ви, ймовірно, _маєте_), ви можете застосувати ті самі концепції за допомогою `синтаксис firewall-cmd` брандмауера. +Припускається, що будь-хто в мережі 10.0.0.0/8 знаходиться у вашій приватній локальній мережі, і це єдині люди, яким потрібен доступ до сайту. -Ми будемо дублювати правила `iptables` (вище) правилами `firewalld`: +Якщо ви використовуєте `firewalld` як брандмауер, використовуйте такий синтаксис правила: ```bash firewall-cmd --zone=trusted --add-source=10.0.0.0/8 --permanent @@ -275,13 +253,13 @@ firewall-cmd --zone=trusted --add-service=http --add-service=https --permanent firewall-cmd --reload ``` -Після додавання наведених вище правил і перезавантаження служби firewalld виведіть свою зону в список, щоб переконатися, що там є все, що вам потрібно: +Після додавання наведених вище правил і перезавантаження служби `firewalld` перерахуйте свою зону, щоб переконатися, що там є все, що вам потрібно: ```bash firewall-cmd --zone=trusted --list-all ``` -який повинен показати вам щось подібне, якщо все вищезазначене спрацювало правильно: +Це виглядатиме приблизно так, якщо все працювало правильно: ```bash trusted (active) @@ -302,8 +280,8 @@ trusted (active) ### SSL -Для найкращої безпеки вам слід розглянути можливість використання SSL, щоб весь веб-трафік був зашифрований. Ви можете придбати SSL у постачальника SSL або скористатися [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md). +Для найкращої безпеки вам слід розглянути можливість використання SSL для зашифрованого веб-трафіку. Ви можете придбати SSL у постачальника SSL або скористатися [Let's Encrypt](../security/generating_ssl_keys_lets_encrypt.md). ## Висновок -Незалежно від того, чи потрібно вам задокументувати процеси, політику компанії, програмний код чи щось інше, вікі — чудовий спосіб це зробити. DokuWiki — це безпечний, гнучкий, простий у використанні, відносно простий у встановленні та розгортанні продукт, який є стабільним проектом, який існує вже багато років. +Незалежно від того, чи потрібно вам задокументувати процеси, політику компанії, програмний код чи щось інше, вікі — чудовий спосіб це зробити. DokuWiki — це безпечний, гнучкий, простий у використанні продукт, який також відносно легко встановити та розгорнути. Це також стабільний проект, який існує вже багато років. From 7959213a75b4aadb5a7c97de2d7bb258624f6474 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:34:40 -0500 Subject: [PATCH 31/45] New translations wordpress-on-lamp.md (Ukrainian) --- docs/guides/cms/wordpress-on-lamp.uk.md | 243 ++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 docs/guides/cms/wordpress-on-lamp.uk.md diff --git a/docs/guides/cms/wordpress-on-lamp.uk.md b/docs/guides/cms/wordpress-on-lamp.uk.md new file mode 100644 index 000000000..ba66f8480 --- /dev/null +++ b/docs/guides/cms/wordpress-on-lamp.uk.md @@ -0,0 +1,243 @@ +--- +title: WordPress на LAMP +author: Joseph Brinkman +contributors: Steven Spencer +tested_with: 9.2 +--- + +## Передумови + +- Система Rocky Linux 9.x +- привілеї sudo + +## Вступ + +WordPress — це система керування вмістом (CMS) із відкритим вихідним кодом, яка відома своєю [відомою 5-хвилинною установкою](https://developer.wordpress.org/advanced-administration/before-install/howto-install/). Зазвичай його розгортають у стеку LAMP (Linux, Apache, MySQL, PHP). Хоча ефективні локальні засоби розробки, такі як [XAMPP](https://www.apachefriends.org/), [Vagrant](https://www.vagrantup.com/) і [wp-env](https:// developer.wordpress.org/block-editor/reference-guides/packages/packages-env/) широко доступні, ручне встановлення WordPress на LAMP для локальної розробки забезпечує цінний практичний підхід для початківців, які прагнуть глибшого розуміння. + +Цей посібник припускає, що у вас уже встановлено Rocky Linux 9.x, таким чином охоплюючи частину «L» стеку LAMP. + +У цьому посібнику описано, як вручну встановити WordPress зі стеком LAMP на комп’ютері Rocky Linux 9. Це не посібник, готовий до виробництва, а відправна точка для розвитку. Налаштування LAMP, включене в цей посібник, не рекомендоване для будь-чого, окрім локальної розробки, без попереднього вжиття належних заходів безпеки, які вимагають додаткового налаштування. + +## Оновлення системних пакетів + +Переконайтеся, що пакети вашої системи оновлені: + +```bash + sudo dnf upgrade -y +``` + +## Встановлення Apache + +Apache — це веб-сервер, який обслуговуватиме ваш сайт WordPress. Встановіть його за допомогою: + +```bash + sudo dnf install httpd -y +``` + +## Увімкніть Apache для запуску під час завантаження + +Після встановлення Apache увімкніть його, щоб він запускався автоматично під час завантаження: + +```bash + sudo systemctl enable --now httpd +``` + +## Встановлення MariaDB + +WordPress зберігає динамічний вміст у базі даних MySQL. MariaDB — це розгалуження MySQL з відкритим кодом. Встановіть його за допомогою: + +```bash + sudo dnf install mariadb-server -y +``` + +## Увімкніть сервер MariaDB + +Після встановлення MariaDB увімкніть його, щоб він запускався автоматично під час завантаження: + +```bash + sudo systemctl enable --now mariadb +``` + +## Безпека MariaDB + +Запустіть сценарій mysql_secure_installation: + +```bash + sudo mysql_secure_installation --use-default +``` + +Цей сценарій виконує наступне: + +1. Встановлює пароль root, якщо його ще не встановлено + +2. Видаляє анонімних користувачів + +3. Забороняє віддалений вхід root + +4. Прибирає доступ до тестової бази даних + +5. Перезавантажує привілеї + +## Встановлення PHP + +PHP — це програмування, яке використовується для взаємодії з базою даних MySQL і виконання динамічних дій. Він широко використовується в ядрі, темах і плагінах WordPress. + +Встановіть PHP і необхідні пакети для підключення до MySQL: + +```bash + sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring +``` + +Після інсталяції PHP необхідно перезавантажити Apache, щоб інсталювати його як модуль Apache, і прочитати файли конфігурації: + +## Перезапустіть Apache + +```bash + sudo systemctl restart httpd +``` + +Використовуйте `curl`, щоб завантажити останню версію WordPress: + +## Отримайте та розпакуйте WordPress + +```bash + curl -O https://wordpress.org/latest.tar.gz +``` + +Користувач `tar`, щоб розпакувати завантажений архів: + +```bash + tar -xzvf latest.tar.gz +``` + +Скопіюйте файли WordPress у загальнодоступний каталог Apache за замовчуванням: + +```bash + sudo cp -r wordpress/* /var/www/html +``` + +## Встановіть власника + +Зробити Apache власником файлів: + +```bash + sudo chown -R apache:apache /var/www/html/ +``` + +Встановіть дозволи для файлів WordPress: + +## Встановити дозволи + +```bash + sudo chmod -R 755 /var/www/html/ +``` + +Увійдіть до MySQL CLI: + +## Налаштувати базу даних + +```bash + sudo mysql -u root -p +``` + +Створіть нову базу даних для свого сайту WordPress: + +## Створіть нову базу даних + +```bash + CREATE DATABASE LOCALDEVELOPMENTENV; +``` + +Створіть користувача з паролем для вашої бази даних: + +!!! Note "Примітка" + +``` +Настійно рекомендується використовувати надійний пароль. +``` + +## Створіть нового користувача та пароль + +```bash + CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password'; +``` + +Надайте всі привілеї вашої бази даних WordPress щойно створеному користувачеві: + +```bash + GRANT ALL PRIVILEGES ON LOCALDEVELOPMENTENV.* TO 'admin'@'localhost'; +``` + +Очищення привілеїв для забезпечення застосування змін: + +```bash + FLUSH PRIVILEGES; +``` + +Вийдіть із MySQL CLI: + +```bash + EXIT; +``` + +## Налаштування WordPress + +Скопіюйте шаблон `wp-config-sample.php` і перейменуйте його: + +```bash + sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php +``` + +Відкрийте файл `wp-config.php` за допомогою вибраного вами текстового редактора: + +```bash + sudo vi /var/www/html/wp-config.php +``` + +## Замінити налаштування бази даних + +Ви повинні визначити такі константи у своєму файлі `wp-config.php`: + +```bash + define ('DB_NAME', 'LOCALDEVELOPMENTENV'); + define ('DB_USER', 'admin'); + define ('DB_PASSWORD', 'password'); +``` + +## Налаштування брандмауера + +Відкрийте служби HTTP та HTTPS у своєму брандмауері: + +```bash + sudo firewall-cmd --add-service=http --add-service=https +``` + +Перезавантажте `firewalld`, щоб переконатися, що зміни набули чинності: + +```bash + sudo systemctl reload firewalld +``` + +## Налаштування SELinux + +Щоб дозволити Apache читати та записувати ваші файли WordPress, виконайте цю команду: + +```bash + chcon -R -t httpd_sys_rw_content_t /var/www/html/ +``` + +Щоб дозволити Apache створювати мережеві підключення, виконайте цю команду: + +!!! Note "Примітка" + +``` +Прапорець `-P` робить цю конфігурацію постійною під час перезавантаження +``` + +```bash + setsebool -P httpd_can_network_connect true +``` + +## Висновок + +Щоб завершити інсталяцію, тепер ви зможете підключитися до WordPress через мережу за допомогою імені хоста сервера або приватної IP-адреси. Пам’ятайте, що це налаштування насамперед призначено для цілей місцевого розвитку. Для використання у виробництві вам потрібно налаштувати наступне: встановити доменне ім’я, установити сертифікат SSL, посилити сервер Apache, точно налаштувати конфігурацію SELinux і створити резервні копії. Тим не менш, дотримання цього посібника створило надійну відправну точку для розробки WordPress на стеку LAMP. From 428b1dfbc798b7a203b2b26409c2611646c972ca Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:34:52 -0500 Subject: [PATCH 32/45] New translations chyrp_lite.md (Ukrainian) --- docs/guides/cms/chyrp_lite.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/cms/chyrp_lite.uk.md b/docs/guides/cms/chyrp_lite.uk.md index 4254139d7..df8abf4dc 100644 --- a/docs/guides/cms/chyrp_lite.uk.md +++ b/docs/guides/cms/chyrp_lite.uk.md @@ -1,7 +1,7 @@ --- title: Chyrp Lite author: Neel Chauhan -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tested_with: 9.5 tags: - cms From 04847452098848ceb4d4990f1a4540f8f8876804 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 06:34:54 -0500 Subject: [PATCH 33/45] New translations tar.md (Ukrainian) --- docs/guides/backup/tar.uk.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/guides/backup/tar.uk.md b/docs/guides/backup/tar.uk.md index d912fc56b..8423cd4d8 100644 --- a/docs/guides/backup/tar.uk.md +++ b/docs/guides/backup/tar.uk.md @@ -1,7 +1,7 @@ --- title: Команда tar author: tianci li -contributors: null +contributors: Ganna Zhyrnova tested_with: 8.1 tags: - tar @@ -11,7 +11,7 @@ tags: ## Огляд -`tar` — це інструмент, який використовується для обробки архівних файлів у GNU/Linux та інших операційних системах UNIX і розшифровується як «tape archive». +`tar` — це інструмент для обробки архівних файлів у GNU/Linux та інших операційних системах UNIX. Це розшифровується як «tape archive». Зручне зберігання файлів на магнітній стрічці було початковим використанням архівів tar. Назва «tar» походить від цього використання. Незважаючи на назву утиліти, `tar` може спрямовувати свій вихід на доступні пристрої, файли чи інші програми (за допомогою каналів) і отримувати доступ до віддалених пристроїв або файлів (як архіви). @@ -52,10 +52,8 @@ Shell > tar --show-defaults !!! tip "antic" -``` -Коли ви видобуваєте файли з архівних файлів, tar автоматично вибирає тип стиснення на основі доданого вручну суфікса. Наприклад, для файлів `.tar.gz` можна безпосередньо використовувати `tar -vxf` без використання `tar -zvxf`. -Вам **потрібно** вибрати тип стиснення для створення архівних стиснутих файлів. -``` +Коли ви видобуваєте файли з архівних файлів, tar автоматично вибирає тип стиснення на основі доданого вручну суфікса. Наприклад, для файлів `.tar.gz` можна напряму використовувати `tar -vxf` без використання `tar -zvxf`. +Ви **повинні** вибрати тип стиснення для створення архівних стиснутих файлів. !!! Note "Примітка" From 14aff3d945d71d18892de05d5fad122e507aeabb Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:55:25 -0500 Subject: [PATCH 34/45] New translations navigation.md (Ukrainian) --- docs/guides/contribute/navigation.uk.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/guides/contribute/navigation.uk.md b/docs/guides/contribute/navigation.uk.md index dc7912dfa..c5629838a 100644 --- a/docs/guides/contribute/navigation.uk.md +++ b/docs/guides/contribute/navigation.uk.md @@ -34,7 +34,7 @@ tags: MkDocs — це програма [Python](https://www.python.org), і додаткові пакети, які вона використовує, також є кодом Python, це означає, що середовище, необхідне для запуску MkDocs, має бути **правильно налаштованим середовищем Python**. Налаштування Python для завдань розробки (а саме те, що робиться під час запуску MkDocs) не є тривіальним завданням, і інструкції щодо цього виходять за рамки цього документа. Деякі міркування: -- Версія Python має бути >= 3.8, також **необхідно бути особливо обережним, щоб не використовувати «системну» версію Python комп’ютера, якщо на комп’ютері працює Linux/macOS**. Наприклад, на момент написання цього документа системною версією Python для macOS залишається версія 2.7. +- Версія 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 @@ -110,9 +110,9 @@ nav: - ... ``` -Тут `index*md` показує «Guides Home: », `installation*.md` показує посилання на документ «Встановлення Rocky Linux», а `migrate2rocky*.md` показує посилання на документ «Міграція на Rocky Linux». "*" у кожному посиланні дозволяє документу бути _будь-якою_ мовою. Нарешті, розміщення "Внести свій внесок" знаходиться під цими елементами, а не в звичайному (алфавітному) порядку сортування. Переглядаючи список, ви можете побачити, що робить кожен елемент. Зауважте, що після запису «Керування пакетами: package_management» є ще дві папки (безпека та веб). Вони не потребують додаткового форматування, тому ми просто повідомляємо `mkdocs` завантажувати їх зазвичай із «-...» +Тут `index*md` показує «Guides Home: », `installation*.md` показує посилання на документ «Встановлення Rocky Linux», а `migrate2rocky*.md` показує посилання на документ «Міграція на Rocky Linux». `*` у кожному посиланні дозволяє документу бути будь-якою мовою, наприклад, `index.fr.md`, `index.de.md`, і так далі. Нарешті, розміщення "Внести свій внесок" знаходиться під цими елементами, а не в звичайному (алфавітному) порядку сортування. Переглядаючи список, ви можете побачити, що робить кожен елемент. Зауважте, що після запису «Керування пакетами: package_management» є ще дві папки (безпека та веб). Вони не потребують додаткового форматування. Файл `.pages` повідомляє `mkdocs` завантажувати їх у звичайному режимі за допомогою `- ...`. -Ви також можете використовувати форматування YAML у реальному файлі. Причиною для цього може бути те, що початковий заголовок файлу такий довгий, що він просто погано відображається в розділі навігації. Як приклад візьмемо заголовок цього документа "# `mod_ssl` на Rocky Linux у середовищі веб-сервера httpd Apache". Це дуже довго. Він дуже погано відображається на бічній панелі навігації, коли відкрито навігаційний елемент «Інтернет». Щоб виправити це, ви можете спільно з автором змінити його заголовок або змінити спосіб його відображення в меню, додавши заголовок перед заголовком усередині документа. Для прикладу документа додано назву: +Ви також можете використовувати форматування YAML у реальному файлі. Причиною для цього може бути те, що початковий заголовок файлу такий довгий, що він просто погано відображається в розділі навігації. Як приклад візьмемо заголовок цього документа "# `mod_ssl` на Rocky Linux у середовищі веб-сервера httpd Apache". Це дуже довго. Він дуже погано відображається на бічній панелі навігації, коли відкрито навігаційний елемент «Інтернет». Щоб виправити це, ви можете спільно з автором змінити його заголовок або змінити спосіб його відображення в меню, додавши заголовок перед заголовком усередині документа. У цьому прикладі додавання заголовка до основного матеріалу скорочує довжину заголовка в списку: ```text --- @@ -122,8 +122,12 @@ title: Apache With `mod_ssl` Це змінює назву щодо навігації, але залишає оригінальну назву автора в документі. -Ймовірно, не буде великої потреби в додаткових файлах `.pages`. Їх слід використовувати економно. +!!! info "Інформація" + + У більшості випадків заголовок автора буде заголовком рівня 1, а головна частина заголовка ТАКОЖ буде заголовком рівня 1 («#»). Це створює помилку розцінки в документі. Щоб уникнути цього, або повністю видаліть назву автора, або змініть її на заголовок рівня 2 ("##"). + +Ви повинні економно використовувати файли `.pages` лише за потреби. ## Висновок -Хоча навігаційні зміни, які, можливо, потрібно буде внести, не є складними, потенційна можливість зламати поточну документацію існує. З цієї причини лише менеджери та редактори з відповідними інструментами повинні мати дозвіл на редагування цих файлів. Наявність повного доступного середовища для перегляду того, як виглядатимуть живі сторінки, запобігає менеджеру чи редактору від помилок під час редагування цих файлів, порушуючи поточну документацію. +Хоча внесення необхідних навігаційних змін до файлів `.pages` не є складним завданням, існує ймовірність зламати поточну документацію. З цієї причини лише менеджери та редактори з відповідними інструментами повинні мати дозвіл на редагування цих файлів. Наявність повного доступного середовища для перегляду того, що відображаються на живих веб-сторінках, утримує менеджера чи редактора від помилок під час редагування цих файлів. From f90fcef547dc3698b27aeec9f72616ea2cc08082 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:55:31 -0500 Subject: [PATCH 35/45] New translations xfce_installation.md (Ukrainian) --- docs/guides/desktop/xfce_installation.uk.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/desktop/xfce_installation.uk.md b/docs/guides/desktop/xfce_installation.uk.md index a50187f60..18991501e 100644 --- a/docs/guides/desktop/xfce_installation.uk.md +++ b/docs/guides/desktop/xfce_installation.uk.md @@ -1,5 +1,5 @@ - - - -title: XFCE Desktop author: Gerard Arthus, Steven Spencer contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova tested_with: 8.9, 9.3 tags: +title: XFCE Desktop author: Gerard Arthus, Steven Spencer, Emre Camalan contributors: Steven Spencer, Antoine Le Morvan, K.Prasad, Ganna Zhyrnova tested_with: 8.9, 9.5 tags: - xfce - робочий стіл - - - @@ -24,7 +24,7 @@ title: XFCE Desktop author: Gerard Arthus, Steven Spencer contributors: Steven S ## 9: Отримайте, перевірте та запишіть живий образ XFCE - Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ XFCE у розділі завантаження для Rocky Linux 9 [живі образи](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). Зауважте, що це конкретне посилання передбачає, що x86_64 є архітектурою вашого процесора. + Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ XFCE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Зауважте, що це конкретне посилання передбачає, що x86_64 є архітектурою вашого процесора. На момент написання цієї статті ви можете використовувати архітектуру x86_64 або aarch64 для цього живого образу. Завантажте живий образ і файли контрольної суми. From 7a7ff6c3f465b90520891889d26314ae0e39a94f Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:56:19 -0500 Subject: [PATCH 36/45] New translations rockydocs_formatting.md (Ukrainian) --- .../contribute/rockydocs_formatting.uk.md | 113 ++++++++++++++---- 1 file changed, 91 insertions(+), 22 deletions(-) diff --git a/docs/guides/contribute/rockydocs_formatting.uk.md b/docs/guides/contribute/rockydocs_formatting.uk.md index 9fced7f31..7096ed501 100644 --- a/docs/guides/contribute/rockydocs_formatting.uk.md +++ b/docs/guides/contribute/rockydocs_formatting.uk.md @@ -7,7 +7,7 @@ tags: - форматування --- -# Вступ +## Вступ У цьому посібнику описано додаткові параметри форматування, зокрема попередження, нумеровані списки, таблиці тощо. @@ -34,6 +34,20 @@ tags: Ключовим тут є те, що ви можете використовувати скільки завгодно заголовків із 2–6, але лише **ОДИН** заголовок рівня 1. Хоча документ відображатиметься правильно з кількома заголовками рівня 1, автоматично створений зміст документа, який з’являється праворуч, **НЕ** відображатиметься правильно (або іноді взагалі) із кількома заголовками. Майте це на увазі під час написання документів. + + Ще одна важлива примітка щодо заголовка рівня 1: якщо мета `title:` використовується, то це буде типовий заголовок рівня 1. Ви не повинні додавати ще один. Наприклад, мета заголовка цього документа: + + ``` + --- + title: Document Formatting + ``` + + + Таким чином, найпершим доданим заголовком є ​​«Вступ» на рівні 2. + + ``` + ## Вступ + ``` !!! warning "Примітка про підтримувані елементи HTML" @@ -215,25 +229,25 @@ tags: ## Таблиці -У наведеному вище випадку таблиці допомагають нам розмістити параметри команд або типи попереджень і описи. Ось як це було введено: +У наведеному вище випадку таблиці допомагають нам розмістити параметри команд або типи попереджень і описи. This shows the entry of the table in the Admonitions section: ```text -| type | Description | -|-----------|-----------------------------------------------------------| -| note | displays text in a blue box | -| abstract | displays text in a light blue box | -| info | displays text in a blue-green box | -| tip | displays text in a blue-green box (icon slightly greener) | -| success | displays text in a green box | -| question | displays text in a light green box | -| warning | displays text in an orange box | -| failure | displays text in a light red box | -| danger | displays text in a red box | -| bug | displays text in a red box | -| example | displays text in a purple box | -| quote | displays text in a grey box | -| custom^1^ | always displays text in a blue box | -| custom^2^ | displays text in a box with the color of the chosen type | +| type | Description | +|-----------|------------------------------------------------------------| +| note | displays text in a blue box | +| abstract | displays text in a light blue box | +| info | displays text in a blue-green box | +| tip | displays text in a blue-green box (icon slightly greener) | +| success | displays text in a green box | +| question | displays text in a light green box | +| warning | displays text in an orange box | +| failure | displays text in a light red box | +| danger | displays text in a red box | +| bug | displays text in a red box | +| example | displays text in a purple box | +| quote | displays text in a gray box | +| custom^1^ | always displays text in a blue box | +| custom^2^ | displays text in a box with the color of the chosen type | ``` @@ -318,6 +332,13 @@ sudo dnf install the-kitchen-sink Ці комбінації клавіш завжди вводяться в нижньому регістрі, за винятком випадків, коли в лапках використовується спеціальна клавіатурна команда. +## Примусові розриви рядків + +Іноді простий ++enter++ на клавіатурі не дасть вам новий рядок у розмітці. Іноді це трапляється, коли в маркованих елементах використовується багато символів форматування. Ви також можете додати розрив рядка до тексту в кращому форматі. У таких випадках вам потрібно додати два пробіли в кінці рядка, де ви хочете створити новий рядок. Оскільки пробіли не будуть видимі в деяких редакторах розміток, у цьому прикладі показано введені пробіли: + +* **Елемент маркера з додатковим форматуванням** ++пробіл+пробіл++ +* **Ще один елемент** + ## Верхній, нижній індекс та спеціальні символи Верхній і нижній індекси підтримуються в документації Rocky Linux за допомогою `^` для верхнього індексу та `~` для нижнього індексу. Верхній індекс розміщує текст, введений між тегами, трохи вище звичайного тексту, тоді як нижній індекс розміщує текст трохи нижче. Верхній індекс є найбільш часто використовуваним з цих двох на письмі. Деякі спеціальні символи вже з’являються в верхньому індексі без додавання тегів, але ви також можете комбінувати теги, щоб змінити орієнтацію цих символів, як показано на символі авторського права нижче. Ви можете використовувати верхній індекс, щоб: @@ -346,7 +367,7 @@ sudo dnf install the-kitchen-sink Декому з вас може знадобитися посилання на зовнішні джерела під час написання документації. Якщо у вас є лише одне джерело, ви можете включити його у свій висновок як одне посилання, але якщо у вас є кілька^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) @@ -356,7 +377,7 @@ sudo dnf install the-kitchen-sink [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 -А ось як це все виглядає у вашому редакторі: +Ось як це все виглядає у вашому редакторі: ```text 1. "How Multiples Are Used In Text" by Wordy W. McWords [https://site1.com](https://site1.com) @@ -371,7 +392,7 @@ or ## Виділення тексту -Ще один можливий спосіб покращити документацію за допомогою ==підсвічування==. Виділення виконується оточуванням тексту `==`. +Ще один можливий спосіб покращити документацію за допомогою ==підсвічування==. Ви можете використовувати виділення, оточивши текст `==`. У вашому редакторі це виглядає так: @@ -468,6 +489,54 @@ or 3. Є більше прикладів, але наведене вище повинно показати, що все може бути вкладено всередину. Просто запам’ятайте чотири (4) магічних місця. ``` +## Символи, що не відображаються + +У розмітці є деякі символи, які не відображаються належним чином. Іноді це тому, що ці символи є HTML або іншими типами тегів (наприклад, посилання). Під час написання документації може бути час, коли вам **потрібно** відобразити ці символи, щоб донести свою думку. Правило відображення цих символів полягає в тому, щоб їх екранувати. Ось таблиця цих символів, що не відображаються, за якою йде блок коду, який показує код таблиці. + +| символ | опис | +| ------- | ------------------------------------------------------------- | +| \\ | зворотна коса риска (використовується для екранування) | +| \` | зворотна галочка (використовується для блоків коду) | +| \* | зірочка (використовується для списків) | +| \_ | підкреслення | +| \{ \} | фігурні дужки | +| \[ \] | дужки (використовуються для заголовків посилань) | +| < > | кутові дужки (використовуються для прямого HTML) | +| \( \) | круглі дужки (використовуються для вмісту посилання) | +| \# | знак фунта (використовується для заголовків уцінки) | +| | | риска (використовується в таблицях) | +| + | знак плюс (використовується в таблицях) | +| - | знак мінус або дефіс (використовується в таблицях і маркерах) | +| ! | знак оклику (використовується в застереженнях і таблицях) | + +Ця таблиця в коді: + +```table +| символ | опис | +|-------------|---------------------------------------------------| +| \\ | зворотна коса риска (використовується для екранування) | +| \` | зворотна галочка (використовується для блоків коду) | +| \* | зірочка (використовується для списків) | +| \_ | підкреслення | +| \{ \} | фігурні дужки | +| \[ \] | дужки (використовуються для заголовків посилань) | +| < > | кутові дужки (використовуються для прямого HTML) | +| \( \) | круглі дужки (використовуються для вмісту посилання) | +| \# | знак номеру (використовується для заголовків) | +| | | риска (використовується в таблицях) | +| + | знак плюс (використовується в таблицях) | +| - | знак мінус або дефіс (використовується в таблицях і маркерах | +| ! | вигук (використовується в застереженнях і таблицях) | +``` + +Останній код показує, що певні символи потребують коду символів HTML, якщо вони використовуються в таблиці. + +У реальному тексті ви б уникли символу. Наприклад, `\|` покаже символ труби, `\>` покаже символ кутової дужки, `\+` покаже знак плюс, `\-` покаже знак мінус, а `\!` покаже знак оклику. + +Ви можете побачити, що якщо ми позбудемося задніх галочок у цьому реченні: + +У реальному тексті ви б уникли символу. Наприклад, \| відобразиться символ труби \> покаже символ кутової дужки, \+ покаже знак плюс, \- покаже знак мінус, а \! покаже знак оклику. + ## Останній пункт – коментарі Час від часу ви можете додати коментар до розмітки, який не відображатиметься під час візуалізації. Для цього існує багато причин. Наприклад, якщо ви хочете додати заповнювач для чогось, що буде додано пізніше, ви можете використати коментар, щоб позначити своє місце. @@ -496,6 +565,6 @@ or Форматування документа за допомогою заголовків, попереджень, таблиць, нумерованих списків і цитат може додати чіткості вашому документу. Використовуючи поради, подбайте про те, щоб вибрати правильний тип. Це може полегшити візуальне розуміння важливості конкретного застереження. -Вам не *потрібно* використовувати розширені параметри форматування. Надмірне використання спеціальних елементів може створити безлад там, де вони не потрібні. Навчання використовувати ці елементи форматування консервативно та добре може бути дуже корисним, щоб донести свою точку зору в документі. +Вам не *потрібно* використовувати розширені параметри форматування. Надмірне використання спеціальних елементів може додати безладу. Навчання використовувати ці елементи форматування консервативно та добре може бути дуже корисним, щоб донести свою точку зору в документі. Нарешті, щоб спростити форматування, подумайте про те, щоб змінити значення TAB редактора розмітки на чотири (4) пробіли. From f78d61653d13fbc60dc44c9ec55b465f20148505 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:56:48 -0500 Subject: [PATCH 37/45] New translations database_mariadb-server.md (Ukrainian) --- .../database/database_mariadb-server.uk.md | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/guides/database/database_mariadb-server.uk.md b/docs/guides/database/database_mariadb-server.uk.md index 61082dff0..6e247deee 100644 --- a/docs/guides/database/database_mariadb-server.uk.md +++ b/docs/guides/database/database_mariadb-server.uk.md @@ -1,8 +1,8 @@ --- title: Сервер бази даних MariaDB author: Steven Spencer -contributors: Ezequiel Bruni, William Perron, Ganna Zhyrnova -tested_with: 8.5, 8.6, 9.0 +contributors: Ezequiel Bruni, William Perron, Ganna Zhyrnova, Joseph Brinkman +tested_with: 8.5, 8.6, 9.0, 9.2 tags: - бази даних - mariadb @@ -32,23 +32,34 @@ Wordpress CMS яка цього вимагає. Однак ця база д Вам потрібно встановити *mariadb-server*: -`dnf install mariadb-server` + + +```bash +dnf install mariadb-server +``` + ## Захист mariadb-сервера -Щоб посилити безпеку *mariadb-server*, нам потрібно запустити сценарій, але перед тим, як це зробити, нам потрібно ввімкнути та запустити mariadb: +Щоб посилити безпеку *mariadb-сервера*, вам потрібно запустити сценарій, але перед тим, як це зробити, вам потрібно ввімкнути та запустити mariadb: + -`systemctl enable mariadb` -І потім: +```bash +systemctl enable --now mariadb +``` -`systemctl start mariadb` Далі виконайте цю команду: -`mysql_secure_installation` + + +```bash +mysql_secure_installation +``` + !!! tip "Підказка" @@ -57,7 +68,7 @@ Wordpress CMS яка цього вимагає. Однак ця база д - ``` + ```bash dnf module enable mariadb:10.5 ``` @@ -92,7 +103,7 @@ Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB -root user without the proper authorisation. +root user without the proper authorization. Set root password? [Y/n] ``` @@ -126,7 +137,7 @@ Reloading privilege tables.. ```text By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for -them. This is intended only for testing, and to make the installation +them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. @@ -209,7 +220,7 @@ Thanks for using 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`. Це також означає, що немає пароля для віддаленого зламу. Це залежить від безпеки користувачів, налаштованих на сервері для захисту всіх баз даних. +Rocky Linux 9.2 використовує `mariadb-server-10.5.22` як версію mariadb-server за умовчанням. Починаючи з версії 10.4.3, на сервері автоматично вмикається новий плагін, який змінює діалогове вікно `mariadb-secure-installation`. Цей плагін є автентифікацією `unix-socket`. [Ця стаття](https://mariadb.com/kb/en/authentication-plugin-unix-socket/) добре пояснює нову функцію. По суті, під час автентифікації unix-сокетів для доступу до бази даних використовуються облікові дані користувача, який увійшов у систему. Це робить так, що якщо користувач root, наприклад, увійшов, а потім використав `mysqladmin` для створення або видалення бази даних (або будь-якої іншої функції), для доступу не потрібен пароль. Те саме працює з `mysql`. Це також означає, що немає пароля для віддаленого зламу. Це залежить від безпеки користувачів, налаштованих на сервері для захисту всіх баз даних. Друге діалогове вікно під час `mariadb-secure-installation` після встановлення пароля для адміністратора: @@ -247,4 +258,4 @@ MariaDB [(none)]> ## Висновок -Сервер бази даних, такий як *mariadb-server*, можна використовувати для багатьох цілей. Через популярність CMS Wordpress її часто можна знайти на веб-серверах. Однак перед тим, як запускати базу даних у виробництві, доцільно посилити її захист. +Сервер бази даних, такий як *mariadb-server*, можна використовувати для багатьох цілей. Через популярність [CMS Wordpress](https://wordpress.org) її часто можна знайти на веб-серверах. Однак перед тим, як запускати базу даних у виробництві, доцільно посилити її захист. From 028b1926e5bc9742fc7b7a948fb98b590875f8d6 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:56:58 -0500 Subject: [PATCH 38/45] New translations mate_installation.md (Ukrainian) --- docs/guides/desktop/mate_installation.uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/desktop/mate_installation.uk.md b/docs/guides/desktop/mate_installation.uk.md index 0696e5c6d..9293dd635 100644 --- a/docs/guides/desktop/mate_installation.uk.md +++ b/docs/guides/desktop/mate_installation.uk.md @@ -29,20 +29,20 @@ tags: ### 9: Отримайте, перевірте та запишіть живий образ MATE - Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ MATE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). Зауважте, що це конкретне посилання передбачає x86_64 як вашу архітектуру, і на момент написання цієї статті це єдина архітектура, для якої доступний цей живий образ. Завантажте живий образ і файли контрольної суми. + Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ MATE у розділі завантаження для Rocky Linux 9 [живі зображення](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Зауважте, що це конкретне посилання передбачає x86_64 як вашу архітектуру, і на момент написання цієї статті це єдина архітектура, для якої доступний цей живий образ. Завантажте живий образ і файли контрольної суми. Тепер перевірте зображення за допомогою файлу CHECKSUM за допомогою наступного (зверніть увагу, це приклад! Переконайтеся, що назва вашого зображення та файли CHECKSUM збігаються): ``` - sha256sum -c CHECKSUM --ignore-missing Rocky-9.4-MATE-x86_64-20221124.0.iso.CHECKSUM + sha256sum -c CHECKSUM --ignore-missing Rocky-9.5-MATE-x86_64-20221124.0.iso.CHECKSUM ``` Якщо все піде добре, ви повинні отримати це повідомлення: ``` - Rocky-9.4-MATE-x86_64-20221124.0.iso: OK + Rocky-9.5-MATE-x86_64-20221124.0.iso: OK ``` From 7125a02ba626ed5b0fcd8c6211f5baef0df0a409 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:57:20 -0500 Subject: [PATCH 39/45] New translations index.md (Ukrainian) --- docs/release_notes/index.uk.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/release_notes/index.uk.md b/docs/release_notes/index.uk.md index 3806b2f57..dbe6bc159 100644 --- a/docs/release_notes/index.uk.md +++ b/docs/release_notes/index.uk.md @@ -26,6 +26,7 @@ Rocky 9 (кодове ім’я «Blue Onyx») має загальну підт | 9.2 | 2023-05-16 | 5.14.0-284.11.1 | | 9.3 | 2023-11-20 | 5.14.0-362.8.1 | | 9.4 | 2024-05-09 | 5.14.0-427.13.1 | +| 9.5 | 2024-11-19 | 5.14.0-503.14.1 | ## Rocky 8 From 647dac063d7affafddfde5df0d899fd5e4951543 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:58:05 -0500 Subject: [PATCH 40/45] New translations kde_installation.md (Ukrainian) --- docs/guides/desktop/kde_installation.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/desktop/kde_installation.uk.md b/docs/guides/desktop/kde_installation.uk.md index 38bb0b2eb..bfc6a5be9 100644 --- a/docs/guides/desktop/kde_installation.uk.md +++ b/docs/guides/desktop/kde_installation.uk.md @@ -25,7 +25,7 @@ tags: ## Отримання, перевірка та запис живого образу KDE -Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Останній образ KDE знаходиться в Rocky Linux 9 [розділ завантаження живих образів](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). +Першим кроком до інсталяції є завантаження живого образу та запис його на DVD або флешку USB. Як було зазначено раніше, образ буде завантажувальний, як і будь-який інший інсталяційний носій для Linux. Ви можете знайти останній образ KDE у розділі завантаження для Rocky Linux 9 [живі образи](https://dl.rockylinux.org/pub/rocky/9.5/live/x86_64/). Зауважте, що це конкретне посилання передбачає x86_64 як архітектуру вашого процесора. Якщо у вас є архітектура aarch64, ви можете використовувати це зображення. Завантажте живий образ і файли контрольної суми. From f823a80143bd83c1f59f5b837b403745b72da604 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 07:59:05 -0500 Subject: [PATCH 41/45] New translations lab5-networking.md (Ukrainian) --- docs/labs/systems_administration_I/lab5-networking.uk.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/labs/systems_administration_I/lab5-networking.uk.md b/docs/labs/systems_administration_I/lab5-networking.uk.md index 5a5368188..c57b6c2d9 100644 --- a/docs/labs/systems_administration_I/lab5-networking.uk.md +++ b/docs/labs/systems_administration_I/lab5-networking.uk.md @@ -255,12 +255,6 @@ tags: ip -6 address add 2001:db8::1/64 dev macvtap1 ``` -2. Далі для `macvtap1` призначте адресу 2001:db8::2/64 IPv6, виконавши: - - ```bash - # ip -6 address add 2001:db8::2/64 dev macvtap1 - ``` - 3. Перевірте призначення адрес IPv6, введіть: ```bash From 00a46a043096a6c2ecf504531d541f31bbfcedfd Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 08:01:22 -0500 Subject: [PATCH 42/45] New translations unbound_recursive_dns.md (Ukrainian) --- docs/guides/dns/unbound_recursive_dns.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/dns/unbound_recursive_dns.uk.md b/docs/guides/dns/unbound_recursive_dns.uk.md index 02803ea2a..d1c58cf29 100644 --- a/docs/guides/dns/unbound_recursive_dns.uk.md +++ b/docs/guides/dns/unbound_recursive_dns.uk.md @@ -65,7 +65,7 @@ forward-zone: - `interface` позначає інтерфейси (IPv4 або IPv6), на яких ви хочете прослуховувати запити DNS. Ми прослуховуємо всі інтерфейси з «0.0.0.0» і «::». - `access-control` вказує, з яких підмереж (IPv4 або IPv6) ви хочете дозволити DNS-запити. Ми дозволяємо запити з `192.168.0.0/16` і `2001:db8::/64`. -- `forward-addr` визначає сервери, на які ми будемо пересилати. Ми пересилаємо до Cloudflare 1.1.1.1. +- `forward-addr` визначає сервери, на які ми будемо пересилати. Ми пересилаємо на `1.1.1.1` та `1.0.0.1` Cloudflare. ## Увімкнення Unbound From 9c54bbd54229ab3c76ff3fb85e0915f7f781c67e Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 09:17:27 -0500 Subject: [PATCH 43/45] New translations hpe_amsd.md (Ukrainian) --- docs/guides/hardware/hpe_amsd.uk.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/guides/hardware/hpe_amsd.uk.md b/docs/guides/hardware/hpe_amsd.uk.md index a012ce84b..7ed4bbd4a 100644 --- a/docs/guides/hardware/hpe_amsd.uk.md +++ b/docs/guides/hardware/hpe_amsd.uk.md @@ -11,7 +11,13 @@ tags: ## Вступ -Сервери HPE ProLiant мають супутнє програмне забезпечення під назвою Agentless Management Service, яке [згідно з HPE](https://techlibrary.hpe.com/docs/iss/EL8000t/setup_install/GUID-1CF69B20-790A-4EDC-A162-9D64572ED9E8.html) "використовує позасмуговий зв'язок для підвищення безпеки та стабільності". Крім того, «за допомогою безагентного керування моніторинг працездатності та сповіщення вбудовані в систему та починають працювати в момент підключення допоміжного джерела живлення до [вашого сервера]». +Сервери HPE ProLiant мають супутнє програмне забезпечення під назвою Agentless Management Service, яке згідно з HPE: + +> використовує позасмуговий зв'язок для підвищення безпеки та стабільності. + +Крім того: + +> з керуванням без агентів, моніторингом працездатності та сповіщеннями вбудовано в систему та починає працювати в момент підключення допоміжного живлення до вашого сервера. Це використовується, наприклад, для зменшення швидкості вентилятора на HPE ProLiant ML110 Gen11 у домашній лабораторії автора. From 73ae34b8045bd48cf29840718ff9ed9c3d4e58d0 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 09:18:43 -0500 Subject: [PATCH 44/45] New translations x710_bridge_vlan.md (Ukrainian) --- docs/guides/hardware/x710_bridge_vlan.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/hardware/x710_bridge_vlan.uk.md b/docs/guides/hardware/x710_bridge_vlan.uk.md index 3f73897b2..9e3d31fed 100644 --- a/docs/guides/hardware/x710_bridge_vlan.uk.md +++ b/docs/guides/hardware/x710_bridge_vlan.uk.md @@ -1,7 +1,7 @@ --- title: Увімкнення VLAN Passthrough на мережевих картах серії Intel X710 author: Neel Chauhan -contributors: null +contributors: Ganna Zhyrnova tested_with: 9.4 tags: - обладнання From 587e55a07fce6efe9ab643cbcdde1a25114cb446 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Thu, 9 Jan 2025 09:19:04 -0500 Subject: [PATCH 45/45] New translations wordpress-on-lamp.md (Ukrainian) --- docs/guides/cms/wordpress-on-lamp.uk.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/cms/wordpress-on-lamp.uk.md b/docs/guides/cms/wordpress-on-lamp.uk.md index ba66f8480..e8b581806 100644 --- a/docs/guides/cms/wordpress-on-lamp.uk.md +++ b/docs/guides/cms/wordpress-on-lamp.uk.md @@ -1,7 +1,7 @@ --- title: WordPress на LAMP author: Joseph Brinkman -contributors: Steven Spencer +contributors: Steven Spencer, Ganna Zhyrnova tested_with: 9.2 --- @@ -96,10 +96,10 @@ PHP — це програмування, яке використовується sudo systemctl restart httpd ``` -Використовуйте `curl`, щоб завантажити останню версію WordPress: - ## Отримайте та розпакуйте WordPress +Використовуйте `curl`, щоб завантажити останню версію WordPress: + ```bash curl -O https://wordpress.org/latest.tar.gz ```