Algo de Linux: febrero 2014

viernes, 28 de febrero de 2014

Parar el disco duro USB conectado a la Raspberry Pi cuando no se use

Si utilizáis vuestra Raspberry Pi como centro multimedia, posiblemente tendréis conectado un disco duro usb donde almacenáis los vídeos, la música y las imágenes. 

Si vuestro disco duro no tiene un sistema de control de "spin down" probablemente permanecerá girando durante todo el tiempo que esté conectado sin necesidad, reduciendo su vida útil y consumiendo energía de forma innecesaria.

Hdparm es una de esas herramientas que nos permitirá consultar y modificar parámetros del disco duro y que nosotros vamos a utilizar para pararlo cuando no se esté usando. Veamos cómo hacerlo:

Lo primero será conectarnos a nuestra Raspberry Pi, convertirnos en usuario administrador, e instalar hdparm si no lo tenemos instalado aún:

# apt-get update && apt-get -y install hdparm

Una vez instalado, suponiendo que vuestro duro es /dev/sda, si ejecutáis:

# hdparm -C /dev/sda

Obtendréis un mensaje como éste:

root@raspbmc:/# hdparm -C /dev/sda

/dev/sda:
 drive state is:  active/idle

Si  queréis parar el disco duro, poniéndolo en espera, no tenéis más que ejecutar:

# hdparm -y /dev/sda

Al ejecutar el comando os mostrará un mensaje como éste:

root@raspbmc:/# hdparm -y /dev/sda

/dev/sda:
 issuing standby command

Si ahora ejecutáis de nuevo el comando para consultar el estado, comprobaréis que el disco duro está en standby:

root@raspbmc:/# hdparm -C /dev/sda

/dev/sda:
 drive state is:  standby

Y me diréis: Vale, con todo esto paramos el disco duro de forma manual, pero, ¿cómo hacemos para que se pare de forma automática después de un tiempo de inactividad?

Para eso, podemos usar el parámetro -B:

root@raspbmc:/# hdparm -B valor /dev/sdX

Donde sustituiremos:
  • valor por un número entre 1-255
  • /dev/sdX por el que tengamos. En el ejemplo que estoy poniendo: /dev/sda
Ésto es lo que dice la ayuda acerca del valor especificado mediante el parámetro -B:
  • Si el valor indicado está entre 1-127, se permite spin-down.
  • Si el valor indicado está etre 128-254, no se permite spin-down.
  • El valor de 255 le dice a hdparm que desactive la gestión de energía avanzada en el disco duro, algo que no todo los discos soportan.
El tiempo de inactividad que se va a esperar antes de parar el disco duro es el resultado de multiplicar el valor indicado por 5. Esto quiere decir que si ejecutamos el comando:

root@raspbmc:/# hdparm -B 120 /dev/sda

Le estaremos diciendo a hdparm que pare el disco /dev/sda después de 120*5=600 segundos de inactividad, es decir: 10 minutos.

¿Y cómo hacemos para que los cambios se guarden permanentemente, de forma que la configuración permanezca después de apagar la Raspberry Pi? Pues bien. Para eso editamos el archivo /etc/hdparm.conf y nos situamos al final del mismo. Como veréis se encuentran comentados los parámetros de este comando y vienen algunos ejemplos de configuración. Añadimos lo siguiente:

/dev/sda {
        spindown_time = 120
}

Guardamos los cambios en el archivo, y, por último, reiniciamos el servicio:

root@raspbmc:/# /etc/init.d/hdparm restart

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

Añadir Wheezy a nuestro repositorio creado con reprepro

Hace tiempo vimos cómo crear nuestro propio repositorio de paquetes con reprepro:
http://enavas.blogspot.com.es/2012/10/crear-nuestro-propio-repositorio-de.html

En ese post os mostraba cómo crear un repositorio para paquetes de Debian Squeeze. Como seguimos trabajando con Squeeze, pero poco a poco iremos cambiando a Wheezy, nos interesará actualizar la configuración de nuestro reprepro para que nos sirva también como repositorio de paquetes para Debian Wheezy.

Esto  es muy sencillo. Lo único que tenemos que hacer es editar el fichero distributions que se encuentra en el directorio de nuestro repositorio. Por ejemplo, como mi repositorio se encuentra alojado en /var/www/iesvalledeljerte3:

# nano /var/www/iesvalledeljerte3/conf/distributions

Origin: IES Valle del Jerte 
Label: Debian Squeeze packages
Suite: squeeze
Codename: squeeze
Architectures: i386 amd64
Components: main
Description: Paquetes locales squeeze para el IES
DebIndices: Packages Release . .gz .bz2
SignWith: 153F5386

Y le añadimos las entradas para configurar el repositorio de wheezy:

Origin: IES Valle del Jerte 
Label: Debian Squeeze packages
Suite: squeeze
Codename: squeeze
Architectures: i386 amd64
Components: main
Description: Paquetes locales squeeze para el IES
DebIndices: Packages Release . .gz .bz2
SignWith: 153F5386

Suite: wheezy
Codename: wheezy
Architectures: i386 amd64
Components: main
Description: Paquetes wheezy locales para el IES
DebIndices: Packages Release . .gz .bz2
SignWith: 153F5386

Creo que es bastante descriptivo y no necesita explicaciones, ¿no?

Ahora ya es cuestión de usar los comandos para añadir paquetes al repositorio.

Para usar nuestro repositorio, creamos un fichero llamado, por ejemplo repositorio-local.list, en el directorio /etc/apt/sources.list.d/ de los clientes con la dirección del repositorio:

  • Para Squeeze: deb http://recursos.valledeljerte3/iesvalledeljerte3/ squeeze main
  • Para Wheezy: deb http://recursos.valledeljerte3/iesvalledeljerte3/ wheezy main

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

miércoles, 26 de febrero de 2014

Configurar el servidor ntp para servir su hora local

