Autor Tema: he tenidp una idea , para los extras  (Leído 113844 veces)

0 Usuarios y 1 Visitante están viendo este tema.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #120 en: 26-07-2014, 22:24 (Sábado) »
@NEWUSER, creo que he encontrado una forma muy buena de mantener actualizados los scripts facilmente.

Antes que nada, mira este script que he creado hace poco:

Código: [Seleccionar]
#!/bin/sh

# Script for www.seguridadwireless.net by vk496

# Colores
CIERRE=${CIERRE:-""}
ROJO=${ROJO:-""}
VERDE=${VERDE:-""}
CYAN=${CYAN:-""}
AMARILLO=${AMARILLO:-""}
BLANCO=${BLANCO:-""}
ROSA=${ROSA:-""}


WEB="http://downloadwireless.net"
DIRECTORIO="wifislax-updaters"
DIRECTORIOHTML="?dir=$DIRECTORIO"
PRGNAM=$DIRECTORIO


# Presentacion
clear
echo ""
echo "$BLANCO                *****************************$CIERRE"
echo "$VERDE                    Instalador/Actualizador   $CIERRE"
echo "$VERDE                       para el programa       $CIERRE"
echo
echo "$CYAN                       $PRGNAM            $CIERRE"
echo "$VERDE                                              $CIERRE"
echo "$VERDE                   www.seguridadwireless.net   $CIERRE"
echo "$BLANCO                *****************************$CIERRE"
echo ""
sleep 3

# Comprobar conexion by geminis_demon
echo "$ROSA"Comprobando si hay acceso a internet"$CIERRE."
if [ "$(ping google.com -c1 2>/dev/null)" ]; then
echo "$VERDE"Tengo internet"$CIERRE ... $BLANCO"la tarea continuara."$CIERRE"
echo ""
else
echo "$ROJO"No tengo internet"$CIERRE ... $BLANCO"el script se cerrara."$CIERRE"
echo ""
sleep 5
exit 0
fi

if [ ! -d /opt/$DIRECTORIO ]; then
mkdir /opt/$DIRECTORIO
fi

for carpeta in $(curl -s $WEB/$DIRECTORIOHTML | grep "item dir" | sed 's/<[^>]\+>//g'); do

if [ ! -d /opt/$DIRECTORIO/$carpeta ]; then
mkdir /opt/$DIRECTORIO/$carpeta/
fi

for archivo in $(curl -s $WEB/$DIRECTORIOHTML/$carpeta | grep "item file" | sed 's/<[^>]\+>//g' | sed 's/^[[:space:]]*//g'); do

echo -n "${CYAN}Descargando $archivo... $CIERRE"

curl -s $WEB/$DIRECTORIO/$carpeta/$archivo -o /opt/$DIRECTORIO/$carpeta/$archivo

echo ${ROJO}LISTO$CIERRE

done

done


Todavía es un poco feo, pero hace bien su trabajo...
Lo que hace es descargar todos los scripts del FTP a la ruta que mencionaste antes.

Lo bueno viene ahora...

Código: [Seleccionar]
find /opt/wifislax-updaters -type f -exec md5sum {} + | awk '{print $1}' | sort | md5sum
find /opt/wifislax-updaters -type f -exec md5sum {} +: Obtener todos los hashes de todos los scripts

awk '{print $1}': mostrar solo el hash y omitir la ruta

sort: ordenar alfabeticamente los hashes (SUPER IMPORTANTE)

md5sum: obtener el hash de la lista anterior.

En vez de usar autoactualizacion para cada script, se puede sincronizar con el server solo por comparacion de hashes... Lo unico que falta es que el server tenga una ruta que devuelva el hash haciendo el mismo procedimiento (Puedo ayudar con el PHP). Creo que es la mejor opción, la guindilla de los updaters de WS

Salu2


« Última modificación: 26-07-2014, 22:30 (Sábado) por vk496 »

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #121 en: 26-07-2014, 23:18 (Sábado) »
Buena idea vk496  ;)

