Página 1 de 1

script

Publicado: Mar, 09 Ago 2011, 13:36
por Javiers
Alguien cuenta con algun script de descarga o actualizacion de repositorios para Centos o OpenSUSE???... y si hay alguna forma de hacerlo desde mi ubuntu o debian

Re: script

Publicado: Mar, 09 Ago 2011, 14:36
por elav
Te dejo los Scripts que hay en el mirror de Rimed.

opensuse-update.sh

Código: Seleccionar todo

#!/bin/sh
#
# -*- ENCODING: UTF-8 -*-
#
# openSUSE Mirror v0.1
#
# Este programa es software libre. Puede redistribuirlo y/o
# modificarlo bajo los términos de la Licencia Pública General
# de GNU según es publicada por la Free Software Foundation,
# bien de la versión 2 de dicha Licencia o bien (según su
# elección) de cualquier versión posterior.
#
# Este programa se distribuye con la esperanza de que sea
# útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía
# MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN
# PROPÓSITO PARTICULAR. Para más detalles, véase la Licencia
# Pública General de GNU.
#
# Debería haber recibido una copia de la Licencia Pública
# General junto con este programa. En caso contrario, escriba
# a la Free Software Foundation, Inc., 51 Franklin Street,
# Fifth Floor, Boston, MA 02110-1301, USA.
#
# Copyright (C) 2008, "RIMED". Ciudad Habana, Cuba.
# Authors: Lic. Jorge Pedro Hernández Lalcebo <lalcebo@rimed.cu>
#
# Descripción
# --
# Este script inicia el programa debmirror con los parametros adecuados para
# comenzar las replicas de los espejos de la distribución Debian.
#
# Necesita poner una línea por cada espejo en su crontab.
#   Para comenzar la descarga cada 1 hora de un espejo.
#     00 */1 * * * /usr/local/bin/opensuse-update.sh
#   Si no desea que cron le envie un email con la salida del comando.
#     00 */1 * * * /usr/local/bin/opensuse-update.sh >/dev/null 2>&1
#
# Para futura información y obtener la última versión visite:
#   http://mirror.rimed.cu/scripts/
#
# NOTE: Requiere los programas
#        * "rsync(1)" Paquete rsync (Replacement for RCP/mirror that has Many More Features)
#

NAME="openSUSE Update"                              # Nombre script.
: ${PROGRAM:=openSUSE Update Mirror}                # Nombre software.
: ${VERSION:=0.1}                                   # Versión script.
: ${URLHOST:=rsync.opensuse.org}                    # URL origen.
: ${URLDIRE:=opensuse-full/opensuse/update/11.0/}   # URL origen.
: ${OUTBASE:=/srv/www/mirror}                       # Ruta de destino base.
: ${OUTPATH:=$OUTBASE/opensuse/update/11.0}         # Ruta de destino final.
: ${LOGFILE:=$OUTBASE/logs/opensuse-update.log}     # Archivo de registro.

# Crear el directorio de destino si no existe.
if [ ! -d "$OUTPATH" ] ; then mkdir -p "$OUTPATH"; fi

# Inicio archivo de registro.
cat > $LOGFILE <<EOL
Iniciando Mirror (`env LANG=es_ES.UTF-8 date`)
EOL

# Ejecutar.
rsync -rlptDvz --no-motd --delete-after --delete-excluded --force \
      --exclude='ppc/' --exclude='ppc64/' --exclude='src/'        \
      "rsync://$URLHOST/$URLDIRE" "$OUTPATH" >> "$LOGFILE"

# Fin.
exit 0
opensuse-oss.sh

Código: Seleccionar todo

#!/bin/sh
#
# -*- ENCODING: UTF-8 -*-
#
# openSUSE Mirror v0.1
#
# Este programa es software libre. Puede redistribuirlo y/o
# modificarlo bajo los términos de la Licencia Pública General
# de GNU según es publicada por la Free Software Foundation,
# bien de la versión 2 de dicha Licencia o bien (según su
# elección) de cualquier versión posterior.
#
# Este programa se distribuye con la esperanza de que sea
# útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía
# MERCANTIL implícita o sin garantizar la CONVENIENCIA PARA UN
# PROPÓSITO PARTICULAR. Para más detalles, véase la Licencia
# Pública General de GNU.
#
# Debería haber recibido una copia de la Licencia Pública
# General junto con este programa. En caso contrario, escriba
# a la Free Software Foundation, Inc., 51 Franklin Street,
# Fifth Floor, Boston, MA 02110-1301, USA.
#
# Copyright (C) 2008, "RIMED". Ciudad Habana, Cuba.
# Authors: Lic. Jorge Pedro Hernández Lalcebo <lalcebo@rimed.cu>
#
# Descripción
# --
# Este script inicia el programa debmirror con los parametros adecuados para
# comenzar las replicas de los espejos de la distribución Debian.
#
# Necesita poner una línea por cada espejo en su crontab.
#   Para comenzar la descarga cada 1 hora de un espejo.
#     00 */1 * * * /usr/local/bin/opensuse-update.sh
#   Si no desea que cron le envie un email con la salida del comando.
#     00 */1 * * * /usr/local/bin/opensuse-update.sh >/dev/null 2>&1
#
# Para futura información y obtener la última versión visite:
#   http://mirror.rimed.cu/scripts/
#
# NOTE: Requiere los programas
#        * "rsync(1)" Paquete rsync (Replacement for RCP/mirror that has Many More Features)
#

