Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!weretis.net!feeder2.news.weretis.net!xmission!nnrp.xmission!not-for-mail
From: [email protected] (Boyd Lynn Gerber)
Newsgroups: comp.unix.sco.misc,comp.answers,news.answers
Subject: Quarterly ASCII posting of SCO UnixWare 7/OpenUNIX 8/OpenServer 6 FAQ
Supersedes: <[email protected]>
Followup-To: comp.unix.sco.misc
Date: Thu, 11 Feb 2010 00:05:18 -0700 (MST)
Organization: ZENEZ
Lines: 6315
Sender: [email protected]
Approved: [email protected]
Expires: 26 May 2010 07:05:01 GMT
Message-ID: <[email protected]>
NNTP-Posting-Host: suse104.zenez.com
X-Trace: news.xmission.com 1265871929 11438 198.60.105.164 (11 Feb 2010 07:05:29 GMT)
X-Complaints-To: [email protected]
NNTP-Posting-Date: Thu, 11 Feb 2010 07:05:29 +0000 (UTC)
Summary: This posting gives an ASCII version of the entire SCO
        UnixWare 7/OpenUNIX 8/OpenServer 6 FAQ for newsgroups quarterly.
X-Disclaimer: Approval for *.answers is based on form, not content.
Xref: senator-bedfellow.mit.edu comp.unix.sco.misc:167668 comp.answers:66910 news.answers:325403

Archive-name: unix-faq/openunix/qt-faq
Posting-Frequency: quarterly
Version: 3.0.5
Last-modified: 2008/04/30
URL: http://www.zenez.com/cgi-bin/ou8faq/faq
Maintainer:   Boyd Lynn Gerber <[email protected]>
Disclaimer: Approval for *.answers is based on form, not content.

The latest version of the UnixWare 7/OpenUNIX 8/OpenServer 6 Faq is available
from a few places.  The size is about 280 KB for the text version.


        Searchable html version.
Web      http://www.zenez.com/cgi-bin/ou8faq/faq

        Anon, (unixtext) Current home.
Ftp      ftp://ftp.zenez.com/pub/zenez/FAQ/ou8faqqt.txt


