Chapter 4. Configuring The IRIX Operating System

This chapter provides information on the settings and files that need to be set and edited to customize your system for use. It is not necessary to change all listed settings and names on all systems. You are free to customize your systems as much or as little as necessary to suit your purposes. The following topics are covered in this chapter.

Checking System Configuration

IRIX provides two commands that allow you to check your system hardware and software configurations. The hinv(1M) and versions(1M) commands display the hardware and software inventories, respectively. Other commands are presented that report on graphics hardware, the system name, configured printers, and basic system settings.

Checking Installed Hardware With hinv

The hinv command displays the workstation or server's hardware inventory. This command can be run from the Command (PROM) Monitor or from your system shell prompt. Pertinent information such as the processor type, amount of main memory, and all disks, tape drives, or other devices is included. A sample hinv output for a typical workstation is:

1 100 MHZ IP22 Processor
FPU: MIPS R4010 Floating Point Chip Revision: 0.0
CPU: MIPS R4000 Processor Chip Revision: 3.0
On-board serial ports: 2
On-board bi-directional parallel port
Data cache size: 8 Kbytes
Instruction cache size: 8 Kbytes
Secondary unified instruction/data cache size: 1 Mbyte
Main memory size: 64 Mbytes
Vino video: unit 1, revision 1
Iris Audio Processor: version A2 revision 4.1.0
Integral Ethernet: ec0, version 1
CDROM: unit 4 on SCSI controller 0
Disk drive: unit 1 on SCSI controller 0
Integral SCSI controller 0: Version WD33C93B, revision D
Graphics board: Indy 24-bit

A sample hinv output for a major server is:

12 200 MHZ IP19 Processors
CPU: MIPS R4400 Processor Chip Revision: 6.0
FPU: MIPS R4010 Floating Point Chip Revision: 0.0
Data cache size: 16 Kbytes
Instruction cache size: 16 Kbytes
Secondary unified instruction/data cache size: 4 Mbytes
Main memory size: 512 Mbytes, 4-way interleaved
I/O board, Ebus slot 11: IO4 revision 1
I/O board, Ebus slot 13: IO4 revision 1
I/O board, Ebus slot 15: IO4 revision 1
Integral EPC serial ports: 4
Integral Ethernet controller: et2, Ebus slot 11
Integral Ethernet controller: et1, Ebus slot 13
Integral Ethernet controller: et0, Ebus slot 15
XPI FDDI controller: xpi0, slot 15, adapter 6, firmware version 9506010800, DAS
XPI FDDI controller: xpi1, slot 15, adapter 6, firmware version 9506010800, DAS
EPC external interrupts
Integral SCSI controller 131: Version WD33C95A, single ended, revision 0
Integral SCSI controller 130: Version WD33C95A, single ended, revision 0
Integral SCSI controller 111: Version WD33C95A, single ended, revision 0
Integral SCSI controller 110: Version WD33C95A, single ended, revision 0
Integral SCSI controller 1: Version WD33C95A, differential, revision 0
Disk drive: unit 1 on SCSI controller 1
Integral SCSI controller 0: Version WD33C95A, differential, revision 0
Disk drive: unit 5 on SCSI controller 0
Disk drive: unit 4 on SCSI controller 0
Disk drive: unit 3 on SCSI controller 0
Disk drive: unit 2 on SCSI controller 0
Integral SCSI controller 4: Version SCIP/WD33C95A
Integral SCSI controller 3: Version SCIP/WD33C95A
Disk drive: unit 5 on SCSI controller 3
Disk drive: unit 4 on SCSI controller 3
Disk drive: unit 3 on SCSI controller 3
Disk drive: unit 2 on SCSI controller 3
Integral SCSI controller 2: Version SCIP/WD33C95A
Disk drive: unit 5 on SCSI controller 2
Disk drive: unit 4 on SCSI controller 2
Disk drive: unit 3 on SCSI controller 2
Disk drive: unit 2 on SCSI controller 2
CC synchronization join counter
Integral EPC parallel port: Ebus slot 11
Integral EPC parallel port: Ebus slot 13
Integral EPC parallel port: Ebus slot 15
VME bus: adapter 0 mapped to adapter 61
VME bus: adapter 61

If a piece of peripheral hardware installed on your system does not appear in the hinv output, it may or may not be an indication of trouble with your hardware. Some peripherals connected to the system by a board on a VME bus will not be identified when running hinv from the Command Monitor. First, you should invoke hinv from a system shell prompt; If your peripheral is still not recognized, attempt to reseat the board or device in its socket and check that it is using the correct SCSI address. If this does not relieve the problem, the hardware itself may be defective. Note also that most devices are not recognized by hinv until the MAKEDEV(1M) command has been run after their installation.