Cuando configuramos un servidor ntp, en el fichero de configuración (/etc/ntp.conf)  añadimos una serie de servidores a los que debe "pedir" la hora:

server hora.roa.es iburst
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

Y eso puede ser suficiente, pero en mi opinión, sería bueno que el servidor pudiera servir su propia hora local (LOCAL-CLOCK) si en algún momento perdiera la conexión a internet y no pudiera obtener la hora de ninguno de los servidores externos.

Para ello, añadimos un par de líneas a continuación de las anteriores:

server hora.roa.es iburst
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

server 127.127.1.0
fudge  127.127.1.0 stratum 10

server 127.127.1.0 dice que el reloj local del sistema es un servidor de hora.
fudge 127.127.1.0 stratum 10 dice que este servidor de hora tiene un stratum 10.

Si os fijáis en la salida del comando ntpq -p:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*hora.roa.es     .GPS.            1 u    7   64  377   65.170   -0.989   1.896
-118.Red-81-47-1 163.117.202.33   3 u    9   64  377   53.865   -0.249   2.844
+ntp01.srv.cat   158.227.98.15    2 u   13   64  377   57.212    2.567   0.654
-fw1.engloba.net 130.206.3.166    2 u    3   64  377   68.811   14.882   2.495
+vps01.roethof.n 178.251.120.16   3 u   12   64  377   83.921    1.070   0.848
 LOCAL(0)        .LOCL.          10 l  629   64    0    0.000    0.000   0.000

Los servidores de hora tendrán un stratum de 1, 2 ó 3. Como al reloj local del sistema le estamos asignando un stratum de 10, ésto significa que el reloj local del sistema no se usará como servidor, a menos que ninguno de los otros servidores se encuentren accesibles.

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

Verificar si ntp está funcionando correctamente

Es sencillo disponer de un cliente/servidor de ntp en Debian simplemente instalando el paquete ntp. Además, tampoco es demasiado complicado configurarlo. Pero, ¿habéis comprobado que funciona correctamente?

Para verificar si ntp funciona, podemos usar ntpq, un programa que tenemos disponible al instalar el paquete ntp.

Si ejecutamos:

# ntpq -p

Obtendremos una lista de los servidores conocidos y su estado:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*hora.roa.es     .GPS.            1 u  376 1024  377   65.001    0.131   8.965
-81.184.154.182. 85.10.246.226    3 u  238 1024  377   69.237    0.714   5.693
+147.83.123.133  193.67.79.202    2 u  371 1024  377   69.672   -6.553   9.952
+mx.saviacr.com  130.206.3.166    2 u  240 1024  377   88.591   -8.895   8.448
 PTV.EXA-PTG.ES  150.214.94.5     2 u  294 1024  377   54.026    4.362   2.316

El que tiene un (*) es el que se está usando.

Si en lugar de obtener el nombre de los servidores, queremos mostrar su IP, añadiremos el parámetro -n:

# ntpq -pn

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

Definir un alias para una máquina en el servidor ldap

Como suelo utilizarlo poco, se me suele olvidar en qué rama del servidor ldap se puede definir un alias para un nombre de máquina. Así que voy a ponerlo aquí y de paso le sirve a aquellos compañeros que no lo sabían y me lo han preguntado.

Si queréis añadir un alias para una máquina debéis hacerlo en la siguiente rama:

dc=NOMBREDOMINIO,ou=hosts,dc=instituto,dc=extremadura,dc=es

Lógicamente, deberéis sustituir: NOMBREDOMINIO por vuestro dominio concreto. Ejemplo:

dc=valledeljerte3,ou=hosts,dc=instituto,dc=extremadura,dc=es

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

martes, 25 de febrero de 2014

Configuración inicial del Punto de Acceso Dlink DAP-2310

Para configurar por primera vez el punto de acceso Dlink DAP-2310, configuramos la interfaz de red de nuestro equipo para que se encuentre en la red 192.168.0.0, abrimos el navegador e introducimos su IP por defecto: 192.168.0.50.

Se nos mostrará la pantalla de Login:


En el cuadro "User Name" introducimos admin, dejamos el campo "Password" vacío y pulsamos el botón "Login".

Una vez hecho ésto, ya estamos dentro y podremos configurarlo a nuestro gusto:


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

Reseeding con Deluge

En ocasiones, puede suceder que haya algún torrent que no tenga semillas (seeds). Y si un torrent no tiene semillas, no se podrá descargar. Si tenemos el archivo completo, podríamos volver a descargar el torrent para permitir que alguien pueda descargarlo haciendo nosotros de semilla. A este procedimiento es lo que llamamos reseeding.

Hacer reseeding con Deluge es muy sencillo:



Primero.- Cogemos el archivo que queremos volver a compartir y lo copiamos a la carpeta de descargas de  Deluge.

Segundo.- Descargamos de nuevo el torrent de este archivo y lo abrimos con Deluge. Al abrirlo, el programa detectará que lo tenemos y automáticamente comenzará a hacer de semilla. Si por alguna razón, no lo hiciera, podemos forzar la verificación de los archivos de descarga en el siguiente menú:


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

Crear mirror de deb-multimedia.org para Wheezy

Aquí tenéis el script que crea el mirror de deb-multimedia.org para Wheezy:

#!/bin/bash
#
# Este script crea el mirror de deb-multimedia.org para wheezy
# Esteban M. Navas Martín 
# 24/02/2014
#
# Para usar este mirror en los clientes:
# echo "deb http://ldap/deb-multimedia-wheezy wheezy main nonfree" > /etc/apt/sources.list.d/deb-multimedia-wheezy.list

# Instalamos debmirror si no está instalado aún
dpkg -l|grep "ii  debmirror" || apt-get update && apt-get -y install debmirror

## deb-multimedia Wheezy
debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=deb-multimedia.org \
--root=/ \
--method=http \
--dist=wheezy \
--arch=i386,amd64 \
--nosource \
--section=main,non-free \
--getcontents \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/deb-multimedia-wheezy

