GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Leitfaden für Anfänger zum Verwalten von Paketmodul-Streams in CentOS/RHEL 8

Einführung in Application Streams

CentOS/RHEL 8.0 führt das Konzept von Application Streams ein. Mehrere Versionen der mit der Distribution gelieferten User-Space-Komponenten werden jetzt gleichzeitig ausgeliefert. Sie werden möglicherweise häufiger aktualisiert als die Kernpakete des Betriebssystems. Dadurch erhalten Sie mehr Flexibilität bei der Anpassung von Red Hat Enterprise Linux, ohne die zugrunde liegende Stabilität der Plattform oder spezifische Bereitstellungen zu beeinträchtigen.

Traditionell bedeutete die Verwaltung alternativer Versionen des Softwarepakets einer Anwendung und der zugehörigen Pakete die Verwaltung unterschiedlicher Repositories für jede unterschiedliche Version. Für Entwickler, die die neueste Version einer Anwendung haben wollten, und Administratoren, die die stabilste Version der Anwendung haben wollten, führte dies zu einer Situation, die mühsam zu verwalten war. Dieser Prozess wird in Red Hat Enterprise Linux 8 durch eine neue Technologie namens Modularität vereinfacht. Die Modularität ermöglicht es einem einzelnen Repository, mehrere Versionen eines Anwendungspakets und seiner Abhängigkeiten zu hosten.

CentOS/RHEL 8-Inhalte werden über zwei Hauptsoftware-Repositories verteilt:BaseOS und Application Stream (AppStream).

BaseOS

Das BaseOS-Repository stellt den Kerninhalt des Betriebssystems für Red Hat Enterprise Linux als RPM-Pakete bereit. BaseOS-Komponenten haben einen Lebenszyklus, der mit dem von Inhalten in früheren CentOS/RHEL-Versionen identisch ist.

Anwendungsstrom

Das Application Stream-Repository stellt Inhalte mit unterschiedlichen Lebenszyklen sowohl als Module als auch als traditionelle Pakete bereit. Application Stream enthält notwendige Teile des Systems sowie eine breite Palette von Anwendungen, die zuvor als Teil von Red Hat Software Collections und anderen Produkten und Programmen verfügbar waren.

Hinweis :Sowohl BaseOS als auch AppStream sind ein notwendiger Bestandteil eines CentOS/RHEL 8-Systems.

Das Application Stream-Repository enthält zwei Arten von Inhalten:Module und traditionelle RPM-Pakete. Ein Modul beschreibt eine Reihe von RPM-Paketen, die zusammengehören. Module können mehrere Streams enthalten, um mehrere Anwendungsversionen für die Installation verfügbar zu machen. Das Aktivieren eines Modul-Streams gibt dem System Zugriff auf die RPM-Pakete innerhalb dieses Modul-Streams.

Module

Ein Modul ist ein Satz von RPM-Paketen, die ein konsistenter Satz sind, der zusammengehört. Typischerweise ist dies um eine bestimmte Version einer Softwareanwendung oder Programmiersprache herum organisiert. Ein typisches Modul kann Pakete mit einer Anwendung, Pakete mit den spezifischen Abhängigkeitsbibliotheken der Anwendung, Pakete mit der Dokumentation für die Anwendung und Pakete mit Hilfsprogrammen enthalten.

Modul-Streams

Jedes Modul kann einen oder mehrere Modul-Streams haben, die unterschiedliche Versionen des Inhalts enthalten. Jeder der Streams erhält unabhängig voneinander Aktualisierungen. Stellen Sie sich den Modulstream als virtuelles Repository im physischen Repository von Application Stream vor. Für jedes Modul kann nur einer seiner Streams aktiviert werden und seine Pakete bereitstellen.

Modulprofile

Jedes Modul kann ein oder mehrere Profile haben. Ein Profil ist eine Liste bestimmter Pakete, die für einen bestimmten Anwendungsfall zusammen installiert werden sollen, z. B. für einen Server, Client, Entwicklung, Minimalinstallation oder anderes. Durch die Installation eines bestimmten Modulprofils wird einfach ein bestimmter Paketsatz aus dem Modulstrom installiert. Anschließend können Sie Pakete ganz normal installieren oder deinstallieren. Wenn Sie kein Profil angeben, installiert das Modul sein Standardprofil.

Verwalten von Modulen mit YUM

Yum Version 4, neu in CentOS/RHEL 8, fügt Unterstützung für die neuen modularen Funktionen von Application Stream hinzu. Zur Handhabung des modularen Inhalts wurde der Modulbefehl yum hinzugefügt. Ansonsten arbeitet yum mit Modulen ähnlich wie mit normalen Paketen.

Auflistungsmodule

Um eine Liste der verfügbaren Module anzuzeigen, verwenden Sie 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
Hinweis :Verwenden Sie den Hinweis am Ende der Ausgabe, um festzustellen, welche Streams und Profile aktiviert, deaktiviert, installiert und welche die Standardeinstellungen sind.

