SlideShare a Scribd company logo
1 of 42
Download to read offline
Intro to Linux



            Kevin B. O'Brien
     Washtenaw Linux Users Group
        http://www.lugwash.org
        http://www.zwilnik.com
What is an OS? 1
   First computers had no OS
   They ran a program and data, prepared
    for specific hardware
   Ran one “job” at a time
   Time-sharing is what led to first OS



                                            2
What is an OS? 2
   These OS’s managed the hardware,
    scheduled the jobs, and contained
    “runtime libraries”
   Usually written in machine language




                                          3
Unix
   Developed at Bell Labs in late 1960s
   Owned by AT&T at the time, which meant
    you had to buy it once AT&T figured out it
    was valuable
   Written in C (a high level language)
   Needs to be compiled to run
   Can be easily moved to a different system
    by re-compiling for new hardware          4
BSD 1
   In 1973 UC Berkeley acquired a license
    on favorable terms.
   In 1977 Bill Joy (grad student at the time)
    released the first version of Berkeley
    Software Distribution (BSD). This
    becomes pretty much free to anyone who
    wants it.


                                                  5
BSD 2
   In 1990s legal battle between U C
    Berkeley and an AT&T subsidiary, BSD
    becomes legally free.
   BSD is in some sense “real” Unix. It uses
    code that can be traced back to Bell Labs.
   Has since split into various flavors
    (FreeBSD, NetBSD, OpenBSD)

                                                 6
GNU Project 1
   Richard M Stallman (rms) was a
    programmer at MIT, which had a hacker
    ethos
   Became very upset at rise of proprietary
    software that cannot be modified or
    hacked.



                                               7
GNU Project 2
   Founded GNU project in September 1983
    to create a Unix “clone” with 100% free
    code.
   Founded Free Software Foundation, and
    ultimately the GNU Public License (GPL),
    now in version 3



                                               8
GNU Project 3
   GNU project starts with developing the
    tools need to create an OS: compiler
    (GCC), text editor (Emacs), debugger,
    build automator. But still no kernel. Hurd,
    the proposed kernel, was started in 1990,
    but progress was slow.




                                                  9
Linux 1
   Linus Torvalds, Finnish computer student,
    wanted a simple OS for his computer.
   Looked at Minix, a very simple “Unix-like”
    OS. Hurd is still nowhere near ready
   The owner of Minix, Andrew Tanenbaum,
    would not make the changes people
    wanted to Minix

                                                 10
Linux 2
   Linus decides to make his own version,
    and is quite happy to work with others to
    make changes that people want. Post to
    Usenet in August 1991




                                                11