Y el enlace de descarga:
https://copy.com/2nq78YFU6ID4

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

lunes, 24 de febrero de 2014

Raspberry Pi como servidor DLNA

Básicamente, podríamos decir que DLNA permite que todos aquellos dispositivos conectados a nuestra red local que soporten el protocolo dlna, puedan compartir y usar los contenidos multimedia (imágenes, video, audio), distribuidos en cada uno de ellos de un modo transparente para el usuario.

Hasta ahora he utilizado un router con OpenWrt con minidlna como servidor DLNA y me iba fenomenal. El problema es que recientemente minidlna me está empezando a fallar por falta de ram. Así que he pensado que quizás lo mejor sería montar minidlna en la Raspberry Pi, que al tener 512 Mb de RAM no sufrirá los mismos problemas.


Veamos como podemos convertir nuestra Raspberry Pi en un servidor DLNA y reproducir nuestros contenidos multimedia directamente desde nuestra televisión con DLNA:

Primero.- Conectamos nuestra TV y la Raspberry a nuestra red local de casa y encendemos.

Segundo.- Nos conectamos a la Raspberry mediante ssh para realizar la configuración de una manera cómoda. En mi caso, he aprovechado que tenía Raspbmc instalado en la Raspberry. Recordad que tanto si tenéis Raspbmc como si tenéis Raspbian, el usuario por defecto se llama "pi":

# ssh pi@IP-de-la-Raspberry

Por ejemplo:

# ssh pi@192.168.1.4

Nos pedirá que introduzcamos la password del usuario "pi". Recordad que la contraseña por defecto es: raspberry. La introducimos

pi@192.168.1.4's password: raspberry

Una vez dentro, nos convertimos en usuario administrador:

# sudo -i

Tercero.- Una vez conectados e identificados como usuario administrador, actualizamos la lista de paquetes e instalamos minidlna:

# apt-get update && apt-get -y install minidlna

Cuarto.- Si tenemos un disco duro externo donde almacenamos nuestros contenidos multimedia, lo montamos. Por ejemplo, suponiendo que tengo un disco duro que tiene una partición sda1 y quiero montarlo en /mnt/sda1, creo el directorio sda1 en /mnt y lo monto:

# mkdir /mnt/sda1
# mount /dev/sda1   /mnt/sda1

Quinto.- A continuación vamos a configurar el servidor. Para ello editamos el archivo /etc/minidlna.conf. Este fichero viene muy bien comentado, así que os recomiendo leerlo para realizar una configuración personalizada.

Como mínimo, para realizar una configuración más o menos organizada, podemos definir los siguientes valores:

# Directorios con contenidos multimedia
media_dir=V,/mnt/sda1/dlna/peliculas
media_dir=V,/mnt/sda1/dlna/series
media_dir=V,/mnt/sda1/dlna/documentales
media_dir=M,/mnt/sda1/dlna/musica
media_dir=P,/mnt/sda1/dlna/fotos

# Base de datos de contenidos
db_dir=/var/lib/minidlna

# Directorio de logs
log_dir=/var/log

# Puerto de escucha por defecto
port=8200

# Nombre del servidor a mostrar al acceder a los contenidos vía DLNA
friendly_name=DLNA Rasberry

# Número de serie que el servidor reporta a los clientes. En principio nos da igual
serial=12345678

# Activamos inotify para que cada vez que haya nuevos contenidos sean descubiertos por el servidor
inotify=yes

# Lista de nombres de fichero a mirar para los nombres de los álbumes. Delimitadas por ("/").
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

# Otras opciones
strict_dlna=no
enable_tivo=no
notify_interval=895
model_number=1

Una observación: Si os fijáis, al definir los directorios con contenidos multimedia estamos indicando:
  • V para contenidos de vídeo.
  • P para imágenes.
  • M para música. En algunos servidores, en lugar de "M" se utiliza "A" de audio.
Por eso es muy recomendable leer los ficheros de configuración.

Sexto.- Por último, arrancamos el servicio:

# /etc/init.d/minidlna start

Y eso es todo. A partir de ahora, ya podremos reproducir nuestros contenidos multimedia desde nuestra televisión, siempre y cuando ésta disponga de dlna.

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

jueves, 20 de febrero de 2014

Crear un torrent con Deluge y subirlo a nuestro tracker

Deluge es un excelente cliente de Bittorrent que os recomiendo tanto para descargar como para generar vuestros propios torrents. ¿Por qué? Simplemente porque reune una serie de características más que interesantes:
  • Es multiplataforma. Se encuentra disponible para Linux, Mac OS X y Windows. 
  • Está traducido al español (algo que suele preguntar mucha gente).
  • Dispone de cliente gráfico, cliente de consola, web...
  • Ofrece encriptación.
  • Permite webseeding, algo que me parece importante para mantener vivas las descargas si hay pocas semillas.
  • Sus funcionalidades son ampliables añadiendo plugins propios o de terceros.
  • etc...
En el post anterior, ya vimos cómo instalar el tracker. Ahora vamos a ver cómo creamos el torrent con Deluge y lo subimos al tracker. Además también subiremos el archivo fuente para hacer webseeding.

Primero.- Instalamos el paquete deluge, si no lo teníamos instalado ya:

# apt-get install deluge


Segundo.- Una vez instalado, nos desplazamos al menú de Internet y abrimos la aplicación:




Tercero.- Seleccionamos la opción del menú Archivo -> Crear torrent:


Nos aparecerá un cuadro de diálogo como el siguiente con varias pestañas, donde iremos introduciendo los datos necesarios:


En la pestaña "Info", podemos introducir información acerca del Autor y algún comentario. Por ejemplo:


A continuación hacemos clic sobre la pestaña "Rastreadores" y después, sobre el botón "Añadir":


Se nos abrirá un cuadro de diálogo donde introduciremos los datos de nuestro servidor tracker y pulsaremos el botón "Aceptar":


Comprobamos que el rastreador ha sido añadido tras pulsar el botón "Aceptar":


