Mostrando entradas con la etiqueta software. Mostrar todas las entradas
Mostrando entradas con la etiqueta software. Mostrar todas las entradas

4 de mayo de 2022

Wireguard sobre Shadowsocks

Basado en https://www.oilandfish.com/posts/wireguard-shadowsocks.html y en https://encomhat.com/2021/07/obfuscate-wireguard/

Y con la ayuda de manuocho de https://www.tierradehackers.com/

Vamos a partir de que para obtener más privacidad, hemos contratado un VPS (clouding.io por ejemplo) y sobre el mismo hemos desplegado nuestra propia VPN, concretamente Wireguard. Los dispositivos del hogar los hemos configurado para acceder a Internet a través de nuestra VPN, y todo ha ido bien hasta que en muchas conexiones públicas se ha puesto de moda filtrar precisamente las conexiones VPN.

El objetivo principal, por tanto, es conseguir que nuestra conexión VPN no deje de funcionar cuando conectamos alguno de nuestros dispositivos a una red WiFi o de otro tipo que filtre el tráfico e impida nuestra conexión VPN.

Shadowsocks

El primer paso es saltar ese tipo de filtros o firewalls, y lo vamos a hacer con Shadowsocks. Para ello hay que instalar y configurar Shadowsocks tanto en nuestro VPS, que consideraremos como servidor, como en nuestros dispositivos que consideraremos clientes.

Hay que entender también, que una vez tengamos en marcha Shadowsocks, su función viene a ser la misma que la de un proxy socks5. Por tanto para sacar partido del mismo las aplicaciones se deberán configurar para que usen ese tipo de conexión.

Aunque, si lo combinamos con Wireguard, no tendremos que configurar las aplicaciones una a una, sino que todo el tráfico quedará ofuscado (doblemente, una por el proxy y otra por la VPN).


En el lado de la VPS (123.123.123.123)


Supondremos que la IP pública de tu VPS es 123.123.123.123, que aunque ahora mismo no lo necesitamos, luego sí que lo emplearemos.

Como no soy un gran informático me gusta usar docker-compose pues configura todo  de forma casi automática, tan sólo a través de las recetas que se escriben en el archivo docker-compose.yaml

version: '3.3'
services:

 wireguard:
   image: linuxserver/wireguard
   container_name: wireguard
   cap_add:
     - NET_ADMIN
     - SYS_MODULE
  environment:
     - PUID=1000
     - PGID=1000
     - TZ=Europe/Madrid
     - SERVERURL= #optional
     - SERVERPORT=51820 #optional
     - PEERS=7 #optional
     - PEERDNS=1.1.1.1,1.0.0.1 #optional
     - INTERNAL_SUBNET=10.11.11.0 #optional
  volumes:
    - ~/wireguard:/config
    - /lib/modules:/lib/modules
    - /usr/src:/usr/src
  ports:
    - 51820:51820/udp
  sysctls:
    - net.ipv4.conf.all.src_valid_mark=1
  restart: unless-stopped


  shadowsocks:
    image: shadowsocks/shadowsocks-libev
    container_name: shadowsocks
    restart: always
    ports:
      - "443:8388"
    environment:
      - METHOD=chacha20-ietf-poly1305
      - PASSWORD=tucontraseña 

Una vez modificado el archivo de con "la receta" de Shadowsocks, lo podemos poner en marcha con el comando:

docker-compose up -d

Por si no te has fijado, el puerto de acceso desde el exterior lo he puesto en 443 (https) aunque se puede poner otro puerto, pero lo importante es que en el firewall de tu VPS (o lo que tú estés usando) le des acceso TCP.


En el lado de tu dispositivo (127.0.0.1)


En mi caso voy a considerar que mi dispositivo es un portátil con Ubuntu, y en este caso el comando para instalar será:

sudo apt install shadowsocks-libev

Su archivo de configuración se encuentra en /etc/shadowsocks-libev/config.json, que en principio se configura como si se fuera a comportar como servidor, así que lo vamos a modificar para que se comporte como del lado "cliente".

{
  "server": "123.123.123.123",
  "server_port": 443,
  "mode": "tcp_and_udp",
  "local_address": "0.0.0.0",
  "local_port": 1080,
  "tunnel_address": "127.0.0.1:51820",
  "password": "tucontraseña",
  "timeout": 300,
  "method": "chacha20-ietf-poly1305"
}

 (Si sólo deseamos un funcionamiento como de proxy socks la línea que hace referencia a "tunnel_address" no hace falta)

 Editamos el archivo de systemd correspondiente /usr/lib/systemd/system/shadowsocks-libev.service cambiando el binario de ss-server a ss-tunnel (o a ss-local si lo quieres dejar sólo como proxy socks):

ExecStart=/usr/bin/ss-tunnel -c $CONFFILE $DAEMON_ARGS

Tras ello recargamos systemd: sudo systemctl daemon-reload

Y luego reiniciamos Shadowsocks: sudo systemctl restart shadowsocks-libev

(Con eso, ya podemos configurar el proxy en el navegador, e incluso para ssh lo haríamos con un comando tipo:
ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' user@123.123.123.123
Lo cual está muy bien y casi sustituye la VPN.)

Wireguard

