Linux umsteiger braucht HW Beratung

Homebrew kannst du gar nicht als Root ausführen. Irgendwas fehlt da in deiner Begründung.
Dann versuche mal brew von zwei verschiedenen Usern aus zu benutzen – viel Spaß mit den Dateirechten. :) Ich hab da nur schlechte Erinnerungen dran. Und wenn ich es richtig erinnere gab es auch immer sehr viel Diskussionen um die Dateiberechtigungen von den installierten Paketen.

Du würdest dich wundern, was ich bei Linuxen schon für einen Quatsch gesehen habe…
Und DAS macht es es Ok, daß Apple einfach Dateien überschreibt, die sie eigentlich interessieren dürften?

Nochmal: fändest DU das problemlos, wenn sie dir die /etc/hosts überschreiben?
 
Ein Paketmanager, der nur Quellcodes ohne Binärcache ausliefert, ist auf Produktivsystemen ein Ärgernis.
Hä? Nix installiert doch aus dem Binär-Cache. Du kannst aber auch aus den Sourcen bauen, wenn du eine Paketdescription änderst (z.B. andere Compiler-Flags benutzen möchtest). Oder aber, wenn du einen anderen Pfad als /nix benutzt. Ich müsste, wie gesagt, auch erstmal nachsehen, was die konkreten Gründe sind.
 
Pfade werden unter macOS mittles path_helper gesetzt, sprich durch einzelne Dateien in /etc/paths.d. Die Datei enthält dann einfach den / die betreffenden Pfade, einen je Zeile. Mehr dazu wie üblich mit man path_helper
Ich werd mir das nochmal ansehen. Auf die schnelle konnte ich aber schon sehen, daß das mal in der Diskussion war. Müsste auch hier nochmal nachlesen, warum sie das nicht darüber gelöst haben.
 
Nochmal: fändest DU das problemlos, wenn sie dir die /etc/hosts überschreiben?

... wenn ich mich mal einmischen darf:

Ich verstehe ja deine Aufregung, dennoch möchte ich dir einen Tipp geben: versuche wenn du in der Shell arbeitetest /etc nicht zu modifizieren. Die meisten Dinge in macOS sind anders ausgelegt / geregelt als über Dateien in /etc. macOS/Darwin haben da nicht so viel mit Linux gemeinsam

Zu deinem PATH-Problem hatte ich ja schon die Lösung geschrieben.

Solltest du die zshrc / bashrc verwenden wegen Environment-Variablen für deinen daemon, dann setze die besser in der launchd.plist für den daemon.
 
Was also nicht geht, ohne essenzielle Funktionalität aufzugeben. (Und echt ärgerlich zu machen ist.)
Nun. Nix ist mittlerweile 20 Jahre alt. Da war nicht mal zu erahnen, daß es mal derartige restriktionen geben wird. Es gibt aber schon 1-2 Ansätze für Änderungen an Nix, die dann auch, zumindest als Beifang, die Notwendigkeit des besagten Pfades eliminieren.

Aber seit 1-2 Jahren ist das ja auch kein Problem mehr. Der Installer packt den Nix-Store in ein extra APFS-Volume, was dann nach /nix eingehängt wird, mit der Hilfe von /etc/synthetic.conf. Das funktioniert gut.
 
Solltest du die zshrc / bashrc verwenden wegen Environment-Variablen für deinen daemon, dann setze die besser in der launchd.plist für den daemon.
Ich werde garantiert nicht versuchen schlauer als der Nix-Installer (bzw. deren Erbauer) zu sein. :)
 
Und nichts davon geht automatisch; und die Deinstallation ist sicherlich auch ein großes Vergnügen.
Die Installation von Nix geht exakt so wie die von Homebrew: sh <(curl -L https://nixos.org/nix/install) --daemon

Du KANNST es aber wie im Manual beschrieben auch von Hand machen. Aber der Installer macht schon noch einen Ticken mehr. Und mit einer Hand voll weiterer Shell-Befehle kannst du auch nix-darwin und home-manager installieren und kannst dein System und dein(e) User deklarativ konfigurieren. 5-6 Zeilen in der Shell und du kannst deinen komplette Shellumgebungen, und Dienste in einem Schritt aus dem Git bauen lassen. Reproduzierbar. DAS ist das, auf was es am Ende hinaus geht und was die wahre Mächtigkeit ausmacht. Und wofür man die eine oder andere Merkwürdigkeit auf sich nimmt. Und genau diese User-Konfiguration(en) (via home-manager) kann ich auch direkt auf Linux/NixOS ausrollen. :)
 
Ich werde garantiert nicht versuchen schlauer als der Nix-Installer (bzw. deren Erbauer) zu sein. :)

Jedes open source Projekt lebt aber auch davon, dass User neue Ansätze einbringen, um ein "Festfahren" auf irgendwelchen alten Vorgehensweisen aufzubrechen und Projekte in die Neuzeit zu bringen.

Leider gehen viele open source Projekte nach dem noch nie sonderlich sinnvoll Spruch "never change a running system" vor, was dann eben dazu führt. dass Neuerungen selten adaptiert werden.

Ich patche mittlerweile viele von mir verwendete Software odeer passe diese an und gebe das an das Projekt zurück. Was die dann draus machen, ist deren Ding.

Wenn dein Paktemanger 20 Jahre alt ist und auf ein eigenes Root-Verzeichnis besteht, dann hat er eben schon einiges an Neuerungen verpasst. Ich vermute auch mal weiter: da du irgendwie mit der rc-Datei der Shell arbeiten musst / willst, hat der wahrscheinlich noch nicht mal groß die Möglichkeiten von launchd integriert.

Und nein, es ist gibt für mich keinen Grund, auf irgendwelchen linux-abstammenden Vorgehensweisen zu bestehen, wenn man auf macOS binaries ausführen will.
 
  • Gefällt mir
Reaktionen: M001 und warnochfrei
Leider gehen viele open source Projekte nach dem noch nie sonderlich sinnvoll Spruch "never change a running system" vor, was dann eben dazu führt. dass Neuerungen selten adaptiert werden.
Etwas, was man den Nix-Leuten definitiv NICHT vorwerfen kann. Mit der Geschwindigkeit, mit der sie Dinge immer wieder neu denken und umkrempeln. eit ich mit Nix vor etwas über 2 Jahren angefangen habe, hat sich einiges z.T. grundlegendes geändert. "never touch a running system" gilt hier definitiv nicht. :)
 
Fremde Scripts aus dem Web in die Shell pipen. Geile Idee!
Wie hast du brew installiert? Und wenn du es unbedingt willst, kannst du das Script auch zuerst runterladen und inspezieren. Oder du machst es von Hand, wie im Manual beschrieben. Where is the Beef. Und was ist mit den sonstigen Installern, mit der du so SW installierst? Da sind auch Scripte drin, denen du mit deinem Admin-Passwort hohe Rechte gibst. Oder benutzt du Ports? Deren Installer wirdst du auch nicht überprüft haben. Auch der beinhaltet Scripte und der wird auch garantiert etwas nachladen. Und überprüfst du alles, was du via brew/ports installierst – auch darüber…

Ich sehe da ehrlich gesagt keinen substanziellen Unterschied.

Ich verstehe auch nicht, warum jetzt plötzlich gegen Nix argumentiert wird, wo es EIGENTLICH nur als Beispiel diente, warum es scheiße ist, daß Apple die zshrc ständig killt. Was ist das überhaupt für ein Stil?!? Fühlst ihr euch ans Bein gepinkelt, weil ich was gegen Apples verhalten habe und kommt dann mit komischen Diskussions-Tricks daher? Euch muß Nix nicht gefallen. Hab ich überhaupt kein Problem mit. ICH finde es geil. Ich finde es nur scheiße, daß diese sachbezogene Kritik in eine andere Richtung abgelenkt wird und Apples verhalten scheinbar sogar noch neutral bis positiv befunden wird (ist halt kein Linux).
 
Etwas, was man den Nix-Leuten definitiv NICHT vorwerfen kann. Mit der Geschwindigkeit, mit der sie Dinge immer wieder neu denken und umkrempeln. eit ich mit Nix vor etwas über 2 Jahren angefangen habe, hat sich einiges z.T. grundlegendes geändert. "never touch a running system" gilt hier definitiv nicht. :)

Wenn die eine aktive community und Entwickler-Gemeinde haben, ist das schon mal was wert.

Ich persönlich halte aber nach vielen Jahren mittlerweile gar nichts mehr von irgendwelchen Paketmanagern.

Warum?

Weil die alle das gleiche grundlegende Problem teilen. Sie installieren letztendlich ein mehr oder weniger vollständiges Li ux-Subsystem auf einer fremden Platform, damit sie meist aus dem Linux-Umfeld stammende Software nutzen können, die wiederum nur linux-orientierte libraries und Konzepte nutzen.

Die Folge ist dann regelmäßig, dass macOS Frameworks kaum bis nicht verwendet werden und daher all die Möglichkeiten die macOS mit seinen Frameworks bietet, nicht genutzt werden. Und wirklich, die sind verdammt mächtig.

