02-16-2008
First s == S; init accepts either upper or lower case s. The meaning of s is built into the init program itself. If init comes up in level s, /etc/inittab is ignored. If init had been in a numeric run level, init will transition down to a point where /etc/inittab is ignored. This is the original and official single user mode. It is the only mode that works if /etc/inittab is missing. While init is in level S, init will ignore requests to reread /etc/inittab. In level S, init would originally connect a shell to the system console so that commands can be entered. Some versions of init, including Sun's, have a change to connect the login program to the console. This change makes the system more secure, but now booting up to single user requires /etc/passwd and /etc/shadow. Some versions of init can do either behavior depending on the security level of the OS. But all of this is built in to init and cannot be changed by modifying /etc/inittab.
The numeric run levels are under the control of the author of /etc/inittab. Sun uses:
0 = firmware mode...OS will die and you get the "ok" prompt
1 = "administrative" mode, Sun's replacement for single user mode with a very few things running
2 = multi-user mode, a lot of stuff running and people can sign on
3 = makes local resources available to other systems
4 = not used
5 = power down the system
6 = reboot the system
So "init 0" is very different... no OS at all will be running. Level s and Level S are different names for the same thing. Level S and 1 are very close in concept. The difference is that a few things will be running in level 1 and level 1 requires a good /etc/inittab.
Also Sun and everyone else cheat a little bit. If you are in a high level and enter level S, you do not really go all the way down to a "true" level S. They will leave a few things running. This leads the system admin's rule that a "true" level S is achieved only by rebooting and coming up directly to level S. This is partially because of intent and partially because some stuff just will not die.
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
When the solaris 8 have come up, which command can find out the current run-level?
thanks. (2 Replies)
Discussion started by: nianzhe
2 Replies
2. SuSE
Hello,
I recently updated a test system from Suse 8 to 9.3. Now our runlevel services program doesn't work, but works fine on our other 9.3 boxes.
We have a file in /etc/init.d/rc3.d called S99fooprog(not actual name ofcourse).
It just has a command to start a program daemon up. Anyways... (3 Replies)
Discussion started by: benefactr
3 Replies
3. Solaris
Hi Experts,
A stupid question for experts :confused: !!
What is the difference between run level ‘1', runlevel ‘S' and small ‘s'.
As per my understanding the difference between S and 1 is that in case of ‘S' it only going to mount the critical file system which ideal should be... (2 Replies)
Discussion started by: kumarmani
2 Replies
4. UNIX for Advanced & Expert Users
Hi,
Could somebody throw some light on the below queries:
- For a run-level X, the S* scripts are executed when coming here from X-n run-level. The K* scripts are executed when coming to X runlevel from X+n runlevel.
- Does reaching to runlevel X from X-3 executes K* scritps from X-2 & X-1... (4 Replies)
Discussion started by: vibhor_agarwali
4 Replies
5. Solaris
Hi All,
In Solaris 9 and below
I will get the init run-level by checking the /etc/inittab entry
is:3:initdefault:
But in Solaris 10 we are using the smf functionality.
Here how I can get the init default run level.
Please help me in this problem.
Regards,
... (2 Replies)
Discussion started by: kalpeer
2 Replies
6. Solaris
what are the major Difference Between run level & init level (2 Replies)
Discussion started by: rajaramrnb
2 Replies
7. UNIX for Dummies Questions & Answers
A Bourne Shell script is placed in /etc/rc.d/rc3.d called S57apache. What will happen with this script when the run level is changed from 5 to 3?
many thanks (4 Replies)
Discussion started by: lemon_06
4 Replies
8. Solaris
Hello,
I'm creating a VM Image of Solaris 10 on VM Player. I've completed the installation & I am using the Java Desktop as my default logon. I need to modify the Run Level to Console Mode (permanently). Unlike previous versions or Linux, modifying inittab file is not an option here.
Please... (2 Replies)
Discussion started by: DevendraG
2 Replies
9. Shell Programming and Scripting
Is there a way to tell what runlevel is currently being used,
for example is a user is using the gui
or is the have pressed Alt+Ctrl+F1 to drop to the terminal?? (3 Replies)
Discussion started by: ab52
3 Replies
10. Solaris
for solaris 11, how does one change the run level at boot from 3 to 2?
i checked "/etc/inittab" file where i usually change it in other *nix but it seems solaris is not using it. (1 Reply)
Discussion started by: badbanana
1 Replies
rc2(8) System Manager's Manual rc2(8)
NAME
rc2 - Run command script executed when entering a multiuser run level
SYNOPSIS
rc2
DESCRIPTION
The rc2 script contains run commands that enable initialization of the system to a multiuser state; run level 2. In addition to commands
listed within the script itself, rc2 contains instructions to run certain commands found in the /sbin/rc2.d directory. The script defines
the conditions under which the commands execute; some commands run if the system is booting, other commands execute if the system is chang-
ing run levels.
By convention, files in the /sbin/rc2.d directory begin with either the letter "K" or the letter "S" and are followed by a two-digit number
and a filename; for example: K00lpd S00savecore S25uucp
In general, the system starts commands that begin with the letter "S" and stops commands that begin with the letter "K." Commands that
begin with the letter "K" run only when the system is changing run levels from a higher to a lower level. Commands that begin with the
letter "S" run in all cases. The numbering of commands in the /sbin/rc2.d directory is important since the numbers are sorted and the com-
mands are run in ascending order. Files in the /sbin/rc2.d directory are normally links to files in the /etc/init.d directory.
An entry in the inittab file causes the system to execute the rc2 run commands, for example: s2:23:wait:/sbin/rc2 < /dev/console >
/dev/console 2>&1
The following operations are typical of those that result from executing the rc2 script and the commands located in the /sbin/rc2.d direc-
tory. The operation depends on which state the system is entering or exiting. Setting the time zone Checking the current run level Stop-
ping network services and daemons Starting (or stopping) system services and daemons Starting the cron daemon Setting up paging and dump
facilities Setting up uucp files
Setting the TIMEZONE variable is one of the first operations completed by the rc2 script. This action provides the default time zone for
subsequent commands.
FILES
Specifies the command path Specifies the directory of commands that correspond to the run level
RELATED INFORMATION
Commands: init(8), rc0(8), rc3(8) delim off
rc2(8)