Verlassen mit den synth profiles

Mardor

Well-Known Member
Hallo,

irgendwie bin ich bei den synth profiles trotz Anleitung und man page etwas verloren.

Aktuell möchte ich ein profile für das hostsystem und profile pro jail. Sagen wir einfach als Namen <host>, <jail1>, <jail2>. <Jail1> soll andere Pakete mit anderen make optionen beinhalten als <jail2>.

Mit synth configure kann ich folgende Optionen für Pfade setzen:

- Ports directory
- Packages directory
- Distfiles directory
- Port options directory
- Build logs directory
- Build base directory
- System root directory

Ich würde spontan folgendes auswählen:

Profile default (liveSystem) für ports speziell für das hostsystem:

- Ports directory: /usr/ports
- Packages directory: /var/synth/live_packages
- Distfiles directory: /usr/ports/distfiles
- Port options directory: /var/db/ports
- Build logs directory /var/log/snth
- Build base directory /usr/obj/synth
- System root directory: /

Profile jail1 für ports im jail1:

- Ports directory: /usr/ports
- Packages directory: /var/synth/jail1_packages
- Distfiles directory: /usr/ports/jail1_distfiles
- Port options directory: /var/db/jail1_ports
- Build logs directory /var/log/synth_jail1
- Build base directory /usr/obj/synth_jail1
- System root directory: /usr/jails/jail1 (basedir für jail 1)

Profile jail2 für ports im jail2:
- Ports directory: /usr/ports
- Packages directory: /var/synth/jail2_packages
- Distfiles directory: /usr/ports/jail2_distfiles
- Port options directory: /var/db/jail2_ports
- Build logs directory /var/log/synth_jail2
- Build base directory /usr/obj/synth_jail2
- System root directory: /usr/jails/jail2 (basedir für jail 2)

Ich würde dann die distfiles in die jails via nullfs mounten wollen.
Machen meine Einstellungen Sinn (bei manchen verstehe ich den Zweck trotz Anleitung nicht).

Gruß Mardor
 
Hi,

ich würde distfiles wie die Ports zentral halten, die sind nämlich daran gebunden.

ports directory: /usr/ports
distfiles directory: /usr/ports/distfiles

Desweiteren würde ich eine ordentliche Hierarchie nutzen, statt das alles so aufzufächern:

build logs: /var/synth/<jailname>/logs
build base: /var/synth/<jailname>/build-base
packages: /var/synth/<jailname>/packages (dies dann per nullfs ins Zieljail)

Rob
 
Hallo Rob,

danke für deinen Tipp.

Würdest du "[G] System root directory /" dann auch auf das jeweilige root des Jail bzw. beim Host auf die Root des Host setzen ?

Gruß Mardor
 
Wenn Synth auf dem Host läuft: Spräche etwas dagegen, das Packages directory direkt in die jeweilige Jail zu verlegen? Also z.B. nach /usr/jails/jail1/var/synth/packages (oder wo auch immer Deine Jails liegen). Dann müsstest Du nix mehr zusätzlich mounten; und die Packages benötigst Du ja eh ausschließlich in der jeweiligen Jail...
 
Hi,

ich denke ich habe den Grund meiner letzten Frage vergessen mitzuteilen.
Aktuell ist es bei mir so, dass sich ja bereits über portmaster installierte ports in den jails befinden.

Diese sollen jedoch einfach durch die direkt über synth in jedem Jail erkannt werden und von synth kompiliert werden.
Danach wäre der Plan mit pkg delete die selbstkompilierten ports zu deinstallieren und dann mit pkg install die synth ports zu installieren.


Gruß Mardor
 
Aktuell ist es bei mir so, dass sich ja bereits über portmaster installierte ports in den jails befinden.

Diese sollen jedoch einfach durch die direkt über synth in jedem Jail erkannt werden und von synth kompiliert werden.
Ich bin nicht 100% sicher, aber ich glaube nicht, dass das "automatisch" erkannt werden kann - Du musst meines Wissens Synth schon explizit mitteilen, was Du bauen willst.

Du erhälst dann ein Synth-Repo, das Du ganz normal über Einträge in /usr/local/etc/pkg/repos einbinden kannst - inkl. der Priorität, mit der die Synth-Pakete vs. Pakete aus anderen Repos verwendet werden sollen.
 
Zurück
Oben