Installing Debian/GNU Linux, Part II

This document describes the process for installing the operating system software and other externally developed software on our parallel cluster.

This procedure assumes that you have completed Installing Debian/GNU Linux, Part I Installing the Debian Linux Kernel from Floppy Diskettes, and is a continuation of that procedure. It also assumes that you have a connection to the internet, and that your machine is on.

Part II: Installing Debian Software Packages Using dselect

  1. Log in as root using your athenax password.

  2. Verify that your machine is configured correctly to access the internet. Try the command:
    ping ftp.eecs.umich.edu
    

    Let it run for a few seconds, and type CTRL-C (hold the Ctrl-key down and type the C-key). You should see something like this:

    PING bigfoot.eecs.umich.edu (141.213.4.21): 56 data bytes
    64 bytes from 141.213.4.21: icmp_seq=0 ttl=245 time=115.1 ms
    64 bytes from 141.213.4.21: icmp_seq=1 ttl=245 time=151.9 ms
    64 bytes from 141.213.4.21: icmp_seq=2 ttl=245 time=99.9 ms
    64 bytes from 141.213.4.21: icmp_seq=3 ttl=245 time=114.5 ms
    
    --- bigfoot.eecs.umich.edu ping statistics ---
    4 packets transmitted, 4 packets received, 0% packet loss
    round-trip min/avg/max = 99.9/120.3/151.9 ms
    

    If you don't see a stream of lines that look like the above, coming at you 1 per second, contact Jim Garlick before you proceed. There may be something wrong with the network configuration on your machine, or there may be something wrong with the network itself.

  3. Type dselect to invoke the Debian package selection and installation utility.
    $ dselect
    
    You should get a screen that looks something like this:
    Debian Linux `dselect' package handling frontend.
    
     * 0. [A]ccess      Choose the access method to use.
       1. [U]pdate      Update list of available packages, if possible.
       2. [S]elect      Request which packages you want on your system.
       3. [I]nstall     Install and upgrade wanted packages.
       4. [C]onfig      Configure any packages that are unconfigured.
       5. [R]emove      Remove unwanted software.
       6. [Q]uit        Quit dselect.
    
    Use ^P and ^N, cursor keys, initial letters, or digits to select;
    Press ENTER to confirm selection.   ^L to redraw screen.
    
    Version 1.4.0.33 (i386 elf).  Copyright (C) 1994-1996 Ian Jackson.   This is
    free software; see the GNU General Public Licence version 2 or later for
    copying conditions.  There is NO warranty.  See dselect --licence for details.
    

  4. Type the Enter key to select Access. You will use this to tell dselect where to find the Debian packages you'll need. You should see a screen that looks like this:
    dselect - list of access methods
      Abbrev.        Description
      cdrom          Install from a CD-ROM.
      multi_cd       Install from a CD-ROM set.
      nfs            Install from an NFS server (not yet mounted).
      multi_nfs      Install from an NFS server (using the CD-ROM set) (not yet moun
      harddisk       Install from a hard disk partition (not yet mounted).
      mounted        Install from a filesystem which is already mounted.
      multi_mount    Install from a mounted partition with changing contents.
      mountable      Install from a partition named in fstab
      floppy         Install from a pile of floppy disks.
      apt            APT Acquisition [file,http,ftp]
    Access method `cdrom'.
    cdrom - Install from a CD-ROM.
    
    Installation from a CD-ROM containing a Debian distribution.  The CD-ROM
    may be or not be mounted already; it should contain a standard ISO9660
    CD-ROM filesystem.
    
    
    
    
    
    explanation of cdrom
    

  5. Cursor down to the line that reads "apt", and hit the enter key.

  6. You may be prompted for whether you want to change your source list. You should indicate Yes, you want to change your source list.

  7. You will be prompted to enter a URL for a source list. Enter:
    ftp://ftp.eecs.umich.edu/debian
    

    This is one of the mirror sites for ftp://ftp.debian.org/debian. We're using a mirror site because it gets a lot less traffic than the main site. I've found this particular mirror to be highly reliable. For example:

     Please give the base URL of the debian distribution.
     The access schemes I know about are: http ftp file
    
     For example:
                  file:/mnt/debian,
                  ftp://ftp.debian.org/debian,
                  http://ftp.de.debian.org/debian,
    
    
     URL [http://llug.sep.bnl.gov/debian]: ftp://ftp.eecs.umich.edu/debian
    

  8. You will be prompted to enter the name of a distribution. Enter frozen as the name of the distribution. For example:
     Please give the distribution tag to get or a path to the
     package file ending in a /. The distribution
     tags are typically something like: stable unstable frozen non-US
    
     Distribution [stable]: frozen
    

  9. You will be prompted to enter the name of a collection of components (sets of packages). We're only using stuff that's in the main component of Debian.
     Please give the components to get
     The components are typically something like: main contrib non-free
    
     Components [main contrib non-free]: main
    

  10. You will be prompted for whether you'd like to add another source. Say N.
     Would you like to add another source?[y/N] n
    

  11. After choosing a means for accessing debian packages, you should use the Update feature to update the list of available packages. You should be looking at screen similar to this:
    Debian Linux `dselect' package handling frontend.
    
       0. [A]ccess      Choose the access method to use.
     * 1. [U]pdate      Update list of available packages, if possible.
       2. [S]elect      Request which packages you want on your system.
       3. [I]nstall     Install and upgrade wanted packages.
       4. [C]onfig      Configure any packages that are unconfigured.
       5. [R]emove      Remove unwanted software.
       6. [Q]uit        Quit dselect.
    
    Use ^P and ^N, cursor keys, initial letters, or digits to select;
    Press ENTER to confirm selection.   ^L to redraw screen.
    
    Version 1.4.0.33 (i386 elf).  Copyright (C) 1994-1996 Ian Jackson.   This is
    free software; see the GNU General Public Licence version 2 or later for
    copying conditions.  There is NO warranty.  See dselect --licence for details.
    

    Use the Enter key to select the Update option.

  12. dselect will now download the list of available packages the site and for the distribution, and component(s) you selected earlier. You should see something like this go by on the screen.
    Fetched 490k in 13s (37.4k/s)
    Updating package file cache...done
    Updating package status cache...done
    Checking system integrity...ok
    Merging Available information
    Replacing available packages info, using /var/cache/apt/available.
    Information about 2254 package(s) was updated.
    

  13. After updating the list of available packages, you will now use the Select feature to pick a few specific packages to install. You should be looking at screen similar to this:
    Debian Linux `dselect' package handling frontend.
    
       0. [A]ccess      Choose the access method to use.
       1. [U]pdate      Update list of available packages, if possible.
     * 2. [S]elect      Request which packages you want on your system.
       3. [I]nstall     Install and upgrade wanted packages.
       4. [C]onfig      Configure any packages that are unconfigured.
       5. [R]emove      Remove unwanted software.
       6. [Q]uit        Quit dselect.
    
    Use ^P and ^N, cursor keys, initial letters, or digits to select;
    Press ENTER to confirm selection.   ^L to redraw screen.
    
    Version 1.4.0.33 (i386 elf).  Copyright (C) 1994-1996 Ian Jackson.   This is
    free software; see the GNU General Public Licence version 2 or later for
    copying conditions.  There is NO warranty.  See dselect --licence for details.
    

    Use the Enter key key to choose Select.

  14. You will now enter a powerful but at-first-confusing feature of Debian. Read the help screens to get an idea of what's going on. Eventually, type the Space bar to bring up the Debian Package Selection screen. You should see something that looks a little like this:
    EIOM Pri Section  Package      Inst.ver    Avail.ver   Description
        - All packages -
        --- Up to date installed packages ---
        ----- Up-to-date Required packages -----
        ------- Up-to-date Required packages in section base -------
     *** Req base     adduser      3.8         3.8         Add users and groups to t
     *** Req base     ae           962-21.1    962-21.1    Anthony's Editor -- a tin
     *** Req base     base-files   2.1.0       2.1.0       Debian Base System Miscel
     *** Req base     base-passwd  2.0.3.3     2.0.3.3     Debian Base System Passwo
     *** Req base     bash         2.01.1-4.1  2.01.1-4.1  The GNU Bourne Again SHel
     *** Req base     bsdutils     4.4.1.1     4.4.1.1     Basic utilities from 4.4B
    All packages
    The line you have highlighted represents many packages; if you ask to
    install, remove, hold, &c it you will affect all the packages which match
    the criterion shown.
    
    If you move the highlight to a line for a particular package you will see
    information about that package displayed here. You can use `o' and `O' to
    change the sort order and give yourself the opportunity to mark packages in
    different kinds of groups.
    
    
    description
    

    Your screen will actually look very different, but will have similar columns, and list similar packages. Feel free to scroll around, but don't add or remove any packages, except the added in the next few steps.

  15. Type the / (slash) key. This puts you into a search mode.

  16. Type the letters pvm, followed by the Enter key. This is the string you're telling dselect to search for in the name of a package. You should see a display in which the current record is the one containing the "pvm" package, followed by the one containing the "pvm-dev" package.
    EIOM Pri Section  Package      Inst.ver    Avail.ver   Description
        ------- Up-to-date Extra packages in section devel -------
     *** Xtr devel    pvm          3.4beta7-3  3.4beta7-3  Parallel Virtual Machine
     *** Xtr devel    pvm-dev      3.4beta7-3  3.4beta7-3  Parallel Virtual Machine
        --- Available packages (not currently installed) ---
        ----- Available Optional packages -----
        ------- Available Optional packages in section admin -------
      __ Opt admin    acct               6.3.5-4     The GNU Accounting utilit
      __ Opt admin    adjtimex           1.6-2       Utility to display or set
      __ Opt admin    boot-floppie       2.1.7       Scripts to create the Deb
      __ Opt admin    cfengine           1.4.12-4    Tool for configuring and
    pvm          installed;  install (was: install).  Extra
    pvm - Parallel Virtual Machine - binaries and shared libraries
    
    Console and communication daemon binaries for the Parallel Virtual Machine.
    Should be sufficient to utilize a node in a dynamically linked PVM program
    such as pvmpov.
    
    
    
    
    
    description of pvm
    

    Your screen will look a little different (because you haven't installed pvm yet), but this is a close approximation of what you'll see.

  17. Hold the Shift key down and type the + key while the cursor is positioned on the pvm package. This package contains the parts of pvm needed to execute pvm programs.

    You should notice that the screen scrolls a little and you are now positioned on the pvm-dev package.

  18. Now, hold the Shift key down and type the + key while the cursor is positioned on the pvm-dev package. This package contains the parts of pvm needed to develop pvm programs.

    Again, you should notice that the screen scrols a little, and that you have selected the "pvm" and "pvm-dev" packages for installation.

  19. Now, simply type the Enter key. After a few seconds You should see the by now familiar deselect menu:
    Debian Linux `dselect' package handling frontend.
    
       0. [A]ccess      Choose the access method to use.
       1. [U]pdate      Update list of available packages, if possible.
       2. [S]elect      Request which packages you want on your system.
     * 3. [I]nstall     Install and upgrade wanted packages.
       4. [C]onfig      Configure any packages that are unconfigured.
       5. [R]emove      Remove unwanted software.
       6. [Q]uit        Quit dselect.
    
    Use ^P and ^N, cursor keys, initial letters, or digits to select;
    Press ENTER to confirm selection.   ^L to redraw screen.
    
    Version 1.4.0.33 (i386 elf).  Copyright (C) 1994-1996 Ian Jackson.   This is
    free software; see the GNU General Public Licence version 2 or later for
    copying conditions.  There is NO warranty.  See dselect --licence for details.
    

    Type the Enter key to select Install.

  20. You will now see a long list of packages (word wrapped across the screen)
    Updating package status cache...done
    Checking system integrity...ok
    ...
    16 packages upgraded, 88 newly installed, 0 to remove and 0 not upgraded.
    Do you want to continue [Y/n]?
    

    If you see any numbers besides 16, 88, 0, and 0 in your message, STOP NOW AND DO NOT PROCEED ANY FURTHER (enter N and quit from dselect).

    If you see the number 16, 88, 0, and 9, you may proceed.

    Enter Y to indicate that you would like to continue.

  21. You will now wait for a long time to download a number of packages. this should take about 30 to 90 minutes depending on Earlham's network load. Once you see the list of packages downloading, you may want to take a break.

  22. After the the packages have been downloaded, dselect will begin installing them, one-by-one, in an order that it determines to be efficient.

    While doing so, you may be asked a number of questions. In general, you will be able to accept the default response by simply typing the Enter key.

  23. While installing the motd package, you may be asked whether you want to keep or replace /etc/motd. You should type the Enter key to keep the current /etc/motd file.

  24. While installing the lilo package, you may be asked whether you want to do keep your current lilo.conf, and whether you want to update the boot sector on your hard disk. You should type the Enter key several times to accept the defaults here.

  25. While installing the gpm (general purpose mouse) package, you may be asked whether you want to change the mouse configuration. You should enter N here.

  26. While installing the exim mailer package (or some other mailer package), you will be asked for a style of mail configuration. Pick option 3 for satelite system. You will be prompted for a few other things, for which you may take the defaults. When asked for the name of the system to which all mail should be directed, enter cs.earlham.edu. Finally, you should enter N to indicate that you are done making changes to this configuration.

  27. While installing the ispell spelling checking package, you will be asked which dictionary you prefer as the default dictionary. Enter 1 for American.

  28. When all the packages have been configured, there is one that will have been "left out", called gettext. This is due to a pair of interdependencies between modules that dselect couldn't resolve. When you get back to the familiar dselect menu, pick the Install option again, and this will then install the final package.

  29. When it comes 'round, pick the Configure option.

    There should be no packages which require further post-installation configuration.

  30. When it comes 'round, pick the Remove option.

    There should be no packages which were configured for removal.

  31. When it comes 'round, pick the Quit option.

Congratulations! You've installed everything you need to compile and run PVM programs on your node of our cluster.

There are, however, a few things you may want to do to configure your machine.

  1. Log out of the root account.

  2. Log in to the pvm user with password pvm123.

  3. Create a pvm3 directory there and set default to that pvm3 directory.
    $ mkdir pvm3
    $ cd pvm3
    

  4. Extract the sample programs in the pvm3 direcotry:
    $ tar -xzf /usr/doc/pvm/examples.tar.gz
    

  5. Compile a couple of programs:
    $ cd examples
    $ aimk hello hello_other
    

  6. Start pvm and try running the hello program:
    $ pvm
    pvm> spawn -> hello
    

With any luck, you've got a fully functional node for our PVM cluster.

Copyright © 1999, Ray Ontko (rayo@ontko.com).
If you're curious about why I copyright, see Peter Suber's Why Copyright Web Documents?.