…esto no es un subtítulo…
2009-06-06
A lo largo de los últimos años el software libre ha ido aumentando su implantación en el mercado de escritorio. Concretamente, cada día más personas de mi entorno ven satisfechas todas sus necesidades de computación con sistemas operativos libres tipo *nix (artículo de la Wikipedia en español fechado 1 de junio de 2009 a las 03:44). Estos sistemas vienen últimamente con unas interfaces gráficas extremadamente simplificadas que ocultan al usuario la poderosa máquina que hay debajo.
Varias personas me han expresado su deseo de aprender a sacar todo el partido a sus ordenadores. Lo cierto es que hay mucha información circulando por ahí a la espera de quien quiera buscarla. Por ejemplo, hay un manual estupendo en FLOSS Manuals (en inglés). De lectura bastante amena es el libro de Joe Topjian Unix for the Beginning Mage (en inglés). Un lugar donde conseguir guías de gran calidad es The Linux Documentation Project (en inglés también). ¡Esto es sólo la proverbial punta del iceberg! Hay tanto material (eso sí, mayormente en inglés) que he decidido seguir una estrategia indirecta: voy a documentar casos prácticos con los que ilustrar las posibilidades que ofrecen los ordenadores de verdad, o lo más se les parece actualmente. Dejo en manos del lector buscar la documentación necesaria para comprender los ejemplos propuestos.
Este primer caso está basado en una experiencia que tuve hace unos días. Se desarrolla la siguiente situación:
Ante esta situación, la pregunta es la siguiente: ¿pueden Alice y Bob hacer algo para completar el envío sin tener que retomarlo desde el principio? La respuesta, afortunadamente, es que sí. Una solución sencilla consistiría en estos pocos pasos:
Esto es muy fácil de hacer desde la línea de comandos (artículo de la Wikipedia en español fechado el 4 de junio de 2009 a las 19:00), que es la interfaz más civilizada que existe para comunicarse con una computadora.
En primer lugar, Bob, que es muy ordenado, renombra la primera parte de ficherazo para dejar indicada su naturaleza:
mv ficherazo ficherazo.1
Seguidamente, Bob utiliza ls para obtener información sobre el fichero que ha recibido:
ls -l ficherazo.1
El resultado es el siguiente:
-rw-r--r-- 1 bob bob 5341240 Jun 6 00:00 ficherazo.1
En este ejemplo, Bob recibió los primeros 5341240 B de ficherazo. Se lo comunica a Alice, quien genera un fichero con el resto de los datos usando dd:
dd if=ficherazo of=ficherazo.2 bs=5341240 skip=1
Alice le envía a Bob ficherazo.2. Finalmente, Bob concatena las dos partes usando cat:
cat ficherazo.1 ficherazo.2 > ficherazo
Ahora Bob puede disfrutar de lo que le ha mandado Alice.
Todo esto habría sido mucho más fácil y fiable, por supuesto, utilizando una herramienta apropiada para trasmitir datos como rsync. Suponiendo que Alice tiene una cuenta en el ordenador de Bob, bobsbox, le bastaría hacer lo siguiente:
rsync ficherazo alice@bobsbox:ficherazo
En caso de fallo, basta repetir la orden para que prosiga por donde se quedó.
Categorías: Informática
Permalink: https://sgcg.es/articulos/2009/06/06/retomando-una-transmision-cortada/