From 6f9a2b98788f857d8c0acb30e89b48846b9b4d26 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Sun, 18 Feb 2024 13:13:57 -0700 Subject: [PATCH 01/10] New translations 12-network.md (French) --- docs/books/admin_guide/12-network.fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/books/admin_guide/12-network.fr.md b/docs/books/admin_guide/12-network.fr.md index 97f76736f6..76d5b7b496 100644 --- a/docs/books/admin_guide/12-network.fr.md +++ b/docs/books/admin_guide/12-network.fr.md @@ -123,7 +123,7 @@ Pour qu'un ordinateur fasse partie d'un domaine DNS, il faut lui attribuer un su **La couche 5** (Session) supporte la communication entre deux ordinateurs. -**La couche 6** (Présentation) représente la zone indépendante des données à la couche d'application. Fondamentalement, cette couche traduit du format réseau au format de l'application, ou du format de l'application au format réseau. +**La couche 6** (Présentation) représente la zone indépendante des données à la couche d'application. Fondamentalement, cette couche traduit du format réseau au format de l'application ou du format de l'application au format réseau. **La couche 7** (Application) représente le contact avec l'utilisateur. Elle prend en charge les services dédiés au réseau : http, dns, ftp, imap, pop, smtp, etc. From 54ffdc2a35633991eaaeada2b37240b26f53f281 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Sun, 18 Feb 2024 14:13:45 -0700 Subject: [PATCH 02/10] New translations custom-linux-kernel.md (French) --- docs/guides/custom-linux-kernel.fr.md | 502 ++++++++++++++++++++++++++ 1 file changed, 502 insertions(+) create mode 100644 docs/guides/custom-linux-kernel.fr.md diff --git a/docs/guides/custom-linux-kernel.fr.md b/docs/guides/custom-linux-kernel.fr.md new file mode 100644 index 0000000000..232686290e --- /dev/null +++ b/docs/guides/custom-linux-kernel.fr.md @@ -0,0 +1,502 @@ +--- +title: Compiler et installer des noyaux Linux personnalisés +author: Wale Soyinka +contributors: Steven Spencer, Louis Abel, Ganna Zhyrnova +tags: + - noyau personnalisé + - noyau +--- + +# Vue d'ensemble + +Dans ce guide, nous allons examiner le processus d'acquisition d'une arborescence des sources du noyau, de sa configuration, de sa compilation et finalement, de l'installation et de l'amorçage du noyau. + +!!! warning "Les reconstructions du noyau ne sont ni recommandées ni prises en charge pour Rocky Linux. Avant de construire un noyau personnalisé ou même de l'envisager, posez-vous les questions suivantes :" + + * La fonctionnalité dont vous avez besoin est-elle disponible en installant un module de noyau à partir d'[elrepo](https://elrepo.org)? + * La fonctionnalité dont vous avez besoin est-elle disponible sous la forme d'un module distinct du noyau lui-même ? + * Rocky Linux et la plupart des autres dérivés d'EL ont été conçus pour fonctionner comme un environnement complet. Le remplacement de composants critiques peut avoir une incidence sur le fonctionnement du système. + * La plupart des utilisateurs n'ont pas besoin de construire leur propre noyau. Il se peut que vous ayez simplement besoin d'un module/pilote de noyau ou de construitre votre propre module de noyau (kmod/dkms) + + Dernier avertissement : Si vous cassez le noyau, vous êtes responsable de la résolution des problèmes qui en résultent sur votre système. + +## Le noyau + +Le plus souvent, lorsque les gens disent _Linux_, ils font généralement référence à une "_distribution Linux_" - par exemple, Rocky Linux et Debian sont des types de distribution Linux. Une distribution comprend tout ce qui est nécessaire pour que Linux existe en tant que système d'exploitation fonctionnel. Les distributions utilisent du code provenant de divers projets open source indépendants de GNU/Linux. + +Linux, c'est le noyau. Le noyau est littéralement au cœur [du système d'exploitation]. + +La seule chose plus fondamentale que le noyau est le matériel du système lui-même. Bien que le noyau ne soit qu'une petite partie d'une distribution Linux complète, il est de loin l'élément le plus critique. Si le noyau échoue ou plante, le reste du système en fait de même. + +## Le code source du Noyau + +La distribution Rocky Linux fournit le code source pour la version spécifique du noyau qu'elle supporte sous une forme ou une autre. Çela pourrait être sous la forme d'un binaire compilé (`*.src.rpm`), d'un RPM source (`*.srpm`) ou similaire. + +Si vous avez besoin de télécharger une version (peut-être plus récente) différente de celle que votre distribution spécifique de Rocky Linux fournit, le premier endroit où chercher le code source se trouve sur le site officiel du noyau : + +[www.kernel.org](https://www.kernel.org) + +Ce site maintient une liste de sites web reflétant les sources du noyau, ainsi que des tonnes d'autres logiciels libres, de distributions et d'utilitaires d'usage général. + +La liste des miroirs est maintenue à : + +[mirrors.kernel.org](http://mirrors.kernel.org) + +!!! tip "Remarque" + + La majorité du téléchargement, de la configuration et de la compilation du noyau Linux effectués dans les sections suivantes peuvent/doivent être faits en tant qu'utilisateur sans privilège. Cependant, les dernières étapes qui nécessitent l'installation ou la modification des fichiers système et des binaires doivent être effectuées avec des privilèges élevés. + + Nous pouvons effectuer la majeure partie du travail en tant qu'utilisateur non privilégié car nous utiliserons une option spéciale de construction du noyau, qui nous permet de spécifier un répertoire de travail ou de sortie personnalisé. Plus précisément, nous utiliserons l'option `O=~/build/kernel` pour toutes les invocations de make. + + Où `~/build/kernel` est équivalent à `/home/$USER/build/kernel` ou `$HOME/build/kernel` + +## Versions du noyau et conventions de nommage + +La liste des noyaux disponibles sur le site web contient des dossiers pour v1.0, v2.5, v2.6, v3.0, v3.x, v4.x, v5.x, v6.x et ainsi de suite. Avant de suivre votre penchant naturel pour la dernière version, assurez-vous de bien comprendre le fonctionnement du système de versions du noyau Linux. + +La convention actuelle consiste à nommer et à numéroter les nouvelles versions majeures du noyau "Linux 5.x" (également appelé noyau vanille ou noyau principal). Ainsi, le premier de cette série sera la version 5.0 de Linux (identique à la version 5.0.0), le suivant sera la version 5.1 de Linux (identique à la version 5.1.0), suivi de la version 5.2 de Linux, et ainsi de suite. + +Toute modification ou mise à jour mineure au sein de chaque version majeure sera reflétée par des incréments jusqu'au troisième chiffre. Ces versions sont communément appelées "versions stables". Ainsi, la prochaine version stable du noyau de la série 5.0.0 sera la version 5.0.1 de Linux, suivie de la version 5.0.2, et ainsi de suite. Une autre façon de le dire est de dire, par exemple, que Linux version 5.0.4 est la quatrième version stable basée sur la série Linux 5.0.0. + +## Installation des outils et bibliothèques prérequis + +Une source commune d'échec rencontrée pendant le processus de compilation du noyau peut être causée par le fait que tous les logiciels requis ne sont pas disponibles pour compiler et construire le noyau Linux principal. Les outils et bibliothèques manquants peuvent être installés en utilisant le gestionnaire de paquets DNF sur une distribution Rocky Linux. Nous nous en occuperons dans cette section. + +1. Sur une distribution Rocky Linux, vous pouvez rapidement obtenir la plupart des outils de développement nécessaires en exécutant cette commande : + + ```bash + sudo dnf -y groupinstall 'C Development Tools and Libraries' + ``` + + Si vous obtenez l'erreur "Module or Group 'C Development Tools and Libraries' is not available.", la commande ci-dessous est équivalente à la précédante : + + ```bash + sudo dnf -y groupinstall 'Development Tools' + ``` + +2. D'autres bibliothèques, fichiers d'en-tête et applications dont vous pourriez avoir besoin peuvent également être obtenus en installant les paquets suivants. Entrer la commande : + + ```bash + sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3 + ``` + +3. Ensuite, nous avons besoin d'autres utilitaires qui ne sont disponibles que dans certains dépôts tiers pris en charge. Un de ces dépôts est le dépôt Powertools. Activez ce dépôt sur notre système Rocky. Entrer la commande : + + ```bash + sudo dnf config-manager --set-enabled powertools + ``` + +4. Pour terminer, installons un des paquets nécessaires à partir du dépôt Powertool. Entrer la commande suivante : + + ```bash + sudo dnf -y install dwarves + ``` + +C'est tout pour les paquets prérequis nécessaires à la construction du noyau ! + +## Téléchargement et Décompression du Noyau Linux + +La version du noyau que nous allons construire dans ce qui suit, est la version **6.5.7**, qui est disponible à l'adresse suivante : + +[www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz](https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz) + +Lançons le processus. + +1. Premièrement, utilisez la commande `curl` suivante pour télécharger les sources du noyau dans votre répertoire de travail actuel. Entrer la commande suivante : + + ```bash + curl -L -o linux-6.5.7.tar.xz \ + https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.5.7.tar.xz + ``` + +2. La source du noyau que vous allez télécharger à partir d'Internet est un fichier qui a été compressé avec tar. Par conséquent, pour utiliser la source, vous devez décompresser le fichier source. + + Assurez-vous d'être dans le répertoire dans lequel vous avez téléchargé l'archive du noyau. Utilisez la commande tar pour décompresser le fichier, en exécutant : + + ```bash + tar xvJf linux-6.*.tar.xz + ``` + +## Construire le noyau + +Dans cette section, nous allons examiner le processus de configuration et de construction d'un noyau. Contrairement à macOS ou aux systèmes d'exploitation basés sur Windows, qui sont préconfigurés et prennent donc en charge de nombreuses fonctionnalités que vous pouvez souhaiter ou non. + +La philosophie de conception de Linux permet à l'individu de décider des parties importantes du noyau. Cette conception individualisée présente l'avantage important de vous permettre d'alléger la liste des fonctionnalités afin que Linux puisse fonctionner aussi efficacement que possible. + +C'est également l'une des raisons pour lesquelles il est possible d'adapter Linux à différentes configurations matérielles, des systèmes bas de gamme aux systèmes embarqués, en passant par les systèmes haut de gamme. + +Deux étapes principales sont requises dans la construction d'un noyau : + +- la configuration +- la compilation + +La première étape de la construction du noyau consiste à configurer ses caractéristiques. En général, la liste des fonctionnalités souhaitées est basée sur le matériel que vous devez prendre en charge. Cela signifie bien sûr que vous aurez besoin d’une liste de ce matériel. + +Sur un système fonctionnant déjà sous Linux, vous pouvez exécuter des commandes telles que - `lspci`, `lshw` et ainsi de suite pour obtenir des informations détaillées sur la configuration matérielle exacte de votre système. Sur les distros à base de RPM, ces utilitaires sont fournis par les paquets `pciutils*.rpm` et `lshw*.rpm`. + +Une meilleure compréhension de ce qui constitue votre matériel sous-jacent peut vous aider à mieux déterminer ce dont vous avez besoin dans votre noyau personnalisé. Vous êtes prêt à configurer le noyau. + +### Nettoyage de l'environnement de compilation + +Nous pouvons commencer la configuration proprement dite en ayant une idée approximative des types de matériel et des fonctionnalités que notre nouveau noyau doit prendre en charge. Mais tout d'abord, quelques informations générales. + +L'arborescence des sources du noyau Linux contient plusieurs fichiers nommés **Makefile** (un makefile est simplement un fichier texte avec des directives et il décrit également les relations entre les fichiers d'un programme). + +Ces makefiles permettent de coller ensemble les milliers d'autres fichiers qui composent le noyau. Ce qui est plus important pour nous ici, c'est que les makefiles contiennent également des cibles. Les cibles sont les commandes, ou directives, qui sont exécutées par le programme make. + +!!! warning "avertissement : Évitez les mises à jour inutiles du noyau" + + Gardez à l'esprit que si vous disposez d'un système stable et performant, il n'y a guère de raison de mettre à jour le noyau, à moins que l'une de ces conditions ne s'applique à vous : + + - Un correctif de sécurité ou de bug affecte votre système et doit être appliqué + - Vous avez besoin d'une nouvelle fonctionnalité spécifique dans une version stable + + En cas de correctif de sécurité, décidez si le risque vous affecte. Par exemple, si un problème de sécurité est détecté dans un pilote de périphérique que vous n'utilisez pas, il n'y a peut-être aucune raison de le mettre à jour. Si un correctif de bogue est publié, lisez attentivement les notes de version et décidez si les bogues s'appliquent réellement à vous - si vous disposez d'un système stable, mettre à jour le noyau avec des correctifs que vous n'utilisez jamais peut être inutile. + + Dans les systèmes de production, le noyau ne doit pas simplement être mis à jour pour obtenir le « dernier noyau » ; vous devriez avoir une bonne raison de mettre à niveau. + +Le fichier Makefile situé à la racine de l'arborescence des sources du noyau contient des cibles spécifiques qui peuvent être utilisées pour préparer l'environnement de construction du noyau, configurer le noyau, compiler le noyau, installer le noyau, etc. Certains de ces objectifs sont examinés plus en détail ici : + +`make mrproper` +: + +Cet objectif nettoie l’environnement de construction de tous les fichiers et dépendances hérités qui auraient pu être laissés par une version précédente du noyau. Toutes les configurations précédentes du noyau seront nettoyées (supprimées) de l'environnement de construction. + +`make clean` +: + +This target does not do as thorough a job as the mrproper target.?!?! Il ne supprime que la plupart des fichiers générés. Il ne supprime pas le fichier de configuration du noyau (.config). + +`make menuconfig` +: + +Cette cible invoque une interface d'éditeur de texte avec des menus, des listes d'options et des boîtes de dialogue de texte pour configurer le noyau. + +`make xconfig` +: + +Cet outil/cible de réglage du noyau basé sur une interface graphique est basé sur les bibliothèques Qt GUI. Ces bibliothèques sont utilisées par les applications basées sur KDE/Plasma. + +`make gconfig` +: + +C'est également un outil/cible de configuration du noyau basé sur une interface graphique, mais il s'appuie sur la boîte à outils GTK\+. Ce toolkit GTK\+ est largement utilisé dans le monde de bureau GNOME. + +`make olddefconfig` +: + +Cette cible utilise un fichier .config existant dans le répertoire de travail actuel, met à jour les dépendances et définit automatiquement les nouveaux symboles aux valeurs par défaut. + +`make help` +: + +Cette cible vous montrera tous les targets possibles et vous servira de système de référence rapide en ligne. + +Dans cette section, nous n'utiliserons qu'une seule des cibles pour configurer le noyau. En particulier, nous utiliserons la commande make menuconfig. L'éditeur de configuration du noyau menuconfig est un utilitaire de configuration simple et populaire qui se compose de menus, de listes de boutons radio et de dialogues. + +Il possède une interface simple et propre qui peut être facilement navigable avec votre clavier et est presque intuitif à utiliser. + +Nous devons passer (cd) dans le répertoire des sources du noyau, après quoi nous pouvons commencer la configuration du noyau. Mais avant de commencer la configuration du noyau, vous devez nettoyer (préparer) l'environnement de construction du noyau en utilisant la commande make mrproper : + +```bash +cd linux-6.* +make O=~/build/kernel mrproper +``` + +### Configuration du noyau + +Ensuite, nous commencerons par configurer le noyau Linux de la série 6.*. Pour explorer certains tenants et aboutissants de ce processus, nous allons activer la prise en charge d'une fonctionnalité que nous considérerons comme obligatoire dans le système. Une fois que vous avez compris son fonctionnement, vous pouvez appliquer la même procédure pour ajouter la prise en charge de toute nouvelle fonctionnalité du noyau de votre choix. Plus précisément, nous allons activer le support du système de fichiers NTFS dans notre noyau personnalisé. + +La plupart des distributions Linux modernes sont livrées avec un fichier de configuration du noyau en cours d'exécution, disponible sur le système de fichiers local sous forme de fichier compressé ou normal. Dans notre exemple de système Rocky, ce fichier se trouve dans le répertoire `/boot` et est habituellement nommé `config-*`. + +The configuration file contains a list of the options and features that were enabled for the particular kernel it represents. Un fichier de configuration similaire à celui-ci est ce que nous voulons créer à travers le processus de configuration du noyau. La seule différence entre le fichier que nous allons créer et le fichier prêt à créer est que nous ajouterons une personnalisation mineure à la nôtre. + +!!! tip "Remarque" + + L'utilisation d'un fichier de configuration préexistant connu comme base de notre fichier personnalisé permet de garantir que nous ne passons pas trop de temps à dupliquer les efforts que d'autres personnes ont déjà déployés pour trouver ce qui fonctionne et ce qui ne fonctionne pas ! + +Les étapes suivantes couvrent la configuration du noyau. Nous utiliserons un utilitaire de configuration du noyau en mode texte, qui vous permettra de suivre sur votre terminal que vous utilisiez ou non un environnement de bureau GUI. + +1. Pour commencer, nous allons copier et renommer un fichier de configuration existant du répertoire `/boot` dans notre environnement de construction du noyau : + + ```bash + cp /boot/config-`uname -r` ~/build/kernel/.config + ``` + + Nous utilisons `uname -r` ici pour nous aider à obtenir le fichier de configuration du noyau en cours d'exécution. La commande `uname -r` affiche la version exécutée du noyau. L'utiliser permet de s'assurer que nous obtenons la version exacte que nous voulons, juste au cas où d'autres versions seraient présentes. + + !!! NOTE + + L'éditeur de configuration du noyau Linux commence explicitement à rechercher et à générer un fichier nommé .config (prononcé « dot config ») à la racine de l'arborescence des sources du noyau. Ce fichier est masqué. + +2. Lancez l'utilitaire graphique de configuration du noyau : + + ```bash + make O=~/build/kernel menuconfig + ``` + + Un écran similaire à ceci apparaîtra : + + ![Écran principal de configuration du noyau](images/Il01-kernel.png) + + L'écran de configuration du noyau qui apparaît est divisé en environ trois zones. La partie supérieure montre diverses informations utiles, des raccourcis clavier et des légendes qui peuvent vous aider à naviguer dans l'application. Le corps principal de l'écran montre une liste arborescente extensible des options globales du noyau. Vous pouvez également descendre vers le bas dans les éléments avec des flèches dans le parent pour afficher et/ou configurer les éléments du sous-menu (ou de l'enfant). Enfin, le bas de l'écran affiche les actions/options réelles que l'utilisateur peut choisir. + +3. Ensuite, nous ajouterons la prise en charge NTFS à notre noyau personnalisé à des fins de démonstration. + + Lorsque vous êtes sur l'écran de configuration principal, utilisez vos touches fléchées pour naviguer vers l'élément système de fichiers et le mettre en surbrillance. Avec les systèmes de fichiers sélectionnés, appuyez sur Entrée pour afficher le sous-menu ou les éléments enfants pour les systèmes de fichiers. + + Dans la section Systèmes de fichiers, utilisez vos touches fléchées pour accéder aux systèmes de fichiers DOS/FAT/NT. Appuyez sur Entrée pour voir les éléments enfants pour les systèmes de fichiers DOS/FAT/NT. + +4. Dans la section Systèmes de fichiers DOS/FAT/NT, accédez à la prise en charge du système de fichiers NTFS. + + Tapez ++M++ (majuscules) pour permettre aux modules de prendre en charge le système de fichiers NTFS. + + Utilisez les touches fléchées pour accéder au support du débogage NTFS (NEW) puis appuyez sur y pour l'inclure. + + Utilisez les touches fléchées pour accéder à la prise en charge de l'écriture NTFS, puis appuyez sur ++y++ pour l'inclure. Lorsque vous avez terminé, la lettre `M` ou le symbole étoile (`*`) devrait apparaître à côté de chaque paramètre, comme indiqué ici : + + ![Écran Systèmes de fichiers de la configuration du noyau](images/Il02-kernel.png) + + !!! tip "Astuce" + + Pour chacune des options configurables, dans l'utilitaire de configuration du noyau, les parenthèses d'angle vides <>, indiquent que la fonctionnalité en question est désactivée. La lettre « M » entre crochets angulaires, , indique que la fonction sera compilée en tant que module. + + Le symbole étoile entre crochets, <*>, indique que la prise en charge de cette fonctionnalité sera intégrée directement dans le noyau. Vous pouvez généralement parcourir toutes les options possibles à l’aide de la barre d’espace de votre clavier. + +5. Retournez à l'écran principal Systèmes de fichiers en appuyant deux fois sur la touche Echap de votre clavier dans l'écran Systèmes de fichiers DOS/FAT/NT. Retournez à l'écran principal de configuration du noyau en appuyant à nouveau deux fois sur la touche Echap de votre clavier. + +6. Enfin, enregistrez vos modifications dans le fichier .config à la racine de l'arborescence des sources du noyau et quittez le programme de configuration du noyau après avoir enregistré le fichier en appuyant deux fois sur esc sur votre clavier. + +7. Une boîte de dialogue apparaîtra vous invitant à enregistrer votre nouvelle configuration. Assurez-vous que Yes est sélectionné, puis appuyez sur Enter. + +8. Une fois l'utilitaire de configuration du noyau terminé, vous reviendrez à votre shell dans l'arborescence des sources du noyau. Vous êtes presque prêt à construire votre noyau ! + +9. Nous avons besoin de compléter quelques personnalisations supplémentaires sur notre distribution Rocky. Entrer la commande : + + ```bash + sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config + ``` + + !!! TIP + + Pour voir les résultats de certaines des modifications que vous avez faites en utilisant l'outil menuconfig, utilisez l'utilitaire grep pour voir le fichier .config que vous avez sauvegardé directement. Par exemple, pour voir l'effet du support du système de fichiers NTFS que nous avons activé précédemment, tapez ce qui suit : + ``` + $ grep NTFS ~/build/kernel/.config + CONFIG_NTFS_FS=m + CONFIG_NTFS_DEBUG=y + CONFIG_NTFS_RW=y + ``` + + !!! note "Une note rapide sur les modules du noyau" + + Le support du module chargeable est une fonctionnalité du noyau Linux qui permet le chargement dynamique (ou la suppression) des modules du noyau. + + Les modules du noyau sont des morceaux de code compilé qui peuvent être insérés dynamiquement dans le noyau en cours d'exécution, plutôt que d'être intégrés de façon permanente dans le noyau. De cette façon, vous pouvez activer des fonctionnalités que vous n'utilisez pas souvent, mais elles n'occuperont pas de mémoire lorsqu'elles ne sont pas utilisées. + + Heureusement, le noyau Linux peut automatiquement déterminer ce qu'il faut charger et quand. Naturellement, toutes les fonctionnalités ne peuvent pas être compilées en tant que module. Le noyau doit avoir quelques Informations avant de pouvoir charger et décharger des modules, comme comment accéder au disque dur et analyser à travers le système de fichiers où sont stockés les modules chargeables. Certains modules du noyau sont aussi communément appelés pilotes. + +### Compilation du noyau + +Dans la section précédente, nous avons décrit le processus de création d'un fichier de configuration pour le noyau personnalisé que nous voulons construire. Dans cette section, nous allons procéder à la construction du noyau. Mais avant cela, nous allons ajouter une personnalisation plus simple à l'ensemble du processus. + +La personnalisation finale consistera à ajouter un élément d'information supplémentaire utilisé dans le nom final de notre noyau. Cela nous permettra de différencier ce noyau de tout autre noyau ayant le même numéro de version. Nous ajouterons la balise "custom" aux informations sur la version du noyau. Ceci peut être fait en éditant le Makefile principal et en ajoutant le tag que nous voulons à la variable EXTRAVERSION. + +L'étape de compilation du processus de construction du noyau est de loin la plus facile, mais c'est aussi celle qui prend le plus de temps. À ce stade, il suffit d'exécuter la commande make, qui générera automatiquement les dépendances et s'en occupera, compilera le noyau lui-même et toutes les fonctionnalités (ou pilotes) qui ont été activées en tant que modules chargeables. + +En raison de la quantité de code qui doit être compilée, préparez-vous à attendre quelques minutes, au minimum, en fonction de la puissance de traitement de votre système. Voyons maintenant les étapes spécifiques nécessaires à la compilation de votre nouveau noyau. + +1. Tout d'abord, nous allons ajouter un élément supplémentaire à la chaîne d'identification du noyau que nous sommes sur le point de construire. Tout en restant à la racine de l'arborescence des sources du noyau, nous utiliserons l'utilitaire sed pour éditer le Makefile en place. La variable que nous voulons modifier est proche du haut du fichier. Nous voulons changer la ligne dans le fichier qui ressemble à ceci : + + ```bash + EXTRAVERSION = + ``` + + Par cela : + + ```bash + EXTRAVERSION = -custom + ``` + + Utilisez la commande `sed` suivante pour effectuer la modification. Entrer la commande : + + ```bash + sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -custom/' Makefile + ``` + + Bien entendu, vous pouvez également utiliser n'importe quel éditeur de texte avec lequel vous vous sentez à l'aise pour effectuer la modification. N'oubliez pas de sauvegarder vos modifications dans le fichier ! + +2. Passez la cible kernelversion à la commande make pour afficher la version complète du noyau que vous venez de personnaliser : + + ```bash + make O=~/build/kernel kernelversion + ``` + + !!! Tip + + Vous pouvez tirer parti de toute cette puissance de traitement supplémentaire (CPU, cœurs, etc.) sur la plupart des systèmes modernes et accélérer considérablement les opérations à forte intensité de CPU telles que la compilation du noyau. Pour ce faire, vous pouvez passer un paramètre à la commande make qui spécifie le nombre de travaux à exécuter simultanément. Le nombre spécifié de tâches est ensuite distribué et exécuté simultanément sur chaque cœur de processeur. La syntaxe de la commande est : + + ```bash + make -j N + ``` + + + où N est le nombre de travaux à exécuter simultanément. For example, if you have a octa (8) core–capable CPU, you can type : + + ```bash + make -j 8 + ``` + +3. La seule commande nécessaire pour compiler le noyau est la commande make : + + ```bash + $ make O=~/build/kernel + make[1]: Entering directory '/home/super/build/kernel' + SYNC include/config/auto.conf.cmd + GEN Makefile + HOSTCC scripts/kconfig/conf.o + HOSTLD scripts/kconfig/conf + GEN Makefile + ...… + LD [M] sound/usb/usx2y/snd-usb-usx2y.ko + LD [M] sound/x86/snd-hdmi-lpe-audio.ko + LD [M] sound/xen/snd_xen_front.ko + LD [M] virt/lib/irqbypass.ko + make[1]: Leaving directory '/home/super/build/kernel' + ``` + +4. Le produit final de cette commande (c'est-à-dire le noyau) est sagement assis et attend dans le chemin : + + ```bash + ~/build/kernel/arch/x86/boot/bzImage + ``` + +5. Nous devons installer les modules parce que nous avons compilé des parties du noyau sous forme de modules (par exemple, le module NTFS). Tapez ce qui suit : + + ```bash + sudo make O=~/build/kernel modules_install + ``` + + Sur notre système Rocky, cette commande installera tous les modules compilés du noyau dans le répertoire `/lib/modules/`. Dans cet exemple, ce chemin se traduira par `/lib/modules/6.5.7-custom/`. Il s'agit du chemin à partir duquel le noyau chargera tous les modules chargeables, le cas échéant. + + !!! TIP + + L'empreinte (taille) des modules du noyau installés via `make modules_install` peut finir par devenir assez importante parce que les modules incluent des symboles de débogage. En conséquence, vous pourriez facilement vous retrouver avec un répertoire `/lib/modules/6.5.7-custom/` d'une taille proche de 5GB ! + + Pour ce guide, nous évitons cette taille importante en incluant l'option `INSTALL_MOD_STRIP=1` dans notre invocation `make modules_install`. Vous pouvez réduire la taille totale par ordre de magnitude (par exemple - moins de 200 Mo!!) en retirant ces symboles de débogage. + + Cela peut être fait en incluant l'option `INSTALL_MOD_STRIP=1` à la commande `make modules_install`. + +## Installation du noyau + +En supposant que vous avez un PC et que vous travaillez dans le répertoire `~/build/kernel/` , le noyau compilé qui a été créé dans l'exercice précédent sera situé dans ce chemin - `/arch/x86/boot/bzImage` ou, pour être précis, dans notre exemple `~/build/kernel/arch/x86/boot/bzImage`. + +Le fichier map correspondant sera situé dans `~/build/kernel/System.map`. Vous aurez besoin de ces deux fichiers pour la phase d'installation. + +Le fichier `System.map` est utile lorsque le noyau se comporte mal et génère des messages « Oups ». Un "Oops" est généré pour certaines erreurs du noyau dues à des bogues du noyau ou à du matériel défectueux. + +Cette erreur s'apparente à l'écran bleu de la mort (BSOD) de Microsoft Windows. Ces messages contiennent de nombreux détails sur l'état actuel du système, y compris plusieurs nombres hexadécimaux. + +`System.map` permet à Linux de transformer ces nombres hexadécimaux en noms lisibles, ce qui facilite le débogage. Bien que cette fonction soit principalement destinée aux développeurs, elle peut s'avérer utile lorsque vous signalez un problème. + +Passons en revue les étapes nécessaires à l'installation de la nouvelle image du noyau. + +1. À la racine de votre répertoire de construction du noyau, copiez et renommez le fichier `bzImage` dans le répertoire `/boot` : + + ```bash + sudo cp ~/build/kernel/arch/x86/boot/bzImage \ + /boot/vmlinuz- + ``` + + Ici, `` est le numéro de version du noyau. Pour l'exemple de noyau que nous utilisons dans ce guide, le nom de fichier serait `vmlinuz-6.5.7-custom`. Voici donc la commande exacte pour cet exemple : + + ```bash + sudo cp ~/build/kernel/arch/x86/boot/bzImage \ + /boot/vmlinuz-6.5.7-custom + ``` + + !!! Note + + La décision de nommer l'image du noyau `vmlinuz-6.5.7-custom` est relativement arbitraire. C'est pratique, étant donné que les images de noyaux sont communément appelées vmlinuz, et le suffixe du numéro de version est utile lorsque vous avez plusieurs noyaux disponibles ou des noyaux qui fournissent des fonctionnalités spécifiques (par exemple `vmlinuz-6.50.0-ws`). + +2. Maintenant que l'image du noyau est en place, copiez et renommez le fichier `System.map` correspondant dans le répertoire `/boot` en utilisant la même convention de nommage : + + ```bash + sudo cp -v ~/build/kernel/System.map \ + /boot/System.map-6.5.7-custom + ``` + +3. Avec le noyau en place, le fichier `System.map` en place, et les modules en place, nous sommes maintenant prêts pour l'étape finale. La syntaxe de la commande nécessaire est la suivante : + + ```bash + kernel-install add + ``` + + Ici, `` est le numéro de version (et le nom) du noyau. Et `` est le chemin d'accès à l'image du noyau nouvellement compilée. + + Pour notre exemple, tapez : + + ```bash + sudo kernel-install \ + add 6.5.7-custom /boot/vmlinuz-6.5.7-custom + ``` + +La commande `kernel-install` utilisée ici est un petit script shell très pratique. Il n'est peut-être pas disponible dans toutes les distributions Linux, mais il l'est dans les distributions Fedora, RHEL et CentOS les plus récentes. Cet outil automatise une grande partie des opérations manuelles finales que nous devrions normalement effectuer pour configurer le système afin de démarrer le nouveau noyau que nous venons de construire. + +En particulier, l'outil effectue les opérations suivantes : + +- Il crée l'image initiale appropriée du système de fichiers RAM (l'image initramfs, c'est-à-dire le fichier `/boot/initramfs-.img`). Pour effectuer cette opération manuellement sur les systèmes où `kernel-install` n'est pas disponible, utilisez la commande `mkinitramfs`. +- Il exécute la commande `depmod` (qui crée une liste des dépendances des modules). +- Il met à jour la configuration du chargeur de démarrage. + +Pour les systèmes utilisant les versions plus récentes de GRUB2, le fichier sera `/boot/grub2/grub.cfg`. Pour les systèmes basés sur l'EFI, `/boot/efi//fedora/grub.cfg` est également mis à jour. + +Et pour les systèmes utilisant les anciennes versions de GRUB, il s'agira du fichier `/boot/grub/grub.conf` ou `/boot/grub/menu.lst`. Et pour les toutes nouvelles distributions qui ont implémenté la nouvelle spécification de chargeur de démarrage (BLS), une nouvelle entrée de chargeur de démarrage sera ajoutée au répertoire `/boot/loader/entries/`, ou à tout autre répertoire indiqué par la variable nommée `blsdir`. + +Sur notre serveur Rocky de démonstration basé sur EFI et exécutant GRUB 2 à l'aide de BLS, une nouvelle entrée de démarrage est créée dans le fichier du chargeur de démarrage situé ici : `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf` + +```bash +$ sudo cat /boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf +title Rocky Linux (6.5.7-custom) 8.5 (Green Obsidian) +version 6.5.7-custom +linux /vmlinuz-6.5.7-custom +initrd /initramfs-6.5.7-custom.img $tuned_initrd +options $kernelopts $tuned_params +id rocky-20220212013135-6.5.7-custom +grub_users $grub_users +grub_arg --unrestricted +grub_class kernel +``` + +!!! Note + + La plupart des distributions disposent de plusieurs utilitaires `grub2-*` qui peuvent être utilisés pour effectuer diverses tâches d'entretien de GRUB2 et du chargeur de démarrage. Par exemple, vous pouvez utiliser la commande `grub2-set-default` pour changer ou définir le noyau par défaut à démarrer au démarrage du système. + +## Démarrage sur le noyau personnalisé + +L'étape suivante est de tester le nouveau noyau pour s'assurer que le système peut effectivement démarrer avec lui. + +1. En supposant que vous ayez tout fait de la manière exacte que le médecin vous a prescrit et que tout s'est déroulé exactement comme le médecin le disait, vous pouvez redémarrer le système en toute sécurité et sélectionner le nouveau noyau dans le menu du chargeur de démarrage pendant le démarrage du système : + + ```bash + sudo reboot + ``` + +2. Après le démarrage du système, vous pouvez utiliser la commande uname pour trouver le nom du noyau actuel : + + ```bash + $ uname -r + 6.5.7-custom + ``` + +3. Vous vous rappellerez que l'une des fonctionnalités que nous avons ajoutées à notre nouveau noyau est la possibilité de prendre en charge le système de fichiers NTFS. Assurez-vous que le nouveau noyau a bien le support de NTFS en affichant des informations sur le module NTFS : + + ```bash + [rockstar ~]$ modinfo ntfs + filename: /lib/modules/6.5.7-custom/kernel/fs/ntfs/ntfs.ko + license: GPL + version: 2.1.32 + description: NTFS 1.2/3.x driver - Copyright ….. + ...OUTPUT TRUNCATED... + ``` + +Et c’est tout ! From d85a6ca648a37cf9f71f37ad7cf9d49a5829f500 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Sun, 18 Feb 2024 22:48:18 -0700 Subject: [PATCH 03/10] New translations 01-basic.md (German) --- docs/books/learning_ansible/01-basic.de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/books/learning_ansible/01-basic.de.md b/docs/books/learning_ansible/01-basic.de.md index 0593f8497d..450707d176 100644 --- a/docs/books/learning_ansible/01-basic.de.md +++ b/docs/books/learning_ansible/01-basic.de.md @@ -39,7 +39,7 @@ Es verwendet das **SSH**-Protokoll, um GNU/Linux-Clients zu konfigurieren oder d Da Ansible push-basiert ist, wird die Software den Status seiner Zielserver nach jeder seiner Ausführung nicht zwischenspeichern. Im Gegenteil, Ansible wird bei jeder Ausführung eine neue Statusprüfung durchführen. Es wird als zustandslos bezeichnet. -Es wird Ihnen helfen bei folgenden Aufgaben: +Es wird Ihnen bei folgenden Aufgaben helfen: * Provisionierung (Bereitstellung einer neuen VM), * Verteilung von Applikationen, @@ -360,7 +360,7 @@ ansible rocky8 -i ./local-inventory -m command -a 'date' Wie in diesem Beispiel ist es manchmal einfacher, die Deklaration verwalteter Geräte in verschiedene Dateien zu unterteilen (z. B. beim Cloud-Projekt) und Ansible den Pfad zu diesen Dateien bereitzustellen, als eine lange Inventardatei zu pflegen. -| Option | Informationen | +| Option | Beschreibung | | ------------------------ | ------------------------------------------------------------------------------------------------------------ | | `-a 'arguments'` | Die Argumente, die an das Modul übergeben werden. | | `-b -K` | Fordert ein Passwort an und führt das Kommando mit höheren Rechten aus. | From 3bc34dc0e025cb9a8e111fa66a2725ebe4da2b79 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:14:28 -0700 Subject: [PATCH 04/10] New translations mirroring_lsyncd.md (Italian) --- docs/guides/backup/mirroring_lsyncd.it.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/backup/mirroring_lsyncd.it.md b/docs/guides/backup/mirroring_lsyncd.it.md index 9dbecffa89..9e3d0f9488 100644 --- a/docs/guides/backup/mirroring_lsyncd.it.md +++ b/docs/guides/backup/mirroring_lsyncd.it.md @@ -230,7 +230,7 @@ Se il servizio è in esecuzione, usare tail per vedere le estremità dei due fil `tail /var/log/lsyncd.log` -E poi: +E quindi: `tail /var/log/lsyncd-status.log` From 389440e31333fe59ad06f318ff824517de3f641f Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:15:10 -0700 Subject: [PATCH 05/10] New translations custom-linux-kernel.md (Ukrainian) --- docs/guides/custom-linux-kernel.uk.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/custom-linux-kernel.uk.md b/docs/guides/custom-linux-kernel.uk.md index 85ff071671..4b20010cd9 100644 --- a/docs/guides/custom-linux-kernel.uk.md +++ b/docs/guides/custom-linux-kernel.uk.md @@ -305,7 +305,7 @@ In the preceding section, we walked through the process of creating a configurat Через велику кількість коду, який потрібно скомпілювати, будьте готові почекати щонайменше кілька хвилин, залежно від обчислювальної потужності вашої системи. Давайте розглянемо конкретні кроки, необхідні для компіляції вашого нового ядра. -1. По-перше, ми додамо додаткову частину до ідентифікаційного рядка для ядра, яке збираємося створити. Перебуваючи в корені вихідного дерева ядра, ми використаємо утиліту sed для редагування Makefile на місці. Змінна, яку ми хочемо змінити, знаходиться близько до верхньої частини файлу. Ми хочемо змінити рядок у файлі, який виглядає так: +1. По-перше, ми додамо додаткову частину до ідентифікаційного рядка для ядра, яке збираємося створити. Перебуваючи в корені вихідного дерева ядра, ми використаємо утиліту `sed` для редагування Makefile на місці. Змінна, яку ми хочемо змінити, знаходиться близько до верхньої частини файлу. Ми хочемо змінити рядок у файлі, який виглядає так: ```bash EXTRAVERSION = From a38776e93742fdc72c53678f9aebd5aae94b438f Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:15:46 -0700 Subject: [PATCH 06/10] New translations dokuwiki_server.md (Italian) --- docs/guides/cms/dokuwiki_server.it.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guides/cms/dokuwiki_server.it.md b/docs/guides/cms/dokuwiki_server.it.md index 2a92c8e339..e6ffcfb266 100644 --- a/docs/guides/cms/dokuwiki_server.it.md +++ b/docs/guides/cms/dokuwiki_server.it.md @@ -103,7 +103,7 @@ Nel server, passare alla root directory. Ora che il nostro ambiente è pronto, prendiamo l'ultima versione stabile di DokuWiki. Potete trovarlo andando alla [pagina di download](https://download.dokuwiki.org/) e sul lato sinistro della pagina, alla voce "Version", vedrete "Stable (Recommended) (direct link)." -Fare clic con il tasto destro del mouse sulla parte "(link diretto)" e copiare l'indirizzo del link. Nella console del vostro server DokuWiki, digitate "wget" e uno spazio e poi incollate il link copiato nel terminale. Dovresti ottenere qualcosa di simile: +Fare clic con il tasto destro del mouse sulla parte "(link diretto)" e copiare l'indirizzo del link. Nella console del vostro server DokuWiki, digitate "wget" e uno spazio e poi incollate il link copiato nel terminale. Si dovrebbe ottenere qualcosa di simile a questo: `wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz` @@ -130,7 +130,7 @@ Una volta eseguito questo comando, tutto DokuWiki dovrebbe trovarsi nella nostra È necessario fare una copia del file _.htaccess.dist_ fornito con DokuWiki e conservare anche quello vecchio, nel caso in cui si debba tornare all'originale in futuro. -Nel processo, cambieremo il nome di questo file in _.htaccess_, che è quello che _apache_ cercherà. Per ora fare: +Nel processo, cambieremo il nome di questo file in _.htaccess_, che è quello che _apache_ cercherà. Per farlo: `cp /var/www/sub-domains/com.example/html/.htaccess{.dist,}` From ce2e147dbf8c3741a6b229a0c3e7507dd66073a2 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:17:12 -0700 Subject: [PATCH 07/10] New translations vale_nvchad.md (Italian) --- docs/books/nvchad/vale_nvchad.it.md | 144 +++++++++++++++++++--------- 1 file changed, 97 insertions(+), 47 deletions(-) diff --git a/docs/books/nvchad/vale_nvchad.it.md b/docs/books/nvchad/vale_nvchad.it.md index d0683775e5..ca064055bb 100644 --- a/docs/books/nvchad/vale_nvchad.it.md +++ b/docs/books/nvchad/vale_nvchad.it.md @@ -9,96 +9,146 @@ tags: # `vale` in NvChad (Neovim) -## Introduzione +## :material-message-outline: Introduzione `vale.sh` è uno dei principali progetti open source per scrittori tecnici che vogliono migliorare la propria scrittura e la coerenza dello stile. Può essere utilizzato con numerosi editor su quasi tutte le principali piattaforme OS (Linux, MacOS, Windows). Per saperne di più sul progetto, visitate il [sito web vale.sh](https://vale.sh/). Questa guida vi condurrà nell'aggiunta di `vale` a NvChad. Poiché è incluso nei pacchetti Mason usati per l'installazione, il processo non è troppo difficile, anche se comporta alcune piccole modifiche e configurazioni per far funzionare le cose. Per essere chiari, NvChad è in realtà il gestore della configurazione dell'editor Neovim, quindi da questo momento in poi il riferimento sarà `nvim`. -## Prerequisiti +## :material-arrow-bottom-right-bold-outline: Prerequisiti * È utile la familiarità con NvChad 2.0 * Possibilità di modificare i file dalla riga di comando utilizzando l'editor preferito. (`vi` o il vostro preferito) +* Il plugin *nvim-lint* correttamente installato in NvChad. -## Installazione di `vale` con Mason +### :material-monitor-arrow-down-variant: Installazione di nvim-lint -L'installazione di `vale` dall'interno di NvChad, usando Mason, manterrà il pacchetto aggiornato con pochi passi in più. L'esecuzione periodica di Mason da `nvim` mostrerà se ci sono aggiornamenti da installare e permetterà di aggiornarli da lì. Questo include `vale` una volta installato. Cominciamo con l'eseguire `nvim` per visualizzare un file vuoto e poi entriamo nella modalità di comando usando ++shift++ + ++":"++ + Mason, che dovrebbe mostrare un'interfaccia simile a questa: +Il plugin [nvim-lint](https://github.com/mfussenegger/nvim-lint) fornisce il supporto per l'inserimento dei ==linters== nell'editor, fornendo la correzione del codice o del contenuto sia per la parte sintattica che per quella semantica. -![vale_mason](images/vale_mason.png) +Per installare il plugin, è necessario modificare il file `custom/plugins.lua` aggiungendo il seguente blocco di codice: -Invece di consultare l'intero elenco dei pacchetti, utilizziamo la voce di menu 4 per limitare l'elenco dei linters. Premete ++shift++ + ++":"++ + e scorrete l'elenco fino a trovare `vale` e, con il cursore su quella riga, premete ++"i"++ per installare. Il vostro elenco dovrebbe ora mostrare `vale` installato: +```lua title="plugins.lua" + { + "mfussenegger/nvim-lint", + event = "VeryLazy", + config = function() + require "custom.configs.lint" + end, + }, +``` -![vale_mason_installed](images/vale_mason_installed.png) +Il plugin ha un file di configurazione da collocare nella cartella `custom/configs`. Al suo interno troviamo una tabella ==linters_by_ft== dove è possibile inserire i *linters* per i linguaggi utilizzati per lo sviluppo. -## Configurazione e inizializzazione di `vale` +```lua title="lint.lua" +require("lint").linters_by_ft = { + markdown = { "markdownlint" }, + yaml = { "yamllint" }, +} -Esistono due metodi per configurare `vale`. Potete scegliere il vostro preferito tra le due opzioni qui sotto. Una prevede che i file di configurazione siano creati all'interno del percorso del binario di `vale` e poi spostati nella cartella home, mentre l'altra prevede che i file di configurazione siano creati direttamente nella cartella home. Funzionano ugualmente bene. La seconda opzione comporta un minor numero di passaggi manuali, ma richiede un lungo percorso verso il binario `vale`. +vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, +}) +``` -!!! tip "Suggerimento" +Questo file di configurazione è impostato per lavorare con il codice markdown, ma può essere modificato o esteso con [quelli disponibili](https://github.com/mfussenegger/nvim-lint?tab=readme-ov-file#available-linters) sul sito del progetto. - Se si vuole nascondere la cartella "styles" (sotto), modificare leggermente il contenuto di `.vale.ini` durante la creazione, cambiando l'opzione "StylesPath" da "styles" a qualcosa di nascosto, come ".styles" o ".vale_styles" Esempio: +Una volta completate le modifiche, uscire e rientrare da NvChad per installare il plugin e importare la configurazione. - ``` - StylesPath = .vale_styles - ``` +## :material-monitor-arrow-down-variant: Installazione di `vale` con Mason -L'installazione di `vale` non è sufficiente. Sono necessari un paio di elementi aggiuntivi. Per prima cosa, è necessario un file `.vale.ini` che si trova nella radice della cartella home. Successivamente, è necessario generare la cartella "styles" usando `vale sync`. +L'installazione di `vale` da NvChad usando Mason, manterrà il pacchetto aggiornato con pochi passi in più. L'esecuzione periodica di Mason da `nvim` visualizzerà se ci sono aggiornamenti da installare e permetterà di aggiornarli da lì. Questo include `vale` una volta installato. Per iniziare, eseguiamo `nvim` per richiamare un file vuoto e poi entriamo nella modalità di comando usando ++shift++ ++": "++ + Mason, che dovrebbe mostrare un'interfaccia simile a questa: -### Installazione dall'interno del percorso del binario `vale` +![vale_mason](images/vale_mason.png) -Se ci si trova nel percorso del binario di `vale` qui: `~/.local/share/nvim/mason/packages/vale/` si può semplicemente creare il file `.vale.ini` qui, generare la cartella "styles" e poi spostare entrambi nella propria radice `~/`. La creazione del file `.vale.ini` è facile utilizzando l'utilità di configurazione del [sito web `vale.sh`](https://vale.sh/generator). Scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. L'uso di 'alex' è facoltativo, ma aiuta a individuare e correggere le parole di genere, polarizzanti, razziali, ecc. Se si scelgono queste opzioni, la schermata dovrebbe apparire come questa: +Invece di consultare l'intero elenco dei pacchetti, utilizziamo la voce del menu 4 per limitare l'elenco ai soli linter. Premere ++4++ e scorrere l'elenco fino a trovare `vale` e con il cursore su quella riga, premere ++"i "++ per installarlo. Il vostro elenco dovrebbe ora mostrare `vale` come installato: -![vale_ini_nvchad](images/vale_ini_nvchad.png) +![vale_mason_installed](images/vale_mason_installed.png) -È sufficiente copiare il contenuto in basso, creare il file `.vale.ini` con il proprio editor preferito e incollare quanto copiato. +### :material-timer-cog-outline: Configurazione e inizializzazione di `vale` -È necessario creare la cartella "styles". Per farlo, eseguire il binario `vale` con il comando `sync`. Anche in questo caso, se si sta eseguendo questa operazione dalla cartella `~/.local/share/nvim/mason/packages/vale/`, basta fare: +Sono disponibili due metodi per configurare `vale`. Si può scegliere il proprio preferito tra le due opzioni sottostanti. Una consiste nel creare i file di configurazione all'interno del percorso del binario `vale`, quindi spostarli nella cartella home, mentre l'altra consiste nel creare i file di configurazione direttamente nella cartella home. Funzionano ugualmente bene. La seconda opzione ha meno passaggi manuali, ma richiede un lungo percorso per il binario `vale`. -```bash -./vale sync -``` +!!! tip "Suggerimento" + + Per nascondere la cartella "styles" (sotto), modificare leggermente il contenuto di `.vale.ini' durante la creazione, cambiando l'opzione "StylesPath" da "styles" a qualcosa di nascosto, come ".styles" o ".vale_styles." Esempio: + + ``` + StylesPath = .vale_styles + ``` -Una volta terminata l'operazione, verrà visualizzato quanto segue: +La sola installazione di `vale` non è sufficiente. Sono necessari un paio di elementi aggiuntivi. Per prima cosa, sarà necessario un file `.vale.ini` che verrà collocato nella radice della cartella home. Successivamente, è necessario generare la cartella "styles" usando `vale sync`. -![vale_sync](images/vale_sync.png) +=== "Installazione dal percorso del file binario `vale`" -Copiare il file `.vale.ini` e la cartella `styles` nella radice della cartella home: + Se vi trovate nel percorso del binario `vale` qui: `~/.local/share/nvim/mason/packages/vale/` si può semplicemente creare il file `.vale.ini` qui, generare la cartella "styles" e poi spostare entrambi nella propria radice `~/`. La creazione del file `.vale.ini' è semplice utilizzando l'utilità di configurazione del sito web `vale.sh` (https://vale.sh/generator). Scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. L'uso di 'alex' è facoltativo, ma aiuta a individuare e correggere le parole di genere, polarizzanti, razziali, ecc. Se si scelgono queste opzioni, la schermata dovrebbe apparire come questa: + + ![vale_ini_nvchad](images/vale_ini_nvchad.png) + + È sufficiente copiare il contenuto in basso, creare il file `.vale.ini` con il proprio editor preferito e incollare quanto copiato. + + È necessario creare la cartella "styles". Per farlo, eseguire il binario `vale` con il comando `sync`. Anche in questo caso, se si sta eseguendo questa operazione dalla directory `~/.local/share/nvim/mason/packages/vale/`, basta fare: -```bash -cp .vale.ini ~/ -cp -rf styles ~/ -``` + ```bash + ./vale sync + ``` -### Installazione dalla propria home directory -Se si preferisce non dover copiare i file e si vuole semplicemente crearli nella propria home directory, si può usare questo comando da `~/`: + Una volta terminata l'operazione, verrà visualizzato quanto segue: + + ![vale_sync](images/vale_sync.png) + + Copiare la cartella `.vale.ini` e la cartella `styles` nella radice della cartella home: -Per prima cosa, creare il file `.vale.ini` nella cartella principale utilizzando [il sito web `vale.sh`](https://vale.sh/generator). Anche in questo caso, scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. Quindi copiare il contenuto nel file `.vale.ini`. + ```bash + cp .vale.ini ~/ + cp -rf styles ~/ + ``` -![vale_ini_nvchad](images/vale_ini_nvchad.png) +Copiare il file `.vale.ini` e la cartella `styles` nella radice della cartella home: -Quindi, eseguire il comando `vale sync.` Dal momento che ci si trova nella propria home directory, è necessario l'intero percorso del binario: + Se si preferisce non dover copiare i file e si vuole semplicemente crearli nella propria cartella personale, si può usare questo comando da `~/`: + + Per prima cosa, creare il file `.vale.ini' nella propria cartella personale usando [il sito web `vale.sh`] (https://vale.sh/generator). Anche in questo caso, scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. Quindi copiare il contenuto nel file `.vale.ini`. + + ![vale_ini_nvchad](images/vale_ini_nvchad.png) + + Successivamente, eseguire il comando `vale sync`. Poiché ci si trova nella propria home directory, è necessario l'intero percorso del binario: -```bash -~/.local/share/nvim/mason/packages/vale/vale sync -``` + ```bash + ~/.local/share/nvim/mason/packages/vale/vale sync + ``` -![vale_sync](images/vale_sync.png) -In questo caso, non è necessario copiare i file, poiché verranno creati nella directory principale. + ![vale_sync](images/vale_sync.png) + + In questo caso, non è necessario copiare i file, poiché verranno creati nella directory principale. -## Modifiche al file `null-ls.lua` +### :material-file-edit-outline: Modifiche al file `lint.lua` -È necessario un ultimo passo. È necessario modificare il file `null-ls.lua` che si trova in `~/.config/nvim/lua/custom/configs/` e aggiungere il linter `vale`. +È necessario un ultimo passo. È necessario modificare il file `lint.lua` che si trova in `~/.config/nvim/lua/custom/configs/` e aggiungere il linter `vale`. -Se non sono stati installati altri linters, creare una sezione con due trattini (commenti) chiamata "linters" e inserirvi questo codice: +Utilizzando l'esempio mostrato sopra per aggiungere *vale* al linter disponibile per i file markdown, sarà necessario aggiungere il nuovo linter alla stringa già presente: ```lua -b.diagnostica.vale, +markdown = { "markdownlint", "vale" }, ``` Una volta completato, il file avrà un aspetto simile a questo: -![vale_null-ls](images/vale_null-ls.png) +```lua +require("lint").linters_by_ft = { + markdown = { "markdownlint", "vale" }, + yaml = { "yamllint" }, +} + +vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, +}) + +``` -## Considerazioni Finali +## Conclusioni e considerazioni finali -Avviando normalmente `nvim`, ora viene richiamato `vale` e i documenti vengono confrontati con lo stile preferito. L'apertura di un file esistente avvierà `vale` e mostrerà tutti gli elementi segnalati, mentre l'avvio di un nuovo file non mostrerà nulla in modalità di inserimento. Quando si esce dalla modalità di inserimento, il file viene controllato. In questo modo si evita che lo schermo sia troppo ingombro. `vale` è un eccellente prodotto open source con un'ottima integrazione in molti editor. NvChad non fa eccezione e, anche se la sua messa in funzione richiede alcuni passaggi, e non è una procedura difficile. +Avviando normalmente `nvim`, ora viene richiamato `vale` e i documenti vengono confrontati con lo stile preferito. L'apertura di un file esistente avvierà `vale` e mostrerà tutti gli elementi segnalati, mentre l'avvio di un nuovo file non mostrerà nulla in modalità di inserimento. Il file viene controllato quando si esce dalla modalità di inserimento. In questo modo si evita che lo schermo sia troppo affollato. `vale` è un eccellente prodotto open source con un'ottima integrazione in molti editor. NvChad non fa eccezione e, anche se la sua attivazione richiede alcuni passaggi, non è una procedura difficile. From 91e01b6908f0d42550f516f6c7a2b0a6e738fb72 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:17:44 -0700 Subject: [PATCH 08/10] New translations lab5-nfs.md (Ukrainian) --- docs/labs/networking/lab5-nfs.uk.md | 36 +++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/docs/labs/networking/lab5-nfs.uk.md b/docs/labs/networking/lab5-nfs.uk.md index 9487c193b5..aa466d1cb6 100644 --- a/docs/labs/networking/lab5-nfs.uk.md +++ b/docs/labs/networking/lab5-nfs.uk.md @@ -84,7 +84,9 @@ SYNOPSIS ```bash systemctl show -p "Wants" nfs-server ``` + **Вихід** + ```bash Wants=nfs-idmapd.service nfsdcld.service rpcbind.socket rpc-statd-notify.service rpc-statd.service auth-rpcgss-module.service network-online.target ``` @@ -98,6 +100,7 @@ SYNOPSIS ``` **Вихід** + ```bash program vers proto port service 100000 4 tcp 111 portmapper @@ -108,22 +111,26 @@ SYNOPSIS З наведеного вище зразка вихідних даних ми можемо сказати, що служба portmapper зареєстрована на сервері RPC, на якому працює localhost. - !!! Question "Питання" + !!! question "Питання" - A) Що таке portmapper? - B) Дізнайтеся значення різних полів (заголовка стовпця) команди `rpcinfo`? (Програма, версії, прото та сервіс.) + 1. Що таке portmapper? + + 2. Дізнайтеся значення різних полів команди `rpcinfo` (заголовки стовпців) (Програма, Версія, прото та служба). 5. Перевірте статус `nfs-server.service`. Впишіть: ```bash systemctl status nfs-server ``` + **Вихід** + ```bash ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: inactive (dead) ``` + nfs-server.service наразі не працює відповідно до результатів нашої демонстраційної системи. 6. Використовуйте systemctl для запуску демона nfs-server. Впишіть: @@ -201,6 +208,7 @@ SYNOPSIS /mnt/nfs 172.16.99.0/24(rw) localhost(rw) EOF ``` + Ви також можете скористатися будь-яким зручним для вас текстовим редактором для створення запису. 5. Перевірте вміст `/etc/exports`, щоб переконатися, що немає помилок. @@ -217,7 +225,9 @@ SYNOPSIS exportfs -s ``` - Вкажіть свій результат нижче. + !!! question "Питання" + + Який був вихід? Складіть список вихідного вмісту. ## Завдання 3 @@ -257,8 +267,10 @@ OPTIONS ```bash showmount -e localhost ``` + **Вихід** - ``` + + ```bash Export list for localhost: /mnt/nfs 172.16.99.0/24,localhost ``` @@ -278,7 +290,9 @@ OPTIONS ```bash rm -rf 1nfs 2nfs ``` + **Вихід** + ```bash rm: cannot remove '1nfs': Permission denied rm: cannot remove '2nfs': Permission denied @@ -288,7 +302,7 @@ OPTIONS Чи була ваша спроба видалити файл успішною? -7. Тепер спробуйте створити додаткові файли (6nfs, 7nfs, 8nfs) на спільному ресурсі NFS. Впишіть: +6. Тепер спробуйте створити додаткові файли (6nfs, 7nfs, 8nfs) на спільному ресурсі NFS. Впишіть: ```bash touch {6..8}nfs @@ -298,7 +312,6 @@ OPTIONS Ваша спроба створити файл була успішною? Як ви думаєте, чому це не вдалося? - ВИКОНАЙТЕ ЦЮ ВПРАВУ ЗІ СВОЄЇ ПАРТНЕРСЬКОЇ СИСТЕМИ #### Для віддаленого доступу до спільного ресурсу NFS @@ -322,7 +335,9 @@ OPTIONS ```bash mount -t nfs4 ``` + **Вихід** + ```bash 172.16.99.100:/mnt/nfs on /mnt/nfs-remote type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255 ...... @@ -334,7 +349,9 @@ OPTIONS cd /mnt/nfs-remote ; rm -f ``` - Ваша спроба була успішною? + !!! question "Питання" + + Чи була ця спроба успішною? 6. Вийдіть із serverPR як суперкористувач і знову увійдіть як непривілейований користувач «ying» @@ -346,7 +363,7 @@ OPTIONS 8. Занотуйте вміст довідника. Якщо ви бачите очікувані файли, ви завершили лабораторію NFS! - !!! question "Питання" + !!! question "Лабораторні завдання:" 1. Налаштуйте налаштування NFS на локальному сервері (serverXY), щоб суперкористувач у H.Q. (hq.example.org) зможе підключити ваш спільний ресурс nfs (/mnt/nfsXY) для використання на машині hq. @@ -359,4 +376,3 @@ OPTIONS ```bash /mnt/nfs 172.16.99.0/24(rw) localhost(rw,no_root_squash) ``` - From 330574a722402ad7a5ed3d7abe066fb9635482e9 Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 04:18:30 -0700 Subject: [PATCH 09/10] New translations tailscale_vpn.md (Ukrainian) --- docs/guides/security/tailscale_vpn.uk.md | 79 ++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 docs/guides/security/tailscale_vpn.uk.md diff --git a/docs/guides/security/tailscale_vpn.uk.md b/docs/guides/security/tailscale_vpn.uk.md new file mode 100644 index 0000000000..073a919162 --- /dev/null +++ b/docs/guides/security/tailscale_vpn.uk.md @@ -0,0 +1,79 @@ +--- +title: Tailscale VPN +author: Neel Chauhan +contributors: null +tested_with: 9.3 +tags: + - безпека +--- + +# Tailscale VPN + +## Вступ + +[Tailscale](https://tailscale.com/) – це однорангова VPN без налаштувань із наскрізним шифруванням на основі Wireguard. Tailscale підтримує всі основні настільні та мобільні операційні системи. + +Порівняно з іншими рішеннями VPN, Tailscale не вимагає відкритих портів TCP/IP і може працювати за трансляцією мережевих адрес або брандмауером. + +## Передумови та припущення + +Нижче наведено мінімальні вимоги для використання цієї процедури: + +- Можливість запускати команди від імені користувача root або використовувати `sudo` для підвищення привілеїв. +- Обліковий запис Tailscale + +## Встановлення Tailscale + +Щоб інсталювати Tailscale, спочатку потрібно додати його репозиторій `dnf` (зверніть увагу, якщо ви використовуєте Rocky Linux 8.x, замініть його на 8): + +```bash +dnf config-manager --add-repo https://pkgs.tailscale.com/stable/rhel/9/tailscale.repo +``` + +Потім встановіть Tailscale: + +```bash +dnf install tailscale +``` + +## Налаштування Tor + +Після встановлення пакетів вам потрібно ввімкнути та налаштувати Tailscale. Щоб увімкнути демон Tailscale: + +```bash +systemctl enable --now tailscaled +``` + +Згодом ви автентифікуєтеся за допомогою Tailscale: + +```bash +tailscale up +``` + +Ви отримаєте URL-адресу для автентифікації. Відкрийте його в браузері та увійдіть у Tailscale: + +![Tailscale login screen](../images/tailscale_1.png) + +Згодом вам буде надано доступ до вашого сервера. Для цього натисніть **Підключити**: + +![Tailscale grant access dialog](../images/tailscale_2.png) + +Коли ви отримаєте доступ, ви побачите відповідне діалогове вікно: + +![Tailscale login successful dialog](../images/tailscale_3.png) + +Після автентифікації вашого сервера за допомогою Tailscale він отримає IPv4-адресу Tailscale: + +```bash +tailscale ip -4 +``` + +Ви також отримаєте немаршрутизовану IPv6-адресу Tailscale: + +```bash +tailscale ip -6 +``` + +## Висновок + +Традиційно служби VPN працювали в моделі клієнт-сервер, де шлюз VPN був централізованим. Це вимагало налаштування вручну, налаштування брандмауера та надання облікових записів користувачам. Tailscale вирішує цю проблему за допомогою однорангової моделі в поєднанні з контролем доступу на рівні мережі. From 6a35d8751e743f500b49e55cc6faa5dd708f20cc Mon Sep 17 00:00:00 2001 From: Rocky Linux Automation <75949597+rockylinux-auto@users.noreply.github.com> Date: Mon, 19 Feb 2024 05:18:35 -0700 Subject: [PATCH 10/10] New translations index.md (Italian) --- docs/books/index.it.md | 57 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/docs/books/index.it.md b/docs/books/index.it.md index 21ad139b81..6b6695f4b0 100644 --- a/docs/books/index.it.md +++ b/docs/books/index.it.md @@ -6,6 +6,59 @@ contributors: '@fromoz, Ganna Zhyrnova' # Rocky Linux Libri Didattici -Hai trovato la sezione **Libri** della documentazione. È qui che viene mantenuta la documentazione più dettagliata. Questi documenti sono suddivisi in sezioni o "capitoli" per facilitare il lavoro al vostro ritmo e tenere traccia dei vostri progressi. Questi documenti sono stati creati da persone come voi, appassionate di determinati argomenti. +Avete trovato la sezione **Libri** della documentazione. È qui che viene mantenuta la documentazione più dettagliata. Questi documenti sono suddivisi in sezioni o **_capitoli_** per facilitarne la lettura al proprio ritmo e per tenere traccia dei propri progressi. Questi documenti sono stati creati da persone come voi, appassionate di determinati argomenti. -Volete cimentarvi nella scrittura di un'aggiunta a questa sezione? È FANTASTICO! È sufficiente unirsi alla conversazione sul canale [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) e vi aiuteremo nel vostro percorso. +Volete provare a scrivere un'integrazione a questa sezione? Se così fosse, sarebbe FANTASTICO! È sufficiente unirsi alla conversazione sul canale [Mattermost Documentation](https://chat.rockylinux.org/rocky-linux/channels/documentation) e vi aiuteremo nel vostro percorso. +## Scaricare per la lettura offline + +I nostri libri possono essere scaricati in formato PDF per la lettura offline. + +### Guida Amministratore + +* [Inglese](https://rocky-linux.github.io/documentation/RockyLinuxAdminGuide.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/RockyLinuxAdminGuide.it.pdf) +* [Ucraino](https://rocky-linux.github.io/documentation/RockyLinuxAdminGuide.uk.pdf) + +### Imparare Ansible con Rocky + +* [Inglese](https://rocky-linux.github.io/documentation/LearningAnsibleWithRocky.pdf) +* [Spagnolo](https://rocky-linux.github.io/documentation/LearningAnsibleWithRocky.es.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/LearningAnsibleWithRocky.it.pdf) + +### Imparare Bash con Rocky + +* [Inglese](https://rocky-linux.github.io/documentation/LearningBashWithRocky.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/LearningBashWithRocky.it.pdf) + +### DISA Stig + +* [Inglese](https://rocky-linux.github.io/documentation/Disa_stig_rocky_linux.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/Disa_stig_rocky_linux.it.pdf) +* [Ucraino](https://rocky-linux.github.io/documentation/Disa_stig_rocky_linux.uk.pdf) + +### Server LXD + +* [Inglese](https://rocky-linux.github.io/documentation/lxd_server_rocky_linux.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/lxd_server_rocky_linux.it.pdf) +* [Ucraino](https://rocky-linux.github.io/documentation/lxd_server_rocky_linux.uk.pdf) + +### NvChad + +* [Inglese](https://rocky-linux.github.io/documentation/NvChad.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/NvChad.it.pdf) +* [Ucraino](https://rocky-linux.github.io/documentation/NvChad.uk.pdf) + +### Guida al Middleware Rocky Linux + +* [Inglese](https://rocky-linux.github.io/documentation/RockyLinuxMiddlewaresGuide.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/RockyLinuxMiddlewaresGuide.it.pdf) + +### Imparare RSync + +* [Inglese](https://rocky-linux.github.io/documentation/learning_rsync_rocky_linux.pdf) +* [Italiano](https://rocky-linux.github.io/documentation/learning_rsync_rocky_linux.it.pdf) +* [Ucraino](https://rocky-linux.github.io/documentation/learning_rsync_rocky_linux.uk.pdf) + +### Sed, Awk, Grep: I Tre Spadaccini + +* [Inglese](https://rocky-linux.github.io/documentation/Sed_Awk_Grep_TheTreeSwordsmen.pdf)