GNU/Linux >> Linux Esercitazione >  >> Cent OS

Guida per principianti alla gestione dei flussi dei moduli del pacchetto in CentOS/RHEL 8

Introduzione ai flussi di applicazioni

CentOS/RHEL 8.0 introduce il concetto di flussi di applicazioni. Più versioni dei componenti dello spazio utente forniti con la distribuzione vengono ora fornite contemporaneamente. Possono essere aggiornati più frequentemente rispetto ai pacchetti del sistema operativo principale. Ciò ti offre una maggiore flessibilità per personalizzare Red Hat Enterprise Linux senza influire sulla stabilità sottostante della piattaforma o implementazioni specifiche.

Tradizionalmente, la gestione di versioni alternative del pacchetto software di un'applicazione e dei relativi pacchetti significava mantenere repository diversi per ogni versione diversa. Per gli sviluppatori che desideravano l'ultima versione di un'applicazione e gli amministratori che desideravano la versione più stabile dell'applicazione, ciò creava una situazione noiosa da gestire. Questo processo è semplificato in Red Hat Enterprise Linux 8 utilizzando una nuova tecnologia chiamata Modularità. La modularità consente a un singolo repository di ospitare più versioni del pacchetto di un'applicazione e delle sue dipendenze.

Il contenuto di CentOS/RHEL 8 è distribuito tramite due repository software principali:BaseOS e Application Stream (AppStream).

BaseOS

Il repository BaseOS fornisce il contenuto del sistema operativo principale per Red Hat Enterprise Linux come pacchetti RPM. I componenti BaseOS hanno un ciclo di vita identico a quello del contenuto nelle versioni precedenti di CentOS/RHEL.

Stream di applicazioni

Il repository Application Stream fornisce contenuto con cicli di vita variabili sia come moduli che come pacchetti tradizionali. Application Stream contiene le parti necessarie del sistema, nonché un'ampia gamma di applicazioni precedentemente disponibili come parte di Red Hat Software Collections e altri prodotti e programmi.

Nota :Sia BaseOS che AppStream sono una parte necessaria di un sistema CentOS/RHEL 8.

Il repository di Application Stream contiene due tipi di contenuto:moduli e pacchetti RPM tradizionali. Un modulo descrive un insieme di pacchetti RPM che appartengono insieme. I moduli possono contenere diversi flussi per rendere disponibili per l'installazione più versioni delle applicazioni. L'abilitazione di un flusso di moduli fornisce al sistema l'accesso ai pacchetti RPM all'interno di quel flusso di moduli.

Moduli

Un modulo è un insieme di pacchetti RPM che sono un insieme coerente che appartiene insieme. Tipicamente, questo è organizzato attorno a una versione specifica di un'applicazione software o di un linguaggio di programmazione. Un modulo tipico può contenere pacchetti con un'applicazione, pacchetti con le librerie di dipendenze specifiche dell'applicazione, pacchetti con la documentazione per l'applicazione e pacchetti con utilità di supporto.

Stream di moduli

Ogni modulo può avere uno o più flussi di moduli, che contengono versioni diverse del contenuto. Ciascuno dei flussi riceve gli aggiornamenti in modo indipendente. Pensa al flusso del modulo come a un repository virtuale nel repository fisico di Application Stream. Per ogni modulo, è possibile abilitare solo uno dei suoi flussi e fornire i suoi pacchetti.

Profili modulo

Ogni modulo può avere uno o più profili. Un profilo è un elenco di determinati pacchetti da installare insieme per un particolare caso d'uso come per un server, client, sviluppo, installazione minima o altro. L'installazione di un particolare profilo di modulo installa semplicemente un particolare insieme di pacchetti dal flusso di moduli. Successivamente è possibile installare o disinstallare normalmente i pacchetti. Se non specifichi un profilo, il modulo installerà il suo profilo predefinito.

Gestione dei moduli utilizzando YUM

Yum versione 4, nuova in CentOS/RHEL 8, aggiunge il supporto per le nuove funzionalità modulari di Application Stream. Per la gestione del contenuto modulare, è stato aggiunto il comando yum module. Altrimenti, yum funziona con i moduli proprio come fa con i normali pacchetti.

