Algo de Linux: marzo 2013

lunes, 25 de marzo de 2013

OpenWrt en router Home Station ADB P.DG A4001N1


He comprado este router en Ebay para "jugar" un poco con él porque me ha parecido interesante y con grandes posibilidades para sacarle partido con un firmware como OpenWrt. Aún no he tenido tiempo de verlo a fondo, pero veo que puede ser muy útil para:
  • Conectarle un disco duro y compartir contenidos en nuestra red local.
  • Conectarle una tarjeta wifi usb RTL8187l o una RTL2800usb para enrutar por ejemplo una red wifi usb lejana con otra cercana.
  • Usarlo como reproductor de música por streaming. 
Como no encontraba información clara de si podía flashearlo desde el firmware original, me decidí a probarlo y se actualizó sin problemas.


Ahora que ya tengo openwrt en él, seguiremos haciendo pruebas.

Por si necesitáis información acerca de este router, la mejor fuente es:
http://foro.seguridadwireless.net/openwrt/openwrt-en-routers-de-telefonica-home-station-alpha-asl26555-y-adb-p-dg-a4001n1/?PHPSESSID=0a5232af0eb673548b3b109a6a71b655


El último firmware disponible a día de hoy:
https://dl.dropbox.com/u/4708147/openwrt/bcm63xx/P.DG%20A4001N1%20%28963281T_TEF%29/openwrt-963281T_TEF-generic-squashfs-cfe_r37180.bin

La versión anterior:
https://dl.dropbox.com/u/4708147/openwrt/bcm63xx/P.DG%20A4001N1%20%28963281T_TEF%29/openwrt-963281T_TEF-generic-squashfs-cfe_r36114.bin

Y el firmare original, por si queréis dejarlo como estaba:
https://www.multcloud.com/download/C6DA9347-9A60-0001-56D3-1AE0153011BB

jueves, 21 de marzo de 2013

Comprobación del estado de la batería

Esta mañana, el compañero Francisco Rodrigo estuvo revisando por qué no estaba funcionando pkgsync en los portátiles, y por lo que pudo ver la cuestión es que pkgsync se ejecuta mendiante anacron y anacron sólo se ejecuta si el portátil está conectado a la corriente eléctrica.

Comentábamos que la cosa estaba bien, porque era preferible tener los portátiles desactualizados a tener los paquetes en un estado inconsistente.

El problema es que los portátiles de los alumnos siempre que se usan (al menos en mi centro) están desconectados de la corriente, con lo que nunca se van a ejecutar las tareas de anacron, y, en particular, nunca van a realizar el pkgsync.

Así que será mejor modificar el sistema para que anacron se ejecute en función del porcentaje de carga de la batería, en  lugar de observar si está conectado a la corriente eléctrica o no. Esto es fácil averiguar haciendo uso de acpi.

Antes de nada, si no tenemos instalado acpi, lo instalamos:

# apt-get install acpi

Una vez instalado, si lo ejecutamos sin parámetros en un terminal, obtendremos el estado de carga de la batería del portátil. Por ejemplo:

root@administrador:/home/enavas# acpi
Battery 0: Discharging, 77%, discharging at zero rate - will never fully discharge.

Haciendo uso de filtros, es muy sencillo obtener el valor del porcentaje. Un ejemplo:

root@administrador:/home/enam0000# acpi | awk '{print $4}'| cut -f1 -d"%"

71 

martes, 19 de marzo de 2013

Nueva versión de la tarea instala-flash

Por si alguien quiere actualizarla en su servidor, y aprovechando que algún compañero me lo ha preguntado, he modificado la tarea para actualizar el plugin de flash en servidores de terminales, portátiles y workstation para mejorar su funcionamiento y permitir una descarga e instalación más ágil de dicho plugin.

Esta nueva versión de la tarea se asegura de que el paquete flashplugin-nonfree se encuentre instalado y lo utiliza para actualizar el plugin desde la caché del centro. 

