Archivo de la etiqueta: linux

Vilanet 2013

logo_contactar

Ultimamente aqui en Vila-real, se acumulan los eventos, si durante esta semana estamos teniendo el simposium fotográfico para la semana que viene tenemos la segunda edición de la Vilanet, que es algo mas que una simple Lan Party, es una posibilidad de ponerte al día en las ultimas tecnologías.

Talleres de hardware y de software, torneos de videojuegos, ponencias y mas cosas en un sitio con fácil acceso si no vienes en coche

Mas información: Vilanet

.: Instalar Transmission en un NAS Iomega ix2 :.

13-initial-view-of-web-interface

Introducción

Compre el NAS muy barato (pero no tanto) en una oferta de FNAC con la ilusión de otros NAS que no eran de mi propiedad y cuyo cliente de Bittorrent integrado funcionaba como un cohete, no es el caso del que va en este aparato de Iomega que se colgaba, perdía los ficheros y en fin un desastre. Revisando por ínternet encontré un par de artículos de como hacerlo y en especial el que te pongo al final de este post como referencia.

Asumo

  • Que el lector tiene un conocimiento básico de la linea de comandos de linux
  • El lector es capaz de modificar/crear fichero usando Nano, Pico, Vi o cualquier editor que tenga instalado en el NAS.
  • El lector tiene buenos conocimientos informativos
  • Vuestro NAS tiene ip fija dentro de la red.
  • El lector esta en un sistema con acceso a consola (Unix, Linux, Mac) o en un windows con Putty o algún otro emulador de terminal.

Activar SSH

El acceso mediante SSH nos da acceso total a las “tripas” del NAS en formato de texto, los usuarios de linux están muy familiarizados con ella, los usuarios de mac algo menos y los usuarios de windows, pues les sonara a la ventana del dos, pero esto es como mas potente, permite hacer mas cosas, para activarlo vamos a hacer los siguientes pasos.

  • En tu navegador de internet por  http://la_ip_de_tu_nas (192.168.loquesea) en algunas redes también puede funcionar http://nombredelnas.local
  • Entra en la configuración del mismo y marca un usuario administrador (si no tenias uno todavía)
  • En tu navegador ves a  https://la_ip_de_tu_nas/diagnostics.html y activa el SSH (en la versión de algunos NAS antiguos en lugar de diagnostics.html usar support.html)

El login de acceso SSH difiere un poco de los datos usados en la administración por web.

usuario SSH  = root

contraseña SSH = “soho” + contraseña web

Por ejemplo si tu contraseña administrativa es “patata”, la contraseña seria “sohopatata”,el comando de conexión seria algo asi como ssh root@la_ip_de_tu_mas

ipkg

Aunque en la web de Iomega se hinchan  hablando de su repositorio de programas, la verdad es que solo hay tres y no sirven para nada no obstante el grupo de desarrollo  NSLU2-Linux han creado el administrador de paquetes  ipkg. El programa ipkg esta instalado de serie en el ix2, puesto que tiene soporte nativo del mismo, pero hay que añadir el repositorio.

nano -w /etc/ipkg.conf

src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable

Y luego actualizamos el cache:

ipkg update

Instalando Transmission

Instalar transmission no es nada difícil simplemente teclea:

ipkg install transmission

Despues hay que crear un fichero  settings.json antes de arrancar el “demonio” de Transmission, aquí tenéis uno de muestra