Moduli di elenco

Per visualizzare un elenco di moduli disponibili, utilizza yum module list:

[user@host ~]$ yum module list   
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs)  
 Name                   Stream        Profiles   Summary   
389-ds                  1.4           default    389 Directory Server (base)   
ant                     1.10 [d]      common [d] Java build tool   
container-tools         1.0 [d]       common [d] Common tools and dependencies 
for container runtimes  
...output omitted...   
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Nota :Usa il suggerimento alla fine dell'output per determinare quali stream e profili sono abilitati, disabilitati, installati e quali sono quelli predefiniti.

Per elencare i flussi di moduli per un modulo specifico e recuperarne lo stato:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8 for x86_64 - AppStream HTB (RPMs) 
Name  Stream       Profiles             Summary 
perl  5.24         common [d], minimal  Practical Extraction and Report Language 
perl  5.26 [d]     common [d], minimal  Practical Extraction and Report Language 

Per elencare i pacchetti installati dal flusso di moduli predefinito:

[user@host ~]$ yum module info perl   
Name             : perl   
Stream           : 5.26 [d][a]    
Version          : 820181219174508    
Context          : 9edba152    
Profiles         : common, minimal    
Default profiles : default    
Repo             : rhel-8-fo r-x86_64-appstream-htb-rpms    
Summary          : Practical Extraction and Report Language   
...output omitted...    
Artifacts   : perl-4:5.24.4-401.module+el8+2464+d274aed1.x86_64                
            : perl-Algorithm-Diff-0:1.1903-9.module+el8+2464+d274aed1.noarch
            : perl-Archive-Tar-0:2.30-1.module+el8+2464+d274aed1.noarch
...output omitted... 

Nota :Senza specificare un flusso di moduli, yum module info mostra i dettagli del flusso di moduli predefinito. Usa il formato module-name:stream per visualizzare uno specifico flusso di moduli. Aggiungi l'opzione –profile per visualizzare le informazioni sui pacchetti installati da ciascuno dei profili del modulo. Ad esempio:

[user@host ~]$ yum module info --profile perl:5.24

Abilitazione dei flussi di moduli e installazione dei moduli

I flussi di moduli devono essere abilitati per poter installare il loro modulo. Per semplificare questo processo, quando un modulo è installato abilita il suo flusso di moduli, se necessario. I flussi di moduli possono essere abilitati manualmente utilizzando yum module enable e fornendo il nome del flusso del modulo.

Nota :È possibile abilitare un solo flusso di moduli per un determinato modulo. L'abilitazione di un flusso di moduli aggiuntivo disabiliterà il flusso di moduli originale.

Installa un modulo utilizzando lo stream e i profili predefiniti:

[user@host ~]$ sudo yum module install -y perl 
Dependencies resolved. 
================================================================================ 
Package         Arch   Version      Repository                            Size 
================================================================================ 
Installing group/module packages: 
  perl            x86_64 4:5.26.3-416.el8
                                     rhel-8-for-x86_64-appstream-htb-rpms  72 k 
Installing dependencies: 
...output omitted... 
Running transaction  
  Preparing        :                                                        1/1  
  Installing       : perl-Exporter-5.72-396.el8.noarch                    1/155  
  Installing       : perl-Carp-1.42-396.el8.noarch                        2/155 
...output omitted... 
Installed:  
  perl-4:5.26.3-416.el8.x86_64  
  perl-Encode-Locale-1.05-9.el8.noarch 
...output omitted... 
Complete!
Nota :Gli stessi risultati si sarebbero potuti ottenere eseguendo yum install @perl. La notazione @ informa yum che l'argomento è un nome di modulo anziché un nome di pacchetto.

Per verificare lo stato del flusso del modulo e del profilo installato:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) 
Name  Stream       Profiles             Summary 
perl  5.24         common, minimal      Practical Extraction and Report Language 
perl  5.26 [d][e]  common [i], minimal  Practical Extraction and Report Language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled 

Rimozione dei moduli e disabilitazione dei flussi di moduli

