Tuesday, August 26, 2008

linux command

If you want to -> Use the Linux command
control server access -> xhost
append files -> cat
know your machine architecture -> arch
create archive -> cpio, tar
work with archives -> ar
convert ASCII to bitmap -> atobm
convert bitmap to ASCII -> bmtoa
print at specific time -> atq
run command at specific time -> at
list atoms -> xlsatoms
manage authorization information -> xauth
set background attributes -> xsetroot
set background image -> xpmroot
print a banner -> banner
display file basename -> basename
run batch commands -> batch
display beginning of file -> head
display end of file -> tail
convert ASCII to bitmap -> atobm
convert bitmap to ASCII -> bmtoa
view and edit bitmaps -> bitmap
compile C programs -> gcc
compile C++ programs -> gcc, g++
perform calculations -> bc, pname, xcalc
view a calendar -> cal
clear your screen -> clear
list running clients -> xlsclients
display contents of clipboard -> xclipboard
display a clock -> oclock, xclock
show color database -> showrgb
display colormap -> xcmap
set colormap properties -> xstdcmap
cut column -> cut
create columns -> column
combine files -> cat, join
run command at specific time -> at
build command lines -> xargs
compare files -> cmp, diff, diff3, sdiff, zcmp, zdiff
compare compressed files -> zcmp, zdiff
compare sorted files -> comm
compare text files -> diff, diff3, sdiff
compare three text files -> diff3
compile C programs -> gcc
compile C++ programs -> gcc, g++
compile Fortran programs -> g77
compress executable file -> gzexe
compress file -> gzip, znew
connect to another computer -> minicom, seyon
copy files -> cp, cat
count words -> wc
return the current date -> date
change the date on your system -> date
decode file -> uudecode
delete files -> rm
delete directories -> rmdir
change directory -> cd
make directory -> mkdir
print current directory -> pwd
list disk free space -> df
lock display -> xlock
view display information -> xdpyinfo
query DNS server -> dnsquery
show domain name -> dnshostname
echo input -> echo
edit text file -> elvis, emacs, vi, vim, xedit
create electronic mail -> elm, mail, metasend, pine
encode electronic mail -> mimencode, mmencode
format electronic mail -> formail
notify of incoming electronic -> mail biff, xbiff, wnewmail
create multimedia electronic mail -> metasend
print electronic mail -> printmail
read electronic mail -> elm, mail, pine, readmsg
reply via electronic mail -> Rnmail
retrieve electronic mail via POP -> popclient
send batches of electronic mail -> fastmail
split MIME electronic mail -> splitmail
launch electronic-mail server -> imapd, sendmail
encode file -> uuencode
return environment variables -> printenv
set environment variables -> env
view event information -> xev
make FIFO -> mkfifo
check files -> cksum
find files -> find
change finger information -> chfn
return finger information -> finger
launch font server -> xfs
view font server information -> fsinfo
list fonts -> fslsfonts, showfont, xfd
format file -> fmt, groff
format floppy disk -> fdformat
compile Fortran programs -> g77
generate fractals -> xfractint
launch FTP server -> ftpd
edit graphics -> xv
change group -> chgrp, newgrp
view online help -> apropos, info, man, whatis
return host information -> host
set hostname -> hostname
view keyboard information -> dumpkeys, kdb_mode
modify keymaps -> xmodmap
save keystrokes to file -> script
view keyword information -> whatis
edit images -> xv
launch IMAP mail server -> imapd
launch Internet server -> inetd
join sorted files -> join
link files -> ln
list files -> dir, ls
lock display -> xlock
login remotely -> rlogin
login system -> login
view login name -> logname
create electronic mail -> elm, mail, metasend, pine
encode electronic mail -> mimencode, mmencode
format electronic mail -> formail
notify of incoming electronic mail -> biff, xbiff, wnewmail
create multimedia electronic mail -> metasend
print electronic mail -> printmail
read electronic mail -> elm, mail, pine, readmsg
reply via electronic mail -> Rnmail
retrieve electronic mail via POP -> popclient
send batches of electronic mail -> fastmail
split MIME electronic mail -> splitmail
launch mail server -> imapd, sendmail
list free memory -> free
merge files -> paste
MIME-encode electronic mail -> mimencode, mmencode
split MIME electronic mail -> splitmail
change mode -> chmod
mount disk -> mount
mount floppy disk -> fdmount
mount tape drive -> mt
move files -> mv
create multimedia electronic mail -> metasend
list network users -> rusers
check Usenet news -> checknews
post Usenet news -> Pnews, postnews
read Usenet news -> trn
list Usenet newsgroups -> getlist
run commands nicely -> nice
set options -> xset
change owner -> chown
display X pixmap -> sxpm
partition drive -> fdisk
change password -> passwd
change permissions -> chmod
retrieve electronic mail via POP -> popclient
view PostScript file -> ghostview
print at specific time -> atq
print electronic mail -> printmail
print file -> lpr
prepare file for printing -> pr
delete print job -> lprm
view process status -> ps, w
end process -> kill, killall, xkill
reprioritize process -> snice
return a process ID -> pidof
list the processes eating the most CPU time -> top
display X properties -> xprop
refresh your screen -> xrefresh
remove files -> rm
remove directories -> rmdir
set X resource database -> xrdb
list X resources -> appres, listres, viewres
reverse file lines -> rev
set root attributes -> xsetroot
set root image -> xpmroot
change root directory -> chroot
schedule tasks -> cron
clear your screen -> clear
magnify screen -> xmag
refresh your screen -> xrefresh
create screen capture -> xwd, xv
display screen capture -> xwud, xv
search files -> egrep, fgrep, grep
search compressed files -> zegrep, zfgrep, zgrep
launch session manager -> xsm
control server access -> xhost
view X server performance -> x11perf
compare X server performance -> x11perfcomp
change your shell -> chsh
create shell archives -> shar
unpack a shell archive -> unshar
run two shells in two windows -> splitvt
trace signal -> strace
sort files -> sort
check spelling -> ispell
split file -> csplit, split
launch a spreadsheet -> pname, xspread
trace system call -> strace
display system usage -> uptime, w
display system load -> tload, xload
display system statistics -> systat
create tape archive -> cpio, tar
mount tape drive -> mt
run Tcl command shell -> wish
telecommunicate with another computer -> minicom, seyon
launch terminal emulator -> rxvt, xterm
change terminal settings -> stty
view texinfo information -> info
find text in binary file -> strings
edit text file -> elvis, emacs, vi, vim, xedit
trace system call -> strace
transfer files -> ftp, tftp
send data to two files -> tee
determine file type -> file
unmount filesystems -> umount
unzip file -> gunzip, gzip, zcat
unzip zipped file -> unzip
check Usenet news -> checknews
post Usenet news -> Pnews, postnews
read Usenet news -> trn
list Usenet newsgroups -> getlist
list user information -> who, rwho
substitute user -> su
list logged-in users -> users
list network users -> rusers
return environment variables -> printenv
set environment variables -> env
configure video card -> SuperProbe
view files -> cat, less, more
view compressed files -> zmore
search whatis database -> apropos
set page width -> fold
display window information -> xwininfo
count words -> wc
browse World Wide Web -> lynx
launch World Wide Web server -> httpd
launch X Window System -> startx
generate XF86Config file -> Xf86config
receive via xmodem -> rx
send via xmodem -> sx
receive via ymodem -> rb
send via ymodem -> sb
receive via zmodem -> rz
send via zmodem -> sz