Checking Installed Software With versions

The versions command gives you an inventory of software packages that have been installed using inst(1M). This command can only be run at the system shell prompt, not from the Command Monitor. Software installed by other means is not included in the versions output. Along with the names of the software products, the release revision level numbers are displayed. By default, the output of versions includes all the products and their subsystems and is typically several hundred lines long, so it is often convenient to redirect the output to a file that you can view at your convenience. For a more general look at the products you have installed, without the list of specific subsystems, use the -b (brief) flag.

A sample versions -b output reads as follows (an actual listing will be much longer):

I = Installed, R = Removed
   Name        Date      Description
I  4Dwm        04/29/93  4Dwm -- Default Window Manager, 5.3
I  demos       04/29/93  Graphics Demonstration Program, 5.3
I  desktop_eoe 04/29/93  Desktop Environment, 5.3
I  dps_eoe     04/29/93  Display PostScript, 2.0 
I  eoe1        04/29/93  Execution Only Environment 1, 5.3
I  eoe2        04/29/93  Execution Only Environment 2, 5.3
I  insight     04/29/93  IRIS InSight Viewer, 2.1
I  motif_eoe   04/29/93  Motif Execution Only Environment
I  nfs         04/29/93  Network File System, 5.2

Checking Graphics Hardware With gfxinfo

The gfxinfo command is useful for determining the graphics hardware installed in the system. It is in the /usr/gfx directory, which is not on any of the standard search paths. Thus gfxinfo typically needs the full path name to be specified for successful execution. The command requires no arguments to run.

An sample gfxinfo output for an Indy workstation:

% /usr/gfx/gfxinfo 

Graphics board 0 is "NG1" graphics.
        Managed (":0.0") 1280x1024 
        24 bitplanes, NG1 revision 3, REX3 revision B,
        VC2 revision A
        MC revision C, xmap9 revision A, cmap revision C,
        bt445 revision A
        Display 1280x1024 @ 60Hz, monitor id 12

This command provides much more information about the graphics system than the hinv command (hinv would simply return Indy 24-bit). From the output of gfxinfo you can determine the number of screens and their pixel resolutions, bitplane configurations, component revision levels, and monitor types. There is no reference page for gfxinfo. Servers without graphics capability will not have this command installed.

Basic System Identification With uname

The uname command returns information such as the OS version and hostname. The -a options gives a complete list of the uname output. See the reference page for a description of all the uname options and fields.

Getting Printer Status With lpstat

lpstat with the -a option will show all the printers configured for the lp spooling system and also give their status. For more information on the lpstat command, see the IRIX documentation on print services or the lpstat reference page.

Checking Options With chkconfig

You can quickly check the configuration of a workstation or server with chkconfig(1). The /sbin/chkconfig command reports the state of various process daemons (that is, whether or not they are supposed to be active).

For example, enter the chkconfig command:

chkconfig 

You see a display similar to this:

Flag                 State
====                 =====
acct                 off
audit                off
automount            on
fmlicserv            off
gated                off
lockd                on
mrouted              off
named                off
network              on
nfs                  on
noiconlogin          off
nsr                  on
quotacheck           off
quotas               off
routed               on
rtnetd               off
rwhod                off
sar                  on
snmpd                on
timed                on
timeslave            off
verbose              off
visuallogin          on
windowsystem         off
yp                   on
ypmaster             off
ypserv               off

This example is typical for a networked workstation with the Network File System (NFS) option installed. The left column of the output describes a system feature, and the right column indicates whether it is on or off. The following list provides more specific information about each system feature:

acct  

Detailed system accounting is turned on or off.

audit  

The System Audit Trail is turned on or off.

automount  

The NFS automount(1M) daemon is turned on or off. This configuration option is available only if you have NFS installed on the workstation.

gated  

The gated(1M) daemon, which manages multiple routing protocols is turned on or off.

glb  

This option is used by the NetLS license server for the global location broker daemon.

llb  

This option is used by the NetLS license server for the local location broker daemon.

lockd  

The Network File System (NFS) lock daemon is turned on or off. This configuration option is available only if you have NFS installed on the workstation.

mrouted  

The Stanford IP multicast routing daemon is turned on or off.

named  

named(1M), the Internet domain name server, is turned on or off.

network  

The network is turned on or off.

nfs  

NFS is turned on or off. This configuration option is available only if you have NFS installed on the workstation.

noiconlogin  

