1#!/bin/bash 2 3# Make sure that we get the hugepages we need on provision boot 4# Note: The package install should take care of this at the end 5# But sometimes after all the work of provisioning, we can't 6# get the requested number of hugepages without rebooting. 7# So do it here just in case 8sysctl -w vm.nr_hugepages=1024 9HUGEPAGES=`sysctl -n vm.nr_hugepages` 10if [ $HUGEPAGES != 1024 ]; then 11 echo "ERROR: Unable to get 1024 hugepages, only got $HUGEPAGES. Cannot finish." 12 exit 13fi 14 15# Figure out what system we are running on 16if [ -f /etc/lsb-release ];then 17 . /etc/lsb-release 18elif [ -f /etc/redhat-release ];then 19 yum install -y redhat-lsb 20 DISTRIB_ID=`lsb_release -si` 21 DISTRIB_RELEASE=`lsb_release -sr` 22 DISTRIB_CODENAME=`lsb_release -sc` 23 DISTRIB_DESCRIPTION=`lsb_release -sd` 24fi 25 26# Do initial setup for the system 27if [ $DISTRIB_ID == "Ubuntu" ]; then 28 29 export DEBIAN_PRIORITY=critical 30 export DEBIAN_FRONTEND=noninteractive 31 export DEBCONF_NONINTERACTIVE_SEEN=true 32 APT_OPTS="--assume-yes --no-install-suggests --no-install-recommends -o Dpkg::Options::=\"--force-confdef\" -o Dpkg::Options::=\"--force-confold\"" 33 34 # Standard update + upgrade dance 35 apt-get update ${APT_OPTS} 36 apt-get upgrade ${APT_OPTS} 37 38 # Install useful but non-mandatory tools 39 apt-get install -y gdb git 40elif [ $DISTRIB_ID == "CentOS" ]; then 41 # Standard update + upgrade dance 42 yum check-update 43 yum update -y 44fi 45