В винде тоже есть side by side assemblies, если ты думаешь что твои приложения ничего не шарят между собой — ты сильно ошибаешься. А еще у тебя наверняка есть несколько версий .NET и несколько версий vcredist и тд.
Ну фиг с ним, нет так нет. Каждый сам волен сделать выводы по данному вопросу.
CK>В винде тоже есть side by side assemblies, если ты думаешь что твои приложения ничего не шарят между собой — ты сильно ошибаешься. А еще у тебя наверняка есть несколько версий .NET и несколько версий vcredist и тд.
В винде таких расшаренных вещей на два порядка меньше, чем в линуксе, и обычно они юзера не касаются (до такой степени, что никто об этом даже не знает). Сиплюсплюсные рантаймы, кстати, часто программы с собой в своем каталоге таскают.
Автор там предалагает создать свой локальный apt репозиторий, в качестве альтернативы накатыванию deb пакетов вручную. Накатывание кривых deb пакетов (с кучей не резолвящихся зависимостей), это не проблема linux и даже не проблема менеджера пакетов. Это проблема того, кто этот deb пакет собирает и поставляет.
ARK>http://rants.broonix.ca/dependency-hell/
First some history; like a lot of developers in their 30's the first time I saw dependency hell was on a linux box. ... Luckily the community did everything it could to fix this: side-by-side installations of versions and smart package managers all but negated the problem.
...
Now I'm living a new dependency hell: NPM/JavaScript.
I haven't had to deal with dependencies for ages. Not on Debians or Red Hats.
У меня ровно те же впечатления. Последний раз, когда мне пришлось возиться с зависимостями был где-то пол года назад. Нужно было установить один deb пакет, собранный под ubuntu 12.04 в ubuntu 16.04. Некоторые из зависимостей этого deb пакеты были переименованы (какой-то Qt компонент). Мне пришлось распаковать deb, отредактировать список и собрать пакет заново, после чего он установился и заработал. Но подобные случаи — не проблема пакетного менеджера.
ARK>В винде таких расшаренных вещей на два порядка меньше, чем в линуксе, и обычно они юзера не касаются (до такой степени, что никто об этом даже не знает). Сиплюсплюсные рантаймы, кстати, часто программы с собой в своем каталоге таскают.
Поэтмоу большая часть библиотек — копролиты, modification time которых совпадает с времененм установки приложения.
Здравствуйте, chaotic-kotik, Вы писали:
ARK>>В винде таких расшаренных вещей на два порядка меньше, чем в линуксе, и обычно они юзера не касаются (до такой степени, что никто об этом даже не знает). Сиплюсплюсные рантаймы, кстати, часто программы с собой в своем каталоге таскают. CK>Поэтмоу большая часть библиотек — копролиты, modification time которых совпадает с времененм установки приложения.
А это никому не мешает. Все работает именно с теми версиями библиотек, с которыми разрабатывалось и тестировалось. Если кому-то приспичит обновить какую-то либу (впрочем, я про таких людей ничего не слышал) — можно руками обновить в каталоге программы. Только это никому не нужно.
Здравствуйте, AlexRK, Вы писали:
ARK>А это никому не мешает. Все работает именно с теми версиями библиотек, с которыми разрабатывалось и тестировалось.
А если выяснилось, что в библиотеке есть уязвимость и даже существует реальная малварь, которая этим пользуется?
ARK>Если кому-то приспичит обновить какую-то либу (впрочем, я про таких людей ничего не слышал) — можно руками обновить в каталоге программы. Только это никому не нужно.
А если я прочитал CVE про уязвимость в libmagic, то должен сам найти в интернете свежу версию, скачать, потом найти все те места на диске, где лежит старая версия и обновить?
Здравствуйте, chaotic-kotik, Вы писали:
CK>А если выяснилось, что в библиотеке есть уязвимость и даже существует реальная малварь, которая этим пользуется? CK>А если я прочитал CVE про уязвимость в libmagic, то должен сам найти в интернете свежу версию, скачать, потом найти все те места на диске, где лежит старая версия и обновить?
Это слишком редкий случай, чтобы из-за него постоянно иметь проблемы с зависимостями. Да, я помню, что на линупсе "проблем нет". Если их там нет, так это потому, что там и пользователей нет.
К слову, не помню на винде случаев эксплуатации уязвимостей каких-то прикладных библиотек. Лично у меня таких проблем последние 20 лет не было.
Здравствуйте, chaotic-kotik, Вы писали:
CK>А если я прочитал CVE про уязвимость в libmagic, то должен сам найти в интернете свежу версию, скачать, потом найти все те места на диске, где лежит старая версия и обновить?
А с пакетами как-то иначе? Да они поди откажутся с новой версией работать, пока их самих не обновят. Ну, или собирай все из исходников под новую либу.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, AlexRK, Вы писали:
ARK>Это был просто пример, иллюстрация. Теперь передайте null или NaN в функцию "int Add(int val) { return val + 1; }". Не получается? Значит все-таки в программировании может быть не всё? ARK>И, раз null/NaN передать в функцию Add невозможно, это означает, что у нас "весь код будет засран проверками" и "в ветке else мы начнём считать погоду в африке"?
Это вообще не то. NaN/null этапа компиляции проверить может компилятор, а вот когда он получается в рантайме, ты предлагаешь все обкладывать писаниной (в которой делать что?), вместо вполне обоснованного и стандартного исключения. Причем для исключения есть даже стандартный обработчик, который ругнется и сдохнет, если тебе не нужна своя обработка.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
ARK>>Это был просто пример, иллюстрация. Теперь передайте null или NaN в функцию "int Add(int val) { return val + 1; }". Не получается? Значит все-таки в программировании может быть не всё? ARK>>И, раз null/NaN передать в функцию Add невозможно, это означает, что у нас "весь код будет засран проверками" и "в ветке else мы начнём считать погоду в африке"?
Ops>Это вообще не то. NaN/null этапа компиляции проверить может компилятор, а вот когда он получается в рантайме, ты предлагаешь все обкладывать писаниной (в которой делать что?), вместо вполне обоснованного и стандартного исключения. Причем для исключения есть даже стандартный обработчик, который ругнется и сдохнет, если тебе не нужна своя обработка.
Да нет же, блин. Никакой лишней писанины не будет. Ничего я не предлагаю обкладывать, сверх того, что реально необходимо.
Здравствуйте, AlexRK, Вы писали:
ARK>Это слишком редкий случай, чтобы из-за него постоянно иметь проблемы с зависимостями. Да, я помню, что на линупсе "проблем нет". Если их там нет, так это потому, что там и пользователей нет.
Только что обсудили же, что особых проблем с зависимостями нет, а ты почему-то пишешь "постоянно иметь проблемы с зависимостями".
ARK>К слову, не помню на винде случаев эксплуатации уязвимостей каких-то прикладных библиотек. Лично у меня таких проблем последние 20 лет не было.
То что ты не помнишь и не знаешь — ничего не доказывает.
Здравствуйте, Ops, Вы писали:
Ops>А с пакетами как-то иначе? Да они поди откажутся с новой версией работать, пока их самих не обновят. Ну, или собирай все из исходников под новую либу.
Если посмотреть любое приложение через objdump -p, то ты увидишь soname каждой его зависимости:
При этом, если на диске будет лежать libm.so.7, будет использована эта библиотека и ничего не сломается, т.к. инкремент версии в данном случае означает, что изменения интерфейса библиотеки — обратно совместимы. Security update не имзеняет интерфейс, поэтому soname библиотеки будет таким же как и раньше (имя файла при этом может отличаться).
Здравствуйте, AlexRK, Вы писали:
ARK>Таким образом, выбор невелик — либо жрать, что дает мелкософт, и иметь начиненную кейлоггерами и троянами ось, либо сидеть на непропатченной седьмой винде и иметь риск заражения. Я выбираю последний вариант, особенно с учетом того, что конкретную, или даже примерную, вероятность такого заражения (с учетом соблюдения минимальных правил гигиены) никто назвать не может. Сколько это — 0.001%? 0.000000001%?
Угу. Я тоже дома сижу на старой непропатченной, с антивирусом, файрволом и соблюдением правил гигиены, и пока ни разу ничего не было *постучал по столу*
Здравствуйте, Grizzli, Вы писали:
G>Микрософт сама это спровоцировала, выпустив на w7 w8 и прочие систему телеметрии. В итоге пользователи предпочитают вообще не ставить обновления (т.к. в каждом рефреше новые адреса для телеметрии), чем словить трояна от Микрософта.
Уже не в первый раз в этой теме звучит слово "троян", относительно функциональности винды. Кто-нибудь может внятно, без капса, восклицательных знаков и прочих истерик, объяснить -- в чём именно заключается этот самый "троян"? И, хотелось бы увидеть не рассуждения на тему "мне так кажется" или "я где-то слышал, что", а утверждения со ссылками на их пруфы, если это возможно.
Здравствуйте, AlexRK, Вы писали:
ARK>К слову, не помню на винде случаев эксплуатации уязвимостей каких-то прикладных библиотек. Лично у меня таких проблем последние 20 лет не было.
Ну, вы не помните, а они есть. Тот же прорыв через adobe reader в браузере, или даже через специальным образом сформированный jpg.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Уже не в первый раз в этой теме звучит слово "троян", относительно функциональности винды. Кто-нибудь может внятно, без капса, восклицательных знаков и прочих истерик, объяснить -- в чём именно заключается этот самый "троян"? И, хотелось бы увидеть не рассуждения на тему "мне так кажется" или "я где-то слышал, что", а утверждения со ссылками на их пруфы, если это возможно.
Троян — это программа, внедряемая со стороны, и выполняющая не твои — а чужие задачи. В данном случае ее внедряет тебе Майкрософт, чтобы:
1) использовать статистику с твоего компа к собственной выгоде.
2) контролировать софт, который ты используешь — к примеру его лицензионную чистоту. А может ты гей порно любишь? Это тоже может быть известно Майкрософт. Пока что — ты никому не нужен. Но на тебя уже есть что называется, папочка. Сложатся по другому обстоятельства — и вот она, изнанка твоей жизни, у всех на виду.
Здравствуйте, Grizzli, Вы писали:
G>1) использовать статистику с твоего компа к собственной выгоде. G>2) контролировать софт, который ты используешь — к примеру его лицензионную чистоту. А может ты гей порно любишь? Это тоже может быть известно Майкрософт. Пока что — ты никому не нужен. Но на тебя уже есть что называется, папочка. Сложатся по другому обстоятельства — и вот она, изнанка твоей жизни, у всех на виду.
Я же попросил:
не рассуждения на тему "мне так кажется" или "я где-то слышал, что", а утверждения со ссылками на их пруфы, если это возможно.
Здравствуйте, Слава, Вы писали:
С>Ну, вы не помните, а они есть. Тот же прорыв через adobe reader в браузере, или даже через специальным образом сформированный jpg.
Я не уверен насчет всех браузеров, но ФФ давно идет со своим просмотровщиком.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, AlexRK, Вы писали:
ARK>Совершенно верно. Нет смысла, чтобы зависимости у разных приложений были общими. Никакие зависимости вообще не нужны. Есть программа и всё.
Смысл в том, чтобы обновления безопасности приходили на все программы сразу, а не на каждую по отдельности. На среднем компьютере, ну пусть 1000 программ, которые работают с HTTPS и в зависимостях, соответственно, тянут OpenSSL. Как ты думаешь, что будет быстрей — обновить OpenSSL в одном экземпляре, или ждать, пока авторы этих программ зачешутся, обновят свои программы (а половина уже давно умерли), мейнтейнеры это всё дело опакетят и лет через 7 может приедет тебе обновление.