So schließen Sie bestimmte Pakete von Yum Update aus

In diesem Artikel zeigen wir Ihnen, wie Sie mit dem Yum-Paket-Manager bestimmte Pakete von der Aktualisierung ausschließen. In regelmäßigen Abständen möchten Sie möglicherweise Ihr CentOS- oder RHEL-System aktualisieren, aber bestimmte Pakete auslassen, insbesondere wenn die Updates wahrscheinlich bestimmte wichtige Anwendungen im System stören.

Siehe auch : So schließen Sie ein bestimmtes Paket vom apt-get Upgrade aus

Bestimmte Pakete von der Aktualisierung ausschließen

Wir beginnen mit der Überprüfung, welche Pakete für ein Upgrade fällig sind, indem wir den Yum-Paketmanager auf Centos 7 verwenden, wie unten gezeigt.

yum list updates | cat -n

Beispielausgabe

 1 Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
 2 Updated Packages
 3 bind-libs-lite.x86_64 32:9.9.4-51.el7_4.2 rhui-REGION-rhel-server-releases
 4 bind-license.noarch 32:9.9.4-51.el7_4.2 rhui-REGION-rhel-server-releases
 5 binutils.x86_64 2.25.1-32.base.el7_4.2 rhui-REGION-rhel-server-releases
 6 cloud-init.x86_64 0.7.9-9.el7_4.2 rhui-REGION-rhel-server-releases
 7 dhclient.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 8 dhcp-common.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 9 dhcp-libs.x86_64 12:4.2.5-58.el7_4.1 rhui-REGION-rhel-server-releases
 10 glibc.x86_64 2.17-196.el7_4.2 rhui-REGION-rhel-server-releases
 11 glibc-common.x86_64 2.17-196.el7_4.2 rhui-REGION-rhel-server-releases
 12 initscripts.x86_64 9.49.39-1.el7_4.1 rhui-REGION-rhel-server-releases
 13 iwl7265-firmware.noarch 22.0.7.0-58.el7_4 rhui-REGION-rhel-server-releases
 14 kernel.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases
 15 kernel-tools.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases
 16 kernel-tools-libs.x86_64 3.10.0-693.17.1.el7 rhui-REGION-rhel-server-releases

Um ein bestimmtes Paket von der Aktualisierung auszuschließen, wäre die Syntax wie folgt:

yum --exclude=packagename* update

Für example, Wenn Sie das Paket glibc ausschließen möchten, das auf unserer Liste an 10. Stelle steht, führen Sie

# yum --exclude=glibc* update

Beispielausgabe

Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package bind-libs-lite.x86_64 32:9.9.4-51.el7_4.1 will be updated
---> Package bind-libs-lite.x86_64 32:9.9.4-51.el7_4.2 will be an update
---> Package bind-license.noarch 32:9.9.4-51.el7_4.1 will be updated
---> Package bind-license.noarch 32:9.9.4-51.el7_4.2 will be an update
---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.1 will be updated
---> Package binutils.x86_64 0:2.25.1-32.base.el7_4.2 will be an update
---> Package cloud-init.x86_64 0:0.7.9-9.el7_4.1 will be updated
---> Package cloud-init.x86_64 0:0.7.9-9.el7_4.2 will be an update
---> Package dhclient.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhclient.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package dhcp-common.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhcp-common.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package dhcp-libs.x86_64 12:4.2.5-58.el7 will be updated
---> Package dhcp-libs.x86_64 12:4.2.5-58.el7_4.1 will be an update
---> Package initscripts.x86_64 0:9.49.39-1.el7 will be updated
---> Package initscripts.x86_64 0:9.49.39-1.el7_4.1 will be an update

Wie Sie vielleicht bemerkt haben, steht das Paket glibc nicht auf unserer Liste, da wir es in unserem Befehl ausgeschlossen haben.

So schließen Sie eine Liste von ausgeführten Paketen aus

# yum --exclude=glibc* --exclude=cloud-init* update

Alternativ können Sie den folgenden Befehl verwenden, um denselben Zweck zu erreichen.

yum -x 'packagename*' update

Um mehr als ein Paket mit demselben Befehl auszuschließen, führen Sie den folgenden Befehl aus

yum -x 'packageName1*' -x 'packageName2*' update

Deaktivieren Sie dauerhaft die Aktualisierung bestimmter Pakete in Yum

Um bestimmte Pakete daran zu hindern, Updates zu erhalten, öffnen Sie die folgende Konfigurationsdatei mit einem Texteditor Ihrer Wahl

/etc/yum.conf

Fügen Sie am Ende der Konfigurationsdatei Folgendes an

exclude=samba httpd mariadb php

Das Obige schließt Samba-, httpd-, MariaDB- und PHP-Pakete von der Aktualisierung aus.

Um 32-Bit-Pakete auszuschließen

ausschließen=*.i?86 *.i686

Wenn Sie nun versuchen, jedes der einzelnen Pakete zu aktualisieren, erhalten Sie die Meldung “Keine Pakete zum Update markiert”.

Beispielausgabe

[root@ip-172-31-16-136 ec2-user]# yum update httpd
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
rhui-REGION-client-config-server-7                                                                                                               | 2.9 kB  00:00:00
rhui-REGION-rhel-server-releases                                                                                                                 | 3.5 kB  00:00:00
rhui-REGION-rhel-server-rh-common                                                                                                                | 3.8 kB  00:00:00
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update samba
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update mariadb
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update
[root@ip-172-31-16-136 ec2-user]# yum update php
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No packages marked for update

