[comp.binaries.ibm.pc] v02INF1: bin.man, Beginner's Guide to Binaries

boneill@hawk.ulowell.edu (Brian O'Neill) (03/19/89)

Checksum: 1464373988 (verify with "brik -c")
Posting-number: Volume 02 Issue INF1
Originally-from: boneill@hawk.ulowell.edu (Brian O'Neill)
Submitted-by: boneill@hawk.ulowell.edu (Brian O'Neill)
Archive-name: v02info/bin.man

[Date of last change 1/1/89 Release 1.0]

[This file is available via FTP from swan.ulowell.edu (129.63.224.1), file
ibmpc/General/bin.man -B]

		HOW TO GET BINARIES VIA NEWS AND E-MAIL

(c) Copyright 1989 Brian O'Neill. This manual was created to aid people in
the usage of binary postings on UseNet. Permission to copy this file is
granted, so long as credit is given to those who helped. A list of those
people appear at the end of this posting.

   One of the more troubling things to new users is using programs posted to
groups like comp.binaries.ibm.pc. This is in part due to the fact that
different utilties are needed to decode these files into something more
familiar to them. This manual explains how to retrieve binary files posted
to UseNet, and also received by e-mail.

   This manual is divided into several sections, each dealing with a
different aspect of what is needed. Here is the basic setup:

	I. 	Formats and Standards
	II.	Minimum utilities, and how to get them
	III.	Using UNIX to do the work
	IV.	Using MS-DOS to do the work
	V.	Handling archived files
	VI.	Downloading files from UNIX to MSDOS

   This manual was written with the new user in mind. If any section is
unclear to you, please respond to me via e-mail. Let me know what section,
paragraph, and what it was that was unclear. My address is below:

		ArpaNet: boneill@hawk.ulowell.edu
		UUCP: mit-eddie!ulowell!hawk.ulowell.edu!boneill

  		    I. FORMATS AND STANDARDS

   UseNet, and other networks, user groups, and BBS's, all work on some set
of standards for sharing files between a diverse arangement of systems. For
PC's, the most common standard for files is the ARChive. This is a binary
file which allows a user to place several files into one, while compressing
them to save space. Several utilities exist for making and extracting files
from ARC archives. The most common are ARC from System Enhancement
Associates, and PKPAK and PKUNPAK from PKWare. The ARC file has become such
a widespread standard, that it is most commonly used in the transmission of
MS-DOS files over UseNet and e-mail connections. Hence, you will need one of
the above named programs to properly use the files.

   UseNet and e-mail are based on ASCII text. In other words, they are only
able to transmit ASCII files. In order to transmit binary files, they are
transformed into ASCII files first. This is accomplished using a program
called 'uuencode', another fairly common standard. The file can then be
decoded back into binary form using 'uudecode'. These programs are fairly
common among UNIX systems, and are increasingly available for MS-DOS.
UUENCODE/UUDECODE V2.13/2.14 from Richard Marks is the most useful for
MS-DOS users. Once again, you will need a version of uudecode to properly
handle these files.

	      II. MINIMUM UTILITIES, AND HOW TO GET THEM

   You will need some form of uudecode, either UNIX or MS-DOS, to decode the
binaries. If you do not have it for either of these, you must secure a copy
of the source code. If you have FTP access, you can get MS-DOS source code
from simtel20.arpa (File PD1:<MSDOS.STARTER>UUDECODE.PAS). If not, you will
have to get it from someone else. 

   Also, you need an archive extractor. Small extract-only programs are
available, such as ARC-E by Vern Buerg, available widely. It will be assumed
you can secure one of these without problem, as with uudecode.

   Also available is the CBIP Starter's Kit, which contains C source for
uudecode, a uuencoded version of ARC-E, and instructions on how to make use
of these files.

		  III. USING UNIX TO DO THE WORK

   UseNet is a network comprising mostly of UNIX-based machines, so
therefor it is quite common to use the system connected to UseNet to do most
of the work, rather than downloading from that system and doing all the work
on a PC. To do this, you will need the following basic utilities:

			uudecode
			editor (vi, emacs, etc.)
			cat (not necessary, but useful)
			combine (Also not necessary, but makes
				 everything easy)

   The first thing you must do is use your news reader program to save the
articles to files. If the uuencoded file spans more than one article, save
then to different articles. Check your manual pages for the news reader you
have for details. If you are using 'rn', do the following:

   From within the article, or at the end of the article, type 'w
filename'. Answer 'n' to the mailbox format question, and then continue. 's
filename' could also be used, but it saves additional header information
that is not needed, and would have to be edited out anyway.

   For one single file, things are easy. Use your favorite editor and delete
all lines before the 'begin' line, and all lines after the 'end' line. Then
you can give the command 'uudecode file', and the new file will be created
for you. Download the new file to your PC.

   For multiple files, you must edit each file. For the first file, delete
all lines before the 'begin', and go to the end of the file. A line of
uuencoded text looks like this:

M'YV01N2\:0-BSAPV:<Z4D0-B2ATW((+`80AB!@@8.73`F*$Q!X@8.7#@4""E

   You then must delete any lines after the last uuencoded line. Then
proceed to the remaining files, deleting all lines before and after the
uuencoded lines. When you come to the last file, delete all lines after the
'end' line. Save each file after it has been edited.

   Now, to decode them, give the following:

	cat file1 file2 file3 ... | uudecode

   Users of csh can use range specifiers to simplify the typing, such as
if you have a five part file, you can say:

		cat file[1-5] | uudecode

   This will create a file specified in the begin line. Then you can
download this file to your PC.

   Currently, Rahul Dhesi, the moderator of comp.binaries.ibm.pc, has made
available a short, two-line script which will take all parts of a program,
edit, combine, and uudecode them automatically. Here is the shell script:

#! /bin/sh
cat $* | sed '/^END/,/^BEGIN/d' | uudecode

Type this in, do a 'chmod 755 combine' to make it executable, and run it
like this:

		combine file1 file2 ...

You will not have to do any editing at all of the files, as combine will do
this for you. As long as the files are fed in the proper order, all should
be well.

	            IV. USING A PC TO DO THE WORK

   There are several versions of UUDECODE for MS-DOS available. The best is
Richard Marks UUDECODE Version 2.14. It allows for easier handling of
multiple encoded files, using his UUENCODE program. You need some version of
UUDECODE to proceed. Check the local archives, or the CBIP Starter's
Kit.

   After dowloading the files to the PC, edit out unwanted lines in the
file. If using a simple version of UUDECODE, concatenate all the files into
one large file. Then type:

		uudecode <filename>

You should then end up with the program you went through all the trouble
for.

		     V. HANDLING ARCHIVE FILES

[NOTE: Currently, the standard archive format is ARC, developed by SEA. Lately,
controversy has arisen regarding these formats. Without creating further
problems, I will handle ARC as the standard. If in the near future UseNet
agrees on a different format, I will alter it appropriately. -B]

   An archive is simply a file containing several other files. Usually
these other files are compressed in some fashion, in order to save disk
space. These files are used generally for easier handling of several files.
There are many types currently in existence, such as .ARC, .ZOO, and .LBR.
The most common is .ARC.

   To extract files from an ARC file, you must have some sort of extractor.
ARC from SEA, ARC-E from Vern Buerg (to be included in Starter's Kit), and
PKUNPAK) from PKWare are examples. To unpack an entire archive, simply type
one of the following:

			arc x <archive>
			arc-e <archive>
			pkxarc <archive>
			pkunpak <archive>

This will unpack the entire contents into the current directory. You need
not specify the .ARC extension. To extract particular files, simply specify
the filename after the archive name.

   Versions of SEA's ARC are available for UNIX. Please see your nearest
comp.sources.unix archive site for details (volume15/arc521).

             VI. DOWNLOADING FILES FROM UNIX TO MSDOS

   To download the files, you will need the following:

	1) A file transfer protocol on your UNIX system (i.e. Kermit,
	   Xmodem, Zmodem, etc.)

	2) A PC communications package that supports the same protocol

   Due to the large amount of protocols and communications packages
available, it would be next to impossible to describe all of them. choosing
the proper set up often depends on your situation. Some protocols are much
faster than others, yet cannot be used over some networks. For the purposes
of examples, I will use Kermit as the protocol (specifically C-Kermit), and
ProComm as the communications package, as they are in wide use and very
reliable over most networks. A more generic method for downloading follows
afterwards, but you must read the manuals to all programs to operate them
properly.

   First off is to determine what type of file you are downloading, whether
it is binary or ASCII. Usually, if you can read it, it's ASCII. Files with
extensions EXE, COM, and ARC are almost always binary. On UNIX, you can say:

		file <filename>

this will usually tell you what type of file it is.

   Downloading ASCII text is easy. On UNIX type:

		kermit -s <filename>

the "-s" puts C-Kermit into "send" mode. You then instruct your terminal
program to receive a Kermit transfer. On ProComm, you would hit PgDn, and
then select Kermit off the menu, selection 2. ProComm will take care of the
rest, and you can watch it's progress. When it's done, ProComm will return
you to UNIX.

   Downloading binary files are a little more difficult. If you can dial in
to a UNIX host using 8-bit communications (such as 8-N-1), do so. Sometimes
the Login: prompt may look weird, but once the host knows, it will fix
itself. If you cannot use 8-bit settings (the host insists on 7 bits to be
readable), you may wish to transform the binary file into ASCII, using the
uuencode program, downloading as above for normally ASCII files, and
uudecoding the file on the PC.

   If you are able to use 8 bits, on UNIX type:

		kermit -is <filename>

the "-is" puts C-Kermit into "send, image" mode. Basically, "tell it like it
is". As above, hit PgDn, then 2 and ProComm will do the rest. 

   For a more generic explanation of what to do, here is a step-by-step
version of the above, without specifics:

	1) Determine what type the file is (ASCII or binary)

	2) Initiate transfer on UNIX end. Usually accomplished by executing
	a program and giving the filename of what you wish to download. If
	it is a binary file, specify 'binary' or 'image' mode, usually as a
	switch on the command line.

	3) Escape back to the PC, and set for receiving a file using the
	same protocol as being sent with. Often done by hitting some Hot Key
	(usually Pg-Dn), and then specifying the protocol you are using.

   You really should read the manuals to any programs you wish to use for
downloading files. Programs change, and they are not all used the same way.
If you can't seem to get a program to work, consult someone using the same
programs, and see what it might be that you do differently.

		THANKS TO ALL THOSE WHO HELPED...

I'd like to thank all those who helped in the creation of the manuals, and
were patient enough for it to be released:

		Craig Browning
		William Davidsen
		Mike Driscoll
		Bill Fenner
		John Foulkes
		Steven Harding
		Mac Michaels
		Derek Nazareth
		Russ Nelson
		Kevin Reilly

-- end of bin.man --