¿Fusionar el sistema operativo para usar las mismas aplicaciones?

¿Fusionar el sistema operativo para usar las mismas aplicaciones?

He estado usando Ubuntu GNOME 20.04 y Kubuntu 21.04. Ambos están en particiones separadas. Tengo que trabajar en ambos sistemas operativos, pero para eso tengo que reiniciar la computadora y luego seleccionar el otro sistema operativo para iniciar.

Entonces quiero saber si hay alguna manera de compartir las aplicaciones instaladas en Kubuntu que también se usan en Ubuntu sin reinstalar el mismo software en Ubuntu nuevamente y así no tener que cambiar entre sistemas operativos.

Respuesta1

No, prácticamente hablando. Tener dos sistemas operativos separados, de diferentes versiones, pero luego configurar que puedas usar binarios de otra versión en un sistema operativo diferente sería 1) en muchos casos imposible debido a la incompatibilidad binaria y/o dependencias incorrectas o no disponibles o 2) ser Técnicamente es muy complicado de configurar y aún conlleva un riesgo significativamente mayor de problemas inesperados.

Sí, en principio, podría montar la partición del sistema del otro sistema operativo y ejecutar algunos archivos binarios simples directamente en el otro sistema operativo. La mayoría de los binarios, sin embargo, son mucho más complejos y dependen de configuraciones y dependencias específicas del sistema. No se ejecutarán cuando intente ejecutarlos desde un sistema operativo diferente. Alguien muy competente en Linux todavía puede hacer que algo de esto funcione como un pasatiempo; es un ejercicio que debería repetirse para todas y cada una de las aplicaciones individualmente.

Entonces, ¿hay alguna forma de compartir las aplicaciones instaladas en Kubuntu? También se usa en Ubuntu sin volver a instalar el mismo software en Ubuntu y, por lo tanto, no tengo que cambiar entre sistemas operativos.

Como lo escribiste aquí, sí.

Mantenga un único sistema operativo e instale en él Gnome Shell, el shell de Ubuntu estándar, y KDE Plasma, el shell de Kubuntu. Cualquier aplicación que instale estará disponible en cualquier escritorio en el que haya iniciado sesión.

Respuesta2

Sí, puedes ejecutar software desde múltiples instalaciones de Ubuntu al mismo tiempo usando un chroot. Hay algunas advertencias:

  • Todos los programas se ejecutarán bajo un único kernel.
  • Los programas en el chroot no estarán disponibles de forma predeterminada para el sistema operativo principal. Necesitará crear scripts contenedores para ejecutarlos.
  • Es posible que sea necesario realizar una serie de ajustes para que todo funcione sin problemas. Como mínimo, será necesario armonizar la propiedad de los archivos, los usuarios y los grupos. Lo que se muestra a continuación funciona en mi sistema. Probablemente necesitarás hacer ajustes adicionales que no puedo prever.

Para configurar un chroot necesitarás hacer lo siguiente:

  • Inicie la instalación de Kubuntu.

  • Instalar schroot:

    apt-get install schroot
    

    Agregue lo siguiente /etc/schroot/schroot.confcon USERNAMEel cambio a su nombre de usuario:

    [gnome]
    description=Ubuntu 20.04
    directory=/chroot/gnome
    users=USERNAME
    groups=root
    root-groups=USERNAME
    
  • Agregue el directorio raíz del chroot /etc/fstab(es la segunda línea a continuación). Luego agregue montajes de enlace para los directorios del sistema y cualquier montaje no estándar que esté utilizando. Si necesita opciones de montaje especiales, agréguelas también. Por ejemplo:

    /.media        /media                  none  defaults,bind,noauto             0  0
    LABEL=gnome    /chroot/gnome           ext4  defaults,auto,errors=remount-ro  0  0
    /proc          /chroot/gnome/proc      none  defaults,rbind,noauto            0  1
    /dev           /chroot/gnome/dev       none  defaults,rbind,noauto            0  1
    /sys           /chroot/gnome/sys       none  defaults,rbind,noauto            0  1
    /var/run/dbus  /chroot/gnome/run/dbus  none  defaults,rbind,noauto            0  1
    /var/lock      /chroot/gnome/run/lock  none  defaults,rbind,noauto            0  1
    /var/tmp       /chroot/gnome/var/tmp   none  defaults,rbind,noauto            0  1
    /tmp           /chroot/gnome/tmp       none  defaults,rbind,noauto            0  1
    /home          /chroot/gnome/home      none  defaults,rbind,noauto            0  1
    /media         /chroot/gnome/media     none  defaults,rbind,noauto            0  1
    
  • Crear directorios:

    mkdirhier /.media /chroot/gnome
    chmod 755 /.media /chroot /chroot/gnome
    chown root.root /.media /chroot /chroot/gnome
    
  • Agregue lo siguiente a /etc/rc.local:

    # Make mounts shared
    
    mount /.media  || true
    mount /media   || true
    
    /bin/mount --make-rshared /.media || true
    
    # If you have any static mounts under /media, add mount commands for
    # them here and set them to noauto in /etc/fstab
    
    # Mount system directories
    
    mount /chroot/gnome/proc     || true
    mount /chroot/gnome/dev      || true
    mount /chroot/gnome/sys      || true
    mount /chroot/gnome/run/dbus || true
    mount /chroot/gnome/run/lock || true
    mount /chroot/gnome/var/tmp  || true
    mount /chroot/gnome/tmp      || true
    mount /chroot/gnome/home     || true
    mount /chroot/gnome/media    || true
    
    # Additional tweaks
    # (These might not be needed on your system)
    
    # Start udevd under gnome
    # Audio on Chrome won't work without this
    ( schroot -c gnome -p -u root /etc/init.d/udev start ) || true
    
    # Fix pulseaudio
    killall pulseaudio  || true
    
  • Es posible que deba aplicar ajustes adicionales al momento de iniciar sesión. Si es necesario/apropiado, cree el siguiente script de shell y configúrelo para que se ejecute al iniciar sesión, es decir, cuando se inicie el entorno de escritorio (KDE o Gnome):

    #!/bin/sh
    
    # Fix Pulse Audio
    while pidof pulseaudio ; do
        killall pulseaudio
        sleep 1
    done
    schroot -p -c gnome start-pulseaudio-x11 
    
    # Uncomment this if you're running KDE4 in the chroot
    #schroot -p -c KDE4_chroot kded4 &
    
    # (additional tweaks may be needed)
    
  • Armonice usuarios y grupos entre las dos instalaciones. Probablemente pueda salirse con la suya simplemente asegurándose de que su usuario (y su grupo) tengan el mismo UID y GID en ambos. Deberá actualizar los UID y GID apropiados en el chroot /etc/passwdy /etc/group( /etc/shadowtome nota de los UID y GID antiguos). Una vez hecho esto, actualice las ID numéricas en el sistema de archivos chroot; La opción finddel comando -execjunto con chowny chgrppuede ayudar aquí.

  • Si tiene un demonio que desea ejecutar en el chroot, cree el siguiente script de inicio ( /etc/init.d/DAEMON_NAME, cambie DAEMON_NAME según corresponda) y hágalo ejecutable:

    #!/bin/sh
    set -e
    schroot -p -c gnome -u root /etc/init.d/DAEMON_NAME $@
    exit 0
    

    Luego agregue lo siguiente al final de /etc/rc.local:

    /etc/init.d/DAEMON_NAME restart
    
  • Agregue scripts de shell para iniciar cualquier programa en el chroot que desee ejecutar como usuario normal. No olvides hacerlos ejecutables. Si lo desea, puede agregar un ícono en el escritorio para iniciar el script contenedor. Por ejemplo:

    /usr/local/bin/chrome_gnome:

    #!/bin/sh
    
    mkdir $HOME/.chrome_gnome || true
    schroot -p -c gnome -- google-chrome --user-data-dir=$HOME/.chrome_gnome "$@"
    
  • Reinicie el sistema y todo debería funcionar. Para ejecutar un comando en el chroot, use el contenedor que configuró en el paso anterior o simplemente ejecute manualmente el schroot ...comando desde la línea de comandos.

