From news.csusb.edu!csus.edu!csusac!charnel.ecst.csuchico.edu!rat!decwrl!ames!agate!howland.reston.ans.net!europa.eng.gtefsd.com!MathWorks.Com!news.kei.com!babbage.ece.uc.edu!montjoy Sun Aug  7 21:23:19 1994
Path: news.csusb.edu!csus.edu!csusac!charnel.ecst.csuchico.edu!rat!decwrl!ames!agate!howland.reston.ans.net!europa.eng.gtefsd.com!MathWorks.Com!news.kei.com!babbage.ece.uc.edu!montjoy
From: montjoy@thor.ece.uc.edu (Rob Montjoy)
Newsgroups: comp.sys.sun.admin,comp.sys.sun.misc,comp.unix.solaris,comp.answers,news.answers
Subject: FAQ: Sun Computer Administration Frequently Asked Questions
Supersedes: <comp-sys-sun-admin_772745235@babbage.ece.uc.edu>
Followup-To: poster
Date: 2 Aug 1994 20:18:44 GMT
Organization: University of Cincinnati
Lines: 2423
Sender: montjoy@thor.ece.uc.edu (Rob Montjoy)
Approved: news-answers-request@MIT.Edu
Distribution: inet
Expires: 30 Aug 1994 20:18:37 GMT
Message-ID: <comp-sys-sun-admin_775858717@babbage.ece.uc.edu>
NNTP-Posting-Host: ra.ece.uc.edu
Summary: Answers to questions which appear in comp.sys.sun.*
Keywords: Sun Computer Admin FAQ
Status: RO
Originator: montjoy@ra.ece.uc.edu
Xref: news.csusb.edu comp.sys.sun.admin:2092 comp.sys.sun.misc:659 comp.unix.solaris:1875 comp.answers:891 news.answers:1934

Archive-name: comp-sys-sun-faq
Last-modified: 1994/5/25
Version: 1.9.4

Frequently Asked Questions for Comp.sys.sun.admin

Last update May 25 1994

This is a collection of common questions posted to the comp.sys.sun.*
hierarchy.

Please send corrections or submissions to "Rob.Montjoy@UC.EDU". Mark
the Subject as Sun FAQ.

This FAQ is available from thor.ece.uc.edu(129.137.8.118)
in the /pub/sun-faq. Get the file sun-faq.general. The sun-faq
directory is also available from gopher.ece.uc.edu(129.137.8.118).

Important Notice:
	This is the Last version of this FAQ in its present form. This
	FAQ will be divided into several sections and be converted to
	allow newsreaders to go between subjects. 

	This would be a good time to add any of your favorite questions.
	Just mail them to the usual address. 

	Also, someone has volunteered to maintain this FAQ in 
	HTML form(World Wide Web) and this FAQ will be made available
	through the Web Server at ra.ece.uc.edu and at least one
	more.

	If anyone has any source code(Sun Specific) for Solaris2.x or
	SunOS4.1.x that you want to add the source archive available
	on thor. Should we offer pre-compiled binaries for Solaris2.x?

	Finally, at the same time the thor anon ftp and thor gopher
	servers will be overhauled. Let me know if you want anything
	included on the gopher or anon ftp servers.

Notes:	As of this writing almost all of these questions apply
      	to SunOS versions up to 4.1.3. SunOS 5.x questions
      	will start appearing gradually as more people start
      	installing SunOS 5.x(Solaris 2.x). 

	I am looking for suggestions on how to split this FAQ into
	sections. These sections should follow the comp.sys.sun.* 
	newsgroups(app, hardware, admin, misc, and wanted) and
	section on bettering Sun Security. Basically, what
	will end up with is a FAQ on each subject. Each
	FAQ will have a Solaris1.x Section, a Solaris2x section,
	and a section common to both.

	I will probably need some volunteers to help coordinate
	this undertakeing.. Send suggestion to the usual address.


This article includes answers to the following questions, which are loosely
grouped into categories. Questions marked with a '+' indicate questions
new to this issue; those with significant changes of content since the 
last issue are marked by '!'.


				Questions

 1)!   	How to get DNS working when not running NIS ?
 2) 	How to get DNS to be used when running NIS ?
 3) 	How to properly setup NFS mounting of /var/spool/mail ?
 4)   	Can I use AnswerBook under X11R5?
 5)     What does "NFS write error X" mean?
 6) 	How do I find the amount of memory installed or other
	system configuration information?
 7)     Where can I get a version of ftp that does logging?
 8)	Where can one get SunOS patches? Where can I get patch 10xxxx-xx?
 9)   	How to setup Openwindows Calendar Manager in a distributed
	environment?
10)  	Why does the talk command fail between SunOS
	and any other manufacturer's equipment(like DEC)? 
11)  	How do I setup "anonymous" ftp?
12)     How come yppasswdd does not automatically update the yp maps?
13)     What does NFS getattr failed/RPC: Authentication error mean?
14)     Why did my Quantum 105 megabyte hard disk stop working?
15)!    Can I replace the 105 megabyte internal drive with a higher capacity
        model?
16)     How can I turn my Sun3 into an X-Terminal?
17)	Why is my console login prompt garbled or in some strange 
	alphabet after upgrading to 4.1.3?
18)  	Why are the "random" missing services at boot time(even
	though the services are in the /etc/services file or NIS map)?
19)	Where can I get Data Certified tapes for 8-mm tape drives(at
	a reasonable price)?
20)   	What is "archie"?
21)!	How do I synchronize time on my Network?
22)  	What is the phone number for Sun Express and other numbers of importance
	to Sun Users? 
23) 	How do I join sun related  mailing lists?
24)	How do I use Mac floppies in a SUN drive?
25) 	How can I transfer floppies back and forth between MS-DOS and Sparc?
26)	Why is my biff not "biffing" when using biff in a networked
	environment?
27)	How do I disable L1-A(STOP-A) or re-map it?
28)  	Why are all the local users "unknown" when using sendmail under 4.1.2?
29) 	What are the dump parameters for an exabyte 8200 or 8500?
30) 	What are the guidelines for setting up swap space ?
31)	What are the general guidelines for maxusers to be set to on machine X?
32)	What does "zsN: silo overflow" mean?
33)	What does the "N" in "zsN: silo overflow", and other "zsN" messages,
	signify?
34)	How do I set up a Sun serial port both for dial-in and dial-out?
35)	I can't get my Sun, running SunOS 4.1[.x], to establish a UUCP
	connection to some non-Sun machine; it won't log in.  What's wrong?
36) 	Do the Sun serial ports support RTS/CTS flow control?
37)	How do I specify that a serial port should, or should not, ignore the
	state of the Carrier Detect line?
38)	I put in a new "termcap" entry, or updated an existing "termcap" entry,
	for a terminal, but "vi" doesn't seem to know about my change.  Why?
39)	I have a Type 5 keyboard, and find its placement of the Caps Lock,
	Control, and Esc keys inconvenient.  How do I remedy this?
40)  	How can I move keys around on a Sun keyboard, for example exchanging the
	Caps Lock and Control keys on a Type 5 keyboard?
41)   	My Sun doesn't have an ANSI C compiler.  How can I get one?
42)  	How do I change the time zone setting on my machine?
43)	I'm getting messages that say one of the following:
	 	proc: table is full	and/or
        	file: table is full	and/or
        	dquot: table is full 	and/or
        	inode: table is full
     	What do these errors mean, and how do I fix the problem?
44)  	Blank at present.
45)  	How do I run X11R5 applications under Openwindows or Openwindows 
	applications under X11R5?
46)  	Where do I find a "restricted" shell for SunOS?
47)   	Will SunOS 4.1.x binaries run under SunOS 5.x?
48)!	When I try to compile MITs X11R4 applications under Openwindows 3.0,
	I get the following "undefined" symbols(_get_wmShellWidgetClass, and
	_get_applicationShellWidgetClass). What is the Problem?
49)!   	What is Solaris?
50)     What does the "nres_gethostbyaddr !=" error mean?
51)     How come my mouse only works in the vertical(or horizontal) direction,
        how do I repair it?
52) 	After rebuilding the shared library libc it get some or all the 
	following undefined symbols: dlsym, dlopen, dlclose mbstowcs_xccs,
			mbtowc_xccs,wcstombs_xccs, or wctomb_xccs.
53) 	What does "No network locking on host" mean after upgrading to
	Solaris 2.0?
54) 	Does Password Aging work with NIS(YP) ?
55)	What does "rpc.lockd: Cannot contact status monitor!" mean?
56)	How do I join the Sun User Group(SUG)?
57)   	How do I increase the number of "pseudo" terminals(ptys) ?
58)  	Where are dump and restore under Solaris 2.x?
59)  	How do I make the numeric keypad on a type 5 keyboard work with xterm?
60)   	How do I swap the CAPS LOCK and CONTROL keys on a type 5 keyboard 
	under Openwindows 3.0?
61)!   	Which Sun models run which versions of SunOS?
62)  	My rdump is failing with a "Protocol botched" message. What do I do?
63)!    Table of Solaris2.x commands and their Solaris1.x equivalents?
64) 	How do I setup DNS on Solaris2.x?
65)   	Can a SPARCclassic or LX run SunOS 4.1.3?
66)  	I just restored my root partation and now I can not boot. What
	is wrong?
67) 	How do I disable/enable packet forwarding?
68)  	How do I disable the printing of banners pages?
69) 	How do I change my hostname?
70)     Table of Solaris2.x files and their Solaris1.x equivalents?
71) 	Where can I get the BSD print spooler for Solaris2.x?	 
72) 	Where is the Solaris2.x screenblank?
73)  	Is there a command to display the configuration of 
	currentily attached SCSI devices?
74) 	My printer will not print large files(over 1-megabyte), I 
	keep getting "file to big" errors. What do I do?
75) 	I keep getting "data corruption" when using NFS over a wan,
	or slip/ppp link. What do I do? 
76) 	Does anybody know how to enable UDP checksum on NFS?
77) 	Is there a mailing list for Wabi?
78) 	Are there any public domain Multi-Vendor backup management
        systems?
79)+ 	How to determine the revision of SuperSPARC processor.
80)+	How do I install SunOS4.1.x by hand(off a CD)?
81)+	Why won't my SUN207 (Maxtor LXT213) hard drive work in
        my SPARCstation 10/xx?






				Answers

 1) 	How to get DNS working when not running NIS ?

	Note: Solaris2.x users should see question 64..
	
        The "normal" behavior of a hostname lookup under NIS is to
        consult the NIS hosts map and then DNS (if configured). If
	you are not running NIS the system will only look in 
	the /etc/hosts file. 

	You have two options to correct this situation:

		A) Re-build the shared library version of libc with replacement
		   resolver routines which understand DNS. Resolv+ provides one
	           of the best sets of replacement routines and it cames with
		   detailed instructions. Also, it will take of fixing the
		   many problems with the normal Sun shared library rebuild.
		   Finally, resolv+ can be obtained from thor.ece.uc.edu.
		   Get the file /pub/sun-faq/resolv+2.1.1.tar.Z.

		   Rebuilding the shared library will not allow  statically
		   linked binaries to do name resolving and these binaries
		   will only use /etc/hosts. You can get "dynamically linked"
		   replacements for these via anonymous ftp to 
		   thor.ece.uc.edu(129.137.8.118) and get the file
		   	/pub/sun-faq/rcp-mount.dynamic.tar.Z.
		   This file only contains sun4 binaries.
		
		   A statically linked version of mount that uses DNS
		   instead of NIS is available from thor.ece.uc.edu also.

			
		   To be able to rebuild shared libraries you need to 
		   install the "shlib custom" option which is avaiable
		   with SunOS version 4.1 or greater. 

		   If you want to do it under 4.0.3 you need to get the
		   patches available from ftp.uu.net(192.48.96.9) in the
		   /systems/sun/sun-fixes directory. You will need the following
		   files: 
			lib.msg, libc_pic.a.sun3 or libc_pic.a.sun4 and
			libc_resolv.so.sun3 or libc_resolv.so.sun4

		   Make sure to get the README that cames with these files.
		   It is in the same directory.
		   
        	   Note: You can still use NIS for other things in environment,
              	         such as passwd, and group maps.

		B) Run NIS with the "hosts" maps only. If you 
		   only need DNS capability than change the "all"
		   line /var/yp/Makefile to "all:  hosts".  

		   It does not require any changes to shared libraries.
		
		   See question 2 for complete directoins on how to setup
		   DNS with NIS.
 
 2) 	How to get DNS to be used when running NIS ?

	First setup the appropriate /etc/resolv.conf file.
	Something like this should do the "trick". 

	;
	; Data file for a client.
	;
	domain		local domain 
	nameserver	address of primary domain nameserver
	nameserver	address of secondary domain nameserver 

	where:	"local domain" is the domain part of the hostnames.
		 For example, if your hostname is "thor.ece.uc.edu"
		 your "local domain" is "ece.uc.edu".

	You will need to put a copy of this resolv.conf on
	all NIS(YP) servers including slaves.

	Under SunOS 4.1 and greater, change the "B=" at the top
	of the /var/yp/Makefile to "B=-b" and setup NIS in the 
	usual fashion.   

	You will need reboot or restart ypserv for these changes
	to take affect.

	Under 4.0.x, edit the Makefile or apply the following "diff":

*** Makefile.orig       Wed Jan 10 13:22:11 1990
--- Makefile    Wed Jan 10 13:22:01 1990
***************
*** 63 ****
!                   | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
--- 63 ----
!                   | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
***************
*** 66 ****
!                   | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
--- 66 ----
!                   | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \


 
 3)	How to properly setup NFS mounting of /var/spool/mail ?

	On the Client machines:

		A) mount /var/spool/mail with the no attribute caching
		   option.
		
		   An example, fstab line would be the following:

		   mailhost:/var/spool/mail /var/spool/mail nfs rw,noac 0 0

		B) Use a sendmail.cf that forces all mail to be delivered
		   by the mailhost. 

		   One such file is available via anonymous ftp to 
		   thor.ece.uc.edu. Get the file 

				/pub/sun-faq/sendmail.client.cf

		   Do not use the OR option that Sun provides. It is broken
		   in many ways.

	On the server machine:
	
		A) Setup DNS MX records pointing to the mailhost for
		   all client machines.

		B) Edit the /etc/exports file to export /var/spool/mail
		   to the mail client machines. You may want
		   to use a netgroup for this purpose.

		C) Setup the /etc/sendmail.cf on the server recognize
		   that mail to/from a client is "local".

		   One such file is available via anonymous ftp to 
		   thor.ece.uc.edu. Get the file 

				/pub/sun-faq/sendmail.server.cf
		
	Note: 	You may want to install Berkeley sendmail instead of Suns
		stock sendmail. 



 4) 	Can I use AnswerBook under X11R5?

	AnswerBook in its current form requires the Openwindows
	server. It uses the NeWS extensions(Postscript) extensions
	to this server to display the Answerbook files.

	To use AnswerBook under X11R5 you will need to replace the 
	docviewer program with xdocviewer.  Xdocviewer does not support
	all the options that the "real" docviewer supports such
	as "hypertext" links.

	To install "xdocviewer" you will need the following programs.

		Perl-4 patchlevel 35  
		Ghostscript 2.4 or above
		GSpreview 2.1   or above  or Ghostview 1.3   or above

		All of these are available from prep.ai.mit.edu. They are 
		located in the /pub/gnu directory.

		Finally, you need xdocviewer. It is available from the
		/contrib directory on host ftp.x.org.


 5)     What does "NFS write error X" mean?

        You can lookup the error codes in /usr/include/sys/errno.h.

        Two common NFS error codes are 13 - "permission denied" and 70 -
        "stale file handle".

	Error code 13 can occur from incorrect /etc/exports entry. Also,
	it can occur because someone has changed the /etc/exports
	entry to disallow the client after the client has already
	been granted permission to perform this operation.

        Error code 70 occurs when the file handle on the
	NFS server changes for a particular filesystem.
	The "file handle" can be changed under the following
	circumstances:
		
		A) Installing a new drive in place of an old.

		B) Moving a filesystem from one devices to
		   another.

		C) Performing a format, newfs, dump, and restore
		   cycle. Even if to the same device.

		D) Unmounting a file system without remounting it.

		E) Unmounting a High Sierra/ISO 9660 CD-ROM and
	           mounting a different CD.

        You can usually get rid of the error by unmounting and
        remounting the filesystem in question. 

	Also, error code 70 can occur when someone removes a file 
	that a process is actively writing from a NFS client machine.

        Under SunOS 4.1, you can run "showfh" to translate the NFS
        "file handle" given in the error message into a Unix pathname.
        Beware that showfhd does a "find" on your server to get the
        filename.  "man 2 intro" will give you some more general
        information on what error codes could mean.

	You will need a patch to get "showfh" to work correctly. The patch
	id is 100371 and this patch is required for 4.1, 4.1.1, and 4.1.2.
	This patch has been integrated into 4.1.3.

 6)	How do I find the amount of memory installed or other
	system configuration information?

	You can use the "devinfo" command to find out genera information 
	about the hardware attached to your Sun. The "devinfo" command is 
        only available on desktop SPARCsystems, SPARCengine 1E(although not
        in the version used in Auspex systems), or 600MP series server only.

	Also, most clones should support devinfo.  Any machine that has an 
	SBus will probably support "devinfo"; any machine that doesn't have an
	SBus probably won't support "devinfo".
	
	The "best" command for the job is "sysinfo". Sysinfo is public
	domain utility available via "anonymous" ftp on usc.edu in directory
	/pub/sysinfo. Sysinfo works on all Sun architectures(inculding Sun-3s)
        as well as many other UNIX boxes such as Ultrix, and Next. Also,
	it works on SunOS5.x machines.

	Note:  "wc -l /dev/mem" and "dd if=/dev/mem of=/dev/null" and 
               the like will *not* give the correct answer on machines 
	       where physical memory is not contiguous, such as many Suns.


 7)     Where can I get a version of ftp that does logging?

	Get the wuarchive ftp daemon. It is available from
        wuarchive.wustl.edu (128.252.135.4) in the directory
        /packages/wuarchive-ftpd

	A version of the wuarchive ftpd daemon that compiles right out
	of the box for Solaris2.x machines can be had from
	thor.ece.uc.edu(129.137.8.118) in the /pub/sun-faq directory.
	Remember to specify your own paths in the src/pathnames.h file.

	The stock Sun ftpd will log some information if you add the "-l"
       	flag in /etc/inetd.conf:

        	ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd -l

        Also enable syslogd by adding:

        daemon.info      /var/adm/syslog

        to "/etc/syslog.conf".


 8)     Where can one get SunOS patches? Where can I get patch 10xxxx-xx?

        Many anonymous ftp sites have partial collections of patches.
        These sites include the following:

                ftp.uu.net:/systems/sun/sun-dist/
		ftp.EU.net:/sun/fixes/
        	sunline.epfl.ch:/pub/sun-patches/
		ftp.ucs.ubc.ca:/pub/ubc/sun-patches/
		thor.ece.uc.edu:/pub/sun-faq/SunOS4.1.x.Patches
		thor.ece.uc.edu:/pub/sun-faq/Solaris2.1-patches
		thor.ece.uc.edu:/pub/sun-faq/Solaris2.2-patches
		thor.ece.uc.edu:/pub/sun-faq/Solaris2.3-patches

	Note: You should always attempt to find a local site before
	      using the above.

	ftp.uu.net and ftp.EU.net are  the "official" distribution points 
	for SunOS security patches.

        Also, you should use "archie" to look for specific patches.

        Finally, the Sun User Group (SUG) CD ROM has a collection of Sun
        patches.


 9)	How to setup Openwindows Calendar Manager in a distributed
	environment?

	Sun's original assumption that each user has a permanent machine 
	allocated to them is not applicable in most environments. Just as 
	users send mail to 'user' rather than 'user@machine', users want 
	to browse others user's calendars and do not care or want to know
	where the calendar is actually stored.

	Here is procedure to accomplish our goal. All calendars
	will be stored on a central server. The initial setup
	must be done on the server.

		A) Have the user login to the calendar host(calhost)
		   machine.
		
		B) Change everyone's .cm.rc file so that 
		   Calendar.DefaultCal points to user@calhost

		   calhost can be an hostname alias or an actual
		   hostname. You may want to use the alias
		   just in case you change the "calhost" later.
	
		C) Change their Access List and Permissions (under
	           Edit/Properties) to show user@client with BID (browse,
	           insert, delete) permissions for any client machine the
		   user wanted to access their calendar from.

	Notes: If you use the scheme you should not NFS mount 
	       /var/spool/calendar on the client machines.

	or

	You can install the "Proxy OpenWindows Calendar Manager", which
	is available via anonymous FTP from thor.ece.uc.edu in
	/pub/sun-faq/proxy-cmsd.tar.Z.

	or
	
	You can install the "new cm daemon" which allows you to access
	several Calendar hosts at once. It implements the "orignal"
	rpc.cmsd daemon semantics(unlike proxy-cmsd) and thus all
	the features(of CM) will work as documented.  The latest source
	for this daemon is always available via anonymous FTP from
	ftp.amdahl.com (129.212.11.1) in the  /pub/newcm_d directory.
	Also, it is available from thor.ece.uc.edu as
	/pub/sun-faq/newcm_d-1.3.tar.Z

	As of this writing newcm is being ported to Solaris2.x.

10) 	Why does the talk command fail between SunOS
	and any other manufacturer's equipment(like DEC)? 

	SunOS has the old BSD 4.2 version of talk. The old talk
	uses "machine dependent" byte ordering. Since
	DEC has different byte order the two talks can not
	communicate(even if you use "otalk" on the DEC
	machines).
	
	Also, most vendors have the newer version of 
	talk from BSD-4.3 and this version is not compatible
	with the Sun Version(which is BSD-4.2).

	The solution is to get and install the new version
	of talk because it uses "network" byte ordering and
	it is compatible with most Vendors current talk 
	implementations.
	
	"New Talk" is available via anonymous ftp from several
	sites including thor.ece.uc.edu. Get the file 
	/pub/sun-faq/ntalk.tar.Z.   Solaris2.x users will need
	to compile this in Berkeley compatability mode.
	
	Finally, a progrom called Ytalk can be used with either
	"New talk" or "Old talk" and compiles on all versions
	 of SunOS(Greater than 4.x including 5.x).
	Ytalk can be obtained from thor.ece.uc.edu. Get the file
		/pub/sun-faq/ytalk-3.0.1.tar.gz

11)	How do I setup "anonymous" ftp?
	
        Read the man page ftpd(8) in the SunOS 4.x documentation, as 
        the procedure differs from vanilla BSD and most examples in 
        system administration books. 

	The "ls" binary is dynamically linked, requiring you to 
	duplicate ld.so, libc.so.* and /dev/zero in the ftp area.
	The permissions and ownership of the files within the 
        ftp area are critical to having a secure configuration.
	
	Note: For SunOS versions 4.1.2 and 4.1.3 you will need
	      to copy /usr/lib/libdl.so.* to the ftp area as well.

	You can use a "statically" linked binary from the GNU
	fileutils instead of the "dynamically" linked SunOS
	version. You can get the GNU fileutils from prep.ai.mit.edu
	in the directory /pub/gnu

	There is also a statically linked version of ls for Suns
	running SunOS 4.1.x, available via anonymous ftp from
	thor.ece.uc.edu.  Get the file /pub/sun-faq/ls.statically-linked

	A complete procedure to setup anonymous under SunOS is
	available via anonymous ftp to thor.ece.uc.edu. Get
	the file /pub/sun-faq/anon-ftp.how-to.

	There is an _excellent_ script written by Peter N. Lewis
	(peter.lewis@info.curtin.edu.au) for setting up anonymous ftp
	located on thor.ece.uc.edu, in the file /pub/sun-faq/anon-ftp.scrpt

12)     How come yppasswdd does not automatically update the yp maps?

        There is a bug in 4.1 rpc.yppasswdd that causes it misinterpret
        the command line arguments.  A work-around is to add the
        "-nosingle" flag (which is the default), this shifts the
        arguments over one, so "passwd" is read instead of "-m".
	Also, you should use the complete path to rpc.yppasswdd

        For example:

        /usr/etc/rpc.yppasswdd /var/yp/passwd -nosingle -m passwd DIR=/var/yp

	Note: Only use the DIR=/var/yp if your source files for passwd, group,
	      etc are in /var/yp. If they are in /etc you do not need
              to specify DIR=
            
        If you are running the C2 security package, you should apply
        the C2 Jumbo patch, as it fixes several problems with rpc.yppasswdd
	and rpc.pwdauthd. The patch number is

	100201-04 for SunOS 4.1 and 4.1.1
	100564-06 for SunOS 4.1.2 and 4.1.3

13)     What does NFS getattr failed/RPC: Authentication error mean?

        You are probably running a pre-4.0 version of NFS and your
        username is in more than 8 groups.  There is a limit on the
        number of groups that could be represented in the rpc service
        (called NGRPS).  On pre-4.0 systems this was 8, now it is 16.
        Since many vendors other than Sun are still running old versions
        of NFS, you might see this error even if your SunOS is recent.

        Authentication errors are also caused by having secure RPC
        enabled on the client but not on the server, or by having a
        misconfigured secure RPC configuration for the user name
        generating the errors.  Beware of this problem when you are
        using the automounter, as programs (such as Sendmail) may
        silently fail when when they try to mount a directory
        and get this error.


14)     Why did my Quantum 105 megabyte hard disk stop working?

	This the now infamous Quantum drive "stickation" problem.

	If the drive is allowed to cool down(even for a short period 
	of time) the drive lubricant will congeal and prevent the disks
	platters from rotating. 

	Before you get a replacement, try lightly tapping
        the drive to loosen the lubricant. If this does not work try
	shaking and twisting the drive at the same time. One last
	thing to try is to lift the system up a couple of inches
	and drop it.

15)     Can I replace the 105 megabyte internal drive with a higher capacity
        model?

	The newer disk drives can be used without worrying about heat
	or power supply capacity problems. 

	However, older technology drives drives create more heat and draw
	more power than the 105S.  The case cooling ability and power supply
        in the SS-1 and SS-1+ are not adequate for the 210 megabyte or higher
        capacity drives possible in the SS-2.

	As long as you make sure that the drive draws no more power
	than the 105-Meg drive you should have no problems.

	Only the SPARCstation 1 and 1+ have these limitations.

16)     How can I turn my Sun3 into an X-Terminal?

        You can use Seth Robertson's Xkernel package.  It is available
        via anonymous ftp from ftp.ctr.columbia.edu (128.59.64.40) in
        /Xkernel.  The package describes how to configure a minimal kernel
        that runs the X server and offloads all the clients onto another,
        hopefully more powerful host on the network. 

	As of this writing the current version of Xkernel is 2.0 and
	it should work on both SPARC and Sun3 platforms.

	Xkernel is attractive to some sites that have a large investment in 
        sun3 platforms, as moving  most of the processing off the sun3 
        cpu makes it tolerable to use.  

	Finally, a used 3/50 is competitive with low-end X Terminal and 
        you get a 19" monitor with an optical mouse.  


17)	Why is my console login prompt garbled or in some strange
	alphabet after upgrading to 4.1.3?

        The problem is /etc/ttytab, with 4.1.3, the console is now
	able to display 8 bits characters and getty must take this 
	into account.

	The solution is easy, replace your console entry in /etc/ttytab 
	by the following, the important part is 'cons8':

	console "/usr/etc/getty cons8"  sun             on local secure

	Also, if you did an upgrade(instead of a full install) you may 
	need to add the following to your /etc/gettytab.

	# This is a new entry to internationalize the console.  It needs to be
	# 8 bit clean so that ISO 8859 characters can be displayed without
	# the window system.
	#
	cons8:\
        	:p8:lm=\r\n%h login\72 :sp#9600:


18)	Why are there "random" missing services at boot time(even
	though the services are in the /etc/services file or NIS map)?

	The three primary causes for "random" missing services are
	as follows:

		A) "Blank" lines in /etc/services on the YP/NIS Master.
		   Delete the blank line and remake the services map.

		B) NIS/YP server not responding quickly enough
		   to the "getservbyname" call because each getservbyname
		   call reads the whole map.  One fix is to replace the 
		   systems version of inetd with a version that re-tries the
		   "unknown" service.

		   I have "hacked" a version of munetd(public domain
		   replacement for inetd) to do this. It is available
		   from thor.ece.uc.edu. Get the file /pub/sun-faq/munetd.tar.Z

		   Another solution to this problem is outlined in part C below.

		C) Sun's implementation of the services map is incorrect. To
	           correct this problem you will need to replace some library
		   routines in libc and rebuild the shared library.
		   These routines and directions on installing them are
		   available from thor.ece.uc.edu.  Get the file 
		   /pub/sun-faq/getservent.tar.Z.

		D) Another fix(if you do not want to modify your libc's) is
		   to just remove the services map from NIS. However,
		   you will need to update the services file by hand on
		   all clients. We are running all NIS hosts this way and
	           it seems to work quite well.
		

19)	Where can I get Data Certified tapes for 8-mm tape drives(at
	reasonable price)?

	Here is an incomplete list of vendors how have "data certified"
	tapes for the exabyte.

	Misco 			  800-876-1726   $12 - 15 each.	
	TecBridge		  800-972-7405   $12 - 15 each.
	R-Squared		  800-777-3478	 Sony 112m 120@8.00 Each
	K and K Systems		  612-475-1527	 $10 Each
	SCR			  314-739-0808	 $10.95 for Memorex

20)	What is "archie"?

	Archie is a database of what is on several thousand anonymous 
	ftp sites. 

	To use archie get one of the three archie clients which
	are as follows:

		xarchie		-	For use under X11
		c-archie	- 	Curses version of Archie
		archie		- 	Perl Version of Archie
	
	Theses are available from archie.ans.net in the directory 
	/pub/archie.

	List of other publicly available archie servers:

	archie.rutgers.edu   128.6.18.15     (Rutgers University)
	archie.unl.edu       129.93.1.14     (University of Nebraska 
	                                      in Lincoln)
	archie.sura.net      128.167.254.179 (SURAnet archie server)
	archie.ans.net       147.225.1.2     (ANS archie server)
	archie.au            139.130.4.6     (Australian server)
	archie.funet.fi      128.214.6.100   (European server in Finland)
	archie.doc.ic.ac.uk  146.169.11.3    (UK/England server)
	archie.cs.huji.ac.il 132.65.6.15     (Israel server)
	archie.wide.ad.jp    133.4.3.6       (Japanese server)
	archie.th-darmstadt.de 130.83.128.111 (German server)

	
21)	How do I synchronize time on my Network?

	You should use xntp version 3 to synchronize your time. Xntp 
	synchronizes to "atomic" and/or Radio Frequency clocks. Using
	xntp time should always be within a few "milliseconds" of the
	actual time. Xntp does not require a "atomic" clock, any
	stable UNIX host clock will do.

	xntp is available from louie.udel.edu. 
	Get the file /pub/ntp/xntp3?.tar.Z where ? is replaced by the
	latest version letter.

	You will need clock.txt available from the same place.

	xntp works with all versions of SunOS(4.x and 5.x).

	Note: There is a Mac Control version of XNTP now available.

