diff --git a/stack.sh b/stack.sh
index 32ec7a0..ada4c70 100755
--- a/stack.sh
+++ b/stack.sh
@@ -90,8 +90,8 @@
 
     # since this script runs as a normal user, we need to give that user
     # ability to run sudo
-    apt-get update
-    apt-get install -y sudo
+    apt_get update
+    apt_get install sudo
 
     if ! getent passwd stack >/dev/null; then
         echo "Creating a user called stack"
@@ -143,6 +143,14 @@
     HOST_IP=`LC_ALL=C /sbin/ifconfig  | grep -m 1 'inet addr:'| cut -d: -f2 | awk '{print $1}'`
 fi
 
+# apt-get wrapper to just get arguments set correctly
+function apt_get() {
+    local sudo="sudo"
+    [ "$(id -u)" = "0" ] && sudo=""
+    $sudo DEBIAN_FRONTEND=noninteractive apt-get \
+        --option "Dpkg::Options::=--force-confold" --assume-yes "$@"
+}
+
 # Generic helper to configure passwords
 function read_password {
     set +o xtrace
@@ -283,8 +291,8 @@
 
 
 # install apt requirements
-sudo apt-get update
-sudo apt-get install -qqy `cat $FILES/apts/* | cut -d\# -f1 | grep -Ev "mysql-server|rabbitmq-server"`
+apt_get update
+apt_get install `cat $FILES/apts/* | cut -d\# -f1 | grep -Ev "mysql-server|rabbitmq-server"`
 
 # install python requirements
 sudo PIP_DOWNLOAD_CACHE=/var/cache/pip pip install `cat $FILES/pips/*`
@@ -353,7 +361,7 @@
     # Install and start rabbitmq-server
     # the temp file is necessary due to LP: #878600
     tfile=$(mktemp)
-    sudo apt-get install -y -q rabbitmq-server > "$tfile" 2>&1
+    apt_get install rabbitmq-server > "$tfile" 2>&1
     cat "$tfile"
     rm -f "$tfile"
     # change the rabbit password since the default is "guest"
@@ -387,7 +395,7 @@
     fi
 
     # Install and start mysql-server
-    sudo apt-get -y -q install mysql-server
+    apt_get install mysql-server
     # Update the DB to give user ‘$MYSQL_USER’@’%’ full control of the all databases:
     sudo mysql -uroot -p$MYSQL_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'%' identified by '$MYSQL_PASSWORD';"
 
@@ -490,7 +498,7 @@
     # splitting a system into many smaller parts.  LXC uses cgroups and chroot
     # to simulate multiple systems.
     if [[ "$LIBVIRT_TYPE" == "lxc" ]]; then
-        sudo apt-get install lxc -y
+        apt_get install lxc
         # lxc uses cgroups (a kernel interface via virtual filesystem) configured
         # and mounted to ``/cgroup``
         sudo mkdir -p /cgroup
