#!/bin/sh # (c) J.L. Redrejo & A. Ullan. gnuLinEx 2004, abril 2004. Extremadura (Spain) # Licencia GPL # programa de actualización de gnuLinEx # ####################################################### # instala_squeak ( ) { zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Entorno de desarrollo Squeak" --text "Está disponible para gnuLinEx el entorno de desarrollo de contenidos Squeak y no lo tiene instalado en su sistema. Para la instalación completa se deberán bajar por la red aproximadamente 11MB. \ \ ¿Desea instalar Squeak?." 10 61 case $? in 0) xterm -u8 -T Actualiza\ gnuLinEx.\ Instalar\ Squeak -e apt-get update xterm -u8 -T Actualiza\ gnuLinEx.\ Instalar\ Squeak -e apt-get install -yf squeak ;; 1) ;; 255) ;; esac } ################################################### instala_nvidia ( ) { zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Drivers Nvidia" --text "Parece que su ordenador dispone de una tarjeta de video Nvidia(tm). Es posible instalar un driver propietario para esta tarjeta. La medida de los archivos que tendrá que obtener por la red es de 2,4MB aproximadamente. \ \ ¿Desea instalar este driver?." 10 61 case $? in 0) xterm -u8 -T Actualiza\ LinEx.\ Instalar\ paquetes\ Nvidia -e apt-get update xterm -u8 -T Actualiza\ LinEx.\ Instalar\ paquetes\ Nvidia -e apt-get install -yf nvidia-kernel-`uname -r` nvidia-glx nvidia-kernel-common nv=`dpkg -l | grep nvidia-kernel` if [ "$nv" ]; then chmod 4766 /dev/nvidia* # veamos debconf DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND echo "set xserver-xfree86/config/device/driver nvidia" |debconf-communicate xserver-xfree86 dpkg-reconfigure xserver-xfree86 dexconf # se han instalado y configurado los paquetitos fi ;; 1) ;; 255) ;; esac } ##################################################################### # el asunto java insjava ( ) { zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Paquetes opcionales de Java (tm)" --text "Su ordenador no tiene instalados algunos paquetes de Java(TM) no GPL. Estos paquetes pueden mejorar el comportamiento de algunas aplicaciones que los utilizan. El tamaño de estos paquetes es de 16MB aproximadamente. \ ¿Desea instalar estos paquetes?." 10 61 case $? in 0) # parece que el usario quiere estos paquetes. xterm -u8 -T Actualiza\ LinEx.\ Preparando\ lista\ de\ paquetes -e apt-get update #Para que las preguntas del paqute no interrumpan el proceso: echo "j2re1.4 j2re1.4/stopthread boolean false j2re1.4 j2re1.4/license boolean true">/tmp/java.templates debconf-set-selections /tmp/java.templates xterm -u8 -T Actualiza\ LinEx.\ Instalar\ paquetes\ de\ java -e apt-get install -yf j2re1.4 ;; 1) ;; 255) ;; esac } ########## el plugin de flash ######### flash_plugin ( ) { zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Instalador del plugin de flash" --text "Este programa se encarga de obtener el archivo que contiene el plugin de Macromedia Flash Player desde un servidor de Macromedia y de instalarlo.\ \ ¿Desea instalar este programa?." 10 61 case $? in 0) # parece que el usario quiere estos paquetes. xterm -u8 -T Actualiza\ LinEx.\ Preparando\ lista\ de\ paquetes -e apt-get update DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND xterm -u8 -T Actualiza\ LinEx.\ Instalar\ instalador\ del\ plugin\ de\ flash -e apt-get install -yf flashplugin-nonfree ;; 1) ;; 255) ;; esac } ################################################################ # Arregla el bug de libgnomevfs2-common en gnome 2.8 fix_gnome_vfs ( ) { if ( ! grep -q dns-sd /etc/gnome-vfs-2.0/modules/default-modules.conf ) && [ `dpkg -l libgnomevfs2-common | egrep '^ii' | awk '{ print $3 }' | cut -d. -f1,2` == "2.8" ] then cd /etc/gnome-vfs-2.0/modules/ echo " *** default-modules.conf 2005-01-13 12:31:44.000000000 +0100 --- /tmp/modules/default-modules.conf 2004-11-25 18:33:06.000000000 +0100 *************** *** 12,17 **** --- 12,19 ---- computer: computer + dns-sd: dns-sd + file: file test: vfs-test *************** *** 28,33 **** --- 30,37 ---- dav: http + davs: http + pipe: vfs-pipe #efs: vefs *************** *** 36,45 **** sftp: sftp ! ssh: ssh ! ! # The various access methods implemented by the extfs system. ! a ar arj cpio deb hp48 lha mailfs patchfs rar rpm rpms trpm zip zoo: extfs # vfolder desktop method applications: vfolder-desktop --- 40,46 ---- sftp: sftp ! ssh: sftp # vfolder desktop method applications: vfolder-desktop " | patch cd - fi } ####################################### # el asunto actualizar linex. actualizar_linex ( ) { zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Actualizar los paquetes de gnuLinEx" --text "A continuación, este ordenador se conectará al servidor oficial de gnuLinEx (www.linex.org) para comprobar si existen actualizaciones de los programas que tiene instalados en él. Además, antes de obtener los paquetes necesarios, se le informará de los paquetes que se van a actualizar y del tamaño total de los archivos a bajar, en ese momento podrá también decidir si continúa con la instalación o no. Si desea instalar la actualización tendrá que pulsar la tecla \"y\" y a continuación pulse la tecla \"Intro\", si decide no actualizar los paquetes, pulse la tecla \"n\" seguida también de la tecla \"Intro\". \ \ ¿Desea actualizar gnuLinEx?." 14 65 case $? in 0) xterm -u8 -cr red -T Actualiza\ gnuLinEx.\ Pulse\ Y\ \(Si\)\ o\ n\(no\)\ e\ Intro. -e apt-get -yf dist-upgrade ;; 1) ;; 255) ;; esac } # # aquí preparamos un sources seguro # sources_bueno ( ) { hayProxy=`grep apt-cacher /etc/apt/sources.list` cp -f /etc/apt/sources.list /etc/apt/sources.list.cop #compruebo que no estoy en un colegio if [ ! -f /etc/colegioLinex ]; then echo "deb http://www.linex.org/sources/linex/debian/ sarge linex main contrib" >> /etc/apt/sources.list # echo "deb http://security.debian.org/ sarge/updates main contrib" >> /etc/apt/sources.list fi if [ ! -z "$hayProxy" ]; then rm -f /etc/apt/sources.list cp /etc/apt/sources.list.cop /etc/apt/sources.list fi #para que no pregunte export DEBIAN_FRONTEND=noninteractive export DEBIAN_PRIORITY=high # ahora apt-get xterm -u8 -T Actualiza\ gnuLinEx.\ Preparando\ lista\ de\paquetes. -e apt-get update } ################################################## ### aquí­ empieza el programa principal ### ################################################## export LC_ALL=es_ES@euro export LANG=es_ES@euro zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --question --title "Programa de actualización de gnuLinEx. Lea la siguiente información" --text "A través de las próximas pantallas, en función del hardware y software que tenga instalado, se le van a ofrecer distintas posibilidades para mejorar el comportamiento de su sistema gnuLinEx. \ Acepte instalar aquellos programas que crea que le serán útiles. Además le aconsejamos que acepte siempre la opción de Actualizar gnuLinEx. \ Si el sistema tiene que obtener archivos, observe la medida de los mismos antes de decidir bajarlos por la red. Tenga en cuenta que si su conexión es lenta, esta operación puede tardar un tiempo considerable. ¿Desea continuar?." 0 0 case $? in 0) ;; 1) exit 0 ;; 255) ;; esac ############################################################## ############################################################## # primero arreglamos ( nv=`dpkg -l | grep nvidia-kernel` echo "20" ; sleep 1 fix_gnome_vfs echo "40" ; sleep 1 if [ -z "$nv" ]; then tarjeta=`lspci | grep VGA | grep nVidia` echo $tarjeta if [ "$tarjeta" ]; then touch /tmp/nvidia else echo "60" ; sleep 1 fi echo "80" ; sleep 1 fi jmf=`dpkg -l | grep j2re` if [ -z "$jmf" ]; then touch /tmp/java fi sque=`dpkg -l | grep squeak-image` if [ -z "$sque" ]; then touch /tmp/sque fi echo "95" ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress --text="Analizando gnuLinEx. Pulse Aceptar cuando finalice." --percentage=0 # #Esto solo hay que hacerlo una vez, y deshacerlo al final sources_bueno if [ ! -f /usr/lib/flashplugin-nonfree/libflashplayer.so ] then flash_plugin fi #si ya está instalado el plugin de flash comprueba si hay versión nueva y la instala if [ -f /usr/sbin/update-flashplugin ]; then update-flashplugin fi if [ -f /tmp/sque ]; then instala_squeak fi rm -f /tmp/sque if [ -f /tmp/nvidia ] ; then #if [ "$tarjeta" ];then # el usuario tiene una nvidia y quizás quiera el driver instala_nvidia fi rm -f /tmp/nvidia # ################# # if [ -f /tmp/java ]; then #if [ -z "$jmf" ];then insjava fi rm -f /tmp/java # # paquete actualizar-linex siempre xterm -u8 -T Actualiza\ gnuLinEx.\ Corrigiendo\ posibles\ errores. -e apt-get -yf install actualizar-linex apt-get -yf install #resto de paquetes a actualizar a decisión del usuario # actualizar_linex mv -f /etc/apt/sources.list.cop /etc/apt/sources.list /usr/bin/pone_linex zenity --window-icon=/usr/share/pixmaps/linex/logo-linex.xpm --info --text="El programa de actualización ha finalizado. Usted podrá utilizar este programa para actualizar su sistema, cuando lo estime conveniente. Esperemos que le haya sido útil. El equipo de desarrollo de gnuLinEx"