22)	What is the phone number for Sun Express and other numbers of importance
	to Sun Users? 

	Sun Express: 		1-800-USE-SUNX (1-800-873-7869)
	Main Sun Helpline: 	1-800-USA-4SUN (1-800-872-4786)

	Auspex Systems Inc. :   2952 Bunker Hill Lane
	                        Santa Clara, CA 95054
	                        (800) 735-3177 or (408) 492-0900
                                Fax: (408) 492-0909
	

23) 	How do I join sun related  mailing lists?

	Mailing Lists:

	Sun Managers:	Used for "emergency" information only. The
			users of this list are "very" knowledgable.
		sun-managers-request@eecs.nwu.edu	add requests
		sun-managers@eecs.nwu.edu		submissions

    	Sun-386i:   discussion about the Sun 386i product
        	sun-386i-request@ssg.com		add requests
        	sun-386i@ssg.com	                submissions

 From csus.edu!csulb.edu!nic-nac.CSU.net!usc!elroy.jpl.nasa.gov!lll-winken.llnl.gov!venus.sun.com!male.EBay.Sun.COM!engnews2.Eng.Sun.COM!room101!casper Mon Jun  5 09:06:21 1995
Path: csus.edu!csulb.edu!nic-nac.CSU.net!usc!elroy.jpl.nasa.gov!lll-winken.llnl.gov!venus.sun.com!male.EBay.Sun.COM!engnews2.Eng.Sun.COM!room101!casper
From: casper@room101..Holland.Sun.COM (Casper Dik - ENS Network Security - Network Security Engineer)
Newsgroups: comp.unix.solaris,comp.sys.sun.admin,comp.answers,news.answers
Subject: Solaris 2 Frequently Asked Questions (FAQ) 1.46
Supersedes: <Solaris2/FAQ_796831131@engnews2.Eng.Sun.COM>
Followup-To: comp.unix.solaris
Date: 8 May 1995 14:05:29 GMT
Organization: Sun Microsystems Inc., Mountain View, CA
Lines: 2424
Approved: news-answers-request@MIT.Edu
Distribution: inet
Expires: 19 Jun 1995 14:05:09 GMT
Message-ID: <Solaris2/FAQ_799941909@engnews2.Eng.Sun.COM>
Reply-To: Casper.Dik@Holland.Sun.COM
NNTP-Posting-Host: room101.holland.sun.com
Summary: This posting contains a list of Frequently Asked Questions (and
    answers) about Sun Microsystem's Solaris 2.x system in general.
    See also the FAQs archived as Solaris2/Porting and Solaris2/x86.
Xref: csus.edu comp.unix.solaris:45679 comp.sys.sun.admin:56383 comp.answers:11661 news.answers:43489

Archive-name: Solaris2/FAQ
Version: 1.46
Last-Modified: 1995/05/08 14:04:55
Maintained-by: Casper Dik <Casper.Dik@Holland.Sun.COM>


The following is a list of questions that are frequently asked about
Solaris 2.x.  You can help make it an even better-quality FAQ by writing a
short contribution or update and sending it BY EMAIL ONLY to me.
Thanks!

As you may have noted, I have switched employers and work for Sun as of
April 1st 1995.  Sun is in no way responsible for the contents
of this FAQ.  (I haven't really asked).

The latest Solaris 2 FAQ, including an HTML version, and some other goodies
can be obtained through ftp from ftp.fwi.uva.nl:/pub/solaris.

The HTML (URL: ftp://ftp.fwi.uva.nl/pub/solaris/solaris2.html) version
of the FAQ contains references to most FTP sites and files mentioned
in the FAQ.  The references to ftp sites are always to either HTML
files or directories, never to binary files.

I've added an index of questions and marked changed(*) and added
questions(+).  The FAQ is being reorganized, time permitting.
The index is generated automatically, so there may be errors there.
Not all questions are in the section they belong in. Suggestions on
how best to subdivide/order the FAQ are welcome.



 1. GENERAL
   1.1) What's a Solaris anyway?
   1.2) Why should I care? Why should I upgrade?
   1.3) Should I move to Solaris 2.x now, or later, or never?
   1.4) What is Solaris 2? Is it really SVR4 based?
   1.5) What machines does Solaris 2.x run on?
   1.6) Will my old applications from 4.1.x run on Solaris 2?
   1.7) Will my old applications from SVR3 on the 386 run on Solaris 2/x86?
   1.8) Where has the XXX command gone now?
   1.9) When I upgrade, should I use SunInstall "upgrade", or start over?
   1.10) Is Solaris 2.x reliable/stable enough to use?
   1.11) Why do some people dislike Solaris2?
  *1.12) Why do some people *like* Solaris2?
  +1.13) What is Sun doing to help me migrate?

 2. MORE INFO
   2.1) How can I RTFM when I don't have it anymore?
   2.2) Why is "man -k" so confused?
   2.3) What Software is available for Solaris 2.x?
   2.4) What FTP/WWW sites do I need to know about?
   2.5) What other FAQ's do I need to know about?
   2.6) What mailing lists should I get?
   2.7) What books should I read?
   2.8) What hardware is supported by Solaris 2.x for Intel?
   2.9) What is Wabi?

 3. SYSTEM ADMINISTRATION
   3.1) How much disk space do I need to install Solaris 2?
   3.2) How can I convert all my local changes that I've made over the
	years into their corresponding forms on Solaris 2?
   3.3) What are "packages"?
   3.4) Why can't I write in /home?
   3.5) Why can't I access CDs or floppies?
   3.6) Why are there no passwords in /etc/passwd?
   3.7) Why can't I rlogin/telnet in as root?
   3.8) How can I have a user without a password?
   3.9) How can I set up anonymous FTP?
   3.10) How can I print from a Solaris 2 (or any System V Release 4) system
	to a SunOS4.x (or any other BSD) system?
   3.11) What if I'd rather use the BSD line printer system?
   3.12) What happened to /dev/MAKEDEV? How do I add devices?
  *3.13) Why isn't my tape/cd player or new disk/device recognized?
   3.14) What happened to /etc/rc and /etc/rc.local?
   3.15) Speaking of that, why are there two versions of shutdown?
   3.16) When will somebody publish a package of the BSD (4.3BSD Net2)
	"init", "getty", and "rc/rc.local", so we can go back to life
	in the good old days?
   3.17) What has happened to getty? What is pmadm and how do you use it?
  *3.18) How do I get the screen to blank when nobody's using it?
   3.19) And what about screendump, screenload and clear_colormap?
   3.20) Where did etherfind go?
   3.21) Can I run SunOS4.1.x on my SPARC Classic, LX, SS5, SS20, Voyager,
	SS1000, SC2000?
   3.22) The "find" program complains that my root directory doesn't exist?
   3.23) I'm having troubles with high-speed input on the Sparc serial
	ports.  What should I do?
   3.24) How do I make ksh or csh be the login shell for root?
   3.25) What is this message: "automount: No network locking on host,
	contact administrator to install server change."?
   3.26) How do I make Solaris2 use my Toshiba MK538FB and other
	older SCSI disks?
   3.27) How do I make Solaris2 use my old ADAPTEC ACB-4000 and
	Emulex MD-21 diskcontrollers?
   3.28) Why are there so many patches for Solaris 2.x?
   3.29) What are the ``mandatory'' patches I keep hearing about?
   3.30) Where do I get patches from?
   3.31) Where can I obtain Solaris 2/x86 driver updates?
   3.32) Why does installing patches take so much space in /var/sadm?
   3.33) Do I need to back out previous versions of a patch?
   3.34) How can I have more than 48 pseudo-ttys?
   3.35) How can I get ps to print %MEM and %CPU?
   3.36) How can I get the DOS and Unix clock to agree on Solaris/x86?
   3.37) Hoe can I increase the number of filedescriptors per process?
   3.38) Can I install both SunOS and Solaris on the same machine,
	and choose between them at boot time?
   3.39) How do I disable banner pages under Solaris?

 4. NETWORKING
   4.1) How do I use DNS w/o using NIS or NIS+?
   4.2) Speaking of nsswitch.conf, what is it?
   4.3) What does [NOTFOUND=return] in nsswitch.conf mean?
  *4.4) Can I run a nis/yp server under Solaris 2.x?
   4.5) Can I run NIS+ under Solaris 1 (SunOS 4.1.x)
   4.6) With NIS+ how do I find out which machine a client is bound to?
   4.7) Ypcat doesn't work on the netgroup table on a NIS+ server, why?
   4.8) Why is rpc.nisd such a memory pig according to ps?
   4.9) Why is Xsun such a memory pig, especially on the SX?
   4.10) How do I tell my NIS+ server to service DNS requests from
	4.x clients?
  +4.11) How can I have multiple addresses per interface?

 5. TROUBLE SHOOTING
   5.1) The Solaris 2.x application XX fails with a mysterious error condition.
   5.2) Why can't I run Answerbook on a standalone machine?
   5.3) Why can't I run filemgr, I get ``mknod: permission denied''?
   5.4) Why do I get isinf undefined when linking with libdps?
   5.5) I can't get PPP to work between Solaris 2.3 and other platforms.
   5.6) Using compat mode for passwd doesn't work in 2.3?
   5.7) Why do I get __builtin_va_alist or __builtin_va_arg_incr undefined?
   5.8) My machine hangs during the boot process.  It seems related to ps.
   5.9) Syslogd doesn't seem to log anything.
   5.10) I get ``Invalid client credential'' when mounting filesystem on
	Solaris client from non-Sun fileserver.
  +5.11) After upgrade to 2.4, ls on NFS mounted directories hangs.
  +5.12) After installing patch 101945-xx, I have NFS problems (ksh looping)
   5.13) I messed up /etc/system, now I can't boot.
   5.14) The /etc/path_to_inst file is corrupted, I can't boot.
   5.15) TCP/IP connections time out too soon, especially on slow links.
  *5.16) Solaris 2.x can't set up any TCP/IP connections to certain hosts.
   5.17) When reading mail on non-Solaris clients of a Solaris mail
	server, or with non-Solaris mail readers, some messages get split
	into multiple messages.
  +5.18) Mailx/Mail often send reply to wrong user or show wrong sender.
   5.19) One of my users can't login (one some machines).
   5.20) My clients with remote /var (/var/adm) partitions won't boot.
   5.21) Vacation doesn't work reliably in a mixed Solaris/SunOS environment.
   5.22) I have a lot of <defunct> processes.  How do I get rid of them?
   5.23) I get /dev/ptmx: No such device when logging in.
   5.24) ld bails out with msync errors.
   5.25) su responds with "Sorry" and doesn't prompt for a password.
  *5.26) Why can't I install 2.4 from a non-Sun CD while I could do so wth 2.3?
   5.27) ifconfig can't find my network interface
   5.28) I have an application that compiled fine, but when I run it I get:
	fatal: libfoo.so.2: can't open file: errno=2
   5.29) Motif programs dump core almost immediately.
  +5.30) cc complains that "language optional software package not installed"
  +5.31) thr_create and other thread functions always return -1
  +5.32) Solaris 2.4 seems to have a kernel memory leak.

 6. SOFTWARE DEVELOPMENT
   6.1) Where is the C compiler or where can I get one?
   6.2) What about the linker, the assembler and make?
   6.3) Where has ranlib gone?
   6.4) What do I need to compile X11R5?
   6.5) I can't compile X11R6 on Solaris 2.4
   6.6) X11R6 on Solaris 2.4 won't run.  Xinit dies with "User Signal 1".
	Xterms won't die.
   6.7) I get undefined symbols when compiling R6 in Solaris 2.2.
   6.8) I can't get perl 4.036 to compile or run.
   6.9) I can't get sockets to work with perl.
   6.10) I have problems compiling MH 6.8.3
   6.11) I can't get XV 3.x to compile or run correctly.
   6.12) What happened to NIT? What new mechanisms exist for low-level
	network access?
   6.13) Where are all the functions gone that used to be in libc?
   6.14) I'm still missing some functions: bcopy, bzero and friends.
   6.15) Can I use the source compatibility package to postpone porting?
   6.16) Why doesn't readdir work?  It chops the first two characters of
	all filenames.
   6.17) Why do I get undefined symbols when linking with curses/termcap?
  *6.18) Where are the Motif includes and libraries?
  +6.19) Traceroute to Solaris 2.x machines gives many timeouts.

 7. ACKNOWLEDGEMENTS

1. GENERAL

1.1) What's a Solaris anyway?

    Solaris(tm) is Sun's name for their UNIX-based user environment,
    including the UNIX(tm) operating system, window system (X11-based),
    and other stuff too.

    Solaris 1.x is a retroactive (marketing?) name for SunOS4.1.x (x>=1),
	    a version of UNIX that is BSD-like with some SVR4 features,
	    along with OpenWindows 3.0.
    Solaris 2.x (which is what most everybody means by "Solaris")
	    includes SunOS5.x, which is an SVR4-derived UNIX,
	    along with OpenWindows 3.x, tooltalk, and other stuff.
    (See 1.5 for a chart with more info)

1.2) Why should I care? Why should I upgrade?

    Solaris 2 is more compatible with the rest of the UNIX industry.
    Other major UNIX vendors including IBM, HP, SGI, SCO, and others
    are based on System V rather than on BSD (though some of them
    are on SVR3, not SVR4). All but one commercial PC-based UNIXes
    are System V based (and mostly SVR4); the only commercial exception
    is from a small but interesting firm called BSDI.

    Solaris 2 is where Sun has been putting almost all its development
    for the last few years now. There will be no new development on
    SunOS4; already much of Sun's add-on software is only available
    for Solaris 2. Solaris 2 is the only supported MP OS on all but
    the old 4/6x0-1x0 w/ Ross 605 modules.

    Most Sun software is being released first for Solaris 2.x.

    Solaris 2.3 features a standard X11R5 release of The X Window
    System, a benefit for those who didn't like NeWS or the
    V2/V3 OpenWindows server. (It's still called OpenWindows, but
    it is the X11R5 server with Adobe DPS added in).  It is as fast
    or faster than MIT R5 (depending on the platform) and supports
    all Sun graphics hardware.

    Solaris 2 is more standards-compliant than Solaris 1/SunOS 4.

1.3) Should I move to Solaris 2.x now, or later, or never?

    That depends - on you, your situation, your application mix, etc.
    Some year SunOS4.1.x will go the way of the 3/50 - it'll still
    be around, but Sun will no longer support it.

    You don't have to upgrade immediately, but you should be
    planning your upgrade path by now.

1.4) What is Solaris 2? Is it really SVR4 based?

    Solaris 2 is an "operating environment" that includes the
    SunOS 5.x operating system and the OpenWindows 3.x window
    environment.

    SunOS 5.x are based on USL's SVR4.0. SVR4.0, in turn, was
    developed jointly by AT&T and Sun while Sun was developing 4.1.0,
    which is why things like RFS, STREAMS, shared memory, etc.,
    are in SunOS 4.1.x, and why things like vnodes, NFS and XView
    are in SVR4.0. (RFS, by the way, is being dropped effective
    with Solaris 2.3).

1.5) What machines does Solaris 2.x run on?

    Solaris 2.0 only ran on desktop SPARCstations and a few other Sun
    machines.

    Solaris 2.1 and 2.4 and later come in two flavors, SPARC and "x86".

    Solaris 2.1 (and 2.2, ...) for SPARC run on all SPARCstations and
    clones, as well as all models of the Sun-4 family. The old FPU
    on the 4/110 and 260/280 is not supported, so floating point
    will be SLOW, but it does work.

    All version of the Openboot PROMs should work under Solaris 2.x.

    A Solaris port for the PowerPC is underway.  It is expected
    to be completed first half '95.  IBM will be selling systems
    with Solaris pre-installed and shrink-wrapped for people who
    bought a different OS with their PowerPC.  The first systems
    are expected to be 66MHz 601s and 603s. (SunExpert 11/94)

    Solaris 2.1 and 2.4 for x86 has been released to end users.
    It runs on a wide range of high-end PC-architecture machines.
    "High-end" means: 16MB of RAM and an 80486 (or 33MHz or faster
    80386DX).  It will not run on your 4 MB 16MHz 386SX, so don't
    bother trying! Also, floating point hardware (80387-style) is
    absolutely required in 2.1.  Starting with Solaris 2.4 for
    x86, a fp CO-processor is no-longer required, though still
    recommended.  All three buses are supported: ISA, EISA, MCA.
    Some PCI devices are supported, though full bus nexus support
    for PCI is not there.  See also 3.31.

    To summarize all this, Jim Prescott gave this chart, which I've
    updated:

    Solaris SunOS     OpenWin               Comments
    1.0     4.1.1B    2.0
	    4.1.1_U1  2.0           sun3 EOL release (not named Solaris)
    1.0.1   4.1.2     2.0           6[379]0-1[24]0 MP
    1.1     4.1.3     3.0           SP Viking support
    1.1C    4.1.3C    3.0           Classic/LX
    1.1.1   4.1.3_U1  3.0_U1        4.1.3 + fixes + Classic/LX support
    1.1.1 B 4.1.3_U1B 3.0_U1        1.1.1B + SS5/SS20 support
    1.1.2   4.1.4     3_414         The "final" 4.x release (SS20 HS11)

    2.0     5.0       3.0.1         sun4c only
   2.1SPARC 5.1       3.1           Dec '92
   2.1 x86  5.1       3.1           May '93
   2.2SPARC 5.2       3.2           May '93
   2.3SPARC 5.3       3.3           Nov '93
			    OpenWin 3.3 is X11R5 based: Display
			    PostScript instead of NeWS, no SunView.
			    It is still primarily OPEN LOOK.
			    The Spring 1995 OpenWin will be Motif
			    and COSE-based.
    2.3 edition II SPARC    Special Solaris 2.3 distribution for
			    Voyager and SparcStation 5
    2.3 hardware 5/94 SPARC ??
    2.3 hardware 8/94 SPARC Supports S24 (24 bits color for SS5),
			    POSIX 1003.2, Energy Start power management
			    and SunFastEthernet + patches.
    2.4       5.4      3.4  From this moment on, the SPARC and x86
			    releases are in sync. Q3 '94
			    Adds motif runtime and headers (not mwm).
    2.4 hardware 11/94      First SMCC release of 2.4
    2.4 hardware  3/95      Second SMCC release of 2.4 (includes support
			    for booting from SSA)

1.6) Will my old applications from 4.1.x run on Solaris 2?

    There is quite a bit of support in SunOS 5.x for running 4.1.x
    binaries in an emulation mode called "Binary Compatibility"
    (BCP).  This works by dynamically linking the 4.1.x binaries
    with a shared library that emulates the 4.1.x binary interface
    on top of 5.x, so there is some overhead. Programs will only
    work if they were dynamically linked (statically linked
    binaries run in 2.3, but with some extra restrictions),
    and if they meet certain other criteria. Best bet:
    try it and see.

    Be aware, though, that Sun WILL drop the binary compatibility
    package some year.  Try to wean yourself and your users from
    depending on it, even if it means beating on your software
    vendors to offer "native" Solaris2 applications.

1.7) Will my old applications from SVR3 on the 386 run on Solaris 2/x86?

    As with SPARC, there is an emulation mode that should run the
    majority of well-behaved SVR3 and Xenix binaries.  Most
    SVR3 stuff appears to work under Solaris 2.4.

    Applications from any other vendor's standards-conforming
    386/486 SVR4 should also run.

    However, some vendors have made incompatible changes to their
    SVR4 release and programs linked on those versions may not work.
    Future versions of Solaris 2.x for Intel will address some/most
    of those incompatibilities.  Unixware is one of the offenders.

1.8) Where has the XXX command gone now?

    There are too many of these changes to include in this FAQ, but
    here are some key ones:

    a. locations are often different
	     hostid         /usr/ucb/hostid
	     whoami         /usr/ucb/whoami
	     hostname       /usr/ucb/hostname (or use uname -n)

    b. some old commands don't exist or have replacements

	     4.1.X          Solaris 2.X

	     pstat -s       swap -s  (how much swap space?)
	     dkinfo         /usr/sbin/prtvtoc raw_dev_name
	     trace          truss
	     mount -a       mountall
	     exportfs       share
	     bar            cpio -H bar (read only)

    This information can be found in the Solaris 2.x Transition Guide -
    Appendix A (commands), Appendix B (system calls), Appendix C (files).

    This guide has undergone some changes from 2.0 -> 2.1 and beyond.
    Several manuals have ended up being combined into this single
    manual. This manual discusses administrative transition and
    developer transition issues.

    The command "whatnow" (for Solaris 2.x) is included in the
    "Admigration Toolkit" package (see below). The Admigration
    toolkit can be obtained from:

	    opcom.sun.ca:/pub/AMToolkit-2.3.*
	    Admigration toolkit HTML documentation/code
	    [URL: http://www.sun.com/smcc/solaris-migration/products/product-search-form.html]

    Sample output:
	% whatnow hostname
	hostname                                        4.x command only
	hostname        /usr/ucb/hostname               part of SCP package
	hostname        /usr/bin/uname -n               alternate command

    The whatnow command is limited in that it may point to
    one command which may only implement a subset of the old
    command (e.g., pstat points to sar, while pstat -s is identical
    to swap -s)

1.9) When I upgrade, should I use SunInstall "upgrade", or start over?

    You can't do a SunInstall "upgrade" from 4.1.x to Solaris2.
    You can use the Admigration toolkit (q.v.) to help you move
    from SunOS 4.1.x (Solaris 1, actually) to Solaris 2.

    If you're moving from Solaris 2.1 to 2.2, or 2.2 to 2.3, ...,
    then you can use "upgrade" to preserve your existing partitions
    and local changes (including pkgadd!!), though it runs very
    slowly (about 1.5-2x the time for a reinstall) and does require
    that you have enough free space in / and /usr - make these big
    when you first install!  If you run out of space in one of
    your partitions, you can always remove some components.  Those
    will not be upgraded and can be installed elsewhere after
    initial upgrade (e.g., you can remove OW, Xil, Dxlib, manual
    pages, etc)

    There is no need to backout patches before upgrading.
    In 2.2, the system would back them out for you, in 2.3 it
    won't back out the patches but removes them without a trace.

    The upgrade doesn't work as well as a full install.
    E.g., the upgrade from 2.x (x<3) to 2.3 will leave
    aliases for all your ptys in /devices/pseudo.

1.10) Is Solaris 2.x reliable/stable enough to use?

    The consensus seems to be that yes, it is, for many applications
    and most users. Your mileage may vary.

    Binary compatibility was much improved in 2.3.  That will help
    transition somewhat.  The performance of 2.3 is adequate, though
    some parts of the system are still slower than SunOS 4.1.x.
    Solaris 2.3 is much more stable on MP machines than 2.2.
    The Solaris 2.3 version of OpenWindows is much faster and much
    more stable than the versions shipped with SunOS 4.1.x.

    Solaris 2.1 and earlier should really be avoided.  Solaris 2.2
    should be avoided too, but some people need to stick to it
    until some applications get ported (2.2 is the last release
    with NeWS)

    Solaris 2.3 still has some problems on high-end MP systems with
    large numbers of interactive users.  Solaris 2.4 promises much
    more scalable multi-processing.

1.11) Why do some people dislike Solaris2?

    There is a number of reasons why people dislike Solaris.

    1) Change.  In general people dislike change.  Change requires
    re-learning and retraining.  Old system administration practices
    no longer work.  Commands have been replaced by other commands,
    some commands behave differently.  And they ask why the change was
    necessary.  SunOS 4.x worked for them.

    2) Lack of migration support.  Sun did not provide a lot of
    tools to ease migration.  Many applications wouldn't run in the
    binary compatibility mode.  The source compatibility mode was
    probably compatible with some OS, but it certainly wasn't SunOS.
    Lot of public domain and third party stuff needed wasn't
    immediately available for Solaris.  NIS+, buggy, resource hungry
    and instable replaced NIS in incompatible ways.

    3) Missing functionality.  When people migrate, they at first
    don't tend to notice new functionality.  Instead, they stumble
    upon missing functionality such as screenblank, clear_colormap
    and the like (but see 3.18).  And perhaps worst of
    all, no C compiler, not even a crippled one.

    4) Slow and buggy.  The initial Solaris releases didn't perform
    at all well and were extremely instable.  This is improving
    rapidly, but SuperSPARC MP machines need a heavily patched 2.3
    to work reliably.

*1.12) Why do some people *like* Solaris2?

    There are improvements in Solaris 2.x.

    1) OpenWindows 3.3 (in Solaris 2.3).  Includes X11R5 and
    Display PostScript.

    2) ANSI-C and POSIX development environment.

    3) Multi-threaded kernel and real threads.

    4) True multi-processing.

    5) Goodies: vold, admintool and Wabi.

    6) Easy patch installation/administration through installpatch.

    7) all software in easy to manage "packages"

+1.13) What is Sun doing to help me migrate?

    Sun has recently started several projects to aid in the transition.
    Their WWW starting point is:

    Solaris Migration Initiative home page
	    [URL: http://www.sun.com/smcc/solaris-migration/index.html]

    The project is a combination of new and existing efforts and includes:

    1) Porting PD software to Solaris 2.x
    2) Solaris Migration Tool: (formerly known as Pipeline tool) a tool
    to help you port your code.
    3) Admigration Toolset.  Tools to help you convert your SunOS 4
    environment and to help you adjust to the new Solaris 2.x envrionment.
    4) Appmap: a tool to simplify application administration in a mixed
    SunOS 4.x/Solaris 2.x envrionment
    5) Solaris Transition CD (June '95)
    6) Native Solaris NIS (July '95)
    7) LP tools (simplified LP administration through NIS) (July '95)



2. MORE INFO

2.1) How can I RTFM when I don't have it anymore?

    "RTFM" is an old saying: Read The "Fine" Manual.  Sun still
    sell printed manuals, but doesn't automatically distribute
    them.  As with all real UNIX systems, you do get a full set of
    online "man" pages. A smaller, lighter, bookshelf-friendly :-)
    CD-ROM called "The AnswerBook"(tm) contains all the printed
    documents in machine-readable (PostScript) form, with hypertext
    capabilities and a keyword search engine. 90% of your
    introductory questions are answered therein!

    In Solaris 2.x the Answerbook set gets increasingly more
    divided into pieces.  It is currently (2.3) split over 4 CDs

	Solaris 2.x CD:
	    Solaris 2.x User AnswerBook

	Solaris 2.x administrator answerbook
	    Solaris 2.x System Administrator AnswerBook
	    Solaris 2.x on Sun Hardware AnswerBook
	    Solaris 2.x Reference Manual AnswerBook

	Solaris 2.x Software Developer Kit
	    All programming manuals.

	Solaris 2.x Driver Developer Kit
	    Device driver developer manuals.

    There is some overlap between CDs.

    As distributed with 2.1 and 2.2, the Answerbook search engine
    runs only with the OpenWindows ("xnews") server, not with MIT
    X11. This changed in 2.3. If you are using the MIT server
    instead of what Sun provides, you'll have to use one of several
    "answerbook workaround" scripts that are in circulation. The
    AnswerBook distributed with 2.3 and later runs with the OW3.3
    X11R5+DPS server, so it should display on any X11+DPS server,
    such as on DEC, IBM and SGI workstations.

    You should buy (or print from within Answerbook) at least the
    reference manual and the System and Network Administration
    books, because if your system becomes disabled you won't be
    able to run the Answerbook to find out how to fix it...

2.2) Why is "man -k" so confused?

  Solaris man uses a manual page index file called "windex" in
  place of the old "whatis" file. You can build this index with
	    cd <man-page-directory>; catman -w -M .

  But, in 2.1, this will result in numerous "line too long" messages
  and a bogus windex file in /usr/share/man, and a core dump in
  /usr/openwin/man. (In 2.2, catman works in /usr/share/man, but
  says "line too long" in /usr/openwin/man).  To add injury to
  insult, "man" normally won't show you a man page if it can't find
  the windex entry, even though the man page exists.

  There's a "makewhatis" script in /usr/openwin/man that works
  better than catman. But watch it - by default it searches files
  in /usr/man, not in openwin, and it only looks in some predefined
  man subdirectories. Try changing its "for ..." command to
  "for i in man*", then use it like this:
	    cd /usr/share/man; /usr/openwin/man/makewhatis .
	    cd /usr/openwin/man; /usr/openwin/man/makewhatis .

  Still (!), the openwin windex file is somewhat hosed (try "man
  answerbook" :-(.  You can always delete the bogus lines manually...
  or, you can alias man to "man -F", forcing it to look for the
  bloody file like you asked.

  But wait, there's more! To see the read(2) man page, you can't
  just type "man 2 read" anymore - it has to be "man -s 2 read".
  Or, alias man to this little script:

	    #!/bin/sh
	    if [ $# -gt 1 -a "$1" -gt "0" ]; then
		    /bin/man -F -s $*
	    else
		    /bin/man -F $*
	    fi

2.3) What Software is available for Solaris 2.x?

    Most commercial software that ran on 4.x either will run in BCP
    mode, or is available for Solaris 2.x, or is being ported now.
    Solaris 2.3 BCP mode finally supports statically-linked executables.

    You can obtain a list of official 3rd party porting
    commitments, maintained by Sun's "Solaris Demand Center"
    (whatever that is), by sending electronic mail to
    "sparc_products@thegift.sun.com" -- this is an automatic reply
    server.  The list shows what third party applications are currently
    available for Solaris, and lists expected dates for many more.

    A list of freeware (some "public domain", but mostly copyright-
    but-freely-distributable) [as well as commercial software??]
    that has been ported to Solaris 2.x
    is posted monthly to the newsgroup comp.unix.solaris by
    ric@updike.sri.com (Richard Steinberger). Look for this:

	    Subject: Solaris SW list.  Monthly Post.

    If you can't wait, the list is also available via anonymous FTP
    from updike.sri.com.

2.4) What FTP/WWW sites do I need to know about?

    www.sun.com [URL: http://www.sun.com]
	Sun's own WWW site, contains pointers to Sunsites, patches
	and has lots of info, press releases etc, etc.

    Solaris transition home page
	    [URL: http://www.sun.com/smcc/solaris-migration/index.html]
	Sun's Solaris 2.x migration support

    SunSites - Sun sponsored sites.  Lots of good stuff here:
	SunSITE USA at UNC - Chapel Hill (sunsite.unc.edu)
	    [URL: http://sunsite.unc.edu/newhome.html]
	SunSITE Japan at Science University - Tokyo (sunsite.sut.ac.jp)
	    [URL: http://sunsite.sut.ac.jp/homepage.html]
	SunSITE North Europe at Imperial College - London (src.doc.ic.ac.uk)
	    [URL: http://src.doc.ic.ac.uk/public]
	Sun SITE Russia at  Moscow State University - Moscow
	    [URL: "http://sunsite.cs.msu.su/"]
	Sun SITE Singapore at National University of Singapore - Singapore
	    [URL: "http://sunsite.nus.sg/"]
	Sun SITE South Africa at University of the Witwatersrand - Johannesburg
	    [URL: "http://sunsite.wits.ac.za/"]

    Solaris at UMBC - Solaris tips & tricks by Vijay Gill
	    [URL: http://umbc8.umbc.edu/~vijay/solaris/solaris.html]

    ftp.x.org - the master X11 site

    camus.quintus.com:/pub/GNU - GNU binaries

    ftp.uu.net - UuNet communication archives
    (mirrors abovementioned GNU binaries in systems/gnu/solaris2.3)
	    [URL: ftp://ftp.uu.net/systems/gnu/solaris2.3]

    OpCom. (opcom.sun.ca) - run by Sun Microsystems' OpCom group - lots
    of stuff. Here is some of the stuff that's online:

    pub/AMToolkit.* - the Administration Migration (4.1.x to Solaris 2)
		      Toolkit

    pub/binaries    - binaries/man pages for Solaris 2.0 native binaries.

    pub/newsletter  - issues of the monthly OpCom newsletter.

    pub/docs        - assorted documentation, papers, and other information.
		    - all of the RFCs

    pub/drivers     - information related to device driver writing under
		      under Solaris 2.0 as well as a skeleton SCSI driver.

    ls-lR.Z         - compressed recursive listing of files available
		      on the server.

    pub/tars        - compressed tars.

    pub/tmp         - place for uploading things to the server.

    pub/R5          - the unadultered MIT x11r5 distribution.

    pub/x11r5       - port of X11r5 to Solaris 2.0, binaries, libraries
		      and headers.  A compressed tar of this tree can
		      be found in tars.

    prep.ai.mit.edu and the GNU mirrors

    pub/gnu/sparc-sun-solaris2      - recent gcc binaries for SPARC
    pub/gnu/i486-sun-solaris2       - recent gcc binaries for i486

    ftp.fwi.uva.nl
	pub/solaris
	    - where the Solaris FAQ is kept, including an html
	      version.
	      Accompanied by versions of the wabi1.0 FAQ and
	      x86 hw-config as send out by Sun's autoreply daemons.

	pub/solaris/auto-install
	    - fully automated auto-install scripts, including
	      an explanation of exactly what a machine needs when
	      booting the installation, automated patch installation
	      and even post-install updates from your install tree,
	      which gives you an easy way to keep all your Solaris
	      machines in sync.

2.5) What other FAQ's do I need to know about?

    All of them :-). But in particular you should see these FAQ's:

    1) Sun Computer Administration Frequently Asked Questions
	    [URL: "http://aurora.latech.edu:80/sunadminfaq.html"]

    2) The "Solaris 2 Porting FAQ"
	    [URL: http://www.cis.ohio-state.edu/hypertext/faq/usenet/Solaris2/porting-FAQ/faq.html]

    3) comp.windows.open-look - Anything related to OpenWindows or the
	    OPEN LOOK Graphical User Interface.

    4) The Sun-Managers mailing list (see below) has its own FAQ,
	    maintained by John DiMarco <jdd@cdf.toronto.edu>.
	    FTP from ra.mcs.anl.gov in the sun-managers directory.

    5) See also the "Solaris SW list. Monthly Post" above and the
	    "whatlist" file.

2.6) What mailing lists should I get?

    First, read all the USENET newsgroups with "sun" in their name :-)

    1) The Florida SunFlash is a "closed" mailing list for Sun owners.
    It contains mostly press releases from Sun and third-party
    vendors.  This list contains information on conferences such as
    the Solaris Developer's Conference as well.  It is normally
    distributed regionally - to find out about a mail point in your
    area, or for other information send mail to info-sunflash@Sun.COM.

    Subscription requests should be sent to sunflash-request@Sun.COM.
    Archives are on solar.nova.edu, ftp.uu.net, sunsite.unc.edu,
    src.doc.ic.ac.uk and ftp.adelaide.edu.au

    2) The Sun Managers list is an unmoderated mailing list for
    *emergency-only* requests. Subscribe and listen for a while,
    and read the regularly-posted Policy statement BEFORE sending
    mail to it, and to get a feel for what kinds of traffic it carries.
    Write to sun-managers-request@eecs.nwu.edu.

