CentOS 6 と CentOS 7 では、一部コマンドが異なります。
よく使われるコマンドをピックアップし、変更点をまとめました。
代表的な例は、CentOS 6 でサービス起動停止時に使う service コマンドです。
CentOS 7 では、systemctl コマンドを使う必要があります。
service コマンドは sytemctl へ
CentOS 7 では、service コマンドや /etc/init.d/nginx restart などの書き方が使えません。
CentOS 6 までは、サービス管理に init と呼ばれる仕組みを利用していましたが、
CentOS 7 からは、Systemd と呼ばれる新方式に切り替わったためです。
サービス管理方法の変更に伴い、systemctl コマンドを使う必要があります。
例として、nginx を起動させる場合は次のコマンドです。
# systemctl start nginx.service
CentOS 6 とオプションの順序が異なる点は注意が必要です。
service <サービス名> start が systemctl start <サービス名> となっています。
ifconfig コマンドは ip コマンドへ
IP アドレスの確認用の ifconfig コマンドも変更となっています。
CentOS 7 以降では、ip コマンドに置き換えられました。
CentOS 7 で IP アドレスを確認するためには、ip address コマンドを利用します。
省略形式として ip a コマンドでも実行できます。
$ ip a
ルーティングテーブルを確認する際は、route ではなく ip route を使います。
こちらも、省略形式として ip r が用意されています。
$ ip r
arp コマンドも、ip neighbor に置き換わりました。
同様に、省略版のコマンドとして ip n が利用できます。
$ ip n
netstat コマンドは ss コマンドへ
サーバーの通信状況を確認する netstat コマンドは、ss コマンドとなりました。
オプションについては netstat とほぼ同一です。
# ss -natp | grep 80
LISTEN 0 128 :::80 :::* users:(("httpd",pid=14882,fd=4))
# netstat -natp | grep 80
tcp6 0 0 :::80 :::* LISTEN 14882/httpd
旧コマンドの netstat も動作しますが、ss とは出力内容が一部異なります。
プロセス名を出力 (オプション p を利用) する場合は root 権限での実行が必要です。
IPv4 や IPv6 に限定した出力も可能です。
IPv4 のみとする場合は -4、IPv6 のみとする場合は -6 オプションを付与します。
$ ss -natu -4
まとめ
CentOS 6 と CentOS 7 で異なるコマンドについて解説しました。
実際の CentOS 7 では、旧コマンド名でエイリアス(別名)が登録されています。
現時点では、旧コマンドを打ち込んでも動作する場合が殆どです。
しかし、最終的には廃止予定となっているコマンドが多くあります。
今のうちに新しいコマンド形式に慣れておくことを推奨します。
【関連記事】
⇒ nginx に繋がらない場合の調査方法
⇒ CentOS が重いときの確認コマンド
⇒ Apache アクセスログの解析手順
⇒ file, strings, zipinfo でファイルを調査
