Wie verlinke ich /usr/local mit einem benutzerspezifischen Verzeichnis?

/usr/local/Ist es möglich, den Pfad unter MacOS einem Verzeichnis zuzuordnen , das für jeden Benutzer eindeutig ist, z. B. ~/local/? Oder gibt es eine andere Möglichkeit, folgendes zu lösen:

Ich versuche, jedem Benutzer auf meinem MacOS-Server eine persönliche Homebrew-Installation zu geben. Der Nachteil der Installation von Homebrew in einem nicht standardmäßigen Benutzerverzeichnis besteht jedoch darin, dass alle Pakete aus den Quellen neu erstellt werden müssen. Homebrew verwendet nur die binären Flaschen für das Standardverzeichnis /usr/local.

Vorzugsweise möchte ich, dass jeder Benutzer eine Kopie von Homebrew in seinem Home-Verzeichnis hat und den /usr/localPfad diesem Verzeichnis irgendwie zuordnet, damit die Binärdateien immer noch funktionieren.

Das klingt nach einem XY-Problem . Warum möchten Sie benutzerspezifische Homebrew-Installationen haben?
Weil Benutzer ihre eigene Software konfigurieren und verwalten müssen, ohne sich gegenseitig zu stören?
Haben Sie mehrere Entwickler, die alle an einem einzigen Computer arbeiten?
Ja. Es ist ein Compute/Build-Server mit vielen Benutzern, jeder mit seinen eigenen Anforderungen.
Ich habe gesehen, dass mehrere Personen dieselbe Homebrew -Installation verwenden, aber niemals mehrere Personen, die mehrere Instanzen von Homebrew-Sandboxen für individuelle Anforderungen verwenden. Sie benötigen ihre eigenen Computer.
Sie könnten Macports verwenden, da es wie alle Unix so konzipiert ist, dass eine Installation von Benutzern geteilt wird - in diesem Fall wäre die Installation die Vereinigung dessen, was installiert werden muss - Konfigurationsdateien befinden sich in den Home-Verzeichnissen

Antworten (1)

Ja, das kann man machen – ist aber relativ aufwendig.

Im Wesentlichen könnten Sie jeden Benutzer in sein eigenes Verzeichnis chrooten und das Dateisystem dort replizieren, mit Ausnahme des Verzeichnisses /usr/local, das dann benutzerspezifisch wäre.

Um auf die Systemverzeichnisse innerhalb der Chroot zuzugreifen, könnten Sie bindfs, osxfs oder sogar ein NFS-Mount verwenden.

Es ist viel einfacher, jedem Benutzer einfach ein nicht standardmäßiges Homebrew zu geben und ihn alle seine Pakete nach Bedarf neu erstellen zu lassen. Per Definition bedeutet das Nicht-Freigeben eines Ordners doppelte Speicherung und Arbeit, aber die Einrichtung ist wahrscheinlich weitaus weniger mühsam.