Linux umsteiger braucht HW Beratung

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.
 
Unangebracht finde ich die Art zu sagen "... das läuft unter Linux so, also muss sich macOS/BSD/Win/xyz danach richten".
Wo habe ich denn das bitte gesagt?!? Ich hab gesagt, daß Nix so gut funktioniert, daß es auf allen diesen Systemen funktioniert. Das ist keine Forderung, sondern schlicht eine Feststellung. Wo du da eine Forderung in der Aussage gesehen haben willst, ist mir schleierhaft.

Nebenbei: die Funktion als Paketmanager ist fast schon der kleinste Aspekt. Nix ist auch ein Build-Tool, das es einem ermöglicht Dev-Umgebungen zu formulieren, die überall funktionieren. Ich kann in meinem Git-Repo eine shell.nix packen, in der alles formuliert wird, was zum Bauen des Projekts nötig ist, so daß ich mit auschecken, nix-shell, warten bis Umgebung gebaut, direkt die SW bauen kann. Und dank der Arbeitsweise von Nix, kann ich Projekte parallel betreiben deren Tooling sich gegenseitig nicht vertragen, weil sie hermetisch voneinander getrennt sind.

Jeder, der mal ein Git ausgecheckt hat und dann erstmal über viele Schritte das Tooling installiert und eingerichtet hat dürfte feststellen, daß das schon irgendwie cool ist. Ein Kollege von mir hätte davon gerne schon viel früher gehört. Der musste immer, wenn er zwischen den Projekten wechselte, erst das Tooling des einen Projekts deinstallieren und das des neuen installieren (macOS mit brew), was immer relativ zeitaufwändig war. mit so einer Nix-Shell sind das 1-2 Minuten.
 
Genau dieses Versprechen ist wohl nicht gegeben, wenn ein Paktemanager verlangt, dass seine binaries an erster Stelle im Pfad stehen und andere "überladen". Auch symlinks in bestehenden Systempfaden wie /usr/local/bin sind eine ganz einfache Quelle von Konflikten. Die kann man nämlich ganz einfach verbiegen.
Wenn ich git aufrufe, will ich doch nicht das git von macOS haben. Auch nicht das ZSH von macOS oder die anderen oft veralteten CLI-Tools. Da will ich die von der Nix-Installation haben.

Ich benutze brew indirekt über nix-darwin, um GUI-SW zu installieren, weil brew da einfach mehr macOS-SW hat. Alle CLI-Tools werden aber via Nix installiert. Da ist das Repo auch bei weitem größer.

Und wenn du neben brew noch Nix benutzt, würdest du vrmtl. nicht auf die Idee kommen, die gleiche SW jeweils über beide zu installieren, oder? Ich würde jedenfalls nur das über brew installieren, was ich über Nix nicht bekomme. Einer der Paketmanager wäre der primäre, der andere der sekundäre.
 
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.
Hmmm… wie läuft das bei brew? Wenn du bei brew ein Paket installierst, was es schon in macOS gibt… z.B. git. Rufst du dieses brew-git immer via komplettem Path auf? Und was ist mit Scripten, die solch ein brew-Paket nutzen sollen? Änderst du die Scripte, damit diese das brew-Paket benutzen? Oder hast du nicht auch brew im Pfad ganz vorne stehen, damit automatisch alles die brew-Pakete benutzen. Ich mag mich falsch erinnern, aber ich meine, brew stand im Path ganz vorne.
 
Du brauchst mich nicht von deiner heilen super Nix-Welt überzeugen. Ich lass dir das. Ich will dich auch nicht von deinem Paktemanager abbringen. Freu dich daran oder ärgere dich weiter über die /etc/zshrc.

Und ob du eine bestimmte git-version meinst nutzen zu müssen oder nicht, musst doch du wissen. Ebenso ich, was ich auf macOS mache. Ich gehe an diese Dinge halt anders ran als du. Kannst du das akzeptieren?

