0% found this document useful (0 votes)
9 views17 pages

Linux Operating System

Linux is a versatile, open-source operating system that supports multi-user and multi-tasking capabilities, making it popular for various applications, including servers and personal computers. It has a rich history rooted in UNIX and has evolved through community collaboration, leading to numerous distributions like Ubuntu and Red Hat. Key features include a hierarchical file system, excellent security, and a wide range of desktop environments, catering to different user needs and preferences.

Uploaded by

whaleystech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views17 pages

Linux Operating System

Linux is a versatile, open-source operating system that supports multi-user and multi-tasking capabilities, making it popular for various applications, including servers and personal computers. It has a rich history rooted in UNIX and has evolved through community collaboration, leading to numerous distributions like Ubuntu and Red Hat. Key features include a hierarchical file system, excellent security, and a wide range of desktop environments, catering to different user needs and preferences.

Uploaded by

whaleystech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

An Introduction to Linux OS

Linux is a true 32/64-bit operating system that run on different platforms. It is a multi-user, multi-tasking
and time sharing operating system. Linux is a very stable OS and is used in many application areas, such as
by Internet Service Providers (ISPs) and as a network OS for providing various services. The Linux OS
derived its name from its creator, Linux Torvalds. Linux started writing the Linux kernel in 1991, as a hobby,
and created one of the most powerful operating systems available today. Perhaps the most important factor
for the immense success of Linux is that it is free. It can be copied and redistributed without having to pay
any fee or royalty.

A Brief history of Linux

All modern operating systems have their roots in 1969 when Dennis Ritchie and Ken Thompson developed
the C language and the UNIX operating system at AT&T Bell Labs. They shared their source code with the
rest of the world, including the hippies in Berkeley California. By 1975, when AT&T started selling UNIX
commercially, about half of the source code was written by others. The hippies were not happy that a
commercial company sold software that they had written; the resulting (legal) battle ended in there being
two versions of UNIX in the Seventies: the official AT&T UNIX, and the free BSD UNIX.

In the Eighties many companies started developing their own UNIX: IBM created AIX, Sun SunOS (later
Solaris), HP HP-UX and about a dozen other companies did the same. The result was a mess of UNIX dialects
and a dozen different ways to do the same thing. And here is the first real root of Linux, when Richard
Stallman aimed to end this era of UNIX separation and everybody reinventing the wheel by starting the
GNU project (GNU is Not Unix). His goal was to make an operating system that was freely available to
everyone, and where everyone could work together (like in the Seventies). Many of the command line tools
that you use today on Linux or Solaris are GNU tools.

The Nineties started with Linus Torvalds, a Swedish speaking Finnish student, buying a 386 computer and
History of writing a brand new POSIX compliant kernel. He put the source code online, thinking it
Linux would never support anything but 386 hardware. Many people embraced the combination
of this kernel with the GNU tools, and the rest, as they say, is history.

Features of Linux Operating System

Hierarchical File System


Linux provides a standard file structure in which system files/ user files are arranged.

Multiprogramming
Linux is a multiprogramming system means multiple applications can run at same time.

Time-Sharing
Multi-programming is made possible on the Linux system by time-sharing feature.

Multi-Tasking
A program in Linux is broken down into tasks, each task is something like reading from or writing to the
disk, or waiting for input from a user. The ability of any as to handle the execution of multiple tasks is known
as multi-tasking.

Multi-User
Linux is a multiuser system means multiple users can access system resources like memory, ram, and
application programs at same time.
Open Source
Linux source code is freely available and it is community based development project. Multiple teams’ works
in collaboration to enhance the capability of Linux operating system and it is continuously evolving.

Licensing
Linux is copyrighted under the GNU General Public License. The licensing for Red Hat Linux states that a
person can make any number of copies of the software and distribute it freely or charge a price for it. One
can freely download Linux from the Internet for use.

1.4. The Advantage of Linux Operating System

