для линукса вообще и для 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, что вам и предлагаю сделать.
В gentoo-же существует система portage - следящая за изменениями вносимыми новым пакетом…
вот это и хочется уточнить.
Если я собираю из исходников пакет в $HOME или в любую другую папку, будет ли он выявляться portage или нет (в случае, если все зависимости учтены и никакие системные библиотеки меняться не будут)