#!/bin/bash # This is invoked by qubes-early-vm-config.service. # It happens after local-fs.target is reached # but before sysinit.target is reached. # Source Qubes library. # shellcheck source=init/functions . /usr/lib/qubes/init/functions # Set the hostname if ! is_protected_file /etc/hostname ; then name=$(qubesdb-read /name) if [ -n "$name" ]; then hostname "$name" if [ -e /etc/debian_version ]; then ipv4_localhost_re="127\.0\.1\.1" else ipv4_localhost_re="127\.0\.0\.1" fi sed -i "s/^\($ipv4_localhost_re\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts sed -i "s/^\(::1\(\s.*\)*\s\).*$/\1${name}/" /etc/hosts fi fi # Set the timezone if ! is_protected_file /etc/timezone ; then timezone=$(qubesdb-read /qubes-timezone 2> /dev/null) if [ -n "$timezone" ]; then ln -sf ../usr/share/zoneinfo/"$timezone" /etc/localtime if [ -e /etc/debian_version ]; then echo "$timezone" > /etc/timezone elif test -d /etc/sysconfig ; then echo "# Clock configuration autogenerated based on Qubes dom0 settings" > /etc/sysconfig/clock echo "ZONE=\"$timezone\"" >> /etc/sysconfig/clock fi fi fi