GridTalk.de
Automatische Einstellung einer IP beim Start von 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)
+---- Forum: Linux (https://www.gridtalk.de/forumdisplay.php?fid=26)
+---- Thema: Automatische Einstellung einer IP beim Start von OpenSim (/showthread.php?tid=4832)



Automatische Einstellung einer IP beim Start von OpenSim - royalgrid - 23.03.2024

Hallo, gibt es unter Ubuntu einen Befehl, der einer Datei wie OpenSim.ini Robust.ini sowie anderen Dateien in PHP automatisch eine IP zuweist?


RE: Automatische Einstellung einer IP beim Start von OpenSim - Sascha Dyvall - 23.03.2024

Guten Abend ich kenne mich zwar nicht so gut aus aber würde gerne versuchen dir zu helfen Smile


RE: Automatische Einstellung einer IP beim Start von OpenSim - Pius Noel - 24.03.2024

Ich weiss nicht genau was du meinst, aber wenn es darum geht eine Zeile mit einer IP Adresse in einer .ini Datei zu ersetzen, dann bieten sich die Befehle, awk, gawk oder sed an. Alle drei sind Editoren mit ihren eigenen Eigenschaften.

Zum Beispiel habe ich hier in der Datei demo.ini einen Ausschnitt aus einer OpenSim.ini genommen. Das sieht dann so aus:
Code:
[Const]
    ; this section defines constants for grid services
    ; to simplify other configuration files default settings

    ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1"
    BaseHostname = "127.0.0.1"

    ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}"
    BaseURL = http://${Const|BaseHostname}

Mit folgender Befehlszeile tausche ich mit sed die Zeile mit dem BaseHostname mit der IPv4 Adresse meines Hosts aus:
Code:
IP=$(hostname -I|cut -d ' ' -f 1); sed -i "/BaseHostname =/c\    BaseHostname = \"$IP\"" demo.ini

Meine demo.ini sieht danach so aus:
Code:
[Const]
    ; this section defines constants for grid services
    ; to simplify other configuration files default settings

    ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1"
    BaseHostname = "116.203.93.82"

    ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}"
    BaseURL = http://${Const|BaseHostname}

Hinweis: Die IP Adresse habe ich mit hostname -I erhalten, das alle IP-Adressen zurückgibt. In meinem Fall ist es eine IPv4-Adresse und eine IPv6 Adresse (116.203.93.82 2a01:4f8:1c1b:67fc::1). Da ich annehme, dass immer zuerst die IPv4 Adresse ausgegeben wird, habe ich diese mit cut vor dem ersten Space übernommen.

Ich habe das kurz unter Ubuntu 22.04 ausprobiert. Ob so etwas für deinen Anwendungsfall auch funktioniert, weiss ich nicht.


RE: Automatische Einstellung einer IP beim Start von OpenSim - Manfred Aabye - 24.03.2024

Meinst du so etwas?
PHP-Code:
SEARCHADRES="icanhazip.com" # Suche Adresse'
export SYSTEMIP='"'$(wget -- -q $SEARCHADRES)'"' # Die IP in die SYSTEMIP schreiben.
# oder so
export SYSTEMIP='"'$(wget -- -q $SEARCHADRES)'"'; declare -x SYSTEMIP 
Du kannst das auch mit SED direkt in die Konfigurationsdatei schreiben.

So etwas und mehr findest du hier:
https://github.com/BigManzai/OpenSim-Shell-Script/blob/main/dotnet/osmtool.sh

oder SED hier:
https://github.com/BigManzai/OpenSim-Shell-Script/blob/main/div_bash_examples/sed_examples.sh

Wiki:
https://github.com/BigManzai/OpenSim-Shell-Script/wiki/Funktionsliste


RE: Automatische Einstellung einer IP beim Start von OpenSim - royalgrid - 26.03.2024

Ich werde beides ausprobieren und wir werden sehen
DANKE


RE: Automatische Einstellung einer IP beim Start von OpenSim - Manfred Aabye - 26.03.2024

Du kannst auch in meinem osmtool.sh Bash Skript schauen, Zeile 18394 bis Zeile 19476 behandelt Konfigurationen.
Natürlich darfst du auch meine Funktionen weiterverwenden oder umschreiben, sodass sie für dich funktionieren.


RE: Automatische Einstellung einer IP beim Start von OpenSim - Manfred Aabye - 26.03.2024

Was ich ganz vergessen habe, ist das es zwei Add-on Module gibt, die den OpenSimulator konfigurieren können.

opensim-configuration-addon-modul Alpha https://github.com/BigManzai/opensim-configuration-addon-modul

Das andere finde ich gerade nicht.