29 abr 2014

Actualizar imagen ISO de Debian mediante jigdo

Como ya vimos en un post anterior, Jigdo es una de las mejores formas de descargar imágenes ISO de Debian. 

Aprovechando que en aquél post vimos cómo descargar la ISO de Debian 7.4.0, en este post, vamos a ver cómo actualizarla a la versión 7.5.0, algo que requerirá mucho menos tiempo, puesto que tan sólo tendrán que descargarse las variaciones de paquetes.

Lo primero que haremos será ir a la página de descargas:

 

Por si no lo recordáis, en aquél post descargamos la siguiente ISO: debian-7.4.0-amd64-CD-1.iso

Como entonces descargamos el primer CD de amd64, hacemos clic en amd64:


Con lo que accederemos a la página de descargas:


Como podéis ver, he marcado en un rectángulo los dos archivos que tenemos que descargar.

A continuación nos conectamos a la máquina donde tenemos guardada la ISO, nos situamos en el directorio donde está almacenada y descargamos ambos archivos:

root@recursos:/root# cd /var/www/descargas/isos 
root@recursos:/var/www/descargas/isos# wget http://cdimage.debian.org/debian-cd/7.5.0/amd64/jigdo-cd/debian-7.5.0-amd64-CD-1.jigdo
root@recursos:/var/www/descargas/isos# wget http://cdimage.debian.org/debian-cd/7.5.0/amd64/jigdo-cd/debian-7.5.0-amd64-CD-1.template

Una vez descargados, montamos la imagen de la versión anterior en un directorio, por ejemplo /mnt:

root@recursos:/var/www/descargas/isos# mount -o loop debian-7.4.0-amd64-CD-1.iso /mnt/

Y ejecutamos jigdo-lite, pasándole como parámetro el archivo .jigdo:

root@recursos:/var/www/descargas/isos# jigdo-lite debian-7.5.0-amd64-CD.1.jigdo

Lo primero que nos preguntará el programa es si tenemos una imagen antigua para actualizarla:


Si os dáis cuenta, hemos montado la imagen antigua en el directorio que nos ofrece por defecto jigdo-lite a propósito.  Y si leéis lo que dice, comprobaréis que nos pide que introduzcamos el dígito correspondiente a las opciones que nos ofrece. En este caso sólo nos ofrece una opción 1: /mnt, que es donde hemos montado la imagen. Así que escribimos 1 y pulsamos ENTER.

La aplicación comprobará qué archivos se encuentran en el directorio de la imagen y cuáles no se encuentran:


Cuando termine, volverá a preguntarnos si tenemos otro directorio donde pueda localizar nuevos archivos para añadirlos a la ISO sin tener que descargarlos de internet. Como no tenemos más, pulsamos ENTER.

A continuación nos ofrecerá como mirror de descarga el que usamos en la anterior ocasión y nos dará la posibilidad de cambiarlo:


Pulsamos ENTER para que trate de descargarlo desde nuestro propio mirror. Al fin y al cabo, si no encontrase los paquetes, los descargaría desde una de las réplicas oficiales de Debian.

Y comenzará el proceso de descarga de paquetes para construir la ISO. Cuando termine el proceso de descarga, creará la imagen y comprobará si ha sido generada correctamente:


Como podéis comprobar, en nuestro ejemplo jigdo ha tenido que descargar muy pocos paquetes y ha generado la imagen en menos de un minuto.

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

28 abr 2014

DIY chalkboard mugs - Taza Pizarra

Las tazas son uno de mis objetos preferidos, me he dado cuenta que tengo muchísimas.
Por ejemplo:
Con mi nombre, personalizadas, de dibujitos, miniaturas, transparentes, etc.
Debe ser también porque tomo bastante café y si a esto le sumamos mi pequeña manía de echarle spray a todo, como resultado tenemos este tutorial.
Me gusta mucho la idea de personalizar tazas (por eso es que me encanta demasiado esta pagina: Withtheeyesclosedperu ) y que más divertido que una taza donde podamos dibujar siempre!

Eso es lo genial de la taza pizarra!

Para realizara solo necesitamos:

Materiales:
  • Spray textura de pizarra. (Lo pueden encontrar en ferreterías, lo compré en Sodimac)
  • 1 Taza.
  • Papel y cinta masking tape.
  • Tizas


