10. Under the hood

Introduction

Users coming from Microsoft Windows® typically find a lot of concepts unfamiliar and get frustrated trying to do things the way they are accustomed to doing them. This section will give you a conceptual overview of some basic aspects of MEPIS Linux 7.0, and how they differ from other systems to help ease your transition.

MEPIS Linux ultimately inherits its fundamental design from Unix, an operating system that has been around in various forms since 1970. MEPIS Linux 7.0 is also mainly composed of free, open-source software (FOSS) (i.e. software that is distributed without restrictions on the use of its source code). The Unix heritage and the open-source nature of MEPIS have a strong impact on its design.


The filesystem structure

One of the first problems many new Linux users struggle with is how the file system works. If you have been looking around your MEPIS Linux 7.0 system trying to find the C:\ drive or D:\ drive, for instance, you are searching in vain; MEPIS handles hard drives and other storage media differently than Windows. Rather than having a separate filesystem tree on every device, MEPIS has a single filesystem tree ( called the root of the filesystem) which is marked “/” and contains every attached device. When a storage device is added to the system, its filesystem is attached to a directory or subdirectory of the file system; this is called mounting a drive or device.

If you open Konqueror and browse to “/”, you will notice a number of directories that are based on the Unix Filesystem Hierarchy Standard. Here is a simple description of the major directories in MEPIS 7.0:


User Accounts and Permissions

MEPIS is an account-based operating system. This means that no program can run without a user account to run under, and any running program is limited to doing only things allowed to the user account that runs it.

In MEPIS Linux 7.0 there is one and only one account which has unlimited power; this account is called root (not to be confused with the “root” of the filesystem, mentioned above). The root user has a unique password that is set during system installation. When you run programs (such as Synaptic or MEPIS System Assistant) that need to read or change protected operating system files and directories, you will be prompted for your root password. Once you enter it, MEPIS will be able to make the specific changes it needs.

NOTE: Do not operate as root unless necessary for a particular procedure. Much of the security and stability that Linux is known for hinges on the proper use of limited user accounts and the protection provided by default file and directory permissions.


Configuration Files

With only rare exceptions, program and system settings on MEPIS Linux 7.0 are stored in discrete plaintext configuration files; there is no “Registry” which requires special tools to edit. Most configuration files are just simple lists of parameters and values which are read by programs when they launch to determine their behavior.

Files that hold system-wide configurations or defaults (such as the file that determines which services automatically launch during boot up) are stored under the /etc/ directory and are usually only editable by root. Files that hold individual user settings (such as high scores for your games, or the layout of your desktop) are stored within a user's home directory, typically as a hidden file or directory, and can only be edited by that user or by root.

The net result of this is that if you copy your entire home directory to another MEPIS computer (or even a computer running a different version of Linux), your user settings —from your desktop background to your browser plugins— will be the same. See also Section 8.8: Good practices

Modularity

Like most Linux distributions, MEPIS Linux 7.0 is a modular operating system. In other words, its various components are designed with an “interchangeable parts” philosophy. This allows users to customize the system by adding, removing, or replacing any portion they wish--for example, a MEPIS user may want to install a different desktop management system (see Section 9.5: Alternate Window Managers ). This modular design contrasts to most commercial operating systems, where everything has been packaged as an inseparable part of the operating system.


Runlevels

MEPIS Linux 7.0 boots up by executing the program init. After completing the boot process, init executes all start scripts in a directory specified by the default runlevel (this runlevel is given by the entry for id in /etc/inittab). Like most other Linux versions, MEPIS has 7 runlevels:

Runlevels
RunlevelDescription
0Halt (power down)
1Single-user mode: provides a root console without logon. Useful if you lose your root password
2Multiuser with no network
3Console logon, no X (i.e. no GUI)
4Not used/custom
5Default GUI logon
6Reboot

MEPIS defaults to runlevel 5, therefore any init scripts setup in level 5 will run at boot. Understanding runlevels can be handy. When users have a problem with X Window Manager, for instance, they can drop to runlevel 3 where they can work to fix things by opening a command line, becoming root, and typing:

telinit 3

Once you are at a prompt, login with your normal username and password. To get back to the login screen, become root and type:

telinit 5

It is equally possible to boot to runlevel 3 by merely adding the number three at the end of the boot options on the GRUB screen.