Der openSUSE Teil beschrieb die Installation der 15.4, die seit Januar keine Updates mehr bekommt. Das habe ich auf die aktuelle Version
Leap 15.6 aktualisiert.
Achtung! Ich plane, demnächst die Anleitungen für OpenSim Arriba und OpenSim Version 0.9.1 zu entfernen. Bitte Einspruch einlegen, wenn das noch jemand braucht!
Grund: Mir ist kein Grid mehr bekannt, das diese Versionen noch benötigt, und mit den aktuellen Viewern würden sie auch keinen Spaß mehr machen.
=>
OpenSIm Server-Tutorial <=
Viele Grüße,
Mareta
Hier mal ein Vorschlag:
Anbieter wie Contabo haben kein Ubuntu 20.04 und noch nicht 24.04.
Dort kann man sich nur Ubuntu 18.04 oder 22.04 aussuchen.
Du könntest ein Tutorial für ein Serverupgrade von Ubuntu 18 auf 22 erstellen.
Bei Ubuntu 18 haben die meisten mySQL als Datenbanksystem, während die, die Ubuntu 22 haben, MariaDB nutzen.
Es gibt noch viele weitere Dinge, die zu beachten sind.
Ich habe schon mehr als 50 Stunden verbracht eine einfache Lösung zu finden, aber ohne erhofften Erfolg, da das Upgrade voller Fehler ist.
Die Anleitung, die mir am besten gefallen hat, ist hier zu finden:
https://doku.lrz.de/upgrade-auf-ubuntu-2...91296.html
Bash Funktion upgrade18to22 Test (ohne Sourcelist CONTABO jammy 22):
PHP-Code:
## * upgrade18to22
# Übersicht der Abfragen:
# Deaktivierung von Systemmanagementtools (Puppet und Cron)
# Neustart des Systems nach dem Upgrade auf 20.04
# Entfernung veralteter Pakete
# Änderung der Paketquellen auf Ubuntu 22.04
# Ersetzen von NTP durch Chrony
# Durchführung des Upgrades auf Ubuntu 22.04
# Neustart nach Abschluss des Upgrades
# Überprüfung und Konfiguration von DNS (systemd-resolved)
# Aufräumen nicht mehr benötigter Pakete
# Das Skript kann interaktiv durchgearbeitet werden, wobei der Benutzer die Kontrolle über die einzelnen Schritte behält.
##
function upgrade18to22() {
echo "Bitte stellen Sie sicher, dass Ihre Daten gesichert wurden."
# Abfrage, ob Systemmanagementtools deaktiviert werden sollen
read -p "Möchten Sie Systemmanagementtools deaktivieren (puppet, cron)? (y/n): " disable_tools
if [ "$disable_tools" == "y" ]; then
puppet agent --disable
service cron stop
echo "Systemmanagementtools wurden deaktiviert."
else
echo "Systemmanagementtools wurden nicht deaktiviert."
fi
# Upgrade von Ubuntu 18.04 auf 20.04
echo "Start des Upgrades von Ubuntu 18.04 auf 20.04 (Focal Fossa)."
apt clean all
apt update
apt dist-upgrade
# Reboot nach dem dist-upgrade
read -p "Möchten Sie das System jetzt neu starten? (y/n): " reboot_now
if [ "$reboot_now" == "y" ]; then
reboot
else
echo "Bitte starten Sie das System manuell neu, um fortzufahren."
return
fi
# Nach dem Neustart: Aufräumen nicht mehr benötigter Pakete
read -p "Möchten Sie veraltete Pakete nach dem Neustart entfernen? (y/n): " autoremove_now
if [ "$autoremove_now" == "y" ]; then
apt autoremove --purge
echo "Veraltete Pakete wurden entfernt."
else
echo "Veraltete Pakete wurden nicht entfernt."
fi
# Ändern der Paketquellen von Focal auf Jammy
read -p "Möchten Sie die Paketquellen auf Ubuntu 22.04 (Jammy Jellyfish) ändern? (y/n): " change_sources
if [ "$change_sources" == "y" ]; then
sed -i 's/focal/jammy/' /etc/apt/sources.list
sed -i -E -e 's/stretch|buster/bullseye/' /etc/apt/sources.list
mkdir -p /etc/apt/keyrings
wget -O /etc/apt/keyrings/lrz.asc http://debian.mirror.lrz.de/special/lrz-debian.gpg && apt-key del 714B6215
sed -i '/.*debian-lrz.*/ s:\(deb[^ ]*\) \(.*\):\1 [signed-by=/etc/apt/keyrings/lrz.asc] \2:' /etc/apt/sources.list
apt clean all
apt update
echo "Paketquellen wurden aktualisiert."
else
echo "Paketquellen wurden nicht geändert."
fi
# NTP durch Chrony ersetzen
read -p "Möchten Sie NTP durch Chrony ersetzen? (y/n): " replace_ntp
if [ "$replace_ntp" == "y" ]; then
apt remove --purge ntp ntpdate
apt install chrony
# Chrony-Konfiguration für LRZ Timeserver
cat <<EOF > /etc/chrony/chrony.conf
# Chrony Konfiguration für LRZ Timeserver
server ntp1.lrz.de iburst
server ntp2.lrz.de iburst
server ntp3.lrz.de iburst
keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
logdir /var/log/chrony
maxupdateskew 100.0
rtcsync
makestep 1 3
EOF
systemctl restart chrony.service
echo "NTP wurde durch Chrony ersetzt und konfiguriert."
else
echo "NTP wurde nicht ersetzt."
fi
# Upgrade auf Ubuntu 22.04 (Jammy Jellyfish)
read -p "Möchten Sie das Upgrade auf Ubuntu 22.04 durchführen? (y/n): " do_upgrade
if [ "$do_upgrade" == "y" ]; then
apt update
apt dist-upgrade
echo "Upgrade auf Ubuntu 22.04 abgeschlossen."
else
echo "Upgrade auf Ubuntu 22.04 nicht durchgeführt."
fi
# Vor dem Reboot synchronisieren
read -p "Möchten Sie jetzt einen Reboot durchführen? (y/n): " final_reboot
if [ "$final_reboot" == "y" ]; then
sync
reboot
else
echo "Bitte synchronisieren und starten Sie das System manuell neu."
fi
# DNS-Überprüfung und Konfiguration anpassen
read -p "Möchten Sie die DNS-Auflösung überprüfen und systemd-resolved aktivieren, falls erforderlich? (y/n): " check_dns
if [ "$check_dns" == "y" ]; then
if ! host lrz.de; then
systemctl is-enabled systemd-resolved.service
if [ "$(systemctl is-enabled systemd-resolved.service)" == "disabled" ]; then
systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service
echo "systemd-resolved wurde aktiviert."
fi
mount /ldist
/ldist/install/configure-systemd-resolved
umount /ldist
echo "DNS-Auflösung wurde angepasst."
else
echo "DNS-Auflösung funktioniert einwandfrei."
fi
fi
# Aufräumen nicht mehr benötigter Pakete
read -p "Möchten Sie nach Abschluss nicht mehr benötigte Pakete entfernen? (y/n): " clean_packages
if [ "$clean_packages" == "y" ]; then
aptitude
echo "Nicht mehr benötigte Pakete wurden entfernt."
else
echo "Pakete wurden nicht entfernt."
fi
echo "Upgrade auf Ubuntu 22.04 abgeschlossen!"
}
Ich habe das mal hier hinzugefügt:
https://github.com/ManfredAabye/opensimM...osmtool.sh
Dort sind auch die CONTABO Sourcelists für Ubuntu 18.04 und 22.04 zu finden.
Danke Manfred für den Vorschlag, aber ich habe da keinerlei Erfahrung. Bisher habe ich ein Upgrade von einer Hauptrelease zur nächsten so gemacht: Platte partitionieren, Vollinstallation. Ich hätte viel zu viel Angst, dass irgendwelche "legacy" Konfigurationsdateien mitgeschleift werden. Mein Tutorial ist ja nicht entstanden, weil ich Betriebssystemexpertin bin, sondern weil ich einen Spickzettel brauchte. Den hatte ich dann veröffentlicht. Aber 50 Stunden? Da muss ja sehr viel andere kompliziert zu installierende Software mit drauf sein, dass sich das lohnt im Vergleich zu platt machen und neu installieren.
Außerdem habe ich wegen der Snap-Geschichte im Januar zu Hause auf openSUSE gewechselt, und werde in Zukunft (mit Leap 6.0) voraussichtlich eine ganz andere "immutable" Installationsmethode verwenden, wie es sie schon im openSUSE MicroOS gibt. Es geht mir hier also eher um Aufräumarbeiten als darum, das Tutorial auszuweiten auf Betriebsfälle, die bei mir nicht vorkommen. Sorry, zukünftig wird dann vermutlich eher was mit Flatpak oder Docker kommen.
Hallo Mareta ;D
Also Docker hört sich gut und da wäre ich sogar dran intressiert und mit OpenSuSE hab ich ja vor gut 25 jahren angefangen ;D
(07.10.2024, 23:05)Bogus Curry schrieb: [ -> ]Also Docker hört sich gut und da wäre ich sogar dran intressiert ...
Ich hab mich mal auf Docker Hub umgeschaut. Dumm ist, es gibt noch eine weitere OpenSim Software:
Man kann schon einigermassen anhand der Beschreibung feststellen, um welche OpenSim Software es sich handelt. Aber das, was ich beim Durchstöbern gesehen habe, ist eher veraltet... mono etc.
Ich habe schon oft mit Docker rumgespielt, habe auch diverseste Grids in diversesten Kombinationen aufgesetzt. Aber nur für lokale Tests. Da gabs es irgendwie issues mit Hypergrid ... hat sich vielleicht auch geändert.
Müsste ich mal wieder mit herumexperimentieren. Wär schon schick Container mit ein paar Umgebungs-Settings starten und gut ist.
Liebe Grüsse
Akira
Ja hab auch schon in den images rumgeschaut, aber das problem bei solchen unbekannten images, man weiss niczt woher und wer sie erstellt wurden.
Wenn ich mal zeit finde, werde ich mal wieder reinschaun, es gibt einen entwickler, glaube blue irgendwas. Hat früher was mit hifi gemacht und hat auch einen viewer erstellt. Hab ihn im discord als kontakt, ich schau mal nachher.
Schade das whitecore sim kein hg drin hat, wäre echt ne gute alternative, auch wegen der konfigs
(10.10.2024, 15:49)Bogus Curry schrieb: [ -> ]Hier hab den docker image gefunden, den ich meinte. Der user heisst misterblue, hält das image auch
aktuell, siehe hier:
https://github.com/Misterblue/opensim-docker
Jetzt wo Du's sagst ... kommt mir auch wieder bekannt vor. Sollte ich besser bookmarken!
Vielen Dank und Liebe Grüsse
Akira
(10.10.2024, 15:49)Bogus Curry schrieb: [ -> ]Hier hab den docker image gefunden, den ich meinte. Der user heisst misterblue, hält das image auch
aktuell, siehe hier:
https://github.com/Misterblue/opensim-docker
Wie klasse ist das denn!

