A weird bug that crashed the samba server :

# service smb status
Redirecting to /bin/systemctl status smb.service
● smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2018-05-11 05:27:35 CEST; 4 days ago
 Main PID: 1130 (code=exited, status=1/FAILURE)

May 11 05:27:35 svennd.be systemd[1]: Starting Samba SMB Daemon...
May 11 05:27:35 svennd.be smbd[1130]: /usr/sbin/smbd: /usr/lib64/samba/libreplace-samba4.so: version `SAMBA_4.6.2' not found (required by /lib64/libwbclient.so.0)
May 11 05:27:35 svennd.be smbd[1130]: /usr/sbin/smbd: /usr/lib64/samba/libwinbind-client-samba4.so: version `SAMBA_4.6.2' not found (required by /lib64/libwbclient.so.0)
May 11 05:27:35 svennd.be systemd[1]: smb.service: main process exited, code=exited, status=1/FAILURE
May 11 05:27:35 svennd.be systemd[1]: Failed to start Samba SMB Daemon.
May 11 05:27:35 svennd.be systemd[1]: Unit smb.service entered failed state.
May 11 05:27:35 svennd.be systemd[1]: smb.service failed.

Restarting the service is enough to fix it.  Somehow this has happened due to updates :

from /var/log/yum.log

May 11 05:26:25 Updated: filesystem.x86_64 3.2-25.el7
May 11 05:26:26 Updated: libgcc.x86_64 4.8.5-28.el7
May 11 05:26:26 Updated: perl-Getopt-Long.noarch 2.40-3.el7
May 11 05:26:26 Updated: firewalld-filesystem.noarch 0.4.4.4-14.el7
May 11 05:26:27 Updated: tzdata.noarch 2018e-3.el7
May 11 05:26:31 Updated: glibc-common.x86_64 2.17-222.el7
May 11 05:26:31 Updated: nss-softokn-freebl.x86_64 3.34.0-2.el7
May 11 05:26:32 Updated: glibc.x86_64 2.17-222.el7
May 11 05:26:32 Updated: bash.x86_64 4.2.46-30.el7
May 11 05:26:32 Updated: nspr.x86_64 4.17.0-1.el7
May 11 05:26:32 Updated: nss-util.x86_64 3.34.0-2.el7
May 11 05:26:32 Updated: libsepol.x86_64 2.5-8.1.el7
May 11 05:26:32 Updated: libselinux.x86_64 2.5-12.el7
May 11 05:26:32 Updated: libcom_err.x86_64 1.42.9-11.el7
May 11 05:26:32 Updated: audit-libs.x86_64 2.8.1-3.el7
May 11 05:26:32 Updated: libdb.x86_64 5.3.21-24.el7
May 11 05:26:32 Updated: elfutils-libelf.x86_64 0.170-4.el7
May 11 05:26:32 Updated: info.x86_64 5.1-5.el7
May 11 05:26:32 Updated: libuuid.x86_64 2.23.2-52.el7
May 11 05:26:32 Updated: libtalloc.x86_64 2.1.10-1.el7
May 11 05:26:32 Updated: libstdc++.x86_64 4.8.5-28.el7
May 11 05:26:32 Updated: libattr.x86_64 2.4.46-13.el7
May 11 05:26:33 Updated: libacl.x86_64 2.2.51-14.el7
May 11 05:26:33 Updated: libtevent.x86_64 0.9.33-2.el7
May 11 05:26:33 Updated: cpio.x86_64 2.11-27.el7
May 11 05:26:33 Updated: libtdb.x86_64 1.3.15-1.el7
May 11 05:26:33 Updated: libldb.x86_64 1.2.2-1.el7
May 11 05:26:33 Updated: libquadmath.x86_64 4.8.5-28.el7
May 11 05:26:33 Updated: iptables.x86_64 1.4.21-24.el7
May 11 05:26:33 Updated: iproute.x86_64 4.11.0-14.el7
May 11 05:26:33 Updated: pciutils-libs.x86_64 3.5.1-3.el7
May 11 05:26:33 Updated: kmod-libs.x86_64 20-21.el7
May 11 05:26:33 Updated: tar.x86_64 2:1.26-34.el7
May 11 05:26:33 Updated: libsemanage.x86_64 2.5-11.el7
May 11 05:26:33 Updated: e2fsprogs-libs.x86_64 1.42.9-11.el7
May 11 05:26:33 Updated: nss-softokn.x86_64 3.34.0-2.el7
May 11 05:26:33 Updated: unzip.x86_64 6.0-19.el7
May 11 05:26:33 Updated: libbasicobjects.x86_64 0.1.1-29.el7
May 11 05:26:33 Updated: ethtool.x86_64 2:4.8-7.el7
May 11 05:26:33 Updated: libpmem.x86_64 1.3-3.el7
May 11 05:26:33 Updated: numactl-libs.x86_64 2.0.9-7.el7
May 11 05:26:33 Updated: libref_array.x86_64 0.1.5-29.el7
May 11 05:26:34 Updated: libcollection.x86_64 0.7.0-29.el7
May 11 05:26:34 Installed: lz4.x86_64 1.7.5-2.el7
May 11 05:26:34 Updated: libpmemblk.x86_64 1.3-3.el7
May 11 05:26:34 Updated: libgfortran.x86_64 4.8.5-28.el7
May 11 05:26:34 Updated: acl.x86_64 2.2.51-14.el7
May 11 05:26:34 Updated: vim-minimal.x86_64 2:7.4.160-4.el7
May 11 05:26:34 Updated: patch.x86_64 2.7.1-10.el7_5
May 11 05:26:34 Updated: mozjs17.x86_64 17.0.0-20.el7
May 11 05:26:34 Updated: libstdc++-devel.x86_64 4.8.5-28.el7
May 11 05:26:34 Updated: libuuid-devel.x86_64 2.23.2-52.el7
May 11 05:26:34 Updated: libgomp.x86_64 4.8.5-28.el7
May 11 05:26:34 Updated: libdb-utils.x86_64 5.3.21-24.el7
May 11 05:26:34 Updated: libss.x86_64 1.42.9-11.el7
May 11 05:26:35 Updated: libselinux-utils.x86_64 2.5-12.el7
May 11 05:26:35 Updated: libsepol-devel.x86_64 2.5-8.1.el7
May 11 05:26:35 Updated: libselinux-devel.x86_64 2.5-12.el7
May 11 05:26:45 Installed: kernel-devel.x86_64 3.10.0-862.2.3.el7
May 11 05:26:46 Updated: ca-certificates.noarch 2017.2.20-71.el7
May 11 05:26:46 Updated: krb5-libs.x86_64 1.15.1-19.el7
May 11 05:26:46 Updated: openssl-libs.x86_64 1:1.0.2k-12.el7
May 11 05:26:47 Updated: coreutils.x86_64 8.22-21.el7
May 11 05:26:47 Updated: libpwquality.x86_64 1.2.3-5.el7
May 11 05:26:47 Updated: pam.x86_64 1.1.8-22.el7
May 11 05:26:47 Updated: libblkid.x86_64 2.23.2-52.el7
May 11 05:26:48 Updated: python-libs.x86_64 2.7.5-68.el7
May 11 05:26:48 Updated: python.x86_64 2.7.5-68.el7
May 11 05:26:48 Updated: libmount.x86_64 2.23.2-52.el7
May 11 05:26:49 Updated: glib2.x86_64 2.54.2-2.el7
May 11 05:26:49 Updated: shared-mime-info.x86_64 1.8-4.el7
May 11 05:26:49 Updated: gzip.x86_64 1.5-10.el7
May 11 05:26:49 Updated: centos-release.x86_64 7-5.1804.el7.centos
May 11 05:26:50 Updated: binutils.x86_64 2.27-27.base.el7
May 11 05:26:50 Updated: cyrus-sasl-lib.x86_64 2.1.26-23.el7
May 11 05:26:50 Updated: setup.noarch 2.8.71-9.el7
May 11 05:26:50 Updated: filesystem.x86_64 3.2-25.el7
May 11 05:26:50 Updated: net-snmp-libs.x86_64 1:5.7.2-32.el7
May 11 05:26:51 Updated: cpp.x86_64 4.8.5-28.el7
May 11 05:26:51 Updated: subversion-libs.x86_64 1.7.14-14.el7
May 11 05:26:51 Updated: libselinux-python.x86_64 2.5-12.el7
May 11 05:26:51 Updated: python-slip.noarch 0.4.0-4.el7
May 11 05:26:51 Updated: python-slip-dbus.noarch 0.4.0-4.el7
May 11 05:26:51 Updated: python-firewall.noarch 0.4.4.4-14.el7
May 11 05:26:52 Updated: python-perf.x86_64 3.10.0-862.2.3.el7
May 11 05:26:52 Updated: pytalloc.x86_64 2.1.10-1.el7
May 11 05:26:52 Updated: gdb.x86_64 7.6.1-110.el7
May 11 05:26:58 Updated: linux-firmware.noarch 20180220-62.git6d51311.el7
May 11 05:26:58 Updated: nss.x86_64 3.34.0-4.el7
May 11 05:26:58 Updated: nss-sysinit.x86_64 3.34.0-4.el7
May 11 05:26:59 Updated: nss-tools.x86_64 3.34.0-4.el7
May 11 05:26:59 Updated: libcurl.x86_64 7.29.0-46.el7
May 11 05:26:59 Updated: curl.x86_64 7.29.0-46.el7
May 11 05:26:59 Updated: rpm-libs.x86_64 4.11.3-32.el7
May 11 05:26:59 Updated: rpm.x86_64 4.11.3-32.el7
May 11 05:26:59 Updated: openldap.x86_64 2.4.44-13.el7
May 11 05:26:59 Updated: rpm-build-libs.x86_64 4.11.3-32.el7
May 11 05:26:59 Updated: rpm-python.x86_64 4.11.3-32.el7
May 11 05:26:59 Updated: yum-plugin-fastestmirror.noarch 1.1.31-45.el7
May 11 05:26:59 Updated: yum.noarch 3.4.3-158.el7.centos
May 11 05:26:59 Updated: libnfsidmap.x86_64 0.25-19.el7
May 11 05:26:59 Updated: libuser.x86_64 0.60-9.el7
May 11 05:27:00 Updated: procps-ng.x86_64 3.3.10-17.el7
May 11 05:27:00 Updated: kpartx.x86_64 0.4.9-119.el7
May 11 05:27:00 Updated: device-mapper.x86_64 7:1.02.146-4.el7
May 11 05:27:00 Updated: util-linux.x86_64 2.23.2-52.el7
May 11 05:27:00 Updated: device-mapper-libs.x86_64 7:1.02.146-4.el7
May 11 05:27:00 Updated: cryptsetup-libs.x86_64 1.7.4-4.el7
May 11 05:27:00 Updated: dracut.x86_64 033-535.el7
May 11 05:27:00 Updated: kmod.x86_64 20-21.el7
May 11 05:27:00 Updated: elfutils-libs.x86_64 0.170-4.el7
May 11 05:27:00 Updated: systemd-libs.x86_64 219-57.el7
May 11 05:27:00 Updated: dbus-libs.x86_64 1:1.10.24-7.el7
May 11 05:27:02 Updated: systemd.x86_64 219-57.el7
May 11 05:27:02 Updated: dbus.x86_64 1:1.10.24-7.el7
May 11 05:27:02 Updated: elfutils-default-yama-scope.noarch 0.170-4.el7
May 11 05:27:02 Updated: systemd-sysv.x86_64 219-57.el7
May 11 05:27:03 Updated: initscripts.x86_64 9.49.41-1.el7
May 11 05:27:03 Updated: samba-common.noarch 4.7.1-6.el7
May 11 05:27:03 Updated: avahi-libs.x86_64 0.6.31-19.el7
May 11 05:27:03 Updated: rpcbind.x86_64 0.2.0-44.el7
May 11 05:27:03 Updated: polkit.x86_64 0.112-14.el7
May 11 05:27:03 Updated: cronie-anacron.x86_64 1.4.11-19.el7
May 11 05:27:03 Updated: cronie.x86_64 1.4.11-19.el7
May 11 05:27:04 Updated: hwdata.x86_64 0.252-8.8.el7
May 11 05:27:04 Updated: pciutils.x86_64 3.5.1-3.el7
May 11 05:27:04 Updated: rdma-core.x86_64 15-6.el7
May 11 05:27:04 Updated: libibverbs.x86_64 15-6.el7
May 11 05:27:04 Updated: NetworkManager-libnm.x86_64 1:1.10.2-13.el7
May 11 05:27:04 Updated: dhcp-libs.x86_64 12:4.2.5-68.el7.centos
May 11 05:27:05 Updated: openssh.x86_64 7.4p1-16.el7
May 11 05:27:05 Updated: openssh-clients.x86_64 7.4p1-16.el7
May 11 05:27:05 Updated: policycoreutils.x86_64 2.5-22.el7
May 11 05:27:05 Updated: selinux-policy.noarch 3.13.1-192.el7_5.3
May 11 05:27:05 Updated: dhcp-common.x86_64 12:4.2.5-68.el7.centos
May 11 05:27:05 Updated: librdmacm.x86_64 15-6.el7
May 11 05:27:05 Updated: libpciaccess.x86_64 0.14-1.el7
May 11 05:27:05 Updated: libdrm.x86_64 2.4.83-2.el7
May 11 05:27:05 Updated: cups-libs.x86_64 1:1.6.3-35.el7
May 11 05:27:05 Updated: libwbclient.x86_64 4.7.1-6.el7
May 11 05:27:05 Updated: samba-common-libs.x86_64 4.7.1-6.el7
May 11 05:27:06 Updated: samba-client-libs.x86_64 4.7.1-6.el7
May 11 05:27:06 Updated: samba-libs.x86_64 4.7.1-6.el7
May 11 05:27:06 Updated: samba-common-tools.x86_64 4.7.1-6.el7
May 11 05:27:06 Updated: libsmbclient.x86_64 4.7.1-6.el7
May 11 05:27:06 Updated: wpa_supplicant.x86_64 1:2.6-9.el7
May 11 05:27:07 Updated: NetworkManager.x86_64 1:1.10.2-13.el7
May 11 05:27:07 Updated: OpenIPMI-modalias.x86_64 2.0.23-2.el7
May 11 05:27:07 Updated: rsync.x86_64 3.1.2-4.el7
May 11 05:27:07 Updated: perl-Git.noarch 1.8.3.1-13.el7
May 11 05:27:08 Updated: git.x86_64 1.8.3.1-13.el7
May 11 05:27:08 Updated: ebtables.x86_64 2.0.10-16.el7
May 11 05:27:08 Updated: systemd-devel.x86_64 219-57.el7
May 11 05:27:08 Updated: plymouth-core-libs.x86_64 0.8.9-0.31.20140113.el7.centos
May 11 05:27:08 Updated: plymouth-scripts.x86_64 0.8.9-0.31.20140113.el7.centos
May 11 05:27:08 Updated: plymouth.x86_64 0.8.9-0.31.20140113.el7.centos
May 11 05:27:08 Updated: elfutils.x86_64 0.170-4.el7
May 11 05:27:08 Updated: device-mapper-event-libs.x86_64 7:1.02.146-4.el7
May 11 05:27:08 Updated: virt-what.x86_64 1.18-4.el7
May 11 05:27:08 Updated: redhat-rpm-config.noarch 9.1.0-80.el7.centos
May 11 05:27:08 Updated: net-snmp-agent-libs.x86_64 1:5.7.2-32.el7
May 11 05:27:08 Updated: systemtap-runtime.x86_64 3.2-4.el7
May 11 05:27:08 Updated: logrotate.x86_64 3.8.6-15.el7
May 11 05:27:08 Updated: libpcap.x86_64 14:1.5.3-11.el7
May 11 05:27:08 Updated: libpath_utils.x86_64 0.2.1-29.el7
May 11 05:27:09 Updated: libini_config.x86_64 1.3.1-29.el7
May 11 05:27:09 Updated: gssproxy.x86_64 0.7.0-17.el7
May 11 05:27:09 Updated: libteam.x86_64 1.27-4.el7
May 11 05:27:09 Updated: teamd.x86_64 1.27-4.el7
May 11 05:27:09 Updated: kernel-tools-libs.x86_64 3.10.0-862.2.3.el7
May 11 05:27:09 Updated: quota-nls.noarch 1:4.01-17.el7
May 11 05:27:09 Updated: quota.x86_64 1:4.01-17.el7
May 11 05:27:09 Updated: libreport-filesystem.x86_64 2.1.11-40.el7.centos
May 11 05:27:09 Updated: kernel-headers.x86_64 3.10.0-862.2.3.el7
May 11 05:27:09 Updated: glibc-headers.x86_64 2.17-222.el7
May 11 05:27:10 Updated: glibc-devel.x86_64 2.17-222.el7
May 11 05:27:11 Updated: gcc.x86_64 4.8.5-28.el7
May 11 05:27:11 Updated: systemtap-devel.x86_64 3.2-4.el7
May 11 05:27:12 Updated: systemtap-client.x86_64 3.2-4.el7
May 11 05:27:12 Updated: libquadmath-devel.x86_64 4.8.5-28.el7
May 11 05:27:12 Updated: vim-filesystem.x86_64 2:7.4.160-4.el7
May 11 05:27:13 Updated: vim-common.x86_64 2:7.4.160-4.el7
May 11 05:27:13 Updated: bind-license.noarch 32:9.9.4-61.el7
May 11 05:27:13 Updated: bind-libs-lite.x86_64 32:9.9.4-61.el7
May 11 05:27:13 Updated: dhclient.x86_64 12:4.2.5-68.el7.centos
May 11 05:27:13 Updated: dracut-network.x86_64 033-535.el7
May 11 05:27:13 Updated: kexec-tools.x86_64 2.0.15-13.el7
May 11 05:27:13 Updated: vim-enhanced.x86_64 2:7.4.160-4.el7
May 11 05:27:14 Updated: gcc-gfortran.x86_64 4.8.5-28.el7
May 11 05:27:14 Updated: systemtap.x86_64 3.2-4.el7
May 11 05:27:15 Updated: gcc-c++.x86_64 4.8.5-28.el7
May 11 05:27:15 Updated: mdadm.x86_64 4.0-13.el7
May 11 05:27:16 Updated: nfs-utils.x86_64 1:1.3.0-0.54.el7
May 11 05:27:16 Updated: kernel-tools.x86_64 3.10.0-862.2.3.el7
May 11 05:27:16 Updated: NetworkManager-team.x86_64 1:1.10.2-13.el7
May 11 05:27:16 Updated: tcpdump.x86_64 14:4.9.2-3.el7
May 11 05:27:16 Updated: rsyslog.x86_64 8.24.0-16.el7
May 11 05:27:16 Updated: net-snmp.x86_64 1:5.7.2-32.el7
May 11 05:27:16 Updated: rpm-build.x86_64 4.11.3-32.el7
May 11 05:27:16 Updated: tuned.noarch 2.9.0-1.el7
May 11 05:27:16 Updated: device-mapper-event.x86_64 7:1.02.146-4.el7
May 11 05:27:16 Updated: device-mapper-devel.x86_64 7:1.02.146-4.el7
May 11 05:27:17 Updated: firewalld.noarch 0.4.4.4-14.el7
May 11 05:27:17 Updated: ipmitool.x86_64 1.8.18-7.el7
May 11 05:27:17 Updated: NetworkManager-ppp.x86_64 1:1.10.2-13.el7
May 11 05:27:17 Updated: NetworkManager-tui.x86_64 1:1.10.2-13.el7
May 11 05:27:17 Updated: samba-client.x86_64 4.7.1-6.el7
May 11 05:27:17 Updated: samba.x86_64 4.7.1-6.el7
May 11 05:27:17 Updated: fio.x86_64 3.1-2.el7
May 11 05:27:26 Updated: selinux-policy-targeted.noarch 3.13.1-192.el7_5.3
May 11 05:27:26 Updated: openssh-server.x86_64 7.4p1-16.el7
May 11 05:27:26 Updated: yum-cron.noarch 3.4.3-158.el7.centos
May 11 05:27:26 Updated: avahi-autoipd.x86_64 0.6.31-19.el7
May 11 05:27:29 Installed: kernel.x86_64 3.10.0-862.2.3.el7
May 11 05:27:29 Updated: audit.x86_64 2.8.1-3.el7
May 11 05:27:29 Updated: dnsmasq.x86_64 2.76-5.el7
May 11 05:27:29 Updated: subversion.x86_64 1.7.14-14.el7
May 11 05:27:29 Updated: biosdevname.x86_64 0.7.3-1.el7
May 11 05:27:29 Updated: at.x86_64 3.1.13-23.el7
May 11 05:27:29 Updated: iptables-services.x86_64 1.4.21-24.el7
May 11 05:27:29 Updated: ksh.x86_64 20120801-137.el7
May 11 05:27:29 Updated: irqbalance.x86_64 3:1.0.7-11.el7
May 11 05:27:29 Updated: microcode_ctl.x86_64 2:2.1-29.el7
May 11 05:27:30 Updated: chrony.x86_64 3.2-2.el7
May 11 05:27:30 Updated: libgudev1.x86_64 219-57.el7
May 11 05:27:30 Updated: libusbx.x86_64 1.0.21-1.el7
May 11 05:27:30 Updated: dracut-config-rescue.x86_64 033-535.el7
May 11 05:27:30 Updated: parted.x86_64 3.1-29.el7
May 11 05:27:30 Updated: rpm-sign.x86_64 4.11.3-32.el7
May 11 05:27:30 Updated: sudo.x86_64 1.8.19p2-13.el7
May 11 05:27:30 Updated: mailx.x86_64 12.5-19.el7
May 11 05:27:30 Updated: gsettings-desktop-schemas.x86_64 3.24.1-1.el7
May 11 05:27:30 Updated: libsoup.x86_64 2.56.0-6.el7
May 11 05:27:30 Updated: systemtap-sdt-devel.x86_64 3.2-4.el7
May 11 05:27:30 Updated: xfsprogs.x86_64 4.5.0-15.el7
May 11 05:27:30 Updated: libblkid-devel.x86_64 2.23.2-52.el7
May 11 05:27:31 Updated: e2fsprogs.x86_64 1.42.9-11.el7
May 11 05:27:31 Updated: screen.x86_64 4.1.0-0.25.20120314git3c2946.el7
May 11 05:27:31 Updated: alsa-lib.x86_64 1.1.4.1-2.el7
May 11 05:27:31 Updated: openssl.x86_64 1:1.0.2k-12.el7
May 11 05:27:31 Updated: kmod-devel.x86_64 20-21.el7
May 11 05:27:31 Updated: libattr-devel.x86_64 2.4.46-13.el7
May 11 05:27:31 Updated: libproxy.x86_64 0.4.11-11.el7
May 11 05:27:31 Updated: elfutils-libelf-devel.x86_64 0.170-4.el7
May 11 05:27:31 Updated: libdb-devel.x86_64 5.3.21-24.el7
May 11 05:27:31 Updated: lsof.x86_64 4.87-5.el7
May 11 05:27:31 Updated: iprutils.x86_64 2.4.15.1-1.el7
May 11 05:27:31 Updated: iwl2030-firmware.noarch 18.168.6.1-62.el7
May 11 05:27:31 Updated: iwl7260-firmware.noarch 22.0.7.0-62.el7
May 11 05:27:31 Updated: iwl6050-firmware.noarch 41.28.5.1-62.el7
May 11 05:27:31 Updated: iwl4965-firmware.noarch 228.61.2.24-62.el7
May 11 05:27:32 Updated: iwl7265-firmware.noarch 22.0.7.0-62.el7
May 11 05:27:33 Updated: iwl135-firmware.noarch 18.168.6.1-62.el7
May 11 05:27:33 Updated: iwl3160-firmware.noarch 22.0.7.0-62.el7
May 11 05:27:33 Updated: iwl6000-firmware.noarch 9.221.4.1-62.el7
May 11 05:27:33 Updated: iwl5000-firmware.noarch 8.83.5.1_1-62.el7
May 11 05:27:33 Updated: iwl3945-firmware.noarch 15.32.2.9-62.el7
May 11 05:27:33 Updated: iwl100-firmware.noarch 39.31.5.1-62.el7
May 11 05:27:33 Updated: iwl6000g2b-firmware.noarch 17.168.5.2-62.el7
May 11 05:27:33 Updated: iwl105-firmware.noarch 18.168.6.1-62.el7
May 11 05:27:33 Updated: iwl6000g2a-firmware.noarch 17.168.5.3-62.el7
May 11 05:27:33 Updated: iwl2000-firmware.noarch 18.168.6.1-62.el7
May 11 05:27:33 Updated: iwl1000-firmware.noarch 1:39.31.5.1-62.el7
May 11 05:27:33 Updated: iwl5150-firmware.noarch 8.24.2.2-62.el7
May 11 05:27:33 Updated: libgcc.i686 4.8.5-28.el7
May 11 05:27:33 Updated: nss-softokn-freebl.i686 3.34.0-2.el7
May 11 05:27:34 Updated: glibc.i686 2.17-222.el7
May 11 05:27:34 Updated: libsepol.i686 2.5-8.1.el7
May 11 05:27:34 Updated: libselinux.i686 2.5-12.el7
May 11 05:27:34 Installed: lz4.i686 1.7.5-2.el7
May 11 05:27:34 Updated: audit-libs.i686 2.8.1-3.el7
May 11 05:27:34 Updated: elfutils-libelf.i686 0.170-4.el7
May 11 05:27:35 Updated: elfutils-libs.i686 0.170-4.el7
May 11 05:27:35 Updated: libdb.i686 5.3.21-24.el7
May 11 05:27:35 Updated: pam.i686 1.1.8-22.el7
May 11 05:27:35 Updated: systemd-libs.i686 219-57.el7
May 11 05:27:35 Updated: rdma-core.i686 15-6.el7
May 11 05:27:35 Updated: libstdc++.i686 4.8.5-28.el7
May 11 05:27:35 Updated: libattr.i686 2.4.46-13.el7

While compiling minimap 2 on Centos 7, I got his annoying error :

fatal error: zlib.h: No such file or directory

Missing dependency ! I wish some tool would help out and tell you, what library I was missing, so I could stop making these posts.

As to the solution :

yum install zlib-devel

for debian :

apt-get install libz-dev

 

 

I’m no expert on this, but I had to google everything together so many times, I made a soon-to-be-outdated half-ass guide on how to let users access a samba share on Linux using the windows domain controller “AD” (active directory) or at least how I got it to work. Let me know if it worked out for you or if you hit a brick wall. Perhaps we need to tune the sound a bit ;-).

Dependency’s

They might be needed or not, I have no clue, just install them already.

yum install sssd realmd oddjob oddjob-mkhomedir adcli krb5-workstation openldap-clients policycoreutils-python samba samba-client samba-common samba-common-tools ntpdate ntp

sssd, is a relatively new method of getting the system to talk to the AD server. Samba obviously is needed for creating the windows accessible shares. The last dependency might not be required but its good to make sure if you got issues its not because servers disagree on time/date. Hence, NTP will help set a same date between servers.

Connecting

Or better say lets “join” the dark side of windows. I’m not gone lie, this is pretty ugly, but in Kerbal Space Program’s motto, any landing you can walk away from is called a succes.

