LINUX.ORG.RU

GNU Guix — новый менеджер пакетов от команды GNU

 , , ,


3

8

Людовик Кортес (Ludovic Courtès), один из участников проекта GNU, объявил о выпуске первой альфа-версии нового менеджера пакетов для любых дистрибутивов GNU/Linux — GNU Guix, создающегося на базе менеджера пакетов Nix.

Кроме стандартных функций установки, удаления и обновления ПО GNU Guix будет поддерживать транзакционные обновления с возможностью отката на прежнюю версию, работать без привилегий root, содержать отдельные профили настроек для каждого пользователя и включать в себя сборщик мусора (для отслеживания и игнорирования неактуальных пакетов). Но самая главная особенность GNU Guix заключается в том, что его разрабатывают на функциональном языке Scheme.

Получить исходные тексты можно через Git-репозиторий.

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

★★★★★

Проверено: tazhate ()
Последнее исправление: Silent (всего исправлений: 2)
Ответ на: комментарий от imul

Не красиво получается. Неправильно как-то... Зачем нужен пакетный менеджер, если я сам должен что-то ручками в /opt/ закидывать?

lucentcode ★★★★★
()
Ответ на: Костыли для инвалидных колясок.. от glibych

Производительность как непосредственно сборки из исходников, так и работы с бинарными пакетами

Тут-то как раз нечего сравнивать. Производительность сборки зависит от системы сборки, а т.к. автолулзы, цмак и кумак используют make, то она всегда одна. Ситуацию могут улучшить qbs или jom, но никак не пакетный менеджер. Производительность при работе с бинарными пакетами всегда может быть улучшена без изменения внешних интерфейсов пакетной системы. Когда руки дойдут, а у этого процесса - свои правила.

И вообще у вас напрочь гентушные требования к пакетному менеджеру, разумеется с такими требованиями гентушный менеджер и будет на первом месте, и ничего никуда улучшать, кажется, не надо. И ещё вот что насторожило:

Наличие gui для простоты управления неопытными пользователями.

Нет никаких пользователей. Есть психологи; начинающие дизайнеры; студенты-третьекурсники с парой патчей на qt-project; студент, портировавший плагины гимпа на библиотеку gegl; администратор серверов компании Rambler, в свободное время пишущий на питоне. И у каждого - свои требования. Алан Купер в своей книге предлагал взять несколько портретов людей (он их покупал на каком-то сайте), выдумать им истории и далее разрабатывать интерфейс и требования к программе на основе их нужд. Правда с учётом природы линукса придётся ещё оставить некоторый задел, чтобы в будущем иметь возможность без проблем доработать пакетный менеджер под те 1-10% людей, что не попали в первоначальное проектирование.

Оперировать понятием «пользователь» - значит не договориться ни о чём. Даже два человека «пользователя» представляют совершенно по разному, и в процессе мозгового штурма у их хайвмайнда получится какой-то мутант («гутаперчиевый пользователь» - по тому же Алану Куперу). Вы вот не учли, что многие новички в линуксе захотят найти или даже прочитать обзоры программы, не выходя из менеджера пакетов. А я смотрю скриншоты, чтобы сходу оценить, насколько программа продумана в мелочах.

Или вот например

Функциональность - кол-во операций, которые пакетный менеджер может выполнить над пакетами или группой пакетов.

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

Но если бы обычные ebuild-ы могли генерировать пакеты в том самом чудо-формате и прозрачно встраивать их в остальную систему - флаг в руки.

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

«man alien» Слышал. Но это не панацея, работает далеко не безупречно. А я говорю именно об безупречном преобразовании. По крайне мере, в 99% случаев.

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

Для крутых разрабов всегда есть /usr/local или даже ~/local.

Кто такой крутой разраб? Торвальдс и тот не хочет тратить время на пересборку чего-либо кроме ядра. Я тоже не шибко люблю пересборки, хотя мой опыт программирования ограничивается 3,5 годами. Ибо убедился, что не всегда собирается и не всегда потом работает.

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

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

«Тем быстрее произойдет перенаселение и новое вымирание видов.» КО сообщает, что большое количество видов не обязательно ведет к перенаселению. Для примера, возьмем сегодняшюю ситуацию. Количество видов сократилось, а хомо сапиенсов стало слишком много. А раньше было наоборот. Видов было больше, а перенаселения не было.

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