Refferensi
linux in plain english by Patrick V, Kevin R

Monday, August 25, 2008

use xwindow in linux

Use Xwindows in linux
This is Linux startx, wonderful as you can see. I used KDE :


Menu Internet :



And so on ...
All menu is self explanatory, so you can do all the think from this graphic window.

linux boot process

Linux boot process

Hardware : POST, CMOS
Software : grub, kernel, init

Grub :
grub = GRand Unified Bootloader
grub allows you to send boot parameters to the kernel before it starts.
This is file /etc/grub.conf :
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.2054_FC5smp)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.2054_FC5smp ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.15-1.2054_FC5smp.img

#---------------------- finish grub.conf----------------------------------#

root=partition, tell linux to use different partition.
ro=mount root filesystem in read only.
Kernel : skip for this moment, dont get headache.

Init :
The init program read configuration file /etc/inittab, this is the file :
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:once:/etc/X11/prefdm -nodaemon

#-----------------------finish inittab-----------------------------------#

entry in inittab has four field.
Default run level, wich I used is 3 ( id:3:initdefault: ) - Full multiuser mode (text mode).
If you want linux start in graphic, just run startx or change 5 ( X11 ).
After that, system initialization script /etc/rc.d/rc.sysinit is run by init program.
This script activates swap partitions, checks the filesystem consistency on any partitions it is about to mount, and performs a few other functions we do not have to worry about yet.

