Ubuntu 22.04 CentOSとUbuntuの違い

目次に戻る

どちらもLinuxディストリビューションでありCentOSを扱えてUbuntuが扱えないということはないでしょう(その逆も同じ)。ただそれぞれの癖(Redhat/Debian)はありますので使いながら(設計しながら)慣れていきましょう。

CentOSが難しくUbuntuが簡単?

たまに見かける内容ですが本当にそう思っているのならかなりアホなので改めましょう。

パッケージフォーマット

CentOSはrpm、Ubuntuはdebです。

パッケージ管理ツール

CentOSはDNF、UbuntuはAPTです。APTのほうがコマンド形態が冗長でやや面倒な気もします。

debconf

CentOSからUbuntuへの移行で一番面食らうのがこれかもしれません。特定のパッケージをインストールする際にインタラクティブなTUIが表示されるのでかなりうっとおしいです。DEBIAN_FRONTEND=noninteractiveをaptコマンドの前に付与することで抑止できます。ansibleではうまくこれを回避しているようです。

ネットワーク管理ツール

CentOSはNetworkManager、UbuntuはNetplanです。個人的にはファイルで設定管理できるNetplanがAnsibleと相性が良くいいですね。UbuntuでもDesktopはNetworkManagerであり、Serverでも明示的にインストールすればNetworkManagerを利用可能です。

ファイアウォール管理ツール

CentOSはfirewalld、Ubuntuはufwです。Ubuntuでも明示的にインストールすればfirewalldを利用可能(おそらくNetworkManagerとセット)です。何れも実体はiptablesであり、最近は更に実体としてnftablesとなります(iptablesコマンドがラッパーです)。

SELinux

CentOSはSELinuxが標準で有効となっていますが、UbuntuでSELinuxを有効にするには明示的にインストールする必要があります。本稿でSELinuxは取り上げません。

sudo

Ubuntuでは基本的にrootを使用せずに管理ユーザーからsudoでコマンドを実行します。このためrootパスワード設定も不要です。もちろんrootにパスワードを設定してログインすることも可能ですが、おそらくUbuntuはrootを使用しないことがセキュリティの前提になっていると思いますので、本稿でもそれに倣います。sudoには賛否両論があると思います。

仮想マシン環境

CentOSを同じくKVMを利用可能です。MicroStackも標準(snap)で利用可能ですがメモリ要件が厳しいため本稿では取り上げません。

コンテナ環境

標準(snap)でDockerを利用可能です。CentOSはPodmanが標準(CentOS8より)となります。以前はCentOS8でDockerを利用可能(公式のリポジトリを追加)でしたが前述のnftables関連でDockerを利用できなくなりました。標準がPodmanなので問題は無いのですがビジネスシーンではDockerのニーズは高いです。新しい情報では対応しているのかもしれません。

Kubernetes環境

以前からKubernetes環境に移行したいと考えていましたが、microk8sが標準(snap)で利用可能です。microk8sは1台のサーバーで稼働することができ、冗長化が不要な環境では最適だと思います。

目次に戻る

Ubuntu 22.04 CentOSとUbuntuの違い

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る