media networks os 7 2007.v2.studentv.hjausers.metropolia.fi/~harriah/linux_admin.old/media networks...

39
Media Networks Harri Ahola: [email protected] OS Lecture 7: 2007

Upload: duongminh

Post on 18-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Media Networks

Harri Ahola:

[email protected]

OS Lecture 7: 2007

“Tietojärjestelmän valinta-arviointi”: Oma nimi ja päivä

Ryhmän numero: Aihe 1. eka positiivinen kommentti 2. toka positivinen kommentti 3. kolmas positiivinen kommentti 4. kommentti mitä voisi parantaa 5. arvosana asteikolla 0-5

Ryhmän numero: Aihe 1. eka positiivinen kommentti 2. toka positivinen kommentti 3. kolmas positiivinen kommentti 4. kommentti mitä voisi parantaa 5. arvosana asteikolla 0-5

Operating Systems

Period 4 Lectures: 1. Overview of Operating Systems 2. OS Design and Virtual Machines 3. Processes and Scheduling 4. Memory and Storage Management 5. Multiprocessing and Distributed Systems 6. Security 7. The Linux System as a Server OS 8. Special-Purpose Systems (optional)

The Linux System as a Server OperatingSystem: OS Lecture 7 A Short History of Linux The Linux Kernel The Linux System

Design Principles

Components of a Linux System

Linux Licensing

Linux Distributions

Packaging Methods

The Most used Distributions

Other Flavors of Free Unices

The Most Common Server Processes

DHCP

DNS

File Servers

Mail

Proxy

Web Server

History Linux is a modern, free operating system based on UNIX

standards First developed as a small but self-contained kernel in 1991 by

Linus Torvalds, with the major design goal of UNIX compatibility Its history has been one of collaboration by many users from all

around the world, corresponding almost exclusively over theInternet

It has been designed to run efficiently and reliably on commonPC hardware, but also runs on a variety of other platforms

The core Linux operating system kernel is entirely original, but itcan run much existing free UNIX software, resulting in an entireUNIX-compatible operating system free from proprietary code

Many, varying Linux Distributions including the kernel,applications, and management tools

The Linux Kernel Version 0.01 (May 1991) had no networking, ran only on 80386-

compatible Intel processors and on PC hardware, had extremelylimited device-drive support, and supported only the Minix filesystem

Linux 1.0 (March 1994) included these new features: Support for UNIX’s standard TCP/IP networking protocols BSD-compatible socket interface for networking

programming Device-driver support for running IP over an Ethernet Enhanced file system Support for a range of SCSI controllers for

high-performance disk access Extra hardware support

Version 1.2 (March 1995) was the final PC-only Linux kernel

Linux 2.0 Released in June 1996, 2.0 added two major new capabilities:

Support for multiple architectures, including a fully 64-bit native Alphaport

Support for multiprocessor architectures Other new features included:

Improved memory-management code Improved TCP/IP performance Support for internal kernel threads, for handling dependencies

between loadable modules, and for automatic loading of modules ondemand

Standardized configuration interface Available for Motorola 68000-series processors, Sun Sparc systems, and

for PC and PowerMac systems 2.4 and 2.6 increased SMP support, added journaling file system,

preemptive kernel, 64-bit memory support

The Linux System as a Server OperatingSystem: OS Lecture 7 A Short History of Linux The Linux Kernel The Linux System

Design Principles

Components of a Linux System

Linux Licensing

Linux Distributions

Packaging Methods

The Most used Distributions

Other Flavors of Free Unices

The Most Common Server Processes

DHCP

DNS

File Servers

Mail

Proxy

Web Server

The Linux System Linux uses many tools developed as part of Berkeley’s

BSD operating system, MIT’s X Window System, and theFree Software Foundation's GNU project

The min system libraries were started by the GNUproject, with improvements provided by the Linuxcommunity

Linux networking-administration tools were derived from4.3BSD code; recent BSD derivatives such as FreeBSDhave borrowed code from Linux in return

The Linux system is maintained by a loose network ofdevelopers collaborating over the Internet, with a smallnumber of public ftp sites acting as de facto standardrepositories

Today the most used Linux GUIs are: Gnome and KDE

Design Principles