First add the domain controller to /etc/hosts this ensures that every connection will go to the right server, irrelevant of DNS, since the hosts file has the highest priority.

# cat /etc/hosts
123.123.123.123 mydomain.at.my.be mydomain

123.123.123.123 should be the IP and mydomain.at.my.be should be the full domain and the last is optional the alias for the domain.

Many guides will also adapt /etc/resolv.conf while I don’t think its needed, we do not take risks here,  resolv.conf is used for looking up the DNS, for this server the domain controller is highly suggested.

# cat /etc/resolv.conf

search my_domain.be
nameserver 123.123.123.123

Adapt as required.

The next step, is making sure the servers have the same time setup, this won’t be an issue for many, but its good practice. Do a ntpdate call to the domain server to get a fix.

# ntpdate domain
4 May 15:47:01 ntpdate[17004]: adjust time server 123.123.123.123 offset 0.015744 sec

Something similar should be shown, after that we can set the service up to take over. If there is a huge difference, perhaps add the domain controller as NTP server. This would be done in /etc/ntp.conf as “server domain iburst“.

systemctl enable ntpd.service
systemctl start ntpd.service

Then finally we are ready to join the domain, this is done using :

realm join --user=domain_admin mydomain

This hopefully, silently ads your computer to the domain (after login), or if it fails it spits errors. After this is silently successful, you will find the realm in the realm list.

