LINUX.ORG.RU

GuixSD 0.12

 , ,


0

4

21 декабря состоялся выпуск Guix и GuixSD 0.12. Прошлая версия вышла чуть более 4 месяцев назад. В разработке приняли участие 76 человек.

Guix — функциональный менеджер пакетов, гарантирующий отсутствие изменений в поведении одних пакетов при установке или обновлении других, а также атомарность установки и обновления пакетов и дающий возможность установки и одновременного использования любого количества версий любых пакетов. Guix может работать с правами обычного пользователя в $HOME в других дистрибутивах GNU/Linux. GuixSD — ОС с Guix в качестве пакетного менеджера.

Среди изменений:

  • Новые системные сервисы, среди них сервис обращения журналов, сервис печати CUPS, сервисы для NFS и OpenSMTPD.
  • GuixSD теперь можно поставить на зашифрованную ФС (LUKS).
  • Добавлены инструменты для кросс-компиляции для i686-w64-mingw32 и arm-none-eabi.
  • Добавлено 853 новых пакета, 864 обновлено, отметим glibc-2.24 и linux-libre-4.8.15.

GuixSD и Guix можно скачать в виде образа USB-накопителя или архива для установки в другой ОС на базе Linux.

>>> Оригинал новости

★★★★★

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

linux-libre-4.8.15

раз стабильный релиз, так longterm лучше было добавить, этот умрёт через месяца два и апдейтов не будет.

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

Ни добавить ни убавить

А почему вы думаете, что другие версии, в том числе LTS, недоступны?

Camel ★★★★★ ()

linux-libre-4.8.15

Это ядро? Если ядро, то значит железо с блогами не заведётся на этом дистрибутиве?

Есть ли там говно-системди?

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

Блобифицируй сам

Да, в официальном репе там Linux Libre, то есть без блобов. Но легко собрать с блобами, как это делаю я.

systemd нет, есть кошерный shepherd.

Camel ★★★★★ ()
Ответ на: Блобифицируй сам от Camel

А есть ли репа с ядрами с блобами? Давно не ковырялся в конфигурации ядра и нет желания собирать его самому.

Oxdeadbeef ★★★ ()

Guix — функциональный менеджер пакетов гарантирующий отсутствие изменений

GNU General Public License

15. Disclaimer of Warranty.

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

Запишем в минус

Нету. Образец блобифицированного можешь у меня посмотреть, позже ссылку дам.

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

Правда ваща

Да, гарантирующий в математическом смысле. Если у вас ЭВМ сбойно считает или в ядре закладка, то гарантия нарушается.

Camel ★★★★★ ()

Урааа!!! // пользователь nixos, но guixsd мне не беразличен

anonymous ()

Добавлено 853 новых пакета, 864 обновлено,

А сколько всего пакетов?

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

Недотянули до круглого

А сколько всего пакетов?

4,599

Но там ещё можно guix import'ом из Ruby Gems, Nix'а и прочих репозитериев добавлять.

Camel ★★★★★ ()
Последнее исправление: Camel (всего исправлений: 1)
Ответ на: комментарий от andreyu

Господь уберёг

А пакеты никак не группируются?

Фсмисле? Как в Debian'е каком-нибудь, это мы назовём util, а это aministration? Слава богу такого нет. Можно было бы к пакетам метки присобачить, но с этим есть некоторая трудность, если метку включить в описание пакета, то она поменяет хеш этого описания. Получится, что пакет фактически не поменялся, а хеш изменился, и guix его будет воспринимать как новый пакет.

Camel ★★★★★ ()
Ответ на: Господь уберёг от Camel

Как в Debian'е каком-нибудь, это мы назовём util, а это aministration?

Как в каком-нибудь gentoo.

если метку включить в описание пакета, то она поменяет хеш этого описания.

И это правильно.

Есть нечто под именем fuse - эмулятор zx-spectrum и filesystem in userspace. Если нет меток/групп, то придется менять название пакета. Чем это лучше использования групп?

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

Название пакета

Есть нечто под именем fuse - эмулятор zx-spectrum и filesystem in userspace. Если нет меток/групп, то придется менять название пакета. Чем это лучше использования групп?

Правда ваша, есть такая проблема. Сейчас это решается примерно как Debian'е, где есть epiphany и epiphany-browser (или нету уже, но раньше были). Мне кажется это не самая большая проблема.

Camel ★★★★★ ()

Единственный пользователь написал новость?

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

Срать в каментах

Единственный пользователь написал новость?

И комментарии засрал.

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

Camel ★★★★★ ()

Ребят, попрошу активнее комментировать новость

anonymous ()

Sandbox-изоляцию туда завезли? Или оно так и осталось запускалкой для Flatpak?

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

Sandbox-изоляцию туда завезли? Или оно так и осталось запускалкой для Flatpak?

Слишком категоричное заявление

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

Ничем, кроме фанатизма вокруг свободы и лиспа, поэтому и не переходил

anonymous ()

Отличная новость, сейчас будем тестить.

