Библиотека сайта rus-linux.net
Упаковка статей
#! rnews
|
count
Где count задает число байтов в статье. Когда используется пакетное
сжатие, возникающий в результате файл сжат в целом и содержать другую строку
в соответствии c сообщением, которое нужно использовать для распаковки.
Стандартное средство сжатия compress, которое
отмечен как
#! cunbatch |
Иногда при необходимости посылать пакеты через программное обеспечение почты, которое удаляет восьмой бит всех данных, сжатый пакет может быть защищен, используя c7-encoding;; эти пакеты будут отмечены как c7unbatch.
Когда пакет приходит на удаленную машину, rnews проверяет эти маркеры и обрабатывает пакет соответственно. Некоторые абоненты также используют другие инструментальные средства сжатия, подобные gzip. Такие файлы будут помечены как zunbatch. C-News не распознает подобные ненормативные заголовки; Вы должны изменить исходный код, чтобы поддерживать их.
В C-News пакетирование статьи выполняется командой
/usr/lib/news/batch/sendbatches
, которая берет
список статей из файла site/togo
и помещает их в
отдельный newsbatches. Это должно быть выполнено раз в час или даже более
часто, в зависимости от объема трафика. Операция управляется файлом
batchparms
в /var/lib/news
. Этот файл описывает максимальный размер пакета для каждого сервера,
программу пакетирования, необязательную программу сжатия и транспорт для
доставки к этому удаленному серверу. Вы можете определять параметры
пакетирования, также как набор заданных по умолчанию параметров для абонента.
batchparms
, который содержит приемлемые заданные по умолчанию записи в
дистрибутиве, так что есть хорошая возможность не изменять файл. На всякий
случай я описываю его формат. Каждая строка состоит из шести полей,
отделяемых пробелами или метками табуляции:
|
site
site
имя сервера, для которого применяется запись. Файлtogo
для этого сервера должен постоянно находится вout.going/togo
. Имя /default/ обозначает заданный по умолчанию сервер.size
size
максимальный размер созданных пакетов статей (перед сжатием). Для одиночных статей больших, чем этот размер, C-News делает исключение и помещает их в одиночный пакет.max
max
максимальное число пакетов, созданных и планируемых для передачи перед пакетированием для этого сервера. Это может пригодиться для серверов, которые доступны только в определенное время.C-News определяет число поставленных в очередь пакетов, используя скрипт queuelen в
/usr/lib/news
. Если вы установили C-News в формате prepackaged, скрипт не должен нуждаться в редактировании, но если Вы должны использовать другую разновидность spool-каталогов, например, Taylor UUCP, Вам может быть необходимо написать Ваш собственный. Если Вы не заботитесь относительно числа spool-файлов (например, Вы единственный пользователь данного компьютера, и Вы не пишете статьи по мегабайту каждая), Вы можете заменить содержимое скрипта просто на команду exit 0.batcher
Поле
batcher
содержит команду, используемую для создания пакета из списка статей в файлеtogo
. Обычно это batcher. Для других целей можно использовать альтернативные команды. Например, протокол ihave/sendme требует, чтобы список статей был превращен в сообщения управления ihave или sendme, которые зарегистрированы в группе новостей to.site . Это выполняется batchih и batchsm.muncher
Поле
muncher
определяет команду, используемую для сжатия. Обычно это compcun, команда, которая создает сжатый пакет. В качестве альтернативы, Вы могли бы использовать muncher, который использует gzip, скажемgzipcun
. Вы должны удостовериться, что распаковщик на удаленном сервере исправлен так, чтобы распознать файлы, сжатые gzip .Если удаленный сайт не имеет команды распаковки uncompress, Вы можете определить nocomp, который не выполняет сжатие.
transport
Последнее поле,
transport
, описывает транспорт, который нужно использовать. Доступно несколько стандартных команд для различных транспортов, чьи имена начинаются с via. sendbatches передает им имя машины адресата в командной строке. Если записьbatchparms
не /default/, sendbatches получает имя машины из поляsite
, удаляя все последующее, включая первую точку или наклонную черту вправо. Если запись batchparms была /default/, используются имена каталогов вout.going
.
#
|
Когда вызов происходит без аргументов, sendbatches
обрабатывает все пакетные очереди. Интерпретация понятия “все”
зависит от присутствия заданной по умолчанию записи в
batchparms
. Если она найдена, проверяются все каталоги в
/var/spool/news/out.going
, иначе циклически
просматриваются все записи в batchparms
. Обратите
внимание, что sendbatches при просмотре каталога
out.going
берет только те каталоги, которые не
содержат точку или знак @ как имя сервера.
Имеются две команды, которые используют uux, чтобы
выполнить rnews на удаленной системе;
viauux и viauuxz. Последняя
устанавливает флаг –z
для того, чтобы отменить
сообщения об успехе для каждой переданной статьи. Другая команда,
viamail, посылает пакеты статей пользователю
rnews в удаленной системе по почте. Полный
список транспорта есть на man-странице newsbatch
.
Все команды из последних трех полей нужно расположть или в
out.going/site
, или в
/usr/lib/news/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 |
Назад | Глобальное оглавление | Вперед |
Файл active | Локальное оглавление | Выдыхающиеся новости |