unzipsfx - phpMan

Command: man perldoc info search(apropos)  


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 capa-
       bilities 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.
       Similary,  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 particular Unix system, for example,
       will only self-extract under the same flavor of Unix.  Regular unzip may  still  be
       used  to  extract the embedded 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  zip-
       file.

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  charac-
                     ter.   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 interpreted or modi-
              fied by the operating system, particularly under Unix and VMS.)

       [-x xfile(s)]
              An  optional  list of archive members to be excluded from processing.  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 directory; 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 with-
              out  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 comment).  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 version 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 support; 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  com-
       ment, using the following format:

           $AUTORUN$>[command line string]

       When  unzipsfxP  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, unzipsfxP displays the  com-
       mand  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 additonal lines of text, the remainder of the
       archive comment following the first line is displayed normally, unless quiet opera-
       tion was requested by supplying a -q option.

EXAMPLES
       To  create a self-extracting archive letters from a regular zipfile letters.zip and
       change the new archive’s permissions to be world-executable 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 pro-
       gram as a ‘‘foreign command’’ capable of taking arguments.  The third line  assumes
       that Zip is already installed as a foreign command.)  Under AmigaDOS:

           MakeSFX letters letters.zip UnZipSFX

       (MakeSFX  is included with the UnZip source distribution and with Amiga binary dis-
       tributions.  ‘‘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 neither are the  resulting
       archives.   For  some  architectures  there  is limited 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 appropriately, 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 sup-
       ported.  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 necessary for  simple  extrac-
       tion, 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 concatenation 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),  zip-
       note(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 necessary to cre-
       ate  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  contribu-
       tors.



Info-ZIP                      22 May 2004 (v5.51)                 UNZIPSFX(1L)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-10 11:31 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!