3. An Intorudction to Linux/Unix

 

 

Linux is a free UNIX clone that was developed by volunteers around the world. Although Linux is almost a decade old, it went largely unnoticed by the general public until a couple of years ago. Since then it has become very popular with individual users, universities and large corporations. For example, IBM has made it a major part of their business strategy for server hardware. Many software companies already offer Linux versions of their software, including products such as Oracle, Labview and MSC Nastran. Other companies have developed embedded applications using Linux. Currently Linux can be found in devices as small as a wristwatch [1] and as large as a Beowulf class supercomputer [2]. The popularity of Linux is based on three factors:

- costs are lower because the software is free and it runs well on less expensive hardware.

- it has more software, capabilities, and features than other operating systems.

- the source code is open, so users can customize the operating system to meet their needs.

 

This chapter will present the Linux operating system in general, and its current status in computing.

 

3.0.1 What is it?

 

Linux is an open source operating system. It is open because users and developers can use the source code any way they want. This allows anyone to customize it, improve it and add desired features. As a result Linux is dynamic, evolving to respond to the desires and needs of the users. In contrast, closed operating systems are developed by a single corporation using static snapshots of market models and profit driven constraints.

 

Linux is free. This allows companies to use it without adding cost to products. It also allows people to trade it freely. And, with the profit motive gone, developers have a heightened sense of community interest. The Linux community has developed a tremendous spirit because of these core development concepts.

 

 

3.0.2 A (Brief) History

 

Linux has existed since the early 1990s [3], but it grew out of previous developments in computing [4]. It was originally developed to be a Unix clone that would run on low cost computer hardware. Unix was developed in the 1970s. Through the 1970s and early 1980s it was used on large computers in companies and universities. During this time many refinements and enhancements were made. By the mid 1980s Unix was being used on many lower priced computers. By the end of the 1980s most universities were making use of Unix computers in computer science and engineering programs. This created a wealth of graduates who understood what they could expect from a mature operating system. But, it also created a demand to be able to do high level work at home on low priced machines.

 

Early in the 1990s Linux started as a project to create a Unix clone that would run on a personal computer. This project gained momentum quickly and by the mid 1990s it was ready for users. The first groups to adopt it were hobbyists, academics and internet services. At this time the general public was generally unaware of Linux but by the end of the 1990s it was beginning to enter the public sphere. By 2000 it had entered the popular press, and it was cited as a major threat to at least one existing operating system vendor. Now, it is available off-the-shelf in software and book stores.

 

1970s - Unix developed at AT&T labs by Ken Thompson and Dennis Ritchie

1980s - Unix became popular on high end computers

- The Unix platform is refined and matures

- Some versions of Unix were available for PCs - most notably QNX

1990s - Linus Torvalds begins working on a free Unix clone for PCs in 1991

- Others join the project it gets the name ‘Linux’

- By 1993 Linux begins to enter the mainstream of computer users

- Linux machines constitute a large number of servers on the Internet

- Many large companies begin to support Linux - e.g. Dell, IBM

2000s - Home and office users are supported with free office software

- Linux is available in consumer products, such as Tivo recorders

 

 

3.0.3 Hardware required and supported

 

Modern computers have ample power for most computer applications. This is more true for Linux. At present there are versions of linux that will run on any platform from an IBM mainframe computer to a Palm Pilot. The smallest Linux installations can fit on a single floppy disk, and run on a diskless computer with a few MB of memory. On the other end of the spectrum, Linux will run on most high end computer systems. An average user would expect reasonable performance on a computer with an old Pentium 100 processor, 64MB of memory, and 2 GB of disk space. On newer computers the performance of the operating system is extremely fast. The list below gives some idea of the capabilities, but complete lists of supported hardware are available [5].

 

CPU - Intel family and clones, down to ‘386 processors

- Macintosh (Motorola)

- Others: Alpha, MIPS, Sparc, etc.

Memory - 16MB is a good minimum, 64MB is recommended

Disk - 200MB is a minimum, 2GB is recommended

Screen - Any size

Network - Any type

Others - Most PC hardware is supported - or will be soon

 

 