Pueden hacer diversos dibujos, solo deben cubrir la parte que no van a pintar.

Aquí pueden ver el tutorial paso a paso:
Video Tutorial: 

Vine de la taza pizarra! 


Para volver a escribir o dibujar pueden borrarlo con una tela seca o húmeda.

Detalle de como queda al utilizarla.


Tips:
  • Lo recomendable es dejar secar bien la pintura, para que se pueda adherir bien a la superficie de la taza ( para sacar el papel y la cinta:1 hora como mínimo y para usarla un par de días)
  • La taza al ser de un material "resbaloso" (disculpen mi termino jaja) tipo porcelana o vidrio, hace más difícil que la pintura se impregne a la superficie, a diferencia de la madera, pared, etc.
  • Pero lo bueno es que raspando podemos corregir imperfecciones al momento de pintar!
  • Cuando lavemos la taza hay que ser cuidadosos para no raspar la pintura.


No se olviden de seguirme y ver los avances de los tutoriales e imágenes bonitas
            

Montar un mirror ldap en una Raspberry Pi

Ahora que tengo el servicio ldap replicado en los dos servidores principales del centro, tengo mayor de seguridad de que mis servicios van a tener una alta disponibilidad. No obstante, estaba pensando que podría dar una vuelta de tuerca más y montar un mirror ldap en una Raspberry Pi. De este modo, si por alguna razón, ninguno de los servidores ldap funcionara, podría poner en marcha la Raspberry para mantener el servicio mientras solucionara los problemas en el servidor principal.

Como ya dispongo de un mirror ldap en el servidor nfs del centro, la tarea es muy sencilla:

Primero.- Instalamos los paquetes slapd, ldap-utils y phpldapadmin y se instalarán además todas sus  dependencias.
root@raspberrypi:~# apt-get -y install slapd ldap-utils phpldapadmin

Segundo.- Paramos el servicio:
root@raspberrypi:~# service slapd stop

Tercero.- Copiamos el fichero de configuración del servidor de réplica "servidor":
root@raspberrypi:~# scp root@servidor:/etc/ldap/slapd.conf /etc/ldap/

Cuarto.- Copiamos los esquemas:
root@raspberrypi:~# scp -r root@ldap:/etc/ldap/schema /etc/ldap/
Esto lo hago porque utilizamos algunos esquemas que no vienen incluidos por defecto.

Quinto.- Modificamos el identificador de la réplica en el fichero /etc/ldap/slapd.conf para que no coincida:
syncrepl rid=3
provider=ldap://ldap
searchbase="dc=instituto,dc=extremadura,dc=es"
type=refreshOnly
interval=00:00:02:00
retry="60 10 300 +"
filter="(objectClass=*)"
scope=sub
attrs="*,+"
sizelimit=unlimited
timelimit=unlimited
schemachecking=off
bindmethod=simple
starttls=yes
tls_reqcert=never
binddn="cn=replica,dc=instituto,dc=extremadura,dc=es"
credentials=password-usuario-replica
updateref       ldap://ldap

Sexto.- Copiamos el fichero /etc/ldap/rootDSE-linex.ldif desde el servidor ldap:
root@raspberrypi:~# scp root@ldap:/etc/ldap/rootDSE-linex.ldif /etc/ldap/

Séptimo.- En el fichero de configuración se hace referencia a los certificados para usar ldap con ssl. Creamos el directorio ssl y copiamos en él los ficheros ldap-server-pubkey.pem, mkslapdcert y  slapd-cert.cnf desde el servidor ldap:
root@raspberrypi:~# mkdir /etc/ldap/ssl
root@raspberrypi:~# scp root@ldap:/etc/ldap/ssl/ldap-server-pubkey.pem /etc/ldap/ssl/
root@raspberrypi:~# scp root@ldap:/etc/ldap/ssl/mkslapdcert /etc/ldap/ssl/
root@raspberrypi:~# scp root@ldap:/etc/ldap/ssl/slapd-cert.cnf /etc/ldap/ssl/

Octavo.- Ejecutamos mkslapdcert para crear un certificado:
root@raspberrypi:~# /etc/ldap/ssl/mkslapdcert