{
 "alt-speed-down": 600,
 "alt-speed-enabled": true,
 "alt-speed-time-begin": 540,
 "alt-speed-time-day": 62,
 "alt-speed-time-enabled": true,
 "alt-speed-time-end": 1320,
 "alt-speed-up": 40,
 "bind-address-ipv4": "0.0.0.0",
 "bind-address-ipv6": "::",
 "blocklist-enabled": true,
 "blocklist-url": "http://list.iblocklist.com/?list=bt_templist",
 "cache-size-mb": 4,
 "dht-enabled": true,
 "download-dir": "/mnt/pools/A/A0/Torrents",
 "encryption": 1,
 "idle-seeding-limit": 30,
 "idle-seeding-limit-enabled": false,
 "incomplete-dir": "/mnt/pools/A/A0/Torrents/_downloading",
 "incomplete-dir-enabled": true,
 "lpd-enabled": false,
 "message-level": 2,
 "open-file-limit": 32,
 "peer-congestion-algorithm": "",
 "peer-limit-global": 160,
 "peer-limit-per-torrent": 40,
 "peer-port": 6881,
 "peer-port-random-high": 65535,
 "peer-port-random-low": 49152,
 "peer-port-random-on-start": false,
 "peer-socket-tos": "lowcost",
 "pex-enabled": true,
 "port-forwarding-enabled": true,
 "preallocation": 1,
 "prefetch-enabled": 1,
 "ratio-limit": 1.2,
 "ratio-limit-enabled": true,
 "rename-partial-files": true,
 "rpc-authentication-required": false,
 "rpc-bind-address": "0.0.0.0",
 "rpc-enabled": true,
 "rpc-password": "{db401bc8e204e30a6da8c9188acbbce34dd02df3OFkagnx2",
 "rpc-port": 9091,
 "rpc-url": "/transmission/",
 "rpc-username": "",
 "rpc-whitelist": "127.0.0.1",
 "rpc-whitelist-enabled": false,
 "script-torrent-done-enabled": false,
 "script-torrent-done-filename": "",
 "speed-limit-down": 1000,
 "speed-limit-down-enabled": true,
 "speed-limit-up": 70,
 "speed-limit-up-enabled": true,
 "start-added-torrents": true,
 "trash-original-torrent-files": false,
 "umask": 18,
 "upload-slots-per-torrent": 5,
 "utp-enabled": true
}

Es muy importante que abras en el router de tu conexión el puerto 6881, ademas antes de usar el ejemplo de arriba hay que hacer los siguientes pasos.

  • Crea la comparticion  Torrent share usando la administracion por web
  • Luego crea el directorio de descarga: mkdir /mnt/pools/A/A0/Torrents/_downloading
  • El directorio de configuracion mkdir /mnt/pools/A/A0/Torrents/_config
  • Y copia  settings.json en  /mnt/pools/A/A0/Torrents/_config

Auto-Arranque del programa

Ya tenemos instalado transmisión pero con este metodo , si el nas se apaga por falta de corriente aunque el NAS se reactive el programa no se reactivara hasta que lo arranquemos manualmente, modificar el fichero de arranque no es facil porque se encuentra en una partición de solo lectura así que vamos a seguir el proceso descrito por Chris Pont creando un script que nos permita modificar el fichero sohoProcs.xml que es donde se especifican los ficheros que hay que arrancar al inicio del sistema.

Primero creamos el fichero.

nano -w  /opt/editconfig.sh

#!/bin/sh
# edit the bootup config of the ix-2
# inspired by http://www.chrispont.co.uk/2010/10/allow-startup-daemons-on-storcenter-ix2-200-nas/
mknod -m0660 /dev/loop3 b 7 3
chown root.disk /dev/loop3
mkdir /tmp/apps
mount -o loop /boot/images/apps /tmp/apps
vi /tmp/apps/usr/local/cfg/sohoProcs.xml
sleep 1
umount /tmp/apps
rm /dev/loop3

Luego lo hacemos ejecutable

chmod +x /opt/editconfig.sh

Y luego lo ejecutamos para modificar el fichero ejecutando:

/opt/editconfig.sh

Veras que ha muchos grupos de . Hay que añadir un al Level=”1?>.

Hay que añadir:

<Program Name="init-opt.sh" Path="/opt/init-opt.sh">
  <SysOption Restart="-1"/>
</Program>

Para prevenir un numero indeterminado de instancias de init-opt.sh instances, usamos un comando sleep al final del fichero:

nano -w /opt/init-opt.sh

#!/bin/sh
rm /opt/init-opt.log
echo "Last bootup:" >> /opt/init-opt.log
date >> /opt/init-opt.log
# echo "Starting DNS and DHCP server (dnsmasq)" >> /opt/init-opt.log
# /opt/sbin/dnsmasq
echo "Wait one minute, so that the storage pool is mounted" >> /opt/init-opt.log
sleep 1m
echo "Starting transmission-daemon" >> /opt/init-opt.log
/opt/bin/transmission-daemon -g /mnt/pools/A/A0/Torrents/_config
echo "I will reboot after 180 days..." >> /opt/init-opt.log
sleep 180d
reboot

chmod +x /opt/init-opt.sh

Las lineas de dnsmasq están comentadas porque este script se utiliza para arrancar también este demonio pero ese es otro tutorial para otro día.

 Usando Transmission

Simplemente apunta tu navegador a la dirección http://la_ip_de_tu_nas:9091 y tendrás un administrador web donde añadir tus torrents para descargar alternativamente puedes utilizar una GUI compatible con linux, mac y windows desde esta pagina o si utilizas google chrome utilizando la extensión que a dicho fin hay en su repositorio.