The visual login program, pandora(1), displays icons that represent users on the system. This feature does not enable or disable pandora; it only affects whether or not pandora displays icons. It is turned on or off. To enable or disable pandora, use the visuallogin feature.

nsr  

IRIS Networker backup utility. This configuration option is available only if you have Networker installed on the workstation.

quotacheck  

The disk space quota checker is enabled or disabled.

quotas  

Disk quotas are enabled or disabled.

routed  

routed(1M), which manages the network routing tables, is turned on or off.

rtnetd  

rtnetd(1M), which allows higher priority real-time processes to preempt processing of incoming network packets, is turned on or off.

rwhod  

rwhod(1M) is turned on or off.

sar  

sar(1), the system activity reporter, is turned on or off.

snmpd  

The Simple Network Management Protocol Daemon is turned on or off.

timed  

timed(1M), the 4.3 BSD time server daemon, is turned on or off.

timeslave  

The Silicon Graphics time server daemon is turned on or off. Like timed, this attaches a workstation's clock to a different clock, usually some kind of master time server for a group of workstations or for the entire site.

verbose  

If this feature is enabled, as the system boots or is shut down, daemons print information about their functions. If this feature is disabled, less information is printed when the system is started and shut down.

visuallogin  

The visual login program, pandora(1), is turned on or off.

windowsystem  


The window manager is turned on or off.

yp  

The network information service (NIS) is enabled on or off. This is called “yp” for historical reasons. NIS is available with the NFS software. This configuration option is available only if you have NFS installed on the workstation.

ypmaster  

NIS master services are turned on or off. This configuration option is available only if you have NFS installed on the workstation.

ypserv  

NIS server and bind processes are turned on or off. This configuration option is available only if you have NFS installed on the workstation.

Note that if a daemon is enabled using chkconfig, it does not necessarily mean that the daemon starts up immediately, or that it is running successfully. To verify that a daemon is running, use the ps(1) command to identify what processes are running on the system. For example, the command:

ps -ef 

produces output similar to this:

Table 4-1. ps -ef Output

UID

PID

PPID

C

STIME

TTY

TIME

COMMAND

root

0

0

0

Aug 3

?

0:00

sched

root

1

0

0

Aug 3

?

0:45

/etc/init

root

2

0

0

Aug 3

?

0:08

vhand

root

3

0

0

Aug 3

?

0:09

bdflush

This example is edited for simplicity. An actual, full ps listing shows many more active processes.

To view information about specific processes, and avoid searching through a large ps listing, you can filter the listing with the grep(1) or egrep(1) commands. For example, to look at process information for only the NFS daemons, use this command:

ps -ef | egrep 'nfsd|biod' 

The output of this command is similar to this (assuming you have NFS installed and running):

root  120 1  0    09:40:05 ?     0:02 /usr/etc/nfsd 4 
root  122 12 0 0  09:40:05 ?     0:02 /usr/etc/nfsd 4 
root  123 12 0 0  09:40:05 ?     0:02 /usr/etc/nfsd 4 
root  124 12 0 0  09:40:05 ?     0:02 /usr/etc/nfsd 4 
root  126 1  0    09:40:05 ?     0:00 /usr/etc/biod 4 
root  127 1  0    09:40:05 ?     0:00 /usr/etc/biod 4 
root  128 1  0    09:40:05 ?     0:00 /usr/etc/biod 4 
root  129 1  0    09:40:05 ?     0:00 /usr/etc/biod 4 
root  131 1  0    09:40:11 ?     0:00 /etc/mount -at nfs 
ralph 589 55 0 11 15:25:30 ttyq1 0:00 egrep nfsd|biod 

Note that the final entry in the ps listing is the process that produced the listing and that it is the only non-root process to have nfsd or biod in its name.

Altering the System Configuration

The following sections describe how to set the various options available to customize your IRIX operating system.

Setting Options With chkconfig

You can use the chkconfig command to change some aspects of system configuration. To determine which aspects of a system you can alter with

chkconfig, enter the chkconfig command:

chkconfig 

You see a list of configuration options, which are described in “Checking Options With chkconfig”. If you use the -s option, you see a list that is sorted by whether the configuration item is on or off.

To change a configuration option, use the chkconfig command with two arguments: the name of the option you wish to change and the new status of the configuration (on or off). You must have root privilege to change a system configuration.

For example, to turn on detailed process accounting, log in either as root or as the system administrator, and enter:

chkconfig acct on 

To turn off process accounting, enter:

chkconfig acct off 