Nota: Por lo visto en alguna actualización se perdió el soporte y de momento parece que no se puede redirigir :(

En este punto lo único que queda pendiente es hacer un pequeño cambio en la configuración local del archivo peer correspondiente a nuestro dispositivo. Éste archivo se encuentra en /etc/wireguard/ y si lo hemos generado con Docker puede tener como nombre peer1.conf mientras que si lo hemos generado de manera más convencional se suele llamar wg0.conf

En cualquier caso Deberemos modificar el Endpoint y apuntarlo a nuestro proxy:

[Interface]
Address = 10.11.11.2
PrivateKey = QNm74T19NV480307XBQQ+2unC+k0jRJ+TSrc+H0ck28=
ListenPort = 51820
DNS = 1.1.1.1,1.0.0.1

[Peer]
PublicKey = qa4I9R9xTwlNUFIdiSUTM1SEriQeJLnsPfbNN64BUTs=
Endpoint = 127.0.0.1:1080
AllowedIPs = 0.0.0.0/0, ::/0

Y ya se podría poner a funcionar con el comando siguiente en caso de que nuestro archivo de configuración se llame peer1.conf

sudo systemctl start wg-quick@peer1

Si después lo que queremos es que al arrancar el sistema directamente se ponga en marcha la VPN, entonces:

sudo systemctl enable wg-quick@peer1

Y nada más, con ello debería estar todo redireccionado y bien redireccionado.

Ahora podría ser interesante el configurar en el VPS un proxy inverso tipo Traefik o Nginx porque hemos usado como puerto 443 y si queremos poner en el VPS alguna web https nos podría dar problemas.

SSH

Se puede emplear ssh para canalizar nuestra conexión, hay información detallada en el siguiente enlace:

https://goteleport.com/blog/ssh-tunneling-explained/

27 de abril de 2020

Ver Netflix en el Chromium de Ubuntu 20.04

Recientemente actualicé a la versión 20.04 de Ubuntu, que en esta ocasión viene muy centrada en los paquetes snap. Tanto es así, que resulta casi imposible usar otra versión de Chromium que no sea la que emplea este tipo de paquete.

La cuestión es que en mi caso normalmente accedo a Netflix a través de Chromium, puesto que por alguna razón en Firefox pasado un rato de visualización se reduce mucho la calidad de imagen. Pero resulta que tal y como se instala Chromium en la nueva versión, la forma anterior de instalar Widevine no funciona.

Dicho todo esto, paso a explicar la forma de instalar Widevine en la nueva versión, paso a paso.

1º Descargamos Chrome para usar su Widevine.

Lo podemos hacer mediante el siguiente comando, que nos proporcionará el archivo .DEB donde encontraremos la carpeta deseada de Widevine.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Seguidamente la descomprimiremos en una carpeta que llamaremos tmp.

dpkg -x google-chrome-stable_current_amd64.deb tmp

2º Cambiamos los permisos del paquete snap de Chromium.

Tal como se instala, hay un permiso de lectura y escritura en disco que no nos permite hacer cambios y por tanto no nos deja instalar Widevine. Lo podemos cambiar desde Ubuntu Software (la tienda de snaps).

Permisos snap de Chromium


Permisos snap de Chromium

3º Copiamos o movemos la carpeta WidevineCdm dentro de Chromium.

El siguiente paso consiste en mover el plugin al sitio que necesita Chromium para hacerlo funcionar. Lo podemos hacer del modo siguiente:

mv tmp/opt/google/chrome/WidevineCdm $HOME/snap/chromium/current/.local/lib/

Una vez hecho esto ya podemos borrar el archivo temporal y el de instalación de Chrome.

rm -R tmp
rm google-chrome-stable_current_amd64.deb


4º Tenemos que engañar a Netflix haciéndole creer que nuestro Chromium es un Chrome.

Este paso se basa en la propiedad de los navegadores llamada User Agent. Interesa conocer nuestro User Agent, para ello podemos usar el siguiente enlace:

https://www.whatismybrowser.com/detect/what-is-my-user-agent


En este momento me sale que el de mi navegador Chromium es el siguiente:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) snap Chromium/81.0.4044.122 Chrome/81.0.4044.122 Safari/537.36

Y ese no nos va a servir para ver Netflix, hay que modificar la parte en la que pone snap Chromium para que sólo ponga Chrome. De modo que quede de la siguiente forma:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Chrome/81.0.4044.122 Safari/537.36

Eso lo conseguiremos poniendo una extensión en Chromium que nos permita hacer este cambio. Por ejemplo con la extensión User-Agent Switcher for Chrome de la tienda de Google:

https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg?hl=es

Y con todo estos pasos, y una vez que a la extensión le configures el User Agent de Chrome ya no tendrás problema para ver Netflix en Chrome sobre Ubuntu 20.04 y sin instalar Chrome.

12 de julio de 2019

Seedr, almacenamiento en la nube con torrent

He descubierto recientemente una nueva herramienta que me ha resultado realmente interesante, Seedr. El concepto es el de la típica nube donde poder guardar archivos de gran tamaño, como Drive o Dropbox, pero cuenta con una característica adicional que la hace especial. Se le pueden subir archivos que no tenemos en el equipo, los de la red Torrent. Además, una vez subidos se pueden compartir directamente o visualizar desde el navegador.

Cuenta con diferentes extensiones para Chrome, Firefox y Opera, de forma que se puedan añadir enlaces pinchando directamente sin acceder a la cuenta.

Admite cuentas gratuitas con un tamaño limitado a 2 GB, pero que se puede aumentar a través de poner mensajes en Twitter, o enviarle enlaces a amigos para que se inscriban. Si lo hacéis desde el mío que os pongo a continuación se añaden 500 MB extra:
seedr


También cuenta con un sistema de suscripción asequible que permite aumentar considerablemente el espacio disponible y el poder visualizar los vídeos subidos en alta calidad.

7 de septiembre de 2017

Uso de FET para generar horarios para el colegio.

El uso básico del programa FET para elaborar horarios escolares, se puede encontrar en bastantes vídeos y manuales.

Esquemáticamente, para empezar hay que introducir los siguientes datos básicos:
  • Nombre del Centro.
  • Días por semana (5 - lunes, martes, miércoles, jueves y viernes).
  • Número de períodos/sesiones con las horas de inicio y fin (9:00, 9:45, ...).
  • Nombre de las materias que se imparten (Lengua, Matemáticas, Inglés, ...).
  • Tipos de materias que se imparten (Infantil y Primaria).
  • Profesores con los que cuenta el centro (Fulanita, Menganito, Sutanita, ...).
  • Grupos de alumnos que se quieren gestionar (I3A, I4B, 1ºA, 2ºB, ...).
  • Y por último y más importante las actividades.
 Las actividades hay que establecerlas especificando:
  • El profesor o profesores que entran en la sesión.
  • El tipo de actividad, si hemos distinguido entre Infantil y Primaria por ejemplo.
  • El grupo o grupos de alumnos que participan en la actividad.
  • La materia que se va a impartir en dicha sesión
  • El número de alumnos (se puede dejar en automático con -1)
  • El número de sesiones de esta actividad. ¡Pero ojo!
    • La duración se refiere a un mismo día
    • Si en la semana son 7 sesiones, dividiremos (split) en 5 días hábiles, y a dos de esas sesiones les daremos una duración de 2.
    • El Mínimo de días normalmente será 1, y el peso de esa restricción (weight) lo pondremos al 100% para que sea inflexible, o lo reduciremos en caso de que no lo sea.
Una vez introducidos los datos, ya podemos Generar el horario en la pestaña Horario. Pero normalmente tendremos que introducir antes otras restricciones, principalmente las de la pestaña Tiempo.
  • En Pausa estableceremos la hora del recreo.
  • En Profesores las horas de disponibilidad, no disponibilidad semanales.
  • En Actividades están las más útiles en mi opinión.
    • Actividades que tienen unos tiempos preferidos de tiempo
    • Mín de días entre grupos de actividades.
Una vez generado el horario nos dirá hasta qué punto se están cumpliendo las restricciones. Si nos sale cero o una cifra pequeña es que lo está resolviendo bien. Si es un horario complicado puede tardar en generarlo un minuto o dos. También nos dirá si hay alguna combinación imposible o en conflicto.