Спасибо Кэмелу за нормальное ядро,

Кэмел, если ведёшь какой-нибудь блог или ещё где-то пишешь заметки про возникающие в процессе использования подводные камни и способы их обхода, не мог бы скинуть сюда?

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

Снёс сейчас старые каталоги /gnu и /var/guix и символьную ссылку /usr/local/bin/guix оставшиеся от 11-ой версии пакетного менеджера (которая в прошлый раз на этой тестовой системе что-то не взлетела),

Ставлю новую 12-ую, первые 3 шага соответствующие первым 3 шагам из мана https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html#B... - прошли норм, на 4-ом (начиная с groupadd), создании окружения https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.ht... что-то видимо пошло не так:

[root@localhost ~]# tar --warning=no-timestamp -xf /mnt/b/guix-binary-0.12.0.x86_64-linux.tar.xz
[root@localhost ~]# mv var/guix /var/ && mv gnu /
[root@localhost ~]# ln -sf /var/guix/profiles/per-user/root/guix-profile /home/a/.-/
[root@localhost ~]# groupadd --system guixbuild
[root@localhost ~]# for i in `seq -w 1 10`;
>   do
>     useradd -g guixbuild -G guixbuild           \
>             -d /var/empty -s `which nologin`    \
>             -c "Guix build user $i" --system    \
>             guixbuilder$i;
>   done
[root@localhost ~]# guix-daemon --build-users-group=guixbuild
-bash: guix-daemon: команда не найдена
[root@localhost ~]# 

У меня и в прошлый раз помнится это окружение не взлетало, в чём тут дело? (Если у кого-нибудь есть логи успешных установок и запусков, может, закинете сюда?)

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

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

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

Лог неудачной установки в Кальку с пояснениями в скобках:

(вкладка 1)
calculate guest # tar --warning=no-timestamp -xf /home/guest/guix-binary-0.12.0.x86_64-linux.tar.xz
calculate guest # mv var/guix /var/ && mv gnu /
calculate guest # ln -sf /var/guix/profiles/per-user/root/guix-profile \
>          ~root/.guix-profile
calculate guest # ~root/.guix-profile/bin/guix-daemon --build-users-group=guixbuild
(запустился демон, открыл 2-ую вкладку)