# realm list
domain.url
  type: kerberos
  realm-name: DOMAIN.url
  domain-name: DOMAIN.url
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common-tools
  login-formats: %U
  login-policy: allow-realm-logins

note : slightly modified configuration shown.

Configuration

After we got initial connection, its time to setup the configuration, this is done in /etc/sssd/sssd.conf . There are multiple parameters here that can be adapted here. One in particular pops up as having an annoying default set.

use_fully_qualified_names

By default this is set to True, domain users will be identified as “name@domain” instead of “name“. Set False, to drop the @domain

use_fully_qualified_names = False

In a similar way, home directories have a symbol in the name. While this in itself is harmless it can be annoying in script or tools that can’t deal with these symbols. Perhaps some people have multiple domains, but for me its never the case. So I tend to remove the domain entirely. Alternatively you could do something like /home/domain/user /home/%d/%u . Below I use /home/user, such as native users on Linux system. Change /home/%u@%d to /home/%u

fallback_homedir = /home/%u

After edit(s), reload sssd :

systemctl restart sssd

To verify the connection is functional, you can check a random (non-local) AD user :

# id svennd
uid=1406204049(svennd) gid=1406200519(enterprise admins) groups=1406200519(enterprise admins),1406200513(domain users),1406200512(domain admins),1406204598(bioinf users)