3.0.4 Applications and uses

 

By itself an operating system is somewhat useless, software applications are added to give desired functionality. Some of the common applications that a computer might be used for are listed below. Linux will support all of these applications, and more, with the right software [6].

 

Office - word processing, spreadsheets, etc.

Web and Internet Servers - host web sites

Server - databases and other institutional functions

Embedded - inside devices such as Tivo TV recorders

PDAs - an operating system for small handheld computers

Development - software authoring

 

 

3.0.5 Advantages and Disadvantages

 

A partial list of advantages and disadvantages is given below. The cost, stability and open nature of the system have been winning over a large number of corporate adopters. But, adoption has been slowed by people who don’t understand the nature of free software or have a perception that it is difficult to use. In some cases there are also some software packages that are not available for Linux, and won’t run under simulators [22] - the most notable of these applications are first person shooting games.

 

Advantages:

Free - paying for it is optional

Open - the source code is available and can be changed

Goodwill - developers and users are very helpful

Faster - it doesn’t require newer hardware, extra memory and larger disks

Stable - it is very uncommon for Linux to crash (no blue screens)

Flexibility - more capabilities and features

Complete - all of the software is available and open - no ‘extra’ software to buy

Security - very secure - unauthorized users can’t change machine settings

Simplicity - point and click configuration

Disadvantages:

Compatibility - some programs will not run under simulators

Misunderstanding - some people believe ‘you get what you pay for’

 

 

3.0.6 Getting It

 

There are multiple distributions of Linux. While these all contain the Linux Kernel, they often include different pieces of software, and installation processes vary somewhat. The basic licensing agreement that Linux is distributed under requires that even if it is sold for a fee, it must be made available at no cost and it may also be copied freely by the user. As a result you can often download these distributions over the network at no cost [12][13]. The total download size can be up to 600MB. An alternative is to buy a distribution (the typical cost is $30) which includes a floppy disk, a CD-ROM and a brief manual. These can be found at any store that sells software. Sometimes the distribution will have a higher cost for ‘deluxe’ versions - this more costly package often includes telephone support.

 

 

3.0.7 Distributions

 

In total there are hundreds of Linux distributions. Many of these are specialized for features such as embedded systems, foreign languages, internet servers and security. The list below is for user-friendly installation and usage. The most successful of these distributions is Redhat. Some distributions, such as Mandrake, are based on the Redhat distribution, but with enhancements.

 

Redhat - the original consumer friendly Linux [7]

Mandrake - a Redhat derivative [8]

Caldera - another well established distribution [9]

Debian - a release that focuses on stability [10]

SuSe - yet another distribution [11]

 

 

3.0.8 Installing

 

Each distribution of Linux will have a slightly different installation procedure, but they all follow the basic steps below. The total time to install Linux will between one to two hours. Users with a high level of knowledge can opt to do advanced setup, and new users will have the option of letting the system suggest installation options.

 

1. Turn off the computer.

2. Insert a provided floppy disk (you can also boot from a CD on newer computers)

3. Turn the computer on, it will start to load Linux

4. You will be asked some questions about the type of installation you want

5. Linux will format the disks, and start to load the software

6. While it is loading you will be able to set times, dates and passwords

7. You be asked to set up the graphics for the window manager

8. When the installation is done the computer will reboot, and you will be ready to use it

 

 

3.1 Using Linux

 

This section is a brief overview of the Linux operating system. The intention is to overview the basic components in the operating system. An administrator can manage the operating system using the graphical user interface (GUI), or using typed commands. New users often prefer to use the system using the GUI. Advanced users often prefer to use commands to administer the system, they are often faster and more reliable.

 

Commands can be typed in a command window. Typed commands are case sensitive, and most commands are lower case. Spaces are used to delimit (separate) commands and arguments, so they should also be used when typing. Linux allows users to perform some very sophisticated operations with a single command. But, while learning this should not pose a problem, unless logged in as root. While learning the user is encouraged to use a normal user account so that accidental damage to the system can be minimized.

 

 

3.1.1 Some Terminology

 

The terms below are some of the keywords that are unique to Linux. These will appear during the installation, or during common usage of the system.

 

