diff --git a/docs/books/admin_guide/11-tasks.de.md b/docs/books/admin_guide/11-tasks.de.md index d0cc9ec9a7..e725c8bf85 100644 --- a/docs/books/admin_guide/11-tasks.de.md +++ b/docs/books/admin_guide/11-tasks.de.md @@ -10,7 +10,7 @@ In diesem Kapitel erfahren Sie, wie Sie geplante Aufgaben verwalten. **Ziele**: In diesem Kapitel lernen zukünftige Linux-Administratoren Folgendes: -:heavy_check_mark: wie Linux die Aufgabenplanung implementiert; +:heavy_check_mark: wie GNU/Linux die Aufgabenplanung implementiert; :heavy_check_mark: die Verwendung von **`cron`** auf bestimmte Benutzer beschränken; :heavy_check_mark: Aufgaben planen. @@ -48,7 +48,7 @@ Der `cron`-Dienst wird durch einen `crond`-Daemon im Speicher ausgeführt. Um seinen Status zu überprüfen: -``` +```bash [root] # systemctl status crond ``` @@ -58,13 +58,13 @@ Um seinen Status zu überprüfen: Initialisierung des `crond`-Daemons, Syntax: -``` +```bash [root]# systemctl {status|start|restart|stop} crond ``` Initialisierung des `crond`-Daemons beim Start: -``` +```bash [root]# systemctl enable crond ``` @@ -105,15 +105,16 @@ Standardmäßig existiert `/etc/cron.deny` und ist leer und `/etc/cron.allow` ex Nur **user1** kann `cron` verwenden. -``` +```bash [root]# vi /etc/cron.allow user1 ``` ### Benutzer verbieten + Nur **user2** kann `cron` nicht verwenden. -``` +```bash [root]# vi /etc/cron.deny user2 ``` @@ -132,13 +133,13 @@ Diese Datei enthält alle Informationen, die der `crond` über alle von diesem B Der `crontab` Befehl wird verwendet, um die schedule-Datei zu verwalten. -``` +```bash crontab [-u user] [-e | -l | -r] ``` Beispiel: -``` +```bash [root]# crontab -u user1 -e ``` @@ -184,7 +185,7 @@ Die Datei `crontab` ist nach folgenden Regeln strukturiert. * Jede Zeile endet mit einem Zeilenvorschub; * Das Zeichen `#` am Anfang der Zeile kommentiert sie aus. -``` +```bash [root]# crontab –e 10 4 1 * * /root/scripts/backup.sh 1 2 3 4 5 6 @@ -216,25 +217,25 @@ Beispiele: Skript ausgeführt am 15. April um 10:25 Uhr: -``` +```bash 25 10 15 04 * /root/scripts/script > /log/… ``` Starte jeden Tag um 11 Uhr und dann um 16 Uhr: -``` +```bash 00 11,16 * * * /root/scripts/script > /log/… ``` Jeden Tag von 11:00 bis 16:00 Uhr: -``` +```bash 00 11-16 * * * /root/scripts/script > /log/… ``` Alle 10 Minuten während der üblichen Geschäftszeiten: -``` +```bash */10 8-17 * * 1-5 /root/scripts/script > /log/… ``` @@ -253,12 +254,12 @@ Für den Root-Benutzer hat `crontab` auch einige spezielle Zeiteinstellungen: Ein Benutzer, rockstar, möchte seine `crontab` Datei bearbeiten: -1) `crond` prüft, ob er berechtigt ist (`/etc/cron.allow` und `/etc/cron.deny`). +1. `crond` prüft, ob er dazu berechtigt ist (`/etc/cron.allow` und `/etc/cron.deny`). -2) Falls er berechtigt ist, bearbeitet er seine `crontab` Datei (`/var/spool/cron/rockstar`). +2. Falls er berechtigt ist, bearbeitet er seine `crontab` Datei (`/var/spool/cron/rockstar`). -Die schedule-Dateien werden jede Minute von `crond` gelesen. + Die schedule-Dateien werden jede Minute von `crond` gelesen. -3) crond führt die geplanten Aufgaben aus. +3. `crond` führt die geplanten Aufgaben aus. -4) Es aktualisiert systematisch eine Protokolldatei (`/var/log/cron`). +4. Es aktualisiert systematisch eine Protokolldatei (`/var/log/cron`). diff --git a/docs/books/admin_guide/12-network.de.md b/docs/books/admin_guide/12-network.de.md index 5b79d30d53..ed1ee49d0d 100644 --- a/docs/books/admin_guide/12-network.de.md +++ b/docs/books/admin_guide/12-network.de.md @@ -11,9 +11,9 @@ In diesem Kapitel erfahren Sie, wie Sie mit dem Netzwerk arbeiten und das Netzwe **Ziele**: In diesem Kapitel lernen Sie Folgendes: :heavy_check_mark: eine Workstation konfigurieren, um DHCP zu benutzen; -:heavy_check_mark: eine Workstation so konfigurieren, dass sie eine statische Konfiguration verwendet; -:heavy_check_mark: eine Workstation konfigurieren, um ein Gateway zu benutzen; -:heavy_check_mark: eine Workstation, um einen DNS-Server zu benutzen; +:heavy_check_mark: eine Workstation so konfigurieren, dass sie eine statische Konfiguration verwendet; +:heavy_check_mark: eine Workstation konfigurieren, um ein Gateway zu benutzen; +:heavy_check_mark: eine Workstation konfigurieren, um einen DNS-Server zu benutzen; :heavy_check_mark: beim Netzwerk einer Workstation, Probleme lösen. :checkered_flag: **Netzwerk**, **Linux**, **IP** @@ -45,9 +45,9 @@ Die minimalen Parameter, die für die Maschine definiert werden müssen, sind fo Beispiel: -* `pc-rocky`; -* `192.168.1.10`; -* `255.255.255.0`. +* `pc-rocky`; +* `192.168.1.10`; +* `255.255.255.0`. Die Notation namens CIDR wird immer häufiger: 192.168.1.10/24 @@ -101,7 +101,7 @@ Damit ein Computer Teil einer DNS-Domain sein kann, muss er ein DNS-Suffix bekom !!! note "Eselsbrücke" - Um sich an die Reihenfolge der Schichten des OSI-Modells zu erinnern, erinnere dich an den folgenden Satz: __Please Do Not Touch Steven's Pet Alligator__ + Um sich an die Reihenfolge der Schichten des OSI-Modells zu erinnern, merke den folgenden Satz: __Please Do Not Touch Steven's Pet Alligator__. | Layer | Protokolle | | ---------------- | ------------------------------------------ | @@ -160,7 +160,7 @@ Vergessen Sie den alten `ifconfig` Befehl! Denke `ip`! Der `hostname` Befehl zeigt oder setzt den Hostnamen des Systems -``` +```bash hostname [-f] [hostname] ``` @@ -177,7 +177,7 @@ Um einen Hostnamen zuzuweisen, ist es möglich den `hostname` Befehl zu verwende Um den Hostnamen dauerhaft festzulegen, muss die Datei `/etc/sysconfig/network` geändert werden: -``` +```bash NETWORKING=yes HOSTNAME=pc-rocky.mondomaine.lan ``` @@ -198,13 +198,13 @@ Daher ist es wichtig, diese beiden Dateien vor jeder Konfiguration von Netzwerkd Die Datei `/etc/hosts` ist eine statische Hostnamenzuordnungstabelle, die dem folgenden Format folgt: -``` +```bash @IP [alias] [# comment] ``` Beispiel für eine `/etc/hosts` Datei: -``` +```bash 127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain 192.168.1.10 rockstar.rockylinux.lan rockstar @@ -226,7 +226,7 @@ Die **NSS** (**N**Name **S**ervice **S**witch) erlaubt Konfigurationsdateien (z. Die Datei `/etc/nsswitch.conf` wird verwendet, um die Namen-Service-Datenbanken zu konfigurieren. -``` +```bash passwd: files shadow: files group: files @@ -244,7 +244,7 @@ Die Auflösung des Namendienstes kann mit dem `getent` Befehl getestet werden, d Die Datei `/etc/resolv.conf` enthält die Konfiguration der DNS-Namensauflösung. -``` +```bash #Generated by NetworkManager domain mondomaine.lan search mondomaine.lan @@ -265,25 +265,25 @@ Das `ip` Kommando des `iproute2` Pakets erlaubt es Ihnen, eine Schnittstelle und Schnittstellen anzeigen: -``` +```bash [root]# ip link ``` Schnittstellen-Information anzeigen: -``` +```bash [root]# ip addr show ``` Zeigt die Informationen einer Schnittstelle an: -``` +```bash [root]# ip addr show eth0 ``` ARP-Tabelle anzeigen: -``` +```bash [root]# ip neigh ``` @@ -297,34 +297,34 @@ Die Konfiguration von Schnittstellen unter Rocky Linux erfolgt im Ordner `/etc/s Für jede Ethernet-Schnittstelle ermöglicht eine `ifcfg-ethX` Datei die Konfiguration der dazugehörigen Schnittstelle. -``` +```bash DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:0c:29:96:32:e3 ``` -* Schnittstellenname (muss im Dateinamen sein): +* Schnittstellenname (muss im Dateinamen sein): -``` +```bash DEVICE=eth0 ``` * Die Schnittstelle automatisch starten: -``` +```bash ONBOOT=yes ``` * Eine DHCP-Anfrage beim Start der Schnittstelle auslösen: -``` +```bash BOOTPROTO=dhcp ``` * Geben Sie die MAC-Adresse an (optional, aber nützlich, wenn es mehrere Schnittstellen gibt) : -``` +```bash HWADDR=00:0c:29:96:32:e3 ``` @@ -334,7 +334,7 @@ HWADDR=00:0c:29:96:32:e3 * Netzwerkdienst neustarten: -``` +```bash [root]# systemctl restart NetworkManager ``` @@ -342,7 +342,7 @@ HWADDR=00:0c:29:96:32:e3 Die statische Konfiguration erfordert mindestens: -``` +```bash DEVICE=eth0 ONBOOT=yes BOOTPROTO=none @@ -352,25 +352,25 @@ NETMASK=255.255.255.0 * Hier werden "dhcp" durch "none" ersetzt, was der statischen Konfiguration entspricht: -``` +```bash BOOTPROTO=none ``` * IP-Adresse: -``` +```bash IPADDR=192.168.1.10 ``` * Subnet-Maske: -``` +```bash NETMASK=255.255.255.0 ``` * Die Maske kann auch mit einem Präfix angegeben werden: -``` +```bash PREFIX=24 ``` @@ -382,7 +382,7 @@ PREFIX=24 ![Netzwerkarchitektur mit Gateway](images/network-002.png) -``` +```bash DEVICE=eth0 ONBOOT=yes BOOTPROTO=none @@ -394,7 +394,7 @@ GATEWAY=192.168.1.254 Das Kommando `ip route`: -``` +```bash [root]# ip route show 192.168.1.0/24 dev eth0 […] src 192.168.1.10 metric 1 default via 192.168.1.254 dev eth0 proto static @@ -412,23 +412,23 @@ Ein System muss Folgendes auflösen: * FQDNs in IP-Adressen -``` +```bash www.free.fr = 212.27.48.10 ``` * IP-Adressen in Namen -``` +```bash 212.27.48.10 = www.free.fr ``` * oder um Informationen über ein Gebiet zu erhalten: -``` +```bash MX de free.fr = 10 mx1.free.fr + 20 mx2.free.fr ``` -``` +```bash DEVICE=eth0 ONBOOT=yes BOOTPROTO=none @@ -443,7 +443,7 @@ DOMAIN=rockylinux.lan In diesem Fall, um das DNS zu erreichen, müssen Sie durch das Gateway gehen. -``` +```bash #Generated by NetworkManager domain mondomaine.lan search mondomaine.lan @@ -461,7 +461,7 @@ Es ist der grundlegende Befehl zum Testen des Netzwerks, da er die Verbindung zw Syntax des `ping` Befehl: -``` +```bash ping [-c numerical] destination ``` @@ -469,7 +469,7 @@ Mit der Option `-c` (count) können Sie den Befehl nach dem Countdown in Sekunde Beispiel: -``` +```bash [root]# ping –c 4 localhost ``` @@ -477,41 +477,41 @@ Beispiel: Konnektivität von nah bis fern überprüfen -1) Überprüft die TCP/IP-Software-Ebene +1. Überprüft die TCP/IP-Software-Ebene -``` -[root]# ping localhost -``` + ```bash + [root]# ping localhost + ``` -"ping" der inneren Schleife erkennt keinen Hardwarefehler an der Netzwerkschnittstelle. Es stellt einfach fest, ob die IP-Software-Konfiguration korrekt ist. + "ping" der inneren Schleife erkennt keinen Hardwarefehler an der Netzwerkschnittstelle. Es stellt einfach fest, ob die IP-Software-Konfiguration korrekt ist. -2) Überprüfen der Netzwerkkarte +2. Überprüfen der Netzwerkkarte -``` -[root]# ping 192.168.1.10 -``` + ```bash + [root]# ping 192.168.1.10 + ``` -Um festzustellen, dass die Netzwerkkarte funktionsfähig ist, müssen wir nun ihre IP-Adresse mit ping testen. Die Netzwerkkarte, wenn das Netzwerkkabel nicht angeschlossen ist, sollte sich in einem "down"-Zustand befinden. + Um die Verfügbarkeit der Netzwerkkarte festzustellen, müssen wir deren IP-Adresse anpingen. Wenn das Netzwerkkabel nicht mit der Netzwerkkarte verbunden ist, sollte diese sich im „Down“-Zustand befinden. -Wenn ping nicht funktioniert, zuerst das Netzwerkkabel zusammen mit dem Switch überprüfen und die Schnittstelle neu zusammenstellen (siehe `if up` Befehl), dann die Schnittstelle selbst überprüfen. + Wenn ping nicht funktioniert, zuerst das Netzwerkkabel zusammen mit dem Switch überprüfen und die Schnittstelle neu zusammenstellen (siehe `if up` Befehl), dann die Schnittstelle selbst überprüfen. -3) Überprüfen der Verbindung des Gateways +3. Überprüfen der Verbindung des Gateways -``` -[root]# ping 192.168.1.254 -``` + ```bash + [root]# ping 192.168.1.254 + ``` -4) Überprüfung der Konnektivität eines entfernten Servers +4. Überprüfung der Konnektivität eines entfernten Servers -``` -[root]# ping 172.16.1.2 -``` + ```bash + [root]# ping 172.16.1.2 + ``` -5) Validierung des DNS-Dienstes +5. Validierung des DNS-Dienstes -``` -[root]# ping www.free.fr -``` + ```bash + [root]# ping www.leo.org + ``` ### `dig` Befehl @@ -519,13 +519,13 @@ Der `dig` Befehl wird verwendet, um den DNS-Server abzufragen. Die `dig` Befehlssyntax: -``` +```bash dig [-t type] [+short] [name] ``` Beispiele: -``` +```bash [root]# dig +short rockylinux.org 76.223.126.88 [root]# dig -t MX +short rockylinux.org  ✔ @@ -533,52 +533,51 @@ Beispiele: ... ``` -Der `dig` Befehl wird verwendet, um DNS-Server abzufragen. Es ist standardmäßig sehr ausführlich, aber dieses Verhalten kann mit der `+short` Option geändert werden. +Der `dig` Befehl wird verwendet, um DNS-Server abzufragen. Standardmäßig ist es ausführlich - verbose -, aber die Option `+short` kann dieses Verhalten ändern. It is also possible to specify a DNS **record type** to resolve, such as an MX **type** to get information about the mail exchangers for a domain. ### `getent` Befehl -Das `getent` (get entry) Kommando wird verwendet, um einen NSSwitch Eintrag zu erhalten (`hosts` + `dns`) +Der Befehl `getent` (Get Entry) ruft einen NSSwitch-Eintrag ab (`hosts` + `dns`) Syntax des `getent` Befehls: - -``` +```bash getent hosts name ``` Beispiel: -``` +```bash [root]# getent hosts rockylinux.org 76.223.126.88 rockylinux.org ``` -Querying only a DNS server may return an erroneous result that does not take into account the contents of a `hosts` file, although this should be rare nowadays. +Die Abfrage nur eines DNS-Servers kann zu einem fehlerhaften Ergebnis führen, das den Inhalt einer `hosts`-Datei nicht berücksichtigt, obwohl dies heutzutage selten sein sollte. Um auch die `/etc/hosts` Datei zu berücksichtigen, muss der NSSwitch Namensdienst abgefragt werden, der sich um jede DNS-Auflösung kümmert. ### `ipcalc` Befehl -Das `ipcalc` (**ip calculation**) Kommando wird verwendet, um die Adresse eines Netzwerks oder Broadcasts von einer IP-Adresse und einer Maske zu berechnen. +Das Kommando `ipcalc` (**ip calculation**) wird verwendet, um die Adresse eines Netzwerks oder Broadcasts von einer IP-Adresse und einer Maske zu berechnen. Syntax des `ipcalc` Befehls: -``` +```bash ipcalc [options] IP ``` Beispiel: -``` +```bash [root]# ipcalc –b 172.16.66.203 255.255.240.0 BROADCAST=172.16.79.255 ``` !!! tip "Hinweis" - Dieser Befehl ist interessant, gefolgt von einer Umleitung, die automatisch die Konfigurationsdateien Ihrer Schnittstellen ausfüllt: + Dieser Befehl ist interessant, gefolgt von einer Umleitung zum automatischen Ausfüllen der Konfigurationsdateien Ihrer Schnittstellen: ``` [root]# ipcalc –b 172.16.66.203 255.255.240.0 >> /etc/sysconfig/network-scripts/ifcfg-eth0 @@ -587,15 +586,15 @@ BROADCAST=172.16.79.255 | Option | Beschreibung | | ------ | --------------------------------------- | | `-b` | Zeigt die Broadcast-Adresse. | -| `-D` | Zeigt die Netzwerkadresse und Maske an. | +| `-n` | Zeigt die Netzwerkadresse und Maske an. | -Der Befehl `ipcalc` bietet eine einfache Möglichkeit, die IP-Informationen eines Hosts zu berechnen. Die verschiedenen Optionen geben an, welche Informationen `ipcalc` anzeigen soll. Es können mehrere Optionen angegeben werden. Eine IP-Adresse muss für die Operation angegeben werden. Die meisten Operationen erfordern auch eine Netzwerkmaske oder einen CIDR-Präfix. +Der Befehl `ipcalc` bietet eine einfache Möglichkeit, die IP-Informationen eines Hosts zu berechnen. Die verschiedenen Optionen geben an, welche Informationen `ipcalc` anzeigen soll. Sie können mehrere Optionen auswählen. Sie müssen eine IP-Adresse angeben, unter der gearbeitet werden soll. Die meisten Operationen erfordern auch eine Netzwerkmaske oder einen CIDR-Präfix. | Kurz-Option | Lang-Option | Beschreibung | | ----------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `-b` | `--broadcast` | Zeigt die Broadcast-Adresse der angegebenen IP-Adresse und die Netzwerkmaske an. | | `-h` | `--hostname` | Zeigt den Hostnamen der via DNS angegebenen IP-Adresse. | -| `-D` | `--netmask` | Berechnet die Netzwerkmaske für die angegebene IP-Adresse. Dies unter der Voraussetzung, dass die IP-Adresse Teil eines kompletten Netzwerks der Klasse A, B oder C ist. Viele Netzwerke verwenden keine Standard-Netzwerkmasken, in diesem Fall wird ein falscher Wert zurückgegeben. | +| `-n` | `--netmask` | Berechnet die Netzwerkmaske für die angegebene IP-Adresse. Dies unter der Voraussetzung, dass die IP-Adresse Teil eines kompletten Netzwerks der Klasse A, B oder C ist. Viele Netzwerke verwenden keine Standard-Netzwerkmasken, in diesem Fall wird ein falscher Wert zurückgegeben. | | `-p` | `--prefix` | Gibt das Präfix der Maske/IP-Adresse an. | | `-n` | `--network` | Gibt die Netzwerkadresse der angegebenen IP-Adresse und Maske an. | | `-s` | `--silent` | Keine Fehlermeldungen anzeigen. | @@ -606,18 +605,18 @@ Der Befehl `ss` (**Socketstatistiken**) zeigt die Listening-Ports im Netzwerk an Syntax des `ss`-Befehls: -``` +```bash ss [-tuna] ``` Beispiel: -``` +```bash [root]# ss –tuna tcp LISTEN 0 128 *:22 *:* ``` -Die Befehle `ss` und `netstat` (to follow) werden für den Rest Ihres GNU/Linux-Lebens sehr wichtig sein. +Die Befehle `ss` und `netstat` ('to follow') werden für den Rest Ihres GNU/Linux-Lebens sehr wichtig sein. Bei der Implementierung von Netzwerkdiensten ist es üblich, mit einem dieser beiden Befehle zu überprüfen, ob der Dienst auf den erwarteten Ports lauscht. @@ -625,20 +624,19 @@ Bei der Implementierung von Netzwerkdiensten ist es üblich, mit einem dieser be !!! warning "Warnhinweis" - Der Befehl `netstat` ist jetzt obsolet und wird standardmäßig nicht mehr unter Rocky Linux installiert. Möglicherweise finden Sie immer noch einige Linux-Versionen, die es installiert haben, aber es ist am besten, wenn Sie `ss` für alles verwenden, wofür Sie - bisher `netstat` benutzt haben. + Der Befehl `netstat` ist jetzt obsolet und wird standardmäßig nicht mehr unter Rocky Linux installiert. Möglicherweise finden Sie immer noch einige Linux-Versionen, die es installiert haben, aber es ist am besten, wenn Sie `ss` für alles verwenden, wofür Sie bisher `netstat` benutzt haben. Der `netstat` Befehl (**Netzwerkstatistiken**) zeigt die listening-Ports im Netzwerk an. Syntax des `netstat` Befehls: -``` +```bash netstat -tapn ``` Beispiel: -``` +```bash [root]# netstat –tapn tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2161/sshd ``` @@ -647,15 +645,15 @@ tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2161/sshd Eine fehlerhafte Konfiguration kann dazu führen, dass mehrere Schnittstellen dieselbe IP-Adresse verwenden. Dies kann passieren, wenn ein Netzwerk mehrere DHCP-Server hat oder wenn die gleiche IP-Adresse mehrfach manuell zugewiesen wurde. -Wenn das Netzwerk nicht richtig funktioniert und die Ursache möglicherweise ein IP-Adresskonflikt ist, können Sie die Software `arp-scan` verwenden (erfordert EPEL-Repository): +Wenn das Netzwerk nicht richtig funktioniert und die Ursache möglicherweise ein IP-Adresskonflikt ist, können Sie die Software `arp-scan` verwenden (erfordert das EPEL-Repository): -``` -$ dnf install arp-scan +```bash +dnf install arp-scan ``` Beispiel: -``` +```bash $ arp-scan -I eth0 -l 172.16.1.104 00:01:02:03:04:05 3COM CORPORATION @@ -671,58 +669,58 @@ $ arp-scan -I eth0 -l !!! tip "Hinweis" - Wie das obige Beispiel zeigt, ist es auch möglich, MAC-Adressen-Konflikte zu haben! Diese Probleme können durch Virtualisierungstechnologien und das Kopieren virtueller Maschinen entstehen. + Wie das obige Beispiel zeigt, sind MAC-Adresskonflikte möglich! Virtualisierungstechnologien und das Kopieren virtueller Maschinen verursachen diese Probleme. ## Hot-Konfiguration -Das Kommando `ip` kann eine IP-Adresse zu einer Schnittstelle unmittelbar hinzufügen +Das Kommando `ip` kann eine IP-Adresse zu einer Schnittstelle unmittelbar hinzufügen. -``` +```bash ip addr add @IP dev DEVICE ``` Beispiel: -``` +```bash [root]# ip addr add 192.168.2.10 dev eth1 ``` Der `ip` Befehl erlaubt die Aktivierung oder Deaktivierung einer Schnittstelle: -``` +```bash ip link set DEVICE up ip link set DEVICE down ``` Beispiel: -``` +```bash [root]# ip link set eth1 up [root]# ip link set eth1 down ``` Der `ip` Befehl kann verwendet werden, um eine Route hinzuzufügen: -``` +```bash ip route add [default|netaddr] via @IP [dev device] ``` Beispiel: -``` +```bash [root]# ip route add default via 192.168.1.254 [root]# ip route add 192.168.100.0/24 via 192.168.2.254 dev eth1 ``` ## Zusammenfassung -Die in diesem Kapitel verwendeten Dateien sind: +Die in diesem Kapitel verwendeten Dateien sind Folgende: ![Zusammenfassung der im Netzwerkteil implementierten Dateien](images/network-003.png) Eine komplette Schnittstellen-Konfiguration könnte wie folgt aussehen (Datei `/etc/sysconfig/network-scripts/ifcfg-eth0`): -``` +```bash DEVICE=eth0 ONBOOT=yes BOOTPROTO=none diff --git a/docs/books/nvchad/install_nvchad.it.md b/docs/books/nvchad/install_nvchad.it.md index 753f4c871b..c13d61d185 100644 --- a/docs/books/nvchad/install_nvchad.it.md +++ b/docs/books/nvchad/install_nvchad.it.md @@ -11,23 +11,17 @@ tags: # :simple-neovim: Trasformare Neovim in un IDE avanzato -!!! danger "Istruzioni errate" - - Con il rilascio della versione 2.5, le istruzioni contenute in questa pagina non sono più corrette; se ne sconsiglia l'uso per le nuove installazioni. Per maggiori informazioni si veda [la pagina principale della guida](../index.md). - ## :material-arrow-bottom-right-bold-outline: Prerequisiti Come specificato sul sito di NvChad, è necessario assicurarsi che il sistema soddisfi i seguenti requisiti: -* [Neovim 0.9.4](https://github.com/neovim/neovim/releases/tag/v0.9.4). +* [Neovim 0.10.0](https://github.com/neovim/neovim/releases/tag/v0.10.0). * [Nerd Font](https://www.nerdfonts.com/) Impostato nel tuo emulatore di terminale. * Assicuratevi che il carattere nerd impostato non finisca con **Mono** * **Esempio:** Carattere Iosevka Nerd e non ~~Iosevka Nerd Font Mono~~ * [Ripgrep](https://github.com/BurntSushi/ripgrep) è necessario per la ricerca con grep in Telescope **(OPZIONALEL)**. * GCC and Make -In realtà non si tratta di una vera e propria "installazione", ma piuttosto di scrivere una configurazione personalizzata di Neovim per il nostro utente. - ??? warning "Esecuzione di un'Installazione Pulita" Come specificato nei requisiti, l'installazione di questa nuova configurazione su una precedente può creare problemi irrisolvibili. Si raccomanda un'installazione pulita. @@ -61,142 +55,164 @@ rm -rf ~/.cache/nvim ## :material-monitor-arrow-down-variant: Installazione -Ora che abbiamo fatto pulizia, possiamo passare all'installazione di NvChad. +La creazione della struttura di configurazione viene realizzata copiando i file da un repository di inizializzazione (==starter==) utilizzando *Git*. Questo metodo consente di installare la configurazione di NvChad, preparata come plugin di Neovim, all'interno del gestore di plugin *lazy.nvim*. +In questo modo, la configurazione viene aggiornata come tutti gli altri plugin, semplificandone la gestione da parte dell'utente. Inoltre, questo approccio rende indipendente l'intera configurazione dell'utente, consentendone la gestione totale e la distribuzione su più macchine. -### :octicons-repo-clone-16: Configurazione del clone - -Per farlo, è sufficiente eseguire il seguente comando da qualsiasi posizione all'interno della propria *directory home*: +Per scaricare e inizializzare la configurazione, utilizzare il seguente comando: ```bash -git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 && nvim +git clone https://github.com/NvChad/starter ~/.config/nvim && nvim ``` -La prima parte del comando clona il repository NvChad nella cartella ==~/.config/nvim==; questo è il percorso predefinito di Neovim per la ricerca della configurazione utente. L'opzione ==--depth 1== istruisce *git* di clonare solo il repository impostato come "default" su GitHub. +Il comando è composto da due parti. Il primo scarica il contenuto del repository *starter* in `~/.config/nvim/` (cartella predefinita per le impostazioni di Neovim), mentre il secondo richiama l'eseguibile ==nvim== che inizializza l'editor con la configurazione appena scaricata. Una volta terminata l'installazione dei plugin e dei parser, ci si troverà di fronte alla seguente schermata. Per chiudere il gestore dei plugin, digitare ++"q "++ : -Una volta terminato il processo di clonazione nella seconda parte del comando, viene richiamato l'eseguibile Neovim (*nvim*), che dopo aver trovato una cartella di configurazione inizierà a importare le configurazioni incontrate nei file ==init.lua== in un ordine predefinito. +![NvChad Install](images/install_nvchad_25.png) -### :material-timer-cog-outline: Bootstrap +La configurazione iniziale è minimale e costituisce un punto di partenza per la vostra personalizzazione. Come si può notare dalla schermata del primo avvio dell'editor, vengono caricati solo quattro moduli (==plugins==), contrassegnati da un segno di spunta, che sono i seguenti: -Prima di avviare il bootstrap, l'installazione ci proporrà l'installazione di una struttura di base (*template chadrc*) per la nostra ulteriore personalizzazione: +* **base46** - fornisce i temi per l'editor +* **NvChad** - la configurazione di base che consente di inserire la configurazione dell'utente in Neovim +* **nvim-treesitter** - per analizzare ed evidenziare il codice +* **ui** - l'interfaccia dell'editor (statusline, tabufline...) -> Do you want to install chadrc template? (y/N): +I moduli rimanenti verranno attivati, grazie alla tecnica del ==*lazyloading*==, quando viene richiesta la funzionalità fornita dal modulo. Questo migliora le prestazioni dell'editor in generale e, in particolare, il suo tempo di avvio. -Sebbene la scelta di installare la struttura raccomandata non sia obbligatoria, è sicuramente consigliata per chiunque sia alla prima esperienza con questo editor. Gli utenti di NvChad che hanno già una cartella ==custom== potranno continuare a usarla dopo aver apportato le modifiche necessarie. +A questo punto, l'editor è pronto per essere utilizzato. Le sezioni seguenti forniscono uno sguardo approfondito al processo di installazione e non sono necessarie per l'uso quotidiano. Se si è interessati solo al suo utilizzo, si può consultare la pagina [Utilizzare NvChad](./nvchad_ui/using_nvchad.md). +Tuttavia, si consiglia di leggere la [documentazione ufficiale](https://nvchad.com/docs/quickstart/install) per un'introduzione ai suoi componenti e alle sue funzionalità. -La struttura creata dal modello sarà utilizzata anche in questa guida per sviluppare la configurazione da utilizzare per scrivere documenti in Markdown. +Per chiudere l'editor, utilizzare il tasto ++colon++ ++"q "++. -Per coloro che vogliono saperne di più su questo argomento prima di iniziare l'installazione, possono consultare la pagina dedicata [Template Chadrc](template_chadrc.md). +### :material-timer-cog-outline: Bootstrap -La pagina contiene informazioni sulla struttura della cartella che verrà creata, le funzioni dei file correlati, e altre informazioni utili per personalizzare NvChad. +Il processo di bootstrap è implementato nel file ==*init.lua*== del repository *starter* e consiste nelle seguenti fasi: -A questo punto inizierà il download e la configurazione dei plugin di base e, se abbiamo scelto d'installare anche il template, l'installazione dei server linguistici configurati. Una volta completato il processo, il nostro Editor sarà pronto all'uso. +Un'impostazione iniziale del percorso del tema predefinito e del tasto ``, in questo caso il tasto ++spazio++: -![Installazione](images/installed_first_time.png) +```lua +vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/" +vim.g.mapleader = " " +``` -Come si può vedere dalla schermata sottostante, grazie alle modifiche apportate alla configurazione, l'editor ha cambiato completamente aspetto rispetto alla versione base di Neovim. Va ricordato, tuttavia, che anche se la configurazione di NvChad trasforma completamente l'editor, la base rimane Neovim. +Una successiva installazione del plugin principale **lazy.nvim**: -![NvChad Rockydocs](images/nvchad_ui.png) +```lua +-- bootstrap lazy and all plugins +local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim" -## :material-file-tree-outline: Configurazione della struttura +if not vim.loop.fs_stat(lazypath) then + local repo = "https://github.com/folke/lazy.nvim.git" + vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath } +end -La configurazione installata consiste in due parti, una dedicata all'editor che rimane sotto il controllo di versione (==git==) del repository NvChad e una dedicata alla personalizzazione dell'utente che viene esclusa dal controllo di versione attraverso l'uso di un file ==.gitignore==. +vim.opt.rtp:prepend(lazypath) -In questo modo è possibile aggiornare l'editor senza compromettere la configurazione personale. +local lazy_config = require "configs.lazy" +``` -### Struttura di base +E l'installazione dei plugin di NvChad e di tutti quelli configurati nella cartella `plugins`: -La parte riservata all'editor è la seguente: +```lua +-- load plugins +require("lazy").setup({ + { + "NvChad/NvChad", + lazy = false, + branch = "v2.5", + import = "nvchad.plugins", + config = function() + require "options" + end, + }, + + { import = "plugins" }, +}, lazy_config) +``` -```text -.config/nvim -├── init.lua -├── lazy-lock.json -├── LICENSE -└── lua - ├── core - │   ├── bootstrap.lua - │   ├── default_config.lua - │   ├── init.lua - │   ├── mappings.lua - │   └── utils.lua - └── plugins - ├── configs - │   ├── cmp.lua - │   ├── lazy_nvim.lua - │   ├── lspconfig.lua - │   ├── mason.lua - │   ├── nvimtree.lua - │   ├── others.lua - │   ├── telescope.lua - │   └── treesitter.lua - └── init.lua +Quindi si applica il tema alle impostazioni *default* e *statusline*: + +```lua +-- load theme +dofile(vim.g.base46_cache .. "defaults") +dofile(vim.g.base46_cache .. "statusline") +``` + +Al termine, vengono inseriti anche gli ==autocmds== ([autocomandi Neovim](https://neovim.io/doc/user/autocmd.html)) necessari per il funzionamento della configurazione e le mappature della tastiera: + +```lua +require "nvchad.autocmds" + +vim.schedule(function() + require "mappings" +end) ``` -### Struttura del template +## :material-file-tree-outline: Configurazione della struttura -Mentre la parte relativa alla personalizzazione è costituita dalla seguente struttura: +La struttura installata da NvChad è la seguente: ```text -.config/nvim/lua/custom/ -├── chadrc.lua -├── configs -│   ├── lspconfig.lua -│   ├── null-ls.lua -│   └── overrides.lua -├── highlights.lua +~/.config/nvim/ ├── init.lua -├── mappings.lua -├── plugins.lua +├── lazy-lock.json +├── LICENSE +├── lua +│   ├── chadrc.lua +│   ├── configs +│   │   ├── conform.lua +│   │   └── lazy.lua +│   ├── mappings.lua +│   ├── options.lua +│   └── plugins +│   └── init.lua └── README.md ``` -## :octicons-file-code-16: Analisi della struttura +Consiste in un file iniziale **init.lua** che inizializza e coordina l'inserimento delle personalizzazioni nella configurazione di ==Neovim==, questo file inizialmente risulta identico a quello usato dal *bootstrap* del repository **starter** mostrato sopra, ma sarà usato in seguito per caricare altri file nella configurazione, come il proprio file *autocommands.lua*. -Il primo file che incontriamo è il file `init.lua`, che inizializza la configurazione inserendo la cartella `lua/core` e i file `lua/core/utils.lua` (e, se presente, `lua/custom/init.lua`) nell'albero di _nvim_. Esegue il bootstrap di `lazy.nvim` (il plugin manager) e una volta finito inizializza la cartella `plugins`. +Segue il file **lazy-lock.json** in cui sono memorizzati tutti i plugin dell'installazione e il loro stato rispetto allo sviluppo su *GitHub*. Questo file consente di sincronizzare lo stato dell'editor tra le installazioni presenti su più macchine e permette alle installazioni personalizzate di replicare lo stato desiderato. -In particolare, la funzione `load_mappings()` è chiamata per caricare le scorciatoie da tastiera. Inoltre, la funzione `gen_chadrc_template()` fornisce la subroutine per creare la cartella `custom`. +Il resto della configurazione si trova nella cartella `lua` e viene inizializzato a partire dal file **chadrc.lua**, che nella versione iniziale contiene solo le impostazioni del tema dell'editor. +Questo file è usato per personalizzare l'aspetto dell'editor (==UI==) e condivide la sintassi con il file [nvconfig.lua](https://github.com/NvChad/NvChad/blob/v2.5/lua/nvconfig.lua) del plugin **NvChad**; per compilarlo, è sufficiente copiare la parte desiderata del file *nvconfig.lua* nel file *chadrc.lua* e modificarne le proprietà secondo necessità. -```lua -require("core") +Il prossimo file utilizzato dalla configurazione, le cui cartelle saranno descritte più avanti, è il file **option.lua** per le personalizzazioni dell'editor, come gli spazi di indentazione, la condivisione della clipboard con il sistema ospite e, cosa molto importante, l'inclusione dei binari installati da *Mason* nel percorso. +Come il precedente, condivide la sintassi del file [corrispondente](https://github.com/NvChad/NvChad/blob/v2.5/lua/nvchad/options.lua) del plugin **NvChad**; per personalizzarlo come sopra, basta copiare le opzioni e modificarle. -local custom_init_path = vim.api.nvim_get_runtime_file("lua/custom/init.lua", false)[1] +Infine, si incontra il file **mapping.lua** dove impostare i tasti della tastiera per richiamare le varie funzioni offerte dall'editor. Il file iniziale contiene la mappatura dei tasti per entrare in modalità **COMMAND**, per la formattazione con *conform.nvim* e il tasto per uscire dalla modalità **INSERT**. +Le chiavi utilizzano la sintassi `vim.keymap.set` nativa di Neovim e per la loro configurazione si può fare riferimento alla [mappatura predefinita](https://github.com/NvChad/NvChad/blob/v2.5/lua/nvchad/mappings.lua) di NvChad o, in alternativa, alla pagina di aiuto inclusa in Neovim `:h vim.keymap.set`. -if custom_init_path then - dofile(custom_init_path) -end +```lua +require "nvchad.mappings" -require("core.utils").load_mappings() +-- add yours here -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +local map = vim.keymap.set --- bootstrap lazy.nvim! -if not vim.loop.fs_stat(lazypath) then - require("core.bootstrap").gen_chadrc_template() - require("core.bootstrap").lazy(lazypath) -end +map("n", ";", ":", { desc = "CMD enter command mode" }) -vim.opt.rtp:prepend(lazypath) -require("plugins") +map("n", "fm", function() + require("conform").format() +end, { desc = "File Format with conform" }) -dofile(vim.g.base46_cache .. "defaults") +map("i", "jk", "", { desc = "Escape insert mode" }) ``` -L'inclusione della cartella `core` comporta anche l'inclusione del file `core/init.lua`, che sovrascrive alcune configurazioni dell'interfaccia di Neovim e prepara la gestione dei buffer. +Le due cartelle incluse nella configurazione `configs` e `plugins` servono entrambe a gestire i plugin; i plugin personali devono essere collocati nella cartella `plugins` e le loro eventuali configurazioni aggiuntive nella cartella `configs`.. +Inizialmente, sarà disponibile per le installazioni un file *plugins/init.lua* con il plugin *conform.lua* configurato in *configs/conform.lua* e *nvimtree.nvim* con l'opzione per le decorazioni relative a *Git* al suo interno. -Come si può vedere, ogni file `init.lua` viene incluso seguendo un ordine ben stabilito. Questo è usato per sovrascrivere selettivamente le varie opzioni delle impostazioni di base. In generale, possiamo dire che i file `init.lua` hanno le funzioni per caricare opzioni globali, autocmds o qualsiasi altra cosa. +!!! notes "Organizzazione dei plugin" -Proseguendo con l'analisi strutturale, troviamo la cartella *lua/plugins*, che contiene l'impostazione dei plugin integrati e le loro configurazioni. I plugin principali della configurazione saranno descritti nella sezione successiva. Come si può vedere, la cartella *core/plugins* contiene anche un file ==init.lua==, che viene utilizzato per l'installazione e la successiva compilazione dei plugin. + L'inclusione dei plugin avviene mediante l'inserimento di qualsiasi file opportunamente configurato presente nella cartella `plugins`; ciò consente di organizzare i plugin, ad esempio per finalità, creando file separati (*utils.lua*, *editor.lua*, *markdown.lua*, ecc.) in questo modo è possibile lavorare sulla configurazione in modo più ordinato. -Infine, troviamo il file ==lazy-lock.json==. Questo file ci permette di sincronizzare la configurazione dei plugin NvChad su più workstation, in modo da avere le stesse funzionalità su tutte le postazioni di lavoro utilizzate. La sua funzione è illustrata meglio nella sezione dedicata al gestore dei plugin. +Sono presenti inoltre i file per la *licenza* e un *README.md* copiato dal repository **starter**, che può essere usato per illustrare la propria configurazione nel caso in cui sia mantenuta in un repository *Git*. ## :material-keyboard-outline: Chiavi principali della tastiera -L'installazione di NvChad inserisce nell'editor anche una serie di chiavi per i comandi più comuni; la loro configurazione è contenuta nel file `lua/core/mappings.lua` e può essere modificata o estesa con il file `lua/custom/mappings.lua`. - Questa è la chiamata che restituisce le mappature dei comandi di base: ```lua -require("core.utils").load_mappings() +vim.schedule(function() + require "mappings" +end) ``` Questo sistema prevede quattro tasti principali dai quali, in associazione con altri tasti, è possibile lanciare i comandi. Le chiavi principali sono: @@ -210,10 +226,10 @@ Questo sistema prevede quattro tasti principali dai quali, in associazione con a Nel corso di questi documenti si farà più volte riferimento a queste mappature di chiavi. -Queste sono alcune delle chiavi impostate. Si consiglia di consultare il file sopra citato per un elenco esaustivo. +La mappatura predefinita è contenuta in *lua/mapping.lua* del plugin NvChad, ma può essere estesa con altri comandi personalizzati usando il proprio *mapping.lua*. `th` per cambiare il tema ++space++ + ++"t"++ + ++"h"++ `` per aprire nvimtree ++ctrl++ + ++"n"++ `` per aprire un terminale in una scheda flottante ++alt++ + ++"i"++ -Le combinazioni preimpostate sono numerose e coprono tutti gli usi di NvChad. Vale la pena soffermarsi ad analizzare le mappature delle chiavi prima di iniziare a usare l'istanza di Neovim configurata con NvChad. +Ci sono molte combinazioni preimpostate che coprono tutti gli usi di NvChad. Vale la pena soffermarsi ad analizzare le mappature delle chiavi prima di iniziare a usare l'istanza di Neovim configurata con NvChad. diff --git a/docs/books/nvchad/nerd_fonts.it.md b/docs/books/nvchad/nerd_fonts.it.md index 22e4fbfa9a..fd0225295f 100644 --- a/docs/books/nvchad/nerd_fonts.it.md +++ b/docs/books/nvchad/nerd_fonts.it.md @@ -25,28 +25,61 @@ I caratteri sono disponibili per il download su: https://www.nerdfonts.com/font-downloads ``` -## :material-monitor-arrow-down-variant: Installazione +### :material-monitor-arrow-down-variant: Procedura di installazione -La procedura per l'installazione dei font su Rocky Linux consiste nel salvare da qualche parte i font che si desidera aggiungere e poi installarli con il comando `fc-cache`. Questa procedura non è una vera e propria installazione, ma piuttosto una registrazione dei nuovi font nel sistema. +L'installazione dei Nerd Fonts in Rocky Linux si effettua interamente da linea di comando grazie all'implementazione della procedura fornita dal repository del progetto [ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts); la procedura utilizza *git* per recuperare i fonts richiesti e *fc-cache* per la loro configurazione. -!!! warning "Creazione di pacchetti compressi" +!!! Note - La procedura descritta di seguito non è una procedura standard, poiché ogni sviluppatore ha confezionato i font utilizzando uno schema personalizzato. Quindi, una volta scaricato ed estratto, è necessario verificare il contenuto per scegliere la procedura di copia dei font. + Questo metodo può essere usato su tutte le distribuzioni *linux* che usano [fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/) per la gestione dei font di sistema. -Per questa guida utilizzeremo il font `Sauce Code Pro Nerd`. +Per iniziare, recuperare i file necessari dal repository del progetto: -Scarica il pacchetto con: +```bash +git clone --filter=blob:none --sparse git@github.com:ryanoasis/nerd-fonts +``` + +Questo comando scarica solo i file necessari omettendo i font contenuti in *patched-fonts*, in modo da non appesantire il repository locale con font che in seguito non verranno utilizzati, consentendo così un'installazione selettiva. +Questa guida utilizzerà il font [IBM Plex Mono](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/IBMPlexMono), che offre una visualizzazione pulita e leggermente tipografica, caratteristiche che lo rendono particolarmente adatto alla scrittura di documentazione Markdown. +Per una panoramica, con anteprima, dei font disponibili è possibile visitare [il sito dedicato](https://www.programmingfonts.org/#plex-mono). + +Passare alla cartella appena creata e scaricare il set di font con i comandi: ```bash -https://github.com/ryanoasis/nerd-fonts/releases/download/v2.3.3/SourceCodePro.zip +cd ~/nerd-fonts/ +git sparse-checkout add patched-fonts/IBMPlexMono ``` -Quindi, decomprimere il contenuto della cartella e copiare i font in `~/.local/share/fonts/` con: +Il comando scaricherà i font nella cartella *patched-fonts* e al termine sarà possibile installarli con lo script ==install.sh== fornito, digitando: ```bash -mkdir ~/.local/share/fonts -unzip SourceCodePro.zip -d ~/.local/share/fonts/ -fc-cache ~/.local/share/fonts +./install.sh IBMPlexMono +``` + +!!! Note "Nome riservato" + + Il font durante l'installazione viene rinominato in *BlexMono* per rispettare la SIL Open Font License (OFL) e in particolare il meccanismo [reserved name mechanism](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#14cbfd4a). + +Lo script *install.sh* copia i font nella cartella utente `~/.local/share/fonts/` e invoca il programma *fc-cache* per registrarli nel sistema. Una volta terminato, i font saranno disponibili per l'emulatore di terminale; in particolare, saranno installati i seguenti font: + +```text title="~/.local/share/fonts/" +NerdFonts/ +├── BlexMonoNerdFont-BoldItalic.ttf +├── BlexMonoNerdFont-Bold.ttf +├── BlexMonoNerdFont-ExtraLightItalic.ttf +├── BlexMonoNerdFont-ExtraLight.ttf +├── BlexMonoNerdFont-Italic.ttf +├── BlexMonoNerdFont-LightItalic.ttf +├── BlexMonoNerdFont-Light.ttf +├── BlexMonoNerdFont-MediumItalic.ttf +├── BlexMonoNerdFont-Medium.ttf +├── BlexMonoNerdFont-Regular.ttf +├── BlexMonoNerdFont-SemiBoldItalic.ttf +├── BlexMonoNerdFont-SemiBold.ttf +├── BlexMonoNerdFont-TextItalic.ttf +├── BlexMonoNerdFont-Text.ttf +├── BlexMonoNerdFont-ThinItalic.ttf +├── BlexMonoNerdFont-Thin.ttf ``` ## :material-file-cog-outline: Configurazione diff --git a/docs/guides/backup/rsync_ssh.it.md b/docs/guides/backup/rsync_ssh.it.md index 9bd9061f5a..08ee9fe253 100644 --- a/docs/guides/backup/rsync_ssh.it.md +++ b/docs/guides/backup/rsync_ssh.it.md @@ -13,13 +13,13 @@ tags: Ecco tutto ciò di cui avrete bisogno per capire e seguire questa guida: -* Una macchina con Rocky Linux. -* Essere a proprio agio con la modifica dei file di configurazione dalla riga di comando -* Conoscenza dell'uso di un editor a riga di comando (qui si usa _vi_, ma si può usare il proprio editor preferito) -* È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale -* Coppia di chiavi SSH Pubbliche e Private. -* In grado di creare uno script bash con `vi` o con il vostro editor preferito e di testarlo. -* In grado di utilizzare _crontab_ per automatizzare l'esecuzione dello script. +- Una macchina con Rocky Linux. +- Essere a proprio agio con la modifica dei file di configurazione dalla riga di comando +- Conoscenza dell'uso di un editor a riga di comando (qui si usa _vi_, ma si può usare il proprio editor preferito) +- È necessario avere accesso a root e, idealmente, essere registrati come utente root nel proprio terminale +- Coppia di chiavi SSH Pubbliche e Private. +- In grado di creare uno script bash con `vi` o con il vostro editor preferito e di testarlo. +- In grado di utilizzare _crontab_ per automatizzare l'esecuzione dello script. ## Introduzione @@ -45,18 +45,18 @@ Questo particolare esempio utilizzerà `rsync` sul computer di destinazione per Prima di lasciarsi prendere la mano con l'impostazione di uno script, è necessario decidere quali parametri utilizzare con `rsync`. Ci sono molte possibilità, quindi date un'occhiata al [manuale di rsync](https://linux.die.net/man/1/rsync). Il modo più comune di usare `rsync` è quello di usare l'opzione `-a`, perché `-a`, o archivio, combina una serie di opzioni in una sola e queste sono opzioni molto comuni. Che cosa include -a? -* -r, ricorrere le directory -* -l, mantenere i collegamenti simbolici come collegamenti simbolici -* -p, preservare le autorizzazioni -* -t, preservare i tempi di modifica -* -g, preservare il gruppo -* -o, preservare il proprietario -* -D, conservare i file di dispositivo +- `-r`, ricorre le directory +- `-l`, mantiene i collegamenti simbolici come collegamenti simbolici +- `-p`, preserva i permessi +- `-t`, preserva i tempi di modifica +- `-g`, preserva il gruppo +- `-o`, preserva il proprietario +- `-D`, conserva i file del dispositivo Le uniche altre opzioni da specificare in questo esempio sono: -* -e, specificare la shell remota da utilizzare -* --delete, che dice che se la directory di destinazione contiene un file che non esiste nella sorgente, bisogna eliminarlo +- `-e`, specifica la shell remota da utilizzare +- `--delete`, che dice che se nella directory di destinazione c'è un file che non esiste nella sorgente, bisogna eliminarlo Successivamente, dobbiamo impostare uno script creando un file per esso (ancora una volta, utilizzate il vostro editor preferito se non avete familiarità con vi). Per creare il file, basta usare questo comando: @@ -70,7 +70,7 @@ E poi renderlo eseguibile: Ora, lo scripting lo rende super semplice e sicuro, in modo da poterlo testare senza timore. Si noti che l'URL utilizzato di seguito è "source.domain.com". Sostituirlo con il dominio o l'indirizzo IP del proprio computer di origine, entrambi funzionano. Ricordate inoltre che in questo esempio lo script viene creato sul computer "di destinazione", perché il file viene estratto dal computer di origine: -``` +```bash #!/bin/bash /usr/bin/rsync -ae ssh --delete root@source.domain.com:/home/your_user /home ``` @@ -148,25 +148,26 @@ In questo modo si ottiene il cron, che può avere un aspetto simile a questo: # # m h dom mon dow command ``` + Il cron è impostato su un orologio di 24 ore, quindi la voce da inserire in fondo al file è: `00 23 * * * /usr/local/sbin/rsync_dirs` Questo comando deve essere eseguito alle 00 minuti, 23 ore, tutti i giorni, tutti i mesi e tutti i giorni della settimana. Salvare la voce di cron con: -`Shift : wq!` +++shift+colon+"w"+"q"+exclam++ ... o con i comandi che il vostro editor preferito utilizza per salvare un file. ## Flags opzionali -``` + +```bash -n : Esecuzione Dry-Run per vedere quali file verranno trasferiti -v : elenca tutti i file che vengono trasferiti -vvv : per fornire informazioni di debug durante il trasferimento dei file -z : per abilitare la compressione durante il trasferimento ``` - ## Conclusioni Sebbene `rsync` non sia flessibile o potente come altri strumenti, fornisce una semplice sincronizzazione dei file, che è sempre utile. diff --git a/docs/guides/desktop/kde_installation.it.md b/docs/guides/desktop/kde_installation.it.md index 3ac6b4ebdd..ded3d3c6ec 100644 --- a/docs/guides/desktop/kde_installation.it.md +++ b/docs/guides/desktop/kde_installation.it.md @@ -25,7 +25,7 @@ Grazie al team di sviluppo di Rocky Linux, sono disponibili immagini live per di ## Ottenere, verificare e scrivere l'immagine live di KDE -Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di KDE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.3/live/x86_64/). +Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di KDE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). Si noti che questo particolare collegamento presuppone x86_64 come architettura del processore. Se si dispone di un'architettura aarch64, è possibile utilizzare questa immagine. Scaricare l'immagine live e i file di checksum. diff --git a/docs/guides/desktop/mate_installation.it.md b/docs/guides/desktop/mate_installation.it.md index ce7018ab11..4999095c37 100644 --- a/docs/guides/desktop/mate_installation.it.md +++ b/docs/guides/desktop/mate_installation.it.md @@ -29,20 +29,20 @@ Questa procedura vi permetterà di utilizzare MATE su Rocky Linux. ### 9: Ottenere, verificare e scrivere l'immagine live di MATE - Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine MATE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.3/live/x86_64/). Si noti che questo particolare collegamento presuppone che l'architettura sia x86_64 e, al momento in cui scriviamo, questa è l'unica immagine live disponibile. Scaricare sia l'immagine live che i file di checksum. + Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine MATE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). Si noti che questo particolare collegamento presuppone che l'architettura sia x86_64 e, al momento in cui scriviamo, questa è l'unica immagine live disponibile. Scaricare sia l'immagine live che i file di checksum. Verificare l'immagine con il file CHECKSUM nel modo seguente (si noti che questo è un esempio! Assicurarsi che il nome dell'immagine e i file CHECKSUM corrispondano): ``` - sha256sum -c CHECKSUM --ignore-missing Rocky-9.1-MATE-x86_64-20221124.0.iso.CHECKSUM + sha256sum -c CHECKSUM --ignore-missing Rocky-9.4-MATE-x86_64-20221124.0.iso.CHECKSUM ``` Se tutto va bene, riceverete questo messaggio: ``` - Rocky-9.1-MATE-x86_64-20221124.0.iso: OK + Rocky-9.4-MATE-x86_64-20221124.0.iso: OK ``` diff --git a/docs/guides/desktop/xfce_installation.it.md b/docs/guides/desktop/xfce_installation.it.md index 3537a90d44..d1710fbeb9 100644 --- a/docs/guides/desktop/xfce_installation.it.md +++ b/docs/guides/desktop/xfce_installation.it.md @@ -24,7 +24,7 @@ L'ambiente desktop XFCE, creato come fork del Common Desktop Environment (CDE), ## 9: Ottenere, verificare e scrivere l'immagine live di XFCE - Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di XFCE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.3/live/x86_64/). Si noti che questo particolare collegamento presuppone che x86_64 sia l'architettura del vostro processore. + Prima dell'installazione, il primo passo è scaricare l'immagine live e scriverla su un DVD o una chiavetta USB. Come detto in precedenza, l'immagine sarà avviabile, proprio come qualsiasi altro supporto di installazione per Linux. È possibile trovare l'ultima immagine di XFCE nella sezione download di Rocky Linux 9 [immagini live](https://dl.rockylinux.org/pub/rocky/9.4/live/x86_64/). Si noti che questo particolare collegamento presuppone che x86_64 sia l'architettura del vostro processore. Al momento è possibile utilizzare architetture x86_64 o aarch64 per questa immagine live. Scaricare l'immagine live e i file di checksum. @@ -99,7 +99,7 @@ L'ambiente desktop XFCE, creato come fork del Common Desktop Environment (CDE), ## 9 minimal: Introduzione - Se avete installato Rocky Linux 9.x e successivamente decidete di installare XFCE, questa procedura vi permetterà di farlo. Questa procedura presuppone l'installazione di `Rocky-9.3-x86_64-minimal.iso`. + Se avete installato Rocky Linux 9.x e successivamente decidete di installare XFCE, questa procedura vi permetterà di farlo. Questa procedura presuppone l'installazione di `Rocky-9.4-x86_64-minimal.iso`. ### Aggiornare il sistema diff --git a/docs/guides/mirror_management/add_mirror_manager.it.md b/docs/guides/mirror_management/add_mirror_manager.it.md index 03b9fa214e..2125b8449b 100644 --- a/docs/guides/mirror_management/add_mirror_manager.it.md +++ b/docs/guides/mirror_management/add_mirror_manager.it.md @@ -11,7 +11,7 @@ Accogliamo sempre con favore nuovi mirrors pubblici. Ma dovrebbero essere ben ma Si prega di non inviare mirror ospitati in un Anycast-CDN come Cloudflare, ecc. poiché ciò può portare a prestazioni non ottimali con la selezione del mirror più veloce in `dnf`. -Si ricorda che non è possibile accettare mirror pubblici in paesi soggetti alle normative statunitensi sull'esportazione. L'elenco di questi Paesi è disponibile qui: [https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations](https://www.bis.doc.gov/index.php/policy-guidance/country-guidance/sanctioned-destinations) +Si ricorda che non è possibile accettare mirror pubblici in paesi soggetti alle normative statunitensi sull'esportazione. L'elenco di questi Paesi è disponibile qui: Al momento in cui scriviamo (fine 2022), lo spazio di archiviazione richiesto per il mirroring di tutte le versioni attuali e passate di Rocky Linux è di circa 2 TB. @@ -25,7 +25,7 @@ Si prega di impostare un cron job per sincronizzare periodicamente il mirror e e Ecco alcuni esempi di crontab per voi: -``` +```bash #This will synchronize your mirror at 0:50, 4:50, 8:50, 12:50, 16:50, 20:50 50 */6 * * * /path/to/your/rocky-rsync-mirror.sh > /dev/null 2>&1 @@ -39,27 +39,29 @@ Ecco alcuni esempi di crontab per voi: Per una semplice sincronizzazione si può usare il seguente comando `rsync`: -``` +```bash rsync -aqH --delete source-mirror destination-dir ``` + Considerare l'uso di un meccanismo di blocco per evitare l'esecuzione simultanea di più lavori `rsync` quando si rilascia una nuova release. -È inoltre possibile utilizzare e modificare il nostro esempio di implementazione dello script di blocco e sincronizzazione completa, se necessario. Può essere trovato su [https://github.com/rocky-linux/rocky-tools/blob/main/mirror/mirrorsync.sh](https://github.com/rocky-linux/rocky-tools/blob/main/mirror/mirrorsync.sh). +È inoltre possibile utilizzare e modificare il nostro esempio di implementazione dello script di blocco e sincronizzazione completa, se necessario. Può essere trovato su . Dopo la prima sincronizzazione completa controllare che tutto vada bene con il tuo mirror. La cosa più importante è verificare che tutti i file e le directory siano stati sincronizzati, che il cron job funzioni correttamente e che il mirror sia raggiungibile da Internet. Doppio controllo delle regole del tuo firewall! Per evitare problemi, non applicare il reindirizzamento da http a https. -Per qualsiasi domanda riguardante la configurazione del tuo mirror unisciti a https://chat.rockylinux.org/rocky-linux/channels/infrastructure +Per qualsiasi domanda sull'impostazione del mirror, unitevi a Quando avete finito, passate alla sezione successiva e proponete il vostro mirror per renderlo pubblico! ## Cosa Serve -* Un account su https://accounts.rockylinux.org/ + +- Un account su ## Creare un sito Rocky utilizza il Mirror Manager di Fedora per organizzare i mirror della comunità. -Accedi a Rocky's Mirror Manager qui: https://mirrors.rockylinux.org/mirrormanager/ +Accedere al Mirror Manager di Rocky qui: Dopo un accesso riuscito, il tuo profilo sarà in alto a destra. Selezionare il menu a tendina quindi fare clic su "My sites". @@ -67,13 +69,13 @@ Verrà caricata una nuova pagina con l'elenco di tutti i siti dell'account. La p Verrà caricata una nuova pagina con un'importante dichiarazione di Conformità alle Esportazioni da leggere. Quindi compilare le seguenti informazioni: -* "Site Name" -* "Site Password" - utilizzato dallo script `report_mirrors`, si può utilizzare ciò che si preferisce -* "Organization URL" - URL dell'Azienda/Scuola/Organizzazione -* "Private" - Selezionando questa casella si nasconde il proprio mirror all'uso pubblico. -* "User active" - Deselezionare questa casella per disabilitare temporaneamente questo sito, che verrà rimosso dagli elenchi pubblici. -* "All sites can pull from me?" - Consentire a tutti i siti mirror di attingere da me senza aggiungerli esplicitamente al mio elenco. -* "Comments for downstream siteadmins. Includere qui la fonte di sincronizzazione per evitare cicli di dipendenze." +- "Site Name" +- "Site Password" - utilizzato dallo script `report_mirrors`, si può utilizzare ciò che si preferisce +- "URL dell'organizzazione" - URL dell'azienda/scuola/organizzazione, ad es. +- "Private" - Selezionando questa casella si nasconde il proprio mirror all'uso pubblico. +- "User active" - Deselezionare questa casella per disabilitare temporaneamente questo sito, che verrà rimosso dagli elenchi pubblici. +- "All sites can pull from me?" - Consentire a tutti i siti mirror di attingere da me senza aggiungerli esplicitamente al mio elenco. +- "Comments for downstream siteadmins. Includere qui la fonte di sincronizzazione per evitare cicli di dipendenze." Facendo clic su "Submit" si torna alla pagina principale dei mirror. @@ -89,18 +91,18 @@ Tutte le opzioni dell'ultima sezione sono elencate di nuovo. In fondo alla pagin Compila le seguenti opzioni appropriate per il sito: -* "Host name" - richiesto: FQDN del server visto da un utente finale pubblico -* "User active" - Deselezionare questa casella per disabilitare temporaneamente questo host, che verrà rimosso dagli elenchi pubblici. -* "Country" - richiesto: Codice paese ISO a 2 lettere -* "Bandwidth" - richiesto: numero intero di megabit/sec, la quantità di larghezza di banda che questo host può servire -* "Private" - ad esempio, non disponibile al pubblico, un mirror privato interno -* "Internet2" - su Internet2 -* "Internet2 clients" - serve i client di Internet2, anche se privati -* "ASN - Autonomous System Number, utilizzato nelle tabelle di routing BGP. Solo se siete un ISP. -* " ASN Clients" - Serve tutti i client dello stesso ASN. Utilizzato per ISP, aziende o scuole, non per reti personali. -* "Robot email" - indirizzo di posta elettronica, riceverà una notifica degli aggiornamenti dei contenuti upstream -* "Comment" - testo, qualsiasi altra cosa vogliate che un utente finale pubblico sappia sul vostro mirror -* "Max connections" - Connessioni massime di download parallelo per client, suggerite tramite metalinks. +- "Host name" - richiesto: FQDN del server visto da un utente finale pubblico +- "User active" - Deselezionare questa casella per disabilitare temporaneamente questo host, che verrà rimosso dagli elenchi pubblici. +- "Country" - richiesto: Codice paese ISO a 2 lettere +- "Bandwidth" - richiesto: numero intero di megabit/sec, la quantità di larghezza di banda che questo host può servire +- "Private" - ad esempio, non disponibile al pubblico, un mirror privato interno +- "Internet2" - su Internet2 +- "Internet2 clients" - serve i client di Internet2, anche se privati +- "ASN - Autonomous System Number, utilizzato nelle tabelle di routing BGP. Solo se siete un ISP. +- " ASN Clients" - Serve tutti i client dello stesso ASN. Utilizzato per ISP, aziende o scuole, non per reti personali. +- "Robot email" - indirizzo di posta elettronica, riceverà una notifica degli aggiornamenti dei contenuti upstream +- "Comment" - testo, qualsiasi altra cosa vogliate che un utente finale pubblico sappia sul vostro mirror +- "Max connections" - Connessioni massime di download parallelo per client, suggerite tramite metalinks. Fare clic su "Create" e si verrà reindirizzati al sito informativo dell'host. @@ -108,13 +110,13 @@ Fare clic su "Create" e si verrà reindirizzati al sito informativo dell'host. Nella parte inferiore di Information site, l'opzione "Hosts" dovrebbe ora visualizzare il titolo dell'host accanto ad essa. Fare clic sul nome per caricare la pagina dell'host. Vengono riproposte tutte le stesse opzioni del passo precedente. Ci sono nuove opzioni in basso. -* "Site-local Netblocks": I Netblocks sono utilizzati per cercare di guidare l'utente finale verso un mirror specifico del sito. Ad esempio, un'università potrebbe elencare i propri netblocks e il CGI mirrorlist restituirà il mirror locale dell'università piuttosto che quello del paese. Il formato è uno dei seguenti: 18.0.0.0/255.0.0.0, 18.0.0.0/8, un prefisso/lunghezza IPv6 o un nome host DNS. I valori devono essere indirizzi IP pubblici (non indirizzi di spazio privati RFC1918). Utilizzare solo se si è un ISP e/o si possiede un blocco di rete instradabile pubblicamente! +- "Site-local Netblocks": I Netblocks sono utilizzati per cercare di guidare l'utente finale verso un mirror specifico del sito. Ad esempio, un'università potrebbe elencare i propri netblocks e il CGI mirrorlist restituirà il mirror locale dell'università piuttosto che quello del paese. Il formato è uno dei seguenti: 18.0.0.0/255.0.0.0, 18.0.0.0/8, un prefisso/lunghezza IPv6 o un nome host DNS. I valori devono essere indirizzi IP pubblici (non indirizzi di spazio privati RFC1918). Utilizzare solo se si è un ISP e/o si possiede un blocco di rete instradabile pubblicamente! -* "Peer ASN": I peer ASN sono utilizzati per guidare un utente finale su reti vicine verso il nostro mirror. Ad esempio, un'università potrebbe elencare i propri peer ASN e il CGI mirrorlist restituirà il mirror locale dell'università piuttosto che quello del paese. Per creare nuove voci in questa sezione è necessario far parte del gruppo di amministratori di MirrorManager. +- "Peer ASN": I peer ASN sono utilizzati per guidare un utente finale su reti vicine verso il nostro mirror. Ad esempio, un'università potrebbe elencare i propri peer ASN e il CGI mirrorlist restituirà il mirror locale dell'università piuttosto che quello del paese. Per creare nuove voci in questa sezione è necessario far parte del gruppo di amministratori di MirrorManager. -* "Countries Allowed": Alcuni mirror devono limitarsi a servire solo gli utenti finali del proprio paese. Se siete tra questi, elencate il codice ISO di 2 lettere per i paesi da cui consentite agli utenti finali di provenire. La mirrorlist CGI lo rispetterà. +- "Countries Allowed": Alcuni mirror devono limitarsi a servire solo gli utenti finali del proprio paese. Se siete tra questi, elencate il codice ISO di 2 lettere per i paesi da cui consentite agli utenti finali di provenire. La mirrorlist CGI lo rispetterà. -* "Categories Carried": Gli host trasportano categorie di software. Le categorie di Fedora includono Fedora e Fedora Archive. +- "Categories Carried": Gli host trasportano categorie di software. Le categorie di Fedora includono Fedora e Fedora Archive. Fare clic sul link "[add]" sotto "Categories Carried". @@ -122,13 +124,13 @@ Fare clic sul link "[add]" sotto "Categories Carried". Per la Categoria, selezionare "Rocky Linux" e poi "Create" per caricare la pagina dell'URL. Quindi fare clic su "[add]" per caricare la pagina "Add host category URL". C'è una opzione. Ripetere l'operazione per ciascuno dei protocolli supportati dai mirrors. -* "URL" - URL (rsync, https, http) che punta alla directory superiore +- "URL" - URL (rsync, https, http) che punta alla directory superiore Esempi: -* `http://rocky.example.com` -* `https://rocky.example.com` -* `rsync://rocky.example.com` +- `http://rocky.example.com` +- `https://rocky.example.com` +- `rsync://rocky.example.com` ## Conclusione