From 099a41d028860e60a2dadb1d98e7cc0492b54042 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Tue, 29 Apr 2025 21:32:53 +0200 Subject: [PATCH] Fix. --- bookworm/preseed.cfg | 110 +++++++++++++------ bookworm/scripts/lib/apt_get_edited | 4 +- bookworm/scripts/lib/core_setup | 16 +-- bookworm/scripts/lib/ensure_packages_of_tags | 2 +- bookworm/scripts/setup_catgirl.sh | 6 +- bookworm/scripts/setup_seedbox.sh | 4 +- bookworm/scripts/setup_server.sh | 34 ++++-- testing/scripts/_setup_secrets_user.sh | 8 +- testing/scripts/init_server_access.sh | 22 ++-- testing/scripts/setup_desktop.sh | 10 +- testing/scripts/setup_secrets.sh | 2 +- trixie/scripts/from_older_upgrade.sh | 12 +- 12 files changed, 141 insertions(+), 89 deletions(-) diff --git a/bookworm/preseed.cfg b/bookworm/preseed.cfg index 2905302..4cb6c50 100644 --- a/bookworm/preseed.cfg +++ b/bookworm/preseed.cfg @@ -1,49 +1,76 @@ #_preseed_V1 -# "Keymap to use" -d-i keyboard-configuration/xkb-keymap select us - -# "Select a language" +# "Choose language" +# "Choose language"->"Select a language"->"Language:" d-i debian-installer/language string en +# "Choose language"->"Select your location"->"Country, territory or area:" d-i debian-installer/country string US +# "Choose language"->"Configure locales"->"Country to base default locale settings on:" d-i debian-installer/locale string en_US.UTF-8 +# "Choose language"->"Configure locales"->"Additional locales:" d-i localechooser/supported-locales multiselect -# "Configure the clock" -d-i clock-setup/ntp boolean false -d-i time/zone select UTC +# "Configure the keyboard" +# "Configure the keyboard"->"Keymap to use:" +d-i keyboard-configuration/xkb-keymap select us +# "Detect and mount installation media" +# "Load debconf preconfiguration file" # "Load installer components from installation media" +# "Load installer components from installation media"->"Installer components to load:" d-i anna/choose_modules multiselect # "Detect network hardware" + # "Configure the network" +# "Configure the network"->"Waiting time (in seconds) for link detection:" (run once for each interface) d-i netcfg/link_wait_timeout string 3 +# "Configure the network"->"Primary network interface:" d-i netcfg/choose_interface select auto -# d-i netcfg/wireless_essid string REPLACE_WITH_WIFI_ESSID -# d-i netcfg/wireless_essid seen true +# "Configure the network"->"Wireless network:" d-i netcfg/wireless_show_essids select REPLACE_WITH_WIFI_ESSID +### TODO: make expert installer skip the ESSID selection since we already know what we want, above attempt at least pre-selected the ESSID in the select list, following attempts helped nothing: +###d-i netcfg/wireless_essid string REPLACE_WITH_WIFI_ESSID +###d-i netcfg/wireless_essid seen true +# "Configure the network"->"Wireless network type for wlp0s20f3:" d-i netcfg/wireless_security_type select wpa +# "Configure the network"->"WPA/WPA2 passphrase for wireless device wlp0s20f3:" d-i netcfg/wireless_wpa string REPLACE_WITH_WIFI_PASSWORD +# "Configure the network"->"Auto-configure networking?" d-i netcfg/use_autoconfig boolean true +# "Configure the network"->"Waiting time (in seconds) for link detection:" +# "Configure the network"->"Hostname:" d-i netcfg/get_hostname string unassigned-hostname +# "Configure the network"->"Domain name:" d-i netcfg/get_domain string unassigned-domain # "Set up users and passwords" +# "Set up users and passwords"->"Allow login as root?" d-i passwd/root-login boolean true +# "Set up users and passwords"->"Root password:" d-i passwd/root-password password REPLACE_WITH_ROOT_PASSWORD +# "Set up users and passwords"->"Re-enter password to verify:" d-i passwd/root-password-again password REPLACE_WITH_ROOT_PASSWORD +# "Set up users and passwords"->"Create a normal user account now?" user-setup-udeb passwd/make-user boolean false +# "Configure the clock"->"Set the clock using NTP?" +d-i clock-setup/ntp boolean false +# "Configure the clock"->"Select your time zone:" +d-i time/zone select UTC + # "Detect disks" + # "Partition disks" -# "Partition disks":"Partitioning method:"/"Guided - use entire disk and set up encrypted LVM" +# "Partition disks"->"Partitioning method:" d-i partman-auto/init_automatically_partition select 70some_device_crypto__________crypto -# "Partition disks":"Select disk to partition:"/"/dev/nvme0n1 - 512.1 GB SAMSUNG MZVLB512HBJQ-000L7" -#d-i partman-auto/disk string /dev/nvme0n1p3 -#d-i partman-auto/disk string /dev/nvme0n1 -#d-i partman-auto/select_disk select /var/lib/partman/devices/=dev=nvme0n1 -# "Partition disks":"Partitioning scheme:"/"All files in one partition (recommended for new users)" +# "Partition disks"->"Select disk to partition:" +### TODO: find how to skip this screen, following attempts failed: +###d-i partman-auto/disk string /dev/nvme0n1p3 +###d-i partman-auto/disk string /dev/nvme0n1 +###d-i partman-auto/select_disk select /var/lib/partman/devices/=dev=nvme0n1 +# "Partition disks"->"Partitioning scheme:" +d-i partman-auto/choose_recipe select custom-crypto d-i partman-auto/expert_recipe string custom-crypto :: \ 538 538 1075 free \ $iflabel{ gpt } \ @@ -71,59 +98,74 @@ d-i partman-auto/expert_recipe string custom-crypto :: \ $reusemethod{ } \ method{ swap } \ format{ } . -d-i partman-auto/choose_recipe select custom-crypto -# "Partition disks"/"Write the changes to disks and configure LVM?" +# "Partition disks"->"Write the changes to disks and configure LVM?" d-i partman-lvm/confirm boolean true -# "Partition disks"/"Erasing data on /dev/nvme0n1p3:" +# "Partition disks"->"Erasing data on /dev/nvme0n1p3" d-i partman-auto-crypto/erase_disks boolean false -# "Partition disks"/"Encryption passphrase:" -# "Partition disks"/Name of the volume group for the new system:" +# "Partition disks"->"Encryption passphrase:" +# "Partition disks"->"Re-enter passphrase to verify:" +# "Partition disks"->"Name of the volume group for the new system:" d-i partman-auto-lvm/new_vg_name string plomvg -# "Partition disks"/"Amount of volume group to use for guided partitioning:" +# "Partition disks"->"Amount of volume group to use for guided partitioning:" d-i partman-auto-lvm/guided_size string max -# "Partition disks"/"Finish partitioning and write changes to disk" +# "Partition disks"/"This is an overview of your currently configured partitions and …" +### TODO: find whatever auto-selects "Finish partitioning and write changes to disk" # "Partition disks"/"Write the changes to disks?" d-i partman/confirm boolean true # "Install the base system" +# "Install the base system"->"Kernel to install:" d-i base-installer/kernel/image string linux-image-amd64 +# "Install the base system"->"Drivers to include in the initrd:" d-i base-installer/initramfs-tools/driver-policy most -#d-i base-installer/install-recommends boolean false + +d-i base-installer/install-recommends boolean false # "Configure the package manager" +# "Configure the package manager"->"Use a network mirror?" d-i apt-setup/use_mirror boolean true +# "Configure the package manager"->"Protocol for file downloads:" d-i mirror/protocol string http -d-i mirror/http/proxy string -# "Configure the package manager"/"Debian archive mirror country:"->"United States" +# "Configure the package manager"->"Debian archive mirror country:" d-i mirror/http/countries select US -#d-i mirror/http/countries select United States -d-i mirror/http/countries seen true -# "Configure the package manager"/"Debian archive mirror:" +# "Configure the package manager"->"Debian archive mirror:" d-i mirror/http/mirror select deb.debian.org -d-i apt-setup/enable-source-repositories true +# "Configure the package manager"->"HTTP proxy information (blank for none):" +d-i mirror/http/proxy string +# "Configure the package manager"->"Use non-free firmware?" d-i apt-setup/non-free-firmware boolean true +# "Configure the package manager"->"Use non-free software?" d-i apt-setup/non-free boolean true -d-i apt-setup/contrib boolean true +# "Configure the package manager"->"Enable source repositories in APT?" +d-i apt-setup/enable-source-repositories true +# "Configure the package manager"->"Services to use:" d-i apt-setup/services-select multiselect security, updates +#d-i mirror/http/countries seen true +#d-i apt-setup/contrib boolean true # "Select and install software" -# "Configuring discover":"Updates management on this system:"/"No automatic updates" +# "Configuring discover"->"Updates management on this system:" d-i pkgsel/update-policy select No automatic updates -# "Configuring popularity-contest":"Participate in the package usage survey?" +# "Configuring popularity-contest"->"Participate in the package usage survey?" d-i popularity-contest/participate boolean false -# "Software selection":"Choose software to install"/("Debian desktop environment" etc.) +# "Software selection":"Choose software to install:" d-i pkgsel/run_tasksel boolean false -d-i pkgsel/include string git d-i pkgsel/upgrade select none # "Install the GRUB boot loader" +# "Install the GRUB boot loader"->"Force GRUB installation to the EFI removable media path?" d-i grub-installer/force-efi-extra-removable false +# "Install the GRUB boot loader"->"Update NVRAM variables to automatically boot into Debian?" d-i grub-installer/update-nvram true +# "Install the GRUB boot loader"->"Run os-prober automatically to detect and booth other OSes?" d-i grub-installer/enable_os_prober_otheros_no false # "Finish the installation" +# "Finish the installation"->"Is the system clock set to UTC?" clock-setup clock-setup/utc boolean true +# "Finish the installation"->"Please choose to reboot." d-i finish-install/reboot_in_progress note # config script +d-i pkgsel/include string git,ca-certificates d-i preseed/late_command string echo -e "#!/usr/bin/sh\nset -e\ngit clone https://plomlompom.com/repos/clone/config\nconfig/testing/scripts/setup_desktop.sh t490s" > /target/root/run.sh && chmod a+x /target/root/run.sh diff --git a/bookworm/scripts/lib/apt_get_edited b/bookworm/scripts/lib/apt_get_edited index 97a216e..f8e948f 100644 --- a/bookworm/scripts/lib/apt_get_edited +++ b/bookworm/scripts/lib/apt_get_edited @@ -55,7 +55,7 @@ DEBIAN_FRONTEND=noninteractive apt-get -y $1 2>&1 | while read _LINE; do if [ ! -z "${_LAST_PREFIX}" ]; then echo '' fi - echo -n "\r· ${_PREFIX}" + echo -n "\r# ${_PREFIX}" fi _IDX_ITEM=$(echo "${_WHITESPACED}" | cut -d' ' -f2) _CUTOFF=$(echo "${_WHITESPACED}" | cut -d' ' -f3) @@ -73,7 +73,7 @@ DEBIAN_FRONTEND=noninteractive apt-get -y $1 2>&1 | while read _LINE; do if [ ! -z "${_LAST_PREFIX}" ]; then echo '' fi - echo "\r# ${_LINE}" + echo "\r ${_LINE}" _LAST_PREFIX='' fi done diff --git a/bookworm/scripts/lib/core_setup b/bookworm/scripts/lib/core_setup index 9440541..2a8eda1 100644 --- a/bookworm/scripts/lib/core_setup +++ b/bookworm/scripts/lib/core_setup @@ -10,7 +10,7 @@ core_setup() { _EXTERNAL_IP="$3" _INSTALL_TAGS="$4" - echo "· Installing and/or keeping only what's required by us or Debian." + echo "# Installing and/or keeping only what's required by us or Debian." # mark non-requireds auto _PATH_LIST_PREFIX=/tmp/list_ @@ -29,23 +29,23 @@ core_setup() { # before purging, ensure tagged packages installed ensure_packages_of_tags ${_INSTALL_TAGS} - echo '· Autoremove and purge …' + echo '# Autoremove and purge …' apt_get_edited '-q -q autopurge' - echo '· And now: dist-upgrade …' + echo '# And now: dist-upgrade …' apt_get_edited '-q -q dist-upgrade' - echo "· Setting up user: ${USERNAME}" + echo "# Setting up user: ${USERNAME}" adduser --quiet --disabled-password --gecos "" "${USERNAME}" usermod -a -G sudo "${USERNAME}" - echo '· Copying over files, directories …' + echo '# Copying over files, directories …' copy_dirtrees_of_tags ${_INSTALL_TAGS} - echo '· Setting hostname …' + echo '# Setting hostname …' echo "${_HOSTNAME}" > "${PATH_ETC}/hostname" hostname "${_HOSTNAME}" - echo "· Adapting ${_PATH_HOSTS} …" + echo "# Adapting ${_PATH_HOSTS} …" _PATH_HOSTS="${PATH_ETC}/hosts" if [ -z "${_FQDN}" ]; then sed -i 's/REPLACE_WITH_FQDN/REPLACE_WITH_HOSTNAME.local REPLACE_WITH_HOSTNAME.localdomain/g' "${_PATH_HOSTS}" @@ -55,6 +55,6 @@ core_setup() { fi sed -i 's/REPLACE_WITH_HOSTNAME/'"${_HOSTNAME}"'/g' "${_PATH_HOSTS}" - echo '· Syncing clock …' + echo '# Syncing clock …' ntpdate-debian -s } diff --git a/bookworm/scripts/lib/ensure_packages_of_tags b/bookworm/scripts/lib/ensure_packages_of_tags index 849f76b..a3c0165 100644 --- a/bookworm/scripts/lib/ensure_packages_of_tags +++ b/bookworm/scripts/lib/ensure_packages_of_tags @@ -13,7 +13,7 @@ ensure_packages_of_tags() { for _PACKAGE in ${_PACKAGES}; do _PROCESSED="${_PROCESSED} ${_PACKAGE}" _NTH=$(echo "${_PROCESSED}" | wc -w) - echo -n "\rFor tag '${_TAG}', ensuring installation of (${_NTH}/${_N_PACKAGES}):${_PROCESSED}" + echo -n "\r# For tag '${_TAG}', ensuring installation of (${_NTH}/${_N_PACKAGES}):${_PROCESSED}" apt-get -y -o Dpkg::Options::="--force-confnew" install "${_PACKAGE}" > /dev/null done done diff --git a/bookworm/scripts/setup_catgirl.sh b/bookworm/scripts/setup_catgirl.sh index 889d8b9..b12c9a9 100755 --- a/bookworm/scripts/setup_catgirl.sh +++ b/bookworm/scripts/setup_catgirl.sh @@ -13,12 +13,12 @@ check_finished_marker 'setup_server' install_tags catgirl PATH_USER_CONF_CATGIRL="${PATH_USER_HOME}/.config/catgirl/libera" -echo "\n· Writing provided password into ${PATH_USER_CONF_CATGIRL} …" +echo "\n# Writing provided password into ${PATH_USER_CONF_CATGIRL} …" sed -i "s/REPLACE_WITH_IRC_PASSWORD/${IRC_PASSWORD}/g" "${PATH_USER_CONF_CATGIRL}" -echo "· Activating catgirl tmux session service …" +echo "# Activating catgirl tmux session service …" systemctl enable --now catgirl -echo "· Activating catgirl logs encryption service/timer …" +echo "# Activating catgirl logs encryption service/timer …" systemctl enable --now encrypt_catgirl_logs.timer diff --git a/bookworm/scripts/setup_seedbox.sh b/bookworm/scripts/setup_seedbox.sh index 12f0d4b..36dce2c 100755 --- a/bookworm/scripts/setup_seedbox.sh +++ b/bookworm/scripts/setup_seedbox.sh @@ -10,8 +10,8 @@ expect_n_args 0 0 '' $@ check_finished_marker 'setup_server' install_tags seedbox -echo '· Setting up upload user/directory …' +echo '# Setting up upload user/directory …' adduser --quiet --system --home /home/upload upload -echo '· Activating rtorrent tmux session service …' +echo '# Activating rtorrent tmux session service …' #systemctl enable --now rtorrent diff --git a/bookworm/scripts/setup_server.sh b/bookworm/scripts/setup_server.sh index d36a9ff..e3aff7f 100755 --- a/bookworm/scripts/setup_server.sh +++ b/bookworm/scripts/setup_server.sh @@ -21,22 +21,32 @@ PATH_CADDYFILE="${PATH_ETC}/caddy/Caddyfile" PATH_CADDY_REPO='https://dl.cloudsmith.io/public/caddy/stable' PATH_DUMP='/var/www/dump' -echo -n '· Determining IP …' -EXTERNAL_IP=$(hostname -I | cut -d' ' -f1) +echo -n '# Determining external IP …' +for _CANDIDATE in $(hostname -I); do + _START=$(echo ${_CANDIDATE} | cut -d'.' -f1) + if [ "$(echo -n ${_START} | wc -c)" -gt 3 ]; then + continue + fi + if [ "${_START}" = "127" -o "${_START}" = "192" -o "${_START}" = "172" ]; then + continue + fi + EXTERNAL_IP="${_CANDIDATE}" + break +done echo " it's: ${EXTERNAL_IP}" if [ ! -z "${FQDN}" ]; then - echo "· Ensuring provided FQDN ${FQDN} maps to it …" + echo "# Ensuring provided FQDN ${FQDN} maps to it …" IP_BY_DNS=$(getent ahostsv4 "${FQDN}" | head -1 | cut -d' ' -f1) if [ ! "${IP_BY_DNS}" = "${EXTERNAL_IP}" ]; then abort "DNS mapping provided FQDN '${FQDN}' to ${IP_BY_DNS} rather than this system's external IP ${EXTERNAL_IP}." fi fi -echo '· Ensure we have curl (for caddy installation preparation) …' +echo '# Ensure we have curl (for caddy installation preparation) …' apt-get -y install curl > /dev/null PATH_CURL_ERROR="$(path_tmp_timestamped curl_error)" -echo '· Retrieve caddy repo key …' +echo '# Retrieve caddy repo key …' set +e curl -1Lf "${PATH_CADDY_REPO}/gpg.key" 2> "${PATH_CURL_ERROR}" | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg RESULT="$?" @@ -46,28 +56,28 @@ if [ "${RESULT}" != '0' ]; then exit 1 fi PATH_APT_CADDY_REPO='/etc/apt/sources.list.d/caddy-stable.list' -echo "· Adding caddy repo to ${PATH_APT_CADDY_REPO} …" +echo "# Adding caddy repo to ${PATH_APT_CADDY_REPO} …" curl -1LfsS "${PATH_CADDY_REPO}/debian.deb.txt" > "${PATH_APT_CADDY_REPO}" core_setup "${HOSTNAME}" "${FQDN}" "${EXTERNAL_IP}" "${INSTALL_TAGS}" -echo '· Moving SSH data from root to user …' +echo '# Moving SSH data from root to user …' mkdir -p "${PATH_USER_SSH}" mv "/root/${PATH_REL_SSH}/authorized_keys" "${PATH_USER_SSH}/" chown -R "${USERNAME}:${USERNAME}" "${PATH_USER_SSH}" -echo '· Setting up minimal borg user …' +echo '# Setting up minimal borg user …' adduser --quiet --system --home "${PATH_BORG_HOME}" --shell /bin/sh borg cp -a "${PATH_USER_SSH}" "${PATH_BORG_HOME}/" chown -R borg:nogroup "${PATH_BORG_HOME}/${PATH_REL_SSH}" -echo '· Enabling firewall …' +echo '# Enabling firewall …' systemctl --quiet enable --now nftables -echo "· Creating web-accessible directories …" +echo "# Creating web-accessible directories …" mkdir -p "${PATH_DUMP}/private" "${PATH_DUMP}/public" -echo "· Adapting ${PATH_CADDYFILE} …" +echo "# Adapting ${PATH_CADDYFILE} …" CADDY_PW_HASH=$(caddy hash-password --plaintext "${CADDY_PASSWORD}") if [ -z "${FQDN}" ]; then ADDRESS_TO_CADDY="${EXTERNAL_IP}" @@ -77,7 +87,7 @@ fi sed -i 's|REPLACE_WITH_HASH|'"${CADDY_PW_HASH}"'|g' "${PATH_CADDYFILE}" sed -i 's/REPLACE_WITH_FQDN/'"${ADDRESS_TO_CADDY}"'/g' "${PATH_CADDYFILE}" -echo "· Restarting caddy …" +echo "# Restarting caddy …" systemctl reload caddy put_finished_marker 'setup_server' diff --git a/testing/scripts/_setup_secrets_user.sh b/testing/scripts/_setup_secrets_user.sh index 5bb4168..e59bf25 100644 --- a/testing/scripts/_setup_secrets_user.sh +++ b/testing/scripts/_setup_secrets_user.sh @@ -27,7 +27,7 @@ mount_secrets "$1" # sets PASSPHRASE copy_and_unmount_secrets 'in' export BORG_PASSPHRASE="${PASSPHRASE}" -echo "\n· Setting up ~/.ssh …" +echo "\n# Setting up ~/.ssh …" cp -a "${PATH_SECRETS_SSH}" "${PATH_USER_SSH}" eval $(ssh-agent) stty -echo @@ -36,7 +36,7 @@ retry_until 1 'echo ""' 'ssh-add -q' 'echo "Aborting due to ssh-add error"' stty echo trapp -echo "\n\n· Setting up ~/repos …" +echo "\n\n# Setting up ~/repos …" REPOS_SITE_LOGIN="${USERNAME}@${REPOS_SITE_DOMAIN}" mkdir "${PATH_REPOS}" cd "${PATH_REPOS}" @@ -45,11 +45,11 @@ ssh ${REPOS_SITE_LOGIN} "cd ${REMOTE_PATH_REPOS} && ls -1" | while read REPO_NAM done cd - > /dev/null -echo "\n· Setting up borg and pull in ~/org …" +echo "\n# Setting up borg and pull in ~/org …" cd "${PATH_SECRETS_BORGKEYS}" ls -1 | while read _FILENAME; do "${NAME_BORGAPP}" claim "${_FILENAME}" done cd - -retry_until 2 '' "${NAME_BORGAPP} orgpull" "echo '· Aborting due to unexpected ${NAME_BORGAPP} error.'" '' 'direct' +retry_until 2 '' "${NAME_BORGAPP} orgpull" "echo '# Aborting due to unexpected ${NAME_BORGAPP} error.'" '' 'direct' echo "${_OUTPUT}" diff --git a/testing/scripts/init_server_access.sh b/testing/scripts/init_server_access.sh index 7c470ad..051a2f6 100755 --- a/testing/scripts/init_server_access.sh +++ b/testing/scripts/init_server_access.sh @@ -2,7 +2,7 @@ set -e cd $(dirname "$0") . lib/abort_if_command_unknown -. lib/constants_ssh # PATH_USER_SSH +. lib/constants_ssh # PATH_REL_SSH, PATH_USER_SSH . lib/expect_n_args . lib/path_tmp_timestamped . lib/trapp @@ -14,14 +14,14 @@ expect_n_args 1 2 'SERVER [ROOT_LOGIN_PW]' $@ SERVER="$1" ROOT_LOGIN_PW="$2" if [ ! -z "${ROOT_LOGIN_PW}" ]; then - echo '· Provided ROOT_LOGIN_PW, so will later try to log-in with that and place local key file …' + echo '# Provided ROOT_LOGIN_PW, so will later try to log-in with that and place local key file …' abort_if_command_unknown sshpass fi -echo "· In ${PATH_KNOWN_HOSTS}, removing previous entry for ${SERVER} if found …" +echo "# In ${PATH_KNOWN_HOSTS}, removing previous entry for ${SERVER} if found …" ssh-keygen -f "${PATH_KNOWN_HOSTS}" -R "${SERVER}" > /dev/null -echo '· Scanning server for new key to add to file …' +echo '# Scanning server for new key to add to file …' PATH_LOG_KEYSCAN_STDERR=$(path_tmp_timestamped) CMD_RM_LOG="rm ${PATH_LOG_KEYSCAN_STDERR}" set +e @@ -30,7 +30,7 @@ RESULT=$? set -e trapp "${CMD_RM_LOG}" if [ "${RESULT}" != "0" ]; then - echo "· ERROR: For some reason ssh-keyscan returned non-zero exit code, here's the stderr log:" + echo "# ERROR: For some reason ssh-keyscan returned non-zero exit code, here's the stderr log:" cat "${PATH_LOG_KEYSCAN_STDERR}" exit "${RESULT}" fi @@ -39,14 +39,14 @@ trapp SSH_TARGET="root@${SERVER}" if [ ! -z "${ROOT_LOGIN_PW}" ]; then - echo '· Logging in with provided password to place local key file …' + echo '# Logging in with provided password to place local key file …' SSHPASS="${ROOT_LOGIN_PW}" sshpass -e scp "${PATH_USER_SSH}/id_rsa.pub" "root@${SERVER}:~/${PATH_REL_SSH}/authorized_keys" fi CMD_SSH="ssh ${SSH_TARGET}" CMD_STTY_ECHO='stty echo' -echo '· On server, asking for new root password …' +echo '# On server, asking for new root password …' stty echonl stty -echo trapp "${CMD_STTY_ECHO}" @@ -54,13 +54,13 @@ ${CMD_SSH} 'passwd' ${CMD_STTY_ECHO} trapp -echo '· On server, updating package database …' +echo '# On server, updating package database …' ${CMD_SSH} 'apt-get -q -q update' -echo '· On server, installing git …' +echo '# On server, installing git …' ${CMD_SSH} 'DEBIAN_FRONTEND=noninteractive apt-get -y install git > /dev/null' -echo '· On server, pulling config repo …' +echo '# On server, pulling config repo …' ${CMD_SSH} "git clone -q ${URL_REPO_CLONE}" -echo "· Server ready, log in with: ssh root@${SERVER}" +echo "# Server ready, log in with: ssh root@${SERVER}" diff --git a/testing/scripts/setup_desktop.sh b/testing/scripts/setup_desktop.sh index c26024f..926bd40 100755 --- a/testing/scripts/setup_desktop.sh +++ b/testing/scripts/setup_desktop.sh @@ -56,24 +56,24 @@ adopt_wifi_connection() { fi } -echo "\n· Upgrading to testing …" +echo "\n# Upgrading to testing …" ./from_older_upgrade.sh # NB: This needs to come before steps potentially overwriting /etc/network/interfaces. apt-get -y install network-manager > /dev/null if [ "$(nmcli -f TYPE conn | grep 'wifi' | wc -l)" = "0" ]; then - echo "\n· Checking for existing wifi config in ${PATH_NETWORK_INTERFACES} …" + echo "\n# Checking for existing wifi config in ${PATH_NETWORK_INTERFACES} …" adopt_wifi_connection else - echo "\n· Already know wifi connection, nothing to add …" + echo "\n# Already know wifi connection, nothing to add …" fi core_setup "${SYSTEM_NAME}" "" "" "${INSTALL_TAGS}" -echo '\n· Ensuring our desired locale is available …' +echo '\n# Ensuring our desired locale is available …' locale-gen -echo '\n· Final user setup …' +echo '\n# Final user setup …' adduser --quiet plom plugdev # so user may use pmount passwd "${USERNAME}" diff --git a/testing/scripts/setup_secrets.sh b/testing/scripts/setup_secrets.sh index dc715fa..fe398be 100755 --- a/testing/scripts/setup_secrets.sh +++ b/testing/scripts/setup_secrets.sh @@ -13,7 +13,7 @@ PATH_REL_SETUP_SECRETS_USER="$(basename ${PATH_CONF})/$(basename ${PATH_SCRIPTS} PATH_REPO="$(dirname ${PATH_CONF})" PATH_TMP_REPO="$(path_tmp_timestamped configrepo)" -echo "· Setting up config repo copy for user at ${PATH_TMP_REPO} …" +echo "# Setting up config repo copy for user at ${PATH_TMP_REPO} …" cp -a "${PATH_REPO}" "${PATH_TMP_REPO}" chown -R "${USERNAME}:${USERNAME}" "${PATH_TMP_REPO}" su -l "${USERNAME}" -c "/bin/sh ${PATH_TMP_REPO}/${PATH_REL_SETUP_SECRETS_USER} $1" diff --git a/trixie/scripts/from_older_upgrade.sh b/trixie/scripts/from_older_upgrade.sh index 6a90594..3d8daea 100755 --- a/trixie/scripts/from_older_upgrade.sh +++ b/trixie/scripts/from_older_upgrade.sh @@ -14,27 +14,27 @@ apt-get -y autoremove apt-listchanges > /dev/null apt-get -q -q -y install calc > /dev/null apt_update_to_full_upgrade() { - echo '· Updating package database …' + echo '# Updating package database …' apt_get_edited '-q -q update' - echo '· Soft-upgrading …' + echo '# Soft-upgrading …' apt_get_edited '-q -q -o Dpkg::Options::=--force-confnew upgrade' - echo '· Full-upgrading …' + echo '# Full-upgrading …' apt_get_edited '-q -q -o Dpkg::Options::=--force-confnew full-upgrade' } PATH_CONF_MIN_DEPS="${PATH_COPY_TAG}${PATH_ETC_APT_CONF}/99_minimize_dependencies" -echo "· Copying over ${PATH_CONF_MIN_DEPS} …" +echo "# Copying over ${PATH_CONF_MIN_DEPS} …" cp "${PATH_CONF_MIN_DEPS}" "${PATH_ETC_APT_CONF}/" apt_update_to_full_upgrade PATH_CONF_SOURCES="${PATH_COPY_TAG}${PATH_ETC_APT}/sources.list" -echo "· Copying over ${PATH_CONF_SOURCES} …" +echo "# Copying over ${PATH_CONF_SOURCES} …" cp "${PATH_CONF_SOURCES}" "${PATH_ETC_APT}/" apt_update_to_full_upgrade -echo '· Purging …' +echo '# Purging …' apt_get_edited '-q -q autopurge' -- 2.30.2