GridTalk.de
Server-Tutorial: Linux und OpenSim - Druckversion

+- GridTalk.de (https://www.gridtalk.de)
+-- Forum: Werkstatt (https://www.gridtalk.de/forumdisplay.php?fid=4)
+--- Forum: Technik (https://www.gridtalk.de/forumdisplay.php?fid=25)
+--- Thema: Server-Tutorial: Linux und OpenSim (/showthread.php?tid=1302)

Seiten: 1 2 3 4 5 6


RE: Server-Tutorial: Linux und OpenSim - Mareta Dagostino - 07.10.2024

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


RE: Server-Tutorial: Linux und OpenSim - Manfred Aabye - 07.10.2024

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-22-04-lts-jammy-11491296.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 -"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 -"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 -"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 -"Möchten Sie die Paketquellen auf Ubuntu 22.04 (Jammy Jellyfish) ändern? (y/n): " change_sources
    
if [ "$change_sources== "y" ]; then
        sed 
-'s/focal/jammy/' /etc/apt/sources.list
        
sed ---'s/stretch|buster/bullseye/' /etc/apt/sources.list
        
mkdir -/etc/apt/keyrings
        wget 
-/etc/apt/keyrings/lrz.asc http://debian.mirror.lrz.de/special/lrz-debian.gpg && apt-key del 714B6215
        
sed -'/.*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 -"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 -"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 -"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 -"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.dethen
        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 -"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/opensimMULTITOOLS/blob/main/osmtool.sh
Dort sind auch die CONTABO Sourcelists für Ubuntu 18.04 und 22.04 zu finden.


RE: Server-Tutorial: Linux und OpenSim - Mareta Dagostino - 07.10.2024

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.


RE: Server-Tutorial: Linux und OpenSim - Bogus Curry - 07.10.2024

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


RE: Server-Tutorial: Linux und OpenSim - Akira - 07.10.2024

(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


RE: Server-Tutorial: Linux und OpenSim - Bogus Curry - 10.10.2024

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


RE: Server-Tutorial: Linux und OpenSim - Bogus Curry - 10.10.2024

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


RE: Server-Tutorial: Linux und OpenSim - Akira - 10.10.2024

(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


RE: Server-Tutorial: Linux und OpenSim - Mareta Dagostino - 10.10.2024

(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! Heart 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-docker/blob/master/image-opensim/Dockerfile-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



RE: Server-Tutorial: Linux und OpenSim - Pius Noel - 20.10.2024

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.