At this point, all AD users should be able login using SSH on the system. (if sshd is running)

Samba

OK, now users can login to the server over ssh, but we want to bring a samba share available; so install samba if you did not do this in the first part. Don’t worry I will wait.

yum install samba samba-client samba-common

Now adapt the configuration mostly to your own wishes; This is how I use mine :

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = DOMAIN # CAPITALS make it work, domain controllers need hearing aids
        security = ads # active domain server
        encrypt passwords = yes
        realm = domain_url # adapt to full domain url

        passdb backend = tdbsam # starting this will replace it for user_id issues

        printing = cups
        printcap name = /dev/null # mute annoying errors
        load printers = no 
        cups options = raw
[data]
        valid users = @"domain_group@domain_url"
        path = /data
        public = yes # everyone can see it (if you are able to login)
        writable = yes # evereyone can write here (if you are a valid_user)
        guest ok = no

Important parts here are :

workgroup = DOMAIN

Workgroup has to be the domain.

security = ads

Sets the security as “Active Directory Server”, domain won’t work.

realm = domain_url

Full realm, you can find this using realm list

For restriction you can change the valid users using this syntax :

valid users = @"domain_group@domain_url"

This would only allow users of that group, syntax works for domain groups, local groups just have @devs. Also individual users can be added. Like this :

