home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
answers
/
Solaris2
/
FAQ
next >
Wrap
Text File
|
1993-12-22
|
52KB
|
1,307 lines
Newsgroups: comp.unix.solaris,comp.sys.sun.admin,comp.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!howland.reston.ans.net!math.ohio-state.edu!news2.uunet.ca!wildcan!sq!ian
From: ian@sq.sq.com (Ian Darwin)
Subject: Solaris 2 Frequently Asked Questions (FAQ) $Revision: 1.32 $
Message-ID: <1993Dec22.180545.5590@sq.sq.com>
Followup-To: poster
Summary: This posting contains a list of Frequently Asked Questions (and
answers) about Sun Microsystem's Solaris 2.x system in general.
See also the FAQs archived as Solaris2/Porting and Solaris2/x86.
Reply-To: ian@sq.com
Organization: SoftQuad Inc., Toronto, Canada
Date: Wed, 22 Dec 93 18:05:45 GMT
Approved: news-answers-request@MIT.Edu
Lines: 1290
Xref: senator-bedfellow.mit.edu comp.unix.solaris:11105 comp.sys.sun.admin:26343 comp.answers:3126 news.answers:16097
Archive-name: Solaris2/FAQ
Version: $Id: solaris2.faq,v 1.32 93/12/22 13:05:24 ian Exp $ -----
Maintained-by: Ian F. Darwin <ian@sq.com>
NEW MODERATOR!! Since I will be working in relative seclusion and
not reading news regularly for the early part of the new year, I've
asked Casper Dik, and he has graciously accepted, to take on the
task of updating and maintaining this list. So, please direct
comments and suggestions...
To: Casper Dik <casper@fwi.uva.nl>
The following is a list of questions that are frequently asked about
Solaris 2.x. You can help make it an even better-quality FAQ by writing a
short contribution or update and sending it BY EMAIL ONLY to Casper.
Thanks!
CONTENTS
GENERAL
FOR MORE INFO
SYSTEM ADMINISTRATION
NETWORKING
SOFTWARE DEVELOPMENT
PART ONE - GENERAL
What's a Solaris anyway?
Solaris(tm) is Sun's name for their UNIX-based user environment,
including the UNIX(tm) operating system, window system (X11-based),
and other stuff too.
Solaris 1.x is a retroactive (marketing?) name for SunOS4.1.x (x>=1),
a version of UNIX that is BSD-like with some SVR4 features,
along with OpenWindows 3.0.
Solaris 2.x (which is what most everybody means by "Solaris")
includes SunOS5.x, which is an SVR4-derived UNIX,
along with OpenWindows 3.x, tooltalk, and other stuff.
For more details, see the chart in the next-to-next question.
Why should I care? Why should I upgrade?
Solaris 2 is more compatible with the rest of the UNIX industry.
Other major UNIX vendors including IBM, HP, SGI, SCO, and others
are based on System V rather than on BSD (though some of them
are on SVR3, not SVR4). All but one commercial PC-based UNIXes
are System V based (and mostly SVR4); the only commercial exception
is from a small but interesting firm called BSDI.
Solaris 2 is where Sun has been putting almost all its development
for the last few years now. There will be no new development on
SunOS4; already many of Sun's add-on software is only available
for Solaris 2. Solaris 2 is the only MP-capable SunOS on the SS10.
Solaris 2 is required to run Wabi, Sun's exciting new
MS-Windows emulator.
Solaris 2.3 features a standard X11R5 release of The X Window
System, a benefit for those who didn't like NeWS or the
V2/V3 OpenWindows server. (It's still called OpenWindows, but
it is the X11R5 server with Adobe DPS added in).
Solaris 2 is more standards-compliant than Solaris 1/SunOS 4.
Should I move to Solaris 2.x now, or later, or never?
That depends - on you, your situation, your application mix, etc.
Some year SunOS4.1.x will go the way of the 3/50 - it'll still
be around, but Sun will no longer support it.
You don't have to upgrade immediately, but you should be
planning your upgrade path by now.
What is Solaris 2? Is it really SVR4 based?
Solaris 2 is an "operating environment" that includes the
SunOS 5.x operating system and the OpenWindows 3.x window environment.
SunOS 5.x are based on USL's SVR4.0. SVR4.0, in turn, was
developed jointly by AT&T and Sun while Sun was developing 4.1.0,
which is why things like RFS, STREAMS, shared memory, etc.,
are in SunOS 4.1.x, and why things like vnodes, NFS and XView
are in SVR4.0. (RFS, by the way, is apparently being dropped
effective with Solaris 2.3).
What machines does Solaris 2.x run on?
Solaris 2.0 only ran on desktop SPARCstations and a few other Sun
machines.
Solaris 2.1 and later comes in two flavors, SPARC and "x86".
Solaris 2.1 (and 2.2, ...) for SPARC run on all SPARCstations and
clones, as well as all models of the Sun-4 family. The old FPU
on the 4/110 and 260/280 is not supported, so floating point
will be SLOW, but it does work.
Solaris 2.1 for x86 has been released to end users.
It runs on a wide range of high-end PC-architecture machines.
"High-end" means: 16MB of RAM and an 80486 (or 33MHz or faster
80386DX). It will not run on your 4 MB 16MHz 386SX, so don't
bother trying! Also, floating point hardware (80387-style) is
absolutely required. All three buses are supported: ISA, EISA, MCA.
To summarize all this, Jim Prescott gave this chart, which I've updated:
Solaris SunOS OpenWin Comments
1.0 4.1.1B 2.0 (sun3 EOL)
1.0.1 4.1.2 2.0 (6[379]0-1[24]0 MP)
1.1 4.1.3 3.0 SP Viking support
1.1C 4.1.3C 3.0? Downgrade Classic or LX from S2 to S1.
2.0 5.0 3.0.1 sun4c only
2.1SPARC 5.1 3.1 Late '92?
2.1 x86 5.1 3.1 May '93
2.2SPARC 5.2 3.2 May '93
2.3SPARC 5.3 3.3 October 1993?
OpenWin 3.3 (previously called OpenWin 4.0,
recently renamed so as to track the OS minor
release number) is X11R5 based: Display
PostScript instead of NeWS, no SunView.
It is still primarily OPEN LOOK.
The Spring 1994 OpenWin will be Motif
and COSE-based.
2.4SPARC and
2.4 x86 5.4 3.4 Spring 1994
It is believed that one or two minor releases
on X86 will be skipped to bring the release
numbers back into sync, effective with 2.4.
Will my XXX applications from 4.1.x run on Solaris 2?
There is quite a bit of support in SunOS 5.x for running 4.1.x
binaries in an emulation mode called "Binary Compatibility"
(BCP). This works by dynamically linking the 4.1.x binaries
with a shared library that emulates the 4.1.x binary interface
on top of 5.x, so there is some overhead. Programs will only
work if they were dynamically linked (this is to be relaxed in
Solaris 2.3 FCS), and if they meet certain other criteria. Best bet:
try it and see.
Be aware, though, that Sun WILL drop the binary compatibility
package some year. Try to wean yourself and your users from
depending on it, even if it means beating on your software
vendors to offer "native" Solaris2 applications.
Will my XXX applications from SVR3 on the 386 run on Solaris 2/Intel?
As with SPARC, there is an emulation mode that should run the
majority of well-behaved SVR3 and Xenix binaries. I've not
had time to test it.
Applications from any other vendor's standards-conforming
386/486 SVR4 should also run.
Where has the XXX command gone now?
There are too many of these changes to include in this FAQ, but
here are some key ones:
a. locations are often different
hostid /usr/ucb/hostid
whoami /usr/ucb/whoami
hostname /usr/ucb/hostname (or use uname -n)
b. some old commands don't exist or have replacements
4.1.X Solaris 2.X
pstat -s swap -s (how much swap space?)
dkinfo /usr/sbin/prtvtoc raw_dev_name
trace truss
mount -a mountall
exportfs share
bar cpio -H bar (read only)
This information can be found in the Solaris 2.2 Transition Guide -
Appendix A (commands), Appendix B (system calls), Appendix C (files).
This guide has undergone some changes from 2.0 -> 2.1 -> 2.2.
Several manuals have ended up being combined into this single
manual. This manual discusses adminstrative transition and
developer transition issues.
The file "whatlist" (for Solaris 2.1) is included in the
"Admigration" package (see below), was posted to Newsgroups
comp.unix.solaris and comp.sys.sun.admin by
ft@cbnewsi.cb.att.com (frederick.d.true) with the subject line
Subject: INFO: Command summary, SunOS 4.x --> 5.x
You can also FTP this file from ftp.cs.toronto.edu in
/pub/darwin/solaris2/whatlist.
When I upgrade, should I use SunInstall "upgrade", or start over?
You can't do a SunInstall "upgrade" from 4.1.x to Solaris2.
You can use the Admigration toolkit (q.v.) to help you move
from SunOS 4.1.x (Solaris 1, actually) to Solaris 2.
If you're moving from Solaris 2.1 to 2.2, or 2.2 to 2.3, ...,
then you can use "upgrade" to preserve your existing partitions
and local changes (including pkgadd!!), though it runs very
slowly (about 1.5-2x the time for a reinstall) and does require
that you have enough free space in / and /usr - make these big
when you first install!
Is Solaris 2.x reliable/stable enough to use?
The consensus seems to be that yes, it is, for many applications
and most users. Your mileage may vary.
And the performance in 2.2 is very close to that of SunOS 4.1.x.
And 2.3 is even better than 2.2. 2.1/SPARC and 2.0 were pretty slow.
Why do people dislike Solaris2?
As many reasons as there are fish in the sky. Err, sea. I guess.
One problem is that Sun (SMCC) are shipping new diskfull machines
with only JumpStart on the disk, and if it's your only Solaris
machine, it can be hard to get started (the detailed documentation
is only on the AnswerBook CD, so if the quicky getting-started
notes aren't enough, you're caught between a rock and a hard place;
there should be a bit more install docco shipped in hardcopy, p'rhaps).
Others have had performance problems. 2.0 was very slow (but then
Sun never advertised it as ready for prime time!!). Every release
since then has been better, though the odd person manages to
so configure his system in such a way as to make it very slow,
and you know how rumors persist (particularly on USENET).
Ben Jackson <ben@ben.com> writes:
"People dislike Solaris because they are hardened SunOS users
with many applications that don't port easily from BSDish to
SYSVish. Some things are impossible to do under Solaris
because the system calls are braindead. Also, as you pointed
out elsewhere, many commands have moved or changed names, which
is confusing to former SunOS users. Not only does this annoy
administrators, but it sends users (you know, those people that
run applications and try to be productive) into fits."
Overall, though, many users who upgrade find that it is an improvement
over previous releases. Especially when they get Wabi!
Do some people *like* Solaris2? Why?
Yes!
It has lots of improvements over SunOS4 and over raw SVR4.
See vold, admintool, OpenWin3.3, MP, and others mentioned
in the rest of this FAQ for details.
PART TWO - FOR MORE INFO
How can I RTFM when I don't have it anymore?
"RTFM" is an old saying: Read The Manual. Sun still sell
printed manuals, but don't automatically distribute them. As
with all real UNIX systems, you do get a full set of online
"man" pages. As well, a smaller, lighter, bookshelf-friendly
:-) CD-ROM called "The AnswerBook"(tm) contains all the printed
documents in machine-readable (PostScript) form, and a keyword
search engine. 90% of your introductory questions are answered
therein!
Note there are (at least) two answerbooks. The Solaris 2.x CD
itself includes the "User Answerbook", which has a few
OpenWindows book. There is also the "Solaris 2.2 System
Software AnswerBook" (SUNWabook) which has almost *ALL* of the
documents (including another copy of /usr/man, but indexed for
searching). There is also a Developer's AnswerBook distributed
with the SDK.
As distributed with 2.1 and 2.2, the Answerbook search engine
runs only with the OpenWindows ("xnews") server, not with MIT
X11. This will change; for now, if you are using the MIT server
instead of what Sun provides, you'll have to use one of several
"answerbook workaround" scripts that are in circulation. The
AnswerBook distributed with 2.3 and later runs with the OW3.3
X11R5+DPS server, so it should display on any X11+DPS server.
You should buy (or print from within Answerbook) at least the
reference manual and the System and Network Administration
books, because if your system becomes disabled you won't be
able to run the Answerbook to find out how to fix it...
Why is "man -k" so confused?
Solaris man uses a manual page index file called "windex" in
place of the old "whatis" file. You can build this index with
cd <man-page-directory>; catman -w -M .
But, in 2.1, this will result in numerous "line too long" messages
and a bogus windex file in /usr/share/man, and a core dump in
/usr/openwin/man. (In 2.2, catman works in /usr/share/man, but
says "line too long" in /usr/openwin/man). To add injury to
insult, "man" normally won't show you a man page if it can't find
the windex entry, even though the man page exists.
There's a "makewhatis" script in /usr/openwin/man that works
better than catman. But watch it - by default it searches files
in /usr/man, not in openwin, and it only looks in some predefined
man subdirectories. Try changing its "for ..." command to
"for i in man*", then use it like this:
cd /usr/share/man; /usr/openwin/man/makewhatis .
cd /usr/openwin/man; /usr/openwin/man/makewhatis .
Still (!), the openwin windex file is somewhat hosed (try "man
answerbook" :-(. You can always delete the bogus lines manually...
or, you can alias man to "man -F", forcing it to look for the
bloody file like you asked.
But wait, there's more! To see the read(2) man page, you can't
just type "man 2 read" anymore - it has to be "man -s 2 read".
Or, alias man to this little script:
#!/bin/sh
if [ $# -gt 1 -a "$1" -gt "0" ]; then
/bin/man -F -s $*
else
/bin/man -F $*
fi
What Software is available for Solaris 2.x?
Most commercial software that ran on 4.x either will run in BCP
mode, or is available for Solaris 2.x, or is being ported now.
Solaris 2.3 BCP mode finally supports statically-linked executables.
You can obtain a list of official 3rd party porting
commitments, maintained by Sun's "Solaris Demand Center"
(whatever that is), by sending electronic mail to
"solaris2apps@sun.com" -- this is an automatic reply server. The list
shows what third party applications are currently available for
Solaris, and lists expected dates for many more.
A list of freeware (some "public domain", but mostly copyright-
but-freely-distributable) [as well as commercial software??]
that has been ported to Solaris 2.x
is posted monthly to the newsgroup comp.unix.solaris by
ric@updike.sri.com (Richard Steinberger). Look for this:
Subject: Solaris SW list. Monthly Post.
If you can't wait, the list is also available via anonymous FTP
from updike.sri.com.
What FTP sites do I need to know about?
SunSite (sunsite.unc.edu) - Sun sponsors an FTP site at the
University of North Carolina. Lots of good stuff here.
ftp.x.org (or export.lcs.mit.edu) - the master X11 site
ftp.uu.net - UuNet communication archives
OpCom. (opcom.sun.ca) - run by Sun Microsystems' OpCom group - lots
of stuff. Here is some of the stuff that's online:
pub/AMToolkit.* - the Administration Migration (4.1.x to Solaris 2)
Toolkit
pub/binaries - binaries/man pages for Solaris 2.0 native binaries.
pub/Cygnus - the Cygnus port of gcc (has been removed!)
pub/newsletter - issues of the monthly OpCom newsletter.
pub/docs - assorted documentation, papers, and other information.
- all of the RFCs
pub/drivers - information related to device driver writing under
under Solaris 2.0 as well as a skeleton SCSI driver.
ls-lR.Z - compressed recursive listing of files available
on the server.
pub/tars - compressed tars.
pub/tmp - place for uploading things to the server.
pub/R5 - the unadultered MIT x11r5 distribution.
pub/x11r5 - port of X11r5 to Solaris 2.0, binaries, libraries
and headers. A compressed tar of this tree can
be found in tars.
What other FAQ's do I need to know about?
All of them :-). But in particular you should see these FAQ's:
1) Newsgroups: comp.sys.sun.admin,comp.sys.sun.misc,comp.unix.solaris,
comp.answers,news.answers
Subject: FAQ: Sun Computer Administration Frequently Asked Questions
2) The "Solaris 2 Porting FAQ" from David Meyer in this newsgroup.
For those developing or compiling software.
Archive-name: Solaris2/Porting.
2a) The "Solaris 2 x86 FAQ" from J. S. Caywood in this newsgroup.
Deals with Intel-("x86")-specific issues on Solaris 2.
Archive-name: Solaris2/x86 (proposed).
3) comp.windows.open-look - Anything related to OpenWindows or the
OPEN LOOK Graphical User Interface.
4) The Sun-Managers mailing list (see below) has its own FAQ,
maintained by John DiMarco <jdd@cdf.toronto.edu>.
FTP from ra.mcs.anl.gov in the sun-managers directory.
5) See also the "Solaris SW list. Monthly Post" above and the
"whatlist" file.
What mailing lists should I get?
First, read all the USENET newsgroups with "sun" in their name :-)
1) The Florida SunFlash is a "closed" mailing list for Sun owners.
It contains mostly press releases from Sun and third-party
vendors. This list contains information on conferences such as
the Solaris Developer's Conference as well. It is normally
distributed regionally - to find out about a mail point in your
area, or for other information send mail to info-sunflash@Sun.COM.
Subscription requests should be sent to sunflash-request@Sun.COM.
Archives are on solar.nova.edu, ftp.uu.net, sunsite.unc.edu,
src.doc.ic.ac.uk and ftp.adelaide.edu.au
2) The Sun Managers list is an unmoderated mailing list for
*emergency-only* requests. Subscribe and listen for a while,
and read the regularly-posted Policy statement BEFORE sending
mail to it, and to get a feel for what kinds of traffic it carries.
Write to sun-managers-request@eecs.nwu.edu.
What books should I read?
O'Reilly & Associates specializes in UNIX books. Their "UNIX
In A Nutshell" has been updated for SVR4 and Solaris 2.0. Get
their catalog by calling 800-998-9938 (1-707-829-0515) 7AM to
5PM PST.
SunSoft Press carries books specific to Solaris 2. Look for the
inset with your End User Media Kit that lists the most relevant ones.
Prentice-Hall has reprints of much of the AT&T documentation.
I'm not sure how much of this you need - a lot of the same
material is in the Answerbook (see above).
PART THREE - SYSTEM ADMINISTRATION
How much disk space do I need to install Solaris 2?
A full install of 2.2 is supposed to be 164 MB, but that doesn't
include swap. Here is a net exchange between Casper Dik and Gil Tene:
In article <1993Apr2.083549.19177@fwi.uva.nl>, Casper writes:
|> >How much disc space does SOLARIS take up ? That is should we buy a
|> >424Mb disc or get a 1Gb disc to put it on :-)
|>
|> Solaris 2.x takes about as much diskspace as SunOS 4.x:
|>
|> Partition/Slice Solaris SunOS
|> / 10MB 8MB
|> /usr 78MB 90MB
|> /var 10MB 10MB
|> /usr/openwin 83MB 83MB
|>
Gil replies:
On my system, with a full Solaris installation (EVERYTHING selected)
+ gnu's binary stuff for solaris (off of the Catalyst CD) installed
in /opt I see a similar situation to the above plus :
16852 /opt/SUNWabe
19 /opt/SUNWcg12
7968 /opt/SUNWdiag
721 /opt/SUNWgt
7740 /opt/SUNWits
14609 /opt/cygnus-sol2-1.0
(output from "du -k -s /du/*")
- SUNwabe is the basic answerbook stuff, which you don't need if you
use the full answerbook.
- SUNWcg12 is (obviously) cg12 support.
- SUNWdiag is obvious too.
- SUNWgt is support for gt boards.
- SUNWits is the xgl3.0 library (it has libPEX5.so.1 in there too).
- cygnus-sol2-1.0 is the gcc2.0+tools stuff. I have gcc2.3.3 on
another partition and that takes about the same space as 2.0 does.
Another important note : The full Solaris 2.1 answerbook takes up 164MB
on disk. I highly recommend installing it and not using it off the
CDROM drive. It's much more usable (faster) this way. And it always
stays around -- even when you have something else in the CDROm drive.
How can I convert all my local changes that I've made over the years
into their corresponding forms on Solaris 2?
1) Do it by hand. You did document every single change and
check it into RCS, didn't you?
2) Automate it, using the AMToolkit (Administration Migration
Toolkit) from the OpCom FTP server (q.v.)!
What are "packages"?
A SVR4 mechanism for "standardizing" the installation of
optional software. Most vendors are expected to use this
format for distributing add-on software for Solaris 2.x.
Packages can be installed/deinstalled with pkgadd/pkgrm which
are standard SVR4 items, or with swm (CRT) or swmtool (GUI-based)
which are provided only in Solaris 2.
Note that the "pkg" system keeps lots of files in /var/sadm/install,
and in particular the file "contents", which is hundreds of KB,
and that there are two copies of it while pkgadd is running, so you
needs lots of free space where /var is, typically the root.
This file must be kept around if you want, for example, to use
pkgrm to remove a package, or pkgchk to verify months later that
all of a a package's files are still intact.
Why can't I write in /home?
This is a common one! SunOS is delivered with the "automounter"
enabled. The automounter is designed for NFS sites, to
simplify maintenance of the list of filesystems that need
mounting. However it is a burden for standalone sites.
The automounter takes over /home and in effect becomes the NFS
server for it, so it no longer behaves like a normal directory.
This is normally a Good Thing as it simplifies administration if
everybody's home directory is under /home/machinename.
To kill it off for standalone or small networks, you can comment out
the three lines in /etc/init.d/nfs.client that start "if" (from the if
to the fi!!), and reboot.
To learn about it, read the O'Reilly book "Managing NFS and
NIS", or ftp the white paper 'The Art of Automounting". from
sunsite.unc.edu in the directory /pub/sun-info/white-papers.
OK, so why can't I mount /cdrom either?
How can I read or write a non-filesystem floppy?
Solaris 2.2 introduces a new scheme for automatically mounting
removable media. It consists of a program "vold" (volume daemon) which
sits around watching for insertions of floppies and CD's,
handles ejects, talks to the file manager, and invokes a second
program called "rmmount" (removable media mounter) to mount the disk.
Note that on most SPARCstations, you must run "volcheck"
whenever you insert a floppy, as the floppy hardware
doesn't tell SunOS that a floppy was inserted.
Advantages of this scheme:
- no longer need root; users can mount and unmount at will.
- can do neat tricks like automagically start "workman" or
other Audio CD player when audio CD inserted.
- extensible - developers can write their own actions
Drawbacks:
- can no longer access /dev/rfd0 to get at floppy; must use
longer name like /vol/dev/rdsk/floppy0
- similarly, CD's get mounted on /cdrom/VOLNAME/SLICE, e.g.,
/cdrom/solaris_2_2/s0 is slice 0 of the Solaris 2 CD
(nice that it does mount all the partitions, though!).
To read or write a non-filesystem floppy (tar, cpio, etc),
put in the diskette and run "volcheck" to get it noticed; then access
/vol/dev/rfd0/unlabeled (e.g. "tar tvf /vol/dev/rfd0/unlabeled").
If you want the old behaviour, it's been suggested that you
can comment out the vold startup in /etc/init.d/volmgt and
then reboot; an easier way is # /etc/init.d/volmgt stop.
What is this junk mail about an error in the crontab entry?
Solaris 2.1 (FCS on SPARC and OEM on Intel) shipped with a
blank line at the end of root's crontab file. The result is
that root gets mail at boot time and nightly thereafter,
complaining about an error in the crontab file and that it has
"ignored the entry". Pretty hard work ignoring that blank
line, eh? If the messages bug you (they should), su to root
and use "crontab -e" to edit root's crontab and delete the
blank line at the end of the file. Fixed in FCS on Intel
and 2.2 on SPARC.
Why are there no passwords in /etc/passwd?
System V Release 4 includes a feature called "shadow passwords".
The encrypted passwords are moved out into a shadow password file
(called /etc/shadow in this release) that is NOT publicly readable.
The passwd file has always been readable so that, for example, ls -l
could figure out who owns what. But having the passwd encryptions
readable is a security risk (they can't be decrypted but the bad guy
can encrypt common words and names &c and compare them with the
encryptions).
The Shadow Password feature is mostly transparent, but if you
do any passwd hacking you have to know about it! And DO make
sure that /etc/shadow is not publicly readable!
Why can't I rlogin/telnet in as root?
>... when I try to rlogin as root ...
>it gives me the message "Not on system console
>Connection closed.". What have I left out?
Solaris 2 comes out of the box a heck of a lot more secure than
Solaris 1. There is no '+' in the hosts.equiv. root logins are not
allowed anywhere except the console. All accounts require passwords.
In order to allow root logins over the net, you need to edit the
/etc/default/login file and comment out or otherwise change the
CONSOLE= line.
This file's CONSOLE entry can actually be used in a variety of ways:
1) CONSOLE=/dev/console (default) - direct root logins only on console
2) CONSOLE= - direct root logins disallowed everywhere
3) #CONSOLE (or delete the line) - root logins allowed everywhere
How can I set up anonymous FTP?
If you need help, ftp the file "solaris2-ftp" from
ftp.cs.toronto.edu:/pub/darwin/solaris2.
How can I print from a Solaris 2 (or any System V Release 4) system to
a SunOS4.x (or any other BSD) system?
Hmmm, the lp system is totally different than what you're used to.
The System V Line Printer System is a lot more, well, flexible.
A cynic might say "complicated". Here's a very quick guide --
see the man pages for each of these commands for the details.
Let's say your Solaris2 workstation is called "sol" and the
4.1.x server is called "bertha" and you want the printer name
to be "printer" (imaginative, eh?).
sol# lpsystem -t bsd bertha # says bertha is a bsd system
sol# lpadmin -p printer -s bertha # creates "printer" on "sol"
# to be printed on "bertha"
sol# accept printer # allow queueing
sol# enable printer # allow printing
sol# lpstat -t # check the status
Finally, if that's your only printer, make it the default:
sol# lpadmin -d printer
On some systems you may have to turn on the port monitor.
I did that. Why does it now complain about invalid content types?
I said it was complicated!
For better or for worse, you need to know about printer content types.
See the man page for "lpadmin".
To get transparent mode, try this:
lpadmin -I any -p printer
Isn't there any easier way?
The GUI-based Admintool has a Printer Manager that is supposed to
be able to do all this and more. Try it; Sun hopes you'll like it.
Now my jobs print but they stay in the queue after!?
It's a known bug, and probably get fixed in 2.3.
[Now you want to set up Solaris 2 as a print server?
You're on your own.]
What if I'd rather use the old familiar BSD-style line printer system?
The 4.3BSD-reno lpr system for Solaris 2, file
lpr-sol2.tar.gz or lpr-sol2.tar.Z
is available from the following FTP sites:
sunok-wks.acs.ohio-state.edu:/pub/solaris2/src/lpr-sol2.tar.gz
atlas.ce.washington.edu:/pub/lpr-sol2.tar.Z
solomon.technet.sg:/pub/uploads/unix/lpr-sol2.tar.gz
What happened to /dev/MAKEDEV?
How do I add devices?
Device drivers are linked in dynamically. When you add new
devices, just shutdown the system and do
boot -r # use drive spec if not default disk
to *r*ebuild the /devices and /dev directories.
If you're just adding a SCSI disk, you don't need to reboot. Run the
following script (as root):
#!/bin/sh
#
# add-disk
#
# Runs the commands to make Solaris locate a new disk that
# has been plugged in after the system was booted.
#
_DVFS_RECONFIG=YES; export _DVFS_RECONFIG
/etc/init.d/drvconfig
/etc/init.d/devlinks
exit 0
Note that this only works if you already have at least one SCSI disk on
the system. (This is because the above just makes symbolic links and
things, it does not load up the SCSI driver kernel modules, etc.)
What happened to /etc/rc and /etc/rc.local?
They're now fragmented into 12 million tiny little pieces. Look in
the following files to get oriented:
/etc/inittab - starting point for init
/sbin/rcS, /etc/rcS.d/* - booting stuff
/sbin/rc2, /etc/rc2.d/*,
/sbin/rc3, /etc/rc3.d/* - stuff for multi-user startup.
Note that all files in /etc/rc*.d/* are hardlinked from
/etc/init.d (with better names), so you should grep in there.
There are many "run levels" to the System V init; the run
level 3 is normally used for "multi user with networking."
I can't understand that stuff; can't I have /etc/rc.local back?
I just want to keep all my local changes in one place.
No. You can never have rc.local back the way it was. But then, it
never really *was* purely a "local" rc file. To have a real
"local" rc file with just your changes in it, copy this file
into /etc/init.d/rc.local, and ln it to /etc/rc3.d/S99rc.local.
Put your startup stuff in the "start" section.
----- Cut here -----
# /etc/init.d/rc.local - to be linked into /etc/rc3.d as
# S99rc.local -- a place to hang local startup stuff.
# started after everything else when going multi-user.
# Ian Darwin, Toronto, November, 1992
# As with all system changes, use at own risk!
case "$1" in
'start')
echo "Starting local services...\c"
if [ -f /usr/sbin/mydaemon ]; then
/usr/sbin/mydaemon 1>/dev/console 2>&1
fi
echo ""
;;
'stop')
echo "$0: Not stopping any service - use ucb shutdown for that."
;;
*)
echo "Usage: $0 { start | stop }"
;;
esac
------ End of Cut Here -----
Speaking of that, why are there two versions of shutdown?
SVR4 (hence SunOS 5.x) tries to make everybody happy. The
traditional (slow) System V "shutdown" runs all the rc?.d/*
shell scripts with "stop" as the argument; many of them run
ps(!) to look for processes to kill. The UCB "shutdown" tells
init to kill all non-single-user processes, which is about two
orders of magnitude faster. Unfortunately, the UCB version does
everything it should *except* actually halt or reboot in
SunOS5.1 (and some other SVR4 implementations).
When will somebody publish a package of the BSD (4.3BSD Net2) "init",
"getty", and "rc/rc.local", so we can go back to life in the
good old days?
I dunno. It should be doable. Wanna fund me to develop it?
Don't try this at home, kids!!!!! Experienced UNIX hackers only.
If you get it working reliably and securely, let me know so I
can mention it in this FAQ!
Speaking of what, what have they done to our old friend getty? What is this
damn pmadm thing that keeps cropping up?
I was hoping you wouldn't ask. PMadm stands for Port Monitor Admin,
and it's part of a ridiculously complicated bit of software
over-engineering that is destined to make everybody an expert.
Best advice for workstations: don't touch it! It works out of the box.
For servers, you'll have to read the manual.
This should be in admintool in Solaris2.3.
For now, here are some basic instructions from Davy Curry.
"Not guaranteed, but they worked for me."
To add a terminal to a Solaris system:
1. Do a "pmadm -l" to see what's running. The serial ports on the
CPU board are probably already being monitored by "zsmon".
PMTAG PMTYPE SVCTAG FLGS ID <PMSPECIFIC>
zsmon ttymon ttya u root \
/dev/term/a I - /usr/bin/login - 9600 ldterm,ttcompat ttya \
login: - tvi925 y #
2. If the port you want is not being monitored, you need to create a
new port monitor with the command
sacadm -a -p PMTAG -t ttymon -c /usr/lib/saf/ttymon -v VERSION
where PMTAG is the name of the port monitor, e.g. "zsmon" or "alm1mon",
and VERSION is the output of "ttyadm -V".
3. If the port you want is already being monitored, and you want to
change something, you need to delete the current instance of the port
monitor. To do this, use the command
pmadm -r -p PMTAG -s SVCTAG
where PMTAG and SVCTAG are as given in the output from "pmadm -l". Note
that if the "I" is present in the <PMSPECIFIC> field (as it is above),
you need to get rid of it.
4. Now, to create a specific instance of ttymon for a port, issue the
command:
pmadm -a -p PMTAG -s SVCTAG -i root -fu -v 1 -m \
"`ttyadm -m ldterm,ttcompat -p 'PROMPT' -S YORN -T TERMTYPE \
-d DEVICE -l TTYID -s /usr/bin/login`"
Note the assorted quotes; Bourne shell (sh) and Korn (ksh) users
leave off the second backslash!
In the above:
PMTAG is the port monitor name you made with "sacadm", e.g. "zsmon".
SVCTAG is the service tag, which can be the name of the port, e.g.,
"ttya" or "tty21".
PROMPT is the prompt you want to print, e.g. "login: ".
YORN is "y" to turn software carrier on (you want this for directly
connected terminals" and "n" to leave it off (you want this
for modems).
TERMTYPE is the value you want in $TERM.
DEVICE is the name of the device, e.g. "/dev/term/a" or "/dev/term/21".
TTYID is the line you want from /etc/ttydefs that sets the baud rate
and stuff. I suggest you use one of the "contty" ones for
directly connected terminals.
5. To disable ("turn off") a terminal, run
pmadm -d -p PMTAG -s SVCTAG
To enable ("turn on") a terminal, run
pmadm -e -p PMTAG -s SVCTAG
Ports are enabled by default when you "create" them as above.
For more details, see the article:
SUMMARY: Solaris modem/terminal how-to: Rev xx.xx.xx
posted periodically to comp.unix.solaris by
celeste@xs.com (Celeste Stokely).
How do I get the screen to blank when nobody's using it?
Under 4.1.x you invoke screenblank in /etc/rc.local, but there's no
screenblank in Solaris 2.1. Sun recommends that you
have everybody put `xset s on' in their .xinitrc, but this
may be hard to police, and in any event it won't work when nobody is
logged in. The simplest workaround is to copy /usr/bin/screenblank
from 4.1.x and run it in binary compatibility mode. See ``What
happened to /etc/rc and /etc/rc.local?'' for how to invoke it.
Another possibility is to use xdm, but you'll have to use your own,
since the xdm shipped with Solaris 2.1 doesn't work.
The 4.1.x screenblank didn't work for me; I use Jef Poskanzer's
freeware screenblank (FTP it from various archive sites,
two of them listed in the next item).
And what about screendump and screenload?
They're gone too. Screendump from 4.1.1 works, at least for some
frame buffers. Also, you can FTP Jef's screenload and screendump,
if you need that functionality, and for free you get a pixrect
(clone) library. Get one of these:
netcom.com:pub/jef/raster-pixrect.tar.Z
ee.lbl.gov:raster-pixrect.tar.Z
So how about etherfind?
There is a replacement for etherfind, but it has changed name;
in fact it's a whole new program. It IS better. To find it,
though, you would have to realize that network snooping is not
really ethernet-specific. To end the suspense :-), here it is:
% man -k snoop
snoop snoop (1m) - capture network packets and inspect them
%
It works differently - it has an immediate mode, a capture-to-disk mode,
and a playback-from-disk mode. Read the man page for details.
This is too complex for now. Can I run SunOS4.1.x on my SPARC Classic or LX?
Yes, because users wanted it (and because Clone makers were providing
it), Sun has now released a version of Solaris 1 (SunOS 4.1.3)
specifically for these machines. Contact your Sun rep for details.
The "find" program complains that my root directory doesn't exist - is it mad?
Yes! Actually, messages like
find : cannot open /: No such file or directory.
are due to a bug in the tree walking function (nftw(3)). If it
runs into problems traversing the tree, it gives up and
incorrectly complains about the top level directory of the
tree. [The submitter seems] to recall that the most common
case which caused trouble was a directory somewhere in the
directory hierarchy which was readable but not executable.
With the fix it will just complain about the directory to which
it couldn't chdir and skip descending that subtree.
I'm having troubles with high-speed input on the Sparc serial ports.
What should I do?
Try using UUCP. The Solaris 2.x sparc serial driver has trouble
receiving data at or above 9600 bps. Symptoms include sluggish
response, `NOTICE: zs0: silo overflow' console messages, sending
spurious control-Gs to the serial port, and applications that cannot be
killed even with `kill -9'. This problem surfaces in many
applications, including Kermit and tip. UUCP seems immune, though,
because its protocol throttles input sufficiently.
How do I make ksh or csh be the login shell for root?
Root's shell is /sbin/sh, which is statically linked.
Don't just insert a 'c' before "sh" as previously, as that would
look for /sbin/csh, which doesn't exist. Don't just change it to
/bin/csh, since that's really /usr/bin/csh, which is dynamically
linked, because:
a) /usr may not be mounted initially, and then
you're in deep (the shared libraries are in /usr!), and
b) There is code in the startup scripts that assumes that
everything critical is in /etc/lib, not /usr/lib.
Approach with caution!
Safer bet - have an alternate root account, like "rootcsh",
with uid 0, and /bin/csh as its shell. Put it after root's entry in
the passwd file. Only drawback: you now have to remember to
change all of root's passwds at the same time.
Third bet - in root's .profile, check if /usr is mounted and, if so,
exec /bin/ksh or whatever.
What is this message: "automount: No network locking on thathost,
contact administrator to install server change."?
The other machine (an NFS server) is running 4.1.x and needs a
patch from Sun to update its network lock daemon (lockd). If
you don't install the patch on the server, file locking will
not work on files mounted from "thathost". The 100075-09 patch
fixes a bunch of other lock manager problems, so it may be a
Good Thing To Get; however, it may also cause the machine on
which the patch is installed to have trouble talking to servers
with no patch or older patches, so Be Warned.
How do I make Solaris2 use my Toshiba MK538FB drives?
Append this line to /etc/system and reboot:
set scsi_option=0x78
This turns off Command Queueing, which upsets the Toshiba
something rotten.
How do I make Solaris2 use my old ADAPTEC ACB-4000 and Emulex MD-21 disks?
As with any hardware addition, first try the obvious (boot -r
after installing and power-cycling everything).
The adaptec is no longer supported; man -s7 sd no longer even
lists it! So I guess they go over the cliff. Either that, or
take the drives out and put them on a PC, where ST506 MFM
drives are still supported.
The MD21 should work.
Why are there so many patches for Solaris 2.3? It's only been out a month!
Casper Dik writes:
Solaris 2.x releases are essentially frozen TWO months before
their general release date. During the early access/beta test
period bugs are found both in the beta and in the previous
release. That's why at the moment a new release comes out a
number of patches is ready. Some of those are on the Solaris
2.3 CD. Others were released almost at the same time as 2.3.
Solaris 2.3 is not a bug fix release. Although tons of bugs
were fixed, a number of changes have been made and a number of
new features were introduced:
c OpenWin moved from NeWS based to X11R5+DPS based.
n PPP (is said not to work with non Solaris 2.3 PPP)
n AutoFS
n CacheFSn Easier NIS+ conversion
n BCP for statically linked executables.
And another user writes:
Be thankful you don't have to use IBM's AIX. For that you get
a new release and then about 100 patches per WEEK!
So where do I get patches from?
Several sites, actually. Rob Montjoy writes:
I have made available all the patches that I know of for both
Solaris 2.1 and 2.2 on thor.ece.uc.edu.
The Solaris2.1 patches are in /pub/sun-faq/Solaris2.1-patches.
The Solaris2.2 patches are in /pub/sun-faq/Solaris2.2-patches.
Also, located on thor are some of the 4.1.x patches.
These are located in /pub/sun-faq/SunOS4.1.x.Patches.
Finally, these patches are also available via
gopher to thor.ece.uc.edu.
PART FOUR - NETWORKING
Can I use DNS with Solaris 2.1?
1) Instability of in.named on Solaris 2.1.
It seems that the in.named included in the Solaris 2.1 distribution
is terribly unstable. The easiest solution for now I have discovered
is to use the OLD (SunOS 4.1.2 in my case) in binary compatibility
mode. This works just fine. If it's slower I can't tell.
There's also a patch (100902-01) available now for 2.1.
2) Using a Solaris 2.1 host and the DNS for name resolution.
Under SunOS 4.1 it was next to impossible to run DNS name resolution
without either a kludge fix or the NIS (V2 I guess). Under Solaris
2.1 it is incredibly simple, but you must ignore what the manual
(SunOS 5.1 Administering NIS+ and DNS) says (it should be fixed
in Solaris 2.2). All that is required to make a non-NIS host
use the DNS for name resolution is to change the host: line in
the /etc/nsswitch.conf file to the following:
hosts: files dns
(i.e., when looking for hosts, look in /etc/hosts first, if not
found there, try DNS, if still not found then give up) and set
up a correct version of /etc/resolv.conf to tell the resolver
routines (like gethostbyname) how to contact the DNS
nameserver. You must have the names of machines which are
somehow contacted during boot in the files in /etc and files
must appear first in the hosts: line, otherwise the machine
will hang during boot (at least ours did). Make sure that
/etc/netconfig is using switch.so. (It does from the factory.)
Speaking of nsswitch.conf, what is it?
An idea whose time has come (it came to Ultrix a few years
ago). You can control which of the "resolver" services are
read from NIS (formerly YP), which from NIS+, which from the
files in /etc, and which are from DNS (but only "hosts" can
come from DNS).
A common example would be:
hosts: nis files
which means ask NIS for host info and, if it's not found, try
the local machine's host table as a fallback.
Advice: if you're not using NIS or DNS, suninstall probably put the
right version in. If you are, ensure that hosts and passwd come from
the network. However, many of the other services seldom if ever change.
When was that last time *you* added a line in /etc/protocols? If your
workstation has a local disk, it may be better to have programs
on your machine look up these services locally, so use "files".
Terminology: Sun worried over the term "resolver", which
technically means any "get info" routine (getpwent(3),
gethostbyname(3), etc), but is also specifically attached to
the DNS resolver. Therefore they used the term "source" to
mean the things after the colon (files/DNS/NIS/NIS+) and
"database" to mean the thing before the colon
(passwd/group/hosts/services/netgroup etc).
So what does [NOTFOUND=return] in nsswitch.conf mean, and where does it go?
Type "man nsswitch.conf" for more info. There is too much
detail to summarize here. Briefly, [NOTFOUND=return] means
that the name service whose entry it *follows* should be
considered authoritative (so that if it's up and it says such a
name doesn't exist, believe it and return instead of continuing
to hunt for an answer).
PART FIVE - SOFTWARE DEVELOPMENT
Where is the C compiler?
Where have you been? :-) Sun has dropped their old K&R C
compiler, supposedly to create a market for multiple compiler
suppliers to provide better performance and features. Here
are some of the contenders:
1) SunPro C:
SunPro, SMCC, and various distributors sell a new
ANSI-standard C compiler on the unbundled (extra cost)
SPARCcompiler/SPARCworks CD-ROM. There are some other nice
tools there too, like a "make tool" and a visual idiff
(interactive diff).
You have to license and pay per user. Here's what seems to be
their current (June 93) prices per user, in various quantities:
SunPro: Q1 Q2 Q5 Q10 Q20 Q25 Q50 Q100
C, no supp 995 995 950 750 700 680 640 600
1yr C & supp 1355 1355 1310 1110 1080 1040 1000 960
2yr C & supp 1835 1835 1790 1590 1560 1520 1480 1440
3yr C & supp 2315 2315 2270 2070 2040 2000 1960 1920
(The "no support" price actually includes three months of
support under warrantee. One catch with Sun support is that
to get *any* support, you have to pay for support for *all*
the users at your site. The quantity prices are only available
in fixed size chunks. You don't actually buy multiple years
up front, but renew each year if desired.)
One misfeature is that these tools use a floating license
manager, so your whole staff can't use them without paying
large sums of money. Not only that, but as shipped, the tools
enforce a 15-minute minimum usage time, to "encourage" you to
buy a "floating" license for each and every actual user. This
caused so much screaming and tearing of hair that Sun was
forced to fix it. New compiler releases after May 1993 have a
default 5 minute setting, changeable all the way to zero by
having the sysadmin edit the "options file". However, if you
set it to zero, the compiler slows down, since it has to talk
to the license daemon for every file you compile. Old
compilers have a patch available from SunPro to eliminate the
15 minute limit; patch numbers: C: 100966-01; C++: 100967-01;
Fortran: 100968-01; Pascal: 100969-01. However, these patches
don't seem to be available by anonymous FTP.
2) Cygnus GCC:
Cygnus Support and the Free Software Foundation make the GNU C
compiler for Solaris, a free software product. Source code
and ready-to-run binaries are available by FTP from
ftp.uu.net:/vendor/cygnus, or can be installed from the CDware
CD (Volume 4 or 5).
Like all GNU software, there are no restrictions on who can
use it, how many people can use it at a time, what machines it
can be run on, or how many copies you can install, run, give
away, or sell.
Cygnus sells technical support for these tools, under annual
support contracts. Price per user (June 93):
Cygnus: Q1 Q2 Q5 Q10 Q20 Q25 Q50 Q100
C, no supp 0 0 0 0 0 0 0 0
1yr C & supp 1400 700 580 540 ... 504
2yr C & supp 2800 1400 1160 1080 ... 1008
3yr C & supp 4200 2100 1740 1620 ... 1512
(If you get the compiler from one of the free distribution
sites, there is no cost but no warrantee. Cygnus lets you buy
support for any number of users, at $500/user after the first
two users at $1400. You don't actually buy multiple years up
front, but renew each year if desired.)
The Cygnus distribution includes:
gcc (ansi C compiler), gdb (good debugger), byacc (yacc repl),
flex (lex repl), gprof, makeinfo, texindex, info, patch,
cc (a link to gcc)
The Cygnus compiler on uunet is starting to show its age a
bit. If you want to compile X11R5, you can get the latest
version of GCC in source code, from the usual places
(prep.ai.mit.edu or one of the many mirrored copies of it).
Build and install that compiler using the Cygnus gcc binaries.
Or get tech support from Cygnus; they produce a new version
for their customers every three months, and will fix any
bug you find.
3) Info on Apogee, Lucid C, etc will be added if you send us some.
Speaking of that, what else do I need to compile X11R5?
There are several "patch kits" for X11R5 under Solaris 2.1.
Most of them require gcc 2.3.3 and you must have
run "fixincludes" when you install the gcc software.
What happened to NIT? What new mechanisms exist for low-level network access?
See man page DLPI(7). Try NFSWATCH 4.0 for sample code using DLPI.
FTP from harbor.ecn.purdue.edu (128.46.128.76, 128.46.154.76):
pub/davy/nfswatch4.0.tar.Z
or gatekeeper.dec.com (16.1.0.2):
pub/net/ip/nfs/nfswatch4.0.tar.Z
Better yet, FTP the paper "How to Use DLPI in Solaris 2.x" by
Neal Nuckolls of Sun Internet Engineering. Look in
these FTP sites:
opcom.sun.ca:/pub/drivers/dlpi/dlpi-spec.ps.gz
opcom.sun.ca:/pub/drivers/dlpi/dltest.tar.gz
opcom.sun.ca:/pub/drivers/dlpi/howtouseDLPI.ps.gz
ftp.ui.org:/pub/osi/dlpi.ps
ftp.ui.org:/pub/osi/npi.ps
ftp.ui.org:/pub/osi/tpi.ps
[Other questions as they get summarized.]
ACKNOWLEDGEMENTS
Most of this material is either written by me or sent to me
directly. Some of it is cribbed shamelessly (with collective
credit below) from USENET postings in several groups.
Thanks to:
Guy Harris <guy@auspex.com>
Lee Quin <lee@sq.com>
Dean Kemp at Sun Canada
Jim Prescott
Warren Strange, Sun Microsystems of Canada, Inc., Vancouver.
Dave Miner <dave.miner@east.sun.com>
Pete Hartman <pwh@bradley.bradley.edu>
eggert@twinsun.com (Paul Eggert)
geertj@ica.philips.nl (Geert Jan de Groot)
Steve Bellenot <bellenot@math.fsu.edu>
Jennine Townsend <jennine@aimla.com>
bill@access.com (Bill Hunter)
Dave Miner <dave.miner@east.sun.com>
elling@eng.auburn.edu (Richard Elling)
jkp@anwsun.phya.utoledo.edu (Jens Petersohn)
Carl.Smith@Eng.Sun.COM (Carl Smith)
Thomas.Maslen@Eng.Sun.COM (Thomas Maslen)
ctchang@hawk.cc.as.edu.tw (Chin-Tang Chang)
Casper H.S. Dik, FWI, University of Amsterdam
Richard.Mathews@West.Sun.COM
Mike Kupfer <kupfer@eng.sun.com>
Bill Hunter <bill@access.com>
ogpaik@cco.caltech.edu (Oon-Gil Paik)
Dave Curry <davy@ecn.purdue.edu>
Win Strickland <win@jmp.com>
Tim Steele <tjfs@tadtec.co.uk>
John Gilmore <gnu@cygnus.com>
James Litchfield <jiml@west.sun.com>
frank.kaefer@stasys.sta.sub.org
montjoy@ra.ece.uc.edu (Robert Montjoy)
Ronald van der Pol <rvdp@cs.vu.nl>
scyeoak@nuscc.nus.sg (YEO ANN KIAN)
lvirden@cas.org (Larry Virden)
gmt@cs.arizona.edu
Karl Larson <karl@rss.dl.nec.com>
dsnmkey@guinness.ericsson.se (Martin Kelly)
stevek@apertus.com (Steve Kappel)
gohel@zeus.csee.usf.edu
--- End of Solaris 2.x FAQ -- Maintained by Casper Dik <casper@fwi.uva.nl> ---