diff --git a/docs/books/admin_guide/04-advanced-commands.fr.md b/docs/books/admin_guide/04-advanced-commands.fr.md index 53f0cf616..555aaa3a1 100644 --- a/docs/books/admin_guide/04-advanced-commands.fr.md +++ b/docs/books/admin_guide/04-advanced-commands.fr.md @@ -39,7 +39,7 @@ antoine steven ``` -!!! note "Note" +!!! note "Remarque " `uniq` nécessite que le fichier d'entrée soit trié car il ne compare que des lignes consécutives. @@ -216,7 +216,7 @@ L’option `-I` permet de spécifier un caractère (dans notre exemple le caract Le paquet `yum-utils` est une collection d’utilitaires de différents auteurs pour `yum`, qui le rendent plus simple et plus puissant à utiliser. -!!! note "Note" +!!! note "Remarque " Bien que `yum` ait été remplacé par `dnf` dans Rocky Linux 8, le nom du paquet est resté `yum-utils` mais il peut tout aussi bien être installé avec le paquet `dnf-utils`. Ce sont des utilitaires YUM classiques implémentés comme des CLI au-dessus de DNF pour maintenir une compatibilité ascendante avec `yum-3`. @@ -268,7 +268,7 @@ $ repoquery -l yum-utils La commande `yumdownloader` télécharge les paquets RPM depuis les dépôts. Équivalent à `dnf download --downloadonly --downloaddir ./ package-name` -!!! Note +!!! note "Remarque" Cette commande est très pratique pour construire un dépôt local de quelques rpms ! @@ -331,7 +331,7 @@ La commande `watch` exécute régulièrement une commande et affiche le résulta L’option `-n` permet de spécifier le nombre de secondes entre chaque exécution de la commande. -!!! Note +!!! note "Remarque" Pour quitter la commande `watch`, vous devez appuyer sur les touches : CTRL+C pour terminer le processus. diff --git a/docs/books/admin_guide/08-process.fr.md b/docs/books/admin_guide/08-process.fr.md index a8c286a4e..1a9cf5f74 100644 --- a/docs/books/admin_guide/08-process.fr.md +++ b/docs/books/admin_guide/08-process.fr.md @@ -19,7 +19,7 @@ Dans ce chapitre, vous apprendrez comment travailler avec les processus. **Connaissances** : :star: :star: **Complexité** : :star: -**Temps de lecture** : 23 minute +**Temps de lecture** : 23 minutes **** @@ -200,13 +200,13 @@ Exemple : kill -9 1664 ``` -| Code | Signal | Observation | -| ---- | --------- | ---------------------------------------------------------------------------------------------------------------------------- | -| `2` | *SIGINT* | Fin immédiate du processus | -| `9` | *SIGKILL* | Interrompre le processus (++control+"d"++) | -| `15` | *SIGTERM* | Fin du processus de nettoyage | -| `18` | *SIGCONT* | Reprendre le processus. Les processus suspendus par le signal SIGSTOP peuvent continuer à s'exécuter grâce au signal SIGCONT | -| `19` | *SIGSTOP* | Suspendre le processus (Stop process). L'effet de ce signal est équivalent à ++ctrl+"z"++ | +| Code | Signal | Observation | +| ---- | --------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `2` | *SIGINT* | Fin immédiate du processus | +| `9` | *SIGKILL* | Interruption de processus (++control+"d"++) | +| `15` | *SIGTERM* | Fin du processus de nettoyage | +| `18` | *SIGCONT* | Reprise du processus suspendu. Les processus suspendus par le signal SIGSTOP peuvent continuer à s'exécuter grâce au signal SIGCONT | +| `19` | *SIGSTOP* | Suspension de processus (Stop process). L'effet de ce signal est équivalent à ++ctrl+"z"++ | Les signaux sont les moyens de communication entre les processus. La commande `kill` envoie un signal à un processus. @@ -240,7 +240,7 @@ nohup myprogram.sh 0 /log/… ``` -Courir chaque heure de 11h à 16h tous les jours: +Lancer à chaque heure de 11 h à 16 h tous les jours : ```bash 00 11-16 * * * /root/scripts/script > /log/… diff --git a/docs/books/incus_server/03-incusinit.de.md b/docs/books/incus_server/03-incusinit.de.md new file mode 100644 index 000000000..41b481257 --- /dev/null +++ b/docs/books/incus_server/03-incusinit.de.md @@ -0,0 +1,129 @@ +--- +title: "Kapitel 3: Incus-Initialisierung und Benutzerkonfiguration" +author: Steven Spencer +contributors: Ezequiel Bruni, Ganna Zhyrnova +tested_with: 9.4 +tags: + - incus + - enterprise + - Incus-Initialisierung + - incus setup +--- + +In diesem Kapitel müssen Sie Root-Benutzer sein oder `sudo` verwenden können, um Root-Rechte +zu erhalten. Darüber hinaus wird davon ausgegangen, dass Sie einen ZFS-Speicherpool wie in [Kapitel 2] (02-zfs_setup.md) beschrieben eingerichtet haben. Wenn Sie sich gegen die Verwendung von ZFS entschieden haben, können Sie einen anderen Speicherpool verwenden. Sie müssen jedoch die Angaben während der Initialisierung anpassen. + +## Incus-Initialisierung + +Ihre Serverumgebung ist vollständig eingerichtet. Sie können Incus nun initialisieren. Dies ist ein automatisiertes Skript, das eine Reihe von Fragen stellt, um Ihre Incus-Instanz einzurichten: + +```bash +incus admin init +``` + +Hier sind die Fragen und unsere Antworten zum Skript, ggf. mit einer kleinen Erklärung: + +```text +Would you like to use clustering? (yes/no) [default=no]: +``` + +If interested in clustering, do some additional research on that [here](https://linuxcontainers.org/incus/docs/main/explanation/clustering/) + +```text +Do you want to configure a new storage pool? (yes/no) [default=yes]: +``` + +Das scheint kontraintuitiv zu sein. Sie haben Ihren ZFS-Pool bereits erstellt, dies wird jedoch in einer späteren Frage klargestellt. Sie können die Standardeinstellung akzeptieren. + +```text +Name of the new storage pool [default=default]: storage +``` + +Sie können die Standardeinstellung beibehalten, der Übersichtlichkeit halber ist es jedoch besser, den gleichen Namen zu verwenden, den Sie unserem ZFS-Pool gegeben haben. + +```text +Name of the storage backend to use (btrfs, dir, lvm, zfs, ceph) [default=zfs]: +``` + +Sie sollten die Standard-Einstellung akzeptieren. + +```text +Create a new ZFS pool? (yes/no) [default=yes]: no +``` + +Hier kommt die Lösung der früheren Frage zum Erstellen eines Speicherpools ins Spiel. + +```text +Name of the existing ZFS pool or dataset: storage +Would you like to connect to a MAAS server? (yes/no) [default=no]: +``` + +Metal As A Service (MAAS) ist nicht Gegenstand dieses Dokuments. + +```text +Would you like to create a new local network bridge? (yes/no) [default=yes]: +What should the new bridge be called? [default=incusbr0]: +What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: +What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none +``` + +Sie können diese Option aktivieren, um IPv6 auf Ihren Incus-Containern zu verwenden. + +```text +Would you like the Incus server to be available over the network? (yes/no) [default=no]: yes +``` + +Dies ist erforderlich, um einen Snapshot des Servers zu erstellen. + +```text +Address to bind Incus to (not including port) [default=all]: +Port to bind Incus to [default=8443]: +Trust password for new clients: +Again: +``` + +Mit diesem Trust-Passwort stellen Sie die Verbindung zum bzw. vom Snapshot-Server her. Setzen Sie es mit etwas ein, das in Ihrer Umgebung Sinn ergibt. Speichern Sie diesen Eintrag an einem sicheren Ort, beispielsweise einem Passwort-Manager. + +```text +Would you like stale cached images to be updated automatically? (yes/no) [default=yes] +Would you like a YAML "incus admin init" preseed to be printed? (yes/no) [default=no]: +``` + +## Benutzerrechte festlegen + +Bevor Sie fortfahren, müssen Sie Ihren Benutzer `incusadmin` erstellen und sicherstellen, dass er über die erforderlichen Berechtigungen verfügt. Sie benötigen den Benutzer `incusadmin`, um mit `sudo` auf Root zugreifen zu können, und er muss Mitglied der Gruppe `incus-admin` sein. Um den Benutzer hinzuzufügen und sicherzustellen, dass er Mitglied beider Gruppen ist, gehen Sie wie folgt vor: + +```bash +useradd -G wheel,incus-admin incusadmin +``` + +Passwort setzen: + +```bash +passwd incusadmin +``` + +Speichern Sie dieses wie alle anderen Passwörter an einem sicheren Ort. + +## Festlegen der `subuid`- und `subgid`-Werte für `root` + +Sie müssen sowohl den Wert für `subuid` als auch für `subgid` (den Bereich der untergeordneten Benutzer- und Gruppen-IDs) des Root-Benutzers festlegen. Dieser Wert sollte, wie folgt, lauten: + +```bash +root:1000000:1000000000 +``` + +Bearbeiten Sie dazu `/etc/subuid` und fügen Sie die Zeile hinzu. Nach dem Editieren sieht Ihre Datei wie folgt aus: + +```bash +root:1000000:1000000000 +``` + +Editieren Sie die Datei `/etc/subgid` und fügen Sie die entsprechende Zeile hinzu. Nach dem Editieren sieht Ihre Datei wie folgt aus: + +```bash +incusadmin:100000:65536 +root:1000000:1000000000 +``` + +Starten Sie den Server neu, bevor Sie fortfahren. diff --git a/docs/books/incus_server/03-incusinit.fr.md b/docs/books/incus_server/03-incusinit.fr.md index b8709bfde..c90bd5593 100644 --- a/docs/books/incus_server/03-incusinit.fr.md +++ b/docs/books/incus_server/03-incusinit.fr.md @@ -10,7 +10,7 @@ tags: - incus setup --- -Tout au long de ce chapitre, vous devez être l'utilisateur root ou pouvoir utiliser `sudo` pour obtenir les privilèges nécessaires. De plus, vous êtes supposé avoir configuré un pool de stockage ZFS comme décrit dans le [Chapitre 2](02-zfs_setup.md). Vous pouvez utiliser un pool de stockage différent si vous avez choisi de ne pas utiliser ZFS, mais vous devrez ajuster les questions et réponses d'initialisation. +Tout au long de ce chapitre, vous devez être l'utilisateur root ou pouvoir utiliser `sudo` pour obtenir les privilèges nécessaires. De plus, vous êtes supposé avoir configuré un pool de stockage ZFS comme décrit dans le [Chapitre 2](02-zfs_setup.md). Vous pouvez utiliser un pool de stockage différent si vous avez choisi de ne pas utiliser ZFS, mais vous devrez ajuster les réponses aux questions lors de l'initialisation. ## Initialisation de `Incus` diff --git a/docs/books/incus_server/09-snapshot_server.fr.md b/docs/books/incus_server/09-snapshot_server.fr.md new file mode 100644 index 000000000..62bb415f9 --- /dev/null +++ b/docs/books/incus_server/09-snapshot_server.fr.md @@ -0,0 +1,166 @@ +--- +title: "Chapitre 9 : Serveur de Snapshot" +author: Steven Spencer +contributors: Ezequiel Bruni, Ganna Zhyrnova +tested_with: 9.4 +tags: + - incus + - entreprise + - serveur de capture instantanée incus +--- + +Ce chapitre utilise une combinaison de l'utilisateur privilégié (root) et de l'utilisateur non privilégié (incusadmin) en fonction des tâches que vous exécutez. + +Comme indiqué au début, le serveur de snapshots Incus doit refléter le serveur de production de toutes les manières possibles. Vous devrez peut-être le mettre en production si le matériel tombe en panne sur votre serveur principal, et disposer de sauvegardes et d'un moyen rapide de redémarrer les conteneurs de production réduit au minimum les appels téléphoniques et les SMS de panique des administrateurs système. C'est toujours une très bonne idée ! + +Le processus de création du serveur de snapshots est exactement le même que celui du serveur de production. Pour émuler entièrement la configuration de votre serveur de production, répétez les chapitres 1 à 4 sur le serveur de capture instantanée et, une fois terminé, revenez ici à cet endroit. + +Si vous êtes ici, vous avez terminé l'installation de base du serveur de snapshots. + +## Mise en place de la relation Serveur Primaire et Serveur de Snapshot + +Vous avez besoin de quelques ajustements avant de pouvoir continuer. Tout d’abord, si vous travaillez dans un environnement de production, vous avez probablement accès à un serveur DNS pour configurer la résolution IP et le nom. + +Dans votre laboratoire, vous ne disposez pas de ce luxe. Peut-être avez-vous le même scénario en cours. Pour cette raison, vous ajouterez les adresses IP et les noms des serveurs au fichier `/etc/hosts` sur le serveur principal et sur le serveur de snapshots. Vous devez le faire en tant qu'utilisateur root (ou avec _sudo_). + +Dans votre laboratoire, le serveur Incus principal s'exécute sur 192.168.1.106 et le serveur Incus de snapshot s'exécute sur 192.168.1.141. Connectez-vous à chaque serveur via SSH et ajoutez ce qui suit au fichier `/etc/hosts` : + +```bash +192.168.1.106 incus-primary +192.168.1.141 incus-snapshot +``` + +Ensuite, vous devez autoriser tout le trafic entre les deux serveurs. Pour ce faire, modifiez les règles pour `firewalld`. Ajoutez d'abord cette ligne sur le serveur incus-primary : + +```bash +firewall-cmd zone=trusted add-source=192.168.1.141 --permanent +``` + +Et sur le serveur de snapshots, ajoutez cette règle : + +```bash +firewall-cmd zone=trusted add-source=192.168.1.106 --permanent +``` + +Puis recharger : + +```bash +firewall-cmd reload +``` + +Ensuite, en tant qu’utilisateur non privilégié (incusadmin), vous devez établir une relation de confiance entre les deux machines. Cela se fait en exécutant ce qui suit sur incus-primary : + +```bash +incus remote add incus-snapshot +``` + +Le certificat à accepter s'affiche. Acceptez-le et le système vous demandera votre mot de passe. Il s’agit du « mot de passe de confiance » que vous avez défini lors de l’étape d’initialisation d’Incus. N'oubliez pas de garder une trace sécurisée de tous ces mots de passe. Lorsque vous entrez le mot de passe, vous verrez ceci : + +```bash +Client certificate stored at server: incus-snapshot +``` + +Il est recommandé de mettre en place aussi l'inverse. Par exemple, la relation de confiance peut également être définie sur le serveur `incus-snapshot`. Si nécessaire, le serveur `incus-snapshot` peut renvoyer des snapshots au serveur `incus-primary`. Répétez les étapes et remplacez `incus-primary` par `incus-snapshot`. + +### Migrer votre premier instantané + +Avant de migrer votre premier snapshot, vous devez créer tous les profils sur le serveur `incus-snapshot` que vous avez créés sur le serveur +`incus-primary`. Dans ce cas, il s'agit du profil `macvlan`. + +Vous devrez créer ceci pour le serveur `incus-snapshot`. Revenez au [Chapitre 6](06-profiles.md) et créez le profil `macvlan` sur `incus-snapshot` si besoin est. Si vos deux serveurs ont les mêmes noms d'interface parent (`enp3s0` par exemple), vous pouvez copier le profil `macvlan` sur incus-snapshot sans le recréer : + +```bash +incus profile copy macvlan incus-snapshot +``` + +Une fois toutes les relations et tous les profils configurés, l’étape suivante consiste à envoyer un snapshot d’`incus-primary` à `incus-snapshot`. Si vous avez suivi exactement, vous avez probablement supprimé tous vos snapshots. Créer un autre instantané : + +```bash +incus snapshot rockylinux-test-9 rockylinux-test-9-snap1 +``` + +Si vous exécutez la commande `info` pour `incus`, vous pouvez voir le snapshot en bas de votre liste : + +```bash +incus info rockylinux-test-9 +``` + +Ce qui montrera quelque chose comme ça dans la partie inférieure : + +```bash +rockylinux-test-9-snap1 at 2021/05/13 16:34 UTC) (stateless) +``` + +Essayez de migrer votre instantané : + +```bash +incus copy rockylinux-test-9/rockylinux-test-9-snap1 incus-snapshot:rockylinux-test-9 +``` + +Cette commande indique que dans le conteneur rockylinux-test-9, vous souhaitez envoyer l'instantané rockylinux-test-9-snap1 à incus-snapshot et le nommer rockylinux-test-9. + +Après un court laps de temps, la copie sera terminée. Vous voulez en savoir plus ? Exécutez `incus list` sur le serveur `incus-snapshot`. Qui devrait retourner ce qui suit : + +```bash ++-------------------+---------+------+------+-----------+-----------+ +| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | ++-------------------+---------+------+------+-----------+-----------+ +| rockylinux-test-9 | STOPPED | | | CONTAINER | 0 | ++-------------------+---------+------+------+-----------+-----------+ +``` + +Success! Try starting it. Étant donné que vous le démarrez sur le serveur incus-snapshot, vous devez d'abord l'arrêter sur le serveur incus-primary pour éviter un conflit d'adresse IP : + +```bash +incus stop rockylinux-test-9 +``` + +Et sur le serveur `incus-snapshot` : + +```bash +incus start rockylinux-test-9 +``` + +En supposant que tout cela fonctionne sans erreur, arrêtez le conteneur sur `incus-snapshot` et redémarrez-le sur `incus-primary`. + +## Définition de `boot.autostart` sur désactivé `off` pour les conteneurs + +Les instantanés copiés sur incus-snapshot seront hors service lors de leur migration, mais si vous avez un événement d'alimentation ou si vous devez redémarrer le serveur d'instantanés en raison de mises à jour ou autre, vous aurez un problème. Ces conteneurs tenteront de démarrer sur le serveur de snapshots, créant ainsi un conflit d'adresse IP potentiel. + +Pour éliminer ce problème, vous devez configurer les conteneurs migrés afin qu’ils ne soient pas lancés automatiquement lors d’un redémarrage du serveur. Pour votre conteneur `rockylinux-test-9` nouvellement copié, vous procéderez comme suit : + +```bash +incus config set rockylinux-test-9 boot.autostart 0 +``` + +Faites cela pour chaque snapshot sur le serveur `incus-snapshot`. The "0" in the command will ensure that `boot.autostart` is off. + +## Automatisation du processus de copie des snapshots + +C'est excellent de pouvoir créer des instantanés lorsque cela est nécessaire, et parfois vous avez justement besoin de créer un snapshot manuellement. Vous souhaiterez peut-être même le copier manuellement vers le serveur `incus-snapshot`. Mais pour toutes les autres fois, en particulier pour de nombreux conteneurs exécutés sur votre serveur incus-primary, la **dernière** chose que vous voulez faire est de passer un après-midi à supprimer des instantanés sur le serveur d'instantanés, à créer de nouveaux instantanés et à les envoyer au serveur d'instantanés. Pour l'essentiel de vos opérations, vous souhaiterez automatiser le processus. + +Vous devrez planifier un processus pour automatiser la création d'instantanés sur `incus-primary`. Vous ferez cela pour chaque conteneur sur le serveur `incus-primary`. Une fois en place, cette tâche s’occupera de cela à l'avenir. Pour ce faire, la syntaxe suivante est utilisée. Notez les similitudes avec une entrée `crontab` pour l'horodatage : + +```bash +incus config set [container_name] snapshots.schedule "50 20 * * *" +``` + +Cela signifie : faites un instantané du nom du conteneur tous les jours à 20h50. + +Pour appliquer ceci à votre conteneur `rockylinux-test-9` : + +```bash +incus config set rockylinux-test-9 snapshots.schedule "50 20 * * *" +``` + +Vous pouvez également configurer le nom de l'instantané pour qu'il corresponde à la date de création. Incus utilise l'UTC partout, donc votre meilleure option pour garder une trace des choses est de définir le nom de l'instantané avec un horodatage dans un format plus compréhensible : + +```bash +incus config set rockylinux-test-9 snapshots.pattern "rockylinux-test-9{{ creation_date|date:'2006-01-02_15-04-05' }}" +``` + +SUPER, mais vous ne voulez certainement pas un nouveau snapshot chaque jour sans vous débarrasser d'un ancien. Vous rempliriez votre disque avec les instantanés. Pour ce faire, tapez ce qui suit : + +```bash +incus config set rockylinux-test-9 snapshots.expiry 1d +``` diff --git a/docs/books/learning_rsync/01_rsync_overview.fr.md b/docs/books/learning_rsync/01_rsync_overview.fr.md index 41800fc2e..c884a354e 100644 --- a/docs/books/learning_rsync/01_rsync_overview.fr.md +++ b/docs/books/learning_rsync/01_rsync_overview.fr.md @@ -1,5 +1,5 @@ --- -title: description succincte de rsync +title: Description succincte de rsync author: tianci li contributors: Steven Spencer, Ganna Zhyrnova update: 2022-03-08 diff --git a/docs/books/learning_rsync/06_rsync_inotify.fr.md b/docs/books/learning_rsync/06_rsync_inotify.fr.md index cfa16e216..a8c37f470 100644 --- a/docs/books/learning_rsync/06_rsync_inotify.fr.md +++ b/docs/books/learning_rsync/06_rsync_inotify.fr.md @@ -62,8 +62,10 @@ fs.inotify.max_user_watches = 1048576 ## Commandes associées L'outil inotify-tools a deux commandes, à savoir : -* **inotifywait** : pour une surveillance continue, résultats de sortie en temps réel. Elle est généralement utilisée avec l'outil de sauvegarde incrémentiel rsync. Parce qu'il s'agit d'une surveillance du système de fichiers, la commande peut être utilisée dans un script. Nous présenterons le script spécifique plus tard. -* **inotifywatch** : pour une surveillance à court terme, les résultats de sortie après que la tâche soit terminée. + +* **inotifywait** : pour une surveillance continue et des résultats de sortie en temps réel. Il est généralement utilisé avec l'outil de sauvegarde incrémentielle `rsync`. Parce qu'il s'agit d'une surveillance du système de fichiers, il peut être utilisé avec un script. L'auteur présentera plus tard l'implémentation spécifique du script. + +* **inotifywatch** : pour la surveillance à court terme, affiche les résultats une fois la tâche terminée. `inotifywait` a principalement les options suivantes : diff --git a/docs/gemstones/git/00-gh_cli_installation.de.md b/docs/gemstones/git/00-gh_cli_installation.de.md index ab264f8e2..2626fc0b7 100644 --- a/docs/gemstones/git/00-gh_cli_installation.de.md +++ b/docs/gemstones/git/00-gh_cli_installation.de.md @@ -6,14 +6,14 @@ tags: - GitHub CLI - gh - git - - GitHub + - github --- ## Einleitung Dieses Gemstone behandelt die Installation und Grundeinrichtung des GitHub CLI-Tools (gh) auf dem Rocky Linux-System. Mit diesem Tool können Benutzer direkt über die Befehlszeile mit GitHub-Repositorys interagieren. -## Problembeschreibung +## Beschreibung des Problems Benutzer benötigen eine bequeme Möglichkeit zur Interaktion mit GitHub, ohne die Befehlszeilen-Umgebung zu verlassen. @@ -22,7 +22,7 @@ Benutzer benötigen eine bequeme Möglichkeit zur Interaktion mit GitHub, ohne d - Eine Maschine, auf der Rocky Linux läuft - Terminal-Zugriff - Grundlegende Erfahrung mit der Linux-Kommandozeilenschnittstelle -- Ein bestehender Github-Account +- Ein bestehender GitHub-Account ## Prozedur diff --git a/docs/gemstones/index.hi.md b/docs/gemstones/index.hi.md new file mode 100644 index 000000000..fe26ea48d --- /dev/null +++ b/docs/gemstones/index.hi.md @@ -0,0 +1,20 @@ +--- +title: Index +author: Steven Spencer +--- + +# जेमस्टोन्स + +**जेमस्टोन्स** में आपका स्वागत है! _"जेमस्टोन्स आखिर क्या हैं, और वे रॉकी लिनक्स डॉक्यूमेंट में कैसे फिट होते हैं?"_ यह एक बहुत अच्छा प्रश्न है। जबकि **गाइड्स** में हमारी सामान्य स्वरुप के हाउ-टू डॉक्यूमेंट होते हैं और **पुस्तकों** में हमारे लंबे-फ़ॉर्म दस्तावेज़ होते हैं, **जेमस्टोन** ज्ञान के छोटे-छोटे जेम्स हैं। क्या आपके पास लिनक्स कोड का कोई पसंदीदा हिस्सा या कोई पसंदीदा कमांड है जिसे आप हर समय उपयोग करते हैं? हो सकता है कि आपने कोई `bash` या `python` या `अन्य` समय बचाने वाली स्क्रिप्ट लिखी हो, जिसे आप शेयर करना चाहेंगे? यदि इनमें से कोई भी बात सत्य है, तो **जेमस्टोन्स** आपके योगदान के लिए सही जगह है! + +## मापदंड + +आपका कोड, स्क्रिप्ट और कमांड डॉक्यूमेंट संक्षिप्त होने चाहिए। यदि यह कई पेज के है, तो इसका मतलब है कि इसे डाक्यूमेंट्स में कहीं और रखा जाना चाहिए। हम कुछ पैराग्राफ या एक पेज की बात कर रहें है। आपके "जेमस्टोन" को पूर्ण बनाने के लिए, हम सुझाव देते हैं कि इसमें निम्नलिखित चीजें शामिल करें: + +* अच्छा वर्णन +* किसी स्क्रिप्ट में आप किसी चीज़ को किसी विशेष तरीके से क्यों करते हैं, इसका कोई कारण +* संक्षिप्त निष्कर्ष + +## योगदान + +जैसे आप अन्य डॉक्यूमेंट का योगदान करते हैं, **जेमस्टोन** को आप बिलकुल उसी तरह योगदान कर सकते हैं। (देखें: [योगदान मार्गदर्शिका](../guides/contribute/README.md)) जब आप GitHub पर पुल रिक्वेस्ट सबमिट करते हैं, तो कमिट मेसेज में "जेमस्टोन" शामिल करें। यदि आपके पास GitHub खाता नहीं है, तो आप इसे बस [Mattermost Documentation चैनल](https://chat.rockylinux.org/rocky-linux/channels/documentation) पर सबमिट कर सकते हैं और हम आपके लिए **जेमस्टोन** को संपादित और निर्मित करेंगे। बिलकुल आसान है। diff --git a/docs/gemstones/sed_search_replace.fr.md b/docs/gemstones/sed_search_replace.fr.md index 2abbb275b..7b8f00754 100644 --- a/docs/gemstones/sed_search_replace.fr.md +++ b/docs/gemstones/sed_search_replace.fr.md @@ -14,7 +14,7 @@ author: Steven Spencer ## Utilisation de `sed` -Utiliser `sed` pour la recherche et le remplacement est la préférence personnelle de l'auteur, car vous pouvez utiliser un délimiteur de votre choix, qui rend très pratique le remplacement de choses comme les liens web contenant « / ». Les exemples par défaut pour l'édition en place en utilisant `sed` montrent des choses comme dans cet exemple : +Utiliser `sed` pour la recherche et le remplacement est la préférence personnelle de l'auteur, car vous pouvez utiliser un délimiteur de votre choix, qui rend très pratique le remplacement de choses comme les liens web contenant « / ». Les exemples par défaut d'édition à l'aide de `sed` montrent des éléments comme dans cet exemple : `sed -i 's/search_for/replace_with/g' /path/filename` diff --git a/docs/gemstones/systemd_service_for_python_script.de.md b/docs/gemstones/systemd_service_for_python_script.de.md index 0faa79058..2f5c60700 100644 --- a/docs/gemstones/systemd_service_for_python_script.de.md +++ b/docs/gemstones/systemd_service_for_python_script.de.md @@ -21,7 +21,7 @@ Wir werden sehen, wie dieses Skript als `systemd` Dienst ausgeführt wird, wie d Beginnen wir damit, einige Python-Abhängigkeiten zu installieren, die für das Skript benötigt werden, um das Kommando journalctl zu verwenden: -``` +```bash shell > sudo dnf install python36-devel systemd-devel shell > sudo pip3 install systemd ``` @@ -30,7 +30,7 @@ shell > sudo pip3 install systemd Lass uns das folgende Skript `my_service.py` anschauen: -``` +```python """ Sample script to run as script """ @@ -86,7 +86,7 @@ Jetzt, da wir ein Skript haben, das als Grundlage für Ihre Phantasie dienen kan Lass uns die Datei `my_service.service` erstellen und sie nach `/etc/systemd/system/` kopieren. -``` +```bash [Unit] Description=My Service After=multi-user.target @@ -109,7 +109,7 @@ Wie Sie sehen können, wird das Skript von `/opt/my_service/` gestartet. Denken Neuen Dienst aktivieren und starten: -``` +```bash shell > sudo systemctl daemon-reload shell > sudo systemctl enable my_service.service shell > sudo systemctl start my_service.service @@ -119,7 +119,7 @@ shell > sudo systemctl start my_service.service Wir können die Protokolle jetzt via journalctl anzeigen: -``` +```bash shell > journalctl -f -u my_service oct. 14 11:07:48 rocky8 systemd[1]: Started My Service. oct. 14 11:07:49 rocky8 __main__[270267]: [INFO] Starting the service @@ -129,13 +129,13 @@ oct. 14 11:09:49 rocky8 __main__[270267]: [INFO] Total duration: 120 Lass uns nun sehen, was passiert, wenn das Skript abgestürzt ist: -``` +```bash shell > ps -elf | grep my_service 4 S root 270267 1 0 80 0 - 82385 - 11:07 ? 00:00:00 /usr/bin/python3 my_service.py shell > sudo kill -9 270267 ``` -``` +```bash shell > journalctl -f -u my_service oct. 14 11:10:49 rocky8 __main__[270267]: [INFO] Total duration: 180 oct. 14 11:11:49 rocky8 __main__[270267]: [INFO] Total duration: 240 @@ -150,7 +150,7 @@ oct. 14 11:12:19 rocky8 __main__[270863]: [INFO] Starting the service Wir können auch 5 Minuten warten, bis das Skript selbst abstürzt (entfernen Sie dies für Ihre Produktion): -``` +```bash oct. 14 11:16:02 rocky8 systemd[1]: Started My Service. oct. 14 11:16:03 rocky8 __main__[271507]: [INFO] Starting the service oct. 14 11:17:03 rocky8 __main__[271507]: [INFO] Total duration: 60 @@ -169,7 +169,7 @@ oct. 14 11:21:03 rocky8 __main__[271993]: [INFO] Starting the service Wie Sie sehen können, ist die Neustartfunktion von systemd sehr nützlich. -## Fazit +## Zusammenfassung `systemd` und `journald` stellen uns die Werkzeuge zur Verfügung, um robuste und leistungsstarke Skripte so einfach wie möglich zu machen, dass sie unsere alten zuverlässigen Crontab-Skripte ersetzen. diff --git a/docs/index.hi.md b/docs/index.hi.md new file mode 100644 index 000000000..733fb3e90 --- /dev/null +++ b/docs/index.hi.md @@ -0,0 +1,57 @@ +--- +title: Home +--- + +# रॉकी लिनक्स डॉक्यूमेंटेशन + +## सुस्वागतम + +रॉकी लिनक्स डॉक्यूमेंटेशन में आपका स्वागत है। हमें ख़ुशी है कि आप यहाँ हैं। अनेक योदानकर्ता यहाँ कंटेंट जुटा रहे हैं। और ये कंटेंट निरंतर बढ़ रहा है। यहां आपको रॉकी लिनक्स बनाने के बारे में डॉक्युमेंट्स मिलेंगे, साथ ही विभिन्न विषयों पर भी डॉक्युमेंट्स मिलेंगे जो रॉकी लिनक्स समुदाय के लिए अत्यंत महत्वपूर्ण हैं। अगर आप पूछेंगे कि यह समुदाय कौन बना है? + +वस्तुत: आप ऐसा कर रहे हैं। + +यह होम पेज आपको डॉक्यूमेंटेशन वेबसाइट का परिचय देगा और बताएगा कि वहां कैसे पहुंचा जाए - हमें विश्वास है कि आप यहां अपने घर जैसा ही महसूस करेंगे। + +## वेबसाईट का संचालन करना + +### संचालन सीखना + +अभी, आप डॉक्यूमेंटेशन के मुख्य पेज पर हैं। यदि आप टॉप मेनू पर नज़र डालें (जो मोबाइल उपकरणों पर भी हमेशा उपलब्ध रहता है) तो आप डॉक्युमेंट साइट के टॉप-लेवल विभागों को दर्शानेवाली वाली मुख्य संरचना देख सकते हैं। अगर आप टॉप मेनू के प्रत्येक लिंक को क्लिक करेंगे (उदाहरण के तौर पर 'Guides') तो बायीं तरफ आपको, मुख्य विभागोंके, आंतरिक *उप-विभागोंकी* सूची मिलेगी। गाइड्स में रुचि के कई विषय हैं। + +जब आप कोई डॉक्यूमेंट खोलेंगे, तो दाईं ओर आपको उस डॉक्यूमेंट के लिए क्लिक करने योग्य नेविगेशन लिंक के साथ 'विषय-सूची' दिखाई देगी (मोबाइल डिवाइस के लिए लैंडस्केप ओरिएंटेशन का प्रयास करें)। लंबे डॉक्यूमेंटस के लिए, जैसे कि [रिलीज़ नोट्स](release_notes/8_8.md), विषय-सूची आपको डॉक्यूमेंट में आसानी से इधर-उधर जाने की सुविधा होती है। यदि आप कोई दीर्घ डॉक्यूमेंट पढ़ रहे हैं, और टॉप पर वापस जाना चाहते हैं, तो ++page-up दबाएं और आपको स्क्रीन के पर एक `Back to top` बटन दिखाई देगा। + +डॉक्यूमेंटेशन साइट के मुख्य विभाग: + +* **गाइड्स**: जिसमें रॉकी लिनक्स को इंस्टॉल करने और उपयोग करने के विशिष्ट तरीकों को शामिल किया गया है। +* **किताबें**: किसी विशिष्ट विषय पर आधारित अधिक विस्तृत जानकारी इनमे उपलब्ध है। +* **लैब्स**: जो आपको स्कूल की याद दिलाएंगे, लेकिन आप इन ट्यूटोरियलस का निश्तित आनंद भी लेंगे! +* **जेमस्टोन्स**: यहां कुछ सामान्य स्क्रिप्ट या कमांड उपयोग टिप्स शेयर करें। +* **रिलीज़ नोट्स**: इसमें रॉकी लिनक्स रिलीज़ नोट्स और वर्जन अपडेट की जानकारी शामिल है। +* **रॉकी लिनक्स**: ऑफिसियल वेबसाइट होम पेज लिंक. + +### अनेक भाषाएँ + +रॉकी लिनक्स में हम डॉक्यूमेंटेशन साइट को सभी के लिए यथासंभव सुलभ बनाना चाहते हैं - *विभिन्न भाषाओं में अनुवाद इसका एक महत्वपूर्ण हिस्सा है*। यदि आप टॉप मेनू पर (सामान्य सिम्बल) भाषा चयनकर्ता पर क्लिक करते हैं तो आपको वे भाषाएं दिखाई देंगी जिनमें वेबसाइट उपलब्ध है। इसके दो भाग हैं: + +1. वेबसाइट इंटरफ़ेस स्थानीयकरण: यदि आप कोई अन्य भाषा चुनते हैं, उदाहरण के लिए Français, तो आप देखेंगे कि इंटरफ़ेस स्थानीयकृत हो जाएगा। उदाहरण के लिए 'अगला' और 'पिछला' नेविगेटर। +1. कंटेंट: कंटेंट का अनुवाद करना एक [निरंतर](https://crowdin.com/project/rockydocs/activity-stream) (महत्वपूर्ण) [कार्य](https://crowdin.com/project/rockydocs) है। अभी तक सभी कंटेंट का सभी भाषाओं में अनुवाद नहीं किया गया है। जिन पृष्ठों का अनुवाद (चयनित भाषा में) किया गया है, वे चयनित भाषा में दिखाई देंगे, तथा जिनका अनुवाद नहीं किया गया है, वे डिफ़ॉल्ट भाषा अंग्रेजी में दिखाई देंगे। यदि आप अनुवाद के माध्यम से समुदाय में योगदान देना चाहते हैं तो डॉक्यूमेंटेशन टीम आपसे सुनना पसंद करेगी - जानकारी के लिए नीचे देखें। + +!!! note "टिप्पणी" + + सभी कार्यक्षमताएं सभी भाषाओं में उपलब्ध नहीं है, यह मौजूदा MkDocs मॉड्यूल की एक बुनियादी सीमा है। + +### सर्च का उपयोग + +यदि आप विशिष्ट जानकारी या डॉक्यूमेंट जल्दी खोजना चाहते हैं, तो डॉक्यूमेंटेशन साइट में फुल-टेक्स्ट सर्च क्षमता है। टॉप मेनू बार में 'Search' फ़ील्ड में टाइप करना प्रारंभ करें और साइट सर्च रिजल्ट लौटाएगी। + +सर्च परिणामों में कोई पेज खोलने के लिए, दिखाई गयी सूची में इच्छित पेज पर क्लिक करें (या मोबाइल पर टैप करें)। + +## पहली बार + +यदि आप पहली बार रॉकी लिनक्स डॉक्यूमेंटेशन साइट पर आये हैं, तो संभवतः आप रॉकी लिनक्स के लिए नए हैं और आप इसे इंस्टॉल करने के लिए उत्सुक हैं! कोई बात नहीं, विस्तृत निर्देशों के लिए [इंस्टॉल रॉकी लिनक्स](guides/installation.md) पृष्ठ पर जाएं। + +यदि आप किसी समस्या में फंस जाते हैं और आपके पास कोई प्रश्न है तो रॉकी लिनक्स समुदाय आपकी मदद के लिए मौजूद है। [समुदाय फॉर्म](https://forums.rockylinux.org) पर जाएं और समाधान खोज सकते हैं या समुदाय में अपने प्रश्न पोस्ट कर सकते हैं। + +## योगदान + +क्या आपको कुछ कमी लगी? क्या आपको कोई त्रुटि मिली है? क्या आप सोच रहे हैं कि अपना स्वयं का डॉक्यूमेंट कैसे बनाएं, या यहां चीजों को कैसे ठीक करें? याद है हमने कहा था कि *आप* रॉकी समुदाय थे? इसका मतलब यह है कि *आप* हमारे लिए महत्वपूर्ण हैं और हम चाहते हैं कि आप हमारे साथ जुड़ें और इस डाक्यूमेंट्स को बेहतर बनाने में मदद करें। यदि आप इसमें रुचि रखते हैं, तो हमारे [योगदान मार्गदर्शिका](https://github.com/rocky-linux/documentation/blob/main/README.md) पर जाएं और जानें कि आप कैसे योगदान कर सकते हैं!