3 ms·
> 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
by rakoo 13y ago
> 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 https://wiki.archlinux.org/index.php/Initscripts
[1] https://wiki.archlinux.org/index.php/ABS#What_is_the_Arch_Build_System.3F https://wiki.archlinux.org/index.php/ABS#What_is_the_Arch_Bu...
[2] https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/nginx https://projects.archlinux.org/svntogit/community.git/tree/t...
[3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-servers/nginx/nginx-1.4.4.ebuild?revision=1.1&view=markup http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-...
[4] https://wiki.archlinux.org/index.php/Makepkg#Architecture.2C_compile_flags https://wiki.archlinux.org/index.php/Makepkg#Architecture.2C...