jueves, 6 de septiembre de 2012

Script ultima version del kernel

Aqui les traigo un script consulta en kernel.org de las versiones 3.x cual es la última y la descarga, ademas de que tambien sirve para checar la version del archivo de configuración (config) para la compilación del kernel netbook.
Actualización 17/04/13: Debido a mi poco conocimiento acerca de las conexiones seguras, SSL, curl, no he podido usar curl para consultar desde los servidores de kernel.org ya que estos ahora usan https. he cambiado el script y ahora funciona con w3m
Descarga:ultima_version_kernel.sh

#!/bin/bash
###################################################################################
# This work is licensed under a Creative Commons Reconocimiento-NoComercial 3.0 Unported License.
# http://creativecommons.org/licenses/by-nc/3.0/deed.es_ES
# Creado por Paulo Lira Gutiérrez (enriquelira948@gmail.com)
# Se concede permiso para copiar, distribuir y/o modificar este programa siempre 
# y cuando se cite al autor y la fuente de http://kernel-netbook.blogspot.com
# y según los términos de la GNU General Public License, Versión 3 o cualquiera
# posterior publicada por la Free Software Foundation.
YELLOW="\033[1;33m"
ENDCOLOR="\033[0m"
RED="\033[0;31m"

PRINCIPAL=3.x
cd ~/Programas
#echo -e $YELLOW"Escriba la versión que quiera descargar"$ENDCOLOR
#read VERSION
#~/Scripts/./wget_progreso.sh ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/linux-${VERSION}.tar.bz2
function ultima_version()
{
PRINCIPAL=3.x
VERSION=$(w3m -dump http://kernel.org/kdist/finger_banner | head -2 |tail -1 | awk '{ print $11 }')

LINUX_VERSION=linux-$VERSION.tar.bz2
cd ~/Programas
LISTAR=$(ls *.tar.bz2)
echo -e $YELLOW"Listando archivos .tar.bz2 en Programas..."$ENDCOLOR
echo $LISTAR
sleep 5
echo -e $YELLOW"La ultima version en kernel.org es la  $VERSION"$ENDCOLOR
sleep 5
if [ "$LISTAR" = "$LINUX_VERSION" ]; then
echo -e $YELLOW"Las versiones son iguales, no se descargará nada"$ENDCOLOR
sleep 5
echo -e $YELLOW"Saliendo..."$ENDCOLOR
sleep 4
else
gxmessage -center -geometry 600×400 -title “linux-$VERSION” -buttons Si:1,No:2 -default Si -wrap “Hay una nueva versión del kernel de linux: $VERSION. ¿Desea descargarla?”

case $? in

1) DISPLAY=:0.0 notify-send -i /home/paulo/.icons/linux.xpm "Hay una nueva versión del kernel: $VERSION" "Descargando desde kernel.org..."
echo -e $YELLOW"Descargando desde kernel.org..."$ENDCOLOR
sleep 10
cd ~/Programas
echo -e $YELLOW"Enviando código fuente antiguo a la papelera"$ENDCOLOR
mv  $LISTAR ~/.local/share/Trash/files/$LISTAR
#wget -c http://www.kernel.org/pub/linux/kernel/v${PRINCIPAL}/linux-${VERSION}.tar.bz2
#wget -c ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/linux-${VERSION}.tar.bz2
~/Scripts/./wget_progreso.sh ftp://ftp.kernel.org/pub/linux/kernel/v${PRINCIPAL}/linux-${VERSION}.tar.bz2
play /usr/share/sounds/KDE-K3B-Finish-Success.ogg
DISPLAY=:0.0 notify-send -i /home/paulo/.icons/kernel-check.xpm "Version del kernel de linux $VERSION" "Descargado con éxito"
echo -e $YELLOW"Se añade una entrada al inicio para checar la version del kernel-netbook"$ENDCOLOR
sed -i 's/X-GNOME-Autostart-enabled=false/X-GNOME-Autostart-enabled=true/g' /home/paulo/.config/autostart/checa_avisa_kernel.sh.desktop

############################################################################################
VERSION_CONFIG=$(cat /home/paulo/kernel-netbook/config | head -3 |tail -1 | grep -o '[0123456789.]*' | head -3 |tail -1)
if [ "$VERSION_CONFIG" = "$VERSION" ]; then
echo -e $YELLOW"La versión del kernel y la versión del archivo de configuración de kernel-netbook son iguales"$ENDCOLOR
play /usr/share/sounds/KDE-Im-Message-Out.ogg
DISPLAY=:0.0 notify-send -i /home/paulo/.icons/compilar.xpm "Cuando se decida, puede empezar a compilar" "$LISTAR"
sleep 5
##############################################USO DE XMESSAGE################################
cd ~/Scripts
gxmessage -center -geometry 600×400 -title “kernel-netbook” -buttons Si:1,No:2 -default Si -wrap “La version del kernel es la misma que la del archivo de configuración, ¿desea compilar ahora? Necesitará permisos de administrador para hacerlo.”

case $? in

1) sudo gnome-terminal -e ./kernel-netbook.sh;;
2) ;;

esac

else
echo -e $YELLOW"Hay una nueva versión del kernel, pero el archivo /kernel-netbook/config aún no se actualiza"$ENDCOLOR
sleep 3
echo -e $YELLOW"Saliendo"$ENDCOLOR
sleep 3
fi
sleep 5
;;
2) ;;

esac

fi
}
echo -e $YELLOW"Comprobando conexión a Internet..."$ENDCOLOR
ping www.google.com -c 3 >/dev/null 2>&1
if [ $? = 0 ]; then
ultima_version
else
echo -e $RED"No se ha podido establecer una conexión a internet"$ENDCOLOR
sleep 5
fi


Pueden descargar el script o copiar y pegar el codigo anterior en su editor favorito (puede ser gedit), guardarlo, y darle permisos de ejecución; seleccionan el archivo guardado, le dan clic derecho >Propiedades > pestaña Permisos y marcan la casilla de "Permitir ejecutar el archivo como un programa". Algunos scripts no contienen la extension .sh pero aún asi siguen funcionando.

Nota: En cualquier momento podría modificar el script para adaptarlo a mis necesidades. Favor de avisar en caso de que los enlaces no funcionen.

No hay comentarios:

Publicar un comentario

Entre todos ayudemos a mejorar linux