LINUX.ORG.RU

Nix - пакетный менеджер для всех дистрибутивов

 ,


1

0

В статье "Nix - инструмент, помогающий выбраться из "ада зависимостей" (авторы - Pjotr Prins, Jeeva Suresh, Eelco Dolstra, перевод: Юрий Овчаренко) приведен обзор универсального пакетного менеджера Nix, не основанного на других системах управления пакетами. В Nix присутствует поддержка широкого спектра Linux дистрибутивов, имеется возможность одновременной установки нескольких версий одной программы, гибкие средства для обновления пакетов или возврата в состояние на несколько шагов назад. Пакеты, установленные через Nix, самодостаточны и устанавливаются в отдельные директории в дереве /nix/store.

>>> Подробности

★★★

Проверено: Shaman007 ()

Просмотрел статью по-диагонали. IMHO какой-то трехколесный горный велосипед на реактивной тяге. Если кто-то так боится dependency hell, пусть пользуется стабильными дистрибутивами.

ist76 ★★★★★
()

>Пакеты установленные через Nix самодостаточны и устанавливаются в отдельные директории в дереве /nix/store.

них? ясе как это будет тупить при поиске нужного исполняемого файла\библиотеки.

wfrr ★★☆
()
Ответ на: комментарий от Redfoxnet

>Уже было, не? Было. На 1-ое апреля.

anonymous
()

тухлый номер

anonymous
()

не нужен! Хотя бы название сменили бы на nux. Тогда бы ещё куда ни шло. А вообще - не новый пакетник надо, а объединение существующих. Хотя бы в рамках внешнего проекта. Хотя это конечно тоже будет лисапед-драндулет хоть куда.

ixrws ★★★
()
Ответ на: комментарий от ixrws

> А вообще - не новый пакетник надо, а объединение существующих. Хотя бы в рамках внешнего проекта.

Alien?

hobbit ★★★★★
()
Ответ на: комментарий от C1eDoDe1

Про что-то подобное я уже не раз читал на ЛОРе, ну и где это все ?

vasya_pupkin ★★★★★
()

У nix свой /usr, с карточными играми и развратными женщинами

MadCAD ★★
()

Ура, товарищи! Разработчики nix смогли в очередной раз изобрести велосипед, на этот раз на пяти семиугольных колесах. При использовании nix водитель садится в кресло, закрепленное на балке на расстоянии 3 м от основной рамы. Новая модель оснащена пружиной для завода (чтобы откатиться на заданное расстояние) и совместима с 90% населения Земли!

anonymous
()

kpackage умеет работать с рпм и деб, не совсем универсально, но остальное экзотика имхо и должно умереть )

anonymous
()

Публикации на оффсайте прикольные. Про пакетный менеджер на чисто функциональном языке. Это даёт надежду, что при грамотной реализации самого дистрибутива на его базе ситуации вроде гентушной "обновили пакет, сломали зависимости по USE-флагам, теперь надо откатить пакеты и накатить заново новые версии" не будут возникать так часто, или вообще. Если purely functional, без побочных эффектов. Получаются по идее самодостаточные devzones.

anonymous
()

я так понял никто не прочитал по линку что написано. я хочу такой манагер себе в бунте.

bernd ★★★★★
()
Ответ на: комментарий от ist76

>Просмотрел статью по-диагонали. IMHO какой-то трехколесный горный велосипед на реактивной тяге. Если кто-то так боится dependency hell, пусть пользуется стабильными дистрибутивами.

Это у тебя от незнания.

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

А nix позволяет не только ставить пакеты со своим деревом зависимостей, но и разные пакеты для разных пользователей. Заодно умеет переносить пакеты с одной системы в другую.

Попробуй поставь файрфокс2 одному пользователю и файрфокс3 другому. Или рядком поставить 32-х битную и 64-х битную версию.

AVL2 ★★★★★
()
Ответ на: комментарий от C1eDoDe1

>Как я понял после года обновлений винт будет завален старыми версиями пакетов.

Для этого есть purge.

AVL2 ★★★★★
()
Ответ на: комментарий от bernd

>я хочу такой манагер себе в бунте.

Ишь какой. У вас там есть свой.

sskirtochenko ★★
()

а ведь отличная штука!

az
()
Ответ на: комментарий от Nao

Помойму авторы nix попробовали найти (золотую?) середину между dependency hell и "dll" hell. Вот только не нарвутся ли и на то и на другое?)

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

С другой стороны (по сравнению с виндой) срач не должен возникать, потомучто каждый файлик под контролем, да ещё и в своём поддереве сидит.

Nao ★★★★★
()
Ответ на: комментарий от Nao

плюс ещё, "сборщик мусора" по идее должен прибрать старые версии библиотек, если пакет обновили и старые зависимости больше никем не используются

anonymous
()
Ответ на: комментарий от H5N1

капча loser как бы подсказывает: Just use brain, Luke.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()

Не нужно. И без этого велосипедов хватает.