2.7) What books should I read?

    O'Reilly & Associates specializes in UNIX books.  Their "UNIX
	    [URL: http://www.ora.com]
    In A Nutshell" has been updated for SVR4 and Solaris 2.0.  Get
    their catalog by calling 800-998-9938 (1-707-829-0515) 7AM to
    5PM PST.

    SunSoft Press carries books specific to Solaris 2. Look for the
    inset with your End User Media Kit that lists the most relevant ones.

    Prentice-Hall has reprints of much of the AT&T documentation.
    I'm not sure how much of this you need - a lot of the same
    material is in the Answerbook (see above).

2.8) What hardware is supported by Solaris 2.x for Intel?

    The complete and often updated list Solaris x86 hardware options
    can be obtained by sending an email message without subject/body
    to:

	    x86hcl@sun.com	(ascii)
	    x86hcl.ps@sun.com	(postscript)

    or
	    x86-hwconfig@Cypress.West.Sun.Com

    This address currently sends out info on Solaris 2.4.

2.9) What is Wabi?

    Wabi is Sun's new MS-Windows-under-unix emulator.
    The Wabi faqs can be obtained by sending an empty message to:

	    wabi1.0-questions@East.Sun.com
	    wabi1.1-questions@East.Sun.com

    The list of current Wabi (and future :-) apps can be obtained by
    mailing:

	    wabi1.0-apps@East.Sun.COM
	    wabi1.1-apps@East.Sun.COM
	    wabi2.0-apps@East.Sun.COM

    Applications that execute a lot of X86 code, run fastest on
    Solaris 2.x_86, as no x86 emulation needs to be done.
    Applications that are more windows intensive will run
    better on machines with faster graphics hardware.

    The currently shipping version of Wabi is Wabi 2.0.

    Wabi will not be made available for SunOS 4.1.x.


3. SYSTEM ADMINISTRATION

3.1) How much disk space do I need to install Solaris 2?

    A full install of 2.2 is supposed to be 164 MB, but that doesn't
    include swap. Here is a net exchange between Casper Dik and Gil Tene:

    In article <1993Apr2.083549.19177@fwi.uva.nl>, Casper writes:
    |> >How much disc space does SOLARIS take up ? That is should we buy a
    |> >424MB disc or get a 1Gb disc to put it on :-)
    |>
    |> Solaris 2.x takes about as much diskspace as SunOS 4.x:
    |>
    |> Partition/Slice Solaris SunOS
    |> /            10MB     8MB
    |> /usr         78MB    90MB
    |> /var         10MB    10MB
    |> /usr/openwin 83MB    83MB
    |>

    Gil replies:
    On my system, with a full Solaris installation (EVERYTHING selected)
    + gnu's binary stuff for solaris (off of the Catalyst CD) installed
    in /opt I see a similar situation to the above plus :

    16852   /opt/SUNWabe
    19      /opt/SUNWcg12
    7968    /opt/SUNWdiag
    721     /opt/SUNWgt
    7740    /opt/SUNWits
    14609   /opt/cygnus-sol2-1.0

    (output from "du -k -s /du/*")

    - SUNWabe is the end user answerbook stuff.  (vi, mail, Deskset tools
      etc, etc)

    - SUNWcg12 is (obviously) cg12 support.

    - SUNWdiag is obvious too.

    - SUNWgt is support for gt boards.

    - SUNWits is the xgl3.0 library (it has libPEX5.so.1 in there too).

    - cygnus-sol2-1.0 is the gcc2.0+tools stuff. I have gcc2.3.3 on
      another partition and that takes about the same space as 2.0 does.

    Another important note : The full Solaris 2.1 answerbook takes up 164MB
    on disk. I highly recommend installing it and not using it off the
    CDROM drive. It's much more usable (faster) this way. And it always
    stays around -- even when you have something else in the CDROm drive.

3.2) How can I convert all my local changes that I've made over the
    years into their corresponding forms on Solaris 2?

    1) Do it by hand. You did document every single change and
    check it into RCS, didn't you?

    2) Automate it, using the AMToolkit (Administration Migration
    Toolkit) from the OpCom FTP server (q.v.)!

3.3) What are "packages"?

    A SVR4 mechanism for "standardizing" the installation of
    optional software. Most vendors are expected to use this
    format for distributing add-on software for Solaris 2.x.

    Packages can be installed/deinstalled with pkgadd/pkgrm which
    are standard SVR4 items, or with swm (CRT) or swmtool (GUI-based)
    which are provided only in Solaris 2.

    Note that the "pkg" system keeps lots of files in /var/sadm/install,
    and in particular the file "contents", which is hundreds of KB,
    and that there are two copies of it while pkgadd is running, so you
    needs lots of free space where /var is, typically the root.
    This file must be kept around if you want, for example, to use
    pkgrm to remove a package, or pkgchk to verify months later that
    all of a a package's files are still intact.

    Summary of pkg* commands:

	    pkginfo <pkg>   - test for presents of package.
	    pkgadd -d /<cdrom>/Solaris_2.3 <pkg ...>
			    - add missing packages
	    pkgrm <pkg ...> - remove packages.
	    pkgchk -q <pkg> - test for existence of package
	    pkgchk <options> [pkg] - check installed packages for
	    integrity.

3.4) Why can't I write in /home?

    This is a common one! SunOS is delivered with the "automounter"
    enabled. The automounter is designed for NFS sites, to
    simplify maintenance of the list of filesystems that need
    mounting. However it is a burden for standalone sites.

    The automounter takes over /home and in effect becomes the NFS
    server for it, so it no longer behaves like a normal directory.
    This is normally a Good Thing as it simplifies administration if
    everybody's home directory is /home/<username>.

    To kill it off for standalone or small networks, you can comment out
    the three lines in /etc/init.d/nfs.client that start "if" (from the if
    to the fi!!), and reboot (Solaris 2.2) or remove the file
    /etc/rc2.d/S73autofs (Solaris 2.3).  You can always relink
    that file with /etc/init.d/autofs if you change your mind.

    To learn about it, read the O'Reilly book "Managing NFS and
    NIS", or ftp the white paper 'The Art of Automounting".  from
    sunsite.unc.edu in the directory /pub/sun-info/white-papers.

3.5) Why can't I access CDs or floppies?

    Solaris 2.2 introduces a new scheme for automatically mounting
    removable media. It consists of a program "vold" (volume daemon) which
    sits around watching for insertions of floppies and CD's,
    handles ejects, talks to the file manager, and invokes a second
    program called "rmmount" (removable media mounter) to mount the disk.

    Note that on most SPARCstations, you must run "volcheck"
    whenever you insert a floppy, as the floppy hardware
    doesn't tell SunOS that a floppy was inserted.

    Advantages of this scheme:
    - no longer need root; users can mount and unmount at will.
    - can do neat tricks like automagically start "workman" or
      other Audio CD player when audio CD inserted.
    - extensible - developers can write their own actions

    Drawbacks:
    - can no longer access /dev/rfd0 to get at floppy; must use
      longer name like /vol/dev/rdsk/floppy0
    - similarly, CD's get mounted on /cdrom/VOLNAME/SLICE, e.g.,
      /cdrom/solaris_2_2/s0 is slice 0 of the Solaris 2 CD
      (nice that it does mount all the partitions, though!).

    To read or write a non-filesystem floppy (tar, cpio, etc),
    put in the diskette and run "volcheck" from the commandline or
    click "Check for Floppy" in the filemgr to get it noticed; then access
    /vol/dev/rfd0/unlabeled  (e.g. "tar tvf /vol/dev/rfd0/unlabeled").

    [Solaris 2.3: /vol/dev/rdiskette0/unlabeled, or
		  /vol/dev/aliases/floppy0.]

    If you want the old behavior, it's been suggested that you
    can comment out the vold startup in /etc/init.d/volmgt and
    then reboot; an easier way is # /etc/init.d/volmgt stop.

3.6) Why are there no passwords in /etc/passwd?

    System V Release 4 includes a feature called "shadow passwords".
    The encrypted passwords are moved out into a shadow password file
    (called /etc/shadow in this release) that is NOT publicly readable.
    The passwd file has always been readable so that, for example, ls -l
    could figure out who owns what. But having the passwd encryptions
    readable is a security risk (they can't be decrypted but the bad guy
    can encrypt common words and names &c and compare them with the
    encryptions).

    The Shadow Password feature is mostly transparent, but if you
    do any passwd hacking you have to know about it!  And DO make
    sure that /etc/shadow is not publicly readable!

3.7) Why can't I rlogin/telnet in as root?

    >... when I try to rlogin as root ...
    >it gives me the message "Not on system console
    >Connection closed.".  What have I left out?

    Solaris 2 comes out of the box a heck of a lot more secure than
    Solaris 1.  There is no '+' in the hosts.equiv.  root logins are not
    allowed anywhere except the console.  All accounts require passwords.
    In order to allow root logins over the net, you need to edit the
    /etc/default/login file and comment out or otherwise change the
    CONSOLE= line.

    /etc/hosts.equiv is still supported, but there is no default.

    This file's CONSOLE entry can actually be used in a variety of ways:

    1) CONSOLE=/dev/console (default) - direct root logins only on console
    2) CONSOLE=/dev/ttya - direct root logins only on /dev/ttya
    3) CONSOLE= - direct root logins disallowed everywhere
    4) #CONSOLE (or delete the line) - root logins allowed everywhere

3.8) How can I have a user without a password?

    There are basically two ways to achieve this:

    Edit /etc/default/login and comment out PASSREQ=YES or change it
    to PASSREQ=NO.

    The second way is to give a particular use no password with the
    following entry in /etc/shadow:

    user::9092:9999:9999::::

3.9) How can I set up anonymous FTP?

    If you need help, ftp the file "solaris2.ftpsetup" from
    ftp.cs.toronto.edu:/pub/darwin/solaris2.

    ftpd(1M) is nearly complete when it comes to setting
    up anonymous ftp.  It only leaves out /etc/nsswitch.conf. [S2.3]

    Additionally, you must make sure that the filesystem ~ftp resides
    on is not mounted with the nosuid option.

3.10) How can I print from a Solaris 2 (or any System V Release 4) system
    to a SunOS4.x (or any other BSD) system?

    Hmmm, the lp system is totally different than what you're used to.
    The System V Line Printer System is a lot more, well, flexible.
    A cynic might say "complicated".  Here's a very quick guide --
    see the man pages for each of these commands for the details.

    Let's say your Solaris2 workstation is called "sol" and the
    4.1.x server is called "bertha" and you want the printer name
    to be "printer" (imaginative, eh?).

    sol# lpsystem -t bsd bertha             # says bertha is a bsd system
    sol# lpadmin -p printer -s bertha       # creates "printer" on "sol"
					    # to be printed on "bertha"
    sol# accept printer                     # allow queuing
    sol# enable printer                     # allow printing
    sol# lpstat -t                          # check the status

    Finally, if that's your only printer, make it the default:

    sol# lpadmin -d printer

    On some systems you may have to turn on the port monitor.

I did that. Why does it now complain about invalid content types?

    I said it was complicated!

    For better or for worse, you need to know about printer content types.
    See the man page for "lpadmin".

    To get transparent mode, try this:

    lpadmin -I any -p printer

Isn't there any easier way?

    The GUI-based Admintool has a Printer Manager that is supposed to
    be able to do all this and more. Try it; Sun hopes you'll like it.

Now my jobs print but they stay in the queue after!?

    It's a known bug, and probably get fixed in 2.3.
    There's also a number of lpsched patches out for
    Solaris: 101025-xx (2.2) and 101317-xx (2.3).
    Make sure you install those.


3.11) What if I'd rather use the BSD line printer system?

    The 4.3BSD-reno lpr system for Solaris 2, file
	    lpr-sol2-p3.tar.gz or lpr-sol2-p3.tar.Z
    is available from the following FTP site:

    get ftp.nus.sg:/pub/NUS/ISCS/misc/lpr-sol2-p3.tar.gz

    And don't despair.  Someday the System V print spooler will be
    replaced by something new.  (See the Solaris 2.3/2.4 Open
    Issues & Late Breaking News For System Administrators)


3.12) What happened to /dev/MAKEDEV? How do I add devices?

    Device drivers are linked in dynamically. When you add new
    devices, just shutdown the system and do
	    boot -r # use drive spec if not default disk
    to *r*ebuild the /devices and /dev directories.

    If you're just adding a SCSI disk, you don't need to reboot.  Run the
    following script (as root):

    #!/bin/sh
    #
    # add-disk
    #
    #       Runs the commands to make Solaris locate a new disk that
    #       has been plugged in after the system was booted.
    #

    /usr/sbin/drvconfig
    /usr/sbin/devlinks
    /usr/sbin/disks                 # or /usr/sbin/tapes for tapes
    /usr/ucb/ucblinks               # Compatibility links

    exit 0

    Note that this only works if you already have at least one SCSI disk on
    the system.  (This is because the above just makes symbolic links and
    things, it does not load up the SCSI driver kernel modules, etc.)

*3.13) Why isn't my tape/cd player or new disk/device recognized?

    Devices must be turned on and present when you configure
    the system.  After adding devices you must boot -r with all
    the devices turned on.  See also 3.12