Es wird auch nie passieren, dass derartige Linux-abstammnde Software so portiert wird, dass die macOS Frameworks verwendet werden. Der Grund dazu ist eigentlich auch ganz banal: Du wirst kaum einen macOS-Entwickler finden, der es sich antut, irgendwelche compatibility -Layer zu entwickeln, die Linux-allgegenwärtigen libraries auf macOS frameworks mappt. Warum sollte der es sich antun, wenn er in Swift doer Objektice-C mit 1 oder 2 Zeilen API-Calls viele Dinge bewegen kann, die in x Zeilen puren C Code für GTK, dbus und Co unterzubringen.

Umgekehrt sind viele Linux-Entwickler leider oft der Ansicht, dass sie den Heiligen Gral entdeckt haben und die würden sich ja nie im Leben mit soetwas eingeschränktem wie macOS-Frameworks befassen. Apple ist doch das Böse auf der Welt. so von wegen goldener Käfig und Geld abpressen und so.

Aber ich will dir deinen Paketmanager nicht abspenstig machen. Ich habe mit nur kurz auf github ein paar install-scripte angesehen und dann gedacht... nee. das lass ich nicht auf mein System los. Und 1700+ offene Issues und 270+ offenen patch requests bestätigen mich darin. Da wäre ein vollvirtualisiertes Linux deutlich weniger risikobehaftet. In allen Belangen.

Welche Software ist denn so gut und mächtig, dass du dir solch tiefe Systemeingriffe antust und die man nicht weniger invasiv ins System bringt?
 
Zuletzt bearbeitet:
Ich verstehe auch nicht, warum jetzt plötzlich gegen Nix argumentiert wird

Ist mir schon aufgefallen: Du machst aus jedem Thread binnen kürzester Zeit einen Nix-Thread. Hätt' dir der eine nicht gereicht?

Euch muß Nix nicht gefallen. Hab ich überhaupt kein Problem mit. ICH finde es geil.

Gut, mir gefällt es auch nicht. Wenn du fertig damit bist, deshalb wild um dich zu treten, kommen wir vielleicht auch beim Thema "Apple hält sich übrigens ebenfalls nicht an alle Konventionen" weiter.

Ich finde es nur scheiße, daß diese sachbezogene Kritik in eine andere Richtung abgelenkt wird und Apples verhalten scheinbar sogar noch neutral bis positiv befunden wird (ist halt kein Linux).

Es "scheiße" zu finden, dass Applekunden in einem Appleforum Apples technische Entscheidungen logisch erklären können, ist zumindest sportlich.
 
wo es EIGENTLICH nur als Beispiel diente, warum es scheiße ist, daß Apple die zshrc ständig killt. Was ist das überhaupt für ein Stil?!? Fühlst ihr euch ans Bein gepinkelt, weil ich was gegen Apples verhalten habe und kommt dann mit komischen Diskussions-Tricks daher?

Nee, ich fühle mich da definitv nichts an Bein gepinkelt. Du wirkst aber etwas genervt, weil du nur SCHREIST.

Und ich wollte dir lediglich einwenig Hilfe anbieten, wie du macOS-typisch Pfade ins System integrierst. Wenn du das als Diskussions-Trick ansiehst, schade... aber dann lass ich es eben mit den Tipps.

Noch was:

macOS und Linux oder anderen unixoiden Betriebssysteme sind eben unterschiedlich. Und macOS ist da sicher die Variante, die am wenigsten mit der von Linux verbreiteten Philisophie einher kommt. Es ist in erster Linie ein GUI-zentriertes System, das die eigentliche Mächtigkeit in eigenen Frameworks abbildet. Die Shell ist da nur eine Ergänzung dieses System zu bedienen. Und IMHO ist diese Shell für die Bedienung von macOS sogar sehr mächtig. Aber eben nicht im Sinne eines GNU/Linux-gewohnten Users.
 
  • Gefällt mir
Reaktionen: dg2rbf und warnochfrei
Sie installieren letztendlich ein mehr oder weniger vollständiges Lin ux-Subsystem auf einer fremden Platform, damit sie meist aus dem Lnux-Umfaled stammende software nuten können, die wiederum nur linux-orientierte libiraries und Konzepte nutzen.

Homebrew und MacPorts betrachte ich hier als Ausnahmen - die haben mit dem Linux- und GNU-Kram erfreulich wenig zu tun. (Dass Ruby auch nicht gerade eine supigute Laufzeitumgebung ist: geschenkt.)
 
Zurück
Oben Unten