Professional Documents
Culture Documents
2 - Intro To Linux
2 - Intro To Linux
UNIX is one of the most popular operating systems worldwide because of its large support base and distribution.
It was originally developed as a multitasking Ken Thompson & Dennis Ritchi system for minicomputers and mainframes.
Most versions of UNIX for personal computers are quite expensive and cumbersome.
Creator of Unix
In 1983, Richard Stallman started the GNU project with the goal of creating a free UNIX-like operating system.
MINIX, a Unix-like system was released by Andrew S. Tanenbaum in 1987 intended to teach his students the inner workings of a real operating system. While source code for the system was available, modification and redistribution were restricted. MINIX's 16-bit design was not well adapted to the 32-bit features of the increasingly cheap and popular Intel 386 architecture for personal computers.
The History of Linux began in 1991 with the commencement of a personal project by a Finnish student, Linus Torvalds, to create a new operating system kernel. Lack of a widely adopted, free kernel provided the impetus for Torvalds's starting his project. Torvalds announced in 1996 that there would be a mascot for Linux, a penguin. This was due the fact when they were about to select the mascot, Torvalds was bitten by a little penguin on a visit to the National Zoo & Aquarium, Canberra, Australia.
Linus Torvalds Founder of Linux Kernel
Linux is an operating system that is freely distributed under the terms of the GNU Public License. It behaves like Unix, but does not come from the same source code base. Linux is available in both source code and binary form. Linux offers standard Unix features, such as multiuser support, multitasking, networking and many more. The complete Linux operating system consists of the Linux core, or kernel, combined with the utilities and applications required for a fully functional operating system.
Linux Architecture
Linux consists of layers of software that are required to provide the nice graphical user interface to interact with. The main components of a standard Linux distribution are:
The Linux kernel Runs all the time. Manage what programs are allowed to run and how they are run. Users never interact with the kernel directly.
The CLI (command line interpreter) or Shell Provides a means for communicating and controlling the machine. The command shell running on top of the kernel provides the minimum working system that users can interact with. Often when Linux is used as a server, the Shell will suffice, and the higher layers of the system need not be loaded.
Linux Architecture
The X Window System The software that provides the basic graphical interface capabilities. Often referred to as X11. The Window Manager Makes the windows look and behave the way we see them. Manage the buttons frames and basic window behaviors. The Desktop Provides a rich user experience on top of the facilities provided by the window manager. Two main Desktop options available KDE and Gnome.
Linux Architecture
Linux Architecture
The Linux kernel can be further divided into three gross levels: System Call Interface
Linux Architecture
Windows has a kernel which is similar in function to the Linux kernel, but the layers above that are not so well defined.
You can't choose a different window manager that better suits your purposes. You can't even write an improvement you need, since its all proprietary there's no way to know how all the programs inside Windows talk to each other.
/bin
/sbin
/etc
/dev
/proc
/var
/tmp
/usr
/home
/boot
/lib
/opt
/mnt
/media
/srv
This is a virtual filesystem with text information about system resources. For example: /proc/uptime
Software Features
A complete multitasking, multiuser operating system. This means that many users can log into and run programs on the same machine simultaneously. Developed with source code portability in mind, and its easy to find commonly used features that are shared by more than one platform. All of the source code including the kernel, device drivers, libraries, user programs, and development tools, is freely distributable. Supports various file systems for storing data, like the ext2, ext3, vfat, etc. file system, which was developed specifically for Linux.
Software Features
A shell is a program which reads and executes commands from the user. In addition, many shells provide features like job control, managing several processes at once, input and output redirection, and a command language for writing shell scripts. Many types of shells are available for Linux like : C SHell (csh). Bourne SHell (sh). GNU Bourne Again Shell (bash). Korn Shell (ksh).
The standard compiler for Linux is GNU gcc, which is an advanced, modern compiler that supports C++.
Software Features
Provides a complete implementation of TCP/IP networking software. This includes:
Software Features
The X Window System allows users to have multiple terminal windows on the screen at once, each having a different login session. The X Window System was originally developed at the Massachusetts Institute of Technology and is freely distributable. Linux includes web server software as well as web browsers. The most common server is Apache. Thousands of Linux systems run Apache on the Internet today, including the Linux Resources site, www.linuxresources.com. Several relational databases are available for Linux, including Postgres, Ingres, MySQL, etc.
Copyright Issues
Linux is covered by the GNU General Public License, or GNU GPL. Software covered by the GPL may be distributed and used free of charge. Free, in this sense, refers to distribution, not cost. Originally, Linus Torvalds released Linux under a license more restrictive than the GPL, which allowed the software to be freely distributed and modified, but without any profit making. On the other hand, the GPL allows people to sell and profit from free software, but does not allow them to restrict anothers right to distribute the software in any way. GPL-licensed software is also not shareware. Generally, shareware is owned and copyrighted by an author who requires users to send in money for its use.
Philosophy of Linux
The Linux model of software development discards the entire concept of organized development, source code control systems, structured bug reporting, and statistical quality control. Linux is, and likely always will be, a hackers operating system. The thrust behind Linux development is not to release perfect, bug-free code: it is to develop a free UNIX implementation. There is no single organization responsible for developing Linux. Anyone with enough know-how has the opportunity to help develop and debug the kernel, port new software, write documentation, and help new users. The system itself is designed using an open-ended, feature-minded approach.
Philosophy of Linux
Anyone who has a new feature or software application generally makes it available in an alpha versionthat is, a test version, for those brave users who want to hash out problems in the initial code. Linux software is generally released as a distribution, a set of prepackaged software which comprises an entire system. many software distributions are available which include everything necessary to install and run a complete system. There is no single, standard distributionthere are many, and each has its own advantages and disadvantages.
Linux Distributions
Debian-based Knoppix-based Ubuntu-based Official distributions Contributed distributions Third-party distributions Gentoo-based Pacman-based RPM-based Fedora-based Red Hat Enterprise Linux-based Mandriva Linux-based Slackware-based Slax-based
Linux Distributions
aLinux Arch Linux Bodhi Linux Damn Small Linux Devil-Linux Elive Foresight Linux gNewSense Impi Linux Kubuntu Mageia NimbleX Parsix Sabayon Linux Network Security Toolkit Alpine Linux Ark Linux Caixa Mgica Debian dyne:bolic EnGarde Secure Linux Freespire gnuLinEx Kanotix Kurumin MintPPC NUbuntu PCLinuxOS Scientific Linux SliTaz GNU/Linux ALT Linux Asianux CentOS deepOfix Mail Server EasyPeasy Fedora Frugalware GoboLinux Knoppix Linux Mint Musix GNU/Linux openSUSE Platypux sidux Source Mage GNU/Linux Annvix BLAG Linux and GNU CRUX DeLi Linux Edubuntu Finnix Gentoo Gobuntu KnoppMyth Lunar Linux Slax Pardus Puppy Linux Slackware Symphony OS
Linux Distributions
Red Hat (Enterprise) Linux is probably the largest commercial Linux vendor. Focus on stability and long term support. Red Hat sponsors a community version (Fedora) which undergoes a more rapid development cycle. KNOPPIX The first Live CD version. The OS can be booted from, and run completely off the CD. KNOPPIX is based on Debian Linux. Many vendors now offer Live versions. No installation necessary. Ubuntu based on Debian Linux. Ubuntu claims to be most popular desktop version. Many applications and excellent update mechanism contribute to its success. Revenue is created by selling technical support. Puppy This distribution is small enough to be loaded entirely in RAM. This frees up the CD/DVD drive for other uses. Configuration can be saved to a file between reboots. Recovery Is Possible (RIP) good for data recovery of corrupted media or backup. Tools such as ddrescue allows copying media sector by sector. Can repair NTFS or FAT partitions.
31
Red Hat Enterprise Linux (RHEL) is a Linux-based operating system developed by Red Hat and targeted toward the commercial market. Red Hat Enterprise Linux is released in server versions for x86, x86-64, Itanium, PowerPC and IBM System z, and desktop versions for x86 and x86-64. Red Hat Enterprise Linux is often abbreviated to RHEL, although this is not an official designation. While Red Hat uses strict trademark rules to restrict free re-distribution of their officially supported versions of Red Hat Enterprise Linux, Red Hat freely provides the source code for the distribution's software, both for free software whose license requires such publishing and open source software where this is not mandatory. As a result, several distributors have created re-branded and/or community-supported re-builds of Red Hat Enterprise Linux that can legally be made available, without official support from Red Hat. CentOS aims to provide 100% binary compatibility to Redhat Linux.