Hay una gran diferencia entre Windows y GNU / Linux. En Windows es común que cada programa, junto con todas las bibliotecas de las que depende, esté instalado en una carpeta separada. Esto a menudo conduce a una gran cantidad de espacio en disco perdido debido a que las bibliotecas se instalan varias veces, para cada programa que las usa.
En Linux, los programas se instalan siguiendo el Estándar de jerarquía del sistema de archivos (FHS). Esto significa que las bibliotecas de las que dependen los programas están instaladas en una ubicación dedicada común, por lo que generalmente solo se instalan una vez, sin importar cuántos programas las usen. Además, los programas se crean de tal manera que todos usan la misma versión de una biblioteca determinada. Esto ahorra espacio en disco (y RAM en tiempo de ejecución), pero tiene el inconveniente de que no se pueden instalar programas libremente en diferentes particiones o discos duros, al menos no sin editar archivos de configuración del sistema (por ejemplo /etc/ld.so.conf.d para incluir las diferentes carpetas de la biblioteca).
Dado que el sistema de paquetes de Debian se implementó teniendo en cuenta el FHS, no hay una manera fácil de instalar los paquetes de Debian en una carpeta diferente de la que estaban destinados a instalar y hacer que funcionen sin moverlos manualmente. y editando archivos después. Esto se debe a que las rutas suelen estar codificadas en tiempo de compilación. Entonces, incluso si instala un paquete en una carpeta diferente, por ejemplo, utilizando dpkg --instdir=folder/ package.deb
la línea de comando, el programa seguirá buscando su configuración en '/ etc', no en 'carpeta / etc', sino en los archivos de configuración que se enviaron con el paquete, por supuesto, se instaló en 'carpeta / etc' ... El programa tampoco se agregará al menú, ya que se supone que los archivos de menú están en '/ usr / share aplicaciones', no en la carpeta / usr / share / aplicaciones.
Por supuesto, puede configurar y compilar manualmente un programa a partir de su código fuente para que instale las partes binarias y de datos donde desee, al mismo tiempo que instala los archivos de configuración en las ubicaciones compatibles con FHS, pero esto es algo que solo recomendaría para Usuarios avanzados. Si va a compilar desde la fuente, eche un vistazo a checkinstall , una herramienta que crea automáticamente paquetes de Debian.
Otra opción, que se sugirió en linuxfromscratch , es desempaquetar el paquete en una ubicación adecuada y luego crear enlaces simbólicos a todos los archivos instalados en las ubicaciones FHS correspondientes.
Como en los comentarios se refería a los juegos: muchos juegos que no se compran a través del Centro de software de Ubuntu vienen como un instalador ejecutable y, por supuesto, pueden instalarse en cualquier carpeta, generalmente una subcarpeta de su directorio de inicio. Los juegos de Windows, que se ejecutan con WINE, también se pueden instalar en cualquier directorio que desee. Para wine existe una variable de entorno llamada WINEPREFIX con la que puede configurar numerosas carpetas WINE independientes, cada una con su propia unidad virtual C:. Lea la página de manual de WINE para más información.
Incluso si los juegos / programas vienen como paquetes de Debian, puede ver el contenido del paquete en su administrador de archivos favorito. Si el juego se va a instalar en / opt, generalmente puede instalarlo de manera segura en una carpeta diferente, ya que / opt se usa a menudo como ubicación de instalación para programas que no se adhieren a FHS.