Some aspects of system configuration do not take effect until the system is shut down and rebooted because startup scripts, which are in the directory /etc/init.d, are run when the system is booted up and brought to multiuser mode. These scripts read the files that chkconfig sets to determine which daemons to start.

Some configuration items that can be controlled by chkconfig may not be displayed by chkconfig. These include:

nostickytmp  

Sets ``sticky'' behavior for the directory /tmp. When the directory is sticky, (with nostickytmp set to off), users may not remove files from the directory unless they own the files, have explicit permission to remove the files (write permission), or have superuser privileges.

The opposite behavior allows users to remove or replace files in /tmp, which is a publicly writable directory, even if they do not own the files. This is handy behavior if you have users who need to create large temporary files and you are short on disk space. But it is better to increase disk space to avoid important files being removed.

nocleantmp  

Controls whether or not the directory /tmp is cleaned out each time the system is booted. If nocleantmp is on, /tmp is not cleaned. If nocleantmp is off, all files in /tmp are removed each time the system is started.

If you want to see these flags in the chkconfig menu, you can use the -f option to force chkconfig to create a configuration file for the options:

chkconfig -f nocleantmp on 

In this example, chkconfig creates a configuration file called nocleantmp in the directory /etc/config.

Changing Other System Defaults

These system-wide defaults affect programs and system functions:

  • the system display

  • the time zone

  • the name of the system

  • the network address

  • the default system printer

Some of these defaults are described more thoroughly in specific sections of this guide, but they are all presented here to provide a more thorough overview of the IRIX system.

Setting the System Display

You can make the output of programs and utilities running on one system appear on the screen of another system on the same network by changing the DISPLAY environment variable. This is useful if your network includes graphical systems and non-graphical servers. In order to view information from the server graphically, you reset the display to a graphics workstation.

For example, if your server has only a character-based terminal as its console and you wish to run gr_osview(1M) to visually inspect your CPU usage, you would issue commands similar to these on the server:

setenv DISPLAY graphics_machine:0 
gr_osview

When you invoke gr_osview, the window with the output will appear on the machine name you specify. In this example, graphics_machine was used in place of the system name. The :0 used after the machine name indicates that display monitor 0 (the graphics console) should be used to display the output. When you have finished using the graphics console, be sure to reset the display by issuing this command on the server:

setenv DISPLAY local_server:0 

where local_server is the name of your server.

Changing Processors on Multi-Processor Systems

If you have a multi-processor system, the mpadmin(1M) and pset(1M) commands allow you to change the way programs are assigned to the various processors on your system. To determine if your system is multi-processor, use the hinv(1M) command. A multi-processor system returns information similar to the following in its hinv output:

Processor 0: 40 MHZ IP7 
Processor 1: 36 MHZ IP7 
Processor 2: 40 MHZ IP7 
Processor 3: 40 MHZ IP7 
Processor 4: 40 MHZ IP7 
Processor 5: 40 MHZ IP7 
Processor 6: 40 MHZ IP7 
Processor 7: 40 MHZ IP7 

Or, alternately, output similar to the following:

8 40 MHZ IP7 Processors

A single-processor system returns information similar to the following for the hinv command:

1 100 MHZ IP22 Processor

If you have only one processor on your system (and the vast majority of systems have only one processor) these commands still operate, though they have no useful purpose.

The mpadmin command allows you to ''turn off'' processors, report various states of the processors, and move system functions such as the system clock to specific processors. The pset command is used both to display and modify information concerning the use of processor sets and programs running in the current system. The pset command provides a much more detailed level of control of processes and processors.

For complete information on mpadmin(1M) and pset(1M), see the respective reference pages.

Changing the Name of a System

The name of the system is stored in several places. If you wish to change the name of your system, you must change all these files together or your system will not function correctly:

  • in the file /etc/sys_id

  • in the file /etc/hosts (for networking purposes)

  • in a kernel data structure, which you read and set with either hostname(1) or uname(1)

  • in an NIS map on the NIS master server, if you are running NIS

Note that you should not arbitrarily change the name of a running workstation. Many programs that are started at boot time depend on the name of the workstation.

To display the name of the system, use the hostname command with no arguments:

hostname 

This displays the name of the system. The uname command also displays the name of the system, along with other information.

To change the name of the workstation, follow these steps:

  1. Log in as root.

  2. Edit the file /etc/sys_id. Change the name of the host to newname. Write and exit the editor.

  3. You must also change the name of the host in any network files, such as /etc/hosts, and possibly in the NIS map on the master NIS server.

  4. Reboot your system.

The name of the workstation is now changed. When the workstation is booted, all programs that are started at boot time, and read the host name when they start, now use the correct host name.