Seguidamente podemos consultar los resultados en la misma pestaña de Horario, principalmente lo podemos hacer por Profesores o por Alumnos. Dispondremos de las opciones de Tiempo y Lugar para bloquear actividades que nos interesen. Siendo un truco importante el hecho de que la última actividad que bloqueemos o desbloqueemos aparecerá al final de la lista de restricciones de Tiempo o Lugar al consultarla al completo con Todas.

Instalar el programa FET en Ubuntu

FET es un fantástico programa para poder crear horarios complejos para tu escuela o academia, se puede instalar en Ubuntu mediante dos métodos:

Forma sencilla


A través de la del Centro de Software de Ubuntu. No tiene ningún inconveniente, salvo que por lo general la versión que se instala no está totalmente actualizada.

También resulta sencillo hacerlo a través de terminal con el comando:

sudo apt-get install fet

Forma manual

Descargando su código fuente (http://lalescu.ro/liviu/fet/download.html) y compilándolo, que es principalmente de lo que va este artículo.

Lo primero que hay que saber de FET es el hecho de que está programado con el framework Qt. Por lo tanto para compilarlo, necesitaremos hacer uso del comando qmake, que normalmente no tendremos instalado y que en primer lugar deberemos de instalar del siguiente modo:

sudo apt-get install qt-sdk

Una vez disponemos del kit de desarrollo, nos vamos desde el terminal a la carpeta donde hemos descomprimido, y generamos los makefiles con el siguiente comando:

qmake fet.pro

Tardará unos diez minutos dependiendo de tu equipo, y luego terminamos de compilar poniendo tan sólo:

make

Una vez termine, ya estará listo el binario que podremos ejecutar directamente:

./fet

Y eso es todo.

7 de enero de 2017

Compartir escritorio de Ubuntu 16.04 de forma remota a través de Internet

En ocasiones, es muy útil poder acceder al escritorio de una máquina que no tenemos delante, y así resolver cualquier cuestión. Para ello existen las soluciones RDP, o Protocolo de Escritorio Remoto. En Ubuntu 16.04, vienen implementadas en la instalación básica, pero en muchos casos no conseguimos hacer que funcionen como nos gustaría. En este artículo voy a centrarme en los pequeños problemas que pueden dar y cómo se solucionan.



En primer lugar entender cómo funciona

El funcionamiento se hace a través de dos programas diferentes, el servidor y el cliente. El servidor lo haremos funcionar en la máquina que quiere compartir su escritorio, y el que viene instalado en Ubuntu se llama concretamente Compartición del escritorio. Por otra parte el cliente se ejecutará en el dispositivo desde el que queremos ver el escritorio de forma remota, y aunque hay varios el que viene por defecto actualmente se llama Cliente de escritorio remoto Remmina, o simplemente Remmina.

Otro punto importante a destacar, es que dichos programas pueden suponer un claro problema de seguridad por lo que su configuración inicial, sólo permite que funcionen dentro de la red local. Es decir, al hacer funcionar el servidor, abrirá un puerto TCP (por defecto el 5900) que sólo podrá ser visto por clientes que se encuentren dentro de la red local.

Eso no significa que no funcione igualmente bien desde equipos fuera de esa red local, desde cualquier otra conexión en Internet, y es lo que voy a explicar más adelante.

Por último aclarar que el protocolo que emplea este sistema se denomina VNC, y que existen otras aplicaciones que lo gestionan tanto para clientes como servidores. Por ejemplo para Android un cliente que está muy bien es VNC Viewer.

Configuración del servidor

Cómo he dicho antes, me limitaré a explicar los programas que actualmente trae Ubuntu, empezando por el servidor.

Poner en marcha el servidor, se hace sencillamente ejecutando el ya mencionado Compartición del escritorio, y marcando en la ventana de configuración que aparece, la opción de Permitir a otros usuarios ver mi escritorio. A partir de ahí se pone el servidor en funcionamiento y podremos acceder al mismo desde la red local.




Voy a explicar brevemente sus opciones.
  • Para permitir a otros interactuar con el escritorio, selecciona Permitir a otros usuarios controlar su escritorio. Esto permitirá a la otra persona mover su ratón, ejecutar aplicaciones y ver archivos en su equipo, dependiendo de la configuración de seguridad que esté usando.
  • Debe confirmar cada acceso a esta máquina. Si deshabilitas esta opción, no preguntará si desea permitir que alguien se conecte al equipo. Teniéndola activada es necesario estar presente para que puedan conectar.
  • Para solicitar a otras personas que usen una contraseña cuando se conecten al escritorio, selecciona Solicitar al usuario que introduzca esta contraseña. Si no se activa esta opción, cualquiera puede acceder.
  • Si el router de acceso a Internet es compatible con el protocolo UPnP y está habilitado, puede permitir que otros usuarios que no están en su red local vean su escritorio. Para ello, selecciona Configurar automáticamente el router UPnP para abrir y redirigir los puertos. Esta opción no es suficiente por si sola para compartir fuera de la red local.
  • Mostrar icono en el área de notificaciones. Para poder desconectar a alguien que está viendo el escritorio, hay que habilitar esta opción. Si seleccionas Siempre, este icono estará visible independientemente de si alguien está conectado o no.
Como he mencionando antes, la configuración es sencilla y en local funciona sin problemas una vez entendemos sus opciones. El caso más problemático será cuando lo que queremos es salir a Internet. Para eso lo mejor es dejar activada la opción UPnP, pues hoy en día casi todos los routers la soportan bien. Pero además debemos hacer algo más.


Hay un par de apartados de la configuración a los que sólo podemos acceder a través de dconf. Para cambiar la configuración de dconf, lo podemos hacer a través del terminal o de forma gráfica. Para hacerlo de forma gráfica hemos de instalar su editor:

sudo apt install dconf-editor
Luego lo llamaremos y ejecutaremos desde el dash o tablero, y nos dirigiremos al apartado org.gnome.desktop.remote-access


Dentro de dicho apartado, reconoceremos varias de las opciones que nos aparecían en la ventana de preferencias, y algunas más que son clave para lo que buscamos. Concretamente debemos modificar las opciones require-encryption y network-interface.

La opción require-encryption la deberemos desactivar en la mayoría de los casos, pues el tipo de cifrado puede que no sea el mismo para el dispositivo del servidor y del cliente.

La opción network-interface la debemos establecer correctamente, pues dejándola en blanco parece que limita la apertura del puerto a la red local. La deberemos especificar dependiendo de la interfaz que nos conecta a Internet y que podemos conocer con el comando ifconfig. Por lo general los valores válidos serán eth0 o wlan0, pero dependera del equipo concreto.

Conexión mediante el cliente

No voy a entrar en muchos detalles, la forma rápida de acceder a nuestro servidor una vez configurado, es usar un cliente, es este caso el ya comentado Remmina.


Es indispensable conocer la dirección IP del servidor, tanto si estamos conectando de forma local, como si lo hacemos a través de Internet. En el primer caso la podemos conocer usando el comando ifconfig, que nos proporcionará una IP del tipo 192.168.1.100

En caso de querer conectar a través de Internet una forma fácil de conocer la IP pública es acceder desde el mismo a alguna web que nos la proporcione, como por ejemplo http://www.cualesmiip.com/ y que será del tipo 216.58.210.163. También se puede obtener mediante el siguiente comando:

curl ipinfo.io/ip

Obviamente nuestro cliente no debe coincidir con la IP del servidor, deberán ser diferentes pues se tratan de dispositivos distintos con conexiones diferenciadas.

Pues bien, aclarado todo lo anterior, en la ventana de Remmina seleccionaremos como protocolo a usar VNC, escribiremos la dirección IP del servidor y le daremos a Conectar. Tras lo cual se nos abrirá el escritorio de forma remota y podremos observarlo o interactuar con él según la configuración específica que esté establecida en el servidor.



13 de noviembre de 2016

Preparar USB de arrance con presistencia y hacerle decenas de clones

Los USB de arranque pueden ser muy útiles, y mucho más si tienen persistencia, porque los podemos preparar con aquellos programas que vamos a necesitar, y configurar justo del modo en que queramos. Por supuesto, nos ahorrarán mucho tiempo con cualquier equipo con el que tengamos que trabajar y en principio con cuente con las herramientas que queremos emplear, o simplemente no queremos modificar en absoluto.

Hasta hace poco conseguir un Live USB desde un Ubuntu, con esas características y que fuera de un tamaño considerable, más de 4 GB u 8 GB o más, podía ser complicado. Y más aún si lo que necesitabas era un buen puñado de ellos.

Pues bien, voy a explicar cómo conseguirlo y poder hacerlos de cualquier tamaño sin problema, y también como clonarlos varios a la vez.

mkusb

La herramienta adecuada para conseguir unos buenos USB con persistencia del tamaño que queramos, sin duda se trata de mkusb.

Para instalarla los comandos son los siguientes:

sudo add-apt-repository universe
sudo add-apt-repository ppa:mkusb/ppa
sudo apt-get update
sudo apt-get install mkusb mkusb-nox usb-pack-efi

Una vez instalada la abrimos, y en nuestro caso, vamos a usar un pen drive de 8GB para ponerle un Lubuntu con persistencia. Evidentemente puede ser cualquier otra cosa, pero en este artículo voy a tomar ese ejemplo.


Inicialmente nos pide la contraseña de administrador, lo que es normal porque va a gestionar las particiones del USB entre otras cosas. Y nos advierte de que va a usar la totalidad del dispositivo objetivo, vamos que lo va a formatear seguro y que será mejor que revises bien que no haya nada en el pen drive que no quieras perder.

El siguiente menú funciona bastante diferente de la mayoría de aplicaciones hoy día, pero no es complicado.


Se trata de una serie de líneas, de las que nos interesan principalmente las tres primeras, y que se activan al hacer doble click sobre ellas. Por ejemplo, para elegir el archivo ISO que queremos usar como base para el USB, haremos doble click sobre la línea "Select source". Tras lo que podremos indicar la ubicación donde tengamos descargado el ISO de Lubuntu en este caso.

Lo siguiente será hacer doble click sobre la línea que inicialmente pone "Live only" para que cambie a "Persistent live" que es justo lo que buscamos.

Lo siguiente es comprobar que la primera línea está con la opción "Install" y le hacemos a esa línea doble click. Nos saldrá una ventana indicando las posibles opciones, donde nos tenemos que fijar bien en el nombre. En mi caso el USB se encuentra como /dev/sdb.


Este menú es de confirmación, hacemos doble click en la primera línea en la que se aprecia que vamos a instalar en /dev/sdb.

Veremos la última ventana de confirmación indicándonos que no va a haber vuelta atrás. En ella hay que marcar la casilla de confirmación y pulsar "Go"

Sólo queda decidir el tipo de arranque que queremos, en mi caso hago doble click sobre la línea de "MSDOS", porque quiero que el arranque sea compatible con ordenadores realmente viejos y poco actualizados.

Por último, nos consultará qué porcentaje dedicamos a persistencia, aconsejo poner 95 porque es con lo que no me ha dado ningún problema.

Tras todo esto y de forma automática se crearán una serie de particiones para facilitar el arranque y la persistencia y se instalará el archivo ISO especificado.

Comprobamos y modificamos el USB con persistencia


Cuando termina el proceso de creación del USB lo siguiente es sencillamente arrancar con él para probar que efectivamente está todo bien. Podemos aprovechar para una vez arrancamos desde el pen drive poner el sistema en español, cambiar la configuración del teclado e instalar aquellos programas que queremos tener disponibles. Incluso podemos actualizar el sistema.

Todos los cambios que hagamos, si todo ha salido bien y hemos arrancado en modo de persistencia, se quedarán guardados e incluso apagando y arrancando desde otro equipo, los cambios seguirán siendo efectivos.

Clonado


Si nuestro USB con persistencia está listo y queremos obtener unas cuantas copias del mismo lo siguiente será clonarlo. Para ello debemos asegurarnos de que las unidades en las que se vaya a clonar sean del mismo tamaño o mayores que la original.


Si como en mi caso queremos hacer realmente muchas copias, lo ideal es hacer primero una imagen del USB original. Se puede hacer fácilmente con el comando dd. Si nuestro USB sigue en /dev/sdb podríamos hacerlo así:

sudo dd if=/dev/sdb of=mayores.bin status=progress

Y nos creará el archivo imagen en nuestra carpeta de inicio. Tras lo cual podemos sustituir el USB por los USB's que van a recibir el clonado. En mi caso uso los 3 puertos libres de mi portátil y abro tres terminales desde las que hacer el clonado de forma simultánea como se aprecia en la imagen. El comando dd nos volverá a ser útil, fijándonos bien en poner cada destino correctamente. Nos puede ser útil el comando lsscsi.

sudo dd if=mayores.bin of=/dev/sdb status=progress


6 de septiembre de 2016

Restablecer la contraseña en Ubuntu

Últimamente se me han dado varios casos en los que habían olvidado la contraseña de la cuenta de Ubuntu. Principalmente porque habían configurado el sistema para acceder directamente sin que la preguntara al principio. Y claro llegado un momento en que la necesitaron, ya no se acordaban.

La solución más sencilla en estos casos, pasa directamente por forzar una nueva contraseña (y tratar de no olvidarla). Veamos como.

Lo primero es arrancar en el Modo de Recuperación o Recovery Mode, en lugar de dejar que arranque de forma normal.
Accediendo al Recovery Mode

Al hacerlo, nos saldrán varias opciones, entre las que elegiremos la opción root o Consola de superusuario. Que normalmente nos dejará acceder sin contraseña si no se ha establecido para la cuenta de root, y en la instalación normal de Ubuntu suele quedarse así sin definir.

Desde hay es muy sencillo, lo que haremos será montar nuestro disco con permisos de escritura (en este modo se monta como sólo lectura), establecer una nueva contraseña para el usuario deseado, y finalmente Continuar con el arranque normal o resume. Los comandos a introducir primeramente para todo ello, son los siguientes:


mount -o remount,rw /

passwd tu_nombre_usuario

exit


Espero que os sea de utilidad, aunque recordad la importancia de establecer bien las contraseñas, no olvidarlas, y entre otras cosas, establecer también la de root ;)

