LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Культура дропать и пересоздавать их на каждый чих, которая и принесла современному девопсу псевдовоспроизводимость, зародилась когда Nix уже десяток лет как был.

Согласен. Но как видишь, от «возможности» до «культуры» прошло очень много лет. Быстрее не вышло.

Насчёт Nix - в результате его работы получается фарш в /nix/store, и никто не поручится, что этот фарш работает надежно. Софт не может обратиться к «неправильной» версии пакета? В теории да, а на практике - может, если захочет. Если вы хотите полного контроля, каждый процесс должен быть изолирован в адресном пространстве с точностью до своих зависимостей и обрабатываемых файлов. Пока это нереализуемо в общем случае, но развитие идёт именно туда.

При этом Nix еще и не позволяет реализовать базовый принцип инженера: работает - не тронь. Если мне нужно запатчить баг в glibс, не изменяющий её API, я всё равно должен пересобрать весь стек, хотя вышележащие компоненты не нуждаются в пересборке. В идеальном мире пересборка даст точно такой же результат. А в реальном возможны варианты.

Nix решает проблемы не с того конца: требуется не уничтожение FHS, а её полная виртуализация. Вопспроизводимость - это условная характеристика, зависящая от требований конкретной задачи, а nix не дает возможности её регулировать.

Итого из реальных недостатков контейнеризации - только недостаточный уровень дедупликации файлов.

Исходная версия Deleted, :

Культура дропать и пересоздавать их на каждый чих, которая и принесла современному девопсу псевдовоспроизводимость, зародилась когда Nix уже десяток лет как был.

Согласен. Но как видишь, от «возможности» до «культуры» прошло очень много лет. Быстрее не вышло.

Насчёт Nix - в результате его работы получается фарш в /nix/store, и никто не поручится, что этот фарш работает надежно. Софт не может обратиться к «неправильной» версии пакета? В теории да, а на практике - может, если захочет. Если вы хотите полного контроля, каждый процесс должен быть изолирован в адресном пространстве с точностью до своих зависимостей и обрабатываемых файлов. Пока это нереализуемо, но развитие идёт именно туда.

При этом Nix еще и не позволяет реализовать базовый принцип инженера: работает - не тронь. Если мне нужно запатчить баг в glibс, не изменяющий её API, я всё равно должен пересобрать весь стек, хотя вышележащие компоненты не нуждаются в пересборке. В идеальном мире пересборка даст точно такой же результат. А в реальном возможны варианты.

Nix решает проблемы не с того конца: требуется не уничтожение FHS, а её полная виртуализация. Вопспроизводимость - это условная характеристика, зависящая от требований конкретной задачи, а nix не дает возможности её регулировать.

Итого из реальных недостатков контейнеризации - только недостаточный уровень дедупликации файлов.