Il existe une différence majeure entre Windows et GNU / Linux. Sous Windows, il est courant que chaque programme avec toutes les bibliothèques dont il dépend soit installé dans un dossier séparé. Cela conduit souvent à beaucoup d'espace disque gaspillé en raison de l'installation multiple de bibliothèques, pour chaque programme qui les utilise.
Sous Linux, les programmes sont installés conformément à la norme de hiérarchie du système de fichiers (FHS). Cela signifie que les bibliothèques dont les programmes dépendent sont toutes installées dans un emplacement dédié commun, de sorte qu'elles ne sont généralement installées qu'une seule fois, quel que soit le nombre de programmes qui les utilisent. De plus, les programmes sont construits de telle manière qu'ils utilisent tous la même version d'une certaine bibliothèque. Cela économise de l'espace disque (et de la RAM lors de l'exécution), mais présente l'inconvénient, que l'on ne peut pas installer librement des programmes sur différentes partitions ou disques durs, du moins pas sans éditer les fichiers de configuration du système (par exemple /etc/ld.so.conf.d pour inclure les différents dossiers de la bibliothèque).
Étant donné que le système de paquets Debian a été mis en œuvre en gardant à l'esprit le FHS, il n'y a, à ma connaissance, aucun moyen facile d'installer les paquets Debian dans un dossier différent de celui dans lequel ils étaient censés être placés et de les faire fonctionner sans les déplacer manuellement. et l'édition des fichiers par la suite. En effet, les chemins sont souvent codés en dur au moment de la compilation. Ainsi, même si vous installez un package dans un dossier différent, par exemple en utilisant dpkg --instdir=folder/ package.deb
sur la ligne de commande, le programme recherchera toujours sa configuration dans '/ etc', pas dans 'folder / etc', mais dans les fichiers de configuration fournis avec le paquet a bien sûr été installé dans 'dossier / etc' ... Le programme ne sera pas non plus ajouté au menu, car les fichiers de menu sont censés être dans '/ usr / share applications', pas dans le dossier / usr / share / applications.
Vous pouvez bien sûr configurer et compiler manuellement un programme à partir de son code source pour qu'il installe les parties binaires et de données où vous le souhaitez, tout en installant les fichiers de configuration aux emplacements conformes à la FHS, mais c'est quelque chose que je recommanderais uniquement pour utilisateurs avancés. Si vous allez compiler à partir des sources, jetez un œil à checkinstall , un outil qui crée automatiquement des paquets Debian.
Une autre option, qui a été suggérée sur linuxfromscratch , consiste à décompresser le package à un emplacement approprié, puis à créer des liens symboliques vers tous les fichiers installés dans les emplacements FHS correspondants.
Étant donné que dans les commentaires, vous faisiez référence aux jeux: de nombreux jeux qui ne sont pas achetés via Ubuntu Software Center sont fournis sous la forme d'un exécutable d'installation, et ceux-ci peuvent alors bien sûr être installés dans n'importe quel dossier, généralement un sous-dossier de votre répertoire personnel. Les jeux Windows, qui s'exécutent à l'aide de WINE, peuvent également être installés dans le répertoire de votre choix. Pour le vin, il existe une variable d'environnement appelée WINEPREFIX avec laquelle vous pouvez configurer de nombreux dossiers WINE indépendants, chacun comprenant son propre lecteur C: virtuel. Lisez la page de manuel WINE pour plus d'informations.
Même si les jeux / programmes sont fournis sous forme de paquets Debian, vous pouvez consulter le contenu des paquets dans votre gestionnaire d'archives préféré. Si le jeu doit être installé dans / opt, vous pouvez généralement l'installer en toute sécurité dans un dossier différent, car / opt est souvent utilisé comme emplacement d'installation pour les programmes qui n'adhèrent pas à FHS.