For information about the Internet address of a workstation, see the IRIX networking documentation. For more information about the name of the system, see the hostname(1) and uname(1) reference pages.

Setting the Network Address

The system's network address (IP address) is covered more thoroughly in the IRIX networking documentation.

To set the network address, follow these steps:

  1. Place the network address in /etc/hosts on the same line as the system name.

  2. If you use the network information service (NIS), place the name of your domain in the file /var/yp/ypdomain, if it is installed.

  3. Use the nvram(1M) command to set the variable netaddr to the IP number of the machine. For example:

    nvram netaddr 192.13.52.4 
    

Setting the Default Printer

The lpadmin(1M) command sets the default printer. This command sets the default printer to laser:

lpadmin -dlaser 

Note that the printer laser must already exist and be configured. For complete information on setting up printers, see the IRIX print services documentation.

Setting the Time Zone

To set the time zone of the system, edit the file /etc/TIMEZONE. For a site on the east coast of the United States, the file might look something like this:

# Time Zone
TZ=EST5EDT

The line TZ=EST5EDT means:

  • The current time zone is Eastern Standard Time.

  • It is 5 hours to the west of Greenwich mean time.

  • Daylight saving time applies here (EDT).

The TZ environment variable is read by init(1) when the system boots, and the value of TZ is passed to all subsequent processes. The time zone designation (such as EST) is simply passed through for your convenience. The important parts of the designation are the specification of the deviation from Greenwich Mean Time and the presence of the Daylight Savings Time indicator. The following tables provide convenient time zone information for the majority of North America, Europe, Asia, the Middle East, South America, and Australia and New Zealand.

Table 4-2. North America Time Zones

Region

GMT Differential

Abbreviation

Newfoundland

-3:30

NST

Atlantic

-4:00

AST

Eastern

-5:00

EST

Central

-6:00

CST

Saskatchewan

-6:00

CST

Mountain

-7:00

MST

Pacific

-8:00

PST

Yukon

-9:00

YST

Alaska

-10:00

AST

Hawaii

-10:00

HST

Bering

-11:00

BST

BajaNorte

-8:00

PST

BajaSur

-7:00

MST

Mexico General

-6:00

CST


Table 4-3. Europe Time Zones

Region

GMT Differential

Abbreviation

Ireland

0:00

BST

The United Kingdom

0:00

BST

Western Europe

0:00

WET

Iceland

0:00

WET

Middle Europe

1:00

MET

Poland

1:00

MET

Eastern Europe

2:00

EET

Turkey

3:00

EET

Western Russia

3:00

WSU


Table 4-4. Asia Time Zones

Region

GMT Differential

Abbreviation

Rep. Of China

8:00

CST

Hongkong

8:00

HKT

Japan

9:00

JST

Rep. Of Korea

9:00

ROK

Singapore

8:00

SST


Table 4-5. Middle East Time Zones

Region

GMT Differential

Abbreviation

Israel

2:00

IST

Egypt

2:00

EET

Table 4-6. South America Time Zones

Region

GMT Differentia

Abbreviation

Brazil/East

-3:00

EST

Brazil/West

-4:00

WST

Brazil/Acre

-5:00

AST

Brazil/DeNoronha

-2:00

FST

Chile/Continental

-4:00

CST

Chile/EasterIsland

-6:00

EST


Table 4-7. Australia and New Zealand Time Zones

Region

GMT Differential

Abbreviation

Australia/Tasmania

10:00

EST

Australia/Queensland

10:00

EST

Australia/North

9:30

CST

Australia/West

8:00

WST

Australia/South

9:30

CST

Australia/Victoria

10:00

EST

Australia/NSW

10:00

EST

New Zealand

12:00

NZT

For complete information about setting your time zone, see the timezone(4) reference page.

Changing the Date and Time

Use the date(1) command to set the date and time. For example, to set the date to April 1st, 1999, and the time to 09:00, log in as root and enter:

date 0401090099 

Changing the date and time on a running system can have unexpected consequences. Users and administrators use system scheduling utilities (at(1), cron(1), and batch(1)) to perform commands at specified times. If you change the effective date or time on the system, these commands may not execute at the desired times. Similarly, if your users use the make(1) utility provided with the system, the commands specified in Makefiles can incorrectly compile or process your users' work. Always try to keep your system date and time accurate within reason. Random changes of the date and time can be extremely inconvenient and possibly destructive to users' work.

If timed(1M) is running on the system, and it is a slave system, the time is reset by timed and not the above command. For more information, see the timed(1M) reference page.