Jedenfalls werde ich es besser in Zukunft sein lassen, dir einen Tipp außerhalb des Nix-Universums zu geben. Irgendwie ist das für dich nichts, andere Wege zuzulassen. Wie anfangs gesagt: ich bot dir Hilfe wegen der PATH-Variable an. Nimm sie oder lass sie liegen.
 
  • Gefällt mir
Reaktionen: warnochfrei
Merkwürdig. Weiter oben hast du dich noch darüber aufgeregt, dass Apple dir ebenso keinen Einfluss auf das Bootstrapping gewährt.
Genau. Indem sie den Nix-Hook bei jedem System-Update entfernen. Da hab ich nun wirklich keinen Einfluss drauf. Ich kann das nur mitigieren, indem ich mir mit einem launchd-Job gebaut habe, der den Hook wieder einbaut, wenn der nicht mehr vorhanden ist. Das klappt bisher auch super. Aber es ist auch irgendwie unnötig.
 
Du brauchst mich nicht von deiner heilen super Nix-Welt überzeugen. Ich lass dir das. Ich will dich auch nicht von deinem Paktemanager abbringen. Freu dich daran oder ärgere dich weiter über die /etc/zshrc.

Und ob du eine bestimmte git-version meinst nutzen zu müssen oder nicht, musst doch du wissen. Ebenso ich, was ich auf macOS mache. Ich gehe an diese Dinge halt anders ran als du. Kannst du das akzeptieren?
Puh… was hast du nur? Wo hab ich irgendwem irgendwas abspenstig gemacht?!? DAS EINZIGE; WAS ICH MONIERE IST, DASS APPLE MEINE CONFIG-DATEIEN LÖSCHT!!!!! <– Das darfst du jetzt wirklcih als schreien verstehen. Warum de-railst diesen eigentlichen Diskussionsgegenstand ständig zu einer Nix-Diskussion. Ich hatte überhaupt nicht vor diese Diskussion zu führen. Ich hab sie mitgemacht, in der Hoffnung aufzuzeigen, warum das löschen der /etc/zshrc ein Problem ist. Hooks ind diese Datei zu schreiben ist absolut Standard-Konform. Ja, es gibt auch andere Wege dies zu machen. Aber die haben jeweils ihre eigenen Probleme, daher hatte man sich für diesen entsschieden. ICH hab da wirklich keinen Einfluss drauf.

Jedenfalls werde ich es besser in Zukunft sein lassen, dir einen Tipp außerhalb des Nix-Universums zu geben. Irgendwie ist das für dich nichts, andere Wege zuzulassen. Wie anfangs gesagt: ich bot dir Hilfe wegen der PATH-Variable an. Nimm sie oder lass sie liegen.
Kann es sein, daß du manchmal etwas merkbefreit bist?!? Ich bin darauf eingegangen und hab dargelegt, was vrmtl. das Problem damit ist. Warum du das nicht so akzeptieren kannst und jetzt einen auf verkanntes Genie machst, ist mir schleierhaft. Offenbar siehst du mich als Vollpfosten, der unbedingt auf so Genies wie dich angewiesen sind. Und wehe man hält sich nicht an deine Vorschläge, fährst du diese Tour. Das ist bei dir irgendwie ein Standard-Modus.

Ich hab keine Lust mehr auf diese unsägliche Diskussion. Du bist überhaupt null daran Interessiert das eigentliche Problem überhaupt nur anzuerkennen. Statt dessen scheinst du zu glauben, daß die Nix-Leute alles Ignoranten oder Vollhonks sind, die keine Ahnung haben was sie da überhaupt tun.

Eure Erhabenheit… Ich verabscheue mich…
 
ich nutze keine Paketmanager. Wozu auch. Zum x-ten Mal: ich gehe an solche Dinge anders ran.
Na, weil du ja auch das Maß aller Dinge bist. Was du nicht brauchst, ist irrelevant, oder? Ist schön für dich, wenn du deine Dinge anders regelst. Du kannst ja gerne CLI-Tools per PKG installieren und einzeln händisch up-to-date halten…

Egal… Das führt hier zu nichts gutem mehr…
 