Cost
The most important advantage of using Linux is the fact that it is free to obtain. Linux distribution can be
installed on any number of computers, without paying a single penny.

Reliability
Users on the Linux operating system work consistently with the Linux server, without reporting any
operating system failures.
Backward Compatibility
Linux is perfect for those old computers with barely any processing power or memory. There are endless
possibilities to find old 386 or 486 computers with barely any RAM run Linux without any issue.

Simple Upgrade and Installation Process


The installation procedure of most Linux versions is menu-driven. It includes the ability to upgrade from
prior versions. The upgrade process preserves the existing configuration files and maintains a list of its
actions during installation.

GUI Interface
The graphical interface for Linux is the X Window system. It is divided into two sub systems consisting of a
server and a client. Linux has a number of graphical user interfaces called Desktop Environments, such as K
Desktop Environment (KDE) and GNU Object Model Environment (GNOME), both of which are versions of
the X Window system. They run on the X server.

Excellent Security Features


Security - Linux provides user security using authentication features like password protection/ controlled
access to specific files/ encryption of data. This is the reason why many Internet Service Providers (ISPs) are
replacing their current OS with Linux systems.
Structure and Comparison of Linux
Linux Architecture

The Linux operating system consists of three main software components as shown below:

Linux
Architecture

Components of the Linux OS

Kernel
The kernel is a program that constitutes the central core of a computer operating system. It has complete
control over everything that occurs in the system. Since the kernel communicates directly with the hardware,
the parts of the kernel must be customized to the hardware features of each system. However, the kernel does
not deal directly with a user. Instead, the login process starts up a separate, interactive program, called the
shell, for each user.

Shell
A shell is a program that provides the traditional, text-only user interface for Linux and other Unix-like
operating systems. Its primary function is to read commands that are typed into a console (i.e., an all-text
display mode) or terminal window (an all-text window) in a GUI (graphical user interface) and then execute
(i.e., run) them. The features of the shell will be discussed in lesson 2 unit 4.

Linux Utilities and Application Programs


The Linux utilities or commands are a collection of programs that service day-today processing requirements.
These programs are invoked through the shell, which is itself another utility. Apart from the utilities provided
as part of the Linux operating system, more than a thousand Linux-based application programs, like database
management systems, word processors, and various other programs are available from independent software
vendors.

Linux as compared to Windows

Most of the organizations having small, medium, or large networks require a few basic services such as file
and print services, E-mail access, Internet access, and Intranet services. Most of the tasks that you are wanting
to execute on a Windows machine can also be executed on a Linux machine.
The following table compares some of the common applications used on the Linux and Windows operating
systems.

Comparison between Linux and Windows


Service Linux Windows
Internet Information
Web Server Apache
Server
A Linux distribution
is collection software Email Server Send mail Microsoft Exchange
of (usually open Relational Database Sybase /MYSQL Microsoft SQL Server
source) software on
Proxy Server Squid Object Cache Windows Pro Server
top of a Linux kernel.
Included with
Backup Server BRU
Windows

The distributor of Linux

A Linux distribution is collection software of (usually open source) software on top of a Linux kernel. A
distribution (or short, distro) can bundle server software, system management tools, documentation and
many desktop applications in a central secure software repository. A distro aims to provide a common look
and feel, secure and easy software management and often a specific operational purpose.
Let's take a look at some popular distributions.

Red Hat

Red Hat is a billion dollar commercial Linux Company that puts a lot of effort in developing Linux. They
have hundreds of Linux specialists and are known for their excellent support. They give their products (Red
Hat Enterprise Linux and Fedora) away for free. While Red Hat Enterprise Linux (RHEL) is well tested before
release and supported for up to seven years after release, Fedora is a distro with faster updates but without
support.