Noveno.- Modificamos el archivo /etc/default/ldap para especificar que el archivo de configuración de ldap es /etc/ldap/slapd.conf al principio del archivo:
# Default location of the slapd.conf file or slapd.d cn=config directory. If
# empty, use the compiled-in default (/etc/ldap/slapd.d with a fallback to
# /etc/ldap/slapd.conf).
SLAPD_CONF=/etc/ldap/slapd.conf

Décimo.- Por último, arrancamos el servicio ldap:
root@raspberrypi:/etc/ldap# service slapd restart

Y, si todo ha ido bien, se replicará la base de datos. Podéis comprobarlo viendo cómo se modifica el contenido del directorio /var/lib/ldap/, por ejemplo:
root@raspberrypi:~# watch ls -l /var/lib/ldap
Publicado por primera vez en http://enavas.blogspot.com.es

25 abr 2014

Raspberry Pi como gestor de descargas torrent con Transmission

En un post anterior, hemos visto cómo convertir nuestra Raspberry Pi en un gestor de descargas directas con pyLoad. En este post, vamos a ver cómo convertirlo en un gestor de descargas torrent usando Transmission.



Hay mucha gente que deja su ordenador encendido continuamente para realizar descargas. Un ordenador de sobremesa tiene un consumo entre 350W y 500W. En cambio, una Raspberry consume tan sólo 3.5W. Si realizáis algunos cálculos, al precio que tiene la electricidad hoy en día, ¿no creéis que merece la pena sustituir el ordenador como herramienta de descargas por una Raspberry?

Bueno, pues vamos al tema...

Como los paquetes de transmission se encuentran en los repositorios, lo primero que vamos a hacer es una actualización de índices:

# apt-get update

Una vez actualizados, instalamos el paquete:

# apt-get install transmission-daemon

Con ésto, instalaremos el paquete transmission-daemon y todas sus dependencias:


Le respondemos que sí queremos continuar y comenzará el proceso de instalación. Cuando termine, iniciará automáticamente el servicio, como podéis ver en la siguiente imagen:


Si conectáis un disco duro vía usb para guardar los archivos descargados, el sistema operativo de la Raspberry lo detectará automáticamente y lo montará normalmente por el nombre de la etiqueta del disco. Por ejemplo, si mi disco usb tiene como etiqueta MULTIMEDIA, la Raspberry lo montará en /media/MULTIMEDIA.

El siguiente paso que daremos será crear la estructura de carpetas en el disco duro:

# mkdir /media/MULTIMEDIA/transmission
# mkdir /media/MULTIMEDIA/transmission/done
# mkdir /media/MULTIMEDIA/transmission/incomplete

A continuación, paramos el servicio para poder modificar el archivo de configuración:

# /etc/init.d/transmission-daemon stop

Y configurar, como mínimo, los ajustes que os resalto en color amarillo en el archivo /var/lib/transmission-daemon/info/settings.json:

# nano /var/lib/transmission-daemon/info/settings.json

{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/media/MULTIMEDIA/transmission/done",
"download-limit": 100,
"download-limit-enabled": 0,
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/media/MULTIMEDIA/transmission/incomplete",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"max-peers-global": 200,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": false,
"preallocation": 1,
"prefetch-enabled": 1,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "raspberry",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "pi",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-limit": 100,
"upload-limit-enabled": 0,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}

Como podéis observar, hemos establecido los directorios de descarga, el usuario que tendrá acceso al interfaz web y su contraseña.

En cuanto a la password por defecto es: transmission. Se encuentra cifrada.  Podéis cambiarla sin ningún problema, escribiéndola en claro entre las comillas y cuando volváis a iniciar el servicio, se cifrará.

Si os dáis cuenta, hay muchos parámetros de configuración que podemos ajustar.

Una vez realizados los cambios de configuración, iniciamos el servicio:

# /etc/init.d/transmission-daemon start

A continuación vamos a comprobar que podemos acceder al intefaz web indicando la IP o el nombre del servidor seguido del puerto de escucha: 9091
http://ipServidor:9091


Introducimos el usuario y la password que hayamos establecido en el fichero de configuración, pulsamos el botón Aceptar y estaremos dentro:



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

Configurar PowerDNS en los centros para tener acceso a las aplicaciones de la Intranet del Gobierno de Extremadura

