You are on page 1of 61

Linux for Researchers

University of Virginia
Research Computing Support
Group
April 17, 2002
Kathy Gerber

http://www.itc.virginia.edu/researchers/
Linux – An Operating System

• A kernel
• Surrounded by utilities and applications

• Strictly speaking, Linux is the kernel of a


Unix-like operating system originally
created by Linus Torvalds in 1991.
Timeline

• 1971 - The first edition of the Unix server operating system


emerges from Bell Labs.
• 1985 - Richard Stallman publishes his famous "GNU Manifesto",
one of the first documents of the open-source revolution.
• 1991 - In August, Torvalds announces his plans to create a free
operating system on the Minix users newsgroup. He modestly
notes in his posting that his OS is "just a hobby”. In October,
Linux 0.01 is released on the Internet under a GNU public license.
• 1993 – 100,000 users. Start of Slackware and Debian projects
• 1999 – 15,000,000+ users. RedHat IPO
How Linux Came to Be – Intentional
and Evolutionary

• "Linux, it turns out, was no intentional


masterstroke, but an incremental process, a
combination of experiments, ideas, and tiny scraps
of code that gradually coalesced into an organic
whole." - Glyn Moody, Wired

• “Once the system is at the edge of chaos, we are


bound to see surprises. Linux is one such system
that has come to dazzle us all. “ – Ko Kuwabara
Reading

• Free as in Freedom – by Sam Williams


• Search http://www.firstmonday.dk/ for linux.
• Eric Raymond
• Open Sources
Getting Linux

• Internet Download
• CDROM
• CDROM in a Book
• Pre-Installed
• Installfest
Which distribution?

• http://www.itc.virginia.edu/desktop/linux/support.html
• Our vendors’ software is standardized on
RedHat Linux, so RedHat is the best choice if
you anticipate making use of our resources.
• Otherwise, there are many choices.
Installation

• http://www.itc.virginia.edu/desktop/linux/linux
_admin.html
• Installfest – April 21, 2002 – CHUUG
• RedHat's Installation Page
• Dual Booting
• You’ll need to know your hardware – e.g., under
Win2K, Control Panel -> System-> Device
Manager. You can check against the RedHat
Compatibility List
RPMs, RHN, up2date

• http://www.rpm.org/
• http://rpmfind.net/
• rhn_register - Red Hat Network is an Internet
solution for managing one or more Red Hat Linux
systems. All Security Alerts, Bug Fix Alerts, and
Enhancement Alerts (collectively known as Errata
Alerts) can be retrieved directly from Red Hat.
• up2date - Agent to download the lastest software
packages for your system with optional package
installation
A Sample Partition Scheme
6GB Notebook - Rob Valliere
Device Partition Size (MB) Comments /dev/hda1

• /boot 40
• /dev/hda5 /home 1,000 User data
• /dev/hda6 /usr/local 1,000 Programs and data
• /dev/hda7 /usr 2,400 Programs and data
• /dev/hda8 /opt 400 Star Office installation
• /dev/hda9 / 300
• /dev/hda10 /var 400 Web/ SQL server data
• /dev/hda11 [swap] 200
• /dev/hda12 /tmp 100
(Partial) RedHat Directory Tree
/

/b o o t /u s r /h o m e /d e v /b in /e tc /s b in /v a r /t m p /r o o t /p r o c

/b in /u s e r1 /r c .d /lo c k

/in c lu d e /u s e r2 /lo g
.... / in i t .d

/lib e x e c /h ttp d /lib

/lib / x in e t .d /m a il

/lo c a l /w w w

/s b in

/s h a r e

/X 1 1 R 6
Shells

bash is an sh-compatible command


language interpreter that executes
commands read from the standard input or
from a file. Bash also incorporates useful
features from the Korn and C shells (ksh
and csh).

tcsh is an enhanced version of csh (the C


shell), with additional features such as
command history, filename completion, and
fancier prompts.
Starting Linux

Boot Manager
Kernel
Initialization Scripts
Login
Shell
Window Managers
Desktop
Applications
Security

• http://www.itc.virginia.edu/unixsys/sec/
• Linux Security at UVA
1. Turn off or uninstall any and all unnecessary services.
2. Make sure that any services that are installed are updated
and patched to the current, safe version -- and then stay that
way. Every server application has potential exploits. Some
have just not been found yet.
3. Limit connections to your machine from outside sources by
implementing a firewall and/or other restrictive policies. The
goal is to allow only the minimum traffic necessary for
whatever your individual situation may be.
Window Managers & Desktop
Environments
• Window Manager – controls appearance of
windows and the means to interact with
them
• Desktop Environment - more complete
interface to the operating system, and
supply their own range of integrated utilities
and applications.
• There are many choices for each.
KDE

• KDE is a powerful Open Source graphical desktop


environment for Unix workstations. It combines
ease of use, contemporary functionality, and
outstanding graphical design with the technological
superiority of the Unix operating system.
• Based on Trolltech’s Qt libraries.
Gnome

• The GNOME project has built a complete, free


and easy-to-use desktop environment for the user,
as well as a powerful application framework for
the software developer.
• Based on GTK+
• GNOME is part of the GNU project, and is free
software It is included in almost every BSD and
GNU/Linux distribution and works on many other
UNIX systems.
Editors

emacs vi pico

• Dozens (hundreds) of others are available.


• Explore a subset at http://www.linuxapps.com/
or http://home.xnet.com/~blatura/linapps.shtml
• Nedit
• Bluefish – an HTML editor
TeX

• http://www.itc.virginia.edu/research/latex.html
• TeX - TeX is a typesetting program designed for
high-quality composition of material that contains a
lot of mathematical and technical expressions. It has
been adopted by many authors and publishers who
generate technical books and papers.
Emulators

• Wine - Wine is an implementation of the


Windows APIs on top of Linux. It has the
ability to run PE format EXE and DLL files
and execute them natively under Linux.
• Vmware – commercial product
Mail Readers

• Pine – text based mail reader


• Sylpheed – mail and news
• Balsa - Balsa is an e-mail client for
GNOME. With an interface similar
to Eudora's
• Evolution – most like Outlook
• Kmail – KDE Mail Client
Webmin

• Webmin is a web-based interface for system


administration for Unix. Using any browser
that supports tables and forms (and Java for
the File Manager module), you can setup
user accounts, Apache, DNS, file sharing
and so on.
• http://www.webmin.com
Research Computing Software
http://www.itc.virginia.edu/desktop/linux/mount.html

 Maple 7
 Matlab 6.1
 IDL 5.5
 SAS 8.2 Screenshots
 S-PLUS 6
 Stata
 LabVIEW
IDL

• http://www.itc.virginia.edu/research/idl.html
• software for data analysis, visualization, and cross-platform
application development
• On-grounds in /common/rsi
• IDL users at the University can also run IDL from home
computers using the floating network licenses by first
establishing an internet connection through an Internet
Service Provider (ISP) so that the local IDL installation can
communicate with the license manager on ITC's Unix server.
LabVIEW
• http://www.itc.virginia.edu/research/labview.html

• ITC has purchased a campus-wide site license for the


software package LabVIEW, a graphical programming
development environment based on the G programming
language for data acquisition and control, data analysis,
and data presentation. This site license includes an
unlimited number of teaching and research licenses for the
LabVIEW Professional Development System as well as all
the add-on toolsets. The following URLs describe the site
license, LabVIEW itself, and the add-on toolsets
respectively:
• http://www.ni.com/academic/edu_lic.htm
• http://www.NI.com/labview/what.htm
Maple 7

• http://www.itc.virginia.edu
/research/maple.html
• technical software system for symbolic and
numeric computation
• Faculty and staff (including graduate
students employed as teaching or research
assistants) can obtain Maple for Linux.
Matlab
• http://www.itc.virginia.edu/research/matlab
.html
• Integrated technical computing environment
• The University has 70 floating network
licenses for Matlab 6.1 on the following
platforms: Sun Solaris, SGI IRIX, IBM
AIX, Linux, and Windows
(95/98/2000/NT). In order to use these
licenses, the computer must be connected to
the University network to enable it to
communicate with the network license
manager.
Mathematica
• http://www.itc.virginia.edu/research/mathematica.html

