LINUX.ORG.RU

Функциональный менеджер пакетов Nix: Часть 1.Базовое использование

 


0

0

Nix – это пакетный менеджер для unix-систем, обладающий существенно иным подходом к сборке пакетов, учету зависимостей между ними и способу доставки на целевые системы.

Nix может работать совместно с обычным пакетным менеджером на том дистрибутиве, который у вас уже установлен (Ubuntu, Arch и т. п.). В статье будут рассмотрены процедура установки, операции управления пакетами и некоторые механизмы работы Nix.

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

★★★

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

Ответ на: комментарий от daemonpnz

Nix не Portage.

переизобрели portage?

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

Camel ★★★★★ ()

Ну, до portage ему очень далеко.

P.S. И зачем он под Windows?

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

Не нужен (portage).

Функциональный подход заключается в том, что пакет собирается функцией, не имеющей побочных эффектов, т. е. операции в Nix не являются деструктивными. Таким образом, операции установки и обновления как пакетов, так и целиком системы безопасны и позволяют осуществлять откат не только к предыдущему, но и к более ранним состояниям.

Интересно

northerner ★★★ ()
Ответ на: Nix не Portage. от Camel

> К сожалению Nix нарушает FHS

Nix нарушает FHS? Тогда срочно делать клон на основе stow!

kim-roader ★★ ()
Ответ на: комментарий от northerner

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

И? Portage это всегда умел.

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

> И? Portage это всегда умел.

Та секретарша тоже набирает 1000 знаков в минуту. Но какая-то фигня получается.

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

>>и позволяют осуществлять откат не только к предыдущему, но и к более ранним состояниям.

И? Portage это всегда умел.


А можно отсюда поподробнее...?

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

Такое ощущение, что Вы никогда не работали с portage.

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

Nix из NixOS.

это случаем не тот, что из NixOS?

Тот самый.

Там же мало пакетов, не более 2500.

С чего-то надо начинать.

Camel ★★★★★ ()

А у кого-нибудь история успеха? У меня так и не получилось его развернуть и что-нибудь собрать, а целиком nixos ставить неохота. Но штука очень интересная и, по-моему, перспективная.

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

> Такое ощущение, что Вы никогда не работали с portage.

Удобно. Надо полагать, Вы имели в виду создание снапшотов (demerge --record / --restore), говоря о множественных откатах. В Nix не то же самое.

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

>Такое ощущение, что Вы никогда не работали с portage.

Возможно. По-этому просьба остаётся в силе.

TOHbl4 ()

Всё равно 0install круче.

˯

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

Nix не Portage.

Ну, до portage ему очень далеко.

Nix'у до Portage по определению далеко, равно Portage'у до Nix'а. Они сильно по-разному устроены.

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

Как вариант, да.

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

P.S. Даже при переходе, в свое время, со stable на testing, при внимательном прочтении всех рекомендаций portage, не пришлось ничего откатывать ;)

pitach ()

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

annulen ★★★★★ ()

В раздел 2.1 было бы неплохо добавить ссылку на исходники его.

Xandry ()

Я джва года ждал такой менеджер!

anonymous ()

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

А вообще было бы разумно прикрутить локальную установку к существующим системам управления пакетами (то бишь в ~/ создать файловую систему для пакетов, и для пользователей в profile прописать в ней места подключения библотек и поиска бинарников).

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

>>операции установки и обновления как пакетов, так и целиком системы безопасны и позволяют осуществлять откат не только к предыдущему, но и к более ранним состояниям.

Интересно

это не просто интересно, это реальная киллер-фича. только консервативизм может препятствовать внедрению такой новинки. чем скорее она станет стандартом, тем лучше.

Voviandr ()

Я вот не понимаю, оно нужнее, чем большая кнопка в убунте?

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

> это не просто интересно, это реальная киллер-фича

Именно. Каждый раз, смотришь на старый сервер с Debian и думаешь какая будет развлекуха, если apt-get upgrade что-то поломает. Отката назад-то нету. Снапшоты lvm2 и прочее - это, конечно, да, но не в счет.

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

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

