FastNetMon

Thursday, 27 August 2015

Недостатки используемых в данный момент способов доставки приложений и библиотек

Меня всегда удивлялся идиотическая черта пропагандируемая всеми без исключения дистрибутивами, построенными на бинарных пакетах.

Кто эти люди, кто считает, что старый, неактуальный код полутора летней давности НАДЕЖНЕЕ того же самого кода, который был выправлен от пары-тройки критичных багов, скажем, неделю назад?

Я изо дня в день выбиваю баги, которых нету в актуальной версии библиотеки/программы, но они есть и цветут в красе в той версии, которую сунул чудесный дистрибутиво-собиратель.

Единственные, кто хотя бы отчасти радует в этом мире идиотизма - это Ubuntu LTS, которые нарушили все кармические запреты и обновляют ядро до разумных версий!

Red Hat со своим чудо-ядром класса 2.6.32 на стероидах с тыщей бэкапорт патчей сверху (да пропади оно пропадом сто раз - баголовище и багокостылище) не просто задрал, а задрал - нисказанно Смайлик «smile»


Алсо, друзья, какие выходы из этой патовой ситуации Вы видите?

Мы уже местами упоролись в конец и собираем то-что-нам-нужно (на богобоязныенных Го и Си Плас Плас) вручную и нужных-нам-версий, используя от дистрибутива лишь базовые вещи (хотя под час там даже базовый компилятор - старье и им просто-напросто не собрать актуальный проект, скажем, на С++ 11).

Докеры и прочее прошу не рекомендовать - я хочу решение, а не костыль и желательно без 7ми слоев виртуализаци и изоляции даже если она делается во благо мне Смайлик «smile»

Gentoo/LFS это кому-то может быть и вариант, но не для продакшена явно. Радуют в вопросе CoreOS - но там богобоязнныенне конейнеры и нарушение многих привычных мне парадигм.

Хочется дистибутив, который использует в меру стабильное, но актуальное ядро, имеет полный арсенал языков программирования и ключевых библиотек актуальных стабильных версий (с соотвествующим обновлением).

Но при этом хочется возможности фиксировать библиотеки. Скажем - я опираюсь на xxx, yyy, zzz и просто не хочу получать обновления на их следующие версии, а только обновления, скажем, безопасности.

Из готовых решений имеющих более-менее адекватных разработчиков кеомендую присмотреться к пакетному менеджеру Nix и ОС на его базе - Nix OS.

Также вместо докера с его огромным ворохом проблем рекомендую посмотреть на CoreOS + Rocket (годная и адекватная замена Doker спроектированная инженерами, а не хипстерами).

А что думаете Вы?

11 comments :

  1. This comment has been removed by the author.

    ReplyDelete
  2. Недавно встал аналогичный вопрос, но для себя его ещё не решил. Пока используем последние убунты.
    За Nix OS - спасибо!
    А федору пробовали, или недостаточно стабильно?

    ReplyDelete
  3. Всё говно, кроме Debian. Да и Debian тоже говно, если не посолить.

    ReplyDelete
  4. Взаимоисключающие параграфы, касаемо новых версий и стабильной работы. Да на Red Hat-е нат последних фич, зато то, что есть работает годами и не требует внимания. А убунта даже LTE радует порой такими багами... Новые возможности в багпортируемый софт не добавляются ==> не появляется новых багов. А исправления багов бегпортяться ==> общее число багов уменьшается.
    Ну и само сабой писать батенька надо не так, что жить без всех фич C++11 и последней версии JavaScript нельзя .

    ReplyDelete
    Replies
    1. Предлагаете писать на старом, простите, хламе, терять в скорости, терять в надежности и стабильности кода лишь потому что, кто-то считает, что старый == стабильный? Бред. От начала до конца.

      Delete
    2. Когда добавляются новые возможности - появляются баги. Это бред? Когда чинят баги, то число багов в среднем уменьшается. Или это бред? Не говоря про то, что можно тупо собрать новую версию gcc под старым Red Hat-ом (вместе с glib, libstdc++) и так далее.

      Delete
  5. nix может работать и не только на nixos, а например на том же дебиане(и работает!)

    ReplyDelete
  6. >> Gentoo

    Calculate Linux? По умолчанию там профиль бинарных пакетов.

    >> Но при этом хочется возможности фиксировать библиотеки.

    Это, как я понимаю, фишка Генты и Calculate как совместимого с Гентой дистра.

    ReplyDelete
  7. http://www.opennet.ru/opennews/art.shtml?num=43061

    ReplyDelete
  8. Вообще не понял много букв про старье.
    Берем Дебаян и добавляем анстейбл или сид.
    Берем редхат и вкидываем епель или массу прочих нормальных репо.
    Часто от самого производителя софта (мариадб, заббикс, перкона к примеру).
    Все.

    Доставку делать ansible/puppet/chef, вплоть до версии.
    На сегодня просто создаете список нужного ПО для проекта с точностью до 3 знака в версии софта и вперед.

    Это как вопрос девелопера - а какой щас php модный? 5.3, 5.4, 5.5, 5.6, 5.7? И в ответ от девопсов получает: Тот, который нужен для проекта, а как мы его на фронтэнд доставим это наш головняк. Головняк ли? ;)

    И да.
    Если все так плохо берете как одни коллеги и собираете кастомные рпмы для своего софта. Так они распространяют свой хитрый софт на сотни своих клиентов.

    В общем пост я не понял. Тем более в 2015 году.

    ReplyDelete
  9. И да.
    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.0_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.0_Release_Notes-Kernel.html

    Red Hat Enterprise Linux 7 includes the kernel version 3.10, which provides a number of new features, the most notable of which are listed below.

    ;)

    ReplyDelete

Note: only a member of this blog may post a comment.