SCO UnixWare 7/OpenUNIX 8/OpenServer 6 FAQ ASCII.

        ____________________________________________________________
       |                                                            |
       |             OpenUNIX 8 FAQ       Version 3.05              |
       |                        20th Revsion                        |
       |                         30 Apr 2008                        |
       |                                                            |
       |  Orignal Author.....Matthew Schalit  [email protected]  |
       |  Author.............Boyd Gerber      [email protected]     |
       |  Web version........Boyd Gerber      [email protected]     |
       `____________________________________________________________'


0.  Intro
1.  General Information
2.  User Related Information
3.  Media, Filesystems, and Disks
4.  The Network
5.  System Administration
6.  Security
7.  Printing (Removed)
8.  Third Party Software
9.  Useful Shell Commands
10. Migrating from OpenServer 5 to UnixWare 7/OpenServer 6.



0.  Intro

 0.1   WWWWW&H.
 0.2   Copyright & Disclaimer
 0.3   Where do I get a copy of this Faq?
 0.4   May I translate the Faq?
 0.5   May I host, maintain, or eradicate it?
 0.6   How can I help support the hosting of this FAQ?


1.  General Information

 1.1   What's a node?  What's a host?
 1.2   What's a nodename?  What's a hostname?
 1.3   What's a Domain Name?
 1.4   What's a Fully Qualified Domain Name?
 1.5   Something doesn't work.  How do I fix it?
 1.6   What's a disk, disc, or diskette?
 1.7   What's a program?  What's a process?
 1.8   What commands are used to install software?
 1.9   How do I add a package on a disk?
 1.10  How do I add a group of packages on a disk?
 1.11  What does 'OLSS' stand for?
 1.12  How do I add a package that's on a disc, like the OLSS CD?
 1.13  What are the names of the Uw7/OSR6 devices in /dev?
 1.14  What is stdin?  What is stdout?  What is stderr?
 1.15  Why am I suddenly getting not privileged or no permissions errors?
 1.16  How do I access DOS diskettes?
 1.17  What are some really neat things about Uw7/OSR6?
 1.18  What's the Webtop?
 1.19  What's Visionfs?
 1.20  What is Samba?
 1.21  What's a sticky bit?
 1.22  Who's logged into my host?
 1.23  What processes are being run by user foobar?
 1.24  How do I boot a Uw7/Ou8/OSR6 computer?
 1.25  How do I turn off a Uw7/Ou8/OSR6 computer or just reboot it?
 1.26  How do I boot into single user mode?
 1.27  What's an inode?
 1.28  What's a hard link?
 1.29  What's a symbolic link?
 1.30  How many users are licensed on my Uw7/Ou8/OSR6 host?
 1.31  What's a router?  What's a route?  What's a default route?
 1.32  What's a hop?
 1.33  What's ISL?
 1.34  What's an ACL?
 1.35  What are the minimum system requirements for SCO OS's?
 1.36  Where do I get the two install diskettes and the HBA diskette?
 1.37  In what order do I insert my HBA diskettes, one came from a 3rd party?
 1.38  How do I list the installed software on the system?
 1.39  How do I check and repair the installed software?
 1.40  What's a MB?  What's a Mb?  What's a KB and a Kb?
 1.41  How do I convert decimal numbers to binary numbers?
 1.42  How do I convert binary to decimal?
 1.43  Are the any Y2K or 2-digit vs. 4-digit year issues?
 1.44  What are my biggest problems with Uw7/Ou8/OSR6?
 1.45  How do I document my System? (HW, SW...)
 1.46  What about programming in SCO OS's?
 1.47  How do I migrate from OpenServer 5.0.x to UnixWare 7/OpenServer 6?
 1.48  How do I get my IDE cdrom recognized during ISL?
 1.49  SCO's been sold to Caldera, what will happen to UnixWare 7?
 1.50  When were SCO OS's released or What is the latest versions?
 1.51  What is the LKP that will be in UnixWare 7?
 1.52  Why do I see words with parentheses like fdisk(1M) and pwrite(2)?
 1.53  How do I migrate from OpenServer 5.0.x to UnixWare 7/OpenServer 6?
 1.54  OpenServer 6, why can't I do ...(Large File System commands)?


2.  User Related Information

 2.1   What shell am I using?
 2.2   How do I display Yurtle's user ID (UID) or group ID (GID)?
 2.3   What's a really good shell that gives me useful commands?
 2.4   Where are my users's home directories on UnixWare 7/Openserver 6?
 2.5   What is User Equivalence and why is it important?
 2.6   What do the permissions -rw-r--r do?  How about drwxr-xr-x ?
 2.7   How do I use Korn shell commands and recall (history)?
 2.8   How do I use Korn shell filename and directory name completion?
 2.9   Can I display 132 columns on my terminal screen instead of 80?
 2.10  How do I change the color of the terminal font or background?
 2.11  How do I do an ls -l on a directory - not it's contents?
 2.12  Why do I want to use 'less' ?
 2.13  How do I impress changes made to my .profile on my environment?
 2.14  How do I spell check this Faq?
 2.15  How can I tell if an ftp download is still working?
 2.16  How do I issue complex commands to an ftp server, like ls -lF ?
 2.17  How do I copy and paste in the KDE from an eterm to another app?
 2.18  How do I display my current working directory at a ksh prompt?
 2.19  How do I display my current working directory at a bash prompt?
 2.20  How do I type accented charaters in vi, Messenger, or Kedit?
 2.21  What are the different ways to print documents?
 2.22  How do I use ghostscript to format documents for an Epson 800?
 2.23  How do I use VisionFS to print to a Windows shared printer?
 2.24  How do I use Samba to print or how do I use Samba to print to a
       Windows shared printer?


3.  Media, Filesystems, and Disks

 3.1   What's a partition?
 3.2   What's a slice?
 3.3   What's a filesystem?
 3.4   What's an inode?
 3.5   What does HBA stand for?
 3.6   Can an HBA have more than one bus?
 3.7   What is the lun number?
 3.8   If a computer has two SCSI cards, which is c0 and which is c1?
 3.9   What are the names of the disks, like /dev/dsk/c0b0t0d0s0 ?
 3.10  What is the device name of the diskette drive?
 3.11  How do I write files to a diskette and list them?
 3.12  How do I format a 1.44 MB floppy?
 3.13  How do I create a filesystem on a floppy?
 3.14  How do I mount a floppy and view its contents?
 3.15  How do I access the disc in my cd-rom drive?
 3.16  What might a guru type when mounting a disc?
 3.17  Can I burn a cdr in UnixWare 7/OpenServer 6?
 3.18  What is the tape drive called?
 3.19  What is a good tape drive to use with Uw7/OSR6?
 3.20  What are some of the tape commands I want to know?
 3.21  What are the various filesystem types on Uw7/OSR6?
 3.22  What's the maximum filesystem size?
 3.23  What's the maximum file size?
 3.24  What's the logical block size?
 3.25  Is there still that 64k inode limit by default?
 3.26  How do I mount the filesystem on a disk, disc, or diskette?
 3.27  Why would mounting fail?
 3.28  Why would unmounting fail?
 3.29  How do I list the disk geometry like Cylinders, Heads, Bytes/Sector?
 3.30  How do list my partition and slice layout?  Is there a divvy?
 3.31  How do I convert sectors to MB?
 3.32  How do I add a 2nd or 3rd disk drive to my system?
 3.33  How do I partition a hard drive?
 3.34  How do I create a slice in a partition?
 3.35  How do I create a filesystem in a slice?
 3.36  How do I use quotas on a vxfs filesystem in Uw7/OSR6?
 3.37  How do I fsck the root filesystem?
 3.38  How do I enable Large File Support (for file sizes up to 1TB)?
 3.39  Why aren't my new SCSI devices recognized after I install them?
 3.40  Why isn't my Yamaha 4416S recognized after I install it?
 3.41  How do I institute ACL's on a Uw7/OSR6 system?
 3.42  How do I superformat a diskette in Uw7/OSR6?
 3.43  Why doesn't my tape drive work with cpio, tar, and ArcServe?
 3.44  How do I add additional swap space?
 3.45  Why do all the files on a mounted CD-ROM have ';1' at the end?
 3.46  How do I make an exact duplicate of an audio cd?
 3.47  What are a good set of options to backup /home to cdr?
 3.48  Do the memfs filesystems, /tmp and /var/tmp, use 50MB of RAM?
 3.49  How do I convert the memfs filesystems to regular vxfs ones?


4.  The Network

 4.1   Do I need a nic in my Uw7/OSR6 box?
 4.2   What is a good brand of nic to use in Uw7/OSR6?
 4.3   How do I list my IP and MAC addresses for all configured nics?
 4.4   How do I list my routing table?
 4.5   How do I add a default route?  Is it permanent?
 4.6   What is a Virtual Domain?
 4.7   How do I add an IP alias?   Is it permanent?
 4.8   Suddenly the network is slow, why?
 4.9   Is there a firewall program for Uw7/OSR6?
 4.10  What is a TCP Wrapper?
 4.11  What is a Packet Filter?
 4.12  Why can't root ftp into Uw7/OSR6?
 4.13  What are the idiosyncrasies with the DNS Server Manager?
 4.14  Why does logging into the CDE freeze for minutes, then restart?
 4.15  What are network services?
 4.16  What network services, that run by default, don't I need?
 4.17  Why can't I see computers on another subnet with Visionfs?
 4.18  Can I synchronize my computer's clock with the correct time?
 4.19  How do I use ntpdate?
 4.20  How do I use xntpd?
 4.21  Where is my domain name stored in the root filesystem?
 4.22  Is DHCP possible with Uw7/OSR6?
 4.23  What are good IP addresses to use for my private LAN?
 4.24  How do I setup Uw7/OSR6 as a router for two subnets?
 4.25  What is a good modem for Uw7/OSR6?
 4.26  How do I set up an outgoing ppp connection?
 4.27  How do I set up an incoming ppp connection?
 4.28  How do I set up bidirectional PPP?
 4.29  I want to disable a particular daemon, how is this done?
 4.30  How do I apply changes made to /etc/inet/inetd.conf?
 4.31  How do I apply changes made to /etc/inet/config?
 4.32  How do I boot an ftp user who is logged in?
 4.33  How do I catch someone trying to port scan my Uw7/OSR6 host?
 4.34  What web servers are running or not on Uw7/OSR6 after ISL?
 4.35  Why can't I access the Webtop, my Netscape server, or Netscape Admin?
 4.36  How do I configure remote Netscape administration?
 4.37  What is the login:pass for Netscape Admin?  I can't log in.
 4.38  What do I need to watch out for with ns-admin.conf?
 4.39  How do I do NAT or DNAT or IP Masquerading on Uw7/OSR6?
 4.40  Why do I see a 'Disk not sane' error when booting off emergency disks?
 4.41  Can I speed up DNS resolution on my SOHO network?
 4.42  How do I set up well tuned cacheing DNS server?
 4.43  IPF setup and file locations.


5.  System Administration

 5.1   What do I want to watch out for, right after ISL?
 5.2   What do I want to set up, right after ISL?
 5.3   In what order do I install all those PTFs?
 5.4   What logs do I want to follow?
 5.5   Where are errors recorded?
 5.6   How do I remove the password prompt for a user with no password?
 5.7   A program that was running has crashed and is locked up, why?
 5.8   What are the keys I press to kill a foreground process?
 5.9   How do I find and kill a background process?
 5.10  What are the various 'kill' command arguments?
 5.11  What are the Security Profiles and their password restrictions?
 5.12  What are the restrictions on login names?
 5.13  What's a umask?  What's the default umask?
 5.14  What's an environment?  What's a .profile or .cshrc?
 5.15  Where are all the possible places to set the environment?
 5.16  Where do I change the default account aspects, like the login shell?
 5.17  How do I reuse a UID after deleting the original user?
 5.18  What are the advantages of command line 'userdel?'
 5.19  What are the advantages of command line 'usermod?'
 5.20  Where do I change the default password restrictions, such as length?
 5.21  How do I record unsuccessful login attempts?
 5.22  How do I lock an account?  How do I unlock an account?
 5.23  How do I control process priority in Uw7/OSR6, with nice?
 5.24  What's good to know about cron in Uw7/OSR6?
 5.25  How do I monitor the amount of space left on my drives?
 5.26  How do I determine disk usage by user?
 5.27  How do I locate and remove 'core' files?
 5.28  What is the DCU?  What do I need to know about it?
 5.29  How do I spool a package rather than install it?
 5.30  How do I change the resolution / colors on my video card?
 5.31  Will you describe the boot process please?
 5.32  What is the default run level for Uw7/OSR6?  How do I set it?
 5.33  What does 'Can't load stage3' mean?
 5.34  What can I do at the boot: prompt?
 5.35  Where do I set autoboot time, after which the system goes multiuser?
 5.36  How do I boot unix.old?
 5.37  How do I make a change to the /etc/inittab file?
 5.38  Why does my system hang during startup or during shutdown?
 5.39  How do I rebuild the kernel?
 5.30  How do I rebuild the MBR or MBB?
 5.41  How do I rebuild the boot slice?
 5.42  How do I figure what process caused a core dump, such as core.242?
 5.43  What are the important tunable parameters I might adjust like MAXUP?
 5.44  How do I stop the X desktop or the CDE from running?
 5.45  How do I send a pop-up message to the Windows machines on my LAN?
 5.46  How do I change the message I see at the login prompt?
 5.47  How do I get the character terminals to blank the screen?
 5.48  How do I load XFree86 instead of XSco?
 5.49  How do I disable tty's on UnixWare 7/OpenServer 6?
 5.50  How do I check which PTF patches are installed?
 5.51  How do I find my Activation Key?


6.  Security

 6.1   What are the system security features?
 6.2   What are permissions?
 6.3   What are Tcp Wrappers and Packet Filters?
 6.4   What are privileges?
 6.5   What are the alternatives to su?  A user needs a privilege.
 6.6   How do I use tfadmin, adminuser, and adminrole, instead of su?
 6.7   What are some gaping security risks I need to patch immediately?
 6.8   I'm not sure if I should apply a Uw7/OSR6 security patch, what do I do?
 6.9   How do I check which SSE security patches are installed?


7.  Printing (Removed)


8.  Third Party Software

 8.1   openssl
 8.2   ssh2 - openssh2
 8.3   Star Office
 8.4   Where do I find a piece of software call "xxxxxxxxxxx" for Uw7/OSR6?
 8.5   Lonetar, Backup Edge, Backup Professional
 8.6   What is on the Skunkware?
 8.7   How do I enable 128-bit encryption with Netscape programs?
 8.8   Wordperfect 8
 8.9   How do I install the KDE?  Is it any good?
 8.10  Where is Kermit for UnixWare 7/Server 6?
 8.11  Pine-4.33
 8.12  Alladin Ghostscript gs7.00
 8.13  Gnu-make-3.79.1
 8.14  binuitils-2.11
 8.15  gmp-3.1.1
 8.16  libtool-1.4
 8.17  m4-1.4p
 8.18  dejagnu-1.4
 8.19  autoconf-2.50
 8.20  gcc-3.00
 8.21  gnu-tar-1.13
 8.22  bzip2-1.0.1
 8.23  gdbm-1.8.0
 8.24  flex-2.5.4a
 8.25  zlib-1.1.3
 8.26  perl-5.6.0


9.  Useful Shell Commands

 9.1  How do I search in every file for a string like "See foo?"
 9.2  How do I find the largest files and directories?
 9.3  How do I find the largest files?
 9.4  How do I determine the number of free inodes?
 9.5  How do I find the user who is using files in a filesystem and
      thus preventing it from being unmounted?


10.  Migrating from OpenServer 5 to UnixWare 7/OpenServer 6.

 10.1   SCO Migration Tools
 10.2   SETUID bit




______________________________
|                              |
| 0.   Intro                   |
|______________________________|


 0.1   WWWWW&H?
 25 Nov 2007
 -----------------------------------------
   Orignal Author   - Matthew Schalit, [email protected],
                      B.S. in Physics UCSB, UnixWare 7 ACE.
   Who   - Boyd Gerber, [email protected],
       Contribs
           Matthew Schalit, Roberto Zini, Jim Van Verth, Robert Lipe
           Hops, mitrich, zigazou, James Richardson, tangent. T. Lawrence,
           and others(web has documentation for all).
   What  - This is a compilation of newsgroup questions from the Usenet
           newsgroups comp.unix.unixware.misc, and comp.unix.sco.misc,
           that deal with the Santa Cruz Operation UnixWare 7, OpenUnix 8
           OpenServer 6 system.
   Where - I come from Northern Utah.
   When  - This was originally posted to c.u.u.m. on 18 Oct 1999.
           This is posted quarterly to c.u.s.m.
   Why   - I was inspired to write this when I saw a goodly Linux guy
           posting how there was no Faq but that Linux had a bunch.
   How   - Matthew Schalit publish the original straight text so that
           it's portable, now I publish the straight text, and
           I handles the Web site version along with contribtions from
           real time users.

       Recent changes are dated 25 Feb 2007.


 0.2   Copyright & Disclaimer
 25 Dec 2007
 ----------------------------------------
    These bits have been posted to a newsgroup and as such are free.
    Due to their nature, you may use them as you see fit.  Permission
    to use, copy, modify, and distribute this Faq for any purpose and
    without fee is hereby granted.  We make no representations about
    the suitability of this Faq for any purpose. It is provided "as is"
    without express or implied warranty.


 0.3   Where do I get a copy of this Faq?
 25 Feb 2007
 ----------------------------------------
   The Faq can be found at it's home.

   Ftp:    ftp://ftp.zenez.com/pub/zenez/FAQ/ou8faqqt.txt
   Web:    http://www.zenez.com/cgi-bin/ou8faq/faq
   Email:  [email protected]


   If you want to host the FAQ, I have a version that you can use with the
   FAQ-O-Matic on your site.  To get the FAQ-O-Matic version, go to:
      ftp://ftp.zenez.com/pub/zenez/FAQ/Download/
         The files you would need are as follows:
             SCO-uw7faq.tar.gz
             FAQ-OMatic-2.721.tar.gz
             README


 0.4   May I translate this Faq?
 8 Jun 2001
 ----------------------------------------
  The UnixWare and OpenServer community and I would appreciate any i
  translations.  Send me some email [[email protected]] and I'll
  put a copy on my ftp site.  So far it's been translated into Turkish,
  and Slavic, and Portugese, though I haven't heard back from those folks.


 0.5   May I host, maintain, or eradicate it?
 12 Feb 2002
 --------------------------------------
   Yes,  It now all resides on www.zenez.com or ftp.zenez.com
   The orignal is just another piece of history now, and was
   published to the internet in comp.unix.unixware.misc.


 0.6   How can I help support the hosting of this FAQ?




_________________________________
|                                 |
|1.  General Information          |
|_________________________________|===========================================


 1.1  What's a node?  What's a host?
 25 Dec 2007
 ----------------------------------------
  Node and host are synonyms for 'computer.'  A node can also refer to
  a device file like /dev/rdsk/f03ht, your 1.44 MB diskette.

  mknod name b | c major minor
  mknod name p

  mknod makes a directory entry for a special file.

  name is the special file to be created. The second argument is either
  b, to indicate a block-type special file, or c, to indicate a
  character-type. The last two arguments are numbers specifying the
  major and minor device numbers; these may be either decimal or octal.
  The assignment of major device numbers is specific to each system. You
  must be a privileged user to use this form of the command.

  The second case is used to create a FIFO (named pipe).

  For example

  # mknod test b 100 200

  The # is the prompt displayed by the root shell, test is the name
  of the node you want to create, type can be b for block or c for
  character.

  # mknod p test1

  The # is the prompt displayed by the root shell, test1 is the name
  of the FIFO or named pipe.


 1.2  What's a nodename?  What's a hostname? How do I create a node?
 12 Dec 1999
 ----------------------------------------
  A nodename or a hostname is a computer's name.  Computers are given
  names so that they can be easily distinguished from one another in
  a network environment.  A nodename is a single word, eight characters
  or less, in lower case, that begins with a letter.  For the name to be
  compatible with uucp, keep the name seven characters or less.  Common
  names for people's computers are types of trees, countries, and names
  of their favorite Sci-Fi characters.  e.g.:

    tortola
    redwood
    luke
    sales1


 1.3  What's a Domain Name?
 18 Sept 1999
 ----------------------------------------
  A domain name is the name that a group of computers all share.
  We are familiar with common domain names like:

    sco.com
    ibm.com
    pacbell.net
    sco.co.uk

  A domain name is the human-friendly representation of the network
  address of a group of computers.


 1.4  What's a Fully Qualified Domain Name?
 18 Sept 1999
 ----------------------------------------
  A FQDN is the complete name for a computer that specifies it on
  a network.  It consists of the nodename + domain name:

    tortola.sco.com
    uw7doc.sco.com
    www.sco.com
    luke.mydomain.net
    www.deepspace.ucsb.edu

  A FQDN is the human-friendly representation of the IP address for
  a host on a network.


 1.5  Something doesn't work.  How do I fix it?
 12 Feb 2002
 ----------------------------------------
  There are the man pages, which contain the directions for each command
  and some important files, too.  Use the 'man' or 'apropos' command to
  look for a command or subject respectively:

     man grep
     apropos security

  Use the help search engine on any UnixWare 7 or OpenServer 6 host to
  search for a word or words.  If the host is down, use the docserver
  at SCO:

     http://localhost:457/                <--  For the UnixWare host.
                                          <--  For the OpenSever host.
     http://www.sco.com/suppot/docs       <--  At SCO and updated.

  My favorite places for information:

     http://osr600doc.sco.com/    <-- Openserver 6 Docs
     http://uw714doc.sco.com/     <-- UnixWare 7 Docs
     http://www.google.com/       <--  Search the newsgroups
     http://docsrv.sco.com:80     <--  UnixWare 7 Docs
     http://docsrv.sco.com:1997   <--  Open Unix 8 Docs
     http://stage.sco.com/ta/     <--  SCO TA's (Technical Aritcles)

  The TA's have been greatly enhanced by the additions of many issues.
  Definitely take a look at the good work done there.  TA's generally
  come in two flavors, informational and technical howto.

  The Usenet newsgroups that you will want to focus on are:
     comp.unix.unixware.misc (Retired)
     comp.unix.sco.misc
     comp.unix.sco.programmer
     comp.unix.shell

  There is an excellent Uw7 book recently published:
     Henriksen G. & M., _UnixWare 7 System Administration_, MacMillan
     Technical Publishing, USA, 1998.

  There are excellent web sites by other good people at:
     http://www.pcunix.com/
     http://www.cruzio.com/~jeffl/sco/index.html


 1.6   What's a disk, disc, or diskette?
 12 Dec 2001
 ----------------------------------------
  A disk refers to a hard disk.
  A disc refers to a cd-rom or dvd.
  A diskette refers to a floppy.


 1.7   What's a program?  What's a process?
 12 Feb 2002
 ----------------------------------------
  A program is a file that is stored on a physical piece of media that can
  be run to perform a series of tasks.  A process is what you call that
  program when it is loaded into and running in memory.  The list of all
  processes running on the computer is output with the command:

         ps -ef

  Sometimes a process can get stuck or go into an infinite loop.  Looking
  at the process table with ps or with the command top is a good way to
  check on your processes.  Top is available on Skunkware.


 1.8  What commands are used to install software?
 25 Nov 2007
 ----------------------------------------
  Software is usually bundled into an installable archive called a package.
  Packages are added, viewed, modified, and deleted with variations of the
  following commands.  See also the next question.

     pkgadd
     pkginfo
     pkgrm
     custom (OpenServer 6)


 1.9  How do I add a package on a disk?
 18 Dec 2000
 ----------------------------------------
  To add a package named '/tmp/myapp.pkg' do the following:

     cd /tmp
     pkgadd -d `pwd`/myapp.pkg

  It is preferable to add a package utilizing the `pwd` command, because
  sometimes we're deep in a directory tree, and it's easier to let the shell
  complete that path name rather than type

    pkgadd -d /home/yurtle/apps/uw7/skunk/squid/squid2.2/squid-2.2STABLE2.pkg

   custom (OpenServer 6)  The files are usually VOL.xxx.xxx and are usually i
   placed in /tmp.

      custom
      Software->New
      From hostname
      Continue
      Media images
      Continue
      Image Directory /tmp/
      ...


 1.10  How do I add a group of packages on a disk?
 12 Feb 2002
 ----------------------------------------
  Let's say you have a bunch of Skunkware packages that you downloaded
  and stored in /dload/skunk/*.pkg, then you can do the following:

     cd /dload/skunk
     find `pwd` -name "*pkg" -ok pkgadd -d {} \;

  where
     find       <-- the command searches your mounted filesystems
     `pwd`      <-- is evaluated as your current path
     -name      <-- tell find that your looking for a specific file(s)
     "*pkg"     <-- called splat pkg.
     -ok        <-- pipe those complete pathnames to the next command
                    if and only if the user presses the 'y' key after
                    each found file is displayed to stdout.
     pkgadd -d  <-- that's the package adding command
     -d         <-- tells pkgadd that the next arg will be the path to the pkg
     {}         <-- this is where find inserts the path it found one at a time
     \;         <-- Escaped semi means end of the find command line.

  or from a bourne or korne shel

     cd /dload/olss
     for i in *.pkg
      do
      pkgadd -d `pwd`\$i
     done


 1.11  What does 'OLSS' stand for?
 25 Nov 2007
 ----------------------------------------
  Open License Software Supplement (OLSS) was the name for Skunkware at the
  time of the 7.1.0 distribution. It is now Skunkware, again, which is a
  collection of unsupported software written by the Unix community, compiled
  and packaged for SCO Operating System's (OS)'s by a team led by Ron Record.
  For a list of the programs that were contained on the OLSS that shipped
  with Uw7.1.4, see What is on the OLSS (Skunkware)?


 1.12  How do I add a package that's on a disc like the OLSS CD?
 12 Feb 2002
 ----------------------------------------
  To add the package named 'less' from the first cd-rom drive:

        pkgadd -d cdrom1 less

  You can also install a bunch of apps from the same drive:

        pkgadd -d cdrom1 less gs xpm glibs gv xpdf top pine


 1.13  What are the names of the media devices (like disk, tape, etc...)
 25 Feb 2007
 ----------------------------------------
  UnixWare 7/OpenUnix 8/OpenServer 6 comes with two neat commands called,
  'getdev' and 'devattr' which are often used one after the other:

     getdev | less
     devattr -v diskette1

   1.44 Floppy  Raw character device name for formatting
          /dev/rdsk/f03ht
          /dev/rfd0

   1.44 Floppy  Block device name for mounting, taring, cpio, etc.
          /dev/dsk/f03ht
          /dev/fd0

   Tape:  /dev/rmt/ctape1    1st scsi drive, rewinding.

   Harddisk:  /dev/dsk/c0b0t0d0s0          the t0 and s0 parts change for
     each device.

   See also:  Section (3), Media, Filesystems, and Disks !


 1.14  What is stdin?  What is stdout?  What is stderr?
 25 Feb 2007
 ----------------------------------------
  They're called file descriptors.

  stdin, standard in, refers to the data stream that is going into a process,
  which is, by default, taken from the keyboard.  But the data characters can
  be taken from a file, instead, and that's an example of redirecting
  standard input from a file.

  stdout, standard out, refers to the data stream that is coming from a
  running process.  By default, stdout is directed to your screen.
  Commands like 'ls' and 'cat' display their output to stdout.

  stderr, standard error, refers to the data stream of error messages
  being generated by a process.  The registration nag displays itself to
  stderr, which is usually the console, ctrl-alt-esc.  Often stderr is sent
  to the same place that stdout is directed to.

  stdin, stdout and stderr can all be redirected.  How to implement this
  is dependent on your shell.

  Example of redirection with the Bourne shell.

      <  /pub/phonelist           *Would be a stdin redirect
      >  /tmp/printout            *Would be a stdout redirect
      2> /tmp/errorfile           *Would be a stderr redirect

      > /dev/null                 *Would be stdout sent to the null device

      pkgchk -n base 2>&1  > /tmp/printout  *Would be a stdout redirect
                                             to /tmp/printout, and a stderr
                                             redirect to stdout's destination

      ./configure > con.log 2>&1        *Would be a stdout redirect to the file
                                         con.log and a stderr redirect to
                                         stdout's destination.  When both
                                         stdout and stderr go to the same
                                         file, you see nothing on the screen.

      make > make.log 2>&1              *Would be the same as above.

      make 2>&1 | tee make.log          *Would be a stderr redirect to the
                                         destination of stdout, which is still
                                         the display, but then redirect of
                                         stdout through a pipe to the command
                                         tee, which allows stdout to be
                                         displayed normally to the screen
                                         while also copying it to make.log.

           (same as above but you can see the output as it's going)

  < /what/ever/you_want/... *Would be a stdin redirect
  > /what/ever/you_want/... *Would be a stdout redirect
  2> /what/ever/you_want/... *Would be a stderr redirect

  > /dev/null *Would be stdout sent to the null device

  Double << >> 2>> *Would append

  pkgchk -n base 2>&1  > /tmp/printout  *Would be a stdout redirect to
  /tmp/printout, and a stderr redirect to stdout's destination


 1.15  Why am I suddenly getting not privileged or no permissions errors?
 12 Feb 2002
 ----------------------------------------
  When something drastic occurs, such as the restoring of critical files,
  the securities privilege database can get corrupted.  Symptoms could be
  that a user tries to ping and they will see:

     UX:ping: ERROR: socket: permission denied

  Check it with:

      /sbin/initprivs

  If running that returns anything at all, then fix it immediately with

      /etc/security/tools/setpriv -x

  Other times the user may simply not have the privliges to access a proteced
  command.  Check the filepriv and setpriv man pages for more information.
  All users can't traceroute for instance, and that is by default.


 1.16  How do I access DOS diskettes?
 12 Feb 2002
 ----------------------------------------
  In Uw7.1.x, the old DOS utilities have been replaced with the mtools
  programs located on Skunkware.  We now have:

     mdir mcopy mdel mmd mformat

  Make sure to use the newest mtools *from SCO's ftp site*
  because mtools ver 3.9.1 has bugs that I wrote a mini-HOWTO about.


 1.17  What are some really neat things about
       UnixWare 7/OpenUNIX 8/OpenServer 6?
 25 Feb 2007
 ----------------------------------------
   There's not really anything special about Uw7/OSR6.  There were
   a couple of gimmicks, but they don't come with Open Unix 8.
   It could handle 8 processors.

   You now have samba like most Linux/Unix Systems that replaces VisionFS.


   UnixWare 7.1.0 was bundled with two outstanding applications in my
   opinion, that make it more useful than some Os's. The Webtop and
   Visionfs open doors like no other programs I have ever seen
   (except a web browser, of course).

   The OS's's 'more' lets you scroll up line by line.

   The OS's's ftp daemon lets users compress and/or tar archives on the
   fly of uncompressed / untar'ed files or directories.

   There is a package called Reliant HA which is a way to institute high
   availability with Uw7/OSR6 hosts, so that you can share the load to a group
   of servers and have reduncany at the same time.

   NSC, Non-Stop Clusters, institute high availability and failover to
   identical Uw7/OSR6 hosts in a cluster, so that you can share the load to a
   group of servers and have redundcany at the same time.

   SCO merged it's server division with Caldera, a lead supplier of Linux,
   and UnixWare7 will shortly introduce a concurrently running Linux kernel
   beside your Uw7/OSR6 kernel. Dual OS's running transparently.

   We have ipf and NAT for the OS's.


 1.18  What is the Webtop?
 12 Dec 2001
 ----------------------------------------
  The Webtop was a gimmick, a lite version of Tarentella.

  The Webtop let you run an application on Uw7 but display it
  to any Netscape w/Java browser anywhere in the world.

  Support for it has been dropped.


 1.19  What is Visionfs?
 12 Feb 2002
 ----------------------------------------
  Visionfs was another gimmick that's been dropped.  Samba is the current
  accepted method of connecting windows boxes to unix filesystems if you
  don't want to deal with NFS.  TermVision is another product that is
  reported to be excellent at this sort of SMB share access.


 1.20  What is Samba?
 25 Nov 2007
 ----------------------------------------
  Samba is an Open Source/Free Software suite that has, since 1992, provided
  file and print services to all manner of SMB/CIFS clients, including the
  numerous versions of Microsoft Windows operating systems. Samba is freely
  available under the GNU General Public License.


 1.21  What's a sticky bit?
 12 Feb 2002
 ----------------------------------------
  A sticky bit is one of the permissions that can be set on a directory.
  Most people are familiar with read and write permissions already.

     drwxrwxrwx         <--  A directory that any user can list,
                             create/delete files in, or access.

  When the sticky bit is set on a directory, it means that anyone can
  create files in the directory but users can only delete files they own.

     drwxrwxrwt         <--  Here the sticky bit is set.

  The temp directory has the sticky bit set on it.  To set the sticky
  bit on a directory called /foo as shown above, enter the command:

     chmod 1777 /foo

  There's also the possibility that the x bit will not
  be set for "others," as in drwxrwxrw-, and the sticky
  bit perms for that setup would then be drwxrwxrwT.

  On another note, man 2 chmod specifies how the sticky bit on an ELF
  executable can be set to make an instance of that file stay in memory
  after the last user terminates their instance of that process, thus
  making that ELF run faster the next time.


 1.22  Who is logged into my host?
 18 Dec 2000
 ----------------------------------------
  You can use the 'who -Hu' command.  You can also use the 'last' command.
  You can forcibly logout a user by looking for the pid of the shell they
  have logged into.  The pid is listed in the right most column.  Issue a
  kill -2 <pid>, or a kill -9 <pid> if needed.


 1.23  What processes are being run by user foobar?
 24 Sept 1999
 ----------------------------------------
  You can use the 'ps -u foobar' command.


 1.24  How do I boot a Uw7/Ou8/OSR6 computer?
 24 Sept 1999
 ----------------------------------------
  When you turn on the power, you will see a UnixWare 7/OpenUNIX 8/OpenServer 6
  splash screen after your computer POST's.  There is a 5 second delay
  and then it will autoboot into multiuser mode.  If for some reason
  you are presented with a   boot:  prompt, you can type   go
  and press Enter.


 1.25  How do I turn off a Uw7/Ou8/OSR6 computer or just reboot it?
 24 Sept 1999
 ----------------------------------------
  As root, from the / directory enter:

     shutdown -g0 -y -i0      <--  To shut it off
     shutdown -g0 -y -i6      <--  To reboot it

  both commands wait for zero seconds before beginning the shutdown,
  and both commands require no further 'yes' responses.


 1.26  How do I boot into single user mode?
 25 Nov 2007
 ----------------------------------------
  Turn on the computer or reboot it, and when you see the
  splash screen, press the space bar.  At the boot: prompt, type:

      initstate=1
      go

  Boot: is not sensitive to case.  You can abbreviate commands with enough
  letters to be unique.  So b will work for boot, g for go.  You can get
  some limited help with a ? at the boot: prompt.

  Do not attempt to go to single user mode from multiuser mode.
  This barely works, and you will get many errors.  Always reboot
  to single user mode as decribed above.

  Do not attempt to go to multiuser mode from single user mode.
  To get to multiuser mode, always reboot!  If you don't, you will most
  likely have a crippled system.

  OpenServer 6 has the old OpenServer 5.0.7 method if you hit enter at the
  boot:  Then enter the root password at the prompt.


 1.27  What's an inode?
 12 Feb 2002
 ----------------------------------------
  An inode is a data structure that contains information about a file.
  An inode is similar to a card in the card-catalog of a library.
  But instead of keeping track of the Title, Author and Dewey Decimal System
  number, inodes keep track of:

    * mode                       -  d,l,c,b  (Directory, Link, Device Files)
    * link count                 -  the number of hard links to the file
    * owner                      -
    * group                      -
    * size in bytes              -
    * time stamps                -  mtime, ctime, atime
    * data block addresses       -  Pointers to the real data

  You can see how an inodes points to a file in a filesystem, just as a
  Table of Contents entry points to a chapter in a book, or a cardfile
  from a card-catalog points to the area of the Library by Dewey number.

     * Each filesystem has one set of inodes like there is one
       card-catalog in each libaray.

     * Inodes are referred to by numbers starting from 2.

     * There has been historically a limit of 64K inodes per
       filesystem, and we had to watch out that we didn't
       create too many files.  Not anymore.

     * You have unlimited inodes on vxfs filesystems.

     * Each file has an inode assigned to it when it is created.


 1.28  What's a hard link?
 9 Oct 1999
 ----------------------------------------
  A hard link is an additional name for a file.  When a user creates
  a hard link, an inode number / name pair is entered into the target
  directory, and that inode is the same number as the original inode.
  Thus both names have the same inode number.

  Hard links can not cross filesystem boundaries (filesystems have
  different inode tables).  Hard links can't link directories.


 1.29  What's a symbolic link?
 9 Oct 1999
 ----------------------------------------
  A symlink is sometimes called a soft link and is another
  way to provide multiple names for the same file.  A symlink
  can cross filesystem boundaries and can link directories.

  Physically, when a user creates a symlink, a new file entry is created
  in the target directory, and that file's inode contains pointers
  to the original file's data.


 1.30  How many users are licensed on my Uw7/Ou8/OSR6 host?
 25 Oct 2007
 ----------------------------------------
  You can run the uname -l command.
  You can run the uname -A command on OpenServer 6.


 1.31  What's a router?  What's a route?  What's a default route?
 12 Feb 2002
 ----------------------------------------
  Router:
   A router is a network device that is used to connect two different
   networks together.  The difference in the networks can be as trivial
   as that they are on different subnets, or complex as in
   connecting and translating a DSL line to a local LAN, for example.
   A router can be a separate device as in a Cisco router or a router
   can be a computer with 2 network cards.  A firewall is a router that
   only allows specific traffic to pass between networks.

  Static Route:
   When a computer on network A needs to talk to a computer on network B,
   the data passes out through network A's router that is also connected
   to network B.  The router between network A and network B needs to be
   told that traffic destined for B exits the router through B's ethernet
   card.  When you specify that, you specify a static route from A to B.
   You also need to tell the router that traffic destined for A exits the
   router on A's NIC.  So you need two static routes on the router between
   A and B.  These static routes get created automatically by scoadmin netw.

  Default Route:
   The default route sends all traffic without a static route out through
   the default gateway.  So all traffic has some route to go through.
   Once again we have network A connected to network B through a router,
   and network B connected to network C through a different router.  When
   a host on A wants to talk to a host on C, we could specify a static route,
   but that quickly becomes rediculous when we consider having to specify
   static routes to google, sco, ibm, sourceforge, etc.  Instead we use
   a default route, rather than many static routes.  The default route is
   the fall back.  It says to a router that if you don't have a path
   specified to get traffic from A to C, then just send the traffic out
   the default route.


 1.32  What's a hop?
 11 Oct 1999
 ----------------------------------------
  When we speak of the number of hops that it takes for data to get from
  computer A to computer B, we are referring to the number of routers that
  the data passes through to get there.


 1.33  What's ISL?
 13 Oct 1999
 ----------------------------------------
  ISL stands for Initial System Load, which is what we call it when
  you install UnixWare 7.


 1.34  What an ACL?
 25 Nov 2007
 ----------------------------------------
  ACL stands for Access Control List, and an ACL is a list of permissions
  that correspond to a file the same way UID:GID and -rwxr-xr-- do.  The
  ACL permissions are an extension of the usual permissions on a file.
  ACL's give us a way to let specific users access files, users who would
  not otherwise have access.  See also the ACL question(s) in the System
  Administration section.  When there is an an active ACL list for a
  file, then ls -l will show a (+) sign after the permissions bit, i.e.:

     -rwxr-xr-x+

  ACL's can be used to let two different groups have access to a file,
  or they can be used on a more specific per user basis.  ACL's can also
  be put onto a directory, and then new files will inherit the default ACL's.

  Unfortunately SCO shipped 7.0.1, 7.1.0, and 7.1.1 with broken default
  directory acl'S and never fixed them.  Files didn't inherit the default
  acl's, but that's fixed now.

  Default directory ACL's work in UnixWare 7.14/OpenUnix 8/OpenServer 6.


 1.35  What are the minimum system requirements for Uw7/Ou8/OSR6?
 12 Feb 2002
 ----------------------------------------
  32 MB RAM, 486DX, mouse, SVGA, floppy, cd-rom or nic to install,
  and a 1.2 GB hard drive (500MB for small footprint server).
  That would be rather meager, though; so try to use at least a Pentium
  with 64 MB ram.

  *** Please be sure to use supported hardware that is listed at ***
                  http://www.sco.com/chwp/


 1.36  Where do I get the two install diskettes and the HBA diskette?
 25 Feb 2007
 ----------------------------------------
  Normally those diskettes were packaged with the Uw7/Ou8/OSR6 media kit
  that you got.  When they are lost or corrupted, you can recreate them
  from images that are on your OS's Install Disc #1.  Those images are
  stored on the disc in

     /info/images/Boot_ima.1
     /info/images/Boot_ima.2
     /info/images/Hba_imag

   To make a diskette from one of those images, choose one way:

     A)  Use a Uw7/Ou8/OSR6 machine, cd to the /info/images directory and:

            format -E /dev/rfd0
            dd if=<image> of=/dev/rfd0 bs=512k

         I patiently run an exhaustive verify on all my diskette
         formats, but that's just me.

     B)  Use the program rawrite2 which is available on the net.
         Run this in a DOS window somewhere distasteful:

            rawrite2 -f d:\info\images\Boot_ima.1 -d A:

     C)  Use the floppycp program, available on the net, for
         DOS or Win.

     D)  These days, WinImage 6 is the best way to make diskette
         images.

   If you don't have the CD's then you can find the install diskettes
   on the SCO FTP site in one of the ptf's.


 1.37  In what order do I insert my HBA diskettes, one came from a 3rd party?
 18 Dec 2006
 ----------------------------------------
  When you are given an HBA diskette for Uw7/OSR6 from a third party hardware
  vendor like DPT or Mylex, you will insert that diskette first and insert
  the SCO supplied HBA diskette last, during the ISL process.  The install
  process will use the first installed driver, if there were two installed.


 1.38  How do I list the installed software on the system?
 12 Feb 2002
 ----------------------------------------
  You can use the pkginfo command as in:

     pkginfo | less
     pkginfo -l <pkgname like nsfast or xpdf>
     pkginfo | grep skunk
     pkginfo | grep patch
     pkginfo | grep sse

     pkginfo -c patch
     pkginfo -c system

     pkginfo -lc patch | grep PSTAMP


 1.39  How do I check and repair the installed software?
 18 Dec 2000
 ----------------------------------------
  People are tempted to use the pkgchk -n command to check if there
  are any errors in the installed packages.  This is ok.  But it
  is NOT ok whatsoever to use pkgchk -f to fix things up.  The
  Uw7 Release 7.1 Getting Started Guide specifically states,
  on p. 65,

     'It is typical to see a number of errors when running this command
      (pkgchk or pkgchk -n), due to the number of and interaction
      between the various packages on your system.  You should make a
      note of any errors you find, but do not attempt to fix these
      errors with pkgchk -f.  This command is currently not
      supported and may cause your system to fail or not reboot.
      There is no current workaround.'

  I like to run:
                  pkgchk -n base 2>&1 > /tmp/pout

  Less the pout file and fix what's wrong.  Post to c.u.u.m with
  questions if you have troubles.


 1.40  What's a MB?  What's a Mb?  What's a KB and a Kb?
 12 Feb 2002
 ----------------------------------------
   Definitions         Conversion Factors
   -----------         ------------------
   MB - Megabyte        1 MB = 1,024 KB = 1,048,576 B
   Mb - Megabit

   KB - Kilobyte        1 KB = 1,024 B
   kb - Kilobit

   B  - byte            1 B  = 8 b
   b  - bit
                      512 B  = 1 block

 1.41  How do I convert decimal numbers to binary numbers?
 14 Oct 1999
 ----------------------------------------
  To convert decimal to binary, draw yourself the following
  chart, and I'll convert 184 to binary:

      7    6    5    4      3   2   1   0      <-- two to this power
     128   64   32   16     8   4   2   1      <-- equals the number below it

  To convert 184, I think to myself:
    *  184 has at least a 128 in it, so I put a one in the 128's column.

       1

    *  184-128 = 56 ,  which is less that 64, so there are no 64's.  Put a 0
       in the 64's columns and a one in the 32's instead.

       1    0    1

    *  56-32 = 24, so I need a 16 and an 8 to make 24, no 4's, 2's, or 1's.

       1    0    1    1     1    0   0   0

  So 184 = 10111000.  I hope that wasn't too confusing.


 1.42  How do I convert binary to decimal?
 14 Oct 1999
 ----------------------------------------
  To convert binary back to decimal, draw the usual chart:

     7    6    5    4     3    2    1    0
    128   64   32   16    8    4    2    1

  Then, to convert 11011011, for instance, write it below the columns,

     1    1    0    1     1    0    1    1    which looks like:

    128 + 64 + 0  + 16  + 8  + 0  + 2  + 1  =  219


 1.43  Are the any Y2K or 2-digit vs. 4-digit year issues?
 12 Feb 2002
 --------------------------------------
  For UnixWare 7.1.1, you need:  ptf7651a, part of set71101.

  Everyone should probably check out the SCO y2k download page at:

        http://www.sco.com/support/y2klist.html

  UnixWare 7 will not function after 2036.
  UnixWare 7 has problems if you try to install it to a computer
  whose BIOS clock current.  You may have to set the BIOS clock
  back to mid 2001, install, then reboot and reset the BIOS clock
  to the correct time.


 1.44  What are my biggest problems with OS's?
 12 Feb 2002
 --------------------------------------
  Well, they fixed them all(most) :)

  Thanks.

  There are two that are 5 years old, leftover from 7.0.0.

  1)  'man' is so broken it's not even funny.  MANPATH.  ORDER.  Eherrmm.
      man -a doesn't work correctly if you have an open source version
      of a program installed that has the same name as system program.
      Man will only find the SCO html version and stops searching correctly
      for any other possible versions in /usr/local/man even though MANPATH
      is set and those directories get searched during man commands.


 1.45  How do I document my System? (HW, SW...)
 25 Feb 2007
 --------------------------------------
  There are a number of ways to view and/or create a text file of your
  Uw7/Ou8/OSR6 hardware configuration, but there's no dmesg.

  There's sysinfo and hw.

  In November 2000, Sco released TLS712, sysinfo.  Sysinfo(1M) gives the
  most comprehensive way to list your entire UnixWare setup, in both
  text or html, and it includes these commands, among others:

     A. The resmgr(1M) command outputs your hardware configuration (DCU)
        information:
                                   /sbin/resmgr > /tmp/hw

     B. The prtconf(1M) command prints system memory and peripheral
        configuration.
                                   /usr/sbin/prtconf

     C. The sdiconfig(1M) command queries the storage device interface
        subsystem to determine which disk, tape and scsi controllers
        are present.  To list the controllers and the attached devices,
        use the command:
                                   /sbin/sdiconfig  -l


 1.46  What about programming in SCO OS's?
 25 Feb 2007
 --------------------------------------
  The SCO Programmer's FAQ tries to answer these questions for all
  SCO OS's.

  There are also a few tips scattered in the descriptions of third party
  software in Section (8).


 1.47  How do I migrate from OpenServer 5.0.x to UnixWare 7.1.X?
 12 Feb 2002
 --------------------------------------
  Please see the complete coverage in  Section 10, Migrating from
  OpenServer 5 to UnixWare 7.  This is obsolete with Open Unix 8.
  I suggest reading on SCO's site now.


 1.48  How do I get my IDE cdrom recognized during ISL?
 12 Feb 2002
 --------------------------------------
    Some people want to install Uw7/OSR6 from IDE cdrom, rather than
 from a network, tape, or SCSI cdrom.  To do so, we load drivers
 from two HBA diskettes and set the cdrom as secondary master if
 it's alone on it's controller.

    Loading drivers from an HBA diskette is similar to how DOS
 users load atapi.sys and mscdex.exe for DOS.  Adding drivers
 lets the OS access the device.

    In Uw7/OSR6, there's no error if you don't load the right driver.
 What will happen is no cdrom will be listed to install from.

    Some IDE cdroms need a newer driver that's not on the
 Uw7.1.X HBA diskette that came in the media kit.  Check

           ftp://ftp.sco.com/pub/unixware7/drivers/

 for the latest HBA diskettes.  Follow these guidelines to get your
 IDE cdrom recognized during ISL.

     1)  Set the ide cdrom as the secondary MASTER if it's alone on it's
         controller.

     2)  Otherwise set it as the slave to a master hard drive.

     3)  During ISL, when asked for HBA diskettes:

              *  load the ide_hba_#### diskette first.
              *  load the hba_714a diskette last.

 (SCSI cdroms are handled by the SCSI host adapter they are
 connected to, which also gets a driver from the HBA diskette)


 1.49  SCO's been sold to Caldera, what will happen to UnixWare 7?
 12 Feb 2002
 ------------------------------
    OpenUNIX 8 is deprecated.  Use UnixWare 7.1.4 or OpenServer 6 from
  SCO now.


 1.50  When were SCO OS's released?
 25 Jul 2007
 ------------------------------
  Open Unix 8(UnixWare 7.1.2 was released on July 2, 2001, Retired
  UnixWare 7.1.3 was released on October 30, 2004, soon to be retired.
  UnixWare 7.1.4 was released in May 2004, mp3.
  OpenServer 6 was released in June 2005, mp3.

 1.51  What's the LKP that'll be in UnixWare 7?
 12 Feb 2002
 ------------------------------
   One of the main features of SCO UnixWare 7 is the LKP, which stands
   for Linux Kernel Personality.  It's a Linux kernel running at the same
   time as the Unix kernel.  It's a full install of Caldera Open Linux 3.1
   on top of OpenUNIX 8.


 1.52  Why do I see words with parentheses like fdisk(1M) and pwrite(2)?
 16 Oct 2001
 -------------------------------------
     The notation is meant to tell you which man section those
   commands are described in.  The section is in parentheses,
   and the word can refer to a program, a built-in command, a file,
   or sometimes a looser concept.

     You have a library of man pages, divided into sections.
   For instance, the restriced system administration commands
   are in the 1M section.  Those commands are described in the
   intro(1M) man page, and the programs are stored in /usr/sbin.
   To read the intro(1M) man page, type this:

              man 1M intro

     The section names, like 1M, 2, 3, 3S, 4, 4tcp, etc., are case
   sensative.  Be sure to watch that when using man.

     To read the intro(4tcp) page, you'd type:

              man 4tcp intro

     The reason you'd use the section names, rather than just typing
   man intro, would be your desire to specify which of the many "intro"
   pages you want to retrieve.  As another example, there are two passwd
   man pages, passwd(1) and passwd(4).


 1.53  How do I migrate from OpenServer 5.0.x to UnixWare 7/OpenServer 6?
 -------------------------------------
  Please see the complete coverage in section 10.  Migrating from
  OpenServer 5 to UnixWare 7/OpenServer 6.  Especially 10.1   SCO Migration
  Tools


 1.54  OpenServer 6, why can't I do ...(Large File System commands)?
 -------------------------------------
  OpenServer 6 has as it's defaults like OpenServer 5.0.X commands.
  You have to use the /u95/bin/ commands for files >= 2 GB.




_________________________________
|                                 |
|  2.  User Related Information   |
|_________________________________|===========================================

 2.1  What shell am I using?
 18 Sept 1999
 ----------------------------------------
  Use the 'ps' command:

     ps


 2.2   How do I display Yurtle's user ID (UID) or group ID (GID)?
 7 Dec 1999
 ----------------------------------------
  Use the 'id' command to display all the UID and all the groups:

     id yurtle


 2.3  What is a really good shell that gives me useful commands?
 18 Sept 1999
 ----------------------------------------
  People enjoy the Korn Shell, ksh, for everyday use.  It gives the
  user the ability to do command recall and filename completion.
  The default root shell is the Bourne shell, sh, which is considered more
  secure because it does not have command line history, but is
  limited and rather old.  Bash is the Borne Again Shell, a newer
  version of the Bourne Shell which is well liked also.


 2.4  Where are my users's home directories on UnixWare7/OpenServer6?
 26 Nov 2007
 ----------------------------------------
  The home directories are all in '/home' which is often
  created as slice number 4 on the first disk drive:

     /home   is mounted on   /dev/dsk/c0b0t0d0s4

  Yurtle's home directory would be   /home/yurtle   for instance.
  Norton's home directory would be   /home/norton   for instance.

  When logged in as norton, these are equivalent:

         ~/
         /home/norton/
         $HOME/


 2.5  What is User Equivalence and why is it important?
 12 Feb 2002
 ----------------------------------------
  User equivalence exists on a network when the following
  occurs on _all_ computers on that network:

     a given user has the same username, UID, and password
     a given user belongs to the same groups
     a given group has the same GID

  This enables all users to have transparent access no matter
  what terminal they sit down at.  It also enables users to
  utilize commands such as 'rlogin.'  It's been pointed out to me that
  the rcommands will work if strict user equivalence is not upheld.


 2.6  What do the permissions -rw-r--r do?  How about drwxr-xr-x ?
 18 Dec 2000
 ----------------------------------------
  Permissions control whether users can list, create, delete, access,
  read, modify, or run a file.  Definitions are as follows:

     Directory Perms                              File Perms
    -----------------                            ------------
     r = ls the directory                         r = cat a file
     w = create / delete files in the dir.        w = modify file with vi
     x = access the directory                     x = execute a file

  To answer the question, the first example lets the owner read and
  write to the file, and everyone else can only read it (excluding root).
  In the second example, the directory is set up so that the owner
  of the directory can list files in the directory, create/delete them,
  and access the directory.  Everyone else, except root, can only list
  the files and access the directory.

  Note that DELETING a file depends on the directory w permission and the
  directory's owner/group, NOT on the file's w permission!

  List permissions with the 'ls -l' command.

  Permission numerical equivalents:

     read    = 4
     write   = 2
     execute = 1

  You add the numerical equivalents together, eg on files:

          644               755                111
         / | \             / | \              / | \
       rw-r--r--         rwxr-xr-x          --x--x--x


 2.7  How do I use Korn shell commands and recall (history)?
 18 Dec 2000  contribs Hops
 ----------------------------------------
       <Esc> k        then use your h,j,k,l vi type commands

    What you've typed can be recalled again on the command line
  so that you can just press 'Enter' to re-execute the command.
  Commands can then be edited, too.  Just use your vi skills.

  __ Details __

  The history of  commands is kept in the user's directory as
  $HOME/.history.

  First the user needs to log in using the Korn shell, which is the
  default shell for new users.  The user's $HOME/.profile needs to
  contain the lines:

     EDITOR=vi
     export EDITOR

  Make those changes, then make them happen by running your .profile:

     . ~/.profile

  Go ahead and type a few harmless commands like 'cal' and 'banner hello'
  to prime your history file; then you are ready to use it.  When you want
  to work with a command in your history, press the 'Esc' key once.  This
  puts you into a single line vi editor, in command mode, that has opened
  your history file.  To cycle up or down through the commands in your
  history, use the 'j' and 'k' keys just as you would in vi.  When you find
  the command you want, press Enter.

  Because you are using a single line vi, you can use all the usual
  vi commands to move about and alter the command as needed.  Things
  to try are the search '/' keystroke in order to search through your
  history for the command you are looking for and the 'w' or 'b' keystrokes.

  =============
    The equivalent for emacs style editing is

              set -o emacs

      or

              EDITOR=emacs
              export EDITOR

      or ksh invocation as

              ksh -o emacs

      The playback and editing keys are then the normal movement sequences
      ^P, ^N, ^B, ^F, ^A, ^E.

 ====================
    Use of Arrow keys can be enabled in ksh88 and previous with the
    following set in your ~/.profile

       # fn keys for ansi terminal or xterm alias
       __A='^P'        # UpArr alias
       __B='^N'        # DwnArr alias
       __C='^F'        # RghtArr alias
       __D='^B'        # LftArr alias
       __H='^A'        # Home

    ( The ^x form here is the real control character)

    ---------------
    for ksh93 and later the above will not work instead you need:

       # test for ksh93 - (dropped ERRNO)
       set keybinding handling
       [[ ${ERRNO:-unset} == "unset" ]] && {

          alias array='typeset -A'

          typeset -A KeyTable
          trap 'eval "${KeyTable[${.sh.edchar}]}"' KEYBD

          function keybind # key [action]
          {
              typeset key=$(print -f "%q" "$2")
              case $# in
              2)  KeyTable[$1]=' .sh.edchar=${.sh.edmode}'"$key"
                  ;;
              1)  unset KeyTable[$1]
                  ;;
              *)  print -u2 "Usage $0 key [action]"
                  return 2 # usage errors return 2 by default
                  ;;
              esac
          }
          keybind $'\t' $'\E\E'  # Tab -> file/cmd completion
          keybind $'\E[A' $'\020'  # up
          keybind $'\E[B' $'\016'  # down
          keybind $'\E[C' $'\006'  # right
          keybind $'\E[D' $'\002'  # left
          keybind $'\E[H' $'\001'  # beginning of line 'Home'
          keybind $'\E[Y' $'\005'  # 'End' of line
  =============


 2.8  How do I use Korn shell filename and directory name completion?
 18 Dec 2000   contribs Hops
 ----------------------------------------
  The Korn shell can be used to help someone type out the long name of
  a file or directory.  Often we give gzipped archives such a long
  descriptive name that it takes too long to type the whole thing.

  To use name completion, use the Korn or Bash shell with the EDITOR
  variable set to 'vi' as described in (2.7).  Then start typing
  something like

     cd /opt/net

  then press:

     'Esc'
     '\'

  The keystrokes Esc, then \ will complete the name net to netscape if
  net contains enough characters to uniquely identify the only possible
  name as 'netscape.'  If there are two or more files or directories
  that start with net, then nothing will change on your screen.
 =================

    For emacs mode the equivalent character sequence is Esc Esc.
    That can be mapped to the more convenient TAB key with the trap and
    keybind function listed in the section on command line history recall
    and playback and the following binding in ~/.profile

        keybind $'\t' $'\E\E'  # Tab -> file/cmd completion
 =================


 2.9   Can I display 132 columns on my terminal screen instead of 80?
 5 Nov 1999
 ----------------------------------------
  This is still not possible in a regular terminal screen like vt04.
  It is possible, though, to do on the CDE in a dtterm by clicking on
  Options --> Window Size -->  132 columns.


 2.10  How do I change the color of the terminal font or background?
 22 Sept 1999
 ----------------------------------------
  Use the 'setcolor' command.  I like to leave the default white
  on black for regular characters and change the inverse, as in:

     setcolor -r yellow red

  This looks good to me when I pipe things to 'less.'


 2.11  How do I ls -l a directory but not its whole contents?
 9 Oct 1999
 ----------------------------------------
  When you try to ls -l /tmp to see what the permissions are on /tmp,
  the command lists the contents of /tmp instead.  To stop that, type:

     ls -ld /tmp

  You can remember the -d as standing for 'directory.'


  2.12  Why do I want to use 'less' ?
  12 Feb 2002
  --------------------------------------
   Less is an excellent Skunkware program that can be pkgadd'd.
   Less is more.  Less has the following excellent aspects:

     * Less can scroll up and down line by line
     * Less can scroll horizontally, left and right
     * Less can be configured to not wrap long lines (ps -ef !!)
     * Less uses all the usual vi commands like h, j, k, l, and /.
     * Less can tail a growing log file just like tail -f does.
     * Less will highlight text strings found using /.
     * Less lets you edit what you see, just press v to go to vi.

   To get the most out of less, I like to do the following in my .profile:

     setcolor -r yellow red
     LESS=MS
     export LESS

   This sets the highlight colors, and exports the -M and -S arguments
   to less which makes less put file %'s at the bottom of the screen and
   makes less not wrap long lines (scroll right with the arrow key).


 2.13  How do I impress changes made to my .profile on my environment?
 15 Oct 1999
 -----------------------------------------
  You can type the command

     . $HOME/.profile

  using the . with a space after it causes the file to be run.


 2.14  How do I spell check this Faq?
 12 Feb 2002
 ----------------------------------------
  Skunkware's got an excellent spell checker called ispell.
  It's interactive and has the '?' command for help.

     pkgadd -d cdrom1 ispell

     ispell -M -b -S -L4 -B uw7faq

          where
            -M   Display menu of commands at the bottom of the screen
            -b   Make a backup copy of the file uw7faq
            -S   Sort the list of suggestions by probable correctness
            -L4  Print four lines of context around the misspelled word
            -B   Attempt to catch run together words like redwoodforrest
        uw7faq   The filename to be checked


 2.15  How can I tell if an ftp download is still working?
 26 Dec 1999
 -------------------------------------
  The ftp client program has a useful feature called hash, which
  when turned on, prints a bunch of #####, 1 for each 1KB downloading.

  Just issue the 'hash' command at the ftp prompt, the same way that
  you issue the 'bin' command.


 2.16  How do I issue complex commands to an ftp server, like ls -lF?
 12 Feb 2002
 --------------------------------------
  The ftp client program lets you issue complex argument lists within
  quotation marks, as in:

     ftp>  ls "-l ptf*"

  The trick is just to quote everything after the first command,
  I think, so that the shell doesn't interpret them.

  It only took me 10 years of ftp'ing to learn that one :)
  There's also

           ls |less
           cat README -
           cat README |less

  which are examples of how you pipe data a local shell command.


 2.17  How do I copy and paste in the KDE from an eterm to another app?
 6 May 2001
 --------------------------------------
   Use your left mouse button to select text.
   It's copied automatically.
   Paste with a middle-click (or chord-click).

   I'm able to paste into Netscape's email, even though  alt+v doesn't
   work and Edit|Paste is stippled out.


 2.18  How do I display my current working directory at a ksh prompt?
 4 Feb 2001
 --------------------------------------
   People like to see their hostname and working directory in their
   prompt, like:

        Yoda:/var/tmp>$

   This can be easily done in ksh by editing your .profile.
   Change the PS1 line or create it to read:

        PS1='Yoda:$PWD\>\$'

   but use your own hostname, rather than Yoda.  Be sure to surround
   the PS1 definition in single quotes, or it won't update when you
   change directories.


 2.19  How do I display my current working directory at a bash prompt?
 4 Feb 2001
 --------------------------------------
   You can have bash display your hostname and working directory
   at the prompt in this form:

        yoda:/var/tmp>$

   by changing the PS1 line or creating in your .profile to read:

        PS1='\h:$PWD>\$'

   The defninition must be in single quotes, or it won't update
   the prompt when you change directories.  If you like to see your
   hostname capitalized like I do, then hardcode it into your .profile
   like this:

       PS1='Yoda:$PWD>\$'


 2.20  How do I type accented charaters in vi, Messenger, or Kedit?
 28 Jun 2007
 --------------------------------------
   Uw7/OSR6 supports compose keys and dead keys in X.

    Quickly:   In Kedit...
    ---------------------------------------------------------
         The compose key is               ^T
         Press the compose key(s)         ctrl+shift+t
         Release.
         Now Press                        c/

    Synopsis:
    ----------
         <Compose key> <character> <accent>

    Examples:   press these keys and see what they create
    --------------------------------------------------------
         ^Te'
         ^Ta*
         ^TY=
         ^Tae
         ^T??
         e^T^2 are the w00t w00t.

   I've had success with Kedit, Netscape Messenger, and in an Eterm.
   So vi is no problem.  It doesn't work in an xterm, though, nor
   does it work on a regular tty, as far as I can figure.

     Detail
     ---------
      a)  You need your locale to be en_US-ISO8859-1 or similar,
          not C.  The locales that end in 8859-1 or similar support
          accented characters.  Use these commands to show the
          locale for a logged in user and to set the locale on a
          per-user basis:

               /bin/locale
               scoadmin acc

          To set the locale system wide, edit /etc/default/locale.

      b)  Once your locale is set, log in and startx.

      c)  Boot up Netscape Navigator and bookmark the mapchan file
          that's used to tranlate keystrokes:
             file:/usr/lib/mapchan/ISO8859-1/ISO8859-1

          If nor using 8859-1, choose the file that matches what
          you've chosen.

      d)  The important section (it's big):

             compose 0x14   # Compose character (^T)
             ' ' ' ' 0240    # NBSP
             '"' ' '  0xa8   # umlaut accent
             '\'' ' ' 0xb4   # acute accent
             '+' '+' '#'     # number sign
             'A' 'A' '@'     # commercial at
             '(' '(' '['     # opening bracket
             '/' '/' '\\'    # backslash
             '/' '<' '\\'    # backslash
             ')' ')' ']'     # closing bracket
             '^' ' ' '^'     # circumflex accent
             '>' ' ' '^'     # circumflex accent
             '`' ' ' '`'     # grave accent
             '(' '-' '{'     # opening brace
             '/' '^' '|'     # vertical line
             'L' 'V' '|'     # vertical line
             'l' 'v' '|'     # vertical line
             ')' '-' '}'     # closing brace
             '~' ' ' '~'     # tilde
             '-' ' ' '~'     # tilde
             '!' '!' 0241    # inverted !
             'c' '/' 0242    # cent sign
             'C' '/' 0242    # cent sign
             'c' '|' 0242    # cent sign
             'C' '|' 0242    # cent sign
             ...

        The good stuff starts down there with the inverted ! statement.
        Any line where the third field is in 0222 style notation is
        an accented character when created with the compose key and
        the first two characters.

    e)  The compose key is listed above.  Once you press it, Uw7/OSR6 knows
        the next two keystrokes are meant to compose the character and
        an accent.

        Compose character:              ^T
        But take care!  That's not      ctrl + t,
        that's                          ctrl + shift + t

        You need to press and hold each key until they are all pressed,
        in the order listed, then release them all.  If you accidentially
        get dyslexic and press shift+ctrl+t, you're out of luck.

        You can change your compose key.  To do so, change the
        line that says:
             compose 0x14   # Compose character (^T)
        to read some other hex value, and that's it.  Very tidy.

    f)  Let's make a cent sign, and an inverted exclamation.
        Open up Netscape Messenger and compose new mail.
        Click in the body area and type a few keys and spaces,
        then:

             1) Press this:        ^T
             2) see this:           nothing, cursor doesn't move
             3) Press this:         c
             4) see this:           nothing, cursor waits for 2nd character
             5) Press this:         /
             6) see this:           �

             1) Press this:         ^T!!
             2) see this:           �

    That's about it.

    Notes:
    -----------
           In Windows, you compose the cent sign by engaging your NUMLOCK
           key, then _holding down_ the ALT key while pressing 0162 on the
           keypad:       ALT 0162
           When you relase the ALT key, the accented character will appear.

           Windows uses the synopsis:

                 <ALT> <4 digit decimal value>

           where the decimal value is similar to

                0064
                0164
                0283

       Win see also: http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html


 2.21  What are the different ways to print documents?
 2 Jul 2001
 -------------------------------------
    You can print to nearly every printer on the planet by dumping straight
 ascii text to the printer.  They will print it in Courier 10pt font,
 usually.

    You can print a graphics rich, color document, by converting it
 to postscript (ps) and then sending that ps file directly to a
 printer that understands ps.  Most top of the line HP laserjets
 understand ps.  Most inkjets don't, unless you pay the extra $200
 to get the license and upload the code to the printer rom.

    You can print a graphics rich, color document, to a printer that
 uses a complex escape (ESC) code language and that has a driver written
 for it in the program ghostscript (gs).   Most printers satisfy these
 requirements.  So gs comes in very handy when printing to printers
 attached to the Unix box, a Windows box, or to a print-server (like an
 HP JetDirect 300x attached to your ethernet).


 2.22  How do I use ghostscript to format documents for an Epson 800?
 12 Feb 2002
 -------------------------------------
   The Epson Stylus Color 800 is similar to the other Epson InkJet
 printers that were sold like crazy in 1999 and 2000:
            Epson 400
            Epson 600
            Epson 800
            Epson 1440

   They all do 1440x720 dpi color, on all different paper stocks.
 The better ones just do it faster.  They can't do ps by default, and
 they are Windows printers basically.  So we need to use gs to format
 the print job with the proper ESC/P2 sequences to activate the options
 we see in the windows printer properties page.

   The Epson Stylus Color line of printers is supported in gs by the
 uniprint driver.  You can learn how to compile gs7.xx in Section 8.12,
 Alladin Ghostscript.  You can see what printer drivers are compiled
 into your gs by using the command:

           gs -h

 You can read up on this topic in the gs-7.xx source docs:
       file:/home/matthew/Dev/gs7.xx/doc/Devices.htm

 That's a really important file.

 There's a upp file for any Epson Stylus 800, high-res, 720x720,
 called:

          stc800p.upp

 Here's the command I'd use to create a printable version of tiger.ps,

     gs @stc800p.upp -sOutputFile=/var/tmp/printout tiger.ps -c quit


 2.23  How do I use VisionFS to print to a Windows shared printer?
 2 Jul 2001
 -------------------------------------
    The trick to setting up VisionFS is to read the PDF file that
  they tuck away in this path:

       file:/usr/vision/bin/pctools/en_US/docs/vfsintro.pdf

    Here's the nuts and bolts of the subject.  When you have a WindowsNT
  or Win2K computer with a shared printer attached to it, if you have an
  account on that computer and rights to print on it, then you're set on
  the Windows side.

    As root, it's helpful if you make a symlink to the visionfs program
  in /usr/local/bin so that your users don't have to modify all their
  paths.

           # ln -s /usr/vision/bin/visionfs /usr/local/bin/visionfs

    Then get the list of shared printers on the NT host "luke."
    Print to one of them:

       $ visionfs print //luke --user matthew
       Password for matthew? **********
       P2D2                                        <Active>  0 jobs
       EPSON800                                    <Active>  0 jobs

       $ visionfs print //luke/P2D2 /var/tmp/printout --user matthew
       Password for matthew? ***********
       Your print job is ###

 Summary:    gs @stc800p.upp -sOutputFile=/var/tmp/printout tiger.ps -c quit
 Summary:    visionfs print //luke --user matthew
 Summary:    visionfs print //luke/P2D2 /var/tmp/printout --user matthew

     There's a way to make a unix printer that you can just lp the
   file to and skip the visionfs print command.  That's in the manual.


 2.24  How do I use Samba to print or how do I use Samba to print to a
       Windows shared printer?
 26 Nov 2007
 -------------------------------------
  TBD




____________________________________
|                                    |
| 3.  Media, Filesystems, and Disks  |
|____________________________________|

 3.1   What's a partition?
 14 Oct 2007
 ----------------------------------------
  A disk can be subdivided into one to four continuous sections
  called partitions.  In reality, UnixWare 7/OpenServer 6 likes to use
  only one Unix partition per disk, but the others can be raw for database
  use.  Inside a partition are slices (or just raw space as I mentioned).


 3.2   What's a slice?
 14 Oct 1999
 ----------------------------------------
  A slice is a subdivision of a partition.  There can be from zero to 184
  slices in a partition.  Inside a slice is a filesystem.


 3.3   What's a filesystem?
 14 Oct 1999
 ----------------------------------------
  A filesystem is a data structure (sort of like an array) that contains
  a superblock, an inode list, and data blocks.  This data structure is
  used to provide the operating system access to files and data.
  The data blocks hold the actual file data, and the inodes keep track
  of things like permissions and where the actual data is.


 3.4   What's an inode?
 12 Feb 2002
 ----------------------------------------
   Please see Section 1.25, "What is an Inode?"


 3.5   What does HBA stand for?
 18 Dec 2000   contribs Boyd Gerber
 ----------------------------------------
   HBA stands for Host Bus Adapter.


 3.6   Can an HBA have more than one bus?
 12 Feb 2002    contribs Boyd Gerber
 ----------------------------------------
  Yes, a dual channel SCSI adapter like the AHA3940 is an example
  of two scsi buses.  If this was the only HBA on the mainboard, and
  the builtin IDE controllers were disabled in the BIOS, then the
  HBA's would be:

      c0b0t?d?s?
      c0b1t?d?s?

  The b# is the part that changes for multibus adapters.


 3.7   What is the lun number?
 12 Feb 2002   contribs Boyd Gerber
 ----------------------------------------
  Lun stands for Logical Unit Number.  Some SCSI devices have the ability
  to chain up to seven devices off of one SCSI ID.  eg. the Iomega Beta 44.
  The primary controller is logical unit zero and the slaves start with one
  and continue for each device.

      This drawing may help

       SCSI HBA-----------SCSI ID 5-|--Lun 0 Primary CDROM drive
                     |              |--Lun 1 Slave CDROM drive
                     |              |-- ....
                     |              |--Lun 7 Slave CDROM drive
                     |
                     |----SCSI ID 6----Lun 0 Primary CDROM
                     |              |--...
                     -----SCSI ID 0----...

  The SCSI device can have 8 lun numbers from 0-7


 3.8   If a computer has two SCSI cards, which is c0 and which is c1?
 12 Feb 2002   contribs Boyd Gerber
 ----------------------------------------
   UnixWare starts with IO address.  For example a mixture of IDE and SCSI
   would be as follows:

      IDE Primary Controller would be c0.
      IDE Secondary Controller would be c1.
      SCSI Controller would be c2.

   Usually SCSI controllers are chosen the same way they are listed as
   the BIOS loads.  You may be able to modify this behavior in your SCSI
   BIOS.  Contact your SCSI HBA manufacturer for more information.

   You may also be able to modify the loading order in the dcu.
   There's a TA or a doc in the search engine about it.

   You may get some info from resmgr or from sdiconfig -l.


 3.9   What are the names of the disks, like /dev/dsk/c0b0t0d0s0 ?
 12 Feb 2002
 ----------------------------------------
  The hard disks are named in subdirectories of /dev:

     /dev/dsk          block devices for mounting, mdir, tar, and dd.
     /dev/rdsk         raw character devices for format

  The hard disks are always named starting with c#b#t#d# then either
  an s# or p# making either of the following for raw devices:

     /dev/rdsk/c#b#t#d#s#
     /dev/rdsk/c#b#t#d#p#

  You can remember this because it Can't Be That Difficult --> c_b_t_d.
  Use the s# designation when you're referring to a slice and the p#
  designation when you are referring to a partition.

  You can use s0 to refer to the entire partition (when using prtvtoc).
  You can use p0 to refer to the entire disk.

  The # in s# is HEX !  Be sure to use hex when referring to
  slices higher than 9, as in c0b0t0d0sc for the 12th slice
  (a=10, b=11, c=12, d=13, e=14, f=15).

  The c, b, t, and d stand for:

     c# is the controller number (like c0 or c1 for each HBA or IDE controller)
     b# is the bus number of the HBA.  This is usually 0, as in b0.
     t# is the scsi id.  t# for IDE is 0=primary, 1=slave.
     d# is the lun number (also usually 0 as in d0).

  On a small system without raid and only one Adaptec scsi HBA, the
  c, b, and d, don't change, and you use the different scsi id's (t#) to
  refer to each different drive, as in:

     /dev/rdsk/c0b0t0d0s0                    /dev/rdsk/c0b0t12d0s0
     /dev/rdsk/c0b0t1d0s0                    /dev/rdsk/c0b0t13d0s0
     /dev/rdsk/c0b0t3d0s0

  See also the Sections preceding this question.


 3.10  What is the device name of the diskette drive?
 18 Dec 2000
 ----------------------------------------
  The first 1.44 floppy drive is usually referenced as

     /dev/dsk/f03ht       <--- These are equivalent and are
     /dev/fd0             <--- for mounting, tar, dd

     /dev/rdsk/f03ht      <--- These are equivalent and are
     /dev/rfd0            <--- for formatting

  Diskettes are referenced by device files in

     /dev/dsk/*     <--  Block devices (diskettes with filesystems)
     /dev/rdsk/*    <--  Raw devices   (diskettes made with tar or cpio)

     /dev/dsk/f03ht    <-- First  1.44 MB block diskette
     /dev/dsk/f13ht    <-- Second 1.44 MB block diskette
     /dev/rdsk/f03ht   <-- First  1.44 MB raw diskette
     /dev/rdsk/f13ht   <-- Second 1.44 MB raw diskette

     /dev/dsk/f05ht    <-- First  1.2  MB block diskette
     /dev/rdsk/f05ht   <-- First  1.2  MB raw diskette
     /dev/rdsk/f15ht   <-- Second 1.2  MB raw diskette

  The specific device file to use depends on the density and size of
  the diskette and drive.  The device file name consists of:

     f0  or  f1     <--  The first or second drive respectively
     3h             <--  3.5"  high density (1.44 MB)
     5h             <--  5.25" high density (1.2 MB)
     t              <--  The t specifies the entire disk

  There are other diskette device identifiers like 3c, 3e, 3d, 5d, which
  can be found in the man 7 fd.  In theory, /dev/[r]f03ct refers to 1.68 MB
  and 1.722 MB diskettes.


 3.11  How do I write files to a diskette and list them?
 18 Dec 2000
 ----------------------------------------
  One method is format the floppy, create a vxfs filesystem on it,
  mount the floppy, copy the files to the mount directory, then ls that
  directory.

  Another method is to format the floppy, then use tar to write the files
  to the floppy.  Use tar again to list the files.  A disadvantage of tar
  is that you can't use wildcards (*) when extracting files.  Tar on Uw7/OSR6
  can back up empty directories, unlike that in OS5.

  A very good method of writing files to diskettes is to format the floppy,
  then use cpio.

  Finally, you can take a DOS format floppy and mcopy the files to it,
  then list them with mdir.


 3.12  How do I format a 1.44 MB floppy?
 12 Feb 2002
 ----------------------------------------
  Use the format command on the raw diskette:

     format -V /dev/rfd0           <-- First 1.44 MB floppy and verify.

  or use the following for an exhaustive verify:

     format -E /dev/rfd0           <-- I use -E for assurance, because
                                       it write verifies every sector.
                                       It's worth a few minutes.


 3.13  How do I create a filesystem on a floppy?
 19 Sept 1999
 ----------------------------------------
  First format the floppy with an exhaustive verify, as this is the only
  surefire way to root out bad sectors.  Then use the 'mkfs' command:

     mkfs -F vxfs /dev/fd0 2880

  which will create a vxfs filesystem on the first floppy drive with
  a size of 2880 512-byte blocks (1.44 MB).


 3.14  How do I mount a floppy and view the contents?
 18 Dec 2000
 ----------------------------------------
  Mount the floppy with the 'mount' command, then list the contents
  using the 'ls' command:

        mount -F vxfs /dev/fd0 /mnt
    or  mount -F dosfs /dev/fd0 /mnt

  then  ls -l /mnt

  If the floppy doesn't have a filesystem on it, or the mount point
  directory doesn't exist, then the mount will fail.

  Be absolutely sure to umount the diskette before you remove it
  from its drive.


 3.15  How do I access the disc in my cd-rom drive?
 Sept 22 2007
 ----------------------------------------
  The disc has a filesystem on it, which is called a 'cdfs' filesystem
  in Uw7/OSR6, and it needs to be mounted to be accessed:

     mount -r -F cdfs /dev/cdrom/cdrom1 /mnt

  where;
     mount     <--  The command needs to be run by by a privileged user.
     -r        <--  Specifies read only.
     -F cdfs   <--  Describes the filesystem type as 'cdfs'
     /dev/...  <--  Specifies the first cdrom drive (a block device).
     /mnt      <--  The directory to which the disc is mounted.
                    It must exist before running the 'mount' command.


 3.16  What might a guru type when mounting a disc?
 12 Feb 2002
 ----------------------------------------
  One can use the '-o <option_args>' argument to the mount command to
  do useful things like disallowing SUID, setting r-xr--r--, and
  converting caps to lower-case, as in:

     mount -r -F cdfs -o nosuid,dperm=544,nameconv=l /dev/cdrom/cdrom1 /mnt

  One could make a shell function of that command in their .profile so as
  to make it easily available:

 mcd1() { mount -r -F cdfs /dev/cdrom/cdrom1 /mnt && echo "Cd mounted.\n" ;}

  From the mount(1M) page,
    'The CDROM media may or may not have values set for items such as
     the User ID (UID), Group ID (GID), permissions, etc. If a value
     is not recorded on the CDROM, a default value is assigned by the
     software. The default value is either taken from the
     /etc/conf/pack.d/cdfs/space.c file, or from the value specified
     with the -o option of the mount command.'

  'mkisofs,' part of the cdtools on Skunkware, properly writes the
  permissions when creating the ISO image.


 3.17  Can I burn a cdr in UnixWare 7/OpenServer 6?
 12 Feb 2007
 ----------------------------------------
    Cdtools enables you to burn both cdr's and cdrw's.  I found
  the latest version, 1.10, off the net and compiled it because
  burning cd's is tricky.  I'd like to limit the environmental
  disaster of coasters, if you know what I mean.

    The file sco_notes.txt contains the method to burn a cd.
  That's somewhere on SCO's website and distilled here.

  You'll want to run the following command as root, once you have
  cdtools installed:

      cdrecord -scanbus

  That let me see that my scsibus,target,lun for my cdrw was 0,4,0.
      0,4,0     4) 'PLEXTOR  ' 'CDR       PX820T' '1.08' Removable CD-ROM

  1) You don't need an /etc/default/cdrecord file.  It's doesn't
     work right anyway.

  2) Let's say you downloaded the Caldera Workstation 3.1 iso image.
     Cd to the directory it's in.

  3) cdrecord -v dev=0,4,0 speed=8 workstation-3.1.iso
       - or -
     cdrecord -v dev=0,4,0 speed=8 -dao workstation-3.1.iso

  4) mount -r -F cdfs /dev/cdrom/cdrom1 /mnt

 Here's how to create your own iso image of the files in a directory
 and how to burn it in DAO mode, as an ISO9660 Data Mode 1 disc, without
 Joliet nor RockRidge extensions:

  2) Copy all the files that you want to a temporary directory
     called /home/tmp/cdi and arrange the files the way you want them
     on the final cdr that you are going to burn.
  3) # cd /home/tmp/cdi
  4) # mkisofs -L -l -v -r -V mydisc -o /home/tmp/out.img .
  5) # cdrecord -v dev=0,4,0 speed=8 -dao /home/tmp/out.img
  6) # mount -r -F cdfs /dev/cdrom/cdrom1 /mnt

  That worked well for me.

  (1) The default file doesn't work.  If you make a valid one and only
  use it rather than specifying a dev=, then you'll burn coasters.
  (2) is self-explanatory.  (3) cdrecord needs to run as root, or else
  you need to set up the SUID and SGID and permissions stuff.  (4) Change
  to the correct directory.  (5)  It is necessary to make an ISO filesystem
  image of all your files, and the flags are important, and so is the '.'
  which is just like the relative pathname notation in cpio.  I got the
  args from the SCO_NOTES.html file included in the archive. The -V mydisc
  is what labels the cdrom "MYDISC".  (6)  Burn the cd now.  (7)  I'd eject,
  then insert and mount the cd.

  If you want to do a simulated burn, then add the -dummy flag to the
  cdrecord command line.


 3.18  What is the tape drive called?
 18 Dec 2000
 ----------------------------------------
  The tape drive device files are in /dev/rmt/*
  The first device on each list is the easiest to remember,
  but all devices in a column are equivalent.  In this scsi setup,
  the tape device is at scsi id=2.

     Rew/Non-Ret     Non-Rew/Non-Ret      Rew/Ret        Non-Rew/Ret
       ctape1            ntape1           rtape1           nrtape1
        c0s0             c0s0n            c0s0r            c0s0nr
      c0b0t2l0         c0b0t2l0n         c0b0t2l0r        c0b0t2l0nr

                          Unload after op
                             utape1
                            c0b0t2l0u

   Use a device like ctape2 if you have a second drive.


 3.19  What is a good tape drive to use with Uw7/Ou8/OSR6?
 12 Feb 2006
 ----------------------------------------
  Any scsi tape drive should be functional, with some devices offering newer
  options like fast positioning to index marks, etc.  Hewlett Packard DAT
  drives are well liked and have One Button Disaster Recovery, but DAT
  technology is at the end of it's lifetime.  Nowadays, Exabyte/Ecrix are
  making the VXA-1 that is 8mm, LVD, 33/66MB and excellent.  Sony makes
  great tape drives, also.


 3.20  What are some of the tape commands I want to know?
 9 Oct 1999
 ----------------------------------------
  The tapecntl command is used to manipulate the tape device directly.
  Some commands will not work on all tape drives as each tape drive
  supports slightly different subsets of all the potential scsi tape
  commands.  Common tapecntl commands are:

    tapecntl -r      - Reset the tape drive
    tapecntl -w      - Rewind the tape.
    tapecntl -u      - Eject the tape.
    tapecntl -C      - List the hardware compression setting
    tapecntl -c 3    - Enable all hardware compression
    tapecntl -c 0    - Disable all hardware compression
    tapecntl -v      - Set the drive to read/write in variable block lengths
    tapecntl -f 512  - Set the drive back to r/w in 512 byte block lengths!

  The default tape i/o block length for r/w is fixed at 512 bytes.
  The default tape device that all the above commands refer to is ntape1.
  To use one of these commands like reset, I would type:

     tapecntl -r /dev/rmt/ntape1


 3.21  What are the various filesystem types on Uw7/OSR6?
 18 Sep 2007
 ------------------------------------
  Uw7/OSR6 is based around the Vxfs filesystem.  It also supports:

     dosfs   -  For DOS.
     cdfs    -  For cdrom's, both Rockridge and High Sierra/ISO9660
     bfs     -  For the boot file system
     nfs     -  As in Sun's NFS.
     nucfs   -  Netware for Unix
     s5      -  For HBA installation diskettes and OSR5


 3.22  What's the maximum filesystem size?
 15 Oct 1999
 ------------------------------------
  The maximum vxfs filesystem size is 1 TB.


 3.23  What's the maximum file size?
 15 Oct 1999
 ------------------------------------
  The maximum vxfs file size is 1 TB.


 3.24  What's the logical block size?
 18 Dec 2000
 ------------------------------------
  The logical block size is set during ISL when creating the filesystem.
  In the sco docs, it's defined as "the size of the blocks that the kernel
  uses to read and write data."(1)  It can be set to 1024, 2048, 4096, or
  8192 bytes.  The default is 1024.  This logical block size is not what
  we usually think of as a block, which we say is 512 bytes, historically.

 ________
 1.  http://localhost:457/FS_admin/_Choosing_a_Logical_Block_Size.html


 3.25  Is there still that 64k inode limit by default?
 15 Oct 1999
 ------------------------------------
  There is no 64K inode limit on a vxfs filesystem by default, beginning
  with Uw7.1.0.


 3.26  How do I mount the filesystem on a disk, disc, or diskette?
 18 Dec 2000
 ------------------------------------
  A filesystem must be mounted before it can be used.  Here are the
  commands that one can use to mount various media:

     Disk:      mount -F vxfs /dev/dsk/c0b0t0d0s4 /home
     Disc:      mount -r -F cdfs /dev/cdrom/cdrom1 /mnt
     Diskette:  mount -F vxfs  /dev/fd0 /mnt
                mount -F dosfs /dev/fd0 /mnt

  The examples refer to the first floppy drive, first cdrom, and
  to mounting the Home filesystem.

  We use the block devices, /dev/dsk/*, for mounting filesystems.


 3.27  Why would mounting fail?
 15 Oct 1999
 ------------------------------------
  An attempt to mount a filesystem will fail if the directory to which
  you are mounting does not exist, or if that directory contains files
  that are in use, or if you refer to the filesystem as the wrong type.
  Only a privileged user can use the mount command.


 3.28  Why would unmounting fail?
 18 Dec 2000
 ------------------------------------
  A filesystem will not unmount if someone is using the filesystem, which
  includes having cd'd into the filesystem and leaving that terminal in
  that directory, and when a user is using a file as in vi.  Only a
  privileged user can use the mount command.

  See the section in this faq about fuser to clear the umount lock.


 3.29  How do I list the disk geometry like Cylinders, Heads, Bytes/Sector?
 12 Feb 2002
 ------------------------------------
  The disk geometry is very important to understand so that one can
  successfully partition and slice their hard drives.  The disk geometry
  is different with each system, and can be changed with a setting in
  your scsi host adapter Bois called "Enable BIOS translation for
  DOS drives over 1GB."

  To list your geometry, type the command:

       prtvtoc -p /dev/rdsk/c0b0t0d0s0

  where you will need to use the correct target id, etc., and be sure
  that you specify s0 as the slice so that you refer to the entire
  partition.

  I used to say that you could use the partsize command also, but
  it doesn't tell you the correct values the way prtvtoc does.  This
  is especially true if you have BIOS translation enabled.

  Prtvtoc always shows a translated geometry structure for drives with
  scsi id's 0 and 1 on the boot controller, even if you BIOS translation
  disabled.  That's so it's easier to boot (the whole drive is < 1024 cyls).


 3.30  How do I list my partition and slice layout?  Is there a divvy?
 15 Oct 1999
 ------------------------------------
  For partitions, use fdisk.  For slices use prtvtoc.  There may be a
  nifty program like divvy in the future, but, for now, use the following
  command to list the slice layout to a file in /tmp:

     prtvtoc -f /tmp/mytoc

  If you do a cat /tmp/mytoc, you will see something like the
  following, where;

  SLICE is the slice number in decimal,
  TAG   designates whether it is a root, boot, swap, home, or .... slice
  FLAG  field defines whether the slice is valid, read-only, and/or
        unmountable (that field is similar to the permissions field 644
        or 755 in that it contains numbers that are added
  START and SIZE  fields refer to the sector that the slice begins
                  on and the number of sectors that the slice occupies,
                  respectively.

     #SLICE    TAG     FLAGS   START    SIZE
      0        0x5     0x201   63       16305912
      1        0x2     0x200   1076355  6152895
      2        0x3     0x201   642600   433755
      3        0x0     0x0     0        0
      4        0xb     0x200   7229250  8787555
      5        0x0     0x0     0        0
      6        0xc     0x201   64260    578340
      7        0x1     0x201   63       34
      8        0xd     0x201   97       15968
      9        0x0     0x0     0        0
     10        0x9     0x200   16065    48195
     11        0x0     0x0     0        0
     12        0x0     0x0     0        0
     13        0x0     0x0     0        0
     14        0x0     0x0     0        0
     15        0xf     0x201   16016805 16065


  An important slice to look at is slice 4, the home slice, because you
  will use it as a perfect template for creating your own slices, when
  you need to.  The 0xb and 0x200 are what I'm referring to.


 3.31  How do I convert sectors to MB?
 2 Jul 2001
 ------------------------------------
  First you need to do a 'prtvtoc' on the hard drive, so that you can
  determine the bytes/sector.  On my IBM hard drive, 1 sector = 512 Bytes.
  You can multiply this by 1, twice, as in:

      1  sect.      1024 Bytes       1024 KB
     ---------  x  ----------   x   ---------     =   2048 sect./ MB
     512 Bytes        1 KB            1 MB

  Using the beauty of cross-multiplication, we can see that Bytes
  cancels Bytes, KB cancels KB, and we are left with sectors/MB.
  So on my system, to convert sectors to MB, I would divide the
  number of sectors by 2048 sect./MB.


 3.32  How do I add a 2nd or 3rd disk drive to my system?
 12 Feb 2007
 ------------------------------------
  It is fairly straightforward to add another drive to a
  UnixWare7/OpenServer 6 system, thanks to the command 'diskadd.'  You
  don't need to do anything to the system before you install the drive.
  After shutting down, installing the drive with the correct termination,
  and jumpering it for the correct scsi id and auto-spinup, you can restore
  power and run your HBA BIOS setup program to match your HBA to your drive
  capabilities (on an Adaptec scsi HBA like a 2940UW, you would press
  CTRL-A during POST).  Then boot into multiuser mode.  As root, run:

     diskadd c0b0t1d0

  to add the disk.  Use the right c#b#t#d# for your setup.

  The diskadd program will take you through:

     fdisk        --   Is invoked to allow you to create a partition
     disksetup    --   Is run which helps you to do the following:
        * Surface Analysis   (not necessary for scsi drives)
        * Create the VTOC (Volume Table of Contents)
        * Write the bad track and bad sector table to the drive
        * Create the layout of slices on the new drive (up to 13 of them)
        * Use mkfs to make filesystems
        * Creates the lost+found directories automatically in any filesystem.
        * Creates the mount point directories.
        * Mounts the filesystems.
        * Updates the vfstab file.

  The 'disksetup' program walks you through all the steps via a simple
  series of questions.  It is well written and works smoothly.  You will
  need to know how many MB you want each slice to be, and what they
  will be called, and that's about it.

  *********************
  Some caveats:

     1)  UnixWare 7/OpenServer 6 uses a slice representation like
         c0b0t0d0xx for almost everything that needs a drive named.

     2)  That naming has no partition information in it !!
         So you can't specify what partition you mean when you type
         c0b0t0d0s4 to refer to a slice.

     3)  The only way for UnixWare 7/OpenServer 6 to know what partition
         contains slice 4, is for it to mark that partition active.

     4)  Thus you can only use one partition for filesystems on each
         hard drive.  And that one partition needs to be active for
         the system to know where to go.  The only exception is
         when you use a whole additional partition for one filesystem
         and no slices (call it /dev/dsk/c#b#t#d#p#  <-- no s).

     5)  In the active Unix partition, you can have 183 slices.  Diskadd
         only helps you create up to 13.  Any additional slices need to be
         hand created.  On the 2nd drive with scsi id=1, the slices would
         be 1 through b8 (because slices are listed in hex):

           /dev/rdsk/c0b0t1d0s1
           /dev/rdsk/c0b0t1d0s2
           /dev/rdsk/c0b0t1d0s3
                 ...
           /dev/rdsk/c0b0t1d0sb6
           /dev/rdsk/c0b0t1d0sb7     <--- Slice #'s are in hex, b7 = 183.

         I couldn't get 184 to work; so for now, I'll claim 183.

     6)  The situation where you would have more than one partition on
         another drive is where you need a raw partition for Database
         storage or you are using the trick of one filesystem taking up a
         whole partition with no slices in it.


 3.33  How do I partition a hard drive?
 18 Nov 2007
 ------------------------------------
  It is not very common to partition a hard drive with
  UnixWare 7/OpenServer 6, because of the caveats listed in (3.29).  If
  you find yourself needing to add a partition for some raw space or for
  dedication of the entire partition to a filesystem (odd), go ahead and
  use 'fdisk.'  Reboot and remake your emergency boot and root disks.


 3.34  How do I create a slice in a partition?
 2 Jul 2001
 ------------------------------------
  People add a slice if they want to make another filesystem or add additional
  swap space.  Most slices were created the easy way, during ISL or when you
  added a drive and ran diskadd.  If you need more than 13 slices or you
  just postponed adding them until later, you'll want to do the following:

     1) Choose a drive with an active UnixWare/OpenServer partition with
        free space in it.
     2) Print the VTOC to a temp file called mytoc.
     3) Look at mytoc and determine what slice number to use.
     4) Determine from mytoc where to start your new slice.
     5) Determine using math how many sectors to use... The Magic Multiplier.
     6) Edit and save mytoc with the new slice #, TAG, FLAG, START, and SIZE.
     7) Impress mytoc back onto the partition as the new VTOC.
     8) Reboot if you changed the root disk drive or if you added a slice
        above number 15.

  After that is done, the slice is ready for a filesystem and mounting.
  Here is an in-depth example of the above procedure:

     1) I'll choose the partition that is on my first hard drive
        because it has some free space on it and it has an easy to
        follow example slice (/home).  That means scsi id 0.

     2) prtvtoc -f /tmp/mytoc /dev/rdsk/c0b0t0d0s0

     3) less /tmp/mytoc
        The output is shown below.  Slice 5 is empty.  I'll use 5.

     #SLICE    TAG     FLAGS   START    SIZE
      0        0x5     0x201   63       16305912
      1        0x2     0x200   1076355  6152895
      2        0x3     0x201   642600   433755
      3        0x0     0x0     0        0
      4        0xb     0x200   7229250  8787555
      5        0x0     0x0     0        0
      6        0xc     0x201   64260    578340
      7        0x1     0x201   63       34
      8        0xd     0x201   97       15968
      9        0x0     0x0     0        0
     10        0x9     0x200   16065    48195
     11        0x0     0x0     0        0
     12        0x0     0x0     0        0
     13        0x0     0x0     0        0
     14        0x0     0x0     0        0
     15        0xf     0x201   16016805 16065

     4)  To determine where to start, you need to look and see where
         the last slice ends because the unallocated space begins at
         then end of the last slice.  A cylinder begins at the end of
         the last slice.  From the above output, I can see
         slice 0, the whole partition, starts at 63 and is 16305912 sectors
         long.  It is important to realize that:

             (start sector)  +  (number of sectors)  =  (beginning sector
                                                         of empty space).

         For example, a hypothetical slice that starts at sector 0
         and is 10 sectors long.  Then:

                ( 0 )        +        ( 10 )         =   10

         which means that the slice takes up sectors 0-9, and sector 10
         is where the free space starts.

         Back to the real chart, we see:  (63) + (16305912) = (16305975)
         which tells me that the drive ends on 16305975.  Now I look for
         the last slice which is the slice with the highest start number,
         15 in this case.  Below is a listing of slice 15 again:

     #SLICE    TAG     FLAGS   START     SIZE
     15        0xf     0x201   16016805  16065

     I want to start at the beginning of the unallocated space.
     The formula says:

                              16016805 + 16065 =  16032870

     So the answer to this section is:   The START sector = 16032870.

     5) How many sectors to use.... The Magic Multiplier.
        I've determined where to start the slice in part (4), and
        that sector is on a cylinder boundary.  I also want it to
        end on a cylinder boundary.  So I need to determine about
        how many sectors I have to play with, and then calculate
        how many I need to make my slice end on a cylinder boundary.
        I do a quick prtvtoc as described in question (3.25):

          #TYPE   HEADS   CYLS   SECS   SECSZ
            4     255     1115    63     512

        So now I am armed with the data that a track is 63 sectors around,
        and a cylinder is 255 tracks high.  That's 255 tracks that are 63
        sectors around or (255 x 63)=16065 sectors.

        That's the Magic Multiplier...: 16065.
        There are 16065 sectors in a cylinder.
        The sector size of my new slice needs to be a multiple of 16065.
        Every START listed in the table is an even multiple of 16065.

        By using the Magic Multiplier this way, we assure ourselves that
        our slices start at the beginning of a cylinder and end at the
        end of a cylinder.

        In this example, I subtract to get the amount of space available:

                  16305975     Partition ends on this sector.
               -  16032870     New slice starts on this sect.
              -------------
               =    273105     I have this much unalloc'd space to play with.

        Doing a little multiplying I see that, if I try a few multiples of
        the Magic Multiplier:

            14 * 16065 =  224910
            15 * 16065 =  240975
            16 * 16065 =  257040
            17 * 16065 =  273105

        I'll choose the second one.  My answer is then:   SECZ = 240975

     6) So far I've decided:

        TAG   = 0x4        from man edvtoc  0x4   means user filesystem
        FLAG  = 0x200      from man edvtoc  0x200 means valid to use
        SLICE = 5          from Step (3)
        START = 16032870   from Step (4)
        SECSZ = 240975     from Step (5)

        The edited file looks like this:

                 /tmp/mytoc
       +---------------------------------------------
       |#SLICE    TAG     FLAGS   START    SIZE
       | 0        0x5     0x201   63       16305912
       | 1        0x2     0x200   1076355  6152895
       | 2        0x3     0x201   642600   433755
       | 3        0x0     0x0     0        0
       | 4        0xb     0x200   7229250  8787555
       | 5        0x4     0x200   16032870 240975
       | 6        0xc     0x201   64260    578340
       | 7        0x1     0x201   63       34
       | 8        0xd     0x201   97       15968
       | 9        0x0     0x0     0        0
       |10        0x9     0x200   16065    48195
       |11        0x0     0x0     0        0
       |12        0x0     0x0     0        0
       |13        0x0     0x0     0        0
       |14        0x0     0x0     0        0
       |15        0xf     0x201   16016805 16065
       |

      7)  Now impress this on the drive with 'edvtoc' as in:

              edvtoc -f /tmp/mytoc /dev/rdsk/c0b0t0d0s0

    We are done.  Slice #5 is created as....   /dev/rdsk/c0b0t0d0s5.
    No need to reboot because the device node for slice 5 exists already.


 3.35  How do I create a filesystem in a slice?
 15 Oct 1999
 ------------------------------------
  Now that we have a slice, we need a filesystem on it.  To
  do this we'll use the 'mkfs' command twice: once to list the
  mkfs command used to create /home and once to create a vxfs
  filesystem on the new slice.

     1)  mkfs -m /dev/dsk/c0b0t0d0s4 > /tmp/doit

         This command is used to list the mkfs command that was used to
         create /home.  We'll use this because it is almost identical to
         the command that we need to make our vxfs filesystem.  This
         is the output of the command:

       mkfs -F vxfs -o ninode=unlimited,bsize=1024,version=4, \
       inosize=256,logsize=1024,nolargefiles /dev/dsk/c0b0t0d0s4 8787554

         where I have used a \ to denote that the mkfs command was one long
         line.  Now vi doit and change it to specify our new slice, then
         execute it as follows.

      2)  vi /tmp/doit as follows to add a vxfs filesystem to slice 5
          that we created in Question (3.34):

                 /tmp/doit
     ______________________________________________________________________
    | mkfs -F vxfs -o ninode=unlimited,bsize=1024,version=4,inosize=256, \
    | logsize=1024,nolargefiles /dev/dsk/c0b0t0d0s5 272790
    |

          In this file I changed the last two "words."  Save the file.

       3)  Use your new 'doit' file to create the filesystem:

               # sh /tmp/doit

     Now there is a filesystem on our new slice.  To complete the whole
     process, we want to create a mount point directory like /home2, and
     then go into Scoadmin Filesystem to let the system know about the
     mount configuration and to let it update /etc/vfstab so that we can
     simply type:  mount /home2  instead of the whole c0b0t0d0s5 stuff,
     anytime we want to mount it.


 3.36  How do I use quotas on a vxfs filesystem in Uw7/OSR6?
 7 Nov 2007
 -------------------------------------
  Quotas allow you to set limits on how much space is allotted to each
  user.  These limits work on vxfs filesystems and can be hard or soft.
  They can limit the user by KB or by the number of files created.

  Here is a cookbook method to create a quota on the /home filesystem
  so that Yurtle is limited to 200 MB and/or 1000 files in her home
  directory, /home/yurtle:

     A.  Log in as root

     B.  touch /home/quotas      <-- only if the file doesn't exist.

     C.  edquota -F vxfs yurtle
         In this file, change the line so that it says:
           blocks soft=180000 hard=200000, inodes soft=900 hard=1000

     D.  quotaon -F vxfs /home

  To see a report of the quota usage on a filesystem type the following:

     repquota -F vxfs /home


 3.37  How do I fsck the root filesystem?
 12  Feb 2002
 --------------------------------------
  In general the root filesystem knows when it's dirty and it will fsck
  itself automatically.  You can still do it by hand but only if you boot
  off of your emergency diskettes and if you did not mount root first.
  You would switch to a unix shell and type:

         fsck -F vxfs -o full /dev/rdsk/c0b0t0d0s1

  You could add the -y flag if you want to automatically answer yes to all
  the questions fsck may ask you.   I used s1 in the command above because
  that is the number of the root slice in a default Uw7/OSR6 install.

  You can fsck other slices, when they are unmounted.
  To fsck /home, you can do the following:

    1)  Warn users and get them all to log off.
    2)  fuser -uc /home                     <-- list files in use in /home
    3)  fuser -u /dev/dsk/c0b0t0d0s4        <-- same as above (-c is tight)
    3)  fuser -k /dev/dsk/c0b0t0d0s4        <-- kill user proc's using files.
    4)  umount /home                        <-- unmount /home
    5)  fsck -F vxfs -o full /dev/dsk/c0b0t0d0s4


 3.38  How do enable Large File Support (for file sizes up to 1TB)?
 12 Feb 2002
 --------------------------------------
  To enable large file support on a filesystem you must either:

     A.  Create a filesystem with the mkfs command and list largefile
         support as one the options.

     B.  Or use the fsadm command on a filesystem that already exists,

            fsadm -F vxfs -o largefiles /data    <---  /data is a mounted FS.

   Then set the ulimit to unlimited as in:

            ulimit -f unlimited
            defadm login ULIMIT=unlimited
            /etc/conf/bin/idtune -m SFSZLIM 0x7FFFFFFF
            /etc/conf/bin/idtune -m HFSZLIM 0x7FFFFFFF
            /etc/conf/bin/idbuild -B
            cd /
            shutdown -g0 -y -i6

   And it'd be done permanently for all users for /data.  You can do the
   same thing for / rather than /data, if you want largefile support on
   the root filesystem.  UnixWare has an sdighost -l command that will
   list all your drives and their names.  Sometime people have trouble
   with largefiles when they are not using the right device names to start.


 3.39  Why aren't my new scsi devices recognized after I install them?
 18 Oct 1999
 --------------------------------------
  Scsi devices that are added to the system, when the power is off, will
  be recognized during POST by your scsi hba.  Be sure to enter the
  hba config program so that your hba settings match your device's
  capabilities.  Then you can boot to single user mode (only  for the
  sake of speed) and run  sdiconfig -l   to get a listing of your devices
  which looks similar to:

     0:0,7,0: HBA     : (adsb,1) Adaptec PCI SCSI
       0,0,0: DISK    : IBM     DRVS09V         0140
       0,1,0: DISK    : IBM     DDRS-34560D     DC1B
       0,2,0: TAPE    : HP      HP35480A        T603
       0,3,0: CDROM   : PLEXTOR CD-ROM PX-40TS  1.00

  If all of your devices are not listed, but were found by the hba
  during POST, then you may need to check scsi id's and termination.
  Be sure that you have inserted the cable with Pin 1 matching the
  red stripe on the cable, and try to use the best cables you can.
  After pulling on cables and bending them, they can fail.
  Also, be sure your hba BIOS is the most recent version.


 3.40  Why isn't my Yamaha 4416S recognized after I install it?
 18 Oct 1999
 --------------------------------------
  The Yamaha 4416S cd-writer/rewriter, known as the 4x4x16, doesn't
  like to run at scsi ID 5 or 6.  For that matter, it doesn't like 7
  either.  I've had devices mysteriously vanish and reappear on
  the 68 and 50-pin chains when the 4416 is at id 5 or 6.
  Try switching to id 3 or something.  Also, be sure your hba BIOS is
  the most recent version.  There is good thread on Usenet about
  the 4416s being "intermittently detected."


 3.41  How do I institute ACL's on a Uw7/OSR6 system?
 28 Apr 2001
 --------------------------------------
  ACL's can be created, deleted, or modified by root or by the
  owner of a file.  Use various forms of the commands:

     getacl
     setacl

  Below are two examples of using ACL's:

  Ex.1) Simple  --  /usr/local/man directories
  ----------------------------------------------------------------
    *  All your skunkware man pages get installed into
          /usr/local/man/man1  ...  /usr/local/man/man8

       But they need to be converted and _written_ to the
           /usr/local/man/cat1 ... cat8
       directories before thay can be displayed properly.

       But writing to the cat1 ... cat8 directoires is not
       allowed by the permissions on those directories
        -rwxr-xr-x   root sys    cat1
        -rwxr-xr-x   root sys    cat2
        ...
        -rwxr-xr-x   root sys    cat8

       when you're logged in as your normal username.

    *  This can be fixed by adding write permissions with ACL's
       for certain users (yourself).  If you set this up, then
       you won't get those nagging "wrong display" errors.

                # cd /usr/local/man
                # getacl cat1
                # setacl -r -m u:matthew:rwx cat1
                # ls -l
                # getacl cat1

       That'll do it.   Now just replace the cat1 by cat* to set
       this on all the cat directories.

   Ex.2)  Detailed  --  Adding ACL's for a user and a groups
   ------------------------------------------------------------------

    *  We'll be adding 'r--' permissions on a file
       for two entities, the group 'graphics' and the user 'sysop':

    *  We'll add these permissions because the file is called
       /home/data/turt/logo, and the relevant permissions are:

     drwxr-xr-x    2 root     sys              Oct 20 21:00  data
     drwxrwx---    2 root     turtles          Oct 22 21:20  turt
     -rw-rw----    1 yurtle   turtles          Oct 20 22:00  logo

       and from the permissions, we can see that sysop and the graphics
       group can't read nor access the turt directory, nor can they
       read the actual file, logo.

       Thus we'll have to add acl's for both turt and logo, to give sysop
       and graphics read access all the way down the path.  It's very important
       to be sure that the perms are correct for each directory and file
       in the path.

    *  Here are the before and after ACL's, then we'll discuss how to do it:

           Before ACL's                             After ACL's
  -------------------------------      --------------------------------------

  # file: logo      # file: turt       # file: logo         # file: turt
  # owner: yurtle   # owner: root      # owner: yurtle      # owner: root
  # group: turtles  # group: turtles   # group: turtles     # group: turtles
  user::rw-         user::rwx          user::rw-            user::rwx
  group::rw-        group::rwx         user:sysop:r--       user:sysop:r-x
  class:rw-         class:rwx          group::rw-           group::rwx
  other:---         other:---          group:graphics:r--   group:graphics:r-x
                                       class:rw-            class:rwx
                                       other:---            other:---

    *  As root or Yurtle, cd into    /home/data/

    *  You can list the ACL with     getacl turt
    *  You set the ACL with    -->   setacl -m u:sysop:r-x turt
                                     setacl -m g:graphics:r-x turt
    *  Then cd /home/data/turt -->   setacl -m u:sysop:r-- logo
                                     setacl -m u:graphics:r-- logo

  Default Directory ACL's
  ***********************

  Let's say that you get tired of adding r-- permissions for sysop
  to all the files in the directory turt, and you want to set a default
  ACL entry on that directory.  Well, it's broken.  It's been
  broken since 7.0.0.  It works on Open Unix 8.0.0 though.

  Here's how to add a default ACL entry, should it ever work:

    *  As root, cd in /home/data
    *  Set the ACL on the directory:   setacl -m d:u:sysop:r-- turt


 3.42  How do I superformat a diskette in Uw7/OSR6?
 18 Dec 2000
 ---------------------------------------
  As of this version, I can't get this to work on Uw7/OSR6.  There is a device
  for reading and writing to a 1.68MB floppy if you have formatted it first
  on another OS, /dev/[r]dsk/f03ct (man 7 fd).

  You can use DOS fdformat (written in 1991).  Reboot into MS-DOS mode, run

      FREAD                   (loads a TSR)
      FDFORMAT A: F168        (or F144, or F163, or F172)

  The standard way to format a floppy is to use 80 tracks and 18 sectors
  per track, but for DOS format diskettes, Microsoft reserved 3 sectors
  of every track for undelete information.  This space can be used for
  your data.  You can increase the size of your DOS diskette from 1440K
  to 1680K.  The concept, again, is to use 21 sectors per track, instead
  of only 18 sectors per track, though the data will be interleaved, which
  makes accessing them a bit slower.


 3.43  Why doesn't my tape drive work with cpio, tar, and ArcServe?
 25 Oct 1999
 ---------------------------------------
  ArcServe has a quirk where is takes over exclusive control of the tape
  drive when it is installed.  Other commands like cpio and tar will not
  work with your tape drive until you type, as root,

     astop

  This stops the ArcServe daemon and returns tape control to the system.
  When you are finished using the tape, go ahead and type astart to
  return control to ArcServe.  On a side note, most people prefer a
  'super-tar' program from a third party vendor for their backup needs.


 3.44  How do I add additional swap space?
 18 Dec 2000
 ---------------------------------------
  There are two ways to add some swap space to your computer:

    1) add another swap slice, the same size, on a different drive.
    2) or add a file and dedicate it to swap.

  The latter idea is mediocre at best.  The following example will
  describe adding a swap slice.

  Issues to note:
  ----------------
   *  The kernel will distribute the usage of multiple swaps on different
      drives in a stripe style, if the swaps are identical size.
   *  It doesn't fill them sequentially or wait for busy drives.
   *  So we strive for identical sized swap slices.
   *  If the slice can't be identical in size, then larger.
   *  We can always make the swaps identical size in /etc/swaptab (in blocks).
   *  Adding a slice was discussed in Section (3.30).

Here we go:

  --- Adding a swap slice ---
  There are two ways:

  A) When you installed the drive with diskadd then prtvtoc/edvtoc.
     This is kludgey, because the disksetup slice adding program
     is not coded to specifically deal with swap slices.

  B) After the disk is installed, add a swap slice just like you would
     add any other slice, except swap has a 0x3 tag.   I'll describe
     this way, so as to augment (3.30).  See that section if you need
     to recall how to add a slice, in general.

 Given:
   A Uw711 system with two scsi hard drives on the same controller,
   labeled with id 0, and id 12.  Both drives have one Uw7/OSR6 partition
   that is active.  I know that disk2 slice 180 is free, so I'll use that:
   (It's probably better to use the lower numbers and work your way up,
   but I'd like to illustrate a slice number above 16 and issues like hex
   names and device nodes).

 Solution:
  1)  Determine the exact size and specifications of the swap
      slice on disk1 that we'll duplicate on disk2.

         prtvtoc -p /dev/rdsk/c0b0t0d0s0
         prtvtoc -f /tmp/mytoc /dev/rdsk/c0b0t0d0s0
         cat /tmp/mytoc | grep 0x3

      I know that the TAG for a swap slice is 0x3.  So I can grep
      /tmp/mytoc for that TAG  which shows, with my added titles, that:

      SLICE      TAG      FLAG       START       SECSZ
         2       0x3      0x201      642600      433755

      I see that I'm trying to add a swap slice that's 433755 sectors.

      From the prtvtoc -p I see that disk1 has  1115C, 255H, 63S/T, 512B/S.
      A bit of math (255 * 63) tells me that the Magic Number for a disk1
      cylinder is 16065 sectors.  Now (433755 / 16065) = 27 cylinders.
      And I can calculate that (433755 * 512) = 222082560 bytes.

      So from all this I gather my requirements:

         A)  My new swap slice SLICE = 180.
         B)  My new swap slice TAG = 0x3
         C)  My new swap slice FLAG = 0x201
         D)  My new swap slice START is yet to be determined.
         E)  My new swap slice SECSZ would like to be = 433755
         F)  My new swap slice cylinders would like to be = 27.

  2)  Examine disk 2 and see if I can create that layout.  The big issue
      I'll face is my disk geometries may be different.  I am trying
      to have all swaps the identical size and have all swaps start and
      end on cylinder boundaries.  Here is a head to head comparison of the
      output of the following commands on the two slices:

         prtvtoc -p /dev/rdsk/c0b0t0d0s0
         prtvtoc -p /dev/rdsk/c0b0t12d0s0

          Cyl       Heads    Sec/Trk   Bytes/Sec    Magic Number
         1115        255       63         512          16065
         8748        64        32         512          2048

      Check out the different Magic Numbers (sector size of a cylinder).
      I can't make both swaps the same number of bytes if the second swap
      slice is to end on a cylinder boundary.

      I will get around this by making the new swap slice at least as large
      as the first swap slice, in sectors that means >= 433755.  Then I'll
      make them exactly the same number of blocks in /etc/swaptab.  In this
      area of administration, 1 sector = 1 block = 512 bytes.

      (2048 * 212) = 434176 sectors = SECSZ      <--  Answer.

  3)  Now I'll create the second swap slice.  This involves the procedure
      outlined in Section (3.30) above.  I'll follow that procedure but use
      the values I calculated in this Section, instead:

      To summarize,

          i.  prtvtoc -f /tmp/swaptoc /dev/rdsk/c0b0t12d0s0
         ii.  vi /tmp/swaptoc.
        iii.  My new swap slice  -        SLICE = 180
         iv.  My new swap slice  -        TAG   = 0x3
          v.  My new swap slice  -        FLAG  = 0x201
         vi.  I see that I can start on   START = 821248
        vii.  I showed that my   -        SECSZ = 434176
       viii.  Add slice 180 to swaptoc using values from iii, iv, v, vi, vii.
         ix.  Save /tmp/swaptoc and exit vi.
          x.  edvtoc -f /tmp/swaptoc /dev/rdsk/c0b0t12d0s0

  4)  The second swap slice is created and now I add it to the list of
      devices that swap uses, by adding the block device to the
      /etc/swaptab file and making the exact same block size as the original.
      I used slice 180 on drive 2, and that looks like:

          Raw device           /dev/rdsk/c0b0t12d0sb4
          Block Device         /dev/dsk/c0b0t12d0sb4

      so /etc/swaptab looks like:
      +----------------------------------------------------------------
      | #swapname               offset(in blocks)     size(in blocks)
      | /dev/swap                       0                   -
      | /dev/dsk/c0b0t12d0sb4           0                433755
      |

  5)  Reboot.  Here I thought I was done without a reboot if I just entered
      swap -c to load the /etc/swaptab file, but I got a Device not found
      error.  Low and behold, the raw and block devices for the second
      disk slice 180 were not created after I did the edvtoc.  My first
      instinct was to make the device nodes by hand with mknod, so I did....

           mknod /dev/rdsk/c0b0t12d0sb4 c 7679 436
           mknod /dev/dsk/c0b0t12d0sb4 b 7679 436

      Wrong again!  The devices were made fine, but swap -c still said
      Device not found.  A bit more reading of man vtoc told me that
      the device nodes for slices 1-15 are created, but 16-183 are not,
      unless the slice exists.  This is all done at boot time, so I
      concluded I needed a reboot :-/.  I rm'd the two device nodes I
      had created, rebooted, and everything worked perfectly.

      swap -l  lists the new swap

        path                         dev       swaplo   blocks     free
        /dev/swap                    7679,2       0     433752    433752
        /dev/dsk/c0b0t12d0sb4        7679,436     0     433752    433752


 3.45 Why do all the files on a mounted CD-ROM have ';1' at the end?
 18 Dec 2000   contribs [email protected]
 ---------------------------------------
   That means that CD was recorded using JOLIET filesystem.

   You need to invoke SCO Admin, then Filesystem Manager.  Then point to the
   CD-ROM mount entry, select

         Mount-> Modify Mount Config->Advanced Options->
         Filename Conversion-> Suppress version and (;).

   From the command line it will be like this:

        mount -F cdfs -o\ dsearch=x,nmconv=m,dperm=0555,fperm=0555,ro \
        /dev/cdrom/cxbxtxlx /CD-ROM_1

   So it is better to use a script or alias for mounting.


 3.46   How do I make an exact duplicate of an audio cd?
 12 Jul 2001
 ----------------------------------
    Cdrtools-1.10 has all the programs you'll need to rip cd's in
 UnixWare 7.  To do this, you can follow a method similar to this
 one, which uses a Plextor 8 speed cdr.

   Plextor cdr is called     ==>     dev=0,4,0

  To rip -->      # mkdir tracks
  To rip -->      # cd tracks
  To rip -->      # cdda2wav -v255 -D0,4,0 -B -Owav
  To rip -->      # cdrecord -v dev=0,4,0 speed=8 -dao -useinfo *.wav


 3.47   What are a good set of options to backup /home to cdr?
 12 Jul 2001
 ----------------------------------
   The trick is to choose a set of options to the mkisofs
 command that will preserve the filenames, the perms, and
 as much original inode information as possible.

   The following are good.  I use 'em, and I haven't
 discovered any problems yet.

      sco_notes version  ==>      mkisofs -l -L -r -v -V home1 -o iso.img .
      altered version    ==>      mkisofs -R -U -v -V home1 -o iso.img .

      -U  force untranslated filenames (includes all the following!)
              -allow-lowercase      lowercase chars ok in filenames
              -allow-multidot       multiple dots ok in filenames
              -d                    don't add a trailing . to filenames
              -l                    allow 31 char filenames
              -L                    filenames can begin with a .
              -N                    omit version numbers in filenames
              -no-iso-translate    do not translate # and ~ in filenames
              -relaxed-filenames   all 7-bit chars are allowed in filenames

      -R   engage Rockridge extensions with SUSP extensions.
      -v   verbose
      -V home1          this lables the disk home1.
      -o iso.img        this puts the output in a file called iso.img
      .                 the last period tells it where to start.


 3.48  Do the memfs filesystems, /tmp and /var/tmp, use 50MB of RAM?
 12 Feb 2002
 ---------------------------------------
    The memfs filesystems are not exactly like ramdisks that
 reserve a section of ram.  Memfs uses ram dynamically.  If the
 directories are empty, the ram is not used.

    The memfs filesystems on UnixWare 7 default to 10 MB for /tmp
 and 40 MB for /var/tmp, which is not used when the directories
 are empty.  It's safe to make them around 100 MB if you want, during
 the ISL.


 3.49  How do I convert the memfs filesystems to regular vxfs ones?
 12 Jul 2007
 ---------------------------------------
    All you have to do is umount /tmp and /var/tmp in order for
 them to become to regular subdirectories of root again.  Use
 the umount command to do that.

    To make it permanent, umount the memfs filesystems and remove
 their entries from /etc/vfstab using vi.  You can't use the Scoadmin
 Filesystem Manager to do any memfs operations, so do all that from
 the command line.

    The SCO Docs for UnixWare 7/OpenServer 6 state that a memfs /tmp is
 required for their emergency repair to work.




_______________________________
|                               |
|  4.  The Network              |
|_______________________________|


 4.1   Do I need a nic in my Uw7/OSR6 box?
 18 Dec 2000   contribs [email protected]
 ----------------------------------------
  From postings in the c.u.u.m newsgroup and some personal experience,
  Uw7/OSR6 expects to be on a network.  A system without a network card will
  function erratically.  The contributor stated,

     'Deferring the installation of the NIC is possible
      during UnixWare 7 installation.  But you have to
      keep in mind that "ns-admin" will not correctly
      setup its files if it is installed before the NIC.
      It is the origin of the dot problem in ns-admin.conf,
      because domain name would have not been set as NIC was
      not yet installed.  Reinstalling the package as stated
      after the NIC installation corrects the problem.'


 4.2   What is a good brand of nic to use in Uw7/OSR6?
 12 Feb 2002
 ----------------------------------------
  Any brand of NIC that's tested and certified by SCO will
  be listed on the Compatible Hardware Page:

     http://www.sco.com/chwp/

  Only use hardware that's listed!  People are not always successful
  who focus on a supported chipset, rather than a supported nic from
  a brand name vendor.


 4.3   How do I list my IP and MAC addresses for all configured nics?
 24 Sept 1999
 ----------------------------------------
  Use the 'ifconfig -a' command to see a good deal about net0, net1, etc.
  You can also find the Media Access Control (MAC) address with:

     ndstat
     arp -a
     cat /etc/inet/macaddr

  It is useful to poke around with ndstat to understand how you can
  modify your MAC address if you are doing fail-over tasks.

  To get the MAC addresses of all the NICS on your subnet:

     *  You can enable replies to broadcast pings on all the Uw7/OSR6 hosts.
     *  You can then ping your subnet's broadcast address.
     *  All the Uw7/OSR6 nics will respond.
     *  Run an 'arp -a' and all the NICS + MAC's + IP's will be listed.

  To use 'inconfig' to enable response to broadcast pings,
  you will want to direct each host to reply to icmp activity:

     inconfig arpt_keep 1200
     inconfig icmp_reply_broadcast 1

  This will make arp keep it's data in it's cache for 1200 sec, and
  direct the nics to reply as described.


 4.4   How do I list my routing table?
 24 Sept 1999
 ----------------------------------------
  Use the 'netstat -rn' command to see the table using IP addresses.
  Use the 'netstat -r'  command to see the table using host and network names.


 4.5   How do I add a default route?  Is it permanent?
 12 Feb 2002
 ----------------------------------------
  Use the 'route' command again, for systems with standard netmasks
  like 255.0.0.0, or 255.255.0.0, or 255.255.255.0 as in:

     route add default 10.1.1.254

  If you have a more creative netmask, you will need to use
  more arguments to your route command to specify that.
  The default route will not stay around after a reboot.  To make a
  route 'permanent' you will need to 'add' it at every reboot.
  This is as simple as the route add command above.  Modify line 4a
  in your /etc/inet/config:

     original config file
  +-----------------------
  | ...
  | #4a:/usr/sbin/route::n::add default router_placeholder:
  | ...
  |

     modified config file
  +-----------------------
  | ...
  | 4a:/usr/sbin/route::y::add default 10.1.1.254:
  | ...
  |

  Changes to /etc/inet/config will not take affect until you reboot.
  Be sure that your /etc/resolv.conf properly points to any new DNS
  reachable with your new routing if necessary.


 4.6   What is a Virtual Domain?
 24 Sept 1999
 ----------------------------------------
  A Virtual Domain is created when you add an 2nd IP address to one nic.
  You can configure your machine so that it provides email, FTP, and web
  services for several different domains... just add more IP aliases.
  Then configure the services to use with the virtual domain.


 4.7   How do I add an IP alias?   Is it permanent?
 18 Dec 2000
 ----------------------------------------
  Use the 'ifconfig' command to add or remove an alias:

     ifconfig net0 alias 10.1.1.100
     ifconfig net0 -alias 10.1.1.100

  You can test your new alias with the 'ping' command.  If you have put
  the alias on a different subnet than the real address of the nic, then
  you will need to configure a route for one network to talk to the
  other virtual network.  With an alias, you can keep your old IP address
  functional, if ever you change yours.

  An alias is not permanent.  You can make it stay, though, by creating
  an rc.2 shell script, S70ipalias.  Here's mine, which logs to the syslog.

    -------------------- begin /etc/rc2.d/S70ipalias ----------------------
    #!/bin/sh

    #======================
    # File:  /etc/rc2.d/S70ipalias
    # Auth:  M.Schalit
    # Desc:  Sets up aliases for net0,
    #        and logs them to the syslog.
    #
    # Usage:  S70ipalias <start|stop>
    # Date:  26 Nov 2000
    #=======================

    usage()
    {
       echo "Usage:  $0 <start|stop>\n"
    }

      # Set up a few variables.  Fill in ALIAS1, and make NUN1 say
      # net0 or net1 or whatever nic you're putting the alias on.
      # The nic gets the alias, ALIAS1.
      # The NUN1 variable stands for Network Unit Number 1.

    ALIAS1=10.240.68.94
    NUN1=net0

    IP1=`/usr/sbin/ifconfig $NUN1 | grep "inet " | cut -d" " -f2`

    case "$1" in
       start)   /bin/logger S70ipalias: initializing.
                if [ "$NUN1" -a "$ALIAS1" -a "$IP1" ]
                then
                   /usr/sbin/ifconfig $NUN1 alias $ALIAS1
                   IPA1=`/usr/sbin/ifconfig $NUN1 | grep "alias" | \
                          cut -d" " -f3`
                /bin/logger S70ipalias: ${NUN1},$IP1 has the alias $IPA1
                fi
                ;;

       stop)
             /usr/sbin/ifconfig $NUN1 \-alias
             ;;

       *)
          usage
          ;;
    esac

    exit 0
    -----------------------------  End S70ipalias  ------------------------


 4.8   Suddenly the network is slow, why?
 9 Oct 1999
 ----------------------------------------
  This is a common job interview question.  There are many possibilities:

     A)  There is a runaway process hogging cpu slices... use ps -ef.
     B)  If the slow-down happens at the same time, look for machinery
         being run nearby the network or server at that time.
     C)  Check netstat -i for ierrs or oerrs that are increasing.
     D)  Check other netstat outputs for suspicious results.
     E)  Is your filesystem out of free space, ram, or swap?
     F)  Can you put a packet sniffer on the cable?
     G)  Who had access to the server, and what was recently changed?
     H)  Mismatched nics and hubs. Try to use all 3com, or Intel, etc.
     I)  A nic is getting confused trying to do auto-negotiation.
         Boot to DOS and run the NIC's configuration utility to force
         the nic to the proper speed (10Mbps or 100Mbps) and the
         proper duplex (hubs use half, only switches and routers use full).
     J)  Start swapping cables and hardware with known functioning ones.


 4.9   Is there a firewall program for Uw7/OSR6?
 12 Feb 2002
 ----------------------------------------
  There is no firewall application per se for Uw7/OSR6.  SCO training manuals
  state the following:

     'A firewall is not a simple switch that you select on or off.
      Instead, it is a series of components that you can use to build
      your security system, like adding bricks in a wall.'

     'A properly configured Uw7/OSR6 system can accomplish (being a firewall).
      To achieve this, the system should be:

         *  Set up as the connection between networks

         *  Configured with security features such as TCP wrappers,
            packet filters, and proxy servers.

         *  Running minimal services and have as few accounts as possible
            to reduce the risk of penetration.'

  Often people want to setup a private LAN connected to the Internet via
  one registered IP address.  This needs NAT to do completely.  Proxy
  servers help, but are limited to doing web and ftp, and need proxy
  capable clients.  NAT doesn't have these limitations.

  If your ISP provides you with a block of IP addresses, then you can use
  proxy arp to make a Uw7/OSR6 system that's a transparent, packet filtering
  firewall bridge.

  People enjoy using Linux for NAT/firewall.  Other excellent
  alternatives include the GnatBox (www.gnatbox.com) and the
  Linux Embedded Appliance Firewall (LEAF, leaf.sf.net).  I use LEAF.

  For an excellent firewall reference, please see the O'Reilly book,
  _Building Internet Firewalls_.  You may wish to create the following:

       ISP <--> LRP -- Internal Protected Network
                   \
                    DMZ  (Web,Ftp,DNS,Mail Servers)


 4.10  What's a TCP Wrapper?
 18 Nov 2007
 ----------------------------------------
  There are many services that run on Uw7/OSR6 such as ftpd, and telnetd.
  TCP wrappers are programs that 'wrap' around these services and
  only allow permitted traffic to flow to them.  The allowing and
  denial of access is controlled by /etc/hosts.allow and /etc/hosts.deny.
  TCP wrappers are enabled by default and set to allow all.  They
  are enabled/disabled in /etc/inet/inetd.conf.

  Server daemon programs that can use tcp wrappers are often named
  in.ftpd, in.telnetd, in.rlogind, etc. . . .


 4.11  What is a Packet Filter?
 18 Dec 2000  contribs Boyd Gerber
 ----------------------------------------
  A packet filter is a set of rules that control the movement
  of data in and out of your ethernet cards.

  What's being checked are packets between the Network and Internet layers
  of the TCP protocol stack.

  As such, packet filters can restrict which packets are allowed to
  enter or exit through a nic.

  Packet filters are not enabled by default, and can be created using
  the Scoadmin Packet Filter Manager.

  _______ Boyd said _______
    The graphical manager is not perfect, you sometimes have to manually
    fiddle with the filters in:

       /etc/pf.d/IP

    See also the man page pushfilter(1M)

    Don't try this under 7.0.1 or 7.1 without all the patches. The
    systems corrupts its control files and renders the whole TCP/IP
    framework useless.  Unless you have some experience in these
    control files there only way to get the TCP back is a reinstall.
  _________________________


 4.12  Why can't root ftp into Uw7/OSR6?
 24 Sept 1999
 ----------------------------------------
  Root is denied ftp access by default, as a security consideration.
  To enable root to ftp, remove 'root' from the file /etc/ftpusers,
  and be sure that root's login shell is not commented out in the file
  /etc/shells.


 4.13  What are the idiosyncrasies with the DNS Server Manager?
 12 Feb 2002   contribs James Richardson
 ----------------------------------------
  If you start it and exit it without creating any DNS servers,
  it will still automatically create a 'caching only' nameserver.
  That's a feature.

  The DNS server manager GUI was recently updated with a ptf.
  It's tight now.  It has a nice feature to update your db.cache
  file, which is the list of root servers in /etc/inet/named.d/.

  _____ James said _____
    It seems to add extra ;; in files when a zone is
    transfered.  You'll see errors in the startup log,
    and just delete the extra ;


 4.14  Why does logging into the CDE freeze for minutes, then restart?
 24 Sept 1999
 ----------------------------------------
  This is often the result of a misconfigured DNS or /etc/resolv.conf.
  Be sure to have the proper nameservers listed, and check nslookup
  to be sure you get the correct results returned from DNS.  Try a
  bogus name like 'bogus' at the nslookup prompt.  If the command
  hangs, then you have a problem with DNS.  Your system can also
  hang if your default route is down and your first nameserver
  listed in /etc/resolv.conf is on the next subnet.


 4.15  What are network services?
 24 Sept 2006
 ----------------------------------------
  A Uw7/OSR6 system runs many programs in the background that are designed
  to respond to and communicate with a user's program.  This is called
  the server/client model.  We refer to a server process as a service,
  which waits for communication on one or more ports.  People are
  familiar with such services as ftp, and telnet.  These are
  offered by the corresponding processes ftpd, telnetd, and httpd
  on ports 21, 23, and 80.   These services are mapped out in a text
  file called /etc/services.


 4.16  What network services, that run by default, don't I need?
 18 Dec 2000
 ----------------------------------------
  Many people do not need to run routed on their small LAN, especially
  if they have their default route and other routes statically entered.
  There are a lot of legacy daemons like finger, talk, ntalk, and systat.
  You just have to have a close look.  Running old daemons is a sure-fire
  way to leave your network open.  Telnetd and ftpd are problems!

  For instance, UnixWare 7.1.1 ships with wu-ftpd 2.4.2academ.
  There's no end the the CERT alerts about old versions of wu-ftpd,
  older that 2.6.0 being root compromised.  Plus, wu-ftpd is enabled by
  default.


 4.17  Why can't I see computers on another subnet with Visionfs?
 24 Sept 1999
 ----------------------------------------
  Visionfs uses NetBIOS names for name to IP address resolution, but NetBIOS
  broadcasts don't cross routers.  A solution is to edit:

     /etc/lmhosts
     c:\windows\lmhosts
     c:\winnt\system32\drivers\etc\lmhosts

  or put a Visionfs host on each subnet.


 4.18  Can I synchronize my computer's clocks with the correct time?
 24 Sept 1999
 ----------------------------------------
  There are extremely accurate time-keeping systems called atomic clocks
  that keep the world's time exact.  You can access this exact time
  if you have a link to your ISP up, by running the simple program
  'ntpdate.'  If you want to set up a more elaborate time synch system,
  like a time server to synch all your workstations to, then use 'xntpd.'


 4.19  How do I use ntpdate?
 24 Sept 1999
 ----------------------------------------
  Ntpdate is not a service but a one-shot program that uses the default
  route (usually to your ISP) to communicate with the time servers
  you specify.  The atomic clocks are called Stratum 1 servers, and
  should not be used.  They communicate, in turn, with high powered
  and reliable, computer time servers called Stratum 2 servers, which
  are polled by many people who run Stratum 3 servers.  We often poll
  Stratum 2 and 3 servers.  Good time servers can be found at:

     http://www.eecis.udel.edu/~mills/ntp/servers.html

  An example 'ntpdate' command that I have aliased is:

     ntpdate tock.cs.unlv.edu clock.psu.edu clock.tricity.wsu.edu
             ns.scruz.net ntp.cox.smu.edu

  which is typed all on one line.  At least four time serves are used
  which increases the accuracy of the time returned.


 4.20  How do I use xntpd?
 18 Dec 2000
 ----------------------------------------
  First some general concepts.  Xntpd is running by default because an
  (empty) ntp.conf exists.  Xntpd is started from an entry in
  /etc/inet/config.  Xntpd which implements the Network Time
  Protocol (NTP) is not trivial, and there is a newsgroup called
  comp.protocols.time.ntp where this topic is discussed in detail.
  You can interact with an xntpd daemon by using the xntpdc command.

  The further away in network hops a time server is from an atomic clock,
  the less reliable it is.  This reliability is called the server's stratum.

    Stratum 1 == Atomic clocks.  Please don't use these.
    Stratum 2 == Secondary servers.
    Stratum 3 == Uw7/OSR6 local clocks default to 3 but should be set to 10 !!!
    Stratum 5 == A good level for your local ntp server.
    Stratum 10 = The proper level for clients and their local clock.

  For every 100 hosts on your intranet, you should configure one ntp client
  to poll two stratum 2 servers (in case one is down).  Then configure all
  the other hosts to poll your freshly synchronized, local time server.

  xntpd-mini-HOWTO:
  -----------------

     A)  Determine which Secondary servers to poll from the list at
         http://www.eecis.udel.edu/~mills/ntp/servers.html

     B)  Add appropriate entries to /etc/inet/ntp.conf by using the
         scoadmin Client Manager -->  Add a Client -->  NTP client.
         Here there is a bug.  You will need to tab and click around
         on the different entries before the scoadmin tcl script will
         allow your cursor into the IP address field.  Now you can
         enter the names of the two time servers you chose in step (A).
         Then enter 127.127.1.0 which is your local clock (RTC) address.
         Click ok and exit the Client Manager.  Configuring like this
         through the Client Manager is what enables the client side
         of xntpd and the server side also.  Exit the Client Manager.

     C)  Edit your new /etc/inet/ntp.conf file:

                 original /etc/inet/ntp.conf
              +-----------------------------------------
              |  broadcastclient no
              |  server 128.xxx.xxx.97
              |  server 192.xxx.xxx.41
              |  server 127.127.1.0
              |  driftfile /etc/inet/ntp.drift
              |

                 modified /etc/inet/ntp.conf
              +-----------------------------------------
              |  broadcastclient no
              |  server 128.xxx.xxx.97
              |  server 192.xxx.xxx.41
              |  server 127.127.1.0
              |  fudge 127.127.1.0 stratum 5
              |  driftfile /etc/inet/ntp.drift
              |

  You can see that the fudge line was added to set the stratum of the
  local time server.  Let's call that local time server ns1.local.com.
  To configure the other 99 hosts on your network to use ns1, then
  you would do the same A, B, C procedure above, but only use the
  ns1.local.com and 127.127.1.0 addresses.  Fudge the 99 hosts to stratum 10.

  Observe the effects of xntpd in /var/adm/syslog.  You'll want to be
  sure that your default route is brought up in /etc/inet/config,
  because then it is established before xntpd tries to use it.

  If you want to debug the daemon, observe its status, or modify a
  setting while it's running, you can use xntpdc.


 4.21  Where is my domain name stored in the root filesystem?
 24 Sept 1999
 ----------------------------------------
  You can search every local file for the domain name string
  using the find command along with xargs for speed:

     find / -type f | xargs fgrep -l "domain" > /tmp/p.out

  Xargs is a command line program that groups a bunch of fgreps and
  processes them all at once instead of one at a time.


 4.22  Is DHCP possible with Uw7/OSR6?
 12 Feb 2007
 ----------------------------------------
  Uw7/OSR6 has both dhcp client and server capabilities.


 4.23  What are good IP addresses to use for my private LAN?
 18 Dec 2006   contribs  tangent
 ----------------------------------------
  The following information is taken from rfc1918, a Request For
  comments by Y. Rekhter, et. al., which obsoleted the older rfc1597.
  Read this document on the web at:

     http://www.faqs.org/rfcs/rfc1918.html

    'The Internet Assigned Numbers Authority (IANA) has
     reserved the following three blocks of the IP address
     space for private intranets:

         10.0.0.0        -   10.255.255.255  (10/8 prefix)
         172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
         192.168.0.0     -   192.168.255.255 (192.168/16 prefix)

   Use one of those ranges.  I could go on forever about networks,
   ip addresses and netmasks, and tangent started to, but this is just
   meant to be a quick list of what the numbers are.  I don't like
   remembering 172.16, 172.31, or whatever.

 _____ tangent's comments here on subnetting and netmasks are on file at
          http://www.zenez.com/cgi-bin/ou8faq/faq


 4.24  How do I setup Uw7/OSR6 as a router for two subnets?
 18 Dec 2000
 ----------------------------------------
  This is accomplished with two NIC's in the Uw7/OSR6 host, configured
  with IP addresses on the two subnets.  The procedure looks like this:

     A.  Install the 2nd nic in the case.
     B.  Boot off a DOS disk and run the nic config utility
     C.  Add the 2nd card with a good nodename like myhost1.
     D.  Give the card the right IP on the new subnet.
     E.  Click advanced to set ipsendredirects and ipforwarding.

  Be sure to run each NIC's configuration utility which is usually
  a DOS application in order to fix the card's irq and address if
  it is an ISA card.  You might want to fix the speed and duplex also.

  Then with one card already configured as myhost.mydom.net,
  use 'netcfg' to configure the other card and enter its name as
  myhost1.  Enter the appropriate IP address and be sure to select
  Advanced Options so that you can check the box Use As Router?  Yes.
  That sets ipforwarding and ipsendredirects to deal with proxy arp,
  After saving and exiting, the scoadmin network will add entries in your
  /etc/hosts and your DNS A record file db.mydom.net (if it exists).

  Then you should be able to go to the hosts on each subnet
  and add the route to the other subnet.


 4.25  What is a good modem for Uw7/OSR6?
 24 Sept 2007
 ----------------------------------------
  An external modem is the way to go.  Many people are happy with
  Sportsters, Zoom 56Ks, Multitech, etc...

  Don't use an internal modem.  It may work, but poorly.
  Don't use an internal PCI modem.  It will never work.

  You'll want to apply set71101.


 4.26  How do I set up an outgoing PPP connection?
 18 Dec 2000
 --------------------------------------
  This is most easily accomplished via the gui scoadmin ppp.
  Given:  Zoom external on COM1 for a dialout PPP to my ISP.
          My IP:   Assigned at login
          ISP IP:  Assigned at login
          ISP DNS:  206.xxx.yyy.12
          ISP DNS:  206.www.zzz.12

  I am going to start by installing the modem and configuring the serial
  port it is connected to, then configuring the PPP link with the PPP
  Connection Wizard....

    1)  Log in as root to the CDE and start the scoadmin Network Config
        Manager.  Select View --> WAN.  If you had no modems installed,
        your window will show no devices.

    2)  Select Hardware --> Add new WAN device --> Modem.
        This starts the modem manager.

    3)  Select Modem --> Add --> Manual Configuration.
        ( I could have used Auto, because the Zoom 56K is detectable).

    4)  Select your modem manufacturer and model.  I'll use
        Zoom V.34X, because almost every Zoom script is identical,
        and this as good as any.  Select the term/00m port that is what
        we call COM1.  Then click the Configure Port... button, before
        you click OK.

    5)  This button takes you into the Serial Configuration Manager.
        Port Type = COM1 Modem
        Configure Port = Outgoing Only
        Speed = Auto
        Then ok to exit.  Then ok to exit again.  Then Host --> Exit.
        Back in the Network Configuration Manager, Go ahead and exit
        it also,

    6)  Testing the Modem:  Now work at a terminal prompt.

           *   Set the correct UID:GID on the serial port to uucp:uucp
                 chown uucp:uucp /dev/term/00m

           *   Directly connect to the modem with cu:
                 cu -l /dev/term/00m
               You should enter the connection screen and see a message.
               You may see an AT.  Type AT and press Enter, and you will
               see an OK or 0.  If you don't, type ATE1 and Enter, and
               then AT again.  That E1 turns echo on, which you need to see
               the data, but you don't need for PPP, that's why it's off.
               You could always just try an ATZ, then AT.  Don't worry about
               about the state you leave it in.

           *   Test that link to see if you get a dial tone:
                 ATDT
               You will hear it after typing that.

           *   Type ~. and Enter to disconnect.

        If any of the modem aspects don't work, then you'll need to
        troubleshoot your modem and phone line, which is beyond the scope
        of this Faq.  Fix that before you go on.  The SCO doc's contain
        good modem troubleshooting help.

    7)  Now with a working modem, restart the Scoadmin Network
        Configuration Manager again to build the PPP link.  Choose
        View --> WAN and then select Software --> Configure PPP...
        Then choose View --> Bundles screen.  Then Wizard --> Add.
        Then Outgoing, Start.

    8)  In the Outgoing : Bundle window, setup the following:

           Provider bundle name:   earthlink
           Remote System:          epop-sr
           Telephone:              2334492  then  Add
           How to Connect:         Use pppattach  then Next.

    9)   Outgoing : PPP Authentication

           Authentication Protocol:  None
           Next...

    10)  Outgoing : Login Script

           Use Script:  Yes
           Login Script:  All are left unchanged except
             2nd Send:  ELN/mschalit    <-- My login name
             3rd Send:  **********      <-- My password

          Your username will probably be just your email name,
          but earthlink requires me to prepend an ELN/ before
          my username for logging in.  Then next....

    11)  Outgoing : IP Network Protocol:

           Local address assigned by:   Remote
           Local IP address/hostname:   0.0.0.0
           Remote address assigned by:  Remote
           Remote IP address/hostname:  0.0.0.0
           Use as default route:        Yes
           Local host acts as gateway:  No
           Act as Proxy for arp:        No

         Here I use 0.0.0.0 because it is a manual attach link.
         I select use as default route, because theoretically, this
         is a PPP link to an ISP who will link me out to the world.
         I want any data, not destined for my local computers, to go out
         to the Internet through my ISP by default, thus the default route.
         The local host will not act as a gateway for all the other computers
         on my LAN so that they can get their data out, in this example.
         The act as proxy for arp is related to the gateway, and this is
         also not needed, because I am not forwarding all data from my
         LAN out to the net, just from the Uw7/OSR6 host to the net.

    12)  Outgoing : Name Servers

           Domain Search Order:

             schalit.net

           Name Server Search Order:  Put your local DNS server last if any.

              206.xxx.yyy.12
              206.www.zzz.12

           Then next....

    13)  Outgoing : Link Devices

           Flow Control:         Hardware
           Multilink max links:  1
           Selected Link Devices:  Add the COM1 ACU  device.
           Then Finish.  You're done.

  Now that the link has been created, exit all managers and we'll test it.
  Note these facts:  Manual pppattach links will not be listed in ifconfig -a
  until the link is brought up.  Part of the ifconfig setup is an option
  called 'RFC1323' which gets set on all ifconfig devices.  This RFC option
  conflicts with VJ Header Compression.  RFC1323 is on by default, and
  VJ Header compression is off by default, so the setup is ok at this point,
  but I've found that rfc1323 mucks up some web pages from finishing to load
  or to send, so look in the ifconfig man page and consider turning this
  off if you have a good link but some pages don't complete.  To turn off
  rfc1323, do the following:

        ifconfig ppp0 -rfc1323

  Testing and Monitoring the dialout PPP link:

     To test and monitor the state of the pppd as you make the
     outgoing PPP link, use the ppptalk command:

       ppptalk debug med bundle earthlink
       ppptalk debug med link link_0
       pppattach earthlink &
       tail -f /var/adm/log/ppp.log

    That will set debugging on the bundle and the link device, and
    dial the earthlink bundle, and then tail the PPP log.  If it stays
    on line with the ISP, then your link succeeded.  Often times you
    will have to read the log closely to see what your ISP rejected and
    to modify your PPP configuration to fit that.

    PPP is sensitive to what ptf's you've applied, also.  Be sure to
    apply set71101 after ISL.

    If you want you modem speaker on until you connect, then you will
    need to edit your /etc/uucp/default/modem.name.file and change
    the Speaker line to read ATM1.

    After my link was up and it didn't hang up on me right away, I
    typed  ping www.google.com and it worked, so I'm going to stop here.


 4.27  How do I set up an incoming PPP connection?
 27 Oct 1999
 --------------------------------------
  This exciting example of modern networking begins with no modem.
  Follow step (1) through (4) of the above procedure in (4.26).
  Continue here with (5) below.

  The big picture is that I intend to add a modem that is configured
  as incoming/outgoing (this is the key to success!).  I'll test
  the modem outward using cu on the Uw7/OSR6 computer to my ISP and inward
  allowing Uw7/OSR6 to answer a call from Hyperterminal on NT4 SP5.

  I'll then make an incoming PPP bundle so that I can dial in from
  NT4 and login as my unix username, mschalit.

  After (1) - (4) above:

    5)  This button takes you into the Serial Configuration Manager.
        Port Type = COM1 Modem
        Configure Port = Incoming & Outgoing
        Speed = 115200
        Then ok to exit.  Then ok to exit again.  Then Host --> Exit.
        Back in the Network Configuration Manager, Go ahead and exit
        it also,

    6)  Testing the Modem:  Working at a terminal prompt.

           *   Set the correct UID:GID on the serial port to uucp:uucp
               if it's not correct:

                 chown uucp:uucp /dev/term/00m

           *   Directly connect to the modem with cu:
                 cu -l /dev/term/00m
               You should enter the connection screen and see a message.
               You may see an AT.  Type AT and press Enter, and you will
               see an OK or 0.  If you don't, type ATE1 and Enter, and
               then AT again.  That E1 turns on echo, which you need to see
               the data, but you don't need for PPP, that's why it's off.
               You can also type ATZ and Enter to reset the modem, then AT.
               Don't worry about about the state you leave it in.

           *   Test that link to see if you get a dial tone:
                 ATDT
               You will hear it after typing that.  Hit ~. to
               disconnect and reconnect with cu -l /dev/term/00m

           *   Test the link outbound... Dial the ISP, login, etc.
                  ATDT 2xxyy92
               After you login, disconnect with ~.

           *   Test the link incoming... I got on my NT4 box and
               ran Hyperterminal and dialed my Uw7/OSR6 modem.  It
               answered and I hit enter to get a Login prompt.
               I logged in as myself and was able to ls -l and
               cal and banner hello a bunch of times.  Good.

           *   Test the link outbound again.
           *   Test the link inbound again.

        All those tests show me that the modem is stable and will
        answer calls and make calls repeatedly.  Good news.

    7)  Now with a working modem, restart the Scoadmin Network
        Configuration Manager again to build the PPP link.  Choose
        View --> WAN and then select Software --> Configure PPP...
        Then choose View --> Bundles screen.  Then Wizard --> Add.
        Then Incoming, Start.

    8)  In the Incoming : Remote Access Window...
          Remote access bundle:  sysop
          Authentication methods...
            Enable Chap                 = No
            Enable Pap                  = No
            Enable login                = Yes
            Enable Caller ID            = No
          Then Next...

    9)  In the Incoming : Login screen.......
           Username:  rasop
           Password:  entered something here
        Next

   10)  In the Incoming : IP Network Protocol window.....
        I left it on local and left my local address in there...

          Local address assigned by:     Local
          Local IP Address/hostname:     10.1.1.1
          Remote address assigned by:    Local
          Remote IP address/hostname:    10.1.1.103
          Use as default route:          No
          Local host acts as gateway:    Yes
          Act as proxy for arp:          Yes
        Then next......

   11)  In the Incoming : Advertise DNS
          Advertise DNS servers:         Yes
          Primary server address:        10.1.1.1    (because I have one)
          Secondary:
        The next....

   12)  In the Incoming : Link Devices window.........

          Flow Control:           Hardware
          Multilink max links:    1
          Selected devices:       COM1  Add >>
        Then finish, then exit, then exit.

   Now we are ready to dial in from another computer.  I have set up
   my NT4 box with a PPP link to Uw7/OSR6.  I told NT to bring up a
   terminal window during the modem negotiation so that I can
   type in my login:pass.  That's on the Script tab in the Edit
   Modem Properties.  I told it not to do software compression and
   not to do VJ header compression due to the modem compression
   and the rfc1323 being enabled.

   When I dial, a little window pops up with three fields:
      username
      password
      domain
      Check Box for save password
   It doesn't matter what I enter there, because I will end up logging
   in with the terminal window.  I entered something and it dialed out and
   popped up the terminal window.  I logged in as rasop and gave it
   the password, and it worked.


 4.28  How do I set up bidirectional PPP?
 18 Dec 2000
 ----------------------------------------
  To do bidirectional PPP, it's a whole lot easier to have two modems,
  where one handles each direction.

  In an old SCO Network Administration class, I met a guy named Fred,
  who was an old BBS'er.  He was able to get bidirectional PPP working
  between two Uw711 hosts.  The key is that they were both Uw7/OSR6, configured
  similarly, and had similar network configuration needs.

  After installing set71101, he did the following:

     A)  Setup both hosts with PPP links using the Wizard as Outgoing only.

     B)  On machine A, both IP addresses are Assigned By Local.
         In both spaces put in the real IP addresses of the two hosts.

     C)  On machine B, both IP addresses are Assigned by Remote.
         Use fake addresses like 127.0.0.2 and 127.0.0.3.

     D)  After exiting all the scoadmin managers, restart them
         and go back into Network Manager --> Wan --> Configure PPP,
         Modify the bundle and select the box to fix it as BiDirectional.

     E)  Then you can setup the logins, and it should work.


 4.29  I want to disable a particular daemon, how is this done?
 12 Feb 2002
 ----------------------------------------
  You can ask yourself the following questions:

     a)  Is it stand-alone and started via a script in /etc/rc2.d?
     b)  Or does it start from /etc/inet/config
     c)  Or does it start from /etc/inet/inetd.conf
     d)  Is it run from the Service Access Facility (SAF)?

  Often you will just need to comment something out in the right file.


 4.30  How do I apply changes made to /etc/inet/inetd.conf?
 12 Feb 2002
 ----------------------------------------
  Changes made to this file can be applied by

     sacadm -k -p inetd
     sacadm -s -p inetd

  to stop and start it.


 4.31  How do I apply changes made to /etc/inet/config?
 7 Dec 1999
 ----------------------------------------
  Changes made to the config file will only take effect after
  tcp is restarted which can only be done with a reboot.


 4.32  How do I boot an ftp user who is logged in?
 18 Dec 2000
 ----------------------------------------
  This can be accomplished with ftpwho or ps:

     ftpwho
     ps -ef | grep ftpd | grep -v grep


  which will list everyone who's using ftp into your site.
  Choose the offender and note the PID.  Let's say it is 767.

     kill 767

  gives them the boot. :-)


 4.33  How do I catch someone trying to port scan my Uw7/OSR6 host?
 24 Sept 1999  by Jim Van Verth
 ----------------------------------------
  The curious out there like to scan the ports of publicly available
  computers.  At times they are trying to attack your system.  So
  you can run a dummy service on an unused port that'll send mail to
  root if someone tries to connect to the port.

  Let's call the new service we are going to create 'probe.'
  Let's have probe run on port 999, which is unused.
  Let's make a batch file that probe runs called 'etcprobe.'
  Probe will be added with an entry in /etc/services.
  Probe will be started with an entry in /etc/inet/inetd.conf.
  Etcprobe will be stored in /usr/local/bin.

      /usr/local/bin/etcprobe
 +-------------------------------------------------------------------
 | #!/bin/sh
 | netstat -an | grep 999 | grep ESTAB | mail -s "Probe Alert!!" root
 |

       /etc/services
 +------------------------------
 |  ...
 |  ...
 |  probe     999/tcp
 |  ...

       /etc/inet/inetd.conf
 +----------------------------------------------------------------------
 | ...
 | probe   stream   tcp   nowait   root  /usr/local/bin/etcprobe   probe
 |

  Now apply the changes made to inetd.conf with the kill command.
  Test that probe is working by trying to telnet to port 999.
  You'll get mail to root in a few seconds.


 4.34  What web servers are running or not on Uw7/OSR6 after ISL?
 24 Sept 1999
 ----------------------------------------
  After Initial System Load (ISL), only the scohelphttpd is running.
  Netscape Fastrack Server is not running.
  Netscape Fastrack Administration Server is not running.

     scohelphttp query
     nsfast query
     /usr/ns-home/admserv/ns-admin query


 4.35  Why can't I access the Webtop, my Netscape server, or Netscape Admin?
 18 Dec 2000
 ----------------------------------------
  This happens when no Netscape servers are enabled on those ports.
  The Webtop runs off your usual Netscape server on port 80.

     nsfast enable

  The Netscape Admin server in another daemon run on port 620.

     /usr/ns-home/admserv/start-admin

  There are also instances where an error or a misconfigured
  magnus.conf file will make it difficult or impossible to run the
  server to which that file referred.  It is easy to burger your
  magnus.conf file when you alter your domain name or your network
  IP address, or when you defer network installation during ISL.


 4.36  How do I configure remote Netscape administration?
 24 Sept 1999
 ----------------------------------------
  Edit the /usr/ns-home/admserv/ns-admin.conf file and modify the
  "Addresses" line from

     Addresses 10.1.1.1

  to read

     Addresses (10.1.1.1|10.1.1.2)

  in order to let both 10.1.1.1 and 10.1.1.2 run Netscape Admin Server.


 4.37  What is the login:pass for Netscape Admin?  I can't log in.
 18 Dec 2000
 ----------------------------------------
  The login is   admin
  The pass  is   root's password set during ISL

  If you ever change root's password with 'passwd,' it will not
  change the Netscape AdminServe password.  Be sure to type in the
  one that you entered during ISL.

  Sometimes this can get garbled, so have a look at

     /usr/ns-home/admserv/admpw

  to be sure there is a password.  The password in that file
  should be in encrypted form.  Sometimes you just press Enter
  as the password.

  Change the nsadmin password by first starting and going into
  the Nsadmin server.  Once you log in with the old password,
  you will see a button on the bottom of the page to Configure
  Administration.  Hit that and then Access Control.


 4.38  What do I need to watch out for with ns-admin.conf?
 24 Sept 1999
 ----------------------------------------
  The Netscape Administration Server config file
  /usr/ns-home/admserv/ns-admin.conf  can give people problems if there
  is a trailing dot in the ServerName or if the servername is wrong.
  This can occur if the hostname has been changed.  If things
  get bad, fix them with:

     pkgrm nsadmin
     pkgadd -d cdrom1 nsadmin


 4.39  How do I do NAT or DNAT or IP Masquerading on Uw7/OSR6?
 12 Feb 2007
 ----------------------------------------
  There is now ipf that has nat.

  People also like to use Linux to do this, but a full SuSE install isn't
  quite elegant enough when compared to the following:

     http://www.gnatbox.com/
     http://leaf.sourceforge.net/

  The GnatBox, pronounced like the bug, and LEAF are both mini Linux OS's
  that fit on a single diskette and don't need a cdrom or hard drive.
  They both contain firewall/NAT capability, support for many common network
  cards and programs.  They are rock solid, fast, and very stable.  The
  GnatBox is $1000, and uses a parallel port dongle (booo).  A LEAF is
  of course, free :).  I've used them both.  I continue to use the LEAF on an
  old P150, and I think it's very good.


 4.40  Why do I see a 'Disk not sane' error when booting off emergency disks?
 12 Jul 2001
 ---------------------------------------
  This error can be caused by several things.  First, you might be
  using the Veritas Filesystem package with ODM.  Secondly, you may be
  lacking some critical ptf's like set71101 or ptf7430g, the Emergency
  Repair ptf.  And finally, this error will occur if you try to use
  the emergency repair disks on an unpartitioned hard drive.  If your
  hard drive isn't parititoned and you see the disk not sane error,
  then you can get to prompt and use fdisk to create an active unix
  partition that takes 100% of the disk.  Then continue with the restore.

  Beware Veritas and that it can't unencapsulate an encapsulated
  boot disk.  There's a TA for those restores.

  I use a Super-Tar, like Lonetar from Cactus software, to have disaster
  recovery and emergency boot utilities.


 4.41  Can I speed up DNS resolution on my SOHO network?
 12 Feb 2002
 ---------------------------------------
   On a SOHO network that uses their ISP's namerservers only and no
 nameservers on the LAN, adding a cacheing DNS server will speed up
 name resolution.

   The easiest place to do that is on your LEAF firewall/router.
 Use the dnscache program from djbdns at http://cr.yp.to/ .

 Also you can set up tinydns on the same router to resolve internal
 network private address names.  Then the lookups for your internal
 names don't go out to the official DNS sites that have no idea what
 to do with 192.168.x.y.


 4.42  How do I set up well tuned cacheing DNS server?
 12 Feb 2002
 ---------------------------------------

   Look at the howto's on the LEAF site from J. Nilo, and look at
 the howto's at http://cr.yp.to/


 4.43  IPF setup and file locations.
 30 Apr 2008
 ---------------------------------------
   IPF Setup

 UnixWare 7.1.4 there is not GUI to setup it up.

   You create your files ipf.conf ipnat.conf.
   The files are stored in /etc/inet/ipf/

 OpenServer 6.0.0

   You can run

   # mkdev ipfilter

   The files are stored in /etc/






______________________________
|                              |
|  5.  System Administration   |
|______________________________|


 5.1   What do I want to watch out for, right after ISL?
 12 Feb 2002
 ----------------------------------------
  Don't go changing your host name, your domain name, or your IP address
  willy nilly.  That data is stored in too many places.

  Xntpd will be running with an empty ntp.conf file.

  Routed will be running.

  Wu-ftpd 2.4.2 will be running and it is very very insecure!

  There are a lot of security problems.  See http://www.sco.com/

  Be careful of starting the DNS manager; it can start a caching DNS server.

  Netscape server on 80, Netscape Admin Server on 620, Webtop, and Visionfs
  are not enable be default, but scohelphttp on 457 is.

  You need to immediately re-apply update710 if you just installed Uw7.1.0.

  You need to look closely at whether there is an updated NIC driver,
  an updated Graphics driver, or Audio driver.  There are quite a few.

  The scohelp files need to be indexed.   You may still be installing
  software, so decide and then index it.

  Root can't ftp in by default.

  Be sure to apply set71101 as soon as possible.

  Skunkware apps will need /usr/local/bin in your PATH, and they'll need
  /usr/local/man in your MANPATH, which is kept in /etc/default/man.

  ORDER=, in /etc/default/man is too long, and overflows man's buffer!
  It needs to be less than 255 characters long.  SCO is working on this.


 5.2   What do I want to set up, right after ISL?
 12 Feb 2002   contribs Boyd Gerber
 ----------------------------------------
  Here are some personal suggestions.  Your results will vary as
  your hardware varies.

  Please check the Quick Overview of Patches and Supplements at
     ftp://ftp.sco.com/SLS/README.UW7.Supplements
     http://www.sco.com/support/ftplists/uw7list.html/
  for the latest list of patches.

     A) apply set71101.
     B) /etc/hosts, and ping a few things for curiosity's sake.
     C) A few user accounts
     D) Create /.profile and add a few aliases and EDITOR=vi.
     E) All drivers at ftp://ftp.sco.com/pub/drivers/UW711/
     F) Security sse and erg patches from SCO.
     G) Make emergency Boot and Root diskettes
     H) Protect server by disabling unneeded services.
     I) nsfast enable.
     J) ln -s /usr/bin/clear /usr/bin/cls  :)
     K) /usr/vision/bin/visionfs setup
     L) gzip, glibs, xpm, less, gs, gv, bash, pine, gcc, glib.
     M) A backup program.
     N) scoadmin Network Manager --> configure my nic to auto speed/duplex
     O) umask, ulimit, NPROC, and other tunables.
     P) create /.profile with a few aliases.
     Q) Set up my default route.
     R) Set up nameserver entries in /etc/resolv.conf if I have an active
        link to a DNS server.
     S) Add /usr/local/bin to the path in /etc/profile.
     T) Add /usr/local/man to the MANPATH in /etc/default/man.
     U) Create DNS server and Printers if necessary.

   Apply set71101 and life will be much better.


 5.3   In what order do I install all those PTF's?
 18 Dec 2000
 ----------------------------------------
   Apply set71101 first, then any other one that you think
   you need.  Order is much less important, now with 7.1.1 and set71101.


 5.4   What logs do I want to follow?
 7 Dec 1999
 ----------------------------------------
  There are a few logs that will grow over time and ones
  that contain useful information:

     *  /var/adm/syslog
     *  /var/adm/log/osmlog
     *  /var/adm/log/ppp.log
     *  /usr/vision/vfsdata/logs/error.log
     *  /.dt/startlog
     *  /.dt/errorlog
     *  /var/adm/sulog
     *  /var/webtop/log/error.log
     *  /usr/ns-home/httpd-scohelphttp/logs/access
     *  /usr/ns-home/httpd-80/logs/access
     *  /usr/ns-home/admserv/access


 5.5   Where are errors recorded?
 18 Dec 2000
 ----------------------------------------
  In all the files in section (5.3) and:

     *  /var/dt/Xerrors
     *  /usr/ns-home/admserv/errors
     *  /usr/ns-home/admserv/cron.error
     *  /usr/ns-home/httpd-80/logs/errors
     *  /usr/ns-home/httpd-scohelphttp/logs/errors
     *  /var/uucp/.Admin/errors
     *  $HOME/.dt/errorlog
     *  /var/adm/log/*.err

   Also note that problems often echo an error message to stderr,
   which may or may not be set to your current screen.  After an error
   switch to the console with <Ctrl>+<Alt>+<Esc> and look for anything
   there that may help.  The other day, my Kde desktop wouldn't run,
   it'd get 95% of the way loaded, with a mouse and grey background,
   then crash out.  By switching to the console, I was able to see that it
   couldn't find some qt stuff.  I had accidentally rm'd the qt directory.


 5.6  How do I remove the password prompt for a user with no password?
 12 Feb 2002    contrib  Roger Gibson
 ----------------------------------------
    For the user you create that does not require a password enter
  the following command so they are not prompted for the password.
  Log in as root and enter the command:

                      passwd -d username
 _________
   From the passwd(1) man page,
       'Privileged users are not forced to comply with
        password aging and password construction requirements.
        Such users can create a null password by pressing
        <Enter> in response to the prompt for a new password.
        (This differs from passwd -d because the Password:
        prompt will still be displayed.)
   So be sure to examine passwd(1) and /etc/default/passwd in order
   to define your system-wide password requirements in conjunction
   with your descision for no password or for a NULL password.

   As a security precaution, you might want to restrict logins from
   users without passwords to the console or to a specific computer
   using tcp wrappers and files like ftpusers(4tcp).


 5.7   A program that was running has crashed and is locked up, why?
 25 Sept 1999
 ----------------------------------------
  When a program crashes, it's the running processes that are hanging.
  When a program crashes, we need to run a ps -ef and grep the output
  for the name of the program or the name of the process and kill it
  off if necessary.


 5.8   What are the keys I press to kill a foreground process?
 7 Dec 1999
 ----------------------------------------
  When you are running a program that is seemingly stuck, like an
  nslookup that isn't working, you can press the 'Delete' key or
  'ctrl-c'.  If neither of those work, you can try 'ctrl-\', but
  that will dump a core.


 5.9   How do I find and kill a background process?
 7 Dec 1999
 ----------------------------------------
  Let's say that a process called tasker is hung and we need to kill it.
  Run the command:

      ps -ef | grep tasker | grep -v grep

  and get the PID of the process.  Let's say the PID is 8376.  Type:

      kill 8376           <--  First try this.  It's the nicest kill.
      kill -1 8376        <--  If that doesn't work, try this.
      kill -2 8376        <--  If it's being stubborn, try this.
      kill -9 8376        <--  This will kill anything, but it's rough.

  After you try the first kill, do another ps -ef to see if the process
  is still running.  If it is try the next kill, and so on.


 5.0   What are the various 'kill' command arguments?
 25 Sept 1999
 ----------------------------------------
  There is a nice discussion of this in 'man 5 signal.'
  Some of the different kills in order of increasing power:

     kill -15  SIGTERM   Exit    Terminated
     kill -1   SIGHUP    Exit    Hangup
     kill -2   SIGINT    Exit    Interrupt
     kill -3   SIGQUIT   Core    Quit
     kill -9   SIGKILL   Exit    Killed


 5.11  What are the Security Profiles and their password restrictions?
 25 Sept 1999
 ----------------------------------------
  Low              Passwords not required
  Traditional      Passwords required.  Default minimum == 3 chars.
  Improved         Passwords required.  Default minimum == 6 chars.
  High             Passwords required.  Default minimum == 8 chars.


 5.12  What are the restrictions on login names?
 25 Sept 1999
 ----------------------------------------
  Then maximum login name length is 254 characters.  Any name longer
  than 8 characters must be created using the useradd command.
  The name should not contain upper case letters.  No colons.
  It can't start with a number.


 5.13  What's a umask?  What's the default umask?
 7 Dec 1999
 ----------------------------------------
  The umask is a set of numbers like 0022.  It specifies which
  permissions to withhold when a directory or file is created.  The
  default umask is set in /etc/profile and /etc/cshrc.  For Low and
  Traditional, it's 0022.  For Improved and High, it's 0077.  To see
  what permissions a file or directory will get when created, do the
  following:

     always start with                    1  7  7  7
     write in the umask                   0  0  2  2
     subtract                           --------------
     equals the directory perms.  -->     1  7  5  5
     which we see as                       drwxr-xr-x
     to get file perms enter              1  1  1  1
     and subtract again                 --------------
     equals the file perms.    ----->     0  6  4  4
     which we see as                       -r-xr--r--


 5.14  What's an environment?  What's a .profile or .cshrc?
 12 Feb 2002
 ----------------------------------------
  A users environment is a series of name=value pairs that
  hold values specific to that user.  People are familiar with
  the environment variables named PATH and HOME.  The environment for
  a user can be set in their $HOME/.profile or their $HOME/.cshrc
  if the user is using csh.  Type this command to see you Environment
  variables:

         set | less


 5.15  Where are all the possible places to set the environment?
 18 Dec 2000
 ----------------------------------------
  All the possible places include:

     /etc/profile
     /etc/cshrc
     /etc/default/su
     $HOME/.profile
     $HOME/.login
     $HOME/.cshrc
     $HOME/.dtprofile

  though I don't claim to have found every one.  It's a mystery to
  me sometimes where these PATHS are created.


 5.16  Where do I change the default account aspects, like the login shell?
 12 Feb 2002
 ----------------------------------------
  You can use the 'defadm' command to manipulate your /etc/default/* files:

     defadm useradd

  You can also do that from the scoadmin account manager.  You can also
  manipulate the skel files.


 5.17  How do I reuse a UID after deleting the original user?
 25 Sept 2005
 ----------------------------------------
  By default, Uw7/OSR6 doesn't let you reuse a UID for a period of one year.
  The default can me modified with 'defadm userdel.'  The aging UIDs
  can be found in and deleted from:

     /etc/security/ia/ageduid


 5.18  What are the advantages of command line 'userdel?'
 18 Dec 2000   contribs:  OLC zigazou
 ----------------------------------------
  The command line userdel will allow you to remove a user but leave
  their home directory intact.  It will allow you to specify when to
  allow the UID to be reused.

  _____ zigazou said _____
    Using userdel is better than directly modifying /etc/passwd and
    /etc/shadow because it also keeps /etc/security/ia/audit, index
    and master files up to date.  Though index and master may be
    edited manually as they are plain ASCII text files, audit is
    a binary file with fixed-length fields.


 5.19  What are the advantages of command line 'usermod?'
 18 Dec 2000   contribs:  OLC  zigazou
 ----------------------------------------
  The command line usermod will allow you to change a UID or a login name.

  _____ zigazou said _____
    Using usermod is better than directly modifying /etc/passwd and
    /etc/shadow because it also keeps /etc/security/ia/audit, index
    and master files up to date.  Though index and master may be
    edited manually as they are plain ASCII text files, audit is
    a binary file with fixed-length fields.


 5.20  Where do I change the default password restrictions, such as length?
 25 Sept 1999
 ----------------------------------------
  Use the command 'defadm login' to view these restrictions.  The
  defadm command will let you change the settings too.  You can
  always use vi on /etc/default/login.


 5.21  How do I record unsuccessful login attempts?
 18 Dec 2000
 ----------------------------------------
  To get the all /etc/default/login subsystems to work, make sure to put
  in a value for MAXTRYS, such as MAXTRYS=30.

  To Make the System Log:

  You can create the file

     -rw-------   root  sys  0  /var/adm/loginlog

  with the touch command and the chmod command.  Then enter:

     defadm login MAXTRYS=50       <--  because that needs to be non-null.
     defadm login LOGFAILURES      <--  to see what it is set at.
     defadm login LOGFAILURES=2    <--  if you want to log after two failures.


 5.22  How do I lock an account?  How do I unlock an account?
 7 Dec 1999
 ----------------------------------------
  You can use the command line utilities on user foobar's account:

     passwd -l foobar      <--  to lock the account named foobar
     passwd  foobar        <--  to unlock the account by issuing a new pass.

  There was a bug that's just been solved with a TA and a PTF that
  fixes the problem where you could not create an account and force
  the user to change their password at the next login.  We were faced
  with a locked account instead of being faced with a logged in user
  looking at the password change screen.  Thanks SCO!


 5.23  How do I control process priority in Uw7/OSR6, with nice?
 12 Feb 2002
 ----------------------------------------
  Nice, renice, and  priocntl are the commands

  The priority of a process is an integer value that represents
  how much time to spend working on that process versus the other
  processes.  The priority in Uw7/OSR6 ranges from -20 to 20, for very nice
  to very much a cpu hog, respectively.

  To view a process's priority, whose PID is 842, use   priocntl -d 842

  Ex. 1.  Making myprog nicer to other users:
  ------------------
  If you're about to run myprog, use                   nice -n 10 myprog
  If myprog is a process with pid 842, use           renice -n 10 842

  Ex. 2.  Making myprog grab more cpu cycles so that it completes faster:
  ----------------------
  Only a privileged user can boost a priority.

  If you're about to run myprog, use                   nice -n -10 myprog
  If myprog is a process with pid 842, use           renice -n -10 842

  When you run a program in the background with an &, it's priority is -4.
  When you run a program in the foreground, it gets a 0.
  That's a difference of only 5, but we know from experience that's big.

  When you use renice, it reports back strange things that you'll just
  have to stare at to understand.  You can trust the output from priocntl.


 5.24  What's good to know about cron in Uw7/OSR6?
 25 Sept 2005
 ----------------------------------------
  It checks the validity of your cronfile when you modify it with
  'crontab -e' and exit.  You can't have any empty lines in a crontab
  file, or the whole file will be ignored.  List your crontab with
  'crontab -l.'


 5.25  How do I monitor the amount of space left on my drives?
 7 Dec 1999
 ----------------------------------------
  Root can use the commands such as these:

     dfspace
     quot -F vxfs /
     du -ks /etc
     repquota -F vxfs /home


 5.26  How do I determine disk usage by user?
 5 Nov 1999
 -----------------------------------------
  Use the quot command and give it a filesystem mount point as an argument.
  It will list the number of blocks used by user.

     quot -F vxfs /home
     quot -F vxfs /


 5.27  How do I locate and remove 'core' files?
 12 Feb 2006
 -----------------------------------------
  In Uw7/OSR6, there are system files named

     core.4.html
     core.ph
     core.h

  so searching for core* and rm'ing that would be an oops.
  What is safer, is a find with an rm that confirms before removing
  the file so that you can spare the core.ph file and others.

  All core files in Uw7/OSR6 that are dumped by processes are named core.PID;
  where PID is the processes id.  To remove them, try the following:

     find / -name "core.*" -ok rm {} \;

  Then press 'y' for the core files you want to delete that look like

         core.1234
         core.123
         core.12345


 5.28  What is the DCU?  What do I need to know about it?
 9 Oct 1999
 -----------------------------------------
  The DCU is the Device Configuration Utility which is a character
  based, menu driven interface for viewing and modifying the hardware
  configuration of your computer, such as IRQ's and port addresses.

  You can always exit and cancel any changes.  It is one of the only
  ways to see your hardware setup, unlike OpenServer 5 which had the
  handy hwconfig -h.  Uw7/OSR6 also has resmgr.

  During ISL, you have only one chance to enter the DCU.  You can not go
  back using the F9 key and enter it a second time.  You can't enter it
  once you skip it.

  During ISL, it is a good idea to go into the DCU and disable any HBA
  drivers for which you don't have hardware.  There are about a dozen
  or so, and you don't need them all.


 5.29  How do I spool a package instead of install it?
 18 Jan 2001
 ------------------------------------------
  You can do this with pkgadd -s spooldir.  Here's an example of
  how to spool a package called /var/tmp/gnomelibs.pkg to /junk/spooldir:

     pkgadd -s /junk/spooldir -d /var/tmp/gnomelibs.pkg

  This will create /junk/spooldir/gnomelibs/ that contains the standard
  layout for a package, which you might be curious about.  That layout
  looks like the following, but only the first three items remain
  constant.  The last one I've seen named root:

    drwx------    2 root    sys        96 Jan 18 16:55 install
    -rw-r--r--    1 root    sys       253 Oct 30 10:01 pkginfo
    -rw-r--r--    1 root    sys     60840 Oct 30 10:01 pkgmap
    drwx------    3 root    sys        96 Jan 18 16:55 reloc

  Your perms may be less restrictive, because I use C2 security.


 5.30  How do I change the resolution / colors on my video card?
 12 Feb 2002
 ------------------------------------------
  To make adjustments to your display settings, you can use the scoadmin
  video manager in either CHARM or GUI mode.  You have the ability with
  this manager to test the settings first, before making them permanent.
  It's really important to use the lastest graphics drivers from SCO.
  They can be found at:

      ftp://ftp.sco.com/pub/unixware7/drivers/


 5.31  Will you describe the boot process please?
 7 Dec 1999
 ------------------------------------------
  The boot process was taught to me in my Uw7/OSR6 Admin II class at
  the Open Learning Center in Santa Cruz.  Here is what happens
  when you push the power button on a Uw7/OSR6 computer:

     A.  The mainboard BIOS loads runs a series of tests called POST,
         for Power On Self Test.
     B.  After POST, the BIOS loads Sector 0, Cylinder 0 on the
         boot drive that was chosen in the BIOS setup (A,C).
     C.  This sector is what we call the Master Boot Block, or the
         Master Boot Record (MBB or MBR).  This contains the partition
         table which is read to determine the active partition.
     D.  The secondary bootstrap then reads sector 0 of the Active
         partition and loads what it finds there.  On Uw7/OSR6, this is the
         boot slice, # 7, which is raw data and contains the boot program.
     E.  The boot program runs and we see the splash screen.
         If no keys are pressed for 5 seconds, then the system continues
         to boot up.  If a key is pressed, you see a boot: prompt and the
         system pauses.  When the system continues loading, boot reads
         some or all of the following files from /stand:

           stage3.blm
           bfs.blm
           dcmp.blm
           hd.blm
           platform.blm
           smallfs.blm

          If the computer can't find /stand, then you will get an error
          like, "Can't load Stage3."

     F.  Boot reads and acts upon the data in:

           /stand/boot
           /stand/bootmsgs

     G.  Boot loads and runs the kernel, unix.

     H.  After the kernel is successfully loaded and running in memory,
         you see the message, "The system is coming up."

  --------

     a.  The kernel runs sysproc (as PID 0), which starts init.

     b.  Init (as PID 1) executes, and reads inittab to set the initial
         run level and mount filesystems.

     c.  Init goes through the inittab and runs all the programs it is
         told to, based on the run level that the system is entering.

     d.  Almost always, this includes reading and running /etc/rc2 which
         runs all the S##scripts in /etc/rc2.d.

     e.  init starts the login sessions (via /etc/rc.d)
              starts File and Print sharing (via /etc/rc3.d)
              starts programs after logins have started (via /etc/dinit.d)

  Then you should see a login prompt, either GUI or terminal text.


 5.32  What is the default run level for Uw7/OSR6?  How do I set it?
 18 Dec 2005
 ------------------------------------------
  The default run level is 2.  It's rarely 3 but would be so if you
  installed Netware or NFS utilities.

  Set the default run level in /etc/inittab.  The line you want to edit
  looks like:

     is:3:initdefault:


 5.33  What does 'Can't load stage3' mean?
 7 Dec 1999
 ------------------------------------------
  As described above in the boot process question, the system will return
  a "Can't load stage3" error when it can't find the file /stand/stage3.blm
  when the system is booting.  This commonly happens when you've installed
  Uw7/OSR6 into a partition so that the /stand slice exists entirely or in part
  beyond the 1024th cylinder.


 5.34  What can I do at the boot: prompt?
 18 Dec 2000
 ------------------------------------------
  If you hit the spacebar when you see the Uw7/OSR6 splash screen, you can
  access the usual unix style  boot:  prompt.  You can't type ls, but
  you can type dir.  You can type ? to get a list of commands.
  You can boot the computer by typing boot, b, go, or g, then Enter.
  You can boot to init 1 by typing initstate=1, then go.  You can boot
  the unix.old kernel by typing bootprog=unix.old, then go.  You
  can boot to a DOS partition by typing:  b hd(0,dos)


 5.35  Where do I set autoboot time, after which the system goes multiuser?
 15 Oct 1999
 ------------------------------------------
  You can set the variable AUTOBOOT=15 in the file /stand/boot
  to set the autotimeout at 15 seconds, instead of 5 seconds.
  This is the number of seconds that the splash screen will
  stay up before autobooting the system.

  You can also set a variable called TIMEOUT=60 in /stand/boot
  to set the number of seconds to 60, that the computer will wait at
  a boot:  prompt before booting.  Normally the computer will wait
  indefinitely (TIMEOUT=0) if the user presses a key during the
  AUTOBOOT delay and causes the boot: prompt to appear.


 5.36  How do I boot unix.old?
 18 Dec 2000
 ------------------------------------------
  To boot the old kernel, unix.old, that was running before you relinked
  the kernel, type the following at the boot:  prompt,

     bootprog=unix.old
     go


 5.37  How do I make a change to the /etc/inittab file?
 12 Feb 2002
 ------------------------------------------
  We often make changes to the /etc/inittab file when we want to
  to make a change to the initstate or how a terminal is behaving.
  To make a permanent change to the inittab file, you will need to
  edit two files:

     /etc/conf/init.d/kernel
     /etc/inittab

  Manually editing these two files works well.  The inittab file is
  made from the kernel file whenever the idmkinit command is run.


 5.38  Why does my system hang during startup or during shutdown?
 15 Oct 1999
 ------------------------------------------
  The system executes one file at a time in the /etc/rc2.d directory
  and waits for the file to finish running before it starts the next
  file.  Sometimes the ppp or the lp script can hang, and you can
  see this by typing ps -ef.  Look for an S##script that is stuck.


 5.39  How do I rebuild the kernel?
 20 Oct 1999
 ------------------------------------------
  To rebuild the kernel:

     *  log in as root
     *  /etc/conf/bin/idbuild -B
     *  shutdown -g0 -y -i6

  By rebooting with the -i6, the environment maker idmkenv is run on reboot.


 5.40  How do I rebuild the MBB or MBR?
 7 Dec 1999
 ------------------------------------------
  Sometimes the MBB of the computer's root hard drive gets trashed and
  you will not be able to boot the computer from the hard drive.  You will
  probably see a NO SYSTEM DISK, or NO OS error from the BIOS.   If you
  boot from your boot/root emergency disks, you can use fdisk to recreate
  your MBB.  Enter the fdisk program and you'll see the MBR option on
  the main menu.  These days, I'm using a SuperTar more often, because
  two of them have Emergency Recovery Programs.


 5.41  How do I rebuild the boot slice?
 7 Dec 1999    by Tony Nelson
 ------------------------------------------
  If your boot slice has been corrupted, boot will not load, and
  probably nothing will appear on your screen after POST.  You will
  see no Uw7/OSR6 splash screen.  If you need to rebuild your boot slice,
  you can do this as follows:

     *   Boot off the emergency disks
     *   Mount the filesystems
     *   Access a Unix shell
     *   /mnt/usr/bin/disksetup -b /mnt/etc/boot /dev/rdsk/c0b0t0d0s0
     *   exit
     *   ctrl-alt-F1
     *   Reboot


 5.42  How do I figure what process caused a core dump, such as core.242?
 7 Dec 1999  by Robert Lipe
 ------------------------------------------
  You can easily find this information by typing:

     # file core.242

       core.242:      ELF 32-bit LSB core file 80386 Version 1
                      Arguments = '/etc/ifor_pmd '


 5.43  What are the important tunable parameters I might adjust like MAXUP?
 12 Feb 2002
 ------------------------------------------
 There isn't much you can tune to increase performance.  Most
 parameters are autotuned these days on Uw7/OSR6.

 There are a few important tunables that you may run into like MAXUP,
 ULIMIT, and MAXLINK.  Search your http://localhost:457/ pages for
 Tunable Parameters and read about them.  The first three sections are
 the important ones.  Here's a summary:

 To view a tunable:      /etc/conf/bin/idtune -g MAXUP
 To set a tunable:       /etc/conf/bin/idtune -m MAXUP 250

 Now there are two types of tunable parameters, internet and KERNEL.

   *  internet:  parameter names are lower case
                 tunables stored in /etc/inet/dfl

   *  KERNEL:    parameter names are upper case
                 tunables are stored in /etc/conf/mtune.d
                                        /etc/conf/autotune.d

 Important ones are:                             Default Value:

   *  ULIMIT    block size of the largest file          2097151
                listed in /etc/default/login

   *  MAXLINK   Maximum number of subdirectories           1000
                allowed in a directory
                changed with idtune.

   *  MAXUP     Maximum number of processes an               80
                unprivileged user can run.
                changed with idtune.

   *  NPROC     The maximum number of processes             400
                possible on the system.
                changed with idtune.

   *  SFSZLIM   Soft size limit for a user file           3FFFFFFF
      HFSZLIM   Hard size limit for a user file           3FFFFFFF

   *  SFNOLIM   Soft limit on the number of files a user opens.
      HFNOLIM   Hard limit on the number of files a user opens.

   *  NUMREGPT
   *  NUMSCOPT

   *  RSTCHOWN
   *  CONSOLE_SECURITY
   *  USER_RDTSC

   *  SHMMAX
   *  SEGKMEM_BYTES


 5.44  How do I stop the X desktop or the CDE from running?
 30 Oct 1999
 -------------------------------------
  You can use the following commands to have an affect on the CDE or
  what people commonly call the X desktop:

     scologin enable
     scologin disable
     scologin start
     scologin stop

  You don't need to scologin stop when you change your video settings.
  Any new settings will take affect the next time you log in.

  If you run a scologin stop, then log in on some terminal like vt04,
  you can do do a startx to bring up the PMWM instead of the CDE.
  Or you can type startx -cde to bring up the CDE manually.


 5.45  How do I send a pop-up message to the Windows machines on my LAN?
 18 Dec 2000
 ---------------------------------------
  With Visionfs, root can send a broadcast pop-up message to Windows machines.
  The command is something like:

    /usr/vision/bin/visionfs message --to luke --from Sysop Hello World.

  The message can be longer than Hello World.  The message can be
  longer than one line and formatted.  Send the message with quotes,
  and you'll see your secondary prompt, usually >, indicating your shell
  is waiting for you to complete the command (which needs the ending ")

   # /usr/vision/bin/visionfs message --to luke --from Sysop "
   > Hello Pappy,
   >
   > I've got a little update for you.
   >
   > The address you wanted was:  Ben Franklin
   >                              1600 Pennsylvania Ave
   >                              Washington D.C,  90036"


 5.46  How do I change the message I see at the login prompt?
 12 Feb 2002
 ----------------------------------------
  Modify the /etc/issue file.  Normally you're presented with:

      Welcome to UnixWare 7.1.1
      The system's name is yoda.

      Login (vt04):

  You can have this give more or less information as your security
  needs dictate.

  For telnet, you can supress the message with in.telnetd -h in your
  inted.conf file.  To make your own message, you can use the banner
  trick in /etc/hosts.allow.


 5.47  How do I get the character terminals to blank the screen?
 26 Dec 1999
 ----------------------------------------
  There is a kernel parameter called TBLNK that you can easily
  modify with vtblank (1M):

     # vtblank           -  View TBLNK seconds and (on | off) state
     # vtblank -s 60     -  Set the screen to blank after 60 sec, turn on.
     # vtblank -m 1      -  Set the screen to blank after 1 min, turn on.
     # vtblank -o off    -  Disable screen blanking, leave TBLNK unchanged.
     # vtblank -o on     -  Enable screen blanking.


 5.48  How do I load XFree86 instead of XSco?
 18 Dec 2000   contribs Boyd Gerber
 ----------------------------------------
   For example the Mach64 card.

   1. cp /usr/dt/config/Xservers to /etc/dt/config/Xservers
   2. Edit /etc/dt/config/Xservers so that the line

   * Local local@console /usr/bin/X11/X :0 -noexit

   becomes

   * Local local@console /usr/X11R6/bin/XF86_Mach64 :0


 5.49  How do I disable tty's on UnixWare 7?
 18 Dec 2000   contribs Boyd Gerber
 ----------------------------------------
   Look at the man page on pmadm for more information.

   pmadm -d -p contty -s XXX      # where XXX is the tty number to disable.
   pmadm -e -p contty -s 8        # will enable it


 5.50  How do I check which PTF patches are installed?
 8 Jun 2001
 ----------------------------------------
     You can run the pkginfo command on the patch set, then
   pipe it into grep to filter out the chaff and then into
   sort to put in the order that they use on the SCO Quick
   List of Patches page.

      pkginfo -lc patch | grep PSTAMP | sort -nr | less

     Your SSE's get listed first, then your PTF's.


 5.51  How do I find my Activation Key?
 10 Dec 2007
 ----------------------------------------
 UnixWare 7/OpenUNIX 8/OpenServer 6 you do the following.

 UnixWare 7/OpenUNIX 8 you get Serial Number(SN), Activation Key(AK),
 License and Data(LD).

 SN: grep SerialID /var/adm/isl/ifile
 AK: grep ActKey /usr/vam/isl/ifile
 LD: grep LicenseData /var/adm/isl/ifile

 OpenServer 6 you get Serial Number(SN), Activation Key(AK), License and
 Data(LD).

 SN: grep SERIAL_NUMBER /usr/adm/ISL/log/*
 AK: grep ACTIVATION_KEY /usr/adm/ISL/log/*
 LD: grep ANNOTATION_LINE /usr/adm/ISL/log/*




______________________________
|                              |
|   6.  Security               |
|______________________________|


 6.1   What are the system security features?
 7 Dec 1999
 --------------------------------------
  The system controls access to files via permissions and user logins.
  The system controls access to and from the network via Tcp Wrappers and
  Packet Filters.  The system controls access to sensitive system commands
  via permissions and privileges, using the commands su, tfadmin,
  adminrole, and adminuser.  There is a special type of user besides
  root called a system owner, that is a security risk, and should not
  be used willy nilly.  It turns out that anyone with system owner
  privilege can issue the command  /sbin/tfadmin passwd root and change
  root's password.  It's not a good idea to give people system owner
  accounts.

  There is a Skunkware program called sudo, an enhanced su, that people
  like also.


 6.2   What are permissions?
 25 Oct 1999
 --------------------------------------
  Permissions are the -rwxr-xr-- bits and the UID:GID on the file that you
  see when you do a long listing on a file.  These are discussed in
  Section (2.6) and elsewhere.


 6.3   What are Tcp Wrappers and Packet Filters?
 12 Feb 2002
 --------------------------------------
  Tcp wrappers control who is allowed to access the services run via inetd.
  And packet filters control exactly which packets are allowed to move in
  and out of each NIC.  Both allow and deny certain things to happen
  based on a set of rules that are checked in order.  The first rule to
  match the item being tested is the rule that gets applied.  UnixWare 7
  came with both.


 6.4   What are privileges?
 7 Dec 1999
 --------------------------------------
  Users need to be granted the privilege to run important system commands
  like kill, shutdown, and ifconfig.  Privileges are an additional way,
  besides permissions, to control who can run sensitive commands like
  shutdown and ifconfig.  By using privileges, root can grant the right
  to run a command or group of commands, rather than give out the root
  password and telling the user to use su.  When a user has been granted
  privileges to use a command, they execute that command as if they were
  root, using that command as an argument to the tfadmin command, as in

     /sbin/tfadmin shutdown -g0 -y -i6

  (The system maintains a security privilege database, and it can get
  corrupted.  Check it by typing /sbin/initprivs and fix it with
  /etc/security/tools/setpriv -x)


 6.5   What are the alternatives to su?  A user needs a privilege.
 25 Oct 1999
 --------------------------------------
  Instead of granting every right by giving out the root password and
  telling someone to use su, we use the tfadmin command and the privilege
  mechanism.  This allows us to grant specific access.


 6.6   How do I use tfadmin, adminuser, and adminrole, instead of su?
 18 Dec 2000
 --------------------------------------
  To use privileges instead of su, we do the following:

     A)  Create a group of commands that a user needs, called a role,
         with the adminrole command
     B)  Assign a user or users to that role with adminuser.
     C)  Then they can execute the commands using tfadmin.

  This is straightforward enough.  The following is an example, where I'll
  grant the privilege to use 'kill' and 'shutdown' to Yurtle:

  Script started on Mon Oct 25 20:56:10 1999
  # id | awk '{ print $1 " " $2 }'
  UID=0(root) GID=3(sys)
  #
  # /bin/adminrole -n SCRAM
  # /bin/adminrole -a kill:/bin/kill:allprivs SCRAM
  # /bin/adminrole -a shutdown:/sbin/shutdown:allprivs SCRAM
  # /bin/adminuser -n -o SCRAM yurtle
  #
  # ^D

  script done on Mon Oct 25 21:00:45 1999

  That's all there is to it.  Yurtle can kill and shutdown now,
  as long as initprivs returns nothing and they type their command like:

    /sbin/tfadmin shutdown -g0 -y -i0


 6.7   What are some gaping security risks I need to patch immediately?
 12 Feb 2002
 --------------------------------------
    SCO has released quite a few interim security patches for buffer
  overflow vulnerabilities.  These are serious if you have users on your
  UnixWare 7/OpenServer 6 machine that may probe your system.  Eventually
  they will be wrapped up into an SSE patch, I figure, but you can apply
  them now.

    Also, recently there have been issues with rtpm and ntp.  These have
  been taken care of by PTF's 7691 and 7710.  Even though they started out
  as SSE's, they've now been rolled into PTF's.

    There are several CERT advisories that pertain directly to UnixWare 711.
  As such, these documented security risks are well known throughout the
  net underground, and if someone knows your system, they may try these.
  If system security is at all important to you, then apply the SSE patches.

  I am running the following SSE patches on 7.1.1

     SSE 7033   Bind
     SSE 7039   Su
     SSE 7042   Xlock
     SSE 7046   Uidadmin
     SSE 7047   xauto
     SSE 7053   Package tools
     SSE 7059   rtpm
     SSE 7060   scohelp
     SSE 7065   telnet
     SSE 7066   ftp

     PTF 7684   verity scohelp
     PTF 7691   rtpm
     PTF 7710   ntp

  And I compiled my own wu-ftpd 2.6.2, so I don't use SSE 7658.

  There's a hole in Pine up through 4.10.  There are many other
  attacks  that people can use to exploit Unix.  Have a look at:
  http://oliver.efri.hr/~crv/security/bugs/list.html
  for an extensive list of security exploits that may pertain to you.

  There's a way for people to flood your ports and create a DoS attack.
  The http://www.sco.com/security page has a way to guard against that.

  There is a feature that anyone with system owner privileges on Uw7/OSR6
  can change root's password with /sbin/tfadmin passwd root.

  Any emergency recovery diskettes that you make are like master keys
  to your system.  Anyone with those can reboot your computer and boot
  off of those (if the floppy is enabled) and change root's password.
  Try to guard those as tightly as you guard root.

  The Tcp Wrappers are excellent, and you may want to use them to
  protect telnet, rlogin, and rsh, so that people can't just log in
  remotely.  People like to use ssh to do secure telnet.

  It's very important to get the correct files from SCO's security
  site on their web page.


 6.8   I'm not sure if I should apply a Uw7/OSR6 security patch, what do I do?
 31 Oct 1999
 --------------------------------------
  Each SSE### patch will only install on the exact version of UnixWare
  for which it was written.


 6.9  How do I check which SSE security patches are installed?
 8 Jun 2001
 ----------------------------------------
   You can run the pkginfo command on the patch set, then
 pipe it into grep to filter out the chaff and then into
 sort to put in the order of latest patch first.

      pkginfo -lc patch | grep PSTAMP | sort -nr | less

   Your SSE's get listed first, then your PTF's.


 6.10  What does 'unable to invoke login scheme means' ?
 2 Jul 2001
 -------------------------------------
   You will see this message in your syslog if someone makes a telnet
 connection to your host but doesn't complete the login process within
 the timeout period.




______________________________
|                              |
| 8.  Third Party Software     |
|______________________________|


 8.1  openssl-0.9.6b            www.openssl.org
 12 Jul 2001
------------------------------------------------------------------------
 You don't need openssl-engines which is an experimental library
 for crypto card peripherals.

 1)  Guess correct host.
 2)  ./config threads    <---  configure using threads.
 3)  make                <---  Uses cc.  Very nice build.
 4)  make test           <---  Excellent.  Passes all the extensive tests.
 5)  make install


 8.2  ssh2 - openssh-2.9.2p2      www.openssh.org
 12 Jul 2001
 ----------------------------------------
  openssh2 needs openssl, zlib and a few others.  Check the INSTALL
  file.

    1) Guesses correct host.
    2) ./configure --x-libraries=/usr/X/lib \
       --x-includes=/usr/X/include --with-ipv4-default
    3) gmake
    4) no tests
    5) gmake install
    6) /etc/rc2.d/S99sshd start

 Up and running well.  I can login.


 8.3  Star Office
 18 Sept 1999   contribs Roberto Zini
 ----------------------------------------
  Star Office 5.0 ran on UnixWare 7, but is buggy and hard to find.

  Star Office 5.1  does not run on Uw7.1.1 due to the lack of
  thread support in lxrun at this time.  Look for Sun to
  distribute a Java version of Star Office in the end of 1999.

  Now at the end of 2000, it looks like Sun has frozen work on a Java
  version, but they released Star Office 5.2.  It requires glibc 2.1.0.
  No reports yet.


 8.4  Where do I find a piece of software called "xxxxxxxxxxx" for Uw7.1.0?
 12 Feb 2002
 ----------------------------------------
  There were many programs available for UnixWare7 on Skunkware.


     http://www.sco.com/skunkware/

  There is an archive for UnixWare called Freebird, located at:

     http://www.freebird.org/


 8.5  Lonetar, Backup Edge, Backup Professional
 6 Jan 2000
 ----------------------------------------
  I've used Lonetar for years and I swear by it.  I have heard many
  people who will say the exact same thing for Backup Edge.  Both of
  those have Emergency Recovery software.  I've used Airbag and it
  has a bunch of nice features.  Beware of the Putfront, though.
  Backup Professional is another product by Cactus and it worked well
  for me, but was too tricky for me to be happy with.

  When using Lonetar on Uw7.1, it will modify the access times of all
  your files that it backs up, corrupting your security privilege
  database (initprivs).  This can be fixed with setpriv -x as described
  elsewhere in this Faq.  This can be prevented by editing the
  Ltar.X.cron and Ltar.X.tape files in /etc/lone-tar, where you would
  replace the 'X' with 'M' 'V' 'S' and 'I' for Master, Verify, Selective,
  and Incremental.  The details are in the new Lonetar online Faq.
  You'll end up searching for OPTIONS= and removing any lower case 'a'.


 8.6  What is on Skunkware?
 18 Sept 1999
 ----------------------------------------
  Here is a list of the programs on the Uw7.1.0 OLSS disc:

  a2ps aalib Acme addressbo AnswerGar apache ApacheJMe astrolog autoconf
  bash bb bison bladeenc blt24g bzip2 calc catdoc cdrecord cgiwrap Count
  cpio ctags cvs dejagnu ecu egcs elvis enhydra enscript eperl esound Eterm
  expect528 fetchmail file fileutils findutils flex fnlib freefonts freeWAIS
  ftwalk fvwm fvwm95 fweb fwf gawk gdb getline gimp glibs glimpse gnucash
  gnuplot gphoto groff gs guile gutils gv gzip htdig httpanaly hypermail
  ImageMagi infozip inn ipalias irc ispell itcl301 jikes jsdk kde less lsof
  lwgate lyx majorcool majordomo make maplay mathrec mc md5 mgdiff mkpkg
  mpack mpeg2enco mpegplay mpg123 mtools mutt mysql nana ncftp nedit nvi
  objc orion palmpilot patch pixmap povray procdump procmail psutils python
  qtfree rcs rpm rxvt sbart sentry sgmltools sharutil skunkperl slrn snd
  squid stl strobe sudo swing tanked tar tcl804 tclx804 tcsh teTeX texinfo
  tik timidity tk804 tkinfo top transfig treeps ttutils vim vrwave wget
  WindowMak xanim xaos xascii xautolock xboing xbuffy xcoral xdiary xdir
  xearth xemacs xfig xfishtank xgalaga xgrabsc xhtml xinvest xkobo xlockmore
  xmailbox xmcd XmHTML xmix Xmixer xmmix xpaint xpdf xpipeman3 xpm xpool
  xquote xrolodex xscavenge xscreensa Xswallow xt xv xwave zircon zsh


 8.7   How do I enable 128-bit encryption with Netscape programs?
 12 Feb 2002
 ---------------------------------------
  The 128-bit program is called /opt/netscape/netscape-us  and it
  is already on your system, but you need to pay $20 to your var to
  get the COLA.  I am looking at my COLA for 128-bit Netscape, and it
  it titled,
              "SCO Strong Encryption Supplement"

  Run the Scoadmin License Manager and add in the new COLA license
  number and code.  Then run encrypt_config.  See it's man page.


 8.8   Wordperfect 8
 20 Oct 1999
 -------------------------------------
  The Wordperfect 8 Linux version works with lxrun, except for
  a bug where the program may exit right after printing.


 8.9   How do I install the KDE?  Is it any good?
 12 Feb 2002
 --------------------------------------
    I would update my graphics drivers and install set71101, then the
  rest should go very smoothly.

    I installed KDE 1.1.2 the other day, after downloading it from
  SCO skunkware, and I was amazed at how effortless it was to
  install and how outstanding an interface it is.  Thanks to Ron Record,
  and the other goodly folks at SCO.

    On the SCO website, you'll find a procedure to install the KDE.


 8.10   Where is Kermit for UnixWare 7?
 18 Dec 2000   contribs [email protected]
 --------------------------------------
   Kermit communications software for serial and network connections,
   file transfer, character-set translation, alpha and numeric paging,
   and scripting can be downloaded from the Kermit Project website at
   Columbia University:

      http://www.columbia.edu/kermit/


 8.11  Pine-4.33
 2 Jul 2001
 --------------------------------------
  This version supports threads.
  Downloads:      http://www.washington.edu/pine/

  $ gzcat pine4.33.tar.gz | tar xvopf -

  Then cd into the pine4.33 directory, go down into doc/tech-notes/
  and read index.html.

  Here's what you'll learn:
       1)  Pine builds on UnixWare 7.x.x using the command:   build uw2
       2)  Before you build it, you probably want to edit a few files:

               pine4.33/pine/makefile.uw2
               pine4.33/pico/makefile.uw2
               pine4.33/pine/osdep/os-sv4.h
               pine4.33/pico/osdep/os-sv4.h

   pine/makefile.uw2:   In this file I changed:
              OPTIMIZE=    -O -Kpentium_pro
              DEBUG=       #-g -DDEBUG

   pico/makefile.uw2:   In this file I changed:
              OPTIMIZE=    -O -Kpentium_pro
              DEBUG=       #-g -DDEBUG

   pine/osdep/os-sv4.h:   In this file I changed:
              #define DF_MAILCHECK  "600"
              #define MAXFILLCOL    "132"

   pico/osdep/os-sv4.h:   In this file I changed:
              #include <locale.h>
              #define MAILDIR   "/var/mail"
              #define SPELLER   "/usr/local/bin/ispell"

   The choice to optimize was mine, after I had already
   built and tested this a few times.

   Then I compiled it in it's top level directory ./pine4.33.

   I used the build uw2 command to compile it:

            ./build uw2 > make.log 2>&1

   while I switched to another terminal and

            less make.log
            shift+f

   so I can tail the log file.

   After building it, it's on to installing it.  To install Pine,
   log in as root, copy the files pico, pilot, and pine from ./bin to
   /usr/local/bin,  chown them to root:sys, and chmod them to 555.

   The others executables like imapd and mtest are optional to install.

   After installing Pine, it's on to configuring it's system-wide defaults.
   To configure Pine's system wide defaults, create the file pine.conf
   as follows:

     1)  Log in as root.
     2)  cd /usr/local/lib
     3)  pine -conf > pine.conf
     4)  chmod 644 pine.conf
     5)  cp -p pine.conf pine.conf.fixed
     6)  vi pine.conf.fixed:
            looking to change _only_ the items you
            want fixed, ie. users can't change those defaults.
            See also mine below....
     7)  Once you set up those fixed items, DELETE all the other fields
         you didn't touch.  You don't want them fixed.
     8)  vi pine.conf:
            Set the system-wide defaults that the user can change.
            See also mine below....

          pine.conf.fixed
      -------------------------------------------------
     |smtp-server=yoda
     |feature-list=allow-changing-from,
     |     compose-maps-delete-key-to-ctrl-d,
     |     quell-dead-letter-on-cancel,
     |     quell-user-lookup-in-passwd-file
     |
     |local-fullname=Matt Schalit
     |local-address=matthew
     |ssh-path=/usr/local/bin/ssh
     |

          pine.conf
      -------------------------------------------------
     |user-domain=pacbell.net
     |nntp-server=news.pacbell.net
     |feature-list=compose-cut-from-cursor,
     |     enable-sigdashes,
     |     enable-search-and-replace,
     |     enable-reply-indent-string-editing,
     |     include-text-in-reply,
     |     reply-always-uses-reply-to,
     |     enable-background-sending,
     |     enable-delivery-status-notification,
     |     compose-sets-newsgroup-without-confirm,
     |     news-post-without-validation,
     |     delete-skips-deleted,
     |     prefer-plain-text,
     |     quell-extra-post-prompt,
     |     enable-aggregate-command-set,
     |     enable-full-header-cmd,
     |     enable-jump-shortcut,
     |     enable-goto-in-file-browser,
     |     enable-tab-completion,
     |     disable-take-last-comma-first,
     |     enable-dot-files,
     |     expunge-without-confirm,
     |     no-expunge-without-confirm-everywhere,
     |     quell-folder-internal-msg,
     |     quit-without-confirm,
     |     show-plain-text-internally
     |character-set=ISO-8859-1
     |speller=/usr/local/bin/ispell
     |composer-wrap-column=128
     |sort-key=thread

   9)  Now just remove any previous ~/.pinerc files and run pine.
       Use the S for Setup
       Use the C for Config
       Change a few things, like your name if necessary.
       To read news, enter an nntp-server.  If your nntp-server
       login name is differnt from you UnixWare 7 username, then
       you need to make your nntp-server: field look like this,

                    news.pacbell.net/user=matt123

       Otherwise, leave off the /user=matt123 part and just use
       your news server's FQDN.

   10) Finally exit pine and do the final trick:  setting the From:
          What I mean by this everyone's email has a return address
          on it in the From: field.

          Everybody needs to specify a From: by hand, unless you own
          a registered, named domain, and are running pine from there.
          When I set my user-domain in pine.conf to pacbell.net, I'm
          setting the right hand side of the @.  When I set my From:
          as desribed below, I'm setting the whole [email protected].

          To set your From:   vi ~/.pinerc

         Part of my ~/.pinerc
      -----------------------------------------------------------
     |customized-hdrs=From: Matt Schalit <[email protected]>
     |

   That's about it.  Pine pauses a lot when reading news, so don't
   be alarmed if it takes a long time to enter a group.


 8.12 Alladin Ghostscript gs7.00
 2 Jul 2001
 ----------------------------------------
       ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs700/

 1)  Read the doc/build.htm
 2)  Read the doc/make.htm
 3)  Read the doc/install.htm
 4)  No host, no configure porgram.
 5)  Hard to build.  You can get away with skunkware gs, but don't bother
     if you care about your apps.
 6)  cd src
 7)  cp unix-gcc.mak unix-gcc.mak.orig
 8)  vi unix-gcc.mak
       At this point you have to modify the file and make a bunch of settings
       that are not easy to figure out.  You have to read and experiment a lot.
       Here's the variables that I changed or added, others that were left alone
       I'll not put in here:

INSTALL = /usr/local/bin/install
JSRCDIR=/home/matthew/Uber/Gnome/jpeg-6b
PSRCDIR=/home/matthew/Uber/Gnome/libpng-1.0.10
SHARE_LIBPNG=1
ZSRCDIR=/home/matthew/Uber/Gnome/zlib-1.1.3
SHARE_ZLIB=1
AR=/usr/local/bin/ar
RANLIB=/usr/local/bin/ranlib
XCFLAGS=-DSVR4
EXTRALIBS=-lsocket -lnsl
STDLIBS=-pthread -lm
XINCLUDE=-I/usr/X/include
XLIBS=Xt SM ICE Xext X11
XLIBDIRS=-L/usr/X/lib
XLIBDIR=
SYNC=posync
DEVICE_DEVS2=$(DD)cljet5.dev $(DD)stcolor.dev

  9) gmake
 10) Here's how to test it out.
       a)  cd lib
       b)  ../bin/gs ../examples/tiger.ps

 11) gmake install
 12) Fix perms if you have a strong umask like I do.


 8.13  Gnu-make-3.79.1
 12 Feb 2002
 -------------------------------------
   Probably best to get this off of OSTools from SCO's download page.


 8.14   binuitils-2.11
 12 Feb 2002
 -------------------------------------------------------------------------
    Use OSTools version of these program from SCO downloads.


 8.15  gmp-3.1.1
 2 Jul 2001
 -------------------------------------
 1)  Guesses correct host, even though it calls it a pentium2-sco-sysv5uw7.1.1
     because it optimizes it for my pentium2.
 2)  cd objdir
 3)  ../gmp-3.1.1/configure
 4)  gmake
 5)  gmake check  -ok.  all tests passed.


 8.16  libtool-1.4.2  From Gnu.org
 12 Feb 2002
 -------------------------------------
   This one if very complicated unless you get the libtool.m4.patch
  off my ftp site and apply it all the way down the libtool source tree.
  See the bug-libtool list for more details from Larry Roseman and me.


 8.17  m4-1.4p
 2 Jul 2001
 -------------------------------------
 1)  Guesses wrong host.
 2)  CC="/bin/cc -Kalloca"  CPPFLAGS=-I/usr/local/include ./configure \
     --host=i586-sco-sysv5uw7.1.1 --with-gmp --enable-shared
 3)  gmake
 4)  gmake check      - ok.  All 72 tests passed.
 5)  gmake install
 6)  ln -s /usr/local/bin/m4 /usr/local/bin/gm4
     You'll want to do this symlink, because apps look for gm4.


 8.18  dejagnu-1.4
 2 Jul 2001
 -------------------------------------
 1)  Wrong host, use the method below to specify the host....
 2)  ./configure  --x-includes=/usr/X/include --x-libraries=/usr/X/lib \
     --with-tclinclude=/usr/local/bin i586-sco-sysv5uw7.1.1
 3)  gmake
 4)  gmake info
 5)  gmake install


 8.19  autoconf-2.50
 12 Feb 2002
 -------------------------------------
    Use the OSTools version of autoconf from SCO downloads.


 8.20   gcc
 12 Feb 2002
 -------------------------------------
 1)  I wrote up a gcc-mini-HOWTO at

          ftp://ftp.schalit.net/pub/mini-HOWTO/

  But it's much better to use the OSTools version from SCO downloads
  along with UDK Feature Supplement 711b.


 8.21  gnu-tar-1.13
 2 Jul 2001
 -------------------------------------
  1)  Wrong host.
  2)  ./configure --host=i586-sco-sysv5uw7.1.1 --disable-largefile \
      --disable-nls --x-includes=/usr/X/include --x-libraries=/usr/X/lib
  3)  gmake
  4)  gmake check    - ok.  10/10 tests passed
  5)  gmake install prefix=/usr/local
  6)  ln -s /usr/local/bin/tar /usr/local/bin/gtar


 8.22  bzip2-1.0.1
 2 Jul 2001
 -------------------------------------
 1)  No configure, so host is not used.
 2)  gmake    - ok.  compiles the static lib and passes all tests.
 3)  gmake -f Makefile-libbz2_so     - ok.  Makes the shared lib.
 4)  gmake install PREFIX=/usr/local
 5)  cp libbz2.so.1.0.1 /usr/local/lib
 6)  cp bzip2-shared /usr/local/bin
 7)  chmod 755 /usr/local/bin/bzip2-shared  /usr/local/lib/libbz2.so.1.0.1
 8)  wrong 711 perms on a lot of bzip2 files


 8.23  gdbm-1.8.0
 2 Jul 2001
 -------------------------------------
 1) wrong host
 2) The ltmain and ltconfig.sh in this app are too old.
       cp /usr/local/share/libtool/ltconfig .
       cp /usr/local/share/libtool/ltmain.sh .

 3) LDFLAGS=-L/usr/ucblib NM=/usr/local/bin/nm ./configure \
    --host=i586-sco-sysv5uw7.1.1 --x-libraries=/usr/X/lib \
    --x-includes=/usr/X/include

 4) gmake
 5) gmake install fails to work.  Need to install manually.
 6) gmake -n install
      This command just prints out what the install script
      wanted to do, and you can do it by hand.   This may
      be why things work poorly and my results need to be
      double checked.


 8.24  flex-2.5.4a     ftp.gnu.org/pub/non-gnu/flex/
 2 Jul 2001
 -------------------------------------
 1) correct host?
 2) ./configure
 3) gmake check
 4) gmake bigcheck
 5) gmake install


 8.25  zlib-1.1.3
 12 Feb 2002
 -------------------------------------
   You can install this from skunkware.  It's been around a long time.


 8.26  perl-5.6.1
 12 Feb 2002
 -------------------------------------
 Perl is complicated to install because it has about 72 questions
 that you need to answer in order for it to be configure for the gmake.
 The best way is to just start doing it, as versus read all the files
 it tells you to.  You can bail out and start again.

 I posted to the comp.unix.sco.misc newsgroup with an output of all
 the 72 variables to create a working version.  There are many options
 that will make perl fail its tests, so you might want to skim over
 those if you decide to have a go at it.




_____________________________________
|                                     |
|   9.  Useful Shell Commands         |
|_____________________________________|


 9.1 How do I search in every file for a string like "See foo?"
 18 Sept 1999
 ----------------------------------------
  To find the string "See foo" in every local file, one can do a 'find'
  and 'fgrep' utilizing 'xargs' to run a group of fgreps at once which
  is more efficient than running one fgrep at a time:

    find / -type f -mount | xargs fgrep -le "See foo"


 9.2  How do I find the largest files and directories?
 18 Sept 1999
 ----------------------------------------
  To find the largest files and directories, in units of kilobytes
  one can use 'du,' 'sort,' and 'less' to list the files from largest
  to smallest:

     du -akx | sort -nr | less


 9.3  How do I find the largest files?
 12 Jul 2001
 ----------------------------------------
  To find the largest files, in units of bytes, excluding files smaller
  than 1 MB, one can use find, ls, awk, sort, and less:

         find / -type f -size +2048 -exec ls -l {} + | \
         awk '{ print $5 "\t" $9 }' | sort -nr | less

  The same find again, but in units of kilobytes:

         find / -type f -size +2048 -exec ls -l {} + | \
         awk '{ print int($5/1024) "\t" $9 }' | sort -nr | less


 9.4  How do I determine the number of free inodes?
 18 Sept 1999
 ----------------------------------------
  Use the 'df' command:

     df -i


 9.5  How do I find the user who is using files in a filesystem and
        thus preventing it from being unmounted?
 18 Dec 2000
 ----------------------------------------
  Use the 'fuser' command, and notice that it refers to block devices
  unless you throw the '-c' flag which lets you use mount points:

     fuser -cu /home     <--  List all PIDs(usernames) using files in /home
     fuser -u /dev/fd0   <--  List all PIDs(usernames) using the first floppy
     fuser -u /dev/dsk/c0b0t0d0s4  <-- " using slice 4 on disk 0 ( /home )




____________________________________________________
|                                                    |
|   10.  Migrating from OpenServer 5 to UnixWare 7   |
|____________________________________________________|


 10.1   SCO Migration Tools
 8 Jun 2001   contrib  Boyd Gerber
 ----------------------------------------
   SCO provides a set of Migration Tools to UnixWare 7.

        http://www.sco.com/migration/

   Always check the following links for the latest information
   on UnixWare 7.

      http://www.sco.com/unixware7/documentation
      http://www.sco.com/upgrade/
   or
      http://wdb1.sco.com/clbk_web/owa/dwn_customer


 10.2   SETUID bit
 8 Jun 2001   contrib   [email protected]
 ------------------------------------------
      SETUID and SETGID bits allow a process to gain higher privileges
    than the caller.

      Under UnixWare 7/OpenServer 6, a program also needs to gain privileges
    from the system by asking even if it can gain them (similarly
    to Windows NT).

      If a C program has a call to the setreuid function like this :

            setreuid(geteuid(),geteuid());

    and the SETUID bit is set correctly, it will work under OpenServer
    but not under some version of UnixWare.  You need to put some privileges
    on the executable file by using the filepriv shell command to make it
    work under UnixWare 7/OpenServer 6:

            filepriv -f setuid programfile.exe

--
Boyd Gerber <[email protected]> 801 849-0213
ZENEZ   1042 East Fort Union #135, Midvale Utah  84047