A continuación, hacemos clic sobre la pestaña "Comparticiones web":



El siguiente paso (seleccionar el archivo fuente) para el que vamos a crear el torrent, podríamos haberlo hecho antes, y lo normal es que lo hubiéramos hecho al principio, pero como da igual, vamos a hacerlo ahora. Hacemos clic sobre el botón "Archivo" y seleccionamos en el explorador el archivo para el que estamos creando el torrent:


A continuación, subimos el archivo fuente al directorio web desde donde lo vamos a compartir para hacer webseeding. Lo más cómodo para nosotros es subirlo mediante scp. Por ejemplo:

# scp freeradiusIES.pdf     root@172.19.144.16:/var/www/tracker/torrents/download/

Y lo especificamos en el cuadro "Comparticiones web":


Por último, hacemos clic en el botón "Guardar":


Se nos abrirá un cuadro de diálogo para que seleccionemos en qué carpeta queremos guardar el archivo creado. En este caso: freeradiusIES.pdf.torrent. Elegimos la carpeta que queramos y lo guardamos.

Cuarto.- Una vez creado el torrent, el siguiente paso será subirlo al tracker. Ésto lo haremos utilizando el interfaz web de RivetTracker y el usuario que creamos en su momento con permisos para subir torrents:


Como para subir torrents, es necesario hacer login, podemos teclear la dirección http://172.19.144.16/tracker/login.php en nuestro navegador y entramos directamente en la página de login:


Introducimos los datos del usuario con permisos para subir torrents y pulsamos el botón "Log In":


Nos mostrará una nueva pantalla que nos va a permitir seleccionar el archivo .torrent que queremos subir al tracker:


Pulsamos el botón "Seleccionar archivo" y lo elegimos. Una vez elegido, pulsamos el botón "Add Torrent to Database":


Y comprobaremos que el torrent ha sido añadido:


Sencillo, ¿verdad?

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

miércoles, 19 de febrero de 2014

RivetTracker: Monta tu propio tracker torrent

Muchas veces he compartido archivos con otros compañeros en la intranet mediante un servidor apache instalado en alguna de las máquinas del centro. Teniendo en cuenta que la máquina usada para tal fin no era un servidor propiamente dicho y que muchas veces los archivos a compartir eran muy grandes (como por ejemplo, imágenes de clonación), hemos tenido los siguientes inconvenientes:
  • La máquina desde la que lo compartía se sobrecargaba al hacer un uso intensivo de disco cuando mucha gente descargaba a la vez.
  • Las descargas se hacían lentas.
Una solución que me pareció interesante, fue montar un Tracker y compartir los archivos mediante bittorrent. De este modo:
  • No hay una única fuente de descarga.
  • Se comparte el archivo entre todos.
  • Las descargas serán más rápidas.
Buscando y leyendo un poco en internet, al final me decidí por usar RivetTracker, un servidor tracker de torrents montado sobre apache, php y mysql.


RivetTracker me va a permitir gestionar la configuración y subidas de archivos mediante una interfaz web:
http://IPservidor/tracker

Me interesa configurar el tracker usando la IP, en lugar de un servidor de nombres para que desde otros centros se pueda acceder al tracker sin tener registrado el nombre de la máquina en sus servidores dns.

Antes de pasar a la instalación, como habrá gente que no sabe de qué va el tema, vamos a explicar algunos términos:

¿Qué es Bittorrent?
Bittorrent es sencillamente un protocolo de comunicación P2P para compartir ficheros.

¿Cómo funciona?
El usuario deberá instalar un cliente de Bittorrent. Cada vez que quiera descargar un archivo, descargará un fichero .torrent desde algún sitio web. Este fichero .torrent contiene la información necesaria para que el programa cliente pueda obtener el archivo, entre ella, la información del tracker que gestiona la descarga del mismo.

¿Qué es un tracker?
Es un servidor cuya función es poner en conexión a los clientes que están descargando y/o compartiendo un determinado archivo. Es importante destacar que el tracker normalmente no contiene los archivos. Tan sólo conecta a los usuarios que tienen partes del archivo que están descargando o compartiendo.


¿Qué son los peers?
Se llama peers a los clientes. Éstos pueden ser de dos tipos:
  • seeders: Clientes que están haciendo de fuente de partes de un archivo.
  • leechers (sanguijuelas): Clientes que están descargando partes de un archivo.

Un usuario comienza siendo leecher, cuando aún no tiene partes de un archivo y termina convirtiéndose en seeder cuando comparte partes de un archivo.

¿Qué son seeds?
Son semillas. Un usuario seeder es aquél que tiene una copia completa de un archivo de un cierto torrent. Cuando alguien termina  una descarga, lo normal es que deje su programa cliente abierto para que otros puedan descargar. La filosofía es compartir.

¿Qué es el re-seeding?
Cuando un cliente tiene el archivo completo, puede compartirlo de nuevo para que otros lo descarguen, si dispone además del archivo .torrent. En particular, el cliente de bittorrent Transmission tiene una opción "Verificar datos locales" que nos permite hacer re-seeding fácilmente.

Bien, pues una vez entendida toda la terminología, vamos a ver cómo instalar RivetTracker:

Requisitos previos.- Tener instalado:
  • Apache.
  • Php.
  • Mysql.
No vamos a entrar en detalles sobre cómo instalar los requisitos previos para evitar hacer un tutorial demasiado largo.


Primero.- Descargamos RivetTracker desde sourceForge: http://sourceforge.net/projects/rivettracker/files/ Si queréis hacerlo directamente mediante wget:

# wget --trust-server-name http://downloads.sourceforge.net/project/rivettracker/rivettracker/RivetTracker%201.03/rivettracker_1-03.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Frivettracker%2Ffiles%2F&ts=1392807657&use_mirror=optimate

Segundo.- Una vez descargado, lo descomprimimos en /var/www:

# unzip rivettracker_1-03.zip -d /var/www/

