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

Autor Tema: he tenidp una idea , para los extras  (Leído 163459 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 #60 en: 19-07-2014, 23:25 (Sábado) »
ya la tengo implementada , .. como el code de geminis lo entendia mejor , pude apañarmelo.

habia una chorrada de cuando no estaba instalada , decia que no , pero no mostraba cual era ...

por lo demas perfect , desde windows, y sin poder testarlo lo habias clavao.

_________________________________________________________________________________________
Código: [Seleccionar]
# Comprobar dependencias
echo "$ROSA"Comprobando dependencias ..."$CIERRE"
echo ""

DEPENDENCIAS="svgview dvdauthor libquicktime_config"
CONTINUAR=0

echo "$CYAN"Dependencias de este paquete:""
sleep 3

for X in $DEPENDENCIAS; do

if [ -f /usr/bin/$X ]; then
echo ""$AMARILLO"$X :$VERDE Instalada"$CIERRE""
else
echo ""$AMARILLO"$X :$ROJO  No instalada"$CIERRE""
CONTINUAR=1
fi
done

if [ $CONTINUAR -eq 1 ]; then
echo ""
echo ""$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE""
sleep 5
exit 0
else
echo ""
echo ""$VERDE"Bien ..podemos continuar"$CIERRE""
echo ""
fi

vk496

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #61 en: 19-07-2014, 23:26 (Sábado) »
Si no recuerdo mal, solo con variable no se puede hacer bucle sobre varios elementos, por eso uso la array (aunque no te lo puedo confirmar ahora mismo). De todas formas, si ves que puedes hacerlo funcionar sin array, mejor para la gente cuando tenga que analizar el código  ;D

Dejo aquí el de wine. He hecho un poco de trampa, no compilo,por lo que me salto la arquitectura arm

El script se me ha parado a mitades porque me he quedado sin espacio en el modo Live, pero en principio debería funcionar:

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
WEB=http://sourceforge.net/projects/wine/files/Slackware%20Packages/
VERSION=`curl -s $WEB | grep -m1 "class=\"folder" | awk '{print $2}' | cut -d "\"" -f 2`
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
PRGNAM=wine

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

# 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


# Definimos arquitectura del sitema
ARCH=$(uname -m)

if [ "$ARCH" = "i486" ]; then
  ARCH="i486"
else
  ARCH="x86_64"
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

echo hola $PRGNAM-$VERSION-$ARCH-1sg.txz

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

# 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
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

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #62 en: 19-07-2014, 23:40 (Sábado) »
weee  , ...  aunque  , hay que analizarlo ,  por que wine , ... necesita gecko , ..y no se que mas.



si abres el modulo de wine el xzm , veras en log packages , ...lo que suele completar el pack.


en este caso concreto ...en el mismo script , podrias hacerlo todo , porque gecko , y mono ,son solo para wine ..


si se baja la ultima version de wine en tzx ,  ... es superrecomendable, completar el pack , con la ultima version de mono y gecko ...


________________________

esto hay en el modulo de wine, que lo acabo de abrir...

fontforge-20120731_b-i486-1ponce   -->> este deberia ser dependencia
unshield-0.6-i486-1sw   -->> este deberia ser dependencia
webcore-fonts-3.1-noarch-3sw  -->> este deberia ser dependencia
wine-1.7.20-i486-1sg  -->> script
wine_gecko-2.24-i486-1sw -->> script
wine_mono-4.5.2-i486-1sw  -->> script
winetricks-20130707-noarch-1sw  -->> script


de todas fromas con calma ... que has cogido justo uno , medio complicado.

wine_checko y wine_mono


debera buscar los mas nuevos con extension  .msi  y ponerlos en


/usr/share/wine/gecko
/usr/share/wine/mono

cuando wine arranca por primera vez, los ve hay y los autoinstalara.  ;)

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #63 en: 19-07-2014, 23:50 (Sábado) »
juax ,...

esto no tio

x86_64

por eso hay un comprobador de arquitectura de sistema.

debera ser i486

esta es la buena, ... po que si el sistema devuelve i686 , ... tu script interpresta un multilib..


deberia ser asi

