Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Actually, Arch[1] is the best of both worlds.

1.https://www.archlinux.org

Comparison to others: https://wiki.archlinux.org/index.php/Arch_Compared_to_Other_...



Arch is closer to Fedora than Gentoo or BSD.

Gentoo still uses a BSD Ports-like system called Portage. You can still have a sync'd directory of Ebuilds, which correspond to FreeBSD Makefiles, only you have the added benefit of USE flags, compilation options, and even binary packages.

You can run Portage on FreeBSD.

Gentoo still uses, by default, OpenRC, which is a BSD-like init system that also handles dependencies. It is compatible with other FreeBSD and NetBSD scripts as well.

You can run OpenRC on FreeBSD and NetBSD.

Arch, on the other hand, has Fedora's systemd, which is completely incompatible with any of the BSD's thanks to its use of cgroups, which are a Linux kernel only feature, and the developers of systemd have dismissed, openly, the BSDs as outdated and unimportant.

Arch also uses binary packages for most of its packages, which is closer to rpm/dpkg than it is to Portage/ports.

The AUR is a limited system designed for pulling in alternative and source packages. It lacks USE flags and compile-time and runtime end user control. The AUR is mostly managed by the community, and many AUR packages have a lower quality than the base pacman available packages. The less popular a particular AUR package, the less people will be involved in it, and the lower quality it will be.

On the flipside, the BSDs have impeccable quality packages. They're not configurable without tweaking stuff manually, but the defaults are rock solid.

Gentoo's core Portage tree packages are managed by official developers who are assigned duties. And like the AUR, the community is able to apply any number of "overlays" on top of the Portage tree, giving the community direct ease of modification of not only community packages, but core ones as well.

So, how is Arch the "best of BSD and Linux" when it has absolutely nothing to do with BSD?


> So, how is Arch the "best of BSD and Linux" when it has absolutely nothing to do with BSD?

You're being a little biased here.

Systemd has been default since 2012, yet Archlinux started in 2002. Before systemd, the default system (initscripts[0]) was very much BSD-like by design. Not anymore, that's true.

Regarding packages, you don't have to use binary packages; you can very well use the ABS [1], which AFAIK really is what ports are about:

- You get a tree where you can download recipes. They're called PKGBUILD in Arch, ebuild in Gentoo, but essentially do the same thing. Take a look at nginx's PKGBUILD [2], and you will recognize a logic similar to the corresponding ebuild [3], yet far simpler (because less configurable, I hear you coming)

- You have a set of tools to create a fake root, calculate dependencies, build the package according to global properties (there are compile flags [4], but I have no idea how they compares to the famous USE flags) and install the package.

- Pre-built packages are just packages that were built by the Archlinux team with sensible defaults and have proven to be stable enough (by Arch's standards), so I as a user don't have to bother re-compiling. But the process behind is completely done with PKGBUILDs.

The AUR is "just" a staging zone where packages get to be tested by the community at large. When it's popular enough and a Trusted User commits to maintaining the package, the PKGBUILD can be part of the [extra] repository, where all packages are automatically built and proposed to arch users... but still, with the same build process.

To me, Arch sits between Gentoo/*BSD and "higher-level" distros: it keeps the process as close as possible to upstream applications by providing a minimal framework to install and update them, so that users can get understand how gluing packages together works, and what they have to do to have a functional system that does what they want, and not spend time on understanding how the packages work inside. Arch is more about understanding and using the system as a whole, than understanding every brick.

[0] https://wiki.archlinux.org/index.php/Initscripts [1] https://wiki.archlinux.org/index.php/ABS#What_is_the_Arch_Bu... [2] https://projects.archlinux.org/svntogit/community.git/tree/t... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-... [4] https://wiki.archlinux.org/index.php/Makepkg#Architecture.2C...


Even on Arch, ZFS is awkward (btrfs is most of the way there but maturity is important in a filesystem), sound is still the mess that it always is on linux, and the system keeps changing underfoot.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: