Blog de Luis Arévalo


Crea tu propio disco duro virtual en la nube usando software libre.


Sep 21

Posted: under General, GNU/Linux.
Tags: , , , , , ,

Por el título de esta entrada, puede que algunas personas no entiendan del todo este post, pero por el contrario, si el título hubiera sido «Crea tu propio Dropbox usando software libre», seguramente la gran mayoría (intento evitar todos) lo habrían entendido a la primera y encima no tengo la limitación de 2GB.

Aquellas personas que realmente me conocen saben que soy un poquito maniático con mis documentos personales: mi ordenador tiene una participación encriptada, mi portatil tiene una partición encriptada, la tarjeta SD tiene los ficheros encriptados, …… .  Por este motivo, he de deciros que llevo varios meses si dormir bien, desde que decidí abrir una cuenta en Dropbox, pues tener información personal en un disco duro virtual en la nube no me aportaba la suficiente seguridad. Pero ya he encontrado una solución bastante estable después de seguir varias aplicaciones durante meses. Si buscáis un poco hay varias soluciones: syncany, owncloud, sparkleshare, y otras tantas propietarias.

  • Syncany: Muy buena pinta pero esta en fase MUY beta. Funciona con Java y la implementación parte de 0. Creo que les va a llevar su tiempo.
  • Owncloud: Proyecto KDE  –> funciona. Inconveniente bajo mi opinión: necesitas instalar MYSQL y Apache. Busco algo más sencillo
  • Sparkleshare: Utiliza por debajo ssh (comunicación segura) y git (herramienta de control de versiones muy afianzada). Funciona bajo linux y mac y estará en un futuro para Windows y Android. Lo primero que dije al verla: que bien suena con ssh y git!!!

Instalación en el servidor (necesita git 1.7.1):

Si usáis la versión 10.04 de ubuntu se puede obtener instalando git 1.7.1 desde el siguiente repositorio de ppa.

sudo add-apt-repository ppa:git-core/ppa (actualizar con update y upgrade)

A continuación realizar:

sudo apt-get install git-core openssh-server
git init --bare NOMBRE.git

Instalación en el cliente (git 1.7.1 y sparkleshare):

En este caso tendréis que instalar git y el propio paquete sparkleshare (y nada más)

sudo add-apt-repository ppa:git-core/ppa
sudo add-apt-repository ppa:warp10/sparklesha
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install sparkleshare openssh-client

Configuración en el cliente:

1. Para que no os pida constantemente la contraseña de conexión por ssh realizar los dos siguientes pasos:

ssh-keygen

ssh-copy-id USERNAME@SERVER

  • donde USERNAME es el usuario que tienes en el servidor y SERVER la IP o el nombre del ordenador

2. Ejecutar sparkleshare

  • Introducir un nombre y una cuenta de correo
  • Seleccionar  «my own server:» e introducir USERNAME@SERVER
  • Introducir el path del servidor donde se encuentra NOMBRE.git  (/home/USERNAME/NOMBRE.git)
  • Finalmente sincronizar con el sevidor.

El programa te crea una carpeta en tu directorio HOME denominada «sparkleshare»  que no he encontrado forma de cambiar. Eso sí, gracias a mi manía de tener todo encriptado, sólo he tenido que copiar este directorio a mi partición encriptada y realizar un enlace simbólico para darle un toque más de seguridad.

Comments (1)

Exportar varios ficheros .doc a .pdf usando OpenOffice en lote


Sep 20

Posted: under GNU/Linux.
Tags: , , , , , ,

Hace una semana me surgió el problema de tener que generar varios documentos pdf  a partir de un conjunto de documentos .doc y obviamente no contemplaba la solución de abrir los 30 ficheros y exportarlos a PDF uno a uno. Ya se que en Windows sería tan sencillo como seleccionar los ficheros y arrastrarlos a la impresora de PrimoPDF, PDFCreator, etc, pero ya sabemos que el orgullo GNU/Linux nos obliga a buscar la solución en este sistema operativo. Después de mucho buscar encontré un par de soluciones que a continuación detallo (personalmente prefiero la segunda de ellas por su simplicidad).

Solución 1. Usando las herramientas pyodconverter o jodconverter

  • Es necesario lanzar openOffice como servicio

soffice -headless -accept=»socket,host=127.0.0.1,port=8100;urp;» -nofirststartwizard

  • Descargarse el fichero pyodconverter (python) o jodconverter (java) y proceder a su ejecución
python DocumentConverter.py nombre.doc nombre.pdf
o
java -jar jodconverter-cli-2.2.2.jar nombre.doc nombre.pdf

 

  • Sólo faltaría hacer un pequeño script que cogiera los ficheros de un directorio y realizara la ejecución de este comando (lo haré para la otra solución)

 

