■vSphere6.0にRHEL7.1を導入、開発者用サブスクリプションを有効化する。
動作確認目的で、無償となった開発者用サブスクリプションを使用する。
Red Hat Developer Programに参加して開発者用サブスクリプションを入手しよう
https://oss.sios.com/redhat-ch/blog/developer
■基盤となるOSは、vShpere Hypervisor 6.0.0。
起動まではvSphere Clientで行い、
ブラウザコンソールでインストール作業を行う。
] uname -s -r -v
VMkernel 6.0.0
] esxcli software vib list | awk '/ui/{gsub(/ */,",",$0);print}'
esx-ui,1.1.0-3731936,VMware,VMwareCertified,2016-04-09,
■インストールに使用するメディアは7.1 DVDのisoイメージ。
] md5sum < /vmfs/volumes/datastore1/rhel-server-7.1-x86_64-dvd.iso
370662c78e36528bbaf3f2b901c29d6f -
■ゲストOSの情報
] vim-cmd vmsvc/getallvms | awk '/rhel/{print $1,$2}'
12 rhel7.1
] awk '(/^[cdegmn]/ && !/Address|^m[io]|FALSE|pci/)' \
/vmfs/volumes/datastore1/rhel7.1/rhel7.1.vmx
config.version = "8"
nvram = "rhel7.1.nvram"
numvcpus = "2"
cpuid.coresPerSocket = "2"
memSize = "2048"
ethernet0.virtualDev = "vmxnet3"
ethernet0.networkName = "VM Network"
ethernet0.addressType = "generated"
ethernet0.uptCompatibility = "TRUE"
ethernet0.present = "TRUE"
displayName = "rhel7.1"
guestOS = "rhel7-64"
extendedConfigFile = "rhel7.1.vmxf"
■初回起動後のネットワーク確認。
$ ip -4 neigh | sed -e 's/[0-9a-f][0-9a-f]:/XX:/g'
172.31.31.90 dev eno16780032 lladdr XX:XX:XX:XX:XX:ab REACHABLE
172.31.31.252 dev eno16780032 lladdr XX:XX:XX:XX:XX:48 STALE
$ ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eno16780032: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
inet 172.31.31.54/24 brd 172.31.31.255 scope global eno16780032
valid_lft forever preferred_lft forever
$ ip -4 route
default via 172.31.31.252 dev eno16780032 proto static metric 100
172.31.31.0/24 dev eno16780032 proto kernel scope link src 172.31.31.54 metric 100
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.31.252 0.0.0.0 UG 100 0 0 eno16780032
172.31.31.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16780032
■待ち受けポート程度なら、ざっと16進数を10進数に変換するだけで良い。
$ awk '/[0-9A-F]/{gsub(/.*:/,"",$2);print $2}' /proc/net/tcp | \
awk '{a[$1]+=1}END{for(n in a){print "echo $((0x"n"))"}}' | sh
22
25
631
■netstatは無く、地雷の多いssコマンドしか使えない。
$ ss -4tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
ESTAB 0 0 172.31.31.54:22 172.31.31.90:43061
$ sudo ss -4tanp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:(("sshd",1139,3))
LISTEN 0 128 127.0.0.1:631 *:* users:(("cupsd",12785,12))
LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1620,13))
ESTAB 0 0 172.31.31.54:22 172.31.31.90:43061 users:(("sshd",14298,3),("sshd",14285,3))
■サービスの確認
$ systemctl -t service | awk '/running/{gsub(/.service/,"",$1);print $1}' | column
abrt-oops dbus rhsmcertd
abrtd firewalld rsyslog
accounts-daemon gdm rtkit-daemon
alsa-state irqbalance smartd
atd ksmtuned sshd
auditd libstoragemgmt systemd-journald
avahi-daemon libvirtd systemd-logind
bluetooth lvm2-lvmetad systemd-udevd
chronyd ModemManager tuned
colord NetworkManager udisks2
crond polkit upower
cups postfix vmtoolsd
$ systemctl status sshd.service
sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
Active: active (running) since 日 2016-04-17 03:40:56 JST; 24min ago
Main PID: 1139 (sshd)
CGroup: /system.slice/sshd.service
└─1139 /usr/sbin/sshd -D
$ systemctl status postfix.service
postfix.service - Postfix Mail Transport Agent
Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled)
Active: active (running) since 日 2016-04-17 03:40:59 JST; 24min ago
Main PID: 1620 (master)
CGroup: /system.slice/postfix.service
├─1620 /usr/libexec/postfix/master -w
├─1637 pickup -l -t unix -u
└─1638 qmgr -l -t unix -u
$ systemctl status cups
cups.service - CUPS Printing Service
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled)
Active: active (running) since 日 2016-04-17 03:55:20 JST; 1h 0min ago
Main PID: 12785 (cupsd)
CGroup: /system.slice/cups.service
└─12785 /usr/sbin/cupsd -f
■隔離環境でインストールすると、サブスクリプションが登録されていないので、
yumが実行出来ない。
$ sudo yum repolist all
読み込んだプラグイン:langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repolist: 0
$ subscription-manager config --server.proxy_hostname=172.31.31.60 --server.proxy_port=8080
スーパーユーザー権限を必要とする"subscription-manager"を実行しようとしていますが、
実行するには追加情報が必要です。
"root" として認証しています
パスワード:
$ subscription-manager register
スーパーユーザー権限を必要とする"subscription-manager"を実行しようとしていますが、
実行するには追加情報が必要です。
"root" として認証しています
パスワード:
ユーザー名: labunix1
パスワード:
このシステムは次の ID で登録されました: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
■サブスクリプションIDの登録確認
$ subscription-manager list --available --all | awk '/サブスクリプション名|サービスレベル|終了|システムタイプ|数量/'
パスワード:
サブスクリプション名: Red Hat Enterprise Linux Developer Suite
数量: 1
サービスレベル: Self-Support
終了: 2017年04月02日
システムタイプ: 物理
サブスクリプション名: Red Hat Enterprise Linux Developer Suite
数量: 100
サービスレベル: Self-Support
終了: 2017年04月02日
システムタイプ: 仮想
インストール済み製品の現在の状態:
製品名: Red Hat Enterprise Linux Server
状態: サブスクライブ済み
+-------------------------------------------+
インストール済み製品のステータス
+-------------------------------------------+
製品名: Red Hat Enterprise Linux Server
製品 ID: 69
バージョン: 7.1
アーキテクチャー: x86_64
状態: サブスクライブ済み
状態の詳細:
開始: 2016年04月02日
終了: 2017年04月02日
'ascii' codec cant decode byte 0xe3 in position 0: ordinal not in range(128)
rhel-7-server-eus-rpms/7Server/x86_64
rhel-7-server-rpms/7Server/x86_64
rhel-7-server-rt-beta-rpms/x86_64
rhel-7-server-rt-rpms/7Server/x86_64
rhel-ha-for-rhel-7-server-eus-rpms/7Server/x86_64
rhel-ha-for-rhel-7-server-rpms/7Server/x86_64
rhel-rs-for-rhel-7-server-eus-rpms/7Server/x86_64
rhel-rs-for-rhel-7-server-rpms/7Server/x86_64
■ところで、上記のpythonのUnicodeEncodeErrorらしき文言は「LANG=C」なら出ない。
LANG環境変数自体は正しく設定されているので、単純に作りが甘いのでしょう。
rhel-7-server-eus-rpms/7Server/x86_64
rhel-7-server-rpms/7Server/x86_64
rhel-7-server-rt-beta-rpms/x86_64
rhel-7-server-rt-rpms/7Server/x86_64
rhel-ha-for-rhel-7-server-eus-rpms/7Server/x86_64
rhel-ha-for-rhel-7-server-rpms/7Server/x86_64
rhel-rs-for-rhel-7-server-eus-rpms/7Server/x86_64
rhel-rs-for-rhel-7-server-rpms/7Server/x86_64
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=