3.14) What happened to /etc/rc and /etc/rc.local?

    They're now fragmented into 12 million tiny little pieces. Look in
    the following files to get oriented:
	    /etc/inittab - starting point for init
	    /sbin/rcS, /etc/rcS.d/* - booting stuff
	    /sbin/rc2, /etc/rc2.d/*,
		    /sbin/rc3, /etc/rc3.d/* - stuff for multi-user startup.
    Note that all files in /etc/rc*.d/* are hardlinked from
    /etc/init.d (with better names), so you should grep in there.

    There are many "run levels" to the System V init; the run
    level 3 is normally used for "multi user with networking."

I can't understand that stuff; can't I have /etc/rc.local back?
I just want to keep all my local changes in one place.

    No. You can never have rc.local back the way it was. But then, it
    never really *was* purely a "local" rc file. To have a real
    "local" rc file with just your changes in it, copy this file
    into /etc/init.d/rc.local, and ln it to /etc/rc3.d/S99rc.local.
    Put your startup stuff in the "start" section.

    ----- Cut here -----
    #!/sbin/sh
    # /etc/init.d/rc.local - to be linked into /etc/rc3.d as
    # S99rc.local -- a place to hang local startup stuff.
    # started after everything else when going multi-user.

    # Ian Darwin, Toronto, November, 1992
    # As with all system changes, use at own risk!

    case "$1" in
    'start')
	    echo "Starting local services...\c"

	    if [ -f /usr/sbin/mydaemon ]; then
		    /usr/sbin/mydaemon 1>/dev/console 2>&1
	    fi
	    echo ""
	    ;;
    'stop')
	    echo "$0: Not stopping any services."
	    ;;
    *)
	    echo "Usage: $0 { start | stop }"
	    ;;
    esac
    ------ End of Cut Here -----

3.15) Speaking of that, why are there two versions of shutdown?

    SVR4 (hence SunOS 5.x) tries to make everybody happy. The
    traditional (slow) System V "shutdown" runs all the rc?.d/*
    shell scripts with "stop" as the argument; many of them run
    ps(!) to look for processes to kill. The UCB "shutdown" tells
    init to kill all non-single-user processes, which is about two
    orders of magnitude faster. Unfortunately, the UCB version does
    everything it should *except* actually halt or reboot in
    SunOS5.1 (and some other SVR4 implementations).
    This is fixed in Solaris 2.3.

    If you run a database (like oracle) or INN, you should
    install a special /etc/rc?.d/K* script and make sure you
    always shutdown the long way.

3.16) When will somebody publish a package of the BSD (4.3BSD Net2)
    "init", "getty", and "rc/rc.local", so we can go back to life
    in the good old days?

    Getty should be easy and was reportedly done at a number of
    sites.  The port monitor isn't everyones favorite. But given
    that you can do much more with the SVR4 init, why would
    you want to change back?  It would be much more trouble than
    it's worth.

3.17) What has happened to getty? What is pmadm and how do you use it?

    I was hoping you wouldn't ask. PMadm stands for Port Monitor Admin,
    and it's part of a ridiculously complicated bit of software
    over-engineering that is destined to make everybody an expert.

    Best advice for workstations: don't touch it! It works out of the box.
    For servers, you'll have to read the manual.
    This should be in admintool in Solaris2.3.
    For now, here are some basic instructions from Davy Curry.

    "Not guaranteed, but they worked for me."

    To add a terminal to a Solaris system:

    1. Do a "pmadm -l" to see what's running.  The serial ports on the
    CPU board are probably already being monitored by "zsmon".

    PMTAG          PMTYPE         SVCTAG         FLGS ID       <PMSPECIFIC>
    zsmon          ttymon         ttya           u    root     \
	    /dev/term/a I - /usr/bin/login - 9600 ldterm,ttcompat ttya \
	    login:  - tvi925 y  #

    2. If the port you want is not being monitored, you need to create a
    new port monitor with the command

	    sacadm -a -p PMTAG -t ttymon -c /usr/lib/saf/ttymon -v VERSION

    where PMTAG is the name of the port monitor, e.g. "zsmon" or "alm1mon",
    and VERSION is the output of "ttyadm -V".

    3. If the port you want is already being monitored, and you want to
    change something, you need to delete the current instance of the port
    monitor.  To do this, use the command

	    pmadm -r -p PMTAG -s SVCTAG

    where PMTAG and SVCTAG are as given in the output from "pmadm -l".  Note
    that if the "I" is present in the <PMSPECIFIC> field (as it is above),
    you need to get rid of it.

    4. Now, to create a specific instance of ttymon for a port, issue the
    command:

    pmadm -a -p PMTAG -s SVCTAG -i root -fu -v 1 -m \
	    "`ttyadm -m ldterm,ttcompat -p 'PROMPT' -S YORN -T TERMTYPE \
	    -d DEVICE -l TTYID -s /usr/bin/login`"

    Note the assorted quotes; Bourne shell (sh) and Korn (ksh) users
    leave off the second backslash!

    In the above:

    PMTAG is the port monitor name you made with "sacadm", e.g. "zsmon".

    SVCTAG is the service tag, which can be the name of the port, e.g.,
		    "ttya" or "tty21".

    PROMPT is the prompt you want to print, e.g. "login: ".

    YORN is "y" to turn software carrier on (you want this for directly
    connected terminals" and "n" to leave it off (you want this
    for modems).

    TERMTYPE is the value you want in $TERM.

    DEVICE is the name of the device, e.g. "/dev/term/a" or "/dev/term/21".

    TTYID is the line you want from /etc/ttydefs that sets the baud rate
	    and stuff.  I suggest you use one of the "contty" ones for
	    directly connected terminals.

    5. To disable ("turn off") a terminal, run

	    pmadm -d -p PMTAG -s SVCTAG

    To enable ("turn on") a terminal, run

    pmadm -e -p PMTAG -s SVCTAG

    Ports are enabled by default when you "create" them as above.

    For more details, see the article:
	    SUMMARY: Solaris modem/terminal how-to: Rev xx.xx.xx
    posted periodically to comp.unix.solaris by
    celeste@xs.com (Celeste Stokely).

*3.18) How do I get the screen to blank when nobody's using it?

    Under 4.1.x you invoke screenblank in /etc/rc.local, but there's no
    screenblank in Solaris 2.1.  Sun recommends that you
    have everybody put `xset s on' in their .xinitrc, but this
    may be hard to police, and in any event it won't work when nobody is
    logged in.  The simplest workaround is to copy /usr/bin/screenblank
    from 4.1.x and run it in binary compatibility mode.  See ``What
    happened to /etc/rc and /etc/rc.local?'' for how to invoke it.

    Another possibility is to use xdm, but you'll have to use your own,
    since the xdm shipped with Solaris 2.1 doesn't work.

    The 4.1.x screenblank didn't work for us; We use Jef Poskanzer's
    freeware screenblank.  His version is available from
    ftp.netcom.com:/pub/jef/screenblank_21dec93.tar.Z.

    Because of a bug in Solaris 2.3, you'll need to
    specify -DHAVE_POLL=0 when compiling this version.

    Solaris 2.4 comes with power management software for those systems
    with a soft-switchable power supply.  That may suit your needs
    better than screenblank.

    The powermanagement software can be used to switch off just the
    screen, by putting thw folliwng in the power.conf file:

    # Name                  Theshold(s)     Logical Dependent(s)
    /dev/kbd                600
    /dev/mouse              600
    /dev/fb                 0 0             /dev/kbd /dev/mouse

    Make sure you comment out the "autoshutdown" line if you want to
    keep your machine running.

3.19) And what about screendump, screenload and clear_colormap?

    You can FTP Jef's screenload, screendump, etc., if you need that
    functionality, and for free you get a pixrect (clone) library.
    Get one of these:
	    ftp.netcom.com:/pub/jef/raster-pixrect_30dec93.tar.Z
	    ee.lbl.gov:/raster-pixrect_30dec93.tar.Z

    The 4.1.x versions of these programs will not run under
    Solaris 2.2 or later.  The pixrect BCP library is no
    longer supported.

3.20) Where did etherfind go?

    There is a replacement for etherfind, but it has changed name;
    in fact it's a whole new program. It IS better. To find it,
    though, you would have to realize that network snooping is not
    really Ethernet-specific.  To end the suspense :-), here it is:

    % man -k snoop
    snoop   snoop (1m)      - capture network packets and inspect them
    %

    It works differently - it has an immediate mode, a
    capture-to-disk mode, and a playback-from-disk mode.  Read the
    man page for details.

3.21) Can I run SunOS4.1.x on my SPARC Classic, LX, SS5, SS20, Voyager,
    SS1000, SC2000?

    The Classic, LX and the single processor models of the SS20
    are still supported under some version of SunOS 4.1.x.
    A lot of people wanted these machines but only if they ran
    SunOS 4.1.x.  When the Classic/LX came out, clone manufacturers
    were able to provide SunOS 4.1.x with it, Sun came out with
    SunOS 4.1.3C some time later.

    The Classic, LX and SS5 and SS20 are supported in the most recent
    Solaris 1.x release, SunOS 4.1.3_U1 rev B (Solaris 1.1.1B).  The
    Classic and LX are supported since 4.1.3C (release for LX & Classic
    only), the SS20/SS5 since release 4.1.3_U1 rev B (Solaris 1.1.1B).
    Note that none of these OS versions support SuperSPARC MP or any of
    the new graphics hardware (ZX, SX, S24).

    The Voyager is not supported under SunOS 4.1.x, too many new device
    drivers have been added plus the suspend resume feature.

    The XDbus machines SS1000/SC2000 are also not supported under
    SunOS 4.1.x.  Support for the kernel architecture and XDBus is
    missing in 4.x.

3.22) The "find" program complains that my root directory doesn't exist?

    Yes! Actually, messages like

    find : cannot open /: No such file or directory.

    are due to a bug in the tree walking function (nftw(3)).

    Fixed in 2.4 and in the 2.3 kernel jumbo patch 101318 (-41 or later)


3.23) I'm having troubles with high-speed input on the Sparc serial
    ports.  What should I do?

    Try using UUCP.  The Solaris 2.x sparc serial driver has
    trouble receiving data at or above 9600 bps.  Symptoms include
    sluggish response, `NOTICE: zs0: silo overflow' console
    messages, sending spurious control-Gs to the serial port, and
    applications that cannot be killed even with `kill -9'.  This
    problem surfaces in many applications, including Kermit and
    tip.  UUCP seems immune, though, because its protocol throttles
    input sufficiently.

3.24) How do I make ksh or csh be the login shell for root?

    Root's shell is /sbin/sh, which is statically linked.
    Don't just insert a 'c' before "sh" as previously, as that would
    look for /sbin/csh, which doesn't exist.  Don't just change it to
    /bin/csh, since that's really /usr/bin/csh, which is dynamically
    linked, because:
	    a) /usr may not be mounted initially, and then
	       you're in deep (the shared libraries are in /usr!), and
	    b) There is code in the startup scripts that assumes that
	       everything critical is in /etc/lib, not /usr/lib.
    Approach with caution!

    Safer bet - have an alternate root account, like "rootcsh",
    with uid 0, and /bin/csh as its shell. Put it after root's entry in
    the passwd file.  Only drawback: you now have to remember to
    change all of root's passwords at the same time.

    Third bet - in root's .profile, check if /usr is mounted and, if so,
    exec /bin/ksh or whatever.

3.25) What is this message: "automount: No network locking on host,
    contact administrator to install server change."?

    The other machine (an NFS server) is running 4.1.x and needs a
    patch from Sun to update its network lock daemon (lockd). If
    you don't install the patch on the server, file locking will
    not work on files mounted from "thathost". The lockd jumbo patch
    fixes a bunch of other lock manager problems, so it may be a
    Good Thing To Get; however, it may also cause the machine on
    which the patch is installed to have trouble talking to servers
    with no patch or older patches, so Be Warned.

    The lockd patches are: 100075 (now 4.1.3 only), 101817 (4.1-4.1.2)
    and 101784 (4.1.3_U1), 100518 (for Online: Disksuite).

3.26) How do I make Solaris2 use my Toshiba MK538FB and other
    older SCSI disks?

    Append this line to /etc/system and reboot:

    set scsi_options & ~0x80

    This turns off Command Queuing, which upsets the Toshiba
    and some other drives.

3.27) How do I make Solaris2 use my old ADAPTEC ACB-4000 and
    Emulex MD-21 diskcontrollers?

    As with any hardware addition, first try the obvious (boot -r
    after installing and power-cycling everything).

    The adaptec is no longer supported; man -s7 sd no longer even
    lists it!  So I guess they go over the cliff. Either that, or
    take the drives out and put them on a PC, where ST506 MFM
    drives are still supported.

    The MD21 should work, though some people report that SCSI
    doesn't work in 4/260 boxes (bug-id #11187521).

3.28) Why are there so many patches for Solaris 2.x?

    Solaris 2.x releases are essentially frozen TWO months before
    their general release date.  During the early access/beta test
    period bugs are found both in the beta and in the previous
    release.  That's why at the moment a new release comes out a
    number of patches is ready. Some of those are on the Solaris
    2.x CD.  Others were released almost at the same time as 2.x,
    or even before 2.x becomes generally available.

    Some bugs are found in the previous release that can't be fixed
    in the time for the next release.  And bugs get added to new
    code.

3.29) What are the ``mandatory'' patches I keep hearing about?

    The mandatory patches weren't mandatory, so they've been relabeled.
    They're now called ``recommended'' patches.

    The recommended patches are those patches Sun recommends for
    trouble free system operation.  With those patches installed,
    your chances on trouble free operation are higher.  That doesn't
    mean you will run into trouble without them.

    These recommended patches can be anonymously ftp'ed from
    official Sun ftp sites.

3.30) Where do I get patches from?

    ugle.unit.no:/pub/unix/sun-fixes

    SunSites (carry recommended and security patches):

    sunsite.unc.edu:/pub/sun-info/sun-patches
    sunsite.sut.ac.jp:/pub/sun-info/sun-us/sun-patches
    sunsite.doc.ic.ac.uk:/sun/sunsite-sun-info/sun-patches

    Sunsolve:

    sunsolve1.sun.com:/pub/patches
    http://sunsolve1.sun.com/

    This Sun's own site, it has the recommended patches up for
    anonymous ftp, packaged as one huge 2.x_Recommended.tar.Z file
    and as individual patches.

    Starting with SunSolve CD 2.1.2 ALL Sun patches are shipped
    on the SunSolve CD.

    Contract customers can get all patches by ftp from Sunsolve
    or via e-mail and query one of the online sunsolve-databases
    on the internet.

3.31) Where can I obtain Solaris 2/x86 driver updates?

    The Solaris x86 driver updates can be obtained by anonymous ftp from:

	ftp.uu.net:/vendor/sun/sun-doc/x-86-driver
	sunsite.unc.edu:/pub/sun-info/solaris-x86/sunsoft-drivers

3.32) Why does installing patches take so much space in /var/sadm?

    All the files that are replaced by a patch are stored under
    /var/sadm/patch/<patch-id>/save so the patch can be backed
    out safely.

    You can remove the <patchdir>/save directory provided you also
    remove the <patchdir>/.oldfilessaved file.

    Alternatively, you can install a patch w/o saving the old
    files by using the "-d" flag to installpatch.

3.33) Do I need to back out previous versions of a patch?

    No, unless otherwise stated in the patch README.
    If the previous patch installation saved the old
    files, you may want to reclaim that space.

    Patches can be backed out with:

	    /var/sadm/patch/<patch-id>/backoutpatch <patch-id>

    Backoutpatch can take an awful long time, especially when the
    patch contained a lot of files.

3.34) How can I have more than 48 pseudo-ttys?

    Edit /etc/system and add the following line:

    * System V pseudo terminals

    set pt_cnt = <num>

    * BSD pseudo ttys

    set npty = <num>

    Halt the system and boot -r.

3.35) How can I get ps to print %MEM and %CPU?

    Prior to Solaris 2.4, the OS didn't do the bookkeeping
    necessary to obtain these values.  In Solaris 2.4 the code
    was added to kernel and /usr/ucb/ps can now show these values.

3.36) How can I get the DOS and Unix clock to agree on Solaris/x86?

    After installation, run the command /usr/sbin/rtc -z $TZ,
    where $TZ is your timezone.  The default root crontab runs
    /usr/sbin/rtc -c once everyday.

    That way your clock will give the proper time whether you boot
    Solaris or DOS/Windows.

3.37) Hoe can I increase the number of filedescriptors per process?

    In 2.3 in earlier this requires poking the kernel.
    In Solaris 2.4, this can be accomplished by adding the
    following lines to /etc/system:

	* set hard limit on filedescriptors
	set rlim_fd_max = 4096
	* set soft limit on filedescriptors
	set rlim_fd_cur = 1024

3.38) Can I install both SunOS and Solaris on the same machine,
    and choose between them at boot time?

    Yes, that is possible.  All partitions other than the system
    partitions (typically /, /usr, /var and /opt) can be shared by the
    two OSes.  All partitions, including the system partitions, can be
    mounted and accessed by either OS.

    The easiest way to set this up is to do separate suninstalls on two
    different disks.  Then just choose the appropriate disk at boot
    time with the PROM's "boot" command.

    Setting up both OSes on one disk is a little harder, but not much.
    You need to partition the disk to allow for both OSes.  Almost any
    partition layout is possible, but one common setup might be:

     a: / for Solaris 2
     b: swap (shared)
     c: The usual (whole disk)
     d: / for Solaris 1
     e: /usr for Solaris 1
     g: /usr for Solaris 2

    Again, it's most reliable to use suninstall to do the installations.
    If for some reason you choose not to use suninstall, make sure you run
    installboot for both bootable partitions.

    With this setup, you choose between the two OSes in the PROM's "boot"
    command as follows:

    To boot Solaris 2:	boot
    To boot Solaris 1:	boot disk:d

    NOTE: In boot PROM versions <= 2.5, the "disk:d" syntax is not supported,
    and the PROM cannot boot from root partitions that begin or end beyond 1GB.

3.39) How do I disable banner pages under Solaris?

    As root, go to directory /etc/lp/interfaces.  Edit the file that 
    corresponds to the printer name.  Change the line that reads 
    'nobanner="no"' to 'nobanner="yes"'.


4. NETWORKING

4.1) How do I use DNS w/o using NIS or NIS+?

    Under SunOS 4.1 it was next to impossible to run DNS name resolution
    without either a kludge fix or the NIS (V2 I guess). Under Solaris
    2.1 it is incredibly simple, but you must ignore what the manual
    (SunOS 5.1 Administering NIS+ and DNS) says (the manual is fixed
    in Solaris 2.2). All that is required to make a non-NIS host
    use the DNS for name resolution is to change the host: line in
    the /etc/nsswitch.conf file to the following:

    hosts:  files dns

    (i.e., when looking for hosts, look in /etc/hosts first, if not
    found there, try DNS, if still not found then give up) and set
    up a correct version of /etc/resolv.conf to tell the resolver
    routines (like gethostbyname) how to contact the DNS
    nameserver. You must have the names of machines which are
    somehow contacted during boot in the files in /etc and files
    must appear first in the hosts: line, otherwise the machine
    will hang during boot (at least ours did). Make sure that
    /etc/netconfig is using switch.so. (It does from the factory.)

4.2) Speaking of nsswitch.conf, what is it?

    An idea whose time has come (it came to Ultrix a few years
    ago).  You can control which of the "resolver" services are
    read from NIS (formerly YP), which from NIS+, which from the
    files in /etc, and which are from DNS (but only "hosts" can
    come from DNS).

    A common example would be:

    hosts: nis files

    which means ask NIS for host info and, if it's not found, try
    the local machine's host table as a fall back.

    Advice: if you're not using NIS or DNS, SunInstall probably put
    the right version in. If you are, ensure that hosts and passwd
    come from the network. However, many of the other services
    seldom if ever change.  When was that last time *you*
    added a line in /etc/protocols? If your workstation has a local
    disk, it may be better to have programs on your machine look up
    these services locally, so use "files".

    Terminology: Sun worried over the term "resolver", which
    technically means any "get info" routine (getpwent(3),
    gethostbyname(3), etc), but is also specifically attached to
    the DNS resolver.  Therefore they used the term "source" to
    mean the things after the colon (files/DNS/NIS/NIS+) and
    "database" to mean the thing before the colon
    (passwd/group/hosts/services/netgroup etc).

    A complete discussion can be found in nsswitch.conf(4).

4.3) What does [NOTFOUND=return] in nsswitch.conf mean?

    Type "man nsswitch.conf" for more info.  There is too much
    detail to summarize here.  Briefly, [NOTFOUND=return] means
    that the name service whose entry it *follows* should be
    considered authoritative (so that if it's up and it says such a
    name doesn't exist, believe it and return instead of continuing
    to hunt for an answer).

*4.4) Can I run a nis/yp server under Solaris 2.x?

    Yes, you need the Solaris network transition kit available from
    Sun.  However, his kit does not include the securenets patch.
    Patch 101363-08 supposedly fixes this.  This patch includes
    *all* of the nskit, so there's no need to get more than just the
    patch.

4.5) Can I run NIS+ under Solaris 1 (SunOS 4.1.x)

    Sort of, with the NIS+ server implementation for Solaris 1.x
    that comes on the Solaris 2.x CD.  This is a server side only
    implementation and requires NIS+ to run in YP compatibility
    mode.

4.6) With NIS+ how do I find out which machine a client is bound to?

    Nis+ clients do not hard bind to nis+ servers in the same
    way that nis clients bind to nis servers. The clients have a
    list of nis+ servers within the cold-start file. When they need
    to do a lookup they do a type of broadcast called a "manycast"
    and talk to the first server that responds. This way they can
    be sure to use the lightest loaded server for the request.

4.7) Ypcat doesn't work on the netgroup table on a NIS+ server, why?

    Yes, that is a known problem.  The only operations allowed from
    a NIS client side on the netgroup table are the ypmatches, but
    not ypcat (i.e. no support for yp_first(), yp_next() or
    yp_all() calls).  The netgroup table is kind of unique in
    this.  The reason for this is that the netgroup table format
    changed quite significantly in NIS+ and the NIS+ server would
    take a big performance hit in converting the netgroups table to
    YP (key-value) format.

4.8) Why is rpc.nisd such a memory pig according to ps?

    The good news is that it's not memory OR swap space you're
    being shown by 'ps'.  Instead it's showing you the process
    ADDRESS space which includes 256 MB of address space reserved
    for the NIS+ transaction log.  Given the cost of moving things
    around in memory and the fact that we have 4 GB of address
    space to play with it, this is a good idea.  You've just got to
    stop thinking small.  THINK BIG.  It's only 1/16th of the total
    process address space being used.  And if you ever exceed the
    256 MB size of the transaction log you're doing something VERY
    wrong.

4.9) Why is Xsun such a memory pig, especially on the SX?

    Ps counts the mappings for the framebuffer as memory.
    Especially on the SX where a number of different mappings
    of the device address space is used to optimize
    access this can cause large amounts of memory, but not
    physical memory, to be mapped and shown by ps.

4.10) How do I tell my NIS+ server to service DNS requests from
    4.x clients?

    Start rpc.nisd with the -B switch.  This can be done editing
    the server's /etc/init.d/rpc file and change 'EMULYP="-Y"' to

	    EMULYP="-Y -B"

+4.11) How can I have multiple addresses per interface?

    Solaris 2.x provides an undocumented feature in ifcofnig that
    allows having more than one IP address per interfaces.

    Syntax:

	ifconfig IF:N ip-address up

    where "IF" is an interface (e.g., le0) and N is a number between 1 and
    255.  Removing the pseudo interface and associated address is done
    with "ifconfig IF:N 0.0.0.0 down".


5. TROUBLE SHOOTING

5.1) The Solaris 2.x application XX fails with a mysterious error condition.

    Try truss(1).  truss -f -o file cmd args ...
    will put a trace of all system calls in "file".
    This often helps as a first step in diagnosing certain
    failure modes, such as insufficient permissions on file etc.

5.2) Why can't I run Answerbook on a standalone machine?

    This is a bug in openwindows.  Using xhost + or starting
    openwin -noauth works around this problem.  This is
    only recommended for stand-alone machines with no dial-in
    users.  [ S 2.3 ]

5.3) Why can't I run filemgr, I get ``mknod: permission denied''?

    This is a symptom of a bug in filemgr in Solaris 2.3
    Either apply patch #101514 or run the following commands
    at system start-up:
	     mkdir /tmp/.removable
	     chmod a+rwxt /tmp/.removable

5.4) Why do I get isinf undefined when linking with libdps?

    That's a bug in libdps.  Sun compiles and links its software
    with its own compilers.  The isinf() function is shipped with
    the SunPRO compilers, but not defined in any Solaris 2.x library.

    A workaround exists, and consists of adding the following to
    your program:

    #include <ieeefp.h>

    int isinf(double x) { return !finite(x) && x==x; }

5.5) I can't get PPP to work between Solaris 2.3 and other platforms.

    The PPP shipped with Solaris 2.3 doesn't interoperate with
    other PPP implementations.  Patch #101425 fixes this.

5.6) Using compat mode for passwd doesn't work in 2.3?

    You need patch #101448.

5.7) Why do I get __builtin_va_alist or __builtin_va_arg_incr undefined?

    You're using gcc without properly installing the gcc fixed
    include files.  Or you ran fixincludes after installing gcc
    w/o moving the gcc supplied varargs.h and stdarg.h files
    out of the way and moving them back again later.  This often
    happens when people install gcc from a binary distribution.
    If there's a tmp directory in gcc's include directory, fixincludes
    didn't complete.  This can happen when you run fixincludes in
    the background w/o redirecting I/O.

    Another possible cause is using ``gcc -I/usr/include.''

5.8) My machine hangs during the boot process.  It seems related to ps.

    When the system boots, the first invocation of ps will try to
    recreate /tmp/ps_data.  To this end ps scans the /dev tree.
    Under some circumstances, a loop exists in /dev and ps will
    run forever.  Most of the time this loop is caused by the symbolic
    link /dev/bd.off.  While this link usually points to /dev/term/b,
    it sometimes get truncated and points to /dev instead.

    Fix: rm -f /dev/bd.off; ln -s /dev/term/b /dev/bd.off

    Use truss(1) to determine whether this is real the cause of your
    problem.

5.9) Syslogd doesn't seem to log anything.

    Make sure you have /usr/ccs/bin/m4 installed.  It's in
    package SUNWbtool.

    Other causes are bugs in Solaris 2.3 and various revisions of
    patches.  E.g., syslogd is broken in all 101318 patches
    between level -42 and -50.  It works again in 101318-54.

5.10) I get ``Invalid client credential'' when mounting filesystem on
    Solaris client from non-Sun fileserver.

    Some vendors still ship a version of RPC/NFS that allows at
    most 8 groups in the client credentials.  Root on Solaris is by
    default in 10 groups.  As a result, the Solaris 2.x mount
    command will send AUTH_UNIX credentials that are too big to
    cope with for the remote mount daemon resulting in the ``Invalid
    client credential'' error.

    Workaround: put root and all your users in 8 or less groups.
    NOTE: You must logout and login again for changes in the number
    of groups to take effect. (or exit root's shell and re-su)

+5.11) After upgrade to 2.4, ls on NFS mounted directories hangs.

    In starting with Solaris 2.4, a kernel workaround to limit
    NFS readdir requests to 1024 bytes was disabled by default.
    This breaks interoperability with buggy old NFS implementations
    (such as SunOS 3.2, Ultrix and possibly NeXT)

    There are two workarounds.  The first one works and is:

	mount all filesystems from such servers with rsize=1024.

    The second one, which requires a patch for bugid #1193696 is:

    Edit /etc/system and add:

	set nfs:nfs_shrinkreaddir = 1

    and reboot.

+5.12) After installing patch 101945-xx, I have NFS problems (ksh looping)

    Patch 101945-17 introduced an bug in the NFS client code that makes
    that programs using NFS locking will sometimes go in an
    interruptable read.  (I.e., you can kill the program that hangs)

    Truss will show the program sleeping in read(2) while top
    will show it eating CPU.  The ksh seems to have this quite
    a lot.  There's also a lot of network traffic.

    Workaround: mount NFS filesystems with "noac", but this costs
    performance.

5.13) I messed up /etc/system, now I can't boot.

    Boot with -as.  The kernel will ask you all sorts of questions,
    including the name of the system file.  Use the previous
    /etc/system file or specify /dev/null.

5.14) The /etc/path_to_inst file is corrupted, I can't boot.

    Boot with -a and specify /dev/null as path_to_inst file.

5.15) TCP/IP connections time out too soon, especially on slow links.

    The tcp/ip abort interval in Solaris 2.x is too short,
    the default value is 2 minutes.  The result is that when an
    ACK isn't received in *2* minutes, the connection is closed.
    This is most often seen by sendmail, which will log

	sendmail: SYSERR: collect: read timeout on connection from ...

    You can fix this by running following command which increases
    the timeout to 8 minutes (unit is millisec), which is the
    Solaris 2.4 (and patched 2.3 default)

    /usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval 480000

    This command should be placed in a script rc2.d script. (See 3.14)

    (See 5.16 for another possible cause)

*5.16) Solaris 2.x can't set up any TCP/IP connections to certain hosts.

    Solaris 2.x sets the don't fragment bit on all packets it send
    as part of MTU path discovery.  The Solaris 2.x implementation
    is RFC compliant, but the MTU path discovery protocol will
    fail when there are broken routers in the path.
    Typical symptom is not being able to connect from a
    Solaris 2.x hosts but having no trouble from other hosts or
    being able to start a TCP/IP connection but not move any
    significant amount of data.

    /usr/sbin/ndd -set /dev/ip ip_path_mtu_discovery 0

    (See also 5.15)

    Please note that Solaris 2.x will still send large packets over
    such links but without the don't fragment bit set.  On a number of
    occasions, I've come accross links that don't properly handle
    such packets.  They're not fragmented, they're dropped instead.

    So if the above fix doesn't work you can resort to the following
    drastic measure which negatively impacts network performance:

    /usr/sbin/ndd -set /dev/tcp tcp_mss_max 536

    536 is the standard packet size that is guaranteed to work by virtue
    of the fact that most system will communicate outside the local
    net with packets that big.  If the connection then starts to work,
    it's time to find the largest value that works.

    It's also worth mentioning that the "ip_path_mtu_discovery" needs
    to be applied at both sides of a connection to fully work, applied
    at one side it will only affect outgoing large packets.  (I.e.,
    downloads from the site will succeed but uploads from a other
    Solaris 2.x machine w/o the workarounf applied may still fail). The
    "tcp_mss_max" workaround need only be applied at one side.

    If you need the "tcp_mss_max" workaround for some sites,
    there a problem on the link between you and those sites.
    Get it fixed.

5.17) When reading mail on non-Solaris clients of a Solaris mail
    server, or with non-Solaris mail readers, some messages get split
    into multiple messages.

    Solaris 2.x uses the "Content-Length:" header to tell the MUAs
    where messages should be split.  Unfortunately, no-one else
    understands this convention.  Instead, the old convention, ``split
    on "From " lines'' is used most of the time.  Those mail readers
    expect extra lines with "From" to be escaped with ">".

    Workaround: add "E" to the mailerflags of the local mailer.
    Edit /etc/mail/sendmail.cf on your Solaris machines, add E to
    F= on the line that reads:

    Mlocal,       P=/bin/mail, F=flsSDFMmnP, S=10, R=20, A=mail -d $u

    so that it becomes:

    Mlocal,       P=/bin/mail, F=EflsSDFMmnP, S=10, R=20, A=mail -d $u

+5.18) Mailx/Mail often send reply to wrong user or show wrong sender.

    Mailx/Mail use UUCP from line to determine sender, it should use
    the From: header only.  To achieve this you can use the undocumented
    "from" mail variable in your .mailrc:  "set from".

    To make this the default behaviour, add "set from" to
    /etc/mail/mailx.rc.

5.19) One of my users can't login (one some machines).

    In the shadow table/file/map there is a field that indicates how
    long an account may be inactive before it is expired.  On login,
    the entry in /var/adm/lastlog, the inactive expire time and the
    current date are compared.  If the system determines that the user
    is expired, he will get "Login incorrect", indiscernible from a
    normal incorrect login.  The fix is changing the user's shadow
    entry.

5.20) My clients with remote /var (/var/adm) partitions won't boot.

    Remote, but unshared filesystems, such as /, /var, /var/adm, etc
    should be mounted with the llock option.  Solaris 2.x does this
    automatically for remote /, but not for remote /var or /var/adm.
    If you don't specify llock, the system will hang when it tries
    to do stuff to the *[wu]tmp files, early in the boot process.

    Workaround: Add the (undocumented) llock option to the mount
    options for /var and/or /var/adm.  (It should be fixed in
    /etc/rcS.d/S70buildmnttab.sh)

5.21) Vacation doesn't work reliably in a mixed Solaris/SunOS environment.

    Vacation was moved from /usr/ucb (in SunOS 4.x) to /usr/bin.
    Unfortunately, the full pathname must be specified in your .forward.

    Workaround: add a link to /usr/ucb/vacation in /usr/bin on SunOS 4
    machines, and add a link to /usr/bin/vacation in /usr/ucb on SunOS 5
    machines.

5.22) I have a lot of <defunct> processes.  How do I get rid of them?

    In Solaris 2.3 (and presumably earlier) there is a bug in the
    pseudo tty modules that makes them hang in close.  This causes
    processes to hang forever while exiting.

    Fix: Apply patch 101415-02 (for 2.3).

5.23) I get /dev/ptmx: No such device when logging in.

    You need to increase the number of pseudo ttys.

    If you also have a lot of <defunct> processes, you may
    be hit by a bug in the OS.  (See 5.22)

5.24) ld bails out with msync errors.

    You probably use a Cray as fileserver.  It doesn't support all
    NFS operations ld want to perform.  Install the folowing patch:
    101409-04: SunOS 5.3: Jumbo linker patch

    [ Solaris 2.3 ]

5.25) su responds with "Sorry" and doesn't prompt for a password.

    Su won't run under a shell compiled under SunOS 4.1.x.
    Recompile your shell (tcsh/bash) under Solaris 2.x.

*5.26) Why can't I install 2.4 from a non-Sun CD while I could do so wth 2.3?

    Several changes were made to the "sd" driver between 2.3 and 2.4.
    In particular, the code that resets the drive to the 512 blocksize
    is no longer called in the case of a data overrun. Accordingly, it
    is not currently possible to install 2.4 from a local non- Sun
    CDROM drive. Your best bet for the short term may be to either
    borrow a SunCD (locally or maybe from your Sun Rep) or to mount the
    CD remotely on a machine that is already up and running and can
    handle your non-Sun CD-ROM, and perform a network installation.

    This is not a problem for non-SPARC versions of Solaris 2.x

    CDROMs that have been modified to use a 512 byte blocksize by default
    will work fine.

5.27) ifconfig can't find my network interface

    Only network devices configured with an address at boot
    are visible to ifconfig (i.e., if /etc/hostname.IFN exists).
    To make a interface visible to ifconfig do:

	ifconfig ifN plumb

5.28) I have an application that compiled fine, but when I run it I get:
    fatal: libfoo.so.2: can't open file: errno=2

    You need to add -R<wherethelibraryis> to the link command line.
    E.g.,:

	cc -L/usr/openwin/lib -R/usr/openwin/lib xprog.c -lX11

5.29) Motif programs dump core almost immediately.

    You must specify the motif library on the command line before other
    X libraries.

    WRONG:
	cc .... -lXt -lXm
    RIGHT:
	cc .... -lXm -lXt

+5.30) cc complains that "language optional software package not installed"

    There is no C compiler included in Solaris 2.x.  The /usr/ucb/cc script
    you are executing is a wrapper for the SunSoft C compiler which
    calls the native C compiler with the /usr/ucb includes and libraries.
    You need to get yourself a C compiler.  Alternatively,
    you may have forgotten to put the proper link from /usr/ccs/bin/ucbcc
    to /opt/SUNWspro/SCxxxx/cc in place. See also 6.1.

+5.31) thr_create and other thread functions always return -1

    You must put -lthread on the link command line.  If you also
    put -lc on the link command line, -lthread should go before
    -lc.

+5.32) Solaris 2.4 seems to have a kernel memory leak.

    There are two possible causes for this kernel memory leak.

    There's a bug in the volume management device driver that when
    unloaded leaks memory: fix with patch 101907-05.

    The NFS client cache will cache to much.  A simple workaround is to
    add ``set nrnode = 1000'' to /etc/system and reboot.
    You may want to make this larger or smaller depending on how much
    memory you have.  About 20-30 rnodes per MB of memory is a good
    starting point.

    A good rule of thumb is about 20-30 rnodes per MB of memory.


6. SOFTWARE DEVELOPMENT

6.1) Where is the C compiler or where can I get one?

    Where have you been? :-) Sun has dropped their old K&R C
    compiler, supposedly to create a market for multiple compiler
    suppliers to provide better performance and features.  Here
    are some of the contenders:

    1) SunPro C: [URL: http://www.sun.com/sunsoft/index.html]

    SunPro, SMCC, and various distributors sell a new
    ANSI-standard C compiler on the unbundled (extra cost)
    SPARCcompiler/SPARCworks CD-ROM.  There are some other nice
    tools there too, like a "make tool" and a visual diff
    (interactive diff).

    You have to license and pay per concurrent user.

    2) Cygnus GCC: [URL: http://www.cygnus.com/]

    Cygnus Support and the Free Software Foundation make the GNU C
    compiler for Solaris, a free software product.  Source code
    and ready-to-run binaries can be installed from the CDware CD
    (Volume 4 or 5).

    Like all GNU software, there are no restrictions on who can
    use it, how many people can use it at a time, what machines it
    can be run on, or how many copies you can install, run, give
    away, or sell.

    Cygnus sells technical support for these tools, under annual
    support contracts.

    The Cygnus distribution includes:
    gcc (ansi C compiler), gdb (good debugger), byacc (yacc repl),
    flex (lex repl), gprof, makeinfo, texindex, info, patch,
    cc (a link to gcc)

    The Cygnus compiler on uunet is starting to show its age a
    bit.  If you want to compile X11R5, you can get the latest
    version of GCC in source code, from the usual places
    (prep.ai.mit.edu or one of the many mirrored copies of it).
    Build and install that compiler using the Cygnus gcc binaries.
    Or get tech support from Cygnus; they produce a new version
    for their customers every three months, and will fix any
    bug you find.

    3) Gcc.

    Gcc is available from the GNU archives in source and binary
    form.  Look in a directory called sparc-sun-solaris2 for
    binaries.  You need gcc 2.3.3 or later.  You should not use
    GNU as or GNU ld.  Make sure you run just-fixinc if you use
    a binary distribution.  Better is to get a binary version and
    use that to bootstrap gcc from source.

    GNU software is available from:

	    prep.ai.mit.edu:/pub/gnu
	    gatekeeper.dec.com:/pub/GNU
	    ftp.uu.net:/systems/gnu
	    wuarchive.wustl.edu:/mirrors/gnu
	    nic.funet.fi:/pub/gnu

    4) Info on Apogee, Lucid C, etc will be added if you send us some.

6.2) What about the linker, the assembler and make?

    Solaris ships with everything you need, except for the compiler.
    All this stuff lives in /usr/ccs/bin and /usr/ccs/lib.
    If you still can't find it, make sure you have the following
    packages installed on your system:

	for tools (sccs, lex, yacc, make, nm, truss, ld, as):
	    SUNWbtool, SUNWsprot, SUNWtoo
	for libraries & headers:
	    SUNWhea, SUNWarc, SUNWlibm, SUNWlibms
	for ucb compat:
	    SUNWsra, SUNWsrh

6.3) Where has ranlib gone?

    The functionality provided by ranlib in SunOS 4.1.x is now
    merged into ar.  It is no longer necessary to run ranlib
    on archive libraries.  Fix makefiles that require ranlib
    by replacing it with "/bin/true".

6.4) What do I need to compile X11R5?

    There are several "patch kits" for X11R5 under Solaris 2.1.
    Most of them require gcc 2.3.3 or later and you must have
    run "fixincludes" when you install the gcc software.

    The recommended patchkit is R5.SunOS5.patch.tar.Z available
    from ftp.x.org:/R5contrib.  It works with gcc (2.3.3 or later)
    and SunPRO C.

    X11R6 compiles out-of-the-box on Solaris 2.3.

6.5) I can't compile X11R6 on Solaris 2.4

    There are several possible problems when compiling X11R6 on Solaris 2.4:

    The compilation of xc/programs/Xserver/Xext/shm.c will fail with
    a redefinition of shmat().  Comment out the offending defintion
    near line 66 in that file.

    If you use SC 2.0, you'll have to add -D__sparc to the 
    StandardDefines in sun.cf line 146.

    See also 6.6

6.6) X11R6 on Solaris 2.4 won't run.  Xinit dies with "User Signal 1".
Xterms won't die.

    Some changes in libc.so and libthread.so break the way libthread is
    linked with libX11.so.  Apply the following patch and rebuild
    libX11.so.  Remember to change OSMinorVersion to 4 as well.
    Another symptom is xterms staying around in a frozen state after
    exiting the inferior shell process.

    Note that you must reinstall the X libraries with "make install"
    before xterm works right.

    For multithreaded X to work it necessary to install patch
    101925-02 to fix problems in header files [2.4].  You need
    to reinstall gcc or re-run just-fixinc after installing that
    patch.

    *** xc/config/cf/sunLib.tmpl.org	Sat Apr  9 01:15:25 1994
    --- xc/config/cf/sunLib.tmpl	Wed Jan 11 10:59:03 1995
    ***************
    *** 37,44 ****
    --- 37,46 ----
      
      #else				/* else it's Solaris */
      
    + #if OSMinorVersion < 4
      #if ThreadedX
      #define SharedX11Reqs -lthread
    + #endif
      #endif
      #define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
      #define FixupLibReferences() /**/

6.7) I get undefined symbols when compiling R6 in Solaris 2.2.

    Solaris 2.2 doesn't have the full thread support required
    by X11R6.  Compile R6 without multi-thread support or
    upgrade to 2.3 or later.

6.8) I can't get perl 4.036 to compile or run.

    Run Configure, and use the solaris_2_0 hints, *don't* use
    the solaris_2_1 hints and don't use the config.sh you may
    already have.  First you must make sure Configure and make
    don't find /usr/ucb/cc.  (It must use gcc or the native C
    compiler: /opt/SUNWspro/bin/cc)

    Some questions need a special answer.

    Are your system (especially dbm) libraries compiled with gcc? [y] y

    yes: gcc 2.3.3 or later uses the standard calling
    conventions, same as Sun's C.

    Any additional cc flags? [ -traditional -Dvolatile=__volatile__
    -I/usr/ucbinclude] -traditional -Dvolatile=__volatile__
    Remove /usr/ucbinclude.

    Any additional libraries? [-lsocket -lnsl -ldbm -lmalloc -lm
    -lucb] -lsocket -lnsl  -lm

    Don't include -ldbm, -lmalloc and -lucb.

    Perl 5 compiled out of the box.

6.9) I can't get sockets to work with perl.

    Some of the socket constants have changed.  E.g., SOCK_STREAM
    now has a value of 2, whereas SunOS 4.x uses a value of 1.

6.10) I have problems compiling MH 6.8.3

    The MH config file for Solaris that comes with MH 6.8.3 should work
    OK, but there's some other problems: One of the Solaris 2.x headers
    conflicts with mhn.c and inc doesn't know how to seperate messages
    based on the Content-Length header.  A fix for both problems can be found
    in:

    ftp.fwi.uva.nl:/pub/solaris/mh-6.8.3-diff

6.11) I can't get XV 3.x to compile or run correctly.

    You need to get xv-3.x from ftp.cis.upenn.edu:/pub/xv.
    Don't use xv-3.01 from ftp.x.org.  The latest version, xv-3.10,
    compiles fine w/o any of the ucb stuff.
    
6.12) What happened to NIT? What new mechanisms exist for low-level
    network access?

    See man page DLPI(7). Try NFSWATCH 4.1 for sample code using DLPI.
    It is available by ftp from:
	harbor.ecn.purdue.edu:/pub/davy/nfswatch4.1.tar.Z
    and
	gatekeeper.dec.com:/pub/net/ip/nfs/nfswatch4.1.tar.Z

    Better yet, FTP the paper "How to Use DLPI in Solaris 2.x" by
    Neal Nuckolls of Sun Internet Engineering.  Look in
    these FTP directories:
    opcom.sun.ca:/pub/drivers/dlpi

    ftp.ui.org:/pub/osi/{dlpi,npi,tpi}.ps
    [ It appears that this site no longer exists, where did it move to? ]
    [ someone has found these, ill put a reference in later ]


6.13) Where are all the functions gone that used to be in libc?

    The C library has exploded.  The manual page may give an
    indication where to find a specific function.

    Those libraries are essentially split over two directories:

	    /usr/lib /usr/ccs/lib.

    Important libraries:

	/usr/lib:
	    libsocket       - socket functions
	    libnsl          - network services library

	/usr/ccs/lib:
	    libgen          - regular expression functions
	    libcurses       - the SysVR4 curses/terminfo library.

    See Intro(3) for more details.

6.14) I'm still missing some functions: bcopy, bzero and friends.

    They are in /usr/ucblib/libucb.so.  The b* functions
    are replaced with the ANSI-C equivalents.  Look
    in the Solaris porting FAQ for more details.

6.15) Can I use the source compatibility package to postpone porting?

    Not really.  The Source code compatibility package is
    compatible with BSD 4.2, not SunOS 4.1.x.  The consensus
    is that the library is broken beyond usability.
    If you use libucb to pick up some functions you need, it
    is often best to specify it *after* all other libraries and
    after libc with:

	    -lc -L/usr/ucblib -R/usr/ucblib -lucb

    or preferrably:

	    -lc /usr/ucblib/libucb.a