dein erstes Posting in diesem Thread
Leider wirft Apple einem gerne mal unnötigerweise Stöcke zwischen die Beine, was echt nerven kann. So überschreibt Apple bei jedem verficktem Update die /etc/zshrc, so daß mein Nix-Hook jedes mal weg ist. Ich hab mir jetzt damit geholfen, indem ich einen launchd-Job (*) laufen hab, der nachschaut, ob der Hook noch da ist und ggf. neu in die zshrc reinschreibt. Aber ich hasse es, wenn Apple einfach meine Dateien in /etc anfasst. :/

dein zweites Posting in diesem Thread:
Ich will, daß die Pakete, die ich via Nix installiert habe, direkt beim Systemstart verfügbar sind und nicht erst beim Login in meinen Nutzer.

Mein erstes Posting nachdem du in diesem Thread gepostest hast, war ein Hilfeangebot

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

dein letztes posting

-> PLONK
 
  • Gefällt mir
Reaktionen: warnochfrei und genexx
Mein erstes Posting nachdem du in diesem Thread gepostest hast, war ein Hilfeangebot
Und wieder ignorisert du, was ich daraufhin geschrieben habe. Ich bin darauf eingegangen. :(

Jo, plonk scheint mir die richtige Tat hierbei zu sein. Schade eigentlich… :/
 
Bist du für Apple halt auch nicht.
Hä? Hab ich das irgendwann behauptet? Leute, was ist denn euer Problem damit, einfach mal anzuerkennen, daß das keine gute Idee ist, wenn ein OS-Update NUTZERDATEIEN killt?!?

Soll Apple auch langsam ihr Standing in der Dev-Community verlieren, oder was? Es gibt durchaus einige große Firmen, die tausende Macs in den Dev-Teams betreiben, die – oh Wunder – auch Nix verwenden. Meinst du nicht, daß die das auch extrem ärgerlich finden, nach jedem Update erstmal schauen zu müssen, was Apple denn nun schon wieder Platt gemacht hat?

Und du hast immer noch nichts dazu gesagt, wie DU reagieren würdest, wenn Apple eines Tages anfangen würde bei den Updates auch die /etc/hosts zu killen. Ihr arbeitet euch alle beide dermaßen einen ab, irgendwas an Nix scheisse zu finden, ohne auf die eigentliche Frage einzugehen.

Ich weiß nicht, ob dich das mit der reproducibility wirklich interessiert. Aber falls doch, hier ein Vortrag frisch aus dem Padcatcher: Reproducible Builds for Trustworthy Binaries (Keine Angst, da geht es nicht um eine konkrete Umsetzung, sondern nur darum, was das ist und warum man das haben will. Nix wird da nur als eines von mehreren Beispielen genannt.)
 
wenn Apple eines Tages anfangen würde bei den Updates auch die /etc/hosts zu killen. Ihr arbeitet euch alle beide dermaßen einen ab, irgendwas an Nix scheisse zu finden, ohne auf die eigentliche Frage einzugehen.

Herzchen, lese bitte mal meine Postings durch, dann

1) bitte ich dich erneut, das mit dem "ihr" sein zu lassen
2) bitte ich dich wahr zu nehmen, dass ich dir bereits seit langem auf die Frage mit der /etc/hosts und meines Herangehens dazu geantwortet habe.
3) wolltest du ja ein sachbezogene Diskussion haben, in dessen Verlauf ich mehrmals erwähnte, dass ich für mich keine Gründe finden kann, mir einen Paketmanager, egal welchen, zu installieren und
4) dir mit konkreten sachbezogenen Beispielen genannt habe, was mir an Paketmanagern, und damit auch an nix, nicht gefällt und ich für nicht sinnvoll und gut ansehe.

Und nun, endgültig bye.
 
Leute, was ist denn euer Problem damit, einfach mal anzuerkennen, daß das keine gute Idee ist, wenn ein OS-Update NUTZERDATEIEN killt?!?

Dateien in /etc sind Systemdateien, keine Nutzerdateien.
 
