Руководство администратора сети в ОС Linux

       

Пакетирование Статьи


Newsbatches следуют за специфическим форматом, который является тем же самым для Bnews, C News, и INN. Каждой статье предшествует строка:

#! rnews count

Где count - число байтов в статье. Когда используется пакетное сжатие, возникающий в результате файл сжат в целом, и содержит другую строку в соответствии c сообщением, которое нужно использовать для распаковки. Стандартное средство сжатия - упаковщик, который отмечен

#! cunbatch

Иногда, при необходимости посылать пакеты через программное обеспечение почты, которое удаляет, восьмой бит из всех данных, сжатый пакет может быть защищен, используя, что называется c7-encoding; эти пакеты будут отмечены c7unbatch. Когда пакет подан к rnews на отдаленном пункте, он проверяет эти маркеры и обрабатывает пакет соответственно. Некоторые абоненты также используют другие инструментальные средства сжатия, подобно gzip, и предшествует таким файлам с zunbatch взамен. C News не распознает ненормативные заголовки подобно этим; Вы должны изменить исходник, чтобы поддерживать их. В C News, пакетирование статьи выполняется /usr/lib/news/bin/batch/sendbatches, который берет список статей из site/togo файла, и помещает их в отдельный newsbatches. Это должно быть выполнено раз в час или даже более часто, в зависимости от объема траффика. Операция управляется batchparms файлом в /usr/lib/news. Этот файл описывает максимальный пакетный размер, позволенный для каждого пункта, программу пакетирования и необязательную программу сжатия, которую нужно использовать, и транспорт для поставки к этому отдаленному пункту. Вы можете определять параметры пакетирования, также как набор заданных по умолчанию параметров для абонента, не явно упомянутого. Чтобы выполнять пакетирование для специфического пункта, Вы вызываете это как

# su news -c "/usr/lib/news/bin/batch/sendbatches site"

Когда вызывается без аргументов, sendbatches обрабатывает все пакетные очереди. Интерпретация " все " зависит от присутствия заданного по умолчанию входа в batchparms. Если он найден, все каталоги в /var/spool/news/out.going проверяются, иначе, он циклически проходит все входы в batchparms. Обратите внимание, что sendbatches, при просмотре каталога out.going, берет только те каталоги, которые не содержат никакую точку или знак (@) как имена пункта. При установке C News, Вы наиболее вероятно найдете batchparms файл в вашем распределении, который содержит приемлемый заданный по умолчанию вход, так что имеется хорошая возможность не изменять файл. На всякий случай, мы описываем формат. Каждая строка состоит из шести полей, отделяемых пробелами или метками табуляции:


site size max batcher muncher transport

Значение этих полей следующие: site - имя пункта, к которому применяется вход. Togo файл для этого пункта должен постоянно находиться в out.going/togo. Имя пункта /default/ обозначает заданный по умолчанию вход. size - максимальный размер созданных пакетов статей (перед сжатием). Для одиночных статей больших чем этот размер, C News делает исключение и помещает их в одиночный пакет. max - максимальное число пакетов, созданных и планируемых для передачи перед пакетированием для этого специфического пункта. C News определяет число поставленных в очередь пакетов, используя queulen команду в /usr/lib/news/bin. Выпуск newspak Vince Skahan'а должен содержать команду для bnu-совместимого UUCP. Если Вы используете различные виды spool каталогов, например, Taylor UUCP, Вам может быть необходимо написать ваш собственный. Поле batcher содержит команду, используемую для создания пакета из списка статей в togo файле. Это - обычно batcher. Для других целей можно обеспечивать альтернативные команды. Например, ihave/sendme протокол требует, чтобы список статей был превращен в сообщения управления ihave или sendme, которые зарегистрированы в newsgroup to.site. Это выполняется batchih и batchsm. muncher поле определяет команду, используемую для сжатия. Обычно, это - compcun, команда, которая производит сжатый пакет. В качестве альтернативы, Вы могли бы обеспечивать muncher, который использует gzip, скажем gzipcun (чтобы быть чистым: Вы должны запись это непосредственно). Вы должны удостовериться, что распаковщик на отдаленном пункте исправлен, чтобы распознать файлы, сжатые с gzip. Если отдаленный пункт не имеет команды распаковки, Вы можете определить nocomp, который не делает никакое сжатие. Последнее поле, transport, описывает транспорт, который нужно использовать. Доступно несколько стандартных команд для различных transports, чьи имена начинаются с via. Sendbatches передает им имя пункта адресата в командной строке. Если batchparms вход не был /default/, он получает имя пункта из поля site, удаляя все последующее, включая первую точку или наклонную черту вправо. Если вход был /default/, используются имена каталога в out.going. Имеются две команды, которые используют uux, чтобы выполнить rnews на отдаленной системе; viauux и viauuxz. Последняя устанавливает -z флаг для (более старые версии) uux, чтобы отменить сообщения успеха для каждой переданной статьи. Другая команда, viamail, посылает пакеты статей пользователю rnews на отдаленной системе через почту. Все команды из последних трех полей нужно расположть или в out.going/site или в /usr/lib/news/bin/batch. Большинство их - команды, так, чтобы Вы могли легко приспосабливать новые инструментальные средства для ваших персональных потребностей. Они вызываются как трубопровод. Список статей подается дозатору на стандартном вводе, который производит пакет на стандартном выводе. Это канально передается в muncher, и так далее. Типовой файл дан ниже.

# batchparms file for the brewery # site | size |max |batcher |muncher |transport #-------------+--------+-------+---------+-----------+----------- /default/ 100000 22 batcher compcun viauux swim 10000 10 batcher nocomp viauux


Содержание раздела