|
|
@@ -0,0 +1,492 @@
|
|
|
+#!/bin/bash
|
|
|
+#
|
|
|
+# Copyright (c) 2019 Clementine Computing LLC.
|
|
|
+#
|
|
|
+# This file is part of PopuFare.
|
|
|
+#
|
|
|
+# PopuFare is free software: you can redistribute it and/or modify
|
|
|
+# it under the terms of the GNU Affero General Public License as published by
|
|
|
+# the Free Software Foundation, either version 3 of the License, or
|
|
|
+# (at your option) any later version.
|
|
|
+#
|
|
|
+# PopuFare is distributed in the hope that it will be useful,
|
|
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+# GNU Affero General Public License for more details.
|
|
|
+#
|
|
|
+# You should have received a copy of the GNU Affero General Public License
|
|
|
+# along with PopuFare. If not, see <https://www.gnu.org/licenses/>.
|
|
|
+#
|
|
|
+
|
|
|
+GITURL="https://tree.clementinecomputing.com/clementinecomputing/popufare"
|
|
|
+
|
|
|
+echo ""
|
|
|
+echo ' _____ __ '
|
|
|
+echo ' | __ \ / _| '
|
|
|
+echo ' | |__) |__ _ __ _ _| |_ __ _ _ __ ___ '
|
|
|
+echo ' | ___/ _ \| '"'"'_ \| | | | _/ _` | '"'"'__/ _ \'
|
|
|
+echo ' | | | (_) | |_) | |_| | || (_| | | | __/'
|
|
|
+echo ' |_| \___/| .__/ \__,_|_| \__,_|_| \___|'
|
|
|
+echo ' | | '
|
|
|
+echo ' |_| '
|
|
|
+echo ""
|
|
|
+echo "This script attempts to setup a default installation of Popufare on a busunit (a Raspberry Pi, say)"
|
|
|
+echo "by setting up and configuring the system."
|
|
|
+echo ""
|
|
|
+echo "THIS SCRIPT CHANGES SYSTEM WIDE PARAMETERS AND COULD HAVE SERIOUS CONSEQUENCES TO THE MACHINE IT'S RUN"
|
|
|
+echo "ON."
|
|
|
+echo ""
|
|
|
+echo "As such, this scripts needs root access (via sudo)."
|
|
|
+echo "This script is meant to be a 'helper' script and isn't meant to be all encompassing. Among other things,"
|
|
|
+echo "this script will:"
|
|
|
+echo ""
|
|
|
+echo " * setup a 'bus' user and group"
|
|
|
+echo " * add the 'pi' user to the 'bus' group"
|
|
|
+echo " * clone the Popufare repo, build it's binaries and install them in the '/home/bus' user directory"
|
|
|
+echo " * copy over appropriate config files to the appropriate locations in the '/hom/ebus' user directory"
|
|
|
+echo " * setup ssh keys and credentials"
|
|
|
+echo " * setup the PPP config files"
|
|
|
+echo " * alter /boot/config.txt and /etc/modules to enable serial and sound setup"
|
|
|
+echo " * setup a 'kiosk' service for the front end DIU"
|
|
|
+echo " * setup 'rc.local' to start and monitor bus Popufare services on startup"
|
|
|
+echo " * setup legacy data directories in '/mnt/data2'"
|
|
|
+echo ""
|
|
|
+echo "Most parameters have options to prompt the user for installation."
|
|
|
+echo ""
|
|
|
+echo "This script should be used with caution and as a helper for an installation rather than a 'turn key' soluation."
|
|
|
+echo "For example, the ssh keys default to the UNSECURE 'snakeoil' default keys provided the repo for easy setup and"
|
|
|
+echo "MUST BE CHANGED for a production installation."
|
|
|
+echo ""
|
|
|
+echo "In addition, the host and other config file options should be set on a per installation basis, as should the custom"
|
|
|
+echo "DIU interface, rules, drivers.txt entries, etc."
|
|
|
+echo ""
|
|
|
+echo "This script should help in getting a Raspberry Pi ready for use with Popufare but should be thought of also as a"
|
|
|
+echo "record of what relevant files there are to change and where to look."
|
|
|
+echo ""
|
|
|
+echo "As Popufare matures, this installation script or something similar can accomodate a more seamless installation but"
|
|
|
+echo "this is what is provided now."
|
|
|
+echo ""
|
|
|
+echo "Popufare is free software so please feel free to contribute at:"
|
|
|
+echo ""
|
|
|
+echo " https://tree.clementinecomputing.com/clementinecomputing/popufare"
|
|
|
+echo ""
|
|
|
+
|
|
|
+echo -n "Hit return to continue [ok]: "
|
|
|
+read hitreturn
|
|
|
+
|
|
|
+###### basic sanity checks to make sure we're installing on a Raspberry Pi
|
|
|
+######
|
|
|
+
|
|
|
+if [[ ! -e /etc/os-release ]] ; then
|
|
|
+
|
|
|
+ echo -n "Are you sure you want to install? '/etc/os-release' does not exist and this system might not be a Raspberry Pi. Continue? [y/N]: "
|
|
|
+ read fnfok
|
|
|
+
|
|
|
+ if [[ ! "$fnfok" =~ ^[yY]$ ]] ; then
|
|
|
+ echo "cancelling installalation"
|
|
|
+ echo ""
|
|
|
+ exit
|
|
|
+ else
|
|
|
+ echo "ok, continuing installation..."
|
|
|
+ fi
|
|
|
+
|
|
|
+else
|
|
|
+
|
|
|
+ grep -P '^PRETTY_NAME="Raspbian' /etc/os-release 2>&1 > /dev/null
|
|
|
+ r=$?
|
|
|
+ if [[ $r != 0 ]] ; then
|
|
|
+
|
|
|
+ echo -n "Raspbian not detected in '/etc/os-release'. This might not be Raspberry Pi. Continue with installation? [y/N]: "
|
|
|
+ read okcontinue
|
|
|
+
|
|
|
+ if [[ ! "$okcontinue" =~ ^[yY]$ ]] ; then
|
|
|
+ echo "cancelling installation"
|
|
|
+ echo ""
|
|
|
+ exit
|
|
|
+ else
|
|
|
+ echo "ok, continuing installation..."
|
|
|
+ fi
|
|
|
+
|
|
|
+ fi
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+######
|
|
|
+######
|
|
|
+
|
|
|
+echo -n "Create 'bus' user? [Y/n]: "
|
|
|
+read createbususer
|
|
|
+
|
|
|
+if [[ "$createbususer" =~ ^[yY]?$ ]]; then
|
|
|
+ echo "... creating 'bus' user and group"
|
|
|
+ sudo adduser bus
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+echo -n "Add 'pi' to 'bus' group? [Y/n]: "
|
|
|
+read addpibus
|
|
|
+
|
|
|
+if [[ "$addpibus" =~ ^[yY]$ ]]; then
|
|
|
+ echo "... add 'pi' to 'bus' group"
|
|
|
+ sudo usermod -a -G bus pi
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+echo "Creating /home/bus/(bin|database|config) with group write permissions"
|
|
|
+
|
|
|
+sudo mkdir -p /home/bus/bin
|
|
|
+sudo mkdir -p /home/bus/database
|
|
|
+sudo mkdir -p /home/bus/config
|
|
|
+
|
|
|
+sudo chown -R bus:bus /home/bus/bin
|
|
|
+sudo chown -R bus:bus /home/bus/database
|
|
|
+sudo chown -R bus:bus /home/bus/config
|
|
|
+
|
|
|
+sudo chmod -R g+w /home/bus/bin
|
|
|
+sudo chmod -R g+w /home/bus/database
|
|
|
+sudo chmod -R g+w /home/bus/config
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+echo -n "Repo path (hit return to automatically clone the repo and use that) []: "
|
|
|
+read repolocation
|
|
|
+
|
|
|
+tmpdir=""
|
|
|
+if [[ "$repolocation" == "" ]] ; then
|
|
|
+ tmpdir=`mktemp -d`
|
|
|
+ repolocation="$tmpdir/popufare"
|
|
|
+
|
|
|
+ pushd $tmpdir
|
|
|
+ git clone "$GITURL"
|
|
|
+ popd
|
|
|
+fi
|
|
|
+
|
|
|
+echo "Setting up binaries..."
|
|
|
+
|
|
|
+bd=/home/bus/popufare/busunit
|
|
|
+d=/home/bus/popufare/busunit/bin/native
|
|
|
+diudir=/home/bus/popufare/busunit/DIUv2
|
|
|
+tc=/home/bus/popufare/busunit/testing/config
|
|
|
+
|
|
|
+sudo cp -R $repolocation /home/bus
|
|
|
+sudo chown -R bus:bus /home/bus/popufare
|
|
|
+sudo bash -c " su - bus -c ' cd /home/bus/popufare/busunit ; ./build_all.sh native ; ' "
|
|
|
+sudo bash -c " cd /home/bus/bin ; ln -s $d/avls . ; ln -s $d/billdb . ; ln -s $d/client_supervisor . ; ln -s $d/debug_client . ; ln -s $d/diu_minder . ; ln -s $d/ipc_server . "
|
|
|
+sudo bash -c " cd /home/bus/bin ; ln -s $d/paddlemgr . ; ln -s $d/passdb . ; ln -s $d/piu_minder . ; ln -s $d/send_billing_record . ; ln -s $d/send_magstripe . "
|
|
|
+
|
|
|
+sudo bash -c " cd /home/bus/bin ; ln -s $bd/DIUv2/diu_kiosk . "
|
|
|
+
|
|
|
+sudo bash -c " cd /home/bus/bin ; ln -s $bd/scripts/init_bus.sh . ; ln -s $bd/scripts/update_loop.sh . ; ln -s $bd/scripts/setup-serial.py . ; ln -s $bd/scripts/get_net_ids.sh . "
|
|
|
+sudo bash -c " cd /home/bus/bin ; ln -s $bd/scripts/connection_tether.sh . "
|
|
|
+
|
|
|
+sudo bash -c " cd /home/bus/config ; ln -s $diudir/html . ; "
|
|
|
+sudo bash -c " cd /home/bus/config ; cp $bd/passdb/init.scm . ; cp $bd/passdb/rfid_patterns.txt . "
|
|
|
+sudo bash -c " cp $tc/equipnum.txt . ; cp $tc/config.tgz.checksum . ; cp $tc/config.tgz.version . ; cp $tc/firmware.tgz.checksum . ; cp $tc/firmware.tgz.version . ; cp $tc/serial.txt serial_num "
|
|
|
+
|
|
|
+sudo bash -c " rm -f /home/bus/bin/common_values.sh ; cp $bd/scripts/common_values.sh /home/bus/bin "
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### paddle setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup paddles? [Y/n]: "
|
|
|
+read setuppaddles
|
|
|
+
|
|
|
+if [[ "$setuppaddles" =~ ^[yY]?$ ]] ; then
|
|
|
+ echo -n "Paddle location? (blank for default testing paddles) []: "
|
|
|
+ read paddlocation
|
|
|
+
|
|
|
+ if [[ "$paddlelocation" == "" ]] ; then
|
|
|
+ paddlelocation=$bd/busunit/testing
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Using '$paddlelocation/*.paddle'..."
|
|
|
+
|
|
|
+ sudo bash -c " cd /home/bus/config ; cp $bd/testing/*.paddle . "
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### rules setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup rules? [Y/n]: "
|
|
|
+read setuprules
|
|
|
+
|
|
|
+if [[ "$setuprules" =~ ^[yY]?$ ]] ; then
|
|
|
+ echo -n "Rule file? (blank for default testing rules) []: "
|
|
|
+ read rulelocation
|
|
|
+
|
|
|
+ if [[ "$rulelocation" == "" ]] ; then
|
|
|
+ rulelocation=$bd/testing/rules-ORG.scm
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo "Setting up rules from '$rulelocation'..."
|
|
|
+
|
|
|
+ sudo bash -c " cd /home/bus/config ; cp $rulelocation rules.scm "
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### equipment number setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Equipment number? [9999]: "
|
|
|
+read equipnum
|
|
|
+
|
|
|
+if [[ "$equipnum" == "" ]] ; then
|
|
|
+ equipnum=9999
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+echo "Setting equipment number to '$equipnum'..."
|
|
|
+sudo bash -c " echo $equipnum > /home/bus/config/equipnum.txt "
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### key setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup secure communcation setup? [Y/n]: "
|
|
|
+read tunnelsetup
|
|
|
+
|
|
|
+if [[ "$tunnelsetup" =~ ^[yY]?$ ]] ; then
|
|
|
+
|
|
|
+ echo -n " 'id_rsa' private key location? (default to snakeoil) []: "
|
|
|
+ read keylocation
|
|
|
+
|
|
|
+ if [[ "$keylocation" == "" ]] ; then
|
|
|
+ keylocation=/home/bus/popufare/server/docker/snakeoil_id_rsa
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo " Using '$keylocation' for private key..."
|
|
|
+
|
|
|
+ sudo mkdir -p /home/bus/.ssh
|
|
|
+ sudo chown -R bus:bus /home/bus/.ssh
|
|
|
+
|
|
|
+ sudo cp $keylocation /home/bus/.ssh/id_rsa_bus
|
|
|
+ sudo chown bus:bus /home/bus/.ssh/id_rsa_bus
|
|
|
+ sudo chmod 400 /home/bus/.ssh/id_rsa_bus
|
|
|
+
|
|
|
+ echo ""
|
|
|
+
|
|
|
+ echo -n " Tunnel port? [6055]: "
|
|
|
+ read tunnelport
|
|
|
+
|
|
|
+ if [[ "$tunnelport" == "" ]] ; then
|
|
|
+ tunnelport=6055
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo ""
|
|
|
+
|
|
|
+ echo -n " Tunnel user and host? [bus@example.com]: "
|
|
|
+ read tunnelhost
|
|
|
+
|
|
|
+ if [[ "$tunnelhost" == "" ]] ; then
|
|
|
+ tunnelhost='bus@example.com'
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo ""
|
|
|
+
|
|
|
+ echo -n " Adding values to '/home/bus/bin/common_values.sh'..."
|
|
|
+
|
|
|
+ sed -i 's;^SSH_DEFAULT_TARGET=;#SSH_DEFAULT_TARGET=;g' /home/bus/bin/common_values.sh
|
|
|
+ sed -i 's;^SSH_DEFAULT_PORT=;#SSH_DEFAULT_PORT=;g' /home/bus/bin/common_values.sh
|
|
|
+ sed -i 's;^SSH_DEFAULT_IDENTITY=;#SSH_DEFAULT_IDENTITY=;g' /home/bus/bin/common_values.sh
|
|
|
+
|
|
|
+ sed -i 's;^SSH_TARGET=;#SSH_TARGET=;g' /home/bus/bin/common_values.sh
|
|
|
+ sed -i 's;^SSH_PORT=;#SSH_PORT=;g' /home/bus/bin/common_values.sh
|
|
|
+ sed -i 's;^SSH_IDENTITY=;#SSH_IDENTITY=;g' /home/bus/bin/common_values.sh
|
|
|
+
|
|
|
+ echo 'SSH_DEFAULT_TARGET="'"$tunnelhost"'"' >> /home/bus/bin/common_values.sh
|
|
|
+ echo 'SSH_DEFAULT_PORT="'"$tunnelport"'"' >> /home/bus/bin/common_values.sh
|
|
|
+ echo 'SSH_DEFAULT_IDENTITY="/home/bus/.ssh/id_rsa_bus"' >> /home/bus/bin/common_values.sh
|
|
|
+ echo '' >> /home/bus/bin/common_values.sh
|
|
|
+ echo 'SSH_TARGET="$SSH_DEFAULT_TARGET"' >> /home/bus/bin/common_values.sh
|
|
|
+ echo 'SSH_PORT="$SSH_DEFAULT_PORT"' >> /home/bus/bin/common_values.sh
|
|
|
+ echo 'SSH_IDENTITY="$SSH_DEFAULT_IDENTITY"' >> /home/bus/bin/common_values.sh
|
|
|
+
|
|
|
+ echo ""
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### drivers setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "'drivers.txt' location? (default to test) []: "
|
|
|
+read driverlocation
|
|
|
+
|
|
|
+if [[ "$driverlocation" == "" ]] ; then
|
|
|
+ driverlocation=/home/bus/popufare/busunit/DIUv2/drivers.txt
|
|
|
+fi
|
|
|
+
|
|
|
+echo "Using '$driverlocation' for drivers.txt ..."
|
|
|
+
|
|
|
+sudo cp $driverlocation /home/bus/config
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### setup fona ppp
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup FONA ppp files? [Y/n]: "
|
|
|
+read setupfona
|
|
|
+
|
|
|
+if [[ "$setupfona" =~ ^[yY]?$ ]] ; then
|
|
|
+ echo " /home/bus/popufare/busunit/ppp-dialer/etc/ppp/peers/fona -> /etc/ppp/peers/gprs"
|
|
|
+ echo " /home/bus/popufare/busunit/ppp-dialer/etc/chatscripts/gprs -> /etc/chatscripts/gprs"
|
|
|
+
|
|
|
+ sudo cp /home/bus/popufare/busunit/ppp-dialer/etc/ppp/peers/fona /etc/ppp/peers/gprs
|
|
|
+ sudo cp /home/bus/popufare/busunit/ppp-dialer/etc/chatscripts/gprs /etc/chatscripts/gprs
|
|
|
+
|
|
|
+ echo ""
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+#echo -n "Setup FONA to connect at startup? [Y/n]: "
|
|
|
+#read fonanetwork
|
|
|
+#
|
|
|
+#if [[ "$fonanetwork" =~ ^[yY]?$ ]] ; then
|
|
|
+# echo " Creating '/etc/network/interfaces.d/fona'..."
|
|
|
+# sudo echo 'auto fona' > /etc/network/interfaces.d/fona
|
|
|
+# sudo echo 'iface fona inet ppp' >> /etc/network/interfaces.d/fona
|
|
|
+# sudo echo ' provider fona' >> /etc/network/interfaces.d/fona
|
|
|
+#fi
|
|
|
+
|
|
|
+##### Setup config.txt
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup '/boot/config.txt'? (Note this could have serious consequences, use with caution) [y/N]: "
|
|
|
+read setupconfig
|
|
|
+
|
|
|
+if [[ "$setupconfig" =~ ^[yY]$ ]] ; then
|
|
|
+ tmpfn=`mktemp`
|
|
|
+ bfn=`basename $tmpfn`
|
|
|
+
|
|
|
+ echo " Saving 'config.txt' to /root/$bfn"
|
|
|
+ sudo cp /boot/config.txt $tmpfn
|
|
|
+ sudo mv $tmpfn /root/$bfn
|
|
|
+
|
|
|
+ echo " adding> enable_uart=1"
|
|
|
+ sudo sed -i 's;^enable_uart=;#enable_uart=;g' /boot/config.txt
|
|
|
+ sudo bash -c 'echo "enable_uart=1" >> /boot/config.txt'
|
|
|
+
|
|
|
+ echo " adding> dtoverlay=pi3-disable-bt"
|
|
|
+ sudo sed -i 's;^dtoverlay=pi3-disable-bt;#dtoverlay=pi3-disable-bt;g' /boot/config.txt
|
|
|
+ sudo bash -c 'echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt'
|
|
|
+
|
|
|
+ echo " adding> dtoverlay=pi3-disable-wifi"
|
|
|
+ sudo sed -i 's;^dtoverlay=pi3-disable-wifi;#dtoverlay=pi3-disable-wifi;g' /boot/config.txt
|
|
|
+ sudo bash -c 'echo "dtoverlay=pi3-disable-wifi" >> /boot/config.txt'
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+##### Setup sound in modules file
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup sound (alter '/etc/modules')? [y/N]: "
|
|
|
+read setupsound
|
|
|
+
|
|
|
+if [[ "$setupsound" =~ ^[yY]$ ]] ; then
|
|
|
+ tmpfn=`mktemp`
|
|
|
+ bfn=`basename $tmpfn`
|
|
|
+
|
|
|
+ echo " Saving 'modules' to /root/$bfn"
|
|
|
+ sudo cp /etc/modules $tmpfn
|
|
|
+ sudo mv $tmpfn /root/$bfn
|
|
|
+
|
|
|
+ sudo sed -i 's;^snd-bcm2835;#snd-bcm2835;g' /etc/modules
|
|
|
+
|
|
|
+ echo ' adding> snd-bcm2835'
|
|
|
+ sudo bash -c 'echo "snd-bcm2835" >> /etc/modules'
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+##### Setup kiosk
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup kiosk service? [Y/n]: "
|
|
|
+read setupkiosk
|
|
|
+
|
|
|
+if [[ "$setupkiosk" =~ ^[yY]?$ ]] ; then
|
|
|
+
|
|
|
+ echo " /home/bus/popufare/busunit/scripts/kiosk.service -> /lib/systemd/system/kiosk.service"
|
|
|
+ sudo cp /home/bus/popufare/busunit/scripts/kiosk.service /lib/systemd/system/kiosk.service
|
|
|
+
|
|
|
+ echo " enabling kiosk.service ('systemctl enable kiosk.service')"
|
|
|
+ sudo systemctl enable kiosk.service
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+
|
|
|
+##### Setup startup
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup startup 'rc.local'? [Y/n]: "
|
|
|
+read setupstartup
|
|
|
+
|
|
|
+if [[ "$setupstartup" =~ ^[yY]?$ ]] ; then
|
|
|
+
|
|
|
+ tmpfn=`mktemp`
|
|
|
+ bfn=`basename $tmpfn`
|
|
|
+
|
|
|
+ echo " saving /etc/rc.local to /root/$bfn"
|
|
|
+ sudo cp /etc/rc.local $tmpfn
|
|
|
+ sudo mv $tmpfn /root/$bfn
|
|
|
+
|
|
|
+
|
|
|
+ echo " /home/bus/popufare/busunit/scripts/rc.local -> /etc/rc.local"
|
|
|
+ sudo cp /home/bus/popufare/busunit/scripts/rc.local /etc/rc.local
|
|
|
+
|
|
|
+fi
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+
|
|
|
+##### setup legacy data directories
|
|
|
+#####
|
|
|
+
|
|
|
+echo -n "Setup legacy data directories? [y/N]: "
|
|
|
+read setuplegacy
|
|
|
+
|
|
|
+if [[ "$setuplegacy" =~ ^[yY]$ ]] ; then
|
|
|
+ sudo mkdir -p /mnt/data
|
|
|
+ sudo mkdir -p /mnt/data2
|
|
|
+
|
|
|
+ sudo chown -R bus:bus /mnt/data
|
|
|
+ sudo chown -R bus:bus /mnt/data2
|
|
|
+fi
|
|
|
+
|
|
|
+#####
|
|
|
+#####
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+##### final permissions setup
|
|
|
+#####
|
|
|
+
|
|
|
+echo "Setting up final permission for /home/bus/(bin|database|config)"
|
|
|
+
|
|
|
+sudo chown -R bus:bus /home/bus/bin
|
|
|
+sudo chown -R bus:bus /home/bus/database
|
|
|
+sudo chown -R bus:bus /home/bus/config
|
|
|
+
|
|
|
+echo ""
|
|
|
+
|
|
|
+
|
|
|
+if [[ "$tmpdir" != '' ]] ; then
|
|
|
+ echo "... should remove $tmpdir"
|
|
|
+ #rm -rf $tmdpri
|
|
|
+fi
|
|
|
+
|
|
|
+echo "done"
|