La actualización del plugin se realiza ejecutando un script que coloco en:
/usr/local/sbin/actualizaflash 

Este script descarga el plugin de flash desde el proxy de ldap, por lo que es necesario aumentar el tamaño máximo de objeto cacheable en el archivo  /etc/squid/squid-cache.conf, por ejemplo a 8MB.

Para eso cambiamos el valor del maximum_object_size en el archivo /etc/squid/squid-cache.conf del servidor ldap. El cambio es el siguiente:

maximum_object_size 4096 KB

por:

maximum_object_size 8192 KB


Una vez cambiado el valor, hacemos que squid relea los ficheros de configuración:

# /etc/init.d/squid reload

Si se quiere, siempre se puede volver a forzar la ejecución de la tarea mediante puppet haciendo algún cambio en el archivo testigo:
/etc/puppet/modules/instala-flash/files/upgrade_flash

Y si queréis ejecutar el script manualmente en una máquina, tan sólo tenéis que ejecutar el script:

# /usr/local/sbin/actualizaflash 

Aquí tenéis el enlace de descarga:


Aunque es algo que no depende de la tarea, a petición de un compañero, y puesto que muchos administradores siguen este blog, quisiera hacer una observación: El fichero que se descarga para instalar el plugin es un .tar.gz. De modo que, deberéis aseguraros de no tener filtrado este tipo de archivos en el squid del servidor ldap.

lunes, 18 de marzo de 2013

Paquete setgroupquota 0.1

Como me lo ha pedido algún compañero, aquí dejo el enlace al paquete setgroupquota que instala el script setgroupquota en el servidor nfs del centro para poder establecer quotas de disco por grupos:
NOTA: Encontraréis una versión actualizada en el siguiente post: http://enavas.blogspot.com.es/2015/03/paquete-setgroupquota-02.html

domingo, 17 de marzo de 2013

Copia remota segura usando Nautilus

Para demostrar la potencia de nautilus, vamos a ver otra opción muy interesante: Cómo copiar archivos entre una máquina remota y nuestro equipo, abriendo un panel adicional.

