Algo de Linux: octubre 2014

jueves, 30 de octubre de 2014

Problema de forwarding en bind9

Estaba tratando de configurar el forwarding en el servidor bind9 de la subred de los ciclos para que reenviara peticiones a los servidores DNS de la red del centro, y a pesar de que la configuración es sencilla, no funcionaba:

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        recursion yes;
        forwarders { 172.19.144.3; 172.19.144.2; };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation yes;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};
Buscando un poco, he encontrado que si dejamos dnssec-validation auto, bind9 no realiza las peticiones a los servidores que le hayamos indicado, pero sí funciona cuando el valor es yes o no. Un bug??

Publicado por primera vez en http://enavas.blogspot.com.es

Configuración de PowerDNS en los IES utilizando pdns-recursor para resolver direcciones internas y externas

En un post de abril de este año (http://enavas.blogspot.com/2014/04/configurar-powerdns-en-los-centros-para.html) explicaba cómo configurar PowerDNS en los servidores de los centros para tener acceso a las aplicaciones de intranet del Gobierno de Extremadura.

Como estoy demasiado ocupado en el centro, casi no leo el correo de la lista o lo ojeo por encima. El caso es que esta mañana he visto que algún compañero comentaba en un mensaje de hace algunos días que la configuración que explicaba en el post mencionado anteriormente no le servía para que el DNS le resolviera una dirección de una web externa.

Decir que es lógico porque con lo expuesto en el post no se trata de resolver direcciones externas, sino de configurar PowerDNS para que resuelva direcciones de la intranet. Para mejorar la configuración de la resolución externa, habría que tocar otras configuraciones adicionales.

Cuando escribí el artículo no quise incluir mi configuración completa para que la gente no se liara y copiara y pegara mis configuraciones en sus servidores sin entenderlas, algo que puede ser bastante problemático si no se sabe lo que se está haciendo. Como ya he comentado en alguna ocasión, en mi centro tengo montada una réplica del servicio ldap en el servidor nfs y un powerdns en cada uno de los servidores, de tal manera que ambos resuelvan nombres consultando la base de datos del ldap local.

En el fichero de configuración de powerdns /etc/powerdns/pdns.d/pdns-debian-edu.conf tengo definido que use como recursor el propio servidor dns (127.0.0.1:1553):
recursor=127.0.0.1:1553
- See more at: http://enavas.blogspot.com.es/2014/04/configurar-powerdns-en-los-centros-para.html#sthash.kK0RGkaZ.dpuf
En el fichero de configuración de powerdns /etc/powerdns/pdns.d/pdns-debian-edu.conf tengo definido que use como recursor el propio servidor dns (127.0.0.1:1553):
recursor=127.0.0.1:1553
- See more at: http://enavas.blogspot.com.es/2014/04/configurar-powerdns-en-los-centros-para.html#sthash.kK0RGkaZ.dpuf
En el fichero de configuración de powerdns /etc/powerdns/pdns.d/pdns-debian-edu.conf tengo definido que use como recursor el propio servidor dns (127.0.0.1:1553):
recursor=127.0.0.1:1553
- See more at: http://enavas.blogspot.com.es/2014/04/configurar-powerdns-en-los-centros-para.html#sthash.kK0RGkaZ.dpuf
También creo haber leído que alguien había desactivado el recursor porque al fin y al cabo en la configuración que aplicaba, no se estaba usando y realmente no sabía para qué servía.

No voy a entrar en demasiados detalles sobre PowerDNS, pero voy a tratar de aclarar un poco el tema para que se entienda, sobre todo porque a mí me gusta entender todo aquello con lo que trabajo y supongo que a otros también.

Bueno, vamos al tema...

PowerDNS está formado por dos componentes:
  • El servidor "autoritativo": pdns.
  • Y el recursor: pdns-recursor.
Otros servidores DNS combinan ambas funciones.

Por decirlo de algún modo, un servidor DNS "autoritativo" es la fuente que proporciona información de resolución de nombres para un dominio en particular. 
Los servidores "autoritativos" pueden ser de dos tipos: primarios o secundarios.

En cuanto al recursor, simplemente nos proporciona un sistema de almacenamiento en caché para acelerar la resolución de nombres y un dispositivo de resolución recursiva de nombres para que nuestros clientes accedan a nuestra red o a internet utilizando DNS.

Teniendo en cuenta todo ésto, estaréis de acuerdo conmigo en que, aunque el recursor no es imprescindible, sí es de gran utilidad.
Cuando en el fichero /etc/powerdns/pdns.d/pdns-debian-edu.conf tenemos la siguiente línea:
recursor=127.0.0.1:1553
Le estamos diciendo a nuestro servidor DNS "autoritativo" que  utilice como recursor el servidor que escucha en la dirección IP 127.0.0.1 y en el puerto 1553.

Si en lugar de eso, en el fichero /etc/powerdns/pdns.d/pdns-debian-edu.conf ponemos la siguiente línea:
recursor=8.8.8.8
Le estamos diciendo a nuestro servidor DNS "autoritativo" que  utilice como recursor el servidor de Google cuya IP es 8.8.8.8

En mi caso, utilizo el recursor que corre en mi servidor (recursor=127.0.0.1:1553), sencillamente porque mi recursor cacheará información de dns localmente y eso hará que esa información se proporcione más rápidamente a los clientes.

Alguien me preguntaba cómo es posible que el servidor autoritativo y el recursor se encuentren corriendo en la misma máquina. La respuesta es muy sencilla: El servidor autoritativo escucha en el puerto 53 y el recursor escucha en el puerto 1553.

Una vez aclarado un poco el tema, os muestro mi configuración para el recursor, que se entiende bastante bien con sólo ver el fichero:

/etc/powerdns/recursor.conf
dont-query=
forward-zones=valledeljerte3=172.19.144.3;172.19.144.2,gobex.pri=172.20.5.4;172.20.5.3,juntaextremadura.pri=172.16.1.28
forward-zones-recurse=.=8.8.8.8;8.8.4.4
local-address=127.0.0.1
local-port=1553
quiet=yes
setgid=pdns
setuid=pdns
Con ésto, garantizo la resolución de nombres de mi dominio, la resolución de nombres de dominio de la intranet y la resolución de nombres de internet.
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 28 de octubre de 2014

Migrar Debian Wheezy de 32 a 64 bits

Hace unos días, tratamos de instalar un sistema operativo de 64 bits en una máquina virtual creada en VirtualBox en un portátil ttl y no terminaba de completarse. Lo repetimos una vez más y volvió a suceder lo mismo.

Me pareció un poco extraño, pero se me ocurrió una sencilla explicación: El Debian instalado en los portátiles ttl es de 32 bits. 

Pensando en solucionar este problema y teniendo en cuenta que sería mucho más óptimo instalar un sistema de 64 bits en una máquina de 64 bits me decidí a mirgrar el Debian de 32 bits instalado a 64 bits, algo viable puesto que Debian Wheezy es multiarch. Para ello, tomé como referencia el siguiente tutorial de migración:
http://www.ewan.cc/?q=node/90

No me sirvió al pie de la letra, pero sí como orientación y con algunos pequeños retoques dado que mi caso no era exactamente el mismo.

A grandes rasgos, la idea es sencilla:
  1. Instalar un kernel de 64 bits.
  2. Obtener la lista de paquetes instalados en el sistema.
  3. Reducir los paquetes instalados al sistema base.
  4. Actualizar el sistema base a 64 bits.
  5. Actualizar las librerías a 64 bits.
  6. Reinstalar el resto de paquetes que teníamos antes de reducir el sistema.
Eso sí. El procedimiento lleva su tiempo, sobre todo si hay que hacer la instalación de paquetes desde internet. Para no tardar mucho, lo que hice fue utilizar el disco duro externo en el que guardo una copia de los mirrors del centro.

Ahora ya tengo un sistema como el de los miniportátiles para equipos de 64 bits. El siguiente paso será montar también este sistema de 64 bits en la imagen de los portátiles ttl.
 
Publicado por primera vez en http://enavas.blogspot.com.es

Reinstalar grub usando grub-install

Podemos reinstalar grub fácilmente desde un live cd mediante el siguiente procedimiento: Arrancamos el live cd. Montamos la partición que contiene el sistema raíz. Suponiendo que sea la partición /dev/sda5:
# mount /dev/sda5 /mnt
Montamos la partición que contiene /boot. Suponiendo que sea /dev/sda3:
# mount /dev/sda3 /mnt/boot
Realizamos la instalación de grub:
# grub-install --boot-directory=/mnt/boot /dev/sda
Desmontamos la partición /boot:
# umount /boot
Desmontamos la partición raíz del disco:
# umount /mnt
Por último, reiniciamos el equipo. Publicado por primera vez en http://enavas.blogspot.com.es

domingo, 26 de octubre de 2014

Instalar Virtualbox en Debian Wheezy desde la línea de comandos

En ocasiones me preguntan por qué cada vez que voy a hacer alguna configuración, instalación, etc, me voy a un terminal... Supongo que, en parte, porque me he acostumbrado y me resulta más cómodo y rápido que estar buscando entre los menús del entorno gráfico. Además eso es bueno, en el sentido de que si estás acostumbrado a trabajar en el terminal, cuando no tienes entorno gráfico, como por ejemplo, en el caso de servidores, no te molesta. 

Veamos a continuación cómo instalar VirtualBox en Debian Wheezy desde un terminal:
 
Para instalar VirtualBox en Debian Wheezy, lo más cómodo es hacerlo desde los repositorios oficiales. Así que, lo primero será añadir los repositorios a nuestra lista:
# echo "deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free" > /etc/apt/sources.list.d/virtualbox.list
Una vez añadido el repositorio, descargamos la clave pública y la añadimos al anillo de claves:
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -
A continuación, actualizamos los índices de los repositorios:
# apt-get update
E instalamos el paquete VirtualBox. La última versión disponible a día de hoy es la 4.3:
# apt-get install virtualbox-4.3
Por último, descargamos el VirtualBox Extension Pack correspondiente a la versión que estamos instalando desde https://www.virtualbox.org/wiki/Downloads:
# wget http://download.virtualbox.org/virtualbox/4.3.18/Oracle_VM_VirtualBox_Extension_Pack-4.3.18-96516.vbox-extpack
Este paquete nos proporciona soporte para dispositivos USB 2.0, RDP y PXE para tarjetas de red intel. Cuando lo hayamos descargado, no tenemos más que instalarlo:
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.18-96516.vbox-extpack --replace
Si todo ha ido bien, veréis el progreso de la instalación:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
Publicado por primera vez en http://enavas.blogspot.com.es

jueves, 23 de octubre de 2014

Script para borrar las credenciales de usuario cacheadas en portátiles

Para hacer algo más de limpieza desde el script /root/S99primer-arranque, es interesante borrar las credenciales de usuarios cacheadas en portátiles.

Para realizar dicha limpieza, tengo un script /usr/local/sbin/removecachedcredentials al que llamo desde el script S99primer-arranque.  De este modo, puedo limpiar también las credenciales en cualquier momento, no sólo en el inicio:
#!/bin/bash

# Instalamos libpam-ccreds si no estaba instalado
dpkg -l | grep ^"ii  libpam-ccreds" > /dev/null || apt-get -y install libpam-ccreds

for usuario in `cc_dump |awk '{print $3}' | sed '1,2d'`; do
    cc_test -update any $usuario -
done

Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 22 de octubre de 2014

Iso de Clonezilla + DRBL para montar en pendrive/disco duro USB

En el siguiente enlace dejo una ISO muy interesante, sobre todo para los administradores de centros, en la que he montado Clonezilla y DRBL:

Si os preguntáis por qué monto ambas herramientas, la razón es muy sencilla: Habitualmente uso clonezilla para crear y restaurar imágenes, pero cuando tengo que clonar de forma masiva, utilizo DRBL para restaurar imágenes en modo multicast.
 
Ajustes que le he realizado:
  • El filesystem.squashfs de DRBL se aloja en el directorio live y el filesystem.squashfs de Clonezilla se encuentra ubicado en el directorio live-hd. De este modo, es posible tener ambas herramientas en el mismo dispositivo.
  • Se establece por defecto el idioma español tanto para la interfaz como para el teclado. Con ésto evitamos tener que seleccionar el idioma en el asistente de clonación cada vez que lo usemos.
  • Se fija como directorio de imágenes el /home/partimag del dispositivo para ambas herramientas y se monta en modo lectura/escritura con el fin de que se use tanto para salvar/restaurar imágenes en ambas herramientas.
Para montar la ISO en el pendrive podéis usar tuxboot, o hacer el dispositivo arrancable de forma manual y copiar el contenido.
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 21 de octubre de 2014

Convertir en arrancable un pendrive/disco duro USB

Si tenemos un pendrive o disco duro usb con formato fat32 podemos convertirlo en un dispositivo de arranque sin formatearlo utilizando herramientas del sistema operativo. Veamos cómo:

Para empezar, instalamos las herramientas que vamos a necesitar, si no las tenemos instaladas ya:
# apt-get install syslinux parted
Supongamos que introducimos el pendrive/disco en nuestro ordenador y ejecutamos:
# fdisk -l
Con ello comprobamos que el pendrive/disco se encuentra identificado como /dev/sdb con una partición /dev/sdb1. Tomad nota del resultado del comando. Podría ser que tuviéramos más dispositivos conectados y la identificación sea diferente.
Ejecutamos:
# syslinux -i /dev/sdb1
A continuación copiamos el mbr al dispositivo:
# dd conv=notrunc bs=440 count=1 if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
Y definimos la partición 1 como arrancable:
# parted /dev/sdb set 1 boot on
Una vez hecho ésto, el dispositivo será iniciable y podemos copiarle el contenido de clonezilla, drbl, system rescue, etc... o la herramienta que queramos montar. 

Como ya he dicho, no es necesario formatear el dispositivo para hacerlo arrancable, pero si tuviérais que formatearlo, también podríais hacerlo mediante un comando:
mkfs.vfat -F 32 /dev/sdb1
Por último, decir que si al arrancar el ordenador con el pendrive/disco os dá un error como el siguiente: "Failed to load COM32 file vesamenu.c32", probablemente sea porque la versión de los ficheros com32 no coincide con la de isolinux.sys. En cuyo caso, deberéis asegurar que coincida. Si habéis utilizado los comandos del sistema operativo, los ficheros com32 se encuentran almacenados en la siguiente ubicación: /usr/lib/syslinux/modules/bios/ Copiadlos desde allí a vuestro dispositivo.



Publicado por primera vez en http://enavas.blogspot.com.es

sábado, 18 de octubre de 2014

Instalar Google Chrome desde los repositorios de Google en Debian Wheezy


Instalar Google Chrome desde los repositorios de Google es muy sencillo. Vamos a verlo paso a paso para que quede muy claro:

Primero.- Añadimos la dirección del repositorio a los archivos de fuentes:
# echo "deb http://dl.google.com/linux/chrome/deb/ stable main
" > /etc/apt/sources.list.d/google-chrome.list
Segundo.- Descargamos la clave pública del repositorio:
# gpg --keyserver keys.gnupg.net --recv-key A040830F7FAC5991 
Tercero.- Añadimos la clave pública del repositorio al anillo de claves:
# gpg --export --armor A040830F7FAC5991 | apt-key add - 
El anillo de claves se guarda en el archivo /etc/apt/trusted.gpg

Cuarto.- Actualizamos los índices de los repositorios:
# apt-get update
Quinto.- Instalamos Google Chrome:
# apt-get install google-chrome-stable
Publicado por primera vez en http://enavas.blogspot.com.es

Ubuntu 14.04 "olvida" los ajustes multimonitor

Abandoné Ubuntu ya hace algunos años y hace mucho tiempo que no lo usaba, pero ahora que lo estoy viendo en las máquinas de los ciclos y me he encontrado ya algunos bugs y unas cuantas cosas que no me gustan, decididamente me quedo con Debian.

Uno de los bugs de la versión 14.04 consiste en que Ubuntu "olvida" los ajustes multimonitor. Bueno, mejor dicho,  no es que olvide los ajustes, porque en realidad sí los guarda en el archivo de configuración: ~/.config/monitors.xml. Lo que sucede es que no lee la configuración de este archivo en el inicio.

Se me ocurren dos posibles soluciones:

1.- Matar el proceso gnome-settings-daemon desde uno de los scripts de inicio del sistema. Por ejemplo desde /etc/rc.local:
 pkill -9 -f gnome-settings-daemon

2.- Establecer la configuración multimonitor en cada arranque en /etc/rc.local mediante el comando xrandr.
Publicado por primera vez en http://enavas.blogspot.com.es

Paquetes de Plank 0.7.1 para Debian Wheezy

Plank es un dock escrito en el lenguaje de programación Vala que me gusta mucho por ser ligero y sencillo, pero que además tiene un añadido muy interesante para mí: Se configura modificando el siguiente fichero en el home del usuario: ~/.config/plank/dock1/settings
La ventaja de ésto es que puedo gestionar las configuraciones de los usuarios de una manera muy sencilla desde la línea de comandos o desde scripts.
Como ya no existen los repositorios de paquetes para Debian Wheezy, he compilado la versión 0.7.1 a partir del código fuente alojado en https://launchpad.net/plank/+download y he creado los paquetes mediante checkinstall.
Aquí dejo las versiones de 32 y 64 bits de los paquetes:
 Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 17 de octubre de 2014

Instalación del compilador de Vala desde el código fuente

Hoy he ido a compilar el dock Plank, para lo que se necesita el compilador Valac y al tratar de hacerlo, recibía un mensaje de que la versión de Valac instalada era demasiado antigüa. Así que, antes de nada, he tenido que descargar el código fuente y compilarlo. 

Primero.- Descargamos la versión de Vala que queramos desde la siguiente dirección: http://ftp.gnome.org/pub/GNOME/sources/vala/

Segundo.- El archivo a descargar está comprimido con xz, así que lo descomprimimos. Por ejemplo, suponiendo que he descargado la última versión disponible a día de hoy, la descomprimo:
$ xz --decompress vala-0.26.1.tar.xz
$ tar xfv vala-0.26.1.tar
Tercero.- Una vez descomprimido, se crea un directorio: vala-0.26.1. Por ser un poco organizado, tengo por costumbre copiar todo lo que compilo desde código fuente en /usr/src:
$ cp -r vala-0.26.1 /usr/src
Cuarto.- Entramos dentro del directorio:
$ cd vala-0.26.1
Quinto.- Configuramos y compilamos:
$ ./configure --prefix=/usr
$ make 
Sexto.- Si el proceso de compilación no ha ido bien (make), prrobablemente sea porque nos falta alguna dependencia por instalar. Si es así, la instalamos y volvemos a ejecutar el comando make hasta que se produzca una compilación completa.
Séptimo.-  Si el proceso de compilación ha finalizado correctamente, instalamos:
$ make install
Octavo.- Por último, comprobamos que se ha realizado bien la instalación:
$ valac --version
Como hemos instalado la versión 0.26.1, la salida del comando debería ser:
Vala 0.26.1
Y eso es todo. Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 15 de octubre de 2014

Method http has died unexpectedly! al hacer "apt-get update"

No sé por qué, aunque supongo que se deberá a la actualización de alguno de los paquetes del sistema, cada vez que trataba de hacer un "apt-get update" o un "aptitude update" obtenía el siguiente error:

E: Method http has died unexpectedly!
E: El subproceso http recibió un fallo de segmentación.
Depués de muchas pruebas, buscar y rebuscar, me dí cuenta de que el error no sucedía si arrancaba en "recovery mode". Al final, el error lo causaba el demonio de caché para el servicio de nombres nscd.

Ahora mismo no necesito este demonio, pero por si acaso lo me hiciera falta, lo he sustituido por unscd:
# apt-get remove nscd unscd+
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 14 de octubre de 2014

El shell de linux: Abrir o cerrar el CDROM desde la línea de comandos

Si habéis leído el post en el que mostraba un script para expulsar el CD/DVD cuando el usuario cierra su sesión, os habréis dado cuenta de que para expulsar el disco uso el comando eject de la siguiente manera:
# eject /dev/cdrom
Si en lugar de expulsarlo, lo que queréis es cerrar la bandeja, tan sólo tenéis que ejecutar el comando anterior con el parámetro -t:
# eject -t /dev/cdrom
Publicado por primera vez en http://enavas.blogspot.com.es

domingo, 12 de octubre de 2014

MultCloud: Gestiona tus servicios de almacenamiento en la nube desde un único lugar

Probablemente, como suele ser bastante habitual, tendréis varios servicios de almacenamiento en la nube: Box, Dropbox, Google Drive, etc... Si es así, os recomiendo usar MultCloud, un servicio online que os permitirá organizarlos y gestionarlos desde un único lugar:

Con MultCloud, además de agrupar diferentes cuentas de diferentes servicios, podréis tener diferentes cuentas de un mismo servicio, algo bastante interesante, que en particular suelo usar para copiar archivos entre mis cuentas personales y de Google Apps.

Por otra parte, insistir en que es un servicio que os recomiendo utilizar porque no sólo tendréis un único punto de entrada para todos vuestros servicios de almacenamiento, sino que también podréis copiar, mover, etc.. archivos entre ellos.
Publicado por primera vez en http://enavas.blogspot.com.es

Compartir impresora en red usando un viejo router ARV4518PW

Para tener disponible nuestra impresora en red y evitar mantener encendido un ordenador para compartirla podemos usar un router wifi con puerto USB, que cosume bastante menos energía. 

Yo he aprovechado un viejo router ARV4518PW que tenía guardado en una caja ya que tiene puerto USB y además permite usarlo como servidor de impresión, servidor web, servidor ftp o servidor de archivos, pero podéis hacerlo con cualquier otro router con OpenWRT.

Como se puede ver en la siguiente imagen, le he conectado una impresora HP LaserJet 6L, he activado utilizar la funcionalidad USB y me la ha detectado perfectamente:


Por si alguien me pregunta, os diré que esta impresora tan sólo tiene conexión de puerto paralelo, pero le tengo conectado un conversor de puerto paralelo <-> usb.

Para configurar esta impresora en mi equipo Debian, lo único que tengo que hacer es abrir el navegador, conectarme al localhost en el puerto 631, y agregar la impresora de red, configurando la conexión como puede verse en la siguiente imagen:

Publicado por primera vez en http://enavas.blogspot.com.es

sábado, 11 de octubre de 2014

Script dvdject para evitar que el usuario olvide el disco

En ocasiones, algunos usuarios olvidan el disco en la unidad de DVD y cuando llega el siguiente usuario, no puede extraer el disco porque al no haberlo montado él, el sistema no se lo permite.

La solución por la que he optado para resolver el problema ha sido colocar un script en /usr/local/bin/ al que he llamado dvdeject que se inicia cuando el usuario cierra su sesión, comprueba si el CD/DVD está montado y si lo está, lo expulsa. 

Como podéis comprobar, el script es muy sencillo:

#!/bin/bash
#
# Este script se pone en marcha desde /etc/gdm3/PostSession/Default
# 
# Su función es expulsar el CD/DVD introducido por el usuario al cerrar la sesión
# Soluciona el problema de que un usuario se olvide el CD/DVD que ha usado
# 
# Esteban M. Navas Martín
# 27/05/2014

montado=$(mount|grep "/dev/sr"|cut -f1 -d" ")

if [ $montado ]; then
   eject $montado
fi

Podéis descargarlo desde aquí.

Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 8 de octubre de 2014

Problemas con la wifi en portátiles ttl suministrados para la FP Básica

Por si no teníamos ya bastante trabajo,  ahora nos está dando problemas la wifi de los portátiles ttl que nos enviaron para la FP Básica. Supongo que muchos compañeros no han detectado aún el problema porque no los han puesto en funcionamiento. Para colmo también nos han enviado estos mismos portátiles para el ciclo de Desarrollo de Aplicaciones Multiplataforma.

La cuestión es que estos portátiles sufren continuas desconexiones de la red wifi y, en la mayor parte de las ocasiones es imposible volver a reconectar, a menos que reiniciemos el portátil. Hemos probado con Debian, Ubuntu y Windows y en todos ellos se producen dichas desconexiones.

Estos portátiles llevan una inalámbrica con chipset RTL8723BE. En algunos foros dicen que este problema está resuelto en kernels >= 3.15. Por lo tanto, la siguiente prueba que estoy realizando es instalar el kernel 3.15 que en wheezy se encuentra en los repositorios de backports y por lo que he podido ver, nuestros compañeros de la Sección de Administración de Sistemas lo han subido al repositorio interno.

Ver post más reciente: http://enavas.blogspot.com.es/2015/05/problemas-con-la-wifi-con-chipset.html
Publicado por primera vez en http://enavas.blogspot.com.es

martes, 7 de octubre de 2014

Clonezilla: Restaurar una imagen de un disco en otro más pequeño

Para no trabajar de forma innecesaria, tengo por costumbre aprovechar las imágenes de clonación que haya en un momento determinado para adaptarlas a otras máquinas. Por ejemplo: Siempre creo la imagen para los workstations de departamentos, sala de profesores, sala de visitas, etc... a partir de la imagen de portátiles.

El problema que hay es que la imagen se crea para un disco duro más grande y no es posible restaurarlo en equipos con disco más pequeño. Lo que hago en este caso es:
  • Restaurar la imagen en una máquina con un disco duro lo suficientemente grande para que clonezilla me permita realizar la clonación.
  • Una vez restaurada, reduzco el tamaño de las particiones para que quepan en el disco más pequeño con gparted.
  • Si no hay otra opción, elimino las particiones que no sean estrictamente necesarias, y retoco los ficheros de configuración, como por ejemplo: fstab.
  • Por último, vuelvo a crear la imagen.
  • Restauro la imagen creada en el disco más pequeño, utilizando la opción -icds que evita el chequeo del tamaño del disco de destino.

 
  • Una vez que tengo la imagen en el disco más pequeño, la inicio para comprobar que funciona sin ningún problema y, si todo ha ido bien, vuelvo a crear la imagen del disco más pequeño.
    Publicado por primera vez en http://enavas.blogspot.com.es

viernes, 3 de octubre de 2014

Limpiar las credenciales cacheadas de los usuarios de una máquina

En enero de 2012 escribí un post donde explicaba cómo gestionar las credenciales cacheadas de un usuario en un portátil.

Cuando hacemos limpieza en un momento dado, como por ejemplo, en el script de inicio primer-arranque, sería conveniente limpiar las credenciales de usuario cacheadas previamente.

El siguiente script  obtiene un listado de todas las credenciales cacheadas y las elimina:


#!/bin/bash

# Instalamos libpam-ccreds si no estaba instalado
dpkg -l | grep ^"ii  libpam-ccreds" > /dev/null || apt-get -y install libpam-ccreds
for usuario in `cc_dump |awk '{print $3}' | sed '1,2d'`; do
    cc_test -update any $usuario -
done
Publicado por primera vez en http://enavas.blogspot.com.es

miércoles, 1 de octubre de 2014

Utilizar autofs para montar un directorio compartido vía nfs

Ya que hace poco me han preguntado acerca del tema y aprovechando que acabo de hacer algo así para montar los directorios compartidos del NAS de los ciclos, voy a explicar cómo montar un directorio compartido vía nfs utilizando autofs.

Autofs nos permite montar sistemas de archivos locales y remotos bajo demanda y desmontarlos automáticamente cuando no se usen. ¿Qué quiero decir con bajo demanda? Pues simplemente que los sistemas de archivos se van a montar cuando el usuario acceda a ellos y se desmontarán después de un tiempo de inactividad.

Supongamos que tenemos un NAS en la máquina con IP 192.168.2.10 que exporta un directorio /mnt/Repo mediante nfs y queremos que éste directorio se encuentre disponible para las máquinas de nuestra red local. Lo que tendríamos que hacer sería configurar autofs en cada máquina para que acceda a dicho directorio.

Ésto es algo que podemos configurar de una manera muy sencilla mediante puppet, pero veamos cómo hacerlo manualmente para montar un sistema de archivos compartido vía nfs en una máquina:

Primero, instalamos autofs en el cliente:
# apt-get install autofs

Una vez instalado, editamos el archivo /etc/auto.master y le añadimos la siguiente línea:
/nfs /etc/auto.nas --timeout=60
Si no hemos configurado nada aún en autofs, el fichero os quedará más o menos así:
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
#/misc  /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#       "nosuid" and "nodev" options unless the "suid" and "dev"
#       options are explicitly given.
#
#/net   -hosts
#
# Include /etc/auto.master.d/*.autofs
#
+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master
/nfs /etc/auto.nas –timeout=60
Con ésto, estamos especificando un punto de montaje en /nfs, que configuraremos en el archivo /etc/auto.nas. Por cierto, el directorio de montaje no es necesario crearlo. Lo crea autofs de forma automática.

A continuación creamos el archivo /etc/auto.nas con el siguiente contenido:

nas -fstype=nfs,rw,hard,intr,nodev,nosuid,nolock,rsize=8192 192.168.2.10:/mnt/Repo
Donde:
  • nas es el punto de montaje.
  • -fstype=nfs,rw,hard,intr,nodev,nosuid,nolock,rsize=8192 son las opciones de montaje.
  • 192.168.2.10:/mnt/Repo es el directorio nfs de la máquina remota que queremos montar.
De este modo, cuando el usuario acceda a /nfs/nas, se realizará automáticamente el montaje.

Para facilitar la tarea de montaje, es interesante crear un marcador en Nautilus, de tal manera que podamos acceder directamente al recurso compartido, haciendo clic directamente sobre él.
Publicado por primera vez en http://enavas.blogspot.com.es