Archive-name: sunmanagers-faq SunManagers Frequently Asked Questions $Id: faq,v 4.53 2005/08/03 20:13:08 jdd Exp $ 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 ignificant changes of content since the last issue are marked by '*' The Information Files maintainer is John DiMarco . 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 . 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/SunOS4? 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 upgrading to Solaris 2.x? 2.3) How do I access Sun's documentation over the net? 2.4) * To which web sites can I go for help? 3. NIS, NIS+, DNS, and NFS 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) Why does my OpenWindows File Manager abort with a "mknod: permission denied"? 5. Disks, Tapes and SCSI 5.1) What is the format.dat entry for drive X? 5.2) Can I replace the internal drive in a desktop 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. 5.11) How do I use an EIDE/ATA disk larger than 8GB? 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? 6.6) How do I add more PTYs? 7. Anonymous FTP Service 7.1) How do I set up anonymous ftp on my machine? 7.2) Where can I get a version of ftp that does logging? 8. Consoles, Keyboards and Key Remapping 8.1) How do I make the numeric keypad on a type 5 keyboard work with xterm? 8.2) How do I swap the CAPS LOCK and CONTROL keys on a type 5 keyboard under Openwindows 3.x? 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) What MBUS CPU modules are available? How can I tell what module(s) is/are in what model of SS10/SS20/SS600? 9.4) Which versions of SunOS/Solaris are Y2000 compliant? Are there patches for older versions of SunOS/Solaris? 9.5) What is the Y2000 compliance status of Sun hardware? 9.6) How do I find out a Sun's boot prom revision? 9.7) Which hardware/software is capable of 64-bit? Which is only 64-bit? How can I tell which is running? 10. Miscellaneous Software Subject: 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 2.x? 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 a VGA monitor on my Sun? 11.4) Where can I find alternate pointing devices for my Sun? 11.5) What should I do about my Ultra-1's CPU cooling fan? 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 hme 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) Is there a third-party source for SPARCprinter consumables? 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 ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 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 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 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 ----------------------------------------------------------------------------- Subject: 1.4) What should I keep in mind when posting to sunmanagers? o VERY IMPORTANT! Before you post, read the sunmanager's list policy, which is available at http://www.sunmanagers.org o 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". o 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. o 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. o 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. o 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. o 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. ----------------------------------------------------------------------------- Subject: 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 entire USENET heirarchy 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 2.x 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. ----------------------------------------------------------------------------- Subject: 1.6) Where are the answers to questions about old Suns/SunOS4? Those questions and answers used to be in this FAQ, but since they're no longer frequently asked, they've been moved to a different file, available at ftp://ftp.cs.toronto.edu/pub/jdd/sunmanagers/faq-old ----------------------------------------------------------------------------- Subject: 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: List-Post: List-Subscribe: , List-Id: The Sun Managers Mailing List List-Unsubscribe: , List-Archive: ----------------------------------------------------------------------------- 2. Getting Help Over the Net ----------------------------------------------------------------------------- Subject: 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. Sun recommended patches can be obtained from sun via anonymous ftp to sunsolve1.sun.com. Many anonymous ftp sites have partial collections of patches. The archie service can be consulted. 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 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. There is a special patch tape (U1) available from sun for Sun3's running SunOS 4.1.1 which fixes many of the bugs that were fixed for Sparcs in later releases. Note that sun3's don't run anything later than 4.1.1. ----------------------------------------------------------------------------- Subject: 2.2) How do I get help upgrading to Solaris 2.x? Start by reading the Solaris FAQ, maintained and posted periodically to comp.unix.solaris by Casper Dik . 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/ ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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 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 suggests the BigAdmin site run by Sun, at http://www.sun.com/bigadmin Alan Pae suggests Sun Country, at http://alanpae.tripod.com ----------------------------------------------------------------------------- 3. NIS, NIS+, DNS, and NFS ----------------------------------------------------------------------------- Subject: 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" ----------------------------------------------------------------------------- Subject: 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: Please enter the login password for root: {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: 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 . 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 3. Shutdown and restart any replicas of org_dir.domain.name. at run level O nisping org_dir.domain.name. nisdupdkeys domain.name. nisupddkeys org_dir.domain.name. nisupdkeys groups_dir.domain.name. 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 and Sun INFODOC ID 2213 for this information. ----------------------------------------------------------------------------- Subject: 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 */ 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 ----------------------------------------------------------------------------- Subject: 4.1) Why does my OpenWindows File Manager abort with a "mknod: permission denied"? Under Solaris 2.3, the first time filemgr is launched, it created a /tmp/.removable directory owned by the user who launched it. If a different user later starts up filemgr, it will try to create /tmp/.removable, but that directory will already exist from the last time, owned by the previous user, so the attempt will fail. Fix by installing patch 101514-02. ----------------------------------------------------------------------------- 5. Disks, Tapes and SCSI ----------------------------------------------------------------------------- Subject: 5.1) What is the format.dat entry for drive X? The answer can vary according to what OS you are running, the architecture of your machine or the type of SCSI/SMD/IPI controller you are using. Opinions also vary on how to format once you have all the information you need. If you are buying a Sun supported drive, you will likely find an entry for it in "/etc/format.dat". On third party drives, you should inquire with the vendor you bought it from. If you are on your own, contact the manufacturer, or try to get hold of the manufacturer's OEM manual for your drive model. You might be able to derive enough information from the manual to make up your own entry. Most drive manufacturers provide drive specifications from their web sites. Try these: http://www.seagate.com (Seagate, Connor, Imprimis, CDC) http://www.fujitsu.com/products/support.html (Fujitsu) http://www.maxtor.com (Maxtor, Quantum, Micropolis) http://www.samsungelectronics.com (Samsung) http://www.storage.ibm.com (IBM) http://www.westerndigital.com (Western Digital) It is also possible to contact drive manufacturers by telephone. Some relevant numbers: Fujitsu USA 800-626-4686 408-432-1300 Fujitsu FAXLINE 408-428-0456 Fujitsu Canada 416-602-5454 800-263-7091 Maxtor USA 800-2MA-XTOR Maxtor FAXBACK 303-678-2618 Seagate USA 800-468-3472 405-936-1200 Seagate FAX 408-438-8137 Seagate FAXBACK 408-438-2620 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 Note: do not post a format.dat request to the list or to the comp.sys.sun.admin newsgroup unless you have exhausted all these avenues. 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 generate an appropriate format.dat entry Tips for rolling your own format.dat: - 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. ----------------------------------------------------------------------------- Subject: 5.2) Can I replace the internal drive in a desktop Sun with a higher capacity model? Yes, so long as the drive does not pull more power and/or require more heat than the drive for which the machine was designed. For a SPARCstation 1, 1+, or 2, do not use a disk dissipating more than 10W. For a later SPARCstation, do not use a disk dissipating more than 11W. Most 5400rpm drives should be alright; 7200rpm drives or faster, particularly early 7200rpm drives, are likely to be too hot. For systems which support two drives, if only one drive is installed, it should be possible to relax this constraint somewhat. For desktop suns with EIDE drives running Solaris 2.6 or earlier, the operating system supports only the first 8GB of an EIDE drive; see question 5.11 for more details. ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 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 . ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 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 For more information about third-party CD-ROMS on Suns, consult the CD-ROM FAQ, maintained by Mike Frisch and Martin Hargreaves . 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/". ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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". ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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 ). 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 and Michael R. Zika 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 Brian Poole 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. ----------------------------------------------------------------------------- Subject: 5.11) How do I use an EIDE/ATA disk larger than 8GB? Versions of Solaris earlier than Solaris 7 don't support EIDE drives larger than 8GB -- if you try to use one, only the first 8GB will be accessible. Sun patch 110202 fixes this problem, and is available from SunSolve, thanks to Andrews Tarallo If you are using a larger EIDE drive in this way (with only the first 8GB accessible), are upgrading to Solaris 7 or later, and want to use the full disk, first, back up any data that's on it (this procedure will effectively erase the disk), then zero the disk label: e.g. if your disk is c0t1d0, zero the disk label by: dd if=/dev/zero of=/dev/rdsk/c0t1d0s2 bs=1b count=16 and reboot. Solaris 7 or later will then recognize the full disk. Thanks to Michael DeSimone for this suggestion. There are some third-party patches to Solaris 2.5.1 and 2.6 to add support for disks larger than 8GB, at ftp://ftp.tadpolecycle.com/pub/bigdisks/ Thanks to Christian Iseli for the pointer. ----------------------------------------------------------------------------- 6. Resource Management and Performance Tuning ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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 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". ----------------------------------------------------------------------------- Subject: 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 . Download memconf from http://www.4schmidts.com/unix.html ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 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 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 ----------------------------------------------------------------------------- Subject: 6.6) How do I add more PTYs? For Solaris 7 and earlier, add a line in /etc/system that says set pt_cnt = where is the number of PTYs you want. Halt the system, and do a "boot -r". Solaris 2.x supports more than 3000 ptys. The default is 48. Solaris 8 and later create new PTY's as they are needed. ----------------------------------------------------------------------------- 7. Anonymous FTP Service ----------------------------------------------------------------------------- Subject: 7.1) How do I set up anonymous ftp on my machine? For Solaris 2.x, see the ftpd(1m) 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. ----------------------------------------------------------------------------- Subject: 7.2) Where can I get a version of ftp that does logging? These are many versions that have enhanced logging or can be modified to enable logging: 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". ----------------------------------------------------------------------------- 8. Consoles, Keyboards and Key Remapping ----------------------------------------------------------------------------- Subject: 8.1) 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. Thanks to Margarita Suarez ----------------------------------------------------------------------------- Subject: 8.2) How do I swap the CAPS LOCK and CONTROL keys on a type 5 keyboard under Openwindows 3.x? There are two ways to do it, one with xmodmap (for X11 only), and the other using keytables. Margarita Suarez 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 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 for the info on xkeycaps. ----------------------------------------------------------------------------- Subject: 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 is also available (as TTSSH) with SSH support, at: http://www.zip.com.au/~roca/ttssh.html Thanks to Harvey Wamboldt ----------------------------------------------------------------------------- 9. Sun models and OS Versions ----------------------------------------------------------------------------- Subject: 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. Sun2: SunOS 4.0.3 or earlier. Sun386i: SunOS 4.0, 4.0.1, 4.0.2 only. Sun3: SunOS 4.1.1 or earlier. 4/100, 4/200 series: SunOS 3.2, SunOS 4.0 through 5.4 4/300 series: SunOS 4.0.3 through 5.4 4/400 series: SunOS 4.1PSR_A through 5.4 600 models 120, 140: SunOS 4.1.2 through 5.5.1 600 model 41, 51: SunOS 4.1.3 through 5.5.1 SPARCstation 1, 1+, SLC, IPC: SunOS 4.0.3 through 5.7 SPARCstation 2, ELC, IPX: SunOS 4.1.1 through 5.7 SPARCstation 4: SunOS 4.1.4 or later. SPARCstation 5: SunOS 4.1.3_U1B or later. SPARCstation 10 models 20, 30, 40, 41, 51, 61, 71: SunOS 4.1.3 or later. SPARCstation 20 models 50, 51, 61, 71: SunOS 4.1.3_U1B or later. SPARCstation 20 model HS11, HS21, 151: SunOS 4.1.4 or later. SPARCclassic, SPARCstation LX: SunOS 4.1.3C or later. SPARCstation Voyager: Solaris 2.3 edition II or later. Ultra 1 model 140, 170: Solaris 2.5 or later. Ultra 1 model 140E, 170E, 200E: Solaris 2.5.1 or later. Ultra 2: Solaris 2.5.1 or later. Ultra 5,10,30,60,250,450: Solaris 2.5.1HW1297 or Solaris 2.6HW0398 or later. Ultra Enterprise: Solaris 2.5.1 or later. SunBlade 100, SunBlade 1000: Solaris 8HW1000 or later. SunBlade 150: Solaris 8 5/03 or later; Solaris 9 4/03 or later 3800, 4800, 4810, 6800: Solaris 8HW0401 or later. B100s: Solaris 8 12/02 or later, Solaris 9 4/03 or later V100: Solaris 8 2/02 or later V120: Solaris 8 10/01 or later V210, V240: Solaris 8 12/02 or later; Solaris 9 4/04 or later V250: Solaris 8 7/03 or later, Solaris 9 8/03 or later 280R: Solaris 8 2/02 or later; Solaris 9 12/02 or later V440: Solaris 8 7/03 or later; Solaris 9 12/03 or later V880: Solaris 8 10/01 or later, Solaris 9 4/03 or later B200x, v20z, v40z: Solaris 9 x86 4/04 or later The SX framebuffer on the SS10 and 20 is only supported under Solaris 2.x. SunOS 4.1.3 and later versions of SunOS 4.x have been reported to run on multiprocessor SuperSPARC configurations of the SS10, SS20, and 600, 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. Caveat Emptor. However, multiprocessor HyperSPARC systems are supported by Ross under both SunOS 4.1.4 and Solaris 2.x. SunOS 5.0 runs only on SS1,1+,2,SLC,IPC,ELC,IPX. While SunOS 5.x does run on the 4/100 and 4/200 systems, the FPU (if present) is disabled, and floating point is emulated in software. The latest version of SunOS 5.x (Solaris 2.x) that runs on the 4/100, 4/200, 4/300, and 4/400 systems is 5.4 (Solaris 2.4). SunOS 5.3 (aka Solaris 2.3) is said to run on the SS5, but without support for the audio device. Solaris 2.3 Edition II, Solaris 2.3 Hardware 5/94, and later versions include audio support. Not all peripherals supported under SunOS 4.x are supported under SunOS 5.x and vice versa. Check with Sun or the peripheral manufacturer. Explanatory note: In general, Solaris = SunOS + Open Windows. Solaris 1.0 = SunOS 4.1.1 + Open Windows 2.0 Solaris 1.0.1 = SunOS 4.1.2 + Open Windows 2.0 Solaris 1.1 = SunOS 4.1.3 + Open Windows 3.0 Solaris 1.1C = SunOS 4.1.3C + Open Windows 3.0 (Classic/LX only) Solaris 1.1.1 = SunOS 4.1.3_U1 + Open Windows 3.0_U1 Solaris 1.1.1revB = SunOS 4.1.3_U1revB + Open Windows 3.0_U1revB Solaris 1.1.2 = SunOS 4.1.4 + Open Windows 3.0_414 Solaris 2.0 = SunOS 5.0 + Open Windows 3.0.1 Solaris 2.1 = SunOS 5.1 + Open Windows 3.1 Solaris 2.2 = SunOS 5.2 + Open Windows 3.2 Solaris 2.3 = SunOS 5.3 + Open Windows 3.3 Solaris 2.4 = SunOS 5.4 + Open Windows 3.4 Solaris 2.5 = SunOS 5.5 + Open Windows 3.5 Solaris 2.5.1 = SunOS 5.5.1 + Open Windows 3.5.1 Solaris 2.6 = SunOS 5.6 + Open Windows 3.6 Solaris 7 = SunOS 5.7 + Open Windows 3.6.1 Solaris 8 = SunOS 5.8 + Open Windows 3.6.2 Solaris 9 = SunOS 5.9 + Open Windows 3.7.0 ----------------------------------------------------------------------------- Subject: 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. For suns with the "Openboot" prom (All sparcstations and the 600 series), /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 "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. ----------------------------------------------------------------------------- Subject: 9.3) What MBUS CPU modules are available? How can I tell what module(s) is/are in what model of SS10/SS20/SS600? Three sun models, the SS10, SS20 and the SparcServer 600 series, support Sun's MBUS. All these machines have two MBUS slots. Both modules must be of the same type. SuperSPARC/w cache modules of different speeds are said to work, as are three-processor systems (by combining a single and a dual module of the same type), but such configurations are not supported by Sun. Modules without external cache are not separately clocked, and run at the clock rate of the MBUS. Modules with external cache are separately clocked, and must run at a clock rate higher than that of the MBUS. The SS20 has a switchable 40/50MHz MBUS, the SS600 has a 40MHz mbus, and the SS10 has a switchable 33/36/40MHz MBUS. Ross sells an SS20 derivitive called the Hyperstation 30, which has a 66Mhz MBUS. Warning: different module revisions may or may not work in different systems. Check the Sun part number. Further, newer modules may require that the machine have a sufficiently recent PROM revision to work. Module #CPUS Processor Clck Ex.Cache Comments ------- ------ ---------- ---- -------- ------------------------------- SM100 2 RT605/CY605 40 64k Rev 8 required for SunOS 5.x SM20 1 SuperSPARC 33 - SS10 only SM21 1 SuperSPARC 33 1M Not sold by Sun SM30 1 SuperSPARC 36 - SS10 only SM40 1 SuperSPARC 40 - SS10 or SS600 only SM41 1 SuperSPARC 40.3 1M SS10 or SS600 only SM50 1 SuperSPARC 50 - SS20 only SM51 1 SuperSPARC 50 1M SM51-2 1 SuperSPARC 50 2M SC2000 only SM52 2 SuperSPARC 45 1M Announced, never sold. SM512(?) 2 SuperSPARC 50 1M Dbl-width: 1 SBUS + 1 MBUS slot SM61 1 SuperSPARC 60 1M SM61-2 1 SuperSPARC 60 2M SC2000 only SM71 1 SuperSPARC2 75 1M SM81 1 SuperSPARC2 85 1M SS1000 only SM81-2 1 SuperSPARC2 85 2M SC2000 only RTS55 1 HyperSPARC 55 256k Non-Sun, SS10 or SS600 only RTD55 2 HyperSPARC 55 256k Non-Sun, SS10 or SS600 only RTS66 1 HyperSPARC 66 256k Non-Sun RTD66 2 HyperSPARC 66 256k Non-Sun RTS72 1 HyperSPARC 72 256k Non-Sun RTD72 2 HyperSPARC 72 256k Non-Sun RTS90 1 HyperSPARC 90 256k Non-Sun RTD90 1 HyperSPARC 90 256k Non-Sun RTS100 1 HyperSPARC 100 256k Non-Sun RTD110 1 HyperSPARC 110 256k Non-Sun RTS110/1024 1 HyperSPARC 110 1M Non-Sun RTD110/1024 2 HyperSPARC 110 1M Non-Sun RTS125 1 HyperSPARC 125 256k Non-Sun RTD125 2 HyperSPARC 125 256k Non-Sun RTS125/512 1 HyperSPARC 125 512k Non-Sun RTD125/512 2 HyperSPARC 125 512k Non-Sun RTS125/1024 1 HyperSPARC 125 1M Non-Sun RTD125/1024 2 HyperSPARC 125 1M Non-Sun RTS133/512 1 HyperSPARC 133 512k Non-Sun RTD133/512 2 HyperSPARC 133 512k Non-Sun RTS142/1024 1 HyperSPARC 142 1M Non-Sun RTD142/1024 2 HyperSPARC 142 1M Non-Sun RTS150/512 1 HyperSPARC 150 512k RTS166/512 1 HyperSPARC 166 512k Non-Sun RTS180/512 1 HyperSPARC 180 512k Non-Sun RTS200/512 1 HyperSPARC 200 512k Non-Sun RTD200/512 2 HyperSPARC 200 512k Non-Sun SMHS11 1 HyperSPARC 100 256k SS20 only SMHS12 2 HyperSPARC 100 256k Double-width: SS20 only SMHS21 1 HyperSPARC 125 256k SS20 only SM151 1 HyperSPARC 150 512k SS20 only Key to SS600/SS10/SS20 model numbers: RT605 (40Mhz SS2-class Ross) systems: Model "1n0", n=number of CPUs (2 or 4) Examples: 120, 140 SuperSPARC systems: Uniprocessor: Model "sc", s=clock speed, c=MBs of external cache Examples: 20, 30, 40, 41, 50, 51, 61, 71 Multiprocessor: Model "scn", s=clock speed, c=MBs of external cache (0 or 1), n=number of CPUs Examples: 402, 412, 502, 512, 612, 712 Speeds: 2=33Mhz, 3=36MHz, 4=40MHz, 5=50MHz, 6=60Mhz, 7=75Mhz, 8=85Mhz HyperSPARC systems: Model "HSsn", s=clock speed, n=number of CPUs Speeds: 1=100Mhz, 2=125Mhz Examples: HS11, HS12, HS14, HS21, HS22 Exception: SparcStation 151 is 1x150Mhz HyperSPARC, 152 is 2x150Mhz ----------------------------------------------------------------------------- Subject: 9.4) Which versions of SunOS/Solaris are Y2000 compliant? Are there patches for older versions of SunOS/Solaris? Solaris 2.6 with the recommended patch cluster is Y2000 compliant (no separate Y2000 patch kit is required). Solaris 2.3 through 2.5.1, SunOS 4.1.3U1B, and SunOS 4.1.4 are all Y2000 compliant after the appropriate Y2000 patch kit is installed. The Y2000 patch kit for Solaris 2.5.1 is available for anonymous ftp download from ftp://sunsolve1.sun.com/pub/patches/2.5.1_y2000.tar.Z and ftp://sunsolve1.sun.com/pub/patches/2.5.1_x86_y2000.tar.Z. Y2000 patch kits for Solaris 2.3, 2.4, and 2.5, and for SunOS 4.1.3U1B and 4.1.4 are available to support contract customers only, from http://sunsolve.sun.com/sunsolve ----------------------------------------------------------------------------- Subject: 9.5) What is the Y2000 compliance status of Sun hardware? For all Sun hardware that runs a Y2000-compliant version of SunOS/Solaris, the following also need PROM upgrades and/or special patches to be Y2000 compliant: SPARCserver 1000, 1000E, SPARCcenter 2000, 2000E: - requires Prom revision 2.31 or later All Ultra Enterprise X000 machines: - patch ID 103346-08 or later required for systems with Prom revision 3.2.9 or earlier. Enterprise Tape Library 4/1000,1800,3500, StorEdge L1800,L1000,L3500: - Requires LibMON 2.0, available September 1998. Newsprint Printers: - requires Newsprint 2.5b and patch 101941-03 or later. Sun does not test older hardware for Y2000 compliance if it does not run one of the versions of Solaris/SunOS listed in question 9.4. ----------------------------------------------------------------------------- Subject: 9.6) How do I find out a Sun's boot prom revision? Type "banner" at the prom, or type "/usr/sbin/prtconf -V" (Solaris 2.5.1 or later) to determine the prom revision of a particular machine. Alternatively, grab Michael Cooper's "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. ----------------------------------------------------------------------------- Subject: 9.7) Which hardware/software is capable of 64-bit? Which is only 64-bit? How can I tell which is running? Only UltraSPARC hardware (and Fujitsu SPARC64) can run in 64-bit mode. All UltraSPARC hardware is capable of it, but UltraSPARC-I (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//boot.conf and add the line: ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true Solaris 2.6 and earlier are 32-bit only. Solaris 7 and later support both 32-bit and 64-bit modes. Only some UltraSPARC-I, UltraSPARC-II, and UltraSPARC-IIi (e.g. Ultra 5/10) systems support both 64-bit and 32-bit operation. UltraSPARC-IIe (e.g. Sunblade 100) and ULtraSPARC-III (e.g. Sunblade 1000) are 64-bit mode only. "isainfo -kv" or "isainfo -b" will indicate whether a system is running in 32-bit or 64-bit mode. ----------------------------------------------------------------------------- 10. Miscellaneous Software ----------------------------------------------------------------------------- Subject: 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 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. ----------------------------------------------------------------------------- Subject: 10.2) Where can I get a C compiler for Solaris 2.x? Sun's Forte compilers can be bought at http://www.sun.com/forte/buy.html 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 GCC compiler and related tools are available on the Solaris Software Companion CD, which is part of the media kit for the Solaris 8 distribution. The contents of this CD are also available for free download at http://www.sun.com/software/solaris/freeware Thanks to Eric Boutilier GCC binaries (for SPARC and, in some cases, i386) can be retrieved from the following sites and many others: o http://www.sun.com/software/solaris/freeware o ftp://metalab.unc.edu/pub/packages/solaris/sparc/ o http://www.gnu.org/order/ftp.html o http://sunfreeware.com More information on this topic is available at http://www.kevininscoe.com/geek/sun/compilesun/ Thanks to Kevin Inscoe ----------------------------------------------------------------------------- Subject: 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 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/. ----------------------------------------------------------------------------- Subject: 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" -- 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 '/^\///' and Stephen Kives ----------------------------------------------------------------------------- 11. Miscellaneous Hardware ----------------------------------------------------------------------------- Subject: 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. However, if it is an optical mouse, read on: Eugene Kramer points out that type 3 and type 4 optical mouse pads only work in one orientation (long side in the width); if the pad has been rotated, the mouse will only move in one axis, and will appear to be broken. It may not be; just rotate the pad 90 degrees. Alternatively, you may have an old mouse. martin at gea dot hsr dot it (Martin Achilli) writes: Sun optical mice P/N 370-1170-01 have two LEDs on the underside. One is a normal red LED, the other is an infrared LED. Old mice (4+ years) can have trouble tracking horizontal motion. Cleaning the mouse pad with a solvent may improve things slightly but not completely. I have replaced the red LED on the mouse PCB for eight of my twelve optical mice and the problem has gone. All you need to do is purchase a red LED of the type than focus the beam, NOT the unfocused type that are normally found as indicator lights on equipment. Open the mouse and remove the PCB by unplugging the small black connector. Be careful with the two small spherical lenses which can fall out and easily be lost. Mark the PCB and one of the LED's leads to note the orientation, then desolder the LED marked L1. Pull out the leads from above and pull the LED out of the black plastic mounting. Be careful since the mounting is only glued to the PCB. Check for polarity before inserting the new LED, I noticed that for all the LEDs that I installed, the longer lead must go into the PCB hole close to the letters L1. First fold the LED leads like the ones of the one you are replacing, and then insert it into the mounting, solder the leads and close the mouse. After this, horizontal motion should be much smoother. Disclaimer: I will not take any responsibility for any failure or damage arising from the above procedure Thanks to Martin Achilli . Finally, the wire inside the mouse cable may be suffering from fatigue, usually where the cable is attached to the mouse. If you turn the mouse over, and wiggle the cable where it is attached to the mouse, and if you see the visibly lit LED flickering while you do this, this is your problem. ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 11.3) How can I use a VGA monitor on my Sun? A simple adapter will connect a Sun to a VGA 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.) Adapters are available from: Ultraspec Cables, Inc., Lakewood, NJ, USA (voice) (NA) 1-800-622-2537 (int'l) 1-908-901-0200 (fax) (NA) 1-800-222-5337 (int'l) 1-908-901-0240 (e-mail) sales@ultraspec.com The Sun -> VGA adapter is part number 1395 Nudata (908-842-1161, fax 908-905-5708) part number DA1152 Thanks to Randolph Fritz for the above. Bert N. Shure points out that Integrix sells a VGA SBUS framebuffer, the HD15, which permits ordinary VGA monitors to be used on Suns. Integrix also sells various SVGA framebuffers. For more information, consult http://www.integrix.com This and many other interesting facts about Sun Framebuffers 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 ----------------------------------------------------------------------------- Subject: 11.4) Where can I find alternate pointing devices for my Sun? Bert N. Sure 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 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". ----------------------------------------------------------------------------- Subject: 11.5) What should I do about my Ultra-1's CPU cooling fan? The small five or seven-blade fan that sits on the Ultra-1 CPU heat sink fails over time. Only the Ultra-1 is affected. This known problem is fixed by Field Change Order FCO #A0089-1, which replaces the CPU cooling fan with a better one. Call Sun (in the US, 800-872-4786, and in Canada, 800-722-4786) with the Ultra-1's serial number and Sun will ship a fan free. If you have more than one Ultra-1, ask for several fans. The CPU cooling fan part number is 540-2761. Note that some Sun Spares Reference Guides indicate that it is the fan for the front of the cabinet, which is incorrect. Replacement Technique: 1. Move Power Supply. (a) loosen 2 screws near power connection (b) slide power supply forward and lift out of way. 2 Loosen 4 screws around fan and slide fan out into space that was occupied by power supply. Be sure to open the connector latch. If you pull too hard, the socket comes off the motherboard too. Thanks to Greg Polanski ----------------------------------------------------------------------------- 12. Networking ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 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. ----------------------------------------------------------------------------- Subject: 12.3) How do I set my hme interface to e.g. 100Mb full duplex? This applies only to Solaris 2.5 or later; hme interfaces are not supported under SunOS 4.x or earlier versions of Solaris. Sun's 10/100 network interface on the Ultra systems and on the SunSWIFT network cards are capable of negotiating with a network switch; if this is working, and if the other end is capable of 100Mb full duplex (FD) operation, the hme card will automatically set itself properly. However, this may not necessarily work with some networking gear. 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 ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- Subject: 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 ----------------------------------------------------------------------------- 13. Electronic Mail ----------------------------------------------------------------------------- Subject: 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 ftp://ftp.cac.washington.edu/pine/. An old, unmaintained Berkeley popd can be found at ftp://ftp.cc.berkeley.edu/pub/pop (not recommended), and Casper Dik's enhanced version 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/ Finally, the CMU Cyrus IMAP server can be used. It can be found at ftp://ftp.andrew.cmu.edu/pub/cyrus-mail. If a commercial package is desired, Sun's new SIMS (Solstice Internet Mail Server) supports POP3 and IMAP4. See http://www.sun.com ----------------------------------------------------------------------------- 14. Printing ----------------------------------------------------------------------------- Subject: 14.1) Is there a third-party source for SPARCprinter consumables? Yes, there is. The SPARCprinter is OEM'ed by Xerox, and uses the same consumables as the Xerox 4030 laserprinter. The appropriate part numbers are: Cartridge: 365-1124-01 Sun 6R281 Xerox Drum: 365-1125-01 Sun 13R32 Xerox Fuser Lubricant/oil: 370-1371-01 Sun 94E95090 Xerox Fuser wick: 811-1687 Sun (Sun Express) These parts are available from various resellers. ----------------------------------------------------------------------------- Subject: 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). 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 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 ----------------------------------------------------------------------------- Subject: 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 ) 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 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. ----------------------------------------------------------------------------- Subject: 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 */ #include #include #include #include #ifdef FILENAME_MAX #include #include #else /* !FILENAME_MAX */ #include #include #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 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 (" ~ ", 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 ----------------------------------------------------------------------------- Subject: 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] ". 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] ". 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 " As an alternative to using "ps" to check service processes, you can now use "svcs -p " 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