En nuestras instalaciones utilizamos PowerDNS, un servidor DNS OpenSource cuyas funciones están separadas básicamente en dos componentes clave: El servidor autoritativo (pdns-server) y el recursor (pdns-recursor). Además usamos ldap como backend (pdns-backend-ldap).

Para acceder a las aplicaciones de la Intranet del Gobierno de Extremadura, podemos realizar diferentes configuraciones en diferentes lugares, ya sea en los servidores DNS o en los propios clientes. Os voy a contar la configuración que considero más óptima y que tengo establecida en mi centro.

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
Con ésto garantizo que se resolverán los nombres de los equipos de mi centro y las páginas de internet.

Por otro lado, en el fichero de configuración del recursor /etc/powerdns/recursor.conf  tengo definido que las consultas de la zona gobex.pri sean redirigidas a los servidores DNS 172.20.5.4, 172.20.5.3:
forward-zones=gobex.pri=172.20.5.4;172.20.5.3,juntaextremadura.pri=172.16.1.28
De este modo, los servidores DNS 172.20.5.4, 172.20.5.3 y 172.16.1.28 resolverán los servicios de Intranet, como por ejemplo:
  • http://alfresco.gobex.pri
  • http://gtp.gobex.pri
  • http://fichajeap.juntaextremadura.pri
  • https://x-webportal.gobex.pri
  • etc...
Publicado por primera vez en http://enavas.blogspot.com.es

24 abr 2014

Replicar el servicio ldap del servidor "ldap" en el servidor "servidor"

Como ya comenté en un post anterior, repliqué el servicio ldap del servidor "ldap" en el servidor "servidor" de mi centro, configuré el dhcp en modo failover y monté el servidor dns replicado en el servidor "servidor" para lograr una mayor seguridad y una alta disponibilidad de servicios.

Como la base de todos estos cambios está en crear una réplica del servidor "ldap" (ldap master) en el servidor "servidor" (ldap slave), vamos a ver qué cambios hay que realizar para replicar el servicio mediante syncrepl.

Configuración del ldap master (servidor "ldap"):
Lo primero que tenéis que hacer es aseguraros de que tenéis las siguientes líneas en el fichero de configuración /etc/ldap/slapd.conf del ldap master:

moduleload syncprov
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 200
Estas líneas convierten el servidor ldap en un proveedor.

Por otra parte, aseguraos de que entre las opciones de indexado de la B.D. existe la siguiente:
index           entryCSN,entryUUID eq

Y que entre las reglas de acceso a los atributos restringidos, hay permiso de lectura para el usuario replica, un usuario que usamos única y exclusivamente para esta tarea:
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,ou=People,dc=instituto,dc=extremadura,dc=es" write
by dn="cn=replica,dc=instituto,dc=extremadura,dc=es" read
by anonymous auth
by self =xw
by * none

access to attrs=employeeNumber,jpegPhoto
by dn="cn=replica,dc=instituto,dc=extremadura,dc=es" read
by dn="cn=interno,dc=instituto,dc=extremadura,dc=es" read
by self read

Configuración del ldap slave (servidor "servidor"):
En el servidor ldap, lo primero que habrá que hacer es instalar los paquetes slapd, ldap-utils y phpldapadmin.

Una vez instalados los paquetes, vamos a necesitar tener la misma configuración que en el otro servidor, así que lo mejor que podemos hacer es copiar el archivo slapd.conf y el directorio schema desde el servidor "ldap" al servidor "servidor". Así nos aseguramos de que tenemos la misma configuración y los mismos esquemas.

Bien, pues una vez hecho ésto, editamos el archivo /etc/ldap/slapd.conf y le añadimos las siguientes líneas:

syncrepl rid=1
provider=ldap://ldap
searchbase="dc=instituto,dc=extremadura,dc=es"
type=refreshOnly
interval=00:00:02:00
retry="60 10 300 +"
filter="(objectClass=*)"
scope=sub
attrs="*,+"
sizelimit=unlimited
timelimit=unlimited
schemachecking=off
bindmethod=simple
starttls=yes
tls_reqcert=never
binddn="cn=replica,dc=instituto,dc=extremadura,dc=es"
credentials=clave-del-usuario-replica
updateref ldap://ldap

Con ésto, lograremos que el ldap slave replique la B.D. del ldap master.