6.16) Why doesn't readdir work?  It chops the first two characters of
    all filenames.

    You're probably linking with libucb and didn't read question
    6.15.  (Readdir in libucb.so wants you to include sys/dir.h,
    but many SunOS 4.1.x programs included <dirent.h>, consequently,
    you're mixing native <dirent.h> struct dirent with libucb
    readdir().  The symptom of this mixup is that the first two
    characters of each filename are missing.  Make sure you use the
    native compiler (default /opt/SUNWspro/bin/cc, which may not be in
    your PATH), and not /usr/ucb/cc.

6.17) Why do I get undefined symbols when linking with curses/termcap?

    It is easy to mixup the BSD libcurses and the SVR4 libcurses.
    One lives in /usr/ucblib, the other in /usr/ccs/lib, when
    you've installed SUNWarc.  Note that when you specify:

	    -L/usr/ucblib -lucb -L/usr/ccs/lib -lcurses

    you will pick the *ucb* version of libcurses, not the SVR4
    version.  If you always put libucb last, as recommended in the
    previous question, you will have no such problem.

*6.18) Where are the Motif includes and libraries?

    Starting with Solaris 2.4, the package SUNWmfrun is included with
    the base OS.  It is installed under the directory /usr/dt,
    where all the CDE stuff will appear (dt stands for desktop).

    There are no Motif imake templates nor is mwm shipped with the
    base OS yet.

    Remember that you must link with -R/usr/dt/lib.

+6.19) Traceroute to Solaris 2.x machines gives many timeouts.

    Solaris 2.4 and later (and Solaris 2.3 w/ high rev kernel jumbo
    patches) limit the number of ICMP error message to one
    per 500 milliseconds.  To switch off this feature, use:

	/usr/sbin/ndd -set /dev/ip ip_icmp_err_interval 0


7. ACKNOWLEDGEMENTS

    Most of this material is either written by me or sent to me
    directly. Some of it is cribbed shamelessly from USENET postings
    in several groups.

    Thanks to all people who contributed to this FAQ,
    you know who you are.  The list is too long to be included
    in this FAQ.

--- End of Solaris 2.x FAQ -- Maintained by Casper Dik <Casper.Dik@Holland.Sun.COM> ---


From csus.edu!csulb.edu!nic-nac.CSU.net!newsserver.sdsc.edu!news.cerf.net!mvb.saic.com!news.mathworks.com!news.kei.com!news.ece.uc.edu!babbage.ece.uc.edu!montjoy Mon Sep 18 16:49:31 1995
Path: csus.edu!csulb.edu!nic-nac.CSU.net!newsserver.sdsc.edu!news.cerf.net!mvb.saic.com!news.mathworks.com!news.kei.com!news.ece.uc.edu!babbage.ece.uc.edu!montjoy
From: montjoy@ftp.ece.uc.edu (Rob Montjoy)
Newsgroups: comp.sys.sun.admin,comp.sys.sun.misc,comp.unix.solaris,comp.answers,news.answers
Subject: FAQ: Sun Computer Administration Frequently Asked Questions
Supersedes: <comp-sys-sun-admin_808100349@babbage.ece.uc.edu>
Followup-To: poster
Date: 18 Sep 1995 13:35:44 GMT
Organization: University of Cincinnati
Lines: 3357
Sender: montjoy@ftp.ece.uc.edu (Rob Montjoy)
Approved: news-answers-request@MIT.Edu
Distribution: inet
Expires: 16 Oct 1995 13:35:41 GMT
Message-ID: <comp-sys-sun-admin_811431341@babbage.ece.uc.edu>
Reply-To: Rob.Montjoy@UC.EDU
NNTP-Posting-Host: thor.ece.uc.edu
Summary: Answers to questions which appear in comp.sys.sun.*
Keywords: Sun Computer Admin FAQ
Originator: montjoy@thor.ece.uc.edu
Xref: csus.edu comp.sys.sun.admin:64532 comp.sys.sun.misc:24433 comp.unix.solaris:58123 comp.answers:14278 news.answers:53118


Archive-name: comp-sys-sun-faq
Last-modified: 1995/9/18
Version: 1.9.16

Frequently Asked Questions for Comp.sys.sun.admin

Last update Sept 18 1995

This is a collection of common questions posted to the comp.sys.sun.*
hierarchy.

Please send corrections or submissions to "Rob.Montjoy@UC.EDU". Mark
the Subject as Sun FAQ. Remember lets make this a better FAQ and
that requires submissions and corrections so if you have
an answer to a nontrival question send it to me.

This FAQ is available from ftp.ece.uc.edu (129.137.8.118)
in the /pub/sun-faq/FAQs. Get the file sun-faq.general. The sun-faq
directory is also available from gopher.ece.uc.edu(129.137.8.118).
Many other related FAQ's are in this directory too.

Other FAQ's that you should check are as follows:

	Sun Hardware FAQ edited by James W. Birdsall <jwbirdsa@picarefy.com>
	Sun Managers FAQ edited by John DiMarco  <jdd@cdf.toronto.edu>
	Solaris2.x FAQ edited by Casper Dik <casper@fwi.uva.nl>
	   	An HTML version is available from
			http://www.fwi.uva.nl/pub/solaris/solaris2.html

	Solaris2.x Porting FAQ by David Meyer <meyer@ns.uoregon.edu>
	Celeste's Guide to Terminals & Modems under Solaris 2.x edited
	 by Celeste Stokely <celeste@xs.com>

I try to keep these up to date copies of all these files in 
	~ftp/pub/sun-faq/FAQs on ftp.ece.uc.edu (129.137.8.118)


Notes:	As of this writing almost all of these questions apply
      	to SunOS versions up to 4.1.4. SunOS 5.x questions
      	will start appearing gradually as more people start
      	installing SunOS 5.x(Solaris 2.x). 

	I am looking for suggestions on how to split this FAQ into
	sections. These sections should follow the comp.sys.sun.* 
	newsgroups(app, hardware, admin, misc, and wanted) and
	section on bettering Sun Security. Basically, what
	will end up with is a FAQ on each subject. Each
	FAQ will have a Solaris1.x Section, a Solaris2x section,
	and a section common to both.

	I will probably need some volunteers to help coordinate
	this undertaking.. Send suggestion to the usual address.

	Some of these questions are out of date and need updating
	when I get the time(or maybe a little birdie will do it for
	me) I will update them. Thanks.


This article includes answers to the following questions, which are loosely
grouped into categories. Questions marked with a '+' indicate questions
new to this issue; those with significant changes of content since the 
last issue are marked by '!'.


				Questions

 1) 	How to get DNS working when not running NIS ?
 2)!  	How to get DNS to be used when running NIS ?
 3) 	How to properly setup NFS mounting of /var/spool/mail ?
 4)   	Can I use AnswerBook under X11R5?
 5)     What does "NFS write error X" mean?
 6)! 	How do I find the amount of memory installed or other
	system configuration information?
 7)     Where can I get a version of ftp that does logging?
 8) 	Where can one get SunOS patches? Where can I get patch 10xxxx-xx?
 9)    	How to setup Openwindows Calendar Manager in a distributed
	environment?
10)  	Why does the talk command fail between SunOS
	and any other manufacturer's equipment (like DEC)? 
11)   	How do I setup "anonymous" ftp?
12)!    How come yppasswdd does not automatically update the yp maps?
13)     What does NFS getattr failed/RPC: Authentication error mean?
14)     Why did my Quantum 105 megabyte hard disk stop working?
15)     Can I replace the 105 megabyte internal drive with a higher capacity
        model?
16)     How can I turn my Sun3 into an X-Terminal?
17)	Why is my console login prompt garbled or in some strange 
	alphabet after upgrading to 4.1.3?
18)  	Why are the "random" missing services at boot time or any other time
	(even though the services are in the /etc/services file or NIS map)?
19)!	Where can I get Data Certified tapes for 4-mm or 8-mm tape drives 
	(at reasonable price)?
20)   	What is "archie"?
21) 	How do I synchronize time on my Network?
22)  	What is the phone number for Sun Express and other numbers of importance
	to Sun Users? 
23)  	How do I join sun related  mailing lists?
24)  	How do I use Mac floppies in a SUN drive?
25) 	How can I transfer floppies back and forth between MS-DOS and Sparc?
26)	Why is my biff not "biffing" when using biff in a networked
	environment?
27) 	How do I disable L1-A(STOP-A) or re-map it?
28)  	Why are all the local users "unknown" when using sendmail under 4.1.2?
29) 	What are the dump parameters for an exabyte 8200 or 8500?
30)! 	What are the guidelines for setting up swap space ?
31)	What are the general guidelines for maxusers to be set to on machine X?
32)	What does "zsN: silo overflow" mean?
33)	What does the "N" in "zsN: silo overflow", and other "zsN" messages,
	signify?
34)	How do I set up a Sun serial port both for dial-in and dial-out?
35)	I can't get my Sun, running SunOS 4.1[.x], to establish a UUCP
	connection to some non-Sun machine; it won't log in.  What's wrong?
36)! 	Do the Sun serial ports support RTS/CTS flow control?
37)	How do I specify that a serial port should, or should not, ignore the
	state of the Carrier Detect line?
38)	I put in a new "termcap" entry, or updated an existing "termcap" entry,
	for a terminal, but "vi" doesn't seem to know about my change.  Why?
39)	I have a Type 5 keyboard, and find its placement of the Caps Lock,
	Control, and Esc keys inconvenient.  How do I remedy this?
40)  	How can I move keys around on a Sun keyboard, for example exchanging the
	Caps Lock and Control keys on a Type 5 keyboard?
41)   	My Sun doesn't have an ANSI C compiler.  How can I get one?
42)  	How do I change the time zone setting on my machine?
43)	I'm getting messages that say one of the following:
	 	proc: table is full	and/or
        	file: table is full	and/or
        	dquot: table is full 	and/or
        	inode: table is full
     	What do these errors mean, and how do I fix the problem?
44)  	Blank at present.
45)!  	How do I run X11R5 applications under Openwindows or Openwindows 
	applications under X11R5?
46)  	Where do I find a "restricted" shell for SunOS?
47)!   	Will SunOS 4.1.x binaries run under SunOS 5.x?
48) 	When I try to compile MITs X11R4 applications under Openwindows 3.0,
	I get the following "undefined" symbols(_get_wmShellWidgetClass, and
	_get_applicationShellWidgetClass). What is the Problem?
49)!   	What is Solaris?
50)     What does the "nres_gethostbyaddr !=" error mean?
51) 	How come my mouse only works in the vertical(or horizontal) direction,
        how do I repair it?
52) 	After rebuilding the shared library libc it get some or all the 
	following undefined symbols: dlsym, dlopen, dlclose mbstowcs_xccs,
			mbtowc_xccs,wcstombs_xccs, or wctomb_xccs.
53) 	What does "No network locking on host" mean after upgrading to
	Solaris 2.0?
54) 	Does Password Aging work with NIS(YP) ?
55) 	What does "rpc.lockd: Cannot contact status monitor!" mean?
56)	How do I join the Sun User Group(SUG)?
57)    	How do I increase the number of "pseudo" terminals(ptys) ?
58)  	Where are dump and restore under Solaris 2.x?
59)  	How do I make the numeric keypad on a type 5 keyboard work with xterm?
60)   	How do I swap the CAPS LOCK and CONTROL keys on a type 5 keyboard 
	under Openwindows 3.0?
61)!   	Which Sun models run which versions of SunOS?
62)  	My rdump is failing with a "Protocol botched" message. What do I do?
63)     Table of Solaris2.x commands and their Solaris1.x equivalents?
64) 	How do I setup DNS on Solaris2.x?
65)    	Can a SPARCclassic or LX run SunOS 4.1.3?
66)  	I just restored my root partation and now I can not boot. What
	is wrong?
67)  	How do I disable/enable packet forwarding?
68)  	How do I disable the printing of banners pages?
69)  	How do I change my hostname?
70)     Table of Solaris2.x files and their Solaris1.x equivalents?
71)! 	Where can I get the BSD print spooler for Solaris2.x?	 
72)!	Where is the Solaris2.x screenblank?
73)!  	Is there a command to display the configuration of 
	currently attached SCSI devices?
74) 	My printer will not print large files(over 1-megabyte), I 
	keep getting "file to big" errors. What do I do?
75)  	I keep getting "data corruption" when using NFS over a wan,
	or slip/ppp link. What do I do? 
76) 	Does anybody know how to enable UDP checksum on NFS?
77)  	Is there a mailing list for Wabi?
78)  	Are there any public domain Multi-Vendor backup management
        systems?
79) 	How to determine the revision of SuperSPARC processor.
80) 	How do I install SunOS4.1.x by hand (off a CD)?
81)	Why won't my SUN207 (Maxtor LXT213) hard drive work in
        my SPARCstation 10/xx?
82)! 	I'm running SunOS/4.1.x and every time I try to format my
    	new 9GB SCSI disk I get "format failed" messages -- what's
    	broke, and how can I fix it?
83)!   	I can not get my new Exabyte 8505 (or others) working under
     	SunOS (or Solaris) What to do ?
84)  	The keyboard keeps stop working after exiting X or Openwin.
	What to do?
85)!  	How do I re-build the kernel under SunOS4.x?
86)  	How do I hook up a HP(or other) Desktop SCANNER?
87)!  	How do I find which process has a file open?
88)   	How do I create a partition greater than 2-gig on SunOS4.1.x?
89)   	Why do I keep having to answer the question 
	"CLEAN FLAG IN SUPERBLOCK IS WRONG; Fix?" when running fsck on
	an active filesystem?
90) 	Are dynamically linked setuid executables insecure?
91) 	How do I change the default router under Solaris1.x or Solaris2.x?
92) 	What is the difference between the Domestic vs International version
	of SunOS 4.1.x?
93) 	Where can I get the latest version of TOP?
94) 	Can I run the SX card in a Sun running SunOS4.1.x?
95) 	I just changed my shell to tcsh(or pick a favorite) and
	get  "530 User xyzz access denied" when ftping into this 
	machine. What is the problem?
96)	How do I put several dump images on one tape?
97) 	Can I "dump" the whole disk to tape in one command?
	(even with several slices/partitions)
98) 	Where do I get software for my HP JetDirect Ethernet Card?
99) 	I do not know the root password, What do I do?
100)  	Where do I find a POP server for Solaris or SunOS?
101) 	How do I clear Stale NFS Filehandles?
102)! 	How can I use the same ethernet interface for two different IP networks?
103)! 	Where do I get CAP for Solaris (or SunOS 4.1.x)?
104) 	Where do I get DOOM for Solaris (or SunOS 4.1.x)?
105)	Why does "dump/ufsdump" tell me it is rewinding the tape even
	when I specified the "no rewind" device?
106)	How can you I speed up filesystem restores and/or copies?
107)+	I just added a new device (ie harddisk) to Solaris I have rebooted
	but the system still can not find it. What do I do?







				Answers

 1) 	How to get DNS working when not running NIS ?

	Note: Solaris2.x users should see question 64..
	
        The "normal" behavior of a hostname lookup under NIS is to
        consult the NIS hosts map and then DNS (if configured). If
	you are not running NIS the system will only look in 
	the /etc/hosts file. 

	You have two options to correct this situation:

		A) Re-build the shared library version of libc with replacement
		   resolver routines which understand DNS. Resolv+ provides one
	           of the best sets of replacement routines and it is easy
		   to install. Resolv+ can be obtained from

		   	ftp.ece.uc.edu:/pub/sun-faq/Source/resolv+2.1.1.tar.Z

		   Rebuilding the shared library will not allow  statically
		   linked binaries to do name resolving and these binaries
		   will only use /etc/hosts. "Dynamically linked"
		   replacements for mount and rcp are available from

	   		ftp.ece.uc.edu:/pub/sun-faq/Source/rcp-mount.dyn.tar.Z

		   This file only contains sun4 binaries. A Sun 3 binary
		   for mount can be retrieved from

	   		ftp.ece.uc.edu:/pub/sun-faq/Source/mount.sun3.Z
		
		   To be able to rebuild shared libraries you need to 
		   install the "shlib custom" option which is available
		   with SunOS version 4.1 or greater. 

		   If you want to do it under 4.0.3 you need to get the
		   patches available from ftp.uu.net (192.48.96.9) in the
		   /systems/sun/sun-fixes directory. You will need the following
		   files: 
			lib.msg, libc_pic.a.sun3 or libc_pic.a.sun4 and
			libc_resolv.so.sun3 or libc_resolv.so.sun4

		   Make sure to get the README that cames with these files.
		   It is in the same directory.
		   
        	   You can still use NIS for other things in environment,
	           such as passwd, and group maps.

		B) Run NIS with the "hosts" maps only. If you 
		   only need DNS capability than change the "all"
		   line /var/yp/Makefile to "all:  hosts".  

		   It does not require any changes to shared libraries.
		
		   See question 2 for complete directions on how to setup
		   DNS with NIS.

	Last Updated:  January 30, 1995.
 
 2) 	How to get DNS to be used when running NIS ?

	First setup your /etc/resolv.conf file.

	Use this file as a template.

	;
	; Data file for a client.
	;
	domain		ece.uc.edu		; local domain 
	nameserver	129.137.8.118		; primary domain nameserver
	nameserver	129.137.32.101		; secondary domain nameserver 

	Where:	"local domain" is the domain part of the hostnames.
		 For example, if your hostname is "ftp.ece.uc.edu"
		 your "local domain" is "ece.uc.edu" or you could use
		"uc.edu". 

	Verify using nslookup that you are now resolving names
	via DNS. Try something like "nslookup ftp.uu.net" and
	see if you get back the IP address.

	You will need to put a copy of this resolv.conf on
	all NIS servers including slaves.

	After you have the /etc/resolv.conf setup and working do 
	the following:

	Under SunOS 4.1 and greater, at the top of the /var/yp/Makefile
 	uncomment the "B=-b" line and comment using the "#" sign the "B=" 

	If you are running 4.0.x you will need to edit the
	/var/yp/Makefile or apply the following "diff":

*** Makefile.orig       Wed Jan 10 13:22:11 1990
--- Makefile    Wed Jan 10 13:22:01 1990
***************
*** 63 ****
!                   | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
--- 63 ----
!                   | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
***************
*** 66 ****
!                   | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
--- 66 ----
!                   | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \

	Now setup NIS in the usual fashion (ypinit -m ) or if your "brave"
	and have already setup NIS just re-make the hosts map. Something
	like this should work remove /var/yp/hosts.time, cd /var/yp, 
	and type make (i.e. cd /var/yp; /bin/rm -f hosts.time ; make).

	You will need reboot the machine or restart ypserv for these changes
	to take affect.

	The manpage for ypserv incorrectly states that you need to
	start ypserv with the -d option to get DNS to work with NIS.
	The manpage is incorrect -d option is for debugging.

	If you need a copy of the NIS Makefile look in /usr/lib (NIS.Makefile).
	Or grab the Makefile from ftp.ece.uc.edu:/pub/sun-faq/Makefile.nis

	Last Updated:  July 20, 1995.

 
 3)	How to properly setup NFS mounting of /var/spool/mail ?

	On the Client machines:

		A) mount /var/spool/mail with the no attribute caching
		   option.
		
		   An example, fstab line would be the following:

		   mailhost:/var/spool/mail /var/spool/mail nfs rw,noac 0 0

		B) Use a sendmail.cf that forces all mail to be delivered
		   by the mailhost. 

		   One such file is available via anonymous ftp to 
		   ftp.ece.uc.edu. Get the file 

				/pub/sun-faq/sendmail.client.cf

		   Do not use the OR option that Sun provides. It is broken
		   in many ways.

	On the server machine:
	
		A) Setup DNS MX records pointing to the mailhost for
		   all client machines.

		B) Edit the /etc/exports file to export /var/spool/mail
		   to the mail client machines. You may want
		   to use a netgroup for this purpose.

		C) Setup the /etc/sendmail.cf on the server recognize
		   that mail to/from a client is "local".

		   One such file is available via anonymous ftp to 
		   ftp.ece.uc.edu. Get the file 

				/pub/sun-faq/sendmail.server.cf
		
	Note: 	You may want to install Berkeley sendmail instead of Suns
		stock sendmail. 



 4) 	Can I use AnswerBook under X11R5(6)?

	AnswerBook in its current form requires the Openwindows
	server. It uses the NeWS/Display Postscript extensions
	to this server to display the Answerbook files.

	To use AnswerBook under X11R5 you will need to replace the 
	docviewer program with program that calls Ghostscript to view
	these pages.  A replacement docviewer can downloaded from
	ftp.ece.uc.edu(129.137.8.118) as /pub/sun-faq/Source/docviewer.tar.gz
	This kit contains more than one  docviewer. Try using
	the one in the toplevel docviewer directory.

	This replacement docviewer does not support all the options that
 	the "real" docviewer supports such as "hypertext" links.

	To install the replacement "docviewer" you will also need 
	Ghostscript 2.4 or above and Ghostview 1.3 or above both of
 	which are available from prep.ai.mit.edu in the /pub/gnu directory.

	This replacement docviewer is reported to work with all versions
	of AnswerBook but not as well as the original :).
	

 5)     What does "NFS write error X" mean?

        You can lookup the error codes in /usr/include/sys/errno.h.

        Two common NFS error codes are 13 - "permission denied" and 70 -
        "stale file handle".

	Error code 13 can occur from incorrect /etc/exports entry. Also,
	it can occur because someone has changed the /etc/exports
	entry to disallow the client after the client has already
	been granted permission to perform this operation.

        Error code 70 occurs when the file handle on the
	NFS server changes for a particular filesystem.
	The "file handle" can be changed under the following
	circumstances:
		
		A) Installing a new drive in place of an old.

		B) Moving a filesystem from one devices to
		   another.

		C) Performing a format, newfs, dump, and restore
		   cycle. Even if to the same device.

		D) Unmounting a file system without remounting it.

		E) Unmounting a High Sierra/ISO 9660 CD-ROM and
	           mounting a different CD.

        You can usually get rid of the error by unmounting and
        remounting the filesystem in question. 

	Also, error code 70 can occur when someone removes a file 
	that a process is actively writing from a NFS client machine.

        Under SunOS 4.1, you can run "showfh" to translate the NFS
        "file handle" given in the error message into a Unix pathname.
        Beware that showfhd does a "find" on your server to get the
        filename.  "man 2 intro" will give you some more general
        information on what error codes could mean.

	You will need a patch to get "showfh" to work correctly. The patch
	id is 100371 and this patch is required for 4.1, 4.1.1, and 4.1.2.
	This patch has been integrated into 4.1.3.

 6)	How do I find the amount of memory installed or other
	system configuration information?

	You can use the "devinfo" command to find out genera information 
	about the hardware attached to your Sun. The "devinfo" command is 
        only available on desktop SPARCsystems, SPARCengine 1E(although not
        in the version used in Auspex systems), or 600MP series server only.

	Also, most clones should support devinfo.  Any machine that has an 
	SBus will probably support "devinfo"; any machine that doesn't have an
	SBus probably won't support "devinfo".

	Note that "devinfo" is called "prtconf" in SunOS 5.x. All options
	are the same.
	
	The "best" command for the job is "sysinfo". Sysinfo is public
	domain utility available via "anonymous" ftp on usc.edu in directory
	/pub/sysinfo. Sysinfo works on all Sun architectures(including Sun-3s)
        as well as many other UNIX boxes such as Ultrix, and Next. Also,
	it works on SunOS5.x machines.

	Note:  "wc -l /dev/mem" and "dd if=/dev/mem of=/dev/null" and 
               the like will *not* give the correct answer on machines 
	       where physical memory is not contiguous, such as many Suns.

	OpenWindows 3.3 and above also support the "wsinfo" command, which
	provides some of this information, in particular memory size.

	Last Updated:  August 2, 1995.



 7)     Where can I get a version of ftp that does logging?

	Get the wuarchive ftp daemon. It is available from
        wuarchive.wustl.edu (128.252.135.4) in the directory
        /packages/wuarchive-ftpd

	A version of the wuarchive ftpd daemon that compiles right out
	of the box for Solaris2.x machines can be had from
	ftp.ece.uc.edu(129.137.8.118) in the /pub/sun-faq directory.
	Remember to specify your own paths in the src/pathnames.h file.

	The stock Sun ftpd will log some information if you add the "-l"
       	flag in /etc/inetd.conf:

        	ftp stream tcp nowait root /usr/etc/in.ftpd in.ftpd -l

        Also enable syslogd by adding:

        daemon.info      /var/adm/syslog

        to "/etc/syslog.conf".


 8)     Where can one get SunOS patches? Where can I get patch 10xxxx-xx?

        Many anonymous ftp sites have partial collections of patches.
        These sites include the following:
	
	Sun sanctioned sites:
		sunsolve1.sun.com:/pub/patches/
    			via WWW http://sunsolve1.sun.com/
		sunsite.unc.edu:/pub/sun-info/sun-patches/
    		sunsite.unc.edu:/pub/sun-info/sun-patches/
    		sunsite.sut.ac.jp:/pub/sun-info/sun-us/sun-patches/
    		sunsite.doc.ic.ac.uk:/sun/sunsite-sun-info/sun-patches/

	Note: You should always attempt to find a local site before
	      using the above.

	sunsolve1.sun.com contains a collection of recommended and 
	security patches. Be sure to check out the 2.x_Recommended.tar.Z
	files which contain all the Recommended patches in  one file.
	The "Sunsites" are essentially mirrors of sunsolve.

	Support Customers:

    	Starting with SunSolve CD 2.1.2 ALL Sun patches are shipped
    	on the SunSolve CD.

    	Support customers can get all patches via ftp from Sunsolve
    	or by e-mail and query one of the online sunsolve-databases
    	on the internet.

	Some notes:	

	Do install the Recommended patches. 

	If you find a bug report it to Sun. This is the only way
	it will get fixed.

	Do not "blindly" install all patches. Sun does not always
	have time to test for possible interactions between patches.

	Do not install patches for applications that you to do use.

	Do install patches for "bugs" that are actually affecting you.

	Last Updated:  January 30, 1995.


 9)	How to setup Openwindows Calendar Manager in a distributed
	environment?

	Sun's original assumption that each user has a permanent machine 
	allocated to them is not applicable in most environments. Just as 
	users send mail to 'user' rather than 'user@machine', users want 
	to browse others user's calendars and do not care or want to know
	where the calendar is actually stored.

	Here is procedure to accomplish our goal. All calendars
	will be stored on a central server. The initial setup
	must be done on the server.

		A) Have the user login to the calendar host(calhost)
		   machine.
		
		B) Change everyone's .cm.rc file so that 
		   Calendar.DefaultCal points to user@calhost

		   calhost can be an hostname alias or an actual
		   hostname. You may want to use the alias
		   just in case you change the "calhost" later.
	
		C) Change their Access List and Permissions (under
	           Edit/Properties) to show user@client with BID (browse,
	           insert, delete) permissions for any client machine the
		   user wanted to access their calendar from.

	Notes: If you use the scheme you should not NFS mount 
	       /var/spool/calendar on the client machines.

	or

	You can install the "Proxy OpenWindows Calendar Manager", which
	is available via anonymous FTP from ftp.ece.uc.edu in
	/pub/sun-faq/proxy-cmsd.tar.Z.

	or
	
	You can install the "new cm daemon" which allows you to access
	several Calendar hosts at once. It implements the "original"
	rpc.cmsd daemon semantics(unlike proxy-cmsd) and thus all
	the features(of CM) will work as documented.  The latest source
	for this daemon was available via anonymous FTP from
	ftp.amdahl.com (129.212.11.1) in the  /pub/newcm_d directory
	but alas it is no longer but you can still get a copy from
	from ftp.ece.uc.edu as /pub/sun-faq/newcm_d-1.3.tar.Z

	As of this writing newcm is being ported to Solaris2.x.

10) 	Why does the talk command fail between SunOS
	and any other manufacturer's equipment(like DEC)? 

	SunOS has the old BSD 4.2 version of talk. The old talk
	uses "machine dependent" byte ordering. Since
	DEC has different byte order the two talks can not
	communicate(even if you use "otalk" on the DEC
	machines).
	
	Also, most vendors have the newer version of 
	talk from BSD-4.3 and this version is not compatible
	with the Sun Version(which is BSD-4.2).

	The solution is to get and install the new version
	of talk because it uses "network" byte ordering and
	it is compatible with most Vendors current talk 
	implementations.
	
	"New Talk" is available via anonymous ftp from several
	sites including ftp.ece.uc.edu. Get the file 
	/pub/sun-faq/Source/ntalk.tar.Z.   Solaris2.x users will need
	to compile this in Berkeley compatibility mode.
	
	Finally, a program called Ytalk can be used with either
	"New talk" or "Old talk" and compiles on all versions
	of SunOS(Greater than 4.x including 5.x).
	Ytalk can be obtained from ftp.ece.uc.edu. Get the file
		/pub/sun-faq/Source/ytalk-3.0.x.tar.gz

11)	How do I setup "anonymous" ftp?
	
        Read the man page ftpd(8) in the SunOS 4.x documentation, as 
        the procedure differs from vanilla BSD and most examples in 
        system administration books. 

	The "ls" binary is dynamically linked, requiring you to 
	duplicate ld.so, libc.so.* and /dev/zero in the ftp area.
	The permissions and ownership of the files within the 
        ftp area are critical to having a secure configuration.
	
	Note: For SunOS versions 4.1.2 and 4.1.3 you will need
	      to copy /usr/lib/libdl.so.* to the ftp area as well.

	You can use a "statically" linked binary from the GNU
	fileutils instead of the "dynamically" linked SunOS
	version. You can get the GNU fileutils from prep.ai.mit.edu
	in the directory /pub/gnu

	There is also a statically linked version of ls for Suns
	running SunOS 4.1.x, available via anonymous ftp from
	ftp.ece.uc.edu.  Get the file /pub/sun-faq/ls.statically-linked
	or get it from the SunOS install CD in the "tools" directory.

	A complete procedure to setup anonymous under SunOS is
	available via anonymous ftp to ftp.ece.uc.edu. Get
	the file /pub/sun-faq/anon-ftp.how-to.

	There is an _excellent_ script written by Peter N. Lewis
	(peter.lewis@info.curtin.edu.au) for setting up anonymous ftp
	located on ftp.ece.uc.edu, in the file /pub/sun-faq/anon-ftp.scrpt

12)     How come yppasswdd does not automatically update the yp maps?

        There is a bug in 4.1 rpc.yppasswdd that causes it misinterpret
        the command line arguments.  A work-around is to add the
        "-nosingle" flag (which is the default), this shifts the
        arguments over one, so "passwd" is read instead of "-m".
	Also, you should use the complete path to rpc.yppasswdd

        For example:

        /usr/etc/rpc.yppasswdd /var/yp/passwd -nosingle -m passwd DIR=/var/yp

	Note: Only use the DIR=/var/yp if your source files for passwd, group,
	      etc are in /var/yp. If they are in /etc you do not need
              to and should not specify the DIR= parameter.

	Also, you can modify the NIS Makefile to change to the location
	of the maps (ie modify DIR= in /var/yp/Makefile). Than you
	could use something like this instead of the above line:

		/usr/etc/yppasswdd /var/yp/maps/passwd -noshell -m passwd

	This assumes that all NIS text/source files are in 
		/var/yp/maps
            
        If you are running the C2 security package, you should apply
        the C2 Jumbo patch, as it fixes several problems with rpc.yppasswdd
	and rpc.pwdauthd. The patch number is

	100201-04 or greater for SunOS 4.1 and 4.1.1
	100564-06 or greater for SunOS 4.1.2 and 4.1.3

	Last Updated:  April 27, 1995.

