One file to rule them all.

Last week I gave a try to CentOS 6.0. I installed it inside VirtualBox in Windows 7. I was simply amazed by its stability and very low memory usage. I think that ultra-stable & tested packages use much, much less memory as compared to the bleeding edge packages. So, the next task was to share the folders between CentOS & Windows. I knew I had to install SAMBA package for this. I installed the SAMBA packages but turns out, setting up SAMBA on CentOS is quite tough. The first and foremost headache about CentOS is the dreaded SELinux. This may be very, very useful to the enterprises etc. But I don’t see a single reason why it should be kept on it’s default (on) settings for the home user. Whenever I tried to do something regarding networking & other stuff, the dreaded SELinux would take over and wouldn’t let me do so. So, I had to disable it.

# /etc/rc.conf – Main Configuration for Arch Linux

# ———————————————————————–
# ———————————————————————–
# LOCALE: available languages can be listed with the ‘locale -a’ command
# DAEMON_LOCALE: If set to ‘yes’, use $LOCALE as the locale during daemon
# startup and during the boot process. If set to ‘no’, the C locale is used.
# HARDWARECLOCK: set to “UTC” or “localtime”, any other value will result
#   in the hardware clock being left untouched (useful for virtualization)
#   Note: Using “localtime” is discouraged.
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
# VERBOSE: Verbose level (from 1 to 8). man 3 syslog for level info

# ———————————————————————–
# ———————————————————————–
# MODULES: Modules to load at boot-up. Blacklisting is no longer supported.
#   Replace every !module by an entry as on the following line in a file in
#   /etc/modprobe.d:
#     blacklist module
#   See “man modprobe.conf” for details.

#MODULES=(vboxdrv vboxnetflt)
MODULES=(powernow-k8 cpufreq_ondemand cpufreq_powersave vboxdrv vboxnetflt )
# Udev settle timeout (default to 30)

# Scan for FakeRAID (dmraid) Volumes at startup

# Scan for BTRFS volumes at startup

# Scan for LVM volume groups at startup, required if you use LVM

# ———————————————————————–
# ———————————————————————–
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts

# Use ‘ip addr’ or ‘ls /sys/class/net/’ to see all available interfaces.
# Wired network setup
#   – interface: name of device (required)
#   – address: IP address (leave blank for DHCP)
#   – netmask: subnet mask (ignored for DHCP)
#   – gateway: default route (ignored for DHCP)
# Static IP example
# interface=eth0
# address=
# netmask=
# gateway=
# DHCP example
# interface=eth0
# address=
# netmask=
# gateway=


# Setting this to “yes” will skip network shutdown.
# This is required if your root device is on NFS.

# Enable these netcfg profiles at boot-up. These are useful if you happen to
# need more advanced network features than the simple network service
# supports, such as multiple network configurations (ie, laptop users)
#   – set to ‘menu’ to present a menu during boot-up (dialog package required)
#   – prefix an entry with a ! to disable it
# Network profiles are found in /etc/network.d
# This requires the netcfg package

# ———————————————————————–
# ———————————————————————–
# Daemons to start at boot-up (in this order)
#   – prefix a daemon with a ! to disable it
#   – prefix a daemon with a @ to start it up in the background
# If something other takes care of your hardware clock (ntpd, dual-boot…)
# you should disable ‘hwclock’ here.
DAEMONS=(hwclock @acpid syslog-ng network netfs dkms_autoinstaller sshd @crond @alsa dbus hal gdm @cups @cpufreq @cpu)

Secondly, I’ve been using Arch Linux for a while now. I like it so much that it is my default operating system now. Windows 7 is for games & FreeBSD is for learning BSD. The cool thing about Arch Linux (besides the KISS principle) is /etc/rc.conf file. This is THE file which you can use to manage your system. Here’s the output of my rc.conf file.

As you guys can see, I can manage what ever I want to manage of my system. Be it networking, hostname, kernel modules, daemons etc. Whereas in System V based I had to edit various files regarding what I was configuring. This is where CentOS gets frustrating. That’s why rc.conf is often regarding as One file to rule them all.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s