Bericht Updates unter Linux: Paketmanager NIX aktualisiert (fast) alles

Scheint ganz nett zu sein, aber solange Apt für mich alles ohne Probleme erledigt, ist das für mich Nix.
...oder so ähnlich.
 
  • Gefällt mir
Reaktionen: Kaulin
mytosh schrieb:
Ich habe NIX jetzt mal kurz installiert. So pralle finde ich es nicht.
Wie toll Nix ist habe ich erst verstanden als ich alle meine installierten in einer config deklariert habe. Diese config habe ich in git auf meinem Laptop und PC und kann damit dass exakt gleiche System reproduzieren.

Aber ja, als alleinstehender Paketmanager sieht es auf den ersten Blick nicht besonders aus - vor allem die Konfigurationssprache Nix gefällt mir gar nicht.

Bright0001 schrieb:
Werden denn bestehende Installationen und Pakete erkannt? Auf einem Bestandssystem würde ich mir jetzt eigentlich nicht noch einen Manager installieren wollen.
Pakete landen im Nix store und PATH wird angepasst, um die pakete in der shell verfügbar zu machen. Dadurch entstehen keine unerwünschten Wechelwirkungen mit z.B. apt/dnf/pacman.

Miuwa schrieb:
Wie sorgt Nix jetzt eigentlich für die Isolation der verschiedenen Programmversionen gegeneinander bzw. sorgt dafür, das zu jedem Programm die richtigen Abhängigkeiten in der Richtigen Version geladen werden.
Da alle Pakete mit Version im Name unter /nix/store gespeichert sind, kann beim kompilieren direkt auf die genaue Version einer Abhängigkeit verlinkt werden. D.h. ein programm dass ffmpeg benötigt, nutzt nicht ffmpeg aus dem PATH, sondern /nix/store/langer-hash-ffmpeg-5.1.3/bin/ffmpeg.

Mein eigenes bash Skript nutzt aber trotzdem ffmpeg aus dem PATH, dass z.B. auf das obige ffmpeg im /nix/store zeigt.

Miuwa schrieb:
Und wer maintained die ganzen Pakete?
Tausende Freiwillige und Angestellte bei diversen Firmen die Nix verwenden.
Unter https://github.com/NixOS/nixpkgs finden sich die Pakete.
 
  • Gefällt mir
Reaktionen: nyster, Kaulin, Tanzmusikus und eine weitere Person
Tolle Sache, die Befehle sehen aber erst mal recht umständlich aus. Was mich an Flatpak nervt ist die Sandbox bzw Pakete die man scheinbar nicht korrekt konfigurieren kann. Als Beispiel sei hier mal yuzu genannt. Ich nutze es auf dem Deck und zum Beispiel das Verzeichnis für die Mods, Shader oder yuzu eigenen Ordner kann das flatpak nicht öffnen. Das gibt immer nur einen Portal Fehler im Syslog. Oder wenn ich in einer Flatpak Anwendungen auf einen Link klicke wird der Browser einfach nicht geöffnet (Der auch als Flatpak vorliegt)
Daher habe ich für mich Flatpak bisher mehr oder minder abgeschrieben und nutze AppImage Files.
 
Schon witzig, dass die Linuxgemeinde seit Jahrzehnten darauf besteht, wie toll Paketmanager sind, u.a. weil nicht jede Bibliothek 10 mal installiert wird und keine veralteten Versionen mit bekannten Sicherheitslücken verwendet werden. Mit Snap und Flatpack nähert sich das ganze aber portablen Programmen wie unter Windows an und installiert eben dann doch im Zweifel z.B. 10 mal Java.

Andersrum drückt Microsoft krampfhaft den Microsoft Store in die Welt und das durchaus überzeugende Winget.

Den Ansatz von Nix finde ich interessant - ich frage mich nur, wie ein Prgramm "seine" richtige Abhängigkeit findet. Eigentlich würde ja auch - würden alle Entwickler eine ordentliche Versionierung machen - vieles an Kompatibilitästests wegfallen (weil es die nur bei Major-Updates gibt)
 
  • Gefällt mir
Reaktionen: Deinorius und crackett
Ist zwar schön, dass es was gibt, was überall läuft, aber Ich bleibe auch erst mal beim Distri eigenen Paketmanager.
 
  • Gefällt mir
Reaktionen: nyster
werpu schrieb:
Was macht das Ding jetzt z.b. besser als Flatpak?
Soweit ich es richtig verstehe, liefert es auch Software, die nicht als Flatpak verfügbar ist, dass wird bei Flatpak immer weniger, spart aber auch ansonsten Speicherplatz (weil Flatpaks eben immer alle Abhängigkeiten mitliefern statt nur abzugleichen ob eine Anforderung bereits besteht).

Daneben hat Flatpak natürlich dennoch einige andere Vorteile.
 
NIX da! :daumen:


Wenn ich mal wieder Zeit habe, probiere ich NIX aus. 😊
Ergänzung ()

