Hallo, kann mir jemand verraten, wie ich in einem RPM eine Umgebungsvariable dauerhaft (also auch nach einem reboot) setzen kann? Gibt es eine SuSE-spezifische RPM-FAQ? Viele Grüße, Kai
On Tuesday 15 February 2005 12:53, Kai Zimmer wrote:
kann mir jemand verraten, wie ich in einem RPM eine Umgebungsvariable dauerhaft (also auch nach einem reboot) setzen kann?
Das geht so nicht. Du kannst keine Umgebungsvariablen für alle möglichen anderen Prozesse setzen. Du kannst höchstens Konfigurationsdateien ändern (oder im RPM selber mitbringen), die dann ihrerseits wieder Umgebungsvariablen setzen, aber auch das ist eine eher wackelige Lösung - es gibt so viele Stellen, an denen das überschrieben werden kann, daß das kaum zu überschauen ist. Denk' nur mal an die diversen /etc/profile, /etc/bash.bashrc, ... und an alle möglichen Start-Skripten wie /usr/X11R6/bin/startx, /opt/kde3/bin/startkde, ... die schon gerne mal allerhand derartige Variablen umsetzen. Ein Ansatz für so etwas wäre, ein eigenes Skript in /etc/init.d zu hinterlegen, das dann im RPM-Postinstall-Skript mit "insserv" in die gewünschten Runlevel eingefügt (und im Pre-Uninstall natürlich wieder gelöscht) wird. Siehe auch "man insserv" und /etc/init.d/README . Hinweis in diesem Zusammenhang: /etc/init.d/boot.local ist für RPMs tabu, das gehört dem Administrator.
Gibt es eine SuSE-spezifische RPM-FAQ?
Nicht, daß ich wüßte. Aber was Du suchst, ginge auch wohl deutlich über eine
solche FAQ hinaus.
CU
--
Stefan Hundhammer
Hallo Stefan, Leider kann ich nicht 'mal eben' auf eine Lösung per Konfigurationsdatei umstellen. Ist aber eine Möglichkeit für zukünfige Versionen. Aber ein init-skript wird wohl gehen. Vielen Dank und schöne Grüße, Kai
* Kai Zimmer [15.02.2005 12:53]:
kann mir jemand verraten, wie ich in einem RPM eine Umgebungsvariable dauerhaft (also auch nach einem reboot) setzen kann? Gibt es eine SuSE-spezifische RPM-FAQ?
Du meinst, es soll nach der Installation eines RPMs eine Umgebungsvariable gesetzt sein? Das geht, indem man eine (bzw. zwei) Dateien mit ins RPM packt, die nach /etc/profile.d installiert werden. Schau dir mal das mc-Paket an: $ rpm -ql mc | grep profile.d $ cat mc.sh alias mc='. /usr/share/mc/bin/mc-wrapper.sh' Gruß, Bernhard
On Tuesday 15 February 2005 14:06, Bernhard Walle wrote:
Das geht, indem man eine (bzw. zwei) Dateien mit ins RPM packt, die nach /etc/profile.d installiert werden. Schau dir mal das mc-Paket an:
$ rpm -ql mc | grep profile.d $ cat mc.sh alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
Man muß dann allerdings auch aufpassen, unter genau welchen Umständen diese
Variablen gesetzt sind - ob sie z.B. auch bei nicht-interaktiven Shells
gesetzt sind, ob alle zu benutzenden Shells das auch verwenden und so weiter.
CU
--
Stefan Hundhammer
participants (3)
-
Bernhard Walle
-
Kai Zimmer
-
Stefan Hundhammer