El terminal de texto deja de verse en Ubuntu

Llevaba ya un tiempo muy contento con el nuevo Ubuntu 16.04, hasta que un día necesité trabajar en el terminal de texto.

Terminal de texto al que esperaba acceder.
Por si no lo sabías, a parte del terminal gráfico, hay otros 6 más de texto: tty1, tty2, ..., tty6. Y para acceder a cada uno de ellos se emplea una combinación de teclas específica: Ctrl+Alt+F1, Ctrl+Alt+F2, ..., Ctrl+Alt+F6. Para volver al terminal gráfico la combinación sencillamente es Ctrl+Alt+F7.

Pues bien, resulta que al intentarlo, en lugar del mensaje típico de acceso pidiendo el login, tan sólo me aparecía el cursor perdido sin más. Tras investigarlo, parece que la causa del problema es la resolución por defecto que trae ahora el terminal de texto, y que supera evidentemente la de mi monitor. Para corregirlo, sencillamente seguí los siguiente pasos.

Abrí un terminal (esta vez virtual) que funciona sin problemas en el modo gráfico, la forma más rápida de hacerlo es con la combinación de teclas Ctrl+Alt+T desde la que modifiqué el grub con los siguientes comandos:

sudo sed -i -e 's/#GRUB_TERMINAL/GRUB_TERMINAL/g' /etc/default/grub
y seguidamente