13)     What does NFS getattr failed/RPC: Authentication error mean?

        You are probably running a pre-4.0 version of NFS and your
        username is in more than 8 groups.  There is a limit on the
        number of groups that could be represented in the rpc service
        (called NGRPS).  On pre-4.0 systems this was 8, now it is 16.
        Since many vendors other than Sun are still running old versions
        of NFS, you might see this error even if your SunOS is recent.

        Authentication errors are also caused by having secure RPC
        enabled on the client but not on the server, or by having a
        misconfigured secure RPC configuration for the user name
        generating the errors.  Beware of this problem when you are
        using the automounter, as programs (such as Sendmail) may
        silently fail when when they try to mount a directory
        and get this error.


14)     Why did my Quantum 105 megabyte hard disk stop working?

	This the now infamous Quantum drive "stickation" problem.

	If the drive is allowed to cool down(even for a short period 
	of time) the drive lubricant will congeal and prevent the disks
	platters from rotating. 

	Before you get a replacement, try lightly tapping
        the drive to loosen the lubricant. If this does not work try
	shaking and twisting the drive at the same time. One last
	thing to try is to lift the system up a couple of inches
	and drop it.

15)     Can I replace the 105 megabyte internal drive with a higher capacity
        model?

	The newer disk drives can be used without worrying about heat
	or power supply capacity problems. 

	However, older technology drives drives create more heat and draw
	more power than the 105S.  The case cooling ability and power supply
        in the SS-1 and SS-1+ are not adequate for the 210 megabyte or higher
        capacity drives possible in the SS-2.

	As long as you make sure that the drive draws no more power
	than the 105-Meg drive you should have no problems.

	Only the SPARCstation 1 and 1+ have these limitations.

16)     How can I turn my Sun3 into an X-Terminal?

        You can use Seth Robertson's Xkernel package.  It is available
        via anonymous ftp from ftp.ctr.columbia.edu (128.59.64.40) in
        /Xkernel.  The package describes how to configure a minimal kernel
        that runs the X server and offloads all the clients onto another,
        hopefully more powerful host on the network. 

	As of this writing the current version of Xkernel is 2.0 and
	it should work on both SPARC and Sun3 platforms.

	Xkernel is attractive to some sites that have a large investment in 
        sun3 platforms, as moving  most of the processing off the sun3 
        cpu makes it tolerable to use.  

	Finally, a used 3/50 is competitive with low-end X Terminal and 
        you get a 19" monitor with an optical mouse.  


17)	Why is my console login prompt garbled or in some strange
	alphabet after upgrading to 4.1.3?

        The problem is /etc/ttytab, with 4.1.3, the console is now
	able to display 8 bits characters and getty must take this 
	into account.

	The solution is easy, replace your console entry in /etc/ttytab 
	by the following, the important part is 'cons8':

	console "/usr/etc/getty cons8"  sun             on local secure

	Also, if you did an upgrade(instead of a full install) you may 
	need to add the following to your /etc/gettytab.

	# This is a new entry to internationalize the console.  It needs to be
	# 8 bit clean so that ISO 8859 characters can be displayed without
	# the window system.
	#
	cons8:\
        	:p8:lm=\r\n%h login\72 :sp#9600:


18)  	Why are the "random" missing services at boot time or any other time
	(even though the services are in the /etc/services file or NIS map)?

	The three primary causes for "random" missing services are
	as follows:

		A) "Blank" lines in /etc/services on the YP/NIS Master.
		   Delete the blank line and remake the services map.

		B) Check the permissions on /etc/services. Non-root
		   processes need read permissions so /etc/services
		   should be mode 644.

		C) NIS/YP server not responding quickly enough
		   to the "getservbyname" call because each getservbyname
		   call reads the whole map.  One fix is to replace the 
		   systems version of inetd with a version that re-tries the
		   "unknown" service.

		   I have "hacked" a version of munetd(public domain
		   replacement for inetd) to do this. It is available
		   from ftp.ece.uc.edu. Get the file 
			/pub/sun-faq/Source/munetd.tar.Z

		   Another solution to this problem is outlined in part C below.

		D) Sun's implementation of the services map is incorrect. To
	           correct this problem you will need to replace some library
		   routines in libc and rebuild the shared library.
		   These routines and directions on installing them are
		   available from ftp.ece.uc.edu.  Get the file 
		   /pub/sun-faq/Source/getservent.tar.Z.

		E) Another fix(if you do not want to modify your libc's) is
		   to just remove the services map from NIS. However,
		   you will need to update the services file by hand on
		   all clients. We are running all NIS hosts this way and
	           it seems to work quite well.

		

19)	Where can I get Data Certified tapes for 4-mm or 8-mm tape drives 
	(at reasonable price)?

	Here is an incomplete list of vendors how have "data certified"
	tapes for the exabyte.

	Misco 			  800-876-1726   $12 - 15 each.	
	TecBridge		  800-972-7405   $9 - 15 each.
	R-Squared		  800-777-3478	 Sony 112m 120@8.00 Each
	K and K Systems		  612-475-1527	 $10 Each
	SCR			  314-739-0808	 $10.95 for Memorex
	CPI   			  800-522-4274 	 Sony 112m 120@7.00 Each

	Last Updated:  July 22, 1995.

20)	What is "archie"?

	Archie is a database of what is on several thousand anonymous 
	ftp sites. 

	To use archie get one of the three archie clients which
	are as follows:

		xarchie		-	For use under X11
		c-archie	- 	Curses version of Archie
		archie		- 	Perl Version of Archie
	
	Theses are available from archie.ans.net in the directory 
	/pub/archie.

	List of other publicly available archie servers:

	archie.rutgers.edu   128.6.18.15     (Rutgers University)
	archie.unl.edu       129.93.1.14     (University of Nebraska 
	                                      in Lincoln)
	archie.sura.net      128.167.254.179 (SURAnet archie server)
	archie.ans.net       147.225.1.2     (ANS archie server)
	archie.au            139.130.4.6     (Australian server)
	archie.funet.fi      128.214.6.100   (European server in Finland)
	archie.doc.ic.ac.uk  146.169.11.3    (UK/England server)
	archie.cs.huji.ac.il 132.65.6.15     (Israel server)
	archie.wide.ad.jp    133.4.3.6       (Japanese server)
	archie.th-darmstadt.de 130.83.128.111 (German server)

	
21)	How do I synchronize time on my Network?

	You should use xntp version 3 to synchronize your time. Xntp 
	synchronizes to "atomic" and/or Radio Frequency clocks. Using
	xntp time should always be within a few "milliseconds" of the
	actual time. Xntp does not require a "atomic" clock, any
	stable UNIX host clock will do.

	xntp is available from louie.udel.edu. 
	Get the file /pub/ntp/xntp3?.tar.Z where ? is replaced by the
	latest version letter.

	You will need clock.txt available from the same place.

	xntp works with all versions of SunOS(4.x and 5.x).

	Note: There is a Mac Control version of XNTP now available.

22)	What is the phone number for Sun Express and other numbers of importance
	to Sun Users? 

	Sun Express: 		1-800-USE-SUNX (1-800-873-7869)
	Main Sun Helpline: 	1-800-USA-4SUN (1-800-872-4786)

	Auspex Systems Inc. :   2952 Bunker Hill Lane
	                        Santa Clara, CA 95054
	                        (800) 735-3177 or (408) 492-0900
                                Fax: (408) 492-0909
	

23) 	How do I join sun related  mailing lists?

	Mailing Lists:

	Sun Managers:	Used for "emergency" information only. The
			users of this list are "very" knowledgeable.
		sun-managers-request@eecs.nwu.edu	add requests
		sun-managers@eecs.nwu.edu		submissions

    	Sun-386i:   discussion about the Sun 386i product
        	sun-386i-request@ssg.com		add requests
        	sun-386i@ssg.com	                submissions

    	Suns-at-home:   discussion about maintaining Sun2/3/4/4c
                    	systems at home
        	suns-at-home-request@harbor.ecn.purdue.edu   add requests
        	suns-at-home@harbor.ecn.purdue.edu           submissions

    	Auspex:  managers of Auspex NFS file servers
        	auspex-request@princeton.edu                    add requests
        	auspex@princeton.edu                            submissions

    	Epoch:  managers of Epoch NFS file servers       
        	EPoch Users Forum  (EPUF)             
        	epuf-request@mcs.anl.gov                        add requests 
        	epuf@mcs.anl.gov                                submissions

	Various SunFlash Mailing Lists:

	SunFlash: 
		  Articles about Sun from Sun. Includes Press Releases,
		  detailed intros, Sun e-newsletters, sunergy announcements
		  
		  John J. McLaughlin Editor/Publisher (flash@sun.com)
		  
		  Available in a variety of formats:
		  List name	  Description
		   
		  sunflash	  daily sunflash. Many articles will have just
		  		  summaries for the articles posted.
		  		  use the autoresponder to get the full text
		  sunflash-f	  full list - all articles - no summaries
		  sunflash-w      weekly list - one summary article per week
		  sunflash-m      monthly list - one summary article per week
		  mt-sunflash	  summary article in the message body, and
		  		  all articles included as MailTool style
		  		  attachemensts
		  mime-sunflash   like mt-sunflash, but with MIME attachements
		  mt-sunflash-w   like mt-sunflash but once per week
		  mime-sunflash-w like mime-sunflash but once per week
		  
		  Subscribe by sending email to majordomo@flashback.com
		  The message body should contain the word subscribe
		  followed by one of above lists names. E.g.
		  	subscribe mt-sunflash
		  
		  
	The Sun FlashBack:
		  Articles of interest to the Sun community from
		  vendors other than Sun. Includes Press Releases,
		  Sun User Group announcements, Product announcements,
		  Company newsletters, newsletter table of contents
		  (e.g. "HPCwire", "WEBster', "SPARCFlash"), 
		  trade magazine table of contents (e.g. "Advanced Systems",
		  "Open Computing", "Sun Onserver"), Conference/Seminar/
		  Trade-Show announcements, Text Book announcements,
		  Sponsored technical articles.
		  
		  John J. McLaughlin Editor/Publisher (flash@flashback.com)
		  
		  Available in a variety of formats:
		  List name	  Description
		   
		  flashback	  daily flashback. Many articles will have just
		  		  summaries for the articles posted.
		  		  use the autoresponder to get the full text
		  flashback-f	  full list - all articles - no summaries
		  flashback-w     weekly list - one summary article per week
		  flashback-m     monthly list - one summary article per week
		  mt-flashback	  summary article in the message body, and
		  		  all articles included as MailTool style
		  		  attachemensts
		  mime-flashback   like mt-flashback, but with MIME attachements
		  mt-flashback-w   like mt-flashback but once per week
		  mime-flashback-w like mime-flashback but once per week
		  
		  Subscribe by sending email to majordomo@flashback.com
		  The message body should contain the word subscribe
		  followed by one of above lists names. E.g.
		  	subscribe mt-flashback
		  
		  Send for intro (article 9001), help, index or fullindex
		  to flashback@flashback.com.
		  ftp archives on draco.nova.edu pub/sunflash
		  WWW files on draco.nova.edu pub/sunflash/www
		  URL ftp://draco.nova.edu/pub/sunflash/www/index.html


	NOTE!!!  if you wish to be added to one of the above mailing lists,
	         send mail to the REQUEST address!  Do not send add requests 
		 to the main address!

	Last Updated:  January 25, 1995.

24)	How do I use Mac floppies in a SUN drive?
	
	You can not use "real" Mac floppies without buying either
	one of the emulator packages like Liken from Andataco(?) or
	Mae from Apple (only runs on Solaris2.3 or above). They
	is another product or two that just allows you to mount
	Macintosh floppies onto your Sun but the vendors
	and product names escape me now.

	That said if all you want to do is exchange files
	the easiest way is to use suntar on the Macintosh to
	copy files to a "high density" floppy.  Then you can use 
	"tar" or "bar" on the Sun to get the files off this floppy.
	It is available from ftp.ece.uc.edu(129.137.8.118)
	as /pub/sun-faq/Source/suntar-203.hqx or visit
	the Info Mac archives at wuarchive.wustl.edu.

	or

	You could use the Apple File Exchanger to translate
	the files to MS-DOS format. Then use one of the many 
	methods for transferring MS-DOS disks to Sun. System 7.5 now
	mounts dos floppies automatically no need for Apple File
	Exchanger.

	These methods should only be used with files like ascii files,
	wordprocessor files, and  spreadsheet data files. Mac
	application programs should not be transfered.
	
	Finally, low density Mac floppies are not compatable
	with Sun floppy drives. 
	
	Last Updated:  January 27, 1995.


25)	How can I transfer floppies back and forth between MS-DOS and Sparc?

	For Solaris2.2 and above you can use the Volume Manager to
	control your disks and CD-ROM's. Under SunOS 4.0 there are two 
	packages which allow you to do mount floppies (mtools and mntdisk).
	Both of these packages use the 3-1/2inch floppy drive available
        on most SPARCstations.  Mntdisk can be used to manage CD-ROMS
	and other removable media types as well.

	With the advent of the Volume manager in Solaris2.2 these programs
	have been rendered somewhat obsolete. Under Solaris2.x use
	volcheck -v to check in a floppy. Than you can use normal UNIX
	commands on this floppy like cd, mkdir, cp, mv, and ls. It usually 
	gets mounted on /vol/floppy0

	Mtools writes directly to the floppy device and it does not
	require any special privileges. It is faster than mntdisk
	but it requires the user to learn a new set of commands.
	A copy of mtools can be found at 

		ftp.ece.uc.edu:/pub/sun-faq/Source/mtools-2.0.7.tar.Z

	With the proper changes to the source code mtools can even
	be made to work with the Solaris2.x Volume Manager. All 
	you need to do is make mtools look in /vol/dev/diskette/...
	for the floppy devices. 

	mntdisk "mounts" the floppy using the "pcfs" filesystem type. Once
	mounted you can use regular UNIX commands(cp,mv,and rm)
	to access it. The pcfs filesystem is quite slow compared
	to using mtools above.  Mntdisk is available in your local 
	comp.sources.misc archive, Volume 22, Issues 31-33. 
	Mntdsk can be used to mount CD-ROMS and even UFS floppies.

	You should never use "setuid" shell scripts for mounting floppies.
	Also, C programs that use the system() function call should
	not be used either. Both can open up huge security holes
	which hackers can be used to break into your system.

	
	Last Updated:  January 27, 1995.


26)	Why is my biff not "biffing" when using biff in a networked
	environment?

	In its current form comsat/biff are only usable on the mail
	server. You need to replace them network capable programs.

	A shar file containing network capable versions of comsat
	and biff is available from ftp.ece.uc.edu. Get the
	file /pub/sun-faq/Source/biff-comsat.

27)	How do I disable L1-A(STOP-A) or re-map it?

	You need to get one of the many re-mapping programs. Two
	of these are available from ftp.ece.uc.edu. Get the file
	disable-L1-A.tar.Z

	Always password protect your NVRAM. Set the security 
	to command otherwise anyone can set this password
	to anything they want. Of course you can get it back
	as root by doing a strings /dev/eeprom and it should
	show up in plain text. This assumes you have root
	access.

