this post was submitted on 10 Jul 2020
0 points (NaN% liked)

Linux

47356 readers
1241 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I have been using linux for about 2 years now and I have enjoyed every second of it. What in your opinion is the best package manager the linux community has ever offered to us? dpkg, apt, yum, pacman, xbps, zypp, nix, guix, portage, 0install and other tons of them that are out there.

top 1 comments
sorted by: hot top controversial new old
[–] adrianmalacoda@lemmy.ml 1 points 4 years ago* (last edited 4 years ago)

I'm very fond of Guix for a few reasons:

  • functional package management. Every package in the Guix store is in its own isolated directory (identified by the hash of that package + its dependencies) and every package knows where its dependencies are in the store, so you can have packages that depend on conflicting versions of libraries, for example.
  • transactional system upgrades, and ability to roll-back to a previous version of the system if an upgrade goes wrong somehow
  • per-user package management (each user has their own set of packages that doesn't require root to manage)
  • packages/repositories ("channels") are declared in a programming language (Scheme; not my choice of language but a language nonetheless) and version-controlled as git repos
  • packages are built from source by default but can also be available as pre-built binaries ("substitutes" in Guix lingo) if a trusted CI server has them available. I think this is the "best of both worlds" of a binary and source based package manager (this does come with an annoying pain-point, where you don't really know if you're going to get pre-built substitutes when you run guix upgrade, especially as packages that are less trivial to build also end up more likely to not be available from the CI server)
  • being able to install a package from a different source (e.g. a tarball, git branch/commit) (guix install --with-source, --with-branch, -with-commit, etc)
  • the default repository adheres to GNU's free distro guidelines, which is always (for me) a plus. That being said, there's maybe a dozen user-created channels with non-free kernels and non-free apps if that's your thing too.

Package Management section of Guix manual


Now, one thing I don't like about Guix is that its unconventional approach to package management often makes building more complicated packages a challenge, because those packages have to be patched to behave properly in the Guix environment.