(вкладка 2)
calculate guest # groupadd --system guixbuild
calculate guest # for i in `seq -w 1 10`;
>   do
>     useradd -g guixbuild -G guixbuild           \
>             -d /var/empty -s `which nologin`    \
>             -c "Guix build user $i" --system    \
>             guixbuilder$i;
>   done
(далее # guix-daemon --build-users-group=guixbuild запускать не стал, т.к. подумал что демон уже запущен в соседней вкладке)
calculate guest # mkdir -p /usr/local/bin
calculate guest # cd /usr/local/bin
calculate bin # ln -s /var/guix/profiles/per-user/root/guix-profile/bin/guix
calculate bin # mkdir -p /usr/local/share/info
calculate bin # cd /usr/local/share/info
calculate info # for i in /var/guix/profiles/per-user/root/guix-profile/share/info/* ;
>   do ln -s $i ; done
(далее с hydra.gnu пока связываться не стал)
calculate info # guix package -i hello
bash: guix: команда не найдена
calculate info # guix-daemon --build-users-group=guixbuild
bash: guix-daemon: команда не найдена
(приплыли, подумал может с этим что не то:)
calculate info # for i in `seq -w 1 10`;
> do
> useradd -g guixbuild -G guixbuild           \
> -d /var/empty -s `which nologin`    \
> -c "Guix build user $i" --system    \
> guixbuilder$i;
> done
useradd: пользователь «guixbuilder01» уже существует
useradd: пользователь «guixbuilder02» уже существует
useradd: пользователь «guixbuilder03» уже существует
useradd: пользователь «guixbuilder04» уже существует
useradd: пользователь «guixbuilder05» уже существует
useradd: пользователь «guixbuilder06» уже существует
useradd: пользователь «guixbuilder07» уже существует
useradd: пользователь «guixbuilder08» уже существует
useradd: пользователь «guixbuilder09» уже существует
useradd: пользователь «guixbuilder10» уже существует
calculate info # ln -sf /var/guix/profiles/per-user/root/guix-profile /home/guest/
calculate info # guix-daemon --build-users-group=guixbuild
bash: guix-daemon: команда не найдена  
(дальше неизвестно что делать, для openrc в либе ~guix-profile/lib/ нет ссылки, только для upstart и systemd:
calculate info # ln -s /home/guest/guix-profile/lib/systemd/system/guix-daemon.service /etc/systemd/system/
ln: указанная цель '/etc/systemd/system/' не является каталогом: Нет такого файла или каталога)

Короче, не ставится, хз что ему нужно.

Guix ()

Годно, надо затестить.

Жду, когда запилят HURD.

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

Не дождётесь

Проект по портированию Guix в Hurd практически заброшен. Я сам жду, но шансов нет.

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

Чем Nixos

Чем guixsd лучше nixos?

Использованием общего, а не специализированного языка.

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

Не веду

Спасибо Кэмелу за нормальное ядро

Ну, собственно я туда только пару своих блобов добавил, которые были нужны для моего WiFi'я и Radeon'а, но общий принцип ясен. Сам я у какого-то француза это позаимствовал.

Кэмел, если ведёшь какой-нибудь блог или ещё где-то пишешь заметки про возникающие в процессе использования подводные камни и способы их обхода, не мог бы скинуть сюда?

Не веду. Вопросы можно смело спрашивать в почтовой рассылке.

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

Извращение

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

Нет и не должно быть. Потому что ставить что-то в Debian'е не из deb'а всегда извращение. Потому что ставить что-то в Calculate не из ebuild'а всегда извращение. И так далее. Скрипт не нужен. Можете опакетить guix для вашего дистрибутива, но всё равно это лишний труд, потому что если уж есть желание пользоваться guix'ом, то наиболее естественно это делать в GuixSD. Но уж если приспичило, то повозитесь с ручной установкой.

Camel ★★★★★ ()
Ответ на: Извращение от Camel

Можете опакетить guix для вашего дистрибутива, но всё равно это лишний труд

Очень даже не лишний — не нарушается экосистема дистрибутива, но да, сомнительный ценности — полностью раскрыть потенциал Guix, например в дебиане, не получится.

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

А его полностью и не раскрыть, если не пользуешься дистром GuixSD

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

Есть нечто под именем fuse - эмулятор zx-spectrum и filesystem in userspace. Если нет меток/групп, то придется менять название пакета. Чем это лучше использования групп?

Тем, что каждый пакет имеет уникальное имя, и группы, вносящие лишь путаницу, становятся не нужны.

fuse, это именно filesystem in userspace. То, что автор какого-то там эмулятора нинужна настолько долбоёб, что назвал его именем популярного и всем известного пакета, лишь его трудности. ССЗБ.

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

fuse, это именно filesystem in userspace.

А автор эмулятора считает, что FUSE - это Free Unix Spectrum Emulator.

То, что автор какого-то там эмулятора нинужна настолько долбоёб,

«Нинужна» и далее по тексту тут только вы.

что назвал его именем популярного и всем известного пакета, лишь его трудности. ССЗБ.

Кто сказал, что filesystem in userspace появился раньше free unix spectrum emulator?

andreyu ★★★★★ ()

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

а если я ставлю, например, несколько версий компилятора, каждый со своими библиотеками и т.д. он это прочухает?

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

Автопрочухивание

Коротко, да, прочухает.

С телефона не могу длинно ответить. Вечером отвечу подробнее.

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

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

Это ты про http://nixos.org

GuixSD же на лиспе (схеме)

Пробуй обе системы, выбирай что больше нравится

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

Обещанное

а если я ставлю, например, несколько версий компилятора, каждый со своими библиотеками и т.д. он это прочухает?

guix это прочухает совершенно обыкновенно, точно так же как прочухивает всё остальное. Любой пакет ставится в свою отдельную директорию /gnu/store/<hash>-package-version. hash — это хеш от рецепта сборки пакета, в нём помимо опций компиляции ещё указывается откуда надо скачать исходник пакета и какая должна быть у тарбола контрольная сумма. Достаточно поменять одну букву в этом рецепте и получишь другой хеш. Поменяешь флаги компилятора — другой хеш, поменяешь версию пакета — другой хеш. Хеш поменяется даже если тот же самый тарбол качать с другого адреса (хотя это, пожалуй, ложное срабатывание генератора уникальных хешей, пакет-то в итоге получится побитно такой же). Если ставить, например, gcc-4.4, gcc-4.8 и gcc-4.8 собранный с -Os, то они встанут в, условно,

/gnu/store/sdjke93jf-gcc-4.4
/gnu/store/8jkdjf83-gcc-4.8
/gnu/store/4d3jadf9-gcc-4.8

Что примечательно, обе версии gcc-4.8 зависят от одних и тех же библиотек, и они будут вместе использовать одни и те же библиотеки в ОС, скажем, какую-нибудь

/gnu/store/ugkefsdf-glibc-2.20

А gcc-4.4 будет использовать

/gnu/store/dfygkaeijf-glibc-2.15

А теперь немного сахара. Есть такое понятие — профиль. По сути это совокупность симлинков на умолчальные программы. То есть в профиле можно указать, что /usr/bin/gcc ссылается на gcc из 8jkdjf83-gcc-4.8. Но если надо что-то канпельнуть другими компиляторами, то они продолжают быть доступными по полным путям.

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

guix использует ядро nix'а (кажися оно на C++, но не ручаюсь, меня это никогда не волновало) и обвязку на Scheme. Рецепты сборки guix'а пишутся на Scheme, рецепты сборки nix'а пишутся на его собственном nixlang.

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

А C++ сам по себе давно перестал быть «подозрительной зависимостью»?

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

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

Iron_Bug ★★ ()
Ответ на: Обещанное от Camel

Re: Обещанное

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

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