UUGRN:Jails/uug fbsd9

Aus UUGRN

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

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


Zweck

Dieses Jail wird für FreeBSD Software Maintenance verwendet

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

Daten

Server
top3.uugrn.orgoffline
Admin
Raphael Eiselstein talk 01:07, 12. Apr. 2013 (CEST)


Administrative Hinweise:

Infos veraltet!

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