Initial Windows agent repository
This commit is contained in:
commit
a0db0c2e5b
10589 changed files with 3844063 additions and 0 deletions
279
OGP64/usr/share/doc/unzip/unzipsfx.txt
Normal file
279
OGP64/usr/share/doc/unzip/unzipsfx.txt
Normal file
|
|
@ -0,0 +1,279 @@
|
|||
UNZIPSFX(1L) UNZIPSFX(1L)
|
||||
|
||||
NAME
|
||||
unzipsfx - self-extracting stub for prepending to ZIP archives
|
||||
|
||||
SYNOPSIS
|
||||
<name of unzipsfx+archive combo> [-cfptuz[ajnoqsCLV$]] [file(s) ...
|
||||
[-x xfile(s) ...]]
|
||||
|
||||
DESCRIPTION
|
||||
unzipsfx is a modified version of unzip(1L) designed to be prepended to
|
||||
existing ZIP archives in order to form self-extracting archives.
|
||||
Instead of taking its first non-flag argument to be the zipfile(s) to
|
||||
be extracted, unzipsfx seeks itself under the name by which it was
|
||||
invoked and tests or extracts the contents of the appended archive.
|
||||
Because the executable stub adds bulk to the archive (the whole purpose
|
||||
of which is to be as small as possible), a number of the less-vital
|
||||
capabilities in regular unzip have been removed. Among these are the
|
||||
usage (or help) screen, the listing and diagnostic functions (-l and
|
||||
-v), the ability to decompress older compression formats (the
|
||||
``reduce,'' ``shrink'' and ``implode'' methods). The ability to
|
||||
extract to a directory other than the current one can be selected as a
|
||||
compile-time option, which is now enabled by default since UnZipSFX
|
||||
version 5.5. Similarly, decryption is supported as a compile-time
|
||||
option but should be avoided unless the attached archive contains
|
||||
encrypted files. Starting with release 5.5, another compile-time option
|
||||
adds a simple ``run command after extraction'' feature. This feature
|
||||
is currently incompatible with the ``extract to different directory''
|
||||
feature and remains disabled by default.
|
||||
|
||||
Note that self-extracting archives made with unzipsfx are no more (or
|
||||
less) portable across different operating systems than is the unzip
|
||||
executable itself. In general a self-extracting archive made on a par-
|
||||
ticular Unix system, for example, will only self-extract under the same
|
||||
flavor of Unix. Regular unzip may still be used to extract the embed-
|
||||
ded archive as with any normal zipfile, although it will generate a
|
||||
harmless warning about extra bytes at the beginning of the zipfile.
|
||||
Despite this, however, the self-extracting archive is technically not a
|
||||
valid ZIP archive, and PKUNZIP may be unable to test or extract it.
|
||||
This limitation is due to the simplistic manner in which the archive is
|
||||
created; the internal directory structure is not updated to reflect the
|
||||
extra bytes prepended to the original zipfile.
|
||||
|
||||
ARGUMENTS
|
||||
[file(s)]
|
||||
An optional list of archive members to be processed. Regular
|
||||
expressions (wildcards) similar to those in Unix egrep(1) may be
|
||||
used to match multiple members. These wildcards may contain:
|
||||
|
||||
* matches a sequence of 0 or more characters
|
||||
|
||||
? matches exactly 1 character
|
||||
|
||||
[...] matches any single character found inside the brackets;
|
||||
ranges are specified by a beginning character, a hyphen,
|
||||
and an ending character. If an exclamation point or a
|
||||
caret (`!' or `^') follows the left bracket, then the
|
||||
range of characters within the brackets is complemented
|
||||
(that is, anything except the characters inside the
|
||||
brackets is considered a match).
|
||||
|
||||
(Be sure to quote any character that might otherwise be inter-
|
||||
preted or modified by the operating system, particularly under
|
||||
Unix and VMS.)
|
||||
|
||||
[-x xfile(s)]
|
||||
An optional list of archive members to be excluded from process-
|
||||
ing. Since wildcard characters match directory separators
|
||||
(`/'), this option may be used to exclude any files that are in
|
||||
subdirectories. For example, ``foosfx *.[ch] -x */*'' would
|
||||
extract all C source files in the main directory, but none in
|
||||
any subdirectories. Without the -x option, all C source files
|
||||
in all directories within the zipfile would be extracted.
|
||||
|
||||
If unzipsfx is compiled with SFX_EXDIR defined, the following option is
|
||||
also enabled:
|
||||
|
||||
[-d exdir]
|
||||
An optional directory to which to extract files. By default,
|
||||
all files and subdirectories are recreated in the current direc-
|
||||
tory; the -d option allows extraction in an arbitrary directory
|
||||
(always assuming one has permission to write to the directory).
|
||||
The option and directory may be concatenated without any white
|
||||
space between them, but note that this may cause normal shell
|
||||
behavior to be suppressed. In particular, ``-d ~'' (tilde) is
|
||||
expanded by Unix C shells into the name of the user's home
|
||||
directory, but ``-d~'' is treated as a literal subdirectory
|
||||
``~'' of the current directory.
|
||||
|
||||
OPTIONS
|
||||
unzipsfx supports the following unzip(1L) options: -c and -p (extract
|
||||
to standard output/screen), -f and -u (freshen and update existing
|
||||
files upon extraction), -t (test archive) and -z (print archive com-
|
||||
ment). All normal listing options (-l, -v and -Z) have been removed,
|
||||
but the testing option (-t) may be used as a ``poor man's'' listing.
|
||||
Alternatively, those creating self-extracting archives may wish to
|
||||
include a short listing in the zipfile comment.
|
||||
|
||||
See unzip(1L) for a more complete description of these options.
|
||||
|
||||
MODIFIERS
|
||||
unzipsfx currently supports all unzip(1L) modifiers: -a (convert text
|
||||
files), -n (never overwrite), -o (overwrite without prompting), -q
|
||||
(operate quietly), -C (match names case-insensitively), -L (convert
|
||||
uppercase-OS names to lowercase), -j (junk paths) and -V (retain ver-
|
||||
sion numbers); plus the following operating-system specific options:
|
||||
-X (restore VMS owner/protection info), -s (convert spaces in filenames
|
||||
to underscores [DOS, OS/2, NT]) and -$ (restore volume label [DOS,
|
||||
OS/2, NT, Amiga]).
|
||||
|
||||
(Support for regular ASCII text-conversion may be removed in future
|
||||
versions, since it is simple enough for the archive's creator to ensure
|
||||
that text files have the appropriate format for the local OS. EBCDIC
|
||||
conversion will of course continue to be supported since the zipfile
|
||||
format implies ASCII storage of text files.)
|
||||
|
||||
See unzip(1L) for a more complete description of these modifiers.
|
||||
|
||||
ENVIRONMENT OPTIONS
|
||||
unzipsfx uses the same environment variables as unzip(1L) does,
|
||||
although this is likely to be an issue only for the person creating and
|
||||
testing the self-extracting archive. See unzip(1L) for details.
|
||||
|
||||
DECRYPTION
|
||||
Decryption is supported exactly as in unzip(1L); that is, interactively
|
||||
with a non-echoing prompt for the password(s). See unzip(1L) for
|
||||
details. Once again, note that if the archive has no encrypted files
|
||||
there is no reason to use a version of unzipsfx with decryption sup-
|
||||
port; that only adds to the size of the archive.
|
||||
|
||||
AUTORUN COMMAND
|
||||
When unzipsfx was compiled with CHEAP_SFX_AUTORUN defined, a simple
|
||||
``command autorun'' feature is supported. You may enter a command into
|
||||
the Zip archive comment, using the following format:
|
||||
|
||||
$AUTORUN$>[command line string]
|
||||
|
||||
When unzipsfx recognizes the ``$AUTORUN$>'' token at the beginning of
|
||||
the Zip archive comment, the remainder of the first line of the comment
|
||||
(until the first newline character) is passed as a shell command to the
|
||||
operating system using the C rtl ``system'' function. Before executing
|
||||
the command, unzipsfx displays the command on the console and prompts
|
||||
the user for confirmation. When the user has switched off prompting by
|
||||
specifying the -q option, autorun commands are never executed.
|
||||
|
||||
In case the archive comment contains additional lines of text, the
|
||||
remainder of the archive comment following the first line is displayed
|
||||
normally, unless quiet operation was requested by supplying a -q
|
||||
option.
|
||||
|
||||
EXAMPLES
|
||||
To create a self-extracting archive letters from a regular zipfile let-
|
||||
ters.zip and change the new archive's permissions to be world-exe-
|
||||
cutable under Unix:
|
||||
|
||||
cat unzipsfx letters.zip > letters
|
||||
chmod 755 letters
|
||||
zip -A letters
|
||||
|
||||
To create the same archive under MS-DOS, OS/2 or NT (note the use of
|
||||
the /b [binary] option to the copy command):
|
||||
|
||||
copy /b unzipsfx.exe+letters.zip letters.exe
|
||||
zip -A letters.exe
|
||||
|
||||
Under VMS:
|
||||
|
||||
copy unzipsfx.exe,letters.zip letters.exe
|
||||
letters == "$currentdisk:[currentdir]letters.exe"
|
||||
zip -A letters.exe
|
||||
|
||||
(The VMS append command may also be used. The second command installs
|
||||
the new program as a ``foreign command'' capable of taking arguments.
|
||||
The third line assumes that Zip is already installed as a foreign com-
|
||||
mand.) Under AmigaDOS:
|
||||
|
||||
MakeSFX letters letters.zip UnZipSFX
|
||||
|
||||
(MakeSFX is included with the UnZip source distribution and with Amiga
|
||||
binary distributions. ``zip -A'' doesn't work on Amiga self-extracting
|
||||
archives.) To test (or list) the newly created self-extracting
|
||||
archive:
|
||||
|
||||
letters -t
|
||||
|
||||
To test letters quietly, printing only a summary message indicating
|
||||
whether the archive is OK or not:
|
||||
|
||||
letters -tqq
|
||||
|
||||
To extract the complete contents into the current directory, recreating
|
||||
all files and subdirectories as necessary:
|
||||
|
||||
letters
|
||||
|
||||
To extract all *.txt files (in Unix quote the `*'):
|
||||
|
||||
letters *.txt
|
||||
|
||||
To extract everything except the *.txt files:
|
||||
|
||||
letters -x *.txt
|
||||
|
||||
To extract only the README file to standard output (the screen):
|
||||
|
||||
letters -c README
|
||||
|
||||
To print only the zipfile comment:
|
||||
|
||||
letters -z
|
||||
|
||||
LIMITATIONS
|
||||
The principle and fundamental limitation of unzipsfx is that it is not
|
||||
portable across architectures or operating systems, and therefore nei-
|
||||
ther are the resulting archives. For some architectures there is lim-
|
||||
ited portability, however (e.g., between some flavors of Intel-based
|
||||
Unix).
|
||||
|
||||
Another problem with the current implementation is that any archive
|
||||
with ``junk'' prepended to the beginning technically is no longer a
|
||||
zipfile (unless zip(1) is used to adjust the zipfile offsets appropri-
|
||||
ately, as noted above). unzip(1) takes note of the prepended bytes and
|
||||
ignores them since some file-transfer protocols, notably MacBinary, are
|
||||
also known to prepend junk. But PKWARE's archiver suite may not be
|
||||
able to deal with the modified archive unless its offsets have been
|
||||
adjusted.
|
||||
|
||||
unzipsfx has no knowledge of the user's PATH, so in general an archive
|
||||
must either be in the current directory when it is invoked, or else a
|
||||
full or relative path must be given. If a user attempts to extract the
|
||||
archive from a directory in the PATH other than the current one,
|
||||
unzipsfx will print a warning to the effect, ``can't find myself.''
|
||||
This is always true under Unix and may be true in some cases under MS-
|
||||
DOS, depending on the compiler used (Microsoft C fully qualifies the
|
||||
program name, but other compilers may not). Under OS/2 and NT there
|
||||
are operating-system calls available that provide the full path name,
|
||||
so the archive may be invoked from anywhere in the user's path. The
|
||||
situation is not known for AmigaDOS, Atari TOS, MacOS, etc.
|
||||
|
||||
As noted above, a number of the normal unzip(1L) functions have been
|
||||
removed in order to make unzipsfx smaller: usage and diagnostic info,
|
||||
listing functions and extraction to other directories. Also, only
|
||||
stored and deflated files are supported. The latter limitation is
|
||||
mainly relevant to those who create SFX archives, however.
|
||||
|
||||
VMS users must know how to set up self-extracting archives as foreign
|
||||
commands in order to use any of unzipsfx's options. This is not neces-
|
||||
sary for simple extraction, but the command to do so then becomes,
|
||||
e.g., ``run letters'' (to continue the examples given above).
|
||||
|
||||
unzipsfx on the Amiga requires the use of a special program, MakeSFX,
|
||||
in order to create working self-extracting archives; simple concatena-
|
||||
tion does not work. (For technically oriented users, the attached
|
||||
archive is defined as a ``debug hunk.'') There may be compatibility
|
||||
problems between the ROM levels of older Amigas and newer ones.
|
||||
|
||||
All current bugs in unzip(1L) exist in unzipsfx as well.
|
||||
|
||||
DIAGNOSTICS
|
||||
unzipsfx's exit status (error level) is identical to that of unzip(1L);
|
||||
see the corresponding man page.
|
||||
|
||||
SEE ALSO
|
||||
funzip(1L), unzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zipinfo(1L),
|
||||
zipnote(1L), zipsplit(1L)
|
||||
|
||||
URL
|
||||
The Info-ZIP home page is currently at
|
||||
http://www.info-zip.org/pub/infozip/
|
||||
or
|
||||
ftp://ftp.info-zip.org/pub/infozip/ .
|
||||
|
||||
AUTHORS
|
||||
Greg Roelofs was responsible for the basic modifications to UnZip nec-
|
||||
essary to create UnZipSFX. See unzip(1L) for the current list of Zip-
|
||||
Bugs authors, or the file CONTRIBS in the UnZip source distribution for
|
||||
the full list of Info-ZIP contributors.
|
||||
|
||||
Info-ZIP 20 April 2009 (v6.0) UNZIPSFX(1L)
|
||||
Loading…
Add table
Add a link
Reference in a new issue