Danke, Bogus!
Das Repository ist übrigens so aufgesetzt, dass OpenSim aus den jeweils aktuellen Sourcen neu gebaut wird. Das Github-Repo enthält also "nur" das Rezept, wie aus OpenSim ein Docker-Image gebaut wird. Es ist so clever aufgesetzt, dass man zur Laufzeit die eigenen Konfigurationsdateien dazu mountet. Ebenfalls ggf. MariaDB.
Und wer nicht unbedingt latest haben will, sondern einen bestimmten Commit-Stand z.B. von einem OSGrid Release, in (momentan) Zeile 61 kann das angepasst werden:
https://github.com/Misterblue/opensim-do...le-opensim
Code:
RUN cd $OPENSIMHOME \
&& git clone --depth=1 -b $OS_GIT_BRANCH --single-branch $OS_GIT_REPO opensim
Im obigen Code das "--depth=1" entfernen, damit die Historie mit geladen wird. Sonst gibt es lokal die älteren Commits nicht. Dann hinten mit dem gewünschten Commit ergänzen:
Code:
&& cd opensim && git reset --hard 00c0816
Zur Zeit gibt es in den Scripten zur OpenSim Docker Installation insofern ein kleines Problem, dass "docker-compose" kein gültiger Befehl mehr ist. Da "docker-compose" in die neuen Docker Versionen als Docker-Befehl integiert wurde muss es jetzt "docker compose" (ohne Bindestrich) heissen. Ich werde mir in den Wintermonaten (irgendwann ab Dezember) wieder mal alles anschauen und dem aktuellsten Stand entsprechend anpassen, falls das Robert (MisterBlue) nicht schon vorher macht.