иметь 9999 версий одной либы и программы гарантировано не будут ломаться при обновлении

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

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

«man alien» Слышал. Но это не панацея, работает далеко не безупречно. А я говорю именно об безупречном преобразовании. По крайне мере, в 99% случаев.

alien работает безупречно в 99% случаев при преобразовании deb->rpm или .tar.gz->rpm. При преобразовании rpm->deb получаются пакеты без зависимостей.

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

Зачем нужен пакетный менеджер, если я сам должен что-то ручками в /opt/ закидывать?

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

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

«Количество видов сократилось, а хомо сапиенсов стало слишком много»

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

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

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

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

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

Универсальный формат без универсального устройства системы почти не имеет смысла.

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

«вот она - универсализация. я надеюсь весь зоопарк дистрибутивов сведется к 1»

Который потом благополучно умрет без конкуренции.

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

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

9999 версий либ и один патч, который должен быть применён ко всем. Ну-ка ну-ка, ваш способ?

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

«При преобразовании rpm->deb получаются пакеты без зависимостей.» Ну вот, видите?

ИМХО, тут простая программа-конвертер не справится. Так как в случае некоторых преобразований может нехватать информации(в силу специфики формата), чтобы преобразовать один формат в другой. А обсуждаемый мною гипотетический суперформат будет содержать всю-всю информацию, которая может понадобиться при таком преобразовании. Поэтому, из него можно будет легко автоматически создать пакет любого другого формата.

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

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

Да, она подохнет с хохоту.

rtvd ★★★★★
()

Кто-нибудь в курсе, аудит, как в pkgng, этот Гуйкс поддерживает? Если нет, лучше б форкнули pkgng под GPL.

meequz ★★
()

Since Nix on the other hand doesn’t install packages in “global” locations like /usr/bin but in package-specific directories, the risk of incomplete dependencies is greatly reduced.

"C:\Program Files\Company Name\Software Name\program.exe"?
firsttimeuser ★★★★★
()
Последнее исправление: firsttimeuser (всего исправлений: 1)
Ответ на: комментарий от insider

при проверке зависимостей он ругнется на программу с непонятным именем или какую-нить библиотеку, которой нет

Сделать БД зависимостей из всех известных «живых» публичных исходников разве нельзя? И непонятное само появится в базе. А подключение исходника сведется к указанию ссылки на скачивание.

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

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

Позволяет, но он же не может считаться официальным пакетным менеджером ОС GNU.

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

«Сделать БД зависимостей из всех известных „живых“ публичных исходников »

Так и запишем - программа занимает 10 килобайт, вспомогательная информация - несколько гигабайт.

anonymous
()

Очень интересно. Ещё было бы неплохо иметь возможность установить программу со всеми её зависимостями в определённый каталог (с возможностью этот каталог переносить простым копированием).

ЗЫ: а в systemd его встроить случайно не собираются?

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

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

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

Производительность. Тут-то как раз нечего сравнивать

Очень даже есть. По мне synaptic так совсем тормозное поделие. Картинки, да..

В пакетах портежа присутствуют ссылки на сайты. Можно добавить и на изображения, рецензии, описания, и многое чего другое. Ничего не мешает красочно их преподнести в любой обертке и сортировать себе, сортировать, фильтровать, выбирать пакеты как душе будет угодно. Но это будет всего лишь обертка для обеспечения «удобства».

Соглашусь что расширенный функционал нужен редко. Но он позволяет избежать весьма головоломных ситуаций, в которых другие пакетники потребуют вмешательства разработчиков или сильного красноглазия. А если нет времени ждать когда это исправят? В портеж поправить ситуацию намного легче и что важно при необходимости в большинстве случаев самостоятельно.

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

Может я не точно выразился? База не будет больше составленной вручную.

glibych ★★
()

Наконец-то кто-то додумался.

hatesms
()

Гуйксъ

Любой себя уважающий дистрибутив комплектуется менеджером пакетов. Какой смысл разрабам или пользователям такого дистриба устанавливать этот Гуйкс?

Я вижу толк в нем только для зоопарков Ъ.

