Ahoi,
ich habe auf mehreren Servern die Aufgabe, Ruby Installationen (genauer: JRuby) zu warten. Die Binaries liegen alle unter /usr/local/jruby/bin. Nun habe ich zwei Möglichkeiten, wie Benutzer und Skripte jruby aufrufen können
a) über update-alternatives wird jedes executable nach /usr/bin verlinkt.
-Vorteil: Es funktioniert in jedem Environment, da /usr/bin immer im PATH enthalten ist.
-Nachteil: Für jedes neue Executable, was hinzukommt (z.B. bundler, rake, gem,...) müssen neue Links gesetzt werden.
b) die PATH-Variable wird um /usr/local/jruby/bin erweitert.
-Vorteil: Neue Executables sind automatisch über PATH erreichbar
-Nachteil: Es muss sichergestellt sein, dass in jeder Umgebung/Shell PATH richtig gesetzt ist (z.B. interactive bash, non-interactive Bash, Cron)
Was ist aus eurer Sicht Best Practice?
(RVM kommt für uns derzeit noch nicht in Frage.)
Vielen Dank,
Matthias
Best Practice: update-alternatives vs. PATH
-
- Beiträge: 2
- Registriert: 10.03.2010 15:19:26
- feltel
- Webmaster
- Beiträge: 10458
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Re: Best Practice: update-alternatives vs. PATH
Ich würds über PATH machen und den dann in /etc/environment erweitern.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
-
- Beiträge: 2
- Registriert: 10.03.2010 15:19:26
Re: Best Practice: update-alternatives vs. PATH
Danke für den Hinweis!
Hmm, zwar übernimmt Cron normale Variablen aus /etc/environment, allerdings überschreibt es selbst die PATH-Variable. Die einzige Möglichkeit, die ich bisher gefunden habe, ist in jeder einzelnen Crontab PATH explizit neu zu setzen. Was auch nicht gerade die tollste Lösung ist
Lg,
Matthias
Hmm, zwar übernimmt Cron normale Variablen aus /etc/environment, allerdings überschreibt es selbst die PATH-Variable. Die einzige Möglichkeit, die ich bisher gefunden habe, ist in jeder einzelnen Crontab PATH explizit neu zu setzen. Was auch nicht gerade die tollste Lösung ist
Lg,
Matthias
Re: Best Practice: update-alternatives vs. PATH
update-alternatives ist doch eher für die Distribution selbst da, um zum Beispiel verschiedene vi-Clones zu verwalten. update-alternatives löst das Problem, dass man mehrere Implementierungen einer Programmnamens in der Distribution hat.
Das Problem der Priorität zwischen offiziellen Paketen und selbst kompilierter Software (also /usr/bin vs. /usr/local/bin) ist eher eine Sache von $PATH.
Das Problem der Priorität zwischen offiziellen Paketen und selbst kompilierter Software (also /usr/bin vs. /usr/local/bin) ist eher eine Sache von $PATH.
Use ed once in a while!