Linux 3
   Hello everybody out there using minix - I'm doing a (free) operating
    system (just a hobby, won't be big and professional like gnu) for
    386(486) AT clones. This has been brewing since april, and is
    starting to get ready. I'd like any feedback on things people
    like/dislike in minix, as my OS resembles it somewhat (same
    physical layout of the file-system (due to practical reasons) among
    other things). I've currently ported bash (1.08) and gcc(1.40),and
    things seem to work. This implies that I'll get something practical
    within a few months, and I'd like to know what features most people
    would want. Any suggestions are welcome, but I won't promise I'll
    implement them :-) Linus (torvalds@kruuna.helsinki.fi)
    PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
    It is NOT protable (uses 386 task switching etc), and it probably
    never will support anything other than AT-harddisks, as that's all I
    have :-(.




                                                                         12
Linux 4
   Linus uses GNU tools, and ultimately
    releases his OS, which became known as
    Linux, under the GPL in December 1992.




                                         13
Kernel 1
   What Linus wrote was a kernel




                                    14
Kernel 2
   “Typically, a kernel (or any comparable center of an operating
    system) includes an interrupt handler that handles all requests or
    completed I/O operations that compete for the kernel's services, a
    scheduler that determines which programs share the kernel's
    processing time in what order, and a supervisor that actually gives
    use of the computer to each process when it is scheduled. A kernel
    may also include a manager of the operating system's address
    spaces in memory or storage, sharing these among all components
    and other users of the kernel's services. A kernel's services are
    requested by other parts of the operating system or by application
    programs through a specified set of program interfaces sometimes
    known as system calls.”
    (http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci
    212439,00.html)




                                                                        15
Kernel 3
   The latest stable Linux kernel is currently
    2.6.26 (as of early 2009)
   Linus himself has remained almost
    entirely concerned with the kernel
   Other necessary programs come from
    other developers


                                                  16
Shell 1
   This is the part of the OS that interacts
    with the user
   This does not generally refer to Graphical
    User Interfaces (GUI), but to command
    line interfaces (CLI)
   Examples are Bourne Shell (sh), Bourne-
    Again shell (bash), Korn shell (ksh), and
    C shell (csh)
                                                 17
Shell 2
   These are somewhat similar to the DOS
    COMMAND.COM, and its Windows
    successor CMD.EXE. They have a list of
    built-in commands and capabilities that
    you can use




                                              18
X1
   As Xerox PARC first showed, and
    Macintosh then made very clear,
    graphical interfaces are easier for most
    people to use
   The basic need for a GUI as it is currently
    conceived is a windowing system, that is,
    software to draw windows on the screen


                                                  19
X2
   A program called “W”, for window, was
    written at Stanford, and then ported to
    Unix
   At MIT, this was developed further and
    became “X” (the letter after W)
   By 1987 X had gotten to version 11,
    which was released as free software
    (X11)
                                              20
X3
   X is only the basis. Many window
    managers have been written using the
    underlying code of X (e.g. Enlightenment,
    Fluxbox, Metacity, WindowMaker)




                                                21
Wayland

   But X is old, and hard to use for modern
    3D systems
   So Wayland is the next graphical
    environment
   Scheduled to appear in Ubuntu 11.10 and
    Fedora 15



                                               22
Desktop Environment 1
   Same thing as a GUI, to start with, but
    now goes much further
   Lets you interact with the computer in
    other ways than through the command
    line shell
   Develops from the first window managers,
    but goes much further

                                              23
Desktop Environment 2
   Has the ability to configure the
    appearance of the screen in various ways
    (e.g. color schemes, themes, icons)
   Has started to include more and more
    software programs (particularly Gnome
    and KDE). This is not necessarily a good
    thing (bloat). Examples include their own
    built-in Web browsers, text editors, and
    games

                                                24
Desktop Environment 3
   Gnome is considered somewhat more like
    Macintosh
   KDE is considered somewhat more like
    Windows
   XFce is less bloated, and should be a little
    snappier, particularly on older hardware. It
    is, however, an order of magnitude larger
    than a simple Window manager.
                                               25
Comparison to Windows 1
   Windows also has a kernel. They just
    don’t talk about it much. But any OS has
    to handle the basic things a kernel
    handles.
   Windows also has a shell, but only one.
    You have no choice.
   Windows “shell” is more limited. And most
    Windows users have rarely if ever used it.
                                               26
Comparison to Windows 2
   Linux’s shells are robust, and can do
    anything you need them to do.
   You can use a simple Window manager,
    which could let you run a system on older
    hardware or conserve system resources,
    if you are in Linux. Windows does not give
    you any options.


                                             27
Comparison to Windows 3
   Windows has one Desktop Environment.
    You do not get to choose. And it is
    definitely bloated.




                                           28
Distributions 1
   Linux has a variety of distributions, which
    are called distros.
   The oldest is MCC Interim Linux, begun in
    February 1992
   There are now hundreds of distros. If you
    don’t see one you like, start your own. 


                                                  29
Distributions 2
   Distros have a variety of components, and how
    and what they select is the main distinction
    among different distros
   Kernel: Every distro will have a kernel, usually
    the latest stable version at the time the distro is
    released. But over time a distro like Debian,
    which is notably slow to update, will fall behind
    the latest version. A distro like Ubuntu, which
    releases a new version every 6 months, is more
    likely to have the latest version of the kernel

                                                      30
Distributions 3
   Shell: Every distro will have a selection of
    shells available (and you can always
    install any that are missing). By default,
    most distros install the bash shell in their
    initial installation.




                                                   31
Distributions 4
   Drivers: These let your kernel/OS work with peripheral
    equipment, like video cards, sound cards, mice,
    monitors, printers, etc. The key issue here is whether
    the drivers are open source (i.e. the source code has
    been released for anyone to look at and modify) or
    proprietary (the drivers are kept secret by an owner).
    This is currently a big issue in the Linux community. Any
    change to the kernel in any OS could potentially render
    some equipment unusable. If the drivers are open
    source, the Linux developer community can usually fix
    the problem very quickly, but if they are proprietary, you
    are at the mercy of an owner somewhere who may not
    consider it a priority to fix the problem.

                                                             32
Distributions 5
   Utilities: Every distro will include a variety
    of utilities. Many of these come from the
    GNU Project, such as GCC and Emacs.
    Others come from a variety of developers
    all over the world.




                                                     33
Distributions 6
   Codecs: In this day of multimedia computing, the
    codecs (Coder-Decoder) used for sound and video are
    very important. Some codecs are free and open (like
    ogg vorbis (sound) and ogg theora (video)) and others
    are proprietary (like MP3, owned by Fraunhofer). And
    DVDs are recorded in closed codecs). Some distros will
    only include software (including codecs) that is free and
    open (e.g. PhatLinux), other include proprietary stuff
    right out of the box (e.g. Linspire). Many take a middle
    ground; they don’t install it right away, but make it easy
    for you to install if you decide to do so (e.g. Ubuntu)



                                                                 34