Ubuntu
Canonical started sending out free compact discs with Ubuntu Linux in 2004 and quickly became popular
for home users (many switching from Microsoft Windows). Canonical wants Ubuntu to be an easy to use
graphical Linux desktop without need to ever see a command line. Of course they also want to make a profit
by selling support for Ubuntu.

Debian
There is no company behind Debian. Instead there are thousands of well organised developers that elect a
Debian Project Leader every two years. Debian is seen as one of the most stable Linux distributions. It is also
the basis of every release of Ubuntu. Debian comes in three versions: stable, testing and unstable. Every
Debian release is named after a character in the movie Toy Story.
Different Linux Distributions
Different distributions of Linux exist because different people all have different opinions on what is
most important. Each distribution represents the diverse choice of a group of individuals. As you can
see from the previous Linux Distribution Timeline, each distro originates from somewhere. Many
distributions have a colourful and interesting history, most of which can be discovered from a little
reading on the homepage of the distro in question.

Most modern day distros spring from ‘core’ distributions, such as Redhat and Debian, however some
distros merge over time, or diverge where mandates and opinions have differed.

Below are the major distributions that you are likely to run across. All have their positive and negative
points, and all have a different focus.

Debian – A distribution based on Stability. Debian pride themselves on testing each and every package
in the OS with every other package. This ensures no conflicts, and no issues of stability. This
approach does sometimes slow progress, with packages in the Debian distro being behind
current versions. Debian is a popular server Operating System due to its stability, and has
multiple flavours designed purely for devices as an integrated
OS

|
Ubuntu – Designed to be friendly to the average user, and the best desktop operating system that it can be.
Ubuntu is based on Debian, and has a number of forks, including Kubuntu, Edubuntu, and
Xubuntu. Today, Ubuntu (and its derivatives) is one of the more popular Linux Desktop
operating system, and is currently in use on home computers, servers, business, education,
government, and charity machines.

SUSE – Incorporating many features and aspects of Redhat, SUSE was a popular choice on
Desktops, with its acquisition by Novell in 2003. Novell quickly used the OS to launch a
counter-offensive against Microsoft, offering a paid-for support scheme similar to that of
RedHat, giving companies an enterprise level OS with enterprise level support, but with
the flexibility and low implementation and maintenance costs of Linux. A free home
version of SUSE (OpenSUSE) was released by Novell during the acquisition, drawing a parallel with CentOS
/ Fedora from Redhat. In 2006, Novell signed a controversial agreement with Microsoft to improve
interoperability between Novel SUSE & Microsoft Windows.
Redhat – Redhat is known for it’s RPM (Redhat Package Manager) installation system, and for
their goal to provide a stable, supported, and viable alternative
to Microsoft Server operating systems. Offering paid-for support packages with its operating
systems, Redhat makes for an attractive desktop and server platform for business. Redhat
was originally available for free with support packages being an optional extra for those that required it,
but has now become a pay-for only product. Redhat are allowed to continue this practice as long as (un-
compiled) source code remains freely available.

Today, Redhat finds its home in various businesses, education establishments, and government facilities.

Two major forks sprang from this restriction on the availability of Redhat:
CentOS – focusing on creating a free ‘Redhat Server’ based OS to use on dedicated server
hardware. When Redhat became a pay-for product, CentOS became a very popular OS
among the desktop Redhat community.

Fedora – ‘Redhat Desktop’ based OS, designed to run on all desktop and mobile machines. Upon the
move to a pay-for scheme, many Redhat users moved to Fedora, allowing them to retain
their familiarity with the OS, and the support for their pre-written configuration files and
installation files.

Other Distributions – There are lots and lots of Linux distributions out there. The best way to find out about
each and every distro is to visit the homepages for each one, and read up on their features and benefits.

The important thing to remember; is that all Linux distributions are more or less the same underneath. The
commands you will learn in this introduction can be used with any of the above distros with the same affect.
Some distros have proprietary commands that only work in that distro (such as ‘rpm’ and ‘dpkg’ etc),
however these are clearly documented by the creators.