This is the file /etc/rc.d/rc.sysinit :
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.
#
HOSTNAME=`/bin/hostname`
HOSTTYPE=`uname -m`
unamer=`uname -r`
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi
if [ ! -e /proc/mounts ]; then
mount -n -t proc /proc /proc
mount -n -t sysfs /sys /sys >/dev/null 2>&1
fi
if [ ! -d /proc/bus/usb ]; then
modprobe usbcore >/dev/null 2>&1 && mount -n -t usbfs /proc/bus/usb /proc/bus/usb
else
mount -n -t usbfs /proc/bus/usb /proc/bus/usb
fi
. /etc/init.d/functions
# Check SELinux status
selinuxfs=`LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`
SELINUX_STATE=
if [ -n "$selinuxfs" ] && [ "`cat /proc/self/attr/current`" != "kernel" ]; then
if [ -r $selinuxfs/enforce ] ; then
SELINUX_STATE=`cat $selinuxfs/enforce`
else
# assume enforcing if you can't read it
SELINUX_STATE=1
fi
fi
if [ -n "$SELINUX_STATE" -a -x /sbin/restorecon ] && LC_ALL=C fgrep -q " /dev " /proc/mounts ; then
/sbin/restorecon -R /dev 2>/dev/null
fi
disable_selinux() {
echo "*** Warning -- SELinux is active"
echo "*** Disabling security enforcement for system recovery."
echo "*** Run 'setenforce 1' to reenable."
echo "0" > $selinuxfs/enforce
}
relabel_selinux() {
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 1
fi
# if /sbin/init is not labeled correctly this process is running in the
# wrong context, so a reboot will be reuired after relabel
REBOOTFLAG=`restorecon -v /sbin/init`
. /etc/selinux/config
echo "
*** Warning -- SELinux ${SELINUXTYPE} policy relabel is required. ***
*** Relabelling could take a very long time, depending on file ***
*** system size and speed of hard drives. ***
"
echo "0" > $selinuxfs/enforce
/sbin/fixfiles restore > /dev/null 2>&1
rm -f /.autorelabel
if [ ! -z "$REBOOTFLAG" ]; then
echo $"Automatic reboot in progress."
reboot -f
fi
echo $SELINUX_STATE > $selinuxfs/enforce
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 8
fi
}
if [ "$CONSOLETYPE" = "vt" -a -x /sbin/setsysfont ]; then
/sbin/setsysfont
fi
# Print a text banner.
echo -en $"\t\tWelcome to "
read -r redhat_release < /etc/redhat-release if [[ "$redhat_release" =~ "Red Hat" ]]; then [ "$BOOTUP" = "color" ] && echo -en "\\033[0;31m" echo -en "Red Hat" [ "$BOOTUP" = "color" ] && echo -en "\\033[0;39m" PRODUCT=`sed "s/Red Hat \(.*\) release.*/\1/" /etc/redhat-release` echo " $PRODUCT" elif [[ "$redhat_release" =~ "Fedora" ]]; then [ "$BOOTUP" = "color" ] && echo -en "\\033[0;34m" echo -en "Fedora" [ "$BOOTUP" = "color" ] && echo -en "\\033[0;39m" PRODUCT=`sed "s/Fedora \(.*\) release.*/\1/" /etc/redhat-release` echo " $PRODUCT" else PRODUCT=`sed "s/ release.*//g" /etc/redhat-release` echo "$PRODUCT" fi if [ "$PROMPT" != "no" ]; then echo -en $"\t\tPress 'I' to enter interactive startup." echo fi # Set the system clock. update_boot_stage RCclock ARC=0 SRM=0 UTC=0 if [ -f /etc/sysconfig/clock ]; then . /etc/sysconfig/clock # convert old style clock config to new values if [ "${CLOCKMODE}" = "GMT" ]; then UTC=true elif [ "${CLOCKMODE}" = "ARC" ]; then ARC=true fi fi CLOCKDEF="" CLOCKFLAGS="$CLOCKFLAGS --hctosys" case "$UTC" in yestrue) CLOCKFLAGS="$CLOCKFLAGS --utc" CLOCKDEF="$CLOCKDEF (utc)" ;; nofalse) CLOCKFLAGS="$CLOCKFLAGS --localtime" CLOCKDEF="$CLOCKDEF (localtime)" ;; esac case "$ARC" in yestrue) CLOCKFLAGS="$CLOCKFLAGS --arc" CLOCKDEF="$CLOCKDEF (arc)" ;; esac case "$SRM" in yestrue) CLOCKFLAGS="$CLOCKFLAGS --srm" CLOCKDEF="$CLOCKDEF (srm)" ;; esac /sbin/hwclock $CLOCKFLAGS action $"Setting clock $CLOCKDEF: `date`" /bin/true # Fix console loglevel if [ -n "$LOGLEVEL" ]; then /bin/dmesg -n $LOGLEVEL fi # Only read this once. cmdline=$(cat /proc/cmdline) # Initialize hardware if [ -f /proc/sys/kernel/modprobe ]; then if ! strstr "$cmdline" nomodules && [ -f /proc/modules ] ; then sysctl -w kernel.modprobe="/sbin/modprobe" >/dev/null 2>&1
else
# We used to set this to NULL, but that causes 'failed to exec' messages"
sysctl -w kernel.modprobe="/bin/true" >/dev/null 2>&1
fi
fi
touch /dev/.in_sysinit >/dev/null 2>&1
killall nash-hotplug >/dev/null 2>&1
/sbin/start_udev
# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
# Load modules (for backward compatibility with VARs)
if [ -f /etc/rc.modules ]; then
/etc/rc.modules
fi
# Start the graphical boot, if necessary; /usr may not be mounted yet, so we
# may have to do this again after mounting
RHGB_STARTED=0
mount -n /dev/pts >/dev/null 2>&1
[ -n "$SELINUX_STATE" ] && restorecon /dev/pts >/dev/null 2>&1
if strstr "$cmdline" rhgb && ! strstr "$cmdline" early-login && [ "$BOOTUP" = "color" -a "$GRAPHICAL" = "yes" -a -x /usr/bin/rhgb ]; then
LC_MESSAGES= /usr/bin/rhgb
RHGB_STARTED=1
fi
# Configure kernel parameters
update_boot_stage RCkernelparam
sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1
if [ "$CONSOLETYPE" = "vt" -a -x /bin/loadkeys ]; then
KEYTABLE=
KEYMAP=
if [ -f /etc/sysconfig/console/default.kmap ]; then
KEYMAP=/etc/sysconfig/console/default.kmap
else
if [ -f /etc/sysconfig/keyboard ]; then
. /etc/sysconfig/keyboard
fi
if [ -n "$KEYTABLE" -a -d "/lib/kbd/keymaps" ]; then
KEYMAP="$KEYTABLE.map"
fi
fi
if [ -n "$KEYMAP" ]; then
if [ -n "$KEYTABLE" ]; then
echo -n $"Loading default keymap ($KEYTABLE): "
else
echo -n $"Loading default keymap: "
fi
loadkeys -u $KEYMAP < /dev/tty0 > /dev/tty0 2>/dev/null && \
success $"Loading default keymap" failure $"Loading default keymap"
echo
fi
fi
# Set the hostname.
update_boot_stage RChostname
action $"Setting hostname ${HOSTNAME}: " hostname ${HOSTNAME}
# Initialize ACPI bits
if [ -d /proc/acpi ]; then
for module in /lib/modules/$unamer/kernel/drivers/acpi/* ; do
module=${module##*/}
module=${module%.ko}
modprobe $module >/dev/null 2>&1
done
fi
# configure all zfcp (scsi over fibrechannel) devices before trying to mount them
# zfcpconf.sh exists only on mainframe
[ -x /sbin/zfcpconf.sh ] && /sbin/zfcpconf.sh
# RAID setup
update_boot_stage RCraid
echo "raidautorun /dev/md0" nash --quiet
if [ -f /etc/mdadm.conf ]; then
/sbin/mdadm -A -s
fi
# Device mapper & related initialization
if ! LC_ALL=C fgrep -q "device-mapper" /proc/devices 2>/dev/null ; then
modprobe dm-mod >/dev/null 2>&1
fi
echo "mkdmnod" /sbin/nash --quiet >/dev/null 2>&1
[ -n "$SELINUX_STATE" ] && restorecon /dev/mapper/control >/dev/null 2>&1
if [ -c /dev/mapper/control ]; then
if [ -f /etc/multipath.conf -a -x /sbin/multipath.static ] ; then
modprobe dm-multipath > /dev/null 2>&1
/sbin/multipath.static -v 0
if [ -x /sbin/kpartx ]; then
/sbin/dmsetup ls --target multipath --exec "/sbin/kpartx -a"
fi
fi
if [ -x /sbin/dmraid ]; then
modprobe dm-mirror >/dev/null 2>&1
for x in $(/sbin/dmraid -ay -t --ignorelocking 2>/dev/null egrep -iv "no block devices foundNo RAID disks" awk -F ':' '{ print $1 }') ; do
dmname=$(resolve_dm_name $x)
if [ -z "$dmname" ]; then
/sbin/dmraid -ay --ignorelocking "$x"
fi
done
fi
if [ -x /sbin/lvm.static ]; then
if /sbin/lvm.static vgscan --mknodes --ignorelockingfailure > /dev/null 2>&1 ; then
action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure
fi
fi
fi
if [ -f /fastboot ] strstr "$cmdline" fastboot ; then
fastboot=yes
fi
if [ -f /fsckoptions ]; then
fsckoptions=`cat /fsckoptions`
fi
if [ -f /forcefsck ] strstr "$cmdline" forcefsck ; then
fsckoptions="-f $fsckoptions"
elif [ -f /.autofsck ]; then
[ -f /etc/sysconfig/autofsck ] && . /etc/sysconfig/autofsck
if [ "$AUTOFSCK_DEF_CHECK" = "yes" ]; then
AUTOFSCK_OPT="$AUTOFSCK_OPT -f"
fi
fsckoptions="$AUTOFSCK_OPT $fsckoptions"
fi
if [ "$BOOTUP" = "color" ]; then
fsckoptions="-C $fsckoptions"
else
fsckoptions="-V $fsckoptions"
fi
if [ -f /etc/sysconfig/readonly-root ]; then
. /etc/sysconfig/readonly-root
if [ "$READONLY" = "yes" ]; then
# Call rc.readonly to set up magic stuff needed for readonly root
. /etc/rc.readonly
fi
fi
_RUN_QUOTACHECK=0
if [ -z "$fastboot" -a "$READONLY" != "yes" ]; then
STRING=$"Checking filesystems"
echo $STRING
if [ "${RHGB_STARTED}" != "0" -a -w /etc/rhgb/temp/rhgb-console ]; then
fsck -T -t noopts=_netdev -A -a $fsckoptions > /etc/rhgb/temp/rhgb-console
else
fsck -T -t noopts=_netdev -A -a $fsckoptions
fi
rc=$?
if [ "$rc" -eq "0" ]; then
success "$STRING"
echo
elif [ "$rc" -eq "1" ]; then
passed "$STRING"
echo
elif [ "$rc" -eq "2" -o "$rc" -eq "3" ]; then
echo $"Unmounting file systems"
umount -a
mount -n -o remount,ro /
echo $"Automatic reboot in progress."
reboot -f
fi
# A return of 4 or higher means there were serious problems.
if [ $rc -gt 1 ]; then
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 1
fi
failure "$STRING"
echo
echo
echo $"*** An error occurred during the file system check."
echo $"*** Dropping you to a shell; the system will reboot"
echo $"*** when you leave the shell."
str=$"(Repair filesystem)"
PS1="$str \# # "; export PS1
[ "$SELINUX_STATE" = "1" ] && disable_selinux
sulogin
echo $"Unmounting file systems"
umount -a
mount -n -o remount,ro /
echo $"Automatic reboot in progress."
reboot -f
elif [ "$rc" -eq "1" ]; then
_RUN_QUOTACHECK=1
fi
if [ -f /.autofsck -a -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 8
fi
fi
# Unmount the initrd, if necessary
if LC_ALL=C fgrep -q /initrd /proc/mounts && ! LC_ALL=C fgrep -q /initrd/loopfs /proc/mounts ; then
umount /initrd
/sbin/blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
fi
# Update quotas if necessary
if [ X"$_RUN_QUOTACHECK" = X1 -a -x /sbin/quotacheck ]; then
if [ -x /sbin/convertquota ]; then
# try to convert old quotas
for mountpt in `LC_ALL=C awk '$4 ~ /quota/{print $2}' /etc/mtab` ; do
if [ -f "$mountpt/quota.user" ]; then
action $"Converting old user quota files: " \
/sbin/convertquota -u $mountpt && \
rm -f $mountpt/quota.user
fi
if [ -f "$mountpt/quota.group" ]; then
action $"Converting old group quota files: " \
/sbin/convertquota -g $mountpt && \
rm -f $mountpt/quota.group
fi
done
fi
action $"Checking local filesystem quotas: " /sbin/quotacheck -aRnug
fi
# Remount the root filesystem read-write.
update_boot_stage RCmountfs
state=`LC_ALL=C awk '/ \/ / && ($3 !~ /rootfs/) { print $4 }' /proc/mounts`
[ "$state" != "rw" -a "$READONLY" != "yes" ] && \
action $"Remounting root filesystem in read-write mode: " mount -n -o remount,rw /
# Clean up SELinux labels
if [ -n "$SELINUX_STATE" ]; then
restorecon /etc/mtab /etc/ld.so.cache /etc/blkid.tab /etc/resolv.conf >/dev/null 2>&1
fi
# Clear mtab
(> /etc/mtab) &> /dev/null
# Remove stale backups
rm -f /etc/mtab~ /etc/mtab~~
# Enter mounted filesystems into /etc/mtab
mount -f /
mount -f /proc >/dev/null 2>&1
mount -f /sys >/dev/null 2>&1
mount -f /dev/pts >/dev/null 2>&1
mount -f /proc/bus/usb >/dev/null 2>&1
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
action $"Mounting local filesystems: " mount -a -t nonfs,nfs4,smbfs,ncpfs,cifs,gfs -O no_netdev
if [ -x /sbin/quotaon ]; then
action $"Enabling local filesystem quotas: " /sbin/quotaon -aug
fi
# Check to see if a full relabel is needed
if [ -n "$SELINUX_STATE" ]; then
if [ -f /.autorelabel ] strstr "$cmdline" autorelabel ; then
relabel_selinux
fi
else
if [ -d /etc/selinux ]; then
[ -f /.autorelabel ] touch /.autorelabel
fi
fi
# Start the graphical boot, if necessary and not done yet.
if strstr "$cmdline" rhgb && ! strstr "$cmdline" early-login && [ "$RHGB_STARTED" -eq 0 -a "$BOOTUP" = "color" -a "$GRAPHICAL" = "yes" -a -x /usr/bin/rhgb ]; then
LC_MESSAGES= /usr/bin/rhgb
RHGB_STARTED=1
fi
# Initialize pseudo-random number generator
if [ -f "/var/lib/random-seed" ]; then
cat /var/lib/random-seed > /dev/urandom
else
touch /var/lib/random-seed
fi
chmod 600 /var/lib/random-seed
dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=512 2>/dev/null
# Use the hardware RNG to seed the entropy pool, if available
#[ -x /sbin/rngd -a -c /dev/hw_random ] && rngd
# Configure machine if necessary.
if [ -f /.unconfigured ]; then
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 1
fi
if [ -x /usr/bin/system-config-keyboard ]; then
/usr/bin/system-config-keyboard
fi
if [ -x /usr/bin/passwd ]; then
/usr/bin/passwd root
fi
if [ -x /usr/sbin/netconfig ]; then
/usr/sbin/netconfig
fi
if [ -x /usr/sbin/timeconfig ]; then
/usr/sbin/timeconfig
fi
if [ -x /usr/sbin/authconfig ]; then
/usr/sbin/authconfig --nostart
fi
if [ -x /usr/sbin/ntsysv ]; then
/usr/sbin/ntsysv --level 35
fi
# Reread in network configuration data.
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
# Reset the hostname.
action $"Resetting hostname ${HOSTNAME}: " hostname ${HOSTNAME}
fi
rm -f /.unconfigured
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
chvt 8
fi
fi
# Clean out /.
rm -f /fastboot /fsckoptions /forcefsck /.autofsck /halt /poweroff &> /dev/null
# Do we need (wu)tmpx files? We don't set them up, but the sysadmin might...
_NEED_XFILES=
[ -f /var/run/utmpx -o -f /var/log/wtmpx ] && _NEED_XFILES=1
# Clean up /var. I'd use find, but /usr may not be mounted.
for afile in /var/lock/* /var/run/* ; do
if [ -d "$afile" ]; then
case "$afile" in
*/news*/mon) ;;
*/sudo) rm -f $afile/*/* ;;
*/vmware) rm -rf $afile/*/* ;;
*/samba) rm -rf $afile/*/* ;;
*/screen) rm -rf $afile/* ;;
*/cvs) rm -rf $afile/* ;;
*/dovecot) rm -f $afile/*/* ;;
*) rm -f $afile/* ;;
esac
else
rm -f $afile
fi
done
rm -f /var/lib/rpm/__db* &> /dev/null
rm -f /var/gdm/.gdmfifo &> /dev/null
# Reset pam_console permissions
[ -x /sbin/pam_console_apply ] && /sbin/pam_console_apply -r
{
# Clean up utmp/wtmp
> /var/run/utmp
touch /var/log/wtmp
chgrp utmp /var/run/utmp /var/log/wtmp
chmod 0664 /var/run/utmp /var/log/wtmp
if [ -n "$_NEED_XFILES" ]; then
> /var/run/utmpx
touch /var/log/wtmpx
chgrp utmp /var/run/utmpx /var/log/wtmpx
chmod 0664 /var/run/utmpx /var/log/wtmpx
fi
# Clean up various /tmp bits
[ -n "$SELINUX_STATE" ] && restorecon /tmp
rm -f /tmp/.X*-lock /tmp/.lock.* /tmp/.gdm_socket /tmp/.s.PGSQL.*
rm -rf /tmp/.X*-unix /tmp/.ICE-unix /tmp/.font-unix /tmp/hsperfdata_* \
/tmp/kde-* /tmp/ksocket-* /tmp/mc-* /tmp/mcop-* /tmp/orbit-* \
/tmp/scrollkeeper-* /tmp/ssh-* \
/dev/.in_sysinit
# Make ICE directory
mkdir -m 1777 -p /tmp/.ICE-unix >/dev/null 2>&1
chown root:root /tmp/.ICE-unix
[ -n "$SELINUX_STATE" ] && restorecon /tmp/.ICE-unix >/dev/null 2>&1
#if [ -x /etc/init.d/diskdump ]; then
# /etc/init.d/diskdump swapsavecore
#fi
# Start up swapping.
update_boot_stage RCswap
action $"Enabling swap space: " swapon -a -e
# Set up binfmt_misc
/bin/mount -t binfmt_misc none /proc/sys/fs/binfmt_misc > /dev/null 2>&1
# Initialize the serial ports.
if [ -f /etc/rc.serial ]; then
. /etc/rc.serial
fi
# If they asked for ide-scsi, load it
if strstr "$cmdline" ide-scsi ; then
modprobe ide-cd >/dev/null 2>&1
modprobe ide-scsi >/dev/null 2>&1
fi
# Boot time profiles. Yes, this should be somewhere else.
if [ -x /usr/sbin/system-config-network-cmd ]; then
if strstr "$cmdline" netprofile= ; then
for arg in $cmdline ; do
if [ "${arg##netprofile=}" != "${arg}" ]; then
/usr/sbin/system-config-network-cmd --profile ${arg##netprofile=}
fi
done
fi
fi
# Now that we have all of our basic modules loaded and the kernel going,
# let's dump the syslog ring somewhere so we can find it later
dmesg -s 131072 > /var/log/dmesg
# create the crash indicator flag to warn on crashes, offer fsck with timeout
touch /.autofsck &> /dev/null
kill -TERM `/sbin/pidof getkey` >/dev/null 2>&1
} &
if strstr "$cmdline" confirm ; then
touch /var/run/confirm
fi
if [ "$PROMPT" != "no" ]; then
/sbin/getkey i && touch /var/run/confirm
fi
wait
# Let rhgb know that we're leaving rc.sysinit
if [ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --ping ; then
/usr/bin/rhgb-client --sysinit
fi

#-----------------finish rc.sysinit-------------------------------------#

After rc.sysinit script completes, init goes on and calls /etc/rc.d/rc script with an option being the number of the runlevel to enter (0-6).
Under the /etc/rc.d directory there are six directories to look at called rc.[0-6].d.

#ls -l /etc/rc.d

drwxr-xr-x 2 root root 4096 Nov 19 2007 init.d
-rwxr-xr-x 1 root root 2371 Nov 1 2004 rc
drwxr-xr-x 2 root root 4096 Nov 19 2007 rc0.d
drwxr-xr-x 2 root root 4096 Nov 19 2007 rc1.d
drwxr-xr-x 2 root root 4096 Feb 29 13:53 rc2.d
drwxr-xr-x 2 root root 4096 Feb 29 13:53 rc3.d
drwxr-xr-x 2 root root 4096 Feb 29 13:53 rc4.d
drwxr-xr-x 2 root root 4096 Feb 29 13:53 rc5.d
drwxr-xr-x 2 root root 4096 Nov19 2007 rc6.d
-rwxr-xr-x 1 root root 220 Jun 24 2003 rc.local
-rwxr-xr-x 1 root root 16958 Mar15 2006 rc.sysinit

Each directory has a number of scripts that start with a "K" or an "S", a two-digit number, and a program name.
The "S" is for start scripts, The "K" is for kill scripts.
For my fedora, I go to /etc/rc.d/rc3.d as my initdefault which is 3.

#ls -l /etc/rc.d/rc3.d

total 376
lrwxrwxrwx 1 root root 18 Nov 19 2007 K01openfire -> ../init.d/openfire
lrwxrwxrwx 1 root root 13 Nov 16 2007 K01yum -> ../init.d/yum
lrwxrwxrwx 1 root root 24 Nov 16 2007 K02avahi-dnsconfd -> ../init.d/avahi-dnsconfd
lrwxrwxrwx 1 root root 16 Nov 16 2007 K02dhcdbd -> ../init.d/dhcdbd
lrwxrwxrwx 1 root root 24 Nov 16 2007 K02NetworkManager -> ../init.d/NetworkManager
lrwxrwxrwx 1 root root 34 Nov 16 2007 K02NetworkManagerDispatcher -> ../init.d/NetworkManagerDispatcher
lrwxrwxrwx 1 root root 14 Nov 16 2007 K05innd -> ../init.d/innd
lrwxrwxrwx 1 root root 19 Nov 16 2007 K05saslauthd -> ../init.d/saslauthd
lrwxrwxrwx 1 root root 17 Nov 16 2007 K09privoxy -> ../init.d/privoxy
lrwxrwxrwx 1 root root 19 Nov 16 2007 K10dc_server -> ../init.d/dc_server
lrwxrwxrwx 1 root root 16 Nov 16 2007 K10psacct -> ../init.d/psacct
lrwxrwxrwx 1 root root 17 Nov 16 2007 K10radiusd -> ../init.d/radiusd
lrwxrwxrwx 1 root root 19 Nov 16 2007 K12dc_client -> ../init.d/dc_client
lrwxrwxrwx 1 root root 17 Nov 16 2007 K12mailman -> ../init.d/mailman
lrwxrwxrwx 1 root root 15 Nov 16 2007 K16rarpd -> ../init.d/rarpd
lrwxrwxrwx 1 root root 20 Nov 16 2007 K20bootparamd -> ../init.d/bootparamd
lrwxrwxrwx 1 root root 13 Nov 16 2007 K20nfs -> ../init.d/nfs
lrwxrwxrwx 1 root root 16 Nov 16 2007 K20rstatd -> ../init.d/rstatd
lrwxrwxrwx 1 root root 17 Nov 16 2007 K20rusersd -> ../init.d/rusersd
lrwxrwxrwx 1 root root 15 Nov 16 2007 K20rwhod -> ../init.d/rwhod
lrwxrwxrwx 1 root root 17 Nov 16 2007 K20tomcat5 -> ../init.d/tomcat5
lrwxrwxrwx 1 root root 14 Nov 16 2007 K24irda -> ../init.d/irda
lrwxrwxrwx 1 root root 15 Nov 16 2007 K25squid -> ../init.d/squid
lrwxrwxrwx 1 root root 22 Nov 16 2007 K30spamassassin -> ../init.d/spamassassin
lrwxrwxrwx 1 root root 18 Nov 16 2007 K34dhcrelay -> ../init.d/dhcrelay
lrwxrwxrwx 1 root root 15 Nov 16 2007 K35atalk -> ../init.d/atalk
lrwxrwxrwx 1 root root 15 Nov 16 2007 K35dhcpd -> ../init.d/dhcpd
lrwxrwxrwx 1 root root 17 Nov 16 2007 K35dovecot -> ../init.d/dovecot
lrwxrwxrwx 1 root root 17 Nov 16 2007 K35winbind -> ../init.d/winbind
lrwxrwxrwx 1 root root 16 Nov 16 2007 K36dhcp6s -> ../init.d/dhcp6s
lrwxrwxrwx 1 root root 14 Nov 16 2007 K36lisa -> ../init.d/lisa
lrwxrwxrwx 1 root root 20 Nov 16 2007 K36postgresql -> ../init.d/postgresql
lrwxrwxrwx 1 root root 15 Nov 16 2007 K46radvd -> ../init.d/radvd
lrwxrwxrwx 1 root root 17 Nov 16 2007 K50netdump -> ../init.d/netdump
lrwxrwxrwx 1 root root 15 Nov 16 2007 K50snmpd -> ../init.d/snmpd
lrwxrwxrwx 1 root root 19 Nov 16 2007 K50snmptrapd -> ../init.d/snmptrapd
lrwxrwxrwx 1 root root 13 Nov 16 2007 K50tux -> ../init.d/tux
lrwxrwxrwx 1 root root 16 Nov 16 2007 K50vsftpd -> ../init.d/vsftpd
lrwxrwxrwx 1 root root 16 Nov 16 2007 K65kadmin -> ../init.d/kadmin
lrwxrwxrwx 1 root root 15 Nov 16 2007 K65kprop -> ../init.d/kprop
lrwxrwxrwx 1 root root 16 Nov 16 2007 K65krb524 -> ../init.d/krb524
lrwxrwxrwx 1 root root 17 Nov 16 2007 K65krb5kdc -> ../init.d/krb5kdc
lrwxrwxrwx 1 root root 20 Nov 16 2007 K69rpcsvcgssd -> ../init.d/rpcsvcgssd
lrwxrwxrwx 1 root root 16 Nov 16 2007 K73ypbind -> ../init.d/ypbind
lrwxrwxrwx 1 root root 14 Nov 16 2007 K74nscd -> ../init.d/nscd
lrwxrwxrwx 1 root root 14 Nov 16 2007 K74ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root root 14 Nov 16 2007 K84bgpd -> ../init.d/bgpd
lrwxrwxrwx 1 root root 16 Nov 16 2007 K84ospf6d -> ../init.d/ospf6d
lrwxrwxrwx 1 root root 15 Nov 16 2007 K84ospfd -> ../init.d/ospfd
lrwxrwxrwx 1 root root 14 Nov 16 2007 K84ripd -> ../init.d/ripd
lrwxrwxrwx 1 root root 16 Nov 16 2007 K84ripngd -> ../init.d/ripngd
lrwxrwxrwx 1 root root 15 Nov 16 2007 K85mdmpd -> ../init.d/mdmpd
lrwxrwxrwx 1 root root 15 Nov 16 2007 K85zebra -> ../init.d/zebra
lrwxrwxrwx 1 root root 15 Nov 16 2007 K87named -> ../init.d/named
lrwxrwxrwx 1 root root 24 Nov 16 2007 K88wpa_supplicant -> ../init.d/wpa_supplicant
lrwxrwxrwx 1 root root 18 Nov 16 2007 K89netplugd -> ../init.d/netplugd
lrwxrwxrwx 1 root root 15 Nov 16 2007 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx 1 root root 18 Nov 16 2007 K94diskdump -> ../init.d/diskdump
lrwxrwxrwx 1 root root 19 Nov 16 2007 K99readahead -> ../init.d/readahead
lrwxrwxrwx 1 root root 25 Nov 16 2007 S04readahead_early -> ../init.d/readahead_early
lrwxrwxrwx 1 root root 15 Nov 16 2007 S05kudzu -> ../init.d/kudzu
lrwxrwxrwx 1 root root 18 Nov 16 2007 S06cpuspeed -> ../init.d/cpuspeed
lrwxrwxrwx 1 root root 18 Nov 16 2007 S08iptables -> ../init.d/iptables
lrwxrwxrwx 1 root root 14 Nov 16 2007 S09isdn -> ../init.d/isdn
lrwxrwxrwx 1 root root 17 Nov 16 2007 S10network -> ../init.d/network
lrwxrwxrwx 1 root root 16 Nov 16 2007 S12syslog -> ../init.d/syslog
lrwxrwxrwx 1 root root 20 Nov 16 2007 S13irqbalance -> ../init.d/irqbalance
lrwxrwxrwx 1 root root 17 Nov 16 2007 S13portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root 17 Nov 16 2007 S14nfslock -> ../init.d/nfslock
lrwxrwxrwx 1 root root 19 Nov 16 2007 S15mdmonitor -> ../init.d/mdmonitor
lrwxrwxrwx 1 root root 19 Nov 16 2007 S18rpcidmapd -> ../init.d/rpcidmapd
lrwxrwxrwx 1 root root 17 Nov 16 2007 S19rpcgssd -> ../init.d/rpcgssd
lrwxrwxrwx 1 root root 20 Nov 16 2007 S22messagebus -> ../init.d/messagebus
lrwxrwxrwx 1 root root 19 Nov 16 2007 S25bluetooth -> ../init.d/bluetooth
lrwxrwxrwx 1 root root 15 Nov 16 2007 S25netfs -> ../init.d/netfs
lrwxrwxrwx 1 root root 14 Nov 16 2007 S26apmd -> ../init.d/apmd
lrwxrwxrwx 1 root root 14 Nov 16 2007 S26hidd -> ../init.d/hidd
lrwxrwxrwx 1 root root 20 Nov 16 2007 S26lm_sensors -> ../init.d/lm_sensors
lrwxrwxrwx 1 root root 16 Nov 16 2007 S28autofs -> ../init.d/autofs
lrwxrwxrwx 1 root root 16 Nov 16 2007 S40smartd -> ../init.d/smartd
lrwxrwxrwx 1 root root 15 Nov 16 2007 S44acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root 15 Nov 16 2007 S50hplip -> ../init.d/hplip
lrwxrwxrwx 1 root root 14 Feb 29 13:53 S55cups -> ../init.d/cups
lrwxrwxrwx 1 root root 14 Nov 16 2007 S55sshd -> ../init.d/sshd
lrwxrwxrwx 1 root root 16 Nov 16 2007 S56xinetd -> ../init.d/xinetd
lrwxrwxrwx 1 root root 16 Nov 19 2007 S64mysqld -> ../init.d/mysqld
lrwxrwxrwx 1 root root 18 Nov 16 2007 S80sendmail -> ../init.d/sendmail
lrwxrwxrwx 1 root root 13 Nov 16 2007 S85gpm -> ../init.d/gpm
lrwxrwxrwx 1 root root 15 Nov 19 2007 S85httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root 15 Nov 16 2007 S90crond -> ../init.d/crond
lrwxrwxrwx 1 root root 13 Nov 16 2007 S90xfs -> ../init.d/xfs
lrwxrwxrwx 1 root root 13 Nov 16 2007 S91smb -> ../init.d/smb
lrwxrwxrwx 1 root root 19 Nov 16 2007 S91vncserver -> ../init.d/vncserver
lrwxrwxrwx 1 root root 17 Nov 16 2007 S95anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root 13 Nov 16 2007 S95atd -> ../init.d/atd
lrwxrwxrwx 1 root root 19 Nov 16 2007 S95firstboot -> ../init.d/firstboot
lrwxrwxrwx 1 root root 22 Nov 16 2007 S98avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root 28 Nov 16 2007 S98cups-config-daemon -> ../init.d/cups-config-daemon
lrwxrwxrwx 1 root root 19 Nov 16 2007 S98haldaemon -> ../init.d/haldaemon
lrwxrwxrwx 1 root root 11 Nov 16 2007 S99local -> ../rc.local

The "K" is for kill scripts, killing any programs that are not in a runlevel.
The "S" is for starting up programs that are specific to that runlevel.
Kill scripts for a runlevel are executed first. After this, the start scripts for the runlevel are started.
This allows a fresh start for programs, especially if something changes like stopping network services.
The lower number are executed first, the name is just a descriptive one to the user.
As you can see all script are put in the directory /ect/init.d
As each script starts, Fedora has in a way of reporting on the success or failure of startup scripts. By default, a message will look like this:
Starting smb: [ OK ]
The messages you see will display OK. In the event of failure, you'll get FAILED.
In some cases, you'll also get an error message to indicate the reason for failure.
When init has completed the startup scripts, Linux is now ready for use.

Refference :
OS fedora.
PTG Interactive's training course for Red Hat, by Mark Komarinski.