こんにちは、バックエンドエンジニアのヤスタカです。 VPS 環境で CentOS 7 を入れて環境構築していたところ、6 系の時とはだいぶ設定ファイルやコマンドが変わっていたことに気づきました。そこで、今回はその違いを具体的にまとめてみました。
1. localeの設定
VPS 環境で OS のインストールが完了したところからスタートです。
その後「言語の設定をしようかな」と思ったら、ここからいきなり CentOS 7 による変更がありました。
▼ CentOS 6 の場合
vim /etc/sysconfig/i18n
で、設定ファイルの LANG を ‘ja_JP.UTF-8’ に変更する。
▼ CentOS 7 の場合
localectl set-locale LANG=ja_JP.utf8
設定ファイルを直接編集するのではなく、lacalectl というコマンドで設定します。
2. サービスの起動・終了・再起動など
CentOS 7 に変わって一番大きな変化があったのはサービスコマンドだと思います。 コマンド体系も結構変更があるので、しっかり確認しておきましょう。
▼ CentOS 6 の場合
service サービス名 オプション コマンド
// httpdの起動の場合だと
service httpd start
▼ CentOS 7 の場合
systemctl コマンド オプション ユニット名
// httpd 起動の場合
systemstl start httpd(.service) //括弧内は付けなくても、裏側で自動的に補完される。
また /etc/init.d/ サービス名で直接起動する方法も、CentOS 7 になったら使えなくなりました。
サービスの一覧表示やプロセス終了コマンドも 6 系と 7 系では異なってくるので、確認してみてください。
3. サービスの自動起動
webサーバーやデータベースなど常時起動していることが前提のサービスは自動起動の設定をすると思いますが、こちらも従来のコマンドから変更があります。
▼ CentOS 6 の場合
chkconfig サービス名 on / off
// httpdの自動起動設定の場合
chkconfig httpd on
▼ CentOS 7 の場合
systemctl enable/disable ユニット名
// httpdの自動起動設定の場合
systemctl enable httpd.service
4. ネットワーク系のコマンド
通信の状態などを調べるコマンドについても変更がありました。 まずはipの情報とかをさくっと確認するときによく使うifconfig
▼ CentOS 6 の場合
ifconfig
▼ CentOS 7 の場合
ip addr show
ルーティングの確認のときのnetstatもコマンド変わってます。
▼ CentOS 6 の場合
netstat
▼ CentOS 7 の場合
ss
5. セキュリティ
CentOS 6 では iptables で firewall の設定をしていたかと思いますが、CentOS 7 では新たに firewalld というのがデフォルトで有効になっています。CentOS 7 でも iptables を使うことは可能ですが、firewalld との併用はできないため、どちらか一方を選んで設定せねばなりません。
▼ CentOS 6 の場合
service iptables start | stop
▼ CentOS 7 の場合
systemctl start | stop firewalld.service
6. ログの確認
ログに関しても CentOS 7 ではファイルを cat して確認するのではなく、専用のコマンドが用意されています。
▼ CentOS 6 の場合
cat /var/log/サービス名
▼ CentOS 7 の場合
journalctl -u ユニット名
まとめ
同じ CentOS でも 6 系から 7 系への変更ではコマンドなどで大きく変更がありました。全体的に設定ファイルを直接編集するのではなく、コマンドで設定を変更する方向に向かっている気がします。コマンドの統合も行われているため、便利になっていると思います。 ただし、まだまだ 6 系のサーバ利用者が多いと思うので、どちらのコマンドも把握しておく必要があります。この機会に、上記に上げた基本的なコマンドだけでも把握しておいた方がいいかもしれません。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。