So listen Sie die Modul-Streams für ein bestimmtes Modul auf und rufen ihren Status ab:

[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 

So listen Sie die vom Standardmodulstrom installierten Pakete auf:

[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... 

Hinweis :Ohne Angabe eines Modulstreams zeigt yum module info Details des Standardmodulstreams an. Verwenden Sie das Modulname:Stream-Format, um einen bestimmten Modul-Stream anzuzeigen. Fügen Sie die Option –profile hinzu, um Informationen zu Paketen anzuzeigen, die von jedem Profil des Moduls installiert wurden. Zum Beispiel:

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

Modul-Streams aktivieren und Module installieren

Modul-Streams müssen aktiviert werden, um ihr Modul zu installieren. Um diesen Vorgang zu vereinfachen, aktiviert ein installiertes Modul bei Bedarf seinen Modulstream. Modul-Streams können manuell mit yum module enable aktiviert werden und Angabe des Namens des Modul-Streams.

Hinweis :Für ein bestimmtes Modul kann nur ein Modul-Stream aktiviert werden. Durch Aktivieren eines zusätzlichen Modulstreams wird der ursprüngliche Modulstream deaktiviert.

Installieren Sie ein Modul unter Verwendung des Standardstreams und der Profile:

[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!
Hinweis :Die gleichen Ergebnisse hätten durch Ausführen von yum install @perl erzielt werden können. Die @-Notation informiert yum darüber, dass das Argument ein Modulname anstelle eines Paketnamens ist.

So überprüfen Sie den Status des Modulstreams und des installierten Profils:

[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 

Entfernen von Modulen und Deaktivieren von Modul-Streams

Das Entfernen eines Moduls entfernt alle Pakete, die von Profilen des aktuell aktivierten Modul-Streams installiert wurden, sowie alle weiteren Pakete und Module, die davon abhängen. Von diesem Modulstrom installierte Pakete, die in keinem seiner Profile aufgeführt sind, bleiben auf dem System installiert und können manuell entfernt werden.

Hinweis :Das Entfernen von Modulen und das Wechseln von Modulströmen kann etwas schwierig sein. Das Umschalten des für ein Modul aktivierten Streams entspricht dem Zurücksetzen des aktuellen Streams und dem Aktivieren des neuen Streams. Installierte Pakete werden nicht automatisch geändert. Das musst du manuell machen. Die direkte Installation eines anderen Modul-Streams als des derzeit installierten wird nicht empfohlen, da während der Installation möglicherweise Upgrade-Skripts ausgeführt werden, die den ursprünglichen Modul-Stream stören würden. Dies könnte zu Datenverlust oder anderen Konfigurationsproblemen führen. Mit Vorsicht fortfahren

So entfernen Sie ein installiertes Modul:

[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! 

Nachdem das Modul entfernt wurde, ist der Modulstream weiterhin aktiviert. So überprüfen Sie, ob der Modulstream noch aktiviert ist:

[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! 

Switching-Modul-Streams

Das Wechseln von Modul-Streams erfordert im Allgemeinen ein Upgrade oder Downgrade des Inhalts auf eine andere Version. Um einen sauberen Wechsel zu gewährleisten, sollten Sie zuerst die vom Modulstream bereitgestellten Module entfernen. Dadurch werden alle Pakete entfernt, die von den Profilen des Moduls installiert wurden, sowie alle Module und Pakete, von denen diese Pakete abhängig sind.

So aktivieren Sie einen anderen Modulstream und installieren das Modul:

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

Der neue Modulstream wird aktiviert und der aktuelle Stream deaktiviert. Es kann erforderlich sein, Pakete aus dem vorherigen Modul-Stream zu aktualisieren oder herunterzustufen, die nicht im neuen Profil aufgeführt sind. Verwenden Sie die Yum-Distro-Sync, um diese Aufgabe bei Bedarf auszuführen. Es kann auch Pakete geben, die vom vorherigen Modul-Stream installiert bleiben. Entfernen Sie diese mit yum remove.


Cent OS
  1. Wie entpacke ich ein 7z-Paket in CentOS/RHEL/Fedora?

  2. CentOS / RHEL 7:Einsteigerleitfaden für Firewalld

  3. CentOS / RHEL 7:iptables können nicht gestartet/aktiviert werden

  4. CentOS / RHEL :Einsteigerleitfaden für vsftpd (Installation und Konfiguration)

  5. Anfängerleitfaden zum automatischen Mounten von Dateisystemen in CentOS / RHEL

So installieren Sie Pakete auf dem Linux-System RHEL 8 / CentOS 8

So installieren Sie RPM-Pakete auf CentOS

So installieren Sie RPM-Pakete unter CentOS 8

So installieren Sie RPM-Pakete in CentOS, RHEL und Fedora

Alle installierten Pakete in RHEL und CentOS auflisten

CentOS / RHEL 7:Leitfaden für Anfänger zu systemd-Diensteinheiten