?>/script>'; } ?> he tenidp una idea , para los extras Widgets Magazine

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

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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #100 en: 23-07-2014, 02:10 (Miércoles) »
he encontrado una forma mejor de manejar el problema al generra el parche aufs..

detras de cada intento de descargar ,si no hay exito , el scipr se cierra, quedandote justo ..en el error, viendolo para saber que ha pasado.,


orden || exit 1

si no obtiene un exit 1 ( todo ok ) se sale.


el tema del fichero config , queda totalmente solventado y superfacil ,sin intermediar en ningun momento.

dicen que nunca te acuestas sin aprender algo ...


gracias a una ayudita recibida , hoy he aprendido que con este comando ... puedo regenerar la configuracion del sistema,,aunque no exista el fichero config de kernel..ni las sources  ni nada..

Código: [Seleccionar]
modprobe configs && zcat /proc/config.gz > /DESTINO--->>/.config
me quito el sombrero  >:(
« Última modificación: 23-07-2014, 02:18 (Miércoles) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #101 en: 23-07-2014, 02:37 (Miércoles) »
 ;D ;D ;D ;D ;D

como decia chimo bayo ... este si ,..este no ..

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

# Script by USUARIONUEVO @ www.seguridadwireless.net

# 1.3 Ya nos e busca el fichero config se genera en base al sistema anfitrion (feat d1kov)
#     Añadida variable para estilo de configuracion de kernel , si es wifislax xconf si no menuconfig
#     Añadido en las partes mas criticas un || exit 1 , en caso de error el script se detendra justo hay
# 1.2 Correido bug al instalar en disco duro linea 386 antes dir2xzm y es un xzm2dir
# 1.1 corregido un bug gramatical y 2 en variables no definidas (TAG Y BUILD)
# 1.0 version inicial

# Version del script
SCRIPT_VERSION=1.3

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

# Bienvenida
clear
echo $ROSA
echo "
      __ __                 __  _____                _ __       
     / //_/__ _______  ___ / / / ___/__  __ _  ___  (_) /__ ____
    / ,< / -_) __/ _ \/ -_) / / /__/ _ \/  ' \/ _ \/ / / -_) __/
   /_/|_|\__/_/ /_//_/\__/_/  \___/\___/_/_/_/ .__/_/_/\__/_/   
                                            /_/                  "
echo ""                                         
echo ""$AMARILLO"   ##### By USUARIONUEVO @ www.seguridadwireless.net #####"$CIERRE""
echo ""$VERDE"   ##### For wifislax & awireless slackware based systems #####"$CIERRE""
echo ""
sleep 5

# Sin internet el script no continua al no poder saber version online ni descargarla
# Comprobar conexion by geminis_demon @ www.seguridadwireless.net
# Se hace un ping a google si no hay respuesta se determina que no hay internet y se sale.
# Si hay respuesta al ping el script continuara.
echo "$CYAN"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
# Definimos arquitectura del sitema anfitrion
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

# Cantidad de nucleos del sistema usables para make -j
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)

# Nombre del paquete
PRGNAM=linux

# Numero de modulo xzm
M0DNUM=000

# Nombre de modulo xzm
MODNAM=Kernel

# Numero de build
BUILD=1

# Numero de Kernel completo instalado en el sistema
KERNEL_SISTEMA=`uname -r | cut -d '-' -f1`

# Rama de kernel eliminando del numero de kernel la parte final por ejemplo 3.12.4 se cortaria a 3.12
RAMA=`uname -r | cut -d '-' -f1 | cut -d "." -f-2`

# Pagina web de kernel org donde se buscara actualizacion sobre la misma rama de nuestro kernel
WEB=https://www.kernel.org/

# Grepeando numero kernel mas nuevo para nuestra rama en kernel.org
KERNEL_ONLINE=`curl -s $WEB | grep linux-$RAMA.* | cut -d 'x' -f 4 | cut -d '-' -f 2 | cut -d " " -f 2 | cut -d "t" -f1 | sed 's/.$//g'`

# Web completa para descargar el source code
DESCARGA=https://www.kernel.org/pub/linux/kernel/v3.x/linux-$KERNEL_ONLINE.tar.xz

