|
Overview
|
|
|
Common Questions
|
|
|
Adobe Acrobat
|
|
|
Cisco
|
|
|
SGI Scanner
|
|
|
Packet Video Conf
|
|
|
Small Video Conf
|
|
|
New Users
|
|
|
Lic. Software
|
|
|
Public Domain
|
|
|
X-term & CDE
|
|
|
AS400
|
|
|
Digital Unix
|
|
|
Solaris
|
|
|
RedHat Linux(Alpha)
|
|
|
Silicon Graphics
|
|
|
Next
|
|
|
Misc Procedures
|
|
|
Windows 95, NT
|
|
|
Dialup
|
|
|
Linux
|
|
|
Setting up Solaris 2.6
- Find the Solaris 2.6 Hardware 3/98 Software CD. Don't use the earlier
versions of this software as they do not support all the graphics cards.
From the console mode, type boot cdrom and choose the full
installation option. We rarely do the upgrades as they are very difficult
to recover from in case of disastrous disk failures.
- Typically we have more than one disk on the SUN servers. The guidelines
to follow in laying out partitions are: About two to three times the
memory size for swap balanced between many physical disks, seperate file
system for /usr/local, /opt, /var. On some servers we have space for
/phys/apps.
- We select the full distribution with the OEM support option which is about
700 megs on the Solaris 2.6 and let it reboot automatically. Other
options we select are that the system is part of a subnet with subnet mask
of 255.255.255.0. We can typically specify that the machine is using
NIS for authentication and ask it to find a server. The procedure is slightly
complicated for the first NIS server machine in a subnet and differs for
the NIS master server and NIS slave server. These procedures are documented
later on in this section.
- In order to allow root logins over the net, edit the
/etc/default/login file and comment out the CONSOLE=
line.
- In order to route things between subnets edit
/etc/defaultrouter file and add the router.
# more /etc/defaultrouter
128.227.89.1
The machine needs to be rebooted for this to take effect. We can then
get out on to the network from the machine and get back in over the net
as root if necessary. All the remaining configurations can be done over
the network.
- Edit the file /etc/auto_master to setup automount. We sue the file auto_direct to mount the home dirs, temp dirs, and mail spool. Here is an example:
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
/- auto_direct
/home auto_home -nobrowse
/xfn -xfn
- Here is an example auto_direct:
/maxwell/user0 -nosuid,bg,intr maxwell:/maxwell/user0
/maxwell/user1 -nosuid,bg,intr maxwell:/maxwell/user1
/maxwell/user2 -nosuid,bg,intr maxwell:/maxwell/user2
/maxwell/user3 -nosuid,bg,intr maxwell:/maxwell/user3
/maxwell/tmp -nosuid,bg,intr maxwell:/maxwell/tmp
/maxwell/software -nosuid,bg,intr maxwell:/maxwell/software
/quark/users -nosuid,bg,intr quark:/quark/users
/wombat/users -nosuid,bg,intr wombat:/wombat/users
/wombat/temp -nosuid,bg,intr wombat:/wombat/temp
/heeusers -nosuid,bg,intr hee:/heeusers
/einstein/user0 -nosuid,bg,intr einstein:/einstein/user0
/einstein/user1 -nosuid,bg,intr einstein:/einstein/user1
/einstein/user2 -nosuid,bg,intr einstein:/einstein/user2
/einstein/tmp1 -nosuid,bg,intr einstein:/einstein/tmp1
/einstein/tmp2 -nosuid,bg,intr einstein:/einstein/tmp2
/phys/apps -nosuid,bg,intr neptune-gw:/phys/apps
/neptune/user0 -nosuid,bg,intr neptune-gw:/neptune/user0
/neptune/tmp1 -nosuid,bg,intr neptune-gw:/neptune/tmp1
/neptune/tmp2 -nosuid,bg,intr neptune-gw:/neptune/tmp2
/fermi/tmp1 -nosuid,bg,intr fermi:/fermi/tmp1
/fermi/tmp2 -nosuid,bg,intr fermi:/fermi/tmp2
/dirac/tmp1 -nosuid,bg,intr dirac:/dirac/tmp1
/dirac/tmp2 -nosuid,bg,intr dirac:/dirac/tmp1
/bohr/tmp1 -nosuid,bg,intr bohr:/bohr/tmp1
/bohr/tmp2 -nosuid,bg,intr bohr:/bohr/tmp2
/r2d2/tmp1 -nosuid,bg,intr r2d2:/r2d2/tmp1
/c3p0/tmp1 -nosuid,bg,intr c3p0:/c3p0/tmp1
/export/cms/cms -nosuid,bg,intr cms:/export/cms/cms
/export/cms/cdf -nosuid,bg,intr cms:/export/cms/cdf
/ligo/tmp1 -nosuid,bg,intr ligo:/ligo/tmp1
/ligo/tmp2 -nosuid,bg,intr ligo:/ligo/tmp2
/ligo/tmp3 -nosuid,bg,intr ligo:/ligo/tmp3
/vilano/tmp1 -nosuid,bg,intr vilano:/vilano/tmp1
/vilano/tmp2 -nosuid,bg,intr vilano:/vilano/tmp2
/vilano/tmp3 -nosuid,bg,intr vilano:/vilano/tmp3
/deerfield/tmp -nosuid,bg,intr deerfield:/deerfied/tmp
/westpalm/tmp -nosuid,bg,intr westpalm:/westpalm/tmp
/juno/tmp -nosuid,bg,intr juno:/juno/tmp
/delray/tmp -nosuid,bg,intr delray:/delray/tmp
/arbat/tmp -nosuid,bg,intr arbat:/arbat/tmp
/newton/tmp -nosuid,bg,intr newton:/newton/tmp
/atlantic/tmp -nosuid,bg,intr atlantic:/atlantic/tmp
/fermi/backup -nosuid,bg,intr fermi:/fermi/backup
/fermi/user0 -nosuid,bg,intr fermi:/fermi/user0
/dirac/backup -nosuid,bg,intr dirac:/dirac/backup
/dirac/user0 -nosuid,bg,intr dirac:/dirac/user0
/bohr/backup -nosuid,bg,intr bohr:/bohr/backup
/bohr/user0 -nosuid,bg,intr bohr:/bohr/user0
/bohr/tmp3 -nosuid,bg,intr bohr:/bohr/tmp3
/labs/users -nosuid,bg,intr labs:/labs/users
- Edit /etc/vfstab and add the NFS filesystems. These typically
vary from machine to machine but as bare minimum should have the central
user disks and one or more temporary disks and the mail spool area from the
mail server.
quark:/quark/users - /quark/users nfs - yes nosuid,bg,intr
wombat:/users - /users nfs - yes nosuid,bg,intr
hee:/heeusers - /heeusers nfs - yes nosuid,bg,intr
maxwell:/maxwell/user0 - /maxwell/user0 nfs - yes nosuid,bg,intr
maxwell:/maxwell/user1 - /maxwell/user1 nfs - yes nosuid,bg,intr
maxwell:/maxwell/user2 - /maxwell/user2 nfs - yes nosuid,bg,intr
maxwell:/phys/apps - /phys/apps nfs - yes nosuid,bg,intr
maxwell:/opt - /opt nfs - yes nosuid,bg,intr
maxwell:/maxwell/tmp - /maxwell/tmp nfs - yes nosuid,bg,intr
neptune-gw:/var/mail - /var/mail nfs - yes nosuid,bg,intr,actimeo=0
- Create the directories and mount the filesystems using mount
-a -F nfs. If this a brand new machine being added to the network,
we will need to add it into a netgroup in the /etc/yp/netgroup
file on the NIS master server and propagate that to the entire network.
It may also be necessary to explicitely export filesystems for the
client to be able to mount them. On the alphas this is done by
issuing touch /etc/exports command. On the suns we normally
do exportfs -va.
- Make a link using ln -s /local /usr/local if the machine
is going to have its own local. Populate the /usr/local filesystem
from maxwell using rdist. You will need to edit /.rhosts file
to allow root logins from maxwell through rsh without password. You can
copy it from some other client. Remember to do chmod 400 /.rhosts
after the file is created. You will then need to login to maxwell
as root in /local/adm/system/rdist directory and use the command
rdist -v -f Distfile.local local
Check the output of what will be updated.
If it is alright then use
rdist -f Distfile.local local
After this is done, remember to add the new client to the Distfile.weekly
script so that /usr/local area gets updated automatically.
You may have to copy /usr/bin/rdistd to the new machine, on our first Solaris 7 install I could not find rdistd!
- Copy /etc/shells from some other client or add our local
shells to the system shells one per line. This will let our users ftp into
that machine. Here is an example:
/bin/csh
/bin/ksh
/usr/local/bin/tcsh
/usr/local/bin/bash
- Create the /etc/resolv.conf with the following contents
domain phys.ufl.edu
nameserver 128.227.64.2
nameserver 128.227.64.7
nameserver 128.227.64.70
nameserver 128.227.128.24
nameserver 128.227.148.253
- Edit /etc/nsswitch.conf and modify the hosts entry
to look like
hosts: dns xfn nis [NOTFOUND=return] files
- Edit /etc/init.d/sendmail and modify the line that starts sendmail to not start the background daemon (unless this is the mail server):
# /usr/lib/sendmail -bd -q15m & (-bd starts daemon listening on port 25)
/usr/lib/sendmail -q15m &
- We have access to the SUNSolve patch databases as part of our ScholarPAK
contract. There are typically a lot of patches clustered as recommended
patch cluster. We get those patches and install them to get all the
security related patches and any new graphics drivers etc. This step
typically requires a reboot as well.
- On workstations with 3D graphics cards like Creator 3D and Elite 3D,
the steps needed are:
- Customize the CDE Enviroment with our own images, menus and startup
sessions. This is typically done by tarring the /etc/dt area from
another similar machine (cedar) and untarring it here. You need to do the
same from /usr/openwin/lib/X11/fonts for the 75dpi and 100dpi
directories. Some of our customizations to get publisher and other
software going are in these directories. Reboot the machine.
- Merge in the X-applications default resources files from a similar
client in /usr/openwin/lib/app-defaults directory into the
new machine. This will fix the colors for xterm, xplot, xclock etc.
- Run admintool as root and select the printers from the
Browse menu. Edit and then add access to printers. Typically you will add
cmtduplex on neptune as the default and cmtsimplex on neptune. Send a
small job to the printer and test out the connection.
- Add the new machine in /etc/hosts.equiv on our server maxwell
from where it will be copied over to other machines.
- On the mailserver (phys.ufl.edu), we need to edit
sendmail.clients in the /etc/mail directory to add
the new machine name as a client.
Network installations
- cd to /cdrom/sol_2_6*/s0/Solaris2.6/Tools
- Run ./setup_install_server /r2d2/tmp1 to copy the products over
to the disk.
- On each subnet there needs to be a boot manager. Add this by
running ./setup_install_server -b /directory
- Fix the /etc/dfs/dfstab so that the clients can do root mounts
with -ro option
- cd to the /r2d2/tmp/Solaris_2.6/Tools directory and run
./add_install_client -s install_server:/r2d2/tmp1 -i ipaddr
-e ethernetid client_name platform_group
For example, to add a Sun Ultra 5 you might type:
./add_install_client -i 128.227.89.139 -e 08:00:20:93:d5:20 \
-s r2d2:/r2d2/tmp1 graybeal01 SUNW,Ultra-5_10
- It appears that the machine will complain about the machine
to be added into the ethers yp map. However a way around this is
to add it to the local /etc/ethers on the bootserver and setup
the /etc/nsswitch.conf file to look there instead of in
nis
- Go to the client and type boot net - install
- There seems to be a long delay after the sysidnis is done
while it searches for the rules file on the server. Be very patient.
It will eventually come back with the menu to install.
- On IPX machines it appears Monitor Power management is enabled
by default causing an annoying flash. To disable this comment out the
autoshutdown line in /etc/power.conf and run
pmconfig.
Converting Solaris 2.5 machine on the net to a ppp client from
home.
- Delete the /etc/hostname.le0 by moving it to
/etc/hostname.orig
- Edit /etc/nodename file to read hostname
instead of hostname.phys.ufl.edu. You can leave the
extensions alone in the /etc/hosts file.
- Remove the /etc/defaultdomain file by moving it to, for
example, /etc/defaultdomain.orig.
- Create a /etc/defaultrouter file and put annex
as the single line in there. Make sure that annex is in the
/etc/hosts file. If you do not create this, routed
will get started.
- Create a /etc/resolv.conf file with the following
information.
domain phys.ufl.edu
nameserver 128.227.24.1
- Copy /etc/nsswitch.files to /etc/nsswitch.conf
Edit /etc/nsswitch.conf and modify the hosts entry
to look like
hosts: files dns [NOTFOUND=return]
- Add local password entries to the /etc/passwd file.
This is done by cut and pasting the appropriate line from neptune's
/etc/yp/passwd, and alter the home directory path to
/export/home/username. Don't forget to do pwconv to
update /etc/shadow, or the new entries won't work.
- The home directories should then be created and files like
.login, .cshrc, .profile should be copied to this area.
- Edit /etc/asppp.cf. This file has the default_route
option which is dynamic; the route won't be active until PPP is up,
which is bad if the host you're trying to connect to is in
/etc/hosts and an nslookup is not required. We recommend not
using this and go with the /etc/defaultrouter
# Sample asynchronous PPP /etc/asppp.cf file
#
ifconfig ipdptp0 plumb 128.227.24.204 128.227.24.100 up
#
path
inactivity_timeout 600 # Approx. 10 minutes
interface ipdptp0
peer_system_name annex # The name we log in with (also in
# # /etc/uucp/Systems
- Edit the /etc/uucp/Systems file.
annex Any ACU 38400 27001 "" P_ZERO "" \r login:--login: username
Password: password @annex: ppp
Make sure this username is matched to the IP number we are setting up
on the machine in /var/spool/erpcd/bfs/acp_dialup. After the
testing is finished remember to change the phone number (3927001),
username and password strings.
- Edit the /etc/uucp/Devices file.
ACU cua/a - Any att
The cua/a or cua/b will depend on the port you plug the modem into.
- Edit the /etc/uucp/Dialers file.
att =,-, "" \r\r\dATZ\r\c OK\r \EATDT\T\r\c CONNECT STTY=crtscts
"" STTY=litout "" STTY=hup
- Remove any NFS mounted directories from /etc/vfstab
- Reboot, login and telnet to neptune. The modem should go online
and start dialing.
- On satellite change the printer setup appropriately. Change
config.ps to reflect an Apple Laserwriter (canon mode,
300dpi, etc.) We also changed the global.cshrc to eliminate
nonexistant (NeWSPrint) man path, put /local/bin ahead of
/phys/apps/bin in the path, so that TeX won't get confused
with Publisher's TeX. We also had to do AT&D2&W0&W1 to get the zoom to
hang up when ppp disconnects.
- On sanibel, we changed the fonts.alias file
/usr/openwin/lib/X11/fonts/75dpi to get shortcut names to fonts
Setting up a dialout modem on IPX
Tip and /etc/remote
You may hate tip and love kermit or pcomm. I understand. But, do this
via tip to keep it simple, ok?
Decide which serial port you want to use. (One with no cable already
plugged in is often a good bet.) The port will be labeled "A", "B", "A/B"
or could even be "C" or higher.
If you use one labeled "A/B" and have no Y-type splitter cable plugged
into it, you'll have access only to port A. With the splitter, you'll get
ports A and B on separate sockets of the splitter cable.
The Sun serial port device driver splits each physical port into two
logical devices, /dev/term/a or /dev/term/b for
incoming transmission, and /dev/cua/a or
/dev/cua/b for outgoing transmission.
The speed referred to in this section is the DTE or
Sun-to-modem speed. It is NOT the modem-to-modem speed. A
14400bps modem may have a 19200bps DTE speed.
Make sure you have your serial port permissions right.
uucp should own the outgoing side, and root
should own the incoming side.
Execute these commands as root, substituting your port name (a, b, c,
or d) where needed:
prompt# chown uucp /dev/cua/a; chgrp tty /dev/cua/a
prompt# chown root /dev/term/a; chgrp tty /dev/term/a
- Edit tip's configuration file,
/etc/remote, and find the
entry beginning with "hardwire:". This is the entry you use
to program the modem, and is not usually used for dialing out directly,
unless you enjoy AT commands.
(If this is the second modem you're adding, clone the entire hardwire
entry and label the new entry "hardwire2".)
Change it from an entry like:
hardwire:\
:dv=/dev/????/?:br#????:el=^C^S^Q^U^D:ie=%$:oe=^D:
to one set to your port (like /dev/cua/a) and baud rate
(like 9600):
hardwire:\
:dv=/dev/cua/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
Go to step 2
- Run tip:
NOTE: Never run tip
from a cmdtool. Use a shelltool, xterm, or some other
window without scrollbars. The scrollbars may confuse tip's
<carriage return> processing.
There are exceptions to this, but if you never run tip in a scrollbar-type
window, you won't have to remember all the ways it does and does not work.
Now use your edited "hardwire" entry from
/etc/remote and type:
prompt# tip hardwire (or "tiphardwire2")
you should see "connected"
type:
ATE1V1<carriage return>
(This will work for all Hayes-compatible modems, even cheapies.)
- You should see "OK". Congratulations! You're talking with the modem!
Now, issue the appropriate AT commands to program the modem. Don't forget
to write the new settings out to the modem's NonVolatile RAM.
-
If you don't see "OK", you are not communicating with the modem. See if
the modem is plugged in, verify the baud rate of the modem and the
hardwire entry in
/etc/remote, verify the modem cable.
- Exit tip by typing:
<carriage return>~. (This means to type 3 separate
keys, one at a time, of <carriage return> <tilde> <period>
This will also exit rlogin, so if you're running tip through an
rlogin, make that <carriage return>~~. (<carriage
return> <tilde> <tilde> <period>)
or you'll only exit rlogin.)
- The cuaa entry (below) allows you to type "tip cuaa" and
talk directly to a modem on port A at 19200bps, using 7 bits, even parity.
- The cuab entry (below) allows you to type "tip cuab" and
talk directly to a modem on port A at 9600bps, using 8 bits, no parity.
-
"tip some_phone_number" will look for the tip0 entry and use
that definition to dial "some_phone_number". (In the
/etc/remote example below, it will use tip0, which points to UNIX-19200,
which sets up a dialup 19200bps 7 bits even parity Hayes compatible modem.
UNIX-19200 points to diala, which references
/dev/cua/a.
Convoluted, eh?)
- "tip mysystem" (below) looks up the "
mysystem"
entry, and dials the number 14155551234 via a 19200bps 7 bits, no parity
connection on /dev/cua/a.
/etc/remote example
The following sample /etc/remote file is set up for:
- port a, 19200bps Hayes-compatible modem, 7 bits even parity (It's 7E1
because there is no "p8" entry)
- port b, 9600bps Hayes-compatible modem, 8 bits no parity (It's 8N1
because there is a "p8" entry)
See the remote(4) man page for all the possible options.
cuaa:dv=/dev/cua/a:br#19200:
cuab:dv=/dev/cua/b:p8:br#9600
mysystem:pn=14155551234:tc=UNIX-19200:
hardwire:\
:dv=/dev/cua/b:p8:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:
tip0|tip19200:tc=UNIX-19200:
tip9600:tc=UNIX-9600:
UNIX-9600:\
:el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#9600:tc=dialb:
UNIX-19200:\
:el=^D^U^C^S^Q^O@:du:at=hayes:ie=#$%:oe=^D:br#19200:tc=diala:
diala:\
:dv=/dev/cua/a:
dialb:\
:p8:dv=/dev/cua/b:
--------------------------------------------------------------------
The attributes are:
dv device to use for the tty
du make a call flag (dial up)
pn phone numbers (@ =>'s search phones file; possibly taken from
PHONES environment variable)
at ACU type
ie input EOF marks (default is NULL)
oe output EOF string (default is NULL)
cu call unit (default is dv)
br baud rate (defaults to 300)
tc to continue a capability
Setting up an NIS master server for a domain.
Setting up the first NIS slave server for a subnet.
Porting code or Compiling
If the configure process needs to know your system type and Solaris 2.5 (or
SunOS 5.5) is not an option, the best bet fallbacks are:
Solaris 2.4/SunOS 5.4
Solaris 2.x/SunOS 5.x
X/Open Programmer's Guide Release 4 (XPG4)
POSIX
SysVR4
(With the caveat that if you need true XPG4 compatibility you need to
make sure it calls the programs in /usr/xpg4/bin instead of any others
that may be present in other directories)
Make sure /usr/ucb is either not in your path (preferred) or near the
end of it when configuring/building. NEVER use /usr/ucb/cc to compile
software - always use the SparcWorks Pro cc or gcc. Avoid linking with
libucb whenever possible - if you must use it (and you should almost
never have to with software written/modified anytime in the last 3 or 4
years), add it to the *END* of the LDFLAGS like this:
-lc -L/usr/ucblib -R/usr/ucblib -lucb
(otherwise you may get unexpected conflicts with curses or calls that
are in both libraries).
However, most "make install" scripts expect the /usr/ucb/install or
/usr/local/gnu/bin/install behavior, not the bizzare /usr/sbin/install
behavior - if you get strange "not found" errors from install, it's
probably because you're using the wrong one. And NEVER run install as
root without specifying the full path to the install program since you
can easily blow away system software with the sbin install program.
Tips for answering configuration questions (these are just general guidelines,
and may not always be the best answer for a particular package - the symbol
">" is used to mean "is preferred over"):
- Sparcs are big-endian (like Motorola 68k processors)
- waitpid > wait3/wait4 > wait
- signal handling:
- sigaction > sigset > signal
- sig{set,long}jmp > {set,long}jmp (when appropriate)
- reading directories:
readdir/dirent.h > getdents/getdirentries/[n]dir.h
- finding # of file descriptors: sysconf > getdtablesize > NOFILE
- open() flags: O_NONBLOCK > O_NDELAY
- file system stats: statvfs > statfs
- file locking: fcntl > lockf > flock
- tty interface: POSIX/termios > termio > sgtty/ioctl
- getting the current time: time > gettimeofday
- formatting the time: strftime > asc[f]time/c[f]time
- getting current dir: getcwd > getwd
- getting the hostname: gethostname > uname
- terminal info: terminfo > termcap
- string matching: strcasecmp > stricmp
- process creation: fork > vfork
For some information about what the various system libraries are, run
"man -s 3 intro"
Some configure scripts will find -lmalloc and try using it - you probably
want to discourage this since the -lmalloc versions of the memory routines
are slower (more space-efficient, yes, but slower - see "man -s 3c
malloc" for more info on the different versions).
Always link with any shared libraries available instead of the equivalent
static libraries, so that when bugs are fixed in the shared libraries they
will be automatically fixed in your programs, and so that your programs
work after OS upgrades.
If you need to link with shared libraries in non-standard paths, ALWAYS use
"cc -R" to specify the path instead of requiring that LD_*_PATH environment
variables be set (don't just try writing a wrapper to set the variables and
call the program).
To link with the Motif libraries, add this to your LDFLAGS *before* -lXt or
other X11 libraries:
-L/usr/dt/lib -R/usr/dt/lib -lXm
Check out http://www.sun.com/smcc/solaris-migration/ when you're looking for
already ported source or porting hints. Read the comp.unix.solaris FAQ
and the Solaris Porting FAQ for answers to other questions:
http://www.fwi.uva.nl/pub/solaris/solaris2/
http://www.cis.ohio-state.edu/hypertext/faq/usenet/Solaris2/
|