Файлы прототипов из архива sendmail не готовы к мгновенному применению. Их необходимо отредактировать и обработать макропроцессором ш4 , чтобы получить собственно файлы настройки. Например, файл tcpproto.mc содержит такие макроопределения:
divert(0)dnl VERSIONIDCSId: ch10,v 1.3 2002/03/01 21:02:23 sue Exp emily $') OSTYPEC unknown) FEATURE('nouucp', 'reject') HAILERC local') MAILER('smtp')
Эти макроопределения не являются командами sendmail; они представляют собой исходные данные для макропроцессора ш4. Приведенные строки файла прототипа активны, их предваряет блок комментариев (не отраженный в листинге), который ш4 игнорирует, поскольку этот блок следует за командой divert(-1), перенаправляющей вывод в «никуда». Данный блок файла начинается командой divert(O), то есть команды обрабатываются, а результаты направляются на стандартный вывод.
Команда dnl в конце строки divert(O) предотвращает появление в файле результата нежелательных строк, dnl удаляет все вплоть до следующего символа новой строки. Она влияет на внешний вид, но не на функциональность конечного файла, dnl может фигурировать в конце любой макрокоманды, а также может использоваться в начале строки, и в таком случае строка интерпретируется как комментарий.
Макроопределение VERSIONID используется для управления версиями. Как правило, значение данного макровызова является номером версии в формате RCS (Release Control System) или SCCS (Source Code Control System). Данное макроопределение - необязательное, его можно смело игнорировать.
OSTYPE определяет специфичную для операционной системы информацию настройки. Каталог cf/ostype содержит почти 50 файлов макроопределений для различных операционных систем. Макроопределение OSTYPE - обязательное, и передаваемое в его вызове значение должно совпадать с именем одного из файлов упомянутого каталога. Примеры значений: bsd4.4, solarise, linux.
FEATURE определяет необязательные возможности, включаемые в файл sendmail.cf. В данном примере значение nouucp указывает, что адреса UUCP в этой системе не используются.
- Назад
- Вперёд >>