Marc Santhoff wrote:
> Oliver Fromme:
> > /home kannst Du per NULLFS in das/die Jail(s) reinmounten.
> >
> > # mkdir /jails/marc/home
> > # mount -t nullfs /home /jails/marc/home
> >
> > Analog kannst Du mit anderen Sachen verfahren, die zwischen
> > dem Host-System und einem oder mehreren Jails geshared
> > werden sollen. Man braucht übrigens mit NULLFS-Mounts
> > nicht sparsam zu sein. Selbst wenn man ein paar Tausend
> > hat, kosten das nicht spürbar Resourcen oder Performance.
> >
> > Im prinzip kannst Du das komplette Basissystem per NULLFS-
> > Mounts in das/die Jail(s) abbilden (die können dann sogar
> > read-only sein). Dann brauchst Du für die Jails keinerlei
> > zusätzlichen Plattenplatz bzw. hast nichts unnötig doppelt.
> > Außerdem hat es noch einen weiteren Vorteil: Bei einem
> > »make installworld« werden automatisch auch alle Jails
> > aktualisiert, ohne dass Du einen Finger krumm machen musst.
>
> Leider geht das nicht ganz so wie gewollt. Man kann scheinbar nur "von
> unten nach oben" mounten, auf gleicher Verezichnisebene wird's nix:
>
> # mkdir /jail
> # mkdir /jail/portsjail
> # mount_nullfs -o ro / /jail/portsjail
> mount_nullfs: / (/) and /jail/portsjail are not distinct paths
Das geht nicht, weil Du damit eine Endlosschleife erzeugen
würdest: /jail/portsjail/jail/portsjail/jail/portsjail/...
Daher darf beim NULLFS der Mountpoint kein Unterverzeichnis
des Quellverzeichnisses sein.
Das root-FS direkt in das Jail zu mounten, ergibt in der
Praxis ohnehin keinen Sinn, da Du ja nur einen kleinen
Teil davon überhaupt im Jail benötigst. Die Verzeichnisse
/dev, /boot, /etc, /var (und einige andere) des Host-
Systems haben in den Jails nichts verloren, wie Du ja
auch selbst weiter untern festgestellt hast.
In der Praxis brauchst Du vom root-FS wohl nur /bin, /lib
und /libexec, sonst nichts weiter. In sh-Syntax:
# for i in bin lib libexec ; do
# mkdir -p /jail/portsjail/$i
# mount_nullfs -o ro /$i /jail/portsjail/$i
# done
Analog kannst Du mit den Teilen von /usr/* verfahren, die
Du in den Jails benötigst.
Die Jails sollten ein eigenes /tmp, /var und /etc bekommen.
Für /tmp empfehle ich eine Memory-Disk (es sei denn, RAM
ist sehr knapp bemessen).
> Zudem habe ich /usr/local nicht auf einer separaten Partition, kann es
> also nicht weglassen. Das gleiche Spiel mit /etc, wenn ich / ins Jail
> montieren könnte, wie blende ich /etc vom basissystem aus und benutze
> ein explizit angelegtes und mit Dateien gefülltes /jail/portsjail/etc?
Siehe oben.
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "Life is short (You need Python)" -- Bruce Eckel, ANSI C++ Comitee member, author of "Thinking in C++" and "Thinking in Java" To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Sun 28 Feb 2010 - 18:46:33 CET