
Hola,
Us faig saber que el material disponible al bloc es posarà a la wiki del portal Linkat. Val a dir que ara que el curs ja s'ha acabat, disposo de més temps per anar escrivint les "receptes" amb més detall.
Gràcies per tot,
Joan de Gracia
Nota: Per a Windows, podeu descarregar-vos el programa xmins (http://www.iteisa.com/xmins/) que permetrà la connexió entre la màquina windows i Linkat.
Article original:
This document (7002963) is provided subject to the disclaimer at the end of this document.
¿Y si tenemos una red? ¿Tenemos que ir instalando las aplicaciones anteriores puesto por puesto? ¿Y si no utilizamos Windows?
Una solución a todo esto es meter por medio nuestro propio proxy. ¿Para qué? Él será el que se encargue de forzar el refresco. Este sistema para una red es muy interesante, pues sólo hay que configurar el servidor y los navegadores (incluso ni eso, si hacemos que el proxy sea transparente también).
Además, podemos meter reglas de filtrado en el proxy para evitar los sitios de publicidad.
Una guía más exhaustiva sobre Squid la podéis encontrar aquí.
La parte de la instalación me la salto, en el sitio oficial tenéis toda la documentación. Aquí vamos a ir al grano.
Antes de nada, tengo que decir que no soy ningún experto en Squid, y todo esto ha sido sacado a base de pruebas. Si hay algún error, os pido que me corrijais ;)
Para forzar el refresco, lo único que tenemos que hacer es decirle que no queremos que coja nada de nuestra caché, con ello conseguimos que los datos sean siempre "frescos". Nos vamos al /etc/squid.conf (o donde tengas el archivo de configuración) y modificamos las directivas no_cache y refresh_pattern de la siguiente manera (dejad lo originales con comentarios, y el resto del archivo sin tocar):
acl QUERY urlpath_regex cgi-bin \? .
no_cache deny QUERY
refresh_pattern . 0 0% 0
Digamos que aquí estamos usando un pequeño truco (chapuza lo llaman a veces). Con las 2 primeras líneas hacemos que no se cachee ninguna dirección que contenga los caracteres "cgi-bin" o "?" o "." (*). Buscadme una sola dirección que no tenga un punto :) ¿La encontrásteis?
Realmente se podría dejar solo el punto, pero por vaguería no lo he probado.
Con el refresh_pattern le estamos diciendo que la edad máxima de un elemento en la caché es 0.
Esta configuración podemos irla afinando. ¿Qué os parece si cacheamos las imágenes mientras no sean nuevas? Pues a modificar la acl:
acl IMAGENES urlpath_regex jpg gif png swf JPG GIF PNG SWF
acl QUERY urlpath_regex cgi-bin cgi \? php asp html htm xml pl
no_cache allow IMAGENES
no_cache deny QUERY
refresh_pattern . 0 0% 0
Creo que os podéis imaginar como funciona. Desconozco si Squid es case sensitive (me imagino que sí), por eso están repetidas las extensiones de las imágenes.
Real Kiosk is a Firefox 2.0 - 3.0 extension that defaults to full screen, disables all menus, toolbars, key commands and right button menus. Alt+Home still takes you home.
You can enable Navigation toolbar by adding the following to user.js:
user_pref("rkiosk.navbar", true);
You might want to remove the print dialog by adding following lines to your user.js:
user_pref("print.always_print_silent",true);
user_pref("print.show_print_progress",false);
Notice that the user can still close Firefox with for example Alt-F4 and get access to your computer. You might want to prevent this with a suitable utility program for your operating system.
Caution! R-kiosk extension can be removed only in Firefox Safe Mode. Howto: http://kb.mozillazine.org/Safe_Mode_(Firefox)
SCRIPT load-balance:
#!/bin/bash
#
# El propósito de este script es:
#
# - Agregar una IP para monitorizar cada router
# - Inicializar las tablas corresponientes a los routers (deben haberse
# definido en /etc/iproute2/rt_tables previamente). Cada tabla tendrá la
# ruta necesaria para alcanzar al router y la ruta por defecto
# - Agregar reglas para utilizar la tabla correspondiente en función
# de la dirección de origen del paquete (una de las IPs del primer punto)
# - Fijar como ruta por defecto una ruta multihop utilizando todos los
# routers
### BEGIN INIT INFO
# Provides: load_balance
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Balancejador de Càrrega entre 2 ADSLs
# Description: Arrencar el Balancejador de Càrrega
entre 2 ADSLs
### END INIT INFO
# CONTINGUT /etc/iproute2/rt_tables
#1 XTEC
#2 EXT1
#../.. EXT
#N EXTN
RT_TABLES=/etc/iproute2/rt_tables
NUM_ADSL=`cat $RT_TABLES | grep -e XTEC -e EXT | wc -l`
if [ ! $NUM_ADSL -ge 2 ]; then
echo "1 XTEC" >> $RT_TABLES
echo "2 EXT1" >> $RT_TABLES
echo "3 EXT2" >> $RT_TABLES
echo "4 EXT3" >> $RT_TABLES
echo "5 EXT4" >> $RT_TABLES
# Per protegir duplicats
cat $RT_TABLES | uniq > $RT_TABLES.tmp
mv $RT_TABLES.tmp $RT_TABLES
fi
# IPs para monitorizar routers
ifconfig eth0 192.168.0.33 up
ifconfig eth1 192.168.1.33 up
# Inicializamos las tablas para los dos enlaces
ip route add 192.168.0.0/24 dev eth0 table XTEC
ip route add default via 192.168.0.1 table XTEC
ip route add 192.168.1.0/24 dev eth1 table EXT1
ip route add default via 192.168.1.1 table EXT1
# Reglas para la selección de tablas
ip rule add from 192.168.0.33 table XTEC
ip rule add from 192.168.1.33 table EXT1
# Regla por defecto
ip route replace default scope global nexthop via 192.168.0.1 weight 1
nexthop via 192.168.1.1 weight 1
sleep 2
nohup /etc/sysconfig/network/load-balance.control.sh & > /dev/null 2>&1
SCRIPT load-balance.control.sh:
#!/bin/bash
#
# Autor: Victor Carceler
#
# Licencia: GPLv3 o posterior
#
# Función:
#
# Monitorizar el estado de los diferentes enlaces y dar de baja/alta
# routers en la ruta por defecto de forma dinámica
PROGNAME=`basename $0`
TESTIP=213.176.161.13
PINGTIMEOUT=2
GATEWAY_PING_SRC=(192.168.0.33 192.168.1.33)
GATEWAY_LIST=(192.168.0.1 192.168.1.1)
GATEWAY_WEIGHT_LIST=(1 1)
SLEEP=5
N_GATEWAYS=`echo ${GATEWAY_LIST[@]} | wc -w`
N_GATEWAYS=`expr $N_GATEWAYS - 1`
last_hopes=""
while true
do
hopes=""
for x in `seq 0 1 $N_GATEWAYS`
do
ping -W $PINGTIMEOUT -I ${GATEWAY_PING_SRC[$x]} -c 1 $TESTIP >/dev/null 2>/dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
hopes="$hopes nexthop via ${GATEWAY_LIST[$x]} weight
${GATEWAY_WEIGHT_LIST[$x]}"
fi
done
if [ "$last_hopes" != "$hopes" ]
then
logger "$PROGNAME: Cambiamos la ruta por defecto a: $hopes"
logger "$PROGNAME: Valor anterior: $last_hopes"
logger "$PROGNAME: ip route replace default scope global $hopes"
ip route replace default scope global $hopes
last_hopes=$hopes
fi
sleep $SLEEP
done
logger "$PROGNAME: ip route replace default scope global $hopes"
ip route replace default scope global $hopes
last_hopes=$hopes
fi
sleep $SLEEP
done
- El recurs "S", que és només de lectura per a la majoria d'usuaris.
- El recurs "T", on tothom pot llegir, escriure i esborrar qualsevol fitxer.
- El recurs "P", on només el professorat té drets de lectura i escriptura.
# crontab -l
Si su máquina tiene algunos puestos de trabajo configurado cron se mostrará algo como lo siguiente:
0 6 * * * /opt/scripts/backup_script.sh
La configuración anterior mostra una tasca que executa l'script "backup_script.sh" cada dia a les 6 AM.
Configuración del fichero contrab:
0 6 * * * /opt/scripts/backup_script.sh 0 6 * * * / opt / scripts / backup_script.sh
| | | | |
| | | | |_____________Día de la semana (Domingo = 0)
| | | |______________Meses del año
| | |_______________Día del mes
| |________________Hora del día
|_________________Minutos de la hora
# crontab -e
Se abrirá un editor con el que se puede agregar, editar o borrar tareas. Por ejemplo, para programar una tarea para que se ejecute a las 3:45 PM todos los lunes, se puede agregar una entrada com ésta:
45 15 * * 1 /opt/scripts/script.sh
También puede utilizar una coma para agregar múltiples entradas en un campo.Esto es útil si desea ejecutar un script de tres veces al día, con un intervalo de ocho horas. Asegúrese de no dejar espacio entre las entradas en un solo campo. Su "tarea" de entrada se vería así:
0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh
En el ejemplo anterior la secuencia de comandos "db_backup_script.sh" se ejecuta al 1 º de AM, 9 AM y 5 PM todos los días en los meses defebrero y noviembre. Crontab no sólo comprende números, también puede funcionar con algunas palabras básicas:
Así, por ejemplo, si desea ejecutar un script a la medianoche todas las noches, esto es lo que su configuración crontab se vería como:
@midnight /opt/scripts/script.sh
Dates i horari: 6/7/2009 - 10/7/2009 (30 hores) de 10:00h a 17:00h
- L'ordinador haurà de tenir suficient espai en disc dur (min. 30 Gb) per poder fer les instal·lacions de les diferents modalitats Linkat (servidor, client, autònom). Pel que fa la memòria RAM, el portàtil haurà de disposar d'1 Gb de memòria RAM com a mínim.
- VirtualBox com a laboratori virtual d'informàtica
- Model d'aula Linkat: Instal·lació del model servidor i del model client Linkat.