[ Usenet FAQs | Search | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives


Quarterly ASCII posting of Caldera (SCO) OpenUNIX 8 FAQ

There are reader questions on this topic!
Help others by sharing your knowledge

From: gerberb@zenez.com (Boyd Lynn Gerber)
Newsgroups: comp.unix.unixware.misc
Subject: Quarterly ASCII posting of Caldera (SCO) OpenUNIX 8 FAQ
Date: Mon, 26 Apr 2004 02:11:04 +0000 (UTC)
Message-ID: <ou8faqqt_1082945461@news.xmission.com>
Summary: This posting gives an ASCII dump of the entire Caldera (SCO) OpenUNIX 8
         FAQ for newsgroups quarterly.

Archive-name: unix-faq/openunix/qt-faq
Posting-Frequency: quarterly
Version: 3.0.0a
Last-modified: 2002/08/12
URL: http://www.zenez.com/cgi-bin/ou8faq/faq.pl
Maintainer:   Boyd Lynn Gerber <gerberb@zenez.com>
Disclaimer: Approval for *.answers is based on form, not content.

The latest version of the OpenUNIX 8 (UnixWare 7) Faq is available from a few
places.  The size is about 180 KB for the text version.

Web      http://www.zenez.com/cgi-bin/scouw7faq/faq.pl  Searchable html 
							version.
Ftp      ftp://ftp.zenez.com/pub/zenez/FAQ/ou8faqqt.txt	Anon, unixtext)
							Current home.  
							
Caldera (SCO) OpenUNIX 8 FAQ ASCII. 

         ____________________________________________________________
        |                                                            |
        |             OpenUNIX 8 FAQ       Version 3.00              |
        |                        17th Revsion                        |
        |                         12 Feb 2002                        |
        |                                                            |
        |  Author.............Matthew Schalit  mschalit@pacbell.net  |
        |   Web version.......Boyd Gerber      gerberb@zenez.com     |
        |    Hosting..........Tony Lawrence    tony@pcunix.com       |
        `____________________________________________________________'


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



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?



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  How do I add a package that's on a disc?  
  1.12  What are the names of the Uw7 devices in /dev? 
  1.13  What is stdin?  What is stdout?  What is stderr?
  1.14  Why am I suddenly getting not privileged or no permissions errors?
  1.15  How do I access DOS diskettes?
  1.16  What are some really neat things about Uw7?
  1.17  What's the Webtop?
  1.18  What's Visionfs?
  1.19  What's a sticky bit?
  1.20  Who's logged into my Uw7 host?
  1.21  What processes are being run by user foobar?
  1.22  How do I boot a Uw7 computer?
  1.23  How do I turn off a Uw7 computer or just reboot it?
  1.24  How do I boot into single user mode?
  1.25  What's an inode?
  1.26  What's a hard link?
  1.27  What's a symbolic link?
  1.28  How many users are licensed on my Uw7 host?
  1.29  What's a router?  What's a route?  What's a default route?
  1.30  What's a hop?
  1.31  What's ISL?
  1.32  What's an ACL?
  1.33  What are the minimum system requirements for Uw711?
  1.34  Where do I get the two install diskettes and the HBA diskette?
  1.35  In what order do I insert my HBA diskettes, one came from a 3rd party?
  1.36  How do I list the installed software on the system?
  1.37  How do I check and repair the installed software?
  1.38  What's a MB?  What's a Mb?  What's a KB and a Kb?
  1.39  How do I convert decimal numbers to binary numbers?
  1.40  How do I convert binary to decimal?
  1.41  Are the any Y2K or 2-digit vs. 4-digit year issues?
  1.42  What are my biggest problems with Uw7?
  1.43  How do I document my Uw7 System? (HW, SW...)
  1.44  What about programming in UnixWare 7?
  1.45  How do I migrate from OpenServer 5.0.x to UnixWare 7.1.1?
  1.46  How do I get my IDE cdrom recognized during ISL?
  1.47  SCO's been sold to Caldera, what will happen to UnixWare 7?
  1.48  When will Open Unix 8 be released?
  1.49  What is the LKP that will be in Open Unix 8?
  1.50  Why do I see words with parentheses like fdisk(1M) and pwrite(2)?


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 UnixWare7?
  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 command 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?



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.1.0?
  3.18  What is the tape drive called?
  3.19  What is a good tape drive to use with Uw7?
  3.20  What are some of the tape commands I want to know?
  3.21  What are the various filesystem types on Uw7?
  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?
  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 system?
  3.42  How do I superformat a diskette in Uw7?
  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 box?
  4.2   What is a good brand of nic to use in Uw7?
  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?
  4.10  What is a TCP Wrapper?
  4.11  What is a Packet Filter?
  4.12  Why can't root ftp into Uw7?
  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?
  4.23  What are good IP addresses to use for my private LAN?
  4.24  How do I setup Uw7 as a router for two subnets?
  4.25  What is a good modem for Uw7?
  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 host?
  4.34  What web servers are running or not on Uw7 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?
  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?
 


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, with nice?
  5.24  What's good to know about cron in Uw7?
  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?  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?
  5.50  How do I check which PTF patches are installed?




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 security patch, what do I do?
  6.9   How do I check which SSE security patches are installed?



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.1.0?
  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?
  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

  10.1   SCO Migration Tools
  10.2   SETUID bit 
         
         
      







 ______________________________
|                              |
| 0.   Intro                   |
|______________________________|



  0.1   WWWWW&H?
  12 Feb 2002
  -----------------------------------------
    Who   - Matthew Schalit, mschalit@pacbell.net, Age 34.
            B.S. in Physics UCSB, UnixWare 7 ACE.
        Contribs
            Boyd Gerber, Roberto Zini, Jim Van Verth, Robert Lipe
            Hops, mitrich, zigazou, James Richardson, tangent. T. Lawrence,
            and others.
    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 operating 
            system (SCO Uw7).  It can roughly be applied to Open Unix 8.
    Where - I come from Northern California.
    When  - This was originally posted to c.u.u.m. on 18 Oct 1999.
            This is the 16th and final revision.  Caldera has moved on
            to Open Unix 8 and that spells the end for this FAQ.
    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   - I publish the original straight text so that it's portable, and
            Boyd Gerber handles the Web site version and the real time user
            contribution program.  The web version is hosted by Tony Lawrence.



        Recent changes are dated 12 Feb 2002.   
      




  0.2   Copyright & Disclaimer
  7 Dec 1999
  ----------------------------------------
     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.  It'd be an honor.  Matthew Schalit 
     makes 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?
  12 Feb 2002
  ----------------------------------------
    The Faq can be found at it's home, in text, pdf, or postscript. 

    Ftp:    ftp://ftp.schalit.net/pub/Uw7Faq/
    Web:    http://zenez.pcunix.com/cgi-bin/scouw7faq/faq.pl
    Email:  mschalit@pacbell.net

    Send me some email and the file type if you'd like, and I'll send
    it along.

    Looking through my ftp log, occasionally I see folks getting their 
    download denied because their ftp client sent an invalid PORT command 
    that used an ip address like 192.168.1.10.  Private address like that
    fail because they are not routable, meaning the ftp server can't get 
    the data to you.  So the server gives up and doesn't try.  In that case,
    I recommend you try to use the passive ftp that Netscape does by default,
    or via the Uw7 command line:

          ftp -p ftp.schalit.net



    If you want to host the FAQ, Boyd has 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.711.tar.gz
              README 







  0.4   May I translate this Faq?
  8 Jun 2001
  ----------------------------------------
   The UnixWare community and I would appreciate any translations.
   Send me some email [mschalit@pacbell.net] 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
  --------------------------------------
    Not much to do.  It's just another piece of history now, and was
    published to the internet in comp.unix.unixware.





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


  1.1  What's a node?  What's a host?
  18 Dec 2000
  ----------------------------------------
   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.


  1.2  What's a nodename?  What's a hostname?
  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 UnixWare7 host to search for a word 
   or words.  If the host is down, use the docserver at Caldera:

      http://localhost:457/                <--  For the UnixWare host.
      http://www.caldera.com/suppot/docs   <--  At Caldera and updated.


   My favorite places for information:

      http://www.google.com/           <--  Search the newsgroups
      http://docsrv.caldera.com:80     <--  UnixWare7 Docs
      http://docsrv.caldera.com:1997   <--  Open Unix 8 Docs
      http://stage.caldera.com/ta/     <--  Caldera 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
      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?
  16 Oct 2001
  ----------------------------------------
   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



  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



  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.





  1.11  How do I add a package that's on a disc?
  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.12  What are the names of the media devices (like disk, tape, etc...)
  12 Feb 2002
  ----------------------------------------
    Open Unix 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.13  What is stdin?  What is stdout?  What is stderr?
  12 Feb 2002
  ----------------------------------------
   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)
                                         






  1.14  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.15  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 Caldera's ftp site*
   because mtools ver 3.9.1 has bugs that I wrote a mini-HOWTO about.





  1.16  What are some really neat things about Uw7?
  12 Feb 2002
  ----------------------------------------
    There's not really anything special about Uw7.  There were
    a couple of gimmicks, but they don't come with Open Unix 8.
    It could handle 8 processors.
    



  1.17  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.18  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.19  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.20  Who is logged into my Uw7 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.21  What processes are being run by user foobar?
  24 Sept 1999
  ----------------------------------------
   You can use the 'ps -u foobar' command.



  1.22  How do I boot a Uw7 computer?
  24 Sept 1999
  ----------------------------------------
   When you turn on the power, you will see a UnixWare 7 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.23  How do I turn off a Uw7 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.24  How do I boot into single user mode?
  12 Feb 2002
  ----------------------------------------
   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.


 



  1.25  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.26  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.27  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 block addresses.



  1.28  How many users are licensed on my Uw7 host?
  9 Oct 1999
  ----------------------------------------
   You can run the uname -l command.



  1.29  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, caldera, 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.30  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.31  What's ISL?
  13 Oct 1999
  ----------------------------------------
   ISL stands for Initial System Load, which is what we call it when
   you install UnixWare 7.



  1.32  What an ACL?
  12 Feb 2002
  ----------------------------------------
   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 Open Unix 8.







  1.33  What are the minimum system requirements for Uw711?
  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.caldera.com/chwp/



  1.34  Where do I get the two install diskettes and the HBA diskette?
  12 Feb 2002
  ----------------------------------------
   Normally those diskettes were packaged with the Uw7 media kit that you got.
   When they are lost or corrupted, you can recreate them from images 
   that are on your Uw7 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 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 Caldera FTP site in one of the ptf's.




  1.35  In what order do I insert my HBA diskettes, one came from a 3rd party?
  18 Dec 2000
  ----------------------------------------
   When you are given an HBA diskette for Uw7 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.36  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.37  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.38  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.39  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.40  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.41  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.42  What are my biggest problems with Uw7?
  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.43  How do I document my UW 7 System? (HW, SW...)
  12 Feb 2002
  --------------------------------------
   There are a number of ways to view and/or create a text file of your 
   UnixWare 7 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.44  What about programming in UnixWare 7?
  12 Feb 2002
  --------------------------------------
   The SCO Programmer's FAQ tries to answer these questions for both 
   OpenServer 5 and UnixWare 7.

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






  1.45  How do I migrate from OpenServer 5.0.x to UnixWare 7.1.1?
  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 Caldera's site now.








  1.46  How do I get my IDE cdrom recognized during ISL?
  12 Feb 2002
  --------------------------------------
     Some people want to install Uw7 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, 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.1 HBA diskette that came in the media kit.  Check
 
            ftp://ftp.caldera.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_711a 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.47  SCO's been sold to Caldera, what will happen to UnixWare 7?
  12 Feb 2002
  ------------------------------
     UnixWare 7.x.x is deprecated.  Use Open Unix 8 from Caldera now.
     
     


  1.48  When will Open Unix 8 be released?
  12 Jul 2001
  ------------------------------
    Open Unix 8 was released on July 2, 2001.




  1.49  What's the LKP that'll be in Open Unix 8?
  12 Feb 2002
  ------------------------------
    One of the main features of Caldera Open Unix 8 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 Open Unix 8.




  1.50  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).






 _________________________________
|                                 |
|  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?
  18 Dec 2000
  ----------------------------------------
   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 command 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 2001
  --------------------------------------
    Uw7 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 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.










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

  3.1   What's a partition?
  14 Oct 1999
  ----------------------------------------
   A disk can be subdivided into one to four continuous sections
   called partitions.  In reality, Unixware7 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
   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 1999 
  ----------------------------------------
   The disc has a filesystem on it, which is called a 'cdfs' filesystem
   in Uw7, 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.1.x?
  12 Feb 2002
  ----------------------------------------
     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 Caldera'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?
  12 Feb 2002
  ----------------------------------------
   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?
  18 Dec 2000
  ------------------------------------
   Uw7 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 2002
  ------------------------------------
   It is fairly straightforward to add another drive to a UnixWare
   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 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 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 Dec 2000
  ------------------------------------
   It is not very common to partition a hard drive with UnixWare, 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 UW 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?
  7 Dec 1999
  -------------------------------------
   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 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 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?
  18 Dec 2000
  ---------------------------------------
   As of this version, I can't get this to work on Uw7.  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 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