gorgoroth
()

работать без привилегий root

Как это без привилегий root можно установить пакет? Так и руткит можно установить от имени пользователя?

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

ИМХО, тут простая программа-конвертер не справится. Так как в случае некоторых преобразований может нехватать информации(в силу специфики формата), чтобы преобразовать один формат в другой. А обсуждаемый мною гипотетический суперформат будет содержать всю-всю информацию, которая может понадобиться при таком преобразовании. Поэтому, из него можно будет легко автоматически создать пакет любого другого формата.

Это не получится. При конвертации в deb в зависимости должны быть прописаны имена других пакетов. А это зависит от самого дистрибутива и может меняться от релиза к релизу. Поэтому нормального конвертора в deb не будет никогда.

Nxx ★★★★★
()

хм, потрогаю как выплюнут стабильную версию, т.к. пользусь несколькими софтинами от GNU и нахожу их весьма и весьма удобными

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

только леннарту об этом не говорите. а то еще и packaged какой появится

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

anonymous
()

Понятно почему они Hurd не могут доделать. Там некуда Guile запихать наверно, шоб все зрение портили.

Или там не Guile? Зачем тогда мучали 15 лет...

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

Конечно! А потом, глядишь, и Windows под GNU GPL. Потерпи, родненький.

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

«Ибо он „не такой как все“. »

Ты бредишь. Даже если винда или лялих умрут, никто не кинется на бсд, хайку или реактос. Потому что они не готовы и не нужны даже сейчас.

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

Ну не пали! Это должен быть сюрприз.
MS к тому времени как раз протеряет рынок десктопов, кстати.

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

я надеюсь весь зоопарк дистрибутивов сведется к 1, который и добьет венду

В единый дистрибутив вольются все говнорешения сейчас распределённые между множеством дистров, такая ОС может отравиться собственными фекалиями.

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

Статическая линковка спасёт ментейнеров от перегрузки.

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

Проходили уже

А потом нам понадобится какая-нибудь редкая и напрочь упоротая софтина, требующая пересборки половины системы с каким-нибудь +qt3support, и все эти оптимизации и экономия на спичках библиотеках полетят в тартарары. Пример, конечно, редко актуальный, но безумно бесящий.

thriller ★★
()

GNU Guix, создающегося на базе менеджера пакетов Nix

Патронаж GNU только убьёт такую интересную поделку.

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

rpm по дефолту работает транзакциями, и наверное уже лет 15 так. Dpgk может положить текущую базу без проблем, но хранит предыдущую рабочую версию своей базы и с помощью dpkg --configure -a автоматически добавляет в неё установленные после снятия предыдущего снимка, но до краха новой базы пакеты.

Во первых, это всего лишь транзакции на метаданные. А транзакционные обновления, это когда ты реально можешь откатить обновление. Лично я это делаю через aufs. В федоре хотели задействовать снепшоты btrfs, да, по моему, отказались от этой затеи.

Работа без привелегий root должна выглядеть не таким образом ;( Есть же в юниксовых правах на файлы бит, позволяющий запустить исполняемый файл от другого пользователя без пароля.

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

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

Как это без привилегий root можно установить пакет? Так и руткит можно установить от имени пользователя?

ты прямо сейчас это можешь сделать.

cp /Downloads/rootkit ~/bin

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

«Но она должна была выбрать принца, которого мы для нее выбрали!» (с) Шрек-2

k0valenk0_igor ★★★
()
Ответ на: Костыли для инвалидных колясок.. от glibych

Между прочим, создатель nix проводил сравнительный анализ в ходе реализации. Где-то в тырнете можно нарыть pdf-ки с его соображениями. Копать в сторону начала - nix создавался для PHILIPS в рамках работ по деплою и управлению ПО на медицинском оборудовании производимом PHILIPS.

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

для любых дистрибутивов GNU/Linux

Здорово. Как я понимаю, можно будет подключить репозиторий этого вашего Генту к моему любимому Арчу.

Будет совсем здорово, если еще будет совместимость с ГНУтыми репозиториями. А то уже достало гуглить годные (т.е. «buildable» и «useable») сорцы

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

Ну это вроде оно и есть, там в introduction как раз и идёт сравнение...

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