Tercero.- Se nos ha creado una carpeta llamada rivettracker. La renombramos para que el nombre sea genérico al usar el tracker:

# mv /var/www/rivettracker /var/www/tracker

Cuarto.- Ahora vamos a configurar RivetTracker. Así que abrimos un navegador en un equipo cualquiera de nuestra red e introducimos la dirección al archivo de instalación:

http://IP.DEL.SERVIDOR/tracker/install.php

En lugar de la IP, podríamos usar el nombre del servidor. Como ya comenté, en mi caso me interesa usar la IP. Así que, para configurar mi servidor introduzco la siguiente dirección:

http://172.19.144.16/tracker/install.php

Se nos mostrará la pantalla de inicio de la instalación. En esta pantalla se nos ofrecen dos opciones. Como no tengo aún creados el usuario, el password y el nombre de la base de datos, hago clic en el segundo botón, que me va a permitir crearlos:



Se abrirá una pantalla como la siguiente, donde tendré que introducir:
  • El usuario administrador con permisos para poder crear la B.D. En mi caso: root.
  • La password del administrador.
  • El nombre del host que aloja la base de datos. En mi caso: localhost.
  • Un nombre de usuario para esta BD. En mi caso lo he llamado: tracker
  • La contraseña de dicho usuario.
  • El nombre de la B.D. rivet.


Una vez introducidos todos los datos, pulsamos el botón "Install".

A continuación, introducimos los datos para configurar el servidor. Como mínimo introducimos:
  • Un nombre de usuario que va a tener permisos para subir torrents al tracker. En mi caso, le he llamado: gestor.
  • La contraseña para el usuario anterior.
  • Un nombre de usuario para el administrador del tracker. En mi caso, he elegido: root. El administrador tendrá acceso a un panel de administración con el que podrá modificar la configuración del servidor, subir nuevos torrents, borrarlos, editarlos, etc...
  • La contraseña para el usuario administrador.
  • La url principal del tracker seguido del nombre del directorio donde hemos instalado la aplicación RivetTracker: http://172.19.144.16/tracker (En la captura de pantalla podéis ver que inicialmente usé el nombre del servidor, pero lo cambié a la IP)
  • Por último, seleccionamos la zona horaria en la que se encuentra el servidor.
  • Y pulsamos el botón "Create Config File" para crear el fichero de configuración:


Todos los ajustes configurados, podemos modificarlos posteriormente desde el panel de control del usuario administrador, así que no os preocupéis si tenéis que cambiar algún ajuste después.

Al pulsar el botón "Create Config File", si todo ha ido bien, se nos mostrará una pantalla como la siguiente:


Como podéis ver, al terminar el proceso de configuración, el instalador nos informa sobre tres cosas:
  • Se ha creado el archivo de configuración config.php.
  • Si hemos terminado el proceso de configuración, debemos borrar el archivo install.php.
  • Debemos revisar los permisos para asegurarnos de que los directorios torrents y rss se encuentran accesibles en modo escritura para el servidor.
No olvidéis revisar estos tres puntos, sobre todo lo de borrar el archivo install.php.

Una vez instalado y configurado el servidor, vamos a realizar unos pequeños ajustes adicionales para lo que nos conectaremos al servidor en un terminal local o vía ssh. 

Quinto.- Como es posible que el directorio /var se me termine quedando pequeño y tengo espacio en otro disco duro que tiene montado el servidor para las copias de seguridad, voy a crear una carpeta para los torrents en el segundo disco duro y voy a montarlo mediante bindfs en el directorio de torrents del primero. Veámoslo paso a paso:

Creo la carpeta en el segundo disco duro del servidor:


A continuación hago el bindfs para que se monte en la carpeta de torrents del servidor:


Como ya sabéis, si monto así el directorio de torrents, la próxima vez que reinicie, no se realizará el montaje. Para que el montaje se efectúe automáticamente en cada inicio de la máquina, tendré que configurarlo en el fichero /etc/fstab:


Sexto.- Voy a crear un directorio download dentro de la carpeta /var/www/tracker/torrents donde almacenaré los archivos que voy a compartir vía torrent:

# mkdir /var/www/tracker/torrents/download

Séptimo.- Voy a asignar el usuario www-data como propietario y grupo del directorio /var/www/tracker y todo su contenido:

# chown -R www-data:www-data /var/www/tracker

Y eso es todo!!!

Bueno, por si en algún momento quisiéramos crear un fichero torrent directamente, en el propio servidor, podríamos instalar el paquete transmission-cli:

# apt-get -y install transmission-cli

Una vez instalado, podríamos utilizarlo del siguiente modo para crear un torrent:


Una vez creado, tendríamos que subirlo al servidor. Aunque supongo que esta tarea os resultará más cómodo realizarla con el cliente gráfico de transmission, pero para no mezclar coas, dejemos esto de momento para otro post.

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

martes, 18 de febrero de 2014

Script para crear un mirror de Wheezy y Wheezy-backports

Como ya sabéis, wheezy-backports se ha integrado en la infraestructura de los repositorios de Debian, de tal manera que a partir de ahora, los paquetes de wheezy-backports se ecuentran ubicados en el mismo pool que los paquetes del repositorio oficial de wheezy, en lugar de encontrarse separados, como ocurría en squeeze.

Con ésto, es muy sencillo crear el mirror de Wheezy y Wheezy-backports a la vez. Si ya tenemos un script que crea el mirror de wheezy, tan sólo tenemos que añadir wheezy-backports  a "--dist=wheezy" de tal manera que quedaría así: "--dist=wheezy,wheezy-backports"


#!/bin/bash
#
# Este script crea el mirror de wheezy y wheezy-backports
# Esteban M. Navas Martín 
# 18/02/2014
#
# Si creamos el mirror en el servidor ldap del centro con este script:
#
# Para usar el mirror de wheezy en los clientes, ejecutamos en cada cliente:
# echo "deb http://ldap/wheezy/debian wheezy main contrib non-free" >> /etc/apt/sources.list
#
# Para usar el mirmor de wheezy-backports en los clientes:
# echo "deb http://ldap/wheezy/debian wheezy-backports main" > /etc/apt/sources.list.d/wheezy-backports.list

