HACKER Q&A
📣 eimrine

What Is GNU?


Is it an operating system? Is it a philosophy? Is it feasible without Linux or GNU/Linux if the latter is more correct? Why Slackware is not GNU? Is it possible for a distro with systemd to become a part of GNU operating system?


  👤 vhodges Accepted Answer ✓
https://www.gnu.org/home.en.html

It dates back to the earliest days of the FSF ('84 ish) It was meant to have it's own Kernel (Hurd microkernel) but largely means Linux User Space these days imo.



👤 sillywalk
GNU is Not Unix.

👤 mmphosis
To me, GNU is usually a lot of the commands that I use within Linux, or operating systems like BSD.

https://www.gnu.org/software/coreutils/

I am more into programming than philosophy, but the term "free software" figures prominently with GNU.

https://www.gnu.org/software/software.en.html

GNU Herd is around but it is not as prevalent as the Linux kernel.

https://www.gnu.org/software/hurd/

Linux is the kernel and it can access hardware and provide a stable interface to the hardware, and GNU is software. Thus, you'll hear the term GNU/Linux used to describe the operating system. A GNU/Linux operating system being: the GNU operating system commands and the Linux kernel. With these systems, you've got lots of options. You don't have to use GNU, you could just install something like busybox that gives you similar commands to GNU coreutils.

I believe one of the most important pieces of GNU software is the GNU Compiler Collection (GCC.) You can use a GNU/Linux operating system without having GCC installed. To actually build the Linux kernel, compiler tools are required. From Linux's start in the early 1990's that was GCC, although now other non-GNU compiler tools are used as well.

https://www.linuxfromscratch.org/lfs/view/stable/chapter01/h...

https://gcc.gnu.org/

I don't know much about Slackware, but I would imagine you could install GNU commands in Slackware.

You usually need to run an init program to get things started. This could be the init program for s6, OpenRC, runit, busybox-init, systemd, or another init system. Pick one, although the Linux distro usually picks it for you.

My operating systems are a mish-mash of startup managers, kernels, init systems, system commands including a lot of GNU software, networking software, desktop software, audio and video software, games, virtual machines, emulators, you name it.