Deberá ajustar todo lo anterior para adaptarlo a su sistema. Por ejemplo, probablemente querrás fusionar el contenido de tus dos directorios de inicio en un único directorio montado en ambas instalaciones. Haga esto antes de realizar cualquier montaje de enlace (o reiniciar), ya que los archivos existentes bajo el punto de montaje no serán visibles una vez que se realice el montaje de enlace (aún estarán en el disco pero no serán accesibles).

Si necesita instalar o actualizar software en el chroot, simplemente use y schroot -p -c gnome -u rootluego ejecute apt, etc. como de costumbre.

Se pueden realizar instalaciones paralelas adicionales de Ubuntu. Úselo debootstrappara realizar la instalación inicial en un nuevo directorio y luego agréguelo como se muestra arriba.


Si desea poder hacer clic en enlaces en una aplicación chroot y abrirlos usando el controlador predeterminado del sistema operativo base, deberá realizar algunos cambios más. Tenga en cuenta que después de hacer esto, las cosas no funcionarán correctamente si inicia directamente el sistema operativo que ha sido chroot.

  • Cree un script de shell /usr/local/bin/xdg-open-relay-receivey hágalo ejecutable:

     #!/bin/sh
    
     mkfifo -m 666 /tmp/xdg-open-relay
    
     tail -f "/tmp/xdg-open-relay" | while read line
     do
             xdg-open "$line"
     done
    

    Es posible que desee editar lo anterior para reforzar los permisos en /tmp/xdg-open-relay.

  • Agregue lo siguiente al final del script que creó para ejecutarlo al iniciar sesión:

     killall xdg-open-relay-receive
     nohup /usr/local/bin/xdg-open-relay-receive &
    
  • Reemplace el comando del chroot xdg-opencon un nuevo script de shell:

    • mv /chroot/gnome/usr/bin/xdg-open /chroot/gnome/usr/bin/xdg-open.DISABLED

    • Escribe lo siguiente /chroot/gnome/usr/bin/xdg-openy hazlo ejecutable:

      #!/bin/sh
      echo "$@" > /tmp/xdg-open-relay
      

Respuesta3

Muchas aplicaciones utilizan el directorio /home para almacenar los datos que genera la aplicación (mundos de Minecraft, imágenes, ediciones de vídeo de Kdenlive...). Entonces, si crea una partición diferente para /home para ubuntu y luego usa esa misma partición en Kubuntu sin reformatear y escribir el mismo nombre de usuario/contraseña durante la instalación, esto debería dar como resultado que la configuración de su aplicación sea la misma en las dos variantes. Es difícil compartir aplicaciones usando este método, pero al menos se debe compartir su configuración.

Fuente:https://unix.stackexchange.com/questions/442495/ Different-linux-distros-sharing-applications

Consejos para cosas prácticas:https://unix.stackexchange.com/questions/6344/ Different-linux-distros-sharing-the-same-home-folderrespuesta aceptada

información relacionada