|
|
|
|||
|
|
=========================================================================
Tru64 UNIX FAQ
=========================================================================
==============
Overview
==============
The term "Alpha" generally refers to systems based on the COMPAQ Alpha
processor.
Unless otherwise specified, these answers refer to COMPAQ Tru64 UNIX
4.0 and above, which are the current releases. "Tru64 and Digital
UNIX" are used interchangeably in this FAQ. They are also used for
earlier versions which call themselves DEC OSF/1.
World-Wide Web Universal Resource Locator (URL) notation is used for FTP
addresses.
Many people have contributed to this list, directly or indirectly. In
some cases, an answer has been adapted from one or more postings on the
comp.unix.ultrix or comp.unix.osf.osf1 newsgroups. Our thanks to all
of those who post answers. The name (or names) at the end of an entry
indicate that the information was taken from postings by those
individuals; the text may have been edited for this FAQ. These
citations are only given to acknowledge the contribution.
The editors of this FAQ are not employees of COMPAQ Computer
Corporation. This posting does not represent an official statement from
COMPAQ Computer Corporation.
AlphaGeneration, AlphaServer, AlphaStation, Alpha AXP, AXP, DEC, DECstation,
DECsystem, OpenVMS, ULTRIX, VAX and VMS are trademarks of COMPAQ Computer
Corporation. OSF/1 is a registered trademark of the Open Software Foundation.
UNIX is a registered trademark in the United States and other countries,
licensed exclusively through X/Open Company Ltd. Other names are properties of
their respective owners.
Thanks to Steve Lionel, COMPAQ Fortran group, for allowing us to take
over his work on the FAQ. We welcome and solicit contributions. This
is your FAQ and we want it to reflect the knowledge and cooperation of
the worldwide Tru64 UNIX community. Please send FAQ updates, comments and
additions to faq@tru64.org.
Ken Farmer kfarmer (at) spyderbyte (dot) com
www.tru64.org
Last updated: Jun 25, 2001
Programming 4 - Added Insure++
=============
General Notes
=============
===========
Topic Index
===========
Alpha
=========================================================================
1. What does the AXP in "Alpha AXP" mean?
2. Where can I get Emacs and Epoch for Digital UNIX?
3. Where can I get technical information about Alpha?
4. Where can I get updated console firmware, patches, etc., for AlphaServer
systems?
5. Where can I find a gcc binary for Tru64?
Graphics
=========================================================================
1. How can I make the graphics go faster?
2. Where can I get an xv that works on Digital UNIX?
3. How do I get an xdm session as root?
4. How do I allow xdm sessions at C2 security?
Hardware
=========================================================================
1. Where can I get information about Alpha chips?
2. What are the pinouts of the MMJ jacks?
3. Where can I get a disktab entry for the XXX disk?
4. How can I read/write MS-DOS floppy disks?
5. How can I get disktab information for a new disk?
Misc
=========================================================================
1. Where else is Digital UNIX discussed?
2. How do I add a new terminal definition?
3. How do I boot to single-user mode?
4. I heard that OSF is dropping OSF/1. What does that mean for Digital UNIX?
5. How can I read VMS BACKUP tapes on a UNIX machine?
6. How do I contact Digital Customer Relations?
7. How do I get an ESC (escape) character on a DEC keyboard?
8. Where can I read announcements from Digital?
9. Where can I get performance information about Digital products?
10. How do I report security problems to Digital?
11. How do I deal with the swap file filling up?
12. How do I deal with login problems?
13. How do I figure out what version of Digital UNIX I have?
14. Are there any Tru64 web sites?
15. How do I free disk space for an update installation?
16. Why doesn't deleting individual system files free space for an update
installation?
17. How do I tune my system for use as a web server?
18. Why does dxaccounts tells me that the password and group files are
locked?
Network
=========================================================================
1. Why doesn't FTP work to an XYZ system?
2. How do you use a NFS-mounted /usr filesystem on Digital UNIX?
3. Where can I get rstatd for Digital UNIX?
4. How do I switch between the AUI and 10 Base-T Ethernet ports?
5. Where can I get multicast software for Digital UNIX?
6. What's wrong with xdr_long in the Digital UNIX XDR routines?
7. How do I configure the Berkeley Packet Filter and capture tcpdump traces?
8. How do I switch to full duplex 100mb?
Printing
=========================================================================
1. Printcap filter syntax example
2. TCP/IP Network Printing using socket connection
3. Parallel port connection
4. Serial Port connection
5. Network lpd remote printing
6. Network printers using lpd remote connection
7. Print filters
8. Postscript printer filter
9. Generic text printing
10. HP PCL printing
11. DEC ANSI printers
12. Selecting print filters
13. Printing postscript files on a non-postscript printer
Programming
=========================================================================
1. What tools will help me port software to Digital UNIX?
2. Why can't I run dbx?
3. Why do my applications not work after I upgrade to a new version of
Digital UNIX?
4. Where can I get a debugging malloc that works on Digital UNIX?
5. What's with 'ld: unresolved symbols: dnet_conn'?
6. How can I tell what program generated a core file?
7. What does "unaligned access" mean, and how can I fix it?
8. What about "unaligned access" in FORTRAN programs?
9. How can I get microsecond resolution from gettimeofday(2)?
Security
=========================================================================
1. How do I authenticate users on Tru64 UNIX?
Software
=========================================================================
1. What (free) tools are there for looking at system behavior?
2. How can I figure out what files translated binaries are looking for?
3. Where can I get a T-shell (tcsh)?
4. How can I use audio on AlphaStations and DECstations?
5. How do I play music CDs on CD-ROM drives?
6. Can I run binaries from RISC/ULTRIX on a Digital UNIX system?
7. Where are patches/updates for DIGITAL UNIX available from?
8. How do I move the license data when migrating to V5.0?
===================
Questions & Answers
===================
=========================================================================
Alpha 1 -- What does the AXP in "Alpha AXP" mean?
=========================================================================
Nothing. It is part of the trademark. Digital is eliminating the use of
"AXP" in new product names.
=========================================================================
Alpha 2 -- Where can I get Emacs and Epoch for Digital UNIX?
=========================================================================
Both a binary and sources for GNU Emacs are included on the base
system CD-ROM. Epoch is available on the Alpha OSF/1 Freeware CD-ROM
(see answer A1 for more information).
GNU emacs 19.29 compiles for Digital UNIX "out of the box"
=========================================================================
Alpha 3 -- Where can I get technical information about Alpha?
=========================================================================
Sites, R.L., Ed., Alpha Architecture Reference Manual (2nd ed) (600 page book,
1995) from Digital Press (EY-T132E-DP) or Prentice-Hall , ISBN
1-55558-145-5).
Digital Press has published "Alpha Architecture and Implementations" (Dileep
Bhandarkar, author). The book provides a comprehensive description of all major
aspects of Alpha systems. The book includes an overview of the history of RISC
development in the computer industry and at Digital, the Alpha architecture, all
the major processor chips, and system implementations. The book also covers RISC
concepts, provides an overview of other RISC architectures, and descriptions of
the new SPARC, MIPS, PowerPC, and PA-RISC microprocessors introduced in 1995.
The book also discusses operating system porting issues, compiler techniques,
and binary translation. Available from Butterworth-Heinemann (1-800-366-BOOK).
Communications of the ACM, February 1993 issue (4 Alpha articles)
Digital Technical Journal, Vol 4., No. 4 (200 pages of Alpha articles,
including 4 above with fewer typos).
Jim Montanaro "The Design of the Alpha 21064 CPU Chip" (42 minutes)
Dick Sites and Dirk Meyer, "Alpha Architecture" (73 minutes)
University Video Communications P.O. BOx 5129 Stanford CA 94309 USA
(415) 813-0506
=========================================================================
Alpha 4 -- Where can I get updated console firmware, patches, etc., for
AlphaServer systems?
=========================================================================
There is a support page for Alphaservers. This area is accessible to both
internal and external folks. The information includes firmware updates, the
latest configuration utilities, software patches, a list of supported options,
hardware documentation, and more.
The WWW pages are located at:
www.compaq.com/support/
ftp.digital.com/pub/DEC/Alpha/firmware/
Please send your comments and feedback to:
alpha_server@service.digital.com
=========================================================================
Alpha 5 -- Where can I find a gcc binary for Tru64?
=========================================================================
For Version 4, and above, it is on the freeware cd.
=========================================================================
Graphics 1 -- How can I make the graphics go faster?
=========================================================================
If your application is sending lots of data (using, say, PutImage
requests), try setting DISPLAY to local:0, which uses a shared memory
transport between the client and the X server.
=========================================================================
Graphics 2 -- Where can I get an xv that works on Digital UNIX?
=========================================================================
XV 3.10a supports Digital UNIX. It can be obtained from:
ftp://ftp.cis.upenn.edu/pub/xv
xv is also included on the Freeware CD-ROM
=========================================================================
Graphics 3 -- How do I get an xdm session as root?
=========================================================================
Add the lines
host:0
host.sub.domain:0
to the file /etc/securettys to allow root to login.
=========================================================================
Graphics 4 -- How do I allow xdm sessions at C2 security?
=========================================================================
If you get the error 'Cannot obtain database information on this terminal',
Follow this advice from the Digital support people and change the
files /etc/auth/system/ttys, /etc/auth/system/devassign and /etc/securettys
as follows:
In the following, replace host, host.sub.domain and n.n.n.n by the
hostname, full domain name and IP address of the host(s) you are trying to
connect from.
Add lines like the following to /etc/auth/system/ttys :
host\:0:t_devname=host\:0:t_xdisplay:t_login_timeout#0:chkent:
Add lines like the following to /etc/auth/system/devassign :
host\:0:v_devs=host\:0,host.sub.domain:0,n.n.n.n:0:v_type=xdisplay:chkent:
Add lines like the following to /etc/securettys :
host:0
host.sub.domain:0
At V4 (and by then the operating system is not called OSF but dUNIX or
Tru64Unix), you can use wildcards for the X-terminal names and IP
addresses, and must use the edauth command to operate on the databases.
You could use the two commands:
echo '*:*:t_devname=*:*:t_login_timeout#0:t_xdisplay:chkent:' | /tcb/bin/edauth -s -dt
echo '*:*:v_type=xdisplay:chkent:' | /tcb/bin/edauth -s -dv
to allow any X-terminals to connect and log in via xdm.
=========================================================================
Hardware 1 -- Where can I get information about Alpha chips?
=========================================================================
www.alpha-processor.com
=========================================================================
Hardware 2 -- What are the pinouts of the MMJ jacks?
=========================================================================
This describes the 6-pin modified modular jack (MMJ) used for serial ports
on various Digital hardware.
Digital carries four DB-to-MMJ adaptors. They are internally wired as follows
Rdy Out TX+ TX- RX- RX+ Rdy In
Adaptor Gender 1 2 3 4 5 6 Use with:
--------------------------------------------------------------------------
H8575-A F 20 2 7 7 3 6&8 VTxxx terminal
H8571-C M 6 3 7 7 2 20 Digital printer
H8571-D M 6 3 7 7 2 20 Modem
H8571-E M 20 2 7 7 3 6&8 Female terminal
or LaserWriter
--------------------------------------------------------------------------
RS-232 using DB-25 connectors:
DTE DCE
Terminal Modem
or computer
Pin Number Signal Name
2 TD Transmit Data --
3 RD Receive Data
=========================================================================
Hardware 3 -- Where can I get a disktab entry for the XXX disk?
=========================================================================
newfs is smart enough to get the geometry of the disk from the drive,
although this feature is not documented for all versions. Use
newfs /dev/rrz#x /dev/rrz#x
to do this.
For most uses, you don't need a disktab entry on Digital UNIX. The disklabel
command can get the default partition table and geometry from the disk
driver and will put that in the label. When the label is present, newfs
doesn't need a disktab entry either.
A collection of contributed disktab entries is in
/pub/DEC/ultrix-disktabs on the usual archive machines. Get a copy of
the file for an up-to-date list. The disktab collection may also be
used on Digital UNIX, but not all entries have been tested on all
platforms.
=========================================================================
Hardware 4 -- How can I read/write MS-DOS floppy disks?
=========================================================================
If you have a floppy disk drive on your ULTRIX or OSF/1 system, get
"mtools", a set of MS-DOS utilities for UNIX. The package can be
copied from ftp://prep.ai.mit.edu/pub/gnu/mtools-2.0.7 It works on
both DECstations and Alphas.
When you build mtools, you need to find out which device your floppy
is (/dev/rrz2c is common). Then you can clone the SPARC definitions,
or #define SPARC and make /dev/rfd0c a symlink to the one you need.
=========================================================================
Hardware 5 -- How can I get disktab information for a new disk?
=========================================================================
For disks that do not have entries in the /etc/disktab file, the following
disklabel command will query the disk itself for geometry information:
disklabel -rw /dev/rrzXc unknown
Where /dev/rrzXc is the device name of the disk.
=========================================================================
Misc 1 -- Where else is Digital UNIX discussed?
=========================================================================
You can join the tru64-unix-manager mailing lists. Send
with:
subscribe tru64-unix-managers
in the body to Majordomo@ornl.gov
[Dave Sill, de5@ornl.gov]
Archives of tru64-unix-managers mailings are kept at:
www.ornl.gov/cts/archives/mailing-lists/
Check out the news group comp.unix.tru64
=========================================================================
Misc 2 -- How do I add a new terminal definition?
=========================================================================
Some applications on Digital UNIX use termcap; others use terminfo. tic(1)
compiles a termcap definition for terminfo. It is best to add a
new terminal definition both ways.
=========================================================================
Misc 3 -- How do I boot to single-user mode?
=========================================================================
boot -fl s
-fl specifies the flags to the booted image.
=========================================================================
Misc 4 -- I heard that OSF is dropping OSF/1. What does that mean for
Digital UNIX?
=========================================================================
[The following is a "position statement" on this subject from Digital]
As part of its reorganization in March of 1994, the Open Software
Foundation announced transition plans for its existing technologies. It has
been well understood since then that the June 1994 release of OSF/1, the
OSF's operating system source code, would be the last. The possibility
remains open that OSF sponsors may choose to fund additional work in the
operating system area, but no projects are underway.
It is important to understand what OSF/1 is and has always been. It is not a
finished operating system but a set of operating system technology
components, from which vendors can pick and choose pieces of technology
that complement their product development strategies. Many UNIX system
vendors use elements of OSF/1 code -- Hewlett-Packard in HP-UX, IBM in
AIX, and many others, including Digital in Digital UNIX.
Digital uses components of OSF/1 technology, just as it integrates
technology from other suppliers with its own internal development. By
following this strategy of integrating needed components, Digital has been
able to produce the best implementation of the UNIX operating system in
the industry and to bring it to market quickly.
Since the initial releases, development of Digital's product has not been
dependent on OSF code. Digital's plans for the future development of
Digital UNIX are fully under Digital's control, and our plans for a fully
SPEC 1170 compliant version, UNIX clusters, and other leading
commercial enhancements are on course.
=========================================================================
Misc 5 -- How can I read VMS BACKUP tapes on a UNIX machine?
=========================================================================
There is a utility called vmsbackup to do this. Earlier URLs for this
software are now invalid - the following is part of a set of FreeBSD
ports - it may or may not work on other UNIX systems.
www.ee.freebsd.org/ports/emulators.html#vmsbackup-3.0
Vbackup is a commercial product which can read and write VMS-compatible
BACKUP savesets.
www.bbc.com/vbackup.htm
=========================================================================
Misc 6 -- How do I contact Digital Customer Relations?
=========================================================================
If you are having a problem dealing with Digital that you cannot satisfactorily
resolve through your local Digital office, please contact US Customer Relations
at:
Internet: response@mkots3.enet.dec.com
Phone: 800-DEC-INFO or 603-884-0915
FAX: 603-884-4692
Mail: US Customer Relations
Digital Equipment Corporation
Digital Drive, MKO2-2/D15
P.O. Box 9501
Merrimack, NH 03054-9501
Non-US customers may also use these contacts; information will be directed to
the appropriate corporate office.
Please include your name, organization, address, phone number and Internet
address in all correspondence.
=========================================================================
Misc 7 -- How do I get an ESC (escape) character on a DEC keyboard?
=========================================================================
1. Use F11 on the LK201 or LK401 (in most keyboard modes).
2. Use Ctrl-[ (left bracket)
3. Adjust the keyboard mapping in DECterm, if that's what you're using.
4. Use dxkeycaps to produce commands for xmodmap. See the manual pages
for details.
5. Get an LK421-AA keyboard, a North American keyboard designed for UNIX
systems. It has an ESC key, no caps lock, and the keypad has
been removed so the keyboard is smaller.
=========================================================================
Misc 8 -- Where can I read announcements from Digital?
=========================================================================
biz.digital.announce is Digital Equipment Corporation's newsgroup for
posting business information on products, services, significant
contracts, organizational announcements, cooperative marketing
agreements, alliances, seminars, promotions, etc.
The newsgroup will be organized so that you can use a "kill" file with
your newsreader to skip over (or ignore) classes of announcements that
are not of interest. All postings will be organized along the
following lines:
Subject: Press/... Digital Press Releases
Subject: Fact Sheet/... - Supporting Fact Sheets
Subject: Backgrounder/... - Supporting Editorial Backgrounders
Subject: Partner/... Press Releases from Digital's Partners
Subject: Seminar/... Seminars offered by Digital
Subject: Promotion/... Sales Promotions offered by Digital
Subject: Show/... Digital Tradeshow Activities
Subject: Training/... Digital Education & Training
The new biz.digital hierarchy is:
biz.digital.announce News and Announcements
biz.digital.articles Newsletters, Catalog, and Journal Articles
=========================================================================
Misc 9 -- Where can I get performance information about Tru64/Alpha products?
=========================================================================
http://www.tru64unix.compaq.com/alphaserver
http://www.compaq.com/alphaserver
=========================================================================
Misc 10 -- How do I report security problems to Digital?
=========================================================================
Security problems or questions should go to your normal Customer Support
Center.
=========================================================================
Misc 11 -- How do I deal with the swap file filling up?
=========================================================================
Remove the file /sbin/swapdefaults and reboot.
Digital UNIX has two paging modes, lazy and conservative. Conservative means
that paging space is allocated as memory is allocated, guaranteeing that there
is always somewhere to page to. This limits VM to the size of the paging
partitions, but makes for a very robust system. Lazy is more like what people
are used to with Unix - paging space is allocated when needed for paging out,
you can run more jobs, but you're in big trouble when everything fills up. By
default, Digital UNIX comes up in the conservative mode. Removing the
swapdefaults file changes the system to lazy mode.
=========================================================================
Misc 12 -- How do I deal with login problems?
=========================================================================
Versions of Digital UNIX earlier than V3.0 use the /upgrade file to allow
access to non-root users. Generally, on these versions, the inability of
non-root users to log in is due to a problem with this file. Typically, this
file gets deleted by somebody who doesn't understand its purpose. To recover
from this problem, do one of the following:
1. cp -p /upgrade0 /upgrade
2. copy /upgrade from another pre-V3.0 Digitial UNIX system.
3. Obtain the O/S distribution media and extract the /upgrade0 file.
a. mount -r /dev/rzc /mnt
b. cat /mnt/ALPHA/BASE/OSFBASE200 | uncompress | tar xvf - ./upgrade0
c. cp upgrade0 /upgrade
NOTE: the 200 in OSFBASE200 varies based on the O/S version.
Digital UNIX V3.0 uses the OSF-BASE and OSF-USR PAKs to determine the amount
of users allowed. A valid OSF-BASE PAK is required to activate the OSF-USR
PAKs. By default, the OSF-BASE PAK alone provides 2 concurrent user support
by activating an OSF-USR PAK which is automatically installed. If zero
non-root users can login, then you probably have not installed your OSF-BASE
PAK properly or it has expired. (Use the "lmf list" command to see the list
of installed PAKs. A PAK is good if its status is "active".) Install a valid
OSF-BASE PAK. If the problem still persists, then you likely do not have any
OSF-USR PAK. Since one is automatically installed for you, this means that
somebody inadvertantly deleted the PAK. You can recover this PAK by entering
the following:
/sbin/it.d/bin/twouser
Two concurrent users should be allowed to login at at this time.
If your problem is that only two users are allowed to login at the same time,
then you probably need a larger or additional OSF-USR PAKs. If you have
installed an "unlimited user" OSF-USR PAK but are seeing a restriction on the
number of users allowed to login, delete all OSF-USR PAKs other than the PAK
which provides for unlimited users.
=========================================================================
Misc 13 -- How do I figure out what version of Digital UNIX I have?
=========================================================================
The following table correlates the output of the "uname -a" command to
the "marketing name" for various Digital UNIX (DEC OSF/1) versions:
V2.0 240 V3.0 347
V3.0B 358.78 V3.2 214
V3.2A 17 V3.2B 214.61
V3.2C 148 V3.2D-1 41
V3.2D-2 41.64 V3.2F 69.73
V3.2G 62 V4.0 386
V4.0A 464 V4.0B 564
V4.0C 564.32 V4.0D 878
V4.0E 1091 V4.0F 1229
To determine the correct information for any version of Digital UNIX:
# strings /vmunix | grep '(Rev.' | cut -f1 -d';'
Or use (For DU v4.0 or higher):
# sizer -v | cut -f1 -d';'
=========================================================================
Misc 14 -- Are there any Tru64 web sites?
=========================================================================
www.unix.digital.com
www.tru64.org
Please let us know of other good sites. Send additions
to admin@tru64.org
=========================================================================
Misc 15 -- How do I free disk space for an update installation?
=========================================================================
Some users have experienced problems recovering ample disk
space after an update installation has aborted due to insufficient
space. The following is an example of a typical problem encountered
during an update:
1) The update installation exits and indicates that additional space is
needed in a particular file system (root, /usr, and/or /var) to perform the
update.
2) The user deletes or moves files from the affected file system
and/or removes subsets.
3) The user initiates another update attempt.
4) The update installation aborts again because of lack of space, even
though the user believes that the space requested during the first
attempt has been recovered.
There may be several reasons for this problem:
o Some users are not following the proper method for removing system
files to recover disk space, as described below.
o A bug has been identified in the update installation disk
space calculation for AdvFS file systems. See "AdvFS Disk Space
Calculation Bug" below.
o Deletion of small files from an AdvFS file system may not
immediately free additional space. See "Additional AdvFS
Considerations" below.
The proper methods for freeing disk space are as follows:
1) Remove any non-critical optional subsets using 'setld -d'. Deleting
or moving individual system files without using the 'setld' command
will not yield the additional space needed to continue.
Refer to the appropriate appendix of the Installation Guide
containing the subset size information that corresponds to the
version of Digital UNIX that you have currently installed to help you
decide which subsets to remove.
2) Remove any non-critical user-added files which are not part of the
base or layered product inventory. Typical large space consumers
are left over core files and kernels that are no longer required.
3) For those who have previously performed Digital UNIX update
installations, left over obsolete system files, .PreUPD files,
and .PreMRG files can use significant amounts of file system space.
Use the 'updadmin' utility to first back-up then delete these
files. Refer to the installation guide for more information on using
updadmin.
4) For AdvFS filesystems, it is possible to save approximately
3MB in root by building a mandatory only kernel (the default) rather
than an interactive kernel (i.e. do not specify the "-i" flag to
installupdate). Note that you must specify the "-i" flag if there are
optional kernel selections that your system depends upon that cannot
be satisfied by a mandatory kernel. Section 5.20 of the Digital
UNIX 4.0 installation guide gives descriptions of each kernel option.
AdvFS Disk Space Calculation Bug
--------------------------------
There is currently a known problem with the update space
calculation procedure for AdvFS file systems. The bug may cause the
update installation to report an amount of 'additional space needed'
that is smaller than what is actually necessary. Therefore subsequent
update attempts may still request additional space even after the amount
originally requested has been freed. This bug will not corrupt your
existing system or prevent you from performing an update, but it may
cause you to have to free space and restart the update more than once.
This bug has been fixed for Digital UNIX 4.0B.
Additional AdvFS File System Considerations
-------------------------------------------
When removing small files (less than 8K) from an AdvFS file
system, additional free space may not be made available to the file
system immediately. After the total amount of space consumed by these
deleted files reaches a threshold value, all of the space is made
available in one large block. This explains why deletion of several
small files may not increase the available block count (as shown by
"df", for example). In this case the user must continue to delete
non-system user-added files until there is an adequate increase in the
available block count to allow the update installation to continue.
=========================================================================
Misc 16 -- Why doesn't deleting individual system files free space for
an update installation?
=========================================================================
Deleting files which are part of installed base or layered
product subsets will not produce additional free space because the
update installation takes into account that these old files will be
replaced by new versions. The disk space calculation determines how
much additional space is needed to replace an old version of a file
with its new version.
If the old version of a file is removed without removing the
entire subset in which it resides, the update installation will still
put the new version on the system. In this situation the full size
of the new file will be allocated instead of the difference between the
size of the original and new versions.
For example, if /genvmunix was 7MB and a new version of
/genvmunix was 8MB, update would need to reserve 1MB of free space
for the new version. If /genvmunix was deleted before the update,
the disk space calculation would then reserve the full 8MB for the
new file. So although 7MB was freed before the update, 7MB more
would be reserved during the update, which would result in no
difference in the amount of additional space needed to continue the
update.
=========================================================================
Misc 17 -- How do I tune my system for use as a web server?
=========================================================================
Elaborate instructions are given on a Web page titled "Digital UNIX Tuning
Parameters for Web Servers", available at
www.digital.com/info/internet/document/ias/tuning.html
This page is updated from time to time, as new information becomes
available.
=========================================================================
Misc 18 -- Why does dxaccounts tells me that the password and group files
are locked?
=========================================================================
If a dxaccounts process exits ungracefully (e.g. if a kill -9 is used) then it
sometimes leaves a file in /etc called .AM_is_running. Deleting this file will
solve the problem.
=========================================================================
Network 1 -- Why doesn't FTP work to an XYZ system?
=========================================================================
Digital UNIX uses the IP type-of-service option (TOS) by default. This
confuses some systems (reportedly Macintoshes). To turn off the
option for ftp, create a file /etc/iptos with the following entries:
ftp-control tcp 0x0
ftp-data tcp 0x0
Reboot the Alpha system.
=========================================================================
Network 2 -- How do you use a NFS-mounted /usr filesystem on Digital UNIX?
=========================================================================
Setting Up A "Dataless" Environment under OSF/1 (2.X & 3.X)
and
A Comment on DEC's Dataless Management Services
Jon Forrest
forrest@CS.Berkeley.EDU
ftp://s2k-ftp.cs.berkeley.edu/pub/personal/forrest/remote.mounting
=========================================================================
Network 3 -- Where can I get rstatd for Digital UNIX?
=========================================================================
rstatd is in /usr/sbin/rpc.rstatd
=========================================================================
Network 4 -- How do I switch between the AUI and 10 Base-T Ethernet ports?
=========================================================================
For the DEC n000 series of systems, the syntax is:
- Shutdown the system.
- At the "" prompt, type:
set ethernet thick
or
set ethernet tenbt
- Reboot the system.
For the AlphaStation and AlphaServer systems, the syntax is different and
depends on what Ethernet adapter you are using. For Digital EtherWorks
adapters, they will automatically select between AUI and 10 Base-T but you
may have to use the console command:
set EWA0_MODE AUI
to have this happen. Use the keyword TWISTED-PAIR if that's what you've got.
=========================================================================
Network 5 -- Where can I get multicast software for Digital UNIX?
=========================================================================
Information about software for multicast applications on Digital UNIX is
available from:
s2k-ftp.cs.berkeley.edu:8000/sequoia/conferencing
or ftp://s2k-ftp.CS.Berkeley.EDU/pub/sequoia/conferencing
Binaries of the MBone application suite are also available at
chocolate.pa.dec.com/mbone
tp://chocolate.pa.dec.com/mbone
=========================================================================
Network 6 -- What's wrong with xdr_long in the Digital UNIX XDR routines?
=========================================================================
xdr_long is used for sending signed 32-bit values and cannot send
0xFFFFFFFF. xdr_ulong should be used instead. For 64-bit integer
values, use xdr_hyper. See the manual pages for more details.
This is slightly misleading. xdr_long() can send -1, which in 32 bits
is 0xffffffff. xdr_long() does range checking, insuring that the top 33
bits of its 64-bit argument are all ones or all zeroes. If this is not
the case, then the signed long integer is beyond the range of
representation within a signed 32-bit value, and xdr_long() rightly
fails.
xdr_u_long() [note typo above!] insures that the top 32 bits of its
64-bit argument are all zero. If this is not the case, then the
unsigned long integer is beyond ... blah blah.
So, the upshot is: If you're using signed values, use xdr_long(), and
DON'T use unsigned constants like 0xffffffff to set variables. If
you're using unsigned values, use xdr_u_long(). In both cases, make
sure you're within range for 32-bits, if you want to interoperate with
32-bit machines using native data types.
=========================================================================
Network 7 -- How do I configure the Berkeley Packet Filter and capture
tcpdump traces?
=========================================================================
1) Installing packet filter support
tcpdump relies on a kernel option that ordinarily isn't enabled. You can fix
this either by adding "options PACKETFILTER" to the system's configuration
file and rebuilding (via doconfig -c ) or by:
# doconfig
*** KERNEL CONFIGURATION AND BUILD PROCEDURE ***
Enter a name for the kernel configuration file. [ALINGO]: FILTER
You want to name the configuration file 'FILTER'
Is that correct? (y/n) [y]: y
*** KERNEL OPTION SELECTION ***
Selection Kernel Option
---------------------------------------------------------------
1 System V Devices
2 Logical Volume Manager (LVM)
3 Kernel Breakpoint Debugger (KDEBUG)
4 Packetfilter driver (PACKETFILTER)
5 STREAMS pckt module (PCKT)
6 Data Link Bridge (DLPI V2.0 Service Class 1)
7 X/Open Transport Interface (XTISO, TIMOD, TIRDWR)
8 File on File File System (FFM)
9 ISO 9660 Compact Disc File System (CDFS)
10 Audit Subsystem
11 Local Area Transport Support
12 All of the above
13 None of the above
---------------------------------------------------------------
Enter the selection number for each kernel option you want.
For example, 1 3 : 4
You selected the following kernel options:
Packetfilter driver (PACKETFILTER)
Is that correct? (y/n) [y]:
...
Rebuild and boot the new kernel.
2) Create the packetfilter devices:
# cd /dev
# ./MAKEDEV pfilt
MAKEDEV: special file(s) for pfilt:
pfilt0 pfilt1 pfilt2 pfilt3 pfilt4 pfilt5 pfilt6 ... pfilt63
3) Get a better tcpdump (pre V4.0 systems only)
Email me for a compressed, uuencoded file of a tcpdump that decodes NFS V3
and several other Sun RPC protocols (MOUNT, NIS, NLM, PORTMAP, and STATMON).
4) Enable local copy promiscuous mode
# pfconfig +p +c ln0 (or tu0 or whatever)
5) Run tcpdump
Please read the man pages before doing serious monitoring! To look at some
NFS traffic, try:
# tcpdump -s300 -c100 -Nt udp port 2049 [to look at all NFS traffic]
# tcpdump -s300 -c100 -Nt host foo [to look at all to/from foo]
-s300 "snaps" up the first 300 bytes of each message, generally enough to
get lower level headers, RPC, and enough NFS protocol to make sense of
the requests. -c100 says to capture 100 messages and exit. -N says to
suppress the domain name (e.g. .zk3.dec.com) in hostnames. -t says to
suppress printing timestamps. The result is usually still too long for
a 80 column screen, I keep a wide xterm lying around for most of my tcpdump
monitoring. The -m option splits some messages over multiple lines.
If you send people traces, I generally recommend that you capture data to
a binary file and send that. If the recipient needs to, he can run
tcpdump with extra filtering or -x (hex dump) to really dig into problems.
Do something like:
# tcpdump -w /usr/tmp/foo.dmp -s300 udp port 2049
tcpdump: listening on ln0
Using kernel BPF filter
^C
1040 packets
# compress foo.dmp
# uuencode foo.dmp.Z foo.uu
Capturing to a file bypasses all the decoding code which can be very slow
and can generate its own IP traffic (e.g. resolving host names).
=========================================================================
Network 8 -- How do I switch to full duplex 100mb?
=========================================================================
Auto negotiation with hubs is frequently unreliable. The problems
usually manifest themselves as slow/poor network response. I have
seen actual file transfer speeds that were far worse than the 100mb/s
that should have been negotiated. Look at the switch/hub port
configurations. Sometimes it actually negotiates down to 10mb! If
you set 100mb/fdx, be sure to hard set it on the host AND switch/hub.
If you experience poor response, on what appears to be a clean network,
auto negotiation problems are a good possibility to check into.
To hard set 100mb/fdx at the console level:
AlphaStation and AlphaServer console:
Shutdown the system
set EWA0_MODE FastFD
Reboot
It will be set each time the system boots.
[Frank Bounds, fbounds@tru64.org]
To hard set 100mb/fdx at the OS level:
The ifconfig speed flag determines the speed (regular or fast Ethernet) and
half- or full-duplex mode operation on the tu interface when that interface
is using the twisted-pair port as follows:
_____________________________________
Value Configuration
_____________________________________
10 10 Mbps Ethernet half-duplex
20 10 Mbps Ethernet full-duplex
100 100 Mbps Ethernet half-duplex
200 100 Mbps Ethernet full-duplex
_____________________________________
After the interface is online, you can use the ifconfig up and
down options to change the speed value dynamically. Stop adapter
transmission with down and set the speed in the same command
line. Then specify up without a speed value to restart the adapter.
Example:
ifconfig tu0 down speed 200
ifconfig tu0 up
=========================================================================
Printing 1 -- Printcap filter syntax example
=========================================================================
Replace /usr/lbin/printfilter with the appropriate print filter.
For example, if you are using a PostScript printer replace
/usr/lbin/printfilter with /usr/lbin/ps_level1of.
When editing the printcap file make sure that:
- No characters, spaces or tabs exist after the line continuation
character.
- Place comments between queue definitions, not in a definition. Eg:
:af=/usr/lbin/lpacct:\
# Inserting comments in a definition will cause problems
:if=/usr/lbin/ln03rof:\
=========================================================================
Printing 2 -- TCP/IP Network Printing using socket connection
=========================================================================
Requires Tru64 UNIX V4.0a or later.
lp|lp0|0:\
:ct=tcp:\
:af=/usr/adm/lpacct:\
:if=/usr/lbin/printfilter:\
:lf=/usr/adm/lp0err:\
:lp=@printer_ip_name/port_9100:\
:mx#0:\
:of=/usr/lbin/printfilter:\
:pl#66:\
:pw#80:\
:rw:\
:sd=/usr/spool/lpd0:\
:xf=/usr/lbin/xf:\
The /etc/services file must be updated to include the printer port/socket
number. In this example the printer uses port 9100 so the following
/etc/services entry was added.
port_9100 9100/tcp
The name port_9100 is user definable. If a 9100/tcp entry exists, use the
name previously defined. Don't create a second entry. The port number is
printer specific. Some printer port numbers are:
Printer Manufacture Printer Model Port / Socket
Compaq LN16 9100
LN32 9100
Digital DEClaser 3500 10001
DEClaser 5100 10001
LN15 3001
LN17 2501
LN20 35 or 6869
LN40 35 or 6869
LNC02 35 or 6869
Rapid Print 200 10001
Rapid Print 500 3001
Hewlett Packard All Printers 9100
JetDirect EX+3 9100 - port1
9101 - port2
9102 - port3
Lexmark All Printers 9100
=========================================================================
Printing 3 -- Parallel port connection
=========================================================================
lp|lp0|0:\
:af=/usr/adm/lpacct:\
:if=/usr/lbin/printfilter:\
:lf=/usr/adm/lp0err:\
:lp=/dev/lp0:\
:mx#0:\
:of=/usr/lbin/printfilter:\
:pl#66:\
:pw#80:\
:sd=/usr/spool/lpd0:\
:xf=/usr/lbin/xf:\
Note, if the setup utility added :rw:, remove it.
=========================================================================
Printing 4 -- Serial Port connection
=========================================================================
Serial port using software XON/XOFF data flow control at 19200 baud rate.
lp|lp0|0:\
:af=/usr/adm/lpacct:\
:br#19200:\
:ct=dev:\
:fc#0177777:\
:fs#03:\
:if=/usr/lbin/printfilter:\
:lf=/usr/adm/lp0err:\
:lp=/dev/tty00:\
:mx#0:\
:of=/usr/lbin/printfilter:\
:pl#66:\
:pw#80:\
:rw:\
:sd=/usr/spool/lpd0:\
:xc#0177777:\
:xf=/usr/lbin/xf:\
:xs#044000:
If you have stair stepping problems, or the text runs off the page,
change :fs#03: to :fs#023:. This instructs the serial port driver to
insert a carriage return character after a line feed.
=========================================================================
Printing 5 -- Network lpd remote printing
=========================================================================
lp|lp0|0:\
:lf=/usr/adm/lp0err:\
:lp=:\
:rm=system_name:\
:rp=queue_name:\
:sd=/usr/spool/lpd0:
Print filters are not used, even when specified. Printing features such
as banner pages, landscape printing and tray selection must be provided
by the remote system.
=========================================================================
Printing 6 -- Network printers using lpd remote connection
=========================================================================
lp|lp0|0:\
:lf=/usr/adm/lp0err:\
:lp=:\
:rm=printer_ip_name:\
:rp=raw:\
:sd=/usr/spool/lpd0:
Some printers use the rp value to specify file processing. The value is
printer dependent and case sensitive. For HP LaserJet printers, use 'text'
to process text files, and 'raw' for no file processing, and for all other
file types including PostScript files.
Print filters are not used, even when specified. Printing features such as
banner pages, landscape printing and tray selection are not available.
=========================================================================
Printing 7 -- Print filters
=========================================================================
This section specifies which print filter to use when lprsetup or
printconfig does not include your printer model.
It's possible more than one filter will work for a printer. The following
selected filters will provide basic printing capabilities and will work
for all connection methods. Basic printing capabilities is the ability
to print text files. Preformatted files should be printed using the
-x flag, for example 'lpr -Pqueue -x file.pcl'. The -x flag instructs
the print system to use the pass-through filter to prevent file formatting.
The pass-through filter is usually defined in the printcap entry as
:xf=/usr/lbin/xf:.
Some print filters, such as the lpf filter, only work on the serial port.
The serial port driver provides a feature to insert a carriage return after
a line feed that is not available for the parallel port, tcp/ip and lpd
remote connections. Without this feature some print filters generate an
output known as stair stepping. Stair stepping can look like one long line
running off the page, but usually you will see the following:
LINE1
LINE2
LINE3
All print filters will work on the serial port with the correct settings.
Only some filters will work for parallel port, and tcp/ip printing.
Don't expect access to mail bins, input trays, output trays, and other nice
hardware features. This requires a device specific filter or special
customizations.
=========================================================================
Printing 8 -- Postscript printer filter
=========================================================================
Printcap filter specification: /usr/lbin/ps_level1of
Lprsetup printer type: ps_level1
This filter provides text to PostScript file conversion. The filter
can't convert files containing printer control codes, such as HP PCL, or
process PostScript files starting with printer specific commands such as
HP PJL %-12345X.
Features:
Converts text files to PostScript.
Portrait and landscape printing.
Simplex and duplex printing.
Notes:
For A4 paper use the filter specification '/usr/lbin/ps_level1of -Sa4'.
=========================================================================
Printing 9 -- Generic text printing
=========================================================================
Printcap filter specification: /usr/lbin/pcfof +Cgeneric_text.pcf
Lprsetup printer type: generic_text
This setup is intended for all printers using letter paper, printing at 10
characters per inch and at 6 lines per inch. Refer to the printer manual
for instructions on how to configure the printer.
Features:
Formats text files and eliminates stair stepping.
Odd and even page printing.
Notes:
Change printcap setting :pw#80: to :pw#0:.
For A4 paper use printer type generic_text_a4 or printer file
generic_text_a4.pcf.
=========================================================================
Printing 10 -- HP PCL printing
=========================================================================
Printcap filter specification: /usr/lbin/pcfof +Chpdj680c.pcf
Lprsetup printer type: hp680c
This setup will work for impact, inkjet and laser printers that include
the Hewlett Packard PCL3 through PCL5e printer programming language.
Refer to the printer manual to determine if the PCL language is provided.
Many printers provide more than one language. For these printers set
the default language to PCL or to auto file sensing.
Some printers that include the PCL language are HP, Lexmark, Xerox.
Epson and Canon printers have their own language and probably won't
include the PCL language.
Features:
Formats text files and eliminates stair stepping.
Portrait and landscape printing.
Odd and even page printing.
Notes:
Change printcap setting :pw#80: to :pw#0:.
For A4 paper use printer type hp680c_a4 or print file hpdj680c_a4.pcf.
Not all printers are the same, so here are some additional filter
specifications to try:
/usr/lbin/pcfof +Chpdj1120c.pcf
/usr/lbin/pcfof +Cln17.pcf
=========================================================================
Printing 11 -- DEC ANSI printers
=========================================================================
Printcap filter specification: /usr/lbin/pcfof +Cgeneric_ansi.pcf
Lprsetup printer type: generic_ansi
Features:
Formats text files and eliminates stair stepping.
Odd and even page printing.
Notes:
Change printcap setting :pw#80: to :pw#0:.
For A4 paper use printer type generic_ansi_a4 or print file
generic_ansi_a4.pcf.
=========================================================================
Printing 12 -- Selecting print filters
=========================================================================
You need to select a filter based on the printer language, not by
the printer make and model. If you don't know what languages are
provided reference the printer manual.
You looked in the manual and you still don't know which filter to select.
Try the following:
Printer Filter Type
--------------------------- -----------------
HP LaserJet PCL Filter or PostScript Filter
HP DeskJet PCL Filter
Lexmark Laser PCL Filter or PostScript Filter
Lexmark Ink Jet PCL Filter
Xerox Laser PCL Filter or PostScript Filter
Canon Generic Text Filter
Epson Generic Text Filter
All other printers Generic Text Filter
If the printer is connected to the serial port you can also try
the following filters:
Printer Filter
--------------------------- -----------------
All printers /usr/lbin/lpf
Epson /usr/lbin/epsonof
These epsonof and lpf filters require a printcap setting of :fs#023:.
=========================================================================
Printing 13 -- Printing postscript files on a non-postscript printer
=========================================================================
Tru64 UNIX does not provide this functionality. Look into using the
GhostScript freeware utility.
=========================================================================
Programming 1 -- What tools will help me port software to Digital UNIX?
=========================================================================
The Digital Porting Assistant (available for Digital UNIX 3.2, and shipped
as part of the developer toolkit on Digital UNIX 4.0) is a graphical
environment which aids in the porting process. In addition to doing lint-like
checking of C and Fortran code, it also contains extensive on-line help
regarding developing software on Digital UNIX. Information about the Digital
Porting Assistant can be found on the web at:
www.digital.com/info/porting_assistant
The version of lint shipped with Digital UNIX has many checks to help
port software to Alpha. In particular, the -Q option is very useful.
See the manual page for more details.
There is also a document/book entitled:
Interoperability, OpenVMS and DEC OSF/1 Interoperability Guide. EC-N3399-43.
A company called Sector 7 deals with porting software from OpenVMS to Digital
UNIX.
www.sector7.com
The -taso flag to cc will often help with making code work on the 64bit Alpha.
This causes addresses to be 32-bits and should be used only as a last resort.
FreePort Express is a binary translator (running on Alpha) which permits
you to convert your SunOS 4.1.x (same as Solaris 1.x) user executables
into Digital UNIX executables in minutes. FreePort Express runs under
Digital UNIX V3.0 or later, and is available FREE of charge (hence the name).
www.novalink.com/freeport-express
=========================================================================
Programming 2 -- Why can't I run dbx?
=========================================================================
The development environment is a separate layered product beyond the base OS.
Although it is included on the Digital UNIX consolidated CD-ROM, the license
must be purchased separately to use any portion of the Developer kit. Within
the Digital UNIX Developer Kit the license just happens to be enforced by a
check in dbx.
For more information, look in:
http://www.digital.com/info/lists/dec-osf1-axp-SPD-anw.html
Developer Toolkit for Tru64 UNIX, Version 4.0F
=========================================================================
Programming 3 -- Why do my applications not work after I upgrade to a new
version of Digital UNIX?
=========================================================================
Sometimes the details of the shared libraries change between releases.
In general, applications compiled on an earlier version of Digital UNIX
should still run on a later version. The converse may not be true.
The usual solution is to recompile from scratch.
=========================================================================
Programming 4 -- Where can I get a debugging malloc that works on Tru64
UNIX?
=========================================================================
Insure++ from ParaSoft at http://www.parasoft.com. Capable of detecting
memory corruption, memory leaks, memory allocation errors, variable
definition conflicts, I/O errors, pointer errors and library errors.
ftp://ftp.digital.com/pub/misc/malloc_dbg
(Has not been updated for a long time...)
If you get the package, be sure to read the stuff in the file
contrib/dec_notes which explains how to replace malloc on the fly in
an existing program.
The ATOM tools with Digital UNIX 3.0 and later also help with debugging memory
allocation problems.
Sentinel, from AIB Software Corporation is a run-time analysis tool that
supports memory access error detection as well as leak detection on Tru64
UNIX. More info, as well as free evaluation copies, is available from
info@aib.com, or by calling 800-296-3000 (703-787-7700).
=========================================================================
Programming 5 -- What's with 'ld: unresolved symbols: dnet_conn'?
=========================================================================
Some libraries on Digital UNIX (notably the X11 library) are compiled so that
they can use DECnet as well as TCP/IP. To link with such libraries,
include -ldnet_stub at the end of link command. If you have DECnet
software installed, use -ldnet.
=========================================================================
Programming 6 -- How can I tell what program generated a core file?
=========================================================================
1. Use the dbx debugger.
2. Use the "file" program (e.g., file )
3. Use "strings" to find clues in the core file (e.g., strings )
=========================================================================
Programming 7 -- What does "unaligned access" mean, and how can I fix it?
=========================================================================
Unaligned accesses typically come up when programs use malloc(3) or
other memory allocation routines in atypical ways, or when programs do
certain (hazardous) kinds of type casts.
malloc(3) returns data aligned to the most restrictive alignment (8
byte boundaries). If you are writing your own malloc wrapper (say to add a
reference count) and you write code like this:
char *mymalloc(int size)
{
short *newmem;
newmem = (short *) malloc(size + sizeof(short));
*newmem = 1; /* initialize reference count */
return (char *) (newmem + 1);
}
you are then returning a pointer that is no longer 8-byte aligned. Now, code
like
int *i;
i = (int *) mymalloc(sizeof(int));
*i = 10;
will generate unaligned access messages whenever *i is used.
An example of dangerous casting would be something like
char buffer[100];
int i;
i = (int)*((int *)&buffer[3]);
The program will usually still run correctly, because an exception
handler in the kernel performs an unaligned read. There are some rare
cases, however, where the fixed read yields incorrect results. The
messages are printed by default because one usually wants to know when
a program is generating the unaligned accesses.
Now, if you are only getting a few of these messages, it might not
matter, but if you are getting pages of them (or worse, have turned off
the logger because you were getting so many unaligned access
messages), you might consider correcting your program.
You can use the uac(1) (Unaligned Acces Message Control) command to
turn off the messages.
If you want to find the the problem in the source code, you can use dbx.
Suppose the message is:
Fixed up unaligned data access for pid 2337 (bozo) at pc 0x5ad364
This tells you that the problem occurs in the program "bozo". In dbx,
you would type, for example:
% dbx bozo
(dbx) 0x5ad364/i
*[main:206, 0x0x5ad364] lw r0,40(sp)
dbx prints the offending instruction, along with its location: line 206
in main().
=========================================================================
Programming 8 -- What about "unaligned access" in FORTRAN programs?
=========================================================================
This is most often caused by COMMON blocks in which variables are not
naturally aligned. For example:
REAL*4 X
REAL*8 Y
COMMON /CMN/ X,Y
Y will be at offset 4, which is not a multiple of its size (8). The best
solution is to rearrange variables in the COMMON so that real, complex
and integer variables are listed in order of decreasing size, followed by
CHARACTER variables. Put your declaration in an INCLUDE file to make sure
all uses are consistent! You can also ask the compiler to automatically
add padding to align variables through the -align dcommons switch, or
through a CDEC$ OPTIONS directive. See the DEC Fortran User Manual for
further details.
=========================================================================
Programming 9 -- How can I get microsecond resolution from gettimeofday(2)?
=========================================================================
Normally, Digital UNIX updates its internal idea of the
current time once per clock tick (1024 Hz, or about once per
millisecond). In Digital UNIX V4.0 and later, it is possible
to rebuild the kernel to support approximately microsecond
resolution from the gettimeofday(2) system call, and from the
various library routines that use this system call.
To enable this option, add the following line to the kernel
configuration file and rebuild the kernel:
options MICRO_TIME
The system clock (CLOCK_REALTIME) resolution as returned by
clock_getres(3) will not change. Timer resolution remains the same.
However, the granularity of the time returned by gettimeofday(2) and
clock_gettime(3) will now be in microseconds. The time values returned
are SMP safe and monotonically increasing.
The high-resolution clock can be used for timestamping and for
measuring durations on the order of microseconds, such as time spent in
some critical code path.
=========================================================================
Security 1 -- How do I authenticate users on Tru64 UNIX?
=========================================================================
Perhaps a bit of background first - generally the question is related to
C2 or Enhanced Security, but the question always boils down to how can I
take a given username and password and authenticate a user. Generally,
this would be a combination of :
pwd = getpwnam(username);
if (strcmp(pwd-pw_passwd, crypt(password, pwd-pw_passwd)) == 0)
return success;
return fail;
The above assumes char *username and char *password are filled in with
"precollected" username and password...
The problem/issue with this method is that for Enhanced Security
configurations the pwd-pw_passwd field contains an asterisk ("*") and
the password is actually stored in another database (/tcb/files/auth.db
or /var/tcb/files/auth.db). In addition, the password found in those
databases may not have been encrypted using the crypt() function.
Tru64 UNIX solves this by providing a general purpose function
"sia_validate_user()" which will accept as parameters the username and
password and perform the user authentication for you regardless of the
security mechanism that is in place. Using the sia_validate_user()
function relieves the programmer of needing to know what security
mechanism is being used on the target Tru64 UNIX system.
The following is a code example which can be compiled and run as its own
image or can be fit into an existing application which performs the
getpwnam() and crypt() calls.
% cat siavaluser.c
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int myargc = 1;
char *myargv[2];
char *user = "someusername";
char *pass = "yourpassword";
int auth_stat;
myargv[0] = "yourapplicationname";
myargv[1] = NULL;
set_auth_parameters(argc, argv);
if (argc != 3) {
fprintf(stderr, "usage: %s username password
", argv[0]);
exit(1);
}
user = argv[1];
pass = argv[2];
auth_stat =
sia_validate_user(NULL,myargc,myargv,NULL,user,NULL,0,NULL,pass);
if (auth_stat != SIASUCCESS ) {
printf("No go %d", errno);
perror("");
}
printf ("Done
");
}
% cc -g -o siavaluser siavaluser.c -lsecurity
% ./siavaluser username password
=========================================================================
Software 1 -- What (free) tools are there for looking at system behavior?
=========================================================================
syd, a utility like top, is on the Freeware disk for versions
of Digital UNIX before V3.0. It is also available for anonymous FTP from
many sites. One is ftp://ftp.Uni-Koeln.DE/decosf; and there you can also
get a version that works with version 3.x of Digital UNIX.
The latest official version of top (3.4) supports single cpu
Alphas running Digital UNIX 1.2, 1.3, 2.0, 3.0, and 3.2. It is at
ftp://eecs.nwu.edu/pub/top It does not support multi-cpu alphas,
because no-one with root access to a multi-cpu alpha has stepped forward
to do the work. When compiling, note the warning about compiling
with optimisation.
lsof, a utility for listing open files, is available from:
ftp://vic.cc.purdue.edu/pub/tools/unix/lsof
In addition there is a program for listing locks on files that runs on
3.2 and 4.0 at least in:
ftp://vic.cc.purdue.edu/pub/tools/unix/lslk
vmubc is a graphical and tty-based tool for displaying statistics
on CPU, UBC, and virtual memory. Note that to compile on OSF/1 2.x,
add -DGSI_CPUS_IN_BOX=55 to the CFLAGS. vmubc is available from:
ftp://gatekeeper.dec.com/pub/Digital/vmubc.tar.Z It was written by
George Chaltas of DEC.
sys_check is a ksh script, that generates a HTML file of a Digital UNIX
configuration. It is supported on both V3.2C-G, and V4.0A-D systems. Sys_check
is included in current Tru64 UNIX Operating system releases.
http://www.tru64unix.compaq.com/sys_check/sys_check.html
=========================================================================
Software 2 -- How can I figure out what files translated binaries are
looking for?
=========================================================================
Try
setenv MXR_TRACE_SYSCALLS open,stat,fstat,access
Running mxr -help will describe this environment variable along with
some other useful ones.
=========================================================================
Software 3 -- Where can I get a T-shell (tcsh)?
=========================================================================
On the Freeware/OpenSource CD or from:
www.unix.digital.com/demos/index.html
=========================================================================
Software 4 -- How can I use audio on AlphaStations and DECstations?
=========================================================================
There are a few options for playing audio on Alpha systems. Most
workstations come with 8-kHz mono audio I/O hardware that is enabled
by configuring the bba (base board audio) device in the kernel.
The Sound & Motion J300 a/v TURBOchannel option card also has audio
hardware that support programmable sample rates from 8kHz to 48kHz
stereo.
Two software packages are available to drive audio on Alpha systems:
MME implements a Microsoft-style API and comes bundled with OSF/1.
AF, developed at the Digital Cambridge Research Laboratory,
runs on a wide range of platforms including DECstation, Alpha, Sun,
SGI, and HP. It is available in source form from:
ftp://ftp.digital.com/pub/DEC/AF
=========================================================================
Software 5 -- How do I play music CDs on CD-ROM drives?
=========================================================================
Sources for xcd are included in /usr/examples/motif/xcd.
Another version of xcd is on the Freeware CD-ROM in both source and binary
form, but that version may have been superseded by the one distributed with
the operating system. Neither cdp nor xcd is supported by Digital.
Two other programs are Workman and xmcd, both of which can be found on
ftp.x.org. Of all these programs, xmcd seems to be the widest used and to
have the largest database of audio CD data.
=========================================================================
Software 6 -- Can I run binaries from RISC/ULTRIX on a Digital UNIX system?
=========================================================================
DECmigrate for Digital UNIX Systems was announced with all of the
Alpha AXP systems on November 10, 1992.
mxr - MIPS Translator Runtime Environment
/usr/bin/mxr is still available as late as Tru64 UNIX 4.0F
=========================================================================
Software 7 -- Where are patches/updates for DIGITAL UNIX available from?
=========================================================================
There is a searchable database of available updates at:
www.service.digital.com/patches/
=========================================================================
Software 8 -- How do I move the license data when migrating to V5.0?
=========================================================================
Use the lmf issue command, make sure that you read the man page.
Before you do this it makes sense to take a backup of the lmf
license database, the easiest way to do this is to tar up /var/adm/lmf.
|
Copyright © 1999-2001 Tru64.org Tru64© is a registered trademark of Compaq UNIX is a trademark of The Open Group All other trademarks are those of their owners. |