Linux in Kuala Lumpur

Setting up computing facilities at a Maylasian university was easy using Linux.

My involvement with Linux began in 1994 when a friend of mine bought the complete set of Slackware diskettes for me. At that time, I was setting up computing facilities in Sir Syed University, Pakistan. Linux was set up as the first e-mail server on campus and was later given the role of web server by the system manager ( Sometime thereafter, I assumed a faculty position at the International Islamic University Malaysia (IIUM). IIUM recently moved to a new 700-acre campus and has a modern fiber-optic 155Mbps ATM core network serving completely switched segments in various faculties. The responsibility of upgrading and organizing the computer labs at the Faculty of Engineering was given to me as the Computer Coordinator.

Figure 1. Faculty of Engineering Building

I set up two clusters of 70 new computers, all Dell PII machines served by two dual-CPU servers. In one lab, a Windows NT server was set up to provide Windows applications and printing services for students. In the other cluster, I installed and configured the server as a dual boot machine. By default, the server boots into Linux, providing user authentication via NIS and user home directories via NFS. In case of Windows NT PDC (primary domain controller) failure, the NIS server can be booted as a backup PDC NT server.

Figure 2. Engineering Computer Lab

Server Setup

Since the Dell RAID controller is unsupported, we had to exchange the RAID controller for a tape backup unit so that Linux can recognize the hard disks. The fdisk print command now produces the output shown in Listing 1.

Listing 1.

In order to set up the NIS server, called garden, we had to overcome many minor problems. Using the search facilities at Dejanews (, solutions were quickly obtained from discussions posted on Usenet. The problem of shadow passwords was resolved by using the pwconv command to disable shadowing. One handy method to check whether NIS is working correctly is to issue the command:

ypserv -d

This prints all the debugging information when an NIS client tries to authenticate a user account.

SMP was easily enabled by uncommenting the SMP=3D1 line in the Makefile and recompiling the kernel. The 128MB RAM was recognized by Linux once I added an append=3Dmem=3D128M line to the /etc/lilo.conf file and executed /sbin/lilo. Any spaces in this line cause it to go unnoticed.

I exported /home via NFS for two purposes. One was to provide the NIS users with home directories, and the other reason was to enable them to view important announcements. For this purpose, the following line was added to the profile of users:

cat /home/motd

I configured a separate PII machine, called jasmine, as an applications server. Jasmine provides applications via NFS, including VLSI layout tools, Netscape, Scilab, GNUplot, Ghostview and others. In order to be an efficient NFS server for 30 PII clients, jasmine does not take part in NIS. A third Linux server, a Pentium, was configured to serve as the faculty e-mail and web server (

Client Setup

All 30 PII clients in the cluster are dual-boot-configured to reduce the annoyance of Windows loyalists. Since the lab manager was not interested in learning Linux, I had to give him a cookbook of actions to transform a machine booted with Linux into an NIS client station. What follows is the recipe for NIS client setup.

After setting up a basic Linux system with the proper NIC driver, copy the following files from the “model” client:

/etc/hosts  {To avoid setting up DNS service
     in localized cluster}
/etc/profile  {To set up paths and issue initial
     commands for an NIS user}
/etc/host.conf  {To set up the host lookup order
     with NIS}
/etc/defaultdomain {To set up NIS domain name}
/etc/rc.d/rc.inet2 {To start ypbind using
     /etc/defaultdomain as domain name}
/etc/fstab   {To import NFS directories into
     existing mount points}

Add a line containing “+” to /etc/passwd, /etc/group and /etc/shadow files. Reboot and log in as a “test” NIS user to verify functionality.

This cookbook worked perfectly, as the manager was able to fire up NIS clients without needing to know the setup details. Later, a booting message was added for the convenience of users, so they are informed of the dual boot-property of the clients. All that is necessary is adding a few lines to the /etc/lilo.conf file:

#start LILO global section

The boot.msg file contains the following text:

Type "linux" or "nt" to boot into operating
system of your choice.
To set up the X Window System, I turned to XSuSE ( as they have the largest set of drivers for various cards. Accepting the default choices for most of the questions, I was able to start X quickly by filling in the proper card type, monitor hsync and vsync values and video RAM size.

Instead of changing the path in the global profile each time an application is added, I included the path /usr/local/apps/cad/bin in the profile. In this directory, I use shell scripts or symbolic links to add new applications. If an application needs to be run from its home directory, a shell script with the application's name will run from this path. For example, the application exchek shell script contains the following lines:

cd /usr/local/apps/exchek

An alternate approach is to use symbolic links. For example, a symbolic link for Netscape was created with the following command:

ln -s /usr/local/apps/netscape/netscape netscape



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Help on NIS required

Sunil's picture

I just went through the web page and it is amazing to have such a beutiful and latest setup.

Well I required help on configuring NIS server and client I would be greatly obliged it you could provide me with relvent information and links