Hallo,
für meine diversen Installationsversuche möchte ich gerne meine Installationsscripte die schon laufen auf ein frisches System bekommen.
(ab&an verwende ich natürlich auch die SD-Karten-Backups mit den Zwischenstufen). Aber wenn alles fertig ist soll das script mit den nötigen Benutzereingaben dann durchlaufen.
Vorgehensweise
* SDkarte mit dem OS beschicken
* mein Startscript (install_init.sh) mit auf die Karte kopieren (vielleicht bau ich das script auch noch mal um und schiebe das Scriptpaket gleich mit auf die Karte ..aber jetzt ist es erst mal so)
* mein Scriptpaket (Install_PINAME.zip) auf meinen Webspace bereitstellen
* Karte in den Pi & booten
je nachdem was gerade am Pi angeschlossen ist
- lokal anmelden (ggf erst mal mit dem WLAN verbinden) oder per putty-ssh
* /boot/install_init.sh ausführen um die Sache anzuschuppsen
#!/bin/bash
# FILENAME: install_init.sh
#Ordnerstruktur erstellen Verzeichnis für Installationdateien
DIRInstall=/var/install
sudo mkdir -p ${DIRInstall}/todo
sudo mkdir -p ${DIRInstall}/ready
sudo chown -R ${USER}:${USER} ${DIRInstall}
sudo chmod -R 1700 ${DIRInstall}
if [ ! -L ~/Install ] ; then
sudo ln -s ${DIRInstall} ~/Install
echo Verzeichnis "${DIRInstall}" für Benutzer "${USER}" eingerichtet
echo Zugriff über "~/Install" möglich
fi
#....alle anderen Verzeichnisse werden von dem jeweiligem Install-Modul-script angelegt
#Installationsscripte vom Quellserver holen & Scripte einrichten
cd ~/Install
SOURCEURL=http://mein-server.de/Download/Install_WoWaPi2.zip # todo muss noch als Parameter $1 umgebaut werden
SOURCEFILE=$(basename -- ${SOURCEURL}) # Install_WoWaPi2.zip
SOURCEDIR=$(basename -s .zip ${SOURCEFILE}) # Install_WoWaPi2
NEWHOSTNAME=`echo ${SOURCEDIR} | grep -o '_.*' | grep -o '[^_].*'` # WoWaPi2
wget ${SOURCEURL}
unzip ${SOURCEFILE}
mv ./${SOURCEDIR}/* ./todo
rm -rf ./${SOURCEDIR}*
chmod +x ${DIRInstall}/todo/*.sh
mv ${DIRInstall}/todo/install_main.sh ${DIRInstall}
#neuen Rechnernamen setzen // Änderung greift nach den nächsten Systemstart
echo neuen Rechnernamen setzen $NEWHOSTNAME
FILE=/etc/hosts
sudo sed -i "s|^127\.0\.1\.1.*$|127\.0\.1\.1 ${NEWHOSTNAME}|g" $FILE
FILE=/etc/hostname
sudo chmod o+w $FILE
echo $NEWHOSTNAME > $FILE
sudo chmod o-w $FILE
sudo hostname -F $FILE
#System aktualisieren & neustarten
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove
sudo reboot
Display More
#todo
# in der Datei install_init.sh vor dem reboot
# ${DIRInstall}/todo/install_main.sh in den Systemstart einbinden
# install_main.sh erstellen
# - starte in einer Schleife
# -- das Script mit der kleinsten Nr. im Verzeichnis ~/Install/todo/
# (Bsp.: install_00_raspi-config.sh,install_01_apache2.sh;install_02_php5...)
# warte bis Script fertig und verschiebe es dann nach ~/Install/ready/
# -- keine Scripte mehr im todo-verzeichnis ?
# install_main.sh aus dem Systemstart wieder austragen //evtl kann man das auch laufen lassen um zukünftige installscripte nachzuschieben.
# - ende der Schleife
Das ist es erst mal was ich mir überlegt habe. Was mein Ihr dazu und wie könnte der todo-teil programmiert werden.
#xbow-eof