# Instalamos debmirror si no está instalado aún
dpkg -l|grep "ii  debmirror" || apt-get update && apt-get -y install debmirror


## Debian Wheezy y Wheezy-Backports
debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=ftp.debian.org \
--root=debian \
--method=http \
--dist=wheezy,wheezy-backports \
--arch=i386,amd64 \
--nosource \
--section=main,contrib,non-free \
--getcontents \
--exclude='-dbg_' \
--ignore-release-gpg \
--ignore-missing-release \
--rsync-extra=none \
/var/www/wheezy/debian

Aquí tenéis el enlace de descarga:
https://copy.com/6KqQPEFvaeZcn7KF

En los comentarios del script podéis ver cómo usar los repositorios creados en el mirror.

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

jueves, 13 de febrero de 2014

Script para crear un mirror de mozilla.debian.net

Aquí tenéis el script para crear el mirror de mozilla.debian.net y mantener Iceweasel actualizado en Debian Wheezy:

#!/bin/bash
#
# Este script crea el mirror de mozilla.debian.net para Wheezy
# Esteban M. Navas Martín 
# 12/02/2014
#
# Para usar el mirror en los clientes, ejecutar en cada cliente:
# echo "deb http://MIRROR/mozilla-backports wheezy-backports iceweasel-release" > /etc/apt/sources.list.d/mozilla.list
# 
# Por ejemplo, si creamos el mirror en el servidor ldap del centro cuyo nombre es ldap:
# echo "deb http://ldap/mozilla-backports wheezy-backports iceweasel-release" > /etc/apt/sources.list.d/mozilla.list

# Instalamos debmirror si no está instalado aún
dpkg -l|grep "ii  debmirror" || apt-get update && apt-get -y install debmirror

## Mozilla Debian Backports - Wheezy
debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=mozilla.debian.net \
--root=/ \
--method=http \
--dist=wheezy-backports \
--arch=i386,amd64 \
--nosource \
--section=iceweasel-release \
--getcontents \
--exclude='-dbg_' \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/mozilla-backports

En cuanto al enlace de descarga, es éste:
https://app.box.com/s/8pzihjqhadf8i5k1pd48n7c46j0ogmkn

Actualización de marzo de 2016: Como Debian ha decidido volver a utilizar Firefox, recomiendo visitar el siguiente post en el que se muestra la creación del mirror que ahora almacena Firefox en lugar de Iceweasel:
http://enavas.blogspot.com.es/2016/03/script-para-crear-un-mirror-de.html

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

Script para crear un mirror de Wheezy-backports

Aquí tenéis el código de un script para crear el mirror de Wheezy-backports:

#!/bin/bash
#
# Este script crea el mirror de wheezy-backports
# Esteban M. Navas Martín 
# 12/02/2014
#
# Para usar el mirror en los clientes, ejecutar en cada cliente:
# 
# Por ejemplo, si creamos el mirror en el servidor ldap del centro cuyo nombre es ldap:
# echo "deb http://ldap/debian-backports wheezy-backports main" > /etc/apt/sources.list.d/wheezy-backports.list

# Instalamos debmirror si no está instalado aún
dpkg -l|grep "ii  debmirror" || apt-get update && apt-get -y install debmirror


## Debian Wheezy Backports
debmirror --debug \
--progress \
--verbose \
--diff=none \
--host=ftp.debian.org \
--root=debian \
--method=http \
--dist=wheezy-backports \
--arch=i386,amd64 \
--nosource \
--section=main \
--getcontents \
--exclude='-dbg_' \
--ignore-release-gpg \
--ignore-missing-release \
/var/www/debian-backports

Y el enlace de descarga:
https://copy.com/vEMWpo98EgIw


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

martes, 11 de febrero de 2014

Paquetes de firefox 27.0 para instalar en las máquinas de los IES

Aquí tenéis los paquetes de 32 y 64 bits creados "de forma rápida" para instalar firefox 27.0 en el directorio /opt/firefox/ de las máquinas del instituto. 

Importante: Estos paquetes tan sólo colocan firefox en /opt/firefox/. No cambian el enlace de /usr/bin/iceweasel a /opt/firefox/firefox para que se siga pudiendo usar iceweasel como navegador por defecto. 

Para realizar el cambio de iceweasel a firefox o firefox a iceweasel, tengo dos tareas puppet:
  • activa-firefox 
  • activa-iceweasel 
De este modo, si quiero que los portátiles, los servidores ltsp o los workstation usen firefox, les pongo la tarea activa-firefox y si quiero que usen iceweasel, les pongo la tarea activa-iceweasel.

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

Encender máquinas de nuestra red local desde nuestro router OpenWrt

Como ya vimos en un post anterior, OpenWrt es una distribución para routers imprescindible de tener en casa por la gran funcionalidad que nos aporta en un dispositivo de bajo consumo de energía.

Una de las aplicaciones verdaderamente útiles que podemos instalar es aquella que nos va a permitir encender equipos de nuestra red local. 

Para poder encender equipos desde nuestro router, instalamos el paquete luci-app-wol desde el interfaz web o conectándonos por consola vía ssh, como prefiráis. Si lo hacéis desde la línea de comandos, abrid una consola en vuestro equipo, conectáos vía ssh al router y ejecutad:

# opkg update  && opkg install luci-app-wol

Esto actualizará la lista de paquetes e instalará el paquete luci-app-wol junto con el paquete etherwake que es quien se encargará de encender las máquinas.

Una vez instalado, podremos lanzarlo desde el menú Red -> Wake on LAN:


Al lanzarlo nos aparecerá el siguiente menú en el que seleccionaremos la interfaz de red del router que queremos usar para despertar máquinas y el nombre de la máquina a despertar:


Una cosa bastante interesante que tiene es que nos permitirá despertar cualquier máquina que reconozca el router o introducir manualmente su MAC. 

Una vez seleccionada, pulsamos el botón "Despertar máquina" y ésta se encenderá:


Bueno, se encenderá si hemos configurado el equipo para que se encienda por red. No olvidemos que para poder encender un equipo por red, antes tendremos que activar esta funcionalidad en su BIOS.

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

viernes, 7 de febrero de 2014

Script para crear mirror de Debian Wheezy y Squeeze en los IES

Aprovechando que voy a testear la imagen de Debian Wheezy que nuestros compañeros de la Sección de Administración de Sistemas han preparado, he pensado que me sería de gran utilidad tener ya un mirror interno de Debian Wheezy en el centro. Y como el script que crea el mirror  en el servidor ldap (mkdebmirror-lenny-squeeze.select) necesitaba unos retoques, he decidido matar dos pájaros de un tiro.

Como el script anterior ya no crea el mirror de Lenny y no quería quitarlo mientras hacía pruebas, lo he llamado mkdebmirror-squeeze-wheezy.select. Por si alguien quiere probarlo en su centro, aquí lo tenéis:

Éstas son las modificaciones que he realizado:

  • Para ahorrar espacio y consumo de ancho de banda innecesario, he excluido del mirror los paquetes dbg. Son paquetes de depuración que habitualmente no usamos para nada.
  • Después de hacer algunos testeos, he modificado la lista de mirrors y he bajado el tiempo de chequeo por mirror a 10 segundos.
  • He añadido algunas líneas que crean los directorios de destino de los mirrors tan sólo si no existen, para evitar mensajes de que no se puede crear los directorios porque ya están creados.
  • Como los ficheros de project/trace requieren descargarse por rsync y esto no funciona, he modificado el script para que se bajen mediante wget vía ftp.

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

jueves, 6 de febrero de 2014

apt-spy: Detectar el mejor mirror de donde descargar nuestros paquetes

Para crear nuestro mirror de Debian estamos usando apt-spy, que nos permite seleccionar el mejor mirror en función de su respuesta y velocidad de descarga en kB/s.

Instalar apt-spy en Debian es muy sencillo porque se encuentra en los repositorios:

# apt-get install apt-spy

Una vez instalado, podemos realizar una búsqueda de espejos:
  • Por región: Africa, Asia, Europe, North-America, Oceania, South-America. 
  • Por países: Indicando la abreviatura del país.
  • Especificando una lista de repositorios en un fichero.
Si queréis usar las abreviaturas de los países aquí tenéis el listado completo:

Equivalencias de abreviaturas por países:
AT Austria
AU Australia
BE Belgium
BG Bulgaria
BR Brazil
BY Belarus
CA Canada
CH Switzerland
CL Chile
CN China
CR Costa Rica
CZ Czech Republic
DE Germany
DK Denmark
EE Estonia
ES Spain
FI Finland
FR France
GB United Kingdom
GR Greece
HK Hong Kong
HR Croatia
HU Hungary
ID Indonesia
IE Ireland
IL Israel
IN India
IS Iceland
IT Italy
JP Japan
KR Korea
LT  Lithuania
LU  Luxembourg
LV  Latvia
MX Mexico
NI   Nicaragua
NL Netherlands
NO Norway
NZ New ZealandAT Austria
AU Australia
BE Belgium
BG Bulgaria
BR Brazil
BY Belarus
CA Canada
CH Switzerland
CL Chile
CN China
CR Costa Rica
CZ Czech Republic
DE Germany
DK Denmark
EE Estonia
ES Spain
FI Finland
FR France
GB United Kingdom
GR Greece
PL Poland
PT Portugal
RO Romania
RU Russia
SE Sweden
SG Singapore
SI  Slovenia
SK Slovakia
TH Thailand
TR Turkey
TW Taiwan
UA Ukraine
US United States
ZA South Africa

apt-spy tiene unos cuantos parámetros. De todos ellos tan sólo vamos a mencionar los más utilizados. El resto podéis consultarlos en la ayuda:

Parámetros:

  • update: Nos permite actualizar la lista de réplicas.
  • -d "distribución": Distribución para la que queremos hacer la comprobación.
  • -a "región": Para indicar una región en concreto.
  • -s "pais": Para especificar la lista de réplicas de un país.
  • -i "archivoorigen": Archivo de donde tomar la lista de repostorios.
  • -o "archivosources": Archivo donde guardar el sources.list generado.
  • -w "archivolistamirrors": Archivo donde guardar la lista de mirrors.
  • -n numero: Número del top de servidores a escribir en el fichero indicado mediante -w.
  • -t "segundos": Tiempo de comprobación (por defecto 15 segundos).

Como nosotros sólo usamos apt-mirror para ver cuál es el mejor mirror y no nos interesa el sources.list generado, usamos el parámetro -o para mandarlo a un archivo en /tmp que no usamos.

Veamos algunos ejemplos de uso de apt-spy:

Imaginemos que quiero actualizar la lista de mirrors. Tan sólo tendría que ejecutar:
# apt-spy update

Ahora supongamos que quiero obtener el mirror más rápido en este momento de España:
# apt-spy -d wheezy -s ES

El comando anterior obtendrá el mirror de Debian Wheezy más rápido en este momento y creará un
fichero sources.list que almacenará en /etc/apt/sources.list.d/apt-spy.list
Esto es importante destacarlo porque ese mirror será utilizado por el gestor de paquetes. Si quisiéramos descartarlo podemos usar el parámetro -o para enviarlo a otro lugar donde el sistema de paquetes no lo use:
# apt-spy -d wheezy -s ES -o /tmp/kk

El tiempo que  por defecto apt-spy chequea cada mirror es de 15 segundos. Si queremos aumentarlo o disminuirlo, no tenemos más que utilizar el parámetro -t:
# apt-spy -d wheezy -t 5 -s ES -o /tmp/kk

