-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Saludos,
He tenido problemas para instalar OpenGnsys siguiendo las instrucciones de la documentación debido a un error en el ejecutable oglivecli.
- OS: Ubuntu 18.04.6 LTS (Bionic Beaver)
- Curl: curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Reproducción:
- Descarga la versión 1.1.1.d
OGVERSION=opengnsys-1.1.1d
wget -c https://github.com/opengnsys/OpenGnsys/archive/${OGVERSION}.zip
unzip ${OGVERSION}.zip -d /tmp/
- Ejecuta el instalador
cd /tmp/${OGVERSION}
sudo bash ./installer/opengnsys_installer.sh
Resultado esperado:
Todos los componentes de opengsys se instalan correctamente y aparece el resumen
Resultado observado:
La instalación avanza hasta que llega a la parte de creación de los clientes de OgLive, donde falla la descarga de los ISO
(...)
Generating a RSA private key
.+++++
.........+++++
writing new private key to '/opt/opengnsys/client/etc/ssl/private/opengnsys.key'
createCerts(): certificate successfully created
clientCreate(): Downloading ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
ERROR: clientCreate(): Error loading ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
ERROR: Error creating client ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
Posible causa:
En corto: El código de oglivecli no considera el estándar RFC 7540 cuando busca cabeceras en llamadas a curl, por lo que las llamadas a awk que no los buscan en minúsculas devuelven valores nulos.
En largo:
Después de testear individualmente con el ejecutable /opt/opengnsys/bin/oglivecli , esto es lo que aparece si añado el modo eux dentro de la función download :
+ local OGLIVE NISOS i HTTPCODE TARGETFILE
+ local ISOREL
+ '[' 1 -gt 1 ']'
+ '[' '!' -d /opt/opengnsys/lib ']'
+ '[' '!' -w /opt/opengnsys/lib ']'
+ '[' -n ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso ']'
+ OGLIVEFILE=ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
++ awk -F: '/Content-Length:/ {print $2}'
++ curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ SOURCELENGTH=
+ '[' -n '' ']'
+ raiseError download ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ '[' oglivecli ']'
+ case "$1" in
+ echo 'oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso'
oglivecli: Download error: ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso
+ exit 4
Eso me hizo pensar que quizás el problema estaba en la declaración de la variable SOURCELENGTH : awk no encuentra ningún texto "Content-Legth".
Como prueba, corro el comando que inicializa SOURCELENGTH en un terminal y no devuelve nada:
$(ogdministrator): curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/Content-Length:/ {print $2}
$(ogdministrator):
Pero si cambio las opciones de curl siguiendo esta respuesta en stackOverflow, sí que detecta la cabecera:
$(ogdministrator): curl --head --http1.1 --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/Content-Length:/ {print $2}
669313024
$(ogdministrator):
Lo mismo ocurre si cambio el filtro de awk
$(ogdministrator): curl --head --silent https://opengnsys.es/trac/downloads/ogLive-focal-5.11.0-22-generic-amd64-r20210413.992ebb9.iso | awk -F: '/content-length:/ {print $2}
669313024
$(ogdministrator):
¿Cuál sería la forma más correcta y estable de arreglarlo?
Muchas Gracias