M-X schrieb:
Mir fehlt ein wenig die Beschreibung was NIX jetzt besser macht als die Vorinstallierten Paketmanager der jeweiligen Distribution ?
1. NIX-OS ist ein manuell gebautes Linux. Alle Installationen im System werden zuerst definiert & dann der NIX-Konfiguration hinzugefügt. Diese Sammlung an Konfigs kann dann einfach gesichert & woanders wieder installiert werden. Damit erhält man quasi 1:1 das gleiche System (zumindest in der Theorie, hab's noch nicht getestet).

2. Du kannst einzelne Installationen (von Paketen/Bibliotheken) wieder auf alte Revisionen zurücksetzen, falls etwas nicht wie gewünscht läuft. Andere Pakete sind davon nicht betroffen, also ...

3. ... kann NIX ähnlich wie Flatpak, Snap & AppImage Installationen von Paketen/Bibliotheken parallel unterschiedlich handhaben bzw. unterschiedlich aktuell halten, vermutlich sogar zwei Versionen eines Programmes oder einer Bibliothek.

Sag nicht, das wäre nix - das ist NIX. :D
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Kaulin, floTTes, xXDariusXx und eine weitere Person
garfield121 schrieb:
Die Anzahl von Flatpaks auf Flathub steigt kontinuierlich:
Code:
flatpak remote-ls --app flathub | wc -l
2269
Ja zu den 80'000 bei Nix fehlt ja fast gar nix mehr! 😅
Ich nutze NixOS schon seit Jahren und es ist einfach top!
 
  • Gefällt mir
Reaktionen: Deinorius, cruscz, Kaulin und 3 andere
Wenn ich die Pakete aus den Debian-Repos oder Ubuntu-Repos anschaue, ist das auch 5-stellig.
Die Flatpaks kommen dann zusätzlich, unabhängig vom Linux-OS.
 
  • Gefällt mir
Reaktionen: Feuerbiber
Lotsenbruder schrieb:
....und als Snap und als Appimage?
Zu AppImage: AppImage ist ja quasi nur eine Datei die du dir runterlädst und ausführen kannst. Da wird ja nicht wirklich was installiert. Die muss man halt abspeichern und dann wieder finden. Da fehlt das ganze Management drumherum, dass man easy danach suchen kann, das mit einem Command entfernen und installieren kann etc.
Klar kann ich das manuell bauen, das mein Desktop eine AppImage Anwendung findet, aber dann muss ich mir zum deinstalleren oder aktualisieren merken wo ich die Datei liegen habe.

Hier frage ich mich halt immer: Wieso soll ich mir das merken müssen?
Und wenn ich Anwendungen mit Plugins habe und diese brauchen andere dependencies, dann wird es mit AppImage meiner Erfahrung nach sehr schwierig.
 
  • Gefällt mir
Reaktionen: Tanzmusikus
@ShadowDragon
Ich hatte auch ein Mal ein AppImage installiert.
Das wieder zu finden und zu deinstallieren war echt richtig stressig - nie wieder !! :freak:


_Aqua_ schrieb:
NixOS ist eine Alternative zu Gentoo?
... und/oder zu Arch Linux.
 
Vielleicht noch einige Infos zur Installation von NIX auf einem Debian/Ubuntu/Linux-Mint basierten System für Sicherheitsfanatiker

Das Paket "Nix-setup-systemd" gibt es im Softwarekatalog und installiert den NIX-Package-Manager (zumindest auf meinem Linux Mint...)

Für die Freunde von graphischen GUI's gibt es das Nix-Software Center
https://github.com/vlinkz/nix-software-center

Eine Übersicht über die Welt von Nix ;) gibt es übrigens hier..
https://github.com/nix-community/awesome-nix
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Deinorius, nyster, de-ice und 4 andere
Tanzmusikus schrieb:
Ich hatte auch ein Mal ein AppImage installiert.
Das wieder zu finden und zu deinstallieren war echt richtig stressig - nie wieder !! :freak:

Da vertust Du dich.

Appimages werden nicht installiert, die sind direkt ausführbar.
 
stedix schrieb:
Wenn Windows: nutze winget in der powershell, mit z.B. upgrade --all. Die gängigen Anwendungen (Steam, Discord, Office, OBS etc etc) sind da alle drin.
ich füge mal noch wingetui dazu. winget(ui) macht das leben unter windows um einiges angenehmer.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Kaulin
IBISXI schrieb:
Appimages werden nicht installiert, die sind direkt ausführbar.
Meine Wortwahl war inkorrekt. Es sollte heißen: "... AppImage eingebunden".

Unter Windows würde man einen LW-Buchstaben vergeben.
Unter Linux wird es an einen Ordnerpfad gemountet.

Unter Windows lässt sich so eine portable Datei (z.B. ISO) leichter wieder entfernen (auswerfen).
So jedenfalls meine Erfahrung.
 
Tanzmusikus schrieb:
AppImage eingebunden
So ganz komm ich da auch nicht mit. ^^ Bei einem AppImage musst du nur in den Eigenschaften den Haken auf "ausführbar" setzen und kannst es dann direkt mit Doppelklick starten.
 
  • Gefällt mir
Reaktionen: Tanzmusikus
Hm. Das wäre ja total "easy".
Es war ein kleines Linux-Spiel, das weiß ich noch.

Ich weiß nicht mehr, welcher Anleitung ich da gefolgt bin.
Frei nach dem Motto: "Warum einfach, wenn's auch kompliziert geht?" 😜



Oder ich hatte MangoHud als AppImage eingebunden, weil ich eine neuere Version als die der Distro haben wollte.
Naja, danke jedenfalls für den Tipp.
Ergänzung ()

Edit:
Ich glaube, das hier war's:
./Pingus-x86_64.AppImage /tmp/.mount_Pingusjvm9YF/usr/lib/games/pingus/pingus: error while loading shared libraries: libpulsecommon-11.1.so: cannot open shared object file: No such file or directory

Lässt sich auch nicht einfach so starten. Wahrscheinlich zu alt das Spiel für das aktuelle Pop!_OS.
Ergänzung ()

Es gibt auch eine NIX-Version des Spiels:
https://github.com/Pingus/pingus/blob/master/pingus.nix
 
Zuletzt bearbeitet:
Zurück
Oben