#! /bin/bash

# Pre-install IPA-masterserver check

failexit()
{
    echo -e "$1"
    exit 1
}

# First check rpms

[ ! $(which ipa-server-install 2> /dev/null) ] && failexit "Не найден файл ipa-server-install, \nне установлен пакет freeipa-server"
[ ! $(which ipa-dns-install 2> /dev/null) ] && failexit "Не найден файл ipa-dns-install, \nне установлен пакет freeipa-server-dns"

# Is /dev/urandom exists
[[ ! -c /dev/urandom ]] && failexit "Не найдено устройство /dev/urandom\nвероятная причина - не отключенный SELinux во время установки rpm, обратитесь к руководству"

# Check ddns in bind conf
CONFF=/etc/bind/local.conf
cat "$CONFF" | sed '/^ *#/d; /^ *$/d; /^ *\/\//d' | grep -q '/etc/bind/ddns.conf' \
&& failexit "Файл $CONFF содержит ссылку на файл /etc/bind/ddns.conf, \nобычно это означает наличие сконфигурированных прямой и обратной зон средствами ddns, что не допустимо"

# FQDN /etc/hosts
HNAME=$(hostnamectl |grep "Static hostname")
HNAME=${HNAME#*: }
echo "Имя хоста, выдаваемое командой hostnamectl \"$HNAME\""
echo "Имя хоста \$HOSTNAME \"$HOSTNAME\""
[[ "$HNAME" != "$HOSTNAME" ]] && failexit "Имена не совпадают, обычно достаточно выполнить перезагрузку"

if [ -n "$(cat /etc/hosts |grep -Ev '^\s*(;|$|#)' | grep "${HOSTNAME%%.*}" |grep "127.0.0.1")" ]; then
    failexit "Имя $HOSTNAME назначено на адрес 127.0.0.1 \nВнесите изменения"
fi

