Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

yumで特定のパッケージを除外する方法


LinuCエヴァンジェリストの鯨井貴博@opensourcetechです。

yumで特定のパッケージを除外する方法の紹介です。

作業は、CentOS8で実施してます。

[root@centos8test ~]# cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core)
[root@centos8test ~]# uname -a
Linux centos8test 5.7.10 #2 SMP Thu Jul 23 23:00:48 JST 2020 x86_64 x86_64 x86_64 GNU/Linux



まず、特に除外なしでyum updateしてみます。
インストール 8 パッケージ
アップグレード 53 パッケージ とありますね。

[root@centos8test ~]# yum update
メタデータの期限切れの最終確認: 0:00:53 時間前の 2020年08月19日 16時54分38秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ              Arch   バージョン                      Repo      サイズ
================================================================================
インストール中:
 kernel                  x86_64 4.18.0-193.14.2.el8_2           BaseOS    2.8 M
 kernel-core             x86_64 4.18.0-193.14.2.el8_2           BaseOS     28 M
 kernel-devel            x86_64 4.18.0-193.14.2.el8_2           BaseOS     15 M
 kernel-modules          x86_64 4.18.0-193.14.2.el8_2           BaseOS     23 M
アップグレード中:
 NetworkManager          x86_64 1:1.22.8-5.el8_2                BaseOS    2.3 M
 NetworkManager-libnm    x86_64 1:1.22.8-5.el8_2                BaseOS    1.7 M
 NetworkManager-team     x86_64 1:1.22.8-5.el8_2                BaseOS    136 k
 NetworkManager-tui      x86_64 1:1.22.8-5.el8_2                BaseOS    306 k
 bind-export-libs        x86_64 32:9.11.13-5.el8_2              BaseOS    1.1 M
 ca-certificates         noarch 2020.2.41-80.0.el8_2            BaseOS    391 k
 coreutils               x86_64 8.30-7.el8_2.1                  BaseOS    1.2 M
 coreutils-common        x86_64 8.30-7.el8_2.1                  BaseOS    2.0 M
 dbus                    x86_64 1:1.12.8-10.el8_2               BaseOS     41 k
 dbus-common             noarch 1:1.12.8-10.el8_2               BaseOS     45 k
 dbus-daemon             x86_64 1:1.12.8-10.el8_2               BaseOS    239 k
 dbus-libs               x86_64 1:1.12.8-10.el8_2               BaseOS    183 k
 dbus-tools              x86_64 1:1.12.8-10.el8_2               BaseOS     85 k
 dnf                     noarch 4.2.17-7.el8_2                  BaseOS    469 k
 dnf-data                noarch 4.2.17-7.el8_2                  BaseOS    145 k
 gnutls                  x86_64 3.6.8-11.el8_2                  BaseOS    915 k
 grub2-common            noarch 1:2.02-87.el8_2                 BaseOS    882 k
 grub2-pc                x86_64 1:2.02-87.el8_2                 BaseOS     37 k
 grub2-pc-modules        noarch 1:2.02-87.el8_2                 BaseOS    863 k
 grub2-tools             x86_64 1:2.02-87.el8_2                 BaseOS    2.0 M
 grub2-tools-extra       x86_64 1:2.02-87.el8_2                 BaseOS    1.1 M
 grub2-tools-minimal     x86_64 1:2.02-87.el8_2                 BaseOS    202 k
 initscripts             x86_64 10.00.6-1.el8_2.1               BaseOS    338 k
 iptables                x86_64 1.8.4-10.el8_2.1                BaseOS    581 k
 iptables-ebtables       x86_64 1.8.4-10.el8_2.1                BaseOS     70 k
 iptables-libs           x86_64 1.8.4-10.el8_2.1                BaseOS    105 k
 jbig2dec-libs           x86_64 0.14-4.el8_2                    AppStream  67 k
 kernel-headers          x86_64 4.18.0-193.14.2.el8_2           BaseOS    4.0 M
 kernel-tools            x86_64 4.18.0-193.14.2.el8_2           BaseOS    3.0 M
 kernel-tools-libs       x86_64 4.18.0-193.14.2.el8_2           BaseOS    2.8 M
 libdnf                  x86_64 0.39.1-6.el8_2                  BaseOS    620 k
 libnghttp2              x86_64 1.33.0-3.el8_2.1                BaseOS     77 k
 microcode_ctl           x86_64 4:20191115-4.20200609.1.el8_2   BaseOS    2.7 M
 nspr                    x86_64 4.25.0-2.el8_2                  AppStream 142 k
 nss                     x86_64 3.53.1-11.el8_2                 AppStream 721 k
 nss-softokn             x86_64 3.53.1-11.el8_2                 AppStream 484 k
 nss-softokn-freebl      x86_64 3.53.1-11.el8_2                 AppStream 289 k
 nss-sysinit             x86_64 3.53.1-11.el8_2                 AppStream  71 k
 nss-tools               x86_64 3.53.1-11.el8_2                 AppStream 559 k
 nss-util                x86_64 3.53.1-11.el8_2                 AppStream 135 k
 python3-dnf             noarch 4.2.17-7.el8_2                  BaseOS    521 k
 python3-hawkey          x86_64 0.39.1-6.el8_2                  BaseOS     99 k
 python3-libdnf          x86_64 0.39.1-6.el8_2                  BaseOS    689 k
 python3-perf            x86_64 4.18.0-193.14.2.el8_2           BaseOS    2.9 M
 python3-syspurpose      x86_64 1.26.17-1.el8_2                 BaseOS    286 k
 selinux-policy          noarch 3.14.3-41.el8_2.5               BaseOS    614 k
 selinux-policy-targeted noarch 3.14.3-41.el8_2.5               BaseOS     15 M
 systemd                 x86_64 239-31.el8_2.2                  BaseOS    3.5 M
 systemd-libs            x86_64 239-31.el8_2.2                  BaseOS    1.1 M
 systemd-pam             x86_64 239-31.el8_2.2                  BaseOS    451 k
 systemd-udev            x86_64 239-31.el8_2.2                  BaseOS    1.3 M
 tzdata                  noarch 2020a-1.el8                     BaseOS    469 k
 yum                     noarch 4.2.17-7.el8_2                  BaseOS    191 k