Distributions 7
   Other software: These days, most distros
    will include a lot of other software as well.
    Examples include Web browsers like
    Firefox, office productivity suites like
    OpenOffice.org, media players, CD
    Burning software, etc. And pretty much
    every major distro makes it easy to add
    software and offers a wide variety of free
    and open source software to fit any need
    most people have.
                                                    35
Software Installation 1
   Linux gives you access to a wide variety
    of software packages
   Installation can take a variety of forms
    depending on the distro and the package




                                               36
Software Installation 2
   Repositories are online collections of
    software maintained by various
    companies, developers, etc. You can
    download software from these
    repositories and install it on your
    computer at any time.




                                             37
Software Installation 3
   Package Managers are utilities in each
    distro that let you easily access these
    repositories and handle the downloading
    and installing for you. These package
    managers deal with pre-compiled code, or
    binaries, which means that the code is
    already in the form that the computer
    needs to install it. This is pretty much the
    same as you would have with Windows
    installation software.
                                               38
Software Installation 4
   Every modern OS has found it preferable
    to use libraries of code that can be shared
    by a variety of different software
    programs. In Windows, these are called
    DLL files (Dynamic Link Libraries). In
    Linux, we frequently call them Libraries.




                                              39
Software Installation 5
   In Windows, these DLL files are often included
    with the software itself, and are installed at the
    same time as the program. In Linux, these are
    usually kept separate, and are called
    dependencies. In Windows, you can get into
    trouble when one program overwrites the DLL
    installed previously by another program with a
    different version number, sometimes breaking
    the other program. In Linux, this cannot happen
    accidentally if you are careful, but you need to
    watch out for this.

                                                         40
Software Installation 6
   Package Managers will help you by checking for any
    dependencies that need to be met. Many of them will
    even automatically go to the repository, download, and
    install any software programs or libraries you need to
    run the software program you are interested in as part of
    the installation process. This depends on being able to
    find the other programs or libraries in the repositories. If
    they cannot find these other programs or libraries, they
    will give you a message telling you which dependencies
    could not be met, and you can attempt to find the
    missing piece(s) on the Internet.



                                                               41
Software Installation 7
   Compiling from Source Code: Sometimes
    a pre-compiled binary is not available.
    Other times, you find the pre-compiled
    binary is not as good with your hardware
    as it could be. The answer is to download
    the source code, configure it, and compile
    it for yourself with your own hardware
    settings. This is not something a beginner
    would be likely to do right away, but it is
    not that hard.
                                              42

More Related Content

What's hot

Introduction to Linux OS
Introduction to Linux OSIntroduction to Linux OS
Introduction to Linux OSMohammed Safwat
 
01 t1 s2_linux_lesson1
01 t1 s2_linux_lesson101 t1 s2_linux_lesson1
01 t1 s2_linux_lesson1Niit Care
 
What is Linux, Ubuntu and Open Source?
What is Linux, Ubuntu and Open Source?What is Linux, Ubuntu and Open Source?
What is Linux, Ubuntu and Open Source?Jose Kont
 
Introduction to Linux basic
Introduction to Linux basicIntroduction to Linux basic
Introduction to Linux basicf114n
 
Linux Simple Introduction
Linux Simple IntroductionLinux Simple Introduction
Linux Simple IntroductionJohnMihaya
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linuxselvin sam
 
I Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxI Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxSagar Kumar
 
BITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installationBITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installationBITS
 
Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban Amit Nath
 
Part 1 of 'Introduction to Linux for bioinformatics': Introduction
Part 1 of 'Introduction to Linux for bioinformatics': IntroductionPart 1 of 'Introduction to Linux for bioinformatics': Introduction
Part 1 of 'Introduction to Linux for bioinformatics': IntroductionJoachim Jacob
 
Get to know linux - First steps with Ubuntu
Get to know linux - First steps with UbuntuGet to know linux - First steps with Ubuntu
Get to know linux - First steps with UbuntuMaja Kraljič
 

What's hot (20)

Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 
Linux introduction Class 02
Linux introduction Class 02Linux introduction Class 02
Linux introduction Class 02
 
Linux notes
Linux notesLinux notes
Linux notes
 
Foss History
Foss HistoryFoss History
Foss History
 
Linux introduction, class 1
Linux introduction, class 1Linux introduction, class 1
Linux introduction, class 1
 
Introduction to Linux OS
Introduction to Linux OSIntroduction to Linux OS
Introduction to Linux OS
 
01 t1 s2_linux_lesson1
01 t1 s2_linux_lesson101 t1 s2_linux_lesson1
01 t1 s2_linux_lesson1
 
What is Linux, Ubuntu and Open Source?
What is Linux, Ubuntu and Open Source?What is Linux, Ubuntu and Open Source?
What is Linux, Ubuntu and Open Source?
 
Introduction to Linux basic
Introduction to Linux basicIntroduction to Linux basic
Introduction to Linux basic
 
Linux Simple Introduction
Linux Simple IntroductionLinux Simple Introduction
Linux Simple Introduction
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
How ubuntu works???
How ubuntu works???How ubuntu works???
How ubuntu works???
 
I Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on LinuxI Am Linux-Introductory Module on Linux
I Am Linux-Introductory Module on Linux
 
Linux
LinuxLinux
Linux
 
BITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installationBITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installation
 
Introduction to Ubantu
Introduction to UbantuIntroduction to Ubantu
Introduction to Ubantu
 
Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban Introduction to Linux_by_Amit & Jiban
Introduction to Linux_by_Amit & Jiban
 
Part 1 of 'Introduction to Linux for bioinformatics': Introduction
Part 1 of 'Introduction to Linux for bioinformatics': IntroductionPart 1 of 'Introduction to Linux for bioinformatics': Introduction
Part 1 of 'Introduction to Linux for bioinformatics': Introduction
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
Get to know linux - First steps with Ubuntu
Get to know linux - First steps with UbuntuGet to know linux - First steps with Ubuntu
Get to know linux - First steps with Ubuntu
 

Viewers also liked

Find and Locate: Two Commands
Find and Locate: Two CommandsFind and Locate: Two Commands
Find and Locate: Two CommandsKevin OBrien
 
TMG Intro To Linux
TMG Intro To LinuxTMG Intro To Linux
TMG Intro To LinuxRichBos
 
Intro To Linux
Intro To LinuxIntro To Linux
Intro To Linuxtechlug
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linuxGiuseppe Piccolo
 
关于Linux的许多
关于Linux的许多关于Linux的许多
关于Linux的许多Yun Teng
 
Bash shell
Bash shellBash shell
Bash shellxylas121
 
Unix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell ScriptUnix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell Scriptsbmguys
 
An Introduction to Linux
An Introduction to LinuxAn Introduction to Linux
An Introduction to Linuxanandvaidya
 
Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in DetailDamian T. Gordon
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network securitypatisa
 

Viewers also liked (17)

Find and Locate: Two Commands
Find and Locate: Two CommandsFind and Locate: Two Commands
Find and Locate: Two Commands
 
Ubuntu installation
Ubuntu installationUbuntu installation
Ubuntu installation
 
TMG Intro To Linux
TMG Intro To LinuxTMG Intro To Linux
TMG Intro To Linux
 
Linux Intro
Linux   IntroLinux   Intro
Linux Intro
 
Intro To Linux
Intro To LinuxIntro To Linux
Intro To Linux
 
Encryption basics
Encryption basicsEncryption basics
Encryption basics
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linux
 
关于Linux的许多
关于Linux的许多关于Linux的许多
关于Linux的许多
 