No voy a entrar en detalle sobre todos los parámetros. Todos son importantes, pero tan sólo contaremos los principales:

  • syncrepl rid=1 Identificamos la réplica. Por lo que he leído, cada réplica debe llevar un número diferente.
  • provider=ldap://ldap Indicamos quién es el proveedor del que se va a obtener la B.D.
  • searchase="dc=insituto,dc=extremadura,dc=es" Nos permite indicar la raiz desde donde realizar búsqueda para hacer la réplica.
  • type=refreshOnly Con esta opción le decimos al ldap slave que realice la réplica y no vuelva a realizarla hasta que pase un intervalo de tiempo especificadon mediante el parámetro interval
  • interval=00:00:02:00 Esta opción se usa conjuntamente con el tipo de sincronización refreshOnly para que vuelva a realizarse una sincronización tras el intervalo de tiempo especificado en formato dias:horas:minutos:segundos. En este caso, estamos diciendo que vuelva a realizar la sincronización cada 2 minutos.
  • binddn="cn=replica,dc=instituto,dc=extremadura,dc=es" nos permite indicar con qué usuario se debe realizar la operación de sincronización.
  • credentials=clave-del-usuario-replica nos permite indicar la clave del usuario con el que se realiza la operación de sincronización.
Bien, pues ahora que ya hemos configurado el archivo /etc/ldap/slapd.conf, establecemos el propietario y grupo del directorio /var/lib/ldap a openldap:openldap

# chown -R openldap:openldap /var/lib/ldap

Por último, reiniciamos los servicios ldap de ambos servidores y comprobamos que los cambios del master se han replicado en el slave.

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

Detectar entradas no válidas en los ficheros de pkgsync

Como ya vimos en un post anterior, pkgsync es una herramienta muy útil para mantener una uniformidad en el software instalado en las máquinas que administramos manteniendo tres archivos con listas de ficheros de paquetes que la máquina debe tener (musthave), paquetes que puede tener (mayhave) y paquetes que no debe tener (maynothave). 

A veces, estos ficheros pueden contener paquetes que han dejado de existir en los repositorios y al ejecutar pkgsync véis líneas como éstas:

No se puede encontrar ningún paquete cuyo nombre o descripción coincida con "python2.4-cairo"

No se puede encontrar ningún paquete cuyo nombre o descripción coincida con "python2.4-gnome2-extras"
...

Para detectar este tipo de situaciones y detectar los paquetes que tengo en los ficheros de configuración de pkgsync que ya no existen en los repositorios, uso la siguiente combinación de comandos:


# pkgsync -s|grep "No se puede encontrar"|cut -f2 -d"\""|grep -v "^$"|sort -u
Publicado por primera vez en http://enavas.blogspot.com.es

23 abr 2014

Raspberry Pi como servidor de descargas directas con pyLoad

pyLoad es un gestor de descargas directas escrito en python.


Sus principales características son:
  • Es rápido.
  • Es ligero, lo que significa que no tiene grandes requerimientos de hardware.
  • Soporta una gran cantidad de Hosts de descarga: Rapidshare, Freakshare, Depositfiles, Youtube... (ver en su página)
  • Soporta reconocimiento de captchas, reconexión, soporte para servicios premium.
  • Soporta contenedores DLC.
  • Es multiplataforma.
  • Dispone de diferentes tipos de interfaz: web, command line o GUI
  • Y, además, es OpenSource.
Es interesante instalarlo en nuestra Raspberry Pi porque nos va a permitir gestionar nuestras descargas directas en un dispositivo de bajo consumo como es la Raspberry.

Vamos a ver cómo instalarlo en Raspbian, aunque el proceso será básicamente el mismo si usáis cualquier otras distribución basada en Debian, como por ejemplo, Raspbmc.

Para empezar, nos convertirmos en administrador:

# sudo -i

Descargamos la última versión disponible, a día de hoy:

# wget http://download.pyload.org/pyload-cli-v0.4.9-all.deb

Una vez descargado el paquete, lo instalamos:

# dpkg -i pyload-cli-v0.4.9-all.deb

Seguramente, os dará algún error porque dpkg no resuelve automáticamente las dependencias y alguno de los paquetes necesarios no se encontrará instalado aún. No importa. Simplemente ejecutamos el comando apt-get -f install para que se resuelvan las dependencias:

