Aktuelle Version |
Dein Text |
Zeile 13: |
Zeile 13: |
| Man setzt die Ports auf read-only für alle Systeme und zwingt jedes System dazu, erforderliche Schreibzugriffe ausserhalb von /usr/ports durchzuführen. Es gibt allerdings einige Stellen, wo im Standardfall davon ausgegangen wird, dass /usr/ports schreibbar ist. Glücklicherweise gibt es für alles Knobs und Flags. | | Man setzt die Ports auf read-only für alle Systeme und zwingt jedes System dazu, erforderliche Schreibzugriffe ausserhalb von /usr/ports durchzuführen. Es gibt allerdings einige Stellen, wo im Standardfall davon ausgegangen wird, dass /usr/ports schreibbar ist. Glücklicherweise gibt es für alles Knobs und Flags. |
| | | |
− | ;WRKDIRPREFIX:
| + | [...] |
− | :Arbeitsverzeichnisse ("work/") unterhalb von /var/tmp Erstellen. Weiterer Vorteil: bei abgebrochenen Kompilierläufen muss man nicht überall in den Ports die diversen /work/-Verzeichnisse wegputzen, einfach rm -Rf /var/tmp/usr/ports/abc/xyz/ reicht.
| |
− | ;DISTDIR und PACKAGES:
| |
− | :Heruntergeladene Sourcen ("distfiles") sowie lokal kompilierte Packages z.B. in /data/ports abgelegen und speichern.
| |
− | | |
− | ;INDEX:
| |
− | : Die folgenden Zeilen erzwingen den Port-Index in /data/ports. Leider scheinen die verschiedenen Tools auf verschiedene Variablen zu achten, weswegen es hier leichte Redundanzen gibt.
| |
− | | |
− | == [[UUGRN:Jails]] ==
| |
− | Auf [[UUGRN:Server/top|top.uugrn.org]] wird das Verzeichnis /usr/ports per [[mount_null]] r/o in alle Jail gemountet.
| |
− | ;/etc/fstab:
| |
− | # Device Mountpoint FStype Options Dump Pass#
| |
− | [...]
| |
− | /usr/ports /data/jails/verein.uugrn.org/usr/ports nullfs ro 2 0
| |
− | /usr/ports /data/jails/intern.uugrn.org/usr/ports nullfs ro 2 0
| |
− | /usr/ports /data/jails/shell.uugrn.org/usr/ports nullfs ro 2 0
| |
− | [...]
| |
− | | |
− | Somit ist z.B. in [[UUGRN:Jails/shell|shell.uugrn.org]] das Verzeichnis /usr/ports read-only verfügbar.
| |
− | Damit die Ports dort wie gewohnt funktionieren, sind, wie oben beschrieben, alle für Schreibzugriff erforderliche Verzeichnisse nach /data/ports oder /var/tmp ausgelagert.
| |
− | | |
− | ;/etc/profile:
| |
− | :Wird von Tools verwendet, die NICHT innerhalb eines make-Kontexts ausgeführt werden.
| |
− | # ---- Ports r/o ----
| |
− | export WRKDIRPREFIX=/var/tmp
| |
− | export DISTDIR=/data/ports/distfiles/
| |
− | export PACKAGES=/data/ports/packages/
| |
− | export PORTS_INDEX=/data/ports/INDEX
| |
− | export PORTS_DBDIR=/data/ports/
| |
− | | |
− | ;/etc/make.conf:
| |
− | :Wird im make-Kontext benötigt und zugegriffen.
| |
− | # /usr/ports ist read-only in den Jails.
| |
− | WRKDIRPREFIX=/var/tmp
| |
− | DISTDIR=/data/ports/distfiles/
| |
− | PACKAGES=/data/ports/packages/
| |
− | INDEXDIR=/data/ports
| |
− | PORTS_INDEX=/data/ports/INDEX
| |
− | PORTS_DBDIR=/data/ports/
| |
− | | |
− | <!-- Ich habe mit allerdings bisher nie die Mühe gemacht, den Minimalfall zu finden -->
| |
| | | |
| [[Kategorie:FreeBSD]] | | [[Kategorie:FreeBSD]] |