Pero también puedes sincroinizarlos según la fecha de modificación del archivo, que esa información ya te la da la web de descargas y así no hay que añadir código php que podría acarrear problemas de seguridad.

Se puede crear un log, de los directorios y scripts que hay actualmente en el server, junto con la fecha de creación de cada uno, y si al vovler a crear el log aparece un script nuevo o cambia alguna fecha ya sabemos que hay que actualizar ese script.

 

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #122 en: 26-07-2014, 23:29 (Sábado) »
Mantener un log está bien, pero creo que con el hash es mucho mas productivo. Supongo que habrá que esperar a @NEWUSER para que de su opinión o incluso a @Hwagm... Ya que si que es verdad que las modificaciones PHP son bastante peligrosas, hay que tener cuidado de como se hace...

EDITO: Yo haría esto por ejemplo

Código: [Seleccionar]
$WIFISLAXUPDATERSMD5 = shell_exec('find /ruta/del/server/wifislax-updaters -type f -exec md5sum {} + | awk \'{print $1}\' | sort | md5sum | awk \'{print $1}\' ');
Obtendríamos el MD5 en una variable de forma completamente interna.

Salu2
« Última modificación: 26-07-2014, 23:35 (Sábado) por vk496 »

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #123 en: 27-07-2014, 12:54 (Domingo) »
Citar
pero creo que con el hash es mucho mas productivo

Es lo mismo, es solo un dato que te dice que algo ha cambiado desde la ultima actualizacion, da lo mismo si es el hash o la fecha o incluso con poner la versión al nombre de cada script ya es suficiente.

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #124 en: 27-07-2014, 14:48 (Domingo) »
no se por que complicar algo tan sencillo.

en la cabecera del script ...

SCRIPT_VERSION=1.0

se compara con el numero del ftp y suficiente.



cuando el numero de version no coincida ,tal vez, mostrar el dialogo..

"parece", que hay una acrualizacion para los siguientes scripts ...tal tal tal..version de sistema tal y version online tal


crear en /opt/wifislax-updaters   la carpeta old  y mover alli las versiones viejas.


lo mas facil es  lo de version en la cabecera del script ...deberia ser siempre en el mismo numero de linea...asi el mismo comando valdria en todos...creo deberia se la primera linea REAL


#!/bin/bash

SCRIPT_VERSION=

# Script by tal y tal .....


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #125 en: 27-07-2014, 15:21 (Domingo) »
voy a ser claro y directo


una cosa es que yo puedo crear carpetas y tal y otra modificar el php.

lo primero no acarrea ningun riesgo , lo segundo si.


buscarse la vida sin tener que modificar el php , por que creo que el php no se toca ...de hecho yo solo tengo un acceso limitado , (o eso creo) ,que tampoco necesito mas que poder crear carpetas , ... y subir, borrar ficheros, pero no administrar ni gestionar el ftp.

o se añade a los script lo de VERSION, .. o se bajan y ya en  un directorio temporal  /tmp  se comparan los md5 en el sistema.

son scripts ,...que aunque hubiesen 100 a una media de 5 kas , son   500 kas ... eso se baja en unos segundos.
o bien comprobacion directa al vuelo con curl y el sistema de SCRIPT_VERSION


Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #126 en: 27-07-2014, 15:32 (Domingo) »
Yo opino que lo mejor es poner la versión en el nombre de cada script, así no hay que descargarlos para hacer la comprobación, solo se consulta el html con curl, y después al descargarlos se guardan con el nombre sin versión para no tener que modificar los lanzadores cada vez que se actualice un script.

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #127 en: 27-07-2014, 15:43 (Domingo) »
Está claro que se puede hacer de mas de una forma. Cogí el método del MD5 para no tener que estar modificando los scripts uno a uno. Se puede mantener actualizado el "conjunto" entero de una forma bastante fácil.

Sin embargo, es solo una idea, como cualquier otra... Y aqui mandan los jefes  >:D ;D

