CentOS 6 と CentOS 7 のコマンドを比較、オプションにも要注意

サーバー設定

CentOS 6 と CentOS 7 では、一部コマンドが異なります。
よく使われるコマンドをピックアップし、変更点をまとめました。

代表的な例は、CentOS 6 でサービス起動停止時に使う service コマンドです。
CentOS 7 では、systemctl コマンドを使う必要があります。

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意



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 <サービス名> startsystemctl 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 では、旧コマンド名でエイリアス(別名)が登録されています。
現時点では、旧コマンドを打ち込んでも動作する場合が殆どです。

しかし、最終的には廃止予定となっているコマンドが多くあります。
今のうちに新しいコマンド形式に慣れておくことを推奨します。

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意

CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意

【関連記事】
nginx に繋がらない場合の調査方法
CentOS が重いときの確認コマンド
Apache アクセスログの解析手順
file, strings, zipinfo でファイルを調査