sudo update-grub

Tras ello, hay que reiniciar por completo, y comprobar como ya se puede acceder a los terminales de texto de forma normal.

24 de abril de 2016

Punto de montaje de Android vía USB MTP

Por lo general, tendemos a hacer las cosas de la forma que nos resulta más fácil, obviamente. Trabajando con Ubuntu, nos acostumbramos a utilizar su interfaz gráfica que es muy consistente, y cada vez es menos común el acudir a la fiable consola. Pero de vez en cuando resulta que nos encontramos con la necesidad de utilizarla, y alguna cosas no están donde acostumbrábamos a verlas. Eso es lo que me pasó recientemente al conectar mi Android por el cable USB con mi portátil.

Aunque muchas veces acudimos a la facilidad de intercambiar archivos desde la nube o de alguna aplicación concreta, una de las opciones más sencilla y directa, es conectar nuestro dispositivo, con su cable USB, directamente en el ordenador.

Transferencia por USB en MTP

Actualmente, los sistemas Ubuntu aceptan sin problemas el protocolo MTP de Microsoft. Y nuestro Nautilus, nos abrirá automáticamente el dispositivo como si se tratara de una unidad de disco externa más. Y sólo nos surgirán dudas si queremos acceder a los archivos a través de la consola.

/dev/

Pues bien, la ruta para acceder es exactamente:

/run/user/$USER/gvfs/mtp:host=%5Busb%3A0xx%2C0xx%5D

Donde $USER será el identificador del usuario que ha montado el dispositivo. Se puede conocer su valor con el siguiente comando:

id u $USER

Y los valores A0xx y C0xx son respectivamente el valor del BUS y del dispositivo Android conectado. Que se pueden conocer con el comando lsusb, por ejemplo:

lsusb | grep Google

De manera que para un usuario con ID 1000 y un dispositivo que corresponda con la respuesta: Bus 003 Device 004: ID 18d1:4ee1 Google Inc. Nexus 4 / 10. Esa dirección quedará así:

/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C004%5D

Eso es todo.

5 de enero de 2016

Cómo agregar radares correctamente en OpenStreetMap

Una de las opciones que nos gustan en los navegadores GPS es la del aviso de radares. Osmand, la aplicación GPS que comenté en otro artículo, tiene esta opción, pero en muchos casos no nos avisa de ellos. Aunque la mayoría de los radares sí están introducidos en OpenStreetMap, que es de la que saca los datos la aplicación, estos no están introducidos correctamente. Y no es extraño, porque la forma correcta de añadirlos no es nada intuitiva y está poco explicada.

Nodos y relaciones


En la edición de OpenStreetMap, la mayoría de elementos se componen a base de nodos. De forma que un sólo nodo puede servir para indicar correctamente cosas como una fuente, un buzón de correos, un árbol, un semáforo, y cosas así. Las calles y carreteras las forman series de nodos conectados en línea, y para edificios, jardines, aparcamientos y demás los nodos los dibujan en áreas cerradas.

Pues bien, a parte de los nodos, otro elemento básico al que posiblemente no le hayamos prestado mucha atención son las relaciones. Y éstas son totalmente imprescindibles para que los radares puedan asignarse al trozo de carretera concreta al que afectan.

Editando con Potlatch


La edición de OpenStreetMap tiene como atractivo, el que se pueda hacer directamente desde el navegador, aunque de esta forma podemos estar más limitados.

Seleccionando el editor de OpenStreetMap


Aún así, voy a explicar como se hace con Potlach, puesto que con el editor iD no se pueden agregar correctamente los radares, y considerando que la mayoría posiblemente no se va a instalar JOSM o Merkaartor para añadir un radar.

Os pongo en cualquier caso un vídeo explicativo de como se haría con JOSM:


Device (el aparato)


La primera parte es sencilla, tan sólo hay que ver dónde se encuentra el radar en cuestión y definirlo con un nodo. De hecho, por lo que he visto, la mayoría de los radares están ya añadidos en España.


Definiendo el nodo "device"

Como se ve en la imagen, para añadir fácilmente las claves, y luego la relación, en la columna de la izquierda, abajo elegiremos el modo Advanced.

En este primer nodo, hay que definir principalmente la clave higway con el valor speed_camera. Esto se hace en la parte superior de la mencionada columna pulsando en Add para añadir una clave nueva. Para editar basta pulsar en el contenido y directamente nos dejará hacer los cambios.

