保存版 CentOS 7とCentOS 6との違いまとめ

サーバー

CentOS 7はCentOS 6以前のCentOSに比べて様々な点が異なっています。

これまでにないぐらい違っていたので、私も結構苦労しました。

多くのサーバー管理者が同じような悩みを持つのではないかと思い、ここでは、CentOS 6とCentOS 7の違いをまとめてみました。

スポンサーリンク
スポンサーリンク

service、chkconfigでなくてsystemctl

これまでのCentOSに慣れていると、サービスを起動するには

# service httpd start

とやりたくなってしまいますが、serviceやchkconfigというコマンドは、CentOS 7ではsystemctlに置き換わっています。

#systemctl disable xxx でxxxをサービスの登録から解除
#systemctl enable xxx でxxxをサービスに登録
#systemctl list-unit-files | grep xxxでサービスの登録確認
#systemctl start xxx でxxxを起動
#systemctl stop xxx でxxxを停止
#systemctl status xxx でxxxのステータスを確認

となっています。

ただ、古いコマンドで実行した場合、ちゃんとリダイレクトしてくれたり、注意メッセージを表記してくれたりします。

# service nginx start

Redirecting to /bin/systemctl start  nginx.service

# chkconfig --list nginx

注記:

この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。

systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。

systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。

特定のターゲットにおいて有効化されているサービスを確認するには、以下のコマンドを使います。

# systemctl list-dependencies [target]

iptablesでなくてfirewalld

CentOS 7ではファイアウォールの設定は、iptablesではなくてfirewalldを使います。

詳しくは以下にまとめました。

CentOS 7からデフォルトのFirewalldでハマった(iptablesは今後使わない?)
CentOS 7をはじめて使ってみて、あまりにもCentOS 6と違って戸惑いました。 詳しくは、以下の記事にまとめま...

これまでの、iptablesではネットワーク環境ごとに設定を変更することが出来ません。

一方、CentOS 7ではゾーンという考え方を導入して、ネットワークに接続する形態ごとにファイアウォールの設定を変更することが可能になっています。

このあたりは、Windowsの「ネットワークと共有センター」と似ています。

net-toolsでなくてiproute2

CentOS 7ではifconfigコマンドが含まれるnet-toolsは、iproute2という新しいパッケージに置き換わっています。

詳しくは以下にまとめました。

CentOS 7ではnet-tools(ifconfig)はiproute2に移行
CentOS 7ではnet-tools(ifconfig)はiproute2に移行したようです。 ...

ifconfig や netstat というコマンドではなくて、

ip や ss というコマンドを使います。

MySQLでなくてMariaDB

CentOS 7では、MariaDBをデフォルトとして使っています。

オープンソースのデータベースとしてデファクトスタンダードだったMySQLですが、2008年にサンマイクロシステムズに買収され、サンマイクロシステムズも2010年にオラクルに買収されました。

オラクル傘下に入ったMySQLはOracleとも競合するため、その動向が注目されましたが、その後は、あまりパッとしないようです。

最近は、オープンソースのMySQLからフォークしたMariaDBが注目されています。

ちなみに、オープンソースの世界では、陳腐化してイノベーションがない本家からフォークして新しいプロジェクトを立ち上げることはよくあるようです。

例えば、BlinkというChromeが使っているレンダリングエンジンも、もともとはSafariが使っているWebKitからフォークしたプロジェクトです。

CentOS 7では、MariaDBをデフォルトとして使っています。

MySQLからフォークしたプロジェクトなので、MySQLのコマンド類はそのままMariaDBでも使えるので、これまでMySQLを使っていた人は特に違和感はないと思います。

時刻同期は、ntpdでなくてchronyd

CentOS 7で時刻同期には、ntpdではなくて chronyd を使います。

詳しくは以下にまとめました。

CentOS 7 の時刻同期chronyd (ntpdの代替)
CentOS 7では時刻同期としてntpdではなくて、chronyd を使うようです。 使い方をまとめてみまし...

ログの確認 journalctl

ログを確認するためのコマンド  journalctl が追加されています。

# journalctl -u ユニット名

として使います。

例えば、

# journalctl -u ssh
# journalctl -u httpd

のように使います。

デフォルトのファイルシステムは、EXT4でなくてXFS

XFSの論理ボリュームの拡張は、resize2fs でなくて、xfs_growfs を使います。

EXT4の時のように、resize2fsを実行すると、

# resize2fs /dev/mapper/xxxxx

resize2fs: Bad magic number in superblock while trying to open /dev/mapper/xxxxx
Couldn’t find valid filesystem superblock.

と表示されます。

ブートローダーは、GRUBでなくてGRUB2

CentOS 6までブートローダーGRUBとCentOS 7で採用されたGRUB2では大きく構造が異なります。

GRUB2では、ブートに関する設定ファイルは、/boot/grub2/grub.cfgです。

このファイルは、/etc/default/grubファイルを編集してから

# grub2-mkconfig -o /boot/grub2/grub.cfg

のようにgrub2-mkconfigを実行することにより生成されます。

おまけ:CentOS 7を試してみる

当サイトは、

さくらインターネットのVPS

を使っています。

以下の記事で試用方法を説明しています。

さくらインターネットのVPSを2週間試用しCentOS 7をインストールしてみました
当サイトは、さくらインターネットのVPS で運用しています。 この度、訳があって別プランに移行すべく2週間お試し無料を...

以下の記事で「CentOS 7でServer with GUIのインストール手順」を説明しています。

CentOS 7でServer with GUI のインストール手順
CentOS 7は2014年7月7日にリリースされました。 今後は、ほとんどの機会でCentOS 7のインストールする...