Існує велика різниця між Windows та GNU / Linux. У Windows звичайно, що кожна програма разом з усіма бібліотеками, від яких вона залежить, встановлюється в окрему папку. Це часто призводить до багато витраченого дискового простору через те, що бібліотеки встановлюються кілька разів для кожної програми, яка їх використовує.
У Linux програми встановлюються відповідно до стандарту ієрархії файлової системи (FHS). Це означає, що всі бібліотеки, від яких залежать програми, встановлюються в загальному виділеному місці, так що вони зазвичай встановлюються лише один раз, незалежно від того, скільки програм ними користується. Також програми побудовані таким чином, що всі вони використовують однакову версію певної бібліотеки. Це економить дисковий простір (і оперативну пам’ять під час виконання), але має недолік, що не можна вільно встановлювати програми на різні розділи або на жорсткі диски, принаймні, без редагування файлів конфігурації системи (наприклад, /etc/ld.so.conf.d щоб включити різні папки бібліотеки).
Оскільки система пакетів Debian була реалізована з урахуванням FHS, наскільки я знаю, немає простого способу встановити пакунки Debian у папку, відмінну від тієї, в яку вони мали бути розміщені, і щоб вони працювали без ручного переміщення після цього редагування файлів. Це відбувається тому, що шляхи часто жорстко кодуються під час компіляції. Тож навіть якщо ви встановите пакет у іншу папку, наприклад, за допомогою dpkg --instdir=folder/ package.deb
команди в командному рядку, програма все одно шукатиме конфігурацію в '/ etc', а не в 'папці / тощо', а в файлах конфігурації, що постачаються з пакет, звичайно, був встановлений у "папку / тощо" ... Програма також не буде додана в меню, оскільки файли меню повинні бути в "/ usr / спільних програмах", а не в папці / usr / share / додатки.
Звичайно, ви можете вручну налаштувати та компілювати програму зі свого вихідного коду, щоб вона могла встановити двійкові та частини даних куди завгодно, при цьому все-таки встановлюючи конфігураційні файли у місця, сумісні з FHS, але це те, що я рекомендую лише для досвідчені користувачі. Якщо ви збираєтесь збирати з джерела, перегляньте checkinstall , інструмент, який автоматично створює пакети debian.
Ще один варіант, запропонований на linuxfromscratch , - розпакувати пакунок у відповідному місці та потім створити символічні посилання на всі встановлені файли у відповідних місцях FHS.
Оскільки в коментарях ви посилалися на ігри: Багато ігор, які не купуються через програмний центр Ubuntu, надходять як виконуваний файл інсталятора, і вони, звичайно, можуть бути встановлені у будь-яку папку, як правило, в папку вашого домашнього каталогу. Ігри Windows, які запускаються за допомогою WINE, також можна встановити в будь-який каталог, який ви хочете. Для вина існує змінна середовище під назвою WINEPREFIX, за допомогою якої ви можете встановити численні незалежні папки WINE, кожна з яких має власний віртуальний диск C: Прочитайте сторінку WINE man для отримання додаткової інформації.
Навіть якщо ігри / програми надходять як пакети Debian, ви можете подивитися вміст пакета у вашому улюбленому менеджері архівів. Якщо гра буде встановлена в / opt, зазвичай можна сміливо встановити її в іншу папку, оскільки / opt часто використовується як місце установки для програм, які не дотримуються FHS.