Scripting and the shell in LINUX
Scripting and the shell in LINUXScripting and the shell in LINUX
Scripting and the shell in LINUX
 
Bash shell
Bash shellBash shell
Bash shell
 
Linux intro 1 definitions
Linux intro 1  definitionsLinux intro 1  definitions
Linux intro 1 definitions
 
Ubuntu – Linux Useful Commands
Ubuntu – Linux Useful CommandsUbuntu – Linux Useful Commands
Ubuntu – Linux Useful Commands
 
Unix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell ScriptUnix/Linux Basic Commands and Shell Script
Unix/Linux Basic Commands and Shell Script
 
An Introduction to Linux
An Introduction to LinuxAn Introduction to Linux
An Introduction to Linux
 
Cryptography
CryptographyCryptography
Cryptography
 
Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in Detail
 
Cryptography and network security
Cryptography and network securityCryptography and network security
Cryptography and network security
 

Similar to Introduction to linux

Similar to Introduction to linux (20)

Linux Information
Linux InformationLinux Information
Linux Information
 
Linux
LinuxLinux
Linux
 
L2(1).PPT
L2(1).PPTL2(1).PPT
L2(1).PPT
 
Chapter 8 - nsa Introduction to Linux.ppt
Chapter 8 -  nsa Introduction to Linux.pptChapter 8 -  nsa Introduction to Linux.ppt
Chapter 8 - nsa Introduction to Linux.ppt
 
Introduction to Linux for Windows Users
Introduction to Linux for Windows UsersIntroduction to Linux for Windows Users
Introduction to Linux for Windows Users
 
Linux
Linux Linux
Linux
 
Linux forensics
Linux forensicsLinux forensics
Linux forensics
 
Linux is a unix
Linux  is a unixLinux  is a unix
Linux is a unix
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Linux basics
Linux basicsLinux basics
Linux basics
 
Linux; Operating System
Linux; Operating SystemLinux; Operating System
Linux; Operating System
 
Programming and problem solving 3
Programming and problem solving 3Programming and problem solving 3
Programming and problem solving 3
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux technology
Linux technologyLinux technology
Linux technology
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
 
Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 
Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 
Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 
Ppt af linux
Ppt af linuxPpt af linux
Ppt af linux
 

More from Kevin OBrien

Diffie_Hellman-Merkle Key Exchange
Diffie_Hellman-Merkle Key ExchangeDiffie_Hellman-Merkle Key Exchange
Diffie_Hellman-Merkle Key ExchangeKevin OBrien
 
Password best practices and the last pass hack
Password best practices and the last pass hackPassword best practices and the last pass hack
Password best practices and the last pass hackKevin OBrien
 
Linux Directory Structure
Linux Directory StructureLinux Directory Structure
Linux Directory StructureKevin OBrien
 
Hardware Discovery Commands
Hardware Discovery CommandsHardware Discovery Commands
Hardware Discovery CommandsKevin OBrien
 
Help, my computer is sluggish
Help, my computer is sluggishHelp, my computer is sluggish
Help, my computer is sluggishKevin OBrien
 
Installing Software, Part 2: Package Managers
Installing Software, Part 2: Package ManagersInstalling Software, Part 2: Package Managers
Installing Software, Part 2: Package ManagersKevin OBrien
 
Installing Linux: Partitioning and File System Considerations
Installing Linux: Partitioning and File System ConsiderationsInstalling Linux: Partitioning and File System Considerations
Installing Linux: Partitioning and File System ConsiderationsKevin OBrien
 
The ifconfig Command
The ifconfig CommandThe ifconfig Command
The ifconfig CommandKevin OBrien
 
The Shell Game Part 4: Bash Shortcuts
The Shell Game Part 4: Bash ShortcutsThe Shell Game Part 4: Bash Shortcuts
The Shell Game Part 4: Bash ShortcutsKevin OBrien
 
The Shell Game Part 3: Introduction to Bash
The Shell Game Part 3: Introduction to BashThe Shell Game Part 3: Introduction to Bash
The Shell Game Part 3: Introduction to BashKevin OBrien
 
The Shell Game Part 2: What are your shell choices?
The Shell Game Part 2: What are your shell choices?The Shell Game Part 2: What are your shell choices?
The Shell Game Part 2: What are your shell choices?Kevin OBrien
 
