Archive-name: sunmanagers-faq
$Id: faq.html,v 1.30 2011/02/28 15:08:12 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 .
All corrections, submissions and FAQ administration-related messages
should go to . 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 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 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
__________________________________________________________________
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:
List-Post:
List-Subscribe:
,
List-Id: The Sun Managers Mailing List
List-Unsubscribe:
,
List-Archive:
__________________________________________________________________
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 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 . 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
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://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:
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.
__________________________________________________________________
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
__________________________________________________________________
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 .
__________________________________________________________________
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
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/".
__________________________________________________________________
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
__________________________________________________________________
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
__________________________________________________________________
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.
__________________________________________________________________
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
__________________________________________________________________
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".
__________________________________________________________________
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
__________________________________________________________________
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
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
__________________________________________________________________
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 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.
__________________________________________________________________
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/TTSSH: http://ttssh2.sourceforge.jp/
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 and Bruce
Cran < bruce at cran dot org dot uk >.
__________________________________________________________________
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
"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
"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//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
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
__________________________________________________________________
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/.
Another option (suggested by Thomas ) is a
GPL-licensed command-line utility called "antiword". His mutt mailcap
file is setup as follows:
application/msword; antiword %s; copiousoutput; description="Microsoft Word Text
"; nametemplate=%s.doc
Antiword is available from http://www.winfield.demon.nl.
__________________________________________________________________
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 '/^\///' and Stephen
Kives
__________________________________________________________________
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 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".
__________________________________________________________________
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
__________________________________________________________________
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
__________________________________________________________________
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 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
) 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.
__________________________________________________________________
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
__________________________________________________________________
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