#!/bin/bash ### Personalisation de la VM cd "$(dirname $0)" BOLD='' RED='' GREEN='' YELLOW='' BLUE='' MAGENTA='' CYAN='' NC='' # No Color NL=' ' mkdir -p ./files/kaz/log/ ./files/kaz/download/ ./files/kaz/git/ chmod a+rxw ./files/kaz/log/ ./files/kaz/download/ ./files/kaz/git/ cp Vagrantfile.dist Vagrantfile OLD_MEN=$(grep vb.memory Vagrantfile | sed -e 's%.*vb.memory\s*=\s*"\([^"]*\)".*%\1%') OLD_CUPS=$(grep vb.cpus Vagrantfile | sed -e 's%.*vb.cpus\s*=\s*"\([^"]*\)".*%\1%') MEM=$(expr $(head -1 /proc/meminfo | awk '{print $2}') / 4096) CUP=$(expr $(nproc) / 2) cat < ${MEM} CUP: ${OLD_CUPS} => ${CUP} ${NC} Update './Vagrantfile' EOF sed -i Vagrantfile \ -e 's%vb.memory\s*=\s*"[^"]*"%vb.memory = "'${MEM}'"%' \ -e 's%vb.cpus\s*=\s*"[^"]*"%vb.cpus = "'${CUP}'"%' APT_CONF="files/.apt-mirror-config" if [ -f "${APT_CONF}" ]; then . "${APT_CONF}" fi ### Personalisation d'un cache apt if [ -z "${APT_MIRROR_DEBIAN}" ]; then APT_MIRROR_DEBIAN=$(grep "deb\s.*/debian[^-]" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/debian.*%\1%") fi if [ -z "${APT_MIRROR_DEBIAN_SECURITY}" ]; then APT_MIRROR_DEBIAN_SECURITY=$(grep "deb\s.*/debian-security" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/debian-security.*%\1%") fi if [ -z "${APT_MIRROR_UBUNTU}" ]; then APT_MIRROR_UBUNTU=$(grep "deb\s.*://\([^/]*\)/ubuntu" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/ubuntu.*%\1%") fi if [ -z "${APT_MIRROR_UBUNTU_SECURITY}" ]; then APT_MIRROR_UBUNTU_SECURITY=$(grep "deb\s.*://\([^/]*\)/ubuntu.*-security" /etc/apt/sources.list | head -1 | sed -e "s%.*deb\s.*://\([^/]*\)/ubuntu.*%\1%") fi if [ -z "${APT_MIRROR_UBUNTU}" ]; then APT_MIRROR_UBUNTU="${APT_MIRROR_DEBIAN}" fi if [ -z "${APT_MIRROR_UBUNTU_SECURITY}" ]; then APT_MIRROR_UBUNTU_SECURITY="${APT_MIRROR_DEBIAN_SECURITY}" fi while : ; do cat < "${APT_CONF}" < "${PROXY_CONF}" < "${CUSTOM_CONF}" fi chmod a+x "${CUSTOM_CONF}" if ! grep -qw "${editor}" "${CUSTOM_CONF}" 2> /dev/null ; then echo "DEBIAN_FRONTEND=noninteractive apt-get install -y ${editor}" >> "${CUSTOM_CONF}" echo "rsync -a /vagrant/files/.emacs* /root/" >> "${CUSTOM_CONF}" fi break;; ""|[Nn]* ) break;; * ) echo "Please answer joe, emacs, vim or no.";; esac done