LIS651 lecture 5 history and use of GNULinux - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

LIS651 lecture 5 history and use of GNULinux

Description:

... securely login to a host machine. ... Machine then knows how to send me messages that other people can not decode. ... Answer all questions with the ENTER key. ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 56
Provided by: open2
Category:

less

Transcript and Presenter's Notes

Title: LIS651 lecture 5 history and use of GNULinux


1
LIS651 lecture 5history and use of GNU/Linux
  • Thomas Krichel
  • 2009-04-26

2
Early Computing History
  • In the 1940s and 1950s, all computers were
    personal computers in the sense that a user would
    sign up to use the machine and then take over the
    whole machine for that period.
  • The early 1960s were dominated by batch systems
    in which a user would submit a job on punched
    cards and wait, usually hours, before any printed
    output appeared.

3
Early Computing History
  • To get around this unproductive environment, the
    concept of timesharing was invented by Dartmouth
    College and M.I.T.
  • The M.I.T system CTSS (Compatible Time Sharing
    System) was an enormous success.
  • M.I.T., Bell Labs, and General Electric created a
    second generation timesharing system named
    MULTICS (Multiplexed Information and Computing
    Service).

4
Early UNIX History
  • At Bell Labs, Ken Thompson decided to write a
    stripped down version of MULTICS for the very
    small PDP-7 minicomputer which he called UNICS.
  • Dennis Ritchie, also at Bell Labs, joined
    Thompson in further developments of what was now
    called UNIX.
  • Together they ported the system the the larger
    and very popular PDP-11/20 and PDP-11/45
    minicomputers.

5
Early UNIX History
  • In 1974, Ritchie and Thompson published a paper
    about UNIX and received the prestigious ACM
    Turing Award.
  • This publication stimulated many universities to
    request a copies of UNIX.
  • Since Bell Labs, part of ATT, was not allowed
    to be in the computer business, it licensed UNIX
    to universities.
  • Result UNIX was a hit on campus.

6
UNIX Structure
  • The kernel is the core of the UNIX system,
    controlling the system hardware and performing
    various low-level functions. The other parts of
    the UNIX system, as well as user programs, call
    on the kernel to perform services for them.
  • The shell is the command interpreter for the UNIX
    system. The shell accepts user commands and is
    responsible for seeing that they are carried out.

7
BSD UNIX
  • One of the many universities that had received
    license for UNIX was the University of California
    at Berkeley.
  • Aided by many government grants, Berkeley
    released an improved version named 1BSD (First
    Berkeley Software Distribution)?
  • BSD added many new features including a new
    visual editor (vi) and a new shell (csh).

8
Two UNIX Versions
  • Because of these and other enhancements, many
    companies based their UNIX on Berkeleys version
    as opposed to ATTs so-called System V.
  • By the late 1980s, two different and somewhat
    incompatible versions of UNIX were in widespread
    use 4.3 BSD and System V release 3.

9
UNIX Standards
  • In addition, every vendor added its own
    nonstandard enhancements.
  • In an attempt to unify the troops, the IEEE
    Standards Board undertook the POSIX Project (POS
    for Portable Operating System) and IX to make it
    UNIX like.
  • POSIX 1003.1 emerged as a common ground standard.
  • 1003.1 is the intersection of System V and BSD.
    (a feature had to be on both to be included in
    the standard)?

10
GNU
  • GNU is a project started by Richard M. Stallman
    (RMS) to write a completely free implementation
    of Unix available.
  • GNU stands for GNU is not Unix
  • Most of Unix has been rewritten by him and his
    friends.
  • Many other software packages have been released
    for free. Stallman pioneered a particular concept
    of free software.

11
free software according to RMS
  • Free software comes with four freedoms
  • The freedom to run the software, for any purpose
  • The freedom to study how the program works, and
    adapt it to your needs
  • The freedom to redistribute copies so you can
    help your neighbor
  • The freedom to improve the program, and release
    your improvements to the public, so that the
    whole community benefits

