2741 lines
117 KiB
HTML
2741 lines
117 KiB
HTML
<!--startcut ==========================================================-->
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i586) [Netscape]">
|
|
<TITLE>Replacing Windows NT Server with Linux</TITLE>
|
|
<!--Created by Applixware HTML Authoring System, Release 4.3 on Mon Jan 5 18:22:23 1998-->
|
|
<!--Ax:WP:DocVar:HTMLOriginalPath@:"/tmp/ex02228c.aw"-->
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF">
|
|
<STYLE type="text/css"> A:link {color:#C91F16; text-decoration:none}
|
|
A:visited {color:#C91F16; text-decoration:none} A:active {color:#C91F16;
|
|
text-decoration:none} </STYLE>
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4>
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
|
|
<P><B><FONT SIZE=+4>Replacing Windows NT Server with Linux</FONT></B>
|
|
<BR>Copyright (c) 1997 Quinn P. Coldiron
|
|
<BR>qcoldiro@unlinfo.unl.edu
|
|
<BR><BR><BR><B><FONT SIZE=+2>Table of Contents</FONT></B>
|
|
|
|
<P><B><A HREF="#Introduction">Introduction</A></B>
|
|
|
|
<P><B>Section 1--<A HREF="#Outlining Our Situation">Outlining Our Situation</A></B>
|
|
|
|
<P><B>Section 2-- Why we chose RedHat Linux</B>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#Linux Features">Linux Features</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Reliability">Reliability</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Cross platform">Cross platform</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Compatibility with Existing Applications">Compatibility</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Speed">Speed</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Speed">Inexpensive</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Low hardware requirements">Low hardware requirements</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Ease of administration">Ease of administration</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Simple upgrade path">Simple upgrade path</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Remote control and administration">Remote control and administration</A></LI>
|
|
</UL>
|
|
<B>Section 3--Under the Hood</B>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="#Under the Hood">Setting up the server</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Linux installation">Linux
|
|
installation</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Samba Installation/Setup">Samba
|
|
installation/setup</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Netatalk Installation/Setup">Netatalk
|
|
installation/setup</A></LI>
|
|
|
|
<LI>
|
|
Installing The Cats Pajamas (Getting a DOS network application to run on
|
|
Linux)</LI>
|
|
|
|
<LI>
|
|
<A HREF="#Installing Cats on the Server">Installing
|
|
Cats on the Server</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Configuring your Windows clients">Configuring
|
|
your Windows clients</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Configuring the DOS emulator to run Cats">Configuring
|
|
the DOS emulator to run Cats</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Installing a RAID">Installing a RAID</A></LI>
|
|
|
|
<LI>
|
|
Daily administration</LI>
|
|
|
|
<LI>
|
|
<A HREF="#System backups">System backups</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Scheduling events">Scheduling
|
|
events</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="#Replacing your Desktop OS with Linux">Replacing your Desktop
|
|
OS with Linux</A></LI>
|
|
</UL>
|
|
<B>Appendix A--<A HREF="http://www.redhat.com/support/docs/rhl/manual/manual/">RedHat
|
|
5.0 Installation Guide</A></B>
|
|
|
|
<P><B>Appendix B--<A HREF="http://samba.anu.edu/samba/">Samba</A></B>
|
|
<UL>
|
|
<LI>
|
|
<A HREF="http://samba.anu.edu.au/cifs/docs/what-is-smb.html">Just What
|
|
is SMB?</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="http://samba.anu.edu.au/samba/docs/faq/sambafaq.html">Samba FAQ</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="http://samba.anu.edu.au/samba/docs/smb_serv/html/smb_se.html">Samba
|
|
HOW-TO</A></LI>
|
|
</UL>
|
|
<B>Appendix C--<A HREF="http://www.suse.com/~dosemu/doc-0.67/README.html">DOSEMU
|
|
Manual</A></B>
|
|
<BR>
|
|
|
|
<P>
|
|
<HR ALIGN=LEFT>
|
|
<BR><A NAME="Introduction"></A><B><FONT SIZE=+2>Introduction</FONT></B>
|
|
|
|
<P>Network Operating Systems (NOS) have many features and capabilities
|
|
that allow the Information Systems departments of most organizations to
|
|
better server your organization and help streamline work flow. Each NOS
|
|
has different features and a excels in different areas. Traditionally,
|
|
Novell Netware has been viewed as the best file/printer server, Unix was
|
|
viewed as the premiere application and database server and recently, Windows
|
|
NT has come in as a good choice for the smaller networks as a file/printer
|
|
server or application server. The market has become very aggressive with
|
|
each of these platforms branching out into each others market area. Microsoft
|
|
has expanded NT into the midrange server market once dominated by Novell
|
|
and is trying to get into the high end market which was once filled by
|
|
Unix venders such as Sun, Hewlett Packard and Silicone Graphics.
|
|
|
|
<P>I inherited an aging Novell Netware 3.11 server when I began my career
|
|
at the University of Nebraska Press that was on an under powered Pentium
|
|
90 and had older disk drives that were failing. I also wanted to expand
|
|
into other areas, so I knew this was going to be my first project. When
|
|
I began looking at my options to replace our aging Novell Netware server,
|
|
I of course turned first to the just released Windows NT Server 4.0. The
|
|
marketing materials, magazines and television advertisements all told me
|
|
that this was the one thing that would solve all my problems. The operating
|
|
system promised to be easier to setup and maintain than the Netware product
|
|
it was replacing and it could easily handle the 55 users on my network.
|
|
Fourteen months later, we are running Linux as our server.
|
|
|
|
<P>Linux is a completely free reimplementation of the POSIX specification,
|
|
with SYSV and BSD extensions (which means it looks like Unix, but does
|
|
not come from the same source code base), which is available in both source
|
|
code and binary form. Its copyright is owned by Linus Torvalds <torvalds@transmeta.com>
|
|
and other contributors, and is freely redistributable under the terms of
|
|
the GNU General Public License (GPL). A copy of the GPL is included with
|
|
the Linux source; you can also get a copy from ftp://prep.ai.mit.edu/pub/gnu/COPYING.
|
|
|
|
<P>Linux is not public domain, nor is it `shareware'. It is `free' software,
|
|
commonly called freeware, and you may give away or sell copies, but you
|
|
must include the source code or make it available in the same way as any
|
|
binaries you give or sell. If you distribute any modifications, you are
|
|
legally bound to distribute the source for those modifications. See the
|
|
GNU General Public License for details.
|
|
|
|
<P>Linux is still free as of version 2.0, and will continue to be free.
|
|
Because of the nature of the GPL to which Linux is subject, it would be
|
|
illegal for it to be made not free. Note carefully: the `free' part involves
|
|
access to the source code rather than money; it is perfectly legal to charge
|
|
money for distributing Linux, so long as you also distribute the source
|
|
code. This is a generalization; if you want the fine points, read the GPL.
|
|
|
|
<P>Linux runs on 386/486/Pentium machines with ISA, EISA, PCI and VLB busses.
|
|
MCA (IBM's proprietary bus) is not well-supported in 2.0.x and earlier
|
|
versions, but support has been added to the current development tree, 2.1.x.
|
|
If you are interested, see http://glycerine.itsmm.uni.edu/mca
|
|
|
|
<P>There is a port to multiple Motorola 680x0 platforms (currently running
|
|
on some Amigas, Ataris, and VME machines), which now works quite well.
|
|
It requires a 68020 with an MMU, a 68030, 68040, or a 68060, and also requires
|
|
an FPU. Networking and X now work. See news:comp.os.linux.m68k
|
|
|
|
<P>Linux runs well on DEC's Alpha CPU, currently supporting the "Jensen",
|
|
"NoName", "Cabriolet", "Universal Desktop Box" (better known as the Multia),
|
|
and many other platforms. For more information, see http://www.azstarnet.com/~axplinux/FAQ.html
|
|
|
|
<P>Linux runs well on Sun SPARCs; most sun4c and sun4m machines now run
|
|
Linux, with support for sun4 and sun4u in active development. Red Hat Linux
|
|
is (as of this writing) the only Linux distribution available for SPARCs;
|
|
see http://www.redhat.com/support/docs/rhl-sparc/
|
|
|
|
<P>Linux is being actively ported to the PowerPC architecture, including
|
|
PowerMac (Nubus and PCI), Motorola, IBM, and Be machines. See http://www.cs.nmt.edu/~linuxppc/
|
|
and http://www.linuxppc.org/
|
|
|
|
<P>Ports to other machines, including MIPS and ARM, are under way and showing
|
|
various amounts of progress. Don't hold your breath, but if you are interested
|
|
and able to contribute, you may well find other developers who wish to
|
|
work with you.
|
|
|
|
<P>Linux is no longer considered to be in beta testing, as version 1.0
|
|
was released on March 14, 1994. There are still bugs in the system, and
|
|
new bugs will creep up and be fixed as time goes on. Because Linux follows
|
|
the ``open development model'', all new versions will be released to the
|
|
public, whether or not they are considered ``production quality''. However,
|
|
in order to help people tell whether they are getting a stable version
|
|
or not, the following scheme has been implemented: Versions 1.x.y, where
|
|
x is an even number, are stable versions, and only bug fixes will be applied
|
|
as y is incremented. So from version 1.2.2 to 1.2.3, there were only bug
|
|
fixes, and no new features. Versions 1.x.y, where x is an odd number, are
|
|
beta-quality releases for developers only, and may be unstable and may
|
|
crash, and are having new features added to them all the time. From time
|
|
to time, as the current development kernel stabilizes, it will be frozen
|
|
as the new ``stable'' kernel, and development will continue on a new development
|
|
version of the kernel.
|
|
|
|
<P>The current stable version is 2.0.31 (this will continue to change as
|
|
new device drivers get added and bugs fixed), and development has also
|
|
started on the experimental 2.1.x kernels. If 2.0.x is too new for you,
|
|
you may want to stick with 1.2.13 for the time being. However, the latest
|
|
releases of 2.0 have proved quite stable. Do note that in order to upgrade
|
|
from 1.2 to 2.0, you need to upgrade some utilities as well; you may wish
|
|
to upgrade to the latest version of your Linux distribution in order to
|
|
obtain those utilities. The Linux kernel source code also contains a file,
|
|
Documentation/Changes, which explains these changes and more.
|
|
|
|
<P>Most versions of Linux, beta or not, are quite stable, and you can keep
|
|
using those if they do what you need and you don't want to be on the bleeding
|
|
edge. One site had a computer running version 0.97p1 (dating from the summer
|
|
of 1992) for over 136 days without an error or crash. (It would have been
|
|
longer if the backhoe operator hadn't mistaken a main power transformer
|
|
for a dumpster...) Others have posted uptimes in excess of a year. One
|
|
site still had a computer running Linux 0.99p15s over 600 days at last
|
|
report.
|
|
|
|
<P>One thing to be aware of is that Linux is developed using an open and
|
|
distributed model, instead of a closed and centralized model like much
|
|
other software. This means that the current development version is always
|
|
public (with up to a week or two of delay) so that anybody can use it.
|
|
The result is that whenever a version with new functionality is released,
|
|
it almost always contains bugs, but it also results in a very rapid development
|
|
so that the bugs are found and corrected quickly, often in hours, as many
|
|
people work to fix them.
|
|
|
|
<P>In contrast, the closed and centralized model means that there is only
|
|
one person or team working on the project, and they only release software
|
|
that they think is working well. Often this leads to long intervals between
|
|
releases, long waiting for bug fixes, and slower development. The latest
|
|
release of such software to the public is sometimes of higher quality,
|
|
but the development speed is generally much slower.
|
|
|
|
<P>As of October 24, 1997, the current stable version of Linux is 2.0.31,
|
|
and the latest development version is 2.1.59.
|
|
|
|
<P>I will begin this report by covering the areas that we were concerned
|
|
about and giving reasons that were chose options that we went with. I will
|
|
not get very technical in this fist section, but will cover in detail how
|
|
we implemented each part of the system and give examples of the configuration
|
|
files in section two.
|
|
<DIV ALIGN=right>
|
|
<HR ALIGN=RIGHT></DIV>
|
|
|
|
<DIV ALIGN=right><FONT SIZE=+4>Section 1</FONT></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Outlining Our Situation"></A><FONT SIZE=+4>Outlining
|
|
Our Situation</FONT></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Our Situation</FONT></B></DIV>
|
|
When I became the Information Systems Department manager for the University
|
|
of Nebraska Press I inherited a very tired and aging Novell Netware 3.1
|
|
server that was handling all the network serving duties for approximately
|
|
fifty users. This is not a large network and our needs are not out of the
|
|
ordinary, but this machine was due for replacement. Novell was on version
|
|
4.x, NT 4.0 had just come out and this machine was only a Pentium 90 with
|
|
data drives that were noisier than Nebraska's memorial stadium.
|
|
|
|
<P>It was time to begin the search for replacements and I had the same
|
|
issues to deal with that my predecessors had, plus some new ones. The main
|
|
issue was compatibility with our order fulfillment and inventory system
|
|
called The Cat's Pajamas. This system was originally developed on the Data
|
|
General line of mini and mainframe computers using its interpreted language.
|
|
The system was ported to PC servers (mainly Novell Netware) when a company
|
|
called Subject Wills ported the interpreter to the PC platform. It has
|
|
a character based user interface, stores all its data in flat indexed text
|
|
files and is pretty fast and stable on the Novell platform. Our new requirements
|
|
were for remote access for our warehouse, and if possible, access for the
|
|
five Macs that we have, but spend as little money as possible.
|
|
|
|
<P>I was not very interested in upgrading our current Netware license,
|
|
since at this time Novell was playing the CEO of the Month game which had
|
|
caused me to lose much of my confidence in the company. The next logical
|
|
choice was Microsoft Windows NT. I called Cats and asked if the application
|
|
would run on NT and they told me that they had a few installations and
|
|
things seemed to be running fine, but I would need a different version
|
|
of the DBC interpreter, which they uploaded for me. I proceeded to copy
|
|
the entire system and database to the NT server and logged on from my Windows
|
|
95 PC. I had to rewrite the batch file that Cats uses to start because
|
|
they were using Netware network commands, but I was able to get them changed
|
|
and get a session up.
|
|
|
|
<P>At this point I thought this looked very good, so I ordered the production
|
|
server. The server was a dual CPU Pentium 150 with built in Adaptec 2940UW
|
|
SCSI controller and 256MB of RAM. I thought this would be perfect to act
|
|
as the CATS server, file server and printer server for 50 people, especially
|
|
since Netware was doing this on a Pentium 90 with 64 MB of RAM. I got the
|
|
server a few weeks later, installed NT 4.0 and Cats. After I got Cats installed
|
|
I had our business department and Customer Service department try running
|
|
some large and CPU intensive reports on it and things seemed to run great,
|
|
so we pushed it into service. At this same time I was setting up a RedHat
|
|
Linux 4.1 machine on a Pentium 100 with 32 MB of RAM. I had used RedHat
|
|
Linux in my previous position with great luck as a web server and StreamWorks
|
|
audio/video server so I wanted to see if it could fit in here, but I didn't
|
|
know where or how.
|
|
|
|
<P>Life after moving Cats to NT was a nightmare. The system was crashing
|
|
two to three times a day with no reason that I could find. I was on the
|
|
phone with Microsoft and Cats constantly, but nobody could figure it out.
|
|
Microsoft had me apply Service Packs one through three and a few HotFixes,
|
|
which helped, but it still was crashing at least twice a week with the
|
|
infamous "Blue Screen of Death". After many weeks and about $1500.00 in
|
|
phone support from Microsoft, the technical support rep told me that I
|
|
should find a better software package than The Cat's Pajamas. This is was
|
|
not the solution I was looking for, since this is the package that a sizeable
|
|
percentage of presses our size nationwide are running, so I was forced
|
|
to bring the old Novell server back into production until I could figure
|
|
something out.
|
|
|
|
<P>By this time I had upgraded the RedHat Linux machine to version 4.2,
|
|
but it still wasn't doing much, so I added two IDE 1.6 GB hard drives,
|
|
installed SAMBA and copied CATS over to this computer to play a little.
|
|
I was able to connect from my Windows 95 computer and run Cats without
|
|
any modifications to the batch file I had created for the NT server. I
|
|
had the Business manager and Customer Service manager try the reports again
|
|
and everything seemed fine, but I still had my doubts, so I just kept the
|
|
system up for myself and the IS department to test until a later date.
|
|
|
|
<P>The Netware server was still holding on and doing its job until I got
|
|
a call one Thursday night at about 9:00 from our Customer Service manager.
|
|
He had been running the reindexing program to prepare for the month-end
|
|
closing that was to start Friday, but the server had crashed. I worked
|
|
on it until about 12:30 am and finally got it working, but the whole thing
|
|
died again Friday morning at about 6:30 and again at 7:00, so I knew we
|
|
were in trouble. The only option left was to replace the server now and
|
|
the only thing I had was the Linux server, so I restored Cats off our Windows
|
|
NT tape backup machine to the Linux server and changed the login scripts
|
|
to connect the users to this server for the Cats drives. Within one hour,
|
|
we were back in operation.
|
|
|
|
<P>After completing the morning duties, we normally run a complete Cats
|
|
backup before we continue with closing which usually would take two hours
|
|
to complete on the Netware server. The Linux machine was able to do the
|
|
entire backup in 45 minutes, cutting a little over an hour off our closing
|
|
time. This increase in speed came from a decrease in hardware because the
|
|
Linux server was running only 32 MB in RAM and IDE hard drives where the
|
|
Netware server had 64 MB in RAM and SCSI drives. The speed increase has
|
|
been noticed in daily work also. I get almost daily remarks that the system
|
|
seems to be running faster and more reliable.
|
|
|
|
<P>We have recently upgraded the CPU to a 200Mhz Pentium and have upgraded
|
|
the Memory to 64 MB to handle the newest plans of making this server replace
|
|
our Windows NT file/printer server, which still crashes about twice a month
|
|
for no reason, even after an additional $1,500 in tech support with Microsoft.
|
|
This single computer running RedHat Linux will replace both our Novell
|
|
Netware 3.11 server and our Windows NT 4.0 server, while decreasing total
|
|
hardware requirements. With the recent advances from the Samba team in
|
|
supporting the NT domain structure and the December 1997 release of RedHat
|
|
5.0, I expect to have a very efficient and inexpensive server for our Windows
|
|
95, Windows NT and Macintosh clients.
|
|
<DIV ALIGN=right>
|
|
<HR ALIGN=RIGHT></DIV>
|
|
|
|
<DIV ALIGN=right><FONT SIZE=+4>Section 2</FONT></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Why We Chose RedHat Linux"></A><FONT SIZE=+4>Why
|
|
We Chose RedHat Linux</FONT></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Linux Features"></A><B><FONT SIZE=+2>Linux Features</FONT></B></DIV>
|
|
Linux is a very feature rich operating system. Many of its features are
|
|
not found on its commercial competitor Windows NT due to the fact that
|
|
Unix has been in constant development since it was invented in the early
|
|
1970's. Even though Linux has only been around since the early 90's, it
|
|
benefits from the rich archives of Unix applications and utilities because
|
|
of its POSIX compliance. Linux is unique in that the kernel does not use
|
|
any code from previous Unix implementations, but can still tap into the
|
|
libraries of BSD and System V distributions. I feel the strongest feature
|
|
of Linux is the Internet itself and the many technical users that are responsible
|
|
for the development of the many drivers and ports to other hardware platforms.
|
|
Many Intel platform bug fixes are release for Linux before they are release
|
|
in other ``mainstream'' operating systems mainly due to the fact the users
|
|
are also the developers.
|
|
<UL>
|
|
<LI>
|
|
· multitasking: several programs running at once.</LI>
|
|
|
|
<LI>
|
|
· multi-user: several users on the same machine at once (and no
|
|
two-user licenses!)..</LI>
|
|
|
|
<LI>
|
|
· multiplatform: runs on many different CPUs, not just Intel.</LI>
|
|
|
|
<LI>
|
|
· multiprocessor: SMP support is available on the Intel and SPARC
|
|
platforms (with work currently in progress on other platforms), and Linux
|
|
is used in several loosely-coupled MP applications, including Beowulf systems
|
|
(see http://cesdis.gsfc.nasa.gov/linux-web/beowulf/beowulf.html) and the
|
|
Fujitsu AP1000+ SPARC-based supercomputer.</LI>
|
|
|
|
<LI>
|
|
· runs in protected mode on the 386.</LI>
|
|
|
|
<LI>
|
|
· has memory protection between processes, so that one program can't
|
|
bring the whole system down.</LI>
|
|
|
|
<LI>
|
|
· demand loads executables: Linux only reads from disk those parts
|
|
of a program that are actually used.</LI>
|
|
|
|
<LI>
|
|
· shared copy-on-write pages among executables. This means that
|
|
multiple process can use the same memory to run in. When one tries to write
|
|
to that memory, that page (4KB piece of memory) is copied somewhere else.
|
|
Copy-on-write has two benefits: increasing speed and decreasing memory
|
|
use.</LI>
|
|
|
|
<LI>
|
|
· virtual memory using paging (not swapping whole processes) to
|
|
disk: to a separate partition or a file in the filesystem, or both, with
|
|
the possibility of adding more swapping areas during runtime (yes, they're
|
|
still called swapping areas). A total of 16 of these 128 MB swapping areas
|
|
can be used at once, for a theoretical total of 2 GB of usable swap space.
|
|
It is simple to increase this if necessary, by changing a few lines of
|
|
source code.</LI>
|
|
|
|
<LI>
|
|
· a unified memory pool for user programs and disk cache, so that
|
|
all free memory can be used for caching, and the cache can be reduced when
|
|
running large programs.</LI>
|
|
|
|
<LI>
|
|
· dynamically linked shared libraries (DLL's), and static libraries
|
|
too, of course.</LI>
|
|
|
|
<LI>
|
|
· does core dumps for post-mortem analysis, allowing the use of
|
|
a debugger on a program not only while it is running but also after it
|
|
has crashed.</LI>
|
|
|
|
<LI>
|
|
· mostly compatible with POSIX, System V, and BSD at the source
|
|
level.</LI>
|
|
|
|
<LI>
|
|
· through an iBCS2-compliant emulation module, mostly compatible
|
|
with SCO, SVR3, and SVR4 at the binary level.</LI>
|
|
|
|
<LI>
|
|
· all source code is available, including the whole kernel and all
|
|
drivers, the development tools and all user programs; also, all of it is
|
|
freely distributable. Plenty of commercial programs are being provided
|
|
for Linux without source, but everything that has been free, including
|
|
the entire base operating system, is still free.</LI>
|
|
|
|
<LI>
|
|
· POSIX job control.</LI>
|
|
|
|
<LI>
|
|
· pseudoterminals (pty's).</LI>
|
|
|
|
<LI>
|
|
· 387-emulation in the kernel so that programs don't need to do
|
|
their own math emulation. Every computer running Linux appears to have
|
|
a math coprocessor. Of course, if your computer already contains an FPU,
|
|
it will be used instead of the emulation, and you can even compile your
|
|
own kernel with math emulation removed, for a small memory gain.</LI>
|
|
|
|
<LI>
|
|
· support for many national or customized keyboards, and it is fairly
|
|
easy to add new ones dynamically.</LI>
|
|
|
|
<LI>
|
|
· multiple virtual consoles: several independent login sessions
|
|
through the console, you switch by pressing a hot-key combination (not
|
|
dependent on video hardware). These are dynamically a located; you can
|
|
use up to 64.</LI>
|
|
|
|
<LI>
|
|
· Supports several common filesystems, including minix, Xenix, and
|
|
all the common system V file systems, and has an advanced filesystem of
|
|
its own, which offers filesystems of up to 4 TB, and names up to 255 characters
|
|
long.</LI>
|
|
|
|
<LI>
|
|
· transparent access to MS-DOS partitions (or OS/2 FAT partitions)
|
|
via a special filesystem: you don't need any special commands to use the
|
|
MS-DOS partition, it looks just like a normal Unix filesystem (except for
|
|
funny restrictions on filenames, permissions, and so on). MS-DOS 6 co pressed
|
|
partitions do not work at this time without a patch (dmsdosfs). VFAT (WNT,
|
|
Windows 95) support is available in Linux 2.0 ·special filesystem
|
|
called UMSDOS which allows Linux to be installed on a DOS filesystem.</LI>
|
|
|
|
<LI>
|
|
· read-only HPFS-2 support for OS/2 2.1</LI>
|
|
|
|
<LI>
|
|
· HFS (Macintosh) file system support is available separately as
|
|
a module.</LI>
|
|
|
|
<LI>
|
|
· CD-ROM filesystem which reads all standard formats of CD-ROMs.</LI>
|
|
|
|
<LI>
|
|
· TCP/IP networking, including ftp, telnet, NFS, etc.</LI>
|
|
|
|
<LI>
|
|
· AppleTalk server</LI>
|
|
|
|
<LI>
|
|
· Netware client and server</LI>
|
|
|
|
<LI>
|
|
· Lan Manager (SMB) client and server</LI>
|
|
|
|
<LI>
|
|
· Many networking protocols: the base protocols available in the
|
|
latest development kernels include TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP
|
|
(AppleTalk), NetBEUI, Netrom, and others. Stable ne work protocols included
|
|
in the stable kernels currently include TCP, IPv4, IPX, DDP, and AX.25.</LI>
|
|
</UL>
|
|
|
|
<DIV ALIGN=right><A NAME="Reliability"></A><B><FONT SIZE=+2>Reliability</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>The system has to be available 365 days a year.</I></DIV>
|
|
The Linux server has proven to be as reliable as any other server operating
|
|
system I have ever used, and more reliable than most. My past experience
|
|
includes managing Novell Netware, Windows NT 3.51 and 4.0 and Irix (Silicon
|
|
Graphics) servers. I must say that Novell has always been a steady performer,
|
|
but I have always felt that it was more complex than it needed to be. The
|
|
Silicon Graphics machines were always rock solid, but they should be when
|
|
you pay more than $20,000 for a single server.
|
|
|
|
<P>My Linux server was initially setup in January 1997 as a test platform
|
|
to see if it could handle being a production server. At this time I had
|
|
installed a copy of The Cat's Pajamas, Apache, StreamWorks (audio/video
|
|
server) and Samba. Using Samba, I was able to connect the Information Systems
|
|
Department to this server so we could run Cats and test the audio/video
|
|
server. A typical day of testing the system would include reindexing and
|
|
reformatting Cats while serving multiple 100 megabyte video files and acting
|
|
as a file server. The Linux machine was able to handle all of this while
|
|
running on only 32 megabytes of RAM and using a Pentium 100 CPU.
|
|
|
|
<P>From January 1997 to July 1997, we experienced only three shutdowns
|
|
of this server, two of which were caused by power failures in the building
|
|
and the third time was due to stupidity on the administrator's part. This
|
|
reliability was a key factor in our judgment to use Linux as our server
|
|
platform.
|
|
|
|
<P>The installation of NT was simple, and it was easy to get the system
|
|
connected to all the printers, but it proved to be unreliable. We were
|
|
experiencing crashes every day, even after installing service packs one
|
|
and two. I then installed a hot fix to service pack two which was to fix
|
|
errors in the Macintosh services which helped. I was down to crashing just
|
|
one to two times a month. I also tried to run Cats off this system, which
|
|
was a complete disaster since we could not get more than five users at
|
|
a time in Cats, and reports would take forever to run.
|
|
<DIV ALIGN=right><A NAME="Cross platform"></A><B><FONT SIZE=+2>Cross platform</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>The new server must be able to serve the Mac users
|
|
as well as the Windows clients.</I></DIV>
|
|
The server must be able to allow connections from Windows and Macintosh
|
|
clients. All major server operating system allow for this, including Linux.
|
|
To server Windows clients, Linux uses a package called Samba. Samba is
|
|
server software for computers running under Unix or another Unix-like operating
|
|
systems with standard TCP/IP available. Samba, as it stands right now,
|
|
depends on Unix file structure, permissions, system calls and services.
|
|
It provides file and printer services for clients using some variants of
|
|
SMB (Server Message Block) protocol. SMB is a "native" networking protocol
|
|
used by MS-DOS based (in a very broad sense, including derivatives) clients.
|
|
They include those from IBM, ICL, Microsoft and even one particular Novell
|
|
product. In particular clients are distributed with `Windows for Workgroups',
|
|
`Windows 95', 'Windows NT', 'OS/2 Warp and others.
|
|
|
|
<P>Some of Samba's server cousins include DEC Pathworks, Microsoft LAN
|
|
Manager/X, OS/2 Lan Manager, IBM LAN Server, Syntax Server and Windows
|
|
NT Server. Some clients such as Windows 95/Workgroups or Warp Connect can
|
|
also act as low volume servers with limited management facilities.
|
|
|
|
<P>SMB is becoming very popular, mainly owing to these factors:
|
|
<UL>
|
|
<LI>
|
|
· Windows 95 has dial-up access to PPP servers with an included
|
|
service, and this service allows one to "browse" to public shares on the
|
|
Internet.</LI>
|
|
|
|
<LI>
|
|
· Samba is "free" and this is a lot less expensive than Novell!
|
|
(friendlier too!)</LI>
|
|
|
|
<LI>
|
|
· With Samba, Unix servers, well connected to a global network,
|
|
can speak in a "native" protocol of clients. It is much simpler to maintain
|
|
one more protocol on a capable server than teach new tricks to multiple
|
|
clients which were never meant to do something else.</LI>
|
|
|
|
<LI>
|
|
· There is an established, well tested way of doing SMB over TCP/IP
|
|
described in publicly available RFC 1001 and RFC 1002 documents. This means
|
|
that SMB has a head start when it comes to Internet integration.</LI>
|
|
</UL>
|
|
|
|
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH="667" HEIGHT="177" >
|
|
<TR>
|
|
<TD WIDTH="50%" HEIGHT="170"> <IMG SRC="./gx/coldiron/netatalk.gif" NATURALSIZEFLAG="0" HEIGHT=125 WIDTH=384 ALIGN=BOTTOM></TD>
|
|
|
|
<TD WIDTH="50%"> On the Macintosh side, Netatalk provides the connectivity
|
|
services. Netatalk is a Unix implementation of the AppleTalk Protocol Suite,
|
|
originally for BSD-derived systems. It includes support for routing AppleTalk,
|
|
serving Unix and AFS file systems over AFP (AppleShare), serving Unix printers
|
|
and accessing AppleTalk printers over PAP. A number of other minor printing
|
|
and debugging utilities are also included.</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<DIV ALIGN=right><A NAME="Compatibility with Existing Applications"></A></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Compatibility with Existing Applications</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>This server would have to be compatible with The Cat's
|
|
Pajamas</I></DIV>
|
|
When we tried to move to Windows NT, we were given a migration guideline
|
|
from The Cats Pajama's to follow. The instructions were simple and the
|
|
entire migration took little time, but performance was terrible. We needed
|
|
a system that could handle serving the system to the network and help maintain
|
|
the integrity of the Cats data files. I have been told that Unix heavily
|
|
caches file I/O activity (more so than Windows NT or Novell Netware), so
|
|
this added to my hopes that Linux would be a strong server platform for
|
|
Cats, which is a file I/O intensive application.
|
|
|
|
<P>My hopes were verified when we formally flipped the switch on the Linux
|
|
server and turned off the Novell server. Cats ran smoothly and gracefully
|
|
scaled up to the normal daily user level without any slowdowns or misfortunes.
|
|
The Novell Netware server would normally experience periods when the system
|
|
would slow down severely, and then speed back up to normal levels after
|
|
5 to 10 minutes. During these slowdowns, Cat's would become virtually useless,
|
|
and sometimes users would be booted out of Cat's totally.
|
|
|
|
<P>Another key area that I needed to be compatible with was the world Wide
|
|
Web. I needed to be able to get CGI programs that were already tested and
|
|
in use without having to develop them all myself. I also wanted to be able
|
|
to get help easily and cheaply on setting up the web server and fixing
|
|
it when it breaks. Linux uses Apache, the most widely used web server in
|
|
the world. I can easily get support from mailing lists , news groups and
|
|
Internet BBS's.
|
|
<BR><A HREF="http://www.netcraft.com/survey/">(http://www.netcraft.com/survey/)</A>
|
|
<DIV ALIGN=right><A NAME="Speed"></A><B><FONT SIZE=+2>Speed</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>After installing the Windows NT server, many users
|
|
complained about slows access times for the network drives.</I></DIV>
|
|
My users equate network drive access speed with network quality. They were
|
|
very pleased with the speed of saving and opening files when they were
|
|
on the Novell Netware server, but expressed disappointment in the speed
|
|
of saving and opening files when we switch to the Windows NT server. One
|
|
way that I have very unscientifically measured the speed of the Linux server
|
|
was when we were using a Windows NT 4.0 machine to backup the Cats files
|
|
off the Linux machine. This operation took 45 minutes while the exact same
|
|
operation on the Novell server would take at least an hour longer. Currently
|
|
I am backing up CATS by creating a gzipped tar file directly on the Linux
|
|
server and it takes a little less than 45 minutes. Below is part of the
|
|
output from the df command that shows the drive I have Cats on. This shows
|
|
the current size of our Cats installation so you can get an idea of how
|
|
much information is backed up in 45 minutes.
|
|
|
|
<P>Filesystem 1024-blocks Used Available Capacity Mounted on
|
|
|
|
<P><FONT FACE="Courier New,Courier">/dev/hdc1 2417493 1584580 707923 69%
|
|
/usr/local/samba-sys</FONT>
|
|
<DIV ALIGN=right><A NAME="Inexpensive"></A><B><FONT SIZE=+2>Inexpensive</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>I could not afford to go through another costly installation
|
|
</I>.</DIV>
|
|
During the twelve months of running Windows NT 4.0 server, I have spent
|
|
more than $3,000 in technical support with Microsoft to remedy various
|
|
problems, including the frequent crashes and problems running Cats. The
|
|
fix for the crashes was always ``Install the latest service pack or hot
|
|
fix and call us back tomorrow.'' The fix for Cats was ``Get rid of The
|
|
Cat's Pajamas and find a better system which was more Windows compatible
|
|
to replace it.'' I wish I would have documented that support call with
|
|
Microsoft so I had the name of the tech rep.
|
|
|
|
<P>Technical support is no the only area of expense involved with Windows
|
|
NT. The table below shows typical applications and the cost for each platform.
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 WIDTH="438" BGCOLOR="#CCCCCC" NOSAVE >
|
|
<TR VALIGN=TOP NOSAVE>
|
|
<TD ALIGN=CENTER WIDTH="19%" BGCOLOR="#000000" NOSAVE><B><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Service</FONT></FONT></B></TD>
|
|
|
|
<TD ALIGN=CENTER WIDTH="26%" BGCOLOR="#000000" NOSAVE><B><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Microsoft</FONT></FONT></B></TD>
|
|
|
|
<TD ALIGN=CENTER WIDTH="16%" BGCOLOR="#000000" NOSAVE><B><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Cost</FONT></FONT></B></TD>
|
|
|
|
<TD ALIGN=CENTER WIDTH="26%" BGCOLOR="#000000" NOSAVE><B><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Linux</FONT></FONT></B></TD>
|
|
|
|
<TD ALIGN=CENTER WIDTH="13%" BGCOLOR="#000000" NOSAVE><B><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Cost</FONT></FONT></B></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Operating
|
|
System</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%" NOSAVE><FONT SIZE=-2>Windows NT Server 4.0</FONT></TD>
|
|
|
|
<TD ALIGN=RIGHT WIDTH="16%"><FONT SIZE=-2>$2,950.00</FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Linux RedHat 5.0 (CD)</FONT></TD>
|
|
|
|
<TD ALIGN=RIGHT WIDTH="13%"><FONT SIZE=-2>$49.00</FONT></TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Web
|
|
Server</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Internet Information Server</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Apache</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>E-Mail</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Exchange 5.0 Enterprise</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$6,400.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Sendmail,UW IMAP,POP-3</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Telnet
|
|
server</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>SLNet (4 user licensee)</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$300.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Included free unlimited licensee</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>FTP
|
|
server</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%" NOSAVE><FONT SIZE=-2>Included with IIS</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%" NOSAVE><FONT SIZE=-2>Included</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Relational
|
|
Database</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%" NOSAVE><FONT SIZE=-2>SQL Server 6.5</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$10,650.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Just Logic SQL</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$219.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Proxy
|
|
Server</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Microsoft Proxy Server</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$995.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Squid Object Cache</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Backup
|
|
Software</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>Included</FONT></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>BRU, included</FONT></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$0.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Total
|
|
Cost</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$20,995.00</FONT></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><FONT SIZE=-2>$268.00</FONT></DIV>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE></TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="16%"></TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="13%"></TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Number
|
|
of Users</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>100</FONT></TD>
|
|
|
|
<TD WIDTH="16%"></TD>
|
|
|
|
<TD WIDTH="26%"><FONT SIZE=-2>100</FONT></TD>
|
|
|
|
<TD WIDTH="13%"></TD>
|
|
</TR>
|
|
|
|
<TR ALIGN=RIGHT VALIGN=TOP NOSAVE>
|
|
<TD WIDTH="19%" BGCOLOR="#000000" NOSAVE><FONT COLOR="#FFFFFF"><FONT SIZE=-2>Cost
|
|
per seat</FONT></FONT></TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="16%">
|
|
<DIV ALIGN=right><B><FONT SIZE=-2>$212.95</FONT></B></DIV>
|
|
</TD>
|
|
|
|
<TD WIDTH="26%"></TD>
|
|
|
|
<TD WIDTH="13%">
|
|
<DIV ALIGN=right><B><FONT SIZE=-2>$2.68</FONT></B></DIV>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<DIV ALIGN=right><A NAME="Low hardware requirements"></A></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Low hardware requirements</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>I did not want to build the next Cray just to serve
|
|
55 users.</I></DIV>
|
|
As at most University Press's, our operating budget is relatively small,
|
|
especially when compared to commercial business and some other campus departments.
|
|
This financial restriction did not allow me to purchase a server hardware
|
|
platform that I would have like to have for the NT server, but the system
|
|
was not low-end either.
|
|
|
|
<P><FONT SIZE=-1>Our Windows NT 4.0 server:</FONT>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 WIDTH="225" >
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"><B><FONT SIZE=-1>OS</FONT></B></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>Windows NT Server 4.0 (SP3)</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"><B><FONT SIZE=-1>CPU</FONT></B></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>2 x Pentium 150</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"><B><FONT SIZE=-1>RAM</FONT></B></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>256 Megabytes</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"><B><FONT SIZE=-1>SCSI</FONT></B></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>Adaptec 2940</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>-All data drives are SCSI</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>-Boot drive is IDE</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="33%"><B><FONT SIZE=-1>Ethernet</FONT></B></TD>
|
|
|
|
<TD WIDTH="67%"><FONT SIZE=-1>NE2000 clone</FONT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<FONT SIZE=-1>Our RedHat Linux 4.2 server:</FONT>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 WIDTH="227" >
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"><B><FONT SIZE=-1>OS</FONT></B></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>RedHat 4.2</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"><B><FONT SIZE=-1>CPU</FONT></B></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>Single Pentium 200</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"><B><FONT SIZE=-1>RAM</FONT></B></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>64 megabytes</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"><B><FONT SIZE=-1>SCSI</FONT></B></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>DPT SmartCache IV</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>-RAID Station 3 (RAID 5)</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>-Boot drive is IDE</FONT></TD>
|
|
</TR>
|
|
|
|
<TR VALIGN=TOP>
|
|
<TD ALIGN=RIGHT WIDTH="34%"><B><FONT SIZE=-1>Ethernet</FONT></B></TD>
|
|
|
|
<TD WIDTH="66%"><FONT SIZE=-1>NE2000 clone</FONT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<I><FONT SIZE=-1>The RAID which is listed on the Linux server was not purchased
|
|
strictly for the Linux server, but was purchased to be placed on whatever
|
|
server we decided to put into production.</FONT></I>
|
|
<DIV ALIGN=right><A NAME="Ease of administration"></A><B><FONT SIZE=+2>Ease
|
|
of administration</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>For myself and staff</I> .</DIV>
|
|
|
|
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH="450" >
|
|
<TR>
|
|
<TD WIDTH="41%"><IMG SRC="./gx/coldiron/control1.gif" NATURALSIZEFLAG="3" HEIGHT=392 WIDTH=157 ALIGN=BOTTOM></TD>
|
|
|
|
<TD WIDTH="59%">Unix usually gets the standard rap of being difficult to
|
|
manage and requiring a steep learning curve. While many of the tools that
|
|
will be used to manage the system are still command line based, a growing
|
|
number are graphical and comparable to Windows in ease of use. This is
|
|
especially true with the RedHat distribution, which includes a graphical
|
|
control panel which allows the administrator to change system setting without
|
|
working through the many text files which store this information. The control
|
|
panels I use the most are the ones which setup the printers, file system,
|
|
users and packages. If you use the included RedHat Package manager to install
|
|
new applications, they are listed in the package manager, which allows
|
|
you to graphically see what applications are installed on your system and
|
|
remove them if wanted, much like the uninstall option on Microsoft Windows.
|
|
|
|
<P><IMG SRC="./gx/coldiron/control2.gif" NATURALSIZEFLAG="3" HEIGHT=338 WIDTH=492 ALIGN=BOTTOM></TD>
|
|
</TR>
|
|
</TABLE>
|
|
<IMG SRC="./gx/coldiron/control3.gif" NATURALSIZEFLAG="3" HEIGHT=265 WIDTH=494 ALIGN=BOTTOM>
|
|
<DIV ALIGN=right><A NAME="Simple upgrade path"></A><B><FONT SIZE=+2>Simple
|
|
upgrade path</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><I>I don't want to start over each time a new version
|
|
comes out.</I></DIV>
|
|
RedHat Linux provides a very simple upgrade system in its installation
|
|
set. The upgrade is actually better than the Microsoft Windows NT upgrade
|
|
path, since you do not have to uninstall the previous version first.
|
|
|
|
<P>While it is not required that you uninstall the previous version of
|
|
Windows NT before installing the current release (4.0), it is recommended.
|
|
This can be a very intensive installation, since you would need to setup
|
|
all the user accounts again, along with reinstalling any software and automated
|
|
systems and scripts.
|
|
|
|
<P>When I upgraded from RedHat 4.1 to 4.2, the installation when smoothly
|
|
whiteout any problems. While this was not a major revision step, RedHat
|
|
has assured me that the soon to be released version 5.0 will offer a smooth
|
|
transition from 4.2.
|
|
|
|
<P><FONT SIZE=-1>From the RedHat Linux manual:</FONT>
|
|
<BR>
|
|
<CENTER><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="50%" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><FONT SIZE=-2>1.5 Upgrading from a Prior Version</FONT>
|
|
|
|
<P><FONT SIZE=-2>The installation process for Red Hat Linux 4.2 includes
|
|
the ability to upgrade from prior versions of Red Hat Linux (2.0, 2.1,
|
|
3.0.3, 4.0, and 4.1) which are based on RPM technology. Upgrading your
|
|
system installs the modular 2.0.x kernel as well as updated versions of
|
|
the packages which are installed on your machine. The upgrade process preserves
|
|
existing configuration files using a .rpmsave extension (e.g., sendmail.cf.rpmsave)
|
|
and leaves a log telling what actions it took in /tmp/upgradelog. As software
|
|
evolves, configuration file formats can change, so you should carefully
|
|
compare your original configuration files to the new files before integrating
|
|
your changes.</FONT>
|
|
|
|
<P><FONT SIZE=-2>To upgrade a Red Hat Linux system, you must use a boot
|
|
floppy (and possibly a supplemental floppy), just as if you were performing
|
|
a full install. After selecting the medium to install from (and setting
|
|
up networking information if it's required), the installation procedure
|
|
prompts you to either Install or Upgrade; select Upgrade. This upgrade
|
|
procedure is the functional equivalent of running the upgrade script in
|
|
prior versions of Red Hat Linux.</FONT>
|
|
<CENTER><IMG SRC="./gx/coldiron/upgrade-install.gif" NATURALSIZEFLAG="0" HEIGHT=214 WIDTH=319 ALIGN=BOTTOM></CENTER>
|
|
|
|
|
|
<P><FONT SIZE=-2>Please note that some upgraded packages may ``depend''
|
|
on other packages which may not be installed on your system. The upgrade
|
|
procedure takes care of these dependencies, but it may need to install
|
|
additional packages in order to satisfy them.</FONT> </TD>
|
|
</TR>
|
|
</TABLE></CENTER>
|
|
|
|
<BR>
|
|
<DIV ALIGN=right><A NAME="Remote control and administration"></A></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Remote control and administration</FONT></B></DIV>
|
|
One of the most attractive features of Linux (or Unix in general) is the
|
|
ability to truly remotely control the server. Since Linux comes with a
|
|
telnet server built in, you can use virtually any computer, regardless
|
|
of operating system to telnet into the computer to do all administrative
|
|
tasks. To remotely administer a Windows NT server, you must purchase a
|
|
separate application to allow remote control. The most popular program
|
|
for this is PCAnywhere by Symantec. This approach can become costly because
|
|
you must purchase a copy for the server to act as the host, and a copy
|
|
for each computer that needs to remotely control the server. How many remote
|
|
computers need to control the server? This depends on each installation,
|
|
but I have found that it save me a lot of running by having the ability
|
|
to control the server from every PC on my network, and from home.
|
|
|
|
<P>Telnet is text only, so this will be a drawback for many, but luckily
|
|
for us, Linux supports X Windows. X Windows can be used locally on the
|
|
server's console, like Windows NT, but can also be run remotely from any
|
|
computer that can run an X client. These remote terminals can by other
|
|
computers running Linux, or any other flavor of Unix and many X clients
|
|
can be downloaded or purchased for Windows, Windows NT and Macintosh computers.
|
|
Running X terminals does require more bandwidth, so I prefer just telneting
|
|
into the server.
|
|
|
|
<P>Another nice feature is the ability to display results of various system
|
|
utilities in a web page. One of the things our Customer Service manager
|
|
likes to know is which users have which files open and locked while using
|
|
Cats. I wrote a simple Perl script to run the smbstatus program and print
|
|
the results as a web page.
|
|
|
|
<P>The output web page:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><B><FONT FACE="Courier New,Courier">Snapshot of users for: Fri
|
|
Dec 5 </FONT> </B>
|
|
|
|
<P><B><FONT FACE="Courier New,Courier">11:41:18 CST 1997 </FONT> </B>
|
|
|
|
<P><FONT FACE="Courier New,Courier">This page shows currently logged on
|
|
users and locked files for the UNPLINUX server. </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">Right-click this page and select REFRESH
|
|
or RELOAD to force an update </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">Samba version 1.9.17p1 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">Service uid gid pid machine </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">---------------------------------------------- </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">cdrom root root 11697 enterprise (129.93.31.35)
|
|
Thu Dec 4 16:35:23 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">quinn root root 11697 enterprise (129.93.31.35)
|
|
Thu Dec 4 16:35:23 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">M-DATA cbrumm cbrumm 11435 ds9 (129.93.31.14)
|
|
Thu Dec 4 16:08:16 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">programs root root 11697 enterprise
|
|
(129.93.31.35) Thu Dec 4 16:35:23 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">L-NE cbrumm cbrumm 11435 ds9 (129.93.31.14)
|
|
Thu Dec 4 16:08:29 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">N-DBC cbrumm cbrumm 11435 ds9 (129.93.31.14)
|
|
Thu Dec 4 16:08:29 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">O-WORK cbrumm cbrumm 11435 ds9 (129.93.31.14)
|
|
Thu Dec 4 16:08:29 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">P-HIST cbrumm cbrumm 11435 ds9 (129.93.31.14)
|
|
Thu Dec 4 16:08:29 1997 </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier"><snip> </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">Locked files: </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">Pid DenyMode R/W Name </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">------------------------------ </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR fileauth.txt
|
|
Fri Dec 5 11:41:14 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">21212 DENY_NONE RDWR fileauth.txt
|
|
Fri Dec 5 11:40:28 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">20590 DENY_NONE RDWR fileauth.txt
|
|
Fri Dec 5 11:38:56 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">21384 DENY_NONE RDWR fileauth.txt
|
|
Fri Dec 5 11:06:15 1997 </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier"><snip> </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR filebac2.isi Fri
|
|
Dec 5 11:02:36 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">20590 DENY_NONE RDWR filebac2.isi
|
|
Fri Dec 5 10:14:44 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR fileauth.isi
|
|
Fri Dec 5 11:41:14 1997 </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">21212 DENY_NONE RDWR fileauth.isi
|
|
Fri Dec 5 11:40:28 1997 </FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">Share mode memory usage (bytes): </FONT>
|
|
<BR><FONT FACE="Courier New,Courier">92584(90%) free + 7728(7%) used +
|
|
2088(2%) overhead = 102400(100%) total </FONT></TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<BR>
|
|
<BR>The script that generates the above page:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><FONT FACE="Courier New,Courier">#!/usr/bin/perl</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># ******************************************************</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * Author: Quinn P. Coldiron *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * Date: 12-1-97 *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * Program: This program shows current
|
|
users of the *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * Samba server. *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># * *</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># ******************************************************</FONT>
|
|
<BR><FONT FACE="Courier New,Courier"># Use cgi-lib CGI library for PERL.</FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">require "/home/httpd/cgi-bin/cgi-lib.pl";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">$date = `date`;</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">$users = `./smbstatus`;</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">#Get the data from the form.</FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">&ReadParse;</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print &PrintHeader;</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<HTML>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<HEAD>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<TITLE>Logged In Samba Users</TITLE>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "</HEAD>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<BODY BGCOLOR= #D4D4D4>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<H1>Snapshot of users for:
|
|
$date</H1>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "This page shows currently logged
|
|
on users and locked files for the UNPLINUX server.<br>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "Right-click this page and select
|
|
REFRESH or RELOAD to force an update<br>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "<PRE>$users</PRE>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "</BODY>\n";</FONT>
|
|
<BR><FONT FACE="Courier New,Courier">print "</HTML>\n";</FONT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
|
|
<P>Windows NT provides a graphical program to show a chart us system performance,
|
|
but it is recommended that you do not run it on the server that you want
|
|
to monitor, because the monitor program itself takes too much of the system
|
|
resources, and thus skews the data. Linux provides a system monitoring
|
|
tool called TOP that is character based so it can be run on the server.
|
|
Since it is character based, you can telnet into the server and run it
|
|
from anywhere, getting an accurate picture of how the server is running.
|
|
|
|
<P><FONT SIZE=-1>Sample output of TOP:</FONT>
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><FONT FACE="Courier New,Courier"><FONT SIZE=-2>11:55am up 1 day, 15:02,
|
|
3 users, load average: 0.08, 0.04, 0.00</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>83 processes: 82 sleeping,
|
|
1 running, 0 zombie, 0 stopped</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>CPU states: 2.7% user,
|
|
4.2% system, 5.9% nice, 93.7% idle</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>Mem: 63204K av, 62336K
|
|
used, 868K free, 38384K shrd, 5536K buff</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>Swap: 114908K av, 368K
|
|
used, 114540K free 29496K cached</FONT></FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier"><FONT SIZE=-2>PID USER PRI NI SIZE
|
|
RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>22390 root 10 0 540
|
|
540 400 R 0 2.8 0.8 0:00 top</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>22388 cats 3 0 848 848
|
|
516 S 0 1.5 1.3 0:00 login</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>22391 cats 10 0 660
|
|
660 524 S 0 0.7 1.0 0:00 bash</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>6058 root 1 0 3568 3568
|
|
1396 S 0 0.5 5.6 1:25 tkdesksh</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>22283 root 0 0 552 552
|
|
424 S 0 0.3 0.8 0:00 in.telnetd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>22387 root 1 0 552 552
|
|
424 S 0 0.3 0.8 0:00 in.telnetd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>21212 quinn 0 0 1084
|
|
1084 660 S 0 0.1 1.7 0:02 smbd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>20921 root 1 0 588 536
|
|
356 S 0 0.1 0.8 0:08 SWserver</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>1 root 0 0 312 312 244
|
|
S 0 0.0 0.4 0:02 init</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>2 root 0 0 0 0 0 SW
|
|
0 0.0 0.0 0:01 kflushd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>3 root -12 -12 0 0 0
|
|
SW< 0 0.0 0.0 0:00 kswapd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>19509 root 0 0 1092
|
|
1092 652 S 0 0.0 1.7 0:18 smbd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>331 root 0 0 812 812
|
|
480 S 0 0.0 1.2 0:00 login</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>21 root 0 0 280 280
|
|
216 S 0 0.0 0.4 0:00 kerneld</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>240 root 0 0 336 316
|
|
280 S 0 0.0 0.4 0:00 gpm</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>128 root 0 0 368 360
|
|
276 S 0 0.0 0.5 0:00 syslogd</FONT></FONT>
|
|
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>137 root 0 0 496 488
|
|
268 S 0 0.0 0.7 0:00 klogd</FONT></FONT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<BR>
|
|
<DIV ALIGN=right>
|
|
<HR ALIGN=RIGHT></DIV>
|
|
|
|
<DIV ALIGN=right><FONT SIZE=+4>Section 3</FONT><A NAME="Under the Hood"></A></DIV>
|
|
|
|
<DIV ALIGN=right><FONT SIZE=+4>Under the Hood</FONT></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Setting up the server</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Linux installation"></A><B><I><FONT SIZE=+1>Linux
|
|
installation</FONT></I></B></DIV>
|
|
The actual installation of an operating system is often used as a judgement
|
|
on how good the system is. Just as with meeting people, you can never change
|
|
the first impression. I have found that setting up a RedHat Linux server
|
|
is as easy or even easier than setting up a Windows NT server. The setup
|
|
includes two floppies have everything needed to get the system to the point
|
|
that it can recognize the media (CDROM, FTP site, other server, etc.) that
|
|
the installation files are on. Windows NT supplies three floppies for this
|
|
purpose, but only supports CDROM installation. I have found that installing
|
|
RedHat Linux on a laptop can even be easier, since it can detect the PCMCIA
|
|
slots at installation time, while NT cannot. The most important factor
|
|
is to be familiar with the hardware you have installed in your machine,
|
|
including:
|
|
<UL>
|
|
<LI>
|
|
· hard drive(s): number and size; if you have more than one, it's
|
|
helpful to know which one is first, second, etc.</LI>
|
|
|
|
<LI>
|
|
· memory: amount of RAM.</LI>
|
|
|
|
<LI>
|
|
· CD-ROM: its interface type (IDE, SCSI, or other interface), and,
|
|
for non-IDE, non-SCSI CD-ROMs, the make and model number.</LI>
|
|
|
|
<LI>
|
|
· SCSI adapter: make and model number.</LI>
|
|
|
|
<LI>
|
|
· network card: make and model number.</LI>
|
|
|
|
<LI>
|
|
· mouse: type (serial, PS/2, or bus mouse), protocol (Logitech,
|
|
Microsoft, MouseMan, etc.), and number of buttons; also, for serial mice,
|
|
the com port it is connected to.</LI>
|
|
|
|
<LI>
|
|
· If you will be connected to a network, be sure you know your IP
|
|
address, netmask, gateway IP address, name server IP addresses, domain
|
|
name, and hostname. If you don't know these values, ask your network administrator.</LI>
|
|
|
|
<LI>
|
|
Also, if you will be installing the X Window System, you should be familiar
|
|
with the following:</LI>
|
|
|
|
<LI>
|
|
· your video card: make and model number or video chipset, amount
|
|
of video RAM.</LI>
|
|
|
|
<LI>
|
|
· your monitor: make and model number, allowable range of horizontal
|
|
and vertical refresh rates.</LI>
|
|
</UL>
|
|
You can install or upgrade Red Hat Linux/Intel via any of several basic
|
|
methods. Depending on the method you use, you need either one or two formatted
|
|
high-density (1.44 MB) 3.5-inch diskettes.
|
|
|
|
<P>Installing from CD-ROM or via NFS requires only a boot diskette. Installing
|
|
from a hard drive, via FTP, from an SMB volume, or from a PCMCIA device
|
|
(including PCMCIA-based CD-ROMs) requires both a boot diskette and a supplemental
|
|
diskette. Section 2.3.1 below explains how to create boot and supplemental
|
|
diskettes.
|
|
|
|
<P>CD-ROM
|
|
|
|
<P>If you have a Red Hat Linux CD and a boot diskette you will need a supported
|
|
CD-ROM drive and either a 3.5 inch floppy drive or an operational installation
|
|
of MS-DOS on your machine in order to run the installation utility. If
|
|
a boot diskette did not accompany your CD, you will need access to a computer
|
|
running either Linux or MS-DOS to create a boot diskette from the CD.
|
|
|
|
<P>NFS
|
|
|
|
<P>If you wish to install over a network, you will need to mount the Red
|
|
Hat Linux CD-ROM on a machine that supports ISO-9660 file systems with
|
|
Rock Ridge extensions. The machine must also support NFS. Export the CD-ROM
|
|
file system via NFS. You will need to have name services configured, or
|
|
know the NFS server's IP address, and the path to the exported CD-ROM.
|
|
|
|
<P>FTP
|
|
|
|
<P>For an FTP install, you must have a boot disk and supplemental disk.
|
|
You will need to have a valid name server configured or the IP address
|
|
of the FTP server you will be using. You will also need the path to the
|
|
root of the Red Hat Linux directory on the FTP site.
|
|
|
|
<P>SMB Shared Volume
|
|
|
|
<P>If you wish to install from an SMB shared volume, you will need to mount
|
|
the Red Hat Linux CD-ROM on a Microsoft Windows NT or Windows 95 server
|
|
that supports shared volumes. You will need to have name services configured,
|
|
or know the server's IP address; you will also need the name of the shared
|
|
volume containing the Red Hat Linux CD-ROM and the account number and password
|
|
to use to access the volume.
|
|
|
|
<P>Hard Drive
|
|
|
|
<P>To install Red Hat Linux from a hard drive you will need the same boot
|
|
and supplemental disks used by the FTP install. You must first create a
|
|
RedHat directory at the top level of your directory tree. Everything you
|
|
will install should be placed in that directory. First copy the base subdirectory,
|
|
then copy the packages you want to install to another subdirectory called
|
|
RPMS. You can use available space on an existing DOS partition or a Linux
|
|
partition that is not required in the install procedure (for example, a
|
|
partition that would be used for data storage on the installed system).
|
|
|
|
<P>If you are using a DOS filesystem, you may not be able to use the full
|
|
Linux filenames for the RPM packages. The installation process does not
|
|
care what the filenames look like, but it is a good idea that you keep
|
|
track of them so you will know what you are installing.
|
|
|
|
<P>PCMCIA
|
|
|
|
<P>If your CD-ROM, Ethernet card, or local hard disk is connected to a
|
|
PCMCIA adapter, you must install with PCMCIA support. You need a supported
|
|
PCMCIA controller and a supported PCMCIA SCSI adapter or Ethernet card.
|
|
Installing via PCMCIA requires the use of a supplemental diskette.
|
|
|
|
<P>Please See Appendix A for The Official RedHat Installation Guide.
|
|
<DIV ALIGN=right><A NAME="Samba Installation/Setup"></A></DIV>
|
|
|
|
<DIV ALIGN=right><B><I><FONT SIZE=+2>Samba Installation/Setup</FONT></I></B></DIV>
|
|
Installing the Samba RPM is the easiest way to install, as you only need
|
|
to download the file and type rpm -I <I>filename</I> and it is installed.
|
|
Setting up Samba is simple, as you just edit a text file to tell it what
|
|
directories are going to be shared to the Windows clients. The text file's
|
|
name is smb.conf and is located in the /etc. directory if you installed
|
|
Samba using RPM. If you downloaded the .tar archive and installed Samba
|
|
using the default installation, you will find the smb.conf file in /usr/local/samba/lib/.
|
|
|
|
<P>An advantage to installing Samba using RPM is that it is easier. A disadvantage
|
|
is that the versions are not as current, but they are usually more stable
|
|
and reliable. I choose to go directly to the Samba web pages and download
|
|
the most current non-beta release.
|
|
|
|
<P>The picture on the left is the Network Neighborhood window on my NT
|
|
workstation and is currently showing everything that I have access to on
|
|
my Linux server.
|
|
|
|
<P>If you installed Samba using RPM, it will automatically be started on
|
|
system startup, but I had to manually add it to my rc.local script to have
|
|
it start on bootup because I did not install from the RPM. I chose to install
|
|
from the tarballs available at the official Samba site, so I could always
|
|
have a current installation. To start the server manually, I just issue
|
|
these commands:
|
|
|
|
<P><FONT FACE="Courier New,Courier">/usr/local/samba/bin/smbd -D</FONT>
|
|
|
|
<P><FONT FACE="Courier New,Courier">/usr/local/samba/bin/nmbd -D</FONT>
|
|
|
|
<P>Extensive has been accomplished that allows Samba to act more like an
|
|
NT server, including making a Linux server a Primary Domain Controller
|
|
and more features are currently being added. I have listed the steps that
|
|
I took in making my Linux server the Primary Domain Controller (PDC) for
|
|
our network.
|
|
|
|
<P>1. Set up the server.
|
|
<BR> a. Create the smb.conf file.
|
|
<BR> b. Create the netlogon directory.
|
|
I put mine in /home.
|
|
<BR> c. Restart Samba.
|
|
|
|
<P>2. Setup the Windows 95 clients. (We set our up for roaming profiles.)
|
|
<B>Do not reboot until step 3!</B>
|
|
<BR> a. Control Panel
|
|
<BR>
|
|
1. Click Passwords, then Profiles and choose these settings:
|
|
<BR>
|
|
a. Users can customize their settings.
|
|
<BR>
|
|
b. Include desktop items.
|
|
<BR>
|
|
c. Include start menu.
|
|
<BR>
|
|
2. In the Control Panel, select Network.
|
|
<BR>
|
|
a. Under Identification, set your WORKGROUP name.
|
|
<BR>
|
|
b. Access control = USER-LEVEL.
|
|
<BR>
|
|
c. Obtain the list from YOUR SERVER NAME.
|
|
<BR>
|
|
d. Under Client Configuration
|
|
<BR>
|
|
1. Select CLIENT FOR MICROSOFT NETWORKS.
|
|
<BR>
|
|
2. Under that client's properties.
|
|
<BR>
|
|
a. Log onto Windows NT domain.
|
|
<BR>
|
|
b. Enter your WORKGROUP name.
|
|
<BR>
|
|
c. Select LOG ON AND RESTORE CONNECTIONS.
|
|
<BR>
|
|
e. Set primary network logon to CLIENT FOR MICROSOFT NETWORKS.
|
|
<BR> b. Set up the user profiles.
|
|
<BR>
|
|
1. Install the Policy Editor from the Windows 95 CD.
|
|
<BR>
|
|
2. Create a new profile called config.pol and save it into the NETLOGON
|
|
share on the Linux server. Make sure you add all the users on your server!
|
|
This step only has to be
|
|
<BR>
|
|
done once, not on each client.
|
|
<BR>
|
|
3. Using the Policy Editor, select Open registry from the File menu and
|
|
select the options you want.
|
|
<BR>
|
|
4. Save it as config.pol and copy into the netlogon share on the Linux
|
|
server. Set its permissions as 755.
|
|
|
|
<P>3. Reboot the Windows 95 computer(s) and logon.
|
|
|
|
<P>4. Possible problems.
|
|
<BR> 1. Windows95 OSR2 seems to send
|
|
the passwords as uppercase, so try changing the passwords on the Linux
|
|
server to uppercase.
|
|
<BR> 2. I had problems making my Linux
|
|
server the WINS server, so you have some choices to fix this:
|
|
<BR>
|
|
a. If you do have another NT server, make it the WINS server and point
|
|
all the clients to it.
|
|
<BR>
|
|
b. Disable WINS on each client and edit the c:\windows\Lmhosts.sam file
|
|
and add the server and workstations to this file. Save the file as Lmhosts,<cr>
|
|
NOT Lmhosts.sam This file can be appended to from a server, but
|
|
<BR>
|
|
I haven't tried doing it from Linux/Samba. The entries look like this:
|
|
<TT>xxx.xxx.xxx.xxx computername</TT>
|
|
<BR>
|
|
c. Disable WINS. At this time, we are running our Win95 clients with WINS
|
|
disabled, but we do have a DNS server.
|
|
|
|
<P>My Samba configuration (smb.conf) file looks like this:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>; *******************************************************************
|
|
<BR>; *
|
|
<BR>; * Samba config file for UNPLINUX
|
|
<BR>; * Quinn P. Coldiron
|
|
<BR>; *
|
|
<BR><TT>; *******************************************************************</TT>
|
|
<BR><TT>[global]</TT>
|
|
<BR><TT>workgroup = UNP</TT>
|
|
<BR><TT>comment = Unplinux Server</TT>
|
|
<BR><TT>volume = RedHat5</TT>
|
|
<BR><TT>lock directory = /var/lock/samba</TT>
|
|
<BR><TT>locking = yes</TT>
|
|
<BR><TT>strict locking = no</TT>
|
|
<BR><TT>share modes = yes</TT>
|
|
<BR><TT>security = user</TT>
|
|
<BR><TT>os level = 65</TT>
|
|
<BR><TT>domain master = yes</TT>
|
|
<BR><TT>local master = yes</TT>
|
|
<BR><TT>prefered master = yes</TT>
|
|
<BR><TT>domain logons = yes</TT>
|
|
<BR><TT>wins support = yes</TT>
|
|
<BR><TT>;logon script = %m.bat ; per workstation (machine)</TT>
|
|
<BR><TT>;logon script = logon.bat</TT>
|
|
<BR><TT>logon script = %U.bat</TT>
|
|
<BR><TT>preserve case = yes</TT>
|
|
<BR><TT>short case preserve = yes</TT>
|
|
<BR><TT>case sensitive = no</TT>
|
|
<BR><TT>; printing = BSD or SYSV or AIX, etc..</TT>
|
|
<BR><TT>printing = bsd</TT>
|
|
<BR><TT>printcap name = /etc/printcap</TT>
|
|
<BR><TT>load printers = yes</TT>
|
|
<BR><TT>print command = /usr/bin/lpr -r -P %p %s</TT>
|
|
<BR><TT>[netlogon]</TT>
|
|
<BR><TT>comment = Samba Network Logon Service</TT>
|
|
<BR><TT>path = /home/netlogon</TT>
|
|
<BR><TT>case sensitive = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>locking = no</TT>
|
|
<BR><TT>read only = yes</TT>
|
|
<BR><TT>browseable = yes ; say NO if you want to hide the NETLOGON share</TT>
|
|
<BR><TT>;admin users = @wheel</TT>
|
|
<BR><TT>create mode = 0755</TT>
|
|
|
|
<P><TT>; ###############################################################################</TT>
|
|
<BR><TT>; # #</TT>
|
|
<BR><TT>; # Printers #</TT>
|
|
<BR><TT>; # #</TT>
|
|
<BR><TT>; ###############################################################################</TT>
|
|
<BR><TT>; I couldn't get the generic printers section to work, so I commented
|
|
it out</TT>
|
|
<BR><TT>; and explicitly declared the printers.</TT>
|
|
<BR><TT>;[printers]</TT>
|
|
<BR><TT>; comment = All Printers</TT>
|
|
<BR><TT>; path = /var/spool/samba-print</TT>
|
|
<BR><TT>; browseable = yes</TT>
|
|
<BR><TT>; printable = yes</TT>
|
|
<BR><TT>; Set public = yes to allow user 'guest account' to print</TT>
|
|
<BR><TT>; public = no</TT>
|
|
<BR><TT>; writable = no</TT>
|
|
<BR><TT>; create mode = 0700</TT>
|
|
|
|
<P><TT>[Technology]</TT>
|
|
<BR><TT>comment = Technology Printer</TT>
|
|
<BR><TT>path = /var/spool/samba-print</TT>
|
|
<BR><TT>print = Technology</TT>
|
|
<BR><TT>browseable = yes</TT>
|
|
<BR><TT>printable = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[Marketing2]</TT>
|
|
<BR><TT>comment = Technology Printer</TT>
|
|
<BR><TT>path = /var/spool/samba-print</TT>
|
|
<BR><TT>print = Marketing2</TT>
|
|
<BR><TT>browseable = yes</TT>
|
|
<BR><TT>printable = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[Marketing1]</TT>
|
|
<BR><TT>comment = Technology Printer</TT>
|
|
<BR><TT>path = /var/spool/samba-print</TT>
|
|
<BR><TT>print = Marketing1</TT>
|
|
<BR><TT>browseable = yes</TT>
|
|
<BR><TT>printable = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[CustServ]</TT>
|
|
<BR><TT>comment = Technology Printer</TT>
|
|
<BR><TT>path = /var/spool/samba-print</TT>
|
|
<BR><TT>print = CustServ</TT>
|
|
<BR><TT>browseable = yes</TT>
|
|
<BR><TT>printable = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[CanonColor]</TT>
|
|
<BR><TT>comment = Color Laser Printer</TT>
|
|
<BR><TT>path = /var/spool/samba-print</TT>
|
|
<BR><TT>print = CanonColor</TT>
|
|
<BR><TT>browseable = yes</TT>
|
|
<BR><TT>printable = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>; ###############################################################################</TT>
|
|
<BR><TT>; # #</TT>
|
|
<BR><TT>; # Shared Volumes #</TT>
|
|
<BR><TT>; # #</TT>
|
|
<BR><TT>; ###############################################################################</TT>
|
|
|
|
<P><TT>[homes]</TT>
|
|
<BR><TT>comment = Home Directories</TT>
|
|
<BR><TT>browseable = no</TT>
|
|
<BR><TT>writable = yes</TT>
|
|
<BR><TT>read only = no</TT>
|
|
<BR><TT>preserve case = yes</TT>
|
|
<BR><TT>short preserve case = yes</TT>
|
|
<BR><TT>;create mode = 0777</TT>
|
|
|
|
<P><TT>[userdata]</TT>
|
|
<BR><TT>comment = All userdata that you are allowed to see.</TT>
|
|
<BR><TT>path = /home</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>;Full control for your stuff, full in you group, nothing for other</TT>
|
|
<BR><TT>;people's stuff.</TT>
|
|
<BR><TT>create mode = 0770</TT>
|
|
|
|
<P><TT>[sys]</TT>
|
|
<BR><TT>comment = System drive. Various Press utilities.</TT>
|
|
<BR><TT>path = /usr/local/samba-sys/</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[programs]</TT>
|
|
<BR><TT>comment = Program drive. Installation sets and programs.</TT>
|
|
<BR><TT>path = /usr/local/samba-programs</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[ulrich]</TT>
|
|
<BR><TT>comment = Ulrich's PLUS.</TT>
|
|
<BR><TT>path = /usr/local/samba-programs/ulrich</TT>
|
|
<BR><TT>create mode = 555</TT>
|
|
|
|
<P><TT>[cdrom]</TT>
|
|
<BR><TT>comment = Internal IDE cdrom. For temporary usage.</TT>
|
|
<BR><TT>path = /mnt/cdrom</TT>
|
|
|
|
<P><TT>[dictionary]</TT>
|
|
<BR><TT>comment = Random House Dictionary.</TT>
|
|
<BR><TT>path = /mnt/scd1</TT>
|
|
|
|
<P><TT>[bip]</TT>
|
|
<BR><TT>comment = Bowker Books In Print CDROM</TT>
|
|
<BR><TT>path = /mnt/scd0</TT>
|
|
|
|
<P><TT>[msoffice]</TT>
|
|
<BR><TT>comment = Microsoft Office Bookshelf Reference.</TT>
|
|
<BR><TT>path = /mnt/scd3</TT>
|
|
|
|
<P><TT>[encarta]</TT>
|
|
<BR><TT>comment = Microsoft Encarta</TT>
|
|
<BR><TT>path = /mnt/scd2</TT>
|
|
|
|
<P><TT>[press]</TT>
|
|
<BR><TT>comment = Press share. Marketing maps this to U:</TT>
|
|
<BR><TT>path = /home/press</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>create mode = 0777</TT>
|
|
|
|
<P><TT>[CATS-VOL]</TT>
|
|
<BR><TT>comment = Entire Cats volume for backup</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[L-NE]</TT>
|
|
<BR><TT>comment = Cat's root. Map as L.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[M-DATA]</TT>
|
|
<BR><TT>comment = Cat's data drive. Map as M.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/data</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[N-DBC]</TT>
|
|
<BR><TT>comment = Cat's program drive. Map as N.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/dbc</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[O-WORK]</TT>
|
|
<BR><TT>comment = Cat's work drive. Map as O.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/work</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[P-HIST]</TT>
|
|
<BR><TT>comment = Cat's history drive. Map as P.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/hist</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
<BR> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
My actual logon.bat batch file is here:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><TT>REM *******************************************************</TT>
|
|
<BR><TT>REM * *</TT>
|
|
<BR><TT>REM * University of Nebraska Press network logon script. *</TT>
|
|
<BR><TT>REM * *</TT>
|
|
<BR><TT>REM * Last modified : 10-16-97 *</TT>
|
|
<BR><TT>REM * By: Quinn *</TT>
|
|
<BR><TT>REM * *</TT>
|
|
<BR><TT>REM * The drive letter scheme is leftover from the past *</TT>
|
|
<BR><TT>REM * network administrator and the Novell Netware 3.1 *</TT>
|
|
<BR><TT>REM * server he had. *</TT>
|
|
<BR><TT>REM *******************************************************</TT>
|
|
<BR><TT>REM User's home drives</TT>
|
|
<BR><TT>net use e: \\unplinux\homes</TT>
|
|
<BR><TT>REM General network drives</TT>
|
|
<BR><TT>net use f: \\intrepid\sys</TT>
|
|
<BR><TT>net use g: \\intrepid\userdata</TT>
|
|
<BR><TT>net use h: \\intrepid\dictionary</TT>
|
|
<BR><TT>net use i: \\intrepid\bip</TT>
|
|
<BR><TT>net use j: \\intrepid\programs</TT>
|
|
<BR><TT>net use s: \\unplinux\ulrich</TT>
|
|
<BR><TT>REM CATS drives</TT>
|
|
<BR><TT>net use l: \\unplinux\l-ne</TT>
|
|
<BR><TT>net use m: \\unplinux\m-data</TT>
|
|
<BR><TT>net use n: \\unplinux\n-dbc</TT>
|
|
<BR><TT>net use o: \\unplinux\o-work</TT>
|
|
<BR><TT>net use p: \\unplinux\p-hist</TT>
|
|
<BR><TT>REM Temp entry for Robotronics</TT>
|
|
<BR><TT>REM The old system had robo on the T:\ drive but</TT>
|
|
<BR><TT>REM all new installations will run robo from the j:\ drive.</TT>
|
|
<BR><TT>net use t: \\unplinux\programs</TT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<BR>
|
|
<DIV ALIGN=right><A NAME="Netatalk Installation/Setup"></A><B><I><FONT SIZE=+2>Netatalk
|
|
Installation/Setup</FONT></I></B></DIV>
|
|
Netatalk offers the same installation options as Samba, so you can choose
|
|
either the RPM, or .tar archives. I would choose the RPM here, as they
|
|
are the same versions as the .tar files and make life easier during installation.
|
|
I really don't have mush to say about this installation, since it was very
|
|
simple and straight forward. After installing the package, I just edited
|
|
the AppleVolumes.system file and started the daemon. Below is a very simple
|
|
AppleVolumes.system file that will give the Mac users their home directory
|
|
and a few other volumes that might have stuff they need.
|
|
<BR>
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><TT>#</TT>
|
|
<BR><TT># This file is read before (after if -u is specified) the user's</TT>
|
|
<BR><TT># AppleVolume file. Add extension mappings and volumes here.</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT>/usr/local/samba-sys Sys (F drive)</TT>
|
|
<BR><TT>/home Userdata (G drive)</TT>
|
|
<BR><TT>/usr/local/samba-programs Programs (J drive)</TT>
|
|
<BR><TT># default translation -- note that CR <-> LF translation is
|
|
done on all</TT>
|
|
<BR><TT># files of type TEXT. The first line turns off translation for
|
|
files of</TT>
|
|
<BR><TT># unknown type, the second turns this translation on.</TT>
|
|
<BR><TT>. BINA UNIX</TT>
|
|
<BR><TT># . TEXT UNIX</TT>
|
|
<BR><TT># sounds</TT>
|
|
<BR><TT>.mod STrk STrk</TT>
|
|
<BR><TT>.mid Midi ttxt</TT>
|
|
<BR><TT>.aiff AIFF SNdm</TT>
|
|
<BR><TT>.wav WAVE SNdm</TT>
|
|
<BR><TT>.au ULAW SNdm</TT>
|
|
<BR><TT># video</TT>
|
|
<BR><TT>.moov MooV mMPG</TT>
|
|
<BR><TT>.mov MooV mMPG</TT>
|
|
<BR><TT>.mpg MPEG mMPG</TT>
|
|
<BR><TT>.mpeg MPEG mMPG</TT>
|
|
<BR><TT># formatted text</TT>
|
|
<BR><TT>.html TEXT MOS!</TT>
|
|
<BR><TT>.rtf TEXT MSWD</TT>
|
|
<BR><TT>.doc WDBN MSWD</TT>
|
|
<BR><TT># compressed archives</TT>
|
|
<BR><TT>.bin BINA MB2P</TT>
|
|
<BR><TT>.zip ZIP ZIP</TT>
|
|
<BR><TT>.tar TARF TAR!</TT>
|
|
<BR><TT>.gz Gzip Gzip</TT>
|
|
<BR><TT>.Z ZIVM LZIV</TT>
|
|
<BR><TT>.sea ???? SITx</TT>
|
|
<BR><TT>.cpt PACT CPCT</TT>
|
|
<BR><TT>.sit SIT! SIT!</TT>
|
|
<BR><TT>.hqx TEXT SITx</TT>
|
|
<BR><TT># graphics</TT>
|
|
<BR><TT>.tiff TIFF JVWR</TT>
|
|
<BR><TT>.tif TIFF JVWR</TT>
|
|
<BR><TT>.bmp BMPp JVWR</TT>
|
|
<BR><TT>.pct PICT ttxt</TT>
|
|
<BR><TT>.pict PICT ttxt</TT>
|
|
<BR><TT>.jpeg JPEG JVWR</TT>
|
|
<BR><TT>.jpg JPEG JVWR</TT>
|
|
<BR><TT>.gif GIFf JVWR</TT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
The other file that you need to edit with NetaTalk is papd.conf. This file
|
|
hold the printer information.
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><TT># Attributes are:</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># Name Type Default Description</TT>
|
|
<BR><TT># pd str ".ppd" Pathname to ppd file.</TT>
|
|
<BR><TT># pr str "lp" LPD printer name.</TT>
|
|
<BR><TT># op str "operator" Operator name, for LPD spooling.</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># Some examples:</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># On many systems (notably not Solaris), no papd.conf is required,</TT>
|
|
<BR><TT># since papd shares the same defaults as lpd.</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># A simple example:</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># terminator:\</TT>
|
|
<BR><TT># :pr=lp:op=wes:\</TT>
|
|
<BR><TT># :pd=/usr/share/lib/ppd/HPLJ_4M.PPD:</TT>
|
|
<BR><TT>#</TT>
|
|
<BR><TT># Note also that papd.conf can list several printers.</TT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<BR>
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Installing The Cats Pajamas</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Installing Cats on the Server"></A><B><I><FONT SIZE=+2>Installing
|
|
Cats on the Server</FONT></I></B></DIV>
|
|
Installing Cats on a Linux server can be as simple as copying all the files
|
|
and directories from the old server to the Linux server's shared volume
|
|
for Cats. The way that I set up out server was to install another drive
|
|
in the Linux server to hold the Cats installation. I chose an IDE drive
|
|
mainly because I didn't have a SCSI card in the server, didn't have an
|
|
extra one handy and I was under an extreme time crunch to get Cats back
|
|
online. My intentions were to eventually replace the IDE drive with a SCSI
|
|
drive over Christmas break, but the performance has been more than satisfactory,
|
|
so we are going to leave the setup alone. I mount this drive as /usr/local/samba-cats
|
|
and have the permissions set open to the world by running the command chmod
|
|
777 /usr/local/samba-cats -R. This is a security risk, but Cats has told
|
|
me that the files must be world writeable and readable for Cats to work
|
|
properly. I also have the Samba configuration file set up with a mask of
|
|
0777, which will make sure that all files written will be readable by all
|
|
the users.
|
|
|
|
<P>The specific portion of the smb.conf file for Cats is listed here:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD><TT>[CATS-VOL]</TT>
|
|
<BR><TT>comment = Entire Cats volume for backup</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[L-NE]</TT>
|
|
<BR><TT>comment = Cat's root. Map as L.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[M-DATA]</TT>
|
|
<BR><TT>comment = Cat's data drive. Map as M.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/data</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[N-DBC]</TT>
|
|
<BR><TT>comment = Cat's program drive. Map as N.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/dbc</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[O-WORK]</TT>
|
|
<BR><TT>comment = Cat's work drive. Map as O.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/work</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT>
|
|
|
|
<P><TT>[P-HIST]</TT>
|
|
<BR><TT>comment = Cat's history drive. Map as P.</TT>
|
|
<BR><TT>path = /usr/local/samba-cats/ne/hist</TT>
|
|
<BR><TT>writeable = yes</TT>
|
|
<BR><TT>printable = no</TT>
|
|
<BR><TT>guest ok = yes</TT>
|
|
<BR><TT>public = yes</TT>
|
|
<BR><TT>create mask = 0777</TT> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
At the time of this writing, we were still running Cats 2.3, so the major
|
|
directories were as follows:
|
|
<BR>
|
|
<TABLE BORDER=5 CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="24%" HEIGHT="170" BGCOLOR="#000099" NOSAVE >
|
|
<TR NOSAVE>
|
|
<TD NOSAVE><FONT COLOR="#FFFFFF"><B><TT>ne----+</TT></B> </FONT>
|
|
<BR><FONT COLOR="#FFFFFF"><B><TT> |---> data</TT></B> </FONT>
|
|
<BR><FONT COLOR="#FFFFFF"><B><TT> |---> dbc</TT></B> </FONT>
|
|
<BR><FONT COLOR="#FFFFFF"><B><TT> |---> work</TT></B> </FONT>
|
|
<BR><B><TT><FONT COLOR="#FFFFFF"> |---> hist</FONT></TT></B></TD>
|
|
</TR>
|
|
</TABLE>
|
|
While we are currently able to get all of our system onto a 2.5 gigabyte
|
|
hard drive, I can see a day when we will have a large enough history that
|
|
we will need more space. We could just get a larger hard drive, but an
|
|
easier upgrade would be to just add another drive and mount it into the
|
|
directory tree. We could actually run four drives for Cats by mounting
|
|
a different drive into the ne directory for each subdirectory. By doing
|
|
this, data would be running on a drive, dbc would be a drive, work would
|
|
be a drive and hist would be a drive. In theory, the performance would
|
|
increase, since drive access to data would not slow down history searches,
|
|
or read/writes to the work drive.
|
|
|
|
<P>I have written a CGI Perl script to make it simple for our Business
|
|
Department and Customer service department to lock Cats during month-end
|
|
closing and reindexing procedures. The script asks for a password, and
|
|
then replaces the standard batch files to start Cats with another batch
|
|
file that says Cats is locked for closing or maintenance. When they are
|
|
finished, they can unlock Cats by running the unlock CGI script. The scripts
|
|
are listed here:
|
|
|
|
<P>Lock Cats:
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>#!/usr/bin/perl
|
|
<BR># ******************************************************
|
|
<BR># * *
|
|
<BR># * Author: Quinn P. Coldiron *
|
|
<BR># * Date: 11-24-97 *
|
|
<BR># * Program: This locks Cats *
|
|
<BR># * *
|
|
<BR># ******************************************************
|
|
<BR># Use cgi-lib CGI library for PERL.
|
|
<BR>require "/home/httpd/cgi-bin/cgi-lib.pl";
|
|
<BR>#Get the data from the form.
|
|
<BR>&ReadParse;
|
|
<BR>print &PrintHeader;
|
|
<BR>print "<HTML>\n";
|
|
<BR>print "<HEAD>\n";
|
|
<BR>print "<TITLE>Finished</TITLE>\n";
|
|
<BR>print "</HEAD>\n";
|
|
<BR>print "<BODY BGCOLOR= #b7b7b7>\n";
|
|
<BR>if ( $in{password} =~ "PASSWORD") {
|
|
<BR>print "<P><B>Finished.</B></P>\n";
|
|
<BR>print "<P>Batch files written and CATS is <B>locked</B>.</P>\n";
|
|
<BR>print "<BR>You may access CATS by going to the M: drive and typing
|
|
secret.bat\n";
|
|
<BR>print "This should only be used for Month-end closing, reindexing and
|
|
system repairs.\n";
|
|
<BR>print "<BR><BR>Quinn.\n";
|
|
<BR>system ("cp /home/httpd/cgi-bin/cats/lock/*.bat /usr/local/samba-cats/ne/data/");
|
|
<BR>system ("chmod 777 /usr/local/samba-cats/ne/data/*");
|
|
<BR>} else {
|
|
<BR>print "Wrong password\n";
|
|
<BR>}
|
|
<BR>print "</BODY>\n";
|
|
<BR>print "</HTML>\n"; </TD>
|
|
</TR>
|
|
</TABLE>
|
|
Unlock Cats:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>#!/usr/bin/perl
|
|
<BR># ******************************************************
|
|
<BR># * *
|
|
<BR># * Author: Quinn P. Coldiron *
|
|
<BR># * Date: 11-24-97 *
|
|
<BR># * Program: This program copies that cats#.bat files *
|
|
<BR># * to the correct location. *
|
|
<BR># ******************************************************
|
|
<BR># Use cgi-lib CGI library for PERL.
|
|
<BR>require "/home/httpd/cgi-bin/cgi-lib.pl";
|
|
<BR>#Get the data from the form.
|
|
<BR>&ReadParse;
|
|
<BR>print &PrintHeader;
|
|
<BR>print "<HTML>\n";
|
|
<BR>print "<HEAD>\n";
|
|
<BR>print "<TITLE>Finished</TITLE>\n";
|
|
<BR>print "</HEAD>\n";
|
|
<BR>print "<BODY BGCOLOR= #b7b7b7>\n";
|
|
<BR>if ( $in{password} =~ "PASSWORD") {
|
|
<BR>print "<P><B>Finished.</B></P>\n";
|
|
<BR>print "<P>Batch files written and CATS is unlocked.</P>\n";
|
|
<BR>print "<BR><BR>Quinn.\n";
|
|
<BR>system ("cp /home/httpd/cgi-bin/cats/unlock/*.bat /usr/local/samba-cats/ne/data/");
|
|
<BR>system ("chmod 777 /usr/local/samba-cats/ne/data/*");
|
|
<BR>} else {
|
|
<BR>print "Wrong password!\n";
|
|
<BR>}
|
|
<BR>print "</BODY>\n";
|
|
<BR>print "</HTML>\n";
|
|
<BR> </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<DIV ALIGN=right><A NAME="Configuring your Windows clients"></A><B><I><FONT SIZE=+2>Configuring
|
|
your Windows clients</FONT></I></B></DIV>
|
|
I have setup our Cats installation to share each required cats directory
|
|
as a hard mounted drive letter. The specific portion of the login script
|
|
that mounts cats is listed here:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="30%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>REM CATS drives
|
|
<BR>net use l: \\unplinux\l-ne
|
|
<BR>net use m: \\unplinux\m-data
|
|
<BR>net use n: \\unplinux\n-dbc
|
|
<BR>net use o: \\unplinux\o-work
|
|
<BR>net use p: \\unplinux\p-hist </TD>
|
|
</TR>
|
|
</TABLE>
|
|
My cats batch file is here:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="40%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>PATH=C:\;C:\WINNT;C:\WINDOWS;L:\;M:\;N:\;O:\;P:\
|
|
<BR>SET DBC_FILEPATH=L:\;M:\;N:\;O:\;P:\
|
|
<BR>Set DBC_PREP=M:
|
|
<BR>Set DBC_FILES=140
|
|
<BR>Set DBC_PGMSIZE=65024
|
|
<BR>Set DBC_CMDLINE=OLD
|
|
<BR>SET DBC_XKEYS=ON
|
|
<BR>Set DBC_COMPAT=DOS
|
|
<BR>Set DBC_PORT=24
|
|
<BR>SET DBC_DBCPATH=N:\
|
|
<BR>M:
|
|
<BR>DBC.EXE </TD>
|
|
</TR>
|
|
</TABLE>
|
|
I have also followed the suggestions on the Cats web site http://www.tcpj.com
|
|
for specific settings for Windows 95. I have found that all of these do
|
|
help in getting Cats to run better.
|
|
<DIV ALIGN=right><A NAME="Configuring the DOS emulator to run Cats"></A><B><I><FONT SIZE=+2>Configuring
|
|
the DOS emulator to run Cats</FONT></I></B></DIV>
|
|
Linux has a very interesting program called DOSEMU which creates a ``DOS
|
|
box'' that can run many DOS applications, including MS-DOS, PC-DOS, DR
|
|
DOS, Open DOS, Windows for Workgroups 3.11, the Novell Netware client and
|
|
many more. I had problems at first getting DOSEMU to run programs on the
|
|
redirected drives unless I called them by the full name (go.bat instead
|
|
of go) but tracked this down to the version of DOS that I was using. I
|
|
was using Novell DOS 7.0 but switched to MS-DOS 6.22 on the advice of Hans
|
|
Lermen (one of the DOSEMU developers) and this fixed the problem. He said
|
|
that this has been reported many times and it seems to be a bug in the
|
|
command.com code that many versions of non Microsoft DOS use.
|
|
|
|
<P>DOSEMU uses an image file of a hard disk to emulate a DOS hard drive
|
|
so you do not need to have a DOS partition. Using the /var/lib/dosemu/setup-hdimage
|
|
program will step you through making a basic hdimage file. The only required
|
|
item is a bootable DOS 6.22 floppy disk with whatever DOS tools you think
|
|
you might need. I included EDIT.COM and QBASIC.EXE. After running through
|
|
the setup-hdimage program, start the emulator with xdos or dos, depending
|
|
on if you are in X-Windows or not. The default setup gives you the Linux
|
|
hard drive as DOS drive D:\. To copy the programs I wanted off the floppy
|
|
to the hdimage file, I opened another xterm window and mounted the floppy
|
|
to /mnt/floppy, then switched back to DOSEMU, changed to D:\mnt\floppy
|
|
and copied EDIT.COM and QBASIC.EXE to C:\. I could now run the MS-DOS editor
|
|
to edit the config.sys and autoexec.bat files. If I wanted, I could also
|
|
write a quick QBASIC program.
|
|
|
|
<P>DOSEMU gives you a utility called LREDIR which redirects Linux directories
|
|
to DOS drive letters. Below is the AUTOEXEC.BAT that I use with DOSEMU
|
|
to give me the drive letters for Cats and for Robotronics.
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="50%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>@echo off
|
|
<BR>path=c:\;l:\;m:\;n:\;o:\;p:\
|
|
<BR>prompt $p$g
|
|
<BR>rem set temp=c:\temp
|
|
<BR>lredir l: linux\fs\usr\local\samba-cats\ne
|
|
<BR>lredir m: linux\fs\usr\local\samba-cats\ne\data
|
|
<BR>lredir n: linux\fs\usr\local\samba-cats\ne\dbc
|
|
<BR>lredir o: linux\fs\usr\local\samba-cats\ne\work
|
|
<BR>lredir p: linux\fs\usr\local\samba-cats\ne\hist
|
|
<BR>lredir t: linux\fs\usr\local\samba-sys\programs\nesb
|
|
<BR>c:
|
|
<BR>menu.bat </TD>
|
|
</TR>
|
|
</TABLE>
|
|
This autoexec.bat file loads the redirected drives and displays a menu
|
|
which allows the user to select the DOS application they want to run (CATS
|
|
and Robotronics). I have set the dos emulator as the shell, so that as
|
|
soon as the Mac users or remote users telnet into the Linux server the
|
|
DOS emulator is started and they get the main menu. When they exit the
|
|
DOS emulator, they are disconnected from the server.
|
|
<DIV ALIGN=right><A NAME="Installing a RAID"></A><B><FONT SIZE=+2>Installing
|
|
a RAID</FONT></B></DIV>
|
|
<A HREF="http://www.dpt.com/"><IMG SRC="./gx/coldiron/RAID.JPG" BORDER=0 NATURALSIZEFLAG="3" HEIGHT=157 WIDTH=150 ALIGN=BOTTOM></A>The
|
|
RAID that we chose to purchase was a kit that contained a SCSI RAID controller
|
|
and subsystem storage cabinet from Distributed Processing Technology.
|
|
|
|
<P>The SCSI card is a PCI card with a caching module added to it. The cache
|
|
module has four SIMM slots on it and will accept any standard 32 pin SIMM
|
|
up to 16 meg each for a total of 64 megabytes of cache. The card comes
|
|
with a four meg module already installed, and that is what we currently
|
|
are using.
|
|
|
|
<P>The storage subsystem requires you to supply your own drives and comes
|
|
in two style. One supports narrow SCSI drives and the other supports wide
|
|
drives. We are using the narrow drive cabinet, mainly because I already
|
|
had three drives that I wanted to use. Installing the drives can be tricky,
|
|
as the data cable is not color coded and I could not tell what wire was
|
|
for pin one. The first time around I had the drives installed backwards,
|
|
but nothing was hurt. I called the tech support line and they were very
|
|
helpful in getting the problem fixed.
|
|
|
|
<P>After installing the card in the server, the next step is to configure
|
|
the RAID with the RAD level of choice. We chose to run RAID level 5. While
|
|
Linux does have built in drivers for the DPT controller card, DPT does
|
|
not offer Linux utilities to configure the unit. What I did was temporarily
|
|
plug a 200 meg IDE hard drive into the server to boot from and ran the
|
|
DOS configuration utilities which are graphical and easy to follow. Using
|
|
the mouse, I selected the three drives that I wanted to include in my RAID,
|
|
then selected the RAID level I wanted, saved the configuration and shutdown
|
|
the computer. I then unplugged the IDE DOS drive and reconnected the IDE
|
|
Linux boot drive.
|
|
|
|
<P>I kind of cheated when I installed the driver for the SCSI card by rerunning
|
|
the Linux setup program. I had other things that needed fixing, so I thought
|
|
this would be the best way. I could have just added the daemon by using
|
|
the tools in the control panel as well or by typing<TT> insmod eata-dma
|
|
</TT>at the command prompt and the driver would be loaded and I could see
|
|
the report that the system now recognizes my SCSI card and RAID. During
|
|
the installation, select YES when asked if you have a SCSI card and select
|
|
correct driver (EATA-DMA) for the card you have. When you are finished
|
|
and reboot the computer, you will see the RAID initialize and report the
|
|
settings you configured under DOS, then the kernel recognizing the card.
|
|
|
|
<P>Now, you need to create a partition and format the drive. To make a
|
|
partition, use the fdisk command and follow the menu to make a Linux primary
|
|
partition. Formatting the RAID is as easy as formatting any other drive.
|
|
Remember that the system sees your RAID as a single, large disk. To format
|
|
it in Linux, issue the mkefs2 /dev/sda1, or whatever SCSI drive it is.
|
|
To actually use the disk after formatting, you need to mount it someplace.
|
|
I wanted to use this disk for the home directories of our users, so I mounted
|
|
it as /home/raid. But, whenever I added a user, they were still being added
|
|
to /home and not on the RAID, so I edited the /usr/sbin/adduser script
|
|
(which is just a Perl script) and changed the home directory location to
|
|
/home/raid. Now, whenever I add a user, they are added to the RAID.
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Daily administration</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="System backups"></A><B><I><FONT SIZE=+2>System
|
|
backups</FONT></I></B></DIV>
|
|
I have a SCSI Hewlett Packard SureStore 6000 4mm DAT drive that I am setting
|
|
up for backup duties for our Linux server. Currently, I am backing up all
|
|
data through Samba to our Windows NT server using
|
|
|
|
<P>another SureStore 6000 tape drive and Cheyenne Arcserve software. I
|
|
have also been known to make a quick backup to the RAID using tar. Tar
|
|
is a simple utility that has been around Unix almost as long as Unix has
|
|
been around.
|
|
|
|
<P>To make a tar backup, just issue the following command:
|
|
|
|
<P>tar cvf archivename.tar /directory-to-archive
|
|
|
|
<P>This will create a tar file named archive.tar of the contents of the
|
|
directory directory-to-archive. While this works fine, the resulting file
|
|
might be very large because we did not apply any compression. By
|
|
|
|
<P>modifying the command to look like this:
|
|
|
|
<P>tar cvzf archivename.tar.gz /directory-to-archive
|
|
|
|
<P>We compress the tar file with gzip after the file is made. At a later
|
|
date, we might want to view what is in the tar file, so we can issue the
|
|
tar tvf archivename.tar.gz to list the files in the archive.
|
|
|
|
<P>While backing up to disk is OK for a temporary thing, you should always
|
|
backup to tape for critical data. Linux supports two types of tape drives.
|
|
The first is the style that connects to the floppy drive
|
|
|
|
<P>controller, like the Colorado drives and Iomega Ditto. The other style
|
|
connect to a SCSI controller. Floppy tape drives have the device names
|
|
of /dev/ft0, dev/ft1 and so on. SCSI drives are /dev/st0, /dev/st1 and
|
|
so on. These devices are "rewinding" devices which rewind the tape when
|
|
the operation is completed. IF you are archiving more than one session
|
|
to the tape, then use the non-rewinding devices /dev/nft0, /dev/nrft1,
|
|
/dev/nst0, /dev/nst1 and so on.
|
|
|
|
<P>After writing the archive to tape, you can use the mt (magnetic tape)
|
|
command to rewind, retention and find sessions on tape. The table below
|
|
shows the commands.
|
|
|
|
<P>mt /dev/nft0 rewind
|
|
|
|
<P>mt /dev/nft0 retention
|
|
|
|
<P>mt /dev/nft0 fsf 1 skips the current session to find the next session
|
|
on tape.
|
|
|
|
<P>To use the mt command, you must use the non-rewinding devices.
|
|
|
|
<P>Using tar to make backups has its good points and its bad points. On
|
|
the bad side, neither tar or gzip are fault-tolerant. Compressing tar files
|
|
with gzip will greatly reduce the amount of space on the backup
|
|
|
|
<P>media, but if even one block of the archive gets corrupted, which can
|
|
happen on tapes, the entire file can be useless. Usually, you will be able
|
|
to retrieve all data up to that point, though. A better solution is to
|
|
use a "real" backup system such as BRU (Backup and Restore Utility) that
|
|
comes with a purchased version of RedHat Linux 5.0. Backup systems usually
|
|
compress each file individually, so that if the media is damaged, you will
|
|
not usually lose the entire archive.
|
|
|
|
<P>BRU has both a command prompt interface and a graphical X-Windows interface
|
|
and is included with RedHat 5.0. BRU offers automated backup scheduling
|
|
and scripting, so it is very easy to setup a simple but effective and reliable
|
|
backup system. I find the system as easy to maintain as ArcServe on Windows
|
|
NT.
|
|
<DIV ALIGN=right><A NAME="Scheduling events"></A><B><I><FONT SIZE=+2>Scheduling
|
|
events</FONT></I></B></DIV>
|
|
Linux has a very easy to use scheduler program called cron that will run
|
|
commands, scripts or programs at the scheduled times. To edit the list
|
|
of events, issue the crontab -e command. This will start the default editor
|
|
(usually vi, but I changed mine to joe). When you exit the editor, cron
|
|
will install the new config file you just edited and schedule all the jobs.
|
|
You can view the schedule by issuing the crontab -l command:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>SHELL=/bin/bash
|
|
<BR>PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
|
<BR>MAILTO=root
|
|
<BR># Run any at jobs every minute
|
|
<BR># * * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun
|
|
<BR># run-parts
|
|
<BR># 01 * * * * root run-parts /etc/cron.hourly
|
|
<BR># 02 1 * * * root run-parts /etc/cron.daily
|
|
<BR># 02 2 * * 0 root run-parts /etc/cron.weekly
|
|
<BR># 02 3 1 * * root run-parts /etc/cron.monthly
|
|
<BR># Remove /tmp, /var/tmp files not accessed in 10 days (240 hours)
|
|
<BR># 41 02 * * * root /usr/sbin/tmpwatch 240 /tmp /var/tmp
|
|
<BR># Remove formatted man pages not accessed in 10 days
|
|
<BR># 39 02 * * * root /usr/sbin/tmpwatch 240 /var/catman/cat?
|
|
<BR>#############################################################
|
|
<BR># WWW logs. I run 2 so I can compare results.
|
|
<BR>#############################################################
|
|
<BR># Run web one web log utility 0 0-23 * * * /usr/bin/log
|
|
<BR>02 1 * * * /usr/bin/log
|
|
<BR># Run the other web log utility 0 0-23 * * * /usr/local/mkstats/mkstats.pl
|
|
-c mkstats.config
|
|
<BR>02 1 * * * /usr/local/mkstats/mkstats.pl -c mkstats.config
|
|
<BR>#############################################################
|
|
<BR>#############################################################
|
|
<BR># Live stream management
|
|
<BR>#############################################################
|
|
<BR># Create xdm file for live stream for Sports Nightly (5:45 pm)
|
|
<BR>45 17 * * 1,2,3,4,5 livestream-on
|
|
<BR># Kill xdm file for live stream for Sports Nightly (8:10 pm)
|
|
<BR>10 20 * * 1,2,3,4,5 livestream-off
|
|
<BR># Create xdm file for live stream for Saturday games (7:00 am)
|
|
<BR>0 7 * * 6 livestream-on
|
|
<BR># Kill xdm file for live stream for Saturday games (10:00 pm)
|
|
<BR>0 22 * * 6 livestream-off
|
|
<BR># Check the 3.0 server to see if it is running and not dead! (every
|
|
minute)
|
|
<BR>1-59 * * * * /usr/local/streamworks-3.0/checkSWserver
|
|
<BR>##############################################################
|
|
<BR># Check to see if network volumes are mounted (at 10:00 p.m.).
|
|
<BR># These need to be mounted since this machine performs the
|
|
<BR># backup at 11:55.
|
|
<BR>0 22 * * 1,2,3,4,5 checkmounts
|
|
<BR># copy BIP from Intrepid to exeter (WWW)
|
|
<BR>0 23 * * 1,2,3,4,5 /usr/local/bin/mvbip
|
|
<BR># backup userdata from intrepid
|
|
<BR>55 23 * * 1,2,3,4,5 bu-userdata
|
|
<BR># backup CATS
|
|
<BR>55 23 * * 1,2,3,4,5 bu-cats
|
|
<BR># backup Marketing
|
|
<BR>0 3 * * 1,2,3,4,5 bu-marketing
|
|
<BR># mail orders to quinn
|
|
<BR>0 8 * * 1,2,3,4,5 /usr/local/bin/mailunporders.pl </TD>
|
|
</TR>
|
|
</TABLE>
|
|
Each entry has a specific configuration to follow. If you want the command
|
|
to run every day at 1:00 AM, specify the minute as 0 and the hour as 1.
|
|
The other three fields should be asterisks, which means ``every day and
|
|
month at the given time.
|
|
|
|
<P>You might notice the entry
|
|
|
|
<P># Check to see if network volumes are mounted (at 10:00 p.m.).
|
|
<BR># These need to be mounted since this machine performs the
|
|
<BR># backup at 11:55.
|
|
<BR>0 22 * * 1,2,3,4,5 checkmounts
|
|
|
|
<P>This calls a script I wrote to check that the NT server is mounted so
|
|
I can backup all data on it. I mount the server using the smbmount command
|
|
which allows a Linux machine to mount shares from a Windows machine. This
|
|
script just verifies that a certain file or directory is actually at the
|
|
mount point. I use these ``reference'' files for checking purposes, so
|
|
they are read-only, so they can't be accidentally deleted by users. The
|
|
script is listed here:
|
|
<BR>
|
|
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="50%" BGCOLOR="#D4D4D4" NOSAVE >
|
|
<TR>
|
|
<TD>#!/bin/sh
|
|
<BR># Cronjob to remount network drives if they are not mounted.
|
|
<BR># Author: Quinn P. Coldiron
|
|
<BR>if [ -z "`ls /mnt/exeter | grep InetPub | grep -v grep`" ]
|
|
<BR>then
|
|
<BR>umount /mnt/exeter
|
|
<BR>/mnt/mountexeter
|
|
<BR>echo "Exeter remounted `date`"
|
|
<BR>fi
|
|
<BR>if [ -z "`ls /mnt/intrepid-f | grep BLINE | grep -v grep`" ]
|
|
<BR>then
|
|
<BR>umount /mnt/intrepid-f
|
|
<BR>/mnt/mountintrepid-f
|
|
<BR>echo "Intrepid F remounted `date`"
|
|
<BR>fi
|
|
<BR>if [ -z "`ls /mnt/intrepid-g | grep QC | grep -v grep`" ]
|
|
<BR>then
|
|
<BR>umount /mnt/intrepid-g
|
|
<BR>/mnt/mountintrepid-g
|
|
<BR>echo "Intrepid G remounted `date`"
|
|
<BR>fi
|
|
<BR>if [ -z "`ls /mnt/intrepid-mrktdept | grep KK | grep -v grep`" ]
|
|
<BR>then
|
|
<BR>umount /mnt/mountintrepid-mrkt
|
|
<BR>/mnt/mountintrepid-mrktdept
|
|
<BR>echo "Marketing remounted `date`"
|
|
<BR>fi
|
|
<BR>echo "All network volumes mounted." </TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<BR>
|
|
<DIV ALIGN=right><A NAME="Replacing your Desktop OS with Linux"></A><B><FONT SIZE=+2>Replacing
|
|
your Desktop OS with Linux</FONT></B></DIV>
|
|
Places to go:
|
|
<UL>
|
|
<LI>
|
|
<A HREF="http://www.redhat.com/">RedHat</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="http://www.kde.org/">K Desktop</A></LI>
|
|
|
|
<LI>
|
|
<A HREF="http://www.info.polymtl.ca/ada2/coyote/www/linux_desktops.html">Amazing
|
|
Linux Desktops</A></LI>
|
|
</UL>
|
|
I have wanted to make Linux my desktop operating system for a long time,
|
|
but I couldn't because I needed to be able to run the following applications:
|
|
Microsoft Word, WordPerfect, Microsoft Excel, Microsoft Access, our internal
|
|
mail system (Pegasus), Microsoft Access and Microsoft Visual Basic. I have
|
|
recently narrowed the list of required applications that do not have a
|
|
Linux counterpart down to Access and Visual Basic, which we will analyze
|
|
later.
|
|
|
|
<P>I have found that, for the most part, I can replace Microsoft Office
|
|
with Applixware. Applixware is an office suite for Linux (an many other
|
|
Unix platforms) that can read and write Word and Excel files, which allows
|
|
me to share documents with the rest of the press. While I still cannot
|
|
read Access databases, I am working out a solution for that which we will
|
|
discuss later.
|
|
|
|
<P><B>Applix Words</B>
|
|
<UL>
|
|
<LI>
|
|
· Live links to Applixware or third-party applications</LI>
|
|
|
|
<LI>
|
|
· Mail-enabled compound document technology</LI>
|
|
|
|
<LI>
|
|
· Landscape, portrait and merge printing</LI>
|
|
|
|
<LI>
|
|
· Multiple undo and redo</LI>
|
|
|
|
<LI>
|
|
· Hypertext with optional HTML output</LI>
|
|
|
|
<LI>
|
|
· Forms editor</LI>
|
|
|
|
<LI>
|
|
· International dictionaries, thesauri and spell checkers</LI>
|
|
|
|
<LI>
|
|
· Conditional text and cross-referencing; find and replace</LI>
|
|
|
|
<LI>
|
|
· Embedded equations and calculation support</LI>
|
|
|
|
<LI>
|
|
· Multiple typefaces, type styles and sizes</LI>
|
|
|
|
<LI>
|
|
· Highly graphical user interface</LI>
|
|
|
|
<LI>
|
|
· Tables and frames; borders and shading</LI>
|
|
|
|
<LI>
|
|
· Multimedia support including audio and video</LI>
|
|
</UL>
|
|
<B>Applix Spreadsheets</B>
|
|
<UL>
|
|
<LI>
|
|
· Live links to other Applixware and external applications</LI>
|
|
|
|
<LI>
|
|
· Calculation-based attributes</LI>
|
|
|
|
<LI>
|
|
· 3D spreadsheets and charts</LI>
|
|
|
|
<LI>
|
|
· Integration of external functions</LI>
|
|
|
|
<LI>
|
|
· Built-in string, financial, mathematical, and statistical functions</LI>
|
|
|
|
<LI>
|
|
· Goal seeking</LI>
|
|
|
|
<LI>
|
|
· Multiple named views</LI>
|
|
|
|
<LI>
|
|
· Dynamic inter-spreadsheet links</LI>
|
|
|
|
<LI>
|
|
· Live graphs and charts</LI>
|
|
|
|
<LI>
|
|
· Editable graph styles</LI>
|
|
|
|
<LI>
|
|
· Print preview</LI>
|
|
|
|
<LI>
|
|
· Borders and shading</LI>
|
|
|
|
<LI>
|
|
· Drag-and-drop moving of cells</LI>
|
|
|
|
<LI>
|
|
· Projection tables</LI>
|
|
|
|
<LI>
|
|
· Relative and absolute cell references</LI>
|
|
|
|
<LI>
|
|
· Built-in database functions</LI>
|
|
|
|
<LI>
|
|
· Built-in shared library, RPC, and shell command mechanisms</LI>
|
|
|
|
<LI>
|
|
· True minimal recalculation</LI>
|
|
</UL>
|
|
<B>Applix Presentation Graphics</B>
|
|
<UL>
|
|
<LI>
|
|
· Feature-rich palette, fill patterns & drawing tools</LI>
|
|
|
|
<LI>
|
|
· Horizontal and vertical shearing</LI>
|
|
|
|
<LI>
|
|
· User-definable fill patterns, brush styles and shapes</LI>
|
|
|
|
<LI>
|
|
· Unlimited color support and point sizes</LI>
|
|
|
|
<LI>
|
|
· Rotating and scaling options</LI>
|
|
|
|
<LI>
|
|
· Drop shadows</LI>
|
|
|
|
<LI>
|
|
· Text wrapping</LI>
|
|
|
|
<LI>
|
|
· Image digitizing</LI>
|
|
|
|
<LI>
|
|
· Pixel editing</LI>
|
|
|
|
<LI>
|
|
· Managed layers and animation</LI>
|
|
</UL>
|
|
<B>Applix Mail</B>
|
|
<UL>
|
|
<LI>
|
|
· Fully mail-enables all Applixware products</LI>
|
|
|
|
<LI>
|
|
· Personal and global user lists, distribution lists and aliases</LI>
|
|
|
|
<LI>
|
|
· Sorting, filing and querying on incoming messages</LI>
|
|
|
|
<LI>
|
|
· Automatic conversion of messages/documents to recipient's preferences</LI>
|
|
|
|
<LI>
|
|
· UNIX sendmail transport and MIME compliant</LI>
|
|
|
|
<LI>
|
|
· Shared folders</LI>
|
|
</UL>
|
|
<B>Applix HTML Author</B>
|
|
<UL>
|
|
<LI>
|
|
· Availability of a wide range of basic and advanced HTML concepts</LI>
|
|
|
|
<LI>
|
|
· More than 25 standard HTML styles for headlines, subheads, lists
|
|
and text</LI>
|
|
|
|
<LI>
|
|
· Auto-conversion of Applix Words styles to standard HTML styles</LI>
|
|
|
|
<LI>
|
|
· Auto-conversion of Applix Graphics and Applix Presents to GIF,
|
|
including linked or embedded graphics</LI>
|
|
|
|
<LI>
|
|
· Auto-conversion or creation of tables</LI>
|
|
|
|
<LI>
|
|
· Full control over background color, text and hyperlink colors</LI>
|
|
|
|
<LI>
|
|
· Auto-bulleting and auto-listing functions</LI>
|
|
|
|
<LI>
|
|
· Dialog boxes and pull-down menus for all attributes and activities</LI>
|
|
|
|
<LI>
|
|
· Straightforward linking and editing of existing GIF files</LI>
|
|
</UL>
|
|
<B>The Extension Language Facility (ELF) and Macros</B>
|
|
<UL>
|
|
<LI>
|
|
· Robust interpretive programming language</LI>
|
|
|
|
<LI>
|
|
· TCP/IP socket interface and remote procedure calls (RPCs)</LI>
|
|
|
|
<LI>
|
|
· Interactive debugger, compiler/interpreter</LI>
|
|
|
|
<LI>
|
|
· Arithmetic, string and Boolean operators</LI>
|
|
|
|
<LI>
|
|
· Over 2500 built-in macros. Time-saving features for all users</LI>
|
|
|
|
<LI>
|
|
· User-definable menu bars, dialog boxes and keybindings, menu-bar
|
|
editor across all Applixware products</LI>
|
|
|
|
<LI>
|
|
· Keystroke and mousepick recorder</LI>
|
|
|
|
<LI>
|
|
· Live linking and launching of external applications from Applix
|
|
Words,</LI>
|
|
|
|
<LI>
|
|
· Spreadsheets, Presents, and Mail.</LI>
|
|
|
|
<LI>
|
|
· User-definable ExpressLine icons for automating tasks</LI>
|
|
|
|
<LI>
|
|
· Incremental zoom</LI>
|
|
</UL>
|
|
<B>Changes from Previous Version</B>
|
|
|
|
<P>This new version features advanced HTML authoring tools for adding pages
|
|
to your website simply and directly. It also has dramatically improved
|
|
filter technology enabling you, for example, to import and work on Word
|
|
or WordPerfect files and export back in those formats. If you want the
|
|
``real thing'', Corel has version 7.0 of Word Perfect available for Linux.
|
|
|
|
<P>The graphical user interface for Linux (and Unix in general) is X Windows.
|
|
A typical X Windows setup is shown below. This system is running the Common
|
|
Desktop Environment (CDE) window manager. X Windows is divided into two
|
|
subsystems consisting of a server and a client and you are free to change
|
|
either of these as your want. The main reason for changing an X server
|
|
is to gain better speed and better support for your video cards and monitors.
|
|
The main reason for changing window managers is to get the look and feel
|
|
you desire. You can not change the server or window manager under any of
|
|
the Windows products, because Microsoft has decided the look and feel you
|
|
get. The closest they get is the Plus! pack and its themes.
|
|
|
|
<P>Another possibility , which will save money and breath life into your
|
|
old 486's is to install Linux on them and use them as a NC (Network Computer).
|
|
Linux's GUI is X, so it is perfect for an X terminal (with either another
|
|
Linux machine as the server, or any other Unix system) and you can run
|
|
Insignia Solutions Inc.'s Keoke client under Java in order to turn your
|
|
Linux workstation into a thin client that runs Windows (virtual NT) applications.
|
|
|
|
<P>As a rule, Linux performs radically better than Windows 3.1 given the
|
|
same amount of RAM. Linux can run complete with a graphical desktop on
|
|
a 386 with 4MB of RAM, if you're patient. Add Netscape Navigator, and you
|
|
can get away with a 486 and 8MB of RAM. Consider 16MB of RAM a performance
|
|
sweet spot, especially if you use Communicator. Linux also has unimposing
|
|
disk space requirements. The bare-bones Caldera graphical client uses about
|
|
68MB of disk space. You'll want to install a few more packages than that
|
|
(Netscape, Java, and perhaps a friendlier window manager than the default
|
|
Fvwm), and you'll need at least a 32MB swap partition. When you consider
|
|
all the factors, a 200MB disk is plenty for most desktops.
|
|
<DIV ALIGN=right> </DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Appendix A</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="RedHat 5.0 Installation Guide"></A><B><FONT SIZE=+2>RedHat
|
|
5.0 Installation Guide</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Appendix B</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="Samba"></A><B><FONT SIZE=+2>Samba</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><B><FONT SIZE=+2>Appendix C</FONT></B></DIV>
|
|
|
|
<DIV ALIGN=right><A NAME="DOSEMU Manual"></A><B><FONT SIZE=+2>DOSEMU Manual</FONT></B></DIV>
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<center><H5>Copyright © 1998, Quinn P. Coldiron <BR>
|
|
Published in Issue 29 of <i>Linux Gazette</i>, June 1998</H5></center>
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
|
|
ALT="[ TABLE OF CONTENTS ]"></A>
|
|
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
|
|
ALT="[ FRONT PAGE ]"></A>
|
|
<A HREF="./nelson.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="./kahn.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
<!--startcut ==========================================================-->
|
|
</BODY>
|
|
</HTML>
|
|
<!--endcut ============================================================-->
|