# Comparamos version sistema con version online si son iguales se sale del script
if [ $KERNEL_SISTEMA = $KERNEL_ONLINE ]; then
echo ""$VERDE"No hay updates para la rama de kernel "$AMARILLO"$RAMA"$CIERRE""
sleep 3
echo ""$AMARILLO"Bye Bye."
echo ""
sleep 3
exit 0
fi

# Se comprueba si el archivo a descargar ya existe por pruebas anteriores y evitar descargar de nuevo
# Entramos a la ruta de trabajo
cd /usr/src/

# Si el paquete no existe se descargara de internet
if [ ! -f linux-$KERNEL_ONLINE.tar.xz ]; then
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$KERNEL_ONLINE "$CIERRE"
sleep 5

# Bajamos el kernel
wget $DESCARGA
fi

# Descomprimir en /usr/src
# Si existen restos de una prueba anterior seeliminaran
rm -rf /usr/src/$PRGNAM-$KERNEL_ONLINE &>/dev/null

# Descomprimir fichero
echo ""
echo "$VERDE"Descomprimiendo ..."$CIERRE"
sleep 5
tar xvf $PRGNAM-$KERNEL_ONLINE.tar.xz

# Entrar a la ruta del kernel descomprimido
cd $PRGNAM-$KERNEL_ONLINE

###################################
### Generamos parche wireless  ####
###################################
cat > Negative-channel-multi.patch << "EOF"
--- a/net/wireless/chan.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/wireless/chan.c 2013-08-31 22:20:45.014734447 +0200
@@ -441,4 +441,2 @@
  return -EOPNOTSUPP;
- if (!cfg80211_has_monitors_only(rdev))
- return -EBUSY;

--- a/net/mac80211/cfg.c Tue May 28 16:57:23 2013 -0400
+++ b/net/mac80211/cfg.c Tue May 28 17:16:15 2013 -0400
@@ -801,3 +801,4 @@
  }
- } else if (local->open_count == local->monitors) {
+ // Patch: Always allow channel change, even if a normal virtual interface is present
+ } else /*if (local->open_count == local->monitors)*/ {
  local->_oper_channel = chandef->chan;
--- a/net/mac80211/tx.c 2013-08-29 18:47:51.000000000 +0200
+++ b/net/mac80211/tx.c 2013-08-31 22:35:10.386721602 +0200
@@ -1454,7 +1454,10 @@
  }
  }
 
- ieee80211_set_qos_hdr(sdata, skb);
+ // Don't overwrite QoS header in monitor mode
+ if (likely(info->control.vif->type != NL80211_IFTYPE_MONITOR)) {
+        ieee80211_set_qos_hdr(sdata, skb);
+ }
  ieee80211_tx(sdata, skb, false, band);
 }

--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c 2013-08-29 18:47:51.000000000 +0200
+++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c 2013-08-31 22:50:38.266707828 +0200
@@ -252,9 +252,14 @@
  flags |= RTL818X_TX_DESC_FLAG_NO_ENC;
 
  flags |= ieee80211_get_tx_rate(dev, info)->hw_value << 24;
