FreeBSD -> Jails -> /bin/bash

Sadakazu

Well-Known Member
Moin moin...
Ich hab hier eine (Java)Software am start, die versucht auf die /bin/bash zuzugreifen...
jetzt ist es ja so, das die bash unter BSD nicht installiert ist....
Aber man kann sie ja nachinstallieren... ist ja überhaupt kein problem... ;)
Allerdings wird sie nach /usr/local/bin/bash installiert...

Jetzt bin ich ja nicht doof und dachte mir ... hm... okay... dann probiere ich doch einfach mal ln -s /usr/local/bin/bash /bin/bash....
Blöd nur das die die Meldung bekomme das das Dateisystem nur read-only ist -.-"

Jetzt die große Preisfrage....
Wie bekomme ich in /bin einen link auf die bash?
Das ganze läuft in einer Jail....

Und nein, ich kann im Programm nicht den Aufruf von /bin/bash auf /bin/sh anpassen, oder gar auf /usr/local/bin/bash

Gruß
Sada
 
ka.. ist halt ne Jail.... und /bin wird von der base bereitgestellt und innerhalb der jail hab ich da wohl keine schreibrechte drauf....
Korregiere mich wenn ich bullshit laber....

[EDIT]
Was würde im schlimmsten fall passieren, wenn ich einfach bash von der jail in die base kopiere und anschließend alle jails neustarte?
Code:
cp /usr/jails/myJailWithBash/usr/local/bin/bash /usr/jails/basejail/bin
 

Anhänge

  • Bildschirmfoto_2017-11-26_12-56-12.png
    Bildschirmfoto_2017-11-26_12-56-12.png
    16,1 KB · Aufrufe: 331
Wieder mal ein tolles Beispiel, wie die Nutzung von ezjail dazu führt, dass am Ende alles kompizierter wird.
Ich empfehle, manuell ein autarkes Jail anzulegen, bzw. das vorhandene zu vervollständigen, dann kannst du auch den Symlink anlegen.

Rob
 
@KobRheTilla Dafür ezjail zu verdammen, finde ich falsch. Der Fehler liegt in einer Linux-zentrierten Java-Anwendung.

Manuelle Jails haben einen gewaltigen Nachteil: Man muss sie einzeln updaten/upgraden! Wenn man mehr als nur ein oder zwei Jails am Laufen hat, kann das schnell richtig mühselig werden. Ich habe drei Server mit je 4 Jails am Laufen - da bin ich froh, wenn ich alle Jails eines Servers in einem Rutsch updaten kann.

Abgesehen davon gibt es natürlich reale Anwendungsfälle, wo es richtig viel Sinn macht, dass das Basis-System read only ist, z.B. im Webhosting.
 
Ich habe drei Server mit je 4 Jails am Laufen - da bin ich froh, wenn ich alle Jails eines Servers in einem Rutsch updaten kann.
Sehe ich genauso... bei mir laufen je server auch ca. 4-5 Jails.... und wir haben aktuell 8 Server im Einsatz.... und mal eben 35-40 Jails von hand updaten ist ne echte qual...

Meine Temporäre Lösung
Code:
cp /usr/jails/myJailWhithBash/usr/local/bin/bash /usr/jails/basejail/bin
Nicht schön, aber:
Der Fehler liegt in einer Linux-zentrierten Java-Anwendung.
Der Fehler ist behoben ;)
Wie gesagt.. nur temporär bis ich mit dem entwickler ne lösung gefunden habe
 
Manuelle Jails haben einen gewaltigen Nachteil: Man muss sie einzeln updaten/upgraden! Wenn man mehr als nur ein oder zwei Jails am Laufen hat, kann das schnell richtig mühselig werden. Ich habe drei Server mit je 4 Jails am Laufen - da bin ich froh, wenn ich alle Jails eines Servers in einem Rutsch updaten kann.

Werden denn bei einem Major-Upgrade mittlerweile auch die Config-Files angepasst? Ich habe auf lange Sicht festgestellt, dass ezjail es wirklich komplizierter macht. Gerade wenn so Sachen sind, wie, dass man wegen irgend einer Anwendung noch nicht auf die neuste Version von FreeBSD upgraden kann. Soll natürlich jetzt nicht ezjail verteufeln, aber man kann sich hieran schon ganz gerne die Finger verbrennen. Und von ezjail wieder loskommen ist auch keine schöne Aufgabe.

Ansonsten dauert ein "freebsd-upgrade -b <jailpath> fetch install" im Skript auch nur länger, es bleibt aber ein Aufruf. Wenn FreeBSD 12 auf PkgBase umsteigt (aka pkg für das Basissystem), dann wird das für die ezjail-Leute auch noch mal lustig. Genauso wie damals die Umstellung auf /etc/jail.conf "lustig" war.

Nach meinen Erfahrungen ist der Aufwand ezjail <-> manuelle Jails + stupides Update-Skript in etwa gleich. Letzteres ist aber _deutlich_ flexibler.
 
Zurück
Oben