依存関係のインストール中:
 grub2-tools-efi         x86_64 1:2.02-87.el8_2                 BaseOS    467 k
 libevent                x86_64 2.1.8-5.el8                     BaseOS    253 k
 unbound-libs            x86_64 1.7.3-11.el8_2                  AppStream 499 k
弱い依存関係のインストール中:
 python3-unbound         x86_64 1.7.3-11.el8_2                  AppStream 118 k

トランザクションの概要
================================================================================
インストール     8 パッケージ
アップグレード  53 パッケージ

ダウンロードサイズの合計: 130 M
これでよろしいですか? [y/N]: n



では、tzdataを除外してみます。
--excludeオプションでパッケージを指定します。
選択されるパッケージが減ってますね。

[root@centos8test ~]# yum update --exclude=tzdata
メタデータの期限切れの最終確認: 0:12:52 時間前の 2020年08月19日 17時25分30秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ            Arch    バージョン                      Repo       サイズ
================================================================================
インストール中:
 kernel                x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.8 M
 kernel-core           x86_64  4.18.0-193.14.2.el8_2           BaseOS      28 M
 kernel-devel          x86_64  4.18.0-193.14.2.el8_2           BaseOS      15 M
 kernel-modules        x86_64  4.18.0-193.14.2.el8_2           BaseOS      23 M