• Mathematica is a fully integrated environment for technical


computing, combining interactive calculation (both numeric
and symbolic), visualization tools, and a complete
programming environment.
• The University has 40 floating network licenses for
Mathematica 4.1 on the following platforms: RS/6000, SGI,
Sun, Linux, Windows, and Mac. Mathematica users at the
University can also run Mathematica from home computers
using the floating network licenses by first establishing an
internet connection through an Internet Service Provider
(ISP) so that the local Mathematica installation can
communicate with the license manager on ITC's Unix
server.
Stata
• http://www.itc.virginia.edu/research/stata.html
• Stata is an advanced, fully programmable
statistical package with complete statistical,
graphical, and data-management capabilities.
• Only Intercooled Stata is available on the Linux
platform, not Small Stata.
• The Research Computing Support Group has
entered into an agreement with the Stata
Corporation making the University of Virginia a
GradPlan site for Stata statistical software. Under
the GradPlan, faculty, staff and students can now
obtain Stata software at reduced, academic
pricing, and the software can be installed on home
or office computers, either UVa or personally
owned.
SAS
• http://www.itc.virginia.edu/research/sashelp.html
• A powerful statistics program particularly useful
for dealing with large data sets.
• In the /common directory
• If you are faculty, staff, or a graduate student of
the University, AND you have an office in
Charlottesville where you work at least twice a
week, you may obtain the site-licensed copy of
SAS 8.2 for Linux or for home or office use.
However, it may only be used while you are
employed, or a registered student, at UVA.
S-PLUS
• http://www.itc.virginia.edu/research/splushelp.html
• An enhanced statistical program based on the popular S
statistical package.
• All faculty, staff and students affiliated with the
University of Virginia can obtain S-PLUS 6 software
for installation on-grounds. In order to better manage
the number of licenses procured by ITC, on-grounds
users should install the Professional Network version of
S-PLUS 6.
• All faculty, staff and students affiliated with the
University of Virginia can obtain S-PLUS 6.0 software
for installation off-grounds. For off-grounds use, users
are provided with a standalone license version of S-
PLUS 6.0.
Compilers

• http://gcc.gnu.org/ - Gnu Compiler Collection -


C, C++, Objective C, Fortran
• Intel Linux Fortran Compiler Comparisons
• The Portland Group
• Programming Language Research
GCC Version Issues
• Problems can arise with gcc-2.96.xx in C++
programs with dynamic linking.
• http://gcc.gnu.org/gcc-2.96.html http://www.bero.org/gcc296.html

• The stable version is gcc-3.0.4 as of April, 2002.


Building gcc 3.0.4 (cont.)

• gunzip and tar –xf all gcc-3.0.4*.tar.gz files


• mkdir gcc-build; cd gcc-build
• ../gcc-3.0.4/configure --prefix=/opt -program-
suffix=-3.0.4
• make bootstrap; mkdir -p /opt; make install
• export PATH=/opt/bin:$PATH
Other Languages and Development Tools
• Perl
• Python • GDB
• PHP • DDD
• Tcl • Glade
• http://clisp.cons.org/ • Designer
• GPC • Tcl/Tk
• Haskell, Scheme, Guile • wpe/xwpe
• SmallEiffel
• Ada
• …et alia
Kylix
• http://www.borland.com/kylix/
• Kylix 2 Open Edition - under GPL
• Screenshot
• Powerful, object-oriented languages, with native
compiled and optimized code, and design-time
wizards to facilitate server-side scripting, database
connectivity, and so on.
• An easy-to-use, powerful GUI builder, access to
the popular desktop widget sets, and an object-
oriented component framework. The IDE includes
a WYSIWYG form editor, WYSIWYG menu
builder, and an extensible selection of components.
Intel MKL

• A fully functional, free evaluation copy of


