CentOS 7 で最初にやってそうなことのまとめ。

  • 79
    Like
  • 2
    Comment

まえがき。

徐々に記載内容を修正中。(2016/03/15)
CentOS Linux release 7.2.1511 (Core)で再度記載しているものがその通りか確認。(2016/11/18)
CentOS Linux release 7.3.1611 (Core)で再確認。bind、named関連で特記追加。(2017/06/17)
自宅鯖の場合、ノートPCでやっている人が多いかもしれないので、ノートPC閉じてもサスペンドしないようにする設定を追加。(2017/07/12)
RHEL7.4が出ていたので、CentOSも7.4になったと聞いたのでやってみたが、騙されていた。不要サービスの追記を実施。あと、デスクトップ配信で記録を残してみました。 https://www.youtube.com/watch?v=oqu_EL-epMU (2017/08/13)
RHEL7.4でやってみました。動画はこちら。 https://www.youtube.com/watch?v=tX4yAWK19cA (2017/08/20)

CentOS 6 でやってたこと。

作業順番で記載。

  • runlevelの変更(targetの変更)
  • IPv6の無効化
  • PostfixでのIPv6のErrorメッセージ対処(IPv4のみ動作への切替)
  • SSHのIPv4固定設定
  • SELinuxの無効化
  • kdumpの無効化
  • 不要サービスの停止
  • historyコマンドの日時表示
  • suコマンドの抑制
  • ntpの設定
  • よく使っているpkgの導入

その他、補足事項など。

  • VMware vSphere ESXi での留意点
  • bindにおける通常起動とchroot起動の変更点
  • ノートPC閉じてもサスペンドしないようにする設定

CentOS 7 での気付き。

私が初めてインストールする時に気付いたこと。気付けなかったこと。出来なかったこと。

  • NTPサーバのアドレス指定の際、デフォルトで書いてあったサーバを削除出来なかった。(迷宮入り)
  • NTPが動作してないように見えた。
  • 言語設定をen_usからja_jpでInstallしたため、システム日付がUTCになっており、-9時間でした。
  • NICがONBOOT=YESに出来ていない。(チェックの付け忘れ、英語読めないのでONにし忘れる)
  • 最近の流行でフラットデザインになってた。のっぺり感。
  • 選択を変えないとminiで入る。デフォルトがminiインストール設定になっているから。
  • NICの名前がethからensになってたこと

NICの名前がethからensになってたこと。

ONBOOT=YESに修正するために、/etc/sysconfig/network-scripts/を確認してみた。
ifcfg-ethってのがなくなって、ifcfg-ensってなっていた。
ifcfg-ensXXXXって感じで、XXXXには数字が入る。

