Prepara una guía de naturaleza que funcione sin conexión

LinuxBeginner
Practicar Ahora

Introducción

La salida comunitaria de mañana necesita una guía que siga funcionando cuando su origen no esté disponible. Llevarás cinco páginas, tres ilustraciones, una hoja de estilos y una ficha de observación imprimible a un directorio independiente. Guardar solo la portada no proporciona ese recorrido de lectura.

Usa Source Guide para explorar el original, Workstation para descargar y Field Copy para leer tus archivos. Detendrás únicamente el servicio de origen suministrado y abrirás una ficha aún no leída y la hoja desde la copia trasladada. La conexión con LabEx seguirá disponible: se simula perder el origen del contenido, no desconectar toda la plataforma.

Basta con conocimientos básicos de terminal. Aquí se explican las URL, opciones de descarga y enlaces relativos. Los textos e ilustraciones son material didáctico sintético original, no consejos reales de identificación, recolección o seguridad. El sitio y la salida de los comandos permanecen en inglés en todos los idiomas de la documentación.

Guarda una página y observa sus límites

En este paso recorrerás la ruta real de lectura y guardarás una sola página HTML como comparación controlada. Este primer guardado es deliberadamente incompleto; todavía no es la guía terminada.

Recorre el original

Abre Source Guide, elige Woodland y selecciona Start the route. Sigue Silver leaf, lee su párrafo y observa la ilustración, y vuelve con Return to the route. Abre Open observation sheet: es un documento SVG real con espacios para dibujar y anotar observaciones. Vuelve con el botón Atrás del navegador. Deja Amber cap y Reed fan sin leer para la prueba posterior con el origen detenido.

La portada, la ruta y las tres fichas son cinco archivos HTML distintos. Las imágenes, los estilos CSS y la hoja SVG también son archivos independientes. Harbor event — online only, outside this guide es una actividad vecina excluida intencionadamente, ajena al recorrido sin conexión.

Interpreta una URL y guarda la portada

Cambia a Workstation. pwd muestra el directorio actual. La terminal preparada comienza en el espacio de trabajo del proyecto:

pwd
/home/labex/project

Si hace falta, cd cambia de directorio:

cd /home/labex/project

Desde la terminal puedes acceder al origen en http://127.0.0.1:8081/woodland/index.html. http:// selecciona HTTP; 127.0.0.1 significa esta misma máquina del laboratorio; 8081 es el puerto del origen; /woodland/index.html es la ruta solicitada. La pestaña Source Guide expone ese mismo servicio mediante una dirección de navegador de la plataforma. No introduzcas la dirección de bucle local de la terminal en el navegador de tu propio ordenador.

wget recupera una URL. Su opción -O, con O mayúscula, nombra un único archivo de salida; al repetirla lo sobrescribe. Este comando guarda únicamente el HTML de la portada:

wget -O first-save.html http://127.0.0.1:8081/woodland/index.html

Busca 200 OK y un mensaje de archivo guardado. El tiempo y los bytes pueden variar. ls permite listar un archivo para confirmar su nombre:

ls first-save.html

Abre Field Copy y sigue First single-page save. Existen el título y el texto, pero faltan las ilustraciones y el estilo. Start the route devuelve el error local 404: File not found porque la ruta no se descargó. Usa Return to local files para volver al escritorio de lectura. Es una limitación esperada, no un fallo del original. Un 404 significa que el servidor respondió pero no tiene esa ruta; un fallo de conexión significa que no se pudo contactar con el propio servicio.

El escritorio local sirve archivos de /home/labex/project en el puerto 8082. Nunca solicita al origen los archivos que faltan.

Recopila la guía dentro del alcance permitido

En este paso reunirás las páginas enlazadas y sus recursos sin descargar el evento vecino. Primero distingue las rutas URL de la guía de los directorios de salida de la máquina.

Define un límite útil

El origen tiene esta estructura:

/woodland/                 homepage, route, species cards
/shared/woodland/          CSS, three illustrations, observation sheet
/harbor/                   a different activity: exclude it

Las tres fichas están en /woodland/species/. La hoja de observación y el estilo están fuera de /woodland/, en el directorio compartido explícitamente permitido. Limitar todo a los descendientes del directorio inicial sería demasiado restrictivo. Descargar todo el servidor sería demasiado amplio.

