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 でファイルを調査