Ein Repository von der Aktualisierung ausschließen

Zunächst möchten Sie vielleicht einen Blick auf die verfügbaren Repositorys in Ihrem System werfen. Um dies zu erreichen, führen Sie den folgenden Befehl aus

yum repolist

Ausgabe

repo id                                       repo name                                                                          status
Webmin                                        Webmin Distribution Neutral                                                           111
base/7/x86_64                                 CentOS-7 - Base                                                                     9,591
epel/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64                                     12,382
extras/7/x86_64                               CentOS-7 - Extras                                                                     392
filebeat/x86_64                               Filebeat for ELK clients                                                               44
google-chrome                                 google-chrome                                                                           3
ius/x86_64                                    IUS Community Packages for Enterprise Linux 7 - x86_64                                468
kibana-5.x                                    Kibana repository for 5.x packages                                                    338
logstash-5.x                                  Elastic repository for 5.x packages                                                   338
nux-dextop/x86_64                             Nux.Ro RPMs for general desktop use                                                 2,575
updates/7/x86_64                              CentOS-7 - Updates                                                                  1,962
repolist: 28,204

Um die Aktualisierung eines Repositorys zu deaktivieren, verwenden wir die Option ‘–disablerepo=reponame’ neben dem Befehl yum update.

yum --disablerepo=reponame update

Alternativ kann der Befehl ‘update’ der Option ‘disablerepo=reponame’ vorangestellt werden, wie gezeigt

yum update -disablerepo=reponame

In obigem example, Wenn ich die Aktualisierung von Kibana-5.x deaktivieren möchte, führe ich aus

yum --disablerepo=kibana-5.x update

Um mehrere Repositorys in einer Zeile auszuschließen, trennen Sie die Repositorys mit einem Komma, wie unten gezeigt

yum update--disablerepo=kibana-5.x,logstash-5.x

Dies bewirkt, dass der Rest der Repos aktualisiert wird, aber kibana-5.x . weggelassen wird

Ausschließen eines Repositorys von der Aktualisierung mit aktivierten Parametern

Anstatt die Aktualisierung des Repositorys im Befehl yum update zu deaktivieren, können Sie den Parameter ‘enabled’ in der Repository-Konfigurationsdatei auf 0 setzen.
Die Repository-Konfigurationsdatei befindet sich in /etc/yum.repos.d wie gezeigt

[root@epicenter ~]# ls -l /etc/yum.repos.d/
total 84
-rw-r--r--. 1 root root 1664 Aug 30  2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Aug 30  2017 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Aug 30  2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 Aug 30  2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Aug 30  2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Aug 30  2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 Aug 30  2017 CentOS-Vault.repo
-rw-r--r--  1 root root  390 Jan 28 20:05 decathorpe-elementary-stable-fedora-25.repo
-rw-r--r--  1 root root  391 Jan 28 21:03 decathorpe-elementary-stable.repo
-rw-r--r--  1 root root  951 Oct  2 20:44 epel.repo
-rw-r--r--  1 root root 1050 Oct  2 20:44 epel-testing.repo
-rw-r--r--. 1 root root  178 Oct  4 13:01 filebeat.repo
-rw-r--r--  1 root root  173 Jan 10 12:54 google-chrome.repo
-rw-r--r--  1 root root 1150 Feb 23  2017 ius-archive.repo
-rw-r--r--  1 root root 1131 Feb 23  2017 ius-dev.repo
-rw-r--r--  1 root root 1073 Feb 23  2017 ius.repo
-rw-r--r--  1 root root 1150 Feb 23  2017 ius-testing.repo
-rw-r--r--. 1 root root  212 Oct  3 12:05 kibana.repo
-rw-r--r--. 1 root root  216 Oct  3 14:01 logstash.repo
-rw-r--r--  1 root root  477 Jul 31  2014 nux-dextop.repo
-rw-r--r--. 1 root root  163 Oct  3 11:23 webmin.repo

Um das Kibana-5.x-Repository auszuschließen, öffnen Sie die Konfigurationsdatei mit einem Texteditor und setzen Sie die Option ‘enabled’ wie unten gezeigt auf 0.

vim /etc/yum.repos.d/kibana.repo

Wenn Sie yum repolist ausführen, wird das Repository nicht wie gezeigt in den Ergebnissen angezeigt

repo id                                       repo name                                                                          status
Webmin                                        Webmin Distribution Neutral                                                           111
base/7/x86_64                                 CentOS-7 - Base                                                                     9,591
epel/x86_64                                   Extra Packages for Enterprise Linux 7 - x86_64                                     12,382
extras/7/x86_64                               CentOS-7 - Extras                                                                     392
filebeat/x86_64                               Filebeat for ELK clients                                                               44
google-chrome                                 google-chrome                                                                           3
ius/x86_64                                    IUS Community Packages for Enterprise Linux 7 - x86_64                                468
logstash-5.x                                  Elastic repository for 5.x packages                                                   338
nux-dextop/x86_64                             Nux.Ro RPMs for general desktop use                                                 2,575
updates/7/x86_64                              CentOS-7 - Updates                                                                  1,962
repolist: 27,866

Dies bedeutet, dass Pakete aus dem Kibana-Repository nicht aktualisiert werden, wenn der Befehl yum update ausgeführt wird.

Vielen Dank, dass Sie sich die Zeit für dieses Tutorial genommen haben. Wir hoffen, dass wir das Problem gelöst haben, wie Sie bestimmte Pakete in Yum deaktivieren können. Probieren Sie es aus und senden Sie uns Ihr Feedback.