• Re: Montar chroot al arranque e inicio de servicios dentro del chroot

    From Roberto =?iso-8859-1?Q?C=2E_S=E1nch@21:1/5 to Jhosue rui on Fri Mar 17 20:50:02 2023
    On Fri, Mar 17, 2023 at 03:40:21PM -0400, Jhosue rui wrote:
    Saludos,  mucho tiempo sin escribir por aquí.
    Recurro a ustedes con el siguiente problema, tengo una aplicación legacy
    que requiere si o si ejecutarse en un ambiente debían strech, porque
    requiere muchas librerías viejas. Por otra parte tengo que usar un
    servidor nuevo, que el kernel de stretch ni por error va a soportar, así
    que la única opción que se me ocurre es instalar bullseye y hacer dentro
    un chroot de stretch, se que esto sería más fácil con Docker, pero la
    aplicación no la voy a administrar yo y el ques si lo va a hacer no sabe
    nada de Docker y definitivamente no tiene intenciones de querer aprender.
    La cuestión es, que necesito ejecutar dentro del chroot, la aplicación
    legacy, cron y ssh, pero no tengo idea de cómo lograr que se ejecuten al
    arrancar ya que bullseye usa systemd, mientras que stretch usa sysv. 
    Manualmente logro hacer que todo se ejecute, es decir monto los sistemas
    de archivos necesarios, entro al chroot y ejecutó cada servicio
    manualmente y todo funciona bien, solo me falta lograr que se ejecuten al
    arrancar automáticamente. 
    Espero haberme explicado.
    Agradezco sus aportes al respecto. 

    Me suena como este problem mejor se resuelve con Docker y no con chroot.
    Si Docker no te basta en terminos del control de los varios servicios
    que hacen falta para la applicación, entonces una máquina virtual
    manejada a través de libvirt sería la próxima solución que yo
    recomendaría.

    Saludos,

    -Roberto

    --
    Roberto C. Sánchez

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jhosue rui@21:1/5 to All on Fri Mar 17 20:50:02 2023
    Saludos, mucho tiempo sin escribir por aquí.

    Recurro a ustedes con el siguiente problema, tengo una aplicación legacy
    que requiere si o si ejecutarse en un ambiente debían strech, porque
    requiere muchas librerías viejas. Por otra parte tengo que usar un servidor nuevo, que el kernel de stretch ni por error va a soportar, así que la
    única opción que se me ocurre es instalar bullseye y hacer dentro un chroot de stretch, se que esto sería más fácil con Docker, pero la aplicación no la voy a administrar yo y el ques si lo va a hacer no sabe nada de Docker y definitivamente no tiene intenciones de querer aprender.

    La cuestión es, que necesito ejecutar dentro del chroot, la aplicación legacy, cron y ssh, pero no tengo idea de cómo lograr que se ejecuten al arrancar ya que bullseye usa systemd, mientras que stretch usa sysv.

    Manualmente logro hacer que todo se ejecute, es decir monto los sistemas de archivos necesarios, entro al chroot y ejecutó cada servicio manualmente y todo funciona bien, solo me falta lograr que se ejecuten al arrancar automáticamente.

    Espero haberme explicado.

    Agradezco sus aportes al respecto.

    <div dir="auto">Saludos,  mucho tiempo sin escribir por aquí.<div dir="auto"><br></div><div dir="auto">Recurro a ustedes con el siguiente problema, tengo una aplicación legacy que requiere si o si ejecutarse en un ambiente debían strech, porque
    requiere muchas librerías viejas. Por otra parte tengo que usar un servidor nuevo, que el kernel de stretch ni por error va a soportar, así que la única opción que se me ocurre es instalar bullseye y hacer dentro un chroot de stretch, se que esto serÃ
    ­a más fácil con Docker, pero la aplicación no la voy a administrar yo y el ques si lo va a hacer no sabe nada de Docker y definitivamente no tiene intenciones de querer aprender.</div><div dir="auto"><br></div><div dir="auto">La cuestión es, que
    necesito ejecutar dentro del chroot, la aplicación legacy, cron y ssh, pero no tengo idea de cómo lograr que se ejecuten al arrancar ya que bullseye usa systemd, mientras que stretch usa sysv. </div><div dir="auto"><br></div><div dir="auto">
    Manualmente logro hacer que todo se ejecute, es decir monto los sistemas de archivos necesarios, entro al chroot y ejecutó cada servicio manualmente y todo funciona bien, solo me falta lograr que se ejecuten al arrancar automáticamente. </div><div dir=
    "auto"><br></div><div dir="auto">Espero haberme explicado.</div><div dir="auto"><br></div><div dir="auto">Agradezco sus aportes al respecto. </div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?B?Q2FtYWxlw7Nu?=@21:1/5 to All on Sat Mar 18 09:20:01 2023
    El 2023-03-17 a las 15:40 -0400, Jhosue rui escribió:

    Recurro a ustedes con el siguiente problema, tengo una aplicación legacy
    que requiere si o si ejecutarse en un ambiente debían strech, porque requiere muchas librerías viejas. Por otra parte tengo que usar un servidor nuevo, que el kernel de stretch ni por error va a soportar, así que la única opción que se me ocurre es instalar bullseye y hacer dentro un chroot de stretch, se que esto sería más fácil con Docker, pero la aplicación no la voy a administrar yo y el ques si lo va a hacer no sabe nada de Docker y definitivamente no tiene intenciones de querer aprender.

    Si no lo he entendido mal, lo que quieres hacer es instalar el sistema
    base (anfitrión) para que se ejecute normalmente con Debian Bullseye y después instalar un entorno mínimo (invitado) con debootstrap con Debian Stretch para que se pueda ejecutar una aplicación concreta.

    La cuestión es, que necesito ejecutar dentro del chroot, la aplicación legacy, cron y ssh, pero no tengo idea de cómo lograr que se ejecuten al arrancar ya que bullseye usa systemd, mientras que stretch usa sysv.

    Manualmente logro hacer que todo se ejecute, es decir monto los sistemas de archivos necesarios, entro al chroot y ejecutó cada servicio manualmente y todo funciona bien, solo me falta lograr que se ejecuten al arrancar automáticamente.

    Bien, si es así, el sistema «invitado» no se ejecuta sino las
    aplicaciones, desde la jaula, por lo que lo más sencillo sería que
    el sistema anfitrión ejecute una rutina mediante systemd que llame a la aplicación cuando arranque el sistema y que se detenga cuando se cierre.

    Tienes ejemplos por la web:

    How to Run Script on Boot Up in Debian 11 https://linuxhint.com/run-script-debian-11-boot-up/

    La dificultad la puedes tener en que la aplicación está en una jaula
    pero eso debería ser indiferente de cara a systemd, y también te puede
    dar guerra según el tipo de aplicaión que sea y los requisitos que
    tenga pero si se ejecuta bien manualmente, automatizar el arranque al
    iniciar el sistema debería ser sencillo.

    Saludos,

    --
    Camaleón

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)