Obetener la version de una forma facil se puede con

Código: [Seleccionar]
curl -s http://downloadwireless.net/wifislax-updaters/Auditores/aircrack-ng-updater | sed -n 3p
Muestra la tercera linea.


Propongo que el tema de las versiones de cada script se lleve con fechas y no con numeros. Me explico:

en vez de 1.0

20140727

¿Por qué? Porque resulta mas fácil para comparar dos numeros para ver cual es mas grande, y, por tanto, el que está mas acualizado

Salu2


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #128 en: 27-07-2014, 17:05 (Domingo) »
pues ya esta claro ...

FECHAS MIRADAS CON CURL

... y ya esta ,forma facil sin tener que tocar nada mas.

solo añadir las fechas.


en la proxima iso ... añadire las fechas.


_________________________________________________________________________________________________

el script de wqine tenia algunos fallitos chorras ..los comento para que sepan lo que toque...

1 - lo de bajando sources ..corregido cuando baja gecko y mono ahora muestra bajando plugin wine_gecko  ..y wine_mono ..

2 - por algun extraño motivo ... la funcion de remover el log existente en el txz para que solo quede el del modyulo final fallaba..y al sistema hiban a para los dos, .. con lo que al querer grepear la version de sistema..al existir dos log , daba error.

estaba en la linea 132 

antes

rm $PKG/var/log/packages/wine*i486

ahora

rm $PKG/var/log/packages/wine*

deberia funcionar el primer metodo ,pero por lo que sea ..no va bien ...es mejor acortar ...SIEMPRE A LO FACIL ..wine*  y se acabo el problema.


3 - el desktop de winecfg no aparece en los menus como comento lupox , el fichero winecfg.desktop esta todo entero mal ... con todo entrecomillas ...

asi pues se eliminara el original y se generara uno de nuevo...

# El desktop winecfg viene mal ..se repara
rm $PKG/usr/share/applications/winecfg.desktop
echo "[Desktop Entry]
[Desktop Entry]
Categories=Application;Settings
Comment=Settings Tool for WINE
Encoding=UTF-8
Exec=winecfg
Icon=winecfg
Name=Wine Configuration
Terminal=false
Type=Application
" > $PKG/usr/share/applications/winecfg.desktop



y poco mas , ... el resto estaba bien.


lo dejo reparado.

Código: [Seleccionar]
#!/bin/sh

# Script by www.seguridadwireless.net

# Colores
CIERRE=${CIERRE:-""}
ROJO=${ROJO:-""}
VERDE=${VERDE:-""}
CYAN=${CYAN:-""}
AMARILLO=${AMARILLO:-""}
BLANCO=${BLANCO:-""}
ROSA=${ROSA:-""}

# Variables globales
PRGNAM=wine
CWD=$(pwd)
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

NUCLEOS=$(grep -c \^processor /proc/cpuinfo)

# Presentacion
clear
echo ""
echo "$BLANCO                *****************************$CIERRE"
echo "$VERDE                    Instalador/Actualizador   $CIERRE"
echo "$VERDE                       para el programa       $CIERRE"
echo "$CYAN                            $PRGNAM            $CIERRE"
echo "$VERDE                                              $CIERRE"
echo "$VERDE                  www.seguridadwireless.net   $CIERRE"
echo "$BLANCO                *****************************$CIERRE"
echo ""
sleep 3

# Comprobar conexion by geminis_demon
echo "$ROSA"Comprobando si hay acceso a internet"$CIERRE."
if [ "$(ping google.com -c1 2>/dev/null)" ]; then
echo "$VERDE"Tengo internet"$CIERRE ... $BLANCO"la tarea continuara."$CIERRE"
echo ""
else
echo "$ROJO"No tengo internet"$CIERRE ... $BLANCO"el script se cerrara."$CIERRE"
echo ""
sleep 5
exit 0
fi

# Variables
WEB=http://sourceforge.net/projects/wine/files/Slackware%20Packages/
VERSION=$(curl -s $WEB | grep -m1 "class=\"folder" | awk '{print $2}' | cut -d "\"" -f 2)