The Shell Game Part 1: What is a shell?
The Shell Game Part 1: What is a shell?The Shell Game Part 1: What is a shell?
The Shell Game Part 1: What is a shell?Kevin OBrien
 

More from Kevin OBrien (18)

American icon pmi
American icon   pmiAmerican icon   pmi
American icon pmi
 
Tls 1.3
Tls 1.3Tls 1.3
Tls 1.3
 
Forward Secrecy
Forward SecrecyForward Secrecy
Forward Secrecy
 
Diffie_Hellman-Merkle Key Exchange
Diffie_Hellman-Merkle Key ExchangeDiffie_Hellman-Merkle Key Exchange
Diffie_Hellman-Merkle Key Exchange
 
Password best practices and the last pass hack
Password best practices and the last pass hackPassword best practices and the last pass hack
Password best practices and the last pass hack
 
SSL certificates
SSL certificatesSSL certificates
SSL certificates
 
Passwords
PasswordsPasswords
Passwords
 
Linux Directory Structure
Linux Directory StructureLinux Directory Structure
Linux Directory Structure
 
Hardware Discovery Commands
Hardware Discovery CommandsHardware Discovery Commands
Hardware Discovery Commands
 
Help, my computer is sluggish
Help, my computer is sluggishHelp, my computer is sluggish
Help, my computer is sluggish
 
The ps Command
The ps CommandThe ps Command
The ps Command
 
Installing Software, Part 2: Package Managers
Installing Software, Part 2: Package ManagersInstalling Software, Part 2: Package Managers
Installing Software, Part 2: Package Managers
 
Installing Linux: Partitioning and File System Considerations
Installing Linux: Partitioning and File System ConsiderationsInstalling Linux: Partitioning and File System Considerations
Installing Linux: Partitioning and File System Considerations
 
The ifconfig Command
The ifconfig CommandThe ifconfig Command
The ifconfig Command
 
The Shell Game Part 4: Bash Shortcuts
The Shell Game Part 4: Bash ShortcutsThe Shell Game Part 4: Bash Shortcuts
The Shell Game Part 4: Bash Shortcuts
 
The Shell Game Part 3: Introduction to Bash
The Shell Game Part 3: Introduction to BashThe Shell Game Part 3: Introduction to Bash
The Shell Game Part 3: Introduction to Bash
 
The Shell Game Part 2: What are your shell choices?
The Shell Game Part 2: What are your shell choices?The Shell Game Part 2: What are your shell choices?
The Shell Game Part 2: What are your shell choices?
 
