Мы тут с товарищем h31 завели интереснейшую дискуссию о подходах к созданию и распространению программ в Линуксах и других операционных системах. А именно, динамическая и статическая линковка, точнее, распространение приложений отдельно от общих библиотек или статическая линковка всех необходимых библиотек и распространение их вместе с приложением.
Сразу же возникают вопросы контроля версий и экономии объёма, но мы подойдём к ним чуть позже, сначала надо разобраться с точной формулировкой обсуждаемых вопросов.
Краткое содержание предыдущей серии: мы немного пофлудили, затем решили начать честный, аргументированный спор по всем правилам логики, да и завязли на этапе выработки общих точек опоры.
Чтобы сравнивать эти подходы, необходимо условиться о том, в каких условиях мы их сравниваем. В качестве модели была выбрана компьютерная сеть. И вот тут обнаружились разногласия. Я утверждал, что в компьютерную сеть следует включать и так называемый «сникернет» — способ передачи информации путём физического переноса носителей. Потому что именно таким способом передаются файлы (в том числе программное обеспечение) в условиях отсутствующей или ограниченной связи с Интернетом.
Мой уважаемый оппонент высказал мысль о том, что по сникернету нельзя посылать запросы. Практика же говорит, что в случае динамической линковки и раздельного распространения всё точно наоборот. Я как раз недавно начал разрабатывать аналог APT (дебиановского менеджера пакетов1) для сетей с ограниченным доступом к Интернету. Этот инструмент предназначен для более узкой модели — одна локальная сеть, имеющая хорошую (проводную) связь между любыми узлами, но с Интернетом связанную либо узким каналом (сюда же причисляются пользователи домовых сетей, экономящие на Интернет-трафике2), либо каналом, доступным ограниченному числу узлов, либо связь только по «сникерсу».
Эта программка работает примерно по такой схеме: список файлов, которые не найдены в локальной сети, переносится на флэшке или ещё как-нибудь поближе к Интернету, там файлы скачиваются и затем доставляются обратно.
А вот с передачей программ без запроса дело обстоит сложнее. Ведь заранее не известно, каких именно пакетов не хватает пользователю. То есть если Боб увидел у Алисы на компьютере интересную программку, то ему придётся лишний раз сходить домой только для того, чтобы сформировать запрос. Какие-либо простые решения для данной задачи сходу придумать не получается.
Надеюсь, данным постом я достаточно подробно обрисовал применимость традиционной пакетной системы распространения ПО в рассматриваемой «замкадской» модели.
1 Есть аналоги APT и для Линуксов на RPM (APT-RPM), для Windows (Win-Get) и Mac OS X (Fink). Теоретически мою утилиту можно перенести и на них.
2 Для экономных пользователей правильные провайдеры устраивают кэширующие репозитории или зеркала. А если у вас неправильный провайдер, то читайте дальше.
You must be logged in to post a comment.