⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arj_readme.txt

📁 beat版 一看就懂
💻 TXT
📖 第 1 页 / 共 2 页
字号:
      when the file  is unpacked - the  former is  the EA  structure  size
      and the latter is the space allocated  for EA storage. The number of
      EAs and the size of EA structure is  also displayed when the archive
      is listed with "ARJ v" command.


   FREQUENTLY ASKED QUESTIONS

      Q: Third-party applications can't handle ARJ for Win32 archives!
      A: Try to disable extended attributes (-2e), DTA/DTC  storage (-j$),
         hard  links  (-2h),  and   enforce  the  DOS  mode  (-2d).   Many
         applications   are  incapable  of  handling  new  archive  format
         (although  this  format is  fully compliant  with the  documented
         guidelines). Known  examples  of such  applications  include File
         Commander v 2.11, Norton Commander v 5.00 and WinRAR v 2.60.

      Q: Extended attribute  sizes reported  by  InfoZIP and  ARJ  differ.
         What's the cause?
      A: As we have  stated earlier, ARJ reports  the size of its internal
         EA storage structure as the  EA size when archiving files. Across
         various platforms   (OS/2-16, OS/2-32, NT)  there are  various EA
         structures.  The system is   questioned for  the  actual  EA size
         during archiving.

      Q: How can I back up my OS/2 Workplace Shell folders, preserving the
         icons?
      A: Since  folders are  represented  with directories, you'll have to
         enable directory storage with -a1 or -hbfd.

      Q: The EAs have vanished after I used ARJ/DOS to update an archive.
      A: Current versions  of ARJ/DOS and ARJ32, as well as ARJ/2 prior to
         2.62.10, strip  the  extended  headers when  any kind  of archive
         update occurs.

      Q: I want  to  create  single-volume  self-extracting  archive  that
         supports EAs but ARJ/2 uses ARJSFX instead of ARJSFXV.
      A: You need to  force  use of  ARJSFXV/2. The best way for  it is to
         specify an arbitrary large value for volume size, e.g. -va.

      Q: How can I create an installer for my OS/2 product with ARJ?
      A: ARJSFX/2 is  able  to run OS/2  commands after unpacking archive.
         Try this: create a  script you want  to to be  invoked  after the
         installation completes.

         e.g., INSTALL2.CMD:
         =======
          /* REXX */

          if RxFuncQuery('SysLoadFuncs') then do
           call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
           call SysLoadFuncs
          end

          say "Installation has completed, creating desktop object..."
          call SysCreateObject ....
         ========
         and so on...

         Now create an archive comment with the first line as follows:
         )) \InstallDir\ -b -x -y -!INSTALL2.CMD

         Call it, for example, CMT.ANS. Now create an ARJSFX archive:

         ARJ a PACKAGE.EXE -je -r -a -jm -zCMT.ANS -xCMT.ANS

         You'll make  a  self-extracting  archive  with  an  automatically
         invoked installation program.

      Q: How can I distinguish between ARJ/ARJZ/ARJ32 archives?
      A: Use the ARJ V  command. The "Host OS" field contains  the type of
         host OS. The  "Revision"  field  may  be used  to  determine  the
         archiver version that added the file:

                 1 = ARJ versions earlier than 0.14,
                     ARJZ compatibility mode (-md is less than 26624)
                 2 = ARJ v 0.14...0.20
                 3 = ARJ v 1.00...2.22
                 4 = ARJ v 2.30, X1
                 5 = ARJ v 2.39a, 2.39b
                 6 = ARJ v 2.39c...2.41
                 7 = ARJ v 2.42a...2.50a
                 8 = ARJ v 2.55...2.61, ARJ/2 v 2.61
                 9 = ARJ v 2.62, ARJ/2 v 2.62, ARJ32 v 3.00
                10 = ARJ v 2.70 and higher, ARJ/2 v 2.62.10 and higher
                11 = ARJ with UNIX support (2.77/3.10 and higher)
                50 = ARJZ with maximum distance up to 32K
                51 = ARJZ with maximum distance up to 64K
               100 = ARJ32 v 3.00b...3.01
               101 = ARJ32 v 3.02 and higher

         Notes:

         1. ARJ versions  that created the  Revision 1 header have  used a
            different method 4 compression. Support for it  was dropped in
            versions 1.xx. Such  archives may  be incorrectly processed by
            ARJ32.

         2. ARJ v 2.76.07 and higher can  read the  newer UNIX time format
            of  ARJ  v  3.10/2.77. The  intention was  to make  the stable
            versions compatible with it.


   INFORMATION FOR DEVELOPERS

      The new UNIX time  format  can be identified  by "Host OS" equal  to
      "UNIX" or "NeXT", and "arj_nbr" greater than or equal to 11. In this
      case, all of the time fields in the  corresponding header are in the
      UNIX  time  format, i.e. 4-byte  value specifying number  of seconds
      passed since 01/01/1970, 00:00:00 UTC.

      By other means, the header format  is 100% compatible  with standard
      ARJ format, but we  utilize the  extended  header fields. Here  is a
      brief overview of this  technology. The extended header layout is as
      follows (all values are little-endian):

      Bytes  Description
      -----  -----------
          1  Extended header ID.
          1  Continuation  flag. If set to  0, marks the  end of  block
             chain so the header data can be concatenated and processed.
             Also it provides a way of checking for trashed blocks.
          ?  Header data.

      A standard CRC32 of the whole header, including the ID but excluding
      header size field,  is  appended to  it. It is strongly  recommended
      that the CRC is verified before any further processing occurs.

      ID 0x45 ('E') == Extended attributes
      ------------------------------------

      This is only valid if  the arj_nbr (header revision number) is 10 or
      greater.

      The packed  EA  block is a  complex  structure  that  can span  over
      multiple  volumes. In  case of  such  spanning,  separate  parts  of
      the block  are stored  in  separate extended  headers  on  different
      volumes and they must be joined together when the last block is read
      (it's recognized   by  EXTFILE_FLAG being clear). The layout of  the
      packed block follows:

      Bytes  Description
      -----  -----------
          1  Compression method (0...4, may differ from the  one found  in
             the file header)
          2  Unpacked EA data size in bytes
          4  CRC32 of unpacked EA data
          ?  Raw packed EA data

      The raw  packed data  may  be decompressed  using the  original  ARJ
      algorithms. In the case when the file is encrypted, the packed block
      is also  encrypted (but the  garble  routine is  reinitialized  when
      compression  of the EA occurs). The password modifier is the same as
      for the  first file section. After  decompression, the  following EA
      structure will exist:

      Bytes  Description
      -----  -----------
          2  Total number of EA records
          ?  Extended attribute records

      The extended attribute records are merged altogether. They should be
      processed sequentially. A single record  represents a single EA, and
      no EA can be represented twice. The layout is as follows:

      Bytes  Description
      -----  -----------
          1  fEA byte (may indicate a critical EA)
          1  Size of extended attribute name
          2  Size of extended attribute value
          ?  Extended attribute name (not ASCIIZ)
          ?  Extended attribute value (binary data)

      Even if the file is  a text  one, the EAs must be  handled as binary
      data during  compression and  extraction. When EAs are spanned  over
      multiple volumes, neither  the packed  block header  is repeated nor
      the compression  is  restarted (actually, the whole block  including
      its header is created in memory and later split to volumes).

      ID 0x4F ('O') == Owner information
      ----------------------------------

      Contains the owner  information, and possibly, group information, in
      character form. Valid if arj_nbr is 11 or greater.

      Bytes  Description
      -----  -----------
          1  Owner's name length.
          ?  Owner's name (non-ASCIIZ)
             OR
             Owner's name (ASCIIz), followed by
          ?  Group name (non-ASCIIz)

      ID 0x55 ('U') == UNIX special files
      -----------------------------------

      The UNIX special file entry is  a complex  freeform structure, valid
      if arj_nbr is 11 or greater:

      Bytes  Description
      -----  -----------
          1  Special file descriptor:
             Bits 0...4 = data size (0 allowed, 31 has a special meaning)
             Bits 5...7 = type:
                          000 = pipe
                          001 = hard link
                          002 = symbolic link
                          003 = block device
                          004 = character device
          ?  If the size field in descriptor  contained 31, then two bytes
             here contain the size, otherwise there is no area between the
             descriptor and data.
          ?  Raw data. Size is reported by the descriptor or the dedicated
             size field. Format:

		 Pipe:	Empty (size is zero).
		 Link:  Target file (non-ASCIIZ).
               Device:	The dev_t  structure  in the  host OS' format  and
                        endia order.

      ID 0x6F ('o') == Owner information (numeric)
      --------------------------------------------

      Contains the owner's UID and GID. Valid if arj_nbr is 11 or greater.

      Bytes  Description
      -----  -----------
          1  Data length (must be 8 for the current implementation).
          4  Owner's UID (little-endian).
          4  Owner's GID (little-endian).


   COMPATIBILITY ISSUES

      ARJ has  been  briefly tested  on the  following platforms  and file
      systems:

      DOS (FAT)

        MS-DOS v 2.11, 3.20, 3.21, 4.01, 5.00, 6.00, 6.20, 6.22
        PC DOS v 6.30, 7.00
        Windows 95, 98
        Windows NT Workstation v 3.51, 4.00

      OS/2 (FAT, HPFS, Ext2FS, JFS, NTFS)

        Microsoft OS/2 v 1.21
        IBM OS/2 v 1.30, 2.00, 2.10, 3.00, 4.00, 4.50
        OS/2 subsystem in Windows NT v 3.51, 4.00, Windows 2000

      Win32 (FAT, HPFS, NTFS)

        Windows 95, 98, ME
        Windows NT v 3.51, 4.00, Windows 2000, Windows XP

      Linux (UMSDOS, HPFS, Ext2FS, Ext3FS, JFS)

        Linux v 2.2.13/19-20, 2.4.5/18-23, 2.6.3
        glibc v 2.1.2, 2.1.3, 2.2.3

      FreeBSD (FAT, UFS, HPFS)

        FreeBSD v 3.4/STABLE

      QNX (QNX4FS, FAT)

        QNX v 6.2.1/PE Patch B


      End of document

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -