指定したバージョンでのyumの使い方

よくよく考えてみたらCentos8だからdnfでやるべきだった。
色々あるので仕方がないのでyumでやっている。。

以下のサイトを参考にまずやってみる

https://qiita.com/kentarosasaki/items/c3a007b78f46a0f7a267



こんな感じで指定したバージョンを探す。

```

[root@child ~]# yum --showduplicates search rsyslog-udpspoof*
メタデータの期限切れの最終確認: 0:10:03 時間前の 2024年03月06日 09時25分05秒 に実施しました。
=============================================================== 名前 一致: rsyslog-udpspoof* ================================================================
rsyslog-udpspoof-8.1911.0-7.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.1911.0-7.el8_4.2.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-10.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-11.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-13.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-15.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-3.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-5.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-6.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-7.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-8.el8.x86_64 : Provides the omudpspoof module
rsyslog-udpspoof-8.2102.0-9.el8.x86_64 : Provides the omudpspoof module
[root@child ~]#

```


https://qiita.com/yokra9/items/e8842dee2c42fc479931

次に実施してみたこと
一部パッケージをローカルリポジトリからダウンロードしてみる

```
[root@child ~]# yum update --downloadonly --downloaddir=./yumrepo  nss
メタデータの期限切れの最終確認: 0:02:45 時間前の 2024年03月11日 03時04分36秒 に実施しました。
依存関係が解決しました。
=============================================================================================================================================================
 パッケージ                                  アーキテクチャー                バージョン                             リポジトリー                       サイズ
=============================================================================================================================================================
アップグレード:
 nspr                                        x86_64                          4.35.0-1.el8                           appstream                          143 k
 nss                                         x86_64                          3.90.0-4.el8                           appstream                          752 k
 nss-softokn                                 x86_64                          3.90.0-4.el8                           appstream                          1.2 M
 nss-softokn-freebl                          x86_64                          3.90.0-4.el8                           appstream                          391 k
 nss-sysinit                                 x86_64                          3.90.0-4.el8                           appstream                           75 k
 nss-util                                    x86_64                          3.90.0-4.el8                           appstream                          140 k

トランザクションの概要
=============================================================================================================================================================
アップグレード  6 パッケージ

ダウンロードサイズの合計: 2.7 M
YUM はトランザクションでパッケージのダウンロードのみ行います。
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/6): nss-softokn-3.90.0-4.el8.x86_64.rpm                                                                                    11 MB/s | 1.2 MB     00:00
(2/6): nspr-4.35.0-1.el8.x86_64.rpm                                                                                          1.2 MB/s | 143 kB     00:00
(3/6): nss-3.90.0-4.el8.x86_64.rpm                                                                                           4.6 MB/s | 752 kB     00:00
(4/6): nss-sysinit-3.90.0-4.el8.x86_64.rpm                                                                                   969 kB/s |  75 kB     00:00
(5/6): nss-util-3.90.0-4.el8.x86_64.rpm                                                                                      1.6 MB/s | 140 kB     00:00
(6/6): nss-softokn-freebl-3.90.0-4.el8.x86_64.rpm                                                                            2.7 MB/s | 391 kB     00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                          10 MB/s | 2.7 MB     00:00
error: ./yumrepo/nspr-4.35.0-1.el8.x86_64.rpm: open failed: No such file or directory
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'yum clean packages' を実行することでキャッシュパッケージを削除できます。
Traceback (most recent call last):
  File "/usr/bin/yum", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 201, in user_main
    errcode = main(args)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 67, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 106, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 130, in cli_run
    ret = resolving(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 176, in resolving
    base.do_transaction(display=displays)
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 238, in do_transaction
    self.gpgsigcheck(install_pkgs)
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 278, in gpgsigcheck
    result, errmsg = self._sig_check_pkg(po)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 1297, in _sig_check_pkg
    sigresult = dnf.rpm.miscutils.checkSig(ts, po.localPkg())
  File "/usr/lib/python3.6/site-packages/dnf/rpm/miscutils.py", line 90, in checkSig
    raise ValueError('Unexpected return value %r from hdr.sprintf when checking signature.' % siginfo)
ValueError: Unexpected return value 'RSA/SHA256, 2023年06月22日 10時12分00秒, Key ID 05b555b38483c65d' from hdr.sprintf when checking signature.
[root@child ~]# ll
合計 4
-rw-------. 1 root root 1023 12月 30 14:17 anaconda-ks.cfg
drwxr-xr-x  2 root root  253  3月 11 03:07 yumrepo
[root@child ~]# cd yumrepo/
[root@child yumrepo]# ll
合計 2756
-rw-r--r-- 1 root root  146484  3月 11 03:07 nspr-4.35.0-1.el8.x86_64.rpm
-rw-r--r-- 1 root root  770412  3月 11 03:07 nss-3.90.0-4.el8.x86_64.rpm
-rw-r--r-- 1 root root 1274528  3月 11 03:07 nss-softokn-3.90.0-4.el8.x86_64.rpm
-rw-r--r-- 1 root root  399952  3月 11 03:07 nss-softokn-freebl-3.90.0-4.el8.x86_64.rpm
-rw-r--r-- 1 root root   76968  3月 11 03:07 nss-sysinit-3.90.0-4.el8.x86_64.rpm
-rw-r--r-- 1 root root  142880  3月 11 03:07 nss-util-3.90.0-4.el8.x86_64.rpm

```

ダウンロードは成功。ダウンロードしたファイルからrpm -Fvhで実行

1回目は失敗
雑なやり方はご法度

```
[root@child yumrepo]# rpm -Fvh nss-*
エラー: 依存性の欠如:
        nspr >= 4.35.0-1 は nss-3.90.0-4.el8.x86_64 に必要とされています
        nspr >= 4.35.0-1 は nss-softokn-3.90.0-4.el8.x86_64 に必要とされています
        nspr >= 4.35.0-1 は nss-util-3.90.0-4.el8.x86_64 に必要とされています

```