valid users = @"domain_group@domain_url" @localgroup svennd alice
Pitfalls & debugging

1. Firewall / Iptables

During debugging shut them down and if everything is resolved put them back up. For the firewalld lovers (default) add samba as allowed ports :

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload

For iptables.

2. SELinux

Ow god this again, yes!!! To check if SELinux is enabled, (yes by default, even on minimal) use sestatus :

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Unless you want to disable selinux, you will require the typical voodoo SELinux talk; For any directory where you set a share you need to run :

chcon -t samba_share_t /dir

If you like to have home directories automatically generated if a domain users authenticates (/etc/samba/smb.conf)

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

You need to run :

semanage fcontext -a -t home_root_t /home
semanage fcontext -a -t user_home_dir_t /home
semanage fcontext -a -t user_home_t /home
restorecon -Rv /home

or some other magic.

After all that, you can start samba :

systemctl enable smb
systemctl enable nmb
systemctl start smb
systemctl start nmb

And that’s it. Kudo’s to all the slightly-out-date tutorials.

addition : (helpfull)

https://access.redhat.com/solutions/2221561

I can’t seem to find apcupsd (a ups monitor, that shutdowns computers, before you run out of ups power) on Centos 6, surprisingly on Centos 7 this package is available from epel, but not so for Centos 6. Here is a condense howto get the source and compile it. (mainly for my personal use)

wget https://kent.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.14/apcupsd-3.14.14.tar.gz
tar xvf apcupsd-3.14.14.tar.gz
cd apcupsd-3.14.14
./configure
make
make install

Then follow settings :

Install APCUPSD on Centos 7

Sometimes you want to have newer software on Centos/Red Hat. But its because that slower adoption, we can actually use Centos for so long, and the support they deliver is amazing. That being said, sometimes there is no getting back and you need newer software. Python 3X is such a package. So let’s go ahead and install Python 3.6 using iuscommunity, (Inline with Upstream Stable)

Some developmental tools to compile software from source code :

yum install yum-utils groupinstall development

Add the repository to our pool, then update the repos :

yum install https://centos7.iuscommunity.org/ius-release.rpm
yum update

and install python 3.6

yum install python36u python36u-pip

This adds python 3.6.4 at this time; which can be run :

python3.6

This can be used to install useful tools such as NanoPlot 🙂

pip3.6 install NanoPlot

That’s it 🙂

UUID of hard disk

19 April, 2018

If you ever have been bitten by the changing letters from Linux hard drives, then stop the crying, UUID is here to save the day. Definitely if you fubar’d your installation for the second time and had to reinstall once again, this is a useful tip. Hard disks and virtual raid disks have a UUID, Universally Unique IDentifier.

You can use them to access those drives, in /etc/fstab instead of /dev/sd* names;

You can use the UUID by poking the disk the old fasion way :

blkid /dev/sda1

This returns :

[root@server~]# blkid /dev/sda1
/dev/sda1: UUID="696b8eba-f884-4a0a-8f55-b90df6c56b50" TYPE="xfs" PARTLABEL="primary" PARTUUID="6d0f4e74-2929-4a81-9821-dc318013265c"

This can be added in /etc/fstab instead of /dev/sda1, which can change if you remove or add another hard disk (it can even change between reboots)

/dev/sda1 /data                 xfs defaults 0 0

Can become :

UUID=696b8eba-f884-4a0a-8f55-b90df6c56b50 /data                 xfs defaults 0 0

This works, irrelevant if you change hardware or not. (well not when the disk gets replaced!)

note : beside blkid UUID can also be found in the directory structure by /dev/disk/by-uuid I am however uncertain if this gets populated in less good circumstances (such as grub/recovery/emergency boots)

[root@server ~]# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 265fc00c-2192-46c0-9289-5fc87221d775 -> ../../sdb5
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 2fae283e-98ec-48ea-88c0-226f8c245900 -> ../../sdb4
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 64D3-DD1F -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 696b8eba-f884-4a0a-8f55-b90df6c56b50 -> ../../sda1
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 a2836a81-333a-4c3a-a383-c16e56a4350f -> ../../sdb2
lrwxrwxrwx. 1 root root 10 Apr 19 11:06 c81ca887-d710-4bb4-ab3f-eb38517eadff -> ../../sdb3

 

I have been playing with setting up a Rocks 7 cluster, our compute nodes have 3 disk slots. One should be used for the system, and the other two can be used in a RAID 0, which provides faster read/writes and no redundancy or safety. But for a cluster where data is never “stored” that is fine.

Configuration

