File indexing completed on 2024-05-26 04:59:21
0001 #!/bin/bash 0002 0003 set -e 0004 cd "$(dirname "$0")" 0005 0006 [[ "$1" == "" ]] && echo "Usage: $0 <ssh login>" && exit 1 0007 0008 # get list of required apt-get packages 0009 lc= 0010 pkgs=() 0011 while IFS='' read -r line || [[ -n "$line" ]]; do 0012 if [[ ! "$line" =~ ^[\ \t]*# && "$line" =~ ^.*apt-get\ install.*$ || "$lc" == "1" ]]; then 0013 lc=; [[ "$line" =~ ^.*\\$ ]] && lc=1 0014 line=${line##*apt-get install} 0015 line=${line%\\} 0016 for p in $line; do [[ ! $p =~ ^- ]] && pkgs+=($p) ; done 0017 fi 0018 done < ./build-deps.sh 0019 0020 # setup ssh login 0021 ssh -t "$1" "mkdir -p ~/.ssh ; chmod 700 ~/.ssh ; echo '$(cat ~/.ssh/id_rsa.pub)' >~/.ssh/authorized_keys" 0022 0023 cat >temp.sh <<EOF 0024 set -e 0025 0026 # add user to sudo 0027 sudo bash -c 'echo -e "\n'\$USER' ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers' 0028 0029 # setup color prompt 0030 sed -E -i \\ 0031 -e 's/^#force_color_prompt=yes/force_color_prompt=yes/' \\ 0032 -e 's/(PS1=.*01);32m/\1;33m/' \\ 0033 \$HOME/.bashrc 0034 0035 # add cdrom to apt 0036 #[ "$(grep /cdrom /etc/fstab)" == "" ] && sudo bash -c 'echo -e "\n/dev/cdrom /cdrom auto ro,user,noauto,exec,utf8 0 0" >>/etc/fstab 0037 #sudo mkdir -p /cdrom 0038 #sudo ln -fs /cdrom /media/cdrom 0039 #(mount /cdrom || exit 0) 0040 #/usr/bin/apt-cdrom add --no-auto-detect -d /cdrom' 0041 0042 # add apt mount 0043 [ "$(grep /apt /etc/fstab)" == "" ] && sudo bash -c 'echo -e "\napt /var/cache/apt/archives 9p trans=virtio,version=9p2000.L,posixacl,msize=104857600 0 0" >>/etc/fstab 0044 mount /var/cache/apt/archives' 0045 0046 # update apt 0047 sudo apt-get update 0048 sudo apt-get dist-upgrade -y 0049 sudo apt-get clean -y 0050 sudo apt-get install -yd ${pkgs[@]} 0051 0052 # delete temp script 0053 rm ~/temp.sh 0054 EOF 0055 0056 scp temp.sh build-deps.sh "$1:" 0057 rm temp.sh 0058 ssh -t "$1" "bash ~/temp.sh"