With so many distros, the trick is to find the one that works for you, and stick with it. Here in the ISG, we
recommend Ubuntu for Desktops, and Debian for servers, however the reasoning behind your choice of OS
will be different from ours. Linux gives you freedom by giving you choice.
Different Linux
Desktop Interfaces
There are two primary desktop interfaces in the Linux world that you are likely to encounter. GNOME and
KDE. These are known as Window Managers. Below the Window Manager sits the actual desktop
environment - X11. The Window Managers give the Desktop Interface its look and feel.

Like with the different Linux Distributions, whichever Desktop interface you choose is dependent on which
you prefer, and which one fits your specific purpose.

XFce
XFce is a lightweight desktop environment for UNIX
platforms. It is similar to the commercial CDE, and is now
based on the GTK+ toolkit.

CDE - A Blast from the Past Others


CDE (Common Desktop Environment) is a commercial Graphical User Interface for
UNIX and various other flavors, which was jointly developed by Hewlett Packard, IBM, • FluxBox
Novell and Sun Microsystems. The Window Manager for CDE is
• BlackBox
dtwm (pictured right)• Sawfish
• LXDE

• EDE

• JD4X

• AfterStep

• Metacity

• AmiWM

• SCWM

• FVWM

• MWM
GNOME
GNOME is the default Window Manager for Redhat and Ubuntu, and the one that you will be using on the
Linux Terminal Server. The GNOME (pronounced “Gah-NOME”) project’s aim is to build a complete, user-
friendly desktop based entirely on free software. It is not a window manager, and in fact has to be run in

|7
conjunction with a window manager. GNOME has advanced rapidly and is now very popular, particularly
on the Linux platform.

KDE
KDE is a modern network transparent desktop environment which uses the Qt cross-platform GUI toolkit. It
contains a base set of applications such as a window manager (called kwm), web browser, instant messenger,
and integrated help system, all with a consistent look and feel, and translations for over 50 languages.

8|
What is Linux used for today?
Today, Linux has found a home on smartphones (Android, Meego, Moblin, Maemo, Zaurus), Network
Appliances (NAS, Firewall, Load Balancing), TVs,
Laptops, Netbooks, Desktops, Servers, Games
Consoles...

Linux is usable in every area that Microsoft Windows


is, and many more.

Some noteworthy products using Linux today:


• Android phones – Manufactured by HTC, Sony,
Motorola, Samsung, Acer, & more

• Netgear ReadyNAS Series

• Synology
DiskStation
NAS series

• Nokia Meego smartphones – Runs Meego, originally based on


Debian BusyBox

• TiVo DVR – America’s most popular Digital Video Recording,


also used by Virgin Media

• Linksys WRT54G* Routers – The most popular router for home-modders.

• Sony BRAVIA TVs

• Samsung TVs (Most models)

• Panasonic Viera TVs – New models such


as the G20 now use FreeBSD

• Archos tablets / media players

• GP2X Handheld Games Consoles

• Pleo – Animatronic dinosaur robot toy

Before we
get started
Why the

command prompt?

|9
Why would we use a command prompt over the Graphic User Interface that we all know and
love? The reason is simple: Control. A command prompt gives us greater control and flexibility
over the system or software we are creating. We have no way of knowing if configuring a service
using a graphical user interface is doing exactly what we want it to, or if it’s doing something that
its interpreted as what we want. In the world of security, the risk is not worth taking.

The command line can be used if you wanted to perform a task multiple times. You could script
the command, and then run the script, making sure that the command run is 100% accurate. If
you wanted to run a command once a year, you would probably use the CLI (Command Line
Interface) over the GUI (Graphic User Interface). GUI’s will change, and documentation will need
updating regularly. The CLI is a more static environment, requiring little to no documentation
changes.