NAME="openSUSE"                                                    # Nombre script.
: ${PROGRAM:=openSUSE Mirror}                                      # Nombre software.
: ${VERSION:=0.1}                                                  # Versión script.
: ${URLHOST:=rsync.opensuse.org}                                   # URL origen.
: ${URLDIRE:=opensuse-full/opensuse/distribution/11.0/repo/oss/}   # URL origen.
: ${OUTBASE:=/srv/www/mirror}                                      # Ruta de destino base.
: ${OUTPATH:=$OUTBASE/opensuse/dists/11.0/oss}                     # Ruta de destino final.
: ${LOGFILE:=$OUTBASE/logs/opensuse-oss.log}                       # Archivo de registro.

# Crear el directorio de destino si no existe.
if [ ! -d "$OUTPATH" ] ; then mkdir -p "$OUTPATH"; fi

# Inicio archivo de registro.
cat > $LOGFILE <<EOL
Iniciando Mirror (`env LANG=es_ES.UTF-8 date`)
EOL

# Ejecutar.
rsync -rlptDvz --no-motd --delete-after --delete-excluded --force \
      --exclude='ppc/' --exclude='ppc64/' --exclude='*.ppc.pat.gz' --exclude='src/'        \
      "rsync://$URLHOST/$URLDIRE" "$OUTPATH" >> "$LOGFILE"

# Fin.
exit 0
Como es lógico, tienes que adaptarlo a tus necesidades y servidores.

Re: script

Publicado: Mar, 09 Ago 2011, 14:41
por hugo
Dudo que sea posible hacer un mirror de Centos desde Debian o Ubuntu, aunque se me ocurre que mediante rsync podría lograrse, aunque probablemente no sea lo ideal.

Edición:
Curiosamente no había refrescado el tema, asi que no vi la respuesta de elav, pero algo mas o menos asi (aunque menos elaborado) era lo que se me había ocurrido, porque una vez utilicé rsync para hacer un mirror local del repositorio dotdeb.

A propósito, alguien sabe cual es la herramienta recomendada por Centos o Scientific Linux para hacer mirrors?

Re: script

Publicado: Mar, 09 Ago 2011, 14:43
por elav
hugo escribió:Dudo que sea posible hacer un mirror de Centos desde Debian o Ubuntu, aunque se me ocurre que mediante rsync podría lograrse, aunque probablemente no sea lo ideal.
Supongo que adaptando esos que puse de opensuse se podría lograr algo..

Re: script

Publicado: Mar, 09 Ago 2011, 15:06
por Javiers
gracias por tu aporte elav.. disculpa mi ignorancia pero nunca he usado opensuse ni centos; pero en el caso de suse veo en el sitio de GULT que dentro tiene cuatro sesiones como ubuntu (main, restricted, universe, multiverse).. solo que aqui serian non-oss, oss, packman, update
me imagino que tendria que tener 4 script como los anteriores

y la otra pregunta seria cual es la ultima version stable de opensuse??

Re: script

Publicado: Mar, 09 Ago 2011, 17:14
por elav
Javiers escribió:y la otra pregunta seria cual es la ultima version stable de opensuse??
Me parece que es la 11.4, pero no estoy del todo seguro.

Re: script

Publicado: Jue, 18 Ago 2011, 15:58
por Javiers
elav, estoy tratando de configurar el script que me facilitastes para la descarga del repo de opensuse pero no lo logro contra el sitio de GULT, me podrias ayudar con eso

Re: script

Publicado: Jue, 18 Ago 2011, 16:13
por elav
Me parece que para el OSS por ejemplo, tienes que dejarlo de esta forma:

Código: Seleccionar todo

NAME="openSUSE"                                                    # Nombre script.
: ${PROGRAM:=openSUSE Mirror}                                      # Nombre software.
: ${VERSION:=0.1}                                                  # Versión script.
: ${URLHOST:=download.jovenclub.cu/repos/}                                   # URL origen.
: ${URLDIRE:=opensuse/11.4/oss/}   # URL origen.
: ${OUTBASE:=/ruta/donde/esta/el/mirror}                                      # Ruta de destino base.
: ${OUTPATH:=$OUTBASE/opensuse/dists/11.0/oss}                     # Ruta de destino final.
: ${LOGFILE:=$OUTBASE/logs/opensuse-oss.log}                       # Archivo de registro.