Состоялся (https://discourse.nixos.org/t/nixos-19-03-release/2652https:...) выпуск дистрибутива NixOS 19.03 (http://nixos.org/), основанного на пакетном менеджере Nix (http://nixos.org/nix/) и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашнюю директорию), возможна одновременная установка нескольких версий одной программы. Размер полного установочного образа (https://nixos.org/nixos/download.html) с KDE - 1 Гб, сокращённого консольного варианта - 400 Мб.Основные новшества (https://nixos.org/nixos/manual/release-notes.html#sec-releas...):
- В состав включено десктоп-окружение Pantheon, разрабатываемое (https://www.opennet.dev/opennews/art.shtml?num=49475) проектом Elementary OS (включение через services.xserver.desktopManager.pantheon.enable);- Существенно переработан модуль с системой оркестровки контейнеров Kubernetes, который разделён на отдельные компоненты. Для увеличения безопасности по умолчанию включены TLS и RBAC;
- В systemd.services добавлены опции для запуска сервисов в chroot-окружении;
- Добавлен установочный образ для архитектуры Aarch64 с поддержкой
UEFI;- Обновлены версии компонентов дистрибутива, в том числе CPython 3.7 (был 3.6);
- Добавлено 22 новых сервиса, среди которых CockroachDB, bolt, lirc,
roundcube, weechat и knot.
При использовании Nix пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя. Например, пакет устанавливается как /nix/store/f3a4h95649f394358bh52d4vf7a1f3-firefox-66.0.3/, где "f3a4h9..." является уникальным идентификатором пакета, используемым для контроля зависимостей. Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты.Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Возможна как загрузка готовых бинарных пакетов из репозитория (при установке обновлений к бинарным пакетам загружаются только delta-изменения), так и сборка из исходных текстов со всеми зависимостями. Коллекция пакетов представлена в специальном репозитории Nixpkgs (http://nixos.org/nixpkgs/).
URL: https://discourse.nixos.org/t/nixos-19-03-release/2652
Новость: https://www.opennet.dev/opennews/art.shtml?num=50506
Those who do not understand OSTree, are condemned to reimplement it. Poorly.
Это, скорее, ostree реимплементит nix
С точность до наоборот:
"See NixOS. It was a very influential project for OSTree. NixOS and OSTree both support the idea of independent "roots" that are bootable."Подробнее тут: https://ostree.readthedocs.io/en/latest/manual/related-projects/
NixOS существует с 2003 года.
wayland запилили?
https://github.com/NixOS/nixpkgs/projects/11
Ещё делают.
главное что не убунта с нескучными обоями, дистрибутивы идущие своими путями развития двигают прогресс, правильно они развиваются или нет - покажет будущее
Нужно в принципе. Сам не пользуюсь.
Кто-нибудь пользуется NixOS или GuixSD? Плюсы, минусы той и другой системы? Что проще и удобнее в настройке и дальнейшем сопровождении?
Дурней нема.
я возможно не понял вопрос. нужно сравинть nixos и GuixSD? сам сижу на nixos. могу про него написать. GuixSD не юзал.
> сам сижу на nixos. могу про него написатьДа, поделитесь опытом. Какие есть плюсы и минусы? Просто некоторые здесь думают, что NixOS - это какая-то маргинальщина непригодная для повседневного использования.
+ не страшно, что после apt-get dist-upgrade вы полезете за rescueCD; стейт всей (почти) системы можно откатить штатными средствами
+ конфиги всей системы лежат в одном месте и имеют один формат
+ сделать производную от своей рабочей системы для установки на нубук или локалхост-сервер можно на простых if-ах дописав их в рабочий конфиг, положить их в git и раздеплоить на железки/виртуалки
+ есть NixOps, который умеет деплоить и конфигурять инстансы в амазон или в KVM
+ достаточно стар, чтоб иметь в репозитории пакеты на (почти) все случаи жизни
+ дев.окружения создаются достаточно легко, если запилена нормальная поддержка языка с его репозиторием пакетов
+ на базе nix-а можно сделать свой пакетный менеджер, который может менеджить что угодно, что можно выразить как dependencies tree; Я делал репозиторий модулей для Kerbal Space Programm для сборки свежих версий RP-0 + Principia; вполне получилось и даже работало:)- если софт что-то пишет в какую-нибудь базу и зависит от её состояния, то после отката через штатные средства может произойти что угодно:)
- DLS-ку никса таки придётся выучивать (хотя бы поверхностно), если хочется чувствовать себя комфортно
- подо всякие проприетарные софтины придётся создавать окружения с классичискими /bin, /lib и прочими /var/*; инструменты для этого есть, но делать всё равно придётся руками
- если какого-то пакета нет, то иногда приходится запотеть пока напишешь для него default.nix, особенно, если ещё нет нормальной поддержки платформы/языка на котором оно написано
- по-началу приходится сильно ломать привычки и мышление, т.к. тут не "ставят пакеты", а "создают окружения":)
- очень часто просто лень писать shell.nix и юзаешь docker run:)))Из опыта работы: года три жил под NixOS на макбуке, потом примерно год на обычном dell-е. Вот прям критических проблем небыло ни разу. Хотя мелких таки было, но большинство из-за отсутствия опыта в парсинге этого самого никсового DSL-а. Ну и дома локалхост на никсах. Основные плюсы/минусы которые вспомнил, описал выше. А вообще сложно так вот сказать подойдёт оно лично вам или нет, тут наверно лучше взять и попробовать самому. Только нужно быть готовым, что первые впечатления могут быть почти такими же, как "в первый раз увидел Linux или *BSD" и это нужно будет перетерпеть читая `man man`:)
тут уже многое описали, добавлю только свои впечатления.я сидел на debina sid. нексоклько раз с обновлением прилетало что-то невнятное и я копался с системой (досадно бывало что вот именно сейчас оно случилось). на nixos я тоже сидел на нестабильной ветке. когда что-то случалось, то простая перезагрузка с выбором версии и все дела. потом я вобще понял, что могу сидеть на стабильной, а что нужно получать из нестабильной. это просто работает и все. без танцев с бубном. просто работает, просто обновляется, просто удаляется.
язык не составил труда. быстро выучил азы (для начала большего и не надо) и сейчас пользуюсь им все вермя для своих проектов и, иногда, чтобы собрать что-нибудь, чего нет в репах. по помему так намного лучше, чем загаживать себе окружение каким-то библиотеками и утилитами, которые нужны для сборки какой-то штуки. особенно доставляла проблема, на debian, когда мой проект использует новую версию библиотеки, а штука, с которой я хочу поигратся, юзает старую. на nixos такой траблы нет в принципе.
для своих проектов всегда пишу shell.nix. вот недавно понадобилось собрать проект у одного чувака на ноуте. раз и готово. не надо запускать какие-то контейнеры и прочее.конечно тут нужно с умом использовать. ты можешь запустить две версии одной утилиты, но если они юзают один и тот же файл, то беды не миновать :)
один раз наткнулся на проблему, что у меня закончилось место, потому что я забывал чистить мусор. ну это как бы моя вина. любая технология требует обслуживания.
еще я боялся, что в конфигурацтонном файле не будет нужной настройки. как-то пока все гладко. если чего-то действительно нет, то можно дописать вручную (обычно есть настройка в духе extraRules, куда пишешь то, что попадет прямиком в конф файл), все предусмотрено (дописал например правила подключения teensy, из которого я клаву сделал).
я начал использовать nix как менеджер моей ~/bin так как я собирал разные штуки и клал туда, чтобы хранить систему чистой. потом понял, что способ управления, предложенный nix очень удобен, поэтому и перешел на nixos. в итоге получил все достоинства виртуалки, только без виртуалки (сэкономил на ram :] ). в целом очень доволен.
Никсось пробовал, а про GuixSD читал, скачал, но решил не пробовать. Если я правильно понял, то Гуикс - это такой NixOS без их псевдоязыка программирования.
>Guix использует вполне созревший язык программирования. И это хорошо, поскольку это Guile Scheme, язык на основе Лиспа.https://www.opennet.dev/docs/RUS/guix/
Но у никсоси он довольно простой. Что в настройке удобнее не знаю, но по никсоси хотя бы можно найти какие-то гайды и мануалы, а вот Гуикс - прямо что-то совсем не на слуху.
Какие истории успеха? Кроме как "возможна одновременная установка нескольких версий одной программы" мало кто что рассказывают.
И совсем не понятно, зачем оно вообще нужно - несколько версий программы. Ставил себе погонять предыдущую версию. Если привыкнуть к немного странному их языку программирования без нормальной документации и поковыряться часик-другой в настройке пользуясь примерами откуда-нибудь, то после можно забекапить самый главный файл конфигурации и по нему восстанавливать потом в том же самом состоянии систему на любом оборудовании в каком угодно количестве. Это немного похоже на старый единый файл конфигурации Арча или там шаблонов Калькуляты, но возведено в абсолют. Когда это - главная цель дистрибутива. Ну и плюс еще каждое твое изменение конфигурации сохраняется в виде снапшотов и там можно прямо в загрузчике откатиться на любое предыдущее состояние. Это довольно удобно. Мне понравилось.
> но возведено в абсолютИ это очень удобно
ну это круче чем опенсусовские бтрфс снапшоты, которые вообще не делаются на медленном оборудовании.
>/nix/store/f3a4h95649f394358bh52d4vf7a1f3-firefox-66.0.3/почему не /nix/store/firefox-66.0.3-f3a4h95649f394358bh52d4vf7a1f3/
?
потому что железяке так удобней, а человекам в /nix/store вообще делать нечего.:)
>>/nix/store/f3a4h95649f394358bh52d4vf7a1f3-firefox-66.0.3/
> почему не /nix/store/firefox-66.0.3-f3a4Археологи еще копают, присяжные ещё не вернулись...
http://www.opennet.dev/openforum/vsluhforumID3/115505.html#46Автор выбрал "уникальный идентификатор". И понеслась...
Прошло 15+ лет. И тут вдруг: чувства верующих, эстетов, почемучек, меньшинств, всех-всес-всех... Бездуховность и ваабще.
</док0ле?>
Так даже аккуратнее:$ ls /nix/store | head -n 15
aadba0ard9r7adw2945x2qmhlcqnkjg0-polkit-0.115_fish-completions
aaj5khffwjza65z3679bgz555ghpjm5l-kidletime-5.54.0_fish-completions.drv
aakx980zr2dypgccr106mr410zah8imn-db-5.3.28.drv
aanjilq5q3bkslsq343sapfh77q50mx7-libksysguard-5.14.5.tar.xz.drv
aanxvxf3hn9nfnpdavxnbc59lcr8yag1-ant-contrib-1.0b3-bin.tar.bz2.drv
aar6501arga4bxs0vwpz634fgjkfvrka-libatomic_ops-7.6.6.tar.gz.drv
aavm1bmsdflhv1j3x2smi70lamk692mm-go-libp2p-peer-d3df4bc.drv
aazswzgmi4bz1657r8s60dvqqh3wxf2c-python3.7-mox-0.5.3
aazwa8frkhy6lav498r2cf5ap3ch0q1m-libev-4.25.tar.gz.drv
aa0ifph2xpf9yb7a5dzcw7w5r3isqrfx-unit-script-container_borda-db-start.drv
aa1njc76vl085ynl170bbnc2akakmy9q-libcroco-0.6.12.tar.xz.drv
aa55iflrsgqzzlxja11qi359mmb2km1p-openblas-0.3.4.drv
aa7i6h9h2r0bkpd4n8agz37m1sxmi275-unit-vboxnet0.service.drv
aa9rfzrbsc3jmlbp5rljx4rjv922zk7q-curl-7.61.0.drv
Ой, без моноширинного шрифта не видно. :)
Если хешофобия,то можно вообще вот так:)))$ ls /nix/store | cut -c 34- | head -n 15
readline63-004.drv
lifted-async-0.10.0.3.tar.gz.drv
patchutils-0.3.3.drv
bfd-1-disable-subdir-doc.patch.drv
which-2.21.tar.gz.drv
python3.7-flaky-3.1.0.drv
icu4c-59.1.drv
process-tests-2.0.0.tar.gz.drv
perl5.28.1-libwww-perl-6.36
mtdev-1.1.5.drv
pytest-expect-1.1.0.tar.gz.drv
python2.7-coverage-4.5.2.drv
perl5.28.1-Try-Tiny-0.30
nettle-3.4.1.tar.gz.drv
xcb-proto-1.13.tar.bz2.drv