0% found this document useful (0 votes)
59 views

1.linux Basics PDF

Linux is an open source operating system based on UNIX. It was created by Linus Torvalds in 1991. Linux uses a monolithic kernel and is distributed as different distributions containing the Linux kernel and basic GNU tools. When Linux boots, the BIOS loads the boot loader (such as GRUB or LILO) from the hard disk, which then loads and initializes the Linux kernel. The kernel then initializes devices and starts init, which runs scripts to start processes and configure the system.

Uploaded by

Giiehhdd
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views

1.linux Basics PDF

Linux is an open source operating system based on UNIX. It was created by Linus Torvalds in 1991. Linux uses a monolithic kernel and is distributed as different distributions containing the Linux kernel and basic GNU tools. When Linux boots, the BIOS loads the boot loader (such as GRUB or LILO) from the hard disk, which then loads and initializes the Linux kernel. The kernel then initializes devices and starts init, which runs scripts to start processes and configure the system.

Uploaded by

Giiehhdd
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Introduction to Linux

What is Linux?

 Version of UNIX
 Linus Torvalds – Creator of Linux
 Open Source Operating System
 Free Software
 Source Code Available
 A Multi-user, Multitasking, Multiprocessor OS
 Fully-networked 32/64-Bit Unix-like Operating System
 Coexists with other Operating Systems
 GUI – KDE ,GNOME

Reference: http://en.wikipedia.org/wiki/History_of_Unix
What is Unix?
 Initially, Named as “UNiplexed Information Computing System
(UNICS)”

 Changed the name to “UNIX”

 Developed in 1969 at AT&T’s Bell Labs by


 Ken Thompson - UNIX

 Dennis Ritchie - C Language

 Douglas Mcllroy - Pipes

 A multi-tasking and multi-user Operating System


 You can have many users logged into a system simultaneously, each
running many programs.

 00:00:00 Hours, Jan 1, 1970 is time zero for UNIX. It is also called as
epoch.
Reference: http://en.wikipedia.org/wiki/History_of_Unix
What is Linux?
 A clone of UNIX, Developed in 1991 by Linus Torvalds, a
Finnish graduate student (It was his personal project)

 Inspired by and replacement of “Minix (Mini Unix by


Tanenbaum for education)”

 Linus + Minix  Linux

 First kernel (v1.0) was released in 1994 (Under GNU general


public license)

 Consist of

 Linux Kernel

 GNU (GNU is Not Unix) Software

 Software Package management & Others


Linux is everywhere
 Originally developed for X86-32
Bit

 Internet was built around UNIX

 Android & MAC OS are


developed based on Linux
kernel

 Ported to other architectures.

 IBM PowerPC

 Mobile Phones -Nokia


N810, Google Nexus
(Ubuntu), etc.

 Routers, GPS
Linux is everywhere
Check www.top500.org to know the power of Linux (June-2015 List)
Why Linux is everywhere?
 Open, Free or Cheap

 Scalable and Portable


 Scalable – In terms of processor count, Number of users, Memory size,
I/O, Resource management etc..

 Portable – It can work efficiently on anything from wristwatch to World’s


fastest Supercomputer

 Multiuser and multitasking

 Robust – A cluster or a Server can run for years without


rebooting  Reliable
Linux Distributions
 600+ Linux Distributions
 RHEL (Commercial Support)

 Fedora (Free, Majorly used for Desktop)

 Ubuntu (Free, Majorly used for Desktop, From South Africa)

 Slackware (One of the oldest, simple and stable)

 CentOS (free RHEL, From England)

 SuSe (Free and Commercial, From Germany)

 Knoppix (first LiveCD distribution)


Which Linux Distribution…?
 Depends on user requirements
1. Slackware

2. Ubuntu

3. Fedora

4. RHEL

5. CentOS
Open source and Free software

 Open Source : a program in which source code is


available to general public for use and/or modification
from its original design free of charge, .i.e .open.

 Free software: A program is free to use but its source


code need not be available in public.

 FOSS : Free Open Source Software

17-02-2016 Centre For Development of 10


GNU project
 Established in 1984 by Richard Stallman
 GNU is a recursive acronym for “GNU's Not Unix”

 Unix like OS developed with fully free software

 Uses GNU Hurd kernel

 No stable release yet

 Non GNU kernel can be used with the GNU software's

 Gcc, glibc,GNOME GDB,etc.....


GNU GPL

 GPL was written by Stallman in 1989

 GPL is the license of 60-70% free projects

 GPLs
 GPLv1: 1989
 Source code should be published with binary
 Modified version of program is GPLv1 license
 GPLv2: 1991
 GPLv3: 2007
GNU GPL

• GNU GPL aim is,


– To run the program for any propose
– To study and modify
– To copy & redistribute the program
– To improve
– If you sell the software to someone, he can also sell it
GNU/Linux

 The Linux provides the Kernel

 GNU provides
 Lot of tools, applications, libraries, …
 Some License

 Combining Kernel and GNU tools – GNU/LINUX - LINUX –


Distribution

 Now you are using the GNU/Linux

 Today GNU/Linux is maintained by free software foundation(FOSS)


Distribution/GNU Linux

 Linux Distribution
 Combination of Linux Kernel, GNU Tools, Other tools and
