はじめに
AWSでnmcliコマンドが使えなくて少しはまったので、メモを残します。
NetworkManagerのインストール
NICの設定ファイル等は/etc/sysconfig/network-scripts/配下にあります。CentOS6まではここにifcfg-eth0等のファイルを作成して設定していましたが、CentOS7からはファイルの直接編集が推奨されず、nmcliコマンドを使って設定するようになりました。
……なのですが、数日前にAWSで作成したCentOS7のインスタンスではnmcliコマンドが入っていませんでした。
$ nmcli
-bash: nmcli: command not found
入っていない理由は不明ですが、Redhatのページによると「NetworkManager」というパッケージに入っているようなので、これをインストールしてみます。
$ sudo su -
Last login: Wed Jun 13 16:34:09 UTC 2018 on pts/0
[root@ip-172-31-0-6 ~]# yum install -y NetworkManager
インストールするパッケージは大文字小文字の区別をしているので、networkmanagerと打つとエラーになります。
インストールできたら、起動します。
[root@ip-172-31-0-6 ~]# systemctl start NetworkManager
[root@ip-172-31-0-6 ~]# systemctl enable NetworkManager
[root@ip-172-31-0-6 ~]# systemctl is-active NetworkManager
active
[root@ip-172-31-0-6 ~]# nmcli device
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
eth1 ethernet connected Wired connection 1
lo loopback unmanaged --
無事使えるようになりました!
おわりに
使えるようにはなったのですが、標準で使えるはずのパッケージをなぜAWSでは削除しているかが気になります。少し調べたくらいでは分かりませんでした。。。