diff --git a/simpleadmin/console/menu/change_hostname.sh b/simpleadmin/console/menu/change_hostname.sh index 3e47d08..3012e67 100644 --- a/simpleadmin/console/menu/change_hostname.sh +++ b/simpleadmin/console/menu/change_hostname.sh @@ -35,24 +35,33 @@ echo "$new_hostname" > /etc/hostname sed -i "s/127.0.1.1.*$/127.0.1.1\t$new_hostname/g" /etc/hosts hostname "$new_hostname" -# Create and enable the hostname service +# Create the hostname service cat > /lib/systemd/system/set-hostname.service << EOF [Unit] -Description=Set system hostname at boot +Description=Set system hostname [Service] Type=oneshot -ExecStartPre=/bin/sleep 10 ExecStart=/bin/sh -c 'hostname \$(cat /etc/hostname)' RemainAfterExit=yes +EOF + +# Create the hostname timer +cat > /lib/systemd/system/set-hostname.timer << EOF +[Unit] +Description=Set hostname 30 seconds after boot + +[Timer] +OnBootSec=30sec +Unit=set-hostname.service [Install] -WantedBy=multi-user.target +WantedBy=timers.target EOF systemctl daemon-reload -systemctl enable set-hostname.service -systemctl start set-hostname.service +systemctl enable set-hostname.timer +systemctl start set-hostname.timer remount_ro