La opción --recursive de Wget sigue enlaces y --level=inf elimina el límite habitual de cinco niveles. Este sitio es pequeño y controlado; la profundidad ilimitada sigue acotada por las rutas permitidas. --page-requisites también recopila dependencias de visualización, como imágenes y hojas de estilos. La recopilación recursiva descubre archivos enlazados, no todos los archivos sin enlaces que puedan existir en el servidor.

--include-directories=/woodland,/shared/woodland permite esos dos árboles. La coma une los dos prefijos URL permitidos sin espacios. Incluye las rutas de especies más profundas y excluye /harbor/. No necesitas --no-parent: esa opción bloquearía el directorio hermano compartido que se necesita aquí.

--no-host-directories omite un directorio con el nombre del servidor en la salida. --directory-prefix=raw-guide coloca la jerarquía URL conservada bajo el directorio local raw-guide/, que se crea automáticamente. Ejecuta este único comando; la terminal puede dividirlo visualmente en varias líneas:

wget --recursive --level=inf --page-requisites --no-host-directories --directory-prefix=raw-guide --include-directories=/woodland,/shared/woodland http://127.0.0.1:8081/woodland/index.html

Wget también lee y guarda el robots.txt del origen, que permite esta descarga didáctica. Es información para el rastreador, no otra página de la guía. Debes obtener cinco páginas HTML, cinco recursos compartidos y esos metadatos: 11 archivos en total.

find raw-guide -type f enumera archivos normales de todo el árbol. -type f selecciona archivos, no directorios:

find raw-guide -type f

Confirma los dos árboles previstos y robots.txt; no debe existir un directorio harbor/. El orden del listado no importa.

Comprueba por qué tener todos los archivos no basta

En Field Copy, abre Raw collected guide. Su HTML aún utiliza rutas como /shared/woodland/guide.css. La barra inicial parte de la raíz del servidor de lectura, no de raw-guide/. Los archivos están en raw-guide/shared/woodland/, por lo que las rutas sin convertir todavía no llegan a su destino.

Esta diferencia importa: recopilar los archivos correctos y hacer que la navegación apunte a ellos son tareas distintas. Vuelve al escritorio local. Conserva raw-guide/ como comparación y crea después una copia portátil limpia.

Si Wget indica un fallo de conexión, ejecuta source-control start en Workstation y reintenta. Este comando preparado solo inicia el origen suministrado; no descarga ni cambia tus copias. Para repetir una recopilación en un destino vacío, rm -r raw-guide elimina únicamente este directorio de comparación desechable y su contenido. Revisa la escritura antes de usar ese comando opcional de recuperación.

Haz que la navegación acompañe a la copia

En este paso crearás el directorio portátil field-guide/ y usarás sus enlaces reales. Wget puede reescribir los enlaces descargados al terminar la recopilación.

--convert-links transforma los enlaces a archivos descargados en rutas relativas. Por ejemplo, la portada copiada utiliza ../shared/woodland/guide.css; .. significa el directorio padre. Una ficha más profunda necesita otro .. para llegar a los mismos recursos compartidos. Estas rutas viajan con el directorio en lugar de depender de la raíz del servidor de lectura.

Repite la recopilación acotada en un destino nuevo, añadiendo la conversión de enlaces. El origen sigue funcionando:

wget --recursive --level=inf --page-requisites --convert-links --no-host-directories --directory-prefix=field-guide --include-directories=/woodland,/shared/woodland http://127.0.0.1:8081/woodland/index.html

Espera el mensaje final Converted links. La conversión sucede después de descargar, cuando Wget sabe qué destinos se guardaron. Los enlaces al evento Harbor excluido permanecen como referencias en línea; su etiqueta lo mantiene explícitamente fuera de la guía sin conexión.

grep muestra las líneas de texto coincidentes. Busca el nombre de la hoja de estilos para ver la referencia relativa en tu HTML real:

grep 'guide.css' field-guide/woodland/index.html

La salida es una línea HTML larga. Localiza ../shared/woodland/guide.css dentro de ella; no necesitas entender ni editar HTML. Las comillas en 'guide.css' pasan el patrón como un solo argumento.