the Intel® Math Kernel Library (MKL) for
Linux. This download is licensed for
"Internal Evaluation or Research purposes
only."
• Contains BLAS, LAPACK and a set of
vectorized transcendental functions in the
Vector Math Library (VML).
Libraries
• MPICH is a freely available, portable
implementation of MPI, the Standard for
message- passing libraries.
• STLport STLport is a multiplatform ANSI
C++ Standard Library implementation. It is
free, open-source product. The rpm is at
http://rhcontrib.bero.org
• Boost - Boost is a repository of free,
portable, peer-reviewed C++ libraries. It
acts as a proving ground for new libraries,
particularly those which work well with the
ISO C++ Standard Library.
ITC Linux Cluster
• 48 dual compute nodes, 1 Gb memory/ node
• Adding 16 nodes with a Myrinet interconnect
within the next 6 months.
• PGI C/C++ and Fortran
• IMSL Fortran Libraries
• Scientific computing libraries – e.g.,
Scalapack
Database Software

MySQL

PostgreSQL

Oracle

… and many, many more


MySQL
• MySQL - popular open source database
• Find the latest stable release and read the docs
at http://www.mysql.com
• From ftp.redhat.com we used
mysql-3.23.41-1.i386.rpm
mysql-devel-3.23.41-1.i386.rpm
mysql-server-3.23.41-1.i386.rpm
mysqlclient9-3.23.22-6.i386.rpm
MySQL Tools

• mySiteMaker – a collection of CGI tools to


rapidly create web interfaces to database
tables.
Example:
• MySQL-Front is a free, powerful and easy-
to-use Win32-Interface for web-workers
dealing with MySQL-Databases.
• kmysqladmin
MySQL-Front Port Forwarding (1)

Configuring
SecureCRT
MySQL-Front Port Forwarding (2)
R

• R is an open source S language much like


S-PLUS.
• The RMySQL module allows access to
MySQL data from within R.
• Rweb is a collection of cgi scripts to display
which can run R from a web page.
• Example: http://nike.itc.virginia.edu/Rtest/
Rtest.html
Web Servers
• Apache
• http://www.netcraft.com/survey/
• Install rpm and use up2date

Other Content Servers

• Zope
• Enhydra
• Tiny servers
Jakarta Tomcat
• Tomcat is the servlet container that is used in the
official Reference Implementation for the
Java Servlet and JavaServer Pages technologies.

• Examples:
http://nike.itc.virginia.edu:8180/index.html
http://nike.itc.virginia.edu:8180/examples/samp.jsp
http://nike.itc.virginia.edu:8180/examples/samp.txt
Jakarta Tomcat (continued)
• Requires JavaTM 2 SDK
• From http://jakarta.apache.org/get and install
the latest (4-4.0.4) stable rpms. I used:
servletapi4-4.0.2-1.noarch.rpm
regexp-1.2-1.noarch.rpm
xerces-j-1.4.4-2.noarch.rpm
tomcat4-4.0.2-3.noarch.rpm
tomcat4-webapps-4.0.2-3.noarch.rpm
• setup vars in /etc/tomcat4/conf/tomcat4.conf
• Run /sbin/chkconfig --add tomcat4
• Run /etc/rc.d/init.d/tomcat4 start
Jakarta Tomcat (continued)

• Download the MySQL JDBC driver/


• Put the mm.mysql-2.0.11-bin.jar driver into
/var/tomcat4/lib
• Run /etc/rc.d/init.d/tomcat4 restart
Virtual Network Computing

With vncserver you can start a computing desktop


environment that you wish to be able to use from a
different machine.

• The home page is

http://www.uk.research.att.com/vnc/

• RedHat has the rpms


Virtual Network Computing (cont)

• Use vncviewer to view a VNC session.