booting When a Linux computer starts it checks the hardware, and then starts

software. The process of booting takes less than a minute in most cases

kernel The core of the operating system that talks to all hardware and programs

shell A windows that allows you to type commands

permissions Control who can change what

GNU (Gnu’s Not Unix) A group that develops free software comprising a large

portion of Linux

root This is the user name of the system administrator

 

 

3.1.2 File and directories

 

The directory and file structure of Linux is hierarchical, much like other popular operating systems. The main directory for the system is call root and is indicated with a single slash ‘/’. There are a number of subdirectories listed below that are used for storing system files, user files, temporary files and configuration files. A sample of the standard directories are shown below, and can be viewed with a file manager, or with keyboard commands. If other disks are used, such as a CDROM, or floppy disk, they are mounted under the root directory. (i.e., there are no ‘C’, ‘A’ or other drives, they are all under ‘/’.) (Note: the UNIX slash is ‘/’, not the ‘\’ used on DOS.)

 

 

A list of some of the more important directories follows with a brief description of each. Most users have their home directories under the ’/home’ directory. Most of the other directories are of interest to the system administrator.

 

/etc - device and software configuration files are kept here

/tmp - temporary files are created here

/home - user directories are kept here

/var - this is a place for log files, mail storage, etc.

/usr - software is installed under this directory

/dev - where devices are kept - they are accessed like files

/bin - some of the programs are kept in this directory

 

Every file and directory has a unique name which can be used to refer to it. Sometimes it is useful to be able to refer to groups of files without typing the name of each one. Wildcard allow file and directory names to be matched to patterns. The list below shows some of the wildcards commonly used.

 

* Any string

? Any Character

.. The directory above

. this directory

~ your home directory

 

Some examples of filenames with wildcards, and files they would match are shown below.

 

Ad* Advertise Advent.not Ad

Ad? Ad. Ade

Ad?.? Ade.d

??e.* ape.exe eee.thisisanother

../hi.* hi.there (in directory above)

