diff --git a/docs/books/nvchad/additional_software.fr.md b/docs/books/nvchad/additional_software.fr.md index 056f0be148..c3223418c3 100644 --- a/docs/books/nvchad/additional_software.fr.md +++ b/docs/books/nvchad/additional_software.fr.md @@ -1,5 +1,5 @@ --- -title: Logiciels supplémentaires +title: Logiciels Complémentaires author: Franco Colussi contributors: Steven Spencer, Ganna Zhyrnova tested_with: 8.7, 9.1 @@ -65,7 +65,7 @@ RipGrep est nécessaire pour des recherches récursives avec `:Telescope`. [LazyGit](https://github.com/jesseduffield/lazygit) est une interface de style `ncurses` qui vous permet d'effectuer toutes les opérations `git` de manière plus conviviale. C'est requis par le plugin ==lazygit.nvim==. Ce plugiciel permet d'utiliser `LazyGit` directement depuis `NvChad`, il ouvre une fenêtre flottante d'où vous pouvez effectuer toutes les opérations sur vos dépôts, vous permettant ainsi d'effectuer toutes les modifications sur le *dépôt git* sans quitter l'éditeur. -Pour l'installer, nous pouvons utiliser le référentiel de Fedora. Sous Rocky Linux 9, il fonctionne à merveille. +Pour l'installer, vous pouvez utiliser le référentiel de Fedora. Sous Rocky Linux 9, il fonctionne à merveille. ```bash sudo dnf copr enable atim/lazygit -y diff --git a/docs/guides/custom-linux-kernel.it.md b/docs/guides/custom-linux-kernel.it.md index e066c4f3f5..7f8dde71d5 100644 --- a/docs/guides/custom-linux-kernel.it.md +++ b/docs/guides/custom-linux-kernel.it.md @@ -8,7 +8,8 @@ tags: --- # Panoramica -In questa guida, illustreremo il processo di acquisizione di un albero dei sorgenti del kernel, la sua configurazione, la compilazione e, infine, l'installazione e l'avvio del kernel. + +In questa guida si illustra il processo di acquisizione di un albero dei sorgenti del kernel, la sua configurazione, la compilazione, l'installazione e l'avvio. !!! warning "Le ricostruzioni del kernel non sono consigliate né supportate per Rocky Linux. Prima di tentare di creare un kernel personalizzato, considerare quanto segue:" @@ -27,27 +28,25 @@ Linux è il kernel. Il kernel si trova letteralmente al centro della questione [ L'unica cosa più fondamentale del kernel è l'hardware del sistema stesso. Sebbene il kernel sia una piccola parte di una distribuzione Linux completa, è di gran lunga l'elemento più critico. Se il kernel si guasta o si blocca, il resto del sistema lo segue. - ## Il Codice Sorgente del Kernel -La distribuzione Rocky Linux ha a disposizione, in una forma o nell'altra, il codice sorgente per la versione specifica del kernel che supporta. Questi possono essere sotto forma di un binario compilato (*.src.rpm), un RPM sorgente (*.srpm) o simili. +La distribuzione Rocky Linux ha a disposizione, in una forma o nell'altra, il codice sorgente per la versione specifica del kernel che supporta. Questi possono essere sotto forma di un binario compilato`(*.src.rpm`), un RPM sorgente`(*.srpm`) e così via. -Se avete bisogno di scaricare una versione diversa (possibilmente più recente) rispetto a quella fornita dalla vostra specifica distro Rocky Linux, il primo posto dove cercare il codice sorgente è il sito web ufficiale del kernel: +Se avete bisogno di scaricare una versione diversa (possibilmente più recente) rispetto a quella fornita dalla vostra specifica distribuzione Rocky Linux, il primo posto dove cercare il codice sorgente è il sito web ufficiale del kernel: [www.kernel.org](https://www.kernel.org) -Questo sito mantiene un elenco di siti web che rispecchiano i sorgenti del kernel, oltre a tonnellate di altro software open-source, distribuzioni e utilità generiche. +Questo sito contiene un elenco di siti web che ospitano il codice sorgente del kernel e tantissimi altri software open source, distribuzioni e utilità generiche. -L'elenco dei mirror viene mantenuto all'indirizzo: +L'elenco dei mirror mantenuti è disponibile all'indirizzo: [mirrors.kernel.org](http://mirrors.kernel.org) - !!! TIP "Suggerimento" La maggior parte delle operazioni di download, configurazione e compilazione del kernel Linux descritte nelle sezioni seguenti possono/devono essere eseguite come utenti non privilegiati. Tuttavia, i passaggi finali che richiedono l'installazione o la modifica dei file di sistema e dei file binari devono essere eseguiti con privilegi elevati. - Siamo in grado di svolgere la maggior parte del lavoro come utente non privilegiato perché useremo una speciale opzione di compilazione del kernel, che ci permette di specificare una directory di lavoro o di output personalizzata. In particolare, useremo l'opzione `O=~/build/kernel` per tutte le invocazioni di make. + È possibile eseguire la maggior parte del lavoro come utente non privilegiato perché si utilizzerà un'opzione speciale di creazione del kernel, che consente di specificare una directory di lavoro o di output personalizzata. In particolare, si userà l'opzione `O=~/build/kernel` per tutte le invocazioni di make. Dove `~/build/kernel` è equivalente a `/home/$USER/build/kernel` o `$HOME/build/kernel` @@ -57,95 +56,87 @@ L'elenco dei kernel disponibili sul sito web conterrà cartelle per v1.0, v2.5, La convenzione attuale è quella di chiamare e numerare le nuove versioni principali del kernel come "Linux 5.x" (chiamate anche kernel vanilla o mainline). Pertanto, la prima di questa serie sarà la versione 5.0 di Linux (uguale alla 5.0.0), la successiva sarà la versione 5.1 di Linux (uguale alla 5.1.0), seguita dalla versione 5.2 e così via. -Eventuali modifiche o aggiornamenti minori all'interno di ciascuna versione della major release si rifletteranno con incrementi alla terza cifra. Questi vengono comunemente chiamati rilasci di punti stabili. Pertanto, la prossima release stabile per il kernel della serie 5.0.0 sarà la versione 5.0.1 di Linux, seguita dalla versione 5.0.2 e così via. Un altro modo per affermare ciò è dire, ad esempio, che la versione 5.0.4 di Linux è la quarta release stabile basata sulla serie 5.0.0 di Linux. +La terza cifra rappresenta le modifiche o gli aggiornamenti minori all'interno di ogni versione principale. Questi vengono comunemente chiamati rilasci di punti stabili. Pertanto, la prossima release stabile per il kernel della serie 5.0.0 sarà la versione 5.0.1 di Linux, seguita dalla versione 5.0.2 e così via. Un altro modo per affermare ciò è dire, ad esempio, che la versione 5.0.4 di Linux è la quarta release stabile basata sulla serie 5.0.0 di Linux. ## Installare gli strumenti e le librerie richieste -Una fonte comune di fallimento riscontrata durante il processo di creazione del kernel può essere causata dalla mancanza di tutto il software necessario per la compilazione e la creazione del Kernel Linux mainline. Gli strumenti e le librerie mancanti possono essere installate utilizzando il gestore di pacchetti DNF su una distro Rocky Linux. Ce ne occuperemo in questa sezione. +Non avere a disposizione tutto il software necessario per la compilazione e la costruzione del kernel Linux mainline è una fonte comune di fallimento riscontrata durante il processo di creazione del kernel. È possibile installare gli strumenti e le librerie mancanti con il gestore di pacchetti DNF su una distribuzione Rocky Linux. Potete occuparvene qui. -1. Su una distro Rocky Linux, è possibile installare rapidamente la maggior parte degli strumenti di sviluppo necessari eseguendo questo comando: +1. Su una distribuzione Rocky Linux, è possibile installare rapidamente la maggior parte degli strumenti di sviluppo necessari eseguendo questo comando: - ``` - > sudo dnf -y groupinstall 'C Development Tools and Libraries' + ```bash + sudo dnf -y groupinstall 'Development Tools' ``` - Se si ottiene l'errore "Il modulo o il gruppo 'C Development Tools and Libraries' is not available", il comando seguente è equivalente a quello precedente: +2. Installando i seguenti pacchetti, si otterranno le altre librerie, i file header e le applicazioni necessarie. Digitare: - ``` - > sudo dnf -y groupinstall 'Development Tools' + ```bash + sudo dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3 ``` -2. Alcune altre librerie, file di intestazione e applicazioni possono essere ottenute installando i seguenti pacchetti. Digita: +3. Sono necessarie altre utility disponibili solo in repository speciali. Uno di questi è il repository CRB (Code Ready Builder). Abilitare il repository sul nostro sistema Rocky con: - ``` - > sudo dnf -y install \ - ncurses-devel openssl-devel elfutils-libelf-devel python3 + ```bash + sudo dnf config-manager --set-enabled crb ``` -3. Successivamente, abbiamo bisogno di altre utility disponibili solo in alcuni repository di terze parti supportati. Uno di questi repository è quello di Powertools. Abilitiamo questa repo sul nostro sistema Rocky. Digita: +4. Infine, installare uno dei pacchetti necessari dal repository CRB con: - ``` - > sudo dnf config-manager --set-enabled powertools + ```bash + sudo dnf -y install dwarves ``` -4. Infine, installiamo uno dei pacchetti necessari dal repo di Powertool. Digita: +Questo è tutto per quanto riguarda i pacchetti di prerequisiti necessari per la creazione del kernel. - ``` - > sudo dnf -y install dwarves - ``` - -Questo è tutto per quanto riguarda i pacchetti richiesti necessari per la costruzione del Kernel! +## Scaricare e scompattare il kernel Linux -## Scaricare e decomprimere il Kernel Linux - -La versione del kernel che verrà costruita nella sezione seguente è la versione 6.5.7, disponibile all'indirizzo: +La versione del kernel che si costruirà nella sezione seguente è la versione **6.5.7**, disponibile all'indirizzo: [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) Iniziamo il processo. -1. Per prima cosa, scaricare i sorgenti del kernel nella directory di lavoro corrente usando il seguente comando curl. Digita: +1. Per prima cosa, scaricare i sorgenti del kernel nella directory di lavoro corrente usando il seguente comando `curl`. Digitare: - ``` + ```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. L'origine del kernel che si scarica da Internet è un file compresso con tar. Pertanto, per utilizzare il sorgente, è necessario decomprimere e scompattare il file sorgente. +2. Il sorgente del kernel scaricata da Internet è un file compresso, tar file. Pertanto, per utilizzare il file sorgente è necessario decomprimerlo ed estrarlo. - Assicurarsi di trovarsi nella directory in cui è stato scaricato il tarball del Kernel. Utilizzare il comando tar per decomprimere il file, eseguendo: + Assicurarsi di trovarsi nella directory contenente il download del tarball del kernel. Utilizzare il comando `tar` per decomprimere il file, eseguendo: - ``` - tar xvJf linux-5.*.tar.xz + ```bash + tar xvJf linux-6.*.tar.xz ``` -## Costruire il Kernel +## Compilare il Kernel -In questa sezione esamineremo il processo di configurazione e costruzione di un kernel. Ciò è in contrasto con i sistemi operativi basati su macOS o Windows, che vengono forniti preconfigurati e quindi contengono il supporto per molte funzioni che si possono o meno desiderare. +In questa sezione si analizzerà il processo di configurazione e compilazione di un kernel. Ciò è in contrasto con i sistemi operativi basati su macOS o Windows, che vengono forniti preconfigurati e quindi contengono il supporto per molte funzioni che si possono o meno desiderare. La filosofia di progettazione di Linux permette all'individuo di decidere le parti importanti del kernel. Questa progettazione personalizzata ha l'importante vantaggio di permettere di ridurre l'elenco delle funzionalità in modo che Linux possa funzionare nel modo più efficiente possibile. Questo è anche uno dei motivi per cui è possibile personalizzare Linux per farlo funzionare in diverse configurazioni hardware, dai sistemi di fascia bassa, ai sistemi embedded, ai sistemi di fascia alta. -Per costruire un kernel sono richieste due fasi principali: +La creazione del kernel richiede due fasi principali: - configurazione - compilazione -Il primo passo nella costruzione del kernel è la configurazione delle sue caratteristiche. Di solito, l'elenco delle funzionalità desiderate si basa sull'hardware da supportare. Questo, ovviamente, significa che è necessario un elenco dell'hardware. +Il primo passo nella costruzione del kernel è la configurazione delle sue caratteristiche. Di solito, l'elenco delle funzionalità si basa sull'hardware da supportare. Ciò significa che è necessario un elenco dell'hardware. -Su un sistema che esegue già Linux, è possibile eseguire comandi come lspci, lshw e così via per visualizzare informazioni dettagliate sull'esatta configurazione hardware del sistema. Nelle distro basate su RPM queste utilità sono fornite dai pacchetti pciutils*.rpm e lshw*.rpm. +Su un sistema che esegue già Linux, è possibile eseguire comandi come – `lspci`, `lshw`, e così via, per visualizzare informazioni dettagliate sull'esatta configurazione hardware del sistema. Queste utilità provengono dai pacchetti `pciutils*.rpm` e `lshw*.rpm` sulle distribuzioni basate su RPM. Una migliore comprensione di ciò che costituisce l'hardware sottostante può aiutare a determinare meglio ciò di cui si ha bisogno nel kernel personalizzato. Si è pronti per iniziare a configurare il kernel. ### Sanificazione dell'ambiente di compilazione -Possiamo iniziare la configurazione vera e propria con un'idea approssimativa dei tipi di hardware e delle caratteristiche che il nostro nuovo kernel deve supportare. Ma prima, alcune informazioni di base. +È possibile iniziare la configurazione vera e propria con un'idea approssimativa dei tipi di hardware e delle caratteristiche che il nuovo kernel deve supportare. Ma prima, alcune informazioni di base. -L'albero dei sorgenti del kernel Linux contiene diversi file denominati Makefile (un makefile è semplicemente un file di testo con delle direttive e descrive anche le relazioni tra i file di un programma). - -Questi makefile aiutano a incollare insieme le migliaia di altri file che compongono il sorgente del kernel. Ciò che è più importante per noi è che i file make contengono anche i target. I target sono i comandi, o direttive, che vengono eseguiti dal programma make. +L'albero dei sorgenti del kernel Linux contiene diversi file denominati **Makefile** (un makefile è semplicemente un file di testo con delle direttive e descrive anche le relazioni tra i file di un programma). +Questi file make aiutano a incollare insieme le migliaia di altri file che compongono il sorgente del kernel. Ciò che è più importante per noi è che i file make contengono anche i target. I target sono i comandi, o direttive, che vengono eseguiti dal programma make. !!! warning "Avviso: Evitare inutili aggiornamenti del Kernel" @@ -156,69 +147,95 @@ Questi makefile aiutano a incollare insieme le migliaia di altri file che compon Nel caso di una correzione di sicurezza, decidete se il rischio vi riguarda davvero: ad esempio, se il problema di sicurezza è stato riscontrato in un driver di periferica che non utilizzate, potrebbe non esserci motivo di aggiornare. Nel caso di un rilascio con correzione di bug, leggete attentamente le note di rilascio e decidete se i bug vi riguardano davvero: se avete un sistema stabile, aggiornare il kernel con patch che non usate mai potrebbe essere inutile. - Sui sistemi di produzione, il kernel non dovrebbe essere aggiornato solo per avere "l'ultimo kernel"; si dovrebbe avere un motivo davvero convincente per aggiornarlo. + Sui sistemi di produzione, il kernel non dovrebbe essere aggiornato solo per avere "l'ultimo kernel"; si dovrebbe avere un motivo veramente convincente per aggiornarlo. + +Il Makefile nella radice dell'albero dei sorgenti del kernel contiene obiettivi specifici utilizzati per preparare l'ambiente di compilazione del kernel, configurare il kernel, compilare il kernel, installare il kernel e così via. Alcuni dettagli aggiuntivi su questi obiettivi sono: + +`make mrproper` +: + +Questo obiettivo ripulisce l'ambiente di compilazione da tutti i file e le dipendenze obsolete che potrebbero essere rimaste da una precedente compilazione del kernel. Pulisce (cancella) tutte le configurazioni precedenti del kernel dall'ambiente di creazione. + +`make clean` +: + +Questo obiettivo non svolge un lavoro così approfondito come l'obiettivo mrproper. Elimina solo la maggior parte dei file generati. Non cancella il file di configurazione del kernel (`.config`). + +`make menuconfig` +: + +Questo obiettivo richiama un'interfaccia di editor basata sul testo con menu, elenchi di opzioni e finestre di dialogo basate sul testo per la configurazione del kernel. + +`make xconfig` +: + +Questo strumento/target di configurazione del kernel basato su interfaccia grafica si basa sulle librerie di sviluppo grafico Qt. Le applicazioni basate su KDE/Plasma utilizzano queste librerie. + +`make gconfig` +: + +Anche questo è uno strumento/target di configurazione del kernel basato su GUI, ma si basa sul toolkit GTK+. Questo toolkit GTK+ è molto utilizzato nel mondo desktop GNOME. + +`make olddefconfig` +: -Il Makefile nella radice dell'albero dei sorgenti del kernel contiene obiettivi specifici che possono essere usati per preparare l'ambiente di compilazione del kernel, configurare il kernel, compilare il kernel, installare il kernel e così via. Alcuni degli obiettivi sono discussi in dettaglio qui: +Questo obiettivo utilizza il file .config esistente nella directory di lavoro corrente, aggiorna le dipendenze e imposta automaticamente i nuovi simboli ai valori predefiniti. -- **make mrproper**Questo obiettivo pulisce l'ambiente di compilazione da tutti i file e le dipendenze obsolete che potrebbero essere rimaste da una precedente compilazione del kernel. Tutte le configurazioni precedenti del kernel saranno pulite (eliminate) dall'ambiente di compilazione. -- **make clean**Questo target non fa un lavoro così accurato come il target mrproper. Elimina solo la maggior parte dei file generati. Non elimina il file di configurazione del kernel (.config). -- **make menuconfig**Questo obiettivo richiama un'interfaccia di editor basata sul testo con menu, elenchi di opzioni e finestre di dialogo basate sul testo per la configurazione del kernel. -- **make xconfig**È uno strumento/target di configurazione del kernel basato su interfaccia grafica che si basa sulle librerie di sviluppo grafico Qt. Queste librerie sono utilizzate dalle applicazioni basate su KDE/Plasma. -- **make gconfig**Anche questo è uno strumento/target di configurazione del kernel basato sulla GUI, ma si basa sul toolkit GTK+. Questo toolkit GTK è molto utilizzato nel mondo desktop di GNOME. -- **make olddefconfig**Questo obiettivo utilizza il file .config esistente nella directory di lavoro corrente, aggiorna le dipendenze e imposta automaticamente i nuovi simboli ai valori predefiniti. -- **make help**Questo obiettivo mostra tutti gli altri possibili obiettivi di make e funge anche da rapido sistema di guida in linea. +`make help` +: -In questa sezione utilizzeremo solo uno dei target per configurare il kernel. In particolare, utilizzeremo il comando make menuconfig. L'editor di configurazione del kernel menuconfig è una semplice e popolare utilità di configurazione basata sul testo che consiste in menu, elenchi di pulsanti e finestre di dialogo. +Questo obiettivo mostrerà tutti i possibili obiettivi e servirà come un rapido sistema di aiuto online. + +In questa sezione si utilizzerà solo uno dei target per configurare il kernel. In particolare, si utilizzerà il comando make `menuconfig`. L'editor di configurazione del kernel `menuconfig` è una semplice e popolare utility di configurazione basata sul testo e composta da menu, elenchi di pulsanti e finestre di dialogo. Ha un'interfaccia semplice e pulita che può essere facilmente navigata con la tastiera ed è abbastanza intuitiva da usare. -Dobbiamo navigare (cd) nella directory dei sorgenti del kernel, dopodiché possiamo iniziare la configurazione del kernel. Ma prima di iniziare la configurazione vera e propria del kernel, è necessario pulire (preparare) l'ambiente di compilazione del kernel usando il comando make mrproper: +È necessario cambiare(`cd`) nella directory dei sorgenti del kernel e poi si può iniziare la configurazione del kernel. Prima di iniziare la configurazione effettiva del kernel, è necessario pulire (preparare) l'ambiente di compilazione del kernel usando il comando `make mrproper`: -``` -> cd linux-5.* -> make O=~/build/kernel mrproper +```bash +cd linux-6.*/ +make O=~/build/kernel mrproper ``` ### Configurazione del Kernel -Successivamente, verrà illustrato il processo di configurazione di un kernel Linux serie 5.*. Per esplorare alcuni dei meccanismi interni di questo processo, abiliteremo il supporto di una funzione specifica che fingeremo essere una caratteristica indispensabile del sistema. Una volta capito come funziona, si può applicare la stessa procedura per aggiungere il supporto a qualsiasi nuova funzionalità del kernel. In particolare, abiliteremo il supporto per il file system NTFS nel nostro kernel personalizzato. +Successivamente, si inizierà a configurare un kernel Linux della serie 6.*. Per esplorare alcuni aspetti interni di questo processo, si abilita il supporto di una funzione specifica che si finge sia una caratteristica indispensabile per il sistema. Una volta capito come funziona, si può applicare la stessa procedura per aggiungere il supporto a qualsiasi nuova funzionalità del kernel. In particolare, dovrete abilitare il supporto per il file system NTFS nel nostro kernel personalizzato. -La maggior parte delle moderne distro Linux viene fornita con un file di configurazione del kernel in esecuzione, disponibile sul file system locale come file compresso o normale. Nel nostro sistema Rocky di esempio, questo file risiede nella directory /boot e di solito ha un nome simile a config-*. +La maggior parte delle moderne distribuzioni di Linux contiene un file di configurazione del kernel in esecuzione, disponibile sul file system locale come file compresso o normale. Nel sistema Rocky di esempio, questo file risiede nella directory `/boot` e di solito ha un nome simile a `config-*`. -Il file di configurazione contiene un elenco delle opzioni e delle caratteristiche abilitate per il particolare kernel che rappresenta. Un file di configurazione simile a questo è quello che si vuole creare durante il processo di configurazione del kernel. L'unica differenza tra il file che creeremo e quello già pronto è che aggiungeremo ulteriori piccole personalizzazioni al nostro. +The configuration file contains a list of the options and features enabled for the particular kernel it represents. L'obiettivo è creare un file di configurazione simile a questo attraverso il processo di configurazione del kernel. L'unica differenza tra il file che creerete e quello già pronto è che aggiungerete ulteriori piccole personalizzazioni al vostro. +!!! TIP -!!! TIP "Suggerimento" + L'uso di un file di configurazione noto e preesistente come quadro di riferimento per la creazione del proprio file personalizzato aiuta a non perdere troppo tempo a duplicare gli sforzi che altri hanno già fatto per trovare ciò che funziona e ciò che non funziona. - L'utilizzo di un file di configurazione noto e preesistente come quadro di riferimento per la creazione del nostro file personalizzato ci permette di non perdere troppo tempo a duplicare gli sforzi che altre persone hanno già fatto per trovare ciò che funziona e ciò che non funziona! +I passi seguenti spiegano come configurare il kernel. Si utilizzerà un'utilità di configurazione del kernel basata su testo. È possibile seguire la procedura nel terminale, indipendentemente dal fatto che si utilizzi o meno un ambiente desktop con interfaccia grafica. -I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità di configurazione del kernel basata sul testo, che vi consentirà di seguire la procedura nel vostro terminale, indipendentemente dal fatto che utilizziate o meno un ambiente desktop con interfaccia grafica. +1. Per iniziare, si copierà e rinominerà il file di configurazione preesistente dalla directory `/boot` nell'ambiente di creazione del kernel: -1. Per iniziare, copiamo e rinominiamo il file di configurazione preesistente dalla directory /boot nel nostro ambiente di creazione del kernel: - ``` - > cp /boot/config-`uname -r` ~/build/kernel/.config + ```bash + cp /boot/config-`uname -r` ~/build/kernel/.config ``` - Utilizziamo `uname -r` per ottenere il file di configurazione del kernel in esecuzione. Il comando uname -r stampa la release del kernel in esecuzione. L'utilizzo di questa funzione ci consente di assicurarci di ottenere la versione esatta che desideriamo, nel caso in cui siano presenti altre versioni. - !!! NOTE "Nota" + Utilizziamo `uname -r` per ottenere il file di configurazione del kernel in esecuzione. Il comando `uname -r` stampa la release del kernel in esecuzione. L'utilizzo di questa funzione consente di assicurarsi di ottenere la versione esatta desiderata, nel caso in cui siano presenti altre versioni. - L'editor di configurazione del kernel Linux inizia cercando e generando esplicitamente un file chiamato .config (pronunciato "dot config") alla radice dell'albero dei sorgenti del kernel. Questo file è nascosto. + !!! NOTE + + L'editor di configurazione del kernel Linux inizia a cercare e generare esplicitamente un file chiamato `.config` (pronunciato "dot config") alla radice dell'albero dei sorgenti del kernel. Questo file è nascosto. 2. Avviare l'utilità di configurazione grafica del kernel: - ``` - > make O=~/build/kernel menuconfig + ```bash + make O=~/build/kernel menuconfig ``` Verrà visualizzata una schermata simile a questa: -![Schermata principale di Configurazione del Kernel](images/Il01-kernel.png) + ![Main Kernel Configuration screen](images/Il01-kernel.png) - La schermata di configurazione del kernel che appare è suddivisa in circa tre aree. - La parte superiore mostra varie informazioni utili, scorciatoie da tastiera e legende che possono aiutare a navigare nell'applicazione. - Il corpo principale della schermata mostra un elenco espandibile a struttura ad albero delle opzioni del kernel complessivamente configurabili. È possibile approfondire le voci con le frecce nel genitore per visualizzare e/o configurare le voci dei sottomenu (o figli). Infine, nella parte inferiore dello schermo vengono visualizzate le azioni/opzioni che l'utente può scegliere. + Nella schermata di configurazione del kernel vengono visualizzate circa tre aree. La parte superiore mostra informazioni utili, scorciatoie da tastiera e legende che aiutano a navigare nell'applicazione. Il corpo principale della schermata mostra un elenco espandibile a struttura ad albero delle opzioni del kernel complessivamente configurabili. È possibile approfondire le voci con le frecce nel genitore per visualizzare o configurare le voci dei sottomenu (o figli). Infine, nella parte inferiore della schermata vengono visualizzate le azioni o le opzioni che l'utente può selezionare. -3. Successivamente, aggiungeremo il supporto per NTFS nel nostro kernel personalizzato a scopo dimostrativo. +3. Successivamente, si aggiungerà il supporto per NTFS in questo kernel personalizzato a scopo dimostrativo. Nella schermata di configurazione principale, utilizzare i tasti freccia per spostarsi ed evidenziare la voce File system. Una volta selezionato File system, premere Invio per visualizzare il menu secondario o le voci secondarie di File system. @@ -226,39 +243,39 @@ I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità d 4. Nella sezione Filesystem DOS/FAT/NT, passare al supporto del file system NTFS. - Digitare M (maiuscolo) per abilitare i moduli al supporto del file system NTFS. + Digitare ++“M ”++ (maiuscolo) per abilitare i moduli al supporto del file system NTFS. - Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto del debug NTFS (NEW) e premere y per includerlo. + Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto del debug NTFS (NUOVO) e premere y per includerlo. - Utilizzare i tasti freccia per spostarsi verso il basso fino al supporto di scrittura NTFS e premere y per includerlo. Al termine, accanto a ogni opzione dovrebbe comparire la lettera M o il simbolo dell'asterisco (*), come quelli mostrati qui: + Utilizzate i tasti freccia per spostarvi verso il basso fino al supporto di scrittura NTFS e premete ++y++ per includerlo. Al termine, accanto a ogni opzione dovrebbe comparire la lettera `M` o il simbolo dell'asterisco (`*`), come quelli mostrati qui: - ![Schermata Configurazione del Kernel File Systems](images/Il02-kernel.png) + ![Kernel Configuration File Systems screen](images/Il02-kernel.png) !!! TIP "Suggerimento" - Per ciascuna delle opzioni configurabili, nell'utilità di configurazione del kernel, le parentesi angolari vuote, <>, indicano che la funzione in questione è disabilitata. La lettera M tra parentesi angolari, , indica che la funzione deve essere compilata come modulo. + Per ciascuna delle opzioni configurabili, nell'utilità di configurazione del kernel, le parentesi angolari vuote, <>, indicano che la funzione in questione è disabilitata. La lettera `M' tra parentesi angolari, , indica che la funzione deve essere compilata come modulo. Il simbolo dell'asterisco tra parentesi angolari, <*>, indica che il supporto per la funzione sarà integrato direttamente nel kernel. Di solito è possibile scorrere tutte le opzioni possibili utilizzando la barra spaziatrice della tastiera. -5. Tornare alla schermata principale dei sistemi di file premendo due volte il tasto esc sulla tastiera nella schermata dei Filesystems DOS/FAT/NT. Tornare alla schermata principale di configurazione del kernel premendo nuovamente esc due volte sulla tastiera. +5. Per tornare alla schermata principale dei File Systems, premere due volte il tasto ++esc++ sulla tastiera nella schermata dei File Systems DOS/FAT/NT. Tornare alla schermata principale di configurazione del kernel premendo nuovamente due volte ++esc++ sulla tastiera. -6. Infine, salvare le modifiche nel file .config nella radice dell'albero dei sorgenti del kernel e uscire dall'applicazione di configurazione del kernel dopo aver salvato il file premendo di nuovo esc due volte sulla tastiera. +6. Infine, salvare le modifiche nel file `.config` nella radice dell'albero dei sorgenti del kernel e uscire dall'applicazione di configurazione del kernel dopo aver salvato il file premendo di nuovo due volte ++esc++ sulla tastiera. -7. Viene visualizzata una finestra di dialogo che richiede di salvare la nuova configurazione. Assicurarsi che sia selezionato Yes e premere Invio. +7. Viene visualizzata una finestra di dialogo che richiede di salvare la nuova configurazione. Assicurarsi che la selezione sia "Yes" e premere invio. -8. Dopo l'uscita dell'utilità di configurazione del kernel, si tornerà alla propria shell, all'interno dell'albero dei sorgenti del kernel. Siete quasi pronti a costruire il vostro kernel! +8. Dopo l'uscita dall'utilità di configurazione del kernel, si tornerà alla propria shell, all'interno dell'albero dei sorgenti del kernel. Siete quasi pronti a costruire il vostro kernel. -9. Dobbiamo completare alcune personalizzazioni sulla nostra distro Rocky. Digita: +9. È necessario completare alcune personalizzazioni sulla nostra distribuzione Rocky. Digitare: - ``` + ```bash sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config ``` !!! TIP "Suggerimento" - Per visualizzare i risultati di alcune delle modifiche apportate con lo strumento menuconfig, usare l'utilità grep per visualizzare direttamente il file .config salvato. Ad esempio, per visualizzare l'effetto del supporto del file system NTFS attivato in precedenza, digitate quanto segue: + Per visualizzare i risultati di alcune delle modifiche apportate con lo strumento menuconfig, usare l'utilità grep per visualizzare il file `.config` salvato direttamente. Ad esempio, per visualizzare l'effetto del supporto del file system NTFS precedentemente attivato, digitate quanto segue: ``` - > grep NTFS ~/build/kernel/.config + $ grep NTFS ~/build/kernel/.config CONFIG_NTFS_FS=m CONFIG_NTFS_DEBUG=y CONFIG_NTFS_RW=y @@ -266,67 +283,67 @@ I passi seguenti spiegano come configurare il kernel. Utilizzeremo un'utilità d !!! NOTE "Una nota veloce sui Moduli del kernel" - Il supporto per i moduli caricabili è una caratteristica del kernel Linux che consente il caricamento (o la rimozione) dinamica dei moduli del kernel. + Il supporto dei moduli caricabili è una caratteristica del kernel Linux che consente il caricamento (o la rimozione) dinamica dei moduli del kernel. - I moduli del kernel sono pezzi di codice compilato che possono essere inseriti dinamicamente nel kernel in esecuzione, anziché essere integrati in modo permanente nel kernel. Le funzioni non utilizzate di frequente possono quindi essere abilitate, ma non occuperanno spazio nella memoria quando non vengono utilizzate. + I moduli del kernel sono pezzi di codice compilato che possono essere inseriti dinamicamente nel kernel in esecuzione, anziché essere integrati in modo permanente nel kernel. In questo modo è possibile attivare le funzioni non utilizzate di frequente, che non occuperanno spazio nella memoria quando non vengono utilizzate. Fortunatamente, il Kernel Linux è in grado di determinare automaticamente cosa caricare e quando. Naturalmente, non tutte le funzioni possono essere compilate come moduli. Il kernel deve sapere alcune cose prima di poter caricare e scaricare i moduli, ad esempio come accedere al disco rigido e analizzare il file system in cui sono memorizzati i moduli caricabili. Alcuni moduli del kernel vengono comunemente chiamati anche driver. ### Compilazione del Kernel -Nella sezione precedente abbiamo illustrato il processo di creazione di un file di configurazione per il kernel personalizzato che vogliamo costruire. In questa sezione si eseguirà la compilazione vera e propria del kernel. Ma prima di fare questo, aggiungeremo una personalizzazione più semplice all'intero processo. +In the preceding section, you walked through the process of creating a configuration file for the custom kernel that you want to build. In questa sezione si eseguirà la compilazione vera e propria del kernel. Ma prima di fare questo, aggiungerete una semplice personalizzazione all'intero processo. -La personalizzazione finale consisterà nell'aggiungere un'informazione supplementare utilizzata nel nome finale del nostro kernel. Questo ci aiuterà a distinguere questo kernel da qualsiasi altro kernel con lo stesso numero di versione. Aggiungeremo il tag "custom" alle informazioni sulla versione del kernel. Questo può essere fatto modificando il Makefile principale e aggiungendo il tag desiderato alla variabile EXTRAVERSION. +La personalizzazione finale consisterà nell'aggiungere un'informazione supplementare utilizzata nel nome finale del nostro kernel. Questo ci aiuterà a distinguere questo kernel da qualsiasi altro kernel con lo stesso numero di versione. Si aggiungerà il tag "custom" alle informazioni sulla versione del kernel. Per farlo, modificate il Makefile principale e aggiungete il tag desiderato alla variabile EXTRAVERSION. -La fase di compilazione del processo di creazione del kernel è di gran lunga la più semplice, ma richiede anche più tempo. A questo punto è sufficiente eseguire il comando make, che genererà automaticamente e si occuperà di eventuali problemi di dipendenza, compilerà il kernel stesso e compilerà tutte le funzionalità (o i driver) che sono state abilitate come moduli caricabili. +La fase di compilazione del processo di creazione del kernel è di gran lunga la più semplice, ma richiede anche più tempo. È sufficiente eseguire il comando `make`, che genererà automaticamente e si occuperà di qualsiasi problema di dipendenza, compilerà il kernel stesso e compilerà qualsiasi funzionalità (o driver) abilitata come modulo caricabile. -A causa della quantità di codice che deve essere compilato, preparatevi ad aspettare almeno qualche minuto, a seconda della potenza di elaborazione del vostro sistema. Analizziamo i passaggi specifici necessari per compilare il nuovo kernel. +A causa della quantità di codice da compilare, preparatevi ad aspettare almeno qualche minuto, a seconda della potenza di elaborazione del vostro sistema. Analizziamo i passaggi specifici necessari per compilare il nuovo kernel. -1. Per prima cosa, aggiungeremo un pezzo in più alla stringa di identificazione del kernel che stiamo per costruire. Mentre siamo ancora nella radice dell'albero dei sorgenti del kernel, useremo l'utilità sed per modificare il Makefile. La variabile che vogliamo modificare si trova all'inizio del file. Vogliamo modificare la riga del file che ha questo aspetto: +1. Per prima cosa, aggiungeremo un pezzo in più alla stringa di identificazione del kernel che stiamo per costruire. Mentre siamo ancora nella root dell'albero dei sorgenti del kernel, useremo l'utilità `sed` per modificare il Makefile sul posto. La variabile che si desidera modificare si trova all'inizio del file. Si vuole modificare la riga del file che assomiglia a questa: - ``` + ```bash EXTRAVERSION = ``` A questo: - ``` + ```bash EXTRAVERSION = -custom ``` - Utilizzate il seguente comando `sed` per effettuare la modifica. Digita: + Utilizzate il seguente comando `sed` per effettuare la modifica. Digitare: - ``` + ```bash sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -custom/' Makefile ``` - Naturalmente, è possibile utilizzare qualsiasi editor di testo con cui ci si trovi a proprio agio per effettuare la modifica. Ricordatevi di salvare le modifiche apportate al file! + Si può anche utilizzare un qualsiasi editor di testo con cui si ha dimestichezza per effettuare la modifica. Ricordatevi di salvare le modifiche apportate al file. 2. Passare il target kernelversion al comando make per visualizzare la versione completa del kernel appena personalizzato: - ``` - > make O=~/build/kernel kernelversion + ```bash + make O=~/build/kernel kernelversion ``` - !!! Tip "Suggerimento" + !!! Tip È possibile sfruttare tutta la potenza di elaborazione extra (CPU, core e così via) sulla maggior parte dei sistemi moderni e accelerare notevolmente le operazioni ad alta intensità di CPU come la compilazione del kernel. A tale scopo, è possibile passare un parametro al comando make che specifichi il numero di lavori da eseguire simultaneamente. Il numero di lavori specificato viene quindi distribuito ed eseguito simultaneamente su ciascun core della CPU. La sintassi del comando è: - ``` - > make -j N + ```bash + make -j N ``` dove N è il numero di lavori da eseguire contemporaneamente. Ad esempio, se si dispone di una CPU con capacità octa (8) core, è possibile digitare: - ``` - > make -j 8 + ```bash + make -j 8 ``` -3. L'unico comando necessario per compilare il kernel è il comando make: +3. L'unico comando necessario per compilare il kernel è il comando `make`: - ``` - > make O=~/build/kernel + ```bash + $ make O=~/build/kernel make[1]: Entering directory '/home/super/build/kernel' SYNC include/config/auto.conf.cmd GEN Makefile @@ -343,96 +360,97 @@ A causa della quantità di codice che deve essere compilato, preparatevi ad aspe 4. Il prodotto finale di questo comando (cioè il kernel) è in attesa nel percorso: - ``` + ```bash ~/build/kernel/arch/x86/boot/bzImage ``` -5. È necessario installare i moduli perché abbiamo compilato parti del kernel come moduli (ad esempio, il modulo NTFS). Digitare quanto segue: +5. È necessario installare i moduli perché sono state compilate parti del kernel come moduli (ad esempio, il modulo NTFS). Digitare quanto segue: - ``` - > sudo make O=~/build/kernel modules_install + ```bash + sudo make O=~/build/kernel modules_install ``` - Sul nostro sistema Rocky, questo comando installerà tutti i moduli compilati del kernel nella cartella /lib/modules/ . In questo esempio, il percorso si tradurrà in /lib/modules/6.5.7-custom/. È il percorso dal quale il kernel caricherà tutti i moduli caricabili, se necessario. + Sul nostro sistema Rocky, questo comando installerà tutti i moduli del kernel compilati nella directory `/lib/modules/`. Questo percorso si tradurrà in `/lib/modules/6.5.7-custom/` in questo esempio. È il percorso dal quale il kernel caricherà tutti i moduli caricabili, se necessario. !!! TIP "Suggerimento" - L'ingombro (dimensione) dei moduli del kernel installati tramite "make modules_install" può diventare piuttosto grande perché i moduli includono simboli di debug. Di conseguenza, si potrebbe facilmente ritrovarsi con una cartella `/lib/modules/6.5.7-custom/` di dimensioni prossime ai 5 Gb! + Il footprint (dimensione) dei moduli del kernel installati tramite `make modules_install` può diventare piuttosto significativo perché i moduli includono simboli di debug. Di conseguenza, si potrebbe facilmente ritrovarsi con una cartella /lib/modules/6.5.7-custom/ di dimensioni prossime ai 5 Gb! - Per questa guida evitiamo queste dimensioni elevate includendo l'opzione INSTALL_MOD_STRIP=1 nell'invocazione di make modules_install. È possibile ridurre la dimensione totale di ordini di grandezza (ad esempio, meno di 200 MB!) eliminando questi simboli di debug. + Per questa guida evitiamo queste dimensioni elevate includendo l'opzione `INSTALL_MOD_STRIP=1` nell'invocazione di `make modules_install`. È possibile ridurre la dimensione totale di ordini di grandezza (ad esempio, meno di 200 MB) eliminando questi simboli di debug. - Questo può essere fatto includendo l'opzione `INSTALL_MOD_STRIP=1` al comando `make modules_install`. + Questo può essere fatto includendo l'opzione INSTALL_MOD_STRIP=1 al comando make modules_install. + ## Installazione del Kernel -Supponendo di avere un PC e di lavorare dalla directory `~/build/kernel/`, il kernel compilato creato nell'esercizio precedente si troverà in questo percorso - `/arch/x86/boot/bzImage` o, per essere precisi, nel nostro esempio `~/build/kernel/arch/x86/boot/bzImage`. +Supponendo di avere un PC e di lavorare dalla directory `~/build/kernel/`, il kernel compilato creato nell'ultimo esercizio si troverà in questo percorso - `/arch/x86/boot/bzImage` o, per essere precisi, nel nostro esempio `~/build/kernel/arch/x86/boot/bzImage`. -Il file di mappa corrispondente si trova in ~/build/kernel/System.map. Per la fase di installazione sono necessari entrambi i file. +Il file di mappa corrispondente si trova in `~/build/kernel/System.map`. Per la fase di installazione sono necessari entrambi i file. -Il file System.map è utile quando il kernel non si comporta correttamente e genera messaggi "Oops". Un "Oops" viene generato su alcuni errori del kernel a causa di bug del kernel o di hardware difettoso. +Il file `System.map` è utile quando il kernel si comporta male e genera messaggi "Oops". I messaggi "Oops" vengono generati su alcuni errori del kernel a causa di bug del kernel o di hardware difettoso. Questo errore è simile alla schermata blu della morte (BSOD) di Microsoft Windows. Questi messaggi includono molti dettagli sullo stato attuale del sistema, compresi diversi numeri esadecimali. -System.map dà a Linux la possibilità di trasformare i numeri esadecimali in nomi leggibili, facilitando il debug. Sebbene sia principalmente a beneficio degli sviluppatori, può essere utile quando si segnala un problema. +`System.map` consente a Linux di trasformare i numeri esadecimali in nomi leggibili, facilitando il debug. Sebbene sia principalmente a beneficio degli sviluppatori, può essere utile quando si segnala un problema. Esaminiamo i passaggi necessari per installare la nuova immagine del kernel. -1. Mentre ci si trova nella radice della directory di creazione del kernel, copiare e rinominare il file bzImage nella directory /boot: +1. Nella radice della directory di creazione del kernel, copiare e rinominare il file `bzImage` nella directory `/boot`: - ``` - > sudo cp ~/build/kernel/arch/x86/boot/bzImage \ + ```bash + sudo cp ~/build/kernel/arch/x86/boot/bzImage \ /boot/vmlinuz- ``` - Qui, kernel-version è il numero di versione del kernel. Per il kernel di esempio che stiamo usando in questa guida, il nome del file sarà vmlinuz-6.5.7-custom. Ecco il comando esatto per questo esempio: + Qui, `` è il numero di versione del kernel. Il nome del file del kernel di esempio utilizzato in questa guida è `vmlinuz-6.5.7-custom`. Ecco il comando esatto per questo esempio: - ``` - > sudo cp ~/build/kernel/arch/x86/boot/bzImage \ + ```bash + sudo cp ~/build/kernel/arch/x86/boot/bzImage \ /boot/vmlinuz-6.5.7-custom ``` - !!! Note "Nota" + !!! Note - La decisione di chiamare l'immagine del kernel vmlinuz-6.5.7-custom è in qualche modo arbitraria. È comodo, perché le immagini del kernel sono comunemente indicate come vmlinuz e il suffisso del numero di versione è utile quando si hanno a disposizione più kernel o kernel che forniscono funzionalità specifiche (per esempio vmlinuz-6.50.0-ws). + La decisione di chiamare l'immagine del kernel `vmlinuz-6.5.7-custom` è in qualche modo arbitraria. È comodo, perché le immagini del kernel sono comunemente indicate come vmlinuz e il suffisso del numero di versione è utile quando si hanno a disposizione più kernel o kernel che forniscono funzionalità specifiche (per esempio `vmlinuz-6.50.0-ws`). -2. Ora che l'immagine del kernel è pronta, copiare e rinominare il file System.map corrispondente nella directory /boot utilizzando la stessa convenzione di denominazione: +2. Ora che l'immagine del kernel è pronta, copiare e rinominare il file `System.map` corrispondente nella directory `/boot` utilizzando la stessa convenzione di denominazione: - ``` - > sudo cp -v ~/build/kernel/System.map \ + ```bash + sudo cp -v ~/build/kernel/System.map \ /boot/System.map-6.5.7-custom ``` -3. Con il kernel a posto, il file System.map a posto e i moduli a posto, siamo pronti per il passo finale. La sintassi del comando necessario è: +3. Con il kernel al suo posto, il file `System.map` al suo posto e i moduli al suo posto, siamo pronti per il passo finale. La sintassi del comando necessario è: - ``` - > kernel-install add + ```bash + kernel-install add ``` - Qui, è il numero di versione (e il nome) del kernel. E è il percorso dell'immagine del kernel appena compilata. + Qui, `` è il numero di versione (e il nome) del kernel. E `` è il percorso dell'immagine del kernel appena compilata. Nel nostro esempio, digitate: - ``` - > sudo kernel-install \ + ```bash + sudo kernel-install \ add 6.5.7-custom /boot/vmlinuz-6.5.7-custom ``` -Il comando kernel-install qui utilizzato è un piccolo script di shell. Forse non è disponibile in tutte le distribuzioni Linux, ma lo è nelle più recenti Fedora, RHEL e CentOS. Questo strumento automatizza molte delle ultime operazioni manuali che normalmente dovremmo fare per configurare il sistema per l'avvio del nuovo kernel appena creato. +Il comando `kernel-install` è uno script di shell molto utile. Potrebbe non essere disponibile in tutte le distribuzioni Linux, ma è disponibile nelle distribuzioni più recenti Fedora, RHEL e CentOS. Questo strumento automatizza molte delle ultime operazioni manuali che normalmente si dovrebbero fare per impostare il sistema per l'avvio del nuovo kernel appena creato. In particolare, lo strumento esegue le seguenti operazioni: -- Crea l'immagine iniziale del file system RAM appropriata (l'immagine initramfs, cioè la cartella /boot/initramfs-.img). Per eseguire questa operazione manualmente sui sistemi in cui kernel-install non è disponibile, utilizzare il comando mkinitramfs. -- Esegue il comando depmod (che crea un elenco di dipendenze dei moduli). +- Crea l'immagine iniziale del file system RAM appropriata (l'immagine initramfs, cioè il file `/boot/initramfs-.img`). Per farlo manualmente sui sistemi in cui `kernel-install` non è disponibile, usare il comando `mkinitramfs`. +- Esegue il comando `depmod` (che crea un elenco di dipendenze dei moduli). - Aggiorna la configurazione del boot loader. -Per i sistemi che eseguono le versioni più recenti di GRUB2, il file sarà `/boot/grub2/grub.cfg`. Per i sistemi basati su EFI /boot/efi/anche /fedora/grub.cfg viene aggiornato. +Per i sistemi che eseguono le versioni più recenti di GRUB2, il file sarà `/boot/grub2/grub.cfg`. Per i sistemi basati su EFI viene aggiornato anche `/boot/efi//fedora/grub.cfg`. -Per i sistemi che eseguono le versioni precedenti di GRUB, questo sarà il file /boot/grub/grub.conf o /boot/grub/menu.lst. Per le nuove distro che hanno implementato le nuove specifiche del caricatore di avvio (BLS), una nuova voce del caricatore di avvio verrà aggiunta alla directory /boot/loader/entries/, o a qualsiasi directory indicata dalla variabile "blsdir". +Per i sistemi che eseguono le versioni precedenti di GRUB, questo sarà il file `/boot/grub/grub.conf` o `/boot/grub/menu.lst` Per le nuove distro che hanno implementato le nuove specifiche del caricatore di avvio (BLS), una nuova voce del caricatore di avvio verrà aggiunta alla directory `/boot/loader/entries/`, o a qualsiasi directory indicata dalla variabile `blsdir`. -Sul nostro server demo Rocky basato su EFI che esegue GRUB 2 utilizzando BLS, viene creata una nuova voce di avvio nel file del boot loader che si trova qui: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf` +Sul server demo Rocky basato su EFI che esegue GRUB2 utilizzando BLS, la creazione di una nuova voce di avvio avviene nel file del boot loader situato qui: `/boot/loader/entries/6fa25ca775f64accb0d3e53f0e4e6e92-6.5.7-custom.conf` -``` -> sudo cat /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 @@ -444,29 +462,30 @@ grub_arg --unrestricted grub_class kernel ``` -!!! Note "Nota" +!!! Note - La maggior parte delle distro ha a disposizione diverse utility grub2-* che possono essere utilizzate per eseguire varie operazioni di pulizia di GRUB2 e del boot loader. Ad esempio, si può usare il comando grub2-set-default per modificare o impostare il kernel predefinito da avviare all'avvio del sistema. + La maggior parte delle distro ha a disposizione diverse utility `grub2-*` che possono essere utilizzate per eseguire varie operazioni di pulizia di GRUB2 e del boot loader. Per esempio, si può usare il comando `grub2-set-default` per cambiare o impostare il kernel predefinito all'avvio del sistema. ## Avvio del Kernel personalizzato + La fase successiva consiste nel testare il kernel per assicurarsi che il sistema possa avviarsi con esso. 1. Supponendo di aver eseguito tutto nel modo esatto prescritto dal medico e che tutto abbia funzionato esattamente come indicato dal medico, si può tranquillamente riavviare il sistema e selezionare il nuovo kernel dal menu del boot loader durante l'avvio del sistema: - ``` - > sudo reboot + ```bash + sudo reboot ``` -2. Dopo l'avvio del sistema, è possibile utilizzare il comando uname per scoprire il nome del kernel corrente: +2. Dopo l'avvio del sistema, è possibile utilizzare il comando `uname` per scoprire il nome del kernel corrente: - ``` - > uname -r + ```bash + $ uname -r 6.5.7-custom ``` 3. Si ricorderà che una delle caratteristiche aggiunte al nuovo kernel è la capacità di supportare il file system NTFS. Assicurarsi che il nuovo kernel abbia effettivamente il supporto per NTFS visualizzando le informazioni sul modulo NTFS: - ``` + ```bash [rockstar ~]$ modinfo ntfs filename: /lib/modules/6.5.7-custom/kernel/fs/ntfs/ntfs.ko license: GPL @@ -475,4 +494,4 @@ La fase successiva consiste nel testare il kernel per assicurarsi che il sistema ...OUTPUT TRUNCATED... ``` -E questo è quanto! +Non c'è altro. diff --git a/docs/guides/hardware/aqc_bridge_vlan.it.md b/docs/guides/hardware/aqc_bridge_vlan.it.md new file mode 100644 index 0000000000..782fcec355 --- /dev/null +++ b/docs/guides/hardware/aqc_bridge_vlan.it.md @@ -0,0 +1,29 @@ +--- +title: Abilitare VLAN Passthrough su Marvell AQC-series NIC +author: Neel Chauhan +contributors: Steven Spencer +tested_with: 9.6 +tags: + - hardware +--- + +## Introduzione + +L'autore utilizza una NIC (network inteface card) basata su Marvell AQC107 sul proprio server, che ha una macchina virtuale utilizzata per un firewall virtualizzato. Purtroppo, il driver stock Rocky Linux Marvell AQC esclude le VLAN dalle interfacce bridge. Questo è ciò che è successo alla macchina virtuale OPNsense dell'autore. Fortunatamente è risolvibile. + +## Prerequisiti e presupposti + +A seguire i requisiti minimi per seguire questa procedura: + +- Un server Rocky Linux con una scheda NIC Marvell serie AQC +- Utilizzo di NetworkManager per configurare la rete + +## Disabilitazione dei filtri su VLAN + +È possibile disattivare il filtraggio VLAN con un solo comando: + + nmcli con modify enp1s0 ethtool.feature-rx-vlan-filter off + +Sostituire `enp1s0` con il nome della NIC basata su AQC. + +Infine, è necessario riavviare il sistema. diff --git a/docs/guides/package_management/package_debranding.it.md b/docs/guides/package_management/package_debranding.it.md index 8c3de726ec..ba3049e6a5 100644 --- a/docs/guides/package_management/package_debranding.it.md +++ b/docs/guides/package_management/package_debranding.it.md @@ -6,16 +6,14 @@ title: Debranding dei Pacchetti Questo spiega come eseguire il debrand di un pacchetto per la distribuzione Rocky Linux. - Istruzioni Generali In primo luogo, identificare i file nel pacchetto che devono essere cambiati. Possono essere file di testo, file di immagine, o altri. È possibile identificare i file scavando in git.centos.org/rpms/PACKAGE/ Sviluppare dei sostituti per questi file, ma utilizzando invece il marchio Rocky. A seconda del contenuto da sostituire, per alcuni tipi di testo possono essere necessari file diff/patch. -I file di sostituzione si trovano in https://git.rockylinux.org/patch/PACKAGE/ROCKY/_supporting/ Il file di configurazione (che specifica come applicare le patch) in https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg - -Nota: Usa spazi, non tabulazioni. Quando srpmproc importerà il pacchetto in Rocky, si vedrà il lavoro svolto in https://git.rockylinux.org/patch/PACKAGE e applicherà le patch di debranding memorizzate leggendo i file di configurazione sotto ROCKY/CFG/*.cfg +I file di sostituzione vanno sotto . Il file di configurazione (che specifica come applicare le patch) va in [https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg.](https://git.rockylinux.org/patch/PACKAGE/ROCKY/CFG/*.cfg) +Nota: Usa spazi, non tabulazioni. Quando srpmproc importerà il pacchetto in Rocky, vedrà il lavoro svolto in e applicherà le patch di debranding memorizzate leggendo i file di configurazione sotto ROCKY/CFG/*.cfg da [pagina wiki di debranding](https://wiki.rockylinux.org/team/release_engineering/debranding/) diff --git a/docs/guides/package_management/package_dev_start.it.md b/docs/guides/package_management/package_dev_start.it.md index 6ba0f057f1..c2f082f362 100644 --- a/docs/guides/package_management/package_dev_start.it.md +++ b/docs/guides/package_management/package_dev_start.it.md @@ -89,11 +89,11 @@ Per il nostro attuale esempio di sed, i suoi sorgenti saranno memorizzati nella └── sed.spec ``` -!!! Tip "Suggerimento" +!!! Tip Una volta ottenuti i sorgenti originali, potrebbe essere un buon momento per esaminare il file SPECs (`~rocky/rpms/sed/SPECS/specs.spec`) per cercare potenziali opportunità di debranding in un dato pacchetto. Il debranding può comprendere la sostituzione di grafica/loghi a monte e così via. -!!! Tip "Suggerimento" +!!! Tip Se state cercando altri pacchetti Rocky da compilare e sperimentare, potete consultare l'elenco dei pacchetti che attualmente non funzionano nell'ambiente di compilazione automatica di Rocky [qui](https://kojidev.rockylinux.org/koji/builds?state=3&order=-build_id) diff --git a/docs/rocky_insights/blogs/good_docs.zh.md b/docs/rocky_insights/blogs/good_docs.zh.md new file mode 100644 index 0000000000..9c7e29d2c3 --- /dev/null +++ b/docs/rocky_insights/blogs/good_docs.zh.md @@ -0,0 +1,88 @@ +--- +title: 优质文档规范——译者视角 +author: Ganna Zhyrnova +contributors: Steven Spencer +--- + +## 介绍 + +译者能为撰写清晰简明的文档提供宝贵洞见。 他们比大多数人更清楚哪些内容难以准确翻译、哪些表述容易引发读者困惑。 本文剖析了此类典型问题,并聚焦优质文档创作的最佳实践指南。 + +### 来自作者 + +软件文档帮助用户理解如何高效使用特定软件。 用户需要明确了解最终能实现什么成果以及获得哪些收益。 同时,在创建文档时应当意识到,您不仅是为自己编写,更是为技术社群及其他可能阅读的人而写作。 其他人可能不是来自英语国家。 这意味着对他们来说,英语不是他们的主要语言。 因此,遵循这些基本规则,使您的文档对 _所有_ 用户都更具可读性。 + +## 使用通俗易懂的语言 + +您根本不知道您的用户是谁。 无论这个用户是否熟悉这个领域,无论他们是经验丰富的开发者还是初学者。 通俗易懂的语言是清晰、简洁且能让目标受众在初次接触时就能理解的交流方式。 应避免使用行话、技术术语和复杂的句子结构,而应该倾向于使用更简单的语言和清晰的组织方式。 其目标是确保信息对广泛的受众来说都是可获取且易于理解的,无论他们的背景或阅读水平如何。 通常,您可以通过将句子结构或命令简化到最基本的格式来做到这一点。 + +## 避免使用习语、术语、首字母缩略词和缩略形式 + +习语、术语、缩略形式和首字母缩略词可能会让不熟悉它们的读者感到困惑,尤其是非母语人士、新员工或特定领域之外的人。 + +**习语** 通常具有文化特殊性,对于国际读者来说很难理解。\ +**术语** 涉及只有某一领域的专家才能识别的专业术语。\ +**缩略形式** 在英语中用简化形式替代完整词汇,但并非所有语言都存在类似用法,导致翻译困难。\ +**首字母缩略词** 易产生歧义,尤其是在首次使用时没有定义的情况下。 + +示例: + +❌ "Once you’ve got the hang of the dashboard, the rest is a piece of cake." 在这里,作者使用了缩略形式、俚语和习语。 + +✅ "Once you have learned how to use the dashboard, the rest is easy." 通过将缩略形式、俚语和习语替换为与之相关的词语,意思就清晰了。 + +诸如习语之类的比喻性语言通常难以翻译。 技术作者或翻译人员可能很难在其他语言中传达相同的意思。 + +示例: + +❌ "Let’s touch base next week to circle back on the open tickets." + +✅ "Let us meet next week to review the unresolved support requests." + +术语和首字母缩略词若未被普遍知晓,即使在同一个组织内部也可能造成混淆。 + +示例: + +❌ "Upload the CSV to the CMS and tag it according to SOPs." + +✅ "Upload the CSV (Comma-Separated Values file) to the content management system and label it according to the standard operating procedures." + +注意:如果你想使用首字母缩略词,请务必在第一次定义它们:"Customer Relationship Management (CRM) system"。 + +通过消除习语和不必要的术语,文档的含义会变得更加清晰。 将缩略形式替换为其代表的完整词语,意味着所有语言的翻译工作都会变得更容易。 当您替换或定义首字母缩略词时,您的文档对读者来说是最易理解的。 + +## 使用主动语态 + +主动语态强调动作的执行者,明确指出谁或什么对动词所表示的动作负责。 + +示例: + +The system opens the dialog where you need to complete the form. + +请避免使用复数形式,因为它会让读者感到困惑。 + +有关主动语态的使用以及使用它的意义,请参阅 [此观点](active_voice.md) 和 [此外部来源](https://developers.google.com/tech-writing/one/active-voice)。 + +## 具体步骤 + +如果文档中有特定的步骤,请将它们分开。 + +例如: + +Step 1 - Go to the section\ +Step 2 - Click the button\ +Step 3 - Complete the form\ +...\ +Step N - save changes + +## 必要时进行截图 + +在需要的地方使用正确的截图。 这意味着您无需到处添加截图,仅在需要进一步解释的地方添加即可。 + +## 使用示例 + +如果你需要填写表格,那么请提供用户如何填写的示例。 如果有任何限制,请一并说明。 + +## 总结 + +编写好的文档,不仅要确保其技术上的准确性,还要让读者能够立刻理解。 这一点在技术文档需要翻译成其他语言时尤为重要。 在这份文档中,作者旨在强调编写优质、清晰文档的特定技巧。