Newsgroups: comp.unix.sco.announce,comp.answers,news.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!micro-heart-of-gold.mit.edu!nntp.club.cc.cmu.edu!usenet01.sei.cmu.edu!logbridge.uoregon.edu!newsfeed.stanford.edu!paloalto-snf1.gtei.net!news.gtei.net!enews.sgi.com!coop.net!world!apl
From:
[email protected] (Tony Lawrence)
Subject: comp.unix.sco Technical FAQ (6/7)
Message-ID: <
[email protected]>
Approved:
[email protected]
Date: Thu, 12 Oct 2000 23:33:30 GMT
Organization:
http://www.aplawrence.com
Keywords: FAQ SCO Xenix Unix Frequently Asked Questions
Followup-To: comp.unix.sco.misc
Lines: 1148
Xref: senator-bedfellow.mit.edu comp.unix.sco.announce:2482 comp.answers:42689 news.answers:193883
Archive-Name: comp.unix.sco Technical FAQ 6/7
Posting-Frequency: Monthly (mid month)
Last-modified: Oct 10
comp.unix.sco Technical FAQ 6/7
More Questions and Answers Common to Unix, Xenix and ODT
FAQ Starting Page
http://aplawrence.com/SCOFAQ/index.html
These FAQS were developed and maintained for years by
[email protected] (Stephen M. Dunn). Steve no longer has the time to
maintain them, and has asked me to take them over. Please remember the
debt all of us owe to Steve for his efforts- I myself spent many hours
learning from these very documents, and I'm sure many of us can say
similar things.
Because Steve has not been able to maintain these for a while now,
some of the information herein is outdated. I am working to correct
that, but it's a lot to catch up on, so if you spot something, please
let me know. For the moment, I'm just marking some of it as probably
being useless; as I have time, I'll check further to be certain before
I remove anything.
Suggestion: Use my
http://aplawrence.com/search.html to find what you
are looking for.
I need fax software. Who makes it?
This section is probably out of date. I know VSI-fax is still
available, and Faximum, but Arnet is definitely gone and I'm sure a
lot of the others are also (09/13/2000).
There are numerous vendors in the Unix fax software market. Many of
these make software that runs on Xenix as well as on Unix. Listed
below, in no particular order, are company names, product names, and
contact information for most of them. As always, I hope this is a
reasonably complete list; inclusion or exclusion is not to be
construed as a comment on the product or company. Also, there is a fax
FAQ posted in comp.dcom.fax (from which this list is derived - note
that it is out of date); you may wish to look there. Also, the
standard "look through magazines" applies. Fax products are often
advertised, and sometimes reviewed. The September 1995 edition of SCO
World Magazine reviewed some fax products, for example.
* Arnet - ArnetFAX; (615) 834-8000,
[email protected]
* Black and White Software - NXFax; (802) 496-8500,
[email protected]
* comFax - Com-M-Tex; +49 89 546130-0
* COS - TruFax; (609) 771-6705,
[email protected]
* Faximum Software - Faximum ELS, Faximum PLUS; (604) 925-3600,
[email protected]
* ICSW - [product name unknown]; (800) 486-7274, (602) 998-8623
* i link GmbH - mix fax; +49 30 216 20 48
* Intuitive Technology - FaxLink; (409) 762-8456
* netCS GmbH - netFAX; +49 30 787999-0
* QUEST systems GmbH - FaxX; +49 231 914028-0,
[email protected]
* Signify Software Products - i(F)x Faxsoftware for UNIX;
+31-(0)3480-30131,
[email protected]
* smoFax - SMO GmbH; +49 721 551971
* UniSal System - FaxTrax; (201) 729-9221
* V Systems - VSI-Fax; (714) 489-8778,
[email protected],
http://www.vsi.com/
* Company Unknown - FaxFX; (708) 574-3600
* Company Unknown - FAXSMART
* Company Unknown - Fax*Starx; (800) 327 9859
You might also want to look at a couple of publicly-available
programs. Check out Hylafax at
http://www.hylafax.org/ and
ftp://ftp.hylafax.org/.
ftp://sgi.com/sgi/fax/. You can find more
information on mgetty+sendfax at
http://wais.leo.org/~doering/mgetty/mgetty_1.html.
Roberto Zini:
SFax by Sicomm (
http://www.sicomm.fr)
Please notice that, despite the French web site, their products get
localized in several languages, including English and Italian.
[Table of Contents]
_________________________________________________________________
How much swap space do I need?
There are two factors to consider - how much you actually need for
correct operation of your system, and how much you might need in case
of a kernel panic.
Unix and Xenix are virtual memory operating systems. If you have, say,
16 MB of RAM and a 20 MB swap device, you have 36 MB of virtual memory
available, of which the operating system will keep 16 MB in memory
(whatever space it uses, plus the most recently used user memory).
Therefore, the total of swap space plus physical RAM must equal or
exceed the greatest amount of physical memory your system will need.
The kernel, however, will check how much swap space is available
whenever a program executes a system call which may require more swap
space, such as fork() or malloc(). There must be enough free swap
space to hold the memory which the system call will allocate, or else
the system call will fail. This is a safety precaution which applies
even if no swapping is required! So you will need as much swap space
as you will have swappable memory (generally, stack and data regions).
Under Unix, you can use the crash command to check how much swap space
has been allocated. Once in crash, type od -d availsmem to see the
value of availsmem. This is a kernel variable which is measured in 4k
units (i.e. pages in the i386 memory architecture) and which says how
much more memory can be allocated. Any request for a number of pages
greater than the current value of availsmem will fail. See TA 482712
for some more information on availsmem.
Of course, in order to know how much swap space you need, you need to
have an idea of how much total virtual memory your programs will
require. Some need more than others. For example, if you're running
any Java components, you may need a lot of swap space; check the
release notes for details. X Windows generally eats a lot of memory,
so you'll want plenty of swap space if you do much work in X. Your
applications' documentation may give you information on how much
swap/memory they require.
Also see:
* Can I add more swap space?
* I've added more RAM, do I need more swap?
The other consideration relates to system panics, and does not apply
to Xenix. Should a system panic occur, the kernel will dump the
contents of physical memory into the dump device (which is usually the
same as the swap device but does not have to be). There is a
net.rumour that should you have more physical memory than swap space,
it will overwrite whatever's next to the swap device with the dump. It
is possible to force the kernel to overwrite something with a poor
choice of parameters on the Boot: line (e.g. explicitly giving an
incorrect size for the swap device), but without this form of
prompting, the kernel will not dump any more memory than it believes
will fit into the device specified for dumps.
One final comment - swapping is a wonderful thing, in that it allows
you to use more memory than you actually have. However, disk is
several orders of magnitude slower than memory, and so the more
swapping you have, the slower your system will run. If you find your
system is swapping and that is having a noticeable effect on
performance, you should consider adding memory if your hardware and OS
support more memory than you have.
[Table of Contents]
_________________________________________________________________
Can I add more swap space?
Yes, with caveats. The first one does not apply to Xenix. If you have
space in your Unix partition which is not allocated to any device
(i.e. is not being used by a filesystem, your swap device, etc.), use
/etc/swap to add this to your system's available swap space. Note that
free space within a filesystem cannot be used in this manner. Also,
this setting only works until the system is shutdown, so if you want
it to be done permanently, put it in a file in /etc/rc2.d so it gets
run whenever the system goes multiuser. If you have two hard drives,
you can split swap space between them, which may improve swapping
performance.
On OpenServer Release 5, you can also add swap space in the form of a
file on one of your filesystems. As with the previous section, you use
the swap command, and the added swap space does not become permanent
unless you add it to a startup file. I have no benchmarks on this, but
I'd expect that swapping to a file is at least a bit slower than
swapping to a dedicated swap division.
The second approach will work on any SCO operating system, but will
require downtime and probably a backup/restore. You can bring the
system up from emergency boot diskettes (or from the distribution
media; instructions are elsewhere in the FAQ) and adjust your drive's
division table. However, in order to adjust the size of a filesystem
or swap device, you must delete it and recreate it, so if you need to
take space from a filesystem to add it to swap, you will need to
backup that filesystem and restore it later.
Also see:
* How much swap space do I need?
* I've added more RAM, do I need more swap?
[Table of Contents]
_________________________________________________________________
Do haltsys and reboot do a sync()?
Yes. haltsys and reboot are both the same file. In some versions, they
are a binary, but rest assured that they do sync(). In other versions,
they are a shell script and you can look at them to determine that
they do call /bin/sync.
If it's at all possible to use shutdown to shut the system down,
rather than using haltsys or reboot, do so. shutdown is the proper way
to do it; it goes out and kills processes and attempts to shut the
system down as cleanly as possible. haltsys and reboot, on the other
hand, try to shut the system down as quickly as possible, and any
programs which are running will be rudely interrupted.
Also, if you're using a caching hard drive controller, be aware that
it may not realize the system has been shut down, so even though Xenix
or Unix tells you it's *** Safe to power down ***, there may still be
data left in the hardware cache that isn't flushed to disk yet. A
good, but not foolproof, precaution is to press a key to allow the
system to reboot, and not power down until the Boot: prompt comes up.
The added time and disk activity may allow the controller to flush its
cache. If your caching controller has a specific driver for SCO and
you're using that driver, then it can communicate with the operating
system to ensure that its buffers are all flushed, and this problem
does not arise.
Note that using a caching hard drive controller on a caching operating
system is generally of little or no use, though there are certainly
some cases in which it makes a significant performance difference (but
only by defeating the order in which write requests were made by the
kernel or the application, possibly decreasing data integrity somewhat
if the system crashes).
[Table of Contents]
_________________________________________________________________
How can I get more than 64k inodes?
SCO Xenix and all versions of SCO Unix up to and including 3.2v4.2 use
16-bit unsigned integers for inode numbers, so there is a limit of
slightly under 65 536 inodes available per filesystem. If you are
running one of these versions, you'll have to make multiple
filesystems, each with 64k or less inodes.
OpenServer 5 includes two new filesystems, with 27- and 30-bit inode
numbers. These provide approximately 130 million and approximately one
billion inodes per filesystem, respectively.
[Table of Contents]
_________________________________________________________________
Where do I get zmodem?
Some of the ftp sites listed in the Administrative FAQ (posted at the
same time as this FAQ) should have versions that are compiled and
known to work on SCO systems. See also tls025. If you want source, try
ftp://ftp.cs.pdx.edu/pub/zmodem/. This program also handles X and Y
modem transmission and reception.
Zmodem was designed by Chuck Forsberg of Omen Technology
(
http://www.omen.com/). Omen's Web site includes both freely available
and commercial communications software.
[Table of Contents]
_________________________________________________________________
Where do I get kermit?
The Kermit Project at Columbia University can be found at
http://www.columbia.edu/kermit/ or
[email protected] The latest
version (as of 25 September 1997) can be found, precompiled for a
number of SCO platforms, at
http://www.columbia.edu/kermit/ck60.html
The companion products for Windows 95 and for DOS/Win3.x can be found
at
http://www.columbia.edu/kermit/k95.html and
http://www.columbia.edu/kermit/mskermit.html
[Table of Contents]
_________________________________________________________________
I get messages saying "stat() failed: /tmp/croutPPGa00288: no such file"
Basically, this is normal. When cron runs an at, batch, or cron job,
it creates a temp file named /tmp/crout* to hold the stdout and stderr
of that job. When the job is finished, it mails the results (if any)
to the job's owner and then removes the file.
In the meantime, some other program (probably a filesystem cleaning
daemon) has been scanning for whatever purpose. It did this in two
passes; first, it got a list of all files it had to consider (probably
by asking the shell to expand "/tmp/*" into a list of files); second,
it uses stat() to find out information about each one. Between these
two steps, the cron job finished and cron deleted the file, so by the
time the second job went to get information about the file, it had
vanished.
This message is harmless so long as it refers to a cron output temp
file. If it refers to some other file, you may want to find out what
generated that other file; chances are it's a harmless message, too.
[Table of Contents]
_________________________________________________________________
Does SCO support my hardware?
If you already have your copy of Unix/Xenix/ODT, the first place to
look is in the Release Notes. If you see your hardware listed there,
it's supported.
However, the Release Notes are not quite up-to-date; this industry
changes so quickly that a manual written this month will be out of
date by the time it's come back from the printers. The on-line
solution is at
http://www.sco.com/chwp
SCO used to make the Hardware Compatibility Handbook available in the
form of postscript files, but stopped in late 1997.
To be perfectly accurate, the HCH also is not always up-to-date. The
best advice is to scout around in the EFS directory on ftp.sco.com and
read the doc files for the latest and greatest Advanced Hardware
Supplement files. See also the TLS and VCD directories, plus the
appropriate AHS directory for your version.
[Table of Contents]
_________________________________________________________________
How do I get a file off my distribution diskettes?
The simplest way is to use custom to reinstall that file. If you can't
do this for some reason, try the following. Note that with the
extensive use of symlinks in OSR5, this method may not be very easy to
use on OSR5 because you may not know the actual file you want (which
is the file within the SSO tree, not the file in the usual place
you're accustomed to finding it).
This is obviously dated: no floppy installations exist anymore- it's
all CD (09/13/2000).
NOTE: This applies ONLY to diskette media. I don't have tape or CD to
play with here so I can't be sure on those. Please feel free to send
deltas for these media.
First, find out which diskette it's on. Use your favourite search tool
to look through /etc/perms/* for the file you want. The last field in
each line of this file is the diskette label (e.g. N1, X2).
Find that diskette. Look on the label to see if it's a mountable
filesystem (N1 is; N2 is on some distributions but not on others). If
it's a filesystem, mount it and just copy the file. If it's not, it's
in tar format, with relative pathnames. If the file you want is, say,
/bin/foo, you'd extract it with a command like tar xv2 ./bin/foo
Roberto Zini:
Again, not strictly related but worth knowing: today I wanted to run a
WAV-to-MP3 converted (originally provided for OS5 platforms) under
UnixWare7. The package was distributed in the usual VOL.000.000
format; since it actually is a cpio archive, I've extracted the binary
by making use of the 'r' option of cpio. I skipped over some unwanted
control files (the ones which make the custom database) until I
reached what I wanted to extract; once there I typed a new filename
and the binary got extracted with that given name.
[Table of Contents]
_________________________________________________________________
Will I have problems upgrading my hardware?
There are a lot of different situations possible here - far too many
to cover. I'll handle a few; any common additions to this list are
certainly welcome.
Upgrading memory - on the hardware side, that's easy; add the memory
and run whatever your hardware uses for a setup program. One gotcha
here is that many motherboards with L2 cache can only cache up to a
certain amount of memory. Check with your motherboard manufacturer. In
many cases, you need at least 64 kB of cache per 16 MB of system
memory. From the software side, Xenix handles only 16 MB of RAM;
different versions of Unix handle different amounts, so check the
release notes for your version. The kernel will automatically see the
additional memory, but may not put it to optimal use. There are a few
kernel parameters which can auto-tune themselves within certain ranges
(the best-known is NBUF), but most are fixed at link time. So the
short answer is that the system will _use_ the memory, but perhaps not
in the way you want it to unless you configure and link a new kernel.
Upgrading the CPU - it should work fine, with one notable exception.
Older Unix (and Xenix GT) releases have a timing loop in the ad
(Adaptec 154x) driver detection code which will time out on many
high-end 486 or higher machines, resulting in the host adapter not
being detected. Recent Unix releases have this cured; there is a patch
for at least some older Unix versions. See the question on 154x
detection in section 3.
Using an EIDE drive - first, some background. Traditional hard drives
appear to consist of cylinders, heads, and sectors, and the standard
hard drive controller driver in SCO products has traditionally
expected standard (MFM, RLL, many ESDI, and ATA) hard drives to appear
this way. For ATA drives, this is fine up to about 500 MB, at which
point the interface details and the BIOS conspire to cause problems.
EIDE gets around this by defining a new addressing mode - LBA (Logical
Block Addressing). LBA must be supported by your operating system
and/or your BIOS, however, and no SCO product prior to OpenServer
Release 5 supported LBA mode out of the box. There is a note in the
second section of this FAQ on how you may get an EIDE drive beyond 500
MB to work on 3.2v4.x. Also, LBA support is one of the features of
uod429a; check the documentation for this patch.
If you're running OpenServer Release 5, your EIDE hardware should work
just fine. If you're running an earlier release of SCO Unix, or any
release of SCO Xenix, your EIDE hardware should work as long as it's
in CHS mode and NOT in LBA mode.
The other caveat is that since /boot is real-mode code which does its
disk access through the BIOS, and since the BIOS can only access up to
1024 cylinders, there are several files and directories which must lie
entirely within the first 1024 cylinders in order for you to boot. The
easiest way to do this is to keep your entire boot filesystem within
the first 1024 cylinders. For fresh OSR5 installations, you have the
option of creating separate boot and root filesystems; this is
generally a good idea, and means that your root filesystem can be as
large as you like (since it's only the boot filesystem which needs to
be in the first 1024 cylinders). If you do not select a separate boot
filesystem, or if you're running an older version of Unix or Xenix,
your entire root filesystem should live within the first 1024
cylinders.
Newer BIOSES no longer have that 1024 cylinder limitation (09/13/2000)
Changing SCSI host adapters - there's a big gotcha here. Different
host adapters (even the same one, often, if configured differently)
use different logical mappings of the drive, and a drive set up under
one host adapter may not be readable under another. Even two versions
of the same adapter may have this problem; I've seen problems moving
from an Adaptec 154xB to a 154xC, and Adaptec recommends reformatting
(!). So it may work ... or it may not. Never ever try this without at
least one backup which verifies 100% perfectly ... and see the note
earlier in this FAQ about using tar or cpio for your backups before
considering either to be a good backup program. There is a note in the
Unix-specific part of this FAQ on a possible procedure for such a
change. See also TA number 483121.
Using an ATAPI CD-ROM - SCO Xenix doesn't support CD-ROMs. SCO Unix
(at least since version 3.2.2) does, but prior to OpenServer Release
5, they had to be SCSI CD-ROMs. While SCSI is generally a wiser
choice, support for ATAPI CD-ROMs has been added to OpenServer Release
5. While many IDE CD-ROMs are ATAPI CD-ROMs, not all IDE CD-ROMs
follow the ATAPI spec. Only those which do are supported. Note that
uod429a adds support for ATAPI CD-ROMs; check the notes for this patch
to determine whether it's applicable to your system.
Roberto Zini:
My 2 cents; I've recently upgraded my system (a vanilla EIDE/ATAPI
based machine). Before replacing the MB and the CPU, I carefully wrote
down the list of PCI devices as recognized by the BIOS before the OS5
boot prompt (my system is equipped with a PCI video and network card
and a pretty old ISA sound card); also I checked to make sure they
were re-inserted in the same PCI slots of the newly built machine.
After powering up the machine, everything worked as expected, apart
from the fact that it was WAY faster :-)
[Table of Contents]
_________________________________________________________________
I typed in the wrong serial number!
On some products, there is a command,/etc/serialize, which will do the
dirty work for you. Check for this file before trying the second
method below.
/etc/serialize takes one argument, which is the name of a permissions
file, and will ask you for keys. Try the following:
cd /
ls /etc/perms | while read file
do
/etc/serialize /etc/perms/$file
done
It may complain about some files with nothing to serialize; this is
normal. Also, it will rewrite binaries and should only be run in
single-user mode so that it doesn't clash with files which are
currently busy. It will also leave some files named /tmp/*.ser with
your serial numbers and activation keys - so you definitely want to
clean those up.
If you don't have /etc/serialize, there's another way to do it. In
your /etc/perms directory, find all of the files which belong to the
product in question. Scan each one for a line near the top which
begins #ser=; this line lists all files which must be serialized in
this package. Many of the files in /etc/perms will have no such line,
or will have an empty line; this is normal and these files can be
ignored. The exact list of files will vary from release to release.
You can now use /etc/brand to reserialize them. Change to the root
directory and run /etc/brand serno actkey file [file ...]. For
example, if the files are ./etc/getty and ./unix, you'd run
cd /
/etc/brand sco012345 abafjdlg ./etc/getty ./unix
[Table of Contents]
_________________________________________________________________
Why does fsck want a scratch file?
There is an archaic limit to how large a filesystem fsck can check
using available memory (archaic because it hasn't kept up with the
growth in system memory). The exact limit is not something that
appears to be documented anywhere, and may also vary between versions
and different filesystem types. When this size is exceeded, fsck will
want to use a scratch file to hold information while it's running.
Before I continue, please read the man page for the -t option to fsck,
and pay particular attention to the warning about following it with a
space. Failure to do so may destroy data.
You may have been prompted at the time you installed the OS to create
a scratch division if your root filesystem was too large for fsck to
check. If so, you might wish to edit /etc/default/filesys to specify
that this should be used if the system has to check the root
filesystem after a crash. Add -t /dev/scratch (or whatever you called
the scratch filesystem) in the fsckflags= entry for /dev/root.
For any filesystem other than root, you can generally use a temporary
file on your root filesystem as a scratch file. fsck will create it
and delete it automatically, once you've told it what file to use. I
usually use /tmp/scratch.
If, however, you find you need to fsck /dev/root, which is too big to
check without a scratch file and you don't have a scratch filesystem,
you still have some choices. A blank (but formatted) floppy diskette
will often do the trick. If you're running fsck in single-user mode
and you can guarantee that no swapping has taken place and no swapping
will take place while you're running fsck, you could use /dev/swap.
For Unix 3.2v4.2 and ODT 3.0, see uod418a, which provides a new fsck
which may eliminate the need for a scratch file.
[Table of Contents]
_________________________________________________________________
What books are there about SCO systems?
There are a few, including some very good ones. See
http://aplawrence.com/Books for a SCO specific listing.
[Table of Contents]
_________________________________________________________________
How can I boot multiple operating systems?
Your SCO system includes the ability to boot Unix/Xenix or other
operating systems; see the man page for boot. This is enough in most,
though certainly not all, cases.
As always, make and verify at least one backup and at least one set of
emergency diskettes before performing any major systems work. This
qualifies as major systems work.
Sometimes, you may have to deactivate your Unix/Xenix partition,
install a new operating system, then reboot from your emergency
diskettes and reactivate the Unix/Xenix partition.
There is at least one highly-regarded third-party utility which may
help. Contact V Communications ((800) 648-8266 or
http://www.v-com.com/) for information on System Commander.
Roberto Zini:
Please remember to install Microsoft's OSes first !
[Table of Contents]
_________________________________________________________________
How do I set disk space quotas?
No filesystem in OSR5, SCO Unix, ODT, or Xenix supports hard quotas.
For another approach, look around
ftp://ftp.armory.com/pub/admin/
where you will find, among other things, shell scripts to check users'
disk space usage and notify users and administrators when users are
using more space than you'd like them to.
[Table of Contents]
_________________________________________________________________
How do I find out what IP address a user logged in from?
In OSR5, there are options to who, w, last, and finger which provide
this information. In a program, you can fetch this information from
/etc/utmpx; #include <utmpx.h> for the appropriate definitions.
For some earlier versions, see nwho (in tls059b). The farther back you
go through older versions, the less likely you are to find this sort
of information.
[Table of Contents]
_________________________________________________________________
My ANSI terminal emulator doesn't work correctly
Unfortunately, everyone has a different definition of the behaviour of
an ANSI terminal. The exact definition may also vary between versions
of products (SCO has had more than one version of SCO ANSI, and even
the rudimentary ANSI support in the ANSI.SYS driver in DOS varies
between versions).
If your terminal emulation program doesn't specifically mention that
it emulates a SCO ANSI terminal, chances are that it's designed to
work like ANSI.SYS, and that's not sufficient for SCO ANSI. Many
terminal emulation programs have a specific SCO ANSI setting; check
with your documentation or contact the vendor.
In some cases (particularly via telnet or rlogin), the terminal type
you're using is transmitted as part of the connection sequence. Make
sure that the terminal type your communications software is reporting
is the same as what SCO expects. For example, many programs call their
SCO ANSI emulation "SCOANSI", but SCO calls it "ansi", and if your
software sends "SCOANSI" as its terminal type, your SCO system will
not understand. Many terminal emulation packages allow you to define
what terminal type it will say it's using; set this to "ansi".
[Table of Contents]
_________________________________________________________________
What is Skunkware?
For the full story, see
http://www.sco.com/skunkware/faq.html
The brief summary: Skunkware is a collection of programs which people
have compiled for SCO operating systems. These may have been ported by
SCO staff on their own time, by their authors, or by anyone else. None
of them are supported by SCO. The contents of all Skunkware discs are
available from ftp.sco.com. The current version may also be ordered
on-line from
http://www.sco.com/orders/.
[Table of Contents]
_________________________________________________________________
Can I replace csh with tcsh?
Yes. SCO's csh is both ancient and broken, and many people don't use
it. Note that for many systems there's a specific warning in your
manual that you should not use csh as root's shell.
Consider replacing it with tcsh, available from a number of places
including Skunkware (
ftp://ftp.sco.com/skunkware/). There are no known
problems in simply replacing /bin/csh with tcsh, with the possible
exception SCOAdmin Software complaining about an incorrect checksum
when verifying your software.
[Table of Contents]
_________________________________________________________________
Is my system Year 2000 compliant?
You'll need to check out everything about your system - your hardware
(including the BIOS and the motherboard's real-time clock), your
operating system, any add-on utilities you may have, and your
applications. A brief summary of information gathered from SCO
follows; for more detail, and possibly more up-to-date information,
please visit SCO's site. Please note that the information below is not
guaranteed to be accurate. For official Year 2000 information relating
to SCO products, contact SCO.
* SCO's Y2k Web site is
http://www.sco.com/year2000/
* UnixWare 7 requires the application of the 7.0.1 release
supplement.
* UnixWare 2.1 requires the application of PTF3015.
* UnixWare 2.03 requires the application of PTF2243.
* OpenServer 5.0.5 requires the application of patch oss600a.
* OpenServer 5.0.2 and 5.0.4 require the application of patch
oss601a.
* OpenServer 5.0.0 is not compliant but there is an unsupported
patch, oss603a, available from SCO. Visit
http://www.sco.com/support/osr5_query.html for downloading
information.
* SCO Unix 3.2v4.x require the application of SLS uod426d. 3.2v4.2,
with this patch, qualifies for SCO's Date Processing Limited
Warranty; earlier releases of 4.x will take this patch but are not
covered by the warranty.
* SCO Unix releases 3.2v2.0 and 3.2.0 are not officially listed;
however, the documentation for uod426d states that while this
supplement has not been extensively tested on these releases, it
"should still work as expected" on them. Obviously, there is no
warranty on this.
* SCO Open Server 3.0 and OpenDesktop 3.0 require the application of
SLS uod426d, and are covered by the Date Processing Limited
Warranty. Earlier Open Server and OpenDesktop releases are in the
same category as the Unix releases on which they are based -
uod426d is available and should work, but it has not been
extensively tested on them and this combination carries no
warranty of any kind.
* Xenix 2.3.2 through 2.3.4 require the application of SLS xnx427d.
* There are no patches for Xenix versions prior to 2.3.2.
[Table of Contents]
How do I make environment variables global?
Environment variables are made global by exporting them:
MYVAR="hello"
export MYVAR
Once the variable is exported, you can change it's value and do NOT
have to export it again. If you need everyone to have a particular
variable set, put it in /etc/profile and export it there.
[Table of Contents]
How do I restrict logins?
For some reason, I often get requests to limit users to one login. I
guess the people asking such questions have a reason for wanting to
restrict logins this way. The only way to do it is to add a script to
either /etc/profile or the particular user's .profile that tests to
see if this user is logged in somewhere else. Something like this in
/etc/profile will work:
IAM=`who am i | cut -d" " -f1`
COUNT=`w | cut -d" " -f1 | grep "^$IAM$" | wc -l`
[ $COUNT -gt 1 ] && exit 0
Similar tricks can restrict a user to a particular tty:
IAM=`who am i | cut -d" " -f1`
TTY=`tty`
[ $TTY != "/dev/tty07" ] && [ $IAM = "tony" ] && exit 0
And then there's always restricting login to root: put this in
/etc/profile
IAM=`who am i | cut -d" " -f1`
[ -f /etc/nologin ] && [ $IAM != "root" ] && exit 0
When you need to restrict logins, just "touch /etc/nologin"; remove it
when the need is over.
[Table of Contents]
Why can't I unmount my CDROM?
Filesystems not unmounting: probably because some process is using it.
It might even be you- if you have CD'd there. Something that sometimes
catches folks: you "cd /cdrom" and then perhaps start "ksh". Later on
you cd somewhere else, but the shell you started with is still sitting
on /cdrom- and it wll not unmount.
Use "fuser /mnt" or "fuser /dev/cd0" (note that on Linux these will
produce different results but re equivalent on OSR5 at least) to find
the process and kill it.
[Table of Contents]
What do "hangup" messages mean during shutdown?
Seeing 2931 hangup (number will vary) just means that some process
received and noted a kill -1 signal.
[Table of Contents]
What does "interupt is private" mean ?
An "interrupt is private" message means that you have an interrupt
conflict on something critical- usually your controller. If this isn't
a new install, it's probably because you removed some device and that
caused the BIOS to reassign the interupts, creating a conflict. The
solution is to go into the BIOS and tell it NOT to use that interrupt
for Plug and Play/PCI devices. Hopefully that will get you back to
where you were.
[Table of Contents]
What are interrupts?
A device generally uses interupts to tell the CPU that it is done
doing whatever it was told to do and is ready for more, or when it
receives data that the CPU needs to process. For example, a parallel
or serial port or a NIC card all generate an interrupt when they have
finished sending data, and also if data arrives at their port from
outside. That's why sharing interrupts is difficult- if interrupts can
be shared, the CPU has to figure out what device really needs
attention- therefore it's unlikely that two different devices could
share interrupts, although two devices controlled by the same driver
may be able to. If your process just hangs when you try to access a
device, it may very well be because the interrupt is wrong: the CPU
expects the thing to interrupt on 9 for example) but it is actually
set to 10- the CPU never knows to wake up the driver to process
whatever happened.
[Table of Contents]
How can I send attachments from the command line?
Using mail from the command line: if you want to send attachments, you
need something like "mutt" (available from Skunkware). If it's just
arbitrary text, you can do
mailx -s "This is it" someone@someplace < somefile
or
echo "text
more text" | mailx somebody somebodyelse
[email protected]
[Table of Contents]
Why doesn't the "mutt" I got from Skunkware work?
Thanks to
[email protected] (Ian Peattie)
Because you don't have the ncurses library from
http://www.sco.com/skunkware/src/libraries/
[Table of Contents]
What is an "xxevent" error?
If you see "xxevent" errors, and you have a Digiboard, check to see if
you put the cable on the wrong port of the ports module..
[Table of Contents]
How do I configure a Travan Tape Drive?
Tell "mkdev tape" that it is a DAT.
BTW, my personal experience with these has not been good. I do not
recommend them.
[Table of Contents]
Why does my cron job fail while "at" works?
Probably because your program needs environment variables that cron
does not have set. You need to wrap your job in a script that sets and
exports whatever variables it needs- likely TERM and PATH at least.
Using "at" works because at grabs all your current environment
settings and uses them when it runs the job. See
http://aplawrence.com/Unixart/cron.html for a more complete
discussion.
[Table of Contents]
Why does my screen get confused if I login in UPPER CASE?
Because the system thinks you CAN'T do lower case, so it's trying to
give you a way to still use upper and lower case byt automatically
translating for you. Things that should be upper case get a "\" in
front of every upper case \L\E\T\T\E\R. That mode was designed for
very old, upper-case only terminals, and really isn't useful today; in
fact it will cause many programs to act strangely or not to work at
all.
If that's something you do accidentally and it screws up your
application, you can add these lines to the end of /etc/profile:
stty -iuclc -xcase -olcuc
Those lines will reset you to "normal" if you logged in with upper
case.
[Table of Contents]
Why can't I kill a process with -9?
One of the early things people learn about Unix is that a "kill -9" is
invincible- that a process must die if you send it a KILL (-9).
However, that's not entirely true:
* A process can be sleeping in kernel code. Usually that's because
of faulty hardware or a badly written driver- or maybe a little of
both. A device that isn't set to the interrupt the driver thinks
it is can cause this, for example- the driver is waiting for
something its never going to get. The process doesn't ignore your
signal- it just never gets it.
* A zombie process doesn't react to signals because it's not really
a process at all- it's just what's left over after it died. What's
supposed to happen is that its parent process was to issue a
"wait()" to collect the information about its exit. If the parent
doesn't (programming error or just bad programming), you get a
zombie. The zombie will go away if it's parent dies- it will be
"adopted" by init which will do the wait()- so if you see one
hanging about, check its parent; if it is init, it will be gone
soon, if not the only recourse is to kill the parent..which you
may or may not want to do.
* Finally, a process that is being traced (by a debugger, for
example) won't react to the KILL either.
See SCO TA 104438 for more details.
[Table of Contents]
How do I make the manual pages work for things installed from Skunkware?
You need to:
* Install the GNU Text processing tools from Skunkware
* Modify /etc/default/man so that the MANPATH section reads:
MANPATH=scohelp:/usr/man:/usr/local/man
[Table of Contents]
Where do I get a better vi?
Get vim from Skunkware (it also has a good graphical interface).
Alternatively :
http://www.sco.com/skunkware/editors
Roberto Zini
[Table of Contents]
How can I have a 'command line history & editing' shell under SCO Unix/OS5?
The simplest way is to use the korn shell (ksh); you can change your
login shell from the 'Scoadmin -> Account Manager' interface. Once
you're done, insert the 'set -o vi' line in your $HOME.profile file;
thus enabling the vi(C) compatibile command line history and editing.
Previously typed command can be retrieved by using vi(C)-like commands
such as "ESC k" (scroll the list of typed command backwards), "ESC j"
(scroll forwards) and so on (see the ksh(C) man pages).
Alternatively you can enable emacs-like command, as Richard Howlett
suggested in the following excerpt:
set -o emacs
alias __A=$(print '\0020') # ^P = up = previous command
alias __B=$(print '\0016') # ^N = down = next command
alias __C=$(print '\0006') # ^F = right = forward a character
alias __D=$(print '\0002') # ^B = left = back a character
alias __H=$(print '\0001') # ^A = home = beginning of line
Other shells such as bash, zsh and so on have a command line hustory &
editing which is very similar to the one used under DOS with 'setkey';
check your Skunkware CD-ROM for additional info.
Roberto Zini
[Table of Contents]
_________________________________________________________________
Is it possible to use the mouse in a character application?
Yes; once you've configured your mouse with the 'mkdev mouse' utility,
execute 'usemouse'. This command will start a shell under which you
can move the mouse to 'simulate" cursor keys; to see how it work, try
by editing an existing file with vi (after running the 'usemouse'
command of course). You can move the mouse and watch the cursor moving
accordingly across the screen.
To end the 'usemouse' shell, simply type 'CTRL-D'.
Roberto Zini
[Table of Contents]
_________________________________________________________________
Are there any antivirus programs for Sco Unix/OpenServer?
Shane Gibson posted the following a while ago:
>>
>> The reason you have not found little to nothing, is that there are no
>> viruses that can attack a Unix box.
>>
>
>Actually, that's not entirely accurate. There are VERY few known
>Unix Viri, but they are so few and so (relatively) harmless, that
>there is essentially, no real threatening viri for Unix.
You can find some antivirus packages (or packages which
'scan' the datastream on an Unix Internet server looking for
known DOS/Widows viruses) here:
Dr Solomon Antivirus for Unix
McAfee (
http://www.mcafee.com)
AMAVIS (
http://satan.oih.rwth-aachen.de/AMaViS/amavis.html)
Interscan VirusWall (
http://www.datatel-systems.com/virus.htm)
(
http://www.avertlabs.com/tvdbeta/unix/download.ht)
Sophos AntiVirus (
http://www.sophos.com)
DataFellows (
http://www.datafellows.com)
You can also check for a boot-sector virus by making use of
the following script, kindly posted by Jeff Liebermann:
:
# @(#) bvchk Ver 1.05 Checks for boot sector virus.
# 03/16/93 by Steve Post (
[email protected])
# 02/14/93 tweaks and cleanup (
[email protected])
#
# Check hard disk boot block against stored image
# Must be root to read raw hard disk
# Boot block is 376 bytes in all versions of Xenix and SCO Unix.
#
if [ ! -r /etc/masterboot ]
then
echo "$0: Error. You must be root to read /etc/masterboot and boot
record."
exit
fi
echo "$0: Now comparing /dev/rhd00 boot record with /etc/masterboot"
if ( dd if=/dev/rhd00 bs=376 count=1 | /bin/cmp - /etc/masterboot )
2>/dev/null
then
echo "$0: Looks OK. You're safe."
else
echo "$0: Boot record has been changed. You probably have a virus"
fi
Roberto Zini
[Table of Contents]
_________________________________________________________________
I need to remotely assist a customer; what can I do?
You can use the 'SPY' filesystem included in TLS604: here a short
description:
spyfs: A filesystem that allows authorised users to watch people
typing on console, serial ports, or pseudo ttys, as well as
any program output. Also shows multiscreen(M) contents.
Can also inject characters as if they typed it.
By using it you can 'watch' what the remote user is doing and also
interact with it; a very useful package.
Roberto Zini
[Table of Contents]
_________________________________________________________________
Is it possibile to switch screen from an application?
Yes, but only on the console. You can use the following ESCAPE
sequence to switch (for example) to multiscreen '4':
echo "\033[3z"
The general syntax is:
echo "\033[xz"
where 'x' is a number ranging from 0 to 11 corresponding to the
default 12 available console multiscreens.
Roberto Zini
[Table of Contents]
_________________________________________________________________
Are there any Winzip compatible tools?
Yes: the 'zip' and 'unzip' packages on the Skunkware CD-ROM are 100%
compatible with the DOS and Windows version of the ZIP utility.
Roberto Zini
[Table of Contents]
_________________________________________________________________
I can't access my Windows 9x FAT32 partition from the SCO's one!
FAT32 partition files cannot be access with the doscmd(C) commands
(doscp, dosdir); you can install the mtools package from the Skunkware
CD-ROM which is able to do the trick. Alternatively download tha
latest version from:
ftp://linux.wauug.org/pub/knaff/mtools and
compile it yourself
Roberto Zini
[Table of Contents]
_________________________________________________________________
Are there any 'Office'-like packages for SCO?
Here are some:
* WordPerfect (
http://www.corel.com)
* XESS from AIS (an Excel like package -(
http://www.ais.com)
* Axene (
http://www.axene.com)
* Quad (
http://www.quad.com)
* Goldmetal (
http://www.goldmetal.com)
* Uniplex (
http://www.uniplex.com)
Roberto Zini
[Table of Contents]
_________________________________________________________________
How can I back up to a tape drive on another machine?
The third-party Supertars have this capability
(
http://aplawrence.com/Reviews/supertars.html ) as do some public
domain backup utilities.
You can do it yourself, but you need to establish user equivalency and
have the remote execution commands enabled ("rcmd" on SCO, "rsh" on
Unixware"). Many sites disable these because they are considered bad
security risks.
So the first thing to try is something as simple as
rcmd otherbox "/bin/ls /tmp"
unless and until that works, you aren't going to be able to do
anything more involved. Don't assume that because it works for "john"
that it will work for "pete" and especially for "root"- read the man
pages, and be sure your machine names are correct in ~/.rhosts or
hosts.equiv- often the problem is that you think of your machine as
xyz.someplace.com, but the other machine thinks of you just as "xyz"
or vice versa- pings will often tell the story.
If it does work, consider that you can now pipe the output of any
command here to the inpupt of any command there. So you could, for
example, do:
cd /
tar cvf - . | rcmd otherbox dd of=/dev/rStp0
or whatever else you'd like. But please- check your backups, and check
them especially well if these are machines with different OS'es- you
could find that you cannot easily read back what you wrote!
[Table of Contents]
_________________________________________________________________
Can I change root's shell to something else?
This is probably NOT a good idea for several reasons.
First, you definitely cannot change it to csh, bash, or tcsh. If you
do, startup scripts will fail spectacularly or mysteriously because
they are written for /bin/sh and just plain will not work with those
other shells.
You can probably change to ksh with no ill effects, but you are taking
a small chance. The reason is that ksh has a lot more builtin
functions, so if a script written for /bin/sh happened to define a
function with the same name as a ksh builtin, that script would fail
if run with /bin/ksh (again, mysteriously or spectatcularly depending
on what the function does).
A cautious approach is to setup your environment (create /.kshrc and
add the ENV setting to /.profile) for ksh and then just run "ksh"
after logging in. You can do the same thing for any alternative shell
you want to run. See
http://aplawrence.com/Unixart/ksh.html for more
details on that.
A related issue is that of static linking. The shells you normally run
are dynamically linked- that is, they depend on shared libraries (run
"ldd /bin/sh" to see this). OSR5.0.5 and up provide static versions of
a few utilities in /sbin that could be used in the event of damage to
the shared libraries (which could be as simple as a lost symbolic
link- see
http://www.sco.com/cgi-bin/ssl_reference?110334).
[Table of Contents]
_________________________________________________________________