~/*.there hi.there (in your home directory)

 

Filenames can contain numbers, letters and a few other symbols, but care should be used to avoid symbols that also have meaning to Linux, such as the asterisk ’*’. File names that begin with a period ’.’ are system files that are normally hidden. For example, most users will have a file in their home directories called ’.profile’ or ’.login’. These are used when a user logs.

 

Some of the standard Linux commands for files and directories are listed below. Most of the file and directory names can be used with wildcards.

 

cd newdir change directory to ’newdir’

pwd show present working directory

ls list the files in the current directory

ls -la list the files in the current directory in full form

ls files list files that match the ’files’

rm files removes the named ’files’

rm * removes all the files in the current directory (use with care)

rm /* removes all of the files in the computer (only do this if you are insane)

mkdir name make a directory ’name’

rmdir name remove a directory ’name’

mv from to move a file/directory ’from’ an old name ’to’ a new name

cp from to copy a file ’from’ the an old name ’to’ a new name

more file type out the contents of ’file’ on page at a time

cat file type out the contents of ’file’

vi file a text editor for ’file’ (some commands given below)

‘dd’ - cut a line (command mode)

’p’ - paste a line below the current line (command mode)

‘x’ - delete a character (command mode)

‘r’ - replace a character (command mode)

‘R’ - replace a string (command mode -> edit mode)

‘a’ - append to a line (command mode -> edit mode)

‘i’ - insert a string (command mode -> edit mode)

‘:w’ - write to a file (command mode)

‘:q’ - quit from a file (command mode)

ESC - move from edit to command mode

cursor key - move the cursor

du check the disk usage of the current directory

du ~ check the disk usage of your home directory

df check total disk space available

sort this will sort the contents of a file

ln -s to from create a symbolic link ’from’ a name ’to’ a file

grep thing files search ’files’ for the string ’thing’

compress file compress a ’file’

uncompress file uncompress a ’file’

 

 

3.1.3 User accounts and root

 

Linux follows very strict conventions for file and directory permissions. These require that each file and directory be given specific permissions for public reading, writing and execution. Each user is given their own account with a password, so that access to the system is controlled. Only the root user can access all files and directories on the system. Other users are limited to files they own, or files that have been marked public. Typically the root user is only used for administration, and normal users use non-root accounts. This generally keeps the system safe from careless damage, and security breaches. Each user has their own home directory, normally in the ‘/home’ directory. The permissions for files and directories are set so that the user has complete control over that directory.

 

The permissions for files can be seen by doing a directory listing with ’ls -la’. This will show flags something like ’-rwxrwxrwx jackh user’ for a file that everybody can read ’r’, write ’w’ or execute ’x’. The leftmost ’rxw’ is for the user ’jackh’, the second ’rwx’ is for the group ’user’ and the rightmost ’rwx’ is for everybody on the system. So if the permissions were ’-rwxr--r--’ everybody on the system can read the file, but only the owner can write and execute it.

 

For security reasons, write permissions for files are normally only allowed for the owner, but read permissions are normally given to all. Execute permissions are normally set for all users when the file can be executed, such as a program. Sometimes more than one user wants to have access to a file, but there are reasons to not permit permission to everybody. In this case a group can be created and given permission to use a file.

 

Commands that are oriented to users and permissions follow.

 

passwd user change the password for a user

chmod flags files change the permission ’flags’ for ’files’

chown user files change the owner of ’files’ to ’user’

finger user give information about a ’user’

who look at who is logged into your machine

last a list of the last users logged in

whoami give your current user name

su - name change to a different user

chgrp group files add a ’group’ to a file

 

Most of the user information is stored in the ’/etc’ directory. For example, user account information is stored in the ’passwd’ file. User passwords are stored in the ’shadow’ file. Group information is stored in the ’groups’ file. It is possible to add users to the system by editing these files, but there are commands that make it easier to update and maintain these files.

 

The ’passwd’ command is used to change user passwords. In general passwords are the main line of defense against unwanted intruders. Most systems will do simple password checks when passwords are entered. In general, if a password can’t be found in a dictionary or index of a book it will generally be safer.

 

 

3.1.4 Processes

 

At any one time there are multiple programs (processes) running on a Linux computer. When you run a program it becomes another process also running on the computer. Each process is given it’s own unique process ID number (PID). Each process is given it’s own private memory space, and allowed to run for a fraction of a second every second.

 

The list of commands below allow the processes in the computer to be seen. They also allow the general state of the machine to be determined.

 

ps -aux Print a list of processes running on the computer

kill -9 pid Kill a process with ’pid’ running on the computer (uses the PID # from ps -ef)

passwd user Change the password of a ’user’

date print system date and time

who show who is logged into the machine

exit this will logout a user

fg bring background processes to the foreground

bg send a stopped process to the background

<CNTL>C hitting this key sequence will kill a running process

<CNTL>Z hitting this key sequence will stop a running process, but not kill it

command & any command followed by an ’&’ ampersand will be run in the background

 

Simple commands can be combined together with pipes to make more complicated functions. An example is ’ls | more’. By itself ’ls’ will list all the files in a directory. ’more’ is normally used to print out text files. But in this case the output of ’ls’ is passed (piped) through ’more’ so that it only prints one screen at a time. Multiple commands can be combined on a single command line by separating them with a colon ’:’. For example the command ’ls ; ls ..’ would list the contents of the current directory, then the parent directory.

 

Output from functions can be redirected to files instead of the screen. For example ’ls > temp’ will take the normal output from the ’ls’ function, and write it into a textfile called ’temp’. Input to functions can be directed into a program. For example ’sort < temp’ will make the file ’temp’ the input to the sort command.

 

Simple batch files can be created by putting a list of commands in a normal text file. The file can then be made executable using the command ’chmod 755 filename’. The program can then be run using ’./filename’.

 

 

3.2 Networking

 

Networks are a key component of Linux operating systems. Each computer on a network may have a name, such as ’claymore.engineer.gvsu.edu’, but each computer must have a number, such as ’148.61.104.215’. You can log into other Linux and Unix machines with commands such as ‘telnet claymore.engineer.gvsu.edu’, ’telnet 148.61.104.215’ or ‘rlogin claymore.engineer.gvsu.edu’. This allows you to sit at one machine, and use many others, even around the world.

 

You can also access other computers with public access directories using the ‘ftp’ command. For example try ‘ftp ftp4.netscape.com’. This will connect you to a computer some place in the U.S. When it asks you for your ‘login name’ type ‘anonymous’. When it asks for a ‘password’, enter your name. You may now move around using ls, pwd, cd, etc. If you want to get a file from some directory, type ‘binary’, then type ‘get filename’, or ’get filenames’. ‘quit’ ends everything. If you log into a machine with FTP and you have write permissions you can also write files to the machine using ’put filename’ or ’mput filenames’. If you use FTP to log into a computer that you have account on you will be able to move outside of the limited ftp directories.

 

 

3.2.1 Security

 

Security is not a significant problem for a computer that is not connected to a network, and passwords will protect it from ‘honest thieves’. When connected to a network there is potential for security problems. These problems become more serious when the computer is connected to the network 24 hours a day. General rules to keep a computer safe (this applies to non-Linux computers also) are:

 

keep user passwords safe - these can be the start of a security breach

protect the root password - loosing this throws the system wide open

shut down unneeded programs - network programs sometime have bugs that open doors

apply patches - software updates help close security holes

 

 

3.3 Intermediate Concepts

 

Above the basic features of the Linux system are a number of more advanced features and commands. Some of these are listed below.

 

pine a simple interface for mail usage

mail a somewhat bothersome mail tool (see pine).

man func bring up a manual page for ’func’

man -k string brings up information on ’string’

tar -xvf file.tar extract files from an archive file ’file.tar’

tar cvf - files > file.tar put ’files’ into an archive file ’file.tar’

 

 

3.3.1 Shells

 

When one logs into a Linux system, you are actually running a program (shell) this is in some ways similar to DOS. In the standard shell you are given a prompt, where you type your command. If it is not a built-in command, it searches on the disk according to a user-specified search path, for an executable program of that name. Almost all commands are programs that are run in this manner. There are also executable shell scripts, similar to command files on DOS. Linux is limited to running a program of a size equal to the sum of its memory, and swap space. As the system is multi-tasking, any program (or part thereof) that is not currently being run when extra memory is required, is swapped (moved) out to the disk, until it is ready to run again.

 

In shells there are environment variables set. Some of the commands that can be used to view these are shown below. They can be set by editing the appropriate text files.

 

alias prints a list of command aliases

printenv prints a list of the environment variables

set prints a list of the environment variables

 

 

3.3.2 X-Windows

 

The GUI in Linux is actually two programs working together. The basic program is called X windows, and it provides basic connection to the screen, mouse, keyboard and sound card. The look-and-feel of the GUI is provided by the window manager. One simple window manager is called ‘fvwm’ and it can behave like Windows 95/98. Newer window managers include Gnome and KDE. While these both provide similar capabilities and features, most users develop personal preferences for a single window manager.

 

 

3.3.3 Configuring

 

Devices and settings can be configured under X-windows using graphical tools. Settings can also be configured with text files, but this is not necessary. Examples of settings that the user or root might want to change are:

Modem properties for internet connection

Network card properties for connection to a LAN

Printer type and location

Customize the windows settings and behavior

Sound card settings and sounds for Window events

 

 

3.3.4 Desktop Tools

 

Most users focus less on the Operating System, and more on the programs that it will run. The task list below includes many of the applications that would be desired by the average user. Most of the listed applications are free, with the exception of the games. Many of these packages are a standard part of Linux distributions.

 

• Office Software - these include spreadsheets, word processors, presentation software, drawing

tools, database tools, 3D graphics tools

Star Office [14]

KOffice [15]

• File and Internet Browsers

Netscape - allows browsing of the internet [16]

Files - there are many file viewers that ease directory browsing

Eazel - allows active directory browsing [17]

• Administration and Utilities

Apache - the most popular web server program [18]

Postgres and MySQL - Database programs [19] [20]

Replace a microsoft networking server [21]

DOS/Windows Simulator VMWare [22]

• Entertainment

Audio and video

Tools (GIMP - similar to photoshop)

Games (Quake, Doom, SimCity)

 

 

3.4 Laboratory - A Linux Server

 

Purpose:

To set up a Linux server that can be used for controlling automation.

 

Overview:

At the core of every integrated manufacturing system is a server. A server is a computer, running a networked operating system that can connect to many other computers. The function of a server is to communicate information between different devices on the factory floor.

 

The most important part of a server is the operating system. Mature operating systems such as Unix and Linux are well established, while newcomers, such as Windows NT are trying to establish themselves.

 

 

Pre-Lab:

1. Go to the web site www.linux.org and read about Linux.

2. Go to the RedHat Linux site and read the installation instructions. (www.redhat.com)

 

In-Lab:

1. Locate a computer to use. Install Linux using the following instructions.

2. After the installation is done and the computer has been rebooted go through the following Linux tutorial.

3. If you need more practice with linux try another basic user tutorial (www.linux.org).

4. Update the main webpage on the machine, and create a web page for yourself also in your own public_html directory.

 

Submit (individually):

1. Have the machine up and running properly, including X-windows.

2. Have a running web server with a main web page, and for you.

 

 

3.5 Tutorial - Installing Linux

 

This section outlines the steps and choices that were used while installing Redhat 7.0. You can also refer to other installation guides (www.redhat.com) in the event of problems.

 

0. If necessary, create the boot CDs and or floppies.

1. Open the computer to determine the following information.

- video card type and memory

- network card type

- mouse type (typically PS/2)

- boot device - if it can boot from CDrom set that as the first boot device

2. Insert the distribution floppy disk and CD and turn on the computer. The computer will start to boot automatically. When "Boot" appears, press enter to continue. After some time a graphical interface should appear and you will be asked questions.

3. The choices that I made follow in sequence. You should adapt these to the computer you have. The settings I expect you will need to change are marked with an asterisk ’*’.

Language selection - English

Keyboard - Generic 101-key PC

- US English

- Enable dead keys

*Mouse - Microsoft Intellimouse

Install Options - Custom System

Partitioning - using disk druid

Delete all disk partitions

*Add a partition - mount ’/’, size 1500MB, partition type Linux Native. Set the file system as ext3, and check for bad blocks.

*Add a partition - partition type Linux Swap, size remaining at least 50MB

Boot loader - grub (don’t change settings)

No grub password

Use DHCP and make it active on boot

Firewall configuration - no firewall

Additional language support - add others only if you want them

Time zone - America/Detroit

Account Configuration

- entered a root password

*- added a user account for myself ’jackh’

Authentication Configuration - left all as is

Selecting Package Groups - the following list were the only ones chosen

Printer Support

Classic X windows support

X Window System

Gnome

KDE

Sound and multimedia support

Network support

Dialup support

Messaging and web tools

Graphics and image manipulation

SQL Database server

Web server

Authoring and publishing

Emacs

Utilities

Legacy application support

Software development

Kernel development

Windows compatibility

Games and entertainment

X Configuration

*- Generic High Freq. SVGA 1024x768 @ 70Hz

*- ATI Mach 64, 1MB memory

- don’t set ’use graphical login’

4. Installation will start and it takes about 30-60 minutes.

5. When done you will be prompted to put a formatted floppy disk in the drive and create a boot disk. This is good for emergencies and is highly encouraged. Don’t forget to label the disk.

6. Select your monitor (check the back for a label).

7. Customize the graphics configuration. I chose 16 bit color, 1024 by 768 resolution (test the setting), Gnome, Text login (very helpful).

8. When prompted reboot the system. Don’t forget to remove the floppy and CDROM.

9. Once the system has rebooted, login as root. Start XWindows using ’startx’.

10. If you reach this point you have completed the installation successfully.

11. Set up the printer with "system settings", "printer configuration", then use the "jet direct" setting the IP address to ’192.168.1.15’ and select a PS (postscript) printer.

12. Set up the server with "server configuration" and set the server name to your first name.

13. Go to "service configuration" and turn on the services below. After activating each one use ’restart’ to activate them. When done, exit and save the settings.

httpd - the web server

postgresql - the database server

telnet - to log in remotely

14. Test the web server with ’mozilla’ and use the address ’localhost’.

 

 

3.6 Tutorial - using Linux

 

1. (If you haven’t already logout of the root account) Login with your username and password. Later you can logout with ’logout’ or ’exit’. (Note: you can also use ’shutdown -h now’ to stop the machine.)

2. After you have logged in you should see a flashing cursor. Type ’startx’ to start the X-windows GUI. This will take some time, but when done you will have a windowed interface.

3. First we want to open a command window. Point to the bottom of the screen and locate the icon that looks like a computer screen. Click on it once with the left mouse button. A command window will pop up on the screen. Click on the border of the window, the keyboard will then be focused on the window, and commands will work there.

4. Enter the commands below in order and observe the results. They should allow you to move around directories and see the files listed there. Some of the options will change how you see the files.

ls

ls -l

ls -la

ls -lar

ls -lat

ls -lart

pwd

cd .. ; ls -la

cd ~

5. Use the manuals to find other options for the ‘ls’ command with ‘man ls’.

6. Explore the hard drive to find what is there. The following directories are particularly important.

/etc - the machine configuration and boot files

/opt - some packages will be installed here

/bin and /usr/bin - executable files

/sbin and /usr/sbin - executable files for the root user and system

/usr/doc - help files

/home - use directories are here

/mnt - mounted disk drives are attached here

/proc - system status is kept here

/var/log - system log files are kept here

/tmp - temporary files are stored here

7. Change to the directory ’/etc’, and look at the contents of the file ’fstab’ with the command ’more fstab’. This file contains a list of the disk drives in the computer. You can find more information about it with ’man fstab’.

8. Return to your own directory and create a subdirectory called public_html with the command ’mkdir public_html’. Change to that directory and create a new file using the vi editor with ’vi index.html’. Enter the following text into that file. The editor has two modes. In command mode each key will cause an action. In edit mode each key is added to the text. Hitting ’ESC’ at any time puts the editor back into command mode. To move into edit mode hit ’i’ then start typing text. To erase a single character hit ’x’. When you are done editing the program use ’:wq:’ to save the file and quit. Refer to the previous section in the text more details on the commands.

<HTML>

<BODY>

Hi

</BODY>

</HTML>

9. When done save and quit the editor. Make sure the permissions of your file and the ’public_html’ directory are correct with the command ’chmod 755 index.html ~/public_html ~’.

10. Use netscape to look at you web page and see if it is there. You can do this using ’netscape &’. You can see the file by opening it. You should also be able to see the file by typing ’http://localhost/~jackh/index.html’, where ’YOURNAME’ is you user ID.

11. Look at the list of processes running on the computer with ’ps -aux’. Notice that the columns indicate what is running, the status of the process, etc. You can get more information about this using ’man ps’

12. Log into claymore using ’telnet claymore.engineer.gvsu.edu’ or ’telnet 148.61.104.215’. use ’ls’ to look at the files in your directory. When done looking around your account use ’exit’ to logout.

13. Now, look at some of the programs in the Window manager.

 

 

3.7 References

[1] http://www.ibm.com

[2] http://www.beowulf.org, “The Beowulf Project”.

[3] Hasan, R., “History of Linux”, http://ragib.hypermart.net/linux.

[4] Polsson, K., “Chronology of Personal Computers”, http://www.islandnet.com/~kpolsson/complist

[5] http://www.linux.org/hardware/index.html, “Linux Friendly Hardware”

[6] http://www.linux.org/apps/index.html, “Applications”

[7] http://www.redhat.com

[8] http://www.mandrake.org

[9] http://www.caldera.com

[10] http://www.debian.com

[11] http://www.suse.com

[12] http://www.sunsite.unc.edu

[13] http://www.linux.com

[14] http://www.staroffice.com

[15] http://www.koffice.kde.org

[16] http://www.netscape.com

[17] http://www.eazel.com

[18] http://www.apache.org

[19] http://www.postgresql.org

[20] http://www.mysql.com

[21] http://www.samba.org

[22] http://www.vmware.com