2019年11月13日水曜日

グループポリシーを使ってドメインに所属するコンピュータにGoogle Chromeをインストールする2つの方法

以前はブラウザといえば、Internet Explorerが主流となっていたが、近年ではGoogle ChromeやFirefoxがメジャーとなってきており、新しいPCを導入した際にまずやることとして、ブラウザをダウンロードしてインストールする作業が発生することも多い。このインストール作業も1台であれば苦にならないが、何十台とPCが増えた場合は一苦労となる。

ドメインに所属するコンピュータであれば、グループポリシーで自動インストールさせることが可能となる。今回、Google Chromeを自動でインストール (配布)する方法を検証してみた。1つはmsi形式のインストーラを利用する場合の方法、もう1つはexe形式のインストーラを利用する場合の方法となる。

Google Chromeのオフラインインストーラをダウンロードする

Google Chromeは通常ではインターネット接続を前提としたオンラインインストーラが提供されているが、以下方法でオフラインインストーラ (スタンドアロン版)のダウンロードが可能となる。

msi版

  1. Google Chrome Enterpriseのダウンロードサイトに行く本記事執筆時点では以下URLとなる。
    https://cloud.google.com/chrome-enterprise/browser/download/?hl=ja
  2. 上記URLにてファイルをダウンロードすると、GoogleChromeEnterpriseBundle64.zipといったzipファイルがダウンロードできる。
  3. zipファイルを解凍すると、「Installers」というフォルダの中にGoogleChromeStandaloneEnterprise64.msiがある。本ファイルを利用することでGoogle Chromeのオフラインインストールが可能となる。
    ※ファイル名に「Enterprise」と書いてあるが、通常のGoogle Chromeと差異はないようだ。

exe版

  1. Google Chromeのダウンロードサイトに行く。本記事執筆時点では以下URLとなる。
    https://www.google.com/intl/ja_jp/chrome/
  2. ?standalone=1をURLの末尾に付ける。
    https://www.google.com/intl/ja_jp/chrome/?standalone=1
  3. 通常通りGoogle Chromeをダウンロードすると、ChromeStandaloneSetup64.exeというように「Standalone」がファイル名に付与されたオフラインインストーラがダウンロードされる。本ファイルを利用することでGoogle Chromeのオフラインインストールが可能となる。
それでは、上記ファイルを利用して、グループポリシーを使ってGoogle Chromeのインストールを実施してみよう。

方法①:msi形式のインストーラの場合

msi形式のインストールはグループポリシーで制御するための設定項目が用意されており、アンインストールすることもできることから、可能な限り本方法で対応することをお勧めする
  1. インストール対象のmsiファイルを共有フォルダに配置する。今回は以下のように共有設定を行いファイルを配置した。Authenticated Usersに権限がないと権限不足でインストールに失敗するようなので追加をしている。
    • 共有:Everyone/フルコントロール
    • セキュリティ:Authenticated Users/フルコントロールを追加
    • パス:\\t1081w219\share
  2. インストール対象のコンピュータアカウントをOUに所属させ、そのOUに適用するGPOを作成する。今回は「msi_test」という名前でOU及びGPOを作成した。
  3. GPOを編集し、「コンピューターの構成」→「ポリシー」→「ソフトウェアの設定」→「ソフトウェア インストール」を選択する。
  4. 右クリック→「新規作成」→「パッケージ」を選択する。
  5. ファイル選択のダイアログボックスが表示されるので、共有フォルダに配置したmsiファイルを選択する。
  6. 展開方法は「割り当て」を選択する。これでGPOの設定は完了となる。
  7. GPO適用対象のコンピュータを再起動すると、GPOが適用され、ソフトウェアのインストールが自動で実行される。なお、インストール中は「Group Policy Client の処理が完了するのをお待ちください」と表示され、ログインが待機されるようだ。

方法②:exe形式のインストーラの場合

グループポリシーでソフトウェアのインストール制御を行う場合は、インストール・アンインストールの制御が可能なmsi形式のファイルを使った方法①で行うことが望ましい。しかし、msi形式のインストーラが提供されない場合もあるので、その場合は、スタートアップスクリプトとしてexeファイルを指定して実行させることが可能である。

ただし、この方法ではコンピュータを再起動するたびにインストーラが起動してしまうことや、アンインストールの制御は手動対応となる点に注意する必要がある。
  1. インストール対象のexeファイルを共有フォルダに配置する。今回は以下のように共有設定を行いファイルを配置した。Authenticated Usersに権限がないと権限不足でインストールに失敗するようなので追加をしている。
    • 共有:Everyone/フルコントロール
    • セキュリティ:Authenticated Users/フルコントロールを追加
    • パス:\\t1081w219\share
  2. インストール対象のコンピュータアカウントをOUに所属させ、そのOUに適用するGPOを作成する。今回は「msi_test」という名前でOU及びGPOを作成した。
  3. GPOを編集し、「コンピューターの構成」→「Windowsの設定」→「スクリプト」を選択する。
  4. 「スタートアップ」をダブルクリックし、「スクリプト」タブで「追加」ボタンを選択する。
  5. 「スクリプト名」の「参照」ボタンを選択し、共有フォルダに配置したexeファイルを選択する。これでGPOの設定は完了となる。
  6. GPO適用対象のコンピュータを再起動すると、GPOが適用され、ソフトウェアのインストールが自動で実行される。

2019年11月5日火曜日

Windows ファイアウォールで特定のアプリケーションのみインターネット通信を許可する

WSUSの更新ファイルの取得や、ウィルス対策ソフトの定義ファイル更新などで、Windowsサーバをインターネットと通信させる要件がある場合、単純にインターネット通信をすべて許可してしまうと、ブラウザ等でもインターネット閲覧ができてしまうため、セキュリティ的に問題となる場合がある。

インターネット通信を行うソフトウェアの実行ファイルを特定できる場合は、Windowsファイアウォール (Windows Defenderファイアウォール)にて通信制御を行うことができる。

ただし、Windowsファイアウォールは若干癖のある設定が必要となるので、今回はその設定方法を記載する。

今回の通信要件

以下通信をできるようWindowsファイアウォールを構成する。
  • 対象はWSUSサーバ
  • ドメインに所属
  • WSUSのみインターネットから更新ファイルの取得を許可 (WsusService.exeはインターネット通信を許可)
  • その他の通信はインターネット接続をブロック
それでは、上記を満たすようWindowsファイアウォールを構成してみよう。

Windowsファイアウォールのデフォルトの許可・拒否の動作

Windowsファイアウォールは「受信の規則」と「送信の規則」で分かれており、それぞれのデフォルトの動作は以下の通りとなる。
  • 受信の規則はデフォルト「ブロック」 (変更可)
  • 送信の規則はデフォルト「許可」 (変更可)
  • 規則の中に「許可」と「ブロック」がある場合は、「ブロック」が優先される (変更不可)
拒否が優先して処理される仕様があり、一部許可ルールを書いてからその他をすべて拒否するといった使い方はできないので注意が必要。今回はWSUSのみインターネット通信を許可する必要があるため、送信の規則のデフォルトの動作を「ブロック」に変更する。


デフォルト「ブロック」にするとドメインコントローラとの通信もできなくなる

しかし、送信の規則に対して、デフォルト「ブロック」に変更すると、もともと通信が必要なものまでブロックされてしまうため、サーバ動作に支障をきたしてしまう。ドメイン環境の場合はドメインコントローラとの通信もブロックされてしまう。
以下、送信の規則をデフォルト「ブロック」にした際のドメインコントローラとの通信確認 (ログイン認証及びNTP) の通信を確認した結果となる。どちらもエラーになっていることがわかる。
PS C:\> nltest.exe /SC_QUERY:intrat.local
フラグ: 0
信頼された DC 名
信頼された DC 接続状態 Status = 1311 0x51f ERROR_NO_LOGON_SERVERS
コマンドは正常に完了しました
PS C:\> w32tm /resync
再同期コマンドをローカル コンピューターに送信しています
時刻データが利用できなかったため、コンピューターは同期をとり直しませんでした。

PS C:\> w32tm /query /status
閏インジケーター: 3 (同期未実行)
階層: 0 (未指定)
精度: -23 (ティックごとに 119.209ns)
ルート遅延: 0.0004561s
ルート分散: 14.3052780s
参照 ID: 0x00000000 (未指定)
最終正常同期時刻: 2019/11/02 20:17:15
ソース: t1061w216.intrat.local
ポーリング間隔: 6 (64s)
上記も考慮し、Windowsファイアウォールの規則の追加を行う。

Windowsファイアウォールの規則の追加

今回の通信要件を満たすためには、以下2つの規則を追加すればよい。

ルール1:WSUSのインターネット通信を許可

  • 操作:接続を許可する
  • 名前:WSUSダウンロード
  • プログラム:%ProgramFiles%\Update Services\Services\WsusService.exe
  • スコープ:リモートIPアドレスにて「事前定義されたコンピューターセット」を選択し、「インターネット」を指定 (下図参照)

ルール2:ドメインコントローラとの通信を許可

  • 操作:接続を許可する
  • 名前:Active Directory
  • スコープ:リモートIPアドレスに「ドメインコントローラのIPアドレス」を指定

以下の通り2つの規則が追加




インターネット通信の確認

まず、ブラウザでインターネット通信を試みると以下の通りエラーとなって接続できないことがわかる (プロキシ環境となるため、プロキシ通信がエラーとなる)。


一方、WSUSは以下の通りインターネット通信が成功することがわかる (プロキシ環境となるが、問題なく成功した)。


ドメインコントローラとの通信確認

先ほどエラーとなったドメインコントローラの通信も確認しておこう。
ドメインコントローラの認証はSuccessになっていることがわかる。
PS C:\> nltest.exe /SC_QUERY:intrat.local
フラグ: 30 HAS_IP  HAS_TIMESERV
信頼された DC 名 \\t1061w216.intrat.local
信頼された DC 接続状態 Status = 0 0x0 NERR_Success
コマンドは正常に完了しました
NTPによる時刻同期の状況も問題なし。
PS C:\> w32tm /resync
再同期コマンドをローカル コンピューターに送信しています
コマンドは正しく完了しました。

PS C:\> w32tm /query /status
閏インジケーター: 0 (警告なし)
階層: 2 (二次参照 - (S)NTP で同期)
精度: -23 (ティックごとに 119.209ns)
ルート遅延: 0.0010275s
ルート分散: 18.2840513s
参照 ID: 0xC0A80B3D (ソース IP:  192.168.11.61)
最終正常同期時刻: 2019/11/02 20:20:14
ソース: t1061w216.intrat.local
ポーリング間隔: 6 (64s)
以上でWindowsファイアウォールを使って、特定のアプリケーションのみインターネット接続を許可することができた。
2019年9月4日水曜日

RHEL 7やCentOS7でPolicy Based Routing (PBR)を設定する

RHELのサーバにてNICを複数持つ場合、両方のNICから適切に通信できるよう設定しないと、通信の行きと戻りが異なる「非対称ルーティング」となる場合がある。非対称ルーティングの場合、途中にファイアウォール等があると正常に通信を許可することができず、想定した通信ができない。

このような状況を解消するため、RHELにてPolicy Based Routing (PBR)を設定し検証してみた。以下に検証内容と設定手順を記載する。

環境

  • OS : RHEL 7
  • NIC1 (ens192) : 192.168.11.191/24
  • NIC2 (ens224) : 192.168.33.191/24

通信要件

以下通信要件を実現するルーティングテーブルを作成する。
  • NIC1で受けた通信はNIC1から返す
  • NIC2で受けた通信はNIC2から返す
  • 対象サーバから送信する通信はNIC1側から行う
通信概要図を以下に記載する。図示されているすべての矢印で問題なく通信できるようにすることが目的となる。


Policy Based Routing設定手順

  1. デフォルトゲートウェイの設定
    デフォルトゲートウェイは「サーバ自身から通信を行うNIC」に対して設定する。今回はNIC1 (ens192)で設定しておく。
# ip route show
default via 192.168.11.31 dev ens192 proto static metric 100    ←★NIC1 (ens192)にデフォルトゲートウェイを設定
192.168.11.0/24 dev ens192 proto kernel scope link src 192.168.11.191 metric 100
192.168.33.0/24 dev ens224 proto kernel scope link src 192.168.33.191 metric 101
  1. NIC2用のルーティングテーブルを追加
    NIC1用のIPアドレスから送信する場合のルーティングテーブルを作成する。
# ip rule add from 192.168.33.191 table 100 prio 100
# ip rule show
0:      from all lookup local
100:    from 192.168.33.191 lookup 100    ←★追加されたテーブル
32766:  from all lookup main
32767:  from all lookup default
  1. NIC2用のルーティングテーブルにルーティングを設定
    NIC1用のテーブルにデフォルトゲートウェイと同セグのルーティングテーブルを追加する。
# ip route add 192.168.33.0/24 dev ens224 proto kernel scope link metric 100 table 100
# ip route add default via 192.168.33.31 table 100
# ip route show table 100
default via 192.168.33.31 dev ens224
192.168.33.0/24 dev ens224 proto kernel scope link metric 100
  1. NIC1用のルーティングテーブルを追加
    NIC2用のIPアドレスから送信する場合のルーティングテーブルを作成する。
# ip rule add from 192.168.11.191 table 101 prio 101
# ip rule show
0:      from all lookup local
100:    from 192.168.33.191 lookup 100
101:    from 192.168.11.191 lookup 101    ←★追加されたテーブル
32766:  from all lookup main
32767:  from all lookup default
  1. NIC1用のルーティングテーブルにルーティングを設定
    NIC2用のテーブルにデフォルトゲートウェイと同セグのルーティングテーブルを追加する。
# ip route add 192.168.11.0/24 dev ens192 proto kernel scope link metric 100 table 101
# ip route add default via 192.168.11.31 table 101
# ip route show table 101
default via 192.168.11.31 dev ens192
192.168.11.0/24 dev ens192 proto kernel scope link metric 100
これで完了となる。

一見すると、NIC1とNIC2の両方にデフォルトゲートウェイが設定されているため、通常のルーティングテーブル(ip route showで表示されるテーブル)は不要となるように見えるが、サーバ自身から通信を行う場合は、通常のルーティングテーブルを使用するようなので、設定は必要となる。試しに通常のデフォルトゲートウェイを設定せずにpingを実行してみると、ルーティングがないためネットワークに到達できない旨のエラーが表示された。
[root@localhost ~]# ping 192.168.55.1
connect: ネットワークに届きません

動作確認

NIC1側のクライアントからping

192.168.11.0/24のセグメントにいるクライアントからpingを実施して確認してみる。
# ping -c 1 192.168.11.191
PING 192.168.11.191 (192.168.11.191) 56(84) bytes of data.
64 bytes from 192.168.11.191: icmp_seq=1 ttl=64 time=0.114 ms    ←★OK!

--- 192.168.11.191 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.114/0.114/0.114/0.000 ms

# ping -c 1 192.168.33.191
PING 192.168.33.191 (192.168.33.191) 56(84) bytes of data.
64 bytes from 192.168.33.191: icmp_seq=1 ttl=63 time=0.365 ms    ←★OK!

--- 192.168.33.191 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.365/0.365/0.365/0.000 ms

NIC2側のクライアントからping

192.168.33.0/24のセグメントにいるクライアントからpingを実施して確認してみる。
# ping -c 1 192.168.11.191
PING 192.168.11.191 (192.168.11.191) 56(84) bytes of data.
64 bytes from 192.168.11.191: icmp_seq=1 ttl=63 time=0.219 ms    ←★OK!

--- 192.168.11.191 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.219/0.219/0.219/0.000 ms

# ping -c 1 192.168.33.191
PING 192.168.33.191 (192.168.33.191) 56(84) bytes of data.
64 bytes from 192.168.33.191: icmp_seq=1 ttl=64 time=0.110 ms    ←★OK!

--- 192.168.33.191 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.110/0.110/0.110/0.000 ms

再起動してもルーティングテーブルが消えないようにする

  1. NetworkManager-dispatcher-routing-rulesをインストール
    NetworkManager-dispatcher-routing-rulesは、以前はNetworkManager-config-routing-rulesと呼ばれていたパッケージとなるが、以下にある通り、パッケージ名が変更されているだけで同じものになるようだ。 NetworkManager-dispatcher-routing-rulesは、RHELのインストールISOイメージに含まれていないので、RHELのサイトからRPMファイルをダウンロードしてインストールする。インストール後、NetworkManager-dispatcher.serviceが自動起動するよう設定する。
# rpm -ivh NetworkManager-dispatcher-routing-rules-1.18.0-5.el7.noarch.rpm
警告: NetworkManager-dispatcher-routing-rules-1.18.0-5.el7.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:NetworkManager-dispatcher-routing################################# [100%]
# systemctl enable NetworkManager-dispatcher.service
# systemctl start NetworkManager-dispatcher.service
  1. NIC1用のルーティング設定を追加
    以下のようにrule-<デバイス名>route-<デバイス名>のファイルを作成する。先ほど手動で設定する際に使ったコマンドから、ip rule addip route addを省略して書けばよい。
# cat /etc/sysconfig/network-scripts/rule-ens192
from 192.168.11.191 table 101 prio 101
# cat /etc/sysconfig/network-scripts/rule-ens192
default via 192.168.11.31 table 101
192.168.11.0/24 dev ens192 proto kernel scope link metric 100 table 101
  1. NIC2用のルーティング設定を追加
    同様にNIC2用のファイルを作成する。
# cat /etc/sysconfig/network-scripts/rule-ens224
from 192.168.33.191 table 100 prio 100

# cat /etc/sysconfig/network-scripts/route-ens224
default via 192.168.33.31 table 100
192.168.33.0/24 dev ens224 proto kernel scope link metric 100 table 100
  1. OS再起動
    OS再起動してルーティングテーブルを確認すると、以下の通り問題なく設定されていることがわかる。
# ip rule show
0:      from all lookup local
100:    from 192.168.33.191 lookup 100
101:    from 192.168.11.191 lookup 101
32766:  from all lookup main
32767:  from all lookup default

# ip route show table 100
default via 192.168.33.31 dev ens224
192.168.33.0/24 dev ens224 proto kernel scope link metric 100

# ip route show table 101
default via 192.168.11.31 dev ens192
192.168.11.0/24 dev ens192 proto kernel scope link metric 100

(参考) 削除コマンド

参考までに、削除コマンドは以下の通りとなる。
# ip route del default table 100
# ip route del 192.168.33.0/24 table 100
# ip rule del table 100

# ip route del default table 101
# ip route del 192.168.11.0/24 table 101
# ip rule del table 101

参考

2019年8月21日水曜日

最小インストールしたRHEL 7に、GUI環境 (Gnome)を追加インストールする方法

個人的にRed Hat Enterprise Linux 7 (以降、(RHEL 7))を使う場合、ほとんどGUI環境 (Gnome)をインストールして使うことはないのだが、今回使う必要性がでてきたため、最小インストールした状態のRHEL 7に対して、後からGUI環境をインストールする手順を確認してみた。

環境

  • RHEL 7.6

手順

  1. DVDのOSイメージをマウント
# mount /dev/cdrom /mnt
  1. マウントしたイメージをレポジトリとして設定
# vi /etc/yum.repos.d/dvd.repo

[dvd]
baseurl=file:///mnt/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
  1. yumでインストールを実施
    dvd.repoファイルを作成することで、yumが使えるようになる。982件のパッケージが追加インストールされる。
# yum groupinstall "Server with GUI"
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
リポジトリー 'dvd' は構成中に名前がありませんので ID を使います
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
dvd                                                      | 4.3 kB     00:00
(1/2): dvd/group_gz                                        | 146 kB   00:00
(2/2): dvd/primary_db                                      | 4.2 MB   00:00
パッケージ 1:NetworkManager-config-server-1.12.0-6.el7.noarch はインストール済みか最新バージョンです
Warning: Group core does not have any packages to install.
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ModemManager.x86_64 0:1.6.10-1.el7 を インストール
--> 依存性の処理をしています: ModemManager-glib(x86-64) = 1.6.10-1.el7 のパッケ ージ: ModemManager-1.6.10-1.el7.x86_64
--> 依存性の処理をしています: libmbim-utils のパッケージ: ModemManager-1.6.10-1.el7.x86_64

~(中略)~

トランザクションの要約
================================================================================
インストール  275 パッケージ (+707 個の依存関係のパッケージ)

総ダウンロード容量: 701 M
インストール容量: 2.1 G
Is this ok [y/d/N]:y   ←★yを入力
Downloading packages:
警告: /mnt/Packages/GConf2-3.2.6-8.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
GConf2-3.2.6-8.el7.x86_64.rpm の公開鍵がインストールされていません
--------------------------------------------------------------------------------
合計                                                43 MB/s | 701 MB  00:16
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release から鍵を取得中です。
Importing GPG key 0xFD431D51:
 Userid     : "Red Hat, Inc. (release key 2) <security@redhat.com>"
 Fingerprint: 567e 347a d004 4ade 55ba 8a5f 199e 2f91 fd43 1d51
 Package    : redhat-release-server-7.6-4.el7.x86_64 (@anaconda/7.6)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
上記の処理を行います。よろしいでしょうか? [y/N]y   ←★yを入力
Importing GPG key 0x2FA658E0:
 Userid     : "Red Hat, Inc. (auxiliary key) <security@redhat.com>"
 Fingerprint: 43a6 e49c 4a38 f4be 9abf 2a53 4568 9c88 2fa6 58e0
 Package    : redhat-release-server-7.6-4.el7.x86_64 (@anaconda/7.6)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
上記の処理を行います。よろしいでしょうか? [y/N]y   ←★yを入力
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
  インストール中          : atk-2.28.1-1.el7.x86_64                       1/982
  インストール中          : fontpackages-filesystem-1.44-8.el7.noarch     2/982

~(中略)~

  1. ランレベル変更
    RHEL 6では/etc/inittabを変更してランレベルを変更していたが、RHEL 7ではコマンドで変更する。
# systemctl get-default
multi-user.target

# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
  1. OS再起動
# reboot
  1. 再起動後確認
    再起動すると無事GUI環境で起動してくる。初回起動時は、初期セットアップウィザードが表示されるので、適宜設定する。なお、root以外のアカウントが設定されていない場合は、新規に1つユーザ作成が必要となるので注意。
初期セットアップウィザードの画面。言語やタイムゾーンなどを選択する。

ウィザードが終了すると、ようやくGUI環境が使えるようになる。

ログイン後の画面。特にエラーもなく、問題なく動作しているようだ。


2019年8月14日水曜日

Red Hat Enterprise Linux 8をインストールして、動作確認してみた

とうとうRed Hat Enterprise Linux 8 (以降RHEL 8)が2019年5月7日にリリースされた。忙しくて試すことができていなかったが、ようやく評価ライセンスとISOをダウンロードして試すことができたので、インストール手順と簡単に動作確認をした結果を記載する。

インストール手順はRHEL 7と大差ない

ESXi 6.7 Update 1環境にインストールしてみる。
  1. ESXiで仮想マシン作成時に「Red Hat Enterprise Linux 8 (64ビット)」を選択しておく。


  2. ISOイメージから起動させ、「Install Red Hat Enterprise Linux 8.0.0」を選択する。デフォルトでは、「Test this media 8 install Red Hat Enterprise Linux 8.0.0」が選ばれているが、メディアスキャンが必要な場合はほとんどないし、時間もかかるのでお勧めしない。


  3. 言語はいつも通り日本語を選ぶ。


  4. RHEL 7に比べて、設定画面は見やすくなった。


  5. RHEL 7はデフォルトで「最小限のインストール」だったが、RHEL 8ではデフォルトが「サーバー (GUI使用)」なので注意。GUI環境が不要な場合は、必ず変更しよう。今回は「最小限のインストール」でインストールすることにし、仮想環境なので「ゲストエージェント」のみにチェックを入れてみた。


  6. インストールが開始される。



    最小限のインストールであれば、10分もかからないで完了するはず。
  7. 特にエラーもなく起動できた。

設定コマンド等もRHEL 7と大差ない

基本的なコマンドはRHEL 7と変更になっていないようだ。以下、変更がなかったコマンドを列挙する。
設定項目 コマンド
サービス設定 systemctl
パッケージ管理 yum (後述するが実態はdnfへのシンボリックリンク)
リソース確認 top, vmstat
NIC設定 nmcli, nmtui
ネットワーク確認 ip a, ip r, ss, ping, tracepath
ディスク設定 fdisk, parted, pvcreate, vgcreate, lvcreate
ディスク確認 df, pvdisplay, vgdisplay, lvdisplay

OS基本情報を確認

カーネルバージョンが4.x台になっている。
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.0 (Ootpa)

ファイルシステムを確認

RHEL 7をvSphere環境で作る際はBIOSが選択されていたが、RHEL 8の場合はUEFIが選択されるようになる。それによるディスクパーティション構成に差異があるようだ。
最も大きな違いは、パーティションテーブルが「GPT」になっていることだと思う。
[root@localhost ~]# df -h
ファイルシス          サイズ  使用  残り 使用% マウント位置
devtmpfs                900M     0  900M    0% /dev
tmpfs                   915M     0  915M    0% /dev/shm
tmpfs                   915M  8.7M  907M    1% /run
tmpfs                   915M     0  915M    0% /sys/fs/cgroup
/dev/mapper/rhel-root    13G  1.3G   12G   11% /
/dev/sda2              1014M  158M  857M   16% /boot
/dev/sda1               599M  6.6M  593M    2% /boot/efi
tmpfs                   183M     0  183M    0% /run/user/0

[root@localhost ~]# parted /dev/sda p
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 17.2GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前                  フラグ
 1    1049kB  630MB   629MB   fat32             EFI System Partition  boot, esp
 2    630MB   1704MB  1074MB  xfs
 3    1704MB  17.2GB  15.5GB                                          lvm

YumがDNFになった

Yumが後継のDNFに代わっている。yumコマンドはdnfコマンドのシンボリックリンクとなっている。なお、DNFは「Dandified Yum」の略称。「ダンディーなYum」ってこと?
[root@localhost ~]# yum
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
usage: dnf [options] COMMAND

~(以下略)~

人気の投稿