Существует большая разница между Windows и GNU / Linux. В Windows распространено, что каждая программа вместе со всеми библиотеками, от которых она зависит, устанавливается в отдельную папку. Это часто приводит к большому расходу дискового пространства из-за многократной установки библиотек для каждой программы, которая их использует.
В Linux программы устанавливаются в соответствии со стандартом иерархии файловых систем (FHS). Это означает, что библиотеки, от которых зависят программы, устанавливаются в общем выделенном месте, так что они обычно устанавливаются только один раз, независимо от того, сколько программ их используют. Кроме того, программы построены таким образом, что все они используют одну и ту же версию определенной библиотеки. Это экономит дисковое пространство (и оперативную память во время выполнения), но имеет недостаток, заключающийся в том, что нельзя свободно устанавливать программы на разные разделы или жесткие диски, по крайней мере, без редактирования файлов конфигурации системы (например, /etc/ld.so.conf.d). включить разные папки библиотеки).
Поскольку система пакетов Debian была реализована с учетом требований FHS, насколько я знаю, не существует простого способа установить пакеты Debian в папку, отличную от той, в которую они были предназначены, и заставить их работать без перемещения вручную. и редактирование файлов впоследствии. Это потому, что пути часто жестко закодированы во время компиляции. Таким образом, даже если вы устанавливаете пакет в другую папку, например, с помощью dpkg --instdir=folder/ package.deb
командной строки, программа все равно будет искать свою конфигурацию в «/ etc», а не в «папке / etc», а в файлах конфигурации, которые были отправлены с пакет, конечно, был установлен в «папку / etc» ... Программа также не будет добавлена в меню, поскольку файлы меню должны находиться в «/ usr / share apps», а не в папке / usr / share / Приложения.
Конечно, вы можете вручную настроить и скомпилировать программу из ее исходного кода, чтобы она могла устанавливать двоичные файлы и части данных в любом месте, в то же время устанавливая файлы конфигурации в места, совместимые с FHS, но это то, что я рекомендую только для продвинутые пользователи. Если вы собираетесь компилировать из исходного кода, посмотрите на checkinstall , инструмент, который автоматически создает пакеты debian.
Другой вариант, предложенный на linuxfromscratch , - распаковать пакет в подходящее место, а затем создать символические ссылки на все установленные файлы в соответствующих местах FHS.
Поскольку в комментариях вы имели в виду игры: многие игры, которые не покупаются через Ubuntu Software Center, поставляются в виде исполняемого файла установщика, и их можно, конечно, установить в любую папку, обычно в подпапку вашего домашнего каталога. Игры для Windows, которые запускаются с использованием WINE, также могут быть установлены в любой каталог, который вы хотите. Для wine существует переменная окружения WINEPREFIX, с помощью которой вы можете настроить множество независимых папок WINE, каждая из которых имеет собственный виртуальный диск C :. Прочитайте справочную страницу WINE для получения дополнительной информации.
Даже если игры / программы поставляются в виде пакетов Debian, вы можете посмотреть содержимое пакета в вашем любимом менеджере архивов. Если игра будет установлена в / opt, вы обычно можете безопасно установить ее в другую папку, поскольку / opt часто используется в качестве места установки для программ, которые не придерживаются FHS.