El comando anterior chequearía cada mirror durante 5 segundos, en lugar de los 15 que dedica habitualmente por defecto.

Si en lugar de testear los mirrors de un país, queremos chequear los de una región, usaremos el parámetro -a:
# apt-spy -d wheezy -t 5 -a Europe -o /tmp/kk

Si tenemos un fichero con una lista de mirrors (podemos obtenerlo usando el comando), podemos indicarle a apt-spy que examine los mirrors de este fichero mediante el parámetro -i:
# apt-spy -d wheezy -t 5 -a Europe -o /tmp/kk -w /tmp/listamirrors.ordenados -i /tmp/listamirrors

Si usamos el parámetro -w para generar un fichero con la lista de mirrors, puede que nos interese obtener tan sólo un número determinado de resultados. Por ejemplo, supongamos que de la lista de mirrors que tenemos tan sólo nos interesa quedarnos con los 2 primeros:
indicarle a apt-spy que examine los mirrors de este fichero mediante el parámetro -i:
# apt-spy -d wheezy -t 5 -a Europe -o /tmp/kk -w /tmp/listamirrors.ordenados -n 2 -i /tmp/listamirrors

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

miércoles, 5 de febrero de 2014

Reutilizar routers con OpenWrt


Openwrt es una distribución GNU/Linux para dispositivos embebidos que nos va a permitir aprovechar routers para que realicen determinadas funciones que eviten tener nuestro ordenador permanentemente encendido.

Ventajas de usar OpenWrt en routers:
  • Bajo consumo. Podemos trasladar determinadas funciones que realizamos en nuestro ordenador a un router con OpenWrt, que consumirá mucha menos energía.
  • Bajo coste. Muchos de estos routers los proporcionan las compañías y suelen dejártelos cuando dejas el servicio de ADSL para irte a otra. O incluso, podemos comprarlos en internet por un módico precio.
  • Posibilidad de realizar varias funciones a la vez porque al fin y al cabo es un "miniordenador" multitarea. Además dispone de una gran variedad de paquetes. 
Para comprobar si un determinado dispositivo soporta la instalación de OpenWrt, podéis consultar la siguiente tabla: http://wiki.openwrt.org/toh/start

Aplicaciones para las que podemos utilizar un router con OpenWrt:
  • Cliente de la red bittorrent mediante transmission. Si realizáis descargas vía torrent, podéis hacerlo directamente en un router con OpenWrt. Eso evitará tener que dejar vuestro ordenador encendido durante horas y ahorraréis energía.
  • Cliente de acceso inalámbrico. Podemos usar nuestro dispositivo como cliente wifi de otra red para extender la cobertura.
  • Servidor de acceso inalámbrico. Dando cobertura wifi a los dispositivos de nuestra casa.
  • Servidor de impresión. Utilizando cups.
  • Servidor de archivos. Mediante nfs o samba.
  • Servidor multimedia DLNA.
  • Firewall.
  • etc...
Por supuesto, si el dispositivo tiene conexión usb, podemos conectarle un disco duro para almacenar las descargas y hacer que el disco pare cuando no se esté usando. 

Además, si el dispositivo tiene poco espacio de almacenamiento y el dispositivo tiene USB, podemos almacenar el sistema en un disco duro externo.

También es posible configurarlo con un servicio de dns dinámico para poder acceder a él desde internet.

E incluso podemos encender equipos de nuestra red desde el propio router.

Enfin. Como véis ésto tiene un montón de posibilidades!!!

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

martes, 4 de febrero de 2014

hd-idle: Bug al iniciarse como demonio en OpenWrt

hd-idle es una herramienta que detiene un disco duro durante un tiempo de inactividad, algo muy interesante si conectamos un disco duro externo al router en el que tenemos instalado OpenWrt.

El caso es que instalé los paquetes luci-app-hd-idle, hd-idle y lo configuré sin ningún problema, pero me di cuenta de que configurase el tiempo que configurase, no se paraba el disco duro. Lo curioso era que si lanzaba manualmente el comando (/usr/bin/hd-idle -a sda -i 600) manualmente, funcionaba, pero si se lanzaba desde el /etc/init.d/hd-idle, no lo hacía. Y si ejecutaba un ps para mostrar los procesos, veía que el proceso hd-idle estaba corriendo.

Había leído un problema parecido en una página, aunque no era exactamente lo mismo porque en el caso que comentaban, no se lanzaba el demonio, pero me pareció interesante porque podría resolver mi problema. Lo probé y, bingo! Funcionó!

Lo único que tuve que hacer fue rectificar el script de inicio /etc/init.d/hd-idle, concretamente la línea 70, desde donde se lanza el demonio, cambiando:

service_start /usr/bin/hd-idle $args "-i $(compute_seconds $interval $unit)"

por:

service_start /usr/bin/hd-idle "$args -i $(compute_seconds $interval $unit)"


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

lunes, 3 de febrero de 2014

Activar la preferencia "No quiero ser rastreado" en Firefox

Siempre hay algún amiguete que me dice que no entiende qué demonios escribo en este blog y que algunas cosas son muy cañeras. Bueno, pues aquí va un post para todos los públicos que cualquiera podéis aplicar.

Firefox tiene una preferencia que nos permite indicarle a los sitios web que no queremos ser rastreados. Os recomiendo leer el siguiente enlace de ayuda de Mozilla en el que se explica qué es el rastreo y cómo activar esta característica: http://mzl.la/I0d2p0

Esta preferencia, por defecto se encuentra desactivada. Para activarla seleccionamos el menú "Preferencias" y se nos abrirá el cuadro de diálogo de preferencias de Firefox. Seleccionamos el panel "Privacidad".

Como veréis, en este panel, la opción que se encuentra seleccionada por defecto es "No indicar a los sitios nada sobre mis preferencias de rastreo":


Si queremos activar la preferencia, debemos marcar la opción "Indicar a los sitios que no quiero ser rastreado" y pulsar el botón "Cerrar":


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