While you are studying the ISG course, you will be asked to use certain tools and commands from
within Linux. These tools are usually run from the command line. Most people today will be
brought up with computers only knowing how to use a WIMP (Window Icon Menu Pointer)
interface. People rarely understand how to interact with the computer when we take away the
mouse and limit them to a Command Line Interface. This guide has been written to help eliminate
at least some of the confusion associated with text-based interfaces. As part of your grounding in
the world of Information Security, you will increasingly be expected to interact with systems in a
more direct way.
Navigating the File System
First we need to learn how to move around the Linux file system. At this point you should already
have logged into the Linux Environment using PuTTY.

Once you have logged in, the directory you start in is your home directory. Each user is given
their own local home directory which is independent from everyone else’s. First you need to take
note of your home directory, as this is different for every user.

My Home directory is: ___________________________________________________________


i.e: /nas/ganymede/msc/home/msai135
Your home directory cannot be accessed by others, and nothing that you do within this directory
can have a system-wide effect. You are safe to explore without fear of breaking something.

IMPORTANT: Your Home Directory at Royal Holloway may be different to that on a standard Linux
Machine. Normally your home path would be /home/<username>, but because the Royal
Operating System

Holloway utilise Network Storage, your home path could be something like:
/nas/ganymede/home/ msc/<username>
Now we will move to the root directory / and then run a command to list all directories inside of
it.

You can also move deeper into the file system using relative paths:

You will see a list of folders and files appear. This is the current contents of your home directory.
We are going to move into the directory ‘Desktop’ using a relative path.

2
An Introduction to Linux OS

Now we will return to your home directory and use commands to move around using relative
and absolute paths.

IMPORTANT: In the following list of commands, replace <your home directory path> with the path
to your home directory that you wrote down on Page 16.

3
Operating System

As you can see, you can chain different folders together to move between many levels in a single
command.

The command you ran was ‘cd /’ The ‘../’ part of this is the path that you are moving to. This is
what is known as a relative path, as you moved up one level (to /home) relative to your starting
position (from /home/msai135).

4
An Introduction to Linux OS

Working with Files


First, create a directory (i.e. folder) for today’s session, move to it, and verify where you are:

Now copy some files to it and get a directory listing. Be careful with your typing, and don’t ignore
error messages!

The command ‘ls ’ simply lists the contents of the directory you are in.

Now to learn how to rename files and delete them.

5
Operating System

Executing Commands
For upcoming labs and courses, you will require many different commands. Probably the most
basic of these is ‘ping ’. Try running the following command to ping the Google OpenDNS Server
(8.8.8.8) located at 10.203.1.5

Ping the IP Address 10.203.1.5

ping -c 5 -n 8.8.8.8 for a count of 5 (-c 5), outputting numerical values only (-n)

What is ‘ping’?
The command you just ran, ‘ping’, is a command designed to test the connectivity between two
networked computers. Simply put, the ping command sends ICMP packets from your computer
to the target computer (in this case, 10.203.1.5), which then returns the packets to your computer.
Your computer measures the journey time of each individual packet, deriving metrics from this,
thus giving you useful information about the network connection and possibly the machine
you’re ‘pinging’.

6
An Introduction to Linux OS

Example

tundra:~ msai135$ ping -c 5 -n 10.203.1.5 PING 10.203.1.5


(10.203.1.5): 56 data bytes
64 bytes from 10.203.1.5: icmp_seq=0 ttl=63 time=0.536 ms
64 bytes from 10.203.1.5: icmp_seq=1 ttl=63 time=0.562 ms
64 bytes from 10.203.1.5: icmp_seq=2 ttl=63 time=0.645 ms
64 bytes from 10.203.1.5: icmp_seq=3 ttl=63 time=0.668 ms
64 bytes from 10.203.1.5: icmp_seq=4 ttl=63 time=0.640 ms

--- 10.203.1.5 ping statistics ---


5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev =
0.536/0.610/0.668/0.052 ms
tundra:~ msai135$

You might also like