Deleted
()

Забавная штука, может разработчикам и пригодилось бы - иметь несколько версий библиотек и т.д., но ИМХО, это монстр получается.

h8 ★★★
()

Чем-то оно мне похоже на GoboLinux, там тоже каждый пакет в своём поддереве, типа такого:

/Programs/ReiserfsProgs/3.6.19-6/bin
/Programs/ReiserfsProgs/3.6.19-6/share
/Programs/ReiserfsProgs/3.6.19-6/share/doc

и т.д.

Cancellor ★★★★☆
()
Ответ на: комментарий от AVL2

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

> А nix позволяет не только ставить пакеты со своим деревом зависимостей, но и разные пакеты для разных пользователей. Заодно умеет переносить пакеты с одной системы в другую.

> Попробуй поставь файрфокс2 одному пользователю и файрфокс3 другому. Или рядком поставить 32-х битную и 64-х битную версию.

Т.е. вместо того, чтобы порядок в репозитории навести, каждая программа, использующая криптографию, например, будет с собой в качестве зависимости тащить свою версию libopenssl ?

При таком раскладе подход Gentoo мне больше нравиться, проще мир пересобирать при смене USE флага.

anonymous
()
Ответ на: комментарий от avol

>> /nix/store

>Виндас? c:\Program files, не?

И ещё в MacOS то же самое, близнецы-братья можно сказать))

anonymous
()
Ответ на: комментарий от AVL2

> А nix позволяет не только ставить пакеты со своим деревом зависимостей, но и разные пакеты для разных пользователей.

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

skwish ★★
()
Ответ на: комментарий от Nao

> Помойму авторы nix попробовали найти (золотую?) середину между dependency hell и "dll" hell. Вот только не нарвутся ли и на то и на другое?)

> Количество установленных библиотек в системе должно в разы увеличится. Тогда, к примеру, две (или более) версии минорно отличающихся друг от друга библиотек будут одновременно загружены. Получается как в винде. Насколько это неэфективно? Насколько это актуально для современных машин с гигами оперативки?

+1 По ссылке как пример использования такого функционала приводится тестирование свежайших версий софта. Причем не нескольких утилит, как это бывает (у меня по крайней мере), а сразу всего-всего.

Виртуальные машины в этом плане более понятны.

skwish ★★
()
Ответ на: комментарий от ixrws

> Хотя бы название сменили бы на nux

Лучше nax

anonymous
()
Ответ на: комментарий от skwish

> Разве пакетная система не создана, чтобы таких ситуаций избегать?

Нет, не создана.

Это не собачье дело пакетной системы думать за пользователя что ОН хочет. Хочет пользователь иметь в рядок firefox 1.5, 2 и 3 — значит хорошо бы чтобы имел. Хочет и 32-битный и 64-битный mplayer'ы — значит так надо. Дело пакетной системы — всеми файликами управлять потом, чтобы не получить слаки/венды.

anonymous
()
Ответ на: комментарий от Nao

>Количество установленных библиотек в системе должно в разы увеличится.

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

>Получается как в винде.

получается как в линуксе, поскольку большинство прог собираются и пересобираются с одной версией библиотек.

nix вообще поддерживает сборку из сырцов ака генту. так что никто не мешает оптимизировать кол-во библиотек.

AVL2 ★★★★★
()
Ответ на: комментарий от skwish

>Виртуальные машины в этом плане более понятны.

Это что, под каждый гимп или файрфокс тянуть свою виртуалку?

AVL2 ★★★★★
()
Ответ на: комментарий от skwish

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

зачем избегать? в этом смысле хорош макос. скопировал папку вот тебе и весь инсталл.

А если надо протестировать альфу? почему нельзя поставить ее рядом со стабильным релизом?

AVL2 ★★★★★
()

"nix" в разговорном немецком обозначает что-то вроде русского "нихрена"

делаем выводы

swar0g ★★★★
()

apt же умеет и рпм и деб, не? не катит?

DELIRIUM ☆☆☆☆☆
()

>....пакетный менеджер для всех дистрибутивов

а причем тут гента?

anonymous
()
Ответ на: комментарий от anonymous

>Т.е. вместо того, чтобы порядок в репозитории навести, каждая программа, использующая криптографию, например, будет с собой в качестве зависимости тащить свою версию libopenssl ?

А при обнаружении в либе уязвимостей нужно будет обновить не одну либу, а целый зоопарк пакетов, которые пересоберут с патченой либой. А если в каком-то пакете либу не пропатчат, то одно приложение останется уязвимым, а остальные - нет.

Мдя =\

MYMUR ★★★★
()

IMHO пусть будет, полезно будет только коммерческим вендорам, для выпуска многогигабайтных игр, фотошопа, автокада и прочих монстров, где все требуемые либы будут меньше 2% от остальной софтины.

А если каждую, что у нас сейчас есть в /usr/bin притаскивать со своей песочницей библиотек, то никаких винтов не хватит.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.