multify.1 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. .TH MULTIFY 1 "27 December 2014" "" Panda3D
  2. .SH NAME
  3. multify \- manipulate .mf multifiles
  4. .SH SYNOPSIS
  5. .B multify \-[c|r|u|t|x] -f
  6. .I multifile_name.mf
  7. [
  8. .I options
  9. ]
  10. .I subfile_name ...
  11. .SH DESCRIPTION
  12. \fBmultify\fP is used to store and extract files from a Panda Multifile.
  13. This is similar to a tar or zip file in that it is an archive file that
  14. contains a number of subfiles that may later be extracted.
  15. .PP
  16. Panda's VirtualFileSystem is capable of mounting Multifiles for direct
  17. access to the subfiles contained within without having to extract them
  18. out to independent files first.
  19. .PP
  20. The command-line options for multify are designed to be similar to those
  21. for \fBtar\fR(1), the traditional Unix archiver utility.
  22. .SH OPTIONS
  23. You must specify exactly one of the following command switches:
  24. .TP
  25. .B \-c
  26. Create a new Multifile archive. Subfiles named on the command line
  27. will be added to the new Multifile. If the Multifile already exists,
  28. it is first removed.
  29. .TP
  30. .B \-r
  31. Rewrite an existing Multifile archive. Subfiles named on the command
  32. line will be added to the Multifile or will replace subfiles within
  33. the Multifile with the same name. The Multifile will be repacked
  34. after completion, even if no Subfiles were added.
  35. .TP
  36. .B \-u
  37. Update an existing Multifile archive. This is similar to \fB\-r\fP,
  38. except that files are compared byte\-for\-byte with their corresponding
  39. files in the archive first. If they have not changed, the multifile
  40. is not modified (other than to repack it if necessary).
  41. .TP
  42. .B \-t
  43. List the contents of an existing Multifile. With -v, this shows
  44. the size of each Subfile and its compression ratio, if compressed.
  45. .TP
  46. .B \-x
  47. Extract the contents of an existing Multifile. The Subfiles named on
  48. the command line, or all Subfiles if nothing is named, are extracted
  49. into the current directory or into whichever directory is specified
  50. with \fB\-C\fP.
  51. .TP
  52. .B \-k
  53. Delete (kill) the named Subfiles from the Multifile. The Multifile
  54. will be repacked after completion.
  55. .PP
  56. You must always specify the following switch:
  57. .TP
  58. .BI "\-f " multifile_name.mf
  59. Names the Multifile that will be operated on.
  60. .PP
  61. The remaining switches are optional:
  62. .TP
  63. .B \-v
  64. Run verbosely. In \-c, \-r, or \-x mode, list each file as it is
  65. written or extracted. In \-t mode, list more information about each
  66. file.
  67. .TP
  68. .B \-z
  69. Compress subfiles as they are written to the Multifile. Unlike tar
  70. (but like zip), subfiles are compressed individually, instead of the
  71. entire archive being compressed as one stream. It is not necessary
  72. to specify \-z when extracting compressed subfiles; they will always be
  73. decompressed automatically. Also see \-Z, which restricts which
  74. subfiles will be compressed based on the filename extension.
  75. .TP
  76. .B \-e
  77. Encrypt subfiles as they are written to the Multifile using the password
  78. specified with \-p, below. Subfiles are encrypted individually, rather
  79. than encrypting the entire multifile, and different subfiles may be
  80. encrypted using different passwords (although this requires running
  81. multify multiple times). It is not possible to encrypt the multifile's
  82. table of contents using this interface, but see the
  83. .BR pencrypt (1)
  84. program to encrypt the entire multifile after it has been generated.
  85. .TP
  86. .BI "\-p " password
  87. Specifies the password to encrypt or decrypt subfiles. If this is not
  88. specified, and passwords are required, the user will be prompted from
  89. standard input.
  90. .TP
  91. .BI "\-P " prefix
  92. Specifies a header_prefix to write to the beginning of the multifile.
  93. This is primarily useful for creating a multifile that can be invoked
  94. directly as a program from the shell on Unix-like environments,
  95. for instance, p3d files. The header_prefix must begin with a hash
  96. mark and end with a newline; this will be enforced if it is not
  97. already so. This only has effect in conjunction with with -c, -u,
  98. or -k.
  99. .TP
  100. .BI "\-F " scale_factor
  101. Specify a Multifile scale factor. This is only necessary to support
  102. Multifiles that will exceed 4GB in size. The default scale factor is
  103. 1, which should be sufficient for almost any application, but the total
  104. size of the Multifile will be limited to 4GB * \fIscale_factor\fP.
  105. The size of individual subfiles may not exceed 4GB in any case.
  106. .TP
  107. .BI "\-C " extract_dir
  108. Change to the named directory before working on files;
  109. that is, extraction/creation/update and replace will be based on this path
  110. .TP
  111. .BI "\-O
  112. With \-x, extract subfiles to standard output instead of to disk.
  113. .TP
  114. .BI "\-Z " extension_list
  115. Specify a comma-separated list of filename extensions that represent
  116. files that are not to be compressed. The default if this is omitted is
  117. "\fIjpg,png,mp3,ogg\fP". Specify \-Z "" (be sure to include the space)
  118. to allow all files to be compressed.
  119. .TP
  120. .BI "\-X " extension_list
  121. Specify a comma-separated list of filename extensions that represent
  122. text files. These files are opened and read in text mode, and added to
  123. the multifile with the text flag set. The default if this is omitted is
  124. "\fItxt\fP". Specify \-X "" (be sure to include the space) to record
  125. all files in binary mode.
  126. .TP
  127. .BI "\-T " flag
  128. Enable or disable the recording of file timestamps within the multifile.
  129. If \fIflag\fP is 1, timestamps will be recorded within the multifile for
  130. each subfile added; this is the default behavior. If <flag> is 0,
  131. timestamps will not be recorded, which will make it easier to do a
  132. bitwise comparison between multifiles to determine whether their
  133. contents are equivalent.
  134. .TP
  135. .B \-1 .. \-9
  136. Specify the compression level when \-z is in effect. Larger numbers
  137. generate slightly smaller files, but compression takes longer. The
  138. default is \-6.
  139. .TP
  140. .BI "\-S " file.crt[,chain.crt[,file.key[,"password"]]]
  141. Sign the multifile. The signing certificate should be in PEM form in
  142. \fIfile.crt\fP, with its private key in PEM form in \fIfile.key\fP.
  143. If the key is encrypted on-disk, specify the decryption password as
  144. the third option. If a certificate chain is required, \fIchain.crt\fP
  145. should also be specified; note that the separating commas should be
  146. supplied even if this optional filename is omitted.
  147. You may also provide a single composite file that contains the
  148. certificate, chain, and key in the same file.
  149. PEM form is the form accepted by the Apache web server. The
  150. signature is written to the multifile to prove it is unchanged; any
  151. subsequent change to the multifile will invalidate the signature.
  152. This parameter may be repeated to sign the multifile with additional
  153. certificates.
  154. .SH "SEE ALSO"
  155. .BR pencrypt (1),
  156. .BR pzip (1)