気を取り直して、すべてのパッケージをきちんと並べてみる
大成功！！


```
[root@child yumrepo]# rpm -Fvh nss-3.90.0-4.el8.x86_64.rpm nss-softokn-3.90.0-4.el8.x86_64.rpm nss-softokn-freebl-3.90.0-4.el8.x86_64.rpm nss-sysinit-3.90.0-4.el8.x86_64.rpm nss-util-3.90.0-4.el8.x86_64.rpm nspr-4.35.0-1.el8.x86_64.rpm
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:nspr-4.35.0-1.el8                ################################# [  8%]
   2:nss-util-3.90.0-4.el8            ################################# [ 17%]
   3:nss-softokn-freebl-3.90.0-4.el8  ################################# [ 25%]
   4:nss-softokn-3.90.0-4.el8         ################################# [ 33%]
   5:nss-sysinit-3.90.0-4.el8         ################################# [ 42%]
   6:nss-3.90.0-4.el8                 ################################# [ 50%]
整理中 / 削除中...
   7:nss-3.67.0-6.el8_4               ################################# [ 58%]
   8:nss-softokn-3.67.0-6.el8_4       ################################# [ 67%]
   9:nss-sysinit-3.67.0-6.el8_4       ################################# [ 75%]
  10:nss-softokn-freebl-3.67.0-6.el8_4################################# [ 83%]
  11:nss-util-3.67.0-6.el8_4          ################################# [ 92%]
  12:nspr-4.31.0-1.el8_4              ################################# [100%]

```

次にやること
・バージョンを指定してdownload→rpm適用

```
[root@child yumrepo]# yum --showduplicates search iwl100-*
メタデータの期限切れの最終確認: 0:03:52 時間前の 2024年03月11日 03時39分37秒 に実施しました。
==================================================================== 名前 一致: iwl100-* ====================================================================
iwl100-firmware-39.31.5.1-102.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-102.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-103.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-105.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-106.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-107.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-109.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-110.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-113.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-114.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-115.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-116.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-117.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-118.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
iwl100-firmware-39.31.5.1-120.el8.1.noarch : Firmware for Intel(R) Wireless WiFi Link 100 Series Adapters
[root@child yumrepo]# rpm -qa | grep iwl100*
iwl100-firmware-39.31.5.1-102.el8.1.noarch
iwl1000-firmware-39.31.5.1-102.el8.1.noarch
iwl105-firmware-18.168.6.1-102.el8.1.noarch
[root@child yumrepo]# yum update --downloadonly --downloaddir=./yumrepo iwl100-firmware-39.31.5.1-105.el8.1.noarch
メタデータの期限切れの最終確認: 0:07:43 時間前の 2024年03月11日 03時39分37秒 に実施しました。
依存関係が解決しました。
=============================================================================================================================================================
 パッケージ                               アーキテクチャー                バージョン                                   リポジトリー                    サイズ
=============================================================================================================================================================
アップグレード:
 iwl100-firmware                          noarch                          39.31.5.1-105.el8.1                          baseos                          173 k

トランザクションの概要
=============================================================================================================================================================
アップグレード  1 パッケージ

ダウンロードサイズの合計: 173 k
YUM はトランザクションでパッケージのダウンロードのみ行います。
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
iwl100-firmware-39.31.5.1-105.el8.1.noarch.rpm                                                                               1.3 MB/s | 173 kB     00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                         1.3 MB/s | 173 kB     00:00
error: ./yumrepo/iwl100-firmware-39.31.5.1-105.el8.1.noarch.rpm: open failed: No such file or directory
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'yum clean packages' を実行することでキャッシュパッケージを削除できます。
Traceback (most recent call last):
  File "/usr/bin/yum", line 58, in <module>
    main.user_main(sys.argv[1:], exit_code=True)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 201, in user_main
    errcode = main(args)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 67, in main
    return _main(base, args, cli_class, option_parser_class)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 106, in _main
    return cli_run(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 130, in cli_run
    ret = resolving(cli, base)
  File "/usr/lib/python3.6/site-packages/dnf/cli/main.py", line 176, in resolving
    base.do_transaction(display=displays)
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 238, in do_transaction
    self.gpgsigcheck(install_pkgs)
  File "/usr/lib/python3.6/site-packages/dnf/cli/cli.py", line 278, in gpgsigcheck
    result, errmsg = self._sig_check_pkg(po)
  File "/usr/lib/python3.6/site-packages/dnf/base.py", line 1297, in _sig_check_pkg
    sigresult = dnf.rpm.miscutils.checkSig(ts, po.localPkg())
  File "/usr/lib/python3.6/site-packages/dnf/rpm/miscutils.py", line 90, in checkSig
    raise ValueError('Unexpected return value %r from hdr.sprintf when checking signature.' % siginfo)
ValueError: Unexpected return value 'RSA/SHA256, 2021年12月08日 10時40分29秒, Key ID 05b555b38483c65d' from hdr.sprintf when checking signature.
[root@child yumrepo]#
````


```
[root@child yumrepo]# ll
合計 176
-rw-r--r-- 1 root root 177192  3月 11 03:47 iwl100-firmware-39.31.5.1-105.el8.1.noarch.rpm
[root@child yumrepo]# rpm -Fvh iwl100-firmware-39.31.5.1-105.el8.1.noarch.rpm
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:iwl100-firmware-39.31.5.1-105.el8################################# [ 50%]
整理中 / 削除中...
   2:iwl100-firmware-39.31.5.1-102.el8################################# [100%]
[root@child yumrepo]#
```








・createrepo版も検討