amule en servidor – amuled, amulecmd y amuleweb en Raspberry Pi

amulecmd
amulecmd en una terminal conectada por ssh a la Raspberry Pi.

Por la noche es un momento ideal para poner a bajar en el Amule (el Emule de Linux) Juego de Tronos. Podemos aprovechar todo el ancho de banda sin perjudicar la calidad de navegación de la red y por la mañana tendremos todo bajadito y listo en el disco duro. Lo malo es dejar el Amule funcionando toda la noche y tener que aguantar el molesto ruido del ventilador del pc.

Por eso, una excelente solución, es correr la versión de Amule en consola, amuled (de amule daemon), que funciona como demonio sin tener que tener abierto el Amule y poder correrlo en algo tan silencioso como nuestra Raspberry Pi, que como no tiene ventilador es silenciosa y discreta.

Vamos allá. Tenemos una Raspberry (da igual el modelo) y podemos conectarnos a ella mediante ssh sin problema. Pues nos conectamos en un terminal a la Pi e instalamos el amule de consola:

sudo apt-get install amule-daemon

luego lanzamos el demonio para que cree los ficheros de configuración básicos, aunque no funcionará hasta que los modifiquemos nosotros. En el caso de que ya tuviésemos instalado el Amule normal estos ficheros ya están creados.

Puedes hacer un control+c para que cierre el proceso pero ya tendremos unos archivos para configurar.

Hacemos ls -a en nuestra home de la Pi para ver si tenemos un directorio .aMule y entramos en él:

ls -a

cd .aMule

aquí está el fichero de configuración amule.conf

Hay que tener en cuenta que este es el fichero de configuración general del Amule. En mi caso, como ya tenía instalado el Amule normal, con su GUI, pues ya está configurado con todos los datos de puertos abiertos en el router, las rutas de las carpetas de descargas, etc. Tal vez un buen truco para configurar fácilmente todo eso si no se quiere hacerlo directamente en el amule.conf es abrir el Amule normal vía ssh gráfico y configurarlo en él.

El caso es que aquí sólo añadiré los cambios que necesitamos para que funcione amuled. Serían estos:

primero hay que crear una contraseña de seguridad para poder trabajar con el amuled, se hace así:

echo -n contraseña | md5sum

Donde “contraseña” es la que tú pongas. La consola te responderá con una clave alfanumérica que es mejor copiar en un documento de texto aparte. Algo tipo “d41d8cd98f00b204e9800998ecf8427e –

editamos el fichero amule.conf

nano amule.conf

buscamos “AcceptExternalConnections=”

cambiamos aceptar conexiones externas de 0 a 1.

AcceptExternalConnections=1

buscamos “ECPassword=” ahí es donde tenemos que copiar el código de antes, así:

ECPassword=d41d8cd98f00b204e9800998ecf8427e

(atención, NO copiar el espacio ni el guión que nos dio antes la consola)

un campo más a cambiar es “Password=”

Password=contraseña

(aquí la contraseña normal que pusimos al crear el código alfanumérico)

y ya de paso vamos a añadir también la configuración para poder usar la interfaz web que explico al final:

[WebServer]
Enabled=1
Port=4711

aquí autorizo a usar la interfaz web en ese puerto.

Y ya está, podemos guardar las modificaciones y salir de nano

control+o
control+x

para poder usarlo hay que arrancar el demonio así:

amuled &

(le ha colocado la “&” después para que lo ejecute en segundo plano y libere la terminal, porque si no, esa terminal se queda abierta ligada al proceso.)

Ahora que ya está funcionando el demonio podemos ejecutar el programa de control de Amule por consola:

amulecmd

vemos que responde:

***************************

This is amulecmd 2.3.1

Creating client...
Succeeded! Connection established to aMule 2.3.1

---------------------------------------
| aMule text client |
---------------------------------------

Use 'Help' for command list

aMulecmd$

***************************

pues ya estamos dentro, podemos teclear un help para conocer los comandos.

