
   @PRODUCT_LONG  @{r74}@{d}@{_}


   Настоящий продукт представляет собой реализацию ARJ v @COUNTERPARTS на платформе
   UNIX  и  UNIX-совместимых  системах.  Предполагается, что  пользователь
   знаком с эксплуатацией ARJ в DOS.

   ***********************************************************************
   ***                                                                 ***
   ***  ВНИМАНИЕ: ДАННАЯ  РЕАЛИЗАЦИЯ  РАЗРАБАТЫВАЕТСЯ  НЕЗАВИСИМО  ОТ  ***
   ***  ОСНОВНОЙ ЛИНИИ  ПРОДУКЦИИ ARJ  SOFTWARE, INC., ПОЭТОМУ  МОЖЕТ  ***
   ***  ОТЛИЧАТЬСЯ В ПЛАНЕ ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ.                ***
   ***                                                                 ***
   ***********************************************************************


   ВВЕДЕНИЕ

      В этом файле описаны особенности реализации  ARJ для UNIX. Перед его
      прочтением рекомендуется ознакомиться с общим файлом README.


   ТРЕБОВАНИЯ К СИСТЕМЕ

   Linux:

      *  Ядро версии 2.0 или выше.
      *  Процессор Intel 80386 или выше.
      *  Библиотека GLIBC v 2.1 или выше.

   FreeBSD:

      *  FreeBSD v 3.0 или выше (с поддержкой формата ELF)
      *  Процессор Intel 80386 или выше.

   QNX:

      *  QNX v 6.2 NC/SE/PE или выше.
      *  Процессор Intel 80386 или выше.

   ВАЖНЫЕ ЗАМЕЧАНИЯ


      Реализация  ARJ  на  платформах  UNIX  потребовала   значительной
      модификации формата архивов. Для поддержки дат в формате UNIX был
      введен  новый   способ  хранения  дат,  который   несовместим   с
      предыдущими версиями ARJ.

      Если Вы планируете обмениваться  архивами с  пользователями ARJ и
      ARJ32, Вам необходимо включить режим  совместимости с DOS в файле
      /etc/arj.cfg:

      + -2d

      В этом случае архивация будет по умолчанию производиться в режиме
      совместимости с DOS (время преобразуется  в местное и округляется
      до четного числа секунд, диапазон дат сменяется на 1980-2107 гг.)
      Если потребуется сохранение  времени в формате UNIX, то для этого
      нужно будет отменить действие ключа "-2d" с командной строки.


   ОСОБЕННОСТИ РЕАЛИЗАЦИИ


      *  Типовое  расположение ARJ в иерархии  директорий UNIX выглядит
         следующим образом:

         /usr/local/bin            для программных модулей
         /usr/local/lib            для модуля шифрования ARJCRYPT
         /usr/local/doc/arj        для сопроводительной документации

         Допускается расположение в любых директориях, при условии, что
         программе ARJ  сообщается  стандартное  окружение, по которому
         возможен поиск программных модулей (переменная PATH).

         Необходимо, чтобы  атрибуты программных  модулей ARJ разрешали
         как выполнение, так и чтение.

         Описание команд и параметров текущей версии ARJ можно получить
         по  ключу "arj -?". В  некоторых  редакциях и для определенных
         версий  может  поставляться описание команд  в виде справочных
         страниц ("manual page") -  в этом случае для получения справки
         можно также воспользоваться командами "man arj" и др.

         В системах UNIX для  ARJ не  предусмотрена  страница  описания
         (manual page), эквивалентные  ей сведения  доступны по команде
         "arj -?".

      *  Порядок поиска файлов настройки:

         arj.cfg:
                1. ~/.arj.cfg
                2. /etc/arj.cfg

         arj.key:
                1. arj.key в директории с программным модулем ARJ
                2. ~/.arj.key
                3. /etc/arj.key

         rearj.cfg:
                1. ~/.rearj.cfg
                2. /etc/rearj.cfg

         Используется первый  из найденных файлов  настройки, при  этом
         прочие  файлы  не  проверяются, т.е. нет объединения местных и
         глобальных настроек.

      *  Дата  и  время   создания   файла  не   восстанавливается,  но
         регистрируется  и  хранится  в   архивах  наравне  с   прочими
         атрибутами.

      *  Сокращения  длинных   имен  Windows  95  записываются  в  виде
         w95lname.xxx  (т.е.  в   нижнем  регистре).  Символы  верхнего
         регистра применяются только для временных файлов ARJ.

      *  При распаковке  на стандартный поток  ввода/вывода, на него не
         проставляется  дата   модификации  файла,  т.е.  полученный  в
         результате  выполнения  команды "arj p archive myfile>newfile"
         файл "newfile" будет иметь текущую дату и время.

      *  Внешние   модули   шифрования   поставляются  в   виде   общих
         динамически подключаемых  библиотек.  Алгоритм шифрования един
         для всех платформ.

      *  В поле "Host OS" при записи в архив проставляется "UNIX", если
         не указан ключ "-2d".

      *  Команда  просмотра  списка  файлов ("L") имеет другой  формат,
         более практичный для платформ UNIX. Атрибуты UNIX группируются
         в  стандартный  шаблон "-rwxrwxrwx", кроме  того, имеются  три
         специальных поля:

		Г - "set GID" - смена группы пользователей
		П - "set UID" - смена кода пользователя
		Д - "Append-only directory"/"Sticky bit" - директории с
		    запретом   на   добавление  или   бит  резидентного
                    размещения в файле подкачки.

         Данный формат немного отличается от формата списков, принятого
         в UNIX. Флажок "Д" может  указываться и для  файлов, где он не
         имеет  регламентированного   стандартом  значения   и   должен
         рассматриваться в зависимости от используемой платформы.

         Поле "CRC32" было упразднено  в списке команды "L" в UNIX. Тип
         файла  указывается  в   позиции,   предшествующей  "rwxrwxrwx".
         Введено новое обозначение "u", объединяющее  специальные файлы
         UNIX.

         Флажки  "М"   и   "П"   ("многотомный файл"   и   "продолжение
         предыдущего тома") объединены в одной позиции "Т" ("том"), где
         указывается способ размещения в многотомных архивах:

         (пусто) - файл целиком помещен в одном томе
               < - продолжение предыдущего тома
               > - продолжается в следующем томе
               * - промежуточный  участок   (имеет  продолжение  как  в
                   предыдущем,так и в следующем томе архива)

      *  Сохраняются младшие 12 битов из атрибутов файла, что покрывает
         все  атрибуты, регламентированные  стандартом  открытых систем
         POSIX. Если осуществляется преобразование атрибутов UNIX в DOS
         или  наоборот, то  единственным  значащим  атрибутом  является
         "только  для  чтения",  который  соответствует  разрешению  на
         запись для текущего пользователя в UNIX.

      *  Вводится  понятие  "специальные  файлы  UNIX". Технически  они
         объединяют  все  отсутствующие  в  DOS  типы  файлов  в  один,
         расширенный заголовок которого несет все сведения, описывающие
         этот файл в UNIX. Таковыми  являются  ссылки (как  символьные,
         так  и  твердые),  именованные  каналы  (pipe)  и   устройства
         (блочные или символьные).

         Архивация  специальных  файлов  разрешается  ключом "-hbu" или
         "-a1". При  распаковке проверяется возможность воспроизведения
         определенных типов специальных файлов (например, устройств) на
         текущей платформе.

         Если  обработка  специальных  файлов  не  включена, то они  не
         попадают в архив, за исключением символьных ссылок, под именем
         которых подставляется содержимое указанного ими файла (если он
         физически присутствует).

         "-hbn" запрещает любую обработку специальных файлов. Это может
         оказаться  полезным  в  тех  случаях,  когда  системные  файлы
         (устройства, каналы и  т.д.) прибывают  с  другой  машины  или
         платформы.

      *  По умолчанию  при архивации  определяются твердые ссылки, этот
         режим может  быть  отключен. Поиск  твердых ссылок  происходит
         только  среди  архивируемых  в  данном  сеансе  файлов,  таким
         образом,  рекомендуется  архивировать  данные  так, чтобы  все
         экземпляры твердых  ссылок попадали  в один сеанс. Первый файл
         становится опорным для  всех  последующих ссылок, поэтому  при
         распаковке ссылок он уже должен существовать.

         Ключ  "-2h"  отключает  обработку   твердых  ссылок   как  при
         архивации, так и при распаковке файлов. На стадии архивации он
         означает, что все твердые ссылки будут  посчитаны  как обычные
         файлы  и  занесены в  архив с  дублированием  содержимого. При
         распаковке с  ключом  "-2h" ссылки  не  будут  подключаться  к
         опорным файлам.

         Ключ "-2h1" позволяет при  распаковке заменять твердые  ссылки
         символьными на опорный  файл.  Он полезен  в том случае,  если
         твердые ссылки не  поддерживаются на  уровне файловой  системы
         (напр., HPFS).

         Никакого отслеживания целостности ссылок  в архиве не ведется.
         При удалении  опорного  файла все  ссылавшиеся на  него  файлы
         необходимо изъять из  архива  самостоятельно. Счетчик ссылок в
         архиве также не ведется.

         Если  при  распаковке твердая  ссылка распадается  между двумя
         файловыми  системами  из-за  разных  точек  подключения (mount
         point), то выдается предупреждающее собщение; попытки  создать
         взамен символьную ссылку не предпринимаются.

      *  Ссылки и специальные файлы могут обслуживаться в режиме пустых
         архивов, что отличает их от  расширенных атрибутов. Шифрование
         с ним не  применяется, т.е. для их  распаковки не  обязательно
         знать пароль, как и с любыми другими файлами нулевой длины.

      *  Символьные ссылки, являясь разновидностью  специальных файлов,
         сохраняются с  атрибутами файла, на  который они  указывают, и
         восстанавливаются с  текущей датой и  атрибутами, назначаемыми
         системой.  Для  сохранения  и  восстановления  их  собственных
         атрибутов  служит   ключ  "-2s".  Распаковка  с  ключом  "-2s"
         предполагает,  что пользователь  обладает  правами на файл или
         каталог, на  который  указывают ссылки, поскольку  модификация
         атрибутов  ссылки требует  временного изменения  атрибутов  ее
         целевого файла.

      *  Для сохранения и восстановления данных о владельце файла нужен
         ключ  "-2o".  При  архивации  возможны  два  варианта: "-2o" и
         "-2o1".

         "-2o" переводит имя пользователя в  символьное  представление,
         т.е.  не  указывается  непосредственный   код  группы  и   код
         пользователя в группе, Необходимо понимать, что при распаковке
         файла на системе, где существует пользователь с тем же именем,
         но  с  другими  кодами  UID/GID, файл  получает UID/GID  этого
         пользователя. Это приведет к проблемам при распаковке разделов
         одной машины  на  другой машине, но при этом  упрощается обмен
         файлами для  администратора  нескольких машин с общими именами
         пользователей.

         "-2o1" сохранят в архиве численное представление UID/GID. Этот
         ключ   предназначен   в  основном   для  операций   резервного
         копирования,

         "-2o2"  аналогичен  ключу  "-2o", но позволяет в  дополнение к
         имени пользователя  сохранять в  символьном  виде наименование
         группы. Этот ключ полезен в тех случаях, когда одно символьное
         имя пользователя в системе встречается с различными GID.

      *  ARJ позволяет ограничить набор архивируемых файлов определенным
	 разделом. Ключ  "-2b" обеспечивает  фильтрацию файлов  согласно
	 физическим блочным устройствам, которым они принадлежат.

         Путем     указания  одного      или  нескольких     параметров
         "-2b+<имя_файла>" можно ограничить   архивацию соответствующим
         множеством разделов (символ  "+" необязателен, т.е. достаточно
         указывать "-2b<имя_файла>").    "-2b-<имя_файла>",   напротив,
         исключает заданные разделы из процесса архивации.

	 В   поле  <имя_файла>   логично   указывать точку  подключения
         раздела, но  допускается любое имя  файла. "-2b." ограничивает
         архивацию      разделом,    которому    принадлежит    текущий
         каталог. Примеры:

	 arj a test / -r -2b/     (архивировать только корневой раздел)
	 arj a main / -r -2b-/usr
                     (архирировать все разделы, кроме содержащего /usr)

         Сочетание параметров "-2b+" и "-2b-"  в одной командной строке
         не  несет  смысла.   Также   следует  отметить,   что указание
         устройства в форме   типа "/dev/wd0s3" ошибочно  в том смысле,
         что будет означать раздел,   на котором находится  данный файл
         (как  правило, это корневой раздел   или каталог devfs), а  не
         само устройство /dev/wd0s3. 

      *  Ключ "-&" в системах  UNIX не  имеет  действия. Фактически, он
         всегда включен.

      *  Порядок   архивации   файлов   предусматривает,  что  атрибуты
         директории, которой эти файлы принадлежат, будут восстановлены
         в  самую  последнюю  очередь  после  всех файлов. Кроме  того,
         учетные записи директорий  создаются в архиве только  с ключом
         "-a", "-a1" или "-hbd".

         Однако, если  новые  файлы  добавляются  к  уже  существующему
         архиву, или  список  файлов к  архивации  включал в  себя одну
         директорию  в  нескольких  позициях, тогда атрибуты  доступа к
         директории могут быть зафиксированы на диске до восстановления
         всех файлов из нее.

      *  ARJSFXV поддерживает хранение специальных файлов UNIX, твердых
         ссылок и данных о  владельце. Остальные  самораспаковывающиеся
         модули не обрабатывают эти сведения. Предполагается, что перед
         запуском модуля ARJSFXV ему проставлено  разрешение на чтение,
         и что он запущен с указанием  пути (например, "./mysfx"), а не
         найден через путь поиска. Расширения для самораспаковывающихся
         архивов не  предусмотрены, но могут  задаваться пользователем.
         Также  существуют  модули-заглушки  для  самораспаковывающихся
         архивов (SFX  STUB), скомпилированные для  соответствующей ОС.
         Их размер  составляет  примерно треть ARJSFX (по  состоянию на
         ARJ v 3.10.06 для Linux). В  многотомных самораспаковывающихся
         архивах только первый том приобретает атрибут "выполняемый".

      *  Комментарии ANSI выводятся прямым текстом. Настройка терминала
         не производится.

      *  Для  указания  приоритета  существует  ключ  "-2p<n>".  Уровни
         приоритета имеют значения от 1 до 41, по  умолчанию - 21. Выше
         21  расположены  привилегированные  уровни,  доступные  только
         супервизору.

      *  ARJSFXJR не обрабатывает  формат  совместимости с  DOS. Архивы
         ARJSFXJR могут создаваться только без ключа "-2d".

      *  Для  того,  чтобы   задействовать   REARJ,  необходимо   иметь
         определенный набор  реализованных под UNIX архиваторов (напр.,
         RAR и InfoZIP). Их аналоги  из DOS использовать  нельзя. Также
         необходимо иметь  отдельный файл rearj.cfg (пример  приведен в
         /usr/doc/arj/rearj.cfg.example,  за   дальнейшими  пояснениями
         следует обратиться к  документации по REARJ). В  версиях REARJ
         для UNIX максимальная длина расширений файлов - 32 символа.


   ИЗВЕСТНЫЕ ПРОБЛЕМЫ

      *  Может наблюдаться  низкая производительность (большая задержка
         при  запуске), если  в  параметрах  появилась  большая  группа
         специальных  файлов  вследствие   преобразования  метасимволов
         средствами оболочки (shell wildcard expansion).


      Конец файла
