lisanet
Aktives Mitglied
- Dabei seit
- 05.12.2006
- Beiträge
- 11.075
- Reaktionspunkte
- 13.686
Weil damit die via Nix installierten Pakete nicht benutzt werden, für die es schon ein Pendant von macOS gibt. Und das SymLinking ist die Basis um Dependency-Hell zu verhindern. Es gibt absolut keine Dependency-Probleme. Jedes Paket und dessen Dependencies werden jeweils in ihre eigenen Ordner isntalliert und an die ensprechenden Orte verlinkt. Ich kann so also SW installieren, deren Abhängigkeiten sich eigentlich gegenseitig ausschliessen würden. Es stellt zudem sicher, daß ich beim Updaten niemals in die Lage gerate, bei einem Abbruch in einen inkonsistenten Zustand zu geraten. Nur wenn Nix die Systemkonfiguration heil durchbauen kann, wird die neue Generation in einer atomaren Operation aktiviert. Und wenn eine SW funktionell kaputt ist, kann ich einfach einen Rollback zur vorherigen Generation machen, als wäre nie etwas geschehen. Das wäre mit einem klassisch operierenden Paketmanager einfach nicht möglich.
solange du in einem System bleibst, ist das immer einfach konsistent zu bleiben. Aber wenn es für dich die perfekte Umgebung ist, ist das doch gut. Ich lass dir das ja. Nur ich werde mir keinen Paketmanager aufs System legen, weil ich gar nicht weiß, welche Software das rechtfertigen könnte.
Und den Spieltrieb auf macOS rum zu frickeln habe ich nicht mehr. Das war ja auch mein initialer Grund, weg von Linux, hin zu macOS zu gehen.
Edit:
Im großen Bild sieht das dann so aus:
Nix überlädt erst mal Systembinaries indem es sich an erste Stelle stellt, um dann wiederum solche Systembinaries via symlinks zu bevorzugen, die es durch das Pfad-Setzen überladen hat. Ganz logisch, besser, effektiv erscheint mir das nicht.
Ach ja, eine "dependency hell" hast du in macOS nicht, es sei denn, man geht her und ersetzt System-Frameworks durch eigene libraries aus dem GNU/Linux-Umfeld. Und das machen alle Paketmanager prinzipbedingt. Aus nur einem Grund: man will/kann nicht, die System-Frameworks nutzen, weil eine saubere Portierung zu viel Aufwand ist. Also frickelt man halt was zusammen.