The Shell Game Part 1: What is a shell?
The Shell Game Part 1: What is a shell?The Shell Game Part 1: What is a shell?
The Shell Game Part 1: What is a shell?
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Introduction to linux

  • 1. Intro to Linux Kevin B. O'Brien Washtenaw Linux Users Group http://www.lugwash.org http://www.zwilnik.com
  • 2. What is an OS? 1  First computers had no OS  They ran a program and data, prepared for specific hardware  Ran one “job” at a time  Time-sharing is what led to first OS 2
  • 3. What is an OS? 2  These OS’s managed the hardware, scheduled the jobs, and contained “runtime libraries”  Usually written in machine language 3
  • 4. Unix  Developed at Bell Labs in late 1960s  Owned by AT&T at the time, which meant you had to buy it once AT&T figured out it was valuable  Written in C (a high level language)  Needs to be compiled to run  Can be easily moved to a different system by re-compiling for new hardware 4
  • 5. BSD 1  In 1973 UC Berkeley acquired a license on favorable terms.  In 1977 Bill Joy (grad student at the time) released the first version of Berkeley Software Distribution (BSD). This becomes pretty much free to anyone who wants it. 5
  • 6. BSD 2  In 1990s legal battle between U C Berkeley and an AT&T subsidiary, BSD becomes legally free.  BSD is in some sense “real” Unix. It uses code that can be traced back to Bell Labs.  Has since split into various flavors (FreeBSD, NetBSD, OpenBSD) 6
  • 7. GNU Project 1  Richard M Stallman (rms) was a programmer at MIT, which had a hacker ethos  Became very upset at rise of proprietary software that cannot be modified or hacked. 7
  • 8. GNU Project 2  Founded GNU project in September 1983 to create a Unix “clone” with 100% free code.  Founded Free Software Foundation, and ultimately the GNU Public License (GPL), now in version 3 8
  • 9. GNU Project 3  GNU project starts with developing the tools need to create an OS: compiler (GCC), text editor (Emacs), debugger, build automator. But still no kernel. Hurd, the proposed kernel, was started in 1990, but progress was slow. 9
  • 10. Linux 1  Linus Torvalds, Finnish computer student, wanted a simple OS for his computer.  Looked at Minix, a very simple “Unix-like” OS. Hurd is still nowhere near ready  The owner of Minix, Andrew Tanenbaum, would not make the changes people wanted to Minix 10
  • 11. Linux 2  Linus decides to make his own version, and is quite happy to work with others to make changes that people want. Post to Usenet in August 1991 11
  • 12. Linux 3  Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash (1.08) and gcc(1.40),and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. 12
  • 13. Linux 4  Linus uses GNU tools, and ultimately releases his OS, which became known as Linux, under the GPL in December 1992. 13
  • 14. Kernel 1  What Linus wrote was a kernel 14
  • 15. Kernel 2  “Typically, a kernel (or any comparable center of an operating system) includes an interrupt handler that handles all requests or completed I/O operations that compete for the kernel's services, a scheduler that determines which programs share the kernel's processing time in what order, and a supervisor that actually gives use of the computer to each process when it is scheduled. A kernel may also include a manager of the operating system's address spaces in memory or storage, sharing these among all components and other users of the kernel's services. A kernel's services are requested by other parts of the operating system or by application programs through a specified set of program interfaces sometimes known as system calls.” (http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci 212439,00.html) 15
  • 16. Kernel 3  The latest stable Linux kernel is currently 2.6.26 (as of early 2009)  Linus himself has remained almost entirely concerned with the kernel  Other necessary programs come from other developers 16
  • 17. Shell 1  This is the part of the OS that interacts with the user  This does not generally refer to Graphical User Interfaces (GUI), but to command line interfaces (CLI)  Examples are Bourne Shell (sh), Bourne- Again shell (bash), Korn shell (ksh), and C shell (csh) 17
  • 18. Shell 2  These are somewhat similar to the DOS COMMAND.COM, and its Windows successor CMD.EXE. They have a list of built-in commands and capabilities that you can use 18
  • 19. X1  As Xerox PARC first showed, and Macintosh then made very clear, graphical interfaces are easier for most people to use  The basic need for a GUI as it is currently conceived is a windowing system, that is, software to draw windows on the screen 19
  • 20. X2  A program called “W”, for window, was written at Stanford, and then ported to Unix  At MIT, this was developed further and became “X” (the letter after W)  By 1987 X had gotten to version 11, which was released as free software (X11) 20
  • 21. X3  X is only the basis. Many window managers have been written using the underlying code of X (e.g. Enlightenment, Fluxbox, Metacity, WindowMaker) 21
  • 22. Wayland  But X is old, and hard to use for modern 3D systems  So Wayland is the next graphical environment  Scheduled to appear in Ubuntu 11.10 and Fedora 15 22
  • 23. Desktop Environment 1  Same thing as a GUI, to start with, but now goes much further  Lets you interact with the computer in other ways than through the command line shell  Develops from the first window managers, but goes much further 23
  • 24. Desktop Environment 2  Has the ability to configure the appearance of the screen in various ways (e.g. color schemes, themes, icons)  Has started to include more and more software programs (particularly Gnome and KDE). This is not necessarily a good thing (bloat). Examples include their own built-in Web browsers, text editors, and games 24
  • 25. Desktop Environment 3  Gnome is considered somewhat more like Macintosh  KDE is considered somewhat more like Windows  XFce is less bloated, and should be a little snappier, particularly on older hardware. It is, however, an order of magnitude larger than a simple Window manager. 25
  • 26. Comparison to Windows 1  Windows also has a kernel. They just don’t talk about it much. But any OS has to handle the basic things a kernel handles.  Windows also has a shell, but only one. You have no choice.  Windows “shell” is more limited. And most Windows users have rarely if ever used it. 26
  • 27. Comparison to Windows 2  Linux’s shells are robust, and can do anything you need them to do.  You can use a simple Window manager, which could let you run a system on older hardware or conserve system resources, if you are in Linux. Windows does not give you any options. 27
  • 28. Comparison to Windows 3  Windows has one Desktop Environment. You do not get to choose. And it is definitely bloated. 28
  • 29. Distributions 1  Linux has a variety of distributions, which are called distros.  The oldest is MCC Interim Linux, begun in February 1992  There are now hundreds of distros. If you don’t see one you like, start your own.  29
  • 30. Distributions 2  Distros have a variety of components, and how and what they select is the main distinction among different distros  Kernel: Every distro will have a kernel, usually the latest stable version at the time the distro is released. But over time a distro like Debian, which is notably slow to update, will fall behind the latest version. A distro like Ubuntu, which releases a new version every 6 months, is more likely to have the latest version of the kernel 30
  • 31. Distributions 3  Shell: Every distro will have a selection of shells available (and you can always install any that are missing). By default, most distros install the bash shell in their initial installation. 31
  • 32. Distributions 4  Drivers: These let your kernel/OS work with peripheral equipment, like video cards, sound cards, mice, monitors, printers, etc. The key issue here is whether the drivers are open source (i.e. the source code has been released for anyone to look at and modify) or proprietary (the drivers are kept secret by an owner). This is currently a big issue in the Linux community. Any change to the kernel in any OS could potentially render some equipment unusable. If the drivers are open source, the Linux developer community can usually fix the problem very quickly, but if they are proprietary, you are at the mercy of an owner somewhere who may not consider it a priority to fix the problem. 32
  • 33. Distributions 5  Utilities: Every distro will include a variety of utilities. Many of these come from the GNU Project, such as GCC and Emacs. Others come from a variety of developers all over the world. 33
  • 34. Distributions 6  Codecs: In this day of multimedia computing, the codecs (Coder-Decoder) used for sound and video are very important. Some codecs are free and open (like ogg vorbis (sound) and ogg theora (video)) and others are proprietary (like MP3, owned by Fraunhofer). And DVDs are recorded in closed codecs). Some distros will only include software (including codecs) that is free and open (e.g. PhatLinux), other include proprietary stuff right out of the box (e.g. Linspire). Many take a middle ground; they don’t install it right away, but make it easy for you to install if you decide to do so (e.g. Ubuntu) 34
  • 35. Distributions 7  Other software: These days, most distros will include a lot of other software as well. Examples include Web browsers like Firefox, office productivity suites like OpenOffice.org, media players, CD Burning software, etc. And pretty much every major distro makes it easy to add software and offers a wide variety of free and open source software to fit any need most people have. 35
  • 36. Software Installation 1  Linux gives you access to a wide variety of software packages  Installation can take a variety of forms depending on the distro and the package 36
  • 37. Software Installation 2  Repositories are online collections of software maintained by various companies, developers, etc. You can download software from these repositories and install it on your computer at any time. 37
  • 38. Software Installation 3  Package Managers are utilities in each distro that let you easily access these repositories and handle the downloading and installing for you. These package managers deal with pre-compiled code, or binaries, which means that the code is already in the form that the computer needs to install it. This is pretty much the same as you would have with Windows installation software. 38
  • 39. Software Installation 4  Every modern OS has found it preferable to use libraries of code that can be shared by a variety of different software programs. In Windows, these are called DLL files (Dynamic Link Libraries). In Linux, we frequently call them Libraries. 39
  • 40. Software Installation 5  In Windows, these DLL files are often included with the software itself, and are installed at the same time as the program. In Linux, these are usually kept separate, and are called dependencies. In Windows, you can get into trouble when one program overwrites the DLL installed previously by another program with a different version number, sometimes breaking the other program. In Linux, this cannot happen accidentally if you are careful, but you need to watch out for this. 40
  • 41. Software Installation 6  Package Managers will help you by checking for any dependencies that need to be met. Many of them will even automatically go to the repository, download, and install any software programs or libraries you need to run the software program you are interested in as part of the installation process. This depends on being able to find the other programs or libraries in the repositories. If they cannot find these other programs or libraries, they will give you a message telling you which dependencies could not be met, and you can attempt to find the missing piece(s) on the Internet. 41
  • 42. Software Installation 7  Compiling from Source Code: Sometimes a pre-compiled binary is not available. Other times, you find the pre-compiled binary is not as good with your hardware as it could be. The answer is to download the source code, configure it, and compile it for yourself with your own hardware settings. This is not something a beginner would be likely to do right away, but it is not that hard. 42