ITエンジニアのコツコツ日記

ITエンジニアの雑記です

CentOS8のMinimalインストール と 使用方法(dnf, nftables)

CentOS8のインストール方法

RHEL(Red Hat Enterprise Linux)系統のOSとしてCentOSがあるが、長らくCentOS7を使っていた。 2019年にCentOS8がリリースされ、徐々に業界でもRHEL8やCentOS8の採用が始まってきているようなので、導入してみた。

構築環境

  • ホスト: Macbook12インチ(Windows10 BootCamp)
  • 仮想化ソフト: VirtualBox6.1.2

CentOS8のイメージ(ISO)をダウンロード

f:id:itkotsukotsu:20200925210509p:plain

CentOS8は公式HPからダウンロードできる。

Download

日本サーバでも色々用意されているので好みのところからダウンロード。

理研とかで良ければ以下がリンク。 ftp.riken.jp

CentOS8(RHEL8)からMinimal ISOが無くなった?いや復活したみたい。

f:id:itkotsukotsu:20200925210720p:plain

CentOS7を利用していた時は不要なデータもダウンロードしたくないし、インストールもしたくないので、Minimalバージョンを好んで使っていた。

このMinimalはOSを稼働させる最小限のOSSパッケージのみで構成される。

RHEL8ではこのMinimalのISOの配布が無くなったらしい。

RHLE8と同列のOracleLinux8もMinimal版の配布はされていなかった。

CentOS8もMinimalが無くなったと聞いていたような気がしたが、普通にあったのでこれをダウンロードする。

http://ftp.tsukuba.wide.ad.jp/Linux/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-minimal.iso

CentOS8をVirtualBoxにインストール

f:id:itkotsukotsu:20200925211601p:plain

VirtualBoxでCentOS8をインストールする。

OSバージョンはRed Hat (64-bit)で、あとは好きなように。

インストーラが立ち上がったら、一通り設定を行う。

といってもMiminalの場合は2か所のみでそれとrootパスワードくらい。

  • SYSTEM: Installation Destination
    すでにディスクにチェックが入っているので、Doneを押す
  • SYSTEM: Network & Host Name
    初期値はNICが有効になっていないので、ここで有効(DHCP)にしておいたほうがいいだろう。

インストール完了後はコンソール画面で操作するのが辛いので、SSH接続する。

VirtualBoxのNATポートフォワード機能を使ってVMに簡単にSSHする

f:id:itkotsukotsu:20200925212209p:plain VirtualBoxVMはホストのWindowsを経由してインターネット接続できるようにNATになっている。

正確にはIPマスカレードによるポート変換を行っている。

VirtualBoxの仮想LANを経由してゲストOSにアクセスすることもできるが、このNATが邪魔してWindowsホストから直に通信ができない。

NAT自体は必要な機能なので、代わりにVMの設定からポートフォワード設定をすることで、WindowsホストのポートとゲストOSのポートをバインドすることで接続性を確保する。

このポートフォワード機能はとても便利だ。なぜHyper-Vにはないのだろうか。

CentOS8の使い方

yumがdnfになった

CentOS8(RHEL8)からパッケージ管理ソフトがyumからdnfとなった。

yumが裏ではPython2系で動作しているのに対し、dnfはPython3系で動作する。

Python2は将来的にも衰退方向にあるため、ここで切り替える判断をしたようだ。

といってもyumとdnfはコマンドの文法に高い互換性がある。

実際yumコマンドは動作するが、実態としてはdnfのバイナリ実行ファイルにシンボリックリンクが張られているだけ。

[root@localhost ~]# ls -l /usr/bin/yum
lrwxrwxrwx. 1 root root 5 Apr 24 15:57 /usr/bin/yum -> dnf-3

なので、dnfを意識しなくてもyumと入力するだけで、dnfを使っていることになる。

しかしdnfに入れ替わったのだからyumと入力するのは卒業したほうがいいだろう。

パケット処理機能のiptablesがnftablesに

iptablesがnftablesに変わったのも大きな変化だ。

今までiptablesでパケット操作を行っていたが、これがnftablesとなった。

nftablesは今までバラバラだったiptablesやその他のネットワーク関連コマンドを共通のコマンド文法で操作できるもの。

ただ、nftablesでもiptablesでも結局はLinuxKernelのNetfilter経由で操作することには変わりない。

iptablesコマンドも実行はできるが、dnf同様にnftablesとして実際は動作している。

[root@localhost ~]# iptables -V
iptables v1.8.4 (nf_tables)

まとめ

  • CentOS8 でもMinimal ISOはある
  • yumがdnfになった
  • iptablesがnftablesになった

そのほかCentOS7のyumリポジトリ上のOSSがいろいろバージョンアップしているようだ。

気になるのはCetnOS8の公式リポジトリDockerがないこと。

Docker公式にもDocker_CEではCentOS8はサポートしていないって書いてあるし。

Qiitaに無理やりCentOS7と同じ方法でCentOS7にインストールしている例があるけど、iptables経由でNetfilter操作したら整合性取れなくなるから、やめたほうがよさそう。

CentOS8が主流になるまでにはもう少し時間かかりそうかな。