BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


java_in_einer_chroot-umgebung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

java_in_einer_chroot-umgebung [2017/10/02 13:40]
java_in_einer_chroot-umgebung [2017/10/02 13:40] (aktuell)
Zeile 1: Zeile 1:
 +TODO - Leider ist im Moment nicht die richtige Java-Version in den Ports
 +
 +====== Allgemein ======
 +Java wird ursprünglich nicht für FreeBSD entwickelt. Wenngleich es eine für FreeBSD angepasste Version gibt so ist es nicht das originale Java und kann zu Problemen mit verschiedenen Programmen führen. Sollte es also nicht möglich sein ein Java-Programm mit der für FreeBSD angepassten Version von Java zu nutzen, so kann in einer abgetrennten chroot-Umgebung eine Version des originalen Java unter Verwendung der Linux-Kompatibilität installiert werden.
 +
 +====== Voraussetzungen ======
 +Es ist ein installiertes FreeBSD mit [[Systemquellen aktualisieren | installierten Systemquellen]] in ///​usr/​src//​ sowie eine eingerichtete [[Linux Kompatibilität]] notwendig.
 +
 +====== Vorarbeiten ======
 +Zunächst muss das Verzeichnis angelegt werden in welches die chroot-Umgebung installiert wird. In diesem Fall wird das Verzeichnis ///​usr/​local/​jails/​java//​ gewählt.
 +
 +Sollte nicht bereits eine kompilierte Version der Systemquellen vorliegen (z.B. von einem händischen Systemupdate oder eine [[Jail erstellen | Jail-Installation]]) muss das System nun übersetzt werden.
 +<​code>​
 +# cd /usr/src/
 +# make buildworld
 +</​code>​
 +
 +Hierdurch wird das gesamte Basissystem übersetzt und in /usr/obj gespeichert.
 +
 +Das fertig kompilierte System wird nun an seinen Zielort kopiert. Dies geschieht mit folgendem Aufruf (auch hier wieder aus /​usr/​src). ​
 +<​code>​
 +# make installworld DESTDIR=/​usr/​local/​jails/​java
 +# make distribution DESTDIR=/​usr/​local/​jails/​java
 +</​code>​
 +
 +Anschließend müssen noch ein paar Anpassungen vorgenommen werden. Die Ports werden in der Chroot verfügbar gemacht:
 +<​code>​
 +# mkdir /​usr/​local/​jails/​java/​usr/​ports
 +# mount_nullfs /usr/ports /​usr/​local/​jails/​java/​usr/​ports
 +</​code>​
 +
 +Dann wird noch die **resolv.conf** in die Chroot kopiert um eine Namensauflösung im Internet zu ermöglichen:​
 +<​code>​
 +# cp /​etc/​resolv.conf /​usr/​local/​jails/​java/​etc/​
 +</​code>​
 +
 +Zur Installation der Linux Bibliotheken wird ///dev// benötigt:
 +<​code>​
 +# mount -t devfs devfs /​usr/​local/​jails/​java/​dev
 +</​code>​
 +
 +Und weiter gehen die Arbeiten in der Chroot.
 +<​code>​
 +# chroot /​usr/​local/​jails/​java
 +</​code>​
 +
 +Die folgenden Befehle werden nun innerhalb der Chroot-Umgebung ausgeführt.
 +
 +Um sicher zu stellen, dass alle Pakete gegen die Bibliotheken von Fedora Core 10 gebaut werden wird die Datei **/​etc/​make.conf** mit folgendem Inhalt angelegt:
 +<​code>​
 +OVERRIDE_LINUX_BASE_PORT=f10
 +OVERRIDE_LINUX_NONBASE_PORTS=f10
 +</​code>​
 +
 +Nun kann die Linux-Umgebung installiert werden:
 +<​code>​
 +# cd /​usr/​ports/​emulators/​linux_base-f10
 +# make install clean
 +</​code>​
 +
 +Nachdem die Linuxbibliotheken installiert wurden muss nur noch Java installiert werden.
 +<​code>​
 +# cd /​usr/​ports/​java/​linux-sun-jre16/​
 +# make install clean
 +</​code>​
 +
 +Die Installation bricht ab und teilt mit, dass Java direkt beim Hersteller heruntergeladen werden muss. Dies wird nun gemacht (gewählt wird hier die normale Linux Version - nicht die X64 Version). Diese Datei wird nun in ///​usr/​ports/​distfiles//​ kopiert.
 +
 +Und erneut wird installiert... Nun mit der benötigten Datei.
 +<​code>​
 +# cd /​usr/​ports/​java/​linux-sun-jre16/​
 +# make install clean
 +</​code>​
 +
 +Im Anschluss hieran muss noch das Linux-procfs in der chroot gemountet werden.
 +Es wird in der chroot-Umgebung die Datei **/​etc/​fstab** mit folgendem Inhalt angelegt:
 +<​code>​
 +linproc ​  /​compat/​linux/​proc ​  ​linprocfs ​  ​rw ​  ​0 ​ 0
 +</​code>​
 +
 +Ist dies geschehen, dass linprocfs gemountet werden:
 +<​code>​
 +# mount /​compat/​linux/​proc
 +</​code>​
  
java_in_einer_chroot-umgebung.txt · Zuletzt geändert: 2017/10/02 13:40 (Externe Bearbeitung)

Impressum