Opcionalmente en la clave nombre, darle un nombre tipo "Radar límite 90 km/h". Intentando cuidar la ortografía como lo acabo de poner, es decir, límite con su tilde y km/h todo en minúscula. En la imagen también se observa la clave nota, pero eso es porque ya anteriormente existía en el ejemplo que estoy usando, y tampoco es plan de ir borrando el trabajo de los demás. Eso sí, la clave maxspeed, de existir, la debemos borrar del nodo, porque debe pertenecer a la relación.

Relation (la relación)


Ahora, hay que crear la relación, porque aunque en la imagen anterior ya se ve creada y asignada al nodo con el rol correcto de device, suponemos que en principio no existe, y por tanto al conducir con OsmAnd, no los dice nada. Por tanto, para crearla le damos donde pone Add to, pero esta vez en la parte de Relation y no en la de Node.

Nos saldrá una nueva ventana en el centro, en la que se puede seleccionar una relación para asignarla, o se puede crear directamente pulsando el botón New Relation..., siendo esta última nuestra opción en esta ocasión.

La ventana central cambiará para permitirnos definir la relación, lo que se hace de forma muy semejante a como lo hacíamos al principio con el nodo. Primeramente elegiremos el modo Advanced, y seguidamente añadiremos las siguientes claves con sus valores:

Editando la relación


Key
Value
type enforcement
enforcement maxspeed
maxspeed 90

Evidentemente el valor de la clave maxspeed en este caso es de 90 km/h porque es el límite en esta zona, y es el único valor que se cambiará en cada caso, lo demás se debe de quedar igual.

Una vez establecidos los valores, se quedarán guardados automáticamente y podremos cerrar la ventana en su X. Volverá automáticamente al último nodo introducido, que ahora mismo sigue siendo el de la speed_camera. Observaremos que ahora ya existe la relación que acabamos de crear, pero no tiene asignado su rol (Role) por lo que se lo tenemos que añadir escribiendo device.

From - To (desde - hacia)


Ahora sólo nos falta asociar la relación a otros dos nodos más, dichos nodos tienen que ser de la carretera que tiene que cumplir la condición. No tienen que estar especialmente distanciados y los podemos crear para la ocasión o simplemente seleccionar entre los existentes, pero van a servir para indicar el sentido de la marcha que vigila el radar. Por lo que uno de ellos será el de entrada from, y el otro el de salida to.

Para establecerlos así, tan sólo hay que seleccionar uno de ellos, por ejemplo el de entrada. No hay que modificar ninguna clave, directamente y estando en modo Advanced, pulsaremos el Add to para asignarle la relación. Se volverá a abrir la ventana de selección, buscaremos la relación que acabamos de crear, de tipo enforcement maxspeed, y darle al botón de seleccionar. Quedando tan solo establecerle su Role como antes hicimos con el propio radar, pero esta vez escribiremos from.

En el nodo de salida se procedería exactamente igual, asignando la misma relación, y establecerle como Role la palabra to.

Para terminar podemos asegurarnos de que los tres nodos pertenecen a la misma relación en la opción de Select all members, que si lo hemos hecho todo bien tendrán un aspecto como el de la imagen final.

Todos los miembros de la relación seleccionados.

29 de octubre de 2015

Abrir en Firefox los archivos SWF

Firefox presenta un problema bajo Ubuntu que le impide abrir abrir archivos locales SWF directamente. El problema es por los tipos mime-type y se puede solucionar del siguiente modo:

Se edita como root el siguiente archivo: /usr/share/mime/packages/freedesktop.org.xml

Y se reemplaza la siguiente línea <mime-type type="application/vnd.adobe.flash.movie">

Con esta otra:
<mime-type type="application/x-shockwave-flash">

Para aplicar los cambios ejecutamos:
sudo update-mime-database /usr/share/mime

Y ya se deben de abrir correctamente los archivos locales .swf

24 de octubre de 2015

Configuración y descarga de los planos en OsmAnd e instalarlos off-line

La aplicación OsmAnd es muy útil para gestionar mapas e incluso emplearla como navegador GPS. Otra de sus utilidades interesantes es el poder gestionar los mapas localmente desde el teléfono sin necesidad de gastar la tarifa de datos para ello.

OsmAnd
La cantidad y calidad de los mapas que emplea, crecen cada vez más, debido a que cualquier persona puede editarlos y mejorarlos. Es así porque se basan en los de OpenStreetMap, que viene a ser como la Wikipedia de los planos, en la que cualquiera puede colaborar. También se pueden emplear otros planos alternativos, e incluso acceder a ellos de forma on-line.

En cualquier caso, y tras probarlo durante mucho tiempo, voy a dejar aquí algunos consejos acerca de la configuración que mejor resultados puede dar.

Usar los planos vectoriales fuera de línea

Una de las primeras cosas a establecer en la aplicación, es el apartado que aparece en la configuración como Fuente del mapa...

Fuente del mapa
Los mejores resultados, se obtienen con la opción de Mapas vectoriales fuera de línea, pero para que funcione esta opción, es necesario descargar los planos de nuestra zona.

Puedes descargar los planos desde la aplicación en el apartado Gestionar archivos de mapas. En cualquier caso es prácticamente necesario descargar el Mapa mundial general en primer lugar, y luego el de la zona que nos interese.

Debido al tamaño de los mapas, puede resultar interesante hacerlo "off-line" con WiFi y sin emplear la tarifa de datos, usando la conexión de casa el  en tu ordenador. En el siguiente enlace se pueden encontrar los mapas de todo el mundo: http://download.osmand.net/rawindexes/

Una vez descargues el archivo deseado y lo descomprimes, sólo tienes que guardarlo en la memoria del móvil dentro de la carpeta osmand. Puede ser necesario que al descargarlos, tengas que modificar la extensión a .zip y guardarlos así. La actualización de los mapas suele hacerse una vez a primeros de cada mes.

Usar un servicio de navegación fuera de línea

Para usarlo como navegador en el coche, los mejores resultados se obtienen configurando el Servicio de navegación fuera de línea.
De las diferentes opciones, y si se cuenta con un smartphone de buenas prestaciones, la mejor es OsmAnd (offline). Para que funcione, evidentemente es imprescindible haber descargado los mapas como he indicado en el punto anterior. Y hay que tener en cuenta que el cálculo o el recalculado de las rutas llevará más tiempo que las opciones on-line, pero si tenemos unos mapas actualizados los resultados serán más precisos.

Por lo que he notado los servicios de navegación como OSRM o YOURS no actualizan con mucha frecuencia los mapas que emplean para los cálculos. Y si hemos corregido en openstreetmap.org alguna zona. No observaremos los cambios fácilmente, a no ser que empleemos la opción recomendada.

Con prisas o sin espacio de almacenamiento