# 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
« Última modificación: 19-07-2014, 23:52 (Sábado) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #64 en: 20-07-2014, 00:03 (Domingo) »
bien  >:(

despues de redefinir la arquitectura , con lo que te puse, ya baja el i486   ;D


ahora siendo inteligente , esperate al momento del cleandir ...que tienes el modulo abierto...


y en ese momento bajas y le metes los .msi de gecko y mono.


si quieres el winetricks , puede ser opcional, ya que es un front de configuracion y hay varios para eso, asi el usuario podra elegir el que quiera.


centrate solo en wine + gecko + mono

lo demas los externalizaremos.


winetricks , no tiene ni por que buscar la existencia ...y de las otras librerias, estoy pensando ,que creo solo son necesraias si vas a compilar el source code, ..y en este caso podrian sobrar .

con lo que solo wine + plugins, estaria perfecto.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #65 en: 20-07-2014, 00:06 (Domingo) »
perdona , por que comento segun veo ..


cuando tengas el fichero descomprimido ..y antes de crear el xzm final ...


debes suprimir ....es decir eliminar el fichero de log ,por que luego se generara otro , ...y habran 2 o mas ...

Código: [Seleccionar]
rm -Rf /var/log/packages/*
Código: [Seleccionar]
dir2xzm

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #66 en: 20-07-2014, 00:37 (Domingo) »
winetricks ...  ;)


buscara antes si existe wine , ...  por que es tonteria instalarlo sin wine, y por que crea una entrada de menu , y necesita el icono de wine  ;D


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=winetricks
VERSION=20120923
WEB=ftp://harrier.slackbuilds.org/misc/$PRGNAM-$VERSION.xz
NUCLEOS=$(grep -c \^processor /proc/cpuinfo)
BUILD=${BUILD:-1}
TAG=${TAG:-sw}

TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

# 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

# Comprobar dependencias
echo "$ROSA"Comprobando dependencias ..."$CIERRE"
echo ""

DEPENDENCIAS="wine"
CONTINUAR=0

echo "$CYAN"Dependencias de este paquete:""
sleep 3

for X in $DEPENDENCIAS; do

if [ -f /usr/bin/$X ]; then
echo ""$AMARILLO"$X :$VERDE Instalada"$CIERRE""
else
echo ""$AMARILLO"$X :$ROJO  No instalada"$CIERRE""
CONTINUAR=1
fi
done

if [ $CONTINUAR -eq 1 ]; then
echo ""
echo ""$ROJO"No se cumplen los requisitos no se puede continuar"$CIERRE""
sleep 5
exit 0
else
echo ""
echo ""$VERDE"Bien ..podemos continuar"$CIERRE""
echo ""
fi

# Definimos arquitectura del sitema
ARCH=noarch

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 | cut -d "-" -f-2`
echo ""
echo "$AMARILLO"Su version actual es..."$CYAN$INSTALADA$CIERRE"
sleep 3
echo ""
echo "__________________________________________"
echo ""
echo "$AMARILLO"La version mas nueva 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

# Si el paquete no existe se descargara de internet
if [ ! -f $PRGNAM-$VERSION.xz ]; then
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
rm -rf $PKG
mkdir -p $PKG $OUTPUT
mkdir -p $PKG/usr/bin
mkdir -p $PKG/usr/share/applications
xzcat $PRGNAM-$VERSION.xz > $PKG/usr/bin/$PRGNAM
chmod 0755 $PKG/usr/bin/$PRGNAM
cd $PKG
# Creamos una entrada desktop basica
echo "[Desktop Entry]
Name=winetricks
Exec=winetricks %F
Icon=winecfg
Terminal=false
Type=Application
Categories=System;
MimeType=
" > $PKG/usr/share/applications/winetricks.desktop
cleandir $PKG
dir2xzm $PKG $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm
xzm2dir $HOME/Desktop/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.xzm /
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: 15985
Re: he tenidp una idea , para los extras
« Respuesta #67 en: 20-07-2014, 00:39 (Domingo) »
juax ,...

esto no tio

x86_64

por eso hay un comprobador de arquitectura de sistema.

debera ser i486

esta es la buena, ... po que si el sistema devuelve i686 , ... tu script interpresta un multilib..


deberia ser asi

# 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

pensaras soy jili*  , por que te digo lo del multilib , pero mantengo lo de arm  ...

geminis_demon , tiene un proyecto por hay ..y podria servirle algun script de estos , por eso sigue la opcion arm en la variable.   ;)

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #68 en: 20-07-2014, 00:47 (Domingo) »
tocate lo guitos ,... winetricks no funciona bien ...

pasando a

q4wine   :(

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #69 en: 20-07-2014, 17:15 (Domingo) »
necesito ayuda...

necesito tras grepear una palabra en un txt ...

que cada coincidiencia sea sustituida por otra que yo defica.


por ejemplo , grepeo en un texo la palabra hola y aparece en tres sitios distintos...


necesito sustituir en los tres sitios el hola , por adios  ..por ejemplo.

vk496

  • Visitante
Re:
« Respuesta #70 en: 20-07-2014, 17:44 (Domingo) »
cat texto.txt | grep hola | sed 's/hola/adios/g'

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:
« Respuesta #71 en: 21-07-2014, 11:45 (Lunes) »
cat texto.txt | grep hola | sed 's/hola/adios/g'

cuando pueda pruebo y comento , gracias vk.


Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #72 en: 21-07-2014, 14:53 (Lunes) »
he subido hoy nueva iso ...  incluye nuevos updaters ,y una actualizacion d ela libreria que se encarga del 3d en los drivers graficos...  (mesa)

ademas he incluiod un script ... con el que podreis actualizar el kernel, ... SOLO SOBRE LA MISMA RAMA.

¿ que quiere decir esto ?

pues que por ejemplo ahora mismo ...la iso tiene un kernel

3.12.24

en cuanto salga el

3.12.25

ejecutando el script ...

lo baja
parchea
compila

y si estas en HDD , hasta te lo instala ...  >:(

ojo , solo ofrece la opcion , si estas con wifislax en HDD , si no la opcion no aparece y genera solo el xzm y el vmlinuz


cuando hay mas de un kernel ..en el menu grub , veremos mas de una entrada de wifislax ..

cada entrada sera para un kernel distinto ..

esto quiere decir que no perdeis el viejo ,,si no que sumais el nuevo


wifislax 3.12.24
wifislax 3.12.25

podreis elegir cual arrancar ...

esto es util , si surge algun problema de seguridad en kernel .. y se actualizan ,con un click, estaris seguros  ;D


el proceso puede ser largo ...en mi caso con un quad core ,tarda unos 15-20 minutos


a su vez , genera los ficheros xzm & vmlinuz  ...  por si solo usais el modo live ...

es un script relamente util

subir a un kenrel de rama superior no puede hacerlo eso siempre queda bajo mi supervision , por que cuando es una rama distinta , salen nuevas opciones de kernel a configurar ...en caso de tener un 3.12 y querer subir a un 3.14 no lo hace este script ... eso queda para mi , .... pero aviso que el 3.12 lo vamos a tener por bastante tiempo ...es un longterm , asi pues dos años minimo ... si no se resuelven los problemas actuales con ramas mas altas, ..por eso este script os vendra de perlas...

si yo saco un iso , y a los 4 dias hay un kernel nuevo .. podreis actualizaros solos ... incluso si alguien lo hace..compartir los ficheros ,... para los demas ...
_______________________________________________________________________________________________________________

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

# Script by USUARIONUEVO @ www.seguridadwireless.net
# Version del script
SCRIPT_VERSION=1.0

# 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 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`

# 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

# Movemos si existe el fichero .config del kernel de sistema
# Para reautilizarlo usando make oldconfig
if [ -f /usr/src/$PRGNAM-$KERNEL_SISTEMA/.config ]; then
echo ""$VERDE"Se detecto un fichero config del kernel de sistema actual ...moviendo para reutilizarlo..."$CIERRE""
cp -r /usr/src/$PRGNAM-$KERNEL_SISTEMA/.config /usr/src/$PRGNAM-$KERNEL_ONLINE/.config &>/dev/null
fi

# Esta variable avisa si no hay fichero .config
# Verificamos que existe un fichero .config
if [ -f /usr/src/$PRGNAM-$KERNEL_ONLINE/.config ]; then
  echo "$VERDE"
  echo "Se detecto un fichero .config , la tarea continua"$CIERRE" .... "
  sleep 3
  else
  echo "$ROJO"
  echo "No se ha detectado el fichero .config $AMARILLO PRESIONE ENTER $ROJO si desea continuar$CIERRE... "
  echo "$CYAN"
  echo "Si no hay fichero config copialo antes de pulsar enter"
  echo "Si vas a configurarlo desde cero ... entonces dale a enter sin copiar un .config $CIERRE."
  read junk
fi

# 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
cd aufs3-standalone.git
git checkout origin/aufs$RAMA
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$$

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

# Compilamos el kernel
make oldconfig
make xconfig


# Comienza la compilacion del kernel
make -j$NUCLEOS

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

# 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

# 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
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 que 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
dir2xzm $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""

« Última modificación: 21-07-2014, 14:55 (Lunes) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re: he tenidp una idea , para los extras
« Respuesta #73 en: 21-07-2014, 15:07 (Lunes) »
la iso de turno ..

http://www.downloadwireless.net/isos-fase-testing/wifislax-current/wifislax-4.9-22072014.iso


actualemnte lleva el kernel 3.12.24

y en kernel org

https://www.kernel.org/

podeis ver a fecha de hoy   21/07/2014     15:06

que es el mas alto para la rama 3.12  

por eso el script os dira NO HAY UPDATES ...

en cuanto en kernel org ,aparezca el 3.12.25 ..el script podra actualizaros.


http://www.downloadwireless.net/isos-fase-testing/wifislax-current/wifislax-4.9-20072014.iso
« Última modificación: 22-07-2014, 12:44 (Martes) por USUARIONUEVO »

xexudj89

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #74 en: 21-07-2014, 17:08 (Lunes) »
USUARIONUEVO la puedes subir con torrent? es que desde el FTP me va muy mal, a la hora de descargar hay veces que ni me deja descargarlas.

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #75 en: 21-07-2014, 20:36 (Lunes) »
A mi me baja 50 k/s.
newuser....
¿podrías subir un módulo solo con la novedad de los script-updates? :D

Un saludo desde Asturias

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #76 en: 21-07-2014, 21:20 (Lunes) »
Ahora parece que va mejor la bajada....... 8)

a 200kb/s

vk496

  • Visitante
Re:
« Respuesta #77 en: 21-07-2014, 22:44 (Lunes) »
Muy bueno el script del kernel! Menuda currada que te has pegado allí...

Por mi parte, el wine se me resiste...

He probado a dejar los .msi en /usr/var/wine (lo digo a memoria) y /usr/var/wine/gecko/ (dentro de la carpeta creada), pero no quiere de ninguna manera.

En la documentación indican que es esa carpeta, pero nada... Seguiré mirando estos días:


Nota: deberías cambiar el orden de ejecución de los scripts. Que lo primera que salga sea el titulo, luego el internet check y después las variables globales (no tiene sentido definir variables si no se sabe si hay internet)

Salu2

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 15985
Re:
« Respuesta #78 en: 21-07-2014, 23:17 (Lunes) »
Muy bueno el script del kernel! Menuda currada que te has pegado allí...

Por mi parte, el wine se me resiste...

He probado a dejar los .msi en /usr/var/wine (lo digo a memoria) y /usr/var/wine/gecko/ (dentro de la carpeta creada), pero no quiere de ninguna manera.

En la documentación indican que es esa carpeta, pero nada... Seguiré mirando estos días:


Nota: deberías cambiar el orden de ejecución de los scripts. Que lo primera que salga sea el titulo, luego el internet check y después las variables globales (no tiene sentido definir variables si no se sabe si hay internet)

Salu2

pero si ya te dije yo las rutas melonaco ..

/usr/share/wine/gecko   -->> aquí dentro el msi de gecko
/usr/share/wine/mono    -->> aquí dentro el msi de mono


si tienes dudas abre el modulo de wine para wifislax 4.9 y veras todo.  ;)

Spanky37

  • Visitante
Re: he tenidp una idea , para los extras
« Respuesta #79 en: 22-07-2014, 10:07 (Martes) »
estoy haciendo testing, mirando por encima
+El actualizador de gparted, da error de sintaxis en linea 108
+El actualizador de aircrack cuando comprueba que hay internet, procede a seguir
luego dice"Comprobando versión actual y ahí se queda en LOOP, vamos como si tuviera
un sleep 5000  ;) tiene que ser una tontería.
+Al instalar driver de nvidia y reiniciar, dice detectando driver NVIDIA, configurando....
no llega a cargar los modulos, y luego me pasa lo que me paso hace unos días.

https://foro.seguridadwireless.net/live-wifislax/wifislax-4-9-no-me-detecta-nvidia/

antes de instalar esta iso, con mucho esfuerzo,  logre que me detectara la NVidia (hashcat y pyrit) pero despues de instalar esta iso, no me arranca WS. :-[ :-[ :-[

Un saludo desde Asturias