Monday, November 24, 2008

File Systems and Directories

A Filesystem means any organisation of files in a particular physical device. Organisation in the sense that the files are arranged in a hierarchical structure starting from the root(/) directory followed by the subdirectories like a tree. As we are very familiar with the NTFS or FAT32 filesystems used by Windows based systems, Normally linux distros use ext2 or ext3 filesystem or the latest ext4. While the cd drives are based on iso9660 filesystem.
As the structure and rules of different file systems varies, thus their visibilities. A hard disk can have different file systems on different partitions. Eventhough the NTFS based Windows file systems are easily detected by Linux,the inverse is not possible unless we use some softwares.

The Linux operating system has a different design philosophy. Everything connected to the system is considered as a file. Hard disk partitions, removable media, peripheral devices etc can be accessed as a file under the root. This concept gives several advantages to the Linux operating System as a whole.

Here are some directories which are created when the system is installed. They are common for most of the linux distributions.

/ - As already mentioned, this is the root directory, which contains every other directory.

/root
-/root is the home directory of the root user, or superuser. It's a directory called /root, but it isn't the root directory /. Pronounced as 'Slash Root'.

/home -This is where all normal users - that is, all users except root have their home directories. Home directories are named after the user who owns them. All the works done by the user are saved in this directory.

/bin - "binaries", the executable files are stored in this directory.

/sbin - "system binaries", the files needed by the root user or system administrator.

/usr - applications and files needed for the user are stored in this directory.

/usr/local - Any software which does not belong to the base system package is installed in this directory.

/etc - It contains all the system configuration files that are common to all users, like configuring the network connection, video cards etc. Super User previlages are needed to change it.

/tmp - Temperory files created by the system. They are deleted when system reboots.

/var -Variable files that the system changes automatically. The System keeps a log of its actions and databases in this directory. The error messages are found here.

/boot -boot configuration files.

/dev - the device files are stored here.

/lib - System library files.

/lost+found -provides a lost+found system for the files under the root.

/media - The devices are mounted to a mount point in the hard disk, so that it can be accessed as files. These mount points are stored under this directory. So external devices like CD rom are accessible here.

/mnt - Mounted file systems.

/opt - Provides a location for optional applications to be installed.

/proc -Information about the state of the system inculding the current running process.

/sys - System Files.

Sunday, November 23, 2008

Open Source or Free Software

Open Source and Free Software are the two terms widely used with linux.These terms are normally used for the same concept.But the question is, are they identical? In fact,the answer is NO. But in most of the cases they turn out to be identical. So the next question is Why and How are they different?

In very few cases Open Software will not be a free software, also in some other cases a free software wont be available as open source. As we've heard some softwares freely downloadable but we dont get access to its source code. At the same time microsoft provides some source shared initiatives which are not free. Shared Source concept provides the source but it is illegal to modify or redistribute it.

Open Source which is under the Open Source initiative(OSI) provides the source code of the software which in most of the cases will be free to modify,redistribute in all ways that are socially useful. OSI provides the user with the experience of freedom.

Free Software which is under Free Software Foundation(FSF) provides the software for free, but the source code will remain hidden from the user.FSI provides the user with the concept of freedom. It insists on the term 'free'.

Saturday, November 22, 2008

What is GNU?


The GNU Project, pronounced “guh-noo”, was launched in
1984 by Richard Stallman to develop a complete UNIX style
operating system which is comprised of free software: the GNU
system.Variants of the GNU operating system, which use the
Linux kernel, are now widely used;though these systems are
often referred to as “Linux,” they are more accurately called
GNU/Linux systems.

The system's basic components include the GNU Compiler
Collection (GCC), the GNU Binary Utilities (binutils), the bash
shell,the GNU C Library (glibc),GNU Core Utilities (coreutils),
GNU Emacs Text Editor and GNOME Desktop Environment.
Presently, about 400 add-on packages are available from the
developer website.

Its official kernal, GNU Hurd, is incomplete and not all GNU
components work with it. Thus, the third-party Linux kernel is
most commonly used instead.But this kernel has not been
officially adopted by the GNU project.

Many GNU programs have also been ported to numerous other
operating systems such as Microsoft Windows, Solaris, Mac OS etc.

Friday, November 21, 2008

What is Linux?

Linux is inspired by the Unix operating system which first appeared
in 1969, and has been
in continous use and development ever since.
Many of the design conventions behind Unix
also exist in Linux and
are central to understanding the basics of the system.


Unix was primarily oriented towards the command line interface,
and that legacy is carried
on in Linux. Thus, the graphical user
interface with its windows, icons and menus are
built on top of a
basic command line interface. Furthermore, this means that the
Linux file
system is structured to be easily manageable andaccessible
from the command line.

The Linux kernel, pronounced 'lee-nucks' is the heart of the operating
system. A kernel is an important part of any operating system,
providing the communication bridge between hardware and software.

Linux was brought to life in 1991 by a Finnish student named
Linus Torvalds. At the time, it would run only on i386 systems, and
was essentially an independently created clone of the UNIX kernel,
intended to take advantage of the then-new i386 architecture.

Nowadays, thanks to a substantial amount of development effort by
people all around the world, Linux runs on virtually every modern
architecture.

The Linux kernel has gained an ideological importance as well as a
technical one.There is an entire community of people who believe
in the ideals of free software and spend their time helping to make
open source technology as good as it can be.

People in this community gave rise to initiatives such as Ubuntu,
standards committees that shape the development of the Internet,
organizations like the Mozilla Foundation,responsible for creating
Mozilla Firefox, and countless other software projects from whichyou've
certainly benefited in the past.

The spirit of open source, commonly attributed to Linux, is influencing
software developers and users everywhere to drive communities with
common goals.