Dateien in /etc sind Systemdateien, keine Nutzerdateien.
Doch, die des Systemadministrators. Das sind Konfigurationsdateien in /etc – meine Konfigurationsdaten. Was glaubst du denn, wieviel Konfigurationsdaten deinem User-Account auf dem Rechner gehören? Stellst du dich nur so doof, oder hast du wirklich keine Ahnung wieviele Konfigurationsdaten nicht in deinem User-Ordner liegen?!? Alles, was du Systemweit in deinem System einstellst, liegt nicht in deinem User-Ordner. Die globalen Konfigurationsdaten der Anwendungen und des System liegen in /Library – und – in /etc. In ersterem hauptsächlich der vom macOS und GUI-Anwendungen. Und im letzteren mutmaßlich der ganze darwin-CLI-Kram.

Mit den Domänen des Systems muss ich jetzt nicht anfangen, oder?

PS: nicht, daß ich ersthaft damit gerechnet hätte: auf die Frage gehst du natürlich nicht ein. Statt dessem diese Schwachsinnsargumentation.

PPS: du kannst mir doch sicher einen Link liefern, wo ich nachsehen, daß ich in /etc nichts zu suchen habe, oder? Und dann hätte ich gerne noch einen Link, wo ich sonst die Konfigs für Systemdienste ablegen soll…
 
Stellst du dich nur so doof

Nicht weinen. Mutti kommt gleich!

diese Schwachsinnsargumentation.

Nicht weinen. Mutti kommt gleich!

Natürlich kannst du systemweite Konfigurationen ablegen, wo immer du magst. Nur halt nicht in den falschen Dateien.
cf.: https://github.com/NixOS/nix/issues/3616 et al.

Die zsh ist halt nur kein Systemdienst.

Ich schaue im März wieder nach, ob du bis dahin fertig bist mit Schäumen, weil das böse Apple sich nicht nach den supidupi Designideen irgendeiner verkorksten Linuxsoftware richten mag, was dich dazu veranlasst, hier kilometerlange Hasstiraden gegen jeden abzusondern, der deine heilige Kuh Nix schief anguckt. Bis dahin: PLONK auch von mir. Das Leben ist zu kurz, um sich vollpöbeln zu lassen.

Geh doch auch mal an die frische Luft.
 
  • Gefällt mir
Reaktionen: M001
Wie schön, daß du auf NICHTS eingehst, was man dich fragt. Hauptsache immer schön die Diskussion entgleisen lassen und sich in spitzfindigkeiten ergehen. Und dann noch rummimosieren, wenn man sauer wird.

Du sagtst also, du hättest KEINE Probleme damit, wenn dir Updates die /etc/hosts zerschiessen? Ok, wenn man nur bisschen GUI-Kram rumklickt, mag das auch egal sein. Aber wer die hosts ernsthaft nutzt, hätte damit ein Problem.
 
Linuxsoftware richten mag, was dich dazu veranlasst, hier kilometerlange Hasstiraden gegen jeden abzusondern, der deine heilige Kuh Nix schief anguckt
Oh, wow, meinst du ernsthaft, mich würde interessieren, was DU von Nix hältst?!? Das ist mir doch völlig egal. So wie mir egal ist, welchen Browser, Mail-Client, Audio-Player, Smartphone, whatever favorisiert. Ich denke, du überhöhst dich da etwas. Mein selbstverständnis ist völlig unberührt, ob DU etwas gut findest, was ich gut finde.

Und nochmal: DU hast die Diskussion beständig nach Nix getrieben, während ICH die Diskussion ständig wieder versucht habe zur /etc/zshrc zu führen. Nix war einzig und alleine die SW, die dadurch das Problem hat.

Du warst zu keinem Zeitpunkt tatsächlich an dem eigentlichen Punkt interessiert. Du hattest dich von Anfang an nur darauf versteift gegen Nix zu argumentieren. Ist auch OK für mich. Nix ist auch nichts für jeden. Es bediend durchaus spezielle Interessen. Aber dann schiebe MIR bitte nicht die Schuld zu, daß ICH die Diskussion unbedingt auf Nix lenken wollte. Hab wenigstens die Eier in der Hose deinen Kopf selbst dafür hinzuhalten.
 
Zurück
Oben Unten