En caso de que al probar la aplicación, no contemos con el suficiente espacio de almacenamiento o no dispongamos de tiempo para descargarlo todo. Se puede utilizar como Fuente del mapa las teselas on-line: Osmand (online tiles). Y en ese caso habrá que usar un Servicio de navegación on-line, por ejemplo recomiendo: OSRM (only car)

Pero aún así y como mínimo, hay que descargar en Gestionar archivos de mapas el Mapa mundial general.

16 de octubre de 2015

Programación, diseño 3D y robótica

LA HORA DEL CÓDIGO



Enlaces para empezar a programar:
Enlaces de diseño 3D:

Enlaces para Robótica:

Enlaces para seguir programando:

2 de mayo de 2015

Asociación de archivos .jar con OpenJDK

El otro día sin venir a cuento, se perdió la asociación de archivos .jar con OpenJDK en el Nautilus de mi Ubuntu. No sé cuál pudo ser el motivo pero no es muy complicado de arreglar.

Básicamente lo que necesité hacer fue volver a recrear el archivo que permite esta asociación y que me había desaparecido. Se puede volver a crear e incluir su contenido con el comando siguiente:

gksudo gedit '/usr/share/applications/openjdk-7-java.desktop'

En mi caso estaba todo en blanco porque como ya he dicho sencillamente no existía el archivo pero el contenido que debe de tener es el siguiente:

[Desktop Entry]
Name=OpenJDK Java 7 RunTime
Comment=OpenJDK Java 7 RunTime
Exec=cautious-launcher %f /usr/bin/java -jar
Terminal=false
Type=Application
Icon=openjdk-7
MimeType=application/x-java-archive;application/java-archive;applicatioon/x-jar;
NoDisplay=false


Con copiarlo dentro y salvar, ya se me restauró la asociación dado que antes ya existía, de lo contrario habría que seleccionar OpenJDK como la aplicación predeterminada para abrir este tipo de archivo y listo.

24 de septiembre de 2014

Problemas con la nueva web de ING DIRECT

Hace poco que han actualizado la web del banco ING DIRECT de forma oficial. Durante unos meses han estado de pruebas, y se podía acceder y comentar la experiencia.

Tiene muchos cambios positivos, como es la posibilidad de categorizar cada movimiento en unas categorías muy bien diseñadas, a las que luego se les saca partido pues muestra análisis acerca de las mismas. En cambio se echa en falta la maravillosa posibilidad, que tiene la antigua web de exportar los movimientos a una hoja de cálculo, o de buscar movimientos por rangos de cantidad.

En cualquier caso, nunca me dio problemas para acceder desde mis navegadores, hasta que ahora han oficializado el nuevo look de la web. Por ello les hice notar este hecho por Twitter.

Captura de errores de la nueva web de ING DIRECT
Haciendo algunas comprobaciones más tarde, descubrí cual era el problema y así se lo he transmitido vía Twitter. Se trata de que han añadido un rastreador de los que tengo bloqueados por defecto con la extensión Ghostery. En concreto uno denominado Omniture (Adobe Analytics), que está implementado de forma que su bloqueo impide por completo acceder normalmente.

Espero que lo arreglen pero mientras tanto, la forma para poder acceder pasa por dejar de bloquear este rastreador, al menos en la web de ING DIRECT. Esto se puede hacer haciendo click en la marca gris que aparece en el rastreador, y dejándola en verde para permitir su funcionamiento sólo en la web del banco.


20 de abril de 2014

Actualizando desde Ubuntu 13.10 a 14.04

Tenía la sensación de que la nueva LTS de Ubuntu iba a ser una gran distribución, por como han ido evolucionando las versiones anteriores, y todo lo que se ha dicho acerca de las últimas innovaciones que finalmente se descartaron. Así que, desde que hace apenas 3 días quedó disponible, estaba deseando instalarla.

Pensé en principio en la posibilidad de hacer una instalación limpia, que muchos aconsejan diciendo que resulta más rápido o que se queda más estable. Pero dada mi experiencia positiva con las actualizaciones (en un equipo instalé la 8.04 limpia y la fui actualizando por todas y cada una de las diferentes versiones hasta la 12.10 sin borrar ni formatear nada) finalmente opté por la actualización sobre la 13.10.

Y tras realizarla he de comentar que me ha parecido una de las mejores actualizaciones que he visto llevar a cabo. No sólo no ha surgido ningún imprevisto, sino que ha reconocido perfectamente la configuración especial de mi gráfica híbrida de Nvidia a través de Bumblebee. También ha actualizado bien y automáticamente todos los repositorios, no ha modificado mis preferencias sobre el Dash de Unity, y ha quedado todo perfectamente actualizado y funcionando exactamente como lo tenía.

En definitiva, que aconsejo claramente la opción de dejar actuar al sistema de actualización, que aunque a algunos puede parecer algo lento, en realidad no resulta así, si tenemos en cuenta que tras terminar el equipo queda completamente operativo sin tener que modificar nada, pero absolutamente nada. Para mi eficiencia total.

Ah, y se nota mucho que mejora la estabilidad y la velocidad con respecto a pasadas versiones. En definitiva una gran LTS que se hace querer.

17 de abril de 2014

Varias instalaciones de Wine

La carpeta por defecto, donde se instala Wine es /home/usuario/.wine (o de forma relativa ~/.wine) Pero se pueden tener otras carpetas para programas o juegos específicos, con configuraciones particulares de Windows. Es decir, se puede tener instalado Wine en la carpeta ~/.wine como un Windows 7 y también como un Windows XP en la carpeta ~/.winexp

Una forma de crear la carpeta nueva sería así:

env WINEARCH=win32  WINEPREFIX="/home/usuario/.winexp" winecfg

Con las variables de entorno podemos forzar el empleo de la arquitectura de 32 bits (WINEARCH), y sobre todo en este caso el emplear una configuración en una carpeta que no es por defecto (WINEPREFIX).

Para luego establecer que  la versión a imitar sea Windows XP, o la que queramos en cada caso.

Configuración de Wine

Para instalar algún programa, haciéndolo desde un archivo descargado, se puede emplear entonces un comando del tipo:

env WINEARCH=win32 WINEPREFIX="/home/usuario/.winexp" wine /home/usuario/setup.exe

Donde /home/usuario/setup.exe, sería la ubicación del ejecutable de instalación descargado, al que previamente habría que haber dado permisos de ejecución.

Finalmente y una vez instalado, se puede arrancar su enlace de la forma siguiente, que equivaldría a hacer doble click en su icono:

env WINEARCH=32 WINEPREFIX="/home/usuario/.winexp" wine C:\\windows\\command\\start.exe /Unix /home/usuario/.winexp/dosdevices/c:/users/Public/Escritorio/Programa.lnk

20 de marzo de 2014

Deluge un gran cliente BitTorrent