アップグレード中:
 NetworkManager        x86_64  1:1.22.8-5.el8_2                BaseOS     2.3 M
 NetworkManager-libnm  x86_64  1:1.22.8-5.el8_2                BaseOS     1.7 M
 NetworkManager-team   x86_64  1:1.22.8-5.el8_2                BaseOS     136 k
 NetworkManager-tui    x86_64  1:1.22.8-5.el8_2                BaseOS     306 k
 bind-export-libs      x86_64  32:9.11.13-5.el8_2              BaseOS     1.1 M
 ca-certificates       noarch  2020.2.41-80.0.el8_2            BaseOS     391 k
 coreutils             x86_64  8.30-7.el8_2.1                  BaseOS     1.2 M
 coreutils-common      x86_64  8.30-7.el8_2.1                  BaseOS     2.0 M
 dbus                  x86_64  1:1.12.8-10.el8_2               BaseOS      41 k
 dbus-common           noarch  1:1.12.8-10.el8_2               BaseOS      45 k
 dbus-daemon           x86_64  1:1.12.8-10.el8_2               BaseOS     239 k
 dbus-libs             x86_64  1:1.12.8-10.el8_2               BaseOS     183 k
 dbus-tools            x86_64  1:1.12.8-10.el8_2               BaseOS      85 k
 dnf                   noarch  4.2.17-7.el8_2                  BaseOS     469 k
 dnf-data              noarch  4.2.17-7.el8_2                  BaseOS     145 k
 gnutls                x86_64  3.6.8-11.el8_2                  BaseOS     915 k
 grub2-common          noarch  1:2.02-87.el8_2                 BaseOS     882 k
 grub2-pc              x86_64  1:2.02-87.el8_2                 BaseOS      37 k
 grub2-pc-modules      noarch  1:2.02-87.el8_2                 BaseOS     863 k
 grub2-tools           x86_64  1:2.02-87.el8_2                 BaseOS     2.0 M
 grub2-tools-extra     x86_64  1:2.02-87.el8_2                 BaseOS     1.1 M
 grub2-tools-minimal   x86_64  1:2.02-87.el8_2                 BaseOS     202 k
 initscripts           x86_64  10.00.6-1.el8_2.1               BaseOS     338 k
 iptables              x86_64  1.8.4-10.el8_2.1                BaseOS     581 k
 iptables-ebtables     x86_64  1.8.4-10.el8_2.1                BaseOS      70 k
 iptables-libs         x86_64  1.8.4-10.el8_2.1                BaseOS     105 k
 jbig2dec-libs         x86_64  0.14-4.el8_2                    AppStream   67 k
 kernel-headers        x86_64  4.18.0-193.14.2.el8_2           BaseOS     4.0 M
 kernel-tools          x86_64  4.18.0-193.14.2.el8_2           BaseOS     3.0 M
 kernel-tools-libs     x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.8 M
 libdnf                x86_64  0.39.1-6.el8_2                  BaseOS     620 k
 libnghttp2            x86_64  1.33.0-3.el8_2.1                BaseOS      77 k
 microcode_ctl         x86_64  4:20191115-4.20200609.1.el8_2   BaseOS     2.7 M
 nspr                  x86_64  4.25.0-2.el8_2                  AppStream  142 k
 nss                   x86_64  3.53.1-11.el8_2                 AppStream  721 k
 nss-softokn           x86_64  3.53.1-11.el8_2                 AppStream  484 k
 nss-softokn-freebl    x86_64  3.53.1-11.el8_2                 AppStream  289 k
 nss-sysinit           x86_64  3.53.1-11.el8_2                 AppStream   71 k
 nss-tools             x86_64  3.53.1-11.el8_2                 AppStream  559 k
 nss-util              x86_64  3.53.1-11.el8_2                 AppStream  135 k
 python3-dnf           noarch  4.2.17-7.el8_2                  BaseOS     521 k
 python3-hawkey        x86_64  0.39.1-6.el8_2                  BaseOS      99 k
 python3-libdnf        x86_64  0.39.1-6.el8_2                  BaseOS     689 k
 python3-perf          x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.9 M
 python3-syspurpose    x86_64  1.26.17-1.el8_2                 BaseOS     286 k
 yum                   noarch  4.2.17-7.el8_2                  BaseOS     191 k
依存関係のインストール中:
 grub2-tools-efi       x86_64  1:2.02-87.el8_2                 BaseOS     467 k
 libevent              x86_64  2.1.8-5.el8                     BaseOS     253 k
 unbound-libs          x86_64  1.7.3-11.el8_2                  AppStream  499 k
弱い依存関係のインストール中:
 python3-unbound       x86_64  1.7.3-11.el8_2                  AppStream  118 k

トランザクションの概要
================================================================================
インストール     8 パッケージ
アップグレード  46 パッケージ

ダウンロードサイズの合計: 108 M
これでよろしいですか? [y/N]: n
操作が中断されました。


複数パッケージを指定する場合は、,(カンマ)を付けます。
また、--exclude='selinux'とすることで、ワイルドカードも利用できます。

続いて、設定ファイルで除外を行う方法。
/etc/yum.repos.d/配下のレポジトリ設定で、excludeを使用します。
exclude=selinux
systemd(スペースで区切り) や exclude=selinux,systemd*(カンマで区切り)とすることで除外が可能です。  

[root@centos8test ~]# cat /etc/centos-release
CentOS Linux release 8.2.2004 (Core)
[root@centos8test ~]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[BaseOS]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
exclude=selinux* systemd*



該当パッケージが、除外されています。

[root@centos8test ~]# yum update
メタデータの期限切れの最終確認: 0:28:07 時間前の 2020年08月19日 17時25分30秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ            Arch    バージョン                      Repo       サイズ
================================================================================
インストール中:
 kernel                x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.8 M
 kernel-core           x86_64  4.18.0-193.14.2.el8_2           BaseOS      28 M
 kernel-devel          x86_64  4.18.0-193.14.2.el8_2           BaseOS      15 M
 kernel-modules        x86_64  4.18.0-193.14.2.el8_2           BaseOS      23 M
