Sun Managers Frequently Asked Questions (FAQ)

From: John DiMarco (jdd@cs.toronto.edu)
Date: Fri Mar 02 2007 - 00:30:07 EST


Archive-name: sunmanagers-faq
$Id: faq.html,v 1.28 2006/11/23 21:51:41 jdd Exp $

                    SunManagers Frequently Asked Questions

   This is collection of common questions posted to the sunmanagers
   mailing list twice a month. It is intended to benefit Sun System
   Managers and reduce traffic to the list by providing quick answers to
   common problems. Keeping with the style of a similar FAQ for
   comp.windows.x, questions marked with a '+' indicate questions new to
   this issue; those with significant changes of content since the last
   issue are marked by '*'

   The Information Files maintainer is John DiMarco <jdd@cs.toronto.edu>.
   All corrections, submissions and FAQ administration-related messages
   should go to <sunmanagers-faq@sunmanagers.org>. Do not send questions,
   subscription or unsubscription requests, or sunmanagers postings to
   this address; they will be quietly ignored.

   The List Server maintainer is Bill Bradford <mrbill at mrbill dot
   net>. Any problems with the mailing list server should be directed to
   Bill.
     _________________________________________________________________

                                   Questions

   1. The Sun-Manager's Mailing list
   1.1) How do I read, join, post to, or remove myself from the
   sunmanagers mailing list?
   1.2) What is the Sun-Manager's Charter? What are the rules?
   1.3) Are there any public archives for the sunmanagers list?
   1.4) What should I keep in mind when posting to sunmanagers?
   1.5) What other forums are there for Suns?
   1.6) Where are the answers to questions about old Suns and old
   versions of Solaris?
   1.7) What fields can I use to filter Sun Managers email?

   2. Getting Help Over the Net
   2.1) How do I find out what patches are available from Sun?
   2.2) * How do I get help migrating to Solaris?
   2.3) How do I access Sun's documentation over the net?
   2.4) To which web sites can I go for help?

   3. Network Directory and File Services
   3.1) How do I use DNS for hostname resolution?
   3.2) How do I change NIS+ credentials for the root master server?
   3.3) When I compile something, errors occur saying _dlopen and other
   _dl routines can't be found. Why?

   4. Window Systems
   4.1) + What Window system GUIs are supported by Sun?

   5. Disks, Tapes and SCSI
   5.1) * What sector/head/cylinders parameters should be used for a hard
   disk?
   5.2) * Can I replace an internal drive in a Sun with a higher capacity
   model?
   5.3) Is it okay to disconnect or connect SCSI devices while powered
   on?
   5.4) How do I configure my sun to use Exabyte 4mm DAT tape drives?
   5.5) Why is tagged queueing a problem on my third-party disk?
   5.6) Why don't third-party CD-ROMS work on my sun?
   5.7) What size and density parameters should I use for ufsdump with a
   high-capacity tape drive?
   5.8) My floppy/cdrom device says "device busy". What do I do?
   5.9) What software is available for CD-R/CD-RW?
   5.10) Where is my disk space? The "du" and "df" commands disagree.

   6. Resource Management and Performance Tuning
   6.1) How do I tell what caused my machine to crash?
   6.2) What can I do if my machine slows to a crawl or just hangs?
   6.3) How do I find out how much physical memory a machine has?
   6.4) How do I find out what my machine's memory is being used for? How
   can I tell if I need more memory?
   6.5) Why do some files take up more disk space after being copied? Why
   are the sizes reported by ls -l and du different?

   7. HTTP and Anonymous FTP
   7.1) * How do I set up anonymous ftp on my machine?
   7.2) + Where can I get a Web server for Solaris?

   8. Consoles, Keyboards and Key Remapping
   8.1) How do I make the numeric keypad on a sun keyboard work with
   xterm?
   8.2) How do I swap the CAPS LOCK and CONTROL keys on a sun keyboard?
   8.3) How do I use a Windows PC for a Sun serial console?

   9. Sun models and OS Versions
   9.1) * Which Sun models run which version of SunOS?
   9.2) How can my program tell what model Sun it is running on?
   9.3) How do I find out a Sun's boot prom revision?
   9.4) * Which hardware/software is capable of 64-bit? Which is only
   64-bit? How can I tell which is running?

   10. Miscellaneous Software
   10.1) My remote ufsdump is failing with a "Protocol botched" message.
   What do I do?
   10.2) * Where can I get a C compiler for Solaris?
   10.3) How do I read Microsoft Word documents on my Sun?
   10.4) How do I restore to a different location the contents of a
   tarfile created with absolute pathnames?

   11. Miscellaneous Hardware
   11.1) * How come my mouse occasionally doesn't work?
   11.2) How can I turn my old sun into an X-Terminal?
   11.3) * How can I use an SVGA monitor on my Sun?
   11.4) Where can I find alternate pointing devices for my Sun?

   12. Networking
   12.1) Why do both my net interfaces have the same ethernet address?
   12.2) How can I know the hardware vendor from an ethernet address?
   12.3) * How do I set my ethernet interface to e.g. 100Mb full duplex?
   12.4) How do I find out what process is using a particular port?
   12.5) I have a lot of ports in WAIT states. Why?

   13. Electronic Mail
   13.1) * Where can I get a POP or IMAP server for my sun?

   14. Printing
   14.1) + How do I get started with LP-style printing in Solaris?
   14.2) How do I configure a non-postscript printer for postscript?

   15. Misc System Administration
   15.1) I've forgotten the root password; how can I recover?
   15.2) How do I disable/remap STOP-A/L1-A?
   15.3) How do I manage services in Solaris 10 and later? Do I still
   make links in /etc/rc*.d?

                                    Answers
     _________________________________________________________________

   1. The Sun-Manager's Mailing list
     _________________________________________________________________

   1.1) How do I read, join, post to, or remove myself from the
   sunmanagers mailing list?

   Point your web browser to http://www.sunmanagers.org

   Persons without web access should send a mail message to
   "sunmanagers-request@sunmanagers.org" containing the single word
   "help".

   Messages can be posted to the list by mailing them to the address
   "sunmanagers@sunmanagers.org". Do not do this until you have read the
   charter/policy (question 1.2) and the "how to post" document at
   http://www.sunmanagers.org.

   The policy and the "how to post" document is sent to the entire list
   twice a month. It is also sent out to every new subscriber and is
   available at http://www.sunmanagers.org.

   The latest version of the FAQ (this file) is available at
   http://www.sunmanagers.org
     _________________________________________________________________

   1.2) What is the Sun-Manager's Charter? What are the rules?

   1: This list is NOT moderated! Every message that is sent to the list
   will be passed on to every member of the list.

   2: Requests to have addresses added or removed from the list should
   NOT be sent to the entire list. Instead, addresses should be added or
   removed via the web page at http://www.sunmanagers.org Similarly, test
   messages of any sort should not be sent to the list.

   3: This list is intended to be a quick-turnaround trouble shooting aid
   for those who administer and manage Sun systems. Its primary purpose
   is to provide the Sun manager with a quick source of information for
   system management problems that are of a time-critical nature.

   4: All responses are to be mailed back to the questioner and are NOT
   to be sent to the entire list. Any response to a list message sent to
   the list, rather than to the person asking the question, will be
   deleted without notice. The person who originally asked the question
   has the responsibility of summarizing the answers and sending the
   entire summary back to the list. When a summary is sent back to the
   list, the word "SUMMARY" should be the first word of the "Subject"
   line.

   5: Discussions on ANY topic are not allowed and will not be tolerated.
   If you want to discuss something, take it to the appropriate Sun
   newsgroup.

   6: If it is not specifically related to Sun system management, then it
   does NOT belong on this list. Requests for vendor recommendations are
   tolerated, provided that the hardware in question is something that
   system managers normally purchase.

   7: Commercial Advertising of any sort on the list is strictly
   prohibited.

   8: Postings about employment, either employment sought or offered, are
   not permitted on this list. Please use a more appropriate forum, e.g.
   one of the newsgroups in the misc.jobs USENET hierarchy.

   9: Requests for software (free or otherwise) should be limited to
   software that is directly related to Sun SYSTEM MANAGEMENT ONLY.

   10: Read the appropriate manuals BEFORE posting, including the "Read
   This First" documents. Oftentimes the manuals contain answers for
   common problems.

   11: When including a traceback from a system panic, make sure that it
   is a symbolic traceback. Numeric tracebacks (the ones included as part
   of the panic message) are not helpful; don't bother sending them to
   the list.

   12: A posting to sunmanagers is not a general invitation to email the
   poster -- if you wish to send email to a sunmanagers poster, the email
   you send should be related to the posting, else it will be unsolicited
   email and may be treated like any other unsolicited email (e.g. spam).
   Sunmanagers is not to be used to collect email addresses of people who
   manage Sun systems. Those who do this not only violate the list's
   policy, but risk seriously offending the very people they are
   attempting to reach.

   13: PLEASE PLEASE PLEASE...Think before you send a message! Ask
   yourself "is this really appropriate?" There are enough other
   newsgroups and mailing lists around to cover the marginal topics.
   Perhaps there is another forum that is more appropriate? Check the
   list of Sun specific newsgroups included in the FAQ. Perhaps your
   message would be more appropriate there? Remember that Sunmanagers is
   very public: we have thousands of subscribers, all postings are
   archived for posterity on various archive sites, and these sites are
   in turn searchable via various web engines. Submitting a posting is
   irreversible -- once it goes out, it cannot be taken back!

   Failure to adhere to these guidelines may result in severe
   chastisement by the list participants. Not only will you succeed in
   looking like a careless fool, and in making Sun Systems Managers all
   over the world annoyed at your incompetence, you may end up damaging
   your professional reputation.
     _________________________________________________________________

   1.3) Are there any public archives for the sunmanagers list?

   Sunmanagers' official archive is accessible at
   http://www.sunmanagers.org All postings are automatically archived. It
   is our policy not to accommodate requests to modify the archives, so
   if you are uncomfortable with your submissions in their entirety being
   public, do not submit them.

   Also, various members also keep their own archives on their own
   initiative. Some of these are public. Here are some we know about:

   http://aa11.cjb.net/sun_managers/index.htm

   Hank Leininger <hlein at progressive-comp dot com> maintains a
   searchable archive site of messages (both questions and summaries) in
   Florida. It can be accessed at:
   http://marc.theaimsgroup.com/?l=sun-managers

   Dataman Benelux in the Netherlands hosts a "fuzzy" full-text index of
   the Sun Managers mailing list at:
   http://www.dataman.nl/cgi-bin/sunmanagers

   Manfred Liebchen <liebchen at rrz dot Uni-Koeln dot DE> maintains an
   archive site in Germany. It can be accessed at:
   http://www.uni-koeln.de/RRZK/Abt-Systeme/sun/infos/SUN-MANAGERS/sunman
   .html

   Older summaries (up to mid-1999) are available at
   http://www.latech.edu/sunman.html
     _________________________________________________________________

   1.4) What should I keep in mind when posting to sunmanagers?

     * VERY IMPORTANT! Before you post, read the sunmanager's list
       policy, which is available at http://www.sunmanagers.org
     * Sun Managers is a huge unmoderated mailing list. Every message you
       send will be passed on to every member of the list. This means you
       have access to a much larger audience when you need help, but it
       also means you can embarrass yourself in front of a huge number of
       people, most of them professionals in your field, including
       colleagues, peers, and possible future employers. Further, your
       posting will be archived in various places, some public, some
       private -- we have no way of knowing all the archive locations.
       Some of these archives, including the official one at
       http://www.sunmanagers.org, are web-searchable. It is our policy
       not to accommodate requests to remove or modify postings as
       archived on http://www.sunmanagers.org. Once you submit your
       message, it will be irretrievably accessible to a large number of
       people. There is no "taking it back".
     * Sun Managers is completely voluntary. Nobody is required to help
       you. We are all cooperating by sharing our knowledge. Accept with
       grace whatever responses you get, and don't hound people if they
       are helpful or they won't be the next time.
     * Sun Managers is not the list to use when you run out of other
       places to post. Job postings, PC questions, X questions all have
       their own lists and newsgroups. Use only the appropriate list or
       newsgroup for such things, not Sun Managers. Inappropriate
       postings will only make people annoyed at you.
     * The more information you give about a problem, the easier it is
       for others to help you. This doesn't mean you should uuencode the
       kernel and post it, but you should include your OS version, your
       hardware, and all relevant symptoms of your problem. Unless the
       request is of a general nature, the output of "uname -a" is almost
       certainly helpful.
     * When making a summary, please summarize as much as possible all
       the answers you received, even the ones you didn't decide to
       follow: if you receive several different suggestions, and decided
       on one, remember that somebody else reading the summary may not
       find the suggestion you followed to be the best one in his or her
       situation, and may benefit from one of the suggestions you didn't
       choose.
     * Be generous. If you have the information requested (especially if
       it is obscure) then please respond. You may be the person
       requesting help next time.
     _________________________________________________________________

   1.5) What other forums are there for Suns?

   Other forums that relate to Suns: USENET Newsgroups (accessible via
   "rn", "readnews", "nn", netscape, etc.): There is an entire USENET
   hierarchy devoted to Sun equipment. Some of these groups include:
     * comp.sys.sun.admin - Sun system administration
     * comp.sys.sun.announce - Announcements pertaining to Sun equipment
     * comp.sys.sun.apps - Applications that run on Suns
     * comp.sys.sun.hardware - Sun hardware (and clones too, I think)
     * comp.sys.sun.misc - Miscellaneous
     * comp.sys.sun.wanted - Sun stuff to buy or sell

   Other newsgroups that may also be of interest:
     * comp.unix.solaris - Solaris on all platforms
     * alt.sys.sun - may not be available everywhere
     * comp.sys.sun - newsgroup equivalent of sun-spots
     * comp.sources.sun - Sun-specific sources (not very active)

   Mailing lists:

   Sun Flash (Sun Product Announcements/news releases)
   sunflash-request@sunvice.East.Sun.COM - add/remove requests

   SunHelp (Discussion/help/chat about Sun machines and Software)
   http://www.sunhelp.org/mailman/listinfo/sunhelp

   Rescue (Rescuing old Sun equipment from the dump)
   http://www.sunhelp.org/mailman/listinfo/rescue

   Sunergy (Sun Commercial Newsletter)
   sunergy_information@Sun.COM - add/remove requests

   Suns-at-home (Home use of Sun Workstations)
   Suns-at-Home-Request@net-kitchen.com - add/remove requests
   Suns-at-Home@net-kitchen.com - submissions
   Suns-at-Home-Archives@net-kitchen.com - archive requests

   ssa-managers (Sun RAID software and hardware products)
   majordomo@eng.auburn.edu - add/remove requests (e.g. send "subscribe
   ssa-managers" in message body)

   veritas-users (Veritas products)
   http://mailman.eng.auburn.edu/mailman/listinfo

   CIAC notes (US. DOE Computer Incident Advisory Capability)
   ciac-listproc@llnl.gov - add/remove requests
   listmanager@cheetah.llnl.gov - human list manager

   CERT Advisory mailing list (security notifications for Suns and
   others)
   cert-advisory-request@cert.org - add/remove requests

   Solaris on Intel-based (x86) machines
   http://groups.yahoo.com/group/solarisx86/
   Old list archives at: http://www.egroups.com/list/solarisonintel/

   Auspex: managers of Auspex NFS file servers
   auspex-request@princeton.edu - add/remove requests
   auspex@princeton.edu - submissions

   Solbourne: managers of Solbourne SPARC systems "info-solbourne" list
   majordomo@acsu.buffalo.edu - add/remove requests
   info-solbourne@acsu.buffalo.edu - submissions
   ftp://ftp.acsu.buffalo.edu/pub/misc/info-solbourne.tar.z archives

   disksuite-l: for users who use Sun's Solstice Disksuite software
   majordomo@lists.veritel.com.br - add/remove requests
   sysadm@veritel.com.br - list owner

   Linuxmanagers: for users of Linux, including Sun Linux.
   http://www.linuxmanagers.org

   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!

   For Web pages, see the answer to question 2.4.
     _________________________________________________________________

   1.6) Where are the answers to questions about old Suns and old
   versions of Solaris?

   Those questions and answers used to be in this FAQ, but since they're
   no longer frequently asked, they've been moved elsewhere.

   The FAQ as of late 2005 contained information about pre-UltraSPARC
   suns and versions of Solaris before Solaris 8, and is available at
   ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq-2005.

   The FAQ as of late 2000 contained information about pre-SPARC suns,
   early SPARCstations, and SunOS 4.x, and is available at
   ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq-2000.
     _________________________________________________________________

   1.7) What fields can I use to filter Sun Managers email?

   The following headers will exist in any mail to the list:
  To: sunmanagers@sunmanagers.org
  List-Help: <mailto:sunmanagers-request@sunmanagers.org?subject=help>
  List-Post: <mailto:sunmanagers@sunmanagers.org>
  List-Subscribe:
  <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,
          <mailto:sunmanagers-request@sunmanagers.org?subject=subscribe>
  List-Id: The Sun Managers Mailing List <sunmanagers.sunmanagers.org>
  List-Unsubscribe:
  <http://www.sunmanagers.org/mailman/listinfo/sunmanagers>,

  <mailto:sunmanagers-request@sunmanagers.org?subject=unsubscribe>
  List-Archive: <http://www.sunmanagers.org/pipermail/sunmanagers/>
     _________________________________________________________________

   2. Getting Help Over the Net
     _________________________________________________________________

   2.1) How do I find out what patches are available from Sun?

   If you have a software service agreement with Sun, you can use Sun's
   "SunSolve ONLINE" service to obtain patches. Check your service
   agreement for details.

   Many anonymous ftp sites have partial collections of patches.

   WARNING: if you ftp patches from an ftp site, you are trusting
   whomever put them there. To be absolutely safe, get your patches from
   a trusted source.

   Rik Harris <rik.harris at vifp dot monash dot edu dot au> maintains a
   WAIS archive (sun-fixes.src) of most available patch READMEs.

   The Sun User Group (SUG) CD ROM also has a collection of Sun patches.
     _________________________________________________________________

   2.2) * How do I get help migrating to Solaris?

   Start by reading the Solaris FAQ, maintained and posted periodically
   to comp.unix.solaris by Casper Dik <Casper dot Dik at Holland dot Sun
   dot COM>. It can be obtained at
   http://www.science.uva.nl/pub/solaris/solaris2 Then go to the Solaris
   Security FAQ, maintained by John Pancharian and hosted by IT World at
   http://www.itworld.com/Comp/2377/security-faq/

   Sun has a programme for developers/companies to migrate to Solaris.
   It's documented at http://advantage.sun.com/partners/10moves/.
     _________________________________________________________________

   2.3) How do I access Sun's documentation over the net?

   Sun has a web site devoted to documentation, at http://docs.sun.com
     _________________________________________________________________

   2.4) To which web sites can I go for help?

   This is not a complete list, but:

   First, see the answer to question 2.2.

   Sun's documentation is available at http://docs.sun.com You can search
   the Sun newsgroups at http://www.dejanews.com Sun-Managers Archives
   are described in the answer to question 1.3 above.

   Some sites suggested by Jeffrey Meltzer <meltzer at villagenet dot
   com> are:
     * SolarisGuide - http://www.solarisguide.com
     * SunHelp - http://www.sunhelp.org
     * SolarisCentral - http://www.solariscentral.org
     * SunGuru - http://www.sunguru.com
     * SunFreeware - http://www.sunfreeware.com

   TechTarget has a search engine at
   http://searchenterpriselinux.techtarget.com that also covers Solaris.

   Eric De Mund <ead at ixian dot com> suggests the BigAdmin site run by
   Sun, at http://www.sun.com/bigadmin

   Alan Pae <alanpae at ilkda dot com> suggests Sun Country, at
   http://www.ilkda.com
     _________________________________________________________________

   3. Network Directory and Files Services
     _________________________________________________________________

   3.1) How do I use DNS for hostname resolution?

   In Solaris 2.x, this is easy: simply edit /etc/nsswitch.conf and put
   "dns" before (or instead of) nis or nisplus on the line that begins
   with "hosts:". For example, to look up hostnames first in the host
   file and then in the DNS, use "hosts: files dns"
     _________________________________________________________________

   3.2) How do I change NIS+ credentials for the root master server?

   If an NIS+ system is functioning correctly and only the root password
   and root private keys for the system need to be changed, follow these
   steps:

   1) Login as root for the system and change the root password in the
   /etc/shadow file:
        {root}3% passwd
        passwd: Changing password for root
        New password:
        Re-enter new password:
        {root}4%

   2) Change the system's private key in the cred table:
        {root}4% chkey -p
        Updating nisplus publickey database.
        Reencrypting key for 'unix.ramayan@bharat.i n'.
        Please enter the Secure-RPC password for root: <enter old passwd>
        Please enter the login password for root: <enter new passwd>
        {root}5%

   3) If running replica server(s) then wait until the changes to the
   credential object table has been propagated to its replicas. This
   could be up to 2 minutes.

   4) Change the system's /etc/.rootkey:
        {root}5% keylogin -r
        Password: <enter new passwd>
        Wrote secret key into /etc/.rootkey
        {root}6%

   The procedure above will work for any system -- root server, root
   replica, non-root servers, and all clients. The steps above change
   only the system's root password and private keys, not the public keys
   for the system.

   Thanks to Ronald W. Henderson <rwh at atmos dot albany dot edu>.

   However, if you want to change all the root credentials, including the
   public key, follow these steps:

   Use the passwd command on the root master server to change the root
   password. But DO NOT follow this with a chkey -p to update the
   credentials for the root master server, because this will disable the
   entire NIS+ domain. The only way to recover from this is to rebuild
   the domain from scratch!

   It is possible to change the credentials of the root master server,
   but it is not easy. The procedure follows:

   To change the keys for the root master server do as follows:
  1. use these commands in this order:

         nisupdkeys -CH master.server.name. groups_dir.domain.name.
         nisupdkeys -CH master.server.name. org_dir.domain.name.
         nisupdkeys -CH master.server.name. domain.name.

         (This CLEARS the public key for the HOST "master.server.name" in this
  directory.)

  2. Kill rpc.nisd and restart it at security level O then run this command:

         nistbladm -R cname=master.server.name. cred.org_dir.domain.name.
         nisaddcred des

         <This deletes the old credential and creates a new one.>

  3. Shutdown and restart any replicas of org_dir.domain.name. at run level O

         nisping org_dir.domain.name.

  <This propogates the new key pair to the replicas.>

         nisdupdkeys domain.name.
         nisupddkeys org_dir.domain.name.
         nisupdkeys groups_dir.domain.name.

         <This puts the new credential in the effected directory objects.>

  4. Kill and restart all rpc.nisd servers at level O to security level 2.

   Note that changing a server's key affects all directory objects
   containing the key.

   Thanks to Rogerio Rocha <rogerio at bvl dot pt> and Sun INFODOC ID
   2213 for this information.
     _________________________________________________________________

   3.3) When I compile something, errors occur saying _dlopen and other
   _dl routines can't be found. Why?

   You are probably trying to compile something statically. You must
   either include stub routines for the _dl routines, or you must link
   the C library (or -ldl) dynamically. The source code below provides
   do-nothing stubs for the routines in question.

        /* libdl stubs -- John DiMarco <jdd@cs.toronto.edu> */
        char *dgettext(domainname, msgid)
        char *domainname;
        char *msgid;
        { return(msgid); }

        void *dlopen(pathname, mode)
        char *pathname;
        int mode;
        { return((void *)NULL); }

        void *dlsym(handle, name)
        void *handle;
        char *name;
        { return((void *)NULL); }

        char *dlerror()
        { return(NULL); }

        int dlclose(handle)
        void *handle;
        { return(0); }
     _________________________________________________________________

   4. Window Systems
     _________________________________________________________________

   4.1) + What Window system GUIs are supported by Sun?

   Sun's default window system for Solaris is CDE; Gnome is also
   supported. Sun's Java Desktop System and the Sunray software for Linux
   uses Gnome.
     _________________________________________________________________

   5. Disks, Tapes and SCSI
     _________________________________________________________________

   5.1) * What sector/head/cylinders parameters should be used for a hard
   disk?

   The format program can almost always figure this out on its own by
   querying the drive, but if you wish, you can specify your own in
   /etc/format.dat.

   A format.dat file containing entries submitted by various people is
   available for anonymous ftp at
   ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/format.dat It is
   currently maintained by John DiMarco (jdd@cs.toronto.edu). New entries
   are welcome; mail them to sunmanagers-format@sunmanagers.org

   For SCSI disks on modern suns, a format.dat entry can be
   auto-generated using John DiMarco's scsiinfo program, available at
   ftp://ftp.cs.toronto.edu/pub/jdd/scsiinfo/. It will query the disk
   directly, and has an option to generate an appropriate format.dat
   entry.

   Finally, you can compute your own entry. For SCSI disks, any
   combination of cylinders, heads, and sectors that does not add up to
   more than the rated formatted capacity of the drive will normally
   work. A grossly different geometry may result in some slight
   performance degradation, but it should still work. The SCSI protocol
   hides most of the drive details from the host, and hence the host need
   not know much about the drive to format or use it.
     _________________________________________________________________

   5.2) * Can I replace an internal drive in a Sun with a higher capacity
   model?

   Yes, usually. If you purchase it from someone other than Sun, it is
   wisest to make sure that it is either a model of drive that is
   supported by Sun for that machine, or that it at least does not
   dissipate more heat than the hottest of the drives supported by Sun.
   The Sun Systems Handbook lists various drives supported on various
   models; you can query it on the web for modern Suns at
   http://sunsolve.sun.com/handbook_pub/Systems. For systems which are
   not maximally configured (e.g. there are empty internal drive bays),
   it might be safe to exceed this limit a bit, but caveat emptor.

   Disk drive heat dissipation/power figures are available on the drive's
   datasheet, available on the drive vendor's web site. The most relevant
   figure is the wattage indicated for "Read/Write" or "Seek".
   Unfortunately, different vendors report this in different ways; read
   the vendor's documentation to see what this figure indicates. This
   figure is sometimes indicated in amps at 5V and 12V; convert to watts
   by multiplying the voltage by the amperage in each case, and adding
   the two together.
     _________________________________________________________________

   5.3) Is it okay to disconnect or connect SCSI devices while powered
   on?

   On older machines (without onboard SCSI controllers), it is never a
   good idea to do this. You risk blowing a fuse on the CPU board, or
   part of the SCSI hardware. On newer machines (sparcstations and
   later), many people have done this regularly without problems. Halt
   the machine (sync;L1-A), remove or add the device, then continue.
   However, it is possible to blow the SCSI termination power fuse on the
   motherboard. If your machine hangs immediately on powerup unless the
   SCSI bus is externally terminated, this fuse may need to be replaced.
   Caveat Emptor.
     _________________________________________________________________

   5.4) How do I configure my sun to use Exabyte 4mm DAT tape drives?

   Add the following to /kernel/drv/st.conf:
    tape-config-list =
      "EXABYTE EXB-4200", "Exabyte 4mm EXB-4200", "EXBT-4200",
      "EXABYTE EXB-4200c", "Exabyte 4mm EXB-4200c", "EXBT-4200c"

    EXBT-4200 = 1,0x34,1024,0x0029,4,0x63,0,0,0,3;
    EXBT-4200c = 1,0x34,1024,0x0029,4,0x63,0,0x13,0,3;

   Exabyte also recommends that their 4mm tape drives have firmware
   revision levels of at least the following when used on suns:
     * EXB-4200 No restriction, but revision 148 or higher is recommended
     * EXB-4200c Level 149 minimum (mode select for compression)

   Thanks to Dave Hightower <hightowr at afwc dot af dot mil>.
     _________________________________________________________________

   5.5) Why is tagged queueing a problem on my third-party disk?

   Tagged Command Queueing (TCQ) is an optional part of the SCSI-2
   specification. It permits a drive to accept multiple I/O requests for
   execution later. These requests are "tagged" by a reusable id so that
   the drive and the OS can keep track of them. The drive can reorder
   these requests to optimize seeks. For more details, see the SCSI-2
   specifications. A draft version is available at
   ftp://ftp.cs.toronto.edu/pub/jdd/scsi-doc/scsi2.10b.gz

   SunOS 4.x and earlier never uses tagged queueing. However, Solaris 2.x
   will make use of tagged queuing if the drive claims to support it.
   Unfortunately, some drive manufacturers have found it hard to design
   their drives to do tagged queueing properly, and this particular area
   has been a common source of bugs in drive firmware.

   If it is not possible to turn off tagged queueing in the drive that is
   causing the problem, Solaris 2.x can be told not to use tagged
   queueing at all, by putting the following line in /etc/system:

   set scsi_options & ~0x80

   The "scsi_options" kernel variable contains a number of bit flags
   which are defined in /usr/include/sys/scsi/conf/autoconf.h. 0x80
   corresponds to tagged queueing.

   However, this turns off tagged queueing for the entire machine, not
   just the problematic drive. Because tagged queueing can provide a
   significant performance enhancement for busy drives, this may not
   always be desirable. In Solaris 2.4 and later, it is possible to
   disable tagged queueing and set or clear other scsi options on a
   per-controller or per-drive basis. The appropriate technique is
   described in the esp(7) and isp(7) man pages.
     _________________________________________________________________

   5.6) Why don't third-party CD-ROMS work on my sun?

   When Sun first decided to add CD-ROM support, there were already a
   great number of systems in the field, all of which contained boot
   proms that expected to boot from disks with 512 byte sectors. Sun had
   to decide between replacing a whole lot of boot proms or finding a way
   to make a CDROM act like a disk with 512 byte sectors in order to
   support it as a boot device. They chose the latter approach.

   Many third party CD-ROM drives use 1024 or 2048-byte sectors, which
   causes the SCSI driver to see a "data overrun". When the driver asks
   for N "blocks" (which it thinks are 512 bytes each ) it gets more data
   back than it expected.

   Some CD-ROM drives can be told to use 512 byte sectors by setting a
   jumper, cutting a trace, or using a software command (mode select).
   Details vary widely, but if you are seeing a data overrun on a third
   party CD-ROM, then it is most likely doing 1K or 2K transfers and will
   need some work to be a boot device for a Sun.

   Thanks to Kevin Sheehan <Kevin dot Sheehan at uniq dot com dot au>

   For more information about third-party CD-ROMS on Suns, consult the
   CD-ROM FAQ, maintained by Mike Frisch <mfrisch at saturn dot tlug dot
   org> and Martin Hargreaves <martin at datamodl dot demon dot co dot
   uk>. It can be found on the World Wide Web at
   ""http://saturn.tlug.org/suncdfaq". A UK mirror is available at
   ""http://www.datamodl.demon.co.uk/suncd/".
     _________________________________________________________________

   5.7) What size and density parameters should I use for ufsdump with a
   high-capacity tape drive?

   The only purpose of the ufsdump size and density parameters is to let
   dump calculate the capacity of each tape and then decide for itself
   when it needs a new tape. If the filesystem you are dumping is larger
   than the tape, you will need to use more than one tape. But ufsdump
   can detect the end of media for all modern tape drives, and will
   automatically prompt for new tapes when needed, so as long as the size
   and density parameters indicate a tape as long as or longer than the
   one you're using, ufsdump will behave properly.

   Thanks to Niall O Broin <nobroin at esoc dot esa dot de>
     _________________________________________________________________

   5.8) My floppy/cdrom device says "device busy". What do I do?

   The Volume Manager (vold) is probably holding the device open. You can
   access a floppy through the volume manager by typing "volcheck" and
   looking in /floppy/*. CD-ROMs don't require volcheck; just insert one
   and the volume manager should automatically notice, and mount it under
   /cdrom/*. Unmount by typing "eject floppy" or "eject cdrom",
   respectively. The Volume Manager can be configured by editing
   /etc/vold.conf.

   If you need to access a floppy or CD-ROM special device, however, you
   may need to turn off the volume manager. As root, type
   "/etc/init.d/volmgt stop". To turn it back on, type
   "/etc/init.d/volmgt start".
     _________________________________________________________________

   5.9) What software is available for CD-R/CD-RW?

   Commercial Software:

   GEAR by Elektoson - http://www.elektroson.com/ Young Minds -
   http://www.ymi.com/ - High-end integrated hardware/software solution
   Creative Digital Research - http://www.cdr1.com/

   Joerg Schilling has developed an excellent cd recording package called
   cdrecord. This package should meet most needs. See
   http://www.fokus.gmd.de/research/cc/glone
   /employees/joerg.schilling/private/cdrecord.html for much more
   information, including supported hardware.

   Andy McFadden has an excellent CD-Recordable FAQ at:
   http://www.cdrfaq.org

   Thanks to Mark Belanger <mjb at ltx dot com>
     _________________________________________________________________

   5.10) Where is my disk space? The "du" and "df" commands disagree.

   If a process is holding open a file, and that file is removed, the
   space belonging to the file is not freed until the process either
   exits or closes the file. This space is counted by "df" but not by
   "du". This often happens in /var/log or /var/adm when a long-running
   process (e.g. syslog) is holding open a file. In the case of syslog,
   send it a HUP (e.g. kill -HUP <syslog's process ID>).

   You can use LSOF
   (ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof) to find
   which processes are holding open a particular file. Thanks to Stefan
   Voss <s dot voss at terradata.de> and Michael R. Zika <zika at oconto
   dot tamu dot edu>

   Under Solaris 2.6 and later, files which have been unlinked can still
   be accessed through the /proc interface. If a process is holding open
   such a file for writing, but it's inconvenient or impractical to kill
   the process or get it to close the file, you can free up the disk
   space by truncating (not removing) the file from under /proc; e.g.,

        # cd /proc/1234/fd
        # ls -l
        c--------- 1 root 24, 12 Jan 1 11:33 0
        c--------- 1 root 24, 12 Jan 1 11:33 1
        c--------- 1 root 24, 12 Jan 1 11:33 2
        --w------- 1 root 314159265 Jan 1 11:37 3
        # : > 3
        # ls -l
        c--------- 1 root 24, 12 Jan 1 11:33 0
        c--------- 1 root 24, 12 Jan 1 11:33 1
        c--------- 1 root 24, 12 Jan 1 11:33 2
        --w------- 1 root 0 Jan 1 11:38 3

   Thanks to Dan Astoorian <djast at cs dot toronto dot edu>

   Brian Poole <raj at cerias dot purdue dot edu> writes:
           Another possible cause of df & du disagreeing is if the files are
           being 'hidden' under a mount. I ran into this recently where I
           had a large number of files in /tmp (from adding patches in single
           user mode) that were on the root partition. Thus when I was
           looking for them in multiuser mode, I couldn't find them because
           of the tmpfs overlay. I exported the root partition via NFS and
           upon mounting it found the hidden files and deleted them.
     _________________________________________________________________

   6. Resource Management and Performance Tuning
     _________________________________________________________________

   6.1) How do I tell what caused my machine to crash?

   The crash messages will usually be displayed on the console, and are
   usually logged to /var/adm/messages via syslog as well after a warm
   reboot. In older versions of Solaris, the "dmesg" command may also
   show crash messages. If your system repeatedly crashes with similar
   looking errors, try searching through the patch list on the Sun patch
   database for a description that matches your machine.

   In versions of Solaris 2 up to and including Solaris 2.6, uncomment
   the "savecore" line in the file /etc/init.d/sysetup to enable crash
   dumps. As of Solaris 7 and later, crash dumps are enabled by default;
   see the manual page for dumpadm(1M) for information on how to
   customize system dump configuration.

   To report a crash dump, you need a symbolic traceback for it to be
   useful to the person looking at it. Type the following: cd
   /var/crash/`hostname` echo '$c' | adb -k unix.0 vmcore.0

   The "crash" utility can be useful for analyzing crash dumps for
   Solaris up to and including Solaris 8. "Crash" has been superseded by
   "mdb" (modular debugger) as of Solaris 8.

   Thanks to Dan Astoorian <djast at cs dot toronto dot edu>
     _________________________________________________________________

   6.2) What can I do if my machine slows to a crawl or just hangs?

   Try running "ps" to look for large numbers of the duplicate programs
   or processes with a huge size field. Some system daemons occasionally
   can get into a state where they fork repeatedly and eventually swamp
   the system. Killing off the child processes doesn't do any good, so
   you have to find the "master" process. It will usually have the lowest
   pid.

   Another useful approach is to run vmstat to pin down what resource(s)
   your machine is running out of. You can tell vmstat to give ongoing
   reports by specifying a report interval as its first argument.

   The programs "top" and "sps" are good for finding processes that are
   loading your system. "Top" will give you the processes that are
   consuming the most cpu time. "Sps" is a better version of "ps" that
   runs much faster and displays processes in an intuitive manner. Top is
   available at ftp://ftp.groupsys.com/pub/top/. Sps is available at
   ftp://ftp.csv.warwick.ac.uk/pub/solaris2/sps-sol2.tar.gz.

   Doug Hughes <Doug dot Hughes at Eng dot Auburn dot EDU> has written a
   small, quick PS workalike called "qps", available from his web page at
   http://www.eng.auburn.edu/users/doug/second.html

   Sometimes you run out of memory and you won't be able to run enough
   commands to even find out what is wrong. You will get messages of the
   type "out of memory" or "no more processes". Note that "out of memory"
   refers to virtual memory, not physical memory. On a Solaris system,
   virtual memory is generally equal to the sum of the swap space and the
   amount of physical memory (less a roughly constant amount for the
   kernel) on the machine. The command "swap -s" will tell you how much
   virtual memory is available.

   You can sync the disks to minimize filesystem corruption if you have
   to crash the system:

   Use the L1-A sequence to crash the system. If you are on an older
   system, type "g0" and you will get the message "panic: ... syncing
   file systems". When you see the word "done", hit L1-A again and
   reboot. On systems with the "new" prom, type "n" to get into the new
   command mode and type "sync".
     _________________________________________________________________

   6.3) How do I find out how much physical memory a machine has?

   Use /usr/sbin/prtconf if the machine is running Solaris. If it's a
   sun4u running Solaris 8 or previous, /usr/platform/sun4u/sbin/prtdiag
   is very helpful. It's /usr/sbin/prtdiag in Solaris 9 and later.

   On high-end machines, /usr/sbin/cfgadm -al can also provide memory
   information.

   The banner message on reboot (or type "banner" in the monitor on
   machines with Openboot proms) will usually report the amount of
   physical memory.

   Alternatively, you can open up the case and count SIMMS and/or memory
   boards.

   A perl script "memconf" is also available that identifies the sizes
   and locations of SIMM/DIMM memory modules installed in a Sun system.
   It also works on several SPARC clones and with Sun Explorer data. It
   is maintained by Tom Schmidt <tschmidt at micron dot com>. Download
   memconf from http://www.4schmidts.com/unix.html
     _________________________________________________________________

   6.4) How do I find out what my machine's memory is being used for? How
   can I tell if I need more memory?

   To discover how much virtual memory (i.e. swap) is free, run "swap -s"
   or "vmstat". If you're using tmpfs for /tmp, "df /tmp" will also work.

   Discovering how physical memory is being used can be more difficult,
   however. Memory pages that are not being used by processes are used as
   a sort of extended cache, storing pages of memory-mapped files for
   possible later use. The kernel keeps only a small set of pages free
   for short-term use, and frees up more on demand. Hence the free memory
   reported by vmstat is not an accurate reflection, for example, of the
   amount of memory available for user processes.

   An easy way to determine whether or not your machine needs more memory
   is to run vmstat and examine the po (page out) column and the sr (scan
   rate) column. If these columns consistently show large numbers, this
   suggests that your machine does not have enough memory to support its
   current workload, and frequently needs to write pages belonging to
   active processes to disk in order to free up enough memory to run the
   current job.
     _________________________________________________________________

   6.5) Why do some files take up more disk space after being copied? Why
   are the sizes reported by ls -l and du different?

   Some files -- core files being one common example -- contain "holes",
   areas which were seeked over without being written. These files are
   called "sparse". When read back, these areas appear to contain zeros;
   however they do not occupy disk space. The "length" of such a file (as
   reported by "ls -l") will exceed its "size" (as reported by "ls -s"
   and reflected in the results of du or df).

   cp, cpio, and tar do not detect holes; they read and copy the zeros,
   and the resulting files will contain all-zero blocks (which occupy
   space) where the input files contained holes (which do not).

   dump will detect holes in the dumped files, and restore will reproduce
   them.

   Thanks to Perry Hutchison <perryh at pluto dot rain dot com>

   GNU tar has an "-S" option which preserves holes, and Joerg
   Schilling's "star" has "-sparse" and "-force_hole" options which can
   be used to preserve and re-insert holes, respectively. star is
   available for download at ftp://ftp.fokus.gmd.de/pub/unix/star
     _________________________________________________________________

   7. HTTP and Anonymous FTP
     _________________________________________________________________

   7.1) * How do I set up anonymous ftp on my machine?

   See the ftpd man page, and follow its instructions. You will also need
   to set up nsswitch.conf in etc. However, you should consider using a
   different ftpd, such as http://www.wu-ftpd.org.
   Solaris "pkg" versions of proftpd and wuftpd are available at:
   http://metalab.unc.edu/pub/packages/solaris/sparc/
   ftp://ftp.adelaide.edu.au/pub/4.3/ftpd-sirius.tar.Z

   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

   Warning: it will log passwords of ordinary users.
   Also enable syslogd by adding:
       daemon.info /var/adm/syslog

   to "/etc/syslog.conf".
     _________________________________________________________________

   7.2) + Where can I get a Web server for Solaris?

   The open-source Apache web server and related tools are available on
   the Solaris Software Companion CD, which is part of the media kit for
   the Solaris distribution. The contents of this CD are also available
   for free download at http://www.sun.com/software/solaris/freeware.
   Apache binaries can also be retrieved from the following sites and
   many others:
     * http://www.sun.com/software/solaris/freeware
     * ftp://metalab.unc.edu/pub/packages/solaris/sparc/
     * http://www.gnu.org/order/ftp.html
     * http://sunfreeware.com

   The Sun Java System Web server is available for download from Sun at
   http://www.sun.com/software/products/web_srvr/home_web_srvr.xml; the
   Sun Java System Application Server is available for purchase from Sun
   at http://www.sun.com/software/products/appsrvr.
     _________________________________________________________________

   8. Consoles, Keyboards and Key Remapping
     _________________________________________________________________

   8.1) How do I make the numeric keypad on a sun 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.

   Thanks to Margarita Suarez <marg at manila dot cc dot columbia dot
   edu>
     _________________________________________________________________

   8.2) How do I swap the CAPS LOCK and CONTROL keys on a sun keyboard?

   There are two ways to do it, one with xmodmap (for X11 only), and the
   other using keytables.

   Margarita Suarez <marg at manila dot cc dot columbia dot edu> suggests
   editing $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.

   Doug Hughes <Doug dot Hughes at Eng dot Auburn dot EDU> suggests using
   xmodmap with the following:

        remove Lock = Caps_Lock
        remove Control = Control_L
        keysym Control_L = Caps_Lock
        keysym Caps_Lock = Control_L
        add Lock = Caps_Lock
        add Control = Control_L

   In X11, you can change your keyboard layout as you please using the
   xkeycaps application, which allows you to edit and remap your keyboard
   on the fly, as well as save configurations to be sourced by xmodmap.

   xkeycaps is available from http://www.jwz.org/xkeycaps/ and in the
   contrib section of your friendly X11 source archive.

   Thanks to Dan Pritts <danno at ans dot net> for the info on xkeycaps.
     _________________________________________________________________

   8.3) How do I use a Windows PC for a Sun serial console?

   Wire up a serial cable from the Sun's serial cable to one of the PC
   serial ports. PC serial ports are usually (but not always) DB9
   (9-pin), while Sun serial console ports are usually (but not always)
   25-pin (DB25). You generally need to connect them through a "null
   modem adapter". For more information on serial ports, see Sunhelp's
   UNIX serial port resources page, at
   http://www.sunhelp.org/unix-serial-port-resources

   The next problem is that the version of Hyperterminal which comes with
   some versions of Windows cannot generate a BREAK signal. You can
   obtain a new version of Hyperterminal from
   http://www.hilgraeve.com/htpe/index.html There are many free
   alternative terminal programs. Special mention should be made of
   TeraTerm: http://hp.vector.co.jp/authors/VA002416/teraterm.html which
   has been updated with SSH support as Teraterm Pro, which is available
   from http://www.ayera.com/teraterm

   For newer suns which support ALOM, a serial or telnet connection to
   the ALOM is generally preferable. A pinout of the serial RJ-45 ALOM
   connector can be found in Sun's "Sun Advanced Lights Out Manager
   (ALOM) 1.6 Administration Guide".

   Thanks to Harvey Wamboldt <harvey at mdacorporation dot com >
     _________________________________________________________________

   9. Sun models and OS Versions
     _________________________________________________________________

   9.1) * Which Sun models run which versions of SunOS?

   SunOS 5.x = Solaris 2.x
   Sun dropped the "2." when Solaris (2.)7 came out. i.e. Solaris 7 =
   "Solaris 2.7" = SunOS 5.7, Solaris 8 = "Solaris 2.8" = SunOS 5.8 and
   so on.
   In the following list, the specified OS is the earliest supported on
   the specified hardware. Some CPU modules may require later OS versions
   than listed.
     * Ultra 1 model 140, 170: Solaris 2.5
     * Ultra 1 model 140E, 170E, 200E: Solaris 2.5.1
     * Ultra 2: Solaris 2.5.1
     * Ultra 5,10,30,60,250,450: Solaris 2.5.1HW1297 or Solaris 2.6HW0398
     * Ultra Enterprise: Solaris 2.5.1
     * SunBlade 100, SunBlade 1000: Solaris 8HW1000
     * SunBlade 150: Solaris 8 5/03; Solaris 9 4/03
     * 3800, 4800, 4810, 6800: Solaris 8HW0401
     * B100s: Solaris 8 12/02, Solaris 9 4/03
     * V100: Solaris 8 2/02
     * V120: Solaris 8 10/01
     * V210, V240: Solaris 8 12/02, Solaris 9 4/04
     * V250: Solaris 8 7/03, Solaris 9 8/03
     * 280R: Solaris 8 2/02, Solaris 9 12/02
     * V440: Solaris 8 7/03, Solaris 9 12/03
     * V490,V890: Solaris 8 2/04, Solaris 9 4/04, Solaris 10 3/05
     * V880: Solaris 8 10/01, Solaris 9 4/03
     * E2900,E4900,E6900: Solaris 8 2/04, Solaris 9 4/04, Solaris 10 3/05
     * B200x, v20z, v40z: Solaris 9 x86 4/04
     * v20z,v40z single-core: Solaris 10 x86, Solaris 9 HW 4/05 x86
     * v20z,v40z dual-core: Solaris 10 x86, Solaris 9 HW 9/05 x86
     * X2100: Solaris 10 x86
     * X4100,4200: Solaris 10 x86 3/05HW1
     * T1000: Solaris 10 1/06
     * T2000: Solaris 10 3/05HW2

   9.2) How can my program tell what model Sun it is running on?

   On older suns, the model type is encoded in the hostid, and
   /usr/sbin/prtconf will reveal the model type.

   "Suntype", written by John DiMarco (jdd@cs.toronto.edu) is a shell
   script which does the appropriate thing on all suns. It is available
   for anonymous ftp at ftp://ftp.cs.toronto.edu/pub/jdd/suntype

   Alternatively, grab Michael Cooper's <mcooper at magnicomp dot com>
   "sysinfo" program, which provides all sorts of information about a
   given system, including the machine type. sysinfo is available on the
   web at http://www.magnicomp.com/, although it is now a commercial
   product that is free only for educational and non-profit
   organizations.
     _________________________________________________________________

   9.3) How do I find out a Sun's boot prom revision?

   Type "banner" at the prom, or type "/usr/sbin/prtconf -V" to determine
   the prom revision of a particular machine.

   Alternatively, grab Michael Cooper's <mcooper at magnicomp dot com>
   "sysinfo" program, which provides all sorts of information about a
   given system, including the prom revision. sysinfo is available on the
   web at http://www.magnicomp.com, although it is now a commercial
   product that is free only for educational and non-profit
   organizations.
     _________________________________________________________________

   9.4) * Which hardware/software is capable of 64-bit? Which is only
   64-bit? How can I tell which is running?

   All UltraSPARC and SPARC64 (Primepower) hardware is capable of running
   in 64-bit mode; earlier SPARCs (HyperSPARC, SuperSPARC, etc.) are
   32-bit only. Only some UltraSPARC-I, UltraSPARC-II, and
   UltraSPARC-II-i systems are capable of both 32-bit and 64-bit
   operation; later UltraSPARC systems are 64-bit only.

   Early UltraSPARC-I hardware (up to 200MHz) suffers from a bug where,
   in 64-bit mode, a certain code sequence can cause the processor to
   stall, and thus UltraSPARC-I machines run in 32-bit mode by default.
   To allow a 64-bit kernel on such a machine, edit/create
   /platform/<platform-name>/boot.conf and add the line:
   ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true

   All Sun Opteron hardware is capable of both 64-bit and 32-bit
   operation, but Solaris x86 on some Opteron models (X2100, X4100,
   X4200) runs in 64-bit mode only. Sun Xeon and Pentium-III hardware are
   capable only of 32-bit operation.

   "isainfo -kv" or "isainfo -b" will indicate whether a system is
   running in 32-bit or 64-bit mode.
     _________________________________________________________________

   10. Miscellaneous Software
     _________________________________________________________________

   10.1) My remote ufsdump is failing with a "Protocol botched" message.
   What do I do?

   The problem produces output like the following:

        ...
       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 (or .profile) on the remote
   machine prints something to stdout or stderr (eg. stty, echo). The
   remote ufsdump 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.
     _________________________________________________________________

   10.2) * Where can I get a C compiler for Solaris?

   Sun's "Studio" compiler suite can be obtained at
   http://www.sun.com/software/products/studio. Various third-party
   commercial SPARC compilers are also available, including:
     * http://www.ghs.com
     * http://www.apogee.com
     * http://www.windriver.com
     * http://www.pgroup.com
     * http://www.intel.com (Solaris x86 only)

   The open-source GCC compiler and related tools are available on the
   Solaris Software Companion CD, which is part of the media kit for the
   Solaris distribution. The contents of this CD are also available for
   free download at http://www.sun.com/software/solaris/freeware Thanks
   to Eric Boutilier <Eric dot Boutilier at Sun dot COM>

   GCC binaries can be retrieved from the following sites and many
   others:
     * http://www.sun.com/software/solaris/freeware
     * ftp://metalab.unc.edu/pub/packages/solaris/sparc/
     * http://www.gnu.org/order/ftp.html
     * http://sunfreeware.com

   More information on this topic is available at
   http://www.kevininscoe.com/geek/sun/compilesun/ Thanks to Kevin Inscoe
   <kevin at inscoe dot org>
     _________________________________________________________________

   10.3) How do I read Microsoft Word documents on my Sun?

   You can obtain some of the raw content of the document by using the
   "strings" command. Note that Word documents (and documents produced by
   other Microsoft Office programs, like Excel) can sometimes contain
   hidden information that is not normally accessible from Word, but is
   visible using "strings" (this can be a good reason not to distribute
   documents in MS Office formats).

   It is possible to run some versions of Microsoft Word on your Sun,
   using Bochs, WABI, SoftWindows, WinCenter, WinDD, SunPC, or some other
   Windows integration product.

   You can use a word-processor that can import the various MS Word
   formats. For example, Word Perfect from Corel Corporation is capable
   of reading and saving in various MS Word formats. Word Perfect is
   available for several versions of UNIX, including SPARC/Solaris 2.x.
   Sun's StarOffice is available for various operating systems, including
   Solaris/SPARC, from http://www.sun.com/staroffice. OpenOffice is also
   freely available for Solaris x86 and SPARC from
   http://www.openoffice.org.

   From a PC/Mac, you can print postscript output to a file, and view the
   postscript on the Sun using docviewer or ghostscript/ghostview.

   Thomas Anders <anders at hmi dot de> points out that LAOLA (a Perl4
   package that can read Word6 and Word7 format is available on the web
   at http://user.cs.tu-berlin.de/~schwartz/pmh/.
     _________________________________________________________________

   10.4) How do I restore to a different location the contents of a
   tarfile created with absolute pathnames?

   Tarfiles should not normally be created with absolute pathnames, only
   with relative pathnames. Do not type "tar c /path/name" to create a
   tar archive, type "(cd /path; tar c name)" instead.

   Note: if you do "(cd /path/name; tar c .)", you will indeed avoid
   absolute pathnames, but beware that the tarfile created may silently
   overwrite the permissions of the current directory when unpacked.
   That's OK if you unpack it via:
        "mkdir name; cd name; tar xf /my/tarfile.tar

   That's not OK if you unpack it via:
        "cd /tmp; tar xf /my/tarfile.tar"

   It's not OK because you will change the permissions of /tmp.

   If you do have an archive created with absolute pathnames, you can
   unpack it in a different location by using GNU's version of tar, which
   will strip off the leading /.

   Alternatively, you can use pax to strip off the leading /, as follows:
         pax -r -s '/^\///' <abspath.tar

   Or you can use chroot and a statically linked version of tar, as
   follows:
        cp /usr/sbin/static/tar /tmp/restore
        # cd /tmp/restore
        # cat abspath.tar | chroot /tmp/restore /tar xf -

   Thanks to Fabrice Guerini <fabrice at bluemartini dot com> and Stephen
   Kives <Stephen_Kives at cable dot comcast dot com>
     _________________________________________________________________

   11. Miscellaneous Hardware
     _________________________________________________________________

   11.1) * How come my mouse occasionally doesn't work?

   If it is a mechanical mouse, it may need cleaning. Open up the bottom
   panel by rotating it, and remove the mouse ball. Clean the mouse ball.
   With a Q-tip, clean off any grime on the rotors inside the mouse.
     _________________________________________________________________

   11.2) How can I turn my old sun into an X-Terminal?

   You can simply replace the ttymon entry for the console in
   /etc/inittab with a command that starts up an X server.
     _________________________________________________________________

   11.3) * How can I use an SVGA monitor on my Sun?

   Some older suns use a 13W3 video connector, which looks something like
   this:
     -----------------
     \ O O ::::: O /
      -------------

   A simple adapter will connect a Sun to a SVGA multi-sync monitor,
   providing the monitor (like most better monitors these days) will
   accept composite sync and operate in 1152x900 66 Hz (or whatever
   output your sun produces) mode. (Check the manufacturer's data sheets,
   usually on the Web.) Similarly, adapters are available to connect Sun
   13W3 monitors to PCs or newer Suns with SVGA connectors.

   Adapters are available from many vendors: search for 13W3 on Google.

   This and many other interesting facts about Sun video are answered in
   the Framebuffer FAQ, at one of:
     * http://www.uark.edu/sunfaq/FrameBuffer.html
     * http://bul.eecs.umich.edu/~crowej/sunfaq/FrameBuffer.html

   A related FAQ by the same person is the Colormap FAQ at one of:
     * http://www.uark.edu/sunfaq/ColormapFAQ.html
     * http://bul.eecs.umich.edu/~crowej/sunfaq/ColormapFAQ.html
     _________________________________________________________________

   11.4) Where can I find alternate pointing devices for my Sun?

   Bert N. Sure <bert at virtual dot com> claims that Mousetrak makes an
   excellent line of pointing devices. The url is
   "">http://www.mousetrak.com". SunExpress
   (http://sunexpress.usec.sun.com) and Qualix (http://www.qualix.com)
   distribute them. Bert uses the top-of-the-line "Evolution" trackball,
   which has six user-definable buttons and a large ball which is
   manufactured by a billiard ball company in Belgium.

   For 3-D input, SunExpress (http://sunexpress.usec.sun.com) sells the
   SpaceBall 3003, in addition to the standard Sun "SunDials" product.

   Dan Pritts <danno at ans dot net> indicates that one can buy a box
   from sun called the sun interface converter for $75 that allows you to
   use a ps/2-style keyboard or pointing device, or both, and still use
   your sun keyboard or mouse. In particular, the sun interface converter
   supports the Microsoft "natural keyboard".
     _________________________________________________________________

   12. Networking
     _________________________________________________________________

   12.1) Why do both my net interfaces have the same ethernet address?

   The Ethernet version 2.0 specification (November 1982) states:

          The physical address of each station is set by network
          management to a unique value associated with the station,
          and distinct from the address of any other station on any
          Ethernet. The setting of the station's physical address
          by network management allows multiple multiple data link
          controllers connected to a single station to respond to
          the same physical address.

   This doesn't normally constitute a problem because each interface will
   typically be on a different subnet. If, for some reason, different
   ethernet addresses are required on different interfaces (for example,
   to attach two interfaces to the same subnet), a new one may be
   assigned using the ifconfig command. Alternatively, for all modern Sun
   hardware, you can set the "local-mac-address?" eeprom variable to
   "true", which will cause each NIC to use a unique MAC address. This is
   needed for many failover and trunking configurations.
     _________________________________________________________________

   12.2) How can I know the hardware vendor from an ethernet address?

   The first three octets of a six-octet ethernet address typically
   uniquely identifies the hardware vendor of the particular network
   interface card. This is called the "Organizationally Unique
   Identifier" (OUI). OUI information, including the most recent list of
   public OUIs can be found at http://standards.ieee.org/regauth/oui

   Note that it is possible that an unidentified OUI could be used, since
   vendors are not required to make their OUIs public, and many network
   interfaces, including Suns, can be configured to use a custom ethernet
   address, so there is no guarantee that the OUI will correctly identify
   the vendor.
     _________________________________________________________________

   12.3) * How do I set my ethernet interface to e.g. 100Mb full duplex?

   The answer to this question assumes you have an hme ethernet
   interface; similar techniques should work for other ethernet
   interfaces; consult the man page for the ethernet driver (e.g. if you
   have an eri driver, "man eri") for more details. If you are not sure
   which ethernet driver is in use, "ifconfig -a" will tell you. For
   example, if ifconfig -a shows e.g. "hme0", you have an hme ethernet
   interface.

   All of Sun's ethernet network interfaces faster than 10Mbits are
   capable of negotiating with a network switch; if this is working, the
   ethernet interface will automatically choose the fastest supported
   setting. However, this may not necessarily work with some networking
   gear, or there may be some other reason to choose a slower setting,
   e.g. cat3 wiring.

   If the two ends have different ideas about what mode the link is, you
   may see "late collision" messages, dropped packets, or complete
   failure.

   To force a particular mode, e.g. 100Mb FD, you can use ndd as follows:

        # turn off autonegotiation
        ndd -set /dev/hme adv_autoneg_cap 0
        # turn on 100Mb full-duplex capability
        ndd -set /dev/hme adv_100fdx_cap 1
        # turn off 100Mb half-duplex capability
        ndd -set /dev/hme adv_100hdx_cap 0
        # turn off 10Mb full-duplex capability
        ndd -set /dev/hme adv_10fdx_cap 0
        # turn off 10Mb half-duplex capability
        ndd -set /dev/hme adv_10hdx_cap 0

   You may have to force the other end (e.g. switch) to use the same
   mode. Consult the manual for your switch. NB: Fast ethernet hubs are
   always 100Mb half-duplex, and ethernet hubs are always 10Mb
   half-duplex.

   If you have more than one hme card in your system, before issuing the
   above ndd commands, you need to first select the specific hme card you
   want to set. For example, to select hme2, type: ndd -set /dev/hme
   instance 2 Subsequent ndd commands to /dev/hme will only apply to
   hme2.

   If you want to force all the hme cards on your system to a specific
   mode at machine boot, you can set hme driver variables in /etc/system.
   For example, to force all hme cards on the system to use 100Mbit FD,
   put the following in /etc/system:

        set hme:hme_adv_autoneg_cap=0
        set hme:hme_adv_100fdx_cap=1
        set hme:hme_adv_100hdx_cap=0
        set hme:hme_adv_10hdx_cap=0
        set hme:hme_adv_10fdx_cap=0
     _________________________________________________________________

   12.4) How do I find out what process is using a particular port?

   Ports are held open in the same way as files are, by file handles
   within the process. In most states, a port will also have a handle
   into another process on the other side of that connection. If you need
   to find out which process is holding open a particular port, run lsof
   (ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof) and grep
   for the port number.

   Thanks to Stuart Whitby <swhitby at legato dot com>
     _________________________________________________________________

   12.5) I have a lot of ports in WAIT states. Why?

   The state of sockets can be seen with the "netstat -a" command. When a
   process attempts to close an ESTABLISHED connection, the transition
   will show a number of WAIT states, depending on which stage of the
   shutdown the port is at.

   When the initial FIN is sent from side a) of the connection, side a)
   will change to FIN_WAIT_1, side b) will change to CLOSE_WAIT, and
   acknowledge the FIN packet. The acknowledgement causes side a) to
   change to FIN_WAIT_2. A socket will rarely be in FIN_WAIT_1 for more
   than a couple of seconds unless there is a problem with
   communications. In this state, data may still be sent from side b) to
   side a), but not vice versa. When side b) receives a close from the
   associated application, or the FIN_WAIT_2_FLUSH_INTERVAL is reached
   without data being sent, it will send a FIN and change to LAST_ACK.
   Side a) moves to TIME_WAIT upon receiving this FIN and acknowledges
   the packet, causing any references to this connection on side b) to
   disappear. The socket in TIME_WAIT will remain for twice the maximum
   segment lifetime (normally a total of four minutes) before dropping,
   in case dropped data packets are resent and misinterpreted by a new
   application on this port.

   Thanks to Stuart Whitby <swhitby at legato dot com>
     _________________________________________________________________

   13. Electronic Mail
     _________________________________________________________________

   13.1) * Where can I get a POP or IMAP server for my sun?

   The PINE email package comes with both a POP and an IMAP server. PINE
   can be found at http://www.washington.edu/imap. An old, unmaintained
   Berkeley popd can be found at ftp://ftp.cc.berkeley.edu/pub/pop (not
   recommended), and Casper Dik's enhanced version of this for Solaris is
   found at ftp://ftp.fwi.uva.nl/pub/solaris/. A POP server can also be
   found as part of the Eudora ftp repository, at
   ftp://ftp.qualcomm.com/quest/unix/servers. A faster alternative is the
   CMU Cyrus IMAP server, which changes the mailbox format to something
   that is more efficient. It can be found at
   ftp://ftp.andrew.cmu.edu/pub/cyrus-mail. The Courier IMAP daemon also
   takes a similar approach; it's available at
   http://www.courier-mta.org/imap. Finally, Dovecot takes an
   intermediate approach by using the standard mailbox format but adding
   some autogenerated index files; Dovecot is available at
   http://dovecot.org.

   If a commercial package is desired, there are many, including Sun's
   Internet Mail Server. See http://www.sun.com
     _________________________________________________________________

   14. Printing
     _________________________________________________________________

   14.1) + How do I get started with LP-style printing in Solaris?

   Printing is configured using the "lpadmin" interface, which is
   extensively documented. For a general overview, however, start with
   the basic principles of Solaris printing, documented at
   http://developers.sun.com/solaris/articles/basicprinting.html, and the
   Solaris printing FAQ, at
   http://www.freelab.net/unix/sun/solarisfaq/printfaq.html. More
   information about printing in Solaris is available at
   http://www.opensolaris.org/os/community/printing/history.
     _________________________________________________________________

   14.2) How do I configure a non-postscript printer for postscript?

   Use the Printer Compatibility Database at http://www.linuxprinting.org
   (http://www.linuxprinting.org/database.html) to find out if a
   ghostscript driver is available for your non-PS printer. Then you can
   use ghostscript to translate postscript to something the printer can
   understand. There are various "any2ps" scripts and packages around
   (apsfilter, cups, foomatic, magicfilter). Ghostscript and foomatic are
   bundled in Solaris 10.

   Apsfilter in particular is one of the most flexible filters available:
   the most recent version can be found at http://www.apsfilter.org. For
   Solaris 2.x or later, you will need to add a BSD-style printing
   package such as LPRng (http://www.lprng/org): the system-V-style "lp"
   printing package that comes with Solaris will not easily work with
   apsfilter. Thanks to Andreas Klemm <andreas at apsfilter dot org> for
   this information.

   A much older version of APSfilter was posted to comp.sources.misc as
   part of volume 42, and is available from a comp.sources.misc archive
   site (eg.
   ftp://ftp.uu.net/usenet/comp.sources.misc/volume42/apsfilter). If you
   are using Solaris, follow Alexander V. Panasyuk's instructions in
   http://cfauvcs5.harvard.edu/SetGSprinter4Solaris.html
     _________________________________________________________________

   15. Misc System Administration
     _________________________________________________________________

   15.1) I've forgotten the root password; how can I recover?

   You need to have access to the machine's console.

    1. Note the root partition (e.g. /dev/sd0a or /dev/dsk/c0t3d0s0)
    2. Hit STOP-A or L1-A (or, on an ASCII terminal or emulator, send a
       <BREAK>) to halt the operating system, if it's running.
    3. Boot single-user from CD-ROM (boot cdrom -s) or network
       install/jumpstart server (boot net -s) (NB: if it asks you for a
       prom password, see below.)
    4. Mount the root partition (e.g. /dev/dsk/c0t3d0s0) on "/a". "/a" is
       an empty mount point that exists at this stage of the installation
       procedure. (mount /dev/dsk/c0t3d0s0 /a)
    5. Set your terminal type so you can use a full-screen editor, e.g.
       vi. (you can skip this step if you know how to use "ex" or "vi"
       from open mode). If you're on a sun console, type "TERM=sun;
       export TERM"; if you're using an ascii terminal (or terminal
       emulator on a PC) for your console, set TERM to the terminal type
       (e.g. TERM=vt100; export TERM).
    6. Edit the passwd file (/a/etc/passwd for SunOS 4.x,
       /a/etc/passwd.adjunct for SunOS 4.x with shadow passwords/C2
       security), /a/etc/shadow for Solaris 2.x and remove the encrypted
       password entry for root
    7. cd to /; Type "umount /a"
    8. reboot as normal in single-user mode ("boot -s"). The root account
       will not have a password. Give it a new one using the passwd
       command.

   Thanks to Stefan Voss <s dot voss at terradata dot de>

   PROM passwords:

   Naturally, you may not want anyone with physical access to the machine
   to be able to do the above to erase the root password. Suns have a
   security password mechanism in the PROM which can be set (this is
   turned off by default). The man page for the eeprom command describes
   this feature.

   If security-mode is set to "command", the machine only be booted
   without the prom password from the default device (i.e. booting from
   CD-ROM or install server will require the prom password). Changing the
   root password in this case requires moving the default device (e.g.
   the boot disk) to a different SCSI target (or equivalent), and
   replacing it with a similarly bootable device for which the root
   password is known. If security-mode is set to full, the machine cannot
   be booted without the prom password, even from the default device;
   defeating this requires replacing the NVRAM on the motherboard. "Full"
   security has its drawbacks -- if, during normal operations, the
   machine is power-cycled (e.g. by a power outage) or halted (e.g. by
   STOP-A), it cannot reboot without the intervention of someone who
   knows the prom password.
     _________________________________________________________________

   15.2) How do I disable/remap STOP-A/L1-A?

   First, be sure you want to do this. If the problem is that users are
   halting and rebooting the machine, note that disabling STOP-A will
   merely prompt them to powercycle the machine (or remove and re-insert
   the keyboard plug) instead. This is actually worse.

   But if you're sure you want to do this, compile and run this little
   program.

    /* Enable or disable abort sequence. John DiMarco <jdd@cs.toronto.edu> */

    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/ioctl.h>
    #include <sys/fcntl.h>
    #ifdef FILENAME_MAX
    #include <sys/kbd.h>
    #include <sys/kbio.h>
    #else /* !FILENAME_MAX */
    #include <sundev/kbd.h>
    #include <sundev/kbio.h>
    #endif /* !FILENAME_MAX */

    #define ERR -1
    #define DISABLE 0
    #define ENABLE 1
    #define KEYBOARD "/dev/kbd"

    main(argc,argv)
    int argc;
    char *argv[];
    {
            static struct kiockey k;
            int fd, mode=ERR;

            if(2==argc){
                    switch(*(argv[1])){
                    case 'e':
                            mode=ENABLE;
                            break;
                    case 'd':
                            mode=DISABLE;
                            break;
                    }
            }
            if(ERR==mode){
                     printf("Usage: %s [enable|disable]\n", argv[0]); exit(1);
            }
            if(0>(fd=open(KEYBOARD, O_RDWR))){ perror(KEYBOARD); exit(1); }

            k.kio_tablemask = KIOCABORT1;
            k.kio_station=mode;
            (void)ioctl(fd, KIOCSETKEY, &k);
            printf("Abort sequence is now %s.\n", mode?"enabled":"disabled");
    }

   Stefan Voss <s dot voss at terradata dot de> points out that in
   Solaris 2.6 or later, you can type "kbd -a enable|disable" or put
   "KEYBOARD_ABORT=enable|disable" in /etc/default/kbd.

   As of Solaris 2.6 with patch 105924-10 installed, Solaris 7 with patch
   107589-02 installed, or Solaris 8, you can also set the abort sequence
   to the Alternate Break character sequence ("<Return> ~ <CTRL-B>", with
   at least half a second between characters, and at most 5 seconds for
   the whole string) with the command "kbd -a alternate", or by putting
   "KEYBOARD_ABORT=alternate" into /etc/default/kbd.

   Alternatively, you can disable all break signals by putting the line:

   set abort_enable=0

   into /etc/system, and rebooting.

   Thanks to Dan Astoorian <djast at cs dot toronto dot edu>
     _________________________________________________________________

   15.3) How do I manage services in Solaris 10 and later? Do I still
   make links in /etc/rc*.d?

   In Solaris 10 build s10_64 and later, Sun introduced the service
   management facility (smf) which makes /etc/init.d and /etc/rc?.d
   scripts "legacy". Management of the services is now done through svc*
   commands.

   The legacy init.d scripts are now specified as running in run-level
   "milestone". From the man pages:
     * /etc/rcS.d (milestone/single-user:default)
     * /etc/rc2.d (milestone/multi-user:default)
     * /etc/rc3.d (milestone/multi-user-server:default)

   Each service name is now named with a Fault Management Resource
   Identifier (FMRI) with the scheme "svc:". For example, the sendmail
   service would have be "svc:/network/smtp:sendmail".

   You can also abbreviate the FMRI by using the instance name (e.g.
   sendmail) or using the last parts of the service name like:
     * sendmail
     * :sendmail
     * smtp:sendmail

   To check all services in the machine, run "svcs -a". From the list,
   you can enable and disable services through "svcadm".

   To disable, use "svcadm disable [options] <FMRI>". For example: svcadm
   disable svc:/network/smtp:sendmail or svcadm disable sendmail

   One useful option is "-t", to temporarily disable the service until
   reboot.

   To enable, use "svcadm enable [options] <FMRI>". For example: svcadm
   enable svc:/network/smtp:sendmail

   Useful options are "-r" to enable the service including all
   dependencies, and "-t" to temporarily disable the service until
   reboot.

   Dependencies and other information on the service can be invoked via
   "svcs -l <FMRI>"

   As an alternative to using "ps" to check service processes, you can
   now use "svcs -p <FMRI>" to list the processes associated with the
   service.

   For further information, check the man pages on smf, svcs, svcadm and
   svcfg.

   Thanks to Neil Quiogue <neil at quiogue dot com>
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:41:42 EDT