[LINUX] Ich habe versucht zusammenzufassen, wie das EPEL-Repository erneut verwendet wird

1. Zuallererst

Viele Benutzer verwenden das Erweiterungspaket-Repository ** "EPEL" ** in RHEL-basierten Distributionen. Der Autor hat es auch mehrfach in früheren Artikeln vorgestellt. In der Cloud ist die Situation jedoch etwas anders. Also habe ich beschlossen, zusammenzufassen, wie man es benutzt.

1-1. TL;DR

1-2. Voraussetzungen

2. Was ist EPEL?

Das Verfahren zur Verwendung von EPEL ist einfach. Wenn Sie sofort installieren möchten ["3. EPEL-Repository aktivieren"](https://qiita.com/yamada-hakase/items/fdf9c276b9cae51b3633#3-epel%E3%83%AA%E3%83%9D % E3% 82% B8% E3% 83% 88% E3% 83% AA% E3% 82% 92% E6% 9C% 89% E5% 8A% B9% E3% 81% AB% E3% 81% 99% E3 Bitte fahren Sie mit% 82% 8B) fort. Dieser Abschnitt beschreibt den Überblick über EPEL und die Vorsichtsmaßnahmen für dessen Verwendung.

2-1. Bekanntestes Drittanbieter-Repository EPEL

EPEL (Extra Packages for Enterprise Linux) ist eine Gruppe optionaler Pakete für Red Hat Enterprise Linux (RHEL) Linux-Distributionen, die von Freiwilligen des Fedora-Projekts erstellt wurden. ** Seien Sie die erste Wahl für Paketquellen, die nicht in Linux-Medien oder Yum-Repositorys enthalten sind. ** ** **

Ein Repository, das von einer anderen Person als der ursprünglichen Vertriebsgesellschaft wie EPEL bereitgestellt wird, wird als "Repository eines Drittanbieters" bezeichnet. Neben EPEL sind auch die folgenden Repositories bekannt.

2-2. Warum benötigen Sie ein Repository eines Drittanbieters?

Der Grund ist einfach: "Die Anwendung, die Sie verwenden möchten, ist nicht im Standard-Yum-Repository enthalten" oder "Auch wenn sie enthalten ist, ist die Version alt". Dies ist ein Grund für die Vertriebsunterstützung.

Diese Probleme können mit Software Collections (SCL) bis RHEL7 und AppStream von RHEL8 verbessert werden, aber nicht alle Probleme sind gelöst.

2-2-1. Von der Quelle installieren?

Einige Leute werden aus der Quelle bauen, wenn diese Probleme auftreten. Die Installation aus dem Quellcode wird nicht verweigert, aber die Vorteile des Paketverwaltungssystems werden beeinträchtigt. Sie sollten es nur tun, wenn Sie einen guten Grund haben.

** Nachteile beim Erstellen aus der Quelle **

2-2-2. Kompatibilitätsgeschichte

In der folgenden Tabelle sind die Kernel- und Glibc-Versionen für jede RHEL-Version zusammengefasst. Innerhalb derselben Hauptversion ändert sich die Paketversion auch dann nicht, wenn das Update-Paket angewendet wird. </ font>

Verteilung kernel glibc
RHEL6 2.6.32 2.12
RHEL7 3.10.0 2.17
RHEL8 4.18.0 2.28
Amazon Linux 2 4.14 2.26

Das RPM-Paket heißt wie folgt. Für Kernkomponenten wie Kernel und Glibc ist es die nach der Version angegebene Versionsnummer, die sich ändert, wenn "yum update" ausgeführt wird. rpm-version.PNG Der Grund für das beharrliche Schreiben ist, dass Kernkomponenten wie Kernel und Glibc äußerst wichtig sind, um den Betrieb von Anwendungen sicherzustellen.

** Verwenden Sie also kein Streu-Repository, von dem Sie nicht wissen, wohin Sie gehen sollen, und zwingen Sie sich nicht, das RPM-Paket für RHEL6 auf RHEL7 zu installieren. ** </ font>

** Neben </ font> ** Es gibt eine Horrorgeschichte, die ich erlebt habe. Es passierte, als ich die Einstellungen von RHEL6 mit Unterstützung eines bestimmten Hindernisses überprüfte. Einige grundlegende Befehle funktionieren nicht. Ich fand es seltsam und als ich mit dem folgenden Befehl nach anderen Paketen als Red Hat suchte, fand ich viel.

Befehl für Vender, andere Pakete als Red Hat anzuzeigen


rpm -qa --qf "%{name} %{vendor}\n"  | grep -v "Red Hat"

Die Kernkomponenten wie glibc sind Fedora und Scientific Linux. Es ist nicht die Versionsnummer, sondern die Versionsnummer. Es scheint, dass Sie etwas installiert haben, das Sie ursprünglich nicht mit "nodeps" oder "force" installieren konnten. Wenn Sie eine solche rohe Gewalt anwenden, ist es natürlich, dass sie nicht richtig funktioniert. Es ist kein Wunder, dass es sich im Gegenteil bewegte.

3. Aktivieren Sie das EPEL-Repository

Um EPEL zu verwenden, installieren Sie das Paket "epel-release". Abhängig vom verwendeten Cloud-Dienst und der verwendeten Linux-Distribution gibt es jedoch die folgenden Hinweise. Siehe auch EPEL-Website.

  • Für RHEL7 müssen die Repositorys "optional" und "extras" aktiviert sein
  • Für RHEL8 muss das Repository "codeready-builder" aktiviert sein
  • AWS Amazon Linux 2 verfügt über einen dedizierten Befehl zum Aktivieren von EPEL
  • In Oracle Linux 7 von Oracle Cloud Infrastructure ist standardmäßig ein dediziertes EPEL-Repository aktiviert.

3-1. Aktivieren Sie EPEL (Basic).

Installieren Sie "epel-release" unter "Bei Verwendung von RHEL oder CentOS in der Cloud" oder "Lokale Umgebung". Dies ist die Basis.

** Linux-Betriebssystem der Serie 8 **

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

** Linux-Betriebssystem der 7er-Serie **

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y

** Linux-Betriebssystem der 6er-Serie **

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm -y

3-2. EPEL (AWS) aktivieren

Amazon Linux 2 verfügt über einen speziellen Befehl zum Aktivieren von EPEL. Auch in AWS verwenden RHEL und CentOS die oben beschriebene Methode.

sudo amazon-linux-extras install epel

Wenn die Installation erfolgreich ist, werden die Repositorys ** "amzn2 extra-epel" ** und ** "epel" ** hinzugefügt.

$ yum repolist enabled
repo id                    repo name                                   status
amzn2-core/2/x86_64        Amazon Linux 2 core repository                  19791
amzn2extra-docker/2/x86_64 Amazon Extras repo for docker                      28
amzn2extra-epel/2/x86_64★ Amazon Extras repo for epel                         1
epel/x86_64★              Extra Packages for Enterprise Linux 7 - x86 13141+192
repolist: 32961

Ich mache mir Sorgen, dass die Anzahl der Pakete im amzn2extra-epel-Repository 1 beträgt. Als ich es nachgeschlagen habe, enthielt es nur Epel-Release.

Wenn Sie die Definition der Repo-Datei überprüfen, bezieht sie sich auf die EPEL-Spiegelsite, und in der Cloud befindet sich keine AWS-spezifische Spiegelsite. Wenn ich das Protokoll überprüfe, wird es von der Cloudfront abgerufen.

:/etc/yum.repos.d/epel.repo


[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch ★ Spiegelseite abrufen
failovermethod=priority

3-2. Aktivieren Sie EPEL (Oracle Cloud Infrastructure).

Oracle Linux 7 von Oracle Cloud Infrastructure verfügt über ein dediziertes EPEL-Repository mit dem Namen ** "ol7_developer_EPEL" **. Daher ist keine zusätzliche Arbeit erforderlich, aber andere Betriebssysteme verwenden die oben beschriebene Methode.

Mit dem folgenden Befehl können Sie überprüfen, ob das EPEL-Repository aktiviert ist.

$ yum repolist
repo id                         repo name                                 status
ol7_UEKR5/x86_64                Latest Unbreakable Enterprise Kernel Rele   217
ol7_addons/x86_64               Oracle Linux 7Server Add ons (x86_64)       433
ol7_developer/x86_64            Oracle Linux 7Server Development Packages  1349
ol7_developer_EPEL/x86_64 ★ Dies sind Oracle Linux 7Server Development Packages 32336
ol7_ksplice                     Ksplice for Oracle Linux 7Server (x86_64)  7356
ol7_latest/x86_64               Oracle Linux 7Server Latest (x86_64)      18986
ol7_oci_included/x86_64         Oracle Software for OCI users on Oracle L   321
ol7_optional_latest/x86_64      Oracle Linux 7Server Optional Latest (x86 13984
ol7_software_collections/x86_64 Software Collection Library release 3.0 p 14564
repolist: 89546

Wenn Sie die Definition der Repo-Datei überprüfen, bezieht sie sich auf das für Oracle eindeutige EPEL, das für jede Region vorbereitet wurde.

:/etc/yum.repos.d/oracle-epel-ol7.repo


[ol7_developer_EPEL]
name=Oracle Linux $releasever Development Packages ($basearch)
baseurl=http://yum$ociregion.oracle.com/repo/OracleLinux/OL7/developer_EPEL/$basearch/

Wenn ich das von ** ol7_developer_EPEL ** installierte pwgen -Paket überprüfe, sind der Build-Host (Build-Host) und der Hersteller (Vendor) nicht " fedora ". Daher ist ersichtlich, dass das Quellpaket von EPEL erhalten und neu erstellt wird.

$ rpm -qi pwgen
Name        : pwgen
Version     : 2.08
Release     : 1.el7
★ weggelassen
Source RPM  : pwgen-2.08-1.el7.src.rpm
Build Date  : Tue Aug 14 22:24:07 2018
Build Host  : x86-ol7-builder-01.us.oracle.com ★
Relocations : (not relocatable)
Vendor      : Oracle America ★
URL         : http://sf.net/projects/pwgen
Summary     : Automatic password generation
★ Unten weggelassen

** wichtig </ font> ** EPEL und ol7_developer_EPEL sind nicht genau dieselbe Binärdatei, da sie dem Verfahren "Abrufen des Quellpakets von EPEL und Erstellen" folgen. Darüber hinaus besteht die Möglichkeit einer Zeitverzögerung wie z. B. der Version. </ font>

Wenn die Installation des Pakets in ol7_developer_EPEL aufgrund einer Abhängigkeit usw. fehlschlägt, wechseln Sie zu EPEL. </ font>

4. Weitere Beherrschung von EPEL

4-1. Aktivieren / Deaktivieren von EPEL

Bei Verwendung eines zusätzlichen Repositorys, das nicht auf EPEL beschränkt ist, gibt es zwei Methoden: "Immer aktivieren" und "Vorübergehend aktivieren". Es ist üblich, EPEL immer zu aktivieren, wenn Sie es verwenden. Wenn Sie jedoch EPEL-Pakete explizit unterscheiden möchten, können Sie sie durch "vorübergehende Aktivierung" unterscheiden.

** Immer aktivieren ** Es ist aktiviert, wenn es mit "yum repolist" angezeigt wird. Außerdem ist die Repo-Datei "enabled = 1".

** Vorübergehend aktivieren ** Diese Methode deaktiviert EPEL und aktiviert es nur bei Bedarf.

  1. Deaktivieren Sie EPEL. Wenn Sie yum ausführen, ist das EPEL-Paket nicht verfügbar.
sudo yum-config-manager --disable epel
  1. Aktivieren Sie mit der Option "--enablerepo" nur, wenn Sie Pakete in EPEL installieren / aktualisieren.
sudo yum --enablerepo=epel install <Paketname>

4-2. Fehlerbehebung

** Geplant zum Schreiben, wenn freie Kapazität vorhanden ist **

5. Zusammenfassung

  • ** Suchen Sie nach EPEL, wenn es Pakete gibt, die sich nicht im Standard-Repository befinden **
  • ** Verwenden Sie keine Streu-Repositorys. Seien Sie bereit, es zu verwenden **
  • ** Zwingen Sie sich nicht, die Abhängigkeit des RPM-Pakets zu brechen **
  • ** AWS bietet einen eigenen Befehl zum Aktivieren von EPEL **
  • ** Oracle Linux 7 von Oracle Cloud Infrastructure bietet ein eigenes EPEL-Repository **

Recommended Posts