Imaginemos que queremos copiar archivos desde una máquina remota, llamada ldap en una carpeta de nuestra máquina. Para ello, abrimos un panel adicional, y, en uno de los dos paneles especificamos que queremos acceder vía ssh a nuestra máquina ldap: (ssh://ldap)


Si no tenemos un dns en nuestra red, especificamos la ip de la máquina remota. Por ejemplo: ssh://192.168.1.3

Se nos abrirá una ventana en la que tendremos que introducir un usuario y una contraseña con acceso en la máquina remota.


Introducimos, por ejemplo, los datos del usuario administrador, para acceder a todo el sistema de archivos:


En cuanto a las opciones de olvidar, recordar contraseña hasta cerrar la sesión o recordar para siempre, elegimos la que más nos convenga.

Si hemos introducido correctamente los datos de la máquina remota, veremos que en el panel que hayamos especificado nos aparecerán las carpetas de dicha máquina:


"Panel adicional" en Nautilus


El "panel adicional" nos permite dividir la ventana de nautilus en dos para transferir archivos entre dos ubicaciones, independientemente de que éstas sean locales o remotas. Podemos activarlo de dos modos diferentes: 
  • Pulsando la tecla "F3"
  • o seleccionando la opción "Panel adicional" en el menú "Ver":




Así se mostrará la ventana de nautilus una vez abierto el panel adicional:





Mostrar la barra de navegación en Nautilus

No sé si es porque estoy acostumbrado a utilizarla, pero me gusta tener visible la barra de navegación cuando uso Nautilus. Esta barra de navegación es como la barra de direcciones de nuestro navegador de internet y nos va a resultar tremendamente útil cuando hagamos copias entre un sistema remoto y nuestro equipo.

Esta barra se encuentra desactivada, por defecto, ya desde hace mucho tiempo. Vamos a ver cómo activarla.

Primero, pulsamos la combinación de teclas "Alt+F2" y se abrirá la ventana que nos permite ejecutar una aplicación. Escribimos: "gconf-editor" y pulsamos el botón "Ejecutar":


Se nos abrirá el editor de configuraciones de gnome. Hacemos clie en "apps" para desplegar las opciones de configuración de aplicaciones:


A continuación seleccionamos "nautilus" y se nos desplegarán una serie de opciones para configurar nautilus:


Elegimos "preferences" y en la ventana de la derecha marcamos la casilla "always_use_location_entry":


Terminamos cerrando la ventana. 

Si ahora abrimos nautilus, veremos que ya se muestra la barra de Navegación:


viernes, 15 de marzo de 2013

Lyx 2.0.5.1 empaquetado para Debian 64 bits

Como habitualmente uso Lyx y veo que la versión de Debian sigue estancada en la 1.6.7 desde hace unos pocos años, he compilado la versión 2.0.5.1 desde el código fuente y ya que estaba compilando el paquete para 32 bits,  he creado el paquete también de 64 bits. Aquí dejo el enlace de descarga:

 

Lyx 2.0.5.1 empaquetado para Debian 32 bits

Como habitualmente uso Lyx y veo que la versión de Debian sigue estancada en la 1.6.7, desde hace unos pocos años, he compilado la versión 2.0.5.1 desde el código fuente y ya de paso, he creado el paquete para arquitectura de 32 bits. Aquí dejo el enlace de descarga:

https://www.box.com/s/h77aup6x5gd28qonahy2

lunes, 11 de marzo de 2013

Limitar el número de pestañas que pueden abrirse en Firefox

El navegador consume gran cantidad de memoria y CPU, un problema importante cuando contamos con equipos como los workstation, con una memoria inferior a 512 Mb, o los thinclients, que tan sólo tienen 256 Mb de RAM. Y la cosa se pone aún más difícil si el usario comienza a abrir pestañas sin control.

Para evitar un consumo excesivo de memoria en estos equipos, se me ocurrió limitar el número de pestañas que el usuario podía abrir, pero, aunque no ví ningún modo de hacerlo modificando la configuración del navegador, sí encontré un complemento llamado Max Tabs que era justo lo que necesitaba.

Este complemento me permite establecer el número máximo de ventanas que se pueden abrir, de tal modo, que cuando se ha llegado a dicho número, no permite abrir más. 

Veamos un ejemplo: Supongamos que quiero que el usuario no pueda abrir más de dos pestañas en el navegador. Instalo Max Tabs y establezco la siguiente preferencia en el archivo de preferencias de iceweasel y/o firefox:

// Max open tabs
lockPref("extensions.maxtabs@cheeaun.maxTabs", 2);

Lo único malo de este complemento es que no he conseguido instalarlo como un complemento general para todos los usuarios de la máquina. Así que he usado un script en el servidor nfs para copiar el complemento a todos los usuarios en el directorio correspondiente: 

$HOMEBASE/$i/.mozilla/firefox/*.default/extensions/

Módulo puppet para actualizar el plugin de flash en los ies

He modificado el módulo puppet que actualiza el plugin de flash en servidores de terminales, portátiles y workstations.

Esta nueva versión aprovecha el paquete flashplugin-nonfree para mantener actualizado el plugin.

El inconveniente que tiene este paquete para nosotros, es que, para cada  actualización que realiza, descarga el plugin desde internet. Lo que significa que, si  se están actualizando 30 portátiles a la vez, y para colmo lo hacen vía wifi, la conexión a internet se va a saturar. Para evitar este problema, lo que hecho es:
  • Modificar el archivo /etc/squid/squid-cache.conf de nuestro proxy, aumentando el tamaño máximo de objeto cacheable a 8 Mb.
  • Realizar la actualización del plugin desde el caché de squid.
Este módulo se asegura de que el paquete flashplugin-nonfree se encuentre instalado y, una vez instalado, actualiza el plugin.

La actualización del plugin se realiza ejecutando un script que coloco en:
/usr/local/sbin/actualizaflash

Este script descarga el plugin de flash desde el proxy de ldap.

Para aumentar a 8Mb el tamaño máximo de objeto cacheable, cambiamos el valor del maximum_object_size en el archivo /etc/squid/squid-cache.conf de nuestro servidor ldap:

maximum_object_size 4096 KB

por:

maximum_object_size 8192 KB

Y hacemos que squid relea los ficheros de configuración:

# /etc/init.d/squid reload 

Pensando en volver a forzar la actualización del plugin cuando yo quiera, el módulo puppet crea un archivo testigo en el directorio /etc del cliente al que he llamado upgrade_flash (/etc/upgrade_flash), de tal modo, que si modifico el archivo upgrade_flash en el servidor (/etc/puppet/modules/instala-flash/files/upgrade_flash), la tarea volverá a ejecutarse de nuevo.

A continuación dejo el enlace de descarga de la tarea:

domingo, 3 de marzo de 2013

Flashear el router Comtrend CT-5361 desde el modo recovery

El modo recovery del router Comtrend CT-5361 nos va a permitir flashearlo con un nuevo firmware. 

Para entrar en el modo recovery, partiendo de que tenemos el router apagado, pulsamos el botón de Reset con un clip y, mientras lo mantenemos pulsado, apretamos el botón de encender. Soltamos el botón de encendido y mantenemos pulsado el botón de Reset hasta que se apague el led de Power. Una vez apagado, dejamos de presionar el Reset. 

En este momento, nuestro router entrará en el modo recovery. En este modo, el router no tiene activado el DHCP, por lo que no nos va a asignar una IP dinámica y tendremos que establecer una IP estática en nuestro ordenador:


Tendremos que especificar una IP del rango 192.168.1.X

A continuación conectamos el ordenador al router mediante el cable de red.

Una vez conectado el cable abrimos el navegador y, en la barra de direcciones, escribimos la dirección IP del router en el modo recovery:

http://192.168.1.1

Como podemos ver, tendremos que pulsar el botón "Seleccionar archivo" para elegir el archivo que contiene el firmware con el que vamos a flashear nuestro router. Una vez seleccionado, pulsamos el botón "Update Software" y comenzará el proceso de actualización del dispositivo.

Una vez hecho ésto, esperamos un par de minutos, que es lo que se supone tardará en realizar el proceso. Transcurridos estos dos minutos el router se reiniciará abandonando el modo recovery e iniciándose en el modo normal.

Para terminar, cambiamos de nuevo la configuración de nuestro equipo para que el router le asigne una IP de forma dinámica y listo.

viernes, 1 de marzo de 2013

Añadir fuentes de forma manual a nuestro sistema Debian

En Internet hay muchos sitios desde donde se pueden descargar fuentes, como por ejemplo Font Reactor, Font Squirrel o 1001 Free Fonts

En ocasiones, queremos añadir manualmente alguna fuente que hemos encontrado y nos ha gustado y, además, nos interesa que esta fuente este disponible para todos los usuarios de nuestro sistema. Bien, pues podemos descargar e instalar todas las fuentes que queramos fácilmente. Veamos a modo de ejemplo como añadir una fuente ttf a nuestro sistema:

Primero.- Con el fin de ser un poco organizados, creamos un directorio donde almacenaremos las fuentes que queramos instalar en el sistema dentro de /usr/share/fonts/truetype:

# mkdir /usr/share/fonts/truetype/misfuentes

Segundo.- Descargamos el archivo que contiene las fuentes. Normalmente vendrá comprimido, así que lo descomprimimos para tener el/los archivo/s .ttf

Tercero.- Una vez descomprimido, copiamos los archivos .ttf al directorio que hemos creado: /usr/share/fonts/truetype/misfuentes

Cuarto.- Por último, regeneramos la caché de fuentes para que las nuevas fuentes añadidas estén disponibles para todas nuestras aplicaciones:

# fc-cache -fv

Y esto es todo.