Linux is a multiuser, multitasking system with a fullset of UNIX-compatible tools

Its file system adheres to traditional UNIX semantics,and it fully implements the standard UNIX networkingmodel

Main design goals are speed, efficiency, andstandardization

Linux is designed to be compliant with the relevantPOSIX documents; at least two Linux distributionshave achieved official POSIX certification

The Linux programming interface adheres to theSVR4 UNIX semantics, rather than to BSD behavior

SVR4 - The unix ancestor Unix System V, commonly abbreviated SysV was one of

the versions of the Unix operating system.

It was originally developed by AT&T and first released in1983.

SVR4, was the most successful commercial Unix version

SVR4 is the source of several common Unix features,such as "SysV init scripts" (/etc/init.d), used tocontrol system startup and shutdown.

The most widely used versions of System V today areIBM's AIX and Sun Microsystems' Solaris OperatingSystem and SCO UnixWare.(wiki)

The other one of the two major branches of the Unixsystem is Berkeley Software Distribution (BSD).

BSD Unix - The other unixancestor

Berkeley Software Distribution (BSD, sometimescalled Berkeley Unix) is the Unix derivativedistributed by the University of California,Berkeley, starting in the 1970s. (wiki)

The name is also used collectively for themodern descendants of these distributions,like FreeBSD,OpenBSD,NetBSD etc.

The permissive nature of the BSD licenseallows companies to distribute derivedproducts as proprietary software withoutexposing source code and sometimesintellectual property to competitors.

Components of a LinuxSystem

Components of a LinuxSystem (Cont.)

Like most UNIX implementations, Linux iscomposed of three main bodies of code; the mostimportant distinction between the kernel and allother components

The kernel is responsible for maintaining theimportant abstractions of the operating system Kernel code executes in kernel mode with full

access to all the physical resources of thecomputer

All kernel code and data structures are kept inthe same single address space

Components of a LinuxSystem (Cont.)

The system libraries define a standardset of functions through whichapplications interact with the kernel, andwhich implement much of the operating-system functionality that does not needthe full privileges of kernel code

The system utilities perform individualspecialized management tasks

The Linux System as a Server OperatingSystem: OS Lecture 7 A Short History of Linux The Linux Kernel The Linux System

Design Principles

Components of a Linux System

Linux Licensing

Linux Distributions

Packaging Methods

The Most used Distributions

Other Flavors of Free Unices

The Most Common Server Processes

DHCP

DNS

File Servers

Mail

Proxy

Web Server

Linux Licensing

The Linux kernel is distributed under the GNUGeneral Public License (GPL), the terms ofwhich are set out by the Free SoftwareFoundation

Anyone using Linux, or creating their ownderivative of Linux, may not make the derivedproduct proprietary; software released underthe GPL may not be redistributed as a binary-only product, source code must be availablefree of charge (or at least for media charge)

The Linux System as a Server OperatingSystem: OS Lecture 7 A Short History of Linux The Linux Kernel The Linux System

Design Principles

Components of a Linux System

Linux Licensing

Linux Distributions

Packaging Methods

The Most used Distributions

Other Flavors of Free Unices

The Most Common Server Processes

DHCP

DNS

File Servers

Mail

Proxy

Web Server

Linux Distributions Standard, precompiled sets of packages, or distributions,

include the basic Linux system, system installation andmanagement utilities, and ready-to-install packages ofcommon UNIX tools and the linux kernel

There are currently over three hundred Linuxdistribution projects in active development

A typical desktop Linux distribution comprises a Linuxkernel, GNU tools and libraries, additional software,documentation, a window system, window manager,and a desktop environment.

Most of the included software is free software/open-source software which is distributed by its maintainersboth as pre-compiled binaries and in source codeform, allowing users to modify and compile theoriginal source code if they wish.

Linux Packing Methods Distributions are normally segmented into packages.

Each package contains a specific application or service,e.g a web browser.

The package is typically provided as compiled code, withinstallation and removal of packages handled by apackage management system (PMS) rather than a simplefile archiver.

Each package intended for such a PMS contains meta-information such as a package description, version, and"dependencies".

The package management system can evaluate thismeta-information to allow package searches, to performan automatic upgrade to a newer version, to check thatall dependencies of a package are fulfilled and/or to fulfillthem automatically. (wiki)

The Most used LinuxPacking Methods:

RPM (RedHat,SuSe,Mandriva)

RPM Package Manager (originally Red Hat Package Manager,abbreviated RPM) is a package management system.

The name RPM refers to two things: a software package file format,and a free software tool which installs, updates, uninstalls, verifiesand queries software packaged in this format.

Originally developed by Red Hat for Red Hat Linux, RPM is now usedby many Linux distributions. (wiki)

deb (Debian, Ubuntu)

deb is the extension of the Debian software package format and themost often used name for such binary packages.

Like the term Debian, it's named after Debra, wife of Debian'sfounder Ian Murdock.

The program for handling these packages is dpkg, most commonlyvia apt.

The Most used LinuxPacking Methods: (cont.)

gzipped tarballs (.tgz) packages (SlackWare)

Slackware employs a minimalist approach to package management.SlackWare makes no attempt to track or manage dependencies,relying on the user to ensure that the system has all the supportingsystem libraries and programs required by the new package.

Source based portage packages (Gentoo)

Portage is a package management system used by Gentoo Linux.

Portage consists of a hierarchal tree of ebuilds (currently more than20,000 in Gentoo Linux) and management utilities such as emergeand a suite of related tools packaged as gentoolkit.

ebuilds contain metadata about each package as well as theinstructions on how to compile, install and configure a softwarepackage.

The Most used LinuxDistrosThe most well-known Linux distributions are (see DistroWatch):

Slackware, one of the first Linux distributions, founded in 1993, and

since then actively maintained by Patrick J. Volkerding Debian,

a non-commercial distribution maintained by a volunteerdeveloper community with a strong commitment to freesoftware principles

Ubuntu, a newly popular desktop distribution maintained by

Canonical that is derived from Debian Red Hat, RHEL (Red Hat Enterprise Linux)

maintained by the American company of the same name,which also provides a community version in the form ofFedora Core

The Most used LinuxDistros (cont.)

Mandriva, a Red Hat derivative popular in France and Brazil, today

maintained by the French company of the same name SuSE,

originally derived from Slackware with the systemmanagement software borrowed from Red Hat,maintained by the company Novell

Gentoo, a distribution targeted at power users, known for its

FreeBSD Ports-like automated system for compilingapplications from source code

Knoppix, a LiveCD distribution that runs completely from removable

media and without installation to a hard disk

Other Flavors of Unices 1/3 FreeBSD, see http://www.freebsd.org

FreeBSD® is an advanced operating system for x86compatible, amd64 compatible, UltraSPARC®, IA-64, PC-98 and ARM architectures.

It is derived from BSD, the version of UNIX® developed atthe University of California, Berkeley.

It is developed and maintained by a large team ofindividuals.

FreeBSD is developed as a complete operatingsystem. The kernel, device drivers and all of theuserland utilities, such as the shell, are held in thesame CSV tree. This is in contrast to Linux, inwhich the kernel is developed by one set ofdevelopers; userland utilities and applications byothers

Other Flavors of Unices 2/3 OpenBSD, see http://www.openbsd.org

The OpenBSD project produces a FREE, multi-platform4.4BSD-based UNIX-like operating system.

OpenBSD emphasizes portability, standardization,correctness, proactive security and integratedcryptography.

NetBSD, see http://www.netbsd.org NetBSD is a free, secure, and highly portable Unix-like

Open Source operating system available for manyplatforms.

NetBSD’s main emphasis is on portability.

Other Flavors of Unices 3/3 OpenSolaris, see http://www.opensolaris.org

OpenSolaris is an open source projectcreated by Sun Microsystems to build adeveloper community around the SolarisOperating System technology. The project is aimed at developers,

system administrators, and users whowant to develop and improve operatingsystems.

The Linux System as a Server OperatingSystem: OS Lecture 7 A Short History of Linux The Linux Kernel The Linux System

Design Principles

Components of a Linux System

Linux Licensing

Linux Distributions

Packaging Methods

The Most used Distributions

Other Flavors of Free Unices

The Most Common Server Processes

DHCP

DNS

File Servers

Mail

Proxy

Web Server

Linux and Unices ServerProcesses:

DHCP Server DNS Server File Server Mail Server Web Server Proxy Server

Linux and Unices ServerProcesses / services:

Dynamic Host ConfigurationProtocol - DHCP Dynamic Host Configuration Protocol or DHCP is a

communications protocol that lets network administratorsmanage centrally and automate the assignment of InternetProtocol (IP) addresses in an organization's network.

Without DHCP, the IP address must be entered manually ateach computer and, if computers move to another location inanother part of the network, a new IP address must beentered.

DHCP lets a network administrator supervise and distribute IPaddresses from a central point and automatically sends a newIP address when a computer is plugged into a different placein the network.

dhcpd is the Linux service which is used to distribute ipaddresses. Note ! There can be only ONE active dhcp-serverin a LAN !!

Domain Name System - DNS The Domain Name System or DNS is a system that stores

information about host names and domain names in a kind ofdistributed database on networks, such as the Internet.

Most importantly, it provides an IP address for each hostname, and lists the mail exchange servers accepting e-mailfor each domain.

The DNS provides a vital service on the Internet, becausewhile computers and network hardware work with IPaddresses, humans generally find it easier to work with hostnames and domain names, for example in URLs and e-mailaddresses.

Bind is the Linux service used to run DNS services. Note !Bind should be run only on special DNS server machines noton a regular workstations!

File Server A high-capacity disk storage device or a computer that each

computer on a network can use or access and retrieve filesthat can be shared among attached computers.

A computer program, that allows different programs, runningon other computers, to access the files of that computer.Examples: Network File System or NFS is a protocol originally

developed by Sun Microsystems in 1984 and defined as afile system which allows a computer to access files over anetwork as easily as if they were on its local disks.

The server message block or SMB is a protocol that isused in Microsoft Windows networks to share files.

Samba is the Linux implementation of Windows file andresource sharing services

Mail Server A Mail Transport Agent (MTA = mail server) is essential for

sending email. A Mail User Agent (MUA) such as Evolution, Mozilla Mail,

Thunderbird, and Mutt, is used to read and compose email. When a user sends an email from an MUA, the message is

handed off to the MTA, which sends the message through aseries of MTAs until it reaches its destination.

The delivery of email to a user's mailbox typically takes placevia a mail delivery agent (MDA); many MTAs have basic MDAfunctionality built in, but a dedicated MDA like procmail canprovide more sophistication.

The most used MTAs in Linux are: Sendmail, Postfix, andExim

Mail Protocols: IMAP andPOP3 The Internet Message Access Protocol (commonly known as IMAP,

and previously called Interactive Mail Access Protocol) is anapplication layer Internet protocol used for accessing email on aremote server from a local client.

IMAP and POP3 (Post Office Protocol version 3) are the two mostprevalent Internet standard protocols for email retrieval.

Both are supported by virtually all modern email clients and servers,although in some cases in addition to vendor-specific, typicallyproprietary, interfaces.

For example, while proprietary protocols are typically used betweenMicrosoft's Outlook client and an Exchange server and betweenIBM's Notes client and a Domino server, all of these products alsosupport IMAP and POP3 allowing interoperability with other serversand clients.

Imapd is imap server implementation in Linux

MIME and SMTP Multipurpose Internet Mail Extensions (MIME) is

an Internet Standard for the format of e-mail. Virtually all Internet e-mail is transmitted via

SMTP in MIME format. Simple Mail Transfer Protocol (SMTP) is the de

facto standard for email transmission across theInternet.

SMTP is a relatively simple, text-based protocol,where one or more recipients of a message arespecified (and in most cases verified to exist)and then the message text is transferred.

Web Server

A computer responsible for serving web pages,mostly HTML documents, via the HTTP protocolto clients, mostly web browsers;

A software program that is working as adaemon serving web documents.

Connections to HTTP servers are made usingweb browsers.

Apache is the most well known web server inLinux

Proxy Server

A proxy server is a computer network service whichallows clients to make indirect network connections toother network services.

A client connects to the proxy server, then requests aconnection, file, or other resource available on adifferent server.

The proxy provides the resource, possibly by connectingto the specified server, or by serving it from a cache.

Squid is the most used proxy server in Linux

Appendix