old-www/LDP/LG/issue29/coldiron.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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="#Linux installation">Linux
installation</A></LI>
<LI>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="#Samba Installation/Setup">Samba
installation/setup</A></LI>
<LI>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="#Installing Cats on the Server">Installing
Cats on the Server</A></LI>
<LI>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="#Configuring your Windows clients">Configuring
your Windows clients</A></LI>
<LI>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="#System backups">System backups</A></LI>
<LI>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <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>&nbsp;
<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 &lt;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>
&middot; multitasking: several programs running at once.</LI>
<LI>
&middot; multi-user: several users on the same machine at once (and no
two-user licenses!)..</LI>
<LI>
&middot; multiplatform: runs on many different CPUs, not just Intel.</LI>
<LI>
&middot; 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>
&middot; runs in protected mode on the 386.</LI>
<LI>
&middot; has memory protection between processes, so that one program can't
bring the whole system down.</LI>
<LI>
&middot; demand loads executables: Linux only reads from disk those parts
of a program that are actually used.</LI>
<LI>
&middot; 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>
&middot; 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>
&middot; 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>
&middot; dynamically linked shared libraries (DLL's), and static libraries
too, of course.</LI>
<LI>
&middot; 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>
&middot; mostly compatible with POSIX, System V, and BSD at the source
level.</LI>
<LI>
&middot; through an iBCS2-compliant emulation module, mostly compatible
with SCO, SVR3, and SVR4 at the binary level.</LI>
<LI>
&middot; 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>
&middot; POSIX job control.</LI>
<LI>
&middot; pseudoterminals (pty's).</LI>
<LI>
&middot; 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>
&middot; support for many national or customized keyboards, and it is fairly
easy to add new ones dynamically.</LI>
<LI>
&middot; 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>
&middot; 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>
&middot; 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 &middot;special filesystem
called UMSDOS which allows Linux to be installed on a DOS filesystem.</LI>
<LI>
&middot; read-only HPFS-2 support for OS/2 2.1</LI>
<LI>
&middot; HFS (Macintosh) file system support is available separately as
a module.</LI>
<LI>
&middot; CD-ROM filesystem which reads all standard formats of CD-ROMs.</LI>
<LI>
&middot; TCP/IP networking, including ftp, telnet, NFS, etc.</LI>
<LI>
&middot; AppleTalk server</LI>
<LI>
&middot; Netware client and server</LI>
<LI>
&middot; Lan Manager (SMB) client and server</LI>
<LI>
&middot; 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>
&middot; 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>
&middot; Samba is "free" and this is a lot less expensive than Novell!
(friendlier too!)</LI>
<LI>
&middot; 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>
&middot; 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>
&nbsp;
<TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH="667" HEIGHT="177" >
<TR>
<TD WIDTH="50%" HEIGHT="170">&nbsp;<IMG SRC="./gx/coldiron/netatalk.gif" NATURALSIZEFLAG="0" HEIGHT=125 WIDTH=384 ALIGN=BOTTOM></TD>
<TD WIDTH="50%">&nbsp;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>
&nbsp;
<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>&nbsp;
<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>
&nbsp;
<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>
&nbsp;
<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.&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;</TD>
</TR>
</TABLE></CENTER>
&nbsp;
<BR>&nbsp;
<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>&nbsp;
<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&nbsp;</FONT>&nbsp;</B>&nbsp;
<P><B><FONT FACE="Courier New,Courier">11:41:18 CST 1997&nbsp;</FONT>&nbsp;</B>&nbsp;
<P><FONT FACE="Courier New,Courier">This page shows currently logged on
users and locked files for the UNPLINUX server.&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">Right-click this page and select REFRESH
or RELOAD to force an update&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">Samba version 1.9.17p1&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">Service uid gid pid machine&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">----------------------------------------------&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">cdrom root root 11697 enterprise (129.93.31.35)
Thu Dec 4 16:35:23 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">quinn root root 11697 enterprise (129.93.31.35)
Thu Dec 4 16:35:23 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">M-DATA cbrumm cbrumm 11435 ds9 (129.93.31.14)
Thu Dec 4 16:08:16 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">programs root root 11697 enterprise
(129.93.31.35) Thu Dec 4 16:35:23 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">L-NE cbrumm cbrumm 11435 ds9 (129.93.31.14)
Thu Dec 4 16:08:29 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">N-DBC cbrumm cbrumm 11435 ds9 (129.93.31.14)
Thu Dec 4 16:08:29 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">O-WORK cbrumm cbrumm 11435 ds9 (129.93.31.14)
Thu Dec 4 16:08:29 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">P-HIST cbrumm cbrumm 11435 ds9 (129.93.31.14)
Thu Dec 4 16:08:29 1997&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">&lt;snip>&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">Locked files:&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">Pid DenyMode R/W Name&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">------------------------------&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR fileauth.txt
Fri Dec 5 11:41:14 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">21212 DENY_NONE RDWR fileauth.txt
Fri Dec 5 11:40:28 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">20590 DENY_NONE RDWR fileauth.txt
Fri Dec 5 11:38:56 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">21384 DENY_NONE RDWR fileauth.txt
Fri Dec 5 11:06:15 1997&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">&lt;snip>&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR filebac2.isi Fri
Dec 5 11:02:36 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">20590 DENY_NONE RDWR filebac2.isi
Fri Dec 5 10:14:44 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">19818 DENY_NONE RDWR fileauth.isi
Fri Dec 5 11:41:14 1997&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">21212 DENY_NONE RDWR fileauth.isi
Fri Dec 5 11:40:28 1997&nbsp;</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">Share mode memory usage (bytes):&nbsp;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">92584(90%) free + 7728(7%) used +
2088(2%) overhead = 102400(100%) total&nbsp;</FONT></TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<BR>The script that generates the above page:
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD><FONT FACE="Courier New,Courier">#!/usr/bin/perl</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># ******************************************************</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * Author: Quinn P. Coldiron *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * Date: 12-1-97 *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * Program: This program shows current
users of the *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * Samba server. *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># * *</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># ******************************************************</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"># Use cgi-lib CGI library for PERL.</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">require "/home/httpd/cgi-bin/cgi-lib.pl";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">$date = `date`;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">$users = `./smbstatus`;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">#Get the data from the form.</FONT>&nbsp;
<P><FONT FACE="Courier New,Courier">&amp;ReadParse;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print &amp;PrintHeader;</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;HTML>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;HEAD>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;TITLE>Logged In Samba Users&lt;/TITLE>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;/HEAD>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;BODY BGCOLOR= #D4D4D4>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;H1>Snapshot of users for:
$date&lt;/H1>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "This page shows currently logged
on users and locked files for the UNPLINUX server.&lt;br>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "Right-click this page and select
REFRESH or RELOAD to force an update&lt;br>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;PRE>$users&lt;/PRE>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;/BODY>\n";</FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier">print "&lt;/HTML>\n";</FONT>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<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>&nbsp;
<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>&nbsp;
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>83 processes: 82 sleeping,
1 running, 0 zombie, 0 stopped</FONT></FONT>&nbsp;
<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>&nbsp;
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>Mem: 63204K av, 62336K
used, 868K free, 38384K shrd, 5536K buff</FONT></FONT>&nbsp;
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>Swap: 114908K av, 368K
used, 114540K free 29496K cached</FONT></FONT>&nbsp;
<P><FONT FACE="Courier New,Courier"><FONT SIZE=-2>PID USER PRI NI SIZE
RSS SHARE STAT LIB %CPU %MEM TIME COMMAND</FONT></FONT>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-2>3 root -12 -12 0 0 0
SW&lt; 0 0.0 0.0 0:00 kswapd</FONT></FONT>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<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>
&middot; 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>
&middot; memory: amount of RAM.</LI>
<LI>
&middot; 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>
&middot; SCSI adapter: make and model number.</LI>
<LI>
&middot; network card: make and model number.</LI>
<LI>
&middot; 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>
&middot; 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>
&middot; your video card: make and model number or video chipset, amount
of video RAM.</LI>
<LI>
&middot; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Create the smb.conf file.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Create the netlogon directory.
I put mine in /home.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a. Control Panel
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1. Click Passwords, then Profiles and choose these settings:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a. Users can customize their settings.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
b. Include desktop items.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c. Include start menu.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2. In the Control Panel, select Network.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a. Under Identification, set your WORKGROUP name.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
b. Access control = USER-LEVEL.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c. Obtain the list from YOUR SERVER NAME.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
d. Under Client Configuration
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1. Select CLIENT FOR MICROSOFT NETWORKS.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2. Under that client's properties.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a. Log onto Windows NT domain.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
b. Enter your WORKGROUP name.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
c. Select LOG ON AND RESTORE CONNECTIONS.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
e. Set primary network logon to CLIENT FOR MICROSOFT NETWORKS.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b. Set up the user profiles.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1. Install the Policy Editor from the Windows 95 CD.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
done once, not on each client.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
3. Using the Policy Editor, select Open registry from the File menu and
select the options you want.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. Windows95 OSR2 seems to send
the passwords as uppercase, so try changing the passwords on the Linux
server to uppercase.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. I had problems making my Linux
server the WINS server, so you have some choices to fix this:
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a. If you do have another NT server, make it the WINS server and point
all the clients to it.
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
I haven't tried doing it from Linux/Samba. The entries look like this:
<TT>xxx.xxx.xxx.xxx computername</TT>
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>; *******************************************************************&nbsp;
<BR>; *&nbsp;
<BR>; * Samba config file for UNPLINUX&nbsp;
<BR>; * Quinn P. Coldiron&nbsp;
<BR>; *&nbsp;
<BR><TT>; *******************************************************************</TT>&nbsp;
<BR><TT>[global]</TT>&nbsp;
<BR><TT>workgroup = UNP</TT>&nbsp;
<BR><TT>comment = Unplinux Server</TT>&nbsp;
<BR><TT>volume = RedHat5</TT>&nbsp;
<BR><TT>lock directory = /var/lock/samba</TT>&nbsp;
<BR><TT>locking = yes</TT>&nbsp;
<BR><TT>strict locking = no</TT>&nbsp;
<BR><TT>share modes = yes</TT>&nbsp;
<BR><TT>security = user</TT>&nbsp;
<BR><TT>os level = 65</TT>&nbsp;
<BR><TT>domain master = yes</TT>&nbsp;
<BR><TT>local master = yes</TT>&nbsp;
<BR><TT>prefered master = yes</TT>&nbsp;
<BR><TT>domain logons = yes</TT>&nbsp;
<BR><TT>wins support = yes</TT>&nbsp;
<BR><TT>;logon script = %m.bat ; per workstation (machine)</TT>&nbsp;
<BR><TT>;logon script = logon.bat</TT>&nbsp;
<BR><TT>logon script = %U.bat</TT>&nbsp;
<BR><TT>preserve case = yes</TT>&nbsp;
<BR><TT>short case preserve = yes</TT>&nbsp;
<BR><TT>case sensitive = no</TT>&nbsp;
<BR><TT>; printing = BSD or SYSV or AIX, etc..</TT>&nbsp;
<BR><TT>printing = bsd</TT>&nbsp;
<BR><TT>printcap name = /etc/printcap</TT>&nbsp;
<BR><TT>load printers = yes</TT>&nbsp;
<BR><TT>print command = /usr/bin/lpr -r -P %p %s</TT>&nbsp;
<BR><TT>[netlogon]</TT>&nbsp;
<BR><TT>comment = Samba Network Logon Service</TT>&nbsp;
<BR><TT>path = /home/netlogon</TT>&nbsp;
<BR><TT>case sensitive = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>locking = no</TT>&nbsp;
<BR><TT>read only = yes</TT>&nbsp;
<BR><TT>browseable = yes ; say NO if you want to hide the NETLOGON share</TT>&nbsp;
<BR><TT>;admin users = @wheel</TT>&nbsp;
<BR><TT>create mode = 0755</TT>&nbsp;
<P><TT>; ###############################################################################</TT>&nbsp;
<BR><TT>; # #</TT>&nbsp;
<BR><TT>; # Printers #</TT>&nbsp;
<BR><TT>; # #</TT>&nbsp;
<BR><TT>; ###############################################################################</TT>&nbsp;
<BR><TT>; I couldn't get the generic printers section to work, so I commented
it out</TT>&nbsp;
<BR><TT>; and explicitly declared the printers.</TT>&nbsp;
<BR><TT>;[printers]</TT>&nbsp;
<BR><TT>; comment = All Printers</TT>&nbsp;
<BR><TT>; path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>; browseable = yes</TT>&nbsp;
<BR><TT>; printable = yes</TT>&nbsp;
<BR><TT>; Set public = yes to allow user 'guest account' to print</TT>&nbsp;
<BR><TT>; public = no</TT>&nbsp;
<BR><TT>; writable = no</TT>&nbsp;
<BR><TT>; create mode = 0700</TT>&nbsp;
<P><TT>[Technology]</TT>&nbsp;
<BR><TT>comment = Technology Printer</TT>&nbsp;
<BR><TT>path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>print = Technology</TT>&nbsp;
<BR><TT>browseable = yes</TT>&nbsp;
<BR><TT>printable = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[Marketing2]</TT>&nbsp;
<BR><TT>comment = Technology Printer</TT>&nbsp;
<BR><TT>path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>print = Marketing2</TT>&nbsp;
<BR><TT>browseable = yes</TT>&nbsp;
<BR><TT>printable = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[Marketing1]</TT>&nbsp;
<BR><TT>comment = Technology Printer</TT>&nbsp;
<BR><TT>path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>print = Marketing1</TT>&nbsp;
<BR><TT>browseable = yes</TT>&nbsp;
<BR><TT>printable = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[CustServ]</TT>&nbsp;
<BR><TT>comment = Technology Printer</TT>&nbsp;
<BR><TT>path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>print = CustServ</TT>&nbsp;
<BR><TT>browseable = yes</TT>&nbsp;
<BR><TT>printable = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[CanonColor]</TT>&nbsp;
<BR><TT>comment = Color Laser Printer</TT>&nbsp;
<BR><TT>path = /var/spool/samba-print</TT>&nbsp;
<BR><TT>print = CanonColor</TT>&nbsp;
<BR><TT>browseable = yes</TT>&nbsp;
<BR><TT>printable = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>; ###############################################################################</TT>&nbsp;
<BR><TT>; # #</TT>&nbsp;
<BR><TT>; # Shared Volumes #</TT>&nbsp;
<BR><TT>; # #</TT>&nbsp;
<BR><TT>; ###############################################################################</TT>&nbsp;
<P><TT>[homes]</TT>&nbsp;
<BR><TT>comment = Home Directories</TT>&nbsp;
<BR><TT>browseable = no</TT>&nbsp;
<BR><TT>writable = yes</TT>&nbsp;
<BR><TT>read only = no</TT>&nbsp;
<BR><TT>preserve case = yes</TT>&nbsp;
<BR><TT>short preserve case = yes</TT>&nbsp;
<BR><TT>;create mode = 0777</TT>&nbsp;
<P><TT>[userdata]</TT>&nbsp;
<BR><TT>comment = All userdata that you are allowed to see.</TT>&nbsp;
<BR><TT>path = /home</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>;Full control for your stuff, full in you group, nothing for other</TT>&nbsp;
<BR><TT>;people's stuff.</TT>&nbsp;
<BR><TT>create mode = 0770</TT>&nbsp;
<P><TT>[sys]</TT>&nbsp;
<BR><TT>comment = System drive. Various Press utilities.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-sys/</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[programs]</TT>&nbsp;
<BR><TT>comment = Program drive. Installation sets and programs.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-programs</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[ulrich]</TT>&nbsp;
<BR><TT>comment = Ulrich's PLUS.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-programs/ulrich</TT>&nbsp;
<BR><TT>create mode = 555</TT>&nbsp;
<P><TT>[cdrom]</TT>&nbsp;
<BR><TT>comment = Internal IDE cdrom. For temporary usage.</TT>&nbsp;
<BR><TT>path = /mnt/cdrom</TT>&nbsp;
<P><TT>[dictionary]</TT>&nbsp;
<BR><TT>comment = Random House Dictionary.</TT>&nbsp;
<BR><TT>path = /mnt/scd1</TT>&nbsp;
<P><TT>[bip]</TT>&nbsp;
<BR><TT>comment = Bowker Books In Print CDROM</TT>&nbsp;
<BR><TT>path = /mnt/scd0</TT>&nbsp;
<P><TT>[msoffice]</TT>&nbsp;
<BR><TT>comment = Microsoft Office Bookshelf Reference.</TT>&nbsp;
<BR><TT>path = /mnt/scd3</TT>&nbsp;
<P><TT>[encarta]</TT>&nbsp;
<BR><TT>comment = Microsoft Encarta</TT>&nbsp;
<BR><TT>path = /mnt/scd2</TT>&nbsp;
<P><TT>[press]</TT>&nbsp;
<BR><TT>comment = Press share. Marketing maps this to U:</TT>&nbsp;
<BR><TT>path = /home/press</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>create mode = 0777</TT>&nbsp;
<P><TT>[CATS-VOL]</TT>&nbsp;
<BR><TT>comment = Entire Cats volume for backup</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[L-NE]</TT>&nbsp;
<BR><TT>comment = Cat's root. Map as L.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[M-DATA]</TT>&nbsp;
<BR><TT>comment = Cat's data drive. Map as M.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/data</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[N-DBC]</TT>&nbsp;
<BR><TT>comment = Cat's program drive. Map as N.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/dbc</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[O-WORK]</TT>&nbsp;
<BR><TT>comment = Cat's work drive. Map as O.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/work</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[P-HIST]</TT>&nbsp;
<BR><TT>comment = Cat's history drive. Map as P.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/hist</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<BR>&nbsp;</TD>
</TR>
</TABLE>
My actual logon.bat batch file is here:
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD><TT>REM *******************************************************</TT>&nbsp;
<BR><TT>REM * *</TT>&nbsp;
<BR><TT>REM * University of Nebraska Press network logon script. *</TT>&nbsp;
<BR><TT>REM * *</TT>&nbsp;
<BR><TT>REM * Last modified : 10-16-97 *</TT>&nbsp;
<BR><TT>REM * By: Quinn *</TT>&nbsp;
<BR><TT>REM * *</TT>&nbsp;
<BR><TT>REM * The drive letter scheme is leftover from the past *</TT>&nbsp;
<BR><TT>REM * network administrator and the Novell Netware 3.1 *</TT>&nbsp;
<BR><TT>REM * server he had. *</TT>&nbsp;
<BR><TT>REM *******************************************************</TT>&nbsp;
<BR><TT>REM User's home drives</TT>&nbsp;
<BR><TT>net use e: \\unplinux\homes</TT>&nbsp;
<BR><TT>REM General network drives</TT>&nbsp;
<BR><TT>net use f: \\intrepid\sys</TT>&nbsp;
<BR><TT>net use g: \\intrepid\userdata</TT>&nbsp;
<BR><TT>net use h: \\intrepid\dictionary</TT>&nbsp;
<BR><TT>net use i: \\intrepid\bip</TT>&nbsp;
<BR><TT>net use j: \\intrepid\programs</TT>&nbsp;
<BR><TT>net use s: \\unplinux\ulrich</TT>&nbsp;
<BR><TT>REM CATS drives</TT>&nbsp;
<BR><TT>net use l: \\unplinux\l-ne</TT>&nbsp;
<BR><TT>net use m: \\unplinux\m-data</TT>&nbsp;
<BR><TT>net use n: \\unplinux\n-dbc</TT>&nbsp;
<BR><TT>net use o: \\unplinux\o-work</TT>&nbsp;
<BR><TT>net use p: \\unplinux\p-hist</TT>&nbsp;
<BR><TT>REM Temp entry for Robotronics</TT>&nbsp;
<BR><TT>REM The old system had robo on the T:\ drive but</TT>&nbsp;
<BR><TT>REM all new installations will run robo from the j:\ drive.</TT>&nbsp;
<BR><TT>net use t: \\unplinux\programs</TT>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<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>&nbsp;
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD><TT>#</TT>&nbsp;
<BR><TT># This file is read before (after if -u is specified) the user's</TT>&nbsp;
<BR><TT># AppleVolume file. Add extension mappings and volumes here.</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT>/usr/local/samba-sys Sys (F drive)</TT>&nbsp;
<BR><TT>/home Userdata (G drive)</TT>&nbsp;
<BR><TT>/usr/local/samba-programs Programs (J drive)</TT>&nbsp;
<BR><TT># default translation -- note that CR &lt;-> LF translation is
done on all</TT>&nbsp;
<BR><TT># files of type TEXT. The first line turns off translation for
files of</TT>&nbsp;
<BR><TT># unknown type, the second turns this translation on.</TT>&nbsp;
<BR><TT>. BINA UNIX</TT>&nbsp;
<BR><TT># . TEXT UNIX</TT>&nbsp;
<BR><TT># sounds</TT>&nbsp;
<BR><TT>.mod STrk STrk</TT>&nbsp;
<BR><TT>.mid Midi ttxt</TT>&nbsp;
<BR><TT>.aiff AIFF SNdm</TT>&nbsp;
<BR><TT>.wav WAVE SNdm</TT>&nbsp;
<BR><TT>.au ULAW SNdm</TT>&nbsp;
<BR><TT># video</TT>&nbsp;
<BR><TT>.moov MooV mMPG</TT>&nbsp;
<BR><TT>.mov MooV mMPG</TT>&nbsp;
<BR><TT>.mpg MPEG mMPG</TT>&nbsp;
<BR><TT>.mpeg MPEG mMPG</TT>&nbsp;
<BR><TT># formatted text</TT>&nbsp;
<BR><TT>.html TEXT MOS!</TT>&nbsp;
<BR><TT>.rtf TEXT MSWD</TT>&nbsp;
<BR><TT>.doc WDBN MSWD</TT>&nbsp;
<BR><TT># compressed archives</TT>&nbsp;
<BR><TT>.bin BINA MB2P</TT>&nbsp;
<BR><TT>.zip ZIP ZIP</TT>&nbsp;
<BR><TT>.tar TARF TAR!</TT>&nbsp;
<BR><TT>.gz Gzip Gzip</TT>&nbsp;
<BR><TT>.Z ZIVM LZIV</TT>&nbsp;
<BR><TT>.sea ???? SITx</TT>&nbsp;
<BR><TT>.cpt PACT CPCT</TT>&nbsp;
<BR><TT>.sit SIT! SIT!</TT>&nbsp;
<BR><TT>.hqx TEXT SITx</TT>&nbsp;
<BR><TT># graphics</TT>&nbsp;
<BR><TT>.tiff TIFF JVWR</TT>&nbsp;
<BR><TT>.tif TIFF JVWR</TT>&nbsp;
<BR><TT>.bmp BMPp JVWR</TT>&nbsp;
<BR><TT>.pct PICT ttxt</TT>&nbsp;
<BR><TT>.pict PICT ttxt</TT>&nbsp;
<BR><TT>.jpeg JPEG JVWR</TT>&nbsp;
<BR><TT>.jpg JPEG JVWR</TT>&nbsp;
<BR><TT>.gif GIFf JVWR</TT>&nbsp;</TD>
</TR>
</TABLE>
The other file that you need to edit with NetaTalk is papd.conf. This file
hold the printer information.
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD><TT># Attributes are:</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># Name Type Default Description</TT>&nbsp;
<BR><TT># pd str ".ppd" Pathname to ppd file.</TT>&nbsp;
<BR><TT># pr str "lp" LPD printer name.</TT>&nbsp;
<BR><TT># op str "operator" Operator name, for LPD spooling.</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># Some examples:</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># On many systems (notably not Solaris), no papd.conf is required,</TT>&nbsp;
<BR><TT># since papd shares the same defaults as lpd.</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># A simple example:</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># terminator:\</TT>&nbsp;
<BR><TT># :pr=lp:op=wes:\</TT>&nbsp;
<BR><TT># :pd=/usr/share/lib/ppd/HPLJ_4M.PPD:</TT>&nbsp;
<BR><TT>#</TT>&nbsp;
<BR><TT># Note also that papd.conf can list several printers.</TT>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD><TT>[CATS-VOL]</TT>&nbsp;
<BR><TT>comment = Entire Cats volume for backup</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[L-NE]</TT>&nbsp;
<BR><TT>comment = Cat's root. Map as L.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[M-DATA]</TT>&nbsp;
<BR><TT>comment = Cat's data drive. Map as M.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/data</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[N-DBC]</TT>&nbsp;
<BR><TT>comment = Cat's program drive. Map as N.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/dbc</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[O-WORK]</TT>&nbsp;
<BR><TT>comment = Cat's work drive. Map as O.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/work</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;
<P><TT>[P-HIST]</TT>&nbsp;
<BR><TT>comment = Cat's history drive. Map as P.</TT>&nbsp;
<BR><TT>path = /usr/local/samba-cats/ne/hist</TT>&nbsp;
<BR><TT>writeable = yes</TT>&nbsp;
<BR><TT>printable = no</TT>&nbsp;
<BR><TT>guest ok = yes</TT>&nbsp;
<BR><TT>public = yes</TT>&nbsp;
<BR><TT>create mask = 0777</TT>&nbsp;</TD>
</TR>
</TABLE>
At the time of this writing, we were still running Cats 2.3, so the major
directories were as follows:
<BR>&nbsp;
<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>&nbsp;</FONT>&nbsp;
<BR><FONT COLOR="#FFFFFF"><B><TT>&nbsp;&nbsp;&nbsp;&nbsp; |---> data</TT></B>&nbsp;</FONT>&nbsp;
<BR><FONT COLOR="#FFFFFF"><B><TT>&nbsp;&nbsp;&nbsp;&nbsp; |---> dbc</TT></B>&nbsp;</FONT>&nbsp;
<BR><FONT COLOR="#FFFFFF"><B><TT>&nbsp;&nbsp;&nbsp;&nbsp; |---> work</TT></B>&nbsp;</FONT>&nbsp;
<BR><B><TT><FONT COLOR="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp; |---> hist</FONT></TT></B></TD>
</TR>
</TABLE>
&nbsp;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&nbsp;
<BR># ******************************************************&nbsp;
<BR># * *&nbsp;
<BR># * Author: Quinn P. Coldiron *&nbsp;
<BR># * Date: 11-24-97 *&nbsp;
<BR># * Program: This locks Cats *&nbsp;
<BR># * *&nbsp;
<BR># ******************************************************&nbsp;
<BR># Use cgi-lib CGI library for PERL.&nbsp;
<BR>require "/home/httpd/cgi-bin/cgi-lib.pl";&nbsp;
<BR>#Get the data from the form.&nbsp;
<BR>&amp;ReadParse;&nbsp;
<BR>print &amp;PrintHeader;&nbsp;
<BR>print "&lt;HTML>\n";&nbsp;
<BR>print "&lt;HEAD>\n";&nbsp;
<BR>print "&lt;TITLE>Finished&lt;/TITLE>\n";&nbsp;
<BR>print "&lt;/HEAD>\n";&nbsp;
<BR>print "&lt;BODY BGCOLOR= #b7b7b7>\n";&nbsp;
<BR>if ( $in{password} =~ "PASSWORD") {&nbsp;
<BR>print "&lt;P>&lt;B>Finished.&lt;/B>&lt;/P>\n";&nbsp;
<BR>print "&lt;P>Batch files written and CATS is &lt;B>locked&lt;/B>.&lt;/P>\n";&nbsp;
<BR>print "&lt;BR>You may access CATS by going to the M: drive and typing
secret.bat\n";&nbsp;
<BR>print "This should only be used for Month-end closing, reindexing and
system repairs.\n";&nbsp;
<BR>print "&lt;BR>&lt;BR>Quinn.\n";&nbsp;
<BR>system ("cp /home/httpd/cgi-bin/cats/lock/*.bat /usr/local/samba-cats/ne/data/");&nbsp;
<BR>system ("chmod 777 /usr/local/samba-cats/ne/data/*");&nbsp;
<BR>} else {&nbsp;
<BR>print "Wrong password\n";&nbsp;
<BR>}&nbsp;
<BR>print "&lt;/BODY>\n";&nbsp;
<BR>print "&lt;/HTML>\n";&nbsp;</TD>
</TR>
</TABLE>
Unlock Cats:
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>#!/usr/bin/perl&nbsp;
<BR># ******************************************************&nbsp;
<BR># * *&nbsp;
<BR># * Author: Quinn P. Coldiron *&nbsp;
<BR># * Date: 11-24-97 *&nbsp;
<BR># * Program: This program copies that cats#.bat files *&nbsp;
<BR># * to the correct location. *&nbsp;
<BR># ******************************************************&nbsp;
<BR># Use cgi-lib CGI library for PERL.&nbsp;
<BR>require "/home/httpd/cgi-bin/cgi-lib.pl";&nbsp;
<BR>#Get the data from the form.&nbsp;
<BR>&amp;ReadParse;&nbsp;
<BR>print &amp;PrintHeader;&nbsp;
<BR>print "&lt;HTML>\n";&nbsp;
<BR>print "&lt;HEAD>\n";&nbsp;
<BR>print "&lt;TITLE>Finished&lt;/TITLE>\n";&nbsp;
<BR>print "&lt;/HEAD>\n";&nbsp;
<BR>print "&lt;BODY BGCOLOR= #b7b7b7>\n";&nbsp;
<BR>if ( $in{password} =~ "PASSWORD") {&nbsp;
<BR>print "&lt;P>&lt;B>Finished.&lt;/B>&lt;/P>\n";&nbsp;
<BR>print "&lt;P>Batch files written and CATS is unlocked.&lt;/P>\n";&nbsp;
<BR>print "&lt;BR>&lt;BR>Quinn.\n";&nbsp;
<BR>system ("cp /home/httpd/cgi-bin/cats/unlock/*.bat /usr/local/samba-cats/ne/data/");&nbsp;
<BR>system ("chmod 777 /usr/local/samba-cats/ne/data/*");&nbsp;
<BR>} else {&nbsp;
<BR>print "Wrong password!\n";&nbsp;
<BR>}&nbsp;
<BR>print "&lt;/BODY>\n";&nbsp;
<BR>print "&lt;/HTML>\n";&nbsp;
<BR>&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="30%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>REM CATS drives&nbsp;
<BR>net use l: \\unplinux\l-ne&nbsp;
<BR>net use m: \\unplinux\m-data&nbsp;
<BR>net use n: \\unplinux\n-dbc&nbsp;
<BR>net use o: \\unplinux\o-work&nbsp;
<BR>net use p: \\unplinux\p-hist&nbsp;</TD>
</TR>
</TABLE>
My cats batch file is here:
<BR>&nbsp;
<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:\&nbsp;
<BR>SET DBC_FILEPATH=L:\;M:\;N:\;O:\;P:\&nbsp;
<BR>Set DBC_PREP=M:&nbsp;
<BR>Set DBC_FILES=140&nbsp;
<BR>Set DBC_PGMSIZE=65024&nbsp;
<BR>Set DBC_CMDLINE=OLD&nbsp;
<BR>SET DBC_XKEYS=ON&nbsp;
<BR>Set DBC_COMPAT=DOS&nbsp;
<BR>Set DBC_PORT=24&nbsp;
<BR>SET DBC_DBCPATH=N:\&nbsp;
<BR>M:&nbsp;
<BR>DBC.EXE&nbsp;</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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="50%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>@echo off&nbsp;
<BR>path=c:\;l:\;m:\;n:\;o:\;p:\&nbsp;
<BR>prompt $p$g&nbsp;
<BR>rem set temp=c:\temp&nbsp;
<BR>lredir l: linux\fs\usr\local\samba-cats\ne&nbsp;
<BR>lredir m: linux\fs\usr\local\samba-cats\ne\data&nbsp;
<BR>lredir n: linux\fs\usr\local\samba-cats\ne\dbc&nbsp;
<BR>lredir o: linux\fs\usr\local\samba-cats\ne\work&nbsp;
<BR>lredir p: linux\fs\usr\local\samba-cats\ne\hist&nbsp;
<BR>lredir t: linux\fs\usr\local\samba-sys\programs\nesb&nbsp;
<BR>c:&nbsp;
<BR>menu.bat&nbsp;</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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="75%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>SHELL=/bin/bash&nbsp;
<BR>PATH=/sbin:/bin:/usr/sbin:/usr/bin&nbsp;
<BR>MAILTO=root&nbsp;
<BR># Run any at jobs every minute&nbsp;
<BR># * * * * * root [ -x /usr/sbin/atrun ] &amp;&amp; /usr/sbin/atrun&nbsp;
<BR># run-parts&nbsp;
<BR># 01 * * * * root run-parts /etc/cron.hourly&nbsp;
<BR># 02 1 * * * root run-parts /etc/cron.daily&nbsp;
<BR># 02 2 * * 0 root run-parts /etc/cron.weekly&nbsp;
<BR># 02 3 1 * * root run-parts /etc/cron.monthly&nbsp;
<BR># Remove /tmp, /var/tmp files not accessed in 10 days (240 hours)&nbsp;
<BR># 41 02 * * * root /usr/sbin/tmpwatch 240 /tmp /var/tmp&nbsp;
<BR># Remove formatted man pages not accessed in 10 days&nbsp;
<BR># 39 02 * * * root /usr/sbin/tmpwatch 240 /var/catman/cat?&nbsp;
<BR>#############################################################&nbsp;
<BR># WWW logs. I run 2 so I can compare results.&nbsp;
<BR>#############################################################&nbsp;
<BR># Run web one web log utility 0 0-23 * * * /usr/bin/log&nbsp;
<BR>02 1 * * * /usr/bin/log&nbsp;
<BR># Run the other web log utility 0 0-23 * * * /usr/local/mkstats/mkstats.pl
-c mkstats.config&nbsp;
<BR>02 1 * * * /usr/local/mkstats/mkstats.pl -c mkstats.config&nbsp;
<BR>#############################################################&nbsp;
<BR>#############################################################&nbsp;
<BR># Live stream management&nbsp;
<BR>#############################################################&nbsp;
<BR># Create xdm file for live stream for Sports Nightly (5:45 pm)&nbsp;
<BR>45 17 * * 1,2,3,4,5 livestream-on&nbsp;
<BR># Kill xdm file for live stream for Sports Nightly (8:10 pm)&nbsp;
<BR>10 20 * * 1,2,3,4,5 livestream-off&nbsp;
<BR># Create xdm file for live stream for Saturday games (7:00 am)&nbsp;
<BR>0 7 * * 6 livestream-on&nbsp;
<BR># Kill xdm file for live stream for Saturday games (10:00 pm)&nbsp;
<BR>0 22 * * 6 livestream-off&nbsp;
<BR># Check the 3.0 server to see if it is running and not dead! (every
minute)&nbsp;
<BR>1-59 * * * * /usr/local/streamworks-3.0/checkSWserver&nbsp;
<BR>##############################################################&nbsp;
<BR># Check to see if network volumes are mounted (at 10:00 p.m.).&nbsp;
<BR># These need to be mounted since this machine performs the&nbsp;
<BR># backup at 11:55.&nbsp;
<BR>0 22 * * 1,2,3,4,5 checkmounts&nbsp;
<BR># copy BIP from Intrepid to exeter (WWW)&nbsp;
<BR>0 23 * * 1,2,3,4,5 /usr/local/bin/mvbip&nbsp;
<BR># backup userdata from intrepid&nbsp;
<BR>55 23 * * 1,2,3,4,5 bu-userdata&nbsp;
<BR># backup CATS&nbsp;
<BR>55 23 * * 1,2,3,4,5 bu-cats&nbsp;
<BR># backup Marketing&nbsp;
<BR>0 3 * * 1,2,3,4,5 bu-marketing&nbsp;
<BR># mail orders to quinn&nbsp;
<BR>0 8 * * 1,2,3,4,5 /usr/local/bin/mailunporders.pl&nbsp;</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>&nbsp;
<TABLE BORDER CELLSPACING=2 CELLPADDING=0 COLS=1 WIDTH="50%" BGCOLOR="#D4D4D4" NOSAVE >
<TR>
<TD>#!/bin/sh&nbsp;
<BR># Cronjob to remount network drives if they are not mounted.&nbsp;
<BR># Author: Quinn P. Coldiron&nbsp;
<BR>if [ -z "`ls /mnt/exeter | grep InetPub | grep -v grep`" ]&nbsp;
<BR>then&nbsp;
<BR>umount /mnt/exeter&nbsp;
<BR>/mnt/mountexeter&nbsp;
<BR>echo "Exeter remounted `date`"&nbsp;
<BR>fi&nbsp;
<BR>if [ -z "`ls /mnt/intrepid-f | grep BLINE | grep -v grep`" ]&nbsp;
<BR>then&nbsp;
<BR>umount /mnt/intrepid-f&nbsp;
<BR>/mnt/mountintrepid-f&nbsp;
<BR>echo "Intrepid F remounted `date`"&nbsp;
<BR>fi&nbsp;
<BR>if [ -z "`ls /mnt/intrepid-g | grep QC | grep -v grep`" ]&nbsp;
<BR>then&nbsp;
<BR>umount /mnt/intrepid-g&nbsp;
<BR>/mnt/mountintrepid-g&nbsp;
<BR>echo "Intrepid G remounted `date`"&nbsp;
<BR>fi&nbsp;
<BR>if [ -z "`ls /mnt/intrepid-mrktdept | grep KK | grep -v grep`" ]&nbsp;
<BR>then&nbsp;
<BR>umount /mnt/mountintrepid-mrkt&nbsp;
<BR>/mnt/mountintrepid-mrktdept&nbsp;
<BR>echo "Marketing remounted `date`"&nbsp;
<BR>fi&nbsp;
<BR>echo "All network volumes mounted."&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<BR>&nbsp;
<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>
&middot; Live links to Applixware or third-party applications</LI>
<LI>
&middot; Mail-enabled compound document technology</LI>
<LI>
&middot; Landscape, portrait and merge printing</LI>
<LI>
&middot; Multiple undo and redo</LI>
<LI>
&middot; Hypertext with optional HTML output</LI>
<LI>
&middot; Forms editor</LI>
<LI>
&middot; International dictionaries, thesauri and spell checkers</LI>
<LI>
&middot; Conditional text and cross-referencing; find and replace</LI>
<LI>
&middot; Embedded equations and calculation support</LI>
<LI>
&middot; Multiple typefaces, type styles and sizes</LI>
<LI>
&middot; Highly graphical user interface</LI>
<LI>
&middot; Tables and frames; borders and shading</LI>
<LI>
&middot; Multimedia support including audio and video</LI>
</UL>
<B>Applix Spreadsheets</B>
<UL>
<LI>
&middot; Live links to other Applixware and external applications</LI>
<LI>
&middot; Calculation-based attributes</LI>
<LI>
&middot; 3D spreadsheets and charts</LI>
<LI>
&middot; Integration of external functions</LI>
<LI>
&middot; Built-in string, financial, mathematical, and statistical functions</LI>
<LI>
&middot; Goal seeking</LI>
<LI>
&middot; Multiple named views</LI>
<LI>
&middot; Dynamic inter-spreadsheet links</LI>
<LI>
&middot; Live graphs and charts</LI>
<LI>
&middot; Editable graph styles</LI>
<LI>
&middot; Print preview</LI>
<LI>
&middot; Borders and shading</LI>
<LI>
&middot; Drag-and-drop moving of cells</LI>
<LI>
&middot; Projection tables</LI>
<LI>
&middot; Relative and absolute cell references</LI>
<LI>
&middot; Built-in database functions</LI>
<LI>
&middot; Built-in shared library, RPC, and shell command mechanisms</LI>
<LI>
&middot; True minimal recalculation</LI>
</UL>
<B>Applix Presentation Graphics</B>
<UL>
<LI>
&middot; Feature-rich palette, fill patterns &amp; drawing tools</LI>
<LI>
&middot; Horizontal and vertical shearing</LI>
<LI>
&middot; User-definable fill patterns, brush styles and shapes</LI>
<LI>
&middot; Unlimited color support and point sizes</LI>
<LI>
&middot; Rotating and scaling options</LI>
<LI>
&middot; Drop shadows</LI>
<LI>
&middot; Text wrapping</LI>
<LI>
&middot; Image digitizing</LI>
<LI>
&middot; Pixel editing</LI>
<LI>
&middot; Managed layers and animation</LI>
</UL>
<B>Applix Mail</B>
<UL>
<LI>
&middot; Fully mail-enables all Applixware products</LI>
<LI>
&middot; Personal and global user lists, distribution lists and aliases</LI>
<LI>
&middot; Sorting, filing and querying on incoming messages</LI>
<LI>
&middot; Automatic conversion of messages/documents to recipient's preferences</LI>
<LI>
&middot; UNIX sendmail transport and MIME compliant</LI>
<LI>
&middot; Shared folders</LI>
</UL>
<B>Applix HTML Author</B>
<UL>
<LI>
&middot; Availability of a wide range of basic and advanced HTML concepts</LI>
<LI>
&middot; More than 25 standard HTML styles for headlines, subheads, lists
and text</LI>
<LI>
&middot; Auto-conversion of Applix Words styles to standard HTML styles</LI>
<LI>
&middot; Auto-conversion of Applix Graphics and Applix Presents to GIF,
including linked or embedded graphics</LI>
<LI>
&middot; Auto-conversion or creation of tables</LI>
<LI>
&middot; Full control over background color, text and hyperlink colors</LI>
<LI>
&middot; Auto-bulleting and auto-listing functions</LI>
<LI>
&middot; Dialog boxes and pull-down menus for all attributes and activities</LI>
<LI>
&middot; Straightforward linking and editing of existing GIF files</LI>
</UL>
<B>The Extension Language Facility (ELF) and Macros</B>
<UL>
<LI>
&middot; Robust interpretive programming language</LI>
<LI>
&middot; TCP/IP socket interface and remote procedure calls (RPCs)</LI>
<LI>
&middot; Interactive debugger, compiler/interpreter</LI>
<LI>
&middot; Arithmetic, string and Boolean operators</LI>
<LI>
&middot; Over 2500 built-in macros. Time-saving features for all users</LI>
<LI>
&middot; User-definable menu bars, dialog boxes and keybindings, menu-bar
editor across all Applixware products</LI>
<LI>
&middot; Keystroke and mousepick recorder</LI>
<LI>
&middot; Live linking and launching of external applications from Applix
Words,</LI>
<LI>
&middot; Spreadsheets, Presents, and Mail.</LI>
<LI>
&middot; User-definable ExpressLine icons for automating tasks</LI>
<LI>
&middot; 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>&nbsp;</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 &copy; 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 ============================================================-->