63
Every Thing You Should Every Thing You Should Know About Linux Know About Linux Prabhaker Mateti Prabhaker Mateti Department Of Computer Science and Department Of Computer Science and Engineering Engineering Wright State University Wright State University May 2008 May 2008

Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Embed Size (px)

Citation preview

Page 1: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Every Thing You Should Know Every Thing You Should Know About LinuxAbout Linux

Prabhaker MatetiPrabhaker MatetiDepartment Of Computer Science and EngineeringDepartment Of Computer Science and Engineering

Wright State UniversityWright State UniversityMay 2008May 2008

Page 2: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Are you sure you have not used Are you sure you have not used Linux already?Linux already?

Page 3: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 33

Page 4: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 44

Linux runs on …Linux runs on …

PDA? Smart Phone? PDA? Smart Phone? GPS? GPS? TiVO? TiVO? Router? Wireless AP?Router? Wireless AP?Wrist watch? Wrist watch? Car? Airplane?Car? Airplane?

Page 5: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 55

Linux Cell PhonesLinux Cell Phones

Motorola Rokr E8Motorola Rokr E8 Quad GSM/GPRSQuad GSM/GPRS Multi-codec music Multi-codec music

playerplayer Full HTML browserFull HTML browser Jan. 10, 2008Jan. 10, 2008

Page 6: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 66

Linux Cell PhonesLinux Cell Phones

http://openmoko.orghttp://openmoko.org Open source Open source

hardwarehardware Free CAD filesFree CAD files

Page 7: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 77

Linux on iPodsLinux on iPods

uCLinux + podzilla uCLinux + podzilla www.ipodlinux.org/www.ipodlinux.org/ iPOds to 5.5GiPOds to 5.5G iPod Nano 1GiPod Nano 1G

Page 8: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 88

One Laptop Per ChildOne Laptop Per Child

Runs on LinuxRuns on Linux Sugar “desktop” Sugar “desktop”

promotes sharing and promotes sharing and learning. learning.

Page 9: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 99

Google Linux ClustersGoogle Linux Clusters

GFS: The Google File System GFS: The Google File System thousands of terabytes of storage across thousands of terabytes of storage across

thousands of disks on over a thousand thousands of disks on over a thousand machinesmachines

150 million queries per day150 million queries per dayAverage response time of 0.25 secAverage response time of 0.25 secNear-100% uptimeNear-100% uptime

Page 10: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1010

Smallest Linux SystemSmallest Linux System

Mar. 28, 2005 Mar. 28, 2005 DigiConnect MEDigiConnect ME RJ-45 PlusRJ-45 Plus 0.75 x 0.75 x 1.4 in0.75 x 0.75 x 1.4 in 18 grams18 grams 2.4.27 uClinux 2.4.27 uClinux 32-bit ARM7TDMI 32-bit ARM7TDMI

Page 11: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1111

Overview of the Rest of theTalkOverview of the Rest of theTalk

1.1. Linux InternalsLinux Internals

2.2. DistributionsDistributions

3.3. Desktop EnvironmentsDesktop Environments

4.4. Linux ClustersLinux Clusters

5.5. SecuritySecurity

6.6. Open Source SoftwareOpen Source Software

7.7. Important ApplicationsImportant Applications

Page 12: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Linux InternalsLinux Internals

Page 13: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1313

Academic Def: An OS consists ofAcademic Def: An OS consists of

File SystemsFile SystemsVirtual Memory ManagementVirtual Memory ManagementProcess ManagementProcess ManagementNetwork LayerNetwork Layer Input/Output SubsystemInput/Output SubsystemUser ManagementUser Management (Booting the OS)(Booting the OS) [Collection of System Programs] [Collection of System Programs]

Page 14: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1414

Academic Definition of KernelAcademic Definition of Kernel

OS are expected to be implemented as OS are expected to be implemented as LayersLayers

Kernel is the inner most layerKernel is the inner most layerLayers are architecturally supported by Layers are architecturally supported by

CPU privilege modes.CPU privilege modes.Micro-kernel architectureMicro-kernel architecture

Page 15: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1515

““Linux kernel”Linux kernel”

The OS as we defined – boot – SysPrgsThe OS as we defined – boot – SysPrgsMonolithicMonolithicAs FilesAs Files

