Heim  >  Artikel  >  php教程  >  YUM löst die Installationsabhängigkeiten von RPM-Paketen und stellt das Yum-Tool vor, um die lokale Quellkonfigurationsmethode im Detail zu erläutern

YUM löst die Installationsabhängigkeiten von RPM-Paketen und stellt das Yum-Tool vor, um die lokale Quellkonfigurationsmethode im Detail zu erläutern

高洛峰
高洛峰Original
2017-01-07 13:53:561682Durchsuche

1. Hintergrundübersicht

In tatsächlichen Produktionsumgebungen gibt es zwei praktische Hauptprobleme bei der Installation von RPM-Paketen auf Linux-Systemen

1) Installationsprozess von RPM-Paketen, Abhängigkeitsprobleme entstehen ständig, was dazu führt, dass je nach Eingabeaufforderung oder Abfrage von Informationen manuell weitere Pakete installiert werden müssen

2) Aufgrund der Isolierung interner und externer Netzwerke kann die Yum-Quelle des externen Netzwerks nicht verbunden werden

In Anbetracht des oben Gesagten werden in diesem Artikel das Yum-Tool und die Methode zum Konfigurieren der lokalen Yum-Quelle ausführlich vorgestellt

Einführung in das Yum-Tool

• Das yum-Tool dient zur Softwareverwaltung für RPM-Pakete. Der Server kann tägliche Verwaltungsarbeiten wie das Installieren, Aktualisieren und Löschen von RPM-Paketen durchführen und die Abhängigkeiten zwischen RPM-Paketen automatisch analysieren, wodurch die Wartungskosten von RPM-Paketen erheblich vereinfacht werden.

•Die Konfiguration des Yum-Tools wird hauptsächlich durch zwei Dateien gesteuert: /etc/yum.conf und /etc/yum.repos.d/filename.repo •Über /etc/yum. conf-Datei: Hauptsächlich verantwortlich für die globale Konfiguration [main], außerdem können Sie hier auch das Software-Repository (Repository) konfigurieren

• Über /etc/yum.repos.d/filename.repo: Hauptverantwortlich für die Konfiguration spezifischer Software-Repositorys (Wenn das Software-Warehouse oben in yum.conf konfiguriert ist, können Sie es hier auch nicht konfigurieren), und der Dateiname kann von Ihnen selbst definiert werden.

3. Detaillierte Erläuterung der Hauptparameter der Datei /etc/yum.conf

Diese Datei ist hauptsächlich für die globale Konfiguration verantwortlich Datei, im Allgemeinen sind keine Änderungen erforderlich

Das Folgende ist die Standardkonfiguration von yum.conf des Systems yum. Die spezifische Erklärung lautet wie folgt:

[root@sunny yum.repos.d]# cat /etc/yum.conf 
[main] --main定义全局属性,只能有一个 
cachedir=/var/cache/yum --定义yum缓存目录,用于储存下载存储的rpm包等
keepcache=0 --成功安装后,缓存数据是否保存。0:不保存,1:保存 
debuglevel=2 --调试级别(0-10),默认为2
logfile=/var/log/yum.log --定义yum日志目录
distroverpkg=redhat-release --通过指定针对系统发行版的rpm包,判断当前系统的版本。默认值为redhat-release
tolerant=1 --定义是否容忍命令行发生与软件包有关的错误。0:不容忍,1:容忍
exactarch=1 --定义当更新rpm包时,yum是否仅仅升级当前架构的包。 --当设置为1,不会发生i386包升级到i686
obsoletes=1
gpgcheck=1 --定义是否对rpm包进行GPG校验。0:不校验,1:校验
plugins=1 --定义是否使用插件。0:不允许,1:允许 
# Default.
# installonly_limit = 3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

Zusätzlich zu Die oben genannten Parameter sind die wichtigsten Parameter, die verwendet werden können:
exclude: Dieser Parameter wird hauptsächlich zum Blockieren von RPM-Paketen verwendet, die Sie nicht aktualisieren möchten. Sie können Platzhalter und Leerzeichen verwenden, um mehrere RPM-Pakete zu trennen.

4. Detaillierte Erläuterung der Hauptparameter der Datei /etc/yum.repos.d/filename.repo

Diese Datei ist hauptsächlich für die Konfiguration verantwortlich Das spezifische Software-Warehouse ist in /etc in der Datei /yum.conf konfiguriert. Sie können sich dafür entscheiden, es nicht zu konfigurieren.

Das Folgende ist die System-yum-Standard-Software-Warehouse-Konfigurationsdatei:

[root@sunny yum.repos.d]# cat rhel-debuginfo.repo 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/enterprise/$releasever/en/os/$basearch/Debuginfo/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Die Parameter werden wie folgt erklärt:

[rhel-debuginfo]: verwendet Um zwischen verschiedenen Repositorys zu unterscheiden, können Sie in einer Dateiname.repo ein oder mehrere Repositorys definieren.

Name: wird zur Beschreibung des Repositorys verwendet.

Baseurl: wird verwendet. Geben Sie die an Quellspeicherort zum Abrufen des RPM-Pakets, das die Protokolle http://, ftp:// und file:// unterstützt.

aktiviert: Wird verwendet, um zu definieren, ob dieses Software-Repository verfügbar ist. 0: Nicht verfügbar, 1: Verfügbar

gpgcheck: Definieren Sie, ob eine GPG-Überprüfung für RPM-Pakete durchgeführt werden soll.

gpgkey: Der Speicherort der GPG-Schlüsseldatei, die zum Definieren der Überprüfung verwendet wird.

