#!/bin/bash --login cryptum_env_file='/etc/profile.d/cryptum_envs.sh' apt update && apt install -y sudo screen apt-utils sudo tee -a $cryptum_env_file << EOF export SSH_AUTH_SOCK=/ssh-agent export CRYPTUM_ROOT='/opt/cryptum' EOF sudo tee -a /etc/profile.d/globals.sh << 'EOF' #!/bin/bash --login export DEBIAN_FRONTEND=noninteractive export TERM=xterm screen_session=`basename -- ${0} .sh` screen_cmd="screen -T xterm -L -S ${screen_session} -d -m sudo /bin/bash --login -c" assess_update_errors='|| echo IMAGE_ABORT && exit 1' debconf_set='/usr/bin/debconf-set-selections' apt="DEBIAN_FRONTEND=noninteractive apt -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confnew'" grok_error() { while true; do # Wait until screen exits session screen -ls | grep $screen_session if [[ $? == 1 ]]; then grep IMAGE_ABORT screenlog.* if [[ $? == 0 ]]; then echo "Failures encountered in $(ls screenlog.*) for ${screen_session} session!!!" cat screenlog.* rm screenlog.* exit 1 else echo "No errors in $(ls screenlog.*) detected...moving onto the next." ls screenlog.* > /dev/null 2>&1 if [[ $? == 0 ]]; then rm screenlog.* fi break fi else printf '.' sleep 9 fi done } EOF sudo chmod 755 /etc/profile.d/globals.sh