установка программ

для линукса вообще и для gentoo в частности описано много способов установки программ/пакетов - из исходников, бинарников; штатное emerge и дополнительные оверлеи.
а существует ли возможность установки пакета так сказать “отдельно от системы”, что бы установить в отдельную папку (пускай даже в ней будут продублированы все зависимые пакеты), а удаление пакета сводилось только к удалению этой папки без копания в системных файлах и зависимостях?
в виндовс есть достаточно большое количество программ, работающих “сами по себе” (с жесткого или с флешки), не требующие установки и привязки к системе.
Для чего это может быть использовано?

  • проверка работоспособности новых ( в том числе нестабильных) версий программ

  • установка программ не включенных в основной (а подчас и дополнительные) оверлей

  • установка программ для работы со сменных носителей (в идеале работа программы с той же флешки и в линуксе, и в виндовсе с сохранением настроек)

P.S. я прекрасно понимаю, что не для всех пакетов это пройдет, тот же kmail за собой может весь kde по зависимостям вытянуть.
а браузеры, icq-клиенты, игры, да и любой другой пакет с небольшим (или вообще без) наличием зависимостей?

Вообще - предлагаю для начала ознакомиться с информацией об FHS

Обратите внимание на /usr/local и /opt. На последнюю в особенности, почитайте об ее назначении.

/usr/local - подойдет для компиляции из исходников.
/opt - подходит для установки бинарных пакетов, таких как Adobe-flash.

Самым простым способом установки на “потестировать” - является установка в $HOME (домашний каталог) пользователя(не root-а), если конечно инсталлятор позволяет это.
Большинство нормально написанных скриптов инсталлов это позволяют.
К примеру подобным образом позволяют установиться некоторые проприетарные игрушки под linux (я одну пробовал, установилось нормально, графа была офигенной, но сюжет убогим, поэтому писать сюда название не стану)

У всех этих способов есть несколько неприятных моментов:
# Соблюдение зависимостей - Вам придется самому следить за тем чтоб все необходимые либы были доступны.
# На самом деле удаление “осколков” этого софта лишь усложнится.
В винде - необходимость в portable версии софта существует поскольку нет полноценной системы слежения за изменениями в процессе установки системы.
В gentoo-же существует система portage - следящая за изменениями вносимыми новым пакетом, и запрещающая(отключается при желании) перезапись файлов принадлежащих другому пакету при установке.
А запуск стороннего софта редко требует прав root, обычно хватает прав юзера - для запуска графикеских приложений, или грамотно розданых прав на ресурсы в случае демонов (к примеру для mpd-муз. плеер в виде демона хватает группы audio, а jabber-серверу вообще никаких групп ни надо. С веб-сервером или samba немного сложнее, поскольку они используют порт <1024, но это тоже при желании решается)

И наконец, самый надежный метод - aufs. Он позволит комбинировать любые методы, хоть явное переписывание любых файлов, само собой в “песочнице”. И легко откатывается удалением “песочницы” и перезагрузкой.
Много о нем рассказывать не буду, отчасти т.к. сам не вникал глубоко, отчасти т.к. вы сами можете с ним ознакомиться на примере calculate запущенного в режиме scratch или установленого в режиме build, что вам и предлагаю сделать.

Михаил Гагауз wrote:

В gentoo-же существует система portage - следящая за изменениями вносимыми новым пакетом…

вот это и хочется уточнить.
Если я собираю из исходников пакет в $HOME или в любую другую папку, будет ли он выявляться portage или нет (в случае, если все зависимости учтены и никакие системные библиотеки меняться не будут)

Так, давайте вы для начала все-же почитаете про FHS см. ссылку выше.
А также учтете, что из portage софт ставится по обычным путям, описанным в FHS.

А еще лучше почитайте информацию о системе portage. Благо и на русском об этом полно инфы. Хоть на вики. Но лучше еше глянуть man portage

Тогда вы не будете относиться к portage как к “магической черной коробке”, ТАИНСТВЕННЫМ ОБРАЗОМ УЗНАЮЩЕЙ о софте установленном вами вручную.