アップグレード中:
 NetworkManager        x86_64  1:1.22.8-5.el8_2                BaseOS     2.3 M
 NetworkManager-libnm  x86_64  1:1.22.8-5.el8_2                BaseOS     1.7 M
 NetworkManager-team   x86_64  1:1.22.8-5.el8_2                BaseOS     136 k
 NetworkManager-tui    x86_64  1:1.22.8-5.el8_2                BaseOS     306 k
 bind-export-libs      x86_64  32:9.11.13-5.el8_2              BaseOS     1.1 M
 ca-certificates       noarch  2020.2.41-80.0.el8_2            BaseOS     391 k
 coreutils             x86_64  8.30-7.el8_2.1                  BaseOS     1.2 M
 coreutils-common      x86_64  8.30-7.el8_2.1                  BaseOS     2.0 M
 dbus                  x86_64  1:1.12.8-10.el8_2               BaseOS      41 k
 dbus-common           noarch  1:1.12.8-10.el8_2               BaseOS      45 k
 dbus-daemon           x86_64  1:1.12.8-10.el8_2               BaseOS     239 k
 dbus-libs             x86_64  1:1.12.8-10.el8_2               BaseOS     183 k
 dbus-tools            x86_64  1:1.12.8-10.el8_2               BaseOS      85 k
 dnf                   noarch  4.2.17-7.el8_2                  BaseOS     469 k
 dnf-data              noarch  4.2.17-7.el8_2                  BaseOS     145 k
 gnutls                x86_64  3.6.8-11.el8_2                  BaseOS     915 k
 grub2-common          noarch  1:2.02-87.el8_2                 BaseOS     882 k
 grub2-pc              x86_64  1:2.02-87.el8_2                 BaseOS      37 k
 grub2-pc-modules      noarch  1:2.02-87.el8_2                 BaseOS     863 k
 grub2-tools           x86_64  1:2.02-87.el8_2                 BaseOS     2.0 M
 grub2-tools-extra     x86_64  1:2.02-87.el8_2                 BaseOS     1.1 M
 grub2-tools-minimal   x86_64  1:2.02-87.el8_2                 BaseOS     202 k
 initscripts           x86_64  10.00.6-1.el8_2.1               BaseOS     338 k
 iptables              x86_64  1.8.4-10.el8_2.1                BaseOS     581 k
 iptables-ebtables     x86_64  1.8.4-10.el8_2.1                BaseOS      70 k
 iptables-libs         x86_64  1.8.4-10.el8_2.1                BaseOS     105 k
 jbig2dec-libs         x86_64  0.14-4.el8_2                    AppStream   67 k
 kernel-headers        x86_64  4.18.0-193.14.2.el8_2           BaseOS     4.0 M
 kernel-tools          x86_64  4.18.0-193.14.2.el8_2           BaseOS     3.0 M
 kernel-tools-libs     x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.8 M
 libdnf                x86_64  0.39.1-6.el8_2                  BaseOS     620 k
 libnghttp2            x86_64  1.33.0-3.el8_2.1                BaseOS      77 k
 microcode_ctl         x86_64  4:20191115-4.20200609.1.el8_2   BaseOS     2.7 M
 nspr                  x86_64  4.25.0-2.el8_2                  AppStream  142 k
 nss                   x86_64  3.53.1-11.el8_2                 AppStream  721 k
 nss-softokn           x86_64  3.53.1-11.el8_2                 AppStream  484 k
 nss-softokn-freebl    x86_64  3.53.1-11.el8_2                 AppStream  289 k
 nss-sysinit           x86_64  3.53.1-11.el8_2                 AppStream   71 k
 nss-tools             x86_64  3.53.1-11.el8_2                 AppStream  559 k
 nss-util              x86_64  3.53.1-11.el8_2                 AppStream  135 k
 python3-dnf           noarch  4.2.17-7.el8_2                  BaseOS     521 k
 python3-hawkey        x86_64  0.39.1-6.el8_2                  BaseOS      99 k
 python3-libdnf        x86_64  0.39.1-6.el8_2                  BaseOS     689 k
 python3-perf          x86_64  4.18.0-193.14.2.el8_2           BaseOS     2.9 M
 python3-syspurpose    x86_64  1.26.17-1.el8_2                 BaseOS     286 k
 tzdata                noarch  2020a-1.el8                     BaseOS     469 k
 yum                   noarch  4.2.17-7.el8_2                  BaseOS     191 k
依存関係のインストール中:
 grub2-tools-efi       x86_64  1:2.02-87.el8_2                 BaseOS     467 k
 libevent              x86_64  2.1.8-5.el8                     BaseOS     253 k
 unbound-libs          x86_64  1.7.3-11.el8_2                  AppStream  499 k
弱い依存関係のインストール中:
 python3-unbound       x86_64  1.7.3-11.el8_2                  AppStream  118 k

トランザクションの概要
================================================================================
インストール     8 パッケージ
アップグレード  47 パッケージ

ダウンロードサイズの合計: 108 M
これでよろしいですか? [y/N]: n
操作が中断されました。

Opensourcetech by Takahiro Kujirai