Provided by:
manpages-es-extra_0.8a-17_all 
NOMBRE
suck - Obtiene un pequeno 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 tamano ] [ -p extension ] [ -U usuario ]
[ -P clave ] [ -c ] [ -M ] [ -N puerto ] [ -W tiempo_de_pausa
num_mensajes_pausa ] [ -w tiempo_de_pausa num_mensajes_pausa ] [ -l
archivo_de_frases ] [ -D ] [ -R ] [ -q ] [ -C articulos ] [ -k ] [ -A ]
[ -AL archivo_active ] [ -hl localhost ] [ -bp ] [ -T tiempo_tope ] [
-n ] [ -u ] [ -z ] [ -x ] [ -B ]
Opciones validas en todos los modos
-V
Esta opcion hace que suck escriba el numero de version y finalice.
-s | -S archivo
Estas opciones enviaran todos los mensajes de estado (que normamente
van a la salida estandar) a un archivo alternativo. Cuando la opcion es
la minuscula, -s, enviaran los mensajes de estado al archivo por
defecto en definido en tiempo de compilacion en suck_config.h. Por
defecto se toma /dev/null, o sea: no se escribiran mensajes de estado.
La mayuscula, -S, requiere un nombre de archivo. Todos los mensajes de
estado seran enviados a este archivo.
-e | -E archivo
Estas opciones enviaran todos los mensajes de error (normalmente
escritos en la salida de error estandar) a un archivo alternativo. La
version en minuscula, -e enviara los mensajes de error al archivo por
defecto definido en tiempo de compilacion en suck_config.h. Por defecto
se toma suck.errlog. La mayuscula, -E, requiere un nombre de archivo.
Todos los mensajes de error seran enviados a este archivo.
-a
Esta opcion obliga a suck a hacer siempre un archivo batch de los
articulos obtenidos, incluso si el proceso se aborta por alguna razon.
Sin esta opcion, suck solo crea el batch de los articulos si finaliza
correctamente o si es cancelado por una senal (vease mas adelante).
-N puerto
Esta opcion 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 opcion hace que suck lea otras opciones del archivo indicado,
ademas de las de la linea de comando.
-dt directorio
-dm directorio
-dd directorio
Especifica la colocacion 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 articulos 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 perdera todos sus archivos de
configuracion.
-dd directorio = directorio de archivos de datos usados por suck
(sucknewsrc suckkillfile suckothermsgs active-ignore)
-p extension
Esta extension se anade a todos los archivos, de modo que Vd. puede
tener varios nodos de toma de articulos. Por ejemplo, si Vd. especifica
-p .dummy, entonces suck busca sucknewsrc.dummy, suckkillfile.dummy,
etc, y crea sus archivos temporales con la misma extension. Esto le
permite a Vd. mantener varios archivos sucknewsrc, uno para cada nodo.
-K Esta opcion hace que suck que no tenga en cuenta el(los)
archivo(s) killfile (archivos de filtro).
-L Esta opcion hace que suck que NO escriba en suck.killlog el
registro de los articulos filtrados.
-LS
Esta opcion hace que suck cree un registro corto de cada articulo
eliminado por el filtro. El registro corto contiene el grupo del
articulo y cual es el patron al que se ajustaba, asi como el MsgID del
articulo eliminado.
-LL
Esta opcion hace que suck cree un registro largo de cada articulo
filtrado. El registro largo contiene la informacion del registro corto
y la cabecera del articulo filtrado.
-H Esta opcion hara que suck omita la comprobacion 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 opcion suck hara 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 opcion hace que suck envie un comando de "modo de lectura" al
servidor remoto. If Vd. obtiene un comando de mensaje invalido
inmediatamente despues del anuncio de bienvenida, pruebe esta opcion.
-W tiempo_de_pausa num_mensajes_pausa
Esta opcion hace que suck haga pausas mientras recoge articulos. Vd.
puede necesitar especificar la pausa (en segundos), y cuan a menudo
parar (cada X articulos). Ej.: -W 10 100 hara que suck pare durante 10
segundos cada 100 articulos. c Por que querria hacer esto ? Suck puede
causar altas cargas en el servidor remoto y esta pausa permite al
servidor "tomar aliento".
-w tiempo_de_pausa num_mensajes_pausa
Esta opcion le permite a Vd. decelerar a suck mientras obtiene
articulos. Si Vd. envia a suck una senal predefinida (por defecto
SIGUSR1, vease suck_config.h) suck pasara de las opciones de pausa por
defecto (definidas mediante la opcion -W) a los valores de esta opcion.
Por ejemplo, Vd. ejecuta suck con -w 2 2 y Vd. envia a suck una senal
SIGUSR1 (usando kill). Suck parara dos segundos entre un mensaje y
otro, permitiendo "recuperar aliento" al servidor. Si Vd envia otra
senal SIGUSR1 a suck, entonces suck volvera a las opciones de pausa por
defecto. Si no se especificaron opciones de pausa en la linea de
comando (Vd. omitio -W), entonces suck volvera a su velocidad maxima de
recogida.
-l archivo_de_frases
Esta opcion 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. Vease mas abajo.
-D
Esta opcion hace que suck envie varios mensajes de debug a
"debug.suck", usado basicamente por mantenedor.
-R
Esta opcion 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 articulos nuevos, inclusive en los
recomienzos.
-q
Esta opcion hace que suck no escriba la cuenta de articulos y BPS
mientras dura la obtencion de mensajes. Conveniente cuando se esta
ejecutando suck en modo desatendido, por ejemplo mediante crontab.
-C articulos
Esta opcion hace que suck rompa la conexion y la reabra cada cierto
numero de articulos. Esto esta disenado para luchar contra la opcion
LIKE_PULLERS=DONT de INN, con la que hay quien compila. Con
LIKE_PULLERS=DONT, despues de 100 mensajes, INN para cada mensaje,
bajando drasticamente la velocidad de recogida. Yo no recomiendo el uso
de esto, pero Vd. no tiene eleccion...
-k
Esta opcion hace que suck NO anada el sufijo de la opcion -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 opcion hace que suck examine el nodo local (localhost,
especificado en la opcion -hl ) y use su archivo active para
confeccionar y actualizar el sucknewsrc. Si Vd. anade un grupo a su
nodo local, suck lo anadira a sucknewsrc y recogera los articulos. O,
si Vd. borra un grupo de su nodo local, este sera borrado de
sucknewsrc. Si no esta permitido enviar articulos a un grupo
particular, entonces la linea de sucknewsrc estara comentada. Con esta
opcion 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 linea, y suck ignorara esos grupos cuando revise el nodo local
(localhost). Si Vd. usa la opcion -p de sufijo, suck buscara la
existencia de un archivo "active-ignore" con ese sufijo. Si no existe,
entonces buscara la existencia de un archivo sin el sufijo.
-AL archivo_active
Esta opcion es similar a la opcion -A, excepto que lee la lista del
archivo active en lugar de conectarse al servidor de NNTP. Todas las
caracteristicas de la opcion -A son aplicables aqui tambien. Si se usan
las dos en la linea de comando, suck intentara primero usar la opcion
-A; si esa falla, usara esta opcion.
-hl localhost
Esta opcion especifica el nodo local. Se requiere para las opciones -A
y -bp.
-T tiempo_tope
Esta opcion reemplaza el valor precompilado de TIMEOUT, tiempo tope de
conexion. Es el tiempo que suck esta esperando datos del host remoto
antes de sobrepasar el tope y abortarse.
-n
Esta opcion hace que suck use el numero de articulo en lugar del MsgId
cuando se reciben mensajes. Esta opcion es supuestamente menos
dificultosa para el servidor remoto. Tambien puede eliminar problemas
si su ISP (proveedor de acceso a internet) caduca los articulos
rapidamente y Vd. recibe errores de "article not found" con frecuencia.
-u
Esta opcion hace que suck envie al servidor remoto un comando AUTHINFO
USER nada mas conectarse, en lugar de esperar la peticion de
autorizacion. Debera ademas usar las opciones -U y -P cuando use esta.
-z
Esta opcion hace que suck omita el proceso normal de eliminacion de
duplicaciones. Basicamente es para maquinas lentas donde la eliminacion
de mensajes duplicados puede llevar mas tiempo del que se emplearia en
la descarga de estos. No se recomienda.
-x
Esta opcion hace que suck no compruebe la existencia del caracter > al
final de los Messagge-ID's. Esta opcion es para los servidores NNTP
desneuronados que truncan la informacion del XHDR a 72 caracteres.
-B
Esta opcion hace que suck intente almacenar articulos en su directorio
ANTES de empezar a recoger mensajes. Esto puede ser util si Vd. tuvo
problemas en una recogida previa. Esta opcion solo funciona si Vd.
especifica una opcion de almacenamiento (ver mas 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 ejecucion de suck en el modo inn-batch, estos seran sobre-
escritos ya que el nuevo archivo de almacenamiento contendra todos los
mensajes. En el modo rnews, si el archivo existe, se abortara y no
almacenara ningun 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'ON
MODO 1 - modo stdout o de salida est'andar
%suck
%suck minodo.com
Suck obtiene mensajes de un servidor NNTP y envia los articulos a la
salida estandar. Suck acepta como argumento el nombre del servidor NNTP
o, si Vd. no da un argumento, tomara la variable de entorno NNTPSERVER.
Vd. puede redireccionar los articulos 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 maquina local
porque uso una linea slip o puede tener que enviarlos a su maquina
local.
MODO 2 - Modo multiarchivo
%suck -m
%suck minodo.com -m
Suck obtiene mensajes de un servidor NNTP y guarda cada articulo en un
archivo separado. Se guardan en el directorio especificado en
suck_config.h o en la opcion -dm de la linea 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 articulo (modo multiarchivo). La colocacion de los
archivos esta basada en las definiciones en suck_config.h y la -dm de
la linea de comando. Una vez que suck ha recogido todos los articulos,
construira un archivo batch que puede ser procesado por innxmit o
rnews, o podra 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 articulo. Entonces innxmit puede ser ejecutado
mediante:
%innxmit localhost archivo_batch
-bl - suck podra lmove(r) para dejar los articulos con el formato
/news/grupo/numero. Vd. debe especificar el nombre del archivo de
configuracion. Se pasan de suck a lmove los siguienetes argumentos:
El nombre del archivo de configuracion (el archivo_batch de esta
opcion)
Directorio especificado para los articulos (-dm o el valor
precompilado por defecto).
El archivo de registro de errores (-e o -E), si se especifico en
la linea de comando.
El archivo de frases (-l), si se especifico en la linea de
comando.
La opcion de depuracion de errores, si se especifico en la linea
de comando.
-br - construye un archivo para rnews. Los articulos son concatenados
consecutivamente, con el separador #!rnews tamano. Esto puede ser
usado como entrada para rnews:
%rnews -S localhost archivo_batch
-r tamano especifica el tamano maximo del archivo para rnews. Esta
opcion le permite a Vd. especificar el tamano maximo del archivo para
rnews. Cuando se alcanza este limite, se crea un nuevo archivo DESPUES
de escribir el articulo en curso en el archivo batch antiguo. El
archivo batch segundo y los sucesivos tienen una secuencia que comienza
por 1 anadida al nombre de archivo especificado con -br. Notese que
como se debe acabar de escribir el articulo en curso despues de
alcanzar el limite, el tamano maximo de archivo es solamente
aproximado.
-bf - construye un archivo de batch para infeed. Este archivo contiene
el MsgID y el camino completo para cada articulo. La principal
diferencia entre la opcion de innxmit y esta es que el archivo de
infeed se contruye segun los articulos estan siendo descargados, con lo
que se le pueden pasar los articulos a infeed incluso aunque todavia
haya mas articulos descargandose.
-bp - Esta opcion hace que suck construya un archivo batch y envie los
articulos de ese archivo al nodo local (especificado como localhost en
la opcion -hl). Esta opcion usa el comando IHAVE para enviar todos los
articulos descargados al nodo local. El archivo batch se llama
suck.post y se situa en el directorio temporal (-dt). Se borra cuando
concluye el envio de todos los articulos de una forma satisfactoria.
Los articulos se borran incluso si no son aceptados por el servidor
(generalemente si ya esta en el servidor o el articulo es demasiado
antiguo). Si ocurre otro error el articulo NO es borrado. Vd. puede
descargar y enviar articulos 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'AMETROS DE SUCK
Si Vd. especifica @archivo en la linea de comando, suck lo leera y
buscara en el cualquier parametro que Vd. quiera pasarle. Puede
especificar en este archivo los mismos argumentos que en la linea de
comando. Tambien puede incluir comentarios. Los comentarios comienzan
con '#' y siguen hasta el final de la linea. Los argumentos de la linea
de comando prevalecen sobre los del archivo.
# Ejemplo de archivo de parametros
-bi batch # opcion de archivo de almacenamiento
-M # usar el modo de lectura
SUCKNEWSRC
Suck busca un archivo sucknewsrc para ver que articulos 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 numero del mayor articulo del grupo descargado en la
anterior conexion. El tercer campo, opcional, limita el numero de
articulos que son descargados cada vez. Si hay mas articulos que ese
numero, solo se descargan los mas recientes. Si el tercer campo es 0 no
se descargan mensajes. Los campos estan 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 numeros de articulo actualizados.
Para anadir un nuevo grupo de news, simplemente anadalo a sucknewsrc
con numero de articulo -1 (o cualquier numero menor que 0). Suck tomara
los X mensajes mas nuevos de ese grupo. Por ejemplo, un -100 hara que
suck descargue los 100 articulos mas 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 linea.
SUCKKILLFILE y KEEP/KILLFILES DE GRUPO
Para usar las rutinas de mantener y filtar archivos, quitese de
comentario a la linea #define KILLFILE en el archivo suck_config.h.
Entonces, si existe el archivo suckkillfile las cabeceras de todos los
articulos seran revisadas y los articulos descargados o no segun los
parametros en los archivos. Si no se especifica opcion de longitud de
registro (veanse las opciones -L anteriores), entonces se utilizara la
opcion de registro larga.
Se permiten comentarios en las lineas de los archivos de filtro. Las
lineas de comentario tienen un # en su primera posicion. Todo el
contenido de la linea de comentario sera ignorado.
El sistema de borrado y aceptacion funciona asi: Todos los articulos
son comprobados usando el archivo de filtro maestro (killfile). Si un
articulo no es eliminado por el filtro maestro, entonces se estudia su
linea de grupo (group). Si existe un archivo de grupo para alguno de
los grupos en el articulo, se comprueba ese archivo de grupo. Si se
ajusta al contenido de un archivo de aceptacion (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 linea group.
PAR'AMETROS
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 linea de cabecera valida:
BODY:
BODYSIZE>
BODYSIZE<
Par'ametros de los archivos KILL/KEEP
HILINES= Selecciona cualquier articulo de mas lineas que el
especificado.
LOWLINES= Selecciona cualquier articulo de menos lineas que el
especificado.
NRGRPS= Esta linea seleccionara cualquier articulo que tenga mas grupos
que el numero especificado. Tipicamente se usa en el killfile para
evitar spam. ( Un articulo spam es el que se envia a demasiados grupos,
como esos que siguen el esquema de "hagase rico", etc.)
CABECERA: Cualquier l'inea de cabecera v'alida: Suck le permite comprobar
la existencia de un patron o cadena en una linea de cabecera simple o
bien en toda la cabecera del articulo. Para comprobar una linea
individual basta especificarla. Por ejemplo, para comprobar si
boby@pixi.com esta en la linea del From hay que poner
From:boby@pixi.com
Notese que la linea de cabecera se debe ajustar EXACTAMENTE con el
contenido del articulo. Para comprobar existencia de una linea de
Follow-To: basta poner "Follow-To:" como parametro. Cada item de
busqueda debe ir en una linea separada, eg:
From:boby@xxx
From:nerd@yyy
Subject:suck
El parametro HEADER: es un caso especial de los citados. Si Vd. usa
HEADER:, se buscara el item en toda la cabecera. Se permiten varias
lineas HEADER: en cada archivo de filtro (killfile).
Si en su sistema estan las rutinas regex(), entonces se busca que case
con las expresiones regulares en vez de meras cadenas. Observe que la
opcion QUOTE= se aplica incluso en las expresiones regulares.
BODY: Esta parametro le permite analizar el cuerpo de un articulo en
busca de texto. De nuevo, si su sistema tiene regex(), Vd. puede usar
expresiones regulares y tambien se aplica la opcion QUOTE=. Se permiten
varias lineas BODY: en cada archivo de filtro. ADVERTENCIA: con ciertas
combinaciones de regex, especialemnte con .* al principio (ej
BODY:.*jpg) y con grandes articulos puede ocurrir que las rutinas regex
consuman mucho tiempo de UCP y parezca que suck no esta haciendo nada.
BODYSIZE> Este parametro selecciona cualquier articulo cuyo tamano de
cuerpo (sin incluir las cabeceras) sea mayor que ese parametro.
BODYSIZE< Este parametro selecciona los articulos cuyo tamano de cuerpo
sea menor que dicho parametro.
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 mayusculas y las minusculas). Si un item no comienza
con el caracter de QUOTE, entonces las comprobaciones se hacen sin
importar si se trata de mayusculas o minusculas.
GROUP= Esta linea permite especificar parametros para aceptar o borrar
articulos grupo por grupo. Hay tres partes en esta linea. Las partes se
deben separar por un espacio exactamente. La primera parte es o "keep"
o "delete". Si es keep, entonces se recogen los articulos de ese grupo
que se ajustan los parametros del archivo de grupo. Si es delete,
entonces no se recogen los articulos de ese grupo que se ajustan a los
parametros. La segunda parte, el nombre de grupo, es el nombre completo
del grupo que se se comprobara usando el archivo de grupo. El nombre de
grupo puede contener un * como ultimo 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 parametros sobre los
que se comprobara. Observe que si Vd. especifica un sufijo con la
opcion -p, ese sufijo se anade al nombre del archivo que busca suck,
SALVO que use la opcion -k anterior.
GROUP_OVERRIDE_MASTER Esto le permite a Vd. suprimir el comportamiento
por defecto del archivo de filtro. Si aparece esta opcion en el archivo
de filtro maestro se comprobara el archivo de grupo incluso aunque el
articulo en cuestion sea marcado para eliminar por el filtro maestro.
Si el archivo de grupo decide no eliminarlo, entonces sera aceptado.
TIEBREAKER_DELETE
Esta opcion 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 opcion TIEBREAKER_DELETE evitara
esto y hara que el articulo sea eliminado.
USE_EXTENDED_REGEX Esta opcion hace que suck use expresiones regulares
extendidas en vez de expresiones regulares estandar. 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 parametros que le siguen en el archivo de filtro.
PROGRAM= Esta opcion permite a suck llamar a un programa externo para
comprobar cada articulo. En esta linea Vd. puede especificar argumentos
ademas del nombre del archivo. Si la linea esta en su suckkillfile,
todas las demas lineas se ignoraran. En vez de eso, la cabecera del
articulo se enviara al programa externo y este determinara si recogerlo
o no. Funciona asi: mediante un fork, suck ejecutara su programa con la
entrada y la salida redireccionadas. Suck pasara las cabeceras a su
programa a traves de la entrada estandar, stdin, y esperara una
respuesta a traves de la salida estandar, stdout. El flujo de datos
para cada articulo es el siguiente:
1. suck escribira en la entrada estandar del programa externo
una cadena de 8 octetos, que representa la longitud de la
cabecera. La longitud esta en ascii, alineada a la izquierda y
terminada por un caracter de cambio de linea (ejemplo:
"1234\n").
2. acto seguido suck escribira la cabecera en la entrada
estandar del programa externo.
3. suck esperara una respuesta de dos caracteres en la salida
estandar. Este codigo de respuesta puede ser "0\n" o "1\n" (NO
CERO O UNO EN BINARIO, CERO O UNO EN ASCII). Si el codigo de
retorno es cero, entonces suck recogera el articulo. Si es uno,
no.
4. Cuando no haya mas articulos, la longitud escrita (para el
paso 1) sera de cero (nuevamente en ascii: "0\n"). Suck esperara
a la finalizacion del programa externo antes de continuar. El
programa externo puede hacer cualquier tarea de limpieza
necesaria y despues finalizar. Nota: suck no seguira procesando
nada mientras el programa no finalice.
Todos los parametros son validos tanto en el archivo de filtro maestro
como en el archivo de filtro de grupo, con la excepcion de GROUP,
PROGRAM, TIEBREAKER_DELETE y GROUP_OVERRIDE_MASTER. Estos solo son
validos en el archivo de filtro maestro.
SUCKOTHERMSGS
Si existe suckothermsgs , debe contener un listado de Message-ID's, uno
en cada linea, incluyendo los <>. Estos articulos seran recogidos, a la
vez que los articulos resultantes del proceso del archivo sucknewsrc.
Esto puede ser usado para recoger articulos de otros grupos o que no
han sido recogidos por haber sido excluidos por el filtro. Estos
articulos NO SON procesados por las rutinas de filtro de articulos.
FRASES DE DIVERSOS LENGUAJES
Si se especifica la opcion -l archivo_de_frases o existe el archivo
/usr/local/lib/suck.phrases (definido en suck_config.h), entonces suck
leera este archivo de frases alternativas y las usara para todos los
mensajes de estado y de error en lugar de los mensajes compilados por
defecto. La linea 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 linea separada y entre
comillas. Para crear un archivo de frases, ejecute en la linea de
comando la instruccion: make phrases Esto creara el archivo
"phrases.engl", que es una lista de las frases por defecto. Basta
editar este archivo, cambiando las frases en ingles por las del
lenguaje que elija, asegurandose 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 numero. Estas variables
pueden aparecer en cualquier orden en la frase, por ejemplo, son frases
validas:
"Hola, %v1%, bienvenido a %v2%" o
"Bienvenido a %v2%, %v1%"
siguiente linea, de retorno de carro o un tabulador respectivamente.
Observe que la primera linea del archivo de frases es el numero de
version actual. Se compara con el numero de version del suck que se
esta ejecutando para tener por seguro de que se trata del archivo de
frases de la version correcta.
Si Vd. madifica el codigo fuente y anade frases nuevas, debe regenerar
phrases.h para que todo funcione correctamente. Para crearlo basta
ejecutar make phrases.h en la linea de comando.
TRATAMIENTO DE SE~NALES
Suck acepta dos senales definidas en suck_config.h. La primera senal
(por defecto es SIGTERM) hara que suck acabe de recoger el articulo en
curso, almacene en el batch los articulos recogidos y acabe sin error.
La segunda senal (por defecto SIGUSR1) hara que suck use los valores de
pausa definidos con la opcion -w (ver los parrafos anteriores).
VALOR DEVUELTO
Suck acabara con los siguientes codigos de retorno:
0 = correcto, sin errores
1 = no hay articulos disponibles para ser recogidos.
2 = suck recibio una respuesta inesperada a un comando enviado
al servidor remoto.
3 = se uso la opcion -V.
4 = suck no pudo llevar a cabo el proceso de autorizacion en el
servidor remoto.
-1 = error general.
HISTORIA
Autor Original - Tim Smith (se desconoce su direccion)
Mantenido por -
Marzo 1995 - Sven Goldt (goldt@math.tu-berlin.de)
Julio 1995 - Robert A. Yetman (boby@pixi.com)
V'EASE TAMBI'EN
testhost(1), rpost(1), lpost(1).
SUCK(1)