28) 	Why are all the local users "unknown" when using sendmail under 4.1.2?

	There is a known problem with sendmail and frozen config
	files under 4.1.2.

	The fix is to remove /etc/sendmail.fc. Also, You could 
	try moving it to the end of /etc/rc.local.
	
	However, the best "fix" may be to install the new Berkeley 
	Sendmail it has a number of enhancements, performance
	improvements, and security enhancements.
	
	You can get Berkeley sendmail from ftp.cs.berkeley.edu(128.32.149.78).
	Get the following files: /ucb/sendmail/*8*6*9*
				 /ucb/4bsd/db.tar.Z
	Also, you will need bind 4.9 and it can be found on
	gatekeeper.dec.com(16.1.0.2) in the /pub/BSD/bind/4.9
	directory.

	Finally, if you do not want to build the Berkeley sendmail for
	yourself I will be willing to mail you a copy.

29)	What are the dump parameters for an exabyte 8200 or 8500?

	8200 -- dump 0budfs 126 54000 /dev/rst0 6000    filesystem
	8500 -- dump 0budfs 126 54000 /dev/rst0 13000   filesystem
					      
	Note: Under 4.1.2 and above you should use rst8. Previous
	      versions did not do anything special for the 8500.

	Note: These parameters are not needed for 5.1.x because
	      it computes these values from the type of Tape Drive
	      you are using. Also, 5.1.x knows about end of tape
	      and does the right thing when it reaches it.

30)	What are the guidelines for setting up swap space ?

	In SunOS 4.x the amount of swap space and Virutal memory 
	are one in the same so you need at least as much swap
	as real memory.

	In SunOS 5.x the amount of Virutal memory is equal
	swap space plus real memory. Under SunOS 5.x you
	can actually get away with having no swap space at
	all. We are running a SPARCserver 1000 with no swap
	and 192-Meg of real memory.  Of course you will
	end up wasting some space because things that really
	could be swapped out can not be.

	The old rule of thumb is 1.5 to 2 times real memory. This
	can lead to wasted disk space (by having too much swap
	space) or to not having enough. What you need to do
	is to estimate your swap space needs.

	Of course if you under-estimate your swap needs or periodically
	need additonal swap space you can use mkfile to create 
	a swapfile (ie mkfile 25m swapfile). Do not use the "-n"
	option on local swap files. This option should be only
	used for NFS mounted swap space.

	To use you new swap space  you can use the following
	commands:

		swapon /fullpath/to/file	-- SunOS 4.x
	or
		swap  -a /fullpath/to/file	-- SunOS 5.x

	To delete the swap space under SunOS 4.x you have
	to reboot.  In SunOS 5.x you can delete swap space 
	using swap -d .

	You can also turn swap space into filesystem space by mounting a
	tmpfs filesystem in swap.  A tmpfs file is not completely
	equivalent to a disk file, since file and record locking is not
	supported.  However tmpfs is nice since you now have one block of
	disk being shared by the swap space and the filesystem, with the
	split being dynamically changed depending on usage.

	Finally, if you use X and tend to leave many applications in core
	in various windows, you'll need much more swap space.

	Last Updated: July  7, 1995.

31)	What are the general guidelines for maxusers to be set to on machine X?

	This question is being written.

32)	What does "zsN: silo overflow" mean?

        The CPU serial ports - both ordinary serial ports A and B, and
        the port for the keyboard and mouse - use the Zilog Z8530 SCC
        chip.  That chip has a 3-character on-board buffer called the
        "silo".  If a character arrives in the silo, the chip interrupts
        the CPU at a high priority, and the interrupt service routine
        reads the character out of the silo.

        If the interrupt isn't serviced in time, more than 3 characters
        can be placed in the silo by the chip; if so, the chip notes
        that the silo "overflowed", and the interrupt service routine,
        when called, will note that a "silo overflow" occurred.

        If the machine is printing a message from the kernel, interrupts
        from the chip will be held off; if the message takes long enough
        to print, and characters are coming in quickly enough on the
        serial port, more than 3 can arrive, and a "silo overflow" will
        occur.

        It is possible that a machine that's sufficiently busy in other
        code that runs with interrupts held off could get a silo
        overflow as well.

33)	What does the "N" in "zsN: silo overflow", and other "zsN" messages,
	signify?

        The name "zsN" is ambiguous.

        In kernel "config" files, and in the boot-time autoconfig
        messages, "zs0" is the first on-board Z8530 chip, the two
        channels of which handle "ttya" and "ttyb", respectively, and
        "zs1" is the second on-board Z8530 chip, the two channels of
        which handle the keyboard and mouse ports, respectively.

        In "zsN: silo overflow" messages and the like:

                "zs0" is the A channel on the first on-board Z8530, handling
                    "ttya";

                "zs1" is the B channel on the first on-board Z8530, handling
                    "ttyb";

                "zs2" is the A channel on the second on-board Z8530, handling
                    the keyboard;

                "zs3" is the B channel on the second on-board Z8530, handling
                    the mouse.

        So a "zs0: silo overflow" error is for "ttya", and a "zs1: silo
        overflow" error is for "ttyb", not for the keyboard or mouse.
        Keyboard silo overflows are "zs2: silo overflow"; mouse silo
        overflows are "zs3: silo overflow".


34)	How do I set up a Sun serial port both for dial-in and dial-out?

        You need to read Chapter 11 in  the "Systems and Network 
	Administration" manual.


35)	I can't get my Sun, running SunOS 4.1[.x], to establish a UUCP
	connection to some non-Sun machine; it won't log in.  What's wrong?

        The 4.1[.x] UUCP normally runs in even-parity mode when logging
        into another machine.  If the other machine is running in 8
        bits, no parity, mode, the fact that the 8th bit is set on some
        of the characters the Sun is sending to it will confuse it.

        The Sun can be made to turn the 8th bit off by putting
        P_ZERO into the "expect / send" sequence for dialing.
        Good places are /etc/uucp/Systems or /etc/uucp/Dialers.
        Putting it into the Dialers file has the advantage, that
        it's compatible with Taylor UUCP 1.04 and 1.05. You might
        want Taylor UUCP for better UUCP throughput using Taylor
        UUCP's bidirectional i-proto. Here is an example for the
        /etc/uucp/Dialers file, it introduces additionally the
        option of using Hardware Handshaking between modem and
        computer:

        zyxel =,-, "" P_ZERO "" \dA\pTM1S42.6=1\r\c OK\r
                       \EATDT\T\r\c CONNECT STTY=crtscts

        Note: this has to be _ONE_ line !!!


	Last Updated: April  27, 1995.

36)	Do the Sun serial ports support RTS/CTS flow control?

        The serial port hardware can do CTS-based control of the flow of
        data *from* the Sun *out* the serial port automatically.  The
        tty driver option for that is the CRTSCTS option; it can be
        specified in:

                the "printcap" "ms" capability for a printer;

                in the "gettytab" "ms", "m0", "m1", or "m2" capabilities
                for a dial-in port;

                the "STTY=" option for a dial-out line for UUCP or "cu"
                [check the UUCP documentation for details];

        and can be specified with the "hf" capability in "/etc/remote"
        for "tip".

        The hardware cannot directly do RTS-based control of the flow of
        data *into* the Sun, and the software does not currently support
        controlling the flow of data into the Sun with RTS.

        NOTE: the EEPROM options in newer Suns do not affect the flow

        control performed by the OS; in fact, the OS ignores the
        "ttya-mode", "ttyb-mode", "ttya-rts-dtr-off", and
        "ttyb-rts-dtr-off" EEPROM options entirely.  You don't need to
        set them to change the way the OS handles the tty, and even if
        you do set them, it won't change the way the OS handles the tty.

	Sun has released a new jumbo tty patch 100513-04 for SunOS 4.1.2 
	and 4.1.3 that incorporates changes to the tty driver to
	support RTS/CTS handshaking. Anyone trying to get RTS/CTS
	handshaking to work should get this patch.


37)	How do I specify that a serial port should, or should not, ignore the
	state of the Carrier Detect line?

        Prior to SunOS 4.1, you do so either by:

                changing the "flags" field for the serial port device in the
                kernel "config" file, re-running "config", rebuilding
                the kernel, and rebooting with the new kernel;

        or, on the Sun-4c machines:

                changing the setting of the "ttya-ignore-cd" or
                "ttyb-ignore-cd" EEPROM settings if the port is one of
                the CPU serial ports.

        In SunOS 4.1 (and, I think, some SunOS 4.0[.x] releases for the
        Sun386i), you do so by changing the "/etc/ttytab" line for the
        port in question to have the "local" attribute if CD is to be
        ignored, or not to have it if CD is not to be ignored, and
        running the "ttysoftcar" command to tell the kernel that the
        status of the "ignore CD" flag should be changed.

        In 4.1, there's no need to change the EEPROM setting to change
        SunOS's behavior; it may affect the PROM's behavior, but that's
        the only reason why it'd be necessary.

38)	I put in a new "termcap" entry, or updated an existing "termcap" entry,
	for a terminal, but "vi" doesn't seem to know about my change.  Why?

        The "vi" in SunOS 4.1[.x] is based on the System V Release 3.1
        "vi", because that version of "vi" supports 8-bit character
        sets.  That version of "vi" uses "terminfo", not "termcap"; you
        have to change the "terminfo" entry for the terminal.

        You may first have to convert the compiled "terminfo" entry to a
        text entry; "/usr/5bin/infocmp -I <terminal-type>" will write
        the text of the "terminfo" entry for the terminal
        <terminal-type> to its standard output.

        If you already have a "termcap" entry, you can convert it to a
        "terminfo" entry with "/usr/5bin/captoinfo".

        A text "terminfo" entry must be recompiled in order for programs
        using "terminfo" to use it; "/usr/5bin/tic" will recompile it.

39)	I have a Type 5 keyboard, and find its placement of the Caps Lock,
	Control, and Esc keys inconvenient.  How do I remedy this?

        Well, one remedy may be to buy the "UNIX layout" version of the
        Type 5; this option seems, unfortunately, to be little-known to
        Sun customers, and Sun may not be promoting it as they should.
        That keyboard has a layout much more friendly to the traditional
        UNIX user than do the normal PC-style layouts for the Type 5.

        If you don't have that option, you can use the appropriate
        program to reprogram the keys; see the next question.

40)	How can I move keys around on a Sun keyboard, for example exchanging the
	Caps Lock and Control keys on a Type 5 keyboard?

        It depends on which window system you're running, if any.

        If you're not using any window system, or you're using a window
        system such as SunView that uses the OS's keyboard event
        translation mechanism, you can dump the tables used by the OS's
        keyboard event translation mechanism with the "dumpkeys"
        command, and load changes to that table with the "loadkeys"
        command; see LOADKEYS(1).

        If you're using X11 - either in its MIT incarnation, or Sun's
        Open Windows incarnation - or some other window system that
        shuts off the OS's keyboard event translation mechanism, you
        need to use the window system's commands, if any, for that
        function.

        In X11, the command for that is "xmodmap"; its translation
        tables can be printed with "xmodmap -pk", and changes to that
        table can be loaded with "xmodmap" as well.

        NOTE: in the particular case of the Control and Caps Lock keys,
        while MIT X appears to handle interchanging those two keys
        correctly, so that the new Caps Lock key is a toggle and the new
        Control key is not, some versions of Open Windows do not - even
        though the keys have had their mappings exchanged, the window
        system server still thinks that the *old* Caps Lock key, which
        is now the Control key, should be a toggle, and that the *old*
        Control key, which is now the Caps Lock key, should not be a
        toggle.
	[Here is a work-around for this problem, provided by Mark Plotnick
	(mp@allegra.att.COM)]:
	Copy the appropriate keytable (e.g. /usr/openwin/etc/keytables/US4.kt)
	to $HOME/.keytable, and change the 2nd attribute character in a key's
	attributes field to N or P depending on whether the key should have 
	"pseudolock".
	$ diff /usr/openwin/etc/keytables/US4.kt /usr/gre/.keytable
	78,79c78,79
	< lock  119                     # CapsLock
	< control        76                     # Control
	---
	> lock   76                     # CapsLock
	> control       119                     # Control
	226c226
	< 76    NN      XK_Control_L
	---
	> 76    NP      XK_Caps_Lock
	278c278
	< 119   NP      XK_Caps_Lock
	---
	> 119   NN      XK_Control_L
 

41)	My Sun doesn't have an ANSI C compiler.  How can I get one?

        SunOS releases prior to 5.x come with a C compiler. However,
        it was an old compiler, and it didn't support ANSI C syntax or 
        ANSI C features.

	The SunSoft Catalyst CD #5 contains the binaries for the GNU C 
	compiler for Solaris 1.x and 2.x. You should get the latest
	version of GCC and compile it using this compiler. 

        Many vendors offer ANSI C compilers for SunOS.  Sun sells Sun C
        1.1 for SPARC, which includes an ANSI C compiler (although not a
        full ANSI C environment, i.e. it doesn't necessarily include all
        the ANSI C include files or library routines); various other
        vendors (Lucid? Others?) sell ANSI C compilers as well.

        The Free Software Foundation's GCC also supports ANSI C syntax
        and ANSI C features. It can be FTP'ed in source form from many
        sites, and in binary form from some sites. 

	A compiled version of the latest GCC for SunOS 5.x is available from 
	prep.ai.mit.edu. The directory containing these files is

		/pub/gnu/sparc-sun-solaris2

	You need to get the following files:
		
		gzip-binaries-1.x.x.tar	
		INSTALL.gcc
		gcc-binaries-2.x.x.tar.gz

	Note: You need the gzip binaries to ungzip the gcc binaries.

	After obtaining GCC, you will need to run fixincludes. 
	The INSTALL.gcc file will tell you how.

	Note: The following sites mirror the GNU software distribution
	      from prep.ai.mit.edu:

        ASIA: 		utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
  	      		cair.kaist.ac.kr:/pub/gnu
        AUSTRALIA: 	archie.oz.au:/gnu (archie.oz or archie.oz.au for ACSnet)
        AFRICA: 	ftp.sun.ac.za:/pub/gnu
        MIDDLE-EAST: 	ftp.technion.ac.il:/pub/unsupported/gnu
        EUROPE: 	irisa.irisa.fr:/pub/gnu, grasp1.univ-lyon1.fr:pub/gnu,
  			ftp.mcc.ac.uk, unix.hensa.ac.uk:/pub/uunet/systems/gnu,
  			src.doc.ic.ac.uk:/gnu, ftp.win.tue.nl, ugle.unit.no,
			ftp.denet.dk, ftp.informatik.rwth-aachen.de:/pub/gnu,
			ftp.informatik.tu-muenchen.de, ftp.eunet.ch, 
			nic.switch.ch:/mirror/gnu, nic.funet.fi:/pub/gnu,
			isy.liu.se, ftp.stacken.kth.se,
			ftp.luth.se:/pub/unix/gnu, archive.eu.net
       	CANADA: ftp.cs.ubc.ca:/mirror2/gnu
        USA: 	wuarchive.wustl.edu:/mirrors/gnu, labrea.stanford.edu,
  		ftp.kpc.com:/pub/mirror/gnu, ftp.cs.widener.edu,
  		col.hp.com:/mirrors/gnu, ftp.cs.columbia.edu:/archives/gnu/prep,
  		gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu


	You should check the site close to you before ftping to
	prep.


42)	How do I change the time zone setting on my machine?

        In releases prior to SunOS 4.0, you will have to reconfigure
        your kernel, recompile it, install the new kernel, and reboot.
        See the documentation on kernel configuration.

        In SunOS 4.0 and later releases, you will need to run the "zic"
        command with the "-l" flag, with the appropriate time zone
        setting as the argument.  For example, to set the time zone to
        US Eastern Time, do:

                zic -l US/Eastern

        to set it to the proper setting for Great Britain and Eire, do:

                zic -l GB-Eire

        and so on.

        You will then probably want to reboot your machine, in order to:

                1) cause any daemons started before the time zone was
                   changed to restart, and pick up the new time zone;

               2) run "tzsetup" for the benefit of old pre-SunOS 4.0
                   binaries, old programs not converted to use the new
                   routines to convert local time to UNIX time, and
                   Calendar Manager.

        You can also manually link "/usr/share/lib/zoneinfo/localtime"
        to the appropriate time zone file, but there's really no point
        in doing so when "zic -l" will do that for you.

        In Solaris 2.x, you do it the same way you do it on any other
        SVR4 system - you put a line that says
 
                TZ=<time zone name>
 
        in "/etc/TIMEZONE", or change the existing line, and reboot.
        SVR4 includes the "Arthur Olson" time zone code that SunOS 4.x
        also uses, although not all SVR4 systems supply the time zone
        files for it; Solaris 2.0 does.
 

43)	I'm getting messages that say one of the following:
	 	proc: table is full	and/or
        	file: table is full	and/or
        	dquot: table is full 	and/or
        	inode: table is full
     	What do these errors mean, and how do I fix the problem?

        In SunOS releases prior to 5.0, many tables in the system are
        allocated once at system startup time, with a fixed size, and do
        not grow in size.  If the system needs more entries than are
        present in that table to perform some operation, it can't
        perform the operation, and it will log a message and return a
        failure indication.

        The sizes of the tables in question are based on the "maxusers"
        value in the configuration file for your kernel; to increase the
        size of the table, change the configuration file for your kernel
        to have a larger "maxusers" value, re-run "config" on that file,
        rebuild the kernel, install the new kernel, and reboot.

        SunOS 4.1 and later shouldn't get "inode: table is full", as
        that table is dynamically allocated; SunOS 5.0 should
        dynamically allocate entries in most if not all of those tables.

   	I did that, and I'm still getting that message.  What do I do now?

        Presumably, then, either:

                1) you didn't increase "maxusers" enough

        or

                2) some process is consuming resources from the table in
                   question without bound.


	Note: SunOS kernels(up to 4.1.3) by default allow the user to use 
	      all available process slots(except for the last 5). 

	      If you are running out of process slots you may want to 
	      change the kernel parameter that controls the maximum number
	      of per user processes. You can change this in the param.c
	      in /sys/conf.common. You will need to change the following
	      define:

			#define MAXUPRC (NPROC - 5)

	      to something more reasonable like

			#define MAXUPRC (NPROC - 5)/2

	      After making this change you should re-config and re-build
	      your kernel.

        The "proc" table has one entry for every process on the system;
        if it's overflowing, some process on the system may be creating
        new processes over and over again.  If you can, do a "ps -ax" to
        see what processes are on the system, and see if that gives any
        clues as to what process, if any, is spawning those other
        processes.
		

        The "file" table has one entry for every "active file
        descriptor" on the system; each time an "open", "dup", "socket",
        etc. call is made, a new "active file descriptor" is required.
        There's no way of finding out what process or processes are
        consuming file descriptors that's as convenient as "ps" can be
        for finding out what process or processes are spawning additional
        processes; "/usr/etc/pstat -f" will print the "open file table"
        of "active file descriptors", but it's tricky for the novice
        user, programmer, or administrator to interpret the output of
        "pstat -f", and that output doesn't indicate which processes are
        using a given "active file descriptor".


44) 	Blank at present.

45)     How do I run both OpenWindows and MIT X11R5?

	OpenWindows 2.0 is compatible with X11R3 plus some extensions,
	OpenWindows 3.0 is compatible with X11R4, and  OpenWindows 3.3 
	is completely standard X11R5 with Display Postscript extensions
	added and many Sun hardware-specific performance improvements.

	To get X11R5(or R4) applications to run under Openwindows you will
	need to set the appropriate LD_LIBRARY_PATH. 

        Assuming you installed the MIT libraries in
        /usr/lib and the OpenWindows libraries are in
        /usr/openwin/lib, set the following before you start the
        windowing system:

        MIT X11R4 environment

                set path = (/usr/bin/X11 $path)
                setenv LD_LIBRARY_PATH /usr/lib

   	OpenWindows

                set path = (/usr/openwin/bin /usr/openwin/demo $path)
                setenv LD_LIBRARY_PATH /usr/openwin/lib

        You can also run clients from one environment under a different
        server on a one command at a time basis.  This example runs a

     	OpenWindows client under the MIT server:

                (setenv LD_LIBRARY_PATH /usr/openwin/lib; x_soundtool)


	A better way to handle this(in the long run) is to re-compile 
	the X server clients to include a "hard" coded shared library
	search path. You will need to link the clients with -L
	option.  For example, if your X11 libraries are installed
	in /usr/local/lib/X11 you will link your application by

		   cc -o app app.c -L/usr/local/lib/X11 -lX11 -lXext

	By doing this to all applications you can eliminate the need
	to set the LD_LIBRARY_PATH. 

	For applications that you do not have source for you should
	write a shell script wrapper similar to the following:

	#!/bin/sh
	LD_LIBRARY_PATH=/usr/local/lib/X11; export LD_LIBRARY_PATH
	/usr/local/bin/X11/xterm.bin $*
	

	Note: Source code for the Xview toolkit and MIT X11R5 are
	      available from prep.ai.mit.edu. 


        The OpenWindows server has the ability to display PostScript that
        several of the OpenWindows applications require to run.  Sun's
        AnswerBook is an example that requires PostScript.  These clients
        will not run under the MIT server.   

	You can get a limited PostScript preview capability under 
	either server with GNU Ghostscript, a GNU "copyleft" package
	available from various ftp sites.  

	Two enhanced versions of Ghostscript are also available,
        CSPreview and Ghostview, they both offer fancier preview capabilities.
        These programs are currently available via anonymous ftp:

        Ghostscript is on prep.ai.mit.edu (18.71.0.38) in /pub/gnu
        GSPreview   is on ftp.x.org (18.24.0.12) in /contrib
        Ghostview   is on prep.ai.mit.edu (128.105.2.196) in /pub/gnu


46)	Where do I find a "restricted" shell for SunOS?

	/usr/lib/rsh is a "restricted" Bourne shell.

        This "restricted" shell is easy to break out of; consider
        that most editors have a shell escape, for example. Building
        a window-dressing restricted environment is easy; building
        a real restricted environment is hard.


47)	Will SunOS 4.1.x binaries run under SunOS 5.x?

        Yes they will, with some restrictions. The most significant is
        that the binary in question must have been "dynamically linked."
        Otherwise, you will get the message
 
        Bad system call (core dumped)
 
        immediately when starting the 4.1.x binary on SunOS5.
 
	As of SunOS 5.3 "statically" linked binaries will now run
	in binary compatabilty mode.

        Finally, bear in mind that there may be a performance  penalty
	for using  binary compatabilty mode applications.

	Last Updated:  August 2, 1995.
 

48)	When I try to compile MITs X11R4 applications under Openwindows 3.0,
	I get the following "undefined" symbols(_get_wmShellWidgetClass, and
	_get_applicationShellWidgetClass). What is the Problem?

	There are problems with the Xmu shared library as shipped from Sun.

	There are two "fixes". One is to get the Openwindows patches
	that apply to this problem and the other is to "statically" link
	the Xmu library into the executable.

	The patches you will need are as follows:

        Patch i.d.      Bug i.d.'s      O/S     Description
        ----------      -------------------------------------------------------
        100512-04       1086793 1086912 	4.1.x OpenWindows 3.0 libXt 
			1074766 		Jumbo patch
 
        100573-04       1087332 		4.1.x OpenWindows 3.0 undefined
						symbols when using shared
						libXmu.

	Note: Always use the latest version of the above patch that you can 
	      find.

	To "statically" link your executable with libXmu modify the
	compile line as follows:

		  -Bstatic -lXmu -Bdynamic 


49)	What is Solaris?
	
	Solaris consists of the following facilities:

		1) SunOS 
		2) Openwindows
		3) Openwindows deskset tools
		4) ONC networking products and services(which includes NFS
		   and NIS)

	Solaris is not an operating system but a "complete" user
	environment.

	A chart of Solaris versions, and the corresponding SunOS, Open 
	Windows, and DeskSet versions:
 
          Solaris         SunOS           Open Windows    DeskSet
          1.0             4.1.1           2.0             2.0
          1.0.1           4.1.2           2.0             2.0
          1.1             4.1.3           3.0             3.0
          1.1.1(a)        4.1.3_U1        3.0_U1*         3.0_U1*
          1.1.1(b)        4.1.3_U1_B      3.0_U1*         3.0_U1*

	Note: The "uname" output for 4.1.3_U1_B may only not contain
	      the '_B' information.

          2.0             5.0             3.0.1           3.0.1
          2.1             5.1             3.1             3.1
          2.2             5.2             3.2             3.2
	  2.3             5.3             3.3             3.3
	  2.4             5.4             3.4             3.4

	*when patched with the patches on the 4.1.3_U1 CD.


	Last Updated: April  27, 1995.
 

50)     What does the "nres_gethostbyaddr !=" error mean?

	This message is generating by Sun's resolver libraries and
	it is caused by incorrectly configured Domain Name 
	Server(the server that the resolver libraries are querying
	not necessarily the local Domain Name Server).

	The Domain Name Server probably lacks a reverse map entry for 
	that particular host. 

	Since this "bug" is closely associated with using ypserv,
	Sun has produced a patch to "ypserv" (bug #1039839). 
	Sun supplied a patch 100141-01 to quiet it, but the 
	patched version appears to die silently at random times,
	so Sun now has a new patch, 100141-02. Do not install this
	patch unless you are really getting a lot of these messages.


51)     How come my mouse only works in the vertical(or horizontal) direction,
	how do I repair it?


	Check the rotation of the PAD. Turn it 90 degrees and see if it
	works any better. The mouse will only work properly
	if the mouse pad is oriented properly. Make sure that the long 
	side of the pad along the horizontal and the short side
	the vertical.

	Also, check to make sure that you have the right mouse pad. The
	newer the mouse the smaller the pad. 

	Finally, if that does not work one of the LEDs on the under
 	side of the mouse has probably "burnt" out.  Do not fooled
	by the fact that one of them is an infrared led (light that 
	is invisable to naked eye) and the other visible. 

	You can probably repair it yourself(if you can get a replacement 
	LED and you know how to use a Soldering Iron) by following
	a set of directions available from ftp.ece.uc.edu. Get the
	file /pub/sun-faq/mouse.fix.


52)	After rebuilding the shared library libc it get some or all the 
	following undefined symbols: dlsym, dlopen, dlclose, mbstowcs_xccs,
			mbtowc_xccs,wcstombs_xccs, or wctomb_xccs.


	If you have just installed a new shared library under 4.1.2 or
	greater you need to modify the Makefile for the shared libraries
	and re-install. You will need to change the following line

		ld -assert pure-text `${OBJSORT} lorder-sparc tmp`
	to read 
		ld -assert pure-text `${OBJSORT} lorder-sparc tmp` -ldl

	Note: You should change both such lines.

 	Also, you may need to do a mv xccs.multibyte. xccs.multibyte.o
	to eliminate the  mbstowcs_xccs, mbtowc_xccs, wcstombs_xccs,
	or wctomb_xccs symbols errors.

	The above can occur under SunOS 4.1.1 if you have installed 
	the "Linker Jumbo Patch"(Patch id# 100257-03 or greater). 


53)	What does "No network locking on host" mean after upgrading to
	Solaris 2.0?

	Your SunOS 4.x(or above) machines are running an old version
	of rpc.lockd. You need to get and install patch number 
	100075-11 or greater to correct this problem.

54)	Does Password Aging work with NIS(YP) ?

	Sun does not support password aging under NIS(OS version
	to 4.1.3). The rpc.yppasswdd needs to modified to make
	password aging work. 

	Password aging will only work under SunOS 5.3(Solaris2.3) 
	with NIS+.

55)	What does "rpc.lockd: Cannot contact status monitor!" mean?

	For some reason rpc.lockd can not talk to rpc.statd. 

	Check to see if rpc.statd is running. If rpc.statd
	is not running re-start it. If rpc.statd is running, 
	kill it and restart it. You will need to kill and restart
	rpc.lockd too. 

	Use this procedure to restart rpc.lockd and rpc.statd.

		kill rpc.statd and rpc.lockd
		start rpc.statd
		wait a 10 seconds or so
		start rpc.lockd

	If this does not work kill rpc.statd and rpc.lockd 
	remove /etc/sm /etc/sm.bak directories and re-start the
	daemons using the above procedure..


56)	How do I join the Sun User Group(SUG)?

	Here is the information on joining SUG.

		Sun User Group, Inc.
		1330 Beacon Street, Suite 315
		Brookline, MA 02146
		USA
		voice: +1 617 232-0514		fax: +1 617 232-1347
		office@sug.org 

	With your membership you get the following:
		
		*  Vendor Discounts
		*  Technical Conferences
		*  Software Distribution
		*  README Newsletter
		*  Annual Exhibits
		*  Local User Group Support
		*  Newsgroup comp.org.sug 


57)	How do I increase the number of "pseudo" terminals(ptys) ?

	For SunOS4.1.x:

	To add more ptys you must install a new kernel. 

	The default number of "ptys" is  48.  To get more "ptys" 
	change the kernel config line "pseudo-device pty" to 
	"pseudo-device pty#" where '#" is the number of "ptys"
	you want. 

	Be warned the maximum number you can have is 256.

	You will need to run /dev/MAKEDEV pty[0-5] to create the
	/dev/ entries.

	For SunOS5.x:

	In /etc/system, add the line:

        	set pt_cnt=nnn 	-- nnn can have a value up to 3000.
	touch /reconfigure
	and reboot using 'init 6'.

	For BSD style ptys set npty in /etc/system to the desired 
	value(ie set npty=64).  You may need to make the ptys by
	hand and you will need to make likes from /dev to /devices for 
	these devices.  Finally, you will need to edit /etc/iu.ap to
	automatically push the appropriate streams compatibility modules
        onto the new devices. You need to replace the line reading
        	"ptsl 0 15 ldterm ttcompat"
	with
        	"ptsl 0 <NUM> ldterm ttcompat"
	where <NUM> was one less than the number of compatibility ptys you
	need.


58)	Where are dump and restore under Solaris 2.x?

	dump is now called /usr/sbin/ufsdump
	restore is now called /usr/sbin/ufsrestore

59)	How do I make the numeric keypad on a type 5 keyboard work with xterm?

        You need to patch the /usr/lib/X11/app-defaults/XTerm and
        $OPENWINHOME/lib/app-defaults/XTerm files as described in sun
        patch 100713-01 or later.

60)	How do I swap the CAPS LOCK and CONTROL keys on a type 5 keyboard 
	under Openwindows 3.0?

        Don't do it with xmodmap, since that won't change the locking
        behavior of CAPS LOCK. Edit $OPENWINHOME/etc/keytables/US5.kt.
        There are two places where keys 119 (CapsLock) and 76 (Control)
        should be swapped: the MODMAP section and the KEYSYMMAP section.
        The latter is most important, because that's where the
        "Pseudo-Lock" function (which controls the locking behaviour of
        the key) is defined.

61)	Which Sun models run which versions of SunOS?

  	Sun-supported configurations:
 
  	Sun2: SunOS 4.0.3 or earlier.
  	Sun386i: SunOS 4.0, 4.0.1, 4.0.2 only.
  	Sun3: SunOS 4.1.1_U1 or earlier.
  	4/100, 4/200 series: SunOS 3.2, SunOS 4.0 or later.
  	4/300 series: SunOS 4.0.3 or later.
  	4/400 series: SunOS 4.1PSR_A or later.
  	600 models 120, 140: SunOS 4.1.2 or later.
  	600 model 41, 51: SunOS 4.1.3 or later.
  	600 models 412, 512: Solaris 2.2 or later.
  	600 model 514: Solaris 2.3 HW 8/94 or later.
  	SPARCstation 1, 1+, SLC, IPC: SunOS 4.0.3 or later.
  	SPARCstation 2, ELC, IPX: SunOS 4.1.1 or later.
  	SPARCstation 10 models 20, 30, 40, 41, 51: SunOS 4.1.3 or later.
  	SPARCstation 10 models 412, 512: Solaris 2.2 or later.
  	SPARCstation 10 model 402: Solaris 2.2 or later.
  	SPARCstation 10 model 514: Solaris 2.3 Hardware 8/94 or later.
  	SPARCstation 20 models 50, 51, 61: SunOS 4.1.3_U1 revision B or later.
  	SPARCstation 20 models 502, 514,612: Solaris 2.3 Hardware 8/94 or later.
  	SPARCclassic, SPARCstation LX: SunOS 4.1.3C or later.
	SPARCstation Voyager: Solaris 2.3 HW 8/94 or later.
	SPARCstation 5: Solaris 1.1.1 Rev B or later.
	SPARCstation 20 model 71: Solaris 1.1.2 and Solaris 2.4 HW 11/94 or
			later.
	SPARCstation 20 model HS11: Solaris 1.1.2 and Solaris 2.4 HW 11/94 or
			later
	SPARCstation 20 model 712: Solaris 2.3 HW 8/94 or later.
	SPARCstation 4: Solaris 1.1.2 and Solaris 2.4 HW 11/94 or later
	SPARCserver 1000 and SPARCcenter 2000 : Solaris 2.2 or later and
		 should really use at least 2.3.

	Some notes:

	Sun4 machines (4/1xx, 4/2xx, 4/3xx, and 4/4xx) will not be supported
	after Solaris2.4.

	The audio device on the SS5/SS20 has does not work under Solaris 1.1.1b
	without installing the ms2 patch found on the 1.1.1B CDROM or get
	the current Audio Patch from Sun. You will need patches to get the
	Audio to work properly under Solaris2.3 as well.

	Also, the SX Graphics card is only supported under Solaris2.3 HW 8/94
	or later. The Card will not run work under SunOS 4.1.x and unless
	some one other than Sun writes a driver it will never work.

	If you are running Solaris 1.x and newer versions of the SuperSPARC CPU 
	(rev 3.5 and higher) require Solaris 1.1.1B.  See question 79 for
	the procedure used for determining SuperSPARC revision.

	When installing any compatable version of SunOS 4.1.x on any
	of the following: SPARCstation 5, LX, Classic, or SPARC 20 you
	must buy a RTU because these machines came with RTU's for
	Solaris2.x only.

  	SunOS 4.1.3 has been reported to run on the SPARCstation 10 model
  	412/512 and the 600 model 412/512, but this configuration is not
  	supported by Sun. Anyone who tries this is on their own.  The
  	(unofficial) word from inside Sun about whether or not it actually 
	works is as follows:

        	Little testing of the SuperSPARC MP configurations under 4.1.3
        	have been done by Sun.  What little was done showed that under
        	heavy loads the system was prone to crash (What it really did 
		was hang, so badly that even an L1-A would not work).
        	...
        	We suspect, but do not know, that as the SuperSPARC chips get
        	faster that the problems will manifest themselves more quickly.

  	Solaris 2.0 runs only on SS1,1+,2,SLC,IPC,ELC,IPX.

  	Solaris 2.1 and later runs on all Sun4s and SPARCstations, but the 
	FPU's on the 4/100 and 4/200 series machines are disabled and will
	be under all versions of Solaris2.x.

  	Not all peripherals supported under SunOS 4.x are supported under SunOS
  	5.x. Check with Sun or the peripheral manufacturer. Most of the 
	the non-supported cards under SunOS 5.x are VME or Multi Bus based.

  	Explanatory note:

  	In general, Solaris = SunOS + OpenWindows.

  	Solaris 1.0 	= SunOS 4.1.1 	 + OpenWindows 2.0
  	Solaris 1.0.1 	= SunOS 4.1.2 	 + OpenWindows 2.0
  	Solaris 1.1 	= SunOS 4.1.3 	 + OpenWindows 3.0
  	Solaris 1.1.1	= SunOS 4.1.3_U1 + OpenWindows 3.0_U1
  	Solaris 1.1.2 	= SunOS 4.1.4    + OpenWindows 3.414 	
  	Solaris 2.0 	= SunOS 5.0      + OpenWindows 3.0.1
  	Solaris 2.1 	= SunOS 5.1      + OpenWindows 3.1
  	Solaris 2.2 	= SunOS 5.2      + OpenWindows 3.2
  	Solaris 2.3 	= SunOS 5.3      + OpenWindows 3.3
  	Solaris 2.4 	= SunOS 5.4      + OpenWindows 3.4

	Open Windows versions before 3.3 used the X11/NeWS server
	all versions since use a MIT style server with Display
	Postscript Extensions.
	
	Last Updated: March  3, 1995.

62)	My rdump is failing with a "Protocol botched" message. What do I do?

        The problem produces output like the following:
 
          DUMP: Date of this level 0 dump: Wed Jan  6 08:50:01 1993
          DUMP: Date of last level 0 dump: the epoch
          DUMP: Dumping /dev/rsd0a (/) to /dev/nrst8 on host foo
          DUMP: mapping (Pass I) [regular files]
          DUMP: mapping (Pass II) [directories]
          DUMP: estimated 8232 blocks (4.02MB) on 0.00 tape(s).
          DUMP: Protocol to remote tape server botched (in rmtgets).
         rdump: Lost connection to remote host.
          DUMP: Bad return code from dump: 1
 
        This occurs when something in .cshrc on the remote machine prints
        something to stdout or stderr (eg. stty, echo). The rdump command
        doesn't expect this, and chokes. Other commands which use the rsh
        protocol (eg. rdist, rtar) may also be affected.
 
        The way to get around this is to add the following line near the
        beginning of .cshrc, before any command that might send something
        to stdout or stderr:
 
        if ( ! $?prompt ) exit
 
        This causes .cshrc to exit when prompt isn't set, which
        distinguishes between remote commands (eg. rdump, rsh) where these
        variables are not set, and interactive sessions (eg. rlogin) where
        they are.


63)     Table of Solaris2.x commands and their Solaris1.x equivalents?
		
		SunOS 4.x          SunOS 5.x             
		Command            Equivalent               
		
		add_services       pkgadd                      
		arch               uname -m                  
				   Note: This returns the kernel architecture.
		bar                Not available. Use   
		                   cpio -H bar to retrieve
				   4.x archives.
		
		biff -y            chmod o+x /dev/tty
		biff -n            chmod o-x /dev/tty
		cc                 Not available
		dbxtool            debugger
		devinfo		   prtconf
		df                 df -k
		dkctl              Not available
		dkinfo             prtvtoc
		du                 du -k
		dump               /usr/sbin/ufsdump
		dumpfs             Not available
		etherfind          snoop
		exportfs           share
		extract_files      Not available
		extract_patch      Not available
		extract_unbundled  pkgadd
		fastboot           reboot or init 6
		fasthalt           init O
		hostid             sysdef -h
		hostname           uname -n
		intr               Not available
		leave              Use cron and at
		lint               Not available
		load          	   pkgadd
		loadc         	   pkgadd
		load_package  	   Not available
		lpc           	   lpadmin
		lpd           	   lpsched
		lpq           	   lpstat
		lpr           	   lp
		lprm          	   cancel
		lptest        	   Not available
		mach          	   uname  -p
		modstat       	   modinfo
		mount         	   mount  -F <fstype> [options]
		mount -a	   mountall
		mount_tfs     	   mount  -F <fstype>
		pax           	   cpio
		paxcpio       	   cpio
		portmap       	   rpcbind
		printenv      	   env
		ps -a         	   ps -e
		ps -aux       	   ps -el
 		Note: when ps is  invoked without the "-f" flag, the SV
		     "ps" prints  only the first N characters of the name 
		     of the program being run. You have to pass the "-f" 
		     flag to get the full command line. For example, try
		     ps -fe.

		pstat         	   sar
		pstat -s      	   swap -s
		rdump         	   /usr/sbin/ufsdump
		restore       	   /usr/sbin/ufsrestore
		rm_client     	   admintool
		rm_services   	   Not available
		rpc.etherd    	   Not available
		rpc.lockd          /usr/lib/nfs/lockd         
		rpc.mountd         /usr/lib/nfs/mountd        
		rpc.rexd           /usr/sbin/rpc.rexd
		rpc.rquotad        /usr/sbin/rpc.rquotad
		rpc.showfhd        Not available
		rpc.statd          /usr/lib/nfs/statd         
		rpc.user_agentd    Not available 
		rpc.yppasswdd      Not available 
		rpc.ypupdated      ypupdated     
		rrestore     	   /usr/sbin/ufsrestore    
		rusage             Not available 
		trace		   truss
		showmount          dfmounts 
		swapon         	   swap -a        
		sys-config	   admintool
		umount -a 	   umountall  	   
		umount_tfs	   umount -F <fstype>
		unload      	   pkgrm
		update      	   fsflush
		uptime     	   who -b
		users       	   who -q
		vipw        	   Not available
		wall        	   /usr/sbin/wall
		whereis     	   Not available
		whoami      	   id
		ypbatchupd  	   Not available
		yppasswd    	   Use nispasswd for NIS+
		ypserv      	   Not available

	Notes:  A NIS server is no longer available under Solaris2.x
		without purchasing the NSKIT from Sun.

		Under Solaris 2.x look in the /usr/sbin and /usr/lib/nfs 
		for useful programs and commands. Finally, some of
		missing commands are in the BSD Compatibility package.

	
64) 	How do I setup DNS on Solaris2.x?

	The "Setting up DNS clients" chapter of that manual is egregiously 
	out of date.  Yes, there's a bug filed against it.  
	The correct procedure is the following:

       	Create a /etc/resolv.conf file.

       	Change /etc/nsswitch.conf;  it's probably easiest 
	to start with the sample file "/etc/nsswitch.files" and change 
	the entry for "hosts" to the following:

				hosts: files dns

       	Processes that have already read /etc/nsswitch.conf won't see your
	changes until they're restarted.  If you care, the crude but effective
	approach is to reboot.

65) 	Can a SPARCclassic or LX run SunOS 4.1.3?

	No it won't run 4.1.3. However, Sun will provide you with
	a copy Solaris1.1C(4.1.3C) which will allow you to run
	"4.1.3" on a LX or Classic. These machines can also run
	4.1.3_U1 and 4.1.4. See Question 61 for more details.

	The cost is around $125 for the media and $100 for the RTU
	license.

	Users of 4.1.3C should get the DBRI patch if you don't have a
	speaker box!


66)     I just restored my root partation and now I cannot boot.
        What is wrong?


        You probably need to run installboot.  Under Solaris 1, boot
        from cdrom, boot the miniroot, mount the root filesystem on
        /mnt, and reinstall the boot block:

            cd /usr/kvm/mdec    # note - miniroot's usr, not sd0's
            installboot -vlt /mnt/boot bootsd /dev/rsd0a

        For Solaris 2, the equivalent command, which may also live
        outside the miniroot, would be:

            /usr/sbin/installboot /usr/lib/fs/ufs/bootblk \
            /dev/rdsk/c0t0d0s0

        Under Solaris 1, if only your /vmunix is bad, you may not need
        to restore anything from tape.  Before running installboot:

            cp /mnt/usr/kvm/sys/<arch>/<kernel>/vmunix /mnt/vmunix



67)	How do I disable/enable packet forwarding?

	For 4.1.x:
	Pick one of the following methods:

 	adb -k -w /vmunix /dev/mem
	ip_forwarding?
	_ip_forwarding:
	_ip_forwarding: 0               = unimp         0x0

	ip_forwarding/w -1      <- changes in running kernel only!
	ip_forwarding?w -1      <- changes running kernel and disk image

	or 

	In your kernel configuration file, insert the following line:

	options "IPFORWARDING=-1"

	Note: The above example disables packet forwarding.

	Here is a list of IP forwarding options
	(from /usr/kvm/sys/netinet/in_proto.c) 
		ip_forwarding = -1  -- never forward; never change this value.
		ip_forwarding =  0  -- don't forward; set this value to 1 
				       when two interfaces are up.
	        ip_forwarding =  1  -- always forward.

	For Solaris2.3:

	To disable ip_forwarding:

		 % ndd -set /dev/ip ip_forwarding 0

	To enable ip_forwarding:

		 % ndd -set /dev/ip ip_forwarding 1

	To reset it back to defaults:

		 % ndd -set /dev/ip ip_forwarding 2
	

68)	How do I disable the printing of banners pages?
	
	Under SunOS 4.x you need to do the following:
	
		Put :sh: in the /etc/printcap entry
		for that printer.

	For SPARCprinters you will need to edit the .param for that 
	printer. Under SunOS4.x you this file is located in the spool
	directory for that particular printer. Under SunOS5.x
	it is located under /etc/lp/printers/PRINTERNAME.
	Change the line BANNERPS=${DEFBANNER}; export BANNERPS
			to
			BANNERPS=; export BANNERPS

	Also, you may want to turn off Job Log printing. You can do
	this by changing the line PRINTJOBLOG=yes; export PRINTJOBLOG
			to
				  PRINTJOBLOG=no; export PRINTJOBLOG


	If you want to disable the banner pages permanently you
	will need to perform the following steps:

        1. cd /usr/lib/lp/model
        2. cp standard standard-nobanner
        3. Use your favorite editor to edit standard-nobanner.
           Change line 332 from:
                nobanner="no"
           to:
                nobanner="yes"
        4. lpadmin -p PRINTERNAME -m standard-nobanner

	For a large network you can make this easier by copying a 
	custom interface script at install time and doing the appropriate 
	lpadmin command.

		

69)	How do I change my hostname?

	Under SunOS 4.x you need to do the following:

		Edit you /etc/hosts file and change your
		local hostname. To avoid problems during
		the transition you may want to add this
		as an hostname alias.

		If you are running NIS you should change the
		/etc/hosts file on the master too.

		Change the hostname in /etc/hostname.xxx.
		Where xxx is the interface you want to change
		the address on.
		

	Under SunOS 5.x you need to the above plus
	change /etc/nodename, and the entries in /etc/net/*/hosts


	Both OS's also support the sys-unconfig program which can
	be used indirectly to change your hostname and any number
	of other things. This program is over kill if all you want
	to do is change your hostname. See the manpage for more details.
	

70)     Table of Solaris2.x files and their Solaris1.x equivalents?

	SunOS 4.x file		SunOS 5.x file
	/etc/fstab		/etc/vfstab
	/etc/exports		/etc/dfs/dfstab
	/etc/printcap		None
	/etc/fbtab 		/etc/logindevperm   -- available in SunOS 5.3
	/etc/rc.local		/etc/rc3.d/S99local -- See note 1.


	Note 1:  Here is a template file for /etc/rc3.d/S99local.

	#!/bin/sh

	state=$1
	case $state in
	
	# Any applications or daemons you want to start.
	'start')
		echo "starting local apps"
		;;
	# Any applications or daemons that need to be shutdown gracefully.
	'stop')
		echo "Stopping local apps"
		;;
	esac


	You may need to put the "kill" script in /etc/rc2.d/K99local but it
	is not really required.


