RU/2: Forum. Discussion for users and developer OS/2 (eCS). : менеджеры пакетов


Message list | Post new message | Reply to current | Home Search:
Previous message | Next message
From : DDP
To : Slavik Gnatenko
Subj : менеджеры пакетов

> > где-то чуть раньше мелькало, что все эти библиотеки можно добавлять руками простым копированием. то есть там никакого хитрого механизма нет. почему бы не выкладывать программы с разу с набором работающих библиотек чтобы они находились в текущем рабочем каталоге. чтобы при работе программа искала всё нужное в своём каталоге а не рыскала по диску в поисках места свалки библиотек.
> Выкладывать такое абсолютно не вопрос. В конце концов ты можешь сам взять rpm'ы по списку и сделать один архив. И автоматизируется это на раз. Выкладыватели всего лишь стремятся, чтобы дистрибутив не только распаковался, но и программа потом работала. А вот работоспособности в таком дистрибутиве потенциально (а на практике и очень даже кинетически) мешают сразу две вещи:
> 1) Ядерный загрузчик исполняемых файлов в начале рыскает по памяти, а только потом, если модуль с нужным именем ещё не загружен, по диску. В результате обычное дело получить в процесс библиотеку совсем не из своего каталога и неопределённые последствия.
> 2) Не все библиотеки вообще допустимо загружать одновременно. В смысле не в один процесс, а в систему. Самый яркий пример в этом плане - это kLibc.
>
> Должен сказать, что такой подход как-то не очень применяется и в более мейнстримных системах, где загрузчик имеет в приоритете диск и софт при обнаружении общесистемных несовместимостей принято исправлять (ой, не всегда :) ). Но вот почему-то ни разу не видел, чтобы даже под Windows, где главное пользователя не перенапрячь, кто-то тащил всякие VC redistributable и .NET runtime в собственном каталоге. Падаюшие и зависающие при установке дистрибутивы этих библиотек - это видел. Не написать нигде, что они вообще софтине нужны (про инструкции откуда брать можно и не заикаться) - в порядке вещей. Но ничего, весь мир терпит и называет дружественным к пользователю.

тогда вопрос: а почему же пишут, что программы работают каждая в своём изолированном пространстве? то есть, по-идее, они в своём пространстве и должны искать нужные модули? а если их там нет, то загружать из своего каталога. можно же в конфиге в пути первым пунктом поставить точку (вы уже конечно написали, что ядро ищет сначала в памяти, получается, что параметры конфига игнорируются?).

Fri 07 Dec 2018 09:53 Mozilla/5.0 (Windows NT 6.0; rv:52.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.