GECKO_WEB=http://sourceforge.net/projects/wine/files/Wine%20Gecko/
GECKO_VERSION=$(curl -s $GECKO_WEB | grep -m1 "class=\"folder" | awk '{print $2}' | cut -d "\"" -f 2)

MONO_WEB=http://sourceforge.net/projects/wine/files/Wine%20Mono/
MONO_VERSION=$(curl -s $MONO_WEB | grep -m1 "class=\"folder" | awk '{print $2}' | cut -d "\"" -f 2)


# Definimos arquitectura del sitema
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    arm*) export ARCH=arm ;;
       *) export ARCH=$( uname -m ) ;;
  esac
fi

set -eu

# Detectando version instalada en el sistema
if [ -f /var/log/packages/$PRGNAM* ]; then
INSTALADA=`grep -r -i "package name" /var/log/packages/$PRGNAM* | cut -d " " -f 7 | grep - | cut -d "-" -f-2`
echo ""
echo "$AMARILLO"Su version actual es..."$CYAN$INSTALADA$CIERRE"
sleep 3
echo ""
echo "__________________________________________"
echo ""
echo "$AMARILLO"La version mas actual es..."$CYAN$PRGNAM-$VERSION$CIERRE"
echo ""
echo "$BLANCO"Pulsa $ROJO"ENTER" $BLANCO"si deseas actualizarla"
read junk
echo ""
fi

# Si el sistema tiene una version anterior se eliminara
if [ -f /var/log/packages/$PRGNAM-* ]; then
echo ""
echo "$ROJO"Se detecto una version antigua en el sistema... limpiando."$CIERRE"
sleep 5
removepkg $PRGNAM
fi

# Creamos directorio temporal de trabajo
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP

if [ ! -f $PRGNAM-$VERSION-$ARCH-1sg.txz ]; then
# Si el paquete no existe se descargara de internet
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB/$VERSION/$ARCH/$PRGNAM-$VERSION-$ARCH-1sg.txz
fi

if [ ! -f ${PRGNAM}_gecko-$GECKO_VERSION-x86.msi ]; then
# Si gecko no existe se descargara de internet
echo ""
echo "$CYAN"Descargando plugin ${PRGNAM}_gecko-$GECKO_VERSION-x86.msi"$CIERRE"
sleep 5
wget $GECKO_WEB/$GECKO_VERSION/${PRGNAM}_gecko-$GECKO_VERSION-x86.msi
fi

if [ ! -f ${PRGNAM}-mono-$MONO_VERSION.msi ]; then
# Si mono no existe se descargara de internet
echo ""
echo "$CYAN"Descargando plugin ${PRGNAM}-mono-$MONO_VERSION.msi"$CIERRE"
sleep 5
wget $MONO_WEB/$MONO_VERSION/${PRGNAM}-mono-$MONO_VERSION.msi
fi

# Creamos xzm , instalamos y salimos
echo ""
echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
sleep 5
txz2xzm $PRGNAM-$VERSION-$ARCH-1sg.txz $PRGNAM-$VERSION-$ARCH.xzm
xzm2dir $PRGNAM-$VERSION-$ARCH.xzm $PKG
mkdir $PKG/usr/share/wine/gecko $PKG/usr/share/wine/mono
mv ${PRGNAM}_gecko-$GECKO_VERSION-x86.msi $PKG/usr/share/wine/gecko
mv ${PRGNAM}-mono-$MONO_VERSION.msi $PKG/usr/share/wine/mono
rm $PKG/var/log/packages/wine*
# El desktop winecfg viene mal ..se repara
rm $PKG/usr/share/applications/winecfg.desktop
echo "[Desktop Entry]
[Desktop Entry]
Categories=Application;Settings
Comment=Settings Tool for WINE
Encoding=UTF-8
Exec=winecfg
Icon=winecfg
Name=Wine Configuration
Terminal=false
Type=Application
" > $PKG/usr/share/applications/winecfg.desktop
cleandir $PKG
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-$ARCH.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-$ARCH.xzm /
# Actualizados el desktop-database
if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
rm -Rf $TMP
clear
echo ""
echo "$VERDE"Las tareas han finalizado"$CIERRE"
sleep 3
echo ""
echo "$VERDE"Bye Bye"$CIERRE"
echo ""
sleep 3
exit 0   

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #129 en: 27-07-2014, 17:08 (Domingo) »
20140727