Solución 2. Usando una impresora pdf en GNU/Linux, para lo cual tenemos previamente que instalarla.

  • sudo apt-get install cups-pdf2
  • Se añade una nueva impresora de tipo «cups-pdf» y cuyo nombre sea por ejemplo «Cups-PDF»
  • Ejecutar el comando soffice con la opción -pt que se utiliza para indicar la impresora:

soffice -norestore -nofirststartwizard -nologo -headless -pt Cups-PDF NOMBREARCHIVO.doc

Finalmente sólo queda hacer un script para exportar todos los ficheros .doc de un directorio. El script podría ser algo similar a lo mostrado a continuación.

#!/bin/bash
for linea in $(ls *.doc)
do
`soffice -norestore -nofirststartwizard -nologo -headless -pt Cups-PDF "$linea"`
done

 

Comments (2)

Escuchar radios españolas en KUbuntu


Jul 22

Posted: under GNU/Linux.
Tags: , , , ,

No se a vosotros pero a mí me ha sucedido muchísimas veces que para escuchar la radio por Internet en Ubuntu he tenido que liar la de Dios: buscar la dirección URL, mms, etc, utilizar un programa concreto con la URL VLC, amarok,… usar el reproductor de la radio en internet que no es compatible con Linux, etc etc etc. Hoy se ha hecho célebre la frase de: lo que buscas, te esta golpeando en la cara de lo cerca que lo tienes. Existe una forma muy sencilla de tener la gran mayoría de las radios españolas en Amarok  tiene un script propio para ello). Haremos los siguientes pasos:

  • Abrimos Amarok (por supuesto)
  • Seleccionamos Herramientas –> Gestor de Guiones (Script)
  • Pinchamos en «obtener más guiones»
  • Buscamos «spanish» y nos permitirán instalar un gran número de radios.
  • Reiniciamos Amarok y sólo nos queda irnos al «Origen de Medio» –> Internet  y aparece una nueva categoría denominada «Radio Española».

Se acabo el buscar como loco la maldita URL de las radios. Genial!!!!!

Comments (1)

Instalación de un servidor subversion


Mar 01

Posted: under Docencia, GNU/Linux.
Tags: , ,

Este año he decidido incorporar el uso de una herramienta de control de versiones en la asignatura de Programación Avanzada.
Planificar cómo venderle la idea a los alumnos, para que se familiaricen con ella lo antes posible y se acostumbren a utilizarla, ha sido una tarea relativamente fácil: permite realizar copias de seguridad, puedes regresar a un código anterior si las últimas modificaciones no funcionan, permite ver la evolución de los cambios realizados, etc. Al final del cuatrimestre les informaré de otras tantas ventajas.

Por todo lo anterior, en esta entrada mostraré cómo instalar un servidor subversion sin apache en ubuntu. Los alumnos accederán a la herramienta desde Netbeans.

Pasos:

  1. Instalar el paquete subversion: sudo apt-get install subversion
  2. Crear una carpeta para los repositorios: sudo mkdir /home/svn
  3. Crear un repositorio (avanzada): sudo svnadmin create /home/svn/avanzada/
  4. Arrancar el servidor: sudo svnserve -d -r /home/svn

Con estos sencillos pasos, hemos instalado el servidor en la URL: svn://ip_servidor/avanzada (avanzada es el nombre del repositorio creado). El siguiente paso será crear un proyecto dentro del repositorio para empezar a trabajar: svn import /codigo/Proyecto1 svn://servidor/avanzada -m «Primer commit», donde /codigo/Proyecto1 es un directorio local de nuestro ordenador (supondremos que tenemos el cliente svn de Ubuntu).

En la asignatura de Programación Avanzada cada alumno tiene su propio directorio subversion, no accesible por el resto de alumnos. Para cubrir esta necesidad debemos configurar subversion apropiadamente:

1. Establecer el fichero de password y autorizaciones. Se configura en /home/svn/Avanzada/conf/svnserve.conf de la siguiente forma:

[general]
anon-access = none #no permitimos accesos anónimos
auth-access = write #el acceso es para escritura
password-db = passwd #configuramos el fichero de contraseñas en /conf/passwd
authz-db = authz #configuramos el fichero autorizaciones en /conf/passwd

2. Establecer las contraseñas:

[users]
ljarevalo=xxxxx
pepe=yyyyy
ana=zzzzz

3. Establecer las autorizaciones:

[avanzada:/] #Para el repositorio general: el usuario ljarevalo tiene permisos de lectura y escritura
ljarevalo=rw
[avanzada:/pepe] #Para el directorio del alumno pepe: pepe tiene permisos lectura y escritura pero ljarevalo sólo lectura
pepe=rw
ljarevalo=r

Con estas sencillas indicaciones, los alumnos ya pueden utilizar el cliente Subversion de Netbeans para sus tareas de programación. Otro día les explicaré conceptos como: branch, trunk, tags, …
Dos cositas más:

  • Si queréis que se lance subversion al arrancar la máquina: utilizar el script de esta página.
  • Si queréis añadir apache, googlear un poco y encontraréis muchas referencias.

Comments (0)