# apt-get -f install 

En mi caso, al realizar la instalación tan sólo faltaba el paquete `python-crypto', que se instaló sin problemas.

Bien. Pues una vez instalado el paquete y sus dependencias obligatorias, vamos a ver qué otros paquetes nos recomienda instalar. Para ello, ejecutamos:

# apt-cache show pyload-cli

El comando anterior nos mostrará una salida como la siguiente:
Package: pyload-cli
Status: install ok installed
Priority: extra
Section: net
Installed-Size: 5320
Maintainer: pyLoad Team
Architecture: all
Version: 0.4.9
Provides: pyload
Depends: python (>= 2.5), python-pycurl, python-crypto
Recommends: unrar, rhino, python-openssl, tesseract-ocr, tesseract-ocr-eng, python-imaging
Conflicts: pyload
Description: pyLoad without GUI dependencies, fast and lightweight Download-Manager
pyLoad is a fast, lightweight and full featured download manager
for many One-Click-Hoster,container formats like DLC,
video sites or just plain http or ftp links.
Homepage: http://pyload.org

Si os fijáis en la parte que os he resaltado en amarillo, el paquete pyload-cli nos recomienda instalar los siguientes paquetes:
  • unrar
  • rhino
  • python-openssl
  • tesseract-ocr
  • tesseract-ocr-eng
  • python-imaging
Vamos a instalar todos ellos mediante apt-get, salvo unrar:

# apt-get install rhino python-openssl tesseract-ocr tesseract-ocr-eng tesseract-ocr-spa python-imaging

Si os dáis cuenta, he instalado también de paso tesseract-ocr-spa.

No he instalado unrar desde los repositorios porque el paquete de los repositorios es unrar-free y será mejor instalar unrar-nonfree, que descomprime mayor número de archivos rar puesto que descomprime también archivos a partir de la versión 3.0. 

Para instalar unrar-nonfree, añadís el repositorio de código fuente, si no lo teníais añadido ya:

# echo "deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi" >> /etc/apt/sources.list

A continuación hacemos un:

# apt-get update

Instalamos las dependencias necesarias para crear el paquete:

# apt-get -y build-dep rar unrar-nonfree

Y creamos el paquete unrar-nonfree a partir del repositorio de código fuente:

# apt-get source -b unrar-nonfree

Cuando termine el proceso, instalamos el paquete:

# dpkg -i unrar_4.1.4-1_armhf.deb

Y borramos el resto de archivos de unrar creados durante el proceso, que ya no vamos a necesitar:

# rm -r unrar-nonfree*

A continuación, dejamos de ser administrador:

# exit

Entramos en el directorio /usr/share/pyload:

$ cd /usr/share/pyload/

Y arrancamos pyload:

$ ./pyLoadCore.py 

Como es la primera vez que lo ejecutamos y no existe el fichero de configuración, se iniciará el asistente de configuración. Lo primero que tendremos que hacer es elegir el idioma del instalador:


Y cuando estemos listos, pulsar ENTER:


Si os fijáis en la imagen anterior, nos recuerda que, una vez configurado pyload, podemos volver a ejecutar el asistente de configuración iniciando pyLoadCore.py con el parámetro --setup o -s:

$ ./pyLoadCore.py -s

Lo primero que hará el asistente será revisar el sistema para comprobar si tenemos todo lo necesario:


Como hemos hecho bien los deberes, nos mostrará todas las características que hemos instalado y que, por tanto, se encuentran disponibles:


Pulsamos ENTER para continuar con el asistente. Nos mostrará la ruta donde se guardará la configuración: /home/pi/.pyload


Como no nos interesa cambiarla, pulsamos ENTER.

A continuación nos preguntará si deseamos realizar la configuración básica:


Pulsamos ENTER para realizarla e introducimos un nombre de usuario y una contraseña con los que vamos a tener acceso vía CLI, GUI y WEB:


Como véis en la imagen anterior, nos ofrece como opción por defecto "Activar acceso remoto". Pulsamos ENTER para aceptarlo. Y, a continuación, elegimos algunas opciones básicas:


A continuación pulsamos ENTER para configurar la interfaz web. Si dejamos la que nos ofrece por defecto (0.0.0.0) escuchará en todas las interfaces. Podemos especificar una dirección IP concreta. Eso sí, nos advierte de que si usamos la dirección de localhost, tan sólo podrá accederse a la interfaz web localmente:


Siguiendo las indicaciones de la pantalla anterior, pulsaremos ENTER para dejar la opción por defecto (usar el servidor web incorporado), y, si por alguna razón no funcionara, podemos volver a esta pantalla de nuevo para configurarlo.

Y con ésto, hemos terminado la configuración:


Pulsamos ENTER para salir del asistente.

A continuación, podemos lanzar de nuevo pyLoadCore en modo daemon:

$ ./pyLoadCore.py --daemon

Y comprobar si funciona, abriendo un navegador en cualquier equipo de nuestra red, indicando la dirección IP de la Raspberry Pi y el puerto de escucha que configuramos: 
http://ipServidor:8000


Por último, introducimos los datos del usuario que especificamos en la configuración:



Y comprobamos que podemos entrar:


Por último, para lograr que pyLoad se inicie automáticamente cada vez que se reinicia la Raspberry, editamos el crontab del usuario:

$ crontab -e

Y añadimos la siguiente línea:


@reboot pyLoadCore –daemon

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

Problema con el botón de encendido/apagado Wireless en HP EliteBook 2530p

El botón de encendido/apagado Wireless del HP EliteBook 2530p es un botón/indicador que permite activar/desactivar los medios wireless, de tal manera que desactiva tanto la tarjeta wifi como el bluetooth.



Este modelo de portátiles siempre ha mostrado algún problema con este botón de encendido/apagado porque en muchas ocasiones el indicador cambiaba de color entre el azul (activado) y el naranja (desactivado), como si se desactivase y activase de una forma muy rápida. El caso es que, por alguna razón, en uno de estos portátiles se desactivó y no ha sido posible volver a activarlo de ninguna manera.

Después de realizar muchas pruebas y buscar información, la única solución que se me ocurrió fue actualizar la BIOS a la última versión disponible a día de hoy (F.22 4 Jan 2013) y funcionó.


Escogí la última opción (ROMPaq for HP Notebook System BIOS (68PSU) - FreeDOS Bootable Media) para utilizar la versión bootable con freedos que HP proporciona en una ISO. De este modo, podía añadir la iso a mi disco duro de herramientas usb y modificar el archivo syslinux.cfg para añadirle una nueva entrada que me permitiera seleccionar la opción de flashear la bios:
label flashbiosHPEliteBook2530p
MENU LABEL Actualizar BIOS HP EliteBook 2530p
linux memdisk
append iso
initrd /isos/hpelitebook2530p.iso


Así de sencillo. De este modo, me resultará muy fácil actualizar la BIOS de cualquiera de estos portátiles.
Publicado por primera vez en http://enavas.blogspot.com.es

22 abr 2014

Servidor de ebooks con Calibre en Debian Wheezy

Calibre es una aplicación que no puede faltar entre nuestra colección de programas. Su principal función es gestionar nuestra propia biblioteca de ebooks, aunque también nos va a permitir:
  • Gestionar nuestra colección de ebooks.
  • Convertir ebooks a otro formato.
  • Sincronizar nuestra colección de ebooks con dispositivos de lectura de libros electrónicos.
  • Descargar noticias desde la web y convertirlas en libros electrónicos.
  • Leer los libros electrónicos con su visor integrado.
  • Editar libros electrónicos.
  • Servir nuestra colección de libros a través de la red mediante un servidor web integrado.



Hoy vamos a ver cómo utilizar Calibre para convertir nuestro equipo con Debian Wheezy en un servidor de ebooks.

Abrimos un terminal y nos logueamos como administrador.

A continuación, descargamos el script de instalación de Calibre y le damos permisos de ejecución:

root~# wget -O /usr/sbin/calibre-update --no-check-certificate https://copy.com/v8KCcFtiUKPR
root~# chmod +x /usr/sbin/calibre-update

Una vez que tenemos el script, lo ejecutamos para realizar el proceso de descarga e instalación:

root~# calibre-update

Tardará un ratito más o menos largo, dependiendo de vuestra velocidad de conexión.

Una vez instalado, ya podemos iniciar Calibre desde el menú Aplicaciones -> Oficina -> calibre.
Si es la primera vez que lo iniciamos, se nos abrirá el asistente de configuración. Si ya lo hemos iniciado anteriormente, podremos encontrar los archivos de configuración en nuestro home de usuario, y más concretamente, dentro del directorio .config/calibre. Si necesitáramos realizar configuraciones sin disponer de entorno gráfico en algún momento, podríamos hacerlo modificando los archivos de este directorio.

En cuanto a los libros que vayamos guardando en nuestro catálogo, se almacenarán dentro de una carpeta dentro del home de usuario. Si al seguir el asistente, habéis configurado el idioma español y habéis dejado la ubicación por defecto, la carpeta de llamará Biblioteca de calibre.

Para iniciar el servidor de ebooks no tenemos más que abrir un terminal y escribir el siguiente comando:

root~# calibre-server --username=calibre --password=mipassword --with-library=/home/enam0000/Biblioteca\ de\ calibre/

Con este comando le estamos indicando:
  • Que queremos lanzar el servidor de calibre: calibre-server
  • Que el usuario debe introducir el nombre calibre para acceder: --username=calibre
  • Que el usuario debe introducir la password mipassword para acceder: --password=mipassword
  • Y que la librería que vamos a servir se encuentra en /home/enam0000/Biblioteca\ de\ calibre/
Por supuesto, podéis indicar el nombre de usuario y la password que queráis.

Si ahora abrimos el navegador y escribimos en la barra de direcciones la IP del equipo junto con el puerto 8080, que es el puerto por defecto:

http://ipServidor:8080

Os pedirá que introduzcáis un nombre de usuario y contraseña. Introducid los que hayáis especificado en el comando. Y se abrirá la página web con la que podremos navegar por el catálogo:


Por supuesto, si queréis que se inicie el servicio al iniciar la máquina, tendréis que crear un script de inicio normalizado en /etc/init.d

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

Script de instalación/actualización de Calibre

En un post anterior (http://enavas.blogspot.com.es/2014/04/instalar-la-ultima-version-disponible.html) vimos que es muy sencillo instalar o actualizar Calibre usando el script python que nos proporcionan los desarrolladores:
# python -c "import sys; py3 = sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main(install_dir='/opt')"
Para que nos sea más cómodo utilizarlo, podemos colocar el código en un archivo al que llamaremos por ejemplo calibre-update dentro del directorio /opt/calibre, más que nada por ser un poco organizados:

# cat /opt/calibre/calibre-update
#!/usr/bin/python

import sys;
py3 = sys.version_info[0] > 2;
u = __import__('urllib.request' if py3 else 'urllib', fromlist=1);

exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read());

main(install_dir='/opt')

Una vez guardado el archivo, le damos permisos de ejecución:

# chmod +x /opt/calibre/calibre-update

Y creamos el enlace /usr/sbin/calibre-update:

# ln -s /opt/calibre/calibre-update /usr/sbin/calibre-update

De este modo, cuando el programa nos diga que hay una nueva versión de calibre, no tendremos más que ejecutar el script:

# calibre-update

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

14 abr 2014

Gancho de colores - Reciclando colores parte 1


Casi todos tenemos en casa restos de colores... Antes de botarlos piensen que podemos reciclarlos y hacer diversos objetos con ellos.
Haré varios tutoriales sobre reciclar colores, espero que les guste y lo intenten!

El primer tutorial es un ganchito de colores:
Podemos utilizar los colores más chiquitos que nos quedan, y la base de un gancho que ya no usan.

Materiales:
  • Colores.
  • Gancho para cabello.
  • Silicona y pistola de silicona.
  • Tela o fieltro.
  • Tijera y tajador.

Pueden crear las formas que quieran, yo hice rectos y como una coronita.

Coronita? triangular ♥

Un ganchito viejo.

Y aquí el vídeo tutorial!

Aquí pueden ver como quedo :)

El fieltro ayuda mucho para que se sostenga el gancho y los colores.


Y así se ve en el cabello.
Pueden variar la idea y pegar los colores en una vincha o en un prendedor!
Gracias Lu por tomarme la foto :) es muy difícil tomarse la foto sola.

No se olviden de seguirme y ver los avances de los tutoriales e imágenes bonitas