y no puede ser de la forma

d/m/año    ??

27072014   ??

antes de empezar a meterles la fecha pregunto.


a la iso , van a ir entrando todos los que consiga testear con 100% de efectividad ...en la primera remesa , obvio todos llevaran la misma fecha de salida.

si al dia siguiente se crea otro script nuevo , ese ya, la fecha a su dia ...y asi sucesivamente.

vk496

  • Visitante
Re:
« Respuesta #130 en: 27-07-2014, 17:12 (Domingo) »
Preferiblemente de la otra manera.. Para el usuario final me las apañaré para mostrar la fecha como tu dices, pero dentro de los scripts es mejor dejarla como está.

20140727

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re:
« Respuesta #131 en: 27-07-2014, 17:18 (Domingo) »
Preferiblemente de la otra manera.. Para el usuario final me las apañaré para mostrar la fecha como tu dices, pero dentro de los scripts es mejor dejarla como está.

20140727

Salu2

un  | rev

le daria la vuelta a como quieres usarlo.


SCRIPT_VERSION=27072014

Código: [Seleccionar]
echo $SCRIPT_VERSION | rev
te lo dejaria como quieres usarlo.[/s]

mentira , jajaja, ...le da la vuelta pero no quedan como necesitas.


bien , como de todas formas eso sera algo que no se ve, usaremos el metodo americano

año/mes/dia

vk wins  ;D
« Última modificación: 27-07-2014, 17:21 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #132 en: 27-07-2014, 17:31 (Domingo) »
una pregunta antes de seguir vk ..

¿ prefieres que te reporte lo que hay que arreglar en los scripts o que los suba ya reparados ?

el de skype , le faltan el TAG=1sw

y al crear el xzm , tampoco añades el

$ARCH

lo tengo reparado ..son detalles chorras pero necesarios...muchos gestores de paquetes buscan esos datos y si no estan bien hechos los log/packages, los marcan invalidos y muestran errores.

ARCH  Y TAG , deben estar.  ;)


nombre-version-arch-tag.xzm


skype y wine ya los tengo reparados y listos para añadir al iso.

tal vez retoque el de wine, por lo que comentaste de en vez de pasar el txz a xzm, usar el txz2dir ... que creo es mas rapido.  ;)
« Última modificación: 27-07-2014, 17:35 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #133 en: 27-07-2014, 18:23 (Domingo) »
ya tengo los script con la fecha

al final la fecha estra en la línea 5 , aunque creo ese dato es irrelevante ...

al buscar la palabra



Código: [Seleccionar]
SCRIPT_VERSION=
solo existe en una línea ,y una sola vez..asi que no hay que buscar ni head ni tail ni nada ...


el ftp esta caído ,..quiero subirlos hoy , para que puedas ir haciendo cosas.

EDIT:  YA ESTAN EN EL FTP   ;)
« Última modificación: 27-07-2014, 18:25 (Domingo) por USUARIONUEVO »

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #134 en: 27-07-2014, 18:38 (Domingo) »
Yo la verdad es que no le veo mucho sentido a eso de tener que descargar un archivo para comprobar si es necesario actualizarlo.

Ahora hay pocos scripts pero cuando tengas que descargar 50 o 60 scripts uno por uno solo para ver si hay actualizaciones... nose, alomejor no son mas de 10 segundos pero es un tiempo de espera innecesario, casi mejor comprobar la fecha de modificación que te da la misma web, que solo con descargar el html ya comprubeas un directorio entero de una sola vez.

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #135 en: 27-07-2014, 19:34 (Domingo) »
Yo la verdad es que no le veo mucho sentido a eso de tener que descargar un archivo para comprobar si es necesario actualizarlo.