management tools

 Now more than 250 distributions


 Major distributions: Fedora, SuSe, Ubuntu, …

 What is the difference between distribution?


 Linux Kernel Version
 Pre-compiled applications
 Management tools
Now, GNU/Linux
 More than 3 major desktops
 GNOME, KDE, Xfce
 More than 5 major shells
 Bash, csh, tsh, …
 Complete set of compilers
 C, C++, java, Fortran, Python, Ada, …
 Many network services
 Web, Email, File Sharing, DNS, FTP, SSH, …
 Many user applications
 OpenOffice, Web browser, Latex, multimedia, …
GNU/Linux’s Advantages

• Stability
– It is very rarely to see the Kernel Panic

• Free Software
– There is no any charge for software

• Support Wide Range of Hardware


• Security
– Open source  There is not any backdoor
– Quick bug fixing
GNU/Linux’s Disadvantages
• Leaning Curve
– Linux is NOT for dummies

• Applications
– Some applications have NOT equivalent in Linux

• Official Support
– Companies need official support
– No one is responsible for most Linux applications
Linux Operations as a server

DNS
DHCP
Web server
Application server
NTP
NFS
NIS
Database server
FTP Server
UNIX/Linux Structure
Linux File System
Details of File System

/  root directory
/boot  files for booting system
/etc  configuration files
/bin  important system binaries
/sbin  contains system admin programs(super user)
/usr  user applications
/lib  dynamic libraries
/home  user home directories
/root  super user home dir
/var  contains variable data constantly generated when
system is running
/dev  device files
Linux boot process
Bootstrapping (simplified version)

BIOS Boot Loader Kernel Initialization

init

Runs scripts from Spawns Spawns


/etc/rc[0-6].d/ getty processes Xdm/gdm processes

login login
BIOS

 Basic Input/Output System


 Contains information about the machine’s
configuration. Eg. IDE controller, NIC
 PC knows which device to boot from via BIOS
 PC tries to run code from the MBR, ie. 1st 512 bytes,
of the disk
 MBR tells the PC to load the boot loader from
certain disk partition
 The boot loader loads the kernel
Boot Loaders - LILO
 Traditional and stable
 /etc/lilo.conf
 boot=/dev/hda

 root=/dev/hda1

 timeout=5

 image=/boot/vmlinuz-2.6.20

 label=Linux
 read-only
 other=/dev/hdb1
 label=Windows
 table=/dev/hdb
 To install it
 $ lilo

 lilo must be run after every reconfiguration


Boot Loaders – GRUB

 GRand Unified Boot loader


 Default on Red Hat and SuSe
 Read configuration file at boot time
 Understand filesystems and kernel executable formats
 ie. Only need to know the device, disk partition and
kernel filename
 GRUB device (hd0,0) → /dev/hda1 or /dev/sda1
 To install GRUB (for the very first time)
 $ grub-install ‘(hd0,0)’

 Edit /boot/grub/grub.conf
Boot Loaders – GRUB (cont)

 /boot/grub/grub.conf
 default=0

 timeout=5

 splashimage=(hd0,0)/boot/grub/splash.xpm.gz

 title CentOS (2.6.18-8.el5)

root (hd0,0)
kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-8.el5.img
 title Windows

rootnoverify (hd1,0)
chainloader +1
Kernel Initialization

 A program itself
 /vmlinuz or /boot/vmlinuz
 Two-stage loading process
 initrd (init RAM disk)
 A transient root filesystem in RAM before a real root filesystem
is available
 Eg. It is used to install file system modules into the kernel
 The real root filesystem
 Device detection and configuration
 You tell the kernel what to expect
 The kernel probes the H/W itself
 Kernel threads creation
 Eg. init (a user process)
Startup/Init Scripts

 After Kernel initialization, a process called init


is created with PID 1
 init runs startup scripts (normal shell scripts)
to perform specific tasks, eg.
 Setting the hostname, time zone, etc
 Checking and mouting the disks
 Configuring network interfaces
 Starting up daemons and network services
Startup/Init Scripts (cont)

 Startup scripts (rc files) are run based on run levels


 0 the level in which the system is completely shut down
 1 single-user mode
 2 multiuser mode w/out NFS
 3 full multiuser mode
 4 unused
 5 X11
 6 reboot level
 Starts with run level 0 to the default run level (usually 3)
 /etc/inittab tells init what to do at each level
 To find out which run level the system is current in
 $ runlevel
Startup/Init Scripts (cont)

 init runs the scripts from /etc/rc.d/rc[0-6].d/


 /etc/rc.d/rc0/K25sshd → /etc/init.d/sshd
 /etc/rc.d/rc3/S55sshd → /etc/init.d/sshd
 Each server/daemon provides a master script
 Stored in /etc/init.d
 Understands the arguments: start, stop, restart
 /etc/init.d/sshd start
 run level 0 → 3
 /etc/rc.d/rc3/S* start
 run level 3 → 0
 /etc/rc.d/rc0/K* stop
Reboot & Shutdown

 To reboot
 $ shutdown -r now
 $ reboot
 $ init 6
 To halt
 $ shutdown -h now
 $ halt
 $ init 0
 $ poweroff
Reboot & Shutdown (cont)

 To shutdown gracefully
 $ shutdown -h +15
“Shutdown in 15 mins”

You might also like