You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/bin/bash
BASEDIR=$PWD
function usage { echo 'usage: --host | --containers | --full' exit -1 }
function install_host { echo "install host" echo --------------
[ `id -u` -ne 0 ] && echo 'root privilege required' && exit 1
if [[ ! $BASEDIR == '/opt/debian-bash' ]]; then # download and filfull /opt/debian-bash, then run it from folder
rm -rf /opt/debian-bash TEMP=`mktemp -d` cd $TEMP echo $TEMP wget https://git.artcode.re/pvincent/debian-bash/archive/master.tar.gz tar -xzf master.tar.gz mv debian-bash /opt/ cd /opt/debian-bash ./install.sh --host rm -rf $TEMP exit 0
else
#remove /etc/skel/.bashrc rm /etc/skel/.bashrc
ORIGINAL="ORIGINAL" declare -a arr=(/etc/bash.bashrc /etc/inputrc /etc/vim/vimrc)
for i in "${arr[@]}" do if [ ! -f "$i.$ORIGINAL" ]; then
echo "$i needs installation $(basename $i)" mv "$i" "$i.$ORIGINAL" ln -s "$BASEDIR/$(basename $i)" "$i" else echo "$i" already overriden fi done source /etc/bash.bashrc fi }
function install_containers { echo "install containers" echo --------------------
# install inside active LXC containers if [[ -f '/snap/bin/lxc' ]]; then for container in `/snap/bin/lxc list -c n --format csv`; do echo "pushed to $container" /snap/bin/lxc file push /opt/debian-bash "${container}/opt/" -r /snap/bin/lxc exec "$container" -- sh -c "cd /opt/debian-bash && ./install.sh" done fi
}
function install_one_container { echo "install container <ONE>" echo ------------------------- }
PARAM1=$1
case $PARAM1 in "--host") install_host ;; "--containers") install_containers ;; "--full") install_host install_containers ;; *) usage ;; esac
|