P.S. Даже при переходе, в свое время, со stable на testing, при внимательном прочтении всех рекомендаций portage, не пришлось ничего откатывать ;)

Сдается мне, что это слив... или таки будет пруф?

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

dev-db/mysql
Available versions: [M]*3.23.58-r1 [M]4.0.27-r1 [M]4.1.22-r1 [M]5.0.54 5.0.70-r1 (~)5.0.72 (~)5.0.72-r1 (~)5.0.76 (~)5.0.76-r1 (~)5.0.83 (~)5.0.84 5.0.84-r1 (~)5.0.87 (~)5.0.88 (~)5.0.90 (~)5.0.90-r1 (~)5.0.90-r2 (~)5.1.39-r1 (~)5.1.44 (~)5.1.44-r1 (~)5.1.44-r2 (~)5.1.44-r3 (~)5.1.45 (~)5.1.45-r1 [M](~)5.4.3_beta [M](~)5.5.1_alpha_pre2
{berkdb big-tables cluster +community debug embedded extraengine innodb latin1 max-idx-128 minimal pbxt (+)perl profiling raid readline selinux ssl static tcpd test xtradb}
Installed versions: 5.1.45-r1(09:33:17 25.03.2010)(community embedded perl ssl -big-tables -cluster -debug -extraengine -latin1 -max-idx-128 -minimal -pbxt -profiling -selinux -static -test)

Откатывайся на любую версию, какая тебе нравится.

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

[quote]Откатывайся на любую версию, какая тебе нравится[/quote]

ну да, щаз... , ты уже кучу софта пересобрал с поддержой новой версии.

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

... ты уже кучу софта пересобрал с поддержой новой версии ... а если при этом из этой кучи что нибудь обновилось и ты сделал emerge @preserved-rebuild и/или revdep-rebuild, то...???

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

Сделаешь тоже самое обратно.

P.S. Куча софта понятие относительное.

P.P.S. Если у тебя вылез какой-то бок, то его видно обычно сразу и видно где, так что откатить только проблемный пакет, не проблема.

P.P.P.S. «Кучу софта пеесобрал ... при этом из кучи что-нибудь обновилось» и т.д. и т.п. - это уже разные состояния системы, ты уверен, что ты помнишь на каком из них у тебя точно все работало и на какое состояние тебе надо откатываться? А если ты уже перенастроил что-то в последнем состоянии, то откат на предыдущие может все и поломать.

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

> Не нужен (portage).

Предлагай лучше. С более-менее сопоставимыми фичами есть только Sorcery из Source Mage, для которого кошмар писать пакеты.

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

>> и позволяют осуществлять откат не только к предыдущему, но и к более ранним состояниям.

И? Portage это всегда умел.


Не припомню вообще понятие состояния в portage. Напомните, как, после выполнения «emerge -DNu world», одной командой вернуть все пакеты до состояния до обновления.

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

Таки понятия «состояния» в portage действительно нет, я это писал с оглядкой на nix.

Напомните, как, после выполнения «emerge -DNu world», одной командой вернуть все пакеты до состояния до обновления.

Можно использовать demerge http://www.calculate-linux.org/packages/app-portage/demerge

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

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

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

в слаку наверное все, что угодно впишется )

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

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

В NixOS конфигурация создаётся из декларативного описания. Так что когда ты откатишся на предыдущее состояние, откатится и твоя конфигурация. Это система. А то что дома - как обычно.

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

>>> Не нужен (portage).

Предлагай лучше.


Paludis же


Коммент notherner'а от этого высером быть не перестаёт.

naryl ★★★★★ ()

Глючный какой-то. В stable репозитории двевнее ПО как в lenny, а из unstable нифига не ставится, nix-env вылетает с матюками.

Идея хорошая, но еще пилить и пилить.

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

> Коммент notherner'а от этого высером быть не перестаёт.

Само собой :) я его и не оправдывал, просто предложил лучшее :)

И вообще будущее за exherbo ;)

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