Provided by:
manpages-es-extra_0.8a-16_all 
NOMBRE
suck - Obtiene un pequeño grupo de mensajes de un servidor NNTP,
evitando los comandos NEWNEWS
SINOPSIS
suck [ nodo ] [ @archivo ] [ -V ] [ -K ] [ -L[SL] ] [ -H ] [ -d[tmd]
directorio ] [ -s | -S archivo ] [ -e | -E archivo ] [ -a ] [ -m ] [
-b[irlf] archivo_batch ] [ -r tamaño ] [ -p extensión ] [ -U usuario ]
[ -P clave ] [ -c ] [ -M ] [ -N puerto ] [ -W tiempo_de_pausa
núm_mensajes_pausa ] [ -w tiempo_de_pausa núm_mensajes_pausa ] [ -l
archivo_de_frases ] [ -D ] [ -R ] [ -q ] [ -C artículos ] [ -k ] [ -A ]
[ -AL archivo_active ] [ -hl localhost ] [ -bp ] [ -T tiempo_tope ] [
-n ] [ -u ] [ -z ] [ -x ] [ -B ]
Opciones válidas en todos los modos
-V
Esta opción hace que suck escriba el número de versión y finalice.
-s | -S archivo
Estas opciones enviarán todos los mensajes de estado (que normamente
van a la salida estándar) a un archivo alternativo. Cuando la opción es
la minúscula, -s, enviarán los mensajes de estado al archivo por
defecto en definido en tiempo de compilación en suck_config.h. Por
defecto se toma /dev/null, o sea: no se escribirán mensajes de estado.
La mayúscula, -S, requiere un nombre de archivo. Todos los mensajes de
estado serán enviados a este archivo.
-e | -E archivo
Estas opciones enviarán todos los mensajes de error (normalmente
escritos en la salida de error estándar) a un archivo alternativo. La
versión en minúscula, -e enviará los mensajes de error al archivo por
defecto definido en tiempo de compilación en suck_config.h. Por defecto
se toma suck.errlog. La mayúscula, -E, requiere un nombre de archivo.
Todos los mensajes de error serán enviados a este archivo.
-a
Esta opción obliga a suck a hacer siempre un archivo batch de los
articulos obtenidos, incluso si el proceso se aborta por alguna razón.
Sin esta opción, suck sólo crea el batch de los artículos si finaliza
correctamente o si es cancelado por una señal (véase más adelante).
-N puerto
Esta opción hace que suck use un puerto NNRP alternativo cuando se
conecta al nodo, en lugar del puerto 119, que es el que se toma por
defecto.
@archivo
Esta opción hace que suck lea otras opciones del archivo indicado,
además de las de la línea de comando.
-dt directorio
-dm directorio
-dd directorio
Especifica la colocación de varios archivos usados por suck.
-dt directorio = directorio de los archivos temporales creados por suck
(suck.newsrc, suck.sort, suck.restart, suck.killlog, suck.post).
-dm directorio = diretorio para guardar los artículos creados en el
modo Multiarchivo o en el modo batch. NO haga coincidir este directorio
con los usados en las opciones -dt o -d o perderá todos sus archivos de
configuración.
-dd directorio = directorio de archivos de datos usados por suck
(sucknewsrc suckkillfile suckothermsgs active-ignore)
-p extensión
Esta extensión se añade a todos los archivos, de modo que Vd. puede
tener varios nodos de toma de artículos. Por ejemplo, si Vd. especifica
-p .dummy, entonces suck busca sucknewsrc.dummy, suckkillfile.dummy,
etc, y crea sus archivos temporales con la misma extensión. Esto le
permite a Vd. mantener varios archivos sucknewsrc, uno para cada nodo.
-K Esta opción hace que suck que no tenga en cuenta el(los)
archivo(s) killfile (archivos de filtro).
-L Esta opción hace que suck que NO escriba en suck.killlog el
registro de los artículos filtrados.
-LS
Esta opción hace que suck cree un registro corto de cada artículo
eliminado por el filtro. El registro corto contiene el grupo del
artículo y cual es el patrón al que se ajustaba, así como el MsgID del
artículo eliminado.
-LL
Esta opción hace que suck cree un registro largo de cada artículo
filtrado. El registro largo contiene la información del registro corto
y la cabecera del artículo filtrado.
-H Esta opción hará que suck omita la comprobación del historial.
-U usuario
-P clave
Estas dos opciones le permiten a Vd. especificar un usuario y una clave
si su servidor de NNTP las solicita.
-c
Si se especifica esta opción suck hará limpieza cuando finalice su
cometido. Esto incluye:
1. Move(r) sucknewsrc a sucknewsrc.old
2. Move(r) suck.newrc a sucknewsrc
3. Borrar (rm) suck.sorted y suckothermsgs.
-M
Esta opción hace que suck envíe un comando de "modo de lectura" al
servidor remoto. If Vd. obtiene un comando de mensaje inválido
inmediatamente después del anuncio de bienvenida, pruebe esta opción.
-W tiempo_de_pausa núm_mensajes_pausa
Esta opción hace que suck haga pausas mientras recoge artículos. Vd.
puede necesitar especificar la pausa (en segundos), y cuan a menudo
parar (cada X artículos). Ej.: -W 10 100 hará que suck pare durante 10
segundos cada 100 artículos. ¿ Por qué querría hacer esto ? Suck puede
causar altas cargas en el servidor remoto y esta pausa permite al
servidor "tomar aliento".
-w tiempo_de_pausa núm_mensajes_pausa
Esta opción le permite a Vd. decelerar a suck mientras obtiene
artículos. Si Vd. envía a suck una señal predefinida (por defecto
SIGUSR1, véase suck_config.h) suck pasará de las opciones de pausa por
defecto (definidas mediante la opción -W) a los valores de esta opción.
Por ejemplo, Vd. ejecuta suck con -w 2 2 y Vd. envía a suck una señal
SIGUSR1 (usando kill). Suck parará dos segundos entre un mensaje y
otro, permitiendo "recuperar aliento" al servidor. Si Vd envía otra
señal SIGUSR1 a suck, entonces suck volverá a las opciones de pausa por
defecto. Si no se especificaron opciones de pausa en la línea de
comando (Vd. omitió -W), entonces suck volverá a su velocidad máxima de
recogida.
-l archivo_de_frases
Esta opción hace que suck cargue un archivo de frases alternativas, en
vez de usar los mensajes imbuidos. Esto le permite a Vd. hacer que suck
imprima sus mensajes en otro idioma o permite personalizar los mensajes
sin tener que recompilar suck. Véase más abajo.
-D
Esta opción hace que suck envíe varios mensajes de debug a
"debug.suck", usado básicamente por mantenedor.
-R
Esta opción hace que suck no revise el servidor de news cuando
recomience. El comportamiento por defecto es volver a revisar el
servidor de news en busca de artículos nuevos, inclusive en los
recomienzos.
-q
Esta opción hace que suck no escriba la cuenta de artículos y BPS
mientras dura la obtención de mensajes. Conveniente cuando se está
ejecutando suck en modo desatendido, por ejemplo mediante crontab.
-C artículos
Esta opción hace que suck rompa la conexión y la reabra cada cierto
número de artículos. Esto está diseñado para luchar contra la opción
LIKE_PULLERS=DONT de INN, con la que hay quien compila. Con
LIKE_PULLERS=DONT, después de 100 mensajes, INN para cada mensaje,
bajando drásticamente la velocidad de recogida. Yo no recomiendo el uso
de esto, pero Vd. no tiene elección...
-k
Esta opción hace que suck NO añada el sufijo de la opción -p a los
archivos de filtro (killfiles), ni al maestro ni al de grupos. Esto le
permite a VD. mantener un mismo conjunto de archivos de filtro para
varios servidores.
-A
Esta opción hace que suck examine el nodo local (localhost,
especificado en la opción -hl ) y use su archivo active para
confeccionar y actualizar el sucknewsrc. Si Vd. añade un grupo a su
nodo local, suck lo añadirá a sucknewsrc y recogerá los artículos. O,
si Vd. borra un grupo de su nodo local, éste será borrado de
sucknewsrc. Si no está permitido enviar artículos a un grupo
particular, entonces la línea de sucknewsrc estará comentada. Con esta
opción Vd. nunca tiene que editar sucknewsrc. En caso de que Vd. tenga
grupos de news (como local y junk) de los que no quiere recoger
mensajes, puede poner esos grupos en el archivo "active-ignore", uno
por cada línea, y suck ignorará esos grupos cuando revise el nodo local
(localhost). Si Vd. usa la opción -p de sufijo, suck buscará la
existencia de un archivo "active-ignore" con ese sufijo. Si no existe,
entonces buscará la existencia de un archivo sin el sufijo.
-AL archivo_active
Esta opción es similar a la opción -A, excepto que lee la lista del
archivo active en lugar de conectarse al servidor de NNTP. Todas las
características de la opción -A son aplicables aquí también. Si se usan
las dos en la línea de comando, suck intentará primero usar la opción
-A; si ésa falla, usará esta opción.
-hl localhost
Esta opción especifica el nodo local. Se requiere para las opciones -A
y -bp.
-T tiempo_tope
Esta opción reemplaza el valor precompilado de TIMEOUT, tiempo tope de
conexión. Es el tiempo que suck está esperando datos del host remoto
antes de sobrepasar el tope y abortarse.
-n
Esta opción hace que suck use el número de artículo en lugar del MsgId
cuando se reciben mensajes. Esta opción es supuestamente menos
dificultosa para el servidor remoto. También puede eliminar problemas
si su ISP (proveedor de acceso a internet) caduca los artículos
rápidamente y Vd. recibe errores de "article not found" con frecuencia.
-u
Esta opción hace que suck envíe al servidor remoto un comando AUTHINFO
USER nada más conectarse, en lugar de esperar la petición de
autorización. Deberá además usar las opciones -U y -P cuando use ésta.
-z
Esta opción hace que suck omita el proceso normal de eliminación de
duplicaciones. Básicamente es para máquinas lentas donde la eliminación
de mensajes duplicados puede llevar más tiempo del que se emplearía en
la descarga de éstos. No se recomienda.
-x
Esta opción hace que suck no compruebe la existencia del caracter > al
final de los Messagge-ID’s. Esta opción es para los servidores NNTP
desneuronados que truncan la información del XHDR a 72 caracteres.
-B
Esta opción hace que suck intente almacenar artículos en su directorio
ANTES de empezar a recoger mensajes. Esto puede ser útil si Vd. tuvo
problemas en una recogida previa. Esta opción sólo funciona si Vd.
especifica una opción de almacenamiento (ver más adelante). Si no hay
mensajes para almacenar alguna de las de las opciones de
almancenamiento pueden producir mensajes de advertencia. Pueden ser
ignorados con toda confianza. Si existen archivos de almacenamiento al
final de la ejecución de suck en el modo inn-batch, estos serán sobre-
escritos ya que el nuevo archivo de almacenamiento contendrá todos los
mensajes. En el modo rnews, si el archivo existe, se abortará y no
almacenará ningún mensaje.
OPCIONES LARGAS EQUIVALENTES
-a --always_batch
-bi --batch-inn
-br --batch_rnews
-bl --batch_lmove
-bf --batch_innfeed
-bp --batch_post
-c --cleanup
-dt --dir_temp
-dd --dir_data
-dm --dir_msgs
-e --def_error_log
-h --host
-hl --localhost
-k --kill_no_postfix
-l --language_file
-m --multifile
-n --number_mode
-p --postfix
-q --quiet
-r --rnews_size
-s --def_status_log
-w --wait_signal
-x --no_chk_msgid
-z --no_dedupe
-A --active
-AL --read_active
-B --pre-batch
-C --reconnect
-D --debug
-E --error_log
-H --no_history
-K --killfile
-L --kill_log_none
-LS --kill_log_short
-LL --kill_log_long
-M --mode_reader
-N --portnr
-P --password
-R --no_rescan
-S --status_log
-T --timeout
-U --userid
-V --version
-W --wait
DESCRIPCIÓN
MODO 1 - modo stdout o de salida estándar
%suck
%suck minodo.com
Suck obtiene mensajes de un servidor NNTP y envía los artículos a la
salida estándar. Suck acepta como argumento el nombre del servidor NNTP
o, si Vd. no da un argumento, tomará la variable de entorno NNTPSERVER.
Vd. puede redireccionar los artículos o comprimirlos directamente con
algo como "suck server.domain | gzip -9 > output.gz". Ahora es asunto
suyo que hacer son ellos. Puede Vd. tenerlos ya en su máquina local
porque usó una línea slip o puede tener que enviarlos a su máquina
local.
MODO 2 - Modo multiarchivo
%suck -m
%suck minodo.com -m
Suck obtiene mensajes de un servidor NNTP y guarda cada artículo en un
archivo separado. Se guardan en el directorio especificado en
suck_config.h o en la opción -dm de la línea de comando.
MODO 3 - Modo batch (en lote)
%suck -b[irlf] archivo_batch
o %suck -bp -hl localhost
%suck minodo.com -b[irlf] archivo_batch
Suck obtiene los archivos de un servidor NNTP y los guarda en archivos,
uno por cada artículo (modo multiarchivo). La colocación de los
archivos está basada en las definiciones en suck_config.h y la -dm de
la línea de comando. Una vez que suck ha recogido todos los artículos,
construirá un archivo batch que puede ser procesado por innxmit o
rnews, o podrá llamar a lmove para poner los archivos directamente en
el formato /news/grupo/numero.
-bi - construye el archivo batch para innxmit. Los archivos se dejan
intactos y el archivo batch se construye conteniendo una lista con el
path completo de cada artículo. Entonces innxmit puede ser ejecutado
mediante:
%innxmit localhost archivo_batch
-bl - suck podrá lmove(r) para dejar los artículos con el formato
/news/grupo/numero. Vd. debe especificar el nombre del archivo de
configuración. Se pasan de suck a lmove los siguienetes argumentos:
El nombre del archivo de configuración (el archivo_batch de esta
opción)
Directorio especificado para los artículos (-dm o el valor
precompilado por defecto).
El archivo de registro de errores (-e o -E), si se especifico en
la línea de comando.
El archivo de frases (-l), si se especificó en la línea de
comando.
La opción de depuración de errores, si se especificó en la línea
de comando.
-br - construye un archivo para rnews. Los artículos son concatenados
consecutivamente, con el separador #!rnews tamaño. Esto puede ser
usado como entrada para rnews:
%rnews -S localhost archivo_batch
-r tamaño especifica el tamaño máximo del archivo para rnews. Esta
opción le permite a Vd. especificar el tamaño máximo del archivo para
rnews. Cuando se alcanza este límite, se crea un nuevo archivo DESPUÉS
de escribir el artículo en curso en el archivo batch antiguo. El
archivo batch segundo y los sucesivos tienen una secuencia que comienza
por 1 añadida al nombre de archivo especificado con -br. Nótese que
como se debe acabar de escribir el artículo en curso después de
alcanzar el límite, el tamaño máximo de archivo es solamente
aproximado.
-bf - construye un archivo de batch para infeed. Este archivo contiene
el MsgID y el camino completo para cada artículo. La principal
diferencia entre la opción de innxmit y ésta es que el archivo de
infeed se contruye según los artículos están siendo descargados, con lo
que se le pueden pasar los artículos a infeed incluso aunque todavía
haya más artículos descargándose.
-bp - Esta opción hace que suck construya un archivo batch y envíe los
artículos de ese archivo al nodo local (especificado como localhost en
la opción -hl). Esta opción usa el comando IHAVE para enviar todos los
artículos descargados al nodo local. El archivo batch se llama
suck.post y se sitúa en el directorio temporal (-dt). Se borra cuando
concluye el envío de todos los artículos de una forma satisfactoria.
Los artículos se borran incluso si no son aceptados por el servidor
(generalemente si ya está en el servidor o el artículo es demasiado
antiguo). Si ocurre otro error el artículo NO es borrado. Vd. puede
descargar y enviar artículos a su servidor local con el siguiente
comando, sin preocuparse por estar usando INND o CNEWS.
%suck news.servidor.com -bp -hl localhost -A -c
ARCHIVO DE PARÁMETROS DE SUCK
Si Vd. especifica @archivo en la línea de comando, suck lo leerá y
buscará en él cualquier parámetro que Vd. quiera pasarle. Puede
especificar en este archivo los mismos argumentos que en la línea de
comando. También puede incluir comentarios. Los comentarios comienzan
con ’#’ y siguen hasta el final de la línea. Los argumentos de la línea
de comando prevalecen sobre los del archivo.
# Ejemplo de archivo de parámetros
-bi batch # opción de archivo de almacenamiento
-M # usar el modo de lectura
SUCKNEWSRC
Suck busca un archivo sucknewsrc para ver que artículos desea Vd. y
cuales ya han sido recibidos. El formato de sucknewsrc es muy simple.
Consiste en dos o tres campos. el primero es el nombre del grupo. El
siguiente es el número del mayor artículo del grupo descargado en la
anterior conexión. El tercer campo, opcional, limita el número de
artículos que son descargados cada vez. Si hay más artículos que ese
número, sólo se descargan los más recientes. Si el tercer campo es 0 no
se descargan mensajes. Los campos están separados por un espacio.
comp.os.linux.announce 1 [ 100 ]
Cuando suck acaba, crea el archivo suck.newsrc que contiene el nuevo
sucknewsrc con los números de artículo actualizados.
Para añadir un nuevo grupo de news, simplemente añádalo a sucknewsrc
con número de artículo -1 (o cualquier número menor que 0). Suck tomará
los X mensajes más nuevos de ese grupo. Por ejemplo, un -100 hará que
suck descargue los 100 artículos más recientes para ese grupo de news.
Para hacer que suck no tenga en cuenta un grupo de news ponga un # como
primer caracter de la línea.
SUCKKILLFILE y KEEP/KILLFILES DE GRUPO
Para usar las rutinas de mantener y filtar archivos, quítese de
comentario a la línea #define KILLFILE en el archivo suck_config.h.
Entonces, si existe el archivo suckkillfile las cabeceras de todos los
artículos serán revisadas y los artículos descargados o no según los
parámetros en los archivos. Si no se especifica opción de longitud de
registro (véanse las opciones -L anteriores), entonces se utilizará la
opción de registro larga.
Se permiten comentarios en las líneas de los archivos de filtro. Las
líneas de comentario tienen un # en su primera posición. Todo el
contenido de la línea de comentario será ignorado.
El sistema de borrado y aceptación funciona así: Todos los artículos
son comprobados usando el archivo de filtro maestro (killfile). Si un
artículo no es eliminado por el filtro maestro, entonces se estudia su
línea de grupo (group). Si existe un archivo de grupo para alguno de
los grupos en el artículo, se comprueba ese archivo de grupo. Si se
ajusta al contenido de un archivo de aceptación (keepfile) entonces se
acepta y en otro caso se marca para ser borrado. Si se ajusta al
contenido de un archivo de filtro (killfile) entonces se marca para ser
borrado, en otro caso se mantiene entre los aceptados. Todo esto se
hace con cada uno de los grupos de la línea group.
PARÁMETROS
LOWLINES=#######
HILINES=#######
NRGRPS=####
QUOTE=c
GROUP=keep grupo archivo O BIEN GROUP=delete grupo archivo
PROGRAM=camino_y_nombre
TIEBREAKER_DELETE
GROUP_OVERRIDE_MASTER
USE_EXTENDED_REGEX
HEADER:
Cualquier línea de cabecera válida:
BODY:
BODYSIZE>
BODYSIZE<
Parámetros de los archivos KILL/KEEP
HILINES= Selecciona cualquier artículo de más líneas que el
especificado.
LOWLINES= Selecciona cualquier artículo de menos líneas que el
especificado.
NRGRPS= Esta línea seleccionará cualquier artículo que tenga más grupos
que el número especificado. Típicamente se usa en el killfile para
evitar spam. ( Un artículo spam es el que se envía a demasiados grupos,
como esos que siguen el esquema de "hágase rico", etc.)
CABECERA: Cualquier lnea de cabecera vlida: Suck le permite comprobar
la existencia de un patrón o cadena en una línea de cabecera simple o
bien en toda la cabecera del artículo. Para comprobar una línea
individual basta especificarla. Por ejemplo, para comprobar si
boby@pixi.com está en la línea del From hay que poner
From:boby@pixi.com
Nótese que la línea de cabecera se debe ajustar EXACTAMENTE con el
contenido del artículo. Para comprobar existencia de una línea de
Follow-To: basta poner "Follow-To:" como parámetro. Cada item de
búsqueda debe ir en una línea separada, eg:
From:boby@xxx
From:nerd@yyy
Subject:suck
El parámetro HEADER: es un caso especial de los citados. Si Vd. usa
HEADER:, se buscará el item en toda la cabecera. Se permiten varias
líneas HEADER: en cada archivo de filtro (killfile).
Si en su sistema están las rutinas regex(), entonces se busca que case
con las expresiones regulares en vez de meras cadenas. Observe que la
opción QUOTE= se aplica incluso en las expresiones regulares.
BODY: Esta parámetro le permite analizar el cuerpo de un artículo en
busca de texto. De nuevo, si su sistema tiene regex(), Vd. puede usar
expresiones regulares y también se aplica la opción QUOTE=. Se permiten
varias líneas BODY: en cada archivo de filtro. ADVERTENCIA: con ciertas
combinaciones de regex, especialemnte con .* al principio (ej
BODY:.*jpg) y con grandes artículos puede ocurrir que las rutinas regex
consuman mucho tiempo de UCP y parezca que suck no está haciendo nada.
BODYSIZE> Este parámetro selecciona cualquier artículo cuyo tamaño de
cuerpo (sin incluir las cabeceras) sea mayor que ese parámetro.
BODYSIZE< Este parámetro selecciona los artículos cuyo tamaño de cuerpo
sea menor que dicho parámetro.
QUOTE= Este item define el caracter usado para la cita literal de
cadenas. El valor por defecto es ". Si un item comienza por el
caracter QUOTE, entonces es comprobado tal y como aparece
(diferenciando las mayúsculas y las minúsculas). Si un item no comienza
con el caracter de QUOTE, entonces las comprobaciones se hacen sin
importar si se trata de mayúsculas o minúsculas.
GROUP= Esta línea permite especificar parámetros para aceptar o borrar
artículos grupo por grupo. Hay tres partes en esta línea. Las partes se
deben separar por un espacio exactamente. La primera parte es o "keep"
o "delete". Si es keep, entonces se recogen los artículos de ese grupo
que se ajustan los parámetros del archivo de grupo. Si es delete,
entonces no se recogen los artículos de ese grupo que se ajustan a los
parámetros. La segunda parte, el nombre de grupo, es el nombre completo
del grupo que se se comprobará usando el archivo de grupo. El nombre de
grupo puede contener un * como último caracter para ajustarse a varios
grupos, ej: "esp.comp.so.linux.*" puede ajustarse a
esp.comp.so.linux.anuncios, esp.comp.so.linux.redes, etc. La tercera
parte indica el archivo de grupo que contiene los parámetros sobre los
que se comprobará. Observe que si Vd. especifica un sufijo con la
opción -p, ese sufijo se añade al nombre del archivo que busca suck,
SALVO que use la opción -k anterior.
GROUP_OVERRIDE_MASTER Esto le permite a Vd. suprimir el comportamiento
por defecto del archivo de filtro. Si aparece esta opción en el archivo
de filtro maestro se comprobará el archivo de grupo incluso aunque el
artículo en cuestión sea marcado para eliminar por el filtro maestro.
Si el archivo de grupo decide no eliminarlo, entonces será aceptado.
TIEBREAKER_DELETE
Esta opción le permite a Vd. suprimir el comportamiento de desligadura
que incluido por defecto. Se da cuando un mensaje es marcado para
aceptarse en un grupo y para ser eliminado en otro. El comportamiento
por defecto es aceptar el mensaje. La opción TIEBREAKER_DELETE evitará
esto y hará que el artículo sea eliminado.
USE_EXTENDED_REGEX Esta opción hace que suck use expresiones regulares
extendidas en vez de expresiones regulares estándar. Puede ser usado en
el archivo de filtro maestro, en cuyo caso se aplica a todos los
archivos de filtro o en un archivo de filtro individual, en cuyo caso
se aplica a los parámetros que le siguen en el archivo de filtro.
PROGRAM= Esta opción permite a suck llamar a un programa externo para
comprobar cada artículo. En esta línea Vd. puede especificar argumentos
además del nombre del archivo. Si la línea está en su suckkillfile,
todas las demás lineas se ignorarán. En vez de eso, la cabecera del
artículo se enviará al programa externo y éste determinará si recogerlo
o no. Funciona así: mediante un fork, suck ejecutará su programa con la
entrada y la salida redireccionadas. Suck pasará las cabeceras a su
programa a través de la entrada estandar, stdin, y esperará una
respuesta a través de la salida estándar, stdout. El flujo de datos
para cada artículo es el siguiente:
1. suck escribirá en la entrada estándar del programa externo
una cadena de 8 octetos, que representa la longitud de la
cabecera. La longitud está en ascii, alineada a la izquierda y
terminada por un caracter de cambio de línea (ejemplo:
"1234\n").
2. acto seguido suck escribirá la cabecera en la entrada
estándar del programa externo.
3. suck esperará una respuesta de dos caracteres en la salida
estándar. Este código de respuesta puede ser "0\n" o "1\n" (NO
CERO O UNO EN BINARIO, CERO O UNO EN ASCII). Si el código de
retorno es cero, entonces suck recogerá el artículo. Si es uno,
no.
4. Cuando no haya más artículos, la longitud escrita (para el
paso 1) será de cero (nuevamente en ascii: "0\n"). Suck esperará
a la finalización del programa externo antes de continuar. El
programa externo puede hacer cualquier tarea de limpieza
necesaria y después finalizar. Nota: suck no seguirá procesando
nada mientras el programa no finalice.
Todos los parámetros son válidos tanto en el archivo de filtro maestro
como en el archivo de filtro de grupo, con la excepción de GROUP,
PROGRAM, TIEBREAKER_DELETE y GROUP_OVERRIDE_MASTER. Éstos sólo son
válidos en el archivo de filtro maestro.
SUCKOTHERMSGS
Si existe suckothermsgs , debe contener un listado de Message-ID’s, uno
en cada línea, incluyendo los <>. Estos artículos serán recogidos, a la
vez que los artículos resultantes del proceso del archivo sucknewsrc.
Esto puede ser usado para recoger artículos de otros grupos o que no
han sido recogidos por haber sido excluidos por el filtro. Estos
artículos NO SON procesados por las rutinas de filtro de artículos.
FRASES DE DIVERSOS LENGUAJES
Si se especifica la opción -l archivo_de_frases o existe el archivo
/usr/local/lib/suck.phrases (definido en suck_config.h), entonces suck
leerá este archivo de frases alternativas y las usará para todos los
mensajes de estado y de error en lugar de los mensajes compilados por
defecto. La línea de comando prevalece sobre el archivo, si aparecen
ambos. El archivo de frases contiene todos los mensajes usados por
suck, rpost, testhost y lmove, cada uno en una línea separada y entre
comillas. Para crear un archivo de frases, ejecute en la línea de
comando la instrucción: make phrases Esto creará el archivo
"phrases.engl", que es una lista de las frases por defecto. Basta
editar este archivo, cambiando las frases en inglés por las del
lenguaje que elija, asegurándose de mantener las frases entre comillas.
Esas frases pueden incluir variables usadas para escribir datos
provenientes del programa, como por ejemplo el nombre del nodo. Las
variables se denotan por %vN%, donde N es un número. Estas variables
pueden aparecer en cualquier orden en la frase, por ejemplo, son frases
válidas:
"Hola, %v1%, bienvenido a %v2%" o
"Bienvenido a %v2%, %v1%"
siguiente línea, de retorno de carro o un tabulador respectivamente.
Observe que la primera línea del archivo de frases es el número de
versión actual. Se compara con el número de versión del suck que se
está ejecutando para tener por seguro de que se trata del archivo de
frases de la versión correcta.
Si Vd. madifica el código fuente y añade frases nuevas, debe regenerar
phrases.h para que todo funcione correctamente. Para crearlo basta
ejecutar make phrases.h en la línea de comando.
TRATAMIENTO DE SEÑALES
Suck acepta dos señales definidas en suck_config.h. La primera señal
(por defecto es SIGTERM) hará que suck acabe de recoger el artículo en
curso, almacene en el batch los artículos recogidos y acabe sin error.
La segunda señal (por defecto SIGUSR1) hará que suck use los valores de
pausa definidos con la opción -w (ver los párrafos anteriores).
VALOR DEVUELTO
Suck acabará con los siguientes códigos de retorno:
0 = correcto, sin errores
1 = no hay artículos disponibles para ser recogidos.
2 = suck recibió una respuesta inesperada a un comando enviado
al servidor remoto.
3 = se usó la opción -V.
4 = suck no pudo llevar a cabo el proceso de autorización en el
servidor remoto.
-1 = error general.
HISTORIA
Autor Original - Tim Smith (se desconoce su dirección)
Mantenido por -
Marzo 1995 - Sven Goldt (goldt@math.tu-berlin.de)
Julio 1995 - Robert A. Yetman (boby@pixi.com)
VÉASE TAMBIÉN
testhost(1), rpost(1), lpost(1).
SUCK(1)