You are not logged in.
I keep seeing this statement but what does it actually mean? Looked it up on Wikipedia and it went right over my head... How is Arch like/unlike BSD and most other Linux distros? I have a friend who's hardcore into FreeBSD and he loves it because it's so organized, all user apps go to the same folder, system stuff to a certain folder, etc, instead of everything all mixed up with lots of places to put everything like most linux distros have. Is this similar to how Arch works?
Thanks,
Nathan
Offline
As I see it(correct me if I'm wrong) all the init script for daemons are located in /etc/rc.d instead of /etc/init.d/rc.{0,1,2,3,etc...} and the basic system configuration(daemons to start, keyboard layout, ...) is located in /etc/rc.conf
-$: file /dev/zero
/dev/zero: symbolic link to '/dev/brain'
Offline
The main difference is that Arch and BSD use a single file (/etc/rc.conf) to point to a single directory (etc/rc.d/) for all system services regardless of runlevels. There exist only 2 runlevels in a BSD style init; single and multi-user. (3 if you count X )
A sysvinit would use an entire directory for each runlevel /etc/rc.1,2,3,4,5 etc., with a convoluted array of symlinks within the directory; one for each service, and each symlink pointing to a corresponding script in the /etc/init.d/ directory.
Offline
Okay, so it basically simplifies how the basic daemons are started and run?
Offline
Correct me if I'm wrong, but it's the other way around: BSD style is not meant to simplify, it was just the first way of doing things. Sys V was invented later, to fine-tune daemon management based on runlevel - being more complex while doing this.
Offline
Correct me if I'm wrong, but it's the other way around: BSD style is not meant to simplify, it was just the first way of doing things. Sys V was invented later, to fine-tune daemon management based on runlevel - being more complex while doing this.
Of course you are right, since BSD's history is 30 years in the making.
Arch, CRUX and Slackware do it the BSD way. I am not sure if there are others. Debian and some of its derivatives do it the sysvinit way. I believe Ubuntu uses upstart, which I am not familiar with.
Offline
BSD:
* Startup scripts are generally kept in /etc/rc.d/
* A small number of files (/etc/rc.sysinit, /etc/rc.local, etc.) control the startup process
Sys V:
* Startup scripts are generally kept in /etc/init.d/
* There are also a number of /etc/rcX.d/ directories -- one for every run-level (i.e. X represents 0 through 6 and S, so, 8 altogether)
* The contents of each /etc/rcX.d/ directory is a collection of soft-links to scripts in /etc/init.d/
* Each soft-link in a specific /etc/rcX.d/ directory is named so it will execute in the order of it's alphabetical relationship to the other soft-links
Example (ls -1 /etc/rc3.d/):
S05vbesave <-- execs first
S10acpid
S10sysklogd
S10xserver-xorg-input-wacom
S11klogd
S12dbus
S12hal
...
S98usplash
S99acpi-support
S99laptop-mode
S99rc.local
S99rmnologin <-- execs last
This example was actually 39 lines long -- and just represents run-level #3. In addition, /etc/rc.local executes after the target run-level is finished doing init.
So, given Sys V's complex hierarchy -- spanning 8 run-levels by an average of N-number of daemons -- you can probably guess why so many people rave about Arch's BSD-style init schema ;-)
Offline
Correct me if I'm wrong, but it's the other way around: BSD style is not meant to simplify, it was just the first way of doing things. Sys V was invented later, to fine-tune daemon management based on runlevel - being more complex while doing this.
SysV tried to improve a system that didn't need improving. In BSD, there are only two runlevels, single-user mode and multi-user mode. That's it, and it works very well. That's not to say that the SysV init doesn't work well. It does too, but SysV's aim was never simplicity. However, fast-forward to today and you'll see that BSD is actually closer to Unix philosophy, which emphasizes simplicity.
Offline
Thanks to you all, I just finished reading this topic and find this info very enlightenment.
Best.
Offline
BSD:
* Startup scripts are generally kept in /etc/rc.d/
* A small number of files (/etc/rc.sysinit, /etc/rc.local, etc.) control the startup process
Nitpicker's point:
The classic 4.4BSD and previous BSDs did not include /etc/rc.d/ startup scripts at all, and OpenBSD continues in this tradition, lacking an equivalent to the /etc/init.d/ scripts common on SysV-style systems, instead it has a single /etc/rc script whose behavior is controlled by the /etc/rc.conf file. I don't know about how the other modern BSDs control starting and stopping services besides for the fact that they include /etc/rc.conf files, I assume, based off of soloport's post that most use /etc/rc.d/ scripts.
Last edited by pseudonomous (2010-05-24 20:02:32)
Offline
Nitpicker's point:
Subject: What exactly is a BSD style init framework?
Offline