12
the GNU public license
  • Richard M. Stallman created the GNU public
    license.
  • The license restricts the right of software users
    to add restrictions on the use of derivative
    products.
  • The idea is that when you get free software, you
    can not restrict the freedom of users of
    derivative software.

13
UNIX-like Systems
  • MINIX, by Andrew Tanenbaum, used a microkernel
    design with only 1600 lines of C and 800 lines of
    assembler in its first version.
  • In 1991, a Finnish student named Linus Torvalds
    released another UNIX clone named Linux. It is a
    UNIX kernel for Intel processors.
  • FreeBSD is a competitor to Linux, started in 1993.

14
Linux
  • Linux is a monolithic UNIX kernel.
  • Linux quickly grew in size and functionality.
  • Version 1, shipped in 1994, contained about
    165,000 lines of code.
  • Version 2 in 1996 contained about 470,00 lines of
    C and 8000 lines of assembler.
  • Linux is released under the GNU public license,
    which, very basically means that anyone can copy
    and change it.

15
Linux Distributions
  • Linux itself is free. It is aggregated with
    installation and management tools, and many other
    software packages, and made available for a small
    fee by various vendors on CD.
  • These aggregates are known as distributions.
  • The one used by wotan is called Debian. It
    packages Linux with GNU software almost
    excusively.

16
communication with wotan
  • For file editing and manipulation, we use putty.
  • For file transfer, we use winscp.
  • Both are available on the web.
  • The protocol is ssh, the secure shell, based
    public-key cryptography.

17
installing putty
  • Go to your favorite search engine to search for
    putty.
  • If you have administrator rights install the
    installer version.
  • Since you have already installed winscp, you
    should have no further problems.

18
putty options
  • In the window/translation choose UTF-8, always.
  • Find out what the size of your screen is of
    screen that your are using for the font that you
    are using, and save that in your session.
  • For wotan, the port is 22, ssh.
  • You can choose to disable the annoying bell.

19
Diffie and Hellman (1978)?
  • Let P be the plaintext, C be the cyphertext. E()
    is the encryption key and D() is the decryption
    key.
  • Then we have public key cryptography if
  • 1. D(E(P))P
  • 2. D() can not be broken by chosen plaintext
    attack.
  • 3. Knowing E() will give you no clue about D().
  • E() can then be made public and is referred to as
    the public key, D() is the private key.
  • It is possible to find key pairs that have these
    properties.

20
Authentication
  • I want to securely login to a host machine.
  • I send the hast an encrypted message hey, I am
    Thomas, my public key is 7ni820g0...''
  • Machine then knows how to send me messages that
    other people can not decode.
  • But it can not be sure that it was me who sent
    the message. An intruder may have done that since
    me public key is public.
  • This problem is solved by challenge/response

21
challenge/response
  • To find out if I am the person that I claim to
    be, the machine encodes a random number, and
    challenges me to decode that number.
  • If I can decode the challenge, I must be the
    person whom I claim I am.

22
key creation
  • ssh-keygen is the command to use to create a
    key. Answer all questions with the ltENTERgt key.
  • cd .ssh and ls -l shows you the contents of
    the directory .ssh created in the first step.
  • The file id_rsa.pub has your public key.

23
authorized_keys
  • In .ssh, you can maintain a file
    authorized_keys that contains the public keys
    of all users you authorize to access the account,
    one line per user.
  • cp id_rsa.pub authorized_keys will authorize
    yourself. Then ssh user_at_wotan will allow you to
    login again as you on wotan.
  • You can also create a public key with putty.

24
issuing commands
  • While you are logged in, you talk to the computer
    by issuing commands.
  • Your commands are read by command line
    interpreter.
  • The command line interpreter is called a shell.
  • You are using the Bourne Again Shell, bash.

25
bash features
  • bash allows to browse the command history with
    the up/down arrow keys.
  • bash allows to edit commands with the left/right
    arrow keys.
  • You can complete command and file names with
    ltTABgt.
  • bash comes with a language of commands that
    allows to write batch files.
  • exit is the command to leave the shell.

