RHEL/CentOSでPythonをISOファイルからローカルインストールする方法を紹介します。
RHELの評価版などを使っている場合、ライセンス認証しないとyumが使えないので知っておくと便利です。
通常、python3のインストールは、外部ネットワークに接続可能であれば、「yum install python3」でインストール可能です。
今回紹介するのは、外部のネットワークに接続できないクローズドなネットワーク環境でisoファイルからインストールする方法です。
クローズドな開発環境や、セキュリティが厳しいネットワーク環境などで役に立ちます。
Red Hat Enterprise Linux 7.9 (RHEL7.9)+Python3と
Red Hat Enterprise Linux 8.8 (RHEL8.8)+Python2の組み合せで説明します。
RHEL7にPython3をインストール手順
Red Hat Enterprise Linux 7.9 (RHEL7.9)にPython3をインストールします。
root権限で作業します。
(1)マウントポイントを作成
# # mkdir /tmp/mnt
(2)isoファイルをマウント
# # # mount -o loop -t iso9660 /tmp/rhel-server-7.9-x86_64-dvd.iso /tmp/mnt
(3)python3のrpmを探す
# # cd /tmp/mnt # find . -name "python3*.rpm"
(4)インストール
# # cd /tmp/mnt/Packages # rpm -Uvh python3-3.6.8-17.el7.x86_64.rpm python3-libs-3.6.8-17.el7.x86_64.rpm python3-pip-9.0.3-8.el7.noarch.rpm python3-setuptools-39.2.0-10.el7.noarch.rpm libtirpc-0.2.4-0.16.el7.x86_64.rpm
RHEL7.9の場合は以下。細かいファイル名のバージョンはisoファイルに含まれているrpmを指定してください。
python3 python3-lib python3-pip を指定します。
python3が libtirpcを必要としているのでインストールします。
RHEL7.9の場合は、libtirpc-0.2.4-0.16.el7.x86_64.rpm が必要
RHEL8にPython2をインストール手順
Red Hat Enterprise Linux 8.8 (RHEL8.8)にPython2をインストールします。
root権限で作業します。
# (1)マウントポイントを作成 # mkdir /tmp/mnt (2)isoファイルをマウント # mount -o loop -t iso9660 /tmp/rhel-8.8-x86_64-dvd.iso /tmp/mnt (3)python2のrpmを探す # cd /tmp/mnt # find . -name "python2*.rpm" (4)インストール # rpm -Uvh \ ./AppStream/Packages/python2-2.7.18-12.module+el8.8.0+17629+2cfc9d03.x86_64.rpm \ ./AppStream/Packages/python2-libs-2.7.18-12.module+el8.8.0+17629+2cfc9d03.x86_64.rpm \ ./AppStream/Packages/python2-pip-9.0.3-19.module+el8.6.0+13001+ad200bd9.noarch.rpm \ ./AppStream/Packages/python2-setuptools-39.0.1-13.module+el8.4.0+9442+27d0e81c.noarch.rpm \ ./AppStream/Packages/python2-pip-wheel-9.0.3-19.module+el8.6.0+13001+ad200bd9.noarch.rpm \ ./AppStream/Packages/python2-setuptools-wheel-39.0.1-13.module+el8.4.0+9442+27d0e81c.noarch.rpm \ ./BaseOS/Packages/libtirpc-1.1.4-8.el8.x86_64.rpm #
RHEL8.8の場合は以下。細かいファイル名のバージョンはisoファイルに含まれているrpmを指定してください。
python2 python2-lib python2-pip を指定します。
python2が libtirpcを必要としているのでインストールします。
RHEL8.8の場合は、libtirpc-1.1.4-8.el8.x86_64.rpm が必要
RHEL9にPython2はインストール不可
Red Hat Enterprise Linux 9ではPython2はサポート外となりました。
# # yum install python2 引数に一致する結果がありません: python2 エラー: 一致するものが見つかりません: python2 # yum install python27 引数に一致する結果がありません: python27 エラー: 一致するものが見つかりません: python27
ISOファイル(rhel-9.3-x86_64-dvd.iso)の中も探しましたが、python2関連のファイルはありません。
最後に
便利なyumに頼り切っているので、いざという時にハマりますね。
基本的な原理を知っていれば、ある程度は対処できます。