This is an Xt-based client application for the
VNC system. You can use vncviewer to
use a computing desktop environment that is
running on a different machine.
• Windows viewing Linux
• Screenshot – linux viewing windows
Is Linux for you?
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux LinuxLinux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux Linux Linux Linux Linux Linux Linux
Linux for Researchers Links
• http://www.itc.virginia.edu/researchers/
• http://www.gnu.org/gnu/linux-and-gnu.html
• http://www.oreilly.com/openbook/freedom/
• http://www.firstmonday.dk/
• http://www.tuxedo.org/~esr/writings/
• http://www.oreilly.com/catalog/opensources/book/toc.html
• http://www.chuug.org
• http://www.itc.virginia.edu/desktop/linux/support.html
• http://www.itc.virginia.edu/desktop/linux/linux_admin.html
• http://www.redhat.com/support/resources/install_upgrade/
installing_linux.html
• http://www.redhat.com/docs/manuals/linux/
RHL-7.2-Manual/install-guide/ch-dualboot.html
• http://www.redhat.com/support/hardware/
• http://www.rpm.org/
• http://rpmfind.net/
• http://www.gnu.org/software/bash/bash.html
• http://www.tcsh.org/Welcome
• http://www.itc.virginia.edu/unixsys/sec/
• http://www.people.virginia.edu/~rtg2t/samba/security.html
• http://xwinman.org/index.html
• http://www.kde.org/
• http://www.trolltech.com/developer/download/qt-x11.html
• http://www.gnome.org/
• http://www.gtk.org/
• http://www.gnu.org/gnu/thegnuproject.html
• http://www.linuxapps.com/
• http://home.xnet.com/~blatura/linapps.shtml
• http://www.nedit.org/
• http://bluefish.openoffice.nl/
• http://www.itc.virginia.edu/research/latex.html
• http://www.tug.org/
• http://www.winehq.org/
•http://www.vmware.com
•http://www.washington.edu/pine/
•http://www.sylpheed.good-day.net/
•http://balsa.gnome.org/
•http://www.ximian.com/
•http://kmail.kde.org/
•http://www.webmin.com
•http://www.itc.virginia.edu/desktop/linux/mount.html
•http://www.itc.virginia.edu/research/linux/shots/shots.html
•http://www.itc.virginia.edu/research/idl.html
•http://www.itc.virginia.edu/research/labview.html
• http://www.ni.com/academic/edu_lic.htm
• http://www.NI.com/labview/what.htm
• http://www.NI.com/labview/addons.htm
• http://www.itc.virginia.edu/research/maple.html
• http://www.itc.virginia.edu/research/matlab.html
• http://www.itc.virginia.edu/research/
mathematica.html
• http://www.itc.virginia.edu/research/stata.html
• http://www.itc.virginia.edu/research/sashelp.html
• http://www.itc.virginia.edu/research/splushelp.html
• http://gcc.gnu.org/
• http://www.polyhedron.com/complnx.html
• http://www.pgroup.com/index.htm
• http://www-2.cs.cmu.edu/~mleone/language-research.html
• http://gcc.gnu.org/gcc-2.96.html
• http://www.bero.org/gcc296.html
• http://developer.intel.com/software/products/mkl/mkl52/
index.htm
• http://www-unix.mcs.anl.gov/mpi/mpich/
• http://www.stlport.org
• http://rhcontrib.bero.org
• http://www.boost.org/
• http://clisp.cons.org/
• http://smalleiffel.loria.fr/index.html
• http://www.vaxxine.com/pegasoft/homes/book.html
• http://www.mysql.com/
• http://www.pgsql.com/
• http://www.oracle.com/
• ftp://ftp.redhat.com/
• http://www.itlab.musc.edu/mySiteMaker/
• http://www.anse.de/mysqlfront/
• http://www.webeifer.de/alwin/programs/kmysqladmin/
• http://www.r-project.org/
• http://www.math.montana.edu/Rweb/
• http://nike.itc.virginia.edu/Rtest/Rtest.html
• http://www.apache.org/
• http://www.netcraft.com/survey/
• http://jakarta.apache.org/
• http://java.sun.com/products/servlet/index.html
• http://java.sun.com/products/jsp
• http://nike.itc.virginia.edu:8180/index.html
• http://nike.itc.virginia.edu:8180/examples/samp.jsp
• http://nike.itc.virginia.edu:8180/examples/samp.txt
• http://java.sun.com/j2se/
• http://jakarta.apache.org/
• http://mmmysql.sourceforge.net/
• http://www.uk.research.att.com/vnc/
• http://www.itc.virginia.edu/research/linux/shots/
sofficelin2win.jpg
• http://www.itc.virginia.edu/research/linux/shots/
vnc.png
• http://www.borland.com/kylix/
• http://www.itc.virginia.edu/research/linux/shots/
kylix.png

You might also like