UUGRN:Jails/uug fbsd9

Aus UUGRN
< UUGRN:Jails
Version vom 25. März 2013, 22:58 Uhr von Rabe (Diskussion | Beiträge) (Rabe verschob Seite UUGRN:Jails/freebsd nach UUGRN:Jails/shd fbsd9: Das FreeBSD Maintainance Jail heißt inzwischen fbsd9)

freebsd.uugrn.org ist ein Infrastruktur-Jail für FreeBSD spezifische Aufgaben wie Port-Maintenance, Package-Builder, cvsup-mirror, ...

[ Verein: Server: • top4higgsBeta ]
[ Vereinsjails: mailmx1mysqllistswikiblogspadproxyuugrnshellircbncnewsftpfbsd9gitAlphacalendarAlpha ]
[ Mitglieder-Jails: shellmilerabetricksterchefriedelshlhdiltrn ]

Zweck

Dieses Jail wird für FreeBSD Software Maintenance verwendet

  • cvsup-Mirror
  • /usr/src Maintenance
  • Port-Maintenance
  • Distfile-Mirror für installierte Software
  • Package-Builder / Package-Repository
  • Interner FTP
  • Zentrales Security-Monitoring (portaudit)

Das Jail derzeit auf top.uugrn.org beheimatet.

Dienste

  • Apache
  • Mirror für www.FreeBSD.org (cvsup)

aktuell

Die Pflege von /usr/src, das globale /usr/ports und der Download von Distfiles kann sehr gut auch in einem Jail stattfinden und kann damit die Hostmaschine von Aufgaben befreien. Ziel ist es, möglichst wenige Dienste und Infrastruktur direkt auf top.uugrn.org vorzuhalten.

Port Maintenance

Es existiert ein gemeinsames /usr/ports/ in allen Jails, die jedoch nur lesend daraus zugreifen können. Alle erforderlichen Schreibzugriffe sind standardmäßig so eingestellt, dass sie nach /data/ports gehen, siehe /etc/profile und /etc/make.conf.

Innerhalb von freebsd.uugrn.org sieht die Welt etwas anders aus: Hier ist das gemeinsame /usr/ports/ als /data/ports_shared r/w gemountet. Es gibt dafür lokale /usr/ports als Arbeitskopie für die Port-Maintenance. Hier laufen alle Automatismen wie automatisches Package-Building, Distfile-Preloading, Pflege des INDEX etc.

Für die Dauer irgendwelcher Maintenance-Operationen (cvsup, make index, ...) ist die lokale Version von /usr/ports potenziell out-of-sync. Erst nach dem erfolgreichen Abschluss aller Operationen werden die Änderungen von /usr/ports nach /data/ports_shared "committet" (rsync) und stehen somit allen anderen Jails zur Verfügung, darin enthalten aktuelle auch alle erforderlichen Distfiles und frisch gebaute Packages.

Idealerweise muss in keinem anderen Jail ein Port selbst kompiliert werden, außer es handelt sich um einen Port, der noch nicht im Radar von freebsd.uugrn.org ist. Man kann also entweder Packages direkt mit pkg_add installieren oder poirtinstall -PP bzw. portupgrade -PP verwenden.

Für einen Experimentalbetrieb eignet sich zunächst shell.uugrn.org. Hier wird dann auch MASTER_SITE_OVERRIDE und MASTER_SITE_INDEX von /usr/ports (ist in diesem Jail die verteile r/o Kopie) auf http://freebsd.uugrn.org/ports/ umgezogen.

Sobald auf einem der Jails, z.B. shell.uugrn.org, ein Distfile angefordert wird, welches auf http://freebsd.uugrn.org/ports/distfiles/${DIST_SUBDIR}/ nicht verfügbar ist, wird das Distfile wie gewohnt direkt von den Quellen gezogen, die im jeweiligen Port konfiguriert sind.

Durch den 404 im Logfile von freebsd.uugrn.org kann dieses Jail nun ermitteln, welche(r) port(s) installiert wurde(n), da ein Rückschluss von einem Distfilenamen auf einen oder mehrere Ports möglich ist. Durch diesen Mechanismus kann fortlaufende der Bedarf an bestimmten Distfiles ermittelt werden (Radarschirm).

Alle auf dem Radarschirm befindlichen Ports werden, solange Bedarf besteht, auch als Package angeboten, wobei es hier auch eine Ausnahme- und Blockliste geben wird, da manche Ports nicht sinnvoll als Package gebaut werden sollten, z.B. sysutils/screen


siehe auch