26
environment variables
  • These are variables used by the shell.
  • Two important ones are
  • HOME your home directory
  • PATH the location where bash will search for
    executable files.
  • echo HOME will show you your home directory.
  • env is a command that can be used to see all
    environment variables.

27
environment variables and PHP
  • All environment variables can be accessed with
    _ENV'env' in PHP, where env in the name of the
    environment variable.
  • Example
  • home_ENV'HOME'
  • print "my home is home.lt/brgt"

28
bash initialization
  • Files that start with a dot are hidden. They are
    only seen with ls -a.
  • .bashrc is a file written in bash language that
    is run every time bash is started.
  • .bash_profile or .profile is run when the shell
    is started at login.
  • You can customize these files.

29
files, directories and links
  • Files are continuous chunks data on disks that
    are required for software applications.
  • Directories are files that contain other files.
    Microsoft calls them folders.
  • In UNIX, the directory separator is /
  • The top directory is / on its own.

30
home directory
  • When you first log in to wotan you are placed in
    your home directory /home/username
  • cd is the command that gets you back to the
    home directory.
  • The home directory is also abbreviated as
  • cd user gets you to the home of user user.
  • cd does what?

31
/public_html
  • Is your web directory. I created it with mkdir
    public_html in your home directory.
  • The web server on wotan will map requests to
    http//wotan.liu.edu/user to show the file
    user/public_html/index.html
  • The web server will map requests to
    http//wotan.liu.edu/user/file to show the file
    user/public_html/file
  • The server will do this by virtue of a
    configuration option.

32
changing directory, listing files
  • cd directory changes into the directory directory
  • the current directory is .
  • its parent directory is ..
  • ls lists files

33
users and groups
  • root is the user name of the superuser.
  • The superuser has all privileges.
  • There are other physical users, i.e. persons
    using the machine
  • There are users that are virtual, usually created
    to run a daemon. For example, the web sever in
    run by a user www-data.
  • Arbitrary users can be put together in groups.

34
reason to run things on wotan
  • When your run PHP files as a web user, the web
    server runs the PHP file.
  • The web server runs as a special user, often
    called www-data.
  • This user is not allowed to create files.
  • Since file creation and manipulation is the
    essence of digital librarianship, we need to run
    directly on the machine.

35
permission model
  • Permission of files are given
  • to the owner of the file
  • to the group of the file
  • and to the rest of the world
  • A group is a grouping of users. Unix allows to
    define any number of groups and make users a
    member of it.
  • The rest of the world are all other users who
    have access to the system. That includes
    www-data!

36
listing files
  • ls lists files
  • ls -l make a long listing. It contains
  • elementary type and permissions (see next slide)?
  • owner
  • group
  • size
  • date
  • name

37
first element in ls -l
  • Type indicator
  • d means directory
  • l means link
  • - means ordinary file
  • 3 letters for permission of owner
  • 3 letters for permission of group
  • 3 letters for permission of rest of the world
  • r means read, w means write, x means execute
  • Directories need to be executable to get in them.

38
change permission chmod
  • usage chmod permission file
  • file is a file
  • permission is three numbers, first for owner, 2nd
    for group and 3rd rest of the world.
  • Each number is sum of
  • 4 for read - 2 for write
  • 1 for execute - 0 for no permission
  • Example chmod 764 file

39
general structure of commands
  • commandname flag --option
  • Where commandname is a name of a command
  • flag can be a letter
  • Several letters set several flags at the same
    time
  • An option can also be expressed with - - and a
    word, this is more user-friendly than flags.

40
example command ls
  • ls lists files
  • ls -l makes a long listing
  • ls -a lists all files, not only regular files but
    some hidden files as well
  • all files that start with a dot are hidden
  • ls -la lists all files is long listing
  • ls --all is the same as ls -a. --all is known as
    a long listing.