Ahora hay pocos scripts pero cuando tengas que descargar 50 o 60 scripts uno por uno solo para ver si hay actualizaciones... nose, alomejor no son mas de 10 segundos pero es un tiempo de espera innecesario, casi mejor comprobar la fecha de modificación que te da la misma web, que solo con descargar el html ya comprubeas un directorio entero de una sola vez.


yo creo que no lo va a hacer descargando ,si no usando curl .. ya dira algo.

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #136 en: 27-07-2014, 19:47 (Domingo) »
Pero curl lo que hace es descargar el archivo para después mostrarlo por pantalla, igual que hace cualquier navegador xd

Si lo vais a hacer con el sistema ese de versiones, hay que descargar el archivo entero si o si, y después parsearlo, y encima si se comprueba que es una versión actualizada hay que descargarlo otra vez para actualizarlo, que como ya dije, puede que sean archivos pequeños y que si tienes una conexión en condiciones no tarde mucho, pero por corta que sea la espera lo veo innecesario.




« Última modificación: 27-07-2014, 19:50 (Domingo) por geminis_demon »

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14484
Re: he tenidp una idea , para los extras
« Respuesta #137 en: 27-07-2014, 20:17 (Domingo) »
se puede hacer de muchas formas, la mas pesada seria un script que comprobase todos..

la opción b , seria que todos los scripts llevaran la función de autoupdatearse, y asi solo se comprueba el que ejecutas y ninguno mas ...

se iran actualizando los que usas, en caso de haber update...asi irían de uno en uno.

Desconectado geminis_demon

  • Colaborador
  • *
  • Mensajes: 2383
  • Prácticas precisas precisan práctica
Re: he tenidp una idea , para los extras
« Respuesta #138 en: 27-07-2014, 20:25 (Domingo) »
Citar
la opción b , seria que todos los scripts llevaran la función de autoupdatearse, y asi solo se comprueba el que ejecutas y ninguno mas ...

Eso lo veo mejor opción, que se actualice a si mismo y solo cuando vas a usarlo, mucho mas práctico.

La luz cree que viaja más rápido que cualquier otra cosa, pero se equivoca; da lo mismo lo rápido que pueda viajar, porque al final, la luz descubre que la oscuridad ha llegado antes que ella, y la está esperando.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #139 en: 27-07-2014, 21:18 (Domingo) »
En principio este fragmento de código debería de servir para todos los scripts...  ^-^

Código: [Seleccionar]
SERVIDOR_WEB="http://downloadwireless.net/wifislax-updaters"
DIRECTORIO=$(pwd)
SERVIDOR_VERSION=$(curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater | grep "SCRIPT_VERSION" | cut -d "=" -f2)


echo ${CYAN}Version Script$CIERRE: $ROJO${SCRIPT_VERSION:6}$BLANCO/$AMARILLO${SCRIPT_VERSION:4:2}$BLANCO/$ROJO${SCRIPT_VERSION:0:4}$CIERRE

if [ $SCRIPT_VERSION -lt $SERVIDOR_VERSION ]; then
echo ${ROJO}NUEVA VERSION$CIERRE
echo
echo ${ROSA}Version Server$CIERRE: $ROJO${SERVIDOR_VERSION:6}$BLANCO/$AMARILLO${SERVIDOR_VERSION:4:2}$BLANCO/$ROJO${SERVIDOR_VERSION:0:4}$CIERRE
echo
echo ${CYAN}Actualizando ${PRGNAM}_updater
curl -s $SERVIDOR_WEB/${DIRECTORIO##*/}/${PRGNAM}_updater -o $DIRECTORIO/${PRGNAM}_updater
echo ${ROJO}LISTO$CIERRE
sleep 3
$0

fi

Salu2  ;D