[Help me] Einfaches Bashskript - Java8 oracle Installation
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Es gäbe immer noch das seit 2016-09 nicht mehr angepaßte java-package 0.62,
das (nominell bis java8) ein deb aus dem oracle.tar baut.
Das dann ab ins eigene, lokale Repo.
das (nominell bis java8) ein deb aus dem oracle.tar baut.
Das dann ab ins eigene, lokale Repo.
Zuletzt geändert von rendegast am 17.11.2018 13:57:31, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
… „endlos lange sudoers“ sind hier: eine Änderung für die Zeit, eine Zeile für den konkreten Befehl. Auch gerne auslagerbar in je eine eigene Datei für jeden Befehl. Mir erscheint deine polkit-Regel da erheblich länger?willy4711 hat geschrieben:17.11.2018 13:23:56Mit sudo kann man also innerhalb dieses Zeitraums alles machen, es sei denn, man schreibt eine endlos lange /etc/sodoers, in der
alles geregelt ist.
Aus ’ner Shell heraus dürfte™ es auch nicht nochmal nachfragen. Ich werd’ mir pkexec mal angucken, wenn ich Zeit dafür finde.willy4711 hat geschrieben:17.11.2018 13:49:54Mein update-Skript, was genauso aufgebaut ist, starte ich natürlich mit einem Starter
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Wenn ich als root das skript aufrufe ----> keine Abfrage (logo)niemand hat geschrieben:17.11.2018 13:57:06Aus ’ner Shell heraus dürfte™ es auch nicht nochmal nachfragen. Ich werd’ mir pkexec mal angucken, wenn ich Zeit dafür finde.
als User ---> Abfrage (auch logo)
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Ja, die Frage war eher, was bei dem zweiten Aufruf aus der gleichen Shell heraus passiert.
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Zweimal direkt hintereinander aus der Shell ------> Zweimal Rot- PWniemand hat geschrieben:17.11.2018 14:13:21Ja, die Frage war eher, was bei dem zweiten Aufruf aus der gleichen Shell heraus passiert.
Gleichzeitig mit einem anderen Skript und Tilix geht doch erst wieder , wenn mal was zum Updaten angeboten wird.
So läuft das Skript in ein Paar Sekunden durch.
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Könntest einfach ’n sleep 10 reinmalen. Wird allerdings das Passwort verlangen. Ich würde also davon ausgehen, dass es die Rechte nur für die Shell vorhält, aus der heraus es das erste Mal aufgerufen wurde. Die verschwindet, sobald das Script durch ist.
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Ist exakt soniemand hat geschrieben:17.11.2018 14:40:35Könntest einfach ’n sleep 10 reinmalen. Wird allerdings das Passwort verlangen. Ich würde also davon ausgehen, dass es die Rechte nur für die Shell vorhält, aus der heraus es das erste Mal aufgerufen wurde. Die verschwindet, sobald das Script durch ist.
Terminal geöffnet vorher einen Einzeiler präpariert mit
Code: Alles auswählen
#!/bin/bash
pkexec tilix -x ifconfig
exit
sofort nach PW--Abfrage den Einzeiler aus der Shell gestartet -----> erneute Root- PW- Abfrage.
Das erscheint mir dann in Ordnung.
Auch was gelernt dabei:
Policy-Kit ist ganz schön schlau
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Naja … hoffentlich ist der User dann auch so schlau, das Script nur für Root editierbar, besser noch komplett immutable, zu machen. Beim Initiator dieses Threads hätte ich da meine Bedenken
-
- Beiträge: 7
- Registriert: 16.11.2018 11:55:37
Re: [Help me] Einfaches Bashskript - Java8 oracle Installation
Zusammenfassend nochmal danke für die Antworten, konnte dank denen mein erstes Bashscript schreiben & verbessern und es funktioniert sogar tadellos
Wenn es jemanden interessiert, was ich nun schlussendlich damit "zusammengebastelt" habe;
Ein Haupt-Bashskript, welches nach Bestätigung verschiedene Bashskripte durchlaufen lässt und nach jedem ausgeführten Skript anzeigt, dass es durchgeführt wurde und nachfrägt, ob das nächste Skript starten soll:
(- Rootlogin aktivieren (Klaro, normalerweise sollte man mit einem User arbeiten und nicht mit dem Root))
(- vmtools Download + Installation)
- Java8 oracle Installation samt PPA (ja, wird dann im Ernstfall durch openjdk ersetzt)
- Tomcat8, Postgresql-9.6 + Postgis-2.3 Download, Installation und Konfiguration
- JDBC Treiber Download + Konfiguration
- Postgresql-Datenbank Konfiguration
- CmdBuild Download und Konfiguration
(- Konfigurationen für Openmaint)
Mein Ziel, etwas über Bashskripte dazu zu lernen, habe ich erreicht.
Ausschnitte aus dem Haupt-Bashskript, die komplette Tomcat8 Installation und die CmdBuild Konfiguration:
Haupt-Bashskript
Tomcat8-Installation und Konfiguration
CmdBuild konfiguration
Wenn jetzt jemand denkt "wth steht da?", bitte SOFORT RAUSBRÜLLEN, wenn ich noch was dazulernen darf, nur zu.
Wenn es jemanden interessiert, was ich nun schlussendlich damit "zusammengebastelt" habe;
Ein Haupt-Bashskript, welches nach Bestätigung verschiedene Bashskripte durchlaufen lässt und nach jedem ausgeführten Skript anzeigt, dass es durchgeführt wurde und nachfrägt, ob das nächste Skript starten soll:
(- Rootlogin aktivieren (Klaro, normalerweise sollte man mit einem User arbeiten und nicht mit dem Root))
(- vmtools Download + Installation)
- Java8 oracle Installation samt PPA (ja, wird dann im Ernstfall durch openjdk ersetzt)
- Tomcat8, Postgresql-9.6 + Postgis-2.3 Download, Installation und Konfiguration
- JDBC Treiber Download + Konfiguration
- Postgresql-Datenbank Konfiguration
- CmdBuild Download und Konfiguration
(- Konfigurationen für Openmaint)
Mein Ziel, etwas über Bashskripte dazu zu lernen, habe ich erreicht.
Ausschnitte aus dem Haupt-Bashskript, die komplette Tomcat8 Installation und die CmdBuild Konfiguration:
Haupt-Bashskript
Code: Alles auswählen
#!/bin/bash
#####################################################################
#############################Begrüssung##############################
#####################################################################
tput setaf 4; read -p "
Herzlich Willkommen, wie heisst du denn? " name
#####################################################################
########################Nachfrage Bashskripte########################
#####################################################################
echo "
----------------------------------------------------------------------
Freut mich $name, ich bin der Tutti Quanti-Installer.
Damit ich alles korrekt installieren und konfigurieren kann,
müssen alle Bash-Skripte im Verzeichnis ~/Dokumente sein, dazu ghört:
1. java8_install.sh
2. tomcat8andpostgresql_install.sh
3. tomcat8_configuration.sh
4. driver_install.sh
5. cmdbuild_setup.sh
Falls noch nicht alle Skripts im Verzeichnis sind:
Drücke n um das Programm zu verlassen und hole dies nach.
Falls alle Skripts im Verzeichnis sind:
Drücke y um weiterzugelangen.
----------------------------------------------------------------------
"
read -p "n/y: " A
if [ "$A" == "n" ];then
tput setaf 1;
echo "Die Eingabe ist n. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig, der Installer wird neu gestartet."
tput setaf 0;
sleep 3
bash ~/Dokumente/FromBeginToEnd.sh
fi
echo "OK, es geht weiter..."
sleep 5
#####################################################################
#######################Bestätigung Installation######################
#####################################################################
tput setaf 6; read -p "
----------------------------------------------------------------------
Tutti Quanti-Installer: Hoi $name, dafür benötigst du Administrator-Rechte.
Willst du fortfahren und damit entweder ein Frankendebian erstellen,
das System ganz in die Knie zwingen oder auf gut Glück nur alles drum und dran installieren?
Dann bestätige jetzt mit y um das System einkrachen zu lassen oder n um zum sicheren Hafen zurück zu rudern.
----------------------------------------------------------------------
y/n: " answer
case "$answer" in
Yes|yes|Y|y|"")
tput setaf 2; echo "
Okay, du bist echt mutig. Selbstzerstörung in 3... 2... 1... ach keinen Quatsch, los geht's"
sleep 3
tput setaf 0;
;;
No|no|N|n)
tput setaf 1; echo "
Ganz weise entschieden, gaaanz weise. Aber es wurde tutti quanti nicht installiert."
tput setaf 0;
sleep 3
exit 1
;;
*)
tput setaf 3; echo "
Bist du zu unfähig, um Yes oder No zu schrieben? Der Installer wird neu gestartet, versuche es erneut!"
tput setaf 0;
sleep 3
bash ~/Dokumente/FromBeginToEnd.sh
;;
esac
#####################################################################
######################Java8 Oracle Installation######################
#####################################################################
echo "
----------------------------------------------------------------------
Hey $name, jetzt mit dem Java8 Oracle-Setup beginnen?
y= ja, n oder sonstige Eingabe= Exit
----------------------------------------------------------------------
"
read -p "n/y: " A
if [ "$A" == "n" ];then
tput setaf 3;
echo "Die Eingabe ist x. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig. Das Programm wird beendet."
tput setaf 0;
sleep 3
exit 1
fi
echo "Installation von Java8 Oracle beginnt jetzt..."
sleep 3;
bash ~/Dokumente/java8_install.sh
echo "Fertig!"
#####################################################################
####################Tomcat8+Postgres installation####################
#####################################################################
echo "
----------------------------------------------------------------------
Hey $name, das Setup von Java8 Oracle wurde abgeschlossen, jetzt mit dem Tomcat8- und Postgres-Setup beginnen?
y= ja, n oder sonstige Eingabe= Exit
----------------------------------------------------------------------
"
read -p "n/y: " A
if [ "$A" == "n" ];then
tput setaf 3;
echo "Die Eingabe ist n. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig. Das Programm wird beendet."
tput setaf 0;
sleep 3
exit 1
fi
echo "Installation von Tomcat8 und Postgres beginnt jetzt..."
sleep 3;
bash ~/Dokumente/tomcat8andpostgresql_install.sh
echo "Fertig!"
#####################################################################
########################Konfiguration Tomcat8########################
#####################################################################
echo "
----------------------------------------------------------------------
Hey $name, das Setup von Tomcat8 und Postgres wurde abgeschlossen, jetzt mit der Tomcat8-Konfiguration beginnen?
y= ja, n oder sonstige Eingabe= Exit
----------------------------------------------------------------------
"
read -p "n/y: " A
if [ "$A" == "n" ];then
tput setaf 3;
echo "Die Eingabe ist n. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig. Das Programm wird beendet."
tput setaf 0;
sleep 3
exit 1
fi
echo "Konfiguration von Tomcat8 beginnt jetzt..."
sleep 3;
bash ~/Dokumente/tomcat8_configuration.sh
echo "Fertig!"
#####################################################################
########################Treiber Installation#########################
#####################################################################
echo "
----------------------------------------------------------------------
Hey $name, die Konfiguration von Tomcat8 wurde abgeschlossen, jetzt mit der Installation des JDBC-Treibers beginnen?
y= ja, n oder sonstige Eingabe= Exit
----------------------------------------------------------------------
"
read -p "x/y: " A
if [ "$A" == "n" ];then
tput setaf 3;
echo "Die Eingabe ist n. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig. Das Programm wird beendet."
tput setaf 0;
sleep 3
exit 1
fi
echo "Installation von JDBC Treiber beginnt jetzt..."
sleep 3;
bash ~/Dokumente/driver_install.sh
echo "Fertig!"
#####################################################################
########################cmdbuild Installation########################
#####################################################################
echo "
----------------------------------------------------------------------
Hey $name, die Installation des JDBC-Treibers wurde abgeschlossen, jetzt mit CmdBuild-Setup beginnen?
y= ja, n oder sonstige Eingabe= Exit
----------------------------------------------------------------------
"
read -p "n/y: " A
if [ "$A" == "n" ];then
tput setaf 3;
echo "Die Eingabe ist n. Das Programm wird beendet..."
tput setaf 0;
sleep 3
exit 1
elif [ "$A" == "y" ];then
tput setaf 2;
echo "Die Eingabe ist y"
tput setaf 0;
sleep 3
else
tput setaf 3;
echo "Die Eingabe ist ungültig. Das Programm wird beendet."
tput setaf 0;
sleep 3
exit 1
fi
echo "Setup von CmdBuild beginnt jetzt..."
sleep 3;
bash ~/Dokumente/cmdbuild_setup.sh
echo "Fertig! Es wurden nun alle bash-scripts ausgeführt und die Applikationen sollten laufen.
Nun sollte der restliche Teil nach Anleitung (ab Kapitel 7.4) manuell konfiguriert werden.
Link zum tomcat8-Webinterface: http://HOSTNAME:8080
Link zum tomcat8-Webinterface-Manager: http://HOSTNAME:8080/manager/html"
sleep 3
######################################################################
#################################Ende#################################
######################################################################
Code: Alles auswählen
#!/bin/bash
#stoppe tomcat8 dienste
systemctl stop tomcat8
#erstelle shared, classes, common und server-Ordner
mkdir /var/lib/tomcat8/server/
mkdir /var/lib/tomcat8/server/classes
mkdir /var/lib/tomcat8/shared
mkdir /var/lib/tomcat8/shared/classes
mkdir /usr/share/tomcat8/common
mkdir /usr/share/tomcat8/common/classes
mkdir /usr/share/tomcat8/server
mkdir /usr/share/tomcat8/server/classes
#edit /etc/default/tomcat8
apt-get install -y --allow-unauthenticated ed
ed /etc/default/tomcat8 <<EOF
/^TOMCAT8_USER
s/tomcat8/root
/^#JAVA_HOME
s/#JAVA_HOME/JAVA_HOME
/^JAVA_HOME
s/java-8-openjdk/java-8-oracle
/^JAVA_OPTS
s/-XX:+UseConcMarkSweepGC"/-XX:+UseConcMarkSweepGC -Xms128m -Xmx1024m"
/^#LOGFILE_DAYS
s/#LOGFILE_DAYS=14/LOGFILE_DAYS=14
wq
EOF
#edit /etc/tomcat8/tomcat-users
ed /etc/tomcat8/tomcat-users.xml <<EOF
$
c
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui, admin-gui"/>
</tomcat-users>
.
wq
EOF
Code: Alles auswählen
#!/bin/bash
#tomcat8 ausschalten
systemctl stop tomcat8
#cmdbuild herunterladen, entzippen und in /usr/share/tomcat8/lib/ einfuegen
wget https://downloads.sourceforge.net/project/cmdbuild/2.5.1/cmdbuild-2.5.1.zip
unzip cmdbuild-2.5.1.zip
cp cmdbuild-2.5.1/extras/tomcat-libs/6.0\ or\ higher/postgresql-9.4.1207.jar /usr/share/tomcat8/lib/
#openmaint herunterladen, entzippen, aufteilen und in /var/lib/tomcat8/webapps/ einfuegen
wget https://sourceforge.net/projects/openmaint/files/1.1/Core%20updates/openmaint-1.1-2.5.1.zip
unzip openmaint-1.1-2.5.1.zip
mkdir shark; ( cd shark; jar -xf ../cmdbuild-shark-server-openmaint-2.5.1.war )
mkdir openmaint; ( cd openmaint; jar -xf ../cmdbuild-openmaint-2.5.1.war )
mv shark openmaint /var/lib/tomcat8/webapps/
#URL bei /var/lib/tomcat8/webapps/shark/META-INF/context.xml korrigieren
ed /var/lib/tomcat8/webapps/shark/META-INF/context.xml <<EOF
/url
s/\${cmdbuild}/openmaint
wq
EOF
#tomcat8 neustarten
systemctl stop tomcat8
systemctl start tomcat8
#/var/lib/tomcat8/webapps/shark/conf/Shark.conf anpassen; url openmaint;user postgres;pw postgres
ed /var/lib/tomcat8/webapps/shark/conf/Shark.conf <<EOF
/^org.cmdbuild.ws.url
c
org.cmdbuild.ws.url=http://localhost:8080/openmaint/
.
/cmdbuild.ws.username
s/workflow/postgres
/cmdbuild.ws.password
s/changeme/postgres
wq
EOF
#userrollen postgres und shark erstellen
su - postgres -c psql <<EOF
alter role postgres password 'postgres' login;
create role shark password 'shark' login;
EOF
#Logdateien von tomcat8 löschen
rm -rf /var/log/tomcat8/*