Linux+ Guide to Linux Certification, Third Edition Chapter 1 Introduction to Linux
Objectives • Understand the purpose of an operating system • Outline the key features of the Linux operating system • Describe the origins of the Linux operating system • Identify the characteristics of various Linux distributions and where to find them • Explain the common uses of Linux in industry Linux+ Guide to Linux Certification, 3e
Operating Systems • Computers have two fundamental components: • Hardware: physical components inside a computer • Software: set of instructions or programs that allow hardware components to manipulate data Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) • Hardware components include: • Processor (CPU) • Physical memory (RAM) • Hard disk drives • Sound cards • Video cards • Circuit boards Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) • Two different types of programs are executed on a computer: • Applications: programs designed for a specific use and with which a user interacts • Operating system (OS) software: software components used to control the hardware of the computer Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) • Device Driver: software containing instructions that the OS uses to control and interact with a specific type of computer hardware • User Interface: an application program that allows the user to interact with the OS and other application programs • Can be a command line prompt or a graphical user interface (GUI) Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) Figure 1-1: The role of operating system software Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) • Graphical user interface (GUI): component of an OS that the user can interact with using the keyboard or the mouse • System services: applications that handle system-related tasks • Printing • Scheduling programs • Gainingnetwork access Linux+ Guide to Linux Certification, 3e
Operating Systems (continued) Figure 1-2: A Linux graphical user interface Linux+ Guide to Linux Certification, 3e
The Linux Operating System • OS used to run a variety of applications on a variety of different hardware components • Multiuser and multitasking OS • Has the ability to manage thousands of tasks at the same time • Allows multiple users to access the system simultaneously Linux+ Guide to Linux Certification, 3e
Versions of the Linux Operating System • Core component is called the Linux kernel • Written almost entirely in the C programming language • Software can be used to modify appearance of Linux, but the kernel is common to all Linux • Important to understand Linux kernel version numbers to decide which version is appropriate for user needs • Good understanding of system hardware is important in deciding which kernel version to use Linux+ Guide to Linux Certification, 3e
Identifying Kernel Versions • Linux kernel versions are composed of: • Major number • Minor number • If odd, referred to as a developmental kernel: a kernel which is not fully tested and with implied instability • If even, referred to as a production kernel: a kernel that has been thoroughly tested and is declared to be stable • Revision number Linux+ Guide to Linux Certification, 3e
Table 1-1: Latest revisions of common Linux kernels Linux+ Guide to Linux Certification, 3e
Licensing Linux • Open Source Software (OSS): programs distributed and licensed so that the source code is available, free of charge, to anyone who wants to examine, utilize, or improve upon it • Format and structure of source code follows rules defined by the programming language in which it was written Linux+ Guide to Linux Certification, 3e
Licensing Linux (continued) • Implications of OSS: • Developed very rapidly through widespread collaboration • Bugs (errors) are noted and promptly fixed • Features evolve quickly based on users’ needs • Perceived value of the software increases because it is based on usefulness, not on price Linux+ Guide to Linux Certification, 3e
Licensing Linux (continued) Table 1-2: Software types Linux+ Guide to Linux Certification, 3e
Types of Open Source Licenses • GNU Public License (GPL): • Stipulates that the source code of any software published under its license must be freely available • Users who modify the source code must also redistribute the modified code freely • Artistic license: OSS license allowing source code to be distributed freely, changed only at discretion of original author Linux+ Guide to Linux Certification, 3e
Types of Closed Source Licenses • Most closed source software is sold commercially • Usually bears label of manufacturer, such as Microsoft or Electronic Arts software • Freeware: distributed free of charge; source code is not available • Shareware: initially free, but requires payment after a period of time or for use of certain features Linux+ Guide to Linux Certification, 3e
Linux Advantages: Risk Reduction • Changes in the market or customer needs may cause companies to change software frequently • Can be costly and time-consuming • Support for closed source software may end • Vendor may go out of business • Software version may be retired • OSS products offer the opportunity to maintain and change the source code Linux+ Guide to Linux Certification, 3e
Linux Advantages:Meeting Business Needs • Common software available for Linux includes: • Scientific and engineering software • Software emulators • Web servers, Web browsers, and e-commerce suites • Desktop productivity software • Graphics manipulation software • Database software • Security software Linux+ Guide to Linux Certification, 3e
Linux Advantages:Stability and Security • Customers using a closed source OS must rely on the OS vendor to fix any bugs • Waiting for a hot fix may take weeks or months • Bugs and security loopholes in OSS programs can be identified and fixed quickly • Code is freely available and scrutinized by many developers Linux+ Guide to Linux Certification, 3e
Linux Advantages: Flexibility for Different Hardware Platforms • Partial list of hardware platforms on which Linux can run: • Can be customized to work on mobile and embedded devices Linux+ Guide to Linux Certification, 3e
Linux Advantages:Ease of Customization • Ability to control the inner workings of the OS • To use Linux as an Internet Web server, compile the kernel to include only the support needed to be an Internet Web server • Results in a much smaller and faster kernel • Can choose to install only software packages needed to perform required tasks • Can use shell and PERL scripts to customize or automate tasks Linux+ Guide to Linux Certification, 3e
Linux Advantages: Ease of Obtaining Support • Linux documentation can be found on the Internet • Frequently asked questions (FAQs) • HOWTO documents • Linux newsgroups • Linux User Group (LUG): Open forum of Linux users who discuss and assist each other in using and modifying the Linux OS Linux+ Guide to Linux Certification, 3e
Linux Advantages: Cost Reduction Table 1-3:Calculating the total cost of ownership Linux+ Guide to Linux Certification, 3e
The History of Linux Figure 1-4: Timeline of UNIX and Linux development Linux+ Guide to Linux Certification, 3e
UNIX • Evolved from Multiplexed Information and Computing Service (MULTICS) • The first true multitasking, multiuser OS • Written in the C programming language • Portable OS • OS from which Linux originated Linux+ Guide to Linux Certification, 3e
UNIX (continued) • Berkeley Software Distribution (BSD) • Version of the original UNIX source code • Common flavors of UNIX today include: • Sun Microsystems’s Solaris UNIX • Hewlett-Packard’s HP-UX • IBM’s AIX UNIX Linux+ Guide to Linux Certification, 3e
The Hacker Culture • Hacker: someone attempting to expand their computing knowledge through experimentation • Idea of sharing knowledge is fundamental to hackers • Hacker culture set the stage for the development of Linux • Cracker: someone who illegally uses computers for personal benefit or to cause damage • GNU project: free OS project started by Richard Stallman • Led to publication of GNU Public License (GPL) Linux+ Guide to Linux Certification, 3e
Linux • First developed by Linus Torvalds in 1991 • Published under the GNU license • Linux kernel developed collaboratively and centrally managed • Hackers developed Linux add-on packages and distributions • Linux is simply a by-product of OSS development Linux+ Guide to Linux Certification, 3e
Linux Distributions • Distribution: a collection of software containing the Linux kernel and libraries, combined with add-on software specific to a certain use. • Red Hat and SuSE • Distributions may appear different on the surface, but run the same kernel • Most distributions include a GUI that can be further customized to suit the needs of the user • Core component of this GUI is X Windows Linux+ Guide to Linux Certification, 3e
Linux Distributions (continued) • GUI environment: X Windows in combination with a window manager and desktop environment – affects the look and feel of the Linux GUI • Two competing GUI environments in Linux: • GNU Object Model Environment (GNOME) • K Desktop Environment (KDE) • Some Linux distributions include specific language support Linux+ Guide to Linux Certification, 3e
Linux Distributions (continued) Figure 1-5: The GNOME Desktop Linux+ Guide to Linux Certification, 3e
Linux Distributions (continued) • Package manager: software system that installs and maintains software • Red Hat package manager standard on many Linux distributions • Tarball: compressed archive of files containing scripts that install software to the correct location on the system • Difficult to manage, upgrade or remove from system Linux+ Guide to Linux Certification, 3e
Linux Distributions (continued) Table 1-4:Common Linux distributions Linux+ Guide to Linux Certification, 3e
Linux Distributions (continued) Table 1-4 (continued): Common Linux distributions Linux+ Guide to Linux Certification, 3e
Common Uses of Linux • May be customized to provide services for a variety of companies in a variety of situations • Workstation services: services used on a local computer • Server services: services made available for other computers across a network Linux+ Guide to Linux Certification, 3e
Internet Servers: Mail Services • Mail transfer agent (MTA): an e-mail server used to distribute email • Mail delivery agent (MDA): service that downloads e-mail from an MTA • Mail user agent (MUA): program that allows e-mail to be read by a user Linux+ Guide to Linux Certification, 3e
Internet Servers:Routing and FTP Services • Routing: provides interconnection between separate networks • Core service necessary for Internet to function • Linux provides support for routing and is easily customizable • File Transfer Protocol (FTP) Services: most common and efficient method for transferring files over the Internet Linux+ Guide to Linux Certification, 3e
Internet Servers:Firewalls and Proxy Services • Firewall: Protects companies from outside intruders on the Internet • Linux has firewall support built into the kernel • Proxy server: requests Internet resources such as Web sites and FTP sites on behalf of the computer inside the company • Common proxy server used on Linux is Squid Linux+ Guide to Linux Certification, 3e
Internet Servers:Web Services and News Services • Web services: Web servers host information • Can process programs known as Common Gateway Interface (CGI) scripts that enable connection to a resource on the network which is not connected to the Internet • Can use Single Socket Layer (SSL) to provide secure connections • News services: News servers allow users to post messages in forums called newsgroups • Most Web servers do not provide means for users to communicate Linux+ Guide to Linux Certification, 3e
Internet Servers: DNS Services • Computers communicating on a network need to be uniquely identified • Each computer is assigned an Internet Protocol (IP) address • Long string of numbers • Allows computers to identify and reference each other • Fully Qualified Domain Name (FQDN): masks IP addresses with user-friendly names • DNS server: maintains a list of proper FQDN to IP mappings Linux+ Guide to Linux Certification, 3e
File and Print Servers • Linux is well-suited for centrally sharing resources • More economical to share files and printers over a network • Inherently fast and light • A distribution specific to a certain task can be installed on the central server • Can share resources with a computer running another OS Linux+ Guide to Linux Certification, 3e
Application Servers • Application server: intermediary between a client computer and a database • Database: organized collection of data that is arranged into tables of related information • Database Management Systems (DBMS): set of programs designed to allow for creation, modification, manipulation, maintenance, and access of information from databases • Application servers can provide management functionality Linux+ Guide to Linux Certification, 3e
Supercomputers • Clustering: combining several smaller computers to act as one large supercomputer • Beowulf clustering: most common Linux method of clustering • Scalability: the ability for a computer to increase workload as the number of processors increases • Clustering computers often results in better scalability than adding processors to a single computer Linux+ Guide to Linux Certification, 3e
Scientific/Engineering Workstation • Scientific and engineering community often needs customized programs • OSS programs can be used or modified • OSS software available for physics, astrophysics, biophysics, biocomputation, data mining, and many other scientific and engineering fields Linux+ Guide to Linux Certification, 3e
Office/Personal Workstation • Workstation software designed for end users in office and home environments • OSS packages available for: • Graphics editing software • Desktop publishing software • Media software • Financial software • Office productivity suites • Bittorrent clients Linux+ Guide to Linux Certification, 3e
Summary • Linux is an OS • Kernel and additional software are freely developed and improved upon by a large community of software developers • Published under the GPL • Called Open Source Software (OSS) • Companies find Linux a stable, low-risk, and flexible alternative to other OSs Linux+ Guide to Linux Certification, 3e
Summary (continued) • Comes in different distributions, all having a common kernel, but packaged with different OSS applications • Wide variety of documentation and resources exist: Internet Web sites, HOWTOs, FAQs, newsgroups, and LUGs • Extremely versatile OS that provides a wide range of workstation and server services Linux+ Guide to Linux Certification, 3e