5. Einführung in allgemeine Befehle

Die folgenden sind allgemeine Befehle für die Yum-Verwaltung

yum repolist: Verfügbare Software-Repository-Informationen anzeigen

yum list rpm package: Zeigt den Installationsstatus des rpm-Pakets an, unterstützt Platzhalter *, wenn es installiert ist, werden die verfügbaren Software-Repositorys angezeigt

yum list installiert | grep rpm package: Überprüfen Sie, ob das rpm-Paket installiert ist

yum info rpm package: Überprüfen Sie die rpm-Paketdetails

yum check-update: Überprüfen Sie verfügbare rpm-Paketaktualisierungen

yum rpm-Paket installieren: RPM-Paket installieren, unterstützt Platzhalter *

yum rpm-Paket entfernen: RPM-Paket löschen

yum saubere Pakete: RPM-Paket-Cache löschen

lecker saubere Header: RPM-Header-Datei-Cache löschen

lecker alles reinigen: RPM-Header-Datei und Paket-Cache löschen

6. Spezifisches Beispiel für die Konfiguration einer lokalen Yum-Quelle

Das in diesem Beispiel verwendete System ist Redhat 5.8 64-Bit. Der spezifische Prozess und die Anweisungen sind wie folgt:

--安装gcc-c++包,提示因为依赖关系缺少包而无法安装--若采用手工安装,在安装提示的rpm包过程中,可能还存在其他需要的依赖关系包[root@sunny Desktop]# rpm -ivh gcc-c++-4.1.2-52.el5.x86_64.rpm 
warning: gcc-c++-4.1.2-52.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
gcc = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
libstdc++-devel = 4.1.2-52.el5 is needed by gcc-c++-4.1.2-52.el5.x86_64
--下面开始通过配置本地源yum的方法从镜像光盘安装--查看文件系统,此时未挂载cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
--创建cdrom的挂载点目录--挂载点目录名随意,此处作者创建目录名为cdrom的目录作为挂载点
[root@sunny ~]# mkdir /cdrom
--挂载cdrom,并查看挂载情况
[root@sunny ~]# mount /dev/cdrom /cdrom
[root@sunny ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
16G 6.1G 8.7G 42% /
/dev/sda1 99M 13M 81M 14% /boot
tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sr0 3.9G 3.9G 0 100% /cdrom
--进入cdrom目录,确定rpm包的位置--需要注意,rpm包所在的目录绝对路径将作为后面yum的url源路径
[root@sunny Server]# pwd
/cdrom/Server
--创建filename.repo文件,此处作者定义filename.repo名为newyum.repo--需要注意,由于是baseurl以及gpgkey均是本地位置,因此采用file://协议--需要注意,file://后面是文件所在的绝对路径,因此file://后面会以/开头,因此是file:///(三个/)
[root@sunny yum.repos.d]# vi /etc/yum.repos.d/newyum.repo 
[redhatcdrom]
name=local resource 
baseurl=fill:///cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
--查询此时可用的软件仓库,显示刚刚配置的库可用
[root@sunny yum.repos.d]# yum repolist
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
repo id repo name status
redhatcdrom local resource 3,285
repolist: 3,285
--利用yum安装刚才的gcc-c++包--可以看到,安装过程中,yum处理了依赖关系,并将相应的包进行了安装
[root@sunny yum.repos.d]# yum install gcc-c++ -y
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
redhatcdrom | 1.5 kB 00:00 
redhatcdrom/primary | 920 kB 00:00 
redhatcdrom 3285/3285
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: libstdc++-devel = 4.1.2-52.el5 for package: gcc-c++
--> Processing Dependency: gcc = 4.1.2-52.el5 for package: gcc-c++
--> Running transaction check
---> Package gcc.x86_64 0:4.1.2-52.el5 set to be updated
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
---> Package libstdc++-devel.x86_64 0:4.1.2-52.el5 set to be updated
redhatcdrom/filelists | 2.8 MB 00:00 
--> Running transaction check
---> Package glibc-devel.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: glibc-headers = 2.5-81 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.5-81 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.18-308.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================
Package Arch Version Repository Size
======================================================================================
Installing:
gcc-c++ x86_64 4.1.2-52.el5 redhatcdrom 3.8 M
Installing for dependencies:
gcc x86_64 4.1.2-52.el5 redhatcdrom 5.3 M
glibc-devel x86_64 2.5-81 redhatcdrom 2.4 M
glibc-headers x86_64 2.5-81 redhatcdrom 596 k
kernel-headers x86_64 2.6.18-308.el5 redhatcdrom 1.4 M
libstdc++-devel x86_64 4.1.2-52.el5 redhatcdrom 2.8 M
Transaction Summary
======================================================================================
Install 6 Package(s)
Upgrade 0 Package(s)
Total download size: 16 M
Is this ok [y/N]: 
Exiting on user Command
Complete!
--查询安装结果,确定安装完成。
[root@sunny yum.repos.d]# yum list gcc-c*
Loaded plugins: katello, product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Installed Packages
gcc-c++.x86_64 4.1.2-52.el5 installed

Das Obige wurde vom Herausgeber bereitgestellt. Sie haben YUM eingeführt, um die Installationsabhängigkeiten des RPM-Pakets zu lösen, und das Yum-Tool hat die lokale Quellkonfigurationsmethode im Detail vorgestellt. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere YUM-Lösungen für RPM-Paketinstallationsabhängigkeiten und eine YUM-Tool-Einführung in lokale Quellkonfigurationsmethoden finden Sie auf der chinesischen PHP-Website für verwandte Artikel!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn