はじめに
Photon OS は、VMware が OSS として開発しており、クラウド環境に最適化され、非常に軽量で、ミニマリストな Linux OS です。
最近の新しめな VMware 製品でも、OS 部分に Photon OS が使われていたりします。
ただ、日本語での情報がそこまで多い Linux ディストリビューションではないので、少しでも多くの方に親しんで貰えるよう、記事にしていきたいと思います。
Photon OS 取得元
導入方法
vSphere 環境では、vSphere の「ゲスト OS のカスタマイズ」機能を使って、簡単にデプロイする方法がありますので、参考にしていただけると楽ができると思います。
導入済みパッケージの最新化
何はともあれ、オンライン環境であれば、パッケージの最新化を実施。
tdnf update -y
パスワード有効期限の無効化
passwd
コマンドの有効日数に -1
を指定し、無期限にする。
passwd -x -1 root
(オプション) ネットワーク設定
静的に IP アドレスを設定する必要がある場合に、systemd-netorkd
を使って設定する。
ただ、前述の通り、vSphere の「ゲスト OS のカスタマイズ」機能を使う方が楽ではあるので、無理に設定ファイルを直打ちする必要はありません。
Ping (ICMP) 応答の有効化
Photon OS のデフォルトでは、セキュリティが強固でほとんどの通信が iptables
によりドロップされるため、ICMP パケットへの応答を許可する。
vi /etc/systemd/scripts/ip4save
追記例
-A INPUT -p icmp -j ACCEPT
iptables
を再起動させ、設定を反映させる。
systemctl restart iptables
その際、Docker Daemon が iptables
に書き込んでいるルールが消えてしまうため、Docker も使っているなら、Docker Daemon も再起動させること。
systemctl restart docker
また、下記のような警告メッセージが出力されてた場合、
# systemctl restart iptables
Warning: The unit file, source configuration file or drop-ins of iptables.service changed on disk. Run 'systemctl daemon-reload' to reload units.
指示にある通り、systemctl daemon-reload
を実行してから、iptables
を再起動させる。
systemctl daemon-reload
systemctl restart iptables
NTP 時刻同期
作業ログの正確さや、認証周りで時刻同期を求められる場合があるので、NTP による時刻同期を設定しておく。
vi /etc/systemd/timesyncd.conf
設定例
[Time]
NTP=ntp.nict.jp
まず、ネットワークサービスを再起動。
systemctl restart systemd-networkd
その後、時刻同期サービスを再起動する。
systemctl restart systemd-timesyncd
最後に、時刻同期サービスのステータスを確認し、active (running)
のステータスかつ、同期先のサーバーが正しく登録されていることを確認する。
systemctl status systemd-timesyncd
パッケージインストール
作業を行うにあたり、必要なパッケージをインストールする。
nslookup コマンドのインストール
NW 系、特に DNS 周りのトラブルシュートで便利なので、インストールしておく。
tdnf install -y bindutils
tar コマンドのインストール
ツール類をインストールする際、tar 形式で資材が提供されていることが、よくあるので、インストールしておく。
tdnf install -y tar
unzip コマンドのインストール
tar と同様に、zip 形式で提供されている資材の展開のために、インストールしておく。
tdnf install -y unzip
wget のインストール
curl でも十分であるが、使えると便利なので、必要に応じて、インストールしておく。
tdnf install -y wget
Git のインストール
Photon OS 上でどこまでゴリゴリ開発するかはあるが、便利スクリプト集を Git 管理していたりするので、インストールしておく。
Tab 補完を有効にするために、gawk
も必要だったので、あわせてインストールしておく。
tdnf install -y git gawk