インターネットの使えない環境下で RHEL(RedHat Enterprise Linux) 9.0 をインストールして、サブスクリプションを登録するまでの方法を調べてみました。
通常 RHEL 9.x を DVD や ISO からインストールする場合、サブスクリプションの登録がインストーラーの一部に組み込まれていて、(インターネット経由で)サブスクリプションを登録しないとインストールできないようになっています。つまり通常のインストールだとインターネット接続が必須です:
(SOFTWARE 欄の "Connect to Red Hat" と書かれた部分に注目。ここで RedHat ポータルにログインし、サブスクリプションを登録しないとインストーラーは先に進めなくなっています)
しかし特殊なケースで、インターネット接続が全くない(Proxy の設定によって接続できる、とかではなく、そもそもインターネット接続回線そのものが存在していないような)環境下で RHEL をインストールしたいケースもあるはずです。その場合の手順を紹介します。なお以下で紹介するスクリーンショットでは RHEL 9.0 を使っていますが、9.x であれば手順は同様のはずです。
【RHEL 9.x のオフラインインストール手順】
おおまかなオフラインインストール手順を紹介します:
(手順1)インターネット接続環境を使った事前準備
(手順2)RHEL 9.x のオフラインインストール
(手順3)オフライン環境下でのサブスクリプション登録
通常のインストールだとインストール中に RedHat カスタマーポータルの RHSM(RedHat Subscription Management) にアクセスしてサブスクリプションを登録することで、その場でシステムプロファイルを作成&登録します。一方、インターネットにアクセスできない環境での登録を考慮したケースでは事前に(手動で)システムプロファイルを作成して、その証明書ファイルをダウンロードしておきます。そしてオフライン環境で RHEL をインストールし、ダウンロードした証明書ファイルをインポートすることでサブスクリプション登録を行う、という手順を実行します。ある意味で実行順序が異なるだけで、RedHat のアカウントが必要になる点などは変わりありません。
なお(手順1)のみ、RHEL インストール先マシンとは別のインターネットの使える環境で実施する必要があります。手元の PC などインターネットの使える PC を使って実施してください。
【(手順1)インターネット接続環境を使った事前準備】
インターネットの使える環境下で RHSM のシステムページにアクセスします(ログインしていない場合はログインします)。
以下のような画面が表示されます(ログインしたアカウントで既に RHEL のサブスクリプションを利用している場合は利用中のサブスクリプションの一覧が表示されます)。今回は新しいサブスクリプションのプロファイルを作成したいので「新規作成」ボタンをクリックします:
このサブスクリプションを登録するシステムの種類(物理システム/仮想システム、名前、アーキテクチャ、CPU 数、RHEL バージョン)を入力して、「作成」ボタンをクリックします(ここでは "air-gapped-vm" という名前で作成しています):
先ほどの画面に戻ると、直前に新規作成したシステム("air-gapped-vm")が一覧に含まれて表示されます。この名前部分をクリックします:
作成したシステムの詳細画面に移動します。「サブスクリプション」タブを選択すると、このシステムをどのサブスクリプション(有償/無償/トライアル/・・)に紐づけて利用するかの画面が表示されます。このシステムはまだ作成したばかりでどのサブスクリプションにも紐づいて(アタッチされて)いないはずです。紐づけを作成するので「サブスクリプションをアタッチ」ボタンをクリックします:
自分のアカウントで利用可能なサブスクリプションの一覧が表示されるので、ここから利用するサブスクリプションを選択します。私は個人開発者向けに 15 システムまで無料で利用できる "RedHat Developer Subscription for Individuals" に登録しているので、このサブスクリプションを使うことにしています(というわけで下図では "RedHat Developer Subscription for Individuals" にチェックを入れています)。選択後に「サブスクリプションのアタッチ」ボタンをクリックします:
「サブスクリプション」タブが選択された状態の画面に戻ります。先ほどとは異なり、サブスクリプションがアタッチされているのでアタッチ済みのサブスクリプションが表示されています。 この内容を確認後に「証明書のダウンロード」ボタンをクリックします:
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_certificates.zip"("x" は英数文字)という名前の zip ファイルが手元の PC にダウンロードされるので、このファイルを展開します。すると "consumer_export.zip" という名前の zip ファイルが含まれているので、これを取り出します:
取り出した "consumer_export.zip" ファイルを再度展開すると、"entitlement_certificates" というフォルダが見つかるはずなので、このフォルダの中を参照します:
"entitlement_certificates" フォルダ内に拡張子が ".pem" のファイルが1つ見つかります。このファイルが後ほどオフラインで登録することになるシステムプロファイルの証明書ファイルです。このファイルを取り出しておきます:
後でオフライン状態の RHEL (をインストール前のシステム)で使えるよう、取り出した .pem ファイルを USB メモリにコピーしておきます。
地味に重要だと思っているのですが、ここで利用する USB メモリは「SD カードや micro SD カードを USB のカードリーダーに接続したもの」ではなく、純粋な USB メモリスティックを使うことを推奨します。理由は後からこの USB メモリを指定してシステムにマウントする作業を行うのですが、その際 USB メモリスティックだと名前でなんとなく見つけやすいのに対して、カードリーダーに接続されている場合は(もしかしたら認識すらされていない可能性もあるのに)名前ではわからないので、適当に指定してファイルシステムを破壊してしまう可能性もあるため、これを避けるためです。初めから容量のわかっている USB メモリスティックだと、その容量が名前の一部に含まれていたりする(後述の例だと "Memory Key 4GB" みたいな感じ)ので見つけやすいのでした。
ここまではインターネットの使える環境で行う、いわば「準備」作業です。ここから先はインターネットのない環境で実施します。
【(手順2)RHEL 9.x のオフラインインストール】
インターネット接続の無いマシンに RHEL 9.x の DVD(ISO) メディアをセットして起動&インストールします。以下、画像は RHEL 9.0 のメディアを使った時のものです。
最初はこんな画面になります。(デフォルトは "Test this media & install Red Hat Enterprise Linux 9.0" ですが)"Install Red Hat Enterprise Linux 9.x" を選択して Enter を押します(メディアテストする場合は放っておいても構いませんが、飛ばした方が早いです):
メディアからのブートが始まります:
こんな感じの画面になると「あと少し」です。もう少し待ちます:
画面が GUI になり、インストールウィザードが起動します。最初はインストールで使用する言語を選択します(ここでは English - English(United States) を選択したものとして説明を続けます。以下のスクショも英語画面のものです):
次にこのようなインストール要件を設定する画面になります。赤い文字が表示されている箇所は必須設定が未定になっていることを意味しており、全て指定しないとインストールまで進めません。 大事な点として、SOFTWARE のすぐ下にある "Connect to RedHat" 部分があります。インターネット接続が可能な環境であると判断されると、ここも赤文字になって RedHat のサブスクリプション登録を行うことになりますが、インターネット接続のない環境の場合はここをスルーできるようになります(スルーする場合は後でサブスクリプション登録が必要です)。 私の環境の場合、とりあえずキーボードを日本語キーボード配列にしたい(デフォルトは英語キーボード配列)ので Keyboard をクリックします:
キーボード配列設定画面に移動します。初期状態は "English(US)" しか登録されていないので、下の "+" をクリックして追加します:
追加するキーボード配列を選択します。ここでは "Japanese" を指定して "Add" ボタンを押します:
"Japanese" が追加されましたが、このままだとデフォルト設定は "English(US)" のままです。そこで "Japanese" を選択した状態で、"^" のボタンを押して、"Japanese" を一番上まで移動させます:
"Japanese" が一番上になったことでデフォルト設定になりました。これでキーボード配列の作業を完了するので左上の "Done" ボタンをクリックします:
元の画面に戻りました。キーボード配列は "Japanese, English(US)" になっています。 次に必須設定項目である root パスワードを指定します。"Root Password" と書かれた部分をクリックします:
root ユーザーのパスワードを、確認のため2度入力します。このシステムの root ユーザーに SSH からのパスワードログインを許可する場合は "Allow root SSH login with password" にチェックを入れます(入れない場合、SSH で直接 root パスワードによるログインはできなくなります)。終わったら左上の "Done" をクリックして元の画面に戻ります:
インストール先を指定する "Installation Destination" も必須指定項目です。ここをクリックします:
インストール先となるディスクを指定します。また "Storage Configuration" 項目はデフォルトの "Automatic" のままでも構いませんが、(ディスクサイズにもよりますが、"Automatic" だと "/home" がまあまあ大きめに作られてしまうので)自分でパーティションを設定したい場合は "Custom" を選びます。"Automatic" で "Done" をクリックすると元の画面に戻ります。"Custom" の場合は具体的なパーティショニングの画面に移動します:
"Custom" を選択した場合の次画面がこちらです。カスタマイズ指定方法はいくつかありますが、"Click here to create them automatically" をクリックしていったん "Automatic" と同じデフォルト設定にします:
デフォルトのパーティショニング設定が表示されます。この内容で問題なければこのまま "Done" でもいいのですが、「"/home" に3分の1程度作られるのが嫌で全部 "/" で管理したい」ということもあると思います。そんな場合は "/home" を選択した状態で "ー" をクリックして、"/home" を開放します:
パーティショニングから "/home" が消えました。同時に使われていた 30GB ちょっと(画面から確認できるサイズは "31.8GiB")の領域が余りました。これを "/" に加えたいと思います。"/" を選択します:
"Desired Capacity" 欄を余っている 31.8 GB を足した数に変更します。下の例ではもともと 65.14GB だった容量に余った 31.8 GB を加えて 96.64 (GiB) に変更しました:
これで確定する場合は画面を下にスクロールすると現れる "Update Settings" ボタンをクリックします:
画面上でも "/" の領域が 96.94 GiB に切り替わりました。他に必要な変更があればこの作業を繰り返します。変更が完了したら左上の "Done" をクリックします:
変更があった場合、「本当に変更を書き込むよ」という確認画面が表示されます。"Accept Changes" ボタンをクリックします:
これで "Installation Destination" の設定も完了しました。この時点で未設定な必須設定項目がなくなったので右下の "Begin Installation" ボタンが有効になっています。このままクリックしてもいいのですが、最後にインストール内容を指定する "Software Selection" を見ておきましょう:
デフォルトで "Server with GUI" が選択されています。つまりこのままインストールすると GUI 画面付きの RHEL 9.x がインストールされることになります。GUI が余分であれば "Minimal Install" に変更してもいいと思います。また画面右側で関連するソフトを個別追加できるようにもなっているので、自分の求める内容に変更してください。最後に "Done" をクリックします:
今回はこの内容でインストールしてみます。画面右下の "Begin Installation" ボタンをクリックします:
インストールが開始されます。ここからはしばらく待つだけになります:
無事にインストールが完了すると "Complate!" と表示されます。画面右下の "Reboot System" ボタンで再起動します:
インストールされたディスクから再起動が実行されます:
この例では "Server with GUI" でインストールしたので、起動画面は途中から GUI モードに切り替わります(画像だとわかりにくいですが、白いサークルがクルクル回っています):
GUI 画面の場合、初回起動時のみ以下のようなセットアップ画面が表示されます。"Start Setup" をクリックしてセットアップを行います:
まずは位置情報を提供するかどうかのプライバシー設定です。オフラインインストールの場合は、要件的にチェックを付けることはないのではないかと思います。ともあれ設定後に "Next" ボタンをクリック:
一般ユーザーの登録を行います。まずは名前とユーザー名を指定して "Next":
次の画面で先ほど入力した一般ユーザーのパスワードを設定します。設定後に "Next":
これで初期セットアップは完了です。最後に "Start Using Redhat Enterprise Linux" ボタンをクリックしてセットアップ画面を閉じます:
RHEL の概要説明ツアーアプリが起動しますが、不要であれば "No Thanks" で飛ばせます:
無事にインストールできました。インターネット接続がないので "System Not Registered" と表示されていますが、インストール作業そのものはこれで完了しています:
最後に簡単な使い方を説明しておきます。画面左上の "Activities" をクリックすると以下のような画面になり、使いたいアプリを検索したり、下のドックからアプリを起動できるようになります。試しにドックの右から2番目、ターミナルっぽいアイコンをクリックしてみます:
ターミナルが起動しました。こんな感じで GUI からアプリを起動することができます:
この後の作業で使うことになるので "sudo -i" して root に切り替えておきます:
【(手順3)オフライン環境下でのサブスクリプション登録】
このターミナルを使って【手順1】で取り出した証明書ファイルをインポートします。証明書ファイルをコピーした USB スティックを対象のマシンに差し込みます。そして、
というコマンドを実行します。コマンドの実行結果にはこのシステムがこの時点で認識しているディスクデバイスの一覧が表示されます。ここで先ほど差し込んだ USB スティックが認識されているデバイス名を見付けます。
下図の例だと、
のように表示されています。今回使っている USB メモリは容量が 4GB のもので、"Memory Key 4GB" という名前と、認識されている容量(3.84 GiB)からなんとなくこれ(/dev/sdb)が合致してそうだ、と判断できました(実際にどう表示されるかは USB メモリによって異なります)。そして更にその下の表示から、実際のパーティション名が "/dev/sdb1" であることがわかります。このパーティションをマウントすれば証明書ファイルが取り出せそうです:
といったことが確認できたので、インストール途中のこのシステムに /usb というフォルダを作ってマウントして取り出します。以下のコマンドを実行します("/dev/sdb1" の部分は実際に認識されているパーティション名に置き換えて実行してください):
これで USB メモリの内容はこのシステムの /usb フォルダ以下からアクセスできるようになりました。以下のコマンドで実際に証明書ファイル(.pem ファイル)が存在していることを確認します:
直接アクセスしてインポートしてもいいと思いますが、念のため一時フォルダにコピーしてからインポートすることにします。証明書ファイルを /tmp 以下にコピーします:
これでこの後の作業には USB メモリスティックは不要なので、ファイルシステムからアンマウントして取り外しておきます:
ここまでできれば上述の RedHat カスタマーポータルで紹介されていた subscription-manager コマンドを使った登録ができるようになります。というわけで以下を実行して、証明書をシステムにインポートします(/tmp 以下にコピーした .pem ファイル名を正確に入力してください):
実行後に "Successfully imported certification" と表示されていれば成功です。念のため次のコマンドを実行して実際にインポートされた内容を確認することもできます(実行結果はかなり長いです。下図はその下の方の一部だけです):
これでオフラインインストールした RHEL システムへのサブスクリプションのインポートまでができました。
(おまけ?)
手順の中でサブスクリプションは登録したんだけど、でもまだこの "System Not Registered" エラーがでるんだよな。。
その回避策はこれらしい。でも RedHat は推奨しない、とのこと:
https://access.redhat.com/ja/solutions/7013937
通常 RHEL 9.x を DVD や ISO からインストールする場合、サブスクリプションの登録がインストーラーの一部に組み込まれていて、(インターネット経由で)サブスクリプションを登録しないとインストールできないようになっています。つまり通常のインストールだとインターネット接続が必須です:
(SOFTWARE 欄の "Connect to Red Hat" と書かれた部分に注目。ここで RedHat ポータルにログインし、サブスクリプションを登録しないとインストーラーは先に進めなくなっています)
しかし特殊なケースで、インターネット接続が全くない(Proxy の設定によって接続できる、とかではなく、そもそもインターネット接続回線そのものが存在していないような)環境下で RHEL をインストールしたいケースもあるはずです。その場合の手順を紹介します。なお以下で紹介するスクリーンショットでは RHEL 9.0 を使っていますが、9.x であれば手順は同様のはずです。
【RHEL 9.x のオフラインインストール手順】
おおまかなオフラインインストール手順を紹介します:
(手順1)インターネット接続環境を使った事前準備
(手順2)RHEL 9.x のオフラインインストール
(手順3)オフライン環境下でのサブスクリプション登録
通常のインストールだとインストール中に RedHat カスタマーポータルの RHSM(RedHat Subscription Management) にアクセスしてサブスクリプションを登録することで、その場でシステムプロファイルを作成&登録します。一方、インターネットにアクセスできない環境での登録を考慮したケースでは事前に(手動で)システムプロファイルを作成して、その証明書ファイルをダウンロードしておきます。そしてオフライン環境で RHEL をインストールし、ダウンロードした証明書ファイルをインポートすることでサブスクリプション登録を行う、という手順を実行します。ある意味で実行順序が異なるだけで、RedHat のアカウントが必要になる点などは変わりありません。
なお(手順1)のみ、RHEL インストール先マシンとは別のインターネットの使える環境で実施する必要があります。手元の PC などインターネットの使える PC を使って実施してください。
【(手順1)インターネット接続環境を使った事前準備】
インターネットの使える環境下で RHSM のシステムページにアクセスします(ログインしていない場合はログインします)。
以下のような画面が表示されます(ログインしたアカウントで既に RHEL のサブスクリプションを利用している場合は利用中のサブスクリプションの一覧が表示されます)。今回は新しいサブスクリプションのプロファイルを作成したいので「新規作成」ボタンをクリックします:
このサブスクリプションを登録するシステムの種類(物理システム/仮想システム、名前、アーキテクチャ、CPU 数、RHEL バージョン)を入力して、「作成」ボタンをクリックします(ここでは "air-gapped-vm" という名前で作成しています):
先ほどの画面に戻ると、直前に新規作成したシステム("air-gapped-vm")が一覧に含まれて表示されます。この名前部分をクリックします:
作成したシステムの詳細画面に移動します。「サブスクリプション」タブを選択すると、このシステムをどのサブスクリプション(有償/無償/トライアル/・・)に紐づけて利用するかの画面が表示されます。このシステムはまだ作成したばかりでどのサブスクリプションにも紐づいて(アタッチされて)いないはずです。紐づけを作成するので「サブスクリプションをアタッチ」ボタンをクリックします:
自分のアカウントで利用可能なサブスクリプションの一覧が表示されるので、ここから利用するサブスクリプションを選択します。私は個人開発者向けに 15 システムまで無料で利用できる "RedHat Developer Subscription for Individuals" に登録しているので、このサブスクリプションを使うことにしています(というわけで下図では "RedHat Developer Subscription for Individuals" にチェックを入れています)。選択後に「サブスクリプションのアタッチ」ボタンをクリックします:
「サブスクリプション」タブが選択された状態の画面に戻ります。先ほどとは異なり、サブスクリプションがアタッチされているのでアタッチ済みのサブスクリプションが表示されています。 この内容を確認後に「証明書のダウンロード」ボタンをクリックします:
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_certificates.zip"("x" は英数文字)という名前の zip ファイルが手元の PC にダウンロードされるので、このファイルを展開します。すると "consumer_export.zip" という名前の zip ファイルが含まれているので、これを取り出します:
取り出した "consumer_export.zip" ファイルを再度展開すると、"entitlement_certificates" というフォルダが見つかるはずなので、このフォルダの中を参照します:
"entitlement_certificates" フォルダ内に拡張子が ".pem" のファイルが1つ見つかります。このファイルが後ほどオフラインで登録することになるシステムプロファイルの証明書ファイルです。このファイルを取り出しておきます:
後でオフライン状態の RHEL (をインストール前のシステム)で使えるよう、取り出した .pem ファイルを USB メモリにコピーしておきます。
地味に重要だと思っているのですが、ここで利用する USB メモリは「SD カードや micro SD カードを USB のカードリーダーに接続したもの」ではなく、純粋な USB メモリスティックを使うことを推奨します。理由は後からこの USB メモリを指定してシステムにマウントする作業を行うのですが、その際 USB メモリスティックだと名前でなんとなく見つけやすいのに対して、カードリーダーに接続されている場合は(もしかしたら認識すらされていない可能性もあるのに)名前ではわからないので、適当に指定してファイルシステムを破壊してしまう可能性もあるため、これを避けるためです。初めから容量のわかっている USB メモリスティックだと、その容量が名前の一部に含まれていたりする(後述の例だと "Memory Key 4GB" みたいな感じ)ので見つけやすいのでした。
ここまではインターネットの使える環境で行う、いわば「準備」作業です。ここから先はインターネットのない環境で実施します。
【(手順2)RHEL 9.x のオフラインインストール】
インターネット接続の無いマシンに RHEL 9.x の DVD(ISO) メディアをセットして起動&インストールします。以下、画像は RHEL 9.0 のメディアを使った時のものです。
最初はこんな画面になります。(デフォルトは "Test this media & install Red Hat Enterprise Linux 9.0" ですが)"Install Red Hat Enterprise Linux 9.x" を選択して Enter を押します(メディアテストする場合は放っておいても構いませんが、飛ばした方が早いです):
メディアからのブートが始まります:
こんな感じの画面になると「あと少し」です。もう少し待ちます:
画面が GUI になり、インストールウィザードが起動します。最初はインストールで使用する言語を選択します(ここでは English - English(United States) を選択したものとして説明を続けます。以下のスクショも英語画面のものです):
次にこのようなインストール要件を設定する画面になります。赤い文字が表示されている箇所は必須設定が未定になっていることを意味しており、全て指定しないとインストールまで進めません。 大事な点として、SOFTWARE のすぐ下にある "Connect to RedHat" 部分があります。インターネット接続が可能な環境であると判断されると、ここも赤文字になって RedHat のサブスクリプション登録を行うことになりますが、インターネット接続のない環境の場合はここをスルーできるようになります(スルーする場合は後でサブスクリプション登録が必要です)。 私の環境の場合、とりあえずキーボードを日本語キーボード配列にしたい(デフォルトは英語キーボード配列)ので Keyboard をクリックします:
キーボード配列設定画面に移動します。初期状態は "English(US)" しか登録されていないので、下の "+" をクリックして追加します:
追加するキーボード配列を選択します。ここでは "Japanese" を指定して "Add" ボタンを押します:
"Japanese" が追加されましたが、このままだとデフォルト設定は "English(US)" のままです。そこで "Japanese" を選択した状態で、"^" のボタンを押して、"Japanese" を一番上まで移動させます:
"Japanese" が一番上になったことでデフォルト設定になりました。これでキーボード配列の作業を完了するので左上の "Done" ボタンをクリックします:
元の画面に戻りました。キーボード配列は "Japanese, English(US)" になっています。 次に必須設定項目である root パスワードを指定します。"Root Password" と書かれた部分をクリックします:
root ユーザーのパスワードを、確認のため2度入力します。このシステムの root ユーザーに SSH からのパスワードログインを許可する場合は "Allow root SSH login with password" にチェックを入れます(入れない場合、SSH で直接 root パスワードによるログインはできなくなります)。終わったら左上の "Done" をクリックして元の画面に戻ります:
インストール先を指定する "Installation Destination" も必須指定項目です。ここをクリックします:
インストール先となるディスクを指定します。また "Storage Configuration" 項目はデフォルトの "Automatic" のままでも構いませんが、(ディスクサイズにもよりますが、"Automatic" だと "/home" がまあまあ大きめに作られてしまうので)自分でパーティションを設定したい場合は "Custom" を選びます。"Automatic" で "Done" をクリックすると元の画面に戻ります。"Custom" の場合は具体的なパーティショニングの画面に移動します:
"Custom" を選択した場合の次画面がこちらです。カスタマイズ指定方法はいくつかありますが、"Click here to create them automatically" をクリックしていったん "Automatic" と同じデフォルト設定にします:
デフォルトのパーティショニング設定が表示されます。この内容で問題なければこのまま "Done" でもいいのですが、「"/home" に3分の1程度作られるのが嫌で全部 "/" で管理したい」ということもあると思います。そんな場合は "/home" を選択した状態で "ー" をクリックして、"/home" を開放します:
パーティショニングから "/home" が消えました。同時に使われていた 30GB ちょっと(画面から確認できるサイズは "31.8GiB")の領域が余りました。これを "/" に加えたいと思います。"/" を選択します:
"Desired Capacity" 欄を余っている 31.8 GB を足した数に変更します。下の例ではもともと 65.14GB だった容量に余った 31.8 GB を加えて 96.64 (GiB) に変更しました:
これで確定する場合は画面を下にスクロールすると現れる "Update Settings" ボタンをクリックします:
画面上でも "/" の領域が 96.94 GiB に切り替わりました。他に必要な変更があればこの作業を繰り返します。変更が完了したら左上の "Done" をクリックします:
変更があった場合、「本当に変更を書き込むよ」という確認画面が表示されます。"Accept Changes" ボタンをクリックします:
これで "Installation Destination" の設定も完了しました。この時点で未設定な必須設定項目がなくなったので右下の "Begin Installation" ボタンが有効になっています。このままクリックしてもいいのですが、最後にインストール内容を指定する "Software Selection" を見ておきましょう:
デフォルトで "Server with GUI" が選択されています。つまりこのままインストールすると GUI 画面付きの RHEL 9.x がインストールされることになります。GUI が余分であれば "Minimal Install" に変更してもいいと思います。また画面右側で関連するソフトを個別追加できるようにもなっているので、自分の求める内容に変更してください。最後に "Done" をクリックします:
今回はこの内容でインストールしてみます。画面右下の "Begin Installation" ボタンをクリックします:
インストールが開始されます。ここからはしばらく待つだけになります:
無事にインストールが完了すると "Complate!" と表示されます。画面右下の "Reboot System" ボタンで再起動します:
インストールされたディスクから再起動が実行されます:
この例では "Server with GUI" でインストールしたので、起動画面は途中から GUI モードに切り替わります(画像だとわかりにくいですが、白いサークルがクルクル回っています):
GUI 画面の場合、初回起動時のみ以下のようなセットアップ画面が表示されます。"Start Setup" をクリックしてセットアップを行います:
まずは位置情報を提供するかどうかのプライバシー設定です。オフラインインストールの場合は、要件的にチェックを付けることはないのではないかと思います。ともあれ設定後に "Next" ボタンをクリック:
一般ユーザーの登録を行います。まずは名前とユーザー名を指定して "Next":
次の画面で先ほど入力した一般ユーザーのパスワードを設定します。設定後に "Next":
これで初期セットアップは完了です。最後に "Start Using Redhat Enterprise Linux" ボタンをクリックしてセットアップ画面を閉じます:
RHEL の概要説明ツアーアプリが起動しますが、不要であれば "No Thanks" で飛ばせます:
無事にインストールできました。インターネット接続がないので "System Not Registered" と表示されていますが、インストール作業そのものはこれで完了しています:
最後に簡単な使い方を説明しておきます。画面左上の "Activities" をクリックすると以下のような画面になり、使いたいアプリを検索したり、下のドックからアプリを起動できるようになります。試しにドックの右から2番目、ターミナルっぽいアイコンをクリックしてみます:
ターミナルが起動しました。こんな感じで GUI からアプリを起動することができます:
この後の作業で使うことになるので "sudo -i" して root に切り替えておきます:
【(手順3)オフライン環境下でのサブスクリプション登録】
このターミナルを使って【手順1】で取り出した証明書ファイルをインポートします。証明書ファイルをコピーした USB スティックを対象のマシンに差し込みます。そして、
# fdisk -l
というコマンドを実行します。コマンドの実行結果にはこのシステムがこの時点で認識しているディスクデバイスの一覧が表示されます。ここで先ほど差し込んだ USB スティックが認識されているデバイス名を見付けます。
下図の例だと、
:
:
Disk /dev/sdb: 3.84 GiB, 4127194624 bytes, 8060927 sectors
Disk model: Memory Key 4GB
:
:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 63 8060926 8060064 3.8G b W95 FAT32
のように表示されています。今回使っている USB メモリは容量が 4GB のもので、"Memory Key 4GB" という名前と、認識されている容量(3.84 GiB)からなんとなくこれ(/dev/sdb)が合致してそうだ、と判断できました(実際にどう表示されるかは USB メモリによって異なります)。そして更にその下の表示から、実際のパーティション名が "/dev/sdb1" であることがわかります。このパーティションをマウントすれば証明書ファイルが取り出せそうです:
といったことが確認できたので、インストール途中のこのシステムに /usb というフォルダを作ってマウントして取り出します。以下のコマンドを実行します("/dev/sdb1" の部分は実際に認識されているパーティション名に置き換えて実行してください):
# mkdir /usb
# mount /dev/sdb1 /usb
# df -h (/dev/sdb1 が /usb にマウントされたことを確認)
これで USB メモリの内容はこのシステムの /usb フォルダ以下からアクセスできるようになりました。以下のコマンドで実際に証明書ファイル(.pem ファイル)が存在していることを確認します:
# ls -la /usb/*.pem
直接アクセスしてインポートしてもいいと思いますが、念のため一時フォルダにコピーしてからインポートすることにします。証明書ファイルを /tmp 以下にコピーします:
# cp /usb/*.pem /tmp
# ls -la /tmp/*.pem (/tmp 以下に証明書ファイルがコピーされたことを確認)
これでこの後の作業には USB メモリスティックは不要なので、ファイルシステムからアンマウントして取り外しておきます:
# umount /dev/sdb1
# df -h (/dev/sdb1 が /usb からアンマウントされたことを確認)
ここまでできれば上述の RedHat カスタマーポータルで紹介されていた subscription-manager コマンドを使った登録ができるようになります。というわけで以下を実行して、証明書をシステムにインポートします(/tmp 以下にコピーした .pem ファイル名を正確に入力してください):
# subscription-manager import --certificate=/tmp/8966514065945099419.pem
実行後に "Successfully imported certification" と表示されていれば成功です。念のため次のコマンドを実行して実際にインポートされた内容を確認することもできます(実行結果はかなり長いです。下図はその下の方の一部だけです):
# subscription-manager list --consumed
これでオフラインインストールした RHEL システムへのサブスクリプションのインポートまでができました。
(おまけ?)
手順の中でサブスクリプションは登録したんだけど、でもまだこの "System Not Registered" エラーがでるんだよな。。
その回避策はこれらしい。でも RedHat は推奨しない、とのこと:
https://access.redhat.com/ja/solutions/7013937