71)	Where can I get the BSD print spooler for Solaris2.x?	 

	You can try LPLITE from Sun it is available from the following
	location:

	http://www.sun.com/cgi-bin/show?smcc/solaris-migration/tools/lplite

	You can get the 4.3BSD-reno lpr system from the following site:

        	ftp.nus.sg:/pub/NUS/ISCS/misc/lpr-sol2-p4.tar.gz

	Or another port from

		ftp.eng.auburn.edu:/pub/doug/lpr-sol2-p5.02.tar.gz

	Version's of this distribution prior to 5.0.2 have a security
	hole. Please upgrade to this version ASAP.
	


 	Or get  PLP from 

        	ftp://ftp.iona.ie/pub/plp               (main site, but slooow)
        	ftp://ftp.informatik.uni-hamburg.de/pub/utils/plp
        	ftp://ftp.beckman.uiuc.edu/pub/plp
        	ftp://ftp.zod.wau.nl/pub/mirror/plp
        	ftp://ftp.lps.ens.fr/pub/software/plp

	PLP has vastly enhanced features, like paths for printcaps, NIS and
	Hesiod support, configurable permissons for printers, ability to
	move jobs between printers and compiles out of the box on HPUX, 
	Solaris, and SunOS. Version 4 of PLP has elminated a large
	number of security holes in the LPD protocol. To subscribe
	to the PLP mailing list send mail to majordomo@iona.ie with
	subscribe plp
	as the message body.

	Last Updated:  Sept 18 , 1995.

72) 	Where is the Solaris2.x screenblank?

	You have three choices:

	Run XDM on the console and use the X servers builtin screenblank.

	Or you can run the 4.1.x screenblank in compatabilty mode.

	Or you can compile you own screenblank from sources available from

	   ftp://ftp.ece.uc.edu/pub/sun-faq/Source/screenblank_27dec94.tar.Z

	You can always get the current screenblank from

	   ftp://ftp.ee.lbl.gov/  or  ftp://ftp.netcom.com/pub/je/jef/

	Last Updated:  Sept 18, 1995.

73) 	Is there a command to display the configuration of 
	currently attached SCSI devices?
	
	Get scsiinfo from 
		ftp://ftp.ece.uc.edu/pub/sun-faq/Source/scsiinfo-4.1.shar.gz

	Or

	Get scsiping from 
		ftp://ftp.ece.uc.edu/pub/sun-faq/Source/scsiping-2.0.shar.gz


	These commands are copied periodically from
		ftp://ftp.cdf.toronto.edu/pub/

	These commands work under both SunOS 4.x and Solaris2.x.

	Last Updated:  Sept 18, 1995.

74) 	My printer will not print large files(over 1-megabyte), I 
	keep getting "file to big" errors. What do I do?

	Put the following line in your /etc/printcap file
	for the printer that has the problem.

	:mx#0:

	This basically allows for unlimited sizes of print jobs.
	Of course you are still limited by your amount of
	spool space.

	If you do not have access to /etc/printcap you can
	use the -s switch to lpr to use a "symlink" of the	
	file instead of copying the "real" file to the spool 
	directory.
	
75) 	I keep getting "data corruption" when using NFS over a wan,
	or slip/ppp link. What do I do?  or
	Does anybody know how to enable UDP checksum on NFS?

	The usually cause for this(at least for SunOS4.x) is not
	having udp checksumming turned on. 

	You can turn it at boot and while the machine is running 
	by using the following adb script:
	
	#!/bin/sh
	adb -w -k /vmunix /dev/mem << EOF
	udp_cksum?W1
	udp_cksum/W1
	EOF

	Install or call this script from rc.local.

	Or edit /usr/kvm/sys/netinet/in_proto.c and change the
	udp_cksum line (near the end from  udp_cksum = 0 to udp_cksum =1
	and reconfigure your kernel and reboot)

	For Solaris2.3:

	udp checksumming is turned on by default under SunOS5.x.
	
	If you want to verify the value use the following:

		ndd /dev/udp udp_do_checksum

	See ndd (1M) and ip (7) manual pages for more details.


76) 	Does anybody know how to enable UDP checksum on NFS?

	See the answer to question 75.

77) 	Is there a mailing list for Wabi?

	No. Currently, Sun has the following E-mail addresses that
	you can get information about Wabi and the Windows
	Apps that Wabi supports. These addresses are as follows:

	For Wabi version 1:
	 	wabi1.0-questions@east.sun.com	- FAQ List
		wabi1.0-apps@east.sun.com	- Supported Applications list
	For Wabi version 2:
	 	wabi2.0-questions@east.sun.com	- FAQ List
		wabi2.0-apps@East.Sun.COM	- Supported Applications list




78) 	Are there any public domain Multi-Vendor backup management
        systems?

	There are at least two such programs which are as follows:

	Amanda from the University of Maryland which is written in
	C and built on top of standard UNIX backup software
	such as dump/restore. The current source is available from
	ftp.cs.umd.edu in the /pub/amanda directory.

	OSU Backup from Ohio State University which is written in perl
	and built on top of standard UNIX backup software such as
	dump/restore, cpio, and GNU tar. It has the ability to backup
	some database systems(like ORACLE). Finally, it is evolving to
	support the backup of PCs via a proxy service. The current 
	source is available from ftp.cis.ohio-state.edu in /pub/backup.

79) 	How to determine the revision of SuperSPARC processor.

	There are 2 methods to identify SuperSPARC revision - by physical 
	inspection and by using the system PROM.

	To determine SuperSPARC revision by physical inspection:

        - Open system chassis (as needed)
        - Locate the SuperSPARC processor on the CPU module. The processor
          has a heat sink mounted on its top surface.  The heat sink
          may be round or of "pin fin" design.  On modules with
          External cache, the processor is the farthest from mbus
          connector.
        - 4 lines of alpha-numeric text are written on the top 
          right corner of the processor. The second line contains the 

         processor revision.  The format is 
                alpha character, 2 revision digits, 8 other alpha/digits
          Examples of processor revisions are:
                H283915478C             H313020233C             H3503027203
                 ^^                      ^^                      ^^
                 ||                      ||                      ||
                Indicates a 2.8, 3.1, and 3.5 SuperSPARC revisions respectively

	To determine SuperSPARC revision using the system PROM:

        - On a powered on system, in single user mode, press 
                'L1'  and 'A'
          keys simultaneously.  On some keyboards the keycaps will be labeled
                'Stop' and 'A'

        - On your monitor the following will be displayed
                Type 'go' to resume
                ok
        - Type
                .psr <Return>
          Your monitor will display a line of data.  Look for VER and
          IMPL fields and note their values.

        - Type
                .mcr <Return>
          Your monitor will display a line of data.  Look for VER and
          IMPL fields and note their values.

        - Type
                go <Return>
        - You now may continue to use your system normally.

        - Using the PSR and MCR IMPL/VER values you noted above,
          match them with the values in the table below to identify
          the SuperSPARC revision.  Future processors will have 
          values different than those in the table.
        
                | SuperSPARC    (2.x)   |(3.0,1,2,3) |   (3.5)    |
                +-----------+-----------+------------+------------+
                | PSR VER   |       1   |        0   |         0  |         
                | PSR IMPL  |       4   |        4   |         4  |
                | MCR VER   |       0   |        1   |         4  |         
                | MCR IMPL  |       0   |        0   |         0  |  

80)	How do I install SunOS4.1.x by hand(off a CD)?

	Installing SunOS-4.1.X from mounted cdrom:
	
	Note, these commands are examples; filenames may need to be adjusted 
	for your OS version or architecture.  You can perform this from a Sun3 
	or Sun4 running any SunOS-4.1.X, provided you take care to run the 
	right version of "installboot".  The man page includes details about 
	which systems require bootblocks with a.out format executables with
	headers, and which versions of installboot provide such.
	
	You need to change all occurances of /dev/rsd?a etc with
	the proper disk and partition information. For most SCSI
	disk configurations this device is /dev/rsd0a but check
	the boot messages to be sure.

	The example below assumes a SunOS 4.1.3_U1 distribution
	CD-ROM. Change sunos_4_1_3_u1 to the proper value for your
	distribution. 


	1) Label, format, and partition your new hard disk.
	   be sure sd?b is bigger then your physical RAM will be
           (else system dump may overwrite /usr)
	   Use the device name you are installing to.
	   You may want to also make a /dev/rsd?d /var partition
	   
	   newfs /dev/rsd?a ; newfs /dev/rsd?d ; newfs /dev/rsd?f
	   mount /dev/rsd?a /mnt
	   mkdir /mnt/var ; mount /dev/sd?d /mnt/var    # if you made one
	   mkdir /mnt/usr ; mount /dev/sd?f /mnt/usr
	
	2) mount -t hsfs -o ro /dev/sr0 /cdrom
	   cd /mnt
	   tar xpf /cdrom/export/exec/proto_root_sunos_4_1_3_u1
	
	3) Install kernel specific sys files, pick correct directory
	   for your 'arch -k'
	   
	   mkdir /mnt/usr/kvm
	   cd /mnt/usr/kvm
	   tar xpf /cdrom/export/exec/kvm/sun4c_sunos_4_1_3_u1/kvm
	   tar xpf /cdrom/export/exec/kvm/sun4c_sunos_4_1_3_u1/sys
	
	4) pick packages you want, but you must install usr

	   cd /mnt/usr
	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/usr
	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/debugging
      	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/demo
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/games
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/graphics
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/install
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/networking
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/openwindows_demo
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/openwindows_fonts
  	  tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/openwindows_programmers
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/openwindows_users
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/rfs
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/security
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/shlib_custom
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/sunview_demo
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/sunview_programmers
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/sunview_users
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/system_v
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/text
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/tli
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/user_diag
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/uucp
  	   tar xpf /cdrom/export/exec/sun4_sunos_4_1_3_u1/versatec
   	
	
        5) Install man pages if you want
  	   cd /mnt/usr
  	   tar xpf /cdrom/export/share/sunos_4_1_3_u1/manual	
  
        6) set up /sbin
  	   
  	   cp /mnt/usr/etc/hostconfig /mnt/sbin
  	   cp /mnt/usr/etc/ifconfig /mnt/sbin
  	   cp /mnt/usr/etc/init /mnt/sbin
  	   cp /mnt/usr/etc/intr /mnt/sbin
  	   cp /mnt/usr/etc/mount /mnt/sbin
  	   cp /mnt/usr/bin/sh /mnt/sbin
  	   cp /mnt/usr/bin/hostname /mnt/sbin
     
        7)  make new device nodes, you may do as needed
  	   
  	   cd /mnt/dev
  	   ./MAKEDEV std pty0 pty pty2 pty3 win0 win1
  
        8) additional root setup

  	   cp /mnt/usr/kvm/stand/vmunix /mnt
  	   chmod go-x /mnt/vmunix
  	   cp /mnt/usr/kvm/stand/boot.sun4 /mnt/boot
  
        9) run installboot
  	   I suggest reading the man page, note paths below, take care
  	   to run operating installboot binary, but specify device and
  	   paths for new boot disk.  You can even do this from a Sun3.

  	   /usr/kvm/mdec/installboot -ltv /mnt/boot \
  			 /mnt/usr/kvm/mdec/bootsd /dev/rsd?a
  
  	   if you are making a sun4c boot disk and running on a 4 or 4m
  	   machine:

  	   /usr/kvm/mdec/installboot -ltvh /mnt/boot \
  			/mnt/usr/kvm/mdec/bootsd /dev/rsd?a
  
  	   if you are making a sun4 boot disk on a 4c machine, you need
  	   to use a 4c installboot, not the one on your sun4.
  
       10) if it will have a Lance interface
  		echo newhostname > /mnt/etc/hostname.le0
  	   or if will have an Intel interface
  		echo newhostname > /mnt/etc/hostname.ie0
  
       11) create /mnt/etc/fstab, /mnt/etc/defaultrouter, 
  	   /mnt/etc/resolv.conf
  	   /mnt/etc/hosts  (must have own entry here)
  	   I also create /mnt/etc/shells, /mnt/etc/ftpusers
  	   Depending on your timezone:
  	   don't forget to 'rm /usr/lib/zoneinfo/localtime', then

  	      'ln /usr/lib/zoneinfo/EST5EDT /usr/lib/zoneinfo/localtime'
  
       12) Perform sanity check
	   umount and fsck he newly installed filesystems 

  	   umount /mnt/usr
  	   umount /mnt/var
  	   umount /mnt
  	      for the really paranoid:
  	   fsck /dev/rsd?f
  	   fsck /dev/rsd?d
  	   fsck /dev/rsd?a
  
	I suggest booting single user the first time ( from the '>'
	prompt  b sd() -s or from the ok prompt boot disk -s ).
	
	Knowing the above may save you from doing total re-installs just
	because of a messed up root partition or similar.  
	
	If you are copying an existing OS, instead of extracting distribution
	tar files, you may use the following before running installboot etc...: 
	
		dump 0dsf 6250 200000 - <directories and files to include> |
			 (cd /mnt/<area> ; restore -rf - )
	or
		find . -depth -print | cpio -pdlm newdir

	You  use find command rules to limit to a device or skip/include
	specific files.

	You could use tar to copy these directories too but
	you will have to recreate all the devices using in MAKEDEV
	which can take a long time.
	
	Last Updated:  January 27, 1995.

81)     There is a problem with the firmware on older SUN207 drives
        that makes them incompatible with the SPARCstation 10 series.
        Sun has been known to replace these at no charge, although
        there may not be an "official" return policy.  Your drive 
        must have firmware revision 19 or higher to be functional
        in a SPARCstation 10.

82)	I'm running SunOS/4.1.x and every time I try to format my
    	new 9GB SCSI disk I get "format failed" messages -- what's
    	broke, and how can I fix it?

	The SunOS kernel has a default timeout of two hours for SCSI
    	formatting -- if the time required to perform the format is
    	longer, the format fails.

    	Edit /usr/sys/scsi/targets/sddef.h and apply the following "diff",
    	then rebuild the kernel:

*** sddef.h.orig  Tue Nov 29 07:52:53 1994
--- sddef.h  Tue Nov 29 07:52:53 1994
***************
*** 396 ****
! #define SD_FMT_TIME     120*60
*** 396 ****
! #define SD_FMT_TIME     240*60

	Or you can use this small adb script to modify the SCSI
	format timeout in the running kernel.
	
	#!/bin/sh
	adb -k -w /vmunix /dev/mem  << EOF
	sd_fmt_time /W 0t9600
	EOF


	Last Updated:  April 14, 1995.

83)   	I can not get my new Exabyte 8505(or others) working under
     	SunOS(or Solaris) What to do ?

	Out of the box this drive and other Exabytes are not supported
	under Solaris2.3 or SunOS4.1.x.

	Here is what to do under SunOS
	Modify /sys/scsi/targets/st_conf.c before, after, or between the 8200 
	insert the following:

	/* Exabyte 8mm 5GB cartridge  w/compression*/ \
	{
	 "Exabyte EXB8505", 16, "EXABYTE EXB-8505", ST_TYPE_EXB8500, \
	 1024, (ST_VARIABLE | ST_BSF | ST_BSR | ST_LONG_ERASE | ST_KNOWS_EOD), \
         5000, 5000,
         { 0x14, 0x15, 0x90, 0x8c },
         { 0, 0, 0, 0 } 
	},

	Once you've remade your kernel it appears as 4 different devices:

	/dev/rst0 	- 2.3Gb             (8200 mode)
	/dev/rst8	- 5Gb               (8500 mode)
	/dev/rst16	- 2.3Gb compressed  (8200c mode)
	/dev/rst24	- 5Gb compressed    (8500c mode)
	
       	The above assumes tape drive is installed at the default SCSI id.

	Under Solaris2.x do the following:

	Edit /kernel/drv/st.conf and add

	tape-config-list=
        "EXABYTE EXB-8505", "Exabyte 8505  8mm Helical Scan", "Exa8500c_sol2_3";
        Exa8500c_sol2_3 = 1,0x29,1024,0xCE39,4,0x14,0x15,0x90,0x8C,3;

	Once the device driver is re-loaded, the following densities will be
	accessible:

	/dev/rmt/0l   - 2.3Gb             (8200 mode)
	/dev/rmt/0m   - 5Gb               (8500 mode)
	/dev/rmt/0h   - 2.3Gb compressed  (8200c mode)
	/dev/rmt/0c   - 5Gb compressed    (8500c mode)

   	The above assumes tape drive is installed at the default SCSI id.

   	Since the default density specified above is 3 (last number in entry),
	when /dev/rmt/0 is specified, device /dev/rmt/0c (5Gb compressed) will
	be used.

	For SunOS and a 10-Gigibyte Exabyte the settings are as follows:

	/* Exabyte 8mm 10GB cartridge */
	{
        	"Exabyte EXB-8500 8mm Helical Scan", 15, "EXABYTE EXB-8500",
        	ST_TYPE_EXB8500, 1024,
        	(ST_VARIABLE | ST_BSF | ST_BSR | ST_LONG_ERASE),
        	5000, 5000,
        	{ 0x14, 0x15, 0x8C, 0x8C },
        	{  0, 0, 0, 0 }

	The device is accessed via a +16 offset from the normal 
	tape devices ie /dev/rst{16,17}. Dump parameters are 
	dsb 54000 26000 126.

	For SunOS and the new SUN 14GB 8mm Drive:

	/* Exabyte 8mm 14GB TRI-DENSITY cartridge */
	{
        	"Exabyte EXB-8505 8mm Helical Scan", 16, "EXABYTE EXB-8505",
        	ST_TYPE_EXB8500, 1024,
        	(ST_VARIABLE | ST_BSF | ST_BSR | ST_LONG_ERASE),
        	5000, 5000,
        	{ 0x14, 0x15, 0x8C, 0x8C },
        	{  0, 0, 0, 0 }
	}

	Last Updated:  April 14, 1995.



84) 	The keyboard keeps stop working after exiting X or Openwin.
	What to do?

	For the general case all you need to do is log in remotely
	and reset the keyboard using /usr/openwin/bin/kbd_mode -a

	If this does not work I have modified kbd_mode to do a full keyboard
 	power on reset (ftp.ece.uc.edu:/pub/sun-faq/Source/reset_keyboard.c)

	If that does not seem to help you may have a white on white
	screen so try to clear the colormap using clear_colormap.

	Make sure that you add kbd_mode -a  to all you X11 startup scripts.

	Last Updated:  April 14, 1995.


85) 	How do I re-build the kernel under SunOS4.x?

	Here is the procedure.

	 1) cd /sys/`arch -k`/conf
	 2) Read the README.
	 3) Make a copy of the proper template file(ie cp GENERIC MYKERNEL)
	 4) Edit MYKERNEL  - Remove any unneeded drivers. These are memory
			     wasters. Also, probably want to increase
			     MAXUSERS to at least 50.
	 5) config MYKERNEL
	 6) cd ../MYKERNEL
	 7) make
	 8) cp /vmunix /vmunix.save
	 9) cp vmunix /vmunix
	10) Reboot machine to make the new kernel active. 
	
	Last Updated:  April 14, 1995.
	
86) 	How do I hook up a HP(or other) Desktop SCANNER?

	You need PINT which available from uniwa.uwa.edu.au (130.95.128.1)
 	in /pub/pint.

	Last Updated:  March 31, 1995.

87) 	How do I find which process has a file open?

	Fuser and the the Public domain/Freeware utility lsof can be used
	to find processes that have files open and much more.

	Note: fuser on SunOS4.1.x is located in /usr/kvm.

	lsof can be ftped from vic.cc.purdue.edu:/pub/tools/unix/lsof/

	lsof and fuser are available for both Solaris 2.x and SunOS 4.1.x.

	Last Updated:  April 14, 1995.


	
88)  	How do I create a partition greater than 2-gig on SunOS4.1.x?

	The max size without any additional software is 2-gig under
	SunOS.  The only way to get larger partitions is to purchase
	Online: Disksuite for SunOS4.1.x from Sun. Not only can you create
	partitions of up to 1 TB, but you can grow partitions on the fly,
	mirror, and hotswap with ODS. However, you are still limited to
	2-Gig files.

	Note: Solaris2.3 or higher can have 1-Terabyte partitions.


89)  	Why do I keep having to answer the question 
	"CLEAN FLAG IN SUPERBLOCK IS WRONG; Fix?" when running fsck on
	an active filesystem?

	You are not supposed to under any circumstances run fsck on 
	a mounted filesystem. Under these cirumstances Fsck can itself
 	cause inconsistencies to the filesystem and you should always
	you umount the filesystem frist.
	

90) 	Are dynamically linked setuid executables insecure?

	Not particularly.

	From the "ld" man page from SunOS 4.1.3:

  		NOTE: when running a set-user- or set-group-ID program, ld.so
		will only search for libraries in directories it "trusts",
		which are /usr/lib, /usr/5lib, /usr/local/lib, and any
	        directories specified within the executable as a result of
	 	-L options given when the executable was constructed.

	Of course you do always want to link with absolute pathnames
	when using the -L linker option and probably destroy any
	LD_* variables when running(just a little paranoia). 


91)	How do I change the default router under Solaris1.x or Solaris2.x?

	Just create or edit the file /etc/defaultrouter and put the hostname
	or ip address of the router that you want to use.

	If you are not running NIS(yp), then add the router entry in the
	local /etc/hosts table.

	If you are running NIS(yp), then add the router entry in the NIS
	hosts map on the NIS master and run make which will build the NIS
	maps and push them to the other slave servers.


92)	What is the difference between the Domestic vs International version
	of SunOS 4.1.x?

	There is no "domestic" vs "international" version of SunOS 4.1.x.
	There is only one version the "international".

	What makes a  "domestic" version of the SunOS is a the purchase
	and installation of US Encryption Kit available from with the
	United States and Canada(?).

	If you have installed this kit you must use the libc jumbo patch
	for the "domestic" version. Otherwise always install the 
	"international" version.

	If you have the symbols des_encrypt etc in your shared library,
 	and vi -x works, and you the commands crypt(1) and des(1) you
	have the "domestic" version of the library and associated commands.

	Do an nm /lib/libc.a | grep des_encrypt | grep T
	if this cames back with anything you have the "domestic"
	libraries.

	Last Updated:  January 27, 1995.

93)	Where can I get the latest version of TOP? 

	The latest version of "top" is always available via anonymous FTP
	from the host "eecs.nwu.edu" in the directory "/pub/top".  Additional
	modules will be made available in the directory "/pub/top/m".

	The current version supports both SunOS4.1.x and Solaris2.x 
	machines including full Multiprocessor support (even on machines
	with CPU labeled 0 and 2 and not 0 and 1).

	Last Updated:  January 27, 1995.

94)	Can I run the SX card in a Sun running SunOS4.1.x?

	THEY DO NOT EXIST NOR WILL THEY(unless one of the Clone makers
	writes one). If you want to use the SX, YOU MUST USE Solaris 2.3 or
	above.

	If you MUST run Solaris 1.x then get your salesperson to exchange it
	for a TGX/TGX+(or other 8-bit card) or go with a 3rd party framebuffer
	such as the RasterFlex-24.

95)	I just changed my shell to tcsh(or pick a favorite) and
	get  "530 User xyzz access denied" when ftping into this 
	machine. What is the problem?

	You need to list all "valid" shells in /etc/shells. An example
	of this file might be as follows:

		/bin/sh
		/bin/ksh
		/bin/csh
		/local/bin/tcsh
		/local/bin/zsh
		/local/bin/bash
		/local/bin/rc

	This files does not normally exist and the default members are
	/bin/csh and /bin/sh(and /bin/ksh on Solaris2.x).

	Last Updated:  January 10, 1995.

96)	How do I put several dump images on one tape?

	All you need to do is use the No rewind devices. For example,
	to backup /, /usr, /var, and /home to one tape(assuming all
	will fit) you could do something like this:

	mt -f /dev/rst8 rew		# Rewind the tape to the beginning
	dump 0budfs 126 54000 /dev/nrst8 6000    /
	dump 0budfs 126 54000 /dev/nrst8 6000    /usr
	dump 0budfs 126 54000 /dev/nrst8 6000    /var
	dump 0budfs 126 54000 /dev/nrst8 6000    /home

	Where /dev/nrst8 is a no rewind device under SunOS. Any
	of the valid tape devices in /dev that start with a 'n' are
	no rewind devices.	

	Under Solaris change dump to ufsdump and /dev/nrst8 to /dev/rmt/0n
	All devices in /dev/rmt/ ending in a 'n' are no rewind devices.

	You can safely ignore any messages about dump rewinding the tape.
	To restore files off the tape use the following command:

		restore -ifs /dev/nrewinddevice filenumber  -- SunOS
		ufsrestore -ifs /dev/rmt/nrewinddevice filenumber  -- Solaris

		-ifs is for interactive restore  or use
	        -rfs to restore entire dump file.

	It is a good idea to try restore something off this tape
	to verify that the dump worked. Of course you do not have to do
	this for ever tape just the first few and maybe spot check some
	after that.
	
	Note: the above method can be adopted to other backup commands
	      like tar and cpio.

	Last Updated:  January 27, 1995.

97)	Can I "dump" the whole disk to tape in one command?
	(even with several slices/partitions)

	No, you have to back up each slice separately because
	dump does not do "image" backups. See question  96 for
	the proper procedure.

	You could use the command dd to make an "image" backup of the
	entire disk but all you could do is restore the entire
	backup and not bits and pieces.

	Last Updated:  January 27, 1995.

98)	Where do I get software for my HP JetDirect Ethernet Card?

	JetAdmin software is available via anon-ftp from 
	ftpboi.external.hp.com, in the directory pub/jetdirect.  Software
	for both SunOS4.1.x and Solaris2.x is available.

	Also, you can get it via WWW using the following:

		http://www.hp.com/Misc/Peripherals.html

	Last Updated:  January 17, 1995.

99)	I do not know the root password, What do I do?

	First thing to try: (SunOS 4.x.x)
	
	Get to the boot monitor prompt by holding down the stop and
	A. Type sync to help ensure that you have no filesystem
	corruption on booting. You will need to hit STOP-A again to
	interrupt the boot process.

	Now at the '>' prompt type 
	
		b  -s 

	Or at the 'ok' prompt type 

		boot -s

	This should give you a root prompt as long as the console
	entry in /etc/ttytab is marked secure.

	If you get the '#' you should be able to edit the 
	the /etc/passwd file and remove the encrypted string for
	root's passwd or set it to what you want using the passwd
	command. 

	Once you are done type reboot to bring the machine back up.

	Second thing to try: (SunOS 4.1.x and Solaris2.x)

	Boot off the network or CD-ROM and mount the root device
	and edit the passwd file.

	Note: both of these assume no eeprom password.

	Last Updated:  January 17, 1995.

100)	Where do I find a POP server for Solaris or SunOS?

	You can get qpop from the following location

		ftp://ftp.qualcomm.com/quest/unix/servers/popper/

	Or you can get the IMAP distribution which contains a IMAP server,
	a POP 2 server, and a POP 3 server from the University of Washington
	from
 
		ftp://pine.cac.washington.edu/mail/imap.tar.Z

	This site also contains a list of IMAP client software.

	You should avoid the old Berkeley popper because of
	its many bugs and it is no longer well supported.
	Both of the above popper programs are well supported.

	Last Updated: February 9, 1995.

101)	How do I clear Stale NFS Filehandles?

	You have to umount the offending filesystem and remount.
	You may able to do something like this:

	mount -o remount /offending-filesystem

	If this does not work try:

	umount /offending-filesystem
	mount /offending-filesystem

	Finally, if none of the above works reboot.

	Last Updated:  January 17, 1995.

102)	How can I use the same ethernet interface for two different IP networks?

	The Solaris kernel supports the concept of IP aliases and you
	can do something like this 

		ifconfig le0:1 	ipaddr netmask ....

	You can do the same under SunOS4.1.x if you install the VIF code.
	Can be picked up via anonymous FTP from:

        	ftp://ftp.unit.no/pub/unix/network/vif-1.10.tar.gz

	Last Updated:  August 2, 1995.


103) 	Where do I get CAP for Solaris (or SunOS 4.1.x)?

	Here is a list of ftp sites for CAP.

        munnari.OZ.AU           /mac/{cap60.tar.Z,cap.patches/*
        rutgers.EDU             /src/{cap60.tar.Z,cap60.patches/*
        ftp.kuis.kyoto-u.AC.JP  /net/cap/{cap60.tar.Z,cap60.patches/*.Z
        src.doc.ic.AC.UK        /mac/multigate/{cap60.tar.Z,cap.patches/*

	CAP is now at patch level 195.  Note that now, the main cap file
	is cap60.pl100.tar.Z, which has patches 1-100 applied.  The user
	should then get from cap.patches/
		patches.101-126.tar.Z
		patches.127-143.tar.Z
		patches.144-154.tar.Z
		patches.155-162.tar.Z
		patches.163-182.tar.Z
		patches.183-192.tar.Z

	and any more recent patches (193 through 195).

	Under Solaris make sure that you are using gcc or /opt/SUNWspro/bin/cc
	to compile. Do not use /usr/ucb/cc.

	Last Updated:  July 22, 1995.

104) 	Where do I get DOOM for Solaris (or SunOS 4.1.x)?

	Doom for SunOS 4.1.x is not available at this time and it
	is unlikely that it will be.

	Doom for Solaris2.4 is available and can be retrieved
	from playground.sun.com:/pub/doom/sundgadoomv1.8.tar.Z
	The X version of doom in this tar file works fine 
	under Solaris2.3. The DGA version does not.

	This is the SPARC version. There are no plans for
	an x86 version at this time.

	Last Updated:  January 25, 1995.


105)	Why does "dump/ufsdump" tell me it is rewinding the tape even
	when I specified the "no rewind" device?

	Dump can not tell the difference between a "rewind device"
	and a "non rewind device". However, "dump" does
	not rewind the tape even though it says it is rewinding
	the tape.

	So you can safely ignore the "the tape rewinding" messages
	from dump when using "no rewind devices".

	Last Updated:  April 14, 1995.

106)	How can you I speed up filesystem restores and/or copies?

	In all versions of SunOS 4.1.2 and later (including Solaris2.x) 
	you can use special filesystem level ioctl. A program written
	by Caspar Dik that uses this ioctl can be downloaded as

	ftp.ece.uc.edu:/pub/sun-faq/Source/fastfs.c

	Please remember that using this program will in many
	cases cause fsck to be completely unable to fix your disk in
	the case of unexpected system shutdown.  Yes, it goes faster -
	at a very significant risk of losing the entire filesystem.

	When is using this appropriate?
	When:

	1) You're creating a new filesystem via a copy from somewhere else.
	2) You're removing all the files from a partition.
	3) You're updating a partition with files from elsewhere, and the
   		entire contents are restorable.

	Remember, this doesn't make IO go any faster, it just allows metadata
	to be written asynchronously.  If you are creating a 100 M file, this
	won't help much.  If, on the other hand, you are writing 100000 1k
	files, this will help enormously.

	Remember to restore the safe mode before shutting the system down!

	Think of this as a large chainsaw; it can be useful but has significant
	chance of unintended side effects when used by the inexperienced.

	Last Updated:  April 14, 1995.

107) 	I just added a new device (ie harddisk) to Solaris I have rebooted
	but the system still can not find it. What do I do?

	You need to do a reconfigure reboot which requires
	you to do the following:

	Either:
 		touch /reconfigure 
		reboot
	Or  
		reboot -- -r
	Or

	If you are at the prom prompt you can do: 

		ok boot -r
	or
		 > b -r 


	Last Updated:  Sept 18, 1995.