To get a custom partition, one needs to copy a file custom-partition.xml to the site-profile directory :

cp /export/rocks/install/rocks-dist/x86_64/build/nodes/custom-partition.xml /export/rocks/install/site-profiles/7.0/nodes/replace-custom-partition.xml

Then the content needs to be adapted. This protocol is based on Red Hat kickstart. I used this config :

<?xml version="1.0" standalone="no"?>
<kickstart roll="base">
<!-- Custom Partitioning Node -->
<pre>
<!-- clean 3 disks, 50gb root, 10gb swap, 10gb /var, raid0 /state/partition1  -->

echo "clearpart --all --initlabel --drives=sda,sdb,sdc
part / --size 50000 --ondisk sda
part swap --size 20000 --ondisk sda
part /var --size 10000 --ondisk sda
part raid.00 --size 1 --grow --ondisk sdb
part raid.01 --size 1 --grow --ondisk sdc
raid /tmp --level=0 --device=md0 raid.00 raid.01" &gt; /tmp/user_partition_info

</pre>
</kickstart>

Beside the xml tags, important are :

clearpart --all --initlabel --drives=sda,sdb,sdc

This initializes the disks, drives should be available under /dev/sd*

part / --size 50000 --ondisk sda

For the root I take a 50GB partition, on the primary disk (system disk)

part raid.00 --size 1 --grow --ondisk sdb

This is where the raid disk get configured, I set it to the maximal size of the disk, be sure to change the –ondisk parameter.

raid /tmp --level=0 --device=md0 raid.00 raid.01

Here you define the raid, if you want to be allot more safer, level=1 would also help with read speed, although at the cost of 50% storage.

&gt; /tmp/user_partition_info

important to note is, that “>” should be encoded otherwise it won’t work. As described in the documentation.

Force reinstall

If like me your cluster is already installed, you are going to want to force this setup on the nodes. Anyways, even if you still need to install the nodes you need to push this configuration into your active distribution you are sending over PXE. This can be done :

cd /export/rocks/install
rocks create distro

In case you already installed some nodes, you need to remove .rocks-release file from each first partition. This can be done using the provided script : (/opt/rocks/nukeit.sh)

for file in $(mount | awk '{print $3}')
do
  if [ -f $file/.rocks-release ]
  then
    rm -f $file/.rocks-release
  fi
done

Then run it : (for compute-0-0!)

ssh compute-0-0 'sh /opt/rocks/nukeit.sh'

Once that is done, you can set the database to remove partition table and reinstall upon next boot.

rocks remove host partition compute-0-0
rocks set host boot action=install compute-0-0

To finish off with a reboot, which in turn will initiate the reinstall.

ssh compute-0-0 'reboot -h now'

Happy computing !

 

I’m writing a “fun” script, and one of the fun commands it executes is Asciiquarium. This is my guide on how I got it working in Centos 6 🙂

First the dependecies :

yum install perl-Curses perl-ExtUtils-MakeMaker

If you miss one, you will get his error :

Can't locate ExtUtils/MakeMaker.pm in @INC

First we need Term::Animation, this can be installed using by downloading and making it locally. Note that make test, will fail due to missing Test::More in Centos, that’s not a big deal, and it will work without it as well.

wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.4.tar.gz
tar -zxvf Term-Animation-2.4.tar.gz
cd Term-Animation-2.4/
perl Makefile.PL && make
make install

After we got that installed, we can download ASCIIQuarium and install it :

wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
tar -zxvf asciiquarium.tar.gz
cd asciiquarium_1.0/
cp asciiquarium /usr/games/
chmod 755 /usr/games/asciiquarium

And there we go running /usr/games/asciiquarium will give you a nice fish aquarium onscreen 🙂

ASCIIQuarium in action

gem: Command not found

19 January, 2018

While installing a ruby package I hit the error :

gem install --version 1.15.4 bundler
make: gem: Command not found
make: *** [setup] Error 127

This can be resolved by installing the package :

yum -y install rubygems-devel

or for the Debian friends

apt-get install rubygems

Happy building 🙂

With the latest stable Rocket Chat (0.60.3) on Centos 7 machine I got this error :

# node main.js
/opt/Rocket.Chat/programs/server/boot.js:50
    const { pause } = require("./debug.js");
          ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/opt/Rocket.Chat/main.js:4:1)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

This can be fixed by installing a few dependency (magic)

npm install -g inherits n

Then it seems to be recommended to run node.js 8.9.3 :

n 8.9.3

After that I got greeted with a well-known issue on Centos … the older GLIBC librarys :

[root@rocket Rocket.Chat]# node main.js
module.js:664
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node)
    at Object.Module._extensions..node (module.js:664:18)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:24:38)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)

Luckily in this case there is a quick and easy workaround, install some build apps in case they are missing :

yum install g++ build-essential

If these are not available you can try :

yum install gcc gcc-c++ make openssl-devel

rebuild node-gyp :

npm install -g node-gyp
cd /opt/Rocket.Chat/programs/server/node_modules/fibers/
node-gyp rebuild
cp -f build/Release/fibers.node bin/linux-x64-57/fibers.node

And rocketchat will boot up again 😀 jippie !

systemctl start rocketchat.service

Happy rocketing ! 🙂

Thanks to stally!