La combinación de un dominio dinamico en no-ip.org por ejemplo con el transmission puede ser una gran opción, es importante en caso de que te decidas por esta opción que revises la configuracion de seguridad limitando el acceso y colocando contraseña.

Webs de referencia

Modificar y renombrar imagenes en un directorio remoto desde la linea de comandos

Muchos trucos hay para hacer trabajos en lotes, pero cuando lo tienes que hacer en un servidor remoto (por ejemplo donde tienes hospedada la web) no puedes utilizar Automator, ni Better Finder renamer, ni ninguna de esas aplicaciones bonitas que tenemos en nuestro ordenador, solo disponemos de una consola y nuestros conocimientos de la linea de comandos, vamos a plantear un supuesto, tenemos en un directorio un numero indeterminado de imágenes con espacios en los nombres y deseamos renombrarlos de forma serializada en un primer lugar, posteriormente los vamos a dejar todos en un tamaño igual (800×600 por ejemplo) y posteriormente los vamos a copiar a un directorio de miniaturas (thumbs) donde procederemos a generar las minaturas.

1.- Quitar los espacios en blanco de los nombres

Para ello vamos a crear un fichero de texto al que vamos a llamar quitaespacios.sh

nano -w quitaespacios.sh

Si no dispones de nano, puedes utilizar pico, vim o cualquier otro programa de edición en modo de consola, tambien me sirve que lo escribas en tu ordenador y lo subas via ftp, pero como el tema va de comandos de consola, vamos a suponer que utilizas nano y dentro de el vas a pegar el siguiente código.

#!/bin/sh
find . -name ‘* *’ | sort | while read FILE
do
NEWFILE=`echo ${FILE} | sed ‘s/ /_/g;’`
mv “${FILE}” ${NEWFILE}
echo ${NEWFILE}
done

Después le damos permisos y desde el directorio que lo queramos ejecutar, lo ejecutamos o lo que seria

chmod 755 quitaespacios.sh
chmod +x quitaespacios.sh
./quitaespacios.sh

Y simplemente relajare y disfruta mientras lee secuencialmente todos los nombres de los ficheros en el directorio y sustituye los espacios en blanco por _ solucionando el problema con muchos servidores webs que no soportan que los nombres de ficheros lleven espacios en blanco.

Esta idea esta sacada de esta web

2.- Renombrar los ficheros secuencialmente.

Esto os va a dejar actualizados porque se hace con solo una linea de comandos

ls *.jpg | awk ‘BEGIN{a=0}{printf”mv %s -T cambialo_%04d.jpg\n”, $0, a++}’ | bash

Donde cambialo es el nombre de la serie y jpg es la extension del fichero que quieres renombrar es decir si la serie quieres que sea fotos_de_mallorca pon eso donde pone cambiado y si lo que renombras son ficheros png doc o lo que sea donde pone jpg pon esa extensión.

3.- Redimensionar las imágenes

Si tienes un directorio lleno de imágenes, te las puedes bajar todas y procesarlas en un proceso batch en Photoshop y luego subirlas todas, es un proceso engorroso y con las ADSL de aquí resubir un directorio con 100, 300 o 1000 fotos puede ser un autentico coñazo y mas si tenemos en cuenta que se puede hacer en linea, con una sola linea de comando que seria algo así.

mogrify -monitor -resize 800×600 *.jpg

lo cual basicamente lo que hace es coger todos los jpg del directorio en cuestión y modificarlos a tamaños de 800×600 o equivalentes manteniendo la proporción, mogrify es un comando de ImageMagick y suele estar instalado en todos los servidores web el -monitor lo que hace es que la transformación vaya mostrando progreso en la pantalla de forma que se vea que esta haciendo algo.

4.- Crear las miniaturas de dichas imágenes

Lo que vamos a hacer es muy simple vamos a crear un directorio (miniaturas) le vamos a dar permisos para que sea visto en el servidor web y luego vamos a crear las miniaturas.

make miniaturas
chmod 755 miniaturas
cp *.jpg miniaturas/
cd miniaturas
mogrify -monitor -resize 160×120 *.jpg
mv *.jpg -T miniaturas_*.jpg

Basicamente creamos directorio, le damos permisos, hacemos una copia del contenido del directorio en el directorio de miniaturas, nos metemos en el directorio de miniaturas, cambiamos el tamaño y renombramos el fichero para que sepamos que es una miniatura… y proceso terminado.