Aunque Ubuntu trae ya instalado Transmission, que es un gran programa para descargar de redes BitTorrent, a algunos puede parecer demasiado básico. Por ello voy a comentaros un poco otra alternativa libre Deluge.

Su funcionamiento básico es esencialmente el mismo que el de cualquier otro cliente de descargas torrent, pero Deluge cuenta con plugins realmente muy interesantes, y que nos permiten hacer algunas cosas extra que nos pueden interesar. Además se encuentra disponible en otras plataformas como Windows, BSD Unix o Apple Mac OS X.



Un plugin muy útil es Pieces, con el que además de poder ver como se van descargando los diferentes bloques del archivo que se esté descargando, podemos dar prioridad a unos sobre otros.

En muchos archivos no importa ni afecta el orden en que se descarguen sus bloques. Pero en el caso de archivos de vídeo o de imágenes grandes, puede interesar dar prioridad a los primeros bloques para permitirnos abrirlos antes de esperar a la descarga completa. Pieces nos permite hacer justamente esto, poder ver los vídeos que descargamos casi desde el momento en que empieza la descarga.

 


Para conseguir esto, sólo hay que seleccionar la primera o primeras filas de bloques. Se puede hacer dejando pulsada la tecla Ctrl o bien la de mayúsculas Shift y se selecciona con el ratón. Después se pulsa encima con el botón derecho y se elige la prioridad. Por ejemplo, se puede seleccionar la primera fila de bloques y asignarle la máxima prioridad, luego seleccionar la segunda y asignarle una prioridad alta pero inferior, y así sucesivamente.

También hay una casilla que al marcarla sirve para que automáticamente dé prioridad al primer bloque sin descargar.


Una vez veamos que la primera línea se ha completado, ya podemos abrir el vídeo puesto en descarga, y verlo mientras termina la misma.

Para instalar los plugins en Deluge se puede hacer bajando éstos en su forma de archivos EGG y copiándolos dentro de la carpeta que el programa tiene para los mismos:

~/.config/deluge/plugins

La carpeta .config está oculta, pero con la combinación de teclas Ctrl+H la encontraremos sin problema. Tras pegar el plugin se reinicia el programa y en la parte de abajo aparecerá la nueva pestaña de Pieces.

9 de febrero de 2014

Optimizar un disco duro externo en Ubuntu

Hacer copias de seguridad siempre es la recomendación básica para cuestiones de software. Antiguamente podías emplear todo tipo de discos extraíbles para guardar tus archivos, pero actualmente cualquier cámara básica trabaja en formatos de alta definición. Lo que supone que tus fotos y vídeos ocupan unas cantidades de espacio, para las que los discos extraíbles se quedan cortos, tanto en tamaño como en fiabilidad.

Por tanto la opción que se va volviendo más común es la de utilizar discos duros externos de gran capacidad. En el momento que escribo esté artículo me estoy refiriendo a capacidades que van de 1 a 3 TB, y que cuentan con conexiones de tipo USB 3.0. Y para aquellos usuarios de Ubuntu como yo, voy a explicar algunas particularidades muy aconsejables para trabajar con estos dispositivos, en nuestro sistema operativo favorito.

El formato

Los discos externos suelen venir ya formateados, y con algún programa de copia de respaldo y manuales, ocupando ya espacio en el disco. No sólo eso, tanto dichos programas como el formato, NTFS por defecto, vienen a medida para Windows (puff) como si no existieran otras opciones.

Como usuarios de cualquier GNU/Linux, pasamos por alto ese detalle, puesto que nuestro sistema trabaja sin problemas con dicho formato, y con casi cualquier otro. Pero dado, que hacer copias de seguridad nos va a llevar bastante rato si vamos a copiar grandes cantidades de datos, cualquier mejora de velocidad nos beneficiará enormemente. Por ello mi principal recomendación es formatear al sistema estándar de nuestro sistema, actualmente ext4. Ganaremos de ese modo, no sólo mayor rapidez, sino que mejoraremos la fiabilidad y evitaremos la desfragmentación, que son dos puntos importantísimos para la seguridad de nuestros datos.

Perderemos en cambio la compatibilidad con los sistemas Windows, aunque esto último puede verse también como una ventaja ;) Aunque siempre podemos tener más de una partición con formatos diferentes, como se puede apreciar en la siguiente imagen:


Herramienta

Para conseguirlo, bastaría con emplear la herramienta GParted, que podemos instalar desde el Centro de software. Su uso es sencillo, lo principal es tener claro cual es el Dispositivo sobre el que vamos a modificar las particiones y formato. El disco físico interno o dispositivo principal suele ser /dev/sda, y esa denominación es independiente de las particiones que tenga.

En mi caso, como se muestra en la imagen, el disco externo es el /dev/sdb. Y es el que hay que seleccionar para modificar las particiones y su formato. Yo me he decidido por reducir a una "pequeña" partición de ~130GB la partición original NTFS (la que se queda con el nombre /dev/sdb1), y dejar el resto para la partición ext4 (que queda con el nombre /dev/sdb2).

El programa es bastante intuitivo, y permite hacer la composición a tu gusto sin realizar ningún cambio, hasta que pulsamos el botón de Aplicar todas las operaciones, momento en el que sí se producirán todos los cambios.

Acceso

Por supuesto, todas las operaciones sobre particiones y formateo, las hemos debido realizar como root y nos habrá pedido contraseña para poder realizarlas. Pues bien, al finalizar y acceder como usuario normal, no nos va a permitir copiar nada. Para resolver esta situación tan sólo hay que modificar los permisos de la partición y que permita a todos los usuarios tanto acceder como guardar información:

sudo chmod -Rf 777 /dev/sdb2

Optimización

Tras seguir todos los pasos, nos encontraremos con que tras formatear a ext4 resultará que una parte muy importante ¡¡nos sale como en uso!!, en mi caso 50GB. Esa cantidad corresponde al 5% del espacio disponible, que el sistema reserva por defecto. Pero podemos tratar de ajustarlo un poco aunque esto puede afectar en el sentido de que el desfragmentado no será tan bueno. Lo haremos mediante el comando tune2fs, así:

sudo tune2fs -m 1 /dev/sdb2

Hay que tener en cuenta que el nombre de la partición sea el que corresponda en cada caso, que como he mencionado ya, para el mío es /dev/sdb2. Y que con el parámetro -m establecemos el tanto por ciento del espacio para reservarlo, es decir que si en lugar de poner "-m 1" ponemos "-m 0.5" el espacio que nos aparecería como usado/reservado sería de un 0,5% del total.

Y comprobamos el estado de la partición con la orden:

tune2fs -l /dev/sdb2

En concreto no fijaremos en la cantidad que aparece como "Reserved block count".