nmcliでloopbackは変更できない?
今日はnmcliについて調べて書こうと思ったのだが、調べているうちに躓いた。
nmcliってloopbackの制御はできないのだろうか?
# nmcli dev
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected eth0
lo loopback unmanaged --
loopbackはunmanagedと表示される。
NetworkManagerのCLI管理ツールであるnmcliが管理無し(STATE unmanaged)と言っているということは、NetworkManagerでは管理できないということなのか?
loopbackのデバイス情報を見てみる。
# nmcli dev show lo GENERAL.DEVICE: lo GENERAL.TYPE: loopback GENERAL.HWADDR: 00:00:00:00:00:00 GENERAL.MTU: 65536 GENERAL.STATE: 10 (unmanaged) GENERAL.CONNECTION: -- GENERAL.CON-PATH: -- IP4.ADDRESS[1]: 127.0.0.1/8 IP4.GATEWAY: IP6.ADDRESS[1]: ::1/128 IP6.GATEWAY:
GENERAL.TYPEがloopbackになっている。
nmcli con addコマンドのhelpを見てみる。
# nmcli con add help Usage: nmcli connection add { ARGUMENTS | help } ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS IP_OPTIONS COMMON_OPTIONS: type <type> ifname <interface name> | "*" [con-name <connection name>] [autoconnect yes|no] [save yes|no] TYPE_SPECIFIC_OPTIONS: ethernet: [mac <MAC address>] [cloned-mac <cloned MAC address>] [mtu <MTU>] wifi: ssid <SSID> [mac <MAC address>] [cloned-mac <cloned MAC address>] [mtu <MTU>] [mode infrastructure|ap|adhoc] wimax: [mac <MAC address>] [nsp <NSP>] pppoe: username <PPPoE username> [password <PPPoE password>] [service <PPPoE service name>] [mtu <MTU>] [mac <MAC address>] gsm: apn <APN> [user <username>] [password <password>] cdma: [user <username>] [password <password>] infiniband: [mac <MAC address>] [mtu <MTU>] [transport-mode datagram | connected] [parent <ifname>] [p-key <IPoIB P_Key>] bluetooth: [addr <bluetooth address>] [bt-type panu|dun-gsm|dun-cdma] vlan: dev <parent device (connection UUID, ifname, or MAC)> id <VLAN ID> [flags <VLAN flags>] [ingress <ingress priority mapping>] [egress <egress priority mapping>] [mtu <MTU>] bond: [mode balance-rr (0) | active-backup (1) | balance-xor (2) | broadcast (3) | 802.3ad (4) | balance-tlb (5) | balance-alb (6)] [primary <ifname>] [miimon <num>] [downdelay <num>] [updelay <num>] [arp-interval <num>] [arp-ip-target <num>] [lacp-rate slow (0) | fast (1)] bond-slave: master <master (ifname, or connection UUID or name)> team: [config <file>|<raw JSON data>] team-slave: master <master (ifname, or connection UUID or name)> [config <file>|<raw JSON data>] bridge: [stp yes|no] [priority <num>] [forward-delay <2-30>] [hello-time <1-10>] [max-age <6-40>] [ageing-time <0-1000000>] [mac <MAC address>] bridge-slave: master <master (ifname, or connection UUID or name)> [priority <0-63>] [path-cost <1-65535>] [hairpin yes|no] vpn: vpn-type vpnc|openvpn|pptp|openconnect|openswan|libreswan|ssh|l2tp|iodine|... [user <username>] olpc-mesh: ssid <SSID> [channel <1-13>] [dhcp-anycast <MAC address>] adsl: username <username> protocol pppoa|pppoe|ipoatm [password <password>] [encapsulation vcmux|llc] IP_OPTIONS: [ip4 <IPv4 address>] [gw4 <IPv4 gateway>] [ip6 <IPv6 address>] [gw6 <IPv6 gateway>]
typeにloopbackが存在しない。
適当に追加してみる。
# nmcli connection add type ethernet ifname 'lo:0' con-name loopback autoconnect yes save yes # nmcli connection mod lo\:0 ipv4.method manual ipv4.addresses '172.16.1.1/32' # nmcli connection up lo\:0 Error: Connection activation failed: No suitable device found for this connection.
うまくいかない。
保存されたファイルを確認してみる。
# ls -l /etc/sysconfig/network-scripts/ifcfg-lo* -rw-r--r--. 1 root root 254 2月 17 13:55 /etc/sysconfig/network-scripts/ifcfg-lo -rw-r--r-- 1 root root 275 2月 25 02:48 /etc/sysconfig/network-scripts/ifcfg-lo-0 # cat /etc/sysconfig/network-scripts/ifcfg-lo-0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=lo:0 UUID=bfb08758-695e-4412-9754-8ac94a99ec5a DEVICE=lo:0 ONBOOT=yes IPADDR=172.16.1.1 PREFIX=32 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes
ファイル名が異なり、ファイルの中身も若干異なる。
とりあえずファイルをリネームしてみる。
# /etc/sysconfig/network-scripts/ # mv ifcfg-lo-0 ifcfg-lo\:0
ifupで立ち上げてみる。
# ifup lo\:0 Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0' Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo:0'
エラーは出るけど、一応立ち上がる。
状態を確認する。
# ip addr show dev lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet 172.16.1.1/32 brd 172.16.1.1 scope global lo:0 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever
立ち上がった。
DRなLVS構成を組むときに負荷分散先となるサーバーにloopbackでIPアドレスを追加するということを行うのだが、CentOS 7で最適な方法が今一わかっていない。
後日また調べてみる。
ipコマンド
CentOS 7メモ
IPアドレスを表示する。
ip addr
インターフェース情報を表示する
ip link
IPアドレスを追加する
ip addr add 172.16.1.2/32 scope host dev lo label lo:0 ip addr add 202.XXX.XXX.XXX/24 scope global dev eth0 label eth0:0
IPアドレスを削除する
ip addr del 172.16.1.2/32 scope host dev lo label lo:0 ip addr del 202.XXX.XXX.XXX/24 scope global dev eth0 label eth0:0
経路情報を表示する
ip route
ARP情報を表示する
ip neigh
CentOS 7でのサービス制御
CentOS 7メモ。
従来のSysVinit/Upstartからsystemdに変わりサービス制御系コマンドが大きく変わっている。
service/chkconfigコマンドで制御していた操作はsystemctlコマンドで行うようになっている。
起動制御
処理内容 | コマンド |
---|---|
状態の表示(ユニット) | systemctl status ユニット名 |
状態の表示(全ユニット) | systemctl list-units |
起動 | systemctl start ユニット名 |
終了 | systemctl stop ユニット名 |
強制終了 | systemctl kill -s 9 ユニット名 |
再起動 | systemctl restart ユニット名 |
設定反映 | systemctl reload ユニット名 |
自動起動設定
処理内容 | コマンド |
---|---|
定義の表示(全ユニット) | systemctl list-unit-files --type-service |
定義の登録 | systemctl daemon-reload(ユニット定義ファイル登録後) |
自動機能の確認 | systemctl is-enabled ユニット名 |
自動起動の有効化 | systemctl enable ユニット名 |
自動起動の無効化 | systemctl disable ユニット名 |
設定ファイルのパス
設定ファイルは下記のパスに配置される。
/etc/systemd/system/ /usr/lib/systemd/system/
/usr/lib/systemd/system/ にはRPMパッケージが提供するsystem標準の設定が配置される。
設定変更する場合は /etc/systemd/system/ に設定をコピーした上で修正を加える。
CentOS 7での主要管理コマンド
CentOS 7での主要管理コマンドをとりあえずメモとして残しておく。
詳細は後で書く。
サービス制御 | systemctl |
---|---|
ネットワーク | ip、nmcli |
ホスト名 | hostname、hostnamectl |
ファイアウォール | firewall-cmd |
ログ | journalctl |
CentOS 7で恒久的にhostnameを変更する - 理想未来と現実の狭間で上を向いてボチボチ歩く
Packer + boxcutterでParallels Desktop用のVagrantboxイメージを作成する - 理想未来と現実の狭間で上を向いてボチボチ歩く
CentOS 7で恒久的にhostnameを変更する
CentOS 7で恒久的にhostnameを変更する方法。6までとは変更方法が違うのでメモ。
恒久的に変更するには、
/etc/hostname
に記載する。
又、コマンドでも変更可能
hostnamectl set-hostname ホスト名
お作法的にはこちらの方が正しいかもしれない。
と、思っていたらnmcliコマンドでもできることを知る。
nmcli general hostname ホスト名
Nikon フルサイズ/APS-Cの一眼レフのフラッグシップ機 『D5/D500』を発表
ニコンがFXフォーマット(フルサイズ)の一眼レフのフラッグシップ機『D5』およびDXフォーマット(APS-C)のフラグシップ機『D500』を発表しましたね。
スペックを見て最高のカメラだと思います。
私はD610を愛用していますが、比較にならないほど差を感じます。
まず高感度性能および連写性能が素晴らしい。
高感度性能は、D5で常用感度 ISO100〜102400、拡張感度 ISO50相当〜ISO3280000相当。
D500で常用感度 ISO100〜51200、拡張感度 ISO50相当〜ISO1640000相当。
D5の常用感度上限ISO102400はさすがフラグシップ機と感じますが、D500の上限ISO 51200でも素晴らしい。
現行のフラグシップ機D4Sでも常用感度上限はISO25600ですからそれを上回っています。
また実用的かどうかはさておき拡張感度上限は100万越えは正に異次元の世界です。
実際はISO感度なんてカタログスペックみたいなもので、どのぐらいまで実用的に使えるかは見てみないとなんとも言えません。
それでもISO6400〜12800あたりが実用的になると考えてくるとワクワクしてきます。
連写性能については、圧縮RAWで撮影してバッファフルにならずに200枚まで最高速度で連写できる点がすばらしい。
D610だとRAWで撮影すると14コマを超えたあたりで連写速度が落ちていきますので、200枚まで止まらず走りきれるバッファーは憧れます。
そして約2000万画素というバランスも素晴らしい。
実際D610使っていて約2400万画素だとデータが大きすぎると感じます。しかしD4Sの約1600万画素だと若干物足りない。
D5/D500の2000万画素はバランスがちょうど良いと思います。
測距点数153点、DXフォーマットサイズ時に画面左右方向全体に広がるフォーカスエリア。
動体へのAFの食いつきもさぞかし素晴らしいんじゃないかと思います。
また動画撮影ではNikon機の一眼レフで初となる4K動画の撮影にも対応しました。
Nikon以外のメーカーのカメラでは当たり前になっていましたから当然といえば当然かもしれませんが、Nikon機の欠点が一つ解消されたんじゃないかと思います。
個人的にはDXフォーマットのフラグシップ機である『D500』に惹かれています。
発売日の3月にすぐ購入するかは決めていませんが、Lightroomが対応したあたりにはできれば購入したいなとは思っています。
Packer + boxcutterでParallels Desktop用のVagrantboxイメージを作成する
Parallels用のVagrantboxを生成する手順のメモ。
昔はVeeweeに手を加えて作成していましたがPacker + boxcutterで簡単にできるようになっていたのでメモとして残しておきます。
Packerのインストール
まずはPackerのインストール。
Homebrew環境があれば簡単にインストールできます。
brew tap homebrew/binary
brew install packer
Packer用テンプレート『boxcutter』の取得
https://github.com/boxcutter/ から作成したいOSのテンプレートを取得します。
下記はCentOS用のテンプレートをgit cloneで取得している例です。
git clone https://github.com/boxcutter/centos.git
boxのビルド
あとはビルドするだけですが、その前にOSイメージのダウンロード元URLが国外サーバーのURLとなっていてイメージのダウンロードに時間が掛かるので必要に応じて書き換えておいた方が良いです。
下記はCentOS 7.2のiso_urlを書き換える例。
sed -i -e 's/"iso_url":.*/"iso_url": "http:\/\/ftp.riken.jp\/Linux\/centos\/7.2.1511\/isos\/x86_64\/CentOS-7-x86_64-DVD-1511.iso",/g' centos72.json
boxをビルドします。
cd centos
./bin/box build centos72 parallels
あとは5〜10分ほど待つだけ。
ビルドが終われば、box/parallelsの下にVagrantboxが生成されるので、vagrant box addコマンドで追加します。
vagrant box add CentOS-7.2.1511 box/parallels/centos72-nocm-2.0.11.box
以上、ご参考になれば幸いです。