ifcfg-ens.txt
[root@crown ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
NAME=ens192
UUID=2227e9c4-6ba6-44b2-9e91-fdb564d8ddcb
ONBOOT=yes
HWADDR=00:50:56:84:EF:80
IPADDR0=192.168.21.180
PREFIX0=24
GATEWAY0=192.168.21.1
DNS1=192.168.21.221
[root@crown ~]#

あと、TIPS的なことで言えば、VMwareではNICの追加等をしたり、クローン(複製)をしたりすると必ずMACが変更になってeth1が生まれていた感じだけど、CentOS7ではそれが起きなかった。
これは、ESX6.x系を使ったからなのか、CentOSなのかは未だ不明。

上記のNICの課題だけども、そもそもMACが異なった場合にNetworkManagerががんばっている節があるので、クローンした際にMACが変更されなければ、eth1になることはないし。NetworkManagerが動作していない状況であれば、UUIDすら生成されていないかも。(2017/06/17追記)

何度も入れ直していて気付いたこと。

  • NetInstallモードの場合、最初にNICの設定が必須。当たり前。でも、GUIの流れだとそれに気付かないかも。(2016/11/18追記)
  • NetoworkManagerを動作していなくてもGATEWAYが有効化出来る方法がある気がする。(2017/06/17追記)

CentOS 7 を設定する。

runlevelの変更(targetの変更)

CLIモード、GUIモードの変更(runlevelの変更)になる。
runlevelを変更したい場合、inittabを修正していました。(CentOS6.x系)
ですが、CentOS7ではそれがなくなっていました。

runlevelを修正するには、以下のようにします。

現在の設定確認は、systemctl get-defaultで確認できます。
CLIモード(マルチユーザモード)にするには、systemctl set-default multi-user.target
GUIモード(デスクトップのやつ)にするには、systemctl set-default graphical.target

IPv6の無効化

CentOS6だと、modprobeにconfoptions ipv6 disable=1を追加するだけでよかったのだけど。
CentOS7だとそれだけでは有効化しないみたい。
また、CentOS5までは、NETWORKING_IPV6=noだとか、ifcfgの中で定義するだけでよかったんだけど。

CentOS 6.x系の場合

[root@crown ~]# cat /etc/modprobe.d/ipv6disable.conf 
options ipv6 disable=1
[root@crown ~]# 

ipv6disable.confの名前は任意だが、末尾はconfにする。
新規ファイルとして記載すればいい。
options ipv6 disable=1の行を追加して、保存。
OS再起動後、ifconfig等でinet6がないことを確認する。

CentOS 7.x系の場合

7.xからは、sysctl.confを追加する。

[root@crown ~]# vi /etc/sysctl.conf
[root@crown ~]# cat /etc/sysctl.conf 
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
#
# add ipv6 disable config start.
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# add end ipv6 disable config.

[root@crown ~]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
[root@crown ~]#

sysctlを実行したときから、IPv6は無効化されている。

[root@crown ~]# ifconfig -a
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.21.180  netmask 255.255.255.0  broadcast 192.168.21.255
        ether 00:50:56:84:ef:80  txqueuelen 1000  (Ethernet)
        RX packets 227  bytes 24529 (23.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 246  bytes 42853 (41.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@crown ~]# 

ip aコマンドでも確認可能。

  • dhclientが動作していたんだけど、ipv6が動作していた。あまりDHCPで導入することはないけど、ipv6の無効方法を調べた。 どうも/usr/lib/dracut/modules.d/40network/dhclient.conf/usr/share/doc/dhclient-4.2.5/dhclient.conf.exampleを見る限りだと、OPTION設定で、-4指定できるようだけど、後にする。

SSHのIPv4固定設定

sshdはCentOS6までは、IPv6無効化設定で、IPv6でLISTEN状態にはならないが、CentOS7では、それでも:::22でListen状態になっているので、/etc/ssh/sshd_configListenAddress 0.0.0.0を明示的に記載する。
Portの指定もついでにやっておこう。デフォルト22なんて怖いので、指定ポートにするといいかも。
コメントアウトになっていると思う。
設定したら、systemctl restart sshd.serviceする。

こんな感じです。

sshd_config
Port 22
#AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::

時刻補正サービスchronydのIPv6無効化

chronydのIPv6無効化については、以下のようにする。
まずは、/etc/chrony.confの設定ファイルの中にあるbindcmdaddress ::1をコメントアウトする。
その後、起動時のオプションに-4を追加するので、/etc/sysconfig/chronydを新規作成する。
すでにある場合は追記する。
追記する内容は、OPTIONS="-4"にする。

PostfixでのIPv6のErrorメッセージ対処(IPv4のみ動作への切替)

IPv6を無効化にした後、Postfixを起動していると以下のようなメッセージが出ている。
もしくは、::1がどうのこうのって言って、起動していない可能性が高い。

error_postfix
Jun 17 20:21:21 mailserver systemd[1]: Unit postfix.service entered failed state.
Jun 17 20:21:21 mailserver systemd[1]: postfix.service failed.
Jun 17 20:21:21 mailserver systemd[1]: Starting Postfix Mail Transport Agent...
Jun 17 20:21:21 mailserver aliasesdb[1689]: /usr/sbin/postconf: fatal: parameter inet_interfaces: no local interface found for ::1
Jun 17 20:21:22 mailserver aliasesdb[1689]: newaliases: fatal: parameter inet_interfaces: no local interface found for ::1
Jun 17 20:21:22 mailserver postfix[1695]: fatal: parameter inet_interfaces: no local interface found for ::1
Jun 17 20:21:23 mailserver systemd[1]: postfix.service: control process exited, code=exited status=1
Jun 17 20:21:23 mailserver systemd[1]: Failed to start Postfix Mail Transport Agent.
Jun 17 20:21:23 mailserver systemd[1]: Unit postfix.service entered failed state.
Jun 17 20:21:23 mailserver systemd[1]: postfix.service failed.

対応するには、以下の設定を行う。

/etc/postfix/main.cf
# Enable IPv4, and IPv6 if supported
#inet_protocols = all
inet_protocols = ipv4  

/etc/postfix/main.cfinet_protocols = ipv4を指定する。最初はallになってる。
修正したら、systemctl start postfix.serviceを実行する。起動済みの場合は、systemctl restart postfix.serviceですね。

SELinuxの無効化

いつもどおり。
SELINUX=enforcingSELINUX=disabledに修正する。

/etc/selinux/config
[root@crown ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@crown ~]# 

kdumpの無効化

インストール時にkdumpの無効化を設定していれば、不要ですが。
動作している場合は、以下のようにして無効化します。

systemctl_disable_kdump
systemctl disable kdump.service

不要サービスの停止

2017年8月13日に、初期インストールでほぼほぼ?パッケージを入れた後、disableしたサービスの一覧は以下のとおり。

 systemctl disable abrt-ccpp.service
 systemctl disable abrt-oops.service
 systemctl disable abrt-vmcore.service
 systemctl disable abrt-xorg.service
 systemctl disable abrtd.service
 systemctl disable avahi-daemon.service 
 systemctl disable bluetooth.service
 systemctl disable chrony-dnssrv@.service 
 systemctl disable cups.service 
 systemctl disable firewalld.service
 systemctl disable irqbalance.service 
 systemctl disable iscsi.service
 systemctl disable ksm.service
 systemctl disable ksmtuned.service 
 systemctl disable libvirtd.service 
 systemctl disable libstoragemgmt.service 
 systemctl disable microcode.service
 systemctl disable multipathd.service 
 systemctl disable ModemManager.service 
 systemctl disable qemu-guest-agent.service 
 systemctl disable rtkit-daemon.service 
 systemctl disable rngd.service 
 systemctl disable smartd.service 
 systemctl disable spice-vdagentd.service 
 systemctl disable tuned.service

8月20にち、RHEL7.4でやった方。

 systemctl disable abrt-ccpp.service
 systemctl disable abrtd.service
 systemctl disable abrt-oops.service
 systemctl disable abrt-vmcore.service
 systemctl disable abrt-xorg.service
 systemctl disable avahi-daemon.service 
 systemctl disable bluetooth.service
 systemctl disable chrony-dnssrv@.service 
 systemctl disable cups.service 
 systemctl disable firewalld.service
 systemctl disable irqbalance.service 
 systemctl disable iscsi.service
 systemctl disable ksm.service
 systemctl disable ksmtuned.service 
 systemctl disable libstoragemgmt.service 
 systemctl disable libvirtd.service 
 systemctl disable mcelog.service
 systemctl disable microcode.service
 systemctl disable ModemManager.service 
 systemctl disable multipathd.service 
 systemctl disable pcscd.service
 systemctl disable qemu-guest-agent.service 
 systemctl disable rngd.service 
 systemctl disable rtkit-daemon.service 
 systemctl disable smartd.service 
 systemctl disable spice-vdagentd.service 
 systemctl disable tuned.service

chronyは、ntpdを動作させているので、不要ということで停止しています。
また、仮想化関連は不要なので、libvirtは停止しています。

historyコマンドの日時表示

/etc/profileの最後あたりにいれる。unsetとかある部分よりひとつ前あたりに。

# 2014.11.23 add history date and time view
HISTSIZE=2000
HISTTIMEFORMAT='%F %T '
unset HISTCONTROL
export HISTSIZE HISTTIMEFORMAT
# 2014.11.23 add end.

suコマンドの抑制

/etc/pam.d/suを修正する。

#auth           required        pam_wheel.so use_uid

上記コメントアウト部分を解除する。
wheelグループ以外のグループを指定するには以下のとおり。

auth required pam_wheel.so use_uid group=administrators

ntpの設定

よく使っているpkgの導入

サービスの設定方法

サービス管理方法というか、chkconfigがないし。serviceコマンドで開始停止するものじゃなくなってるみたいなので。

サービス一覧の見方

systemctlコマンド
systemctl
systemctl list-units
systemctl list-units --all

最初のlist-units無しと付きは結果が同じみたい。--allはいっぱい出てきた。

起動しているサービスの一覧
systemctl list-units --type=service
定義済みのサービスの一覧
systemctl list-unit-files --type=service

list-unit-filesが感覚的にはchkconfigみたいなものだと思ってる。

ちなみに、runlevelとして、どう対応しているのか?は以下のようにして確認する。

runlevel_tareget
ls -l /lib/systemd/system/runlevel*target
# 以下は実行結果
lrwxrwxrwx. 1 root root 15 Apr 24 14:31 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 24 14:31 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 24 14:31 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 24 14:31 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 24 14:31 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 24 14:31 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 24 14:31 /lib/systemd/system/runlevel6.target -> reboot.target

サービスの開始、停止、再起動、ステータス確認

[root@crown /]# # status
[root@crown /]# systemctl status httpd
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
   Active: inactive (dead)

[root@crown /]# 
[root@crown /]# # start
[root@crown /]# systemctl start httpd
[root@crown /]# 
[root@crown /]# # stop
[root@crown /]# systemctl stop httpd
[root@crown /]# 
[root@crown /]# # restart
[root@crown /]# systemctl restart httpd
[root@crown /]# 
[root@crown /]# # status
[root@crown /]# systemctl status httpd
httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
   Active: active (running) since Sun 2014-11-23 10:11:44 JST; 12s ago
 Main PID: 11329 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─11329 /usr/sbin/httpd -DFOREGROUND
           ├─11330 /usr/sbin/httpd -DFOREGROUND
           ├─11331 /usr/sbin/httpd -DFOREGROUND
           ├─11332 /usr/sbin/httpd -DFOREGROUND
           ├─11333 /usr/sbin/httpd -DFOREGROUND
           ├─11334 /usr/sbin/httpd -DFOREGROUND
           └─11335 /usr/sbin/httpd -DFOREGROUND

Nov 23 10:11:44 crown systemd[1]: Starting The Apache HTTP Server...
Nov 23 10:11:44 crown httpd[11329]: AH00557: httpd: apr_sockaddr_info_get() failed for crown
Nov 23 10:11:44 crown httpd[11329]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Nov 23 10:11:44 crown systemd[1]: Started The Apache HTTP Server.
[root@crown /]#

CentOS6の時は、[OK]みたいなのが見えていたけど、7だと見えなくなっている?
出さないようになっただけかも。
statusはより細かい情報が見えるようになっている。
あと、status結果の中にServerName設定しろよって表示が見える。助言みたいなことを言ってくれている。
おそらく、これはapachectl configtestの結果的なものと同じかな。(ちょっと違うかも?)
そういえば、CentOS6の時もその手のメッセージは出ていた気がする。

自動起動の設定について

[root@crown ~]# systemctl enable httpd.service
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
[root@crown ~]# 
[root@crown ~]# systemctl disable httpd.service
rm '/etc/systemd/system/multi-user.target.wants/httpd.service'
[root@crown ~]# 

見てわかるように、lnコマンドで貼ってるみたいです。
Ubuntuだっけな。こんな感じでenableとか、disable設定していたの。

不要サービスの設定

パっと考えたのが、一覧からあれこれ見るよりも。
さっきのシンボリックリンクが貼られている一覧を辿ればいいなって思ったので、見てみた。

[root@crown ~]# ls -al /etc/systemd/system/multi-user.target.wants/
total 8
drwxr-xr-x. 2 root root 4096 Nov 23 10:18 .
drwxr-xr-x. 9 root root 4096 Nov 23 09:40 ..
lrwxrwxrwx. 1 root root   41 Nov 23 09:38 abrt-ccpp.service -> /usr/lib/systemd/system/abrt-ccpp.service
lrwxrwxrwx. 1 root root   37 Nov 23 09:38 abrtd.service -> /usr/lib/systemd/system/abrtd.service
lrwxrwxrwx. 1 root root   41 Nov 23 09:38 abrt-oops.service -> /usr/lib/systemd/system/abrt-oops.service
lrwxrwxrwx. 1 root root   43 Nov 23 09:38 abrt-vmcore.service -> /usr/lib/systemd/system/abrt-vmcore.service
lrwxrwxrwx. 1 root root   41 Nov 23 09:38 abrt-xorg.service -> /usr/lib/systemd/system/abrt-xorg.service
lrwxrwxrwx. 1 root root   35 Nov 23 09:38 atd.service -> /usr/lib/systemd/system/atd.service
lrwxrwxrwx. 1 root root   38 Nov 23 09:38 auditd.service -> /usr/lib/systemd/system/auditd.service
lrwxrwxrwx. 1 root root   44 Nov 23 09:38 avahi-daemon.service -> /usr/lib/systemd/system/avahi-daemon.service
lrwxrwxrwx. 1 root root   39 Nov 23 09:38 chronyd.service -> /usr/lib/systemd/system/chronyd.service
lrwxrwxrwx. 1 root root   37 Nov 23 09:38 crond.service -> /usr/lib/systemd/system/crond.service
lrwxrwxrwx. 1 root root   42 Nov 23 09:38 irqbalance.service -> /usr/lib/systemd/system/irqbalance.service
lrwxrwxrwx. 1 root root   37 Nov 23 09:38 kdump.service -> /usr/lib/systemd/system/kdump.service
lrwxrwxrwx. 1 root root   46 Nov 23 09:38 libstoragemgmt.service -> /usr/lib/systemd/system/libstoragemgmt.service
lrwxrwxrwx. 1 root root   41 Nov 23 09:38 mdmonitor.service -> /usr/lib/systemd/system/mdmonitor.service
lrwxrwxrwx. 1 root root   46 Nov 23 09:38 NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service
lrwxrwxrwx. 1 root root   39 Nov 23 09:38 postfix.service -> /usr/lib/systemd/system/postfix.service
lrwxrwxrwx. 1 root root   40 Nov 23 09:38 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx. 1 root root   36 Nov 23 09:38 rngd.service -> /usr/lib/systemd/system/rngd.service
lrwxrwxrwx. 1 root root   39 Nov 23 09:38 rsyslog.service -> /usr/lib/systemd/system/rsyslog.service
lrwxrwxrwx. 1 root root   38 Nov 23 09:38 smartd.service -> /usr/lib/systemd/system/smartd.service
lrwxrwxrwx. 1 root root   36 Nov 23 09:38 sshd.service -> /usr/lib/systemd/system/sshd.service
lrwxrwxrwx. 1 root root   39 Nov 23 09:38 sysstat.service -> /usr/lib/systemd/system/sysstat.service
lrwxrwxrwx. 1 root root   37 Nov 23 09:38 tuned.service -> /usr/lib/systemd/system/tuned.service
[root@crown ~]#

半分以上は不要と思うので、disableする。
ちなみに、サービス名は入力補完してくれているみたいです。tabでさくっと出てくる。

  • 補足+注意)NetworkManagerを停止すると、ifcfg-ens*で書いていたGATEWAY0が有効になってませんでした。 また、NetworkManagerをstartさせるだけで、netstat -nr or route -nで有効になっていることを確認出来ます。
[root@crown ~]# systemctl disable abrt-ccpp.service
rm '/etc/systemd/system/multi-user.target.wants/abrt-ccpp.service'
[root@crown ~]# systemctl disable abrtd.service
rm '/etc/systemd/system/multi-user.target.wants/abrtd.service'
[root@crown ~]# systemctl disable abrt-oops.service
rm '/etc/systemd/system/multi-user.target.wants/abrt-oops.service'
[root@crown ~]# systemctl disable abrt-vmcore.service
rm '/etc/systemd/system/multi-user.target.wants/abrt-vmcore.service'
[root@crown ~]# systemctl disable abrt-xorg.service
rm '/etc/systemd/system/multi-user.target.wants/abrt-xorg.service'
[root@crown ~]# systemctl disable atd.service
rm '/etc/systemd/system/multi-user.target.wants/atd.service'
[root@crown ~]# systemctl disable auditd.service
rm '/etc/systemd/system/multi-user.target.wants/auditd.service'
[root@crown ~]# systemctl disable avahi-daemon.service 
rm '/etc/systemd/system/multi-user.target.wants/avahi-daemon.service'
rm '/etc/systemd/system/sockets.target.wants/avahi-daemon.socket'
rm '/etc/systemd/system/dbus-org.freedesktop.Avahi.service'
[root@crown ~]# systemctl disable kdump.service
rm '/etc/systemd/system/multi-user.target.wants/kdump.service'
[root@crown ~]# systemctl disable smartd.service
rm '/etc/systemd/system/multi-user.target.wants/smartd.service'
[root@crown ~]# systemctl disable tuned.service
rm '/etc/systemd/system/multi-user.target.wants/tuned.service'
[root@crown ~]# 

停止していいかどうか不明で、そのままにしたのと。
Googleさんに聞いてみたら、わかったもの。

chronyd.service 時刻補正、ntpdの代わりになっているもの。
libstoragemgmt.service 外部ストレージアレイとの何か。
rngd.service 乱数生成?

時刻補正のステータスを見てみた。

[root@crown ~]#  systemctl status chronyd.service
chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
   Active: active (running) since Sun 2014-11-23 09:41:49 JST; 51min ago
 Main PID: 606 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─606 /usr/sbin/chronyd -u chrony

Nov 23 09:47:15 crown chronyd[606]: Selected source 124.41.86.200
Nov 23 09:49:24 crown chronyd[606]: Selected source 157.7.154.134
Nov 23 10:04:50 crown chronyd[606]: Source 157.7.153.56 offline
Nov 23 10:04:50 crown chronyd[606]: Source 219.123.70.90 offline
Nov 23 10:04:50 crown chronyd[606]: Source 124.41.86.200 offline
Nov 23 10:04:50 crown chronyd[606]: Source 157.7.154.134 offline
Nov 23 10:04:50 crown chronyd[606]: Source 157.7.153.56 online
Nov 23 10:04:50 crown chronyd[606]: Source 157.7.154.134 online
Nov 23 10:04:50 crown chronyd[606]: Source 219.123.70.90 online
Nov 23 10:04:50 crown chronyd[606]: Source 124.41.86.200 online
[root@crown ~]# 
[root@crown ~]# date
Sun Nov 23 10:33:09 JST 2014
[root@crown ~]# 

JSTになっているし。時間は合っているようだけど。指定していたNICTさんのIPがない気がする。
まぁ、いいや。時刻は後でにする。

その他、補足事項について。

VMware vSphere ESXi での留意点。

CentOSだと、OS停止時に以下のコマンドを投入しているはず。

  • shutdown -h now
  • halt
  • init 0

私はずっと恥ずかしながら、ずっと知らなかったのですが、CentOS7で以下の現象に遭遇しました。

  • shutdown -h now ⇒ 電源が落ちる。
  • halt ⇒ 電源が落ちないので、vSphereコンソールから電源オフにしている。
  • init 0 ⇒ 電源が落ちる。

どうやら、haltの場合は、poweroffしてくれないみたいです。
なので、haltをする場合は、halt -pとするように。

bindにおける通常起動とchroot起動の変更点。

CentOS6系では、bindとbind-chrootを導入すれば、特段意識することなく、以下のconfigを修正していたのではないでしょうか。

configlist.bind
/var/named/chroot/etc/named.conf
/var/named/chroot/var/named/zone.file
/var/named/chroot/var/named/addr.file

ですが、CentOS7系からは、chrootで動作させる場合と、そうではない場合で起動するサービスが異なります。

chrootで起動するbind
systemctl start named-chroot.service
chrootで起動しない通常のbind
systemctl start named.service

chrootで起動する際、以下のコマンドがonにされ、停止する際は、offになります。

onoffで実行されるコマンド
#起動時
/usr/libexec/setup-named-chroot.sh /var/named/chroot on
#停止時
/usr/libexec/setup-named-chroot.sh /var/named/chroot off

このため、CentOS7では、chrootで起動中は、/var/named/chrootディレクトリですが、chrootしてない場合で、かつ起動中は、/var/namedディレクトリです。
混乱しそうなので、以下に表形式で記載します。

基本的なディレクトリが/var/namedで、
chrootディレクトリを/var/named/chrootにしている場合。

  通常のbind(chroot無し) chrootのbind
停止中(ROOT) /var/named /var/named
起動中(ROOT) /var/named /var/named/chroot
停止中(conf) /etc/named.conf /etc/named.conf
起動中(conf) /etc/named.conf /var/named/chroot/etc/named.conf
停止中(zone) /var/named/zone.file /var/named/zone.file
起動中(zone) /var/named/zone.file /var/named/chroot/var/named/zone.file

ノートPC閉じてもサスペンドしないようにする設定

GUIだとサスペンドしそうで、CLI、CUIだとサスペンドしなさそうっていう神話を打ち砕かれた。

修正するファイルは、/etc/systemd/logind.confになります。

/etc/systemd/logind.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See logind.conf(5) for details.

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
HandleLidSwitch=ignore
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=no

HandleLidSwitchignoreに設定します。
そして、systemctl restart systemd-logindをしてください。

改題履歴

  1. CentOS 7 で最初やってそうなこと
  2. CentOS 7 で最初にやってそうなことのまとめ。

あとがき。

  • ntpdがいない。さようなら。⇒chronyを停止させ、ntpdを起動することも可能。
  • chkconfigが無いと思ったが、あった。けれども、サービスはほとんど登録されていない。
  • chkconfigで登録したサービスはsystemctlでオーバーライドされるとかなんとか。
  • IPv6の無効化がひと手間増えた。
  • うっかり、NetworkManagerを停止すると、残念なことになる。⇒そうでもない場合があるので、要確認。
  • サービスの起動が変更されているけど、それほど難しいことではない。
  • サービスの起動失敗時の標準出力が気になる。
  • runlevelの設定方法が変わった。
  • bindが曲者になった。
  • ノートPCの蓋を閉じてもサスペンドしないようにした。

終わり。