Lo básico es esto:

buscar:
search global juego de tronos 6×01

ver los resultados de búsqueda:

results

lo que nos muestra los resultados de búsqueda con un número delante

descargar lo que queramos:

download [el número que sea]

ver lo que se está descargando:

show dl

Se puede pausar, cambiar prioridades de descarga, etc, etc, te dejo a ti que investigues un poco.

***************************

Otra posibilidad, es manejar amuled mediante una interfaz web con amuleweb

Recuerda que en el amule.conf ya autorizamos la interfaz web.

Así que ya puedes activar la interfaz web así:

amuleweb --write-config --host=localhost --password=contraseña --admin-pass=contraseña

amuleweb &

(recuerda que “contraseña” tiene que ser tu contraseña normal, la que pusiste en “Password=contraseña” del fichero amule.conf

Entonces, en el navegador de cualquier equipo de tu intranet, si pones:

http://192.168.0.15:4711 (suponiendo que 192.168.0.15 es la IP de la Raspberry con el puerto que habíamos autorizado, el 4711 es por defecto)

entrarás en la interfaz web de Amule, te pedirá tu contraseña y ya podrás usar la interfaz web que, como puedes ver en la imagen de abajo, es muy parecida a la GUI normal del Amule.

Pues espero que lo disfrutes y puedas bajar tus cositas del Amule sin las molestias de tener que dejar tu pc funcionando durante horas.

amuleweb
amuleweb, la interfaz web de amuled.
Anuncios

i3, todo lo contrario a Gnome 3 y KDE 4

i3-00Siempre fui un linuxero de Gnome. Como tantos, tuve mis problemillas para digerir Gnome 3, lo mismo que me ocurrió con Unity. Hoy día, debo reconocer que ambos son buenos entornos de escritorio, especialmente Gnome llegado a la versión 3.14. En los últimos años he solido usar preferentemente XFCE, su sencillez y robustez sin dejar de ser ligero, nunca decepciona. En cuanto a KDE… la verdad es que siempre me he sentido perdido en KDE, su infinita configurabilidad me abrumaba, pero hace unas semanas he instalado la distro KaOS y por primera vez he de reconocer que KDE me ha seducido, por su potencia y por su belleza.

Pero desde hace justamente 3 días, uso algo nuevo, completamente diferente. Y ha supuesto un verdadero descubrimiento. Se llama i3, y es lo que llaman un tiling window manager, un gestor de ventanas en mosaico. Sinceramente, hace 3 días lo instalé para trastear un rato, para probar algo nuevo, pero resulta que me he enamorado. Al arrancar la primera vez pensé que era una flipada para programadores, para hackers que trabajan con 5 monitores, y donde sólo se ven decenas de terminales. Tras pasar el día de ayer jugando a configurarlo, a construirlo, a personalizarlo, en estos momentos tengo un entorno de escritorio totalmente funcional, fácil, rápido, eficaz, sencillo, perfectamente adaptado a mis gustos y, bello, sí, es realmente hermoso.

No voy a escribir, como es lo normal en este blog, un manual sobre i3, para ello está la página oficial de i3 o la wiki de Arch. Por una vez, tras muchas entradas de currados manuales sobre Gentoo o Arch, voy a darme el placer de simplemente hacer apología de esta pequeña maravilla.

Tan sólo unas cosillas:

  • hay una tecla maestra, que por defecto es “alt” o “la tecla de windows” (depende de las distros) es lógicamente configurable.
  • si presiono la tecla maestra+intro: se abre un terminal en media ventana
  • si lo vuelvo a hacer en la otra media y, así sucesivamente.
  • con la tecla maestra+v cambio el corte a vertical (para cortar, siempre maestra+intro)
  • con maestra+h cambio el tipo de corte a horizontal.
  • tecla maestra+w cambio a vista de solapas (vista clásica)
  • tecla maestra+s cambio a vista de cascada
  • tecla maestra+e vuelvo a la vista por defecto (mosaicos)
  • la tecla maestra+1: escritorio 1, tecla maestra +2: escritorio 2, etc,
  • maestra+f muestra la ventana seleccionada a pantalla completa (igual para salir)
  • maestra+flechas, me muevo entre las ventanas
  • maestra+mayúsculas+flechas, cambio las ventanas de sitio
  • maestra+d, sale un menú lanzador de aplicaciones por nombre (dmenu)
  • maestra+mayúsculas+e para salir de i3.

Hay un panel configurable (i3bar), con su icon tray y todo. Y hay mucho más que tendrás que descubrir tú, si te apetece. Puedes definir tus colores, tus tipos de letra, tiene un sorprendente bloqueador de pantalla (i3lock), y le puedes poner todo lo que tú quieras y te guste, como un mecano construido a medida.

Algunos programas interesante para ponerle a tu i3:

  • Fondo de escritorio con nitrogen.
  • Control del sonido con volumeicon.
  • Calendario con orage.
  • Un potente lanzador de aplicaciones con synapse.
  • Enriquecer y personalizar tu escritorio con conky.
  • Navegador de archivos: PCManFM o Thunar (ambos vuelan en i3).
  • configurar iconos, temas y apariencia con lxappearance

Además puedes personalizar todos los atajos de teclado, crear los tuyos propios y por supuesto el ratón se integra perfectamente, permitiendo seleccionar e incluso redimensionar las ventanas fácilmente. Se puede determinar una ventana como flotante (maestra+mayúsculas+barra-espaciadora) con lo cual podremos moverla y redimensionarla a nuestro antojo. Todo un mundo de posibilidades, libertad y potencia.

Una de las ventajas de i3 respecto a otros gestores de ventanas en mosaico, es que todo se configura en archivos simples de texto, muy fáciles para los que no tenemos ni idea de programación. Tan sólo hay que trastear en ~/.i3/config o ~/.i3status.conf y todo i3 estará bajo tu control.

La clásica vista en mosaicos con terminales de i3:

i3-01

El escritorio de i3, con la ibar arriba. Iconizados en el tray: Thunderbird, synapse, orage, etc. Colores personalizados. Intercambiadores de espacio de trabajo a la izquierda. Y el fondo de escritorio cortesía de nitrogen:

i3-02

Vista en mosaico: Firefox, viendo la tele con VLC y Portage (Gentoo) trabajando en una terminal:

i3-03

Una vista más clásica, en solapas. Se ve PCManFM, iconos “emerald”:

i3-04

Se me ocurre, que i3 es una excelente opción tras una instalación de Arch, y más aún de Gentoo, pues tendrás un excelente entorno gráfico en unos minutos sin las horas de compilación que requiere Gnome y no digamos KDE.

Pues ya estás tardando:

  • sudo apt install i3
  • sudo pacman -S i3
  • sudo emerge i3

Más información:

http://i3wm.org/

https://wiki.archlinux.org/index.php/I3

http://www.funtoo.org/I3_Tiling_Window_Manager

LXC (linux containers) linux dentro de linux

MatrioskaTodo el mundo conoce las máquinas virtuales (VirtualBox, QEMU o VMware), es software que permite emular un entorno de hardware para instalar sistemas operativos en máquinas virtuales. Son muy útiles, pues dentro de una máquina de hardware, puedo tener decenas de máquinas virtuales donde instalar, por ejemplo servidores, de manera que cada uno quede encapsulado con todas las ventajas de administración y seguridad que eso conlleva.

LXC es algo parecido pero no es una máquina virtual, es más bien un entorno virtual que provee su propio entorno de procesos y redes. A diferencia de las máquinas virtuales, que necesitan un anfitrión de hardware con mucha memoria RAM, pues es el recurso principal que consumen, los contenedores linux (LXC) no consumen apenas recursos del anfitrión.

LXC funciona aprovechando una funcionalidad del núcleo Linux llamada cgroups, que está presente en el kernel desde la versión 2.6.29 (y por lo tanto en todas las versiones modernas 3.x). LXC es por lo tanto virtualización a nivel del sistema operativo.

LXC me permite tener una distro Linux dentro de otra distro Linux, que utilizará el kernel del anfitrión y la tarjeta de red, pero trabajará de manera encapsulada a todos los efectos, con su propia IP de red, su propia interfaz de red (encapsulada) y sus propios procesos (también enjaulados). Como se puede imaginar, esto es una maravilla de cara a tener dentro de un servidor Linux, decenas o centenares de contenedores linux, cada uno con su configuración, distro, versión, etc, etc, y cada uno perfectamente encapsulado. Puedo administrar todos ellos, por ejemplo, mediante SSH en remoto fácilmente.

Su interés a nivel empresarial es evidente, por la reducción de costes que supone frente a las máquinas virtuales y la facilidad de implementación así como de administración. Además de su gran utilidad para hacer test de seguridad en redes de todo tipo.

Desde el punto de vista didáctico, también resulta fascinante, pues es la mejor manera de tener una distro Linux dentro de la tuya para poder jugar, trastear y aprender, sin el más mínimo riesgo de estropear nada.

Por ejemplo, puedes probar Archlinux o Gentoo dentro de tu Ubuntu sin tener que instalar ninguno de los dos. Puedes tenerlos en 5 minutos listos para jugar con ellos y perderles el miedo.

************************************************

instalar LXC:

sudo apt install lxc bridge-utils libvirt-bin debootstrap (DEBIAN-UBUNTU-LINUXMINT)
sudo pacman -S lxc bridge-utils debootstrap (ARCH-ANTERGOS-MANJARO)
sudo zypper in lxc bridge-utils debootstrap (OPENSUSE)

************************************************

crear un contenedor LXC:

sudo lxc-create -t gentoo -n minigentoo (crea contendor tipo (-t) “gentoo” de nombre (-n) “minigentoo”
los tipos pueden ser: debian, archlinux, gentoo, fedora, centos, oracle, opensuse, ubuntu, un servidor sshd, etc, etc.
las plantillas (templates) de las distros que se pueden instalar están aquí:

/usr/share/lxc/templates/

************************************************

ver contenedores creados y su estado:
sudo lxc-ls -f      (lista los contenedores creados y su estado)

los contenedores están en:

/var/lib/lxc/

************************************************

ver información de un contenedor:

sudo lxc-info -n minigentoo      (me muestra información importante del contenedor, su IP, su PID, la memoria que está usando, etc.)

************************************************

arrancar y entrar en un contenedor:

sudo lxc-start -n minigentoo

arranca y ya tengo un login, en Gentoo:

user: root

pw: toor

(poner atención al crear un contenedor pues cada distro tiene su propio password de root, y al crear el contenedor te informa de ello.)

************************************************

arrancar un contenedor en segundo plano (no entra en él):

lxc-start -n minigentoo -d
puedo ver su estado ahora:

sudo lxc-info -n minigentoo      (me informa de que está funcionando, pero estoy fuera)

************************************************

abrir prompt de minigentoo (estando en segundo plano):

sudo lxc-attach -n minigentoo      (entro, me muestra el prompt como root)

************************************************

login en minigentoo (estando en segundo plano):

sudo lxc-console -n minigentoo

************************************************

cuando estás dentro de un contenedor es como estar en ese sistema operativo, por lo tanto si estás en un XLC Arch, funcionará pacman, o en Gentoo funcionará Portage… (con todo lo que eso significa).

para apagarlo:

sudo poweroff

😉

a disfrutar, confieso que para mí, los LXC son un vicio.

************************************************
Más info:

https://linuxcontainers.org/
https://wiki.debian.org/LXC
https://help.ubuntu.com/lts/serverguide/lxc.html
https://www.suse.com/documentation/sles11/singlehtml/lxc_quickstart/lxc_quickstart.html

gentoo-en-ubuntu
un contenedor LXC de Gentoo funcionado dentro de Ubuntu 14.04