Newer
Older
#!/bin/bash
source /root/envsetup/global-conf.sh
DEBIAN_FRONTEND=noninteractive
export DEBIAN_FRONTEND
apt-get update
# move 50unattended-upgrades conf if any
if [ -f /etc/apt/apt.conf.d/50unattended-upgrades.ucf-dist ]; then
mv /etc/apt/apt.conf.d/50unattended-upgrades.ucf-dist /etc/apt/apt.conf.d/50unattended-upgrades
fi
# update sources.list
rm -f /etc/apt/sources.list~
echo "Updating /etc/apt/sources.list file."
cp sources16.list /etc/apt/sources.list
if ( rgrep '14.04' /etc/lsb-release >/dev/null ); then
sed -i 's@xenial@trusty@' /etc/apt/sources.list
elif ( rgrep '18.04' /etc/lsb-release >/dev/null ); then
sed -i 's@xenial@bionic@' /etc/apt/sources.list
fi
# modify sources.list to use ubicast cache
if ( ! test -z ${APT_CACHE_URL} ); then
if ( ! grep "${APT_CACHE_URL}" /etc/apt/sources.list >/dev/null ); then
echo "Updating /etc/apt/sources.list to use cache ${APT_CACHE_URL}."
sed -i "s@http://@${APT_CACHE_URL}@" /etc/apt/sources.list
fi
fi
# update packages
apt-get update
apt-get install -f -y -o Dpkg::Options::="--force-confold"
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold"
apt-get install -y apt-transport-https
apt-get autoremove -y
# migrate to Ubuntu 16.04 if needed
if ( rgrep '14.04' /etc/lsb-release >/dev/null ); then
echo "Upgrading to Ubuntu 16.04."
sed -i 's@trusty@xenial@' /etc/apt/sources.list
apt-get update
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" || apt-get install -f -y -o Dpkg::Options::="--force-confold"
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold" || apt-get install -f -y -o Dpkg::Options::="--force-confold"
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold"
apt-get autoremove -y
echo "16.04 migration ok."
echo "The server is rebooting, please wait at least 2 minutes"
echo " before restarting the script to continue the configuration."
echo "Date: $(date)."
echo "Ignore the following message about reboot problem if any."
reboot
exit 1
fi
systemctl unmask nginx || true
# APT panel
if ( ! test -z ${SKYREACH_API_KEY} ); then
echo "Adding skyreach.list to APT sources."
wget -q "https://${SKYREACH_HOST}/media/public.gpg" -O- | sudo apt-key add -
echo "deb https://${SKYREACH_HOST} packaging/apt/${SKYREACH_API_KEY}/" > /etc/apt/sources.list.d/skyreach.list
fi
# update
apt-get update
apt-get dist-upgrade -y -o Dpkg::Options::="--force-confold"
# unattended-upgrades
apt-get install -y unattended-upgrades
# remove old kernels
echo 'Unattended-Upgrade::Remove-Unused-Dependencies "true";' >> /etc/apt/apt.conf.d/50unattended-upgrades