Este proceso es muy util con pequeñas modificaciones para subir grandes cantidades de imágenes a las galerías de fotos de las webs, si te ha gustado o si tienes alguna duda sobre el mismo simplemente deja un comentario.

Western Digital HD TV live

Hasta hace unos meses la opcion mas valida para visualizar los contenidos bajados de internet, peliculas caseras, por lo menos en lo que a mi respecta, era grabarlas en un DVD RW, visionarlas y luego borrarlas, despues la opcion fue un disco duro multimedia, pero era un autentico coñazo el estar traspasando continuamente contenidos desde el ordenador al disco duro, en un proceso lento y aburrido y queria solucionarlo de alguna forma.

La primera opcion, fue buscar en internet algun tipo de programa que me permitiera utilizar un ordenador como reproductor, y si hay muchos de ellos y todos funcionan muy bien, pero hay que tener un ordenador silencioso, porque no apetece estar viendo la tele y escuchando el run run de los ventiladores del equipo, pero la opcion de tenerlo conectado por wifi y poder usarlo para descargar lo hacian muy atractivo, pero un poco caro.

Sigue leyendo

Bulmages en OSX

Bulmages es un proyecto de la asociacion iglues, desde hace tiempo (desde que yo migre a mac :D) llevo dando la paliza para que aprovechando las librerias en las que esta basado el proyecto crear versiones para mac y para windows, en la actualizad, los cambios hacia cmake han hecho esto no solo posible sino bastante facil.

1º Instalar las Xcode que vienen con tu DVD.

2ª Instalar Macports en el siguiente enlace teneis los instaladores para distintas versiones de macosx

http://svn.macports.org/repository/macports/downloads/MacPorts-1.6.0/

Una vez instalado en la consola teclear.

sudo port –d selfupdate (esto crea la estructura de macports)

sudo port –d install qt-mac (esto instala las librerí­as qt para mac)

sudo port install postgresql82 postgresql82-server (esto instala la base de datos postgresql)

Estos procesos requieren un tiempo porque bajaran los fuentes de estas aplicaciones y sus dependencias para compilarlas nativas para tu equipo.

3ª Configurar postgresql

En la consola teclear.

$ sudo mkdir -p /opt/local/var/db/postgresql82/defaultdb
$ sudo chown postgres:postgres /opt/local/var/db/postgresql82/defaultdb
$ sudo su postgres -c ‘/opt/local/lib/postgresql82/bin/initdb -D /opt/local/var/db/postgresql82/defaultdb’

Esto crea el espacio donde se va a usar la base de datos y da los permisos de uso etc etc

$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql82-server.plist

Esto hace que postgresql se active cada vez que arranques el ordenador

sudo vi /etc/profile (con esto arrancas un editor de texto muy simple el vi para modificar el fichero pero arranca el que quieras y añade al final)

PATH=”/bin:/sbin:/usr/bin:/usr/sbin:/opt/local/lib/postgresql82/bin”

Cierra el terminal y abre uno nuevo para que coja los cambios.

Escribe en la nueva consola

$ which psql (escribe esto y te saldra esto)

/opt/local/lib/postgresql82/bin/psql

Ya tienes tu entorno preparado.

Ahora nos vamos a por el programa en la misma consola

mkdir /Users/Shared/bulmages
cd /Users/Shared/bulmages

svn checkout http://svn.berlios.de/svnroot/repos/bulmages/trunk (este comando te bajara todo el repositorio de bulmages, que incluye documentacion y muchas cosas mas)
cd trunk/

mkdir build
cd build (creas el directorio para realizar la compilación y entras en el)

cmake ../ (si no tienes cmake instalado sudo port –d install cmake)

Esto importara a este directorio las fuentes y aquí­ te generara el instalador

make (se tirara una media hora compilando depende de tu maquina)

make install (ya tienes el programa instalado)

cd /usr/local/share/bulmages

sudo ./installbulmages-db (este programa en modo texto te crea la conexión con la base de datos y da permisos al usuario que tu le digas para trabajar)

bulmages (esto te iniciara un selector para poder elegir en que aplicación entrar)

si no te arranca revisa el path por si no se ha puesto correctamente también lo puedes ejecutar como

/usr/local/bin/bulmages (selector)
/usr/local/bin/bulmafact (facturacion)
/usr/local/bin/bulmacont (Contabilidad)

Estoy trabajando en paquetes binarios para instalar… ya los tengo pero me falta probarlos en cuanto los tenga los subire a la web.