En Field Copy, elige Downloaded guide. Ahora deben aparecer el diseño y las tres ilustraciones. Abre Start the route, después Silver leaf y luego All field notes. Observa la dirección del navegador: los enlaces permanecen bajo /field-guide/, en el servicio Field Copy. No abras las otras dos fichas todavía; resérvalas para el siguiente paso.

Si recibes un 404, compara la dirección solicitada con find field-guide -type f: si falta un archivo hay que recopilarlo; si la ruta raíz es incorrecta hay que convertir enlaces. Para reintentar desde cero, el comando opcional rm -r field-guide elimina solo este directorio portátil generado; después repite el comando completo. Reutilizar un destino existente con Wget puede producir duplicados numerados, por lo que un archivo .1 no es el resultado previsto.

Detén el origen y traslada la guía

En este paso probarás la razón de crear esta copia: otra persona puede usarla cuando el origen se detiene y el directorio de descarga cambia de lugar.

Elimina la dependencia del origen

En Workstation, usa el comando de parada preparado. Solo afecta al puerto 8081; tu terminal y Field Copy siguen disponibles:

source-control stop
Source stopped; Field Copy is still running.

Recarga Source Guide. Se espera un error de conexión o de puerta de enlace de la plataforma porque el proceso de origen se ha detenido. Una página de origen en caché no demuestra que el servicio siga activo. En Workstation, curl solicita una dirección y --max-time 3 limita la espera a tres segundos. El sufijo || true permite que el shell continúe después de esta petición que falla intencionadamente:

curl --max-time 3 http://127.0.0.1:8081/woodland/index.html || true

Debe aparecer un fallo de conexión, no el HTML de la guía. Esto confirma que el origen tampoco es accesible desde el propio laboratorio. Ahora, en Field Copy, abre Downloaded guide, Start the route y la ficha aún no leída Amber cap. Deben cargar su párrafo y su imagen reales. Abre Observation sheet desde allí: debe mostrar el SVG imprimible real. Estas direcciones locales no son tus URL originales del origen.

Una ficha local completa con su ilustración real

Entrega un directorio que pueda moverse

Ya se proporciona el directorio vacío handover/. mv mueve el directorio completo con sus elementos. La barra final de handover/ especifica que el destino es un directorio:

mv field-guide handover/

La ubicación de descarga anterior ya no existe. Lista el directorio trasladado:

ls handover/field-guide
robots.txt  shared  woodland

Abre Field Copy en una ventana privada nueva o usa una pestaña nueva y, desde su escritorio de lectura, entra en Moved handover guide. La ventana privada puede pedir el inicio de sesión normal de la plataforma; para el recorrido del alumno basta una nueva pestaña de Field Copy. La URL trasladada es /handover/field-guide/woodland/index.html, servida por el lector local. No vuelvas mediante un marcador antiguo obsoleto.

Sigue Start the route, abre la ficha aún no leída Reed fan, regresa por All field notes y abre Observation sheet. La hoja se puede guardar o imprimir desde el menú del navegador. Son archivos reales, no una animación de éxito. El enlace Harbor event queda fuera del alcance sin conexión y no se espera que funcione después de retirar el origen.

Si ahora falla una página necesaria, restaura el origen con source-control start, repara una descarga limpia siguiendo el paso anterior y sustituye el directorio de entrega incompleto después de revisar su ruta. Luego detén el origen y repite el recorrido trasladado. No hace falta reiniciar todo el laboratorio. Conserva la entrega completa como resultado final.

Tu producto final es handover/field-guide/, con contenido y recursos compartidos. Este laboratorio verifica lectura en el navegador a través de un servidor estático normal; no promete comportamiento idéntico de file:// en todos los navegadores ni descarga de todo el directorio a tu ordenador con un clic en la plataforma.

Resumen

Comparaste una sola página HTML guardada con una recopilación recursiva acotada, incluiste dependencias compartidas y convertiste enlaces en rutas relativas. Después detuviste el origen personalmente, utilizaste contenido aún no leído de la copia local independiente y trasladaste el directorio completo a una ubicación de entrega.

El resultado útil es la propia guía: cinco páginas legibles, tres ilustraciones, una hoja de estilos y la hoja de observación real, además de metadatos del rastreador. Disponibilidad del origen, alcance de descarga y navegación local funcional son propiedades distintas; probaste las tres.