- if (ieee80211_has_morefrags(tx_hdr->frame_control))
- flags |= RTL818X_TX_DESC_FLAG_MOREFRAG;
  if (info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) {
+ if (ieee80211_has_morefrags(tx_hdr->frame_control))
+ {
+      // If info->control.vif is NULL it's mostly likely in monitor mode
+      if (info->control.vif != NULL && info->control.vif->type != NL80211_IFTYPE_MONITOR) {
+        flags |= RTL818X_TX_DESC_FLAG_MOREFRAG;
+      }
+ }
  flags |= RTL818X_TX_DESC_FLAG_RTS;
  flags |= ieee80211_get_rts_cts_rate(dev, info)->hw_value << 19;
  rts_dur = ieee80211_rts_duration(dev, priv->vif,
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -3588,9 +3589,9 @@ static int ieee80211_cfg_get_channel
  if (chanctx_conf) {
  *chandef = chanctx_conf->def;
  ret = 0;
- } else if (local->open_count > 0 &&
+ } else /*if (local->open_count > 0 &&
     local->open_count == local->monitors &&
-    sdata->vif.type == NL80211_IFTYPE_MONITOR) {
+    sdata->vif.type == NL80211_IFTYPE_MONITOR)*/ {
  if (local->use_chanctx)
  *chandef = local->monitor_chandef;
  else

EOF

# Aplicamos parche si hay error se parara el proceso ( exit 1 )
echo ""
echo ""$VERDE"Aplicando parche wireless para channel -1 "$BLANCO"..."$CIERRE""
sleep 5
patch -p1 < Negative-channel-multi.patch || exit 1

# Si el sistema anfitrion es wifislax se baja el logo para kernel
# Buscamos si estamos en wifislax
ANFITRION=`cat /etc/*version | grep wifislax |cut -d " " -f 1`

# Declaramos el tag para el name del modulo xzm
if [ $ANFITRION = wifislax ]; then
TAG=sw
else
TAG=awireless
fi

# Definimos regla si es wifislax, solo en ese caso ..baja el logo del ftp
# Si el ftp no responde en 10 segundos el script continuara
# Codigo parcial copiado de wpspingenerator,regla escrita por geminis_demon @ www.seguridadwireless.net
if [ $ANFITRION = wifislax ]; then
echo ""
echo ""$CYAN"Detectado sistema wifislax ...intentando descargar logo del ftp..."$CIERRE""
[ ! "$(timeout -s SIGTERM 10 wget http://www.downloadwireless.net/Logo_Kernel_Wifislax/logo_linux_clut224.ppm)" ] &&
echo ""
fi

# Verificamos si finalmente el logo se bajo y en caso afirmativo , lo moveremos a su sitio
if [ -f logo_linux_clut224.ppm ]; then
echo ""
echo ""$AMARILLO"Fichero de logo detectado ..moviendo a /usr/src/$PRGNAM-$KERNEL_ONLINE/drivers/video/logo"
echo ""
mv logo_linux_clut224.ppm /usr/src/$PRGNAM-$KERNEL_ONLINE/drivers/video/logo &>/dev/null
fi

# Funcion creada gracias al usuario d1kov , por mostrarme este fantastico comando
# Se trata de generar un fichero .config ... basandose en la configuracion del sistema actual
echo ""
echo ""$CYAN"Generamos fichero .config ..."
echo ""
modprobe configs && zcat /proc/config.gz > /usr/src/$PRGNAM-$KERNEL_ONLINE/.config
sleep 2

# Descargamos version de aufs correspondiente a nuestra rama y aplicamos
# Indicamos version aufs igual a rama de kernel
# Ruta donde se enviara patch de aufs que es a las sources del kernel
DEST=/usr/src/$PRGNAM-$KERNEL_ONLINE/aufs$RAMA.patch

# Creamos parche y aplicamos
echo ""
echo ""$VERDE"Creamos y aplicamos el parche aufs "$BLANCO"..."$CIERRE""
sleep 3
mkdir /tmp/aufs$$
cd /tmp/aufs$$
git clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git aufs3-standalone.git || exit 1
cd aufs3-standalone.git
git checkout origin/aufs$RAMA || exit 1
mkdir ../a ../b
cp -r {Documentation,fs,include} ../b
cd ..
diff -rupN a/ b/ > $DEST
cat aufs3-standalone.git/aufs3-base.patch >> $DEST
cat aufs3-standalone.git/aufs3-standalone.patch >> $DEST
cat aufs3-standalone.git/aufs3-kbuild.patch >> $DEST
cat aufs3-standalone.git/aufs3-mmap.patch >> $DEST
cat aufs3-standalone.git/aufs3-loopback.patch >> $DEST
rm -r /tmp/aufs$$
rm -r /tmp/a
rm -r /tmp/b


# Verificamos la existencia del parche aufs
if [ ! -f /usr/src/$PRGNAM-$KERNEL_ONLINE/aufs$RAMA.patch ]; then
echo ""
echo ""$ROJO"La creacion del parche aufs a fallado ...saliendo..."
echo ""
sleep 5
exit 0
fi

# Aplicamos parche aufs
cd /usr/src/$PRGNAM-$KERNEL_ONLINE
patch -f -p1 -i aufs$RAMA.patch

# Compilamos el kernel
# Creamos aqui varias reglas ... si es wifislax xconfig si no make menuconfig
if [ $ANFITRION = wifislax ]; then
KERNEL_CONFIG=xconfig
else
KERNEL_CONFIG=menuconfig
fi
make oldconfig || exit 1
make $KERNEL_CONFIG || exit 1


# Comienza la compilacion del kernel
make -j$NUCLEOS || exit 1

# Compilados los modulos del kernel
make modules -j$NUCLEOS || exit 1

# Variable que se consultara despues de configurar kernel
# Comprobar si es un kernel PAE
if [ -z "`grep -i 'CONFIG_HIGHMEM64G=y' .config`" ]; then
PAE=""
else
PAE="PAE-"
fi

# Creamos la tuta de destina a instalar el kernel
mkdir -p $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG
make modules_install INSTALL_MOD_PATH=$HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG || exit 1

# Instalamos las cabeceras kernel-headers
# Esto se cumplira solo si el anfitrion es wifislax
if [ $ANFITRION = wifislax ]; then
make headers_install ARCH=i386 INSTALL_HDR_PATH=$HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr || exit 1
rm -r $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/include/*/.install
rm -r $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/include/*/..install.cmd
fi

# Copiamos vmlinuz a escritorio
if [ -z "`grep -i 'CONFIG_HIGHMEM64G=y' .config`" ]; then
VMLINUZ="vmlinuz"
else
VMLINUZ="vmlinuz2"
fi
cp /usr/src/$PRGNAM-$KERNEL_ONLINE/arch/x86/boot/bzImage $HOME/Desktop/$VMLINUZ &>/dev/null

# Generamos kernel sources recortadas
mv System.map ../
make clean
mv ../System.map .
make prepare
make scripts
rm -Rf Documentation drivers fs net sound firmware
ls -1d arch/* | grep -v x86 | xargs rm -Rf
ls -1d include/* | grep asm- | grep -v x86 | grep -v generic | xargs rm -Rf
cp include/generated/* include/linux &>/dev/null


# Preparamos creacion de xzm
mkdir -p $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src
cp -r /usr/src/$PRGNAM-$KERNEL_ONLINE $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src

# Realizamos limpieza
rm $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src/$PRGNAM-$KERNEL_ONLINE/kernel.txt &>/dev/null
rm $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src/$PRGNAM-$KERNEL_ONLINE/Negative-channel-multi.patch &>/dev/null
rm $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src/$PRGNAM-$KERNEL_ONLINE/aufs$RAMA.patch &>/dev/null
rm aufs$RAMA.patch &>/dev/null
rm $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr/src/$PRGNAM-$KERNEL_ONLINE/.config.old &>/dev/null

# Esta regla eliminara la carpeta firmwares del kernel si el sistema es wifislax
# Por que usa una script que baja todos los firmwares desde el git
if [ $ANFITRION = wifislax ]; then
rm -Rf $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/lib/firmware
fi

# Esta regla eliminara las crippled sources si el anfitrion no es wifislax
if [ ! $ANFITRION = wifislax ]; then
rm -r $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG/usr
fi

# Creamos xzm de kernel + sources
dir2xzm $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG.xzm
mv $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG.xzm $HOME/Desktop/$M0DNUM-$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG.xzm

# Limpiamos
rm -Rf $HOME/Desktop/$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG

# Comprobamos si es wifislax y si esta en livecd para intentar instalar el kernel a sistema
if [ -d /mnt/live ]; then
echo "$AMARILLO"
echo "Detectado modo live ...el nuevo kernel no se instalara a sistema"
echo "$VERDE"
echo "Bye Bye"
exit 0
fi

# Si el sistema esta en hdd y no es wifislax se sale
if [ ! $ANFITRION = wifislax ]; then
echo "$AMARILLO"
echo "El sistema esta en HDD ...pero no es wifislax,no se instalara el nuevo kernel"
echo "$VERDE"
echo "Bye Bye"
exit 0
exit 0
fi

# Si no salio en las dos opciones anteriores es un wifislax en hdd se da opcion de instalar el kernel en sistema
echo ""
echo ""$ROSA"Detectado wifislax instalado en HDD..."$CIERRE""
echo ""
echo ""$AMARILLO"Pulsa ENTER si quieres instalar el nuevo kernel,si no te interesa cierra el scipt."$CIERRE""
read junk
echo ""
echo ""$VERDE"Instalando Kernel $KERNEL_ONLINE en sistema ..."$CIERRE""
cp -r $HOME/Desktop/$VMLINUZ /boot/$VMLINUZ-$KERNEL_ONLINE-$PAE$ANFITRION
xzm2dir $HOME/Desktop/$M0DNUM-$PAE$MODNAM-$KERNEL_ONLINE-$ARCH-$BUILD$TAG.xzm /
update-grub
echo ""
echo ""$CYAN"Instalacion completada ..."$CIERRE""
echo ""
echo ""$AMARILLO"Bye Bye"$CIERRE""

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #102 en: 23-07-2014, 09:11 (Miércoles) »
La actualización del kernel probada OK  ;)
Tengo 2 cuestiones:

Actualización de aircrack....si la versión instalada en sistema es igual a la última en la web
¿porque pregunta si quieres continuar, ?
¿no debería cerrarse con el típico mensaje tienes la última versión?(no se procede a instalar nada)

La otra duda, si el módulo de nvidia 4.9 no es compatible con este kernel...
¿como puedo usar la gráfica con ésta versión.?

volví a reinstalar ésta ISO,, para hacer testing y quería dejar configurado la grafica, un saludo

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #103 en: 23-07-2014, 13:07 (Miércoles) »
los scripts , cuando hay update lo hacen ... ( el de vlc lo hice antes y ese siempre pregunta si instala o no ), el resto como digo , si no tienes nada en sistema, te lo instalara y si hay una version compara y mostrara ese dialogo.


si son las mismas por que preguntr ????????


pues por que puede que hayais roto el programa/libreria .  trasteando el sistema y de esa forma podreis REINSTALAR , para repararla.

modulo nvidia , no se hace hasta el final del desarrollo ..

ejemplo clarisimo del por que ... 3.12.24 , y ahora 3.12.25  el driver ya no funcionaria..a cada version de kernel se reahce el driver ..

esto me acaba de recordar una cosilla ... ;D  ,para el driver ati ,si que tengo un script ..que hice hace unos dias y esta en la iso ... con el que se puede seguir usando si ejecutas el script antes de salir ...


si se instala kernel nuevo ... deberia mirar si esta el driver ati ...um , no se como hare esto.

o tal vez si detecto driver ati/nvidia ... avisar del asunto , en el script.

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #104 en: 23-07-2014, 13:28 (Miércoles) »
Aha, ya me quedo claro, gracias makina.

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #105 en: 24-07-2014, 10:32 (Jueves) »
@Newuser... Para cuando la sección en el FTP?  ^-^

Ya sabes que si no puede ser, insisto en usar sites.google.com  ;D

Salu2

EDITO: Soy tan pesado con este tema porque, además de la idea de las autoactualizaciones, estaría bien saber que scripts existen y cuales no...

Dejo el de skype:

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=skype
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=$(wget --spider http://www.skype.com/go/getskype-linux-beta-suse 2>&1 | grep "download.skype.com/linux" -m 1| awk '{print $2}')
VERSION=$(echo $WEB | cut -d "-" -f2)


# 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*.rpm ]; then
# Si el paquete no existe se descargara de internet
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB
fi

# Creamos xzm , instalamos y salimos
echo ""
echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
sleep 5
rpm2dir ${PRGNAM}-$VERSION*.rpm $PKG
cleandir $PKG
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION.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

Salu2
« Última modificación: 24-07-2014, 15:35 (Jueves) por vk496 »

Manuel_cdz85

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #106 en: 24-07-2014, 19:17 (Jueves) »
estoy de vacaciones ...ya mirare lo del dropbox ..solo entro al foro a responder mensajes y poco mas.

auqnue por las mañanas a veces me pongo un poco a escribir algo ,pero hasta finales de este mes, toy vago.  ;D


ire haciendo cosillas, pero a ritmo caracol.  ;)

El dropbox lo pondrás directamente en un Script también? estaría bien que estuviese,
por cierto un buen trabajo el que que estas haciendo, a pesar de estar de vacaciones y demás estas con todo liado eso es de agradecer y de alabar si señor  >:( >:( >:(
« Última modificación: 24-07-2014, 19:19 (Jueves) por Manuel_cdz85 »

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #107 en: 24-07-2014, 21:45 (Jueves) »
Dropbox:

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=dropbox
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=https://linux.dropbox.com/packages/fedora/
ARCHIVO=$(curl -s https://linux.dropbox.com/packages/fedora/ | grep dropbox| sed -e 's/\(<[^<][^<]*>\)//g' | awk '{print $1}' | sort -r | grep i386 -m1)
VERSION=$(echo $ARCHIVO | cut -d "-" -f3,4 | cut -d "." -f1,2,3)


# 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 $ARCHIVO ]; then
# Si el paquete no existe se descargara de internet
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB/$ARCHIVO
fi

# Creamos xzm , instalamos y salimos
echo ""
echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
sleep 5
rpm2dir $ARCHIVO $PKG
cleandir $PKG
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION.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

Salu2

Manuel_cdz85

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #108 en: 25-07-2014, 03:57 (Viernes) »
De lujo vk496  :D

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #109 en: 25-07-2014, 08:44 (Viernes) »
El dropbox suelta esto :

Parallel unsquashfs: Using 4 processors
18 inodes (18 blocks) to write

[=======================================================================================================================|] 18/18 100%

created 17 files
created 31 directories
created 1 symlinks
created 0 devices
created 0 fifos
/usr/bin/xzm2dir: línea 39: [: demasiados argumentos
« Última modificación: 26-07-2014, 20:10 (Sábado) por Spanky37 »

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #110 en: 25-07-2014, 08:54 (Viernes) »
Rectifico, aunque de ese error, funciona perfectamente.......
El error lo da el final del proceso:
Parallel unsquashfs: Using 4 processors
18 inodes (18 blocks) to write

[=======================================================================================================================|] 18/18 100%

created 17 files
created 31 directories
created 1 symlinks
created 0 devices
created 0 fifos

ese comando es el que ese encarga de crear el modulo no?
/usr/bin/xzm2dir: línea 39: [: demasiados argumentos

Aún así lo crea perfectamente y probado, un saludo desde Asturias.

Manuel_cdz85

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #111 en: 25-07-2014, 11:04 (Viernes) »
En mi caso he probado el codigo del dropbox poniendolo directamente en un terminal y fue perfecto, probe sin internet y se sale perfectamente y luego probe ya con internet y lo instala muy bien  :D
« Última modificación: 25-07-2014, 11:05 (Viernes) por Manuel_cdz85 »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #112 en: 25-07-2014, 11:57 (Viernes) »
lo de demasiados argumentos sucede cuando al grepear algo,hya mas de un resultado.

he visto en otros script que usaban

grep -wq

w = palabra

la q no se exactamente que es ...

usando la w , el grep devuelve solo esa palabra , ..

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #113 en: 25-07-2014, 13:18 (Viernes) »
Dejo el de Spotify, PERO todavía NO es funcional (no se que le pasa con algunas librerias)

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=spotify
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://repository-origin.spotify.com/pool/non-free/s/spotify/
ARCHIVO=$(curl -s $WEB | grep "spotify" | sed -e 's/\(<[^<][^<]*>\)//g' | awk '{print $1}' | sort -r | grep i386 -m1)
VERSION=$(echo $ARCHIVO | cut -d "_" -f2)


# 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 $ARCHIVO ]; then
# Si el paquete no existe se descargara de internet
echo ""
echo "$CYAN"Descargando sources de $PRGNAM-$VERSION"$CIERRE"
sleep 5
wget $WEB/$ARCHIVO
fi

# Creamos xzm , instalamos y salimos
echo ""
echo "$VERDE"Instalando y creando modulo xzm ..."$CIERRE"
sleep 5
deb2dir $TMP/$ARCHIVO $PKG
cleandir $PKG
ln -s /usr/lib/libcrypto.so.10 $PKG/opt/spotify/spotify-client/libcrypto.so.0.9.8
ln -s /usr/lib/libnspr4.so $PKG/opt/spotify/spotify-client/libnspr4.so.0d
ln -s /usr/lib/libnss3.so $PKG/opt/spotify/spotify-client/libnss3.so.1d
ln -s /usr/lib/libnssutil3.so $PKG/opt/spotify/spotify-client/libnssutil3.so.1d
ln -s /usr/lib/libplc4.so $PKG/opt/spotify/spotify-client/libplc4.so.0d
ln -s /usr/lib/libplds4.so $PKG/opt/spotify/spotify-client/libplds4.so.0d
ln -s /usr/lib/libsmime3.so $PKG/opt/spotify/spotify-client/libsmime3.so.1d
ln -s /usr/lib/libssl.so.10 $PKG/opt/spotify/spotify-client/libssl.so.0.9.8
ln -s /usr/lib/libssl3.so $PKG/opt/spotify/spotify-client/libssl3.so.1d
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-i386.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-i386.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

EDITO: Ya está arreglado, funciona perfectamente

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

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #114 en: 26-07-2014, 10:51 (Sábado) »
veo que el compañero a escrito varios updaters...

ya estoy disponible para esto otra vez, aunque hoy no hare nada , ..

en cuanto los pruebe , si los veo perfect los voy añadiendo.


no se si visto que la idea va palante , ..abrir un post a posta , de script-upadaters ..

donde tenerlo todo mas controlado ..y añadir un primer post con los scripts que ya hay.

vk496

  • Visitante
Re:
« Respuesta #115 en: 26-07-2014, 11:00 (Sábado) »
Para desarrollar estos scripts, debido a su variedad, hace falta un sitio centrazilado, de referencia para consultar los scripts

Seré cansino hasta la saciedad, pero para cuando el FTP? Jajaja

Si tienes tiempo, mira estas cositas (yo estoy desde el móvil):

1: en wine, en vez de usar txz2xzm y luego xzm2dir, sería conveniente txz2dir

2: spotify me dio problemas con librerías... No se si es porque tiene dependencias, le falta librerías a WS o quizás enlaces simbólicos a esas librerías.

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:
« Respuesta #116 en: 26-07-2014, 11:20 (Sábado) »
Para desarrollar estos scripts, debido a su variedad, hace falta un sitio centrazilado, de referencia para consultar los scripts

Seré cansino hasta la saciedad, pero para cuando el FTP? Jajaja

Si tienes tiempo, mira estas cositas (yo estoy desde el móvil):

1: en wine, en vez de usar txz2xzm y luego xzm2dir, sería conveniente txz2dir

2: spotify me dio problemas con librerías... No se si es porque tiene dependencias, le falta librerías a WS o quizás enlaces simbólicos a esas librerías.

Salu2

hay una opción mejor que txz2dir

si el paquete ya existe en sistema y es actualizar

upgradepkg /ruta/del/txz

si no existe y es instalación de primera

installpkg /ruta/txz


son las formas OFICIALES ...   ;) y las que menos problemas de van a dar.

desde hace un tiempo ..me di cuenta que algunos txz , al descomprimirlos para ver que hay dentro..tienen en la carpeta install , un script

doinst

cuando el paquetes es instalado se debe llamar a ese script si existe, por que llevan algún tipo de instrucción EXTRA  , ... tal como actualizar la cache de iconos , los desktop mimetypes ... o creación de simbólicos...

cuando usamos el txz2xzm , ... muchas veces eso falla ... aunque creo no hay solución .. pero para instalar al hd, mejor usar installpkg o upgradepkg ,removepkg  ....

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #117 en: 26-07-2014, 11:53 (Sábado) »
ruta ftp , para consultar script existentes.

los de vk aun no están , tengo que testarlos ...

http://www.downloadwireless.net/?dir=wifislax-updaters


los names de los scripts serán todos

nombre_updater

asi será mas fácil para las entradas desktop.

algunos actuales están asi

name-updater

ya los corregiré mas adelante.

TODOS SERAN

name_updater

pepe_updater
antonio_updater

etc etc

los scripts en el live están en

/opt/wifislax-updaters/CATEGORIA

todo bien ordenadito .. si los pongo tudos en una sola carpeta y hay muchos luego cuesta mas encontrarlos.

además como digo muchísimo mas comodo para los desktop ... (entradas a menú)

ya que cogiendo un desktop de la misma categoría...solo tendría que cambiar los valores

NAME=
EXEC=  donde esta la ruta del script que al sert la misma categoría coincide y solo varias

Exex=/opt/wifislax-scripts/nombre/pepe_updater

Exex=/opt/wifislax-scripts/nombre/antonio_updater


de todas fromas va a dar igual .. por que si me pegais el code el name final se lo pondré yo al script.  8)

« Última modificación: 26-07-2014, 12:09 (Sábado) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #118 en: 26-07-2014, 12:22 (Sábado) »
testeando el de wine ...


cuando baja gecko y mono ... sigue diciendo ,descargando sources de wine ... y no es asi..

deberia ser descargando gecko.. descargando mono   con la version de cada uno correspondiente..

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #119 en: 26-07-2014, 12:49 (Sábado) »
Ya he arreglado Spotify... era problema de enlaces simbolicos...

Los cambios los haré en el hilo donde se encuentra el script, para no llenar esto de codigo repetido...

Salu2