La rimozione di un modulo rimuove tutti i pacchetti installati dai profili del flusso di moduli attualmente abilitato e tutti gli altri pacchetti e moduli che dipendono da questi. I pacchetti installati da questo flusso di moduli non elencati in nessuno dei suoi profili rimangono installati sul sistema e possono essere rimossi manualmente.

Nota :Rimuovere i moduli e cambiare i flussi di moduli può essere un po' complicato. Cambiare lo stream abilitato per un modulo equivale a reimpostare lo stream corrente e abilitare il nuovo stream. Non cambia automaticamente alcun pacchetto installato. Devi farlo manualmente. Non è consigliabile installare direttamente un flusso di moduli diverso da quello attualmente installato, poiché durante l'installazione potrebbero essere eseguiti script di aggiornamento che interrompono il flusso di moduli originale. Ciò potrebbe causare la perdita di dati o altri problemi di configurazione. Procedi con cautela

Per rimuovere un modulo installato:

[user@host ~]$ sudo yum module remove -y perl  
Dependencies resolved. 
=====================================================================================================   
Package                        ArchVersion            Repository                                 Size  
=====================================================================================================  
Removing:   
  perl                           x86_644:5.26.3-416.el8   @rhel-8-for-x86_64-appstream-htb-rpms   0  
Removing unused dependencies:
  ...output omitted... 
Running transaction  
  Preparing        :                                                        1/1  
  Erasing          : perl-4:5.26.3-416.el8.x86_64                         1/155  
  Erasing          : perl-CPAN-2.18-397.el8.noarch                        2/155  
...output omitted...  
Removed:  
perl-4:5.26.3-416.el8.x86_64  
dwz-0.12-9.el8.x86_64  
...output omitted... 
Complete! 

Dopo la rimozione del modulo, il flusso del modulo è ancora abilitato. Per verificare che il flusso del modulo sia ancora abilitato:

[user@host ~]$ yum module list perl 
Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) 
Name  Stream        Profiles             Summary 
perl  5.24          common [d], minimal  Practical Extraction and Report Language 
perl  5.26 [d][e]   common [d], minimal  Practical Extraction and Report Language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[user@host ~]$ sudo yum module disable perl 
 ...output omitted... 
Dependencies resolved. 
================================================================================= 
Package           Arch             Version              Repository         Size 
================================================================================= 
Disabling module streams: perl                               5.26 
Is this ok [y/N]: y 
Complete! 

Commutazione dei flussi del modulo

La commutazione dei flussi di moduli richiede generalmente l'aggiornamento o il downgrade del contenuto a una versione diversa. Per garantire uno switch pulito, è necessario rimuovere prima i moduli forniti dal flusso di moduli. Ciò rimuoverà tutti i pacchetti installati dai profili del modulo e tutti i moduli ei pacchetti da cui quei pacchetti hanno dipendenze.

Per abilitare un flusso di moduli diverso e installare il modulo:

[user@host ~]$ sudo yum module install perl:5.24

Il nuovo flusso del modulo verrà abilitato e il flusso corrente disabilitato. Potrebbe essere necessario aggiornare o effettuare il downgrade dei pacchetti dal flusso di moduli precedente che non sono elencati nel nuovo profilo. Usa la yum distro-sync per eseguire questa attività, se necessario. Potrebbero esserci anche pacchetti che rimangono installati dal flusso di moduli precedente. Rimuovi quelli che usano yum remove.


Cent OS
  1. CentOS / RHEL 7:Guida per principianti a firewalld

  2. CentOS/RHEL 7:impossibile avviare/abilitare iptables

  3. Guida per principianti al montaggio automatico dei file system in CentOS / RHEL

  4. Guida per principianti a NFS in CentOS / RHEL

  5. Come cambiare i flussi di moduli in CentOS/RHEL 8

Come installare i pacchetti sul sistema Linux RHEL 8 / CentOS 8

Come installare i pacchetti RPM su CentOS

Come installare i pacchetti RPM su CentOS 8

Come installare i pacchetti RPM in CentOS, RHEL e Fedora

Elenca tutti i pacchetti installati in RHEL e CentOS

CentOS / RHEL 7:Guida per principianti alle unità di servizio systemd