41
copying and removing files
  • cp file copyfile copies file file to file
    copyfile. If copyfile is a directory, it copies
    into the directory.
  • mv file movedfile moves file file to file
    movedfile. If movedfile is a directory, it moves
    into the directory.
  • rm file removes file, there is no recycling bin!!

42
directories and files
  • mkdir directory makes a directory
  • rmdir directory removes an empty directory
  • rm -r directory removes a directory and all its
    files
  • more file
  • Pages contents of file, no way back
  • less file
  • Pages contents of file, u to go back, q to
    quit

43
soft links
  • A link is a file that contain the address of
    another file. Microsoft call it a shortcut.
  • A soft link can be created with the command
  • ln -s file link_to_file where file is a file that
    is already there and link_to_file is the link.

44
file transfer
  • You can use winscp to upload and download files
    to wotan.
  • If uploaded files in the web directory remain
    invisible, that is most likely a problem with
    permission. Refer back to permissions.
  • chmod 644 will put it right for the files
  • chmod 755 . (yes with a dot) will put it right
    for the current directory
  • is a wildcard for all files.
  • rm -r is a command to avoid.

45
editing
  • There are a plethora of editors available.
  • For the neophyte, nano works best.
  • nano file edits the file file.
  • nano -w switches off line wrapping.
  • nano shows the commands available at the bottom
    of the screen. Note that letter, where letter is
    a letter, means pressing CONTROL and the letter
    letter at the same time.

46
emacs
  • This is another editor that is incredibly rich
    and complex.
  • Written by Richard M. Stallman, of GNU and GPL
    fame.
  • Get an emacs cheat sheet of the web before you
    start it. Or look at next slide.

47
emacs commands
  • (here stands for the control character)?
  • xs saves buffer
  • xc exits emacs
  • g escapes out of a troublesome situation
  • controlspace sets the mark
  • w removes until the mark (cut)?
  • y pastes

48
common emacs/bash commands
  • k kills until the end of the line or removes
    empty line
  • y yank what has been killed (paste)?
  • a get to the beginning of the line
  • e get to the end of the line
  • These commands also work in the shell.

49
emacs modes
  • Just like people get into different moods, emacs
    gets into different modes.
  • One mode that will split your pants is the PHP
    mode.
  • emacs file.php to edit the file file.php in PHP
    mode.
  • Then look how emacs checks for completion of
    parenthesis, braces, brackets, and the and use
    the tab character to indent.

50
copy and paste
  • Putty allows to copy and paste text between
    windows and wotan.
  • On the windows machine, it uses the windows
    approach to copy and paste
  • On wotan machine,
  • you copy by highlighting with the mouse left
    button
  • you paste using the middle button
  • if you don't have a middle button, use left and
    right together

51
creating a PHP file
  • To run PHP, edit a file with a name ending in
    .php (not required, but useful). Make the first
    lines.
  • !/usr/bin/php
  • lt?php
  • / PHP code goes here /
  • ?gt
  • The first line less Unix that it has to use PHP
    to run this file. The correct path to the PHP
    executable has to be given.

52
running a PHP file
  • You must chmod it executable by you, e.g.
  • chmod 755 my_file.php
  • where my_file.php is the name of the PHP file.
  • Then you can run. But you have to give it the
    full path.
  • ./my_file.php

53
running mySQL
  • You can run mySQL in command line mode in wotan.
    Type
  • mysql -u user -p
  • You will then be prompted for your password. The
    username and password are your mySQL user name
    and mySQL password, not your wotan user name and
    wotan password.
  • Dont forget the semicolon after each command!

54
login to SQL without password
  • You can create a special file .my.cnf in your
    home directory. In there, write something like
  • this is a file HOME/.my.cnf
  • client
  • user username
  • password password

55
http//openlib.org/home/krichel
  • Thank you for your attention!
  • Please switch off machines b4 leaving!
Write a Comment
User Comments (0)
About PowerShow.com