/boot/vmlinuz/boot/vmlinuz single filesingle file /boot/initrd/boot/initrd single filesingle file /lib/modules/*/lib/modules/* about 3500 filesabout 3500 files

4 Million lines of code4 Million lines of codeSeveral thousand contributorsSeveral thousand contributors

Page 16: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1616

Linux KernelsLinux Kernels

Numbering Scheme: Major.Minor.ReleaseNumbering Scheme: Major.Minor.Release2.2 (1999)2.2 (1999)2.4 (2001)2.4 (2001)2.6 (2003)2.6 (2003)

Current Source Code Versions:Current Source Code Versions: linux-2.6.25.3.tar.bz2 10-May-2008 46MB linux-2.6.25.3.tar.bz2 10-May-2008 46MB linux-2.4.36.4.tar.bz2 07-May-2008 30MBlinux-2.4.36.4.tar.bz2 07-May-2008 30MB linux-2.2.26.tar.bz2 24-Feb-2004 15MB linux-2.2.26.tar.bz2 24-Feb-2004 15MB

Page 17: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1717

““Linux” as used in this TalkLinux” as used in this Talk Linux KernelLinux Kernel System Programs: /sbin, /usr/sbinSystem Programs: /sbin, /usr/sbin UIUI

Desktop Env: X11, KDE, Gnome, …Desktop Env: X11, KDE, Gnome, … Shells: Bash, csh, ksh, …Shells: Bash, csh, ksh, …

UtilitiesUtilities /bin, /usr/bin, …/bin, /usr/bin, …

ApplicationsApplications Publishing: TeX, MetaPost, PS, PDF, …Publishing: TeX, MetaPost, PS, PDF, … Multimedia: Audio, VideoMultimedia: Audio, Video Sotware Development: Perl, Python, Ruby,Sotware Development: Perl, Python, Ruby,

ServersServers WebWeb FileFile ComputeCompute

Page 18: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1818

K Desktop Environment (KDE)K Desktop Environment (KDE)

4 Million lines of code4 Million lines of codeOver 800 contributors help to develop Over 800 contributors help to develop

KDE.KDE.The translation team: about 300.The translation team: about 300.KDE has about 20 official WWW mirrors in KDE has about 20 official WWW mirrors in

12 countries.12 countries.KDE has more than 106 official FTP KDE has more than 106 official FTP

mirrors in over 39 countriesmirrors in over 39 countries

Page 19: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 1919

KDE ComponentsKDE Components aRts: Analog realtime synthesizer and sound daemon. KDE 4.0 uses PhononaRts: Analog realtime synthesizer and sound daemon. KDE 4.0 uses Phonon KDE-Libs: Various run-time librariesKDE-Libs: Various run-time libraries KDE-Base: window-manager, desktop, panel, KonquerorKDE-Base: window-manager, desktop, panel, Konqueror KDE-Network: KNode, KNewsticker, Kppp, ...KDE-Network: KNode, KNewsticker, Kppp, ... KDE-Pim: KMail, KAddressbook, KOrganizer, KPilot, ...KDE-Pim: KMail, KAddressbook, KOrganizer, KPilot, ... KDE-Graphics: Graphics applications such as KDVI, KGhostview, KPaint, KFax, ...KDE-Graphics: Graphics applications such as KDVI, KGhostview, KPaint, KFax, ... KDE-Multimedia: Noatun, KMidi, KSCD, ...KDE-Multimedia: Noatun, KMidi, KSCD, ... KDE-Accessibility: applications to improve computer access for disabled people...KDE-Accessibility: applications to improve computer access for disabled people... KDE-Utilities: KEdit, KCalc, KHexEdit, KNotes, ...KDE-Utilities: KEdit, KCalc, KHexEdit, KNotes, ... KDE-Edu: Edutainment applicationsKDE-Edu: Edutainment applications KDE-Games: KAsteroids, KPat, KTetris, ...KDE-Games: KAsteroids, KPat, KTetris, ... KDE-Admin: Various tools to aid system administrationKDE-Admin: Various tools to aid system administration KDE-SDK: Script and tools which simplify development of KDE applicationsKDE-SDK: Script and tools which simplify development of KDE applications KOffice: Integrated office suiteKOffice: Integrated office suite KDevelop: C/C++ Integrated Development EnvironmentKDevelop: C/C++ Integrated Development Environment KDE-Bindings: bindings for various languages (Python, Ruby, Perl, Java...)KDE-Bindings: bindings for various languages (Python, Ruby, Perl, Java...) KDEWebdev: Web Development ToolKDEWebdev: Web Development Tool

Page 20: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2020

Native Linux File SystemsNative Linux File Systems

Extended File SystemExtended File SystemExt2Ext2Ext3Ext3Ext4Ext4

Other Journaling File SystemsOther Journaling File SystemsReiserFSReiserFSSGI XFSSGI XFS IBM JFSIBM JFS

Page 21: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2121

Linux Non-Native File SystemsLinux Non-Native File Systems

NTFS5: Full read/write operationsNTFS5: Full read/write operationsNative File Systems of every major OS Native File Systems of every major OS

fully supported:fully supported:FAT, FAT16, FAT32 of WindowsFAT, FAT16, FAT32 of WindowsMacOSMacOSSolarisSolarisBSDBSD

Page 22: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2222

Distributed File SystemsDistributed File Systems

Classic DFSClassic DFSNFSNFSAFSAFSSamba for WindowsSamba for Windows

Linux is a rich test bed for DFS researchLinux is a rich test bed for DFS researchKOSMOS http://kosmosfs.sourceforge.net/KOSMOS http://kosmosfs.sourceforge.net/Ceph http://ceph.newdream.net/ Ceph http://ceph.newdream.net/ Many encrypted file systemsMany encrypted file systems

Page 23: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Linux DistributionsLinux Distributions

Page 24: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2424

Linux DistributionsLinux Distributions

Define “distribution”!Define “distribution”!Major DistributionsMajor Distributions

Debian, UbuntuDebian, UbuntuRedHat, FedoraRedHat, FedoraNovell SuSe, Open SuseNovell SuSe, Open SuseMandrivaMandrivaSlackwareSlackware

Minor DistributionsMinor Distributions1000+1000+

Page 25: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2525

How Do Distributions Differ?How Do Distributions Differ? What is included in the default installationWhat is included in the default installation

Operating SystemOperating System UIUI

ShellsShells GUIGUI

UtilitiesUtilities Selected ApplicatinsSelected Applicatins Patches provided by the DistroPatches provided by the Distro

Installing New Components/ApplicationsInstalling New Components/Applications UpdatesUpdates

SecuritySecurity New versionsNew versions

Browsing for Available SoftwareBrowsing for Available Software Look and Feel of the Initial InstallLook and Feel of the Initial Install

Page 26: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2626

How Do Distributions Differ? How Do Distributions Differ?

Versions of installed librariesVersions of installed libraries /lib//lib/ /usr/lib//usr/lib/

ConfigurationConfiguration Location of FilesLocation of Files SyntaxSyntax GUI/command line toolsGUI/command line tools

Distributions from ScratchDistributions from Scratch Build it from SourceBuild it from Source

GentooGentoo

Page 27: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2727

UbuntuUbuntu

Ubuntu is a derivative of DebianUbuntu is a derivative of Debian ““Ubuntu will always be Ubuntu will always be

““free to download, free to download, ““free to use and free to use and ““free to distribute to others.”free to distribute to others.”

Desktop EditionDesktop Edition Server EditionServer Edition X86-32, x86-64, and MacX86-32, x86-64, and Mac Ubuntu, Kubuntu, Xubuntu, …Ubuntu, Kubuntu, Xubuntu, …

Page 28: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2828

Linux Live CD/DVDLinux Live CD/DVD

fully writable root filesystemfully writable root filesystemhardware auto-detectionhardware auto-detectioncan be installed to local hard diskcan be installed to local hard diskcan be installed on USB MSDcan be installed on USB MSDAutomated scripts to make a LiveDVD Automated scripts to make a LiveDVD

from any distrofrom any distrohttp://www.linux-live.org/http://www.linux-live.org/

Page 29: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 2929

Knoppix LiveDVDKnoppix LiveDVD

General Purpose LinuxGeneral Purpose Linux Try it without installing on HDDTry it without installing on HDD

Excellent hardware detectionExcellent hardware detection Large collection of applicationsLarge collection of applications

KDE, …, fluxboxKDE, …, fluxbox Open Office, Emacs, gcc, …Open Office, Emacs, gcc, … Web browsers, …Web browsers, …

Uncompresses on the flyUncompresses on the fly Several GB of softwareSeveral GB of software Relatively Slow Relatively Slow

Page 30: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3030

Damn Small LinuxDamn Small Linux

About 50 MBAbout 50 MBCan run without a HDDCan run without a HDDX11 DesktopX11 DesktopMany useful applicationsMany useful applications

OfficeOfficeWeb surfingWeb surfingEmailEmailMultimediaMultimedia

Page 31: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3131

Linux on a USB DriveLinux on a USB Drive

Install on a USB MSD as a HDDInstall on a USB MSD as a HDD Install a Live Image on USB MSDInstall a Live Image on USB MSD

On the fly uncompressionOn the fly uncompression Fast installationFast installation Relatively slow executionRelatively slow execution

Lab on Installing Linux on a USB DriveLab on Installing Linux on a USB Drive http://www.cs.wright.edu/~pmateti/Courses/233-2008-http://www.cs.wright.edu/~pmateti/Courses/233-2008-

Spring/Labs/OS-on-USB/OSonUSBLab.htmSpring/Labs/OS-on-USB/OSonUSBLab.htm

http://pendrivelinux.com/ http://pendrivelinux.com/

Page 32: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3232

Scientific Linux LiveDVDScientific Linux LiveDVD

By Fermilab, CERN, and other labs and By Fermilab, CERN, and other labs and universities universities

LiveDVD 32bit/64bit with Gnome/KDE/Icewm LiveDVD 32bit/64bit with Gnome/KDE/Icewm desktopdesktop

5.1 for i386 and x86_64 released on 2008-02-18 5.1 for i386 and x86_64 released on 2008-02-18 RedHat Enterprise LinuxRedHat Enterprise Linux Fully writable root filesystemFully writable root filesystem Hardware auto-detectionHardware auto-detection http://http://www.scientificlinux.orgwww.scientificlinux.org

Page 33: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3333

Embedded LinuxEmbedded Linux

uCLinux (Micro Controller Linux)uCLinux (Micro Controller Linux)Linux kernels 2.0, 2.4 and kernel 2.6 Linux kernels 2.0, 2.4 and kernel 2.6 collection of user applicationscollection of user applications libraries and libraries and tool chains tool chains uCLinux ported widelyuCLinux ported widely

Page 34: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Linux ClustersLinux Clusters

Page 35: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3535

Cluster Cluster CharacteristicsCharacteristics

Commodity ofCommodity offf the shelf hardware the shelf hardware NNetworketworkededCommon Home DirectoriesCommon Home DirectoriesOpen source software and OSOpen source software and OSSupport Support message passingmessage passing programming programmingBatch scheduling of jobsBatch scheduling of jobsProcess migrationProcess migration

Page 36: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3636

Why Why are Linux Clustersare Linux Clusters GGood?ood?

Low initial implementation costLow initial implementation cost Inexpensive Inexpensive PCsPCsStandard componentsStandard components and Networks and NetworksFree SoftwareFree Software:: L Linux,inux, GNU, MPI, PVM GNU, MPI, PVM

Scalability: cScalability: can an grow and shrinkgrow and shrinkFamiliar Familiar ttechnology, easy for user to adechnology, easy for user to ad

opt the approach, use and maintain systopt the approach, use and maintain system.em.

Page 37: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3737

Example ClustersExample Clusters

July 1999July 199911000 nodes 000 nodes Used for genetic algoritUsed for genetic algorit

hm research by John hm research by John KKoza, Stanford Universityoza, Stanford University

www.genetic-programmwww.genetic-programming.com/ing.com/

Page 38: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3838

Largest Cluster SystemLargest Cluster System

IBM BlueGene, 2007IBM BlueGene, 2007 DOE/NNSA/LLNLDOE/NNSA/LLNL Memory: 73728 GBMemory: 73728 GB OS: CNK/SLES 9OS: CNK/SLES 9 Interconnect: ProprietaryInterconnect: Proprietary PowerPC 440PowerPC 440 106,496 nodes106,496 nodes 478.2 Tera FLOPS on 478.2 Tera FLOPS on

LINPACKLINPACK

Page 39: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 3939

Message Passing Interface (MPI)Message Passing Interface (MPI)

httphttp://www-unix.mcs.anl.gov/mpi/://www-unix.mcs.anl.gov/mpi/MPI-2.0 MPI-2.0 http://www.mpi-forum.org/docs/http://www.mpi-forum.org/docs/ MPIMPICH: CH: www.mcs.anl.gov/mpi/mpichwww.mcs.anl.gov/mpi/mpich//

by Argonne National Laboratory and Missiby Argonne National Laboratory and Missisippy State Universitysippy State University

LAM: LAM: http://www.lam-mpi.org/http://www.lam-mpi.org/http://www.open-mpi.org/http://www.open-mpi.org/

Page 40: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4040

Parallel Virtual Machine (Parallel Virtual Machine (PVMPVM) )

PVM enables a heterogeneous collection PVM enables a heterogeneous collection of networked computers to be used as a of networked computers to be used as a single large parallel computer. single large parallel computer.

Older than MPIOlder than MPILarge scientific/engineering user Large scientific/engineering user

communitycommunityhttp://www.csm.ornl.gov/pvm/http://www.csm.ornl.gov/pvm/

Page 41: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4141

Kernels Etc Mods for ClustersKernels Etc Mods for Clusters Dynamic load balancingDynamic load balancing Transparent process-migrationTransparent process-migration Kernel ModsKernel Mods

http://openmosix.sourceforge.net/ http://openmosix.sourceforge.net/ http://kerrighed.org/http://kerrighed.org/

http://openssi.org/http://openssi.org/ http://ci-linux.sourceforge.net/ http://ci-linux.sourceforge.net/

CLuster Membership Subsystem ("CLMS") and CLuster Membership Subsystem ("CLMS") and Internode Communication SubsystemInternode Communication Subsystem

http://www.gluster.org/ http://www.gluster.org/ GlusterFS: Clustered File Storage of peta bytes.GlusterFS: Clustered File Storage of peta bytes. GlusterHPC: High Performance Compute ClustersGlusterHPC: High Performance Compute Clusters

http://boinc.berkeley.edu/http://boinc.berkeley.edu/ Open-source software for volunteer computing and grid computingOpen-source software for volunteer computing and grid computing

Condor clustersCondor clusters

Page 42: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4242

OS Share of Top 500OS Share of Top 500

OS Count OS Count Share Share Rmax (GF) Rmax (GF) Rpeak (GF) ProcessorRpeak (GF) ProcessorLinux Linux 426 426 85.20% 4897046 85.20% 4897046 7956758 7956758 970790970790Windows 6 Windows 6 1.20% 47495 1.20% 47495 86797 86797 12112 12112Unix Unix 30 30 6.00% 408378 6.00% 408378 519178 519178 73532 73532BSD BSD 2 2 0.40% 44783 0.40% 44783 50176 50176 5696 5696Mixed 34 Mixed 34 6.80% 1540037 6.80% 1540037 1900361 1900361 580693580693MacOS 2 MacOS 2 0.40% 28430 0.40% 28430 44816 44816 5272 5272Totals Totals 500 500 100% 6966169 10558086 1648095 100% 6966169 10558086 1648095

http://www.top500.org/stats/list/30/osfamhttp://www.top500.org/stats/list/30/osfam Nov 2007 Nov 2007

Page 43: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4343

Security of LinuxSecurity of Linux Security flaws are largely due toSecurity flaws are largely due to

Network protocol design flawsNetwork protocol design flaws Sloppy programming by software authorsSloppy programming by software authors Poor configurationPoor configuration

Number of exploits, number of advisories similar Number of exploits, number of advisories similar to those of other OSto those of other OS Worms, not virusesWorms, not viruses Compromised cryptoCompromised crypto Buffer overflowsBuffer overflows

Considerable research analysis of Linux source Considerable research analysis of Linux source codecode

Page 44: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4444

Security Hardened LinuxSecurity Hardened Linux

Portions of Linux replaced, re-designed, Portions of Linux replaced, re-designed, enhanced for improved securityenhanced for improved security

Stack top randomizationStack top randomizationPrevention of data page executionPrevention of data page executionLinux Security Modules (LSM) Linux Security Modules (LSM) SELinuxSELinux

Page 45: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4545

Security Tools on LinuxSecurity Tools on Linux Penetration Testing Penetration Testing Network analysis (e.g. nmap, tcpdump)Network analysis (e.g. nmap, tcpdump) Password crackingPassword cracking Disaster recovery (e.g. gparted, gpart, partimage, Disaster recovery (e.g. gparted, gpart, partimage,

testdisk, recover) testdisk, recover) Virus scanning (Clam Antivirus, the GUI xfprot for F-Prot) Virus scanning (Clam Antivirus, the GUI xfprot for F-Prot)

computer forensics (e.g. chkrootkit, foremost, rootkit computer forensics (e.g. chkrootkit, foremost, rootkit

hunter) hunter) Backtrack3 http://backtrack.offensive-security.com/ Backtrack3 http://backtrack.offensive-security.com/ STD http://www.knoppix-std.org/STD http://www.knoppix-std.org/ INSERT http://www.inside-security.de/insert_en.html INSERT http://www.inside-security.de/insert_en.html

Page 46: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Important ApplicationsImportant Applications

Page 47: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4747

A Few Ubuntu/Debian packagesA Few Ubuntu/Debian packages ElectricElectric

custom IC layout (ASICs), schematic drawing, hardware custom IC layout (ASICs), schematic drawing, hardware description language specifications, and electro-mechanical description language specifications, and electro-mechanical hybrid layout.hybrid layout.

ViPECViPEC analysis of high frequency, linear electrical networks. ViPEC analysis of high frequency, linear electrical networks. ViPEC

supports lumped elements as well as distributed networkssupports lumped elements as well as distributed networks KicadKicad

Electronic schematic and PCB design softwareElectronic schematic and PCB design software QCad 2QCad 2

A professional CAD System with ISO-texts and DXF-files.A professional CAD System with ISO-texts and DXF-files. PythonCADPythonCAD

drafting program scriptable with Pythondrafting program scriptable with Python

Page 48: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4848

Example ApplicationsExample Applications

Email: kmail, evolution, sylpheed, Email: kmail, evolution, sylpheed, thunderbirdthunderbird

Surfing: konqueror, firefox, galeon, operaSurfing: konqueror, firefox, galeon, operaSoftware Development: compilers for Software Development: compilers for

nearly all known languagesnearly all known languagesDrawing: dia, graphviz, kchart, inkscapeDrawing: dia, graphviz, kchart, inkscapeMusic: amarok, gnupodMusic: amarok, gnupodGames: Sauerbraten, Savage, DoomGames: Sauerbraten, Savage, Doom

Page 49: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 4949

Applications on PublishingApplications on Publishing TeX/LaTeXTeX/LaTeX

KyleKyle LyxLyx TeXmacsTeXmacs MetaPost drawing languageMetaPost drawing language GraphVizGraphViz

Scribus Scribus Office SuitesOffice Suites

AbiwordAbiword KofficeKoffice OpenOfficeOpenOffice

Page 50: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5050

Matlab :: Scilab, Octave, Rlab Matlab :: Scilab, Octave, Rlab

Not 100% compatible with m-files.Not 100% compatible with m-files.Matrix-based programming languages. Matrix-based programming languages. Built-in support for complex numbers. Built-in support for complex numbers. Powerful built-in math functions and Powerful built-in math functions and

extensive function libraries. extensive function libraries. Extensibility in the form of user-defined Extensibility in the form of user-defined

functions. functions.

Page 51: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5151

Computer Algebra SystemsComputer Algebra Systems

Manipulation of symbolic and numerical Manipulation of symbolic and numerical expressions, including differentiation, expressions, including differentiation, integration, Taylor series, Laplace transforms, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, equations, polynomials, and sets, lists, vectors, matrices, and tensors. matrices, and tensors.

http://maxima.sourceforge.net/http://maxima.sourceforge.net/ http://mathomatic.orgserve.de/math/http://mathomatic.orgserve.de/math/ Maple on Linux: commercial productMaple on Linux: commercial product

Page 52: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5252

Software Development on LinuxSoftware Development on Linux

Develop software for Linux on LinuxDevelop software for Linux on LinuxDevelop software for other OS on LinuxDevelop software for other OS on LinuxEveryEvery well-known PL has compilers/ well-known PL has compilers/

interpreters on Linuxinterpreters on LinuxExcellent DebuggersExcellent DebuggersVirtualizationVirtualizationTeam Support EnvironmentsTeam Support Environments

Page 53: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5353

C and C++ on LinuxC and C++ on Linux

These are the “native” languages.These are the “native” languages.CompilersCompilers

GNU compilersGNU compilers Intel compilersIntel compilers IBM compilersIBM compilersSun Studio compilersSun Studio compilersPrinceton LCCPrinceton LCC

Page 54: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5454

GNU CompilersGNU Compilers

FortranFortranFortran 95 standardFortran 95 standarda few Fortran 2003 featuresa few Fortran 2003 features

JavaJavacompilation to machine code compilation to machine code as well as byte codeas well as byte code

Objective-C, Objective-C++Objective-C, Objective-C++Ada and PascalAda and Pascal

Page 55: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5555

VirtualizationVirtualization

Run multiple virtual machines on a single Run multiple virtual machines on a single host.host.

VMwareVMwareXENXENQEMU/KVMQEMU/KVMVirtualLogixVirtualLogix lguestlguestOpenVZOpenVZ

Page 56: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5656

LiMo Foundation PlatformLiMo Foundation Platform

Open, hardware-Open, hardware-independent, Linux-based independent, Linux-based OS for mobile devices.OS for mobile devices.

January 2007January 2007 Motorola, NEC, NTT Motorola, NEC, NTT

DoCoMo, Panasonic, DoCoMo, Panasonic, Samsung and VodafoneSamsung and Vodafone

www.limofoundation.org/www.limofoundation.org/

Page 57: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

Specific Uses of LinuxSpecific Uses of Linux

Page 58: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5858

Linux DIY ServersLinux DIY Servers

Home MultiMedia/File ServerHome MultiMedia/File ServerLAMP ServerLAMP Server

LAMP stands for Linux, Apache, MySQL, PHPLAMP stands for Linux, Apache, MySQL, PHPWordPressWordPressBlog serverBlog server

Email serverEmail serverspam assassinspam assassin

Page 59: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 5959

Linux FirewallLinux Firewall

Take a standard PC and install one of Take a standard PC and install one of these:these: IPcop IPcop http://www.ipcop.org/http://www.ipcop.org/ Smoothwall Smoothwall http://www.smoothwall.org/http://www.smoothwall.org/ Firestarter Firestarter http://www.fs-security.com/http://www.fs-security.com/Kaladix Kaladix http://www.kaladix.org/http://www.kaladix.org/ STD STD http://www.knoppix-std.orghttp://www.knoppix-std.org// EnGarde EnGarde http://http://www.engardelinux.orgwww.engardelinux.org//

Page 60: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 6060

Linux Digital Video RecordersLinux Digital Video Recorders

www.tivo.com/linux/ www.tivo.com/linux/ ““In compliance with In compliance with

the GPL version 2, we the GPL version 2, we are pleased to provide are pleased to provide our modifications to our modifications to the Linux Kernel, as the Linux Kernel, as well as a few new well as a few new commands, and some commands, and some tools to get you into tools to get you into the code.”the code.”

MythTVMythTV

Page 61: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 6161

Linux Installation IssuesLinux Installation Issues

Linux-only PCsLinux-only PCsNewbies should be able to installNewbies should be able to install

Multi-boot PCs Problem AreasMulti-boot PCs Problem AreasPartitioning of the hard disksPartitioning of the hard disks Installation of OS Boot LoaderInstallation of OS Boot Loader

Mix and Match Distributions Mix and Match Distributions Impractical to mix and matchImpractical to mix and matchBest to Compile from Source CodeBest to Compile from Source Code

Page 62: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 6262

Linux Installation IssuesLinux Installation Issues

Device Drivers Unavailable forDevice Drivers Unavailable forLatest Graphics cardsLatest Graphics cardsLatest Wireless cardsLatest Wireless cardsOther devices are OKOther devices are OK

Tainted/Restricted DriversTainted/Restricted DriversNot “fully open source” driversNot “fully open source” driversndiswrapperndiswrapper

Page 63: Every Thing You Should Know About Linux Prabhaker Mateti Department Of Computer Science and Engineering Wright State University May 2008

May 2008May 2008 Mateti-Everything-About-LinuxMateti-Everything-About-Linux 6363

Linux LinksLinux Links

distrowatch.comdistrowatch.com/ – Distributions news/ – Distributions newskernel.orgkernel.org/ -- Kernel source code/ -- Kernel source code tldp.orgtldp.org// -- Linux Documentation Project -- Linux Documentation Project linux-live.org/ – LiveDVD build toolslinux-live.org/ – LiveDVD build tools linuxsecurity.com/ - Linux security portallinuxsecurity.com/ - Linux security portal