#!/bin/bash set -e source /bd_build_base/buildconfig set -x ## Prevent initramfs updates from trying to run grub and lilo. ## https://journal.paul.querna.org/articles/2013/10/15/docker-ubuntu-on-rackspace/ ## http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594189 export INITRD=no mkdir -p /etc/container_environment echo -n no > /etc/container_environment/INITRD # Add default timezone. echo "UTC" > /etc/timezone # Avoid ERROR: invoke-rc.d: policy-rc.d denied execution of start. sed -i "s/^exit 101$/exit 0/" /usr/sbin/policy-rc.d ## Enable Ubuntu Universe, Multiverse, and deb-src for main. sed -i 's/^#\s*\(deb.*main restricted\)$/\1/g' /etc/apt/sources.list sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list sed -i 's/^#\s*\(deb.*multiverse\)$/\1/g' /etc/apt/sources.list apt-get update ## Fix some issues with APT packages. ## See https://github.com/dotcloud/docker/issues/1024 dpkg-divert --local --rename --add /sbin/initctl ln -sf /bin/true /sbin/initctl ## Replace the 'ischroot' tool to make it always return true. ## Prevent initscripts updates from breaking /dev/shm. ## https://journal.paul.querna.org/articles/2013/10/15/docker-ubuntu-on-rackspace/ ## https://bugs.launchpad.net/launchpad/+bug/974584 dpkg-divert --local --rename --add /usr/bin/ischroot ln -sf /bin/true /usr/bin/ischroot # apt-utils fix for Ubuntu 16.04 $minimal_apt_get_install apt-utils ## Install HTTPS support for APT. $minimal_apt_get_install apt-transport-https ca-certificates ## Install add-apt-repository $minimal_apt_get_install software-properties-common ## Upgrade all packages. apt-get dist-upgrade -y --no-install-recommends -o Dpkg::Options::="--force-confold" ## Fix locale. $minimal_apt_get_install language-pack-en locale-gen en_US update-locale LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 echo -n en_US.UTF-8 > /etc/container_environment/LANG echo -n en_US.UTF-8 > /etc/container_environment/LC_CTYPE # Make init folders mkdir -p /etc/my_init.d mkdir -p /etc/my_init.pre_shutdown.d mkdir -p /etc/my_init.post_shutdown.d mkdir -p /etc/container_environment touch /etc/container_environment.sh touch /etc/container_environment.json chmod 700 /etc/container_environment groupadd -g 8377 docker_env chown :docker_env /etc/container_environment.sh /etc/container_environment.json chmod 640 /etc/container_environment.sh /etc/container_environment.json ln -s /etc/container_environment.sh /etc/profile.d/