Poudriere im Jail

Daemotron

Well-Known Member
Moin,

ich bastle nun schon seit ein paar Stunden rum, um Poudriere innerhalb eines Jails (10.0 Jail auf 10.0 Host) ans rennen zu bekommen, leider bisher nur mit mäßigem Erfolg. Weitgehend bin ich nach bapts Anleitung vorgegangen (wenn auch mit kleinen Abwandlungen bei Pfaden).

Was bis jetzt funktioniert:
  • Ports Tree erstellen und updaten
  • Jails erstellen
  • Jails updaten (mit kleinen Einschränkungen)
  • poudriere option
Was nicht funktioniert:
  • poudriere bulk
bricht mit folgendem Output ab:
Code:
====>> Creating the reference jail... done
====>> Mounting system devices for 100amd64-2014Q2-basic
devfs rule: ioctl DEVFSIO_RAPPLY: Operation not permitted
====>> Cleaning up
====>> Umounting file systems
Beim Jails updaten tritt dieselbe devfs-Meldung auf (sogar mehrfach), scheint aber den Update-Vorgang ansich nicht zu beeinträchtigen.

Mein Verdacht war, dass sich devfs eventuell nicht mounten lässt; manuell geht es aber. Selbiges gilt auch für die übrigen Dateisysteme wie tmpfs, procfs und zfs (Poudriere managed bei den funktionierenden Aufgaben ja auch ganz brav die zugehörigen Datasets). Hier die Ausgabe von lsvfs im Jail:
Code:
Filesystem                              Num  Refs  Flags
-------------------------------- ---------- -----  ---------------
devfs                            0x00000071     2  synthetic, jail
zfs                              0x000000de    33  jail, delegated-administration
ufs                              0x00000035     0 
nullfs                           0x00000029     0  loopback, jail
procfs                           0x00000002     0  synthetic, jail
fdescfs                          0x00000059     1  synthetic
tmpfs                            0x00000087     0  jail
linprocfs                        0x000000b5     0  synthetic

Hat jemand von Euch es schon mal geschafft, Poudriere in einem Jail ans laufen zu bekommen? Im Netz gibt's zwar einige Anleitungen, aber die Berichtslage über den tatsächlichen Erfolg ist eher dürftig...
 
Nach ein wenig Graberei in den Poudriere-Quellen ist das Thema gelöst: Poudriere 3.0.x läuft nicht in Jails; mit der aktuellen Entwicklungsversion (3.1-pre) funktioniert es aber auszgezeichnet. Also entweder Sourcen herunterladen und per ./configure && make install selbst installieren, oder ports-mgmt/poudriere-devel installieren.
 
Kannst du beschreiben, auf welche Art du es zum laufen gebracht hast? Bei mir klappt es nämlich nicht ;)

Mein /etc/jail.conf -Eintrag:
Code:
poudriere {
  path="/usr/local/jail/poudriere";
  host.hostname="poudriere";
  ip6.addr="2a01:4f8:150:50a5::12/64";
  persist;
  children.max=99;
  allow.mount;
  allow.mount.devfs;
  allow.mount.procfs;
  allow.mount.zfs;
  allow.mount.nullfs;
  allow.mount.tmpfs;
  allow.raw_sockets;
  allow.socket_af;
  allow.sysvipc;
  allow.chflags;
  mount.devfs;
  enforce_statfs=1;
  exec.start = "/bin/sh /etc/rc";
  exec.stop = "/bin/sh /etc/rc.shutdown";
  interface=re0;
}

Beim Versuch poudriere innerhalb eines Jails zu starten, erhalte ich folgende Fehlermeldung:
Code:
# poudriere bulk -f /usr/local/etc/poudriere.d/ports-lists/Kunden-Ports -j Kunden
[00:00:00] ====>> Creating the reference jail... done
[00:00:19] ====>> Mounting system devices for Kunden-default
[00:00:19] ====>> Mounting ports/packages/distfiles
[00:00:19] ====>> Using packages from previously failed build
[00:00:19] ====>> Mounting packages from: /usr/local/poudriere/data/packages/Kunden-default
[00:00:19] ====>> Mounting /var/db/ports from: /usr/local/etc/poudriere.d/Kunden-options
[00:00:19] ====>> Appending to make.conf: /usr/local/etc/poudriere.d/Kunden-make.conf
/etc/resolv.conf -> /usr/local/poudriere/data/.m/Kunden-default/ref/etc/resolv.conf
[00:00:19] ====>> Starting jail Kunden-default
jail: jail_set: Operation not permitted
[00:00:19] ====>> Cleaning up
[00:00:19] ====>> Umounting file systems

Installiert ist der Port "poudriere-devel-3.0.99.20140626". Einen 3.1 kann ich nirgends sehen.

Die Fehlermeldung deutet darauf hin, dass das Jail nicht erzeugt werden kann. Das ist seltsam, dann mit dem jail-Befehl kann ich ein Jail im Jail erzeugen.

Gruß,
Thorny
 
Zurück
Oben