LINUX.ORG.RU

Ubuntu обдумывает внедрение нового формата установочных пакетов

 


0

1

В листе рассылки разработчиков Ubuntu появилось сообщение Колина Уотсона (главного человека в Canonical по вопросам установки системы и отдельных пакетов) о том, что ведется работа над новым, упрощенном форматом прикладных пакетов, с возможностью установки приложений «в один клик». В первую очередь целевыми платформами являются мобильные версии Ubuntu, хотя новая система по планам должна функционировать также на десктопах и даже в других ОС. При этом текущий вариант установки традиционных deb-пакетов должен сущестововать параллельно, использование утилит apt или dpkg все еще останется возможным и безпроблемным.

Введение новых «клик-пакетов» («Click packages») имеет главную цель — максимально упростить сборку пакетов для Ubuntu, забыть о зависимостях, установочных скриптах и разместить каждое приложение в собственном каталоге.

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

  • Никаких взаимных зависимостей между пакетами.
  • Каждое приложение устанавливается в отдельный каталог.
  • Конфигурация установочного пакета пишется в простом декларативном стиле, никаких скриптов.
  • Скорость. Неоптимизированная, написанная на Python система работает приблизительно на полсекунды дольше, чем стандартный dpkg. Сборщик пакетов также написан на Python.
  • Возможность установки пакета от обычного пользовательского аккаунта.
  • Для сборки нужно написать файл-манифест, разместить его в корне каталога с бинарными файлами, после чего произвести сборку с помощью скрипта.

Отмечается, что авторы «клик-установщика» руководствовались наработками проектов Listaller or 0install. Более подробное рассмотрение предложения Колина и его коллег ожидается в ходе его доклада на Ubuntu Developer Summit, который будет проходить с 14 по 16 мая.

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

★★★★★

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

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

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

Вы про Windows, Mac или другой дистрибутив Linux ?

В mac вы так же не сможете поставить слишком старую программу на новую систему и наоборот. В Windows так же будут проблемы в работе новых программ на старой системе.

Кроме того у Windows, в частности, библиотеки, которые используются в работе программ идут в поставке системы и разрабатываются одним разработчиком, microsoft, у Linux же совсем по другому.

«толстые» пакеты это единственное возможное решение, другого просто не существует

Распакуйте пакет в домашнюю директорию и пакеты с зависимостями, для запуска программы используйте LD_PRELOAD для указания нужных версий библиотек. Ну или собирайте из исходников нужную программу. Используйте source-based rolling-reliase дистрибутив, например Gentoo. Кроме того разработчики дистрибутива (мантейнеры) могут собирать статически слинкованные программы.

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

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

Даже это еще не доказано.

можно для каждого приложения поднимать мини-репозиторий с зависимостями

А вот на это точно никто не пойдет.

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

Нет, потому что изначально проблемы просто не было

была, сделали bundler, у рельс ~90 зависимостей и их число растет..

Да и оно друг с другом несовместимо.

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

special-k ★★★ ()
Ответ на: комментарий от Reset

Нет, потому что изначально проблемы просто не было

А потом, бац и появилась, кому-то просто лень стало её решать.

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

В mac вы так же не сможете поставить слишком старую программу на новую систему и наоборот. В Windows так же будут проблемы в работе новых программ на старой системе.

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

Кроме того у Windows, в частности, библиотеки, которые используются в работе программ идут в поставке системы

это не так

Распакуйте пакет в домашнюю директорию и пакеты с зависимостями, для запуска программы используйте LD_PRELOAD для указания нужных версий библиотек. Ну или собирайте из исходников нужную программу. Используйте source-based rolling-reliase дистрибутив, например Gentoo. Кроме того разработчики дистрибутива (мантейнеры) могут собирать статически слинкованные программы.

это не решение, а набор костылей и геморрой

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

Никаких с этим проблем нет.

Вот видишь Reset кокое оно, начало эпидемии. Оно выключает все обновления и сидит довольное, думает, что хитрее всех)

special-k ★★★ ()
Ответ на: комментарий от fenris

Спасибо на добром слове! Однако, я остаюсь пи своем мнении!

kraz5 ()
Ответ на: комментарий от special-k

была, сделали bundler, у рельс ~90 зависимостей и их число растет..

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

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

При текущем подходе это невозможно. Собрали что-то новым компилятором с новым libc и всё, оно прибито гвоздями к новой системе.

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

в отличии от linux дистров с тысячами зависимостей.

Ты таки дурачок?) У окошек нет зависимостей => каждая программа тащит с собой кучу dll, вместо того, что бы один раз их установить, в итоге получаем кучу копий одной и той же библиотеки. Не говоря уже о том, что половина софта тащит в инсталлере какой-нибудь тындекс-бар, m$ bing, спутник@майл.сру и прочую дрянь. При этом напильника требует зачастую побольше линуха.

Valkeru ★★★★ ()
Ответ на: комментарий от special-k

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

anonymous ()

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

APT вообще ненавижу - бывало, что он ради одного пакета сносил целые кеды или целый апач.

//На правах вброса

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

Ключевое слово *пока еще* ......... Она себя сама скоро *закапает* самая нормальная убунта была 8.10 и 10.04 что потом пошло. Ничем как кроме как фразы *слов нет, одни маты остались* не назовешь!

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

это не так

Что не так-то ? Весь интерфейс отрисовывается с помощью winapi, .Net Framework, который как ясно идёт вместе с ОС, directx, opengl, звук и прочее предоставляется системой, все компоненты разработаны одним разработчиком, microsoft. Если программа и использует свои библиотеки, то они собраны как правило с использованием библиотек, которые идут в поставке системы.

это не решение, а набор костылей и геморрой

Какой вы используете дистрибутив ?

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

При текущем подходе

Это понятно, но, ведь теоретически это возможно..

special-k ★★★ ()
Ответ на: комментарий от tailgunner

А вот на это точно никто не пойдет.

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

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

Что не так-то ? Весь интерфейс отрисовывается с помощью winapi, .Net Framework, который как ясно идёт вместе с ОС, directx, opengl, звук и прочее предоставляется системой, все компоненты разработаны одним разработчиком, microsoft. Если программа и использует свои библиотеки, то они собраны как

Все программы используют свои библиотеки, библиотеки могут быть собраны разными студиями с разными наборами опций, всякие vcredist'ы с системой не идут.

Какой вы используете дистрибутив ?

Никакой потому что они все одинаково плохи

Reset ★★★★★ ()
Ответ на: комментарий от special-k

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

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

Ну да, это ж мечта проприетарщика - доставить воз рекламы и говнософта в нагрузку. Когда они уже сдохнут...

vitalif ★★★★★ ()
Ответ на: комментарий от special-k

Это даже теоретически невозможно, единственное возможно решение озвучено в топике.

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

А вот на это точно никто не пойдет.

Ну почему же?

А кому и, главное, зачем это нужно?

Если для этого предоставить автоматизацию и инфраструктуру

Ну да, если это будет делаться само чудесным образом...

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

С разморозкой, дружок. Некоторые производители вполне официально дают разлочить аппараты.

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

это не решение, а набор костылей и геморрой

Ну прально, поэтому их надо автоматизировать, что я и предлагаю :)

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

И получится новый формат пакета из сабжа.

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

Ну так в том-то и дело, что такого понятия, как «разлочка», вообще не должно быть. Root криминализирован, и многие юзеры не идут на «разлочку». Какого хрена оно изначально-то залочено?

Плюс, разлочка там или не разлочка, а система всё равно как на S45 организована))

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

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

use debian или gentoo. За исключением узкоспециализированного сота есть всё.

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

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

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

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

Я этого и не отритцал, но собраны они средством, написанным разработчиком, который писал ОС целицом.

библиотеки могут быть собраны разными студиями с разными наборами опций

Средства сборки от одного разработчик.

всякие vcredist'ы с системой не идут.

Они от одного разработчик, Microsoft и при установке такой программы необходимый vcredist либо ставится сам при её установке, либо поставляется на дистрибутивном диске и для работы программы его нужно в начале установить. Так что можно считать что они так или инача будут присутствовать в системе. Не придирайтесь к словам, от того, что они будут поставлены для работы приложения, суть не изменится. Разработчик ОС, всех её библиотек, средств разработки один.

Никакой потому что они все одинаково плохи

Значит у вас Windows ? Вам, что сложно назвать вашу ОС ?

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

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

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

Но это правда. В большинстве прог обновление отрубается штатными средствами либо правкой конфигов.

Я не могу вам передать словами на сколько НЕ НУЖНО этого делать))))

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

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

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

Я этого и не отритцал, но собраны они средством, написанным разработчиком, который писал ОС целицом.

И что? ОС называется GNU/Linux и gcc и glibc целиком написаны разработчиком ОС.

Средства сборки от одного разработчик.

А в линуксе от разных? Вроде intel'ем и clang'ом пока никто ничего не собирает.

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

семерку и восьмерку

тогда позвольте осведомиться — мы вам тут не надоели?

rmammoth ()

А можно заигнорить новости про убунту?

fractaler ★★★★★ ()

Даёшь chroot на каждое приложение!

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

Средства сборки от одного разработчик.

А в линуксе от разных? Вроде intel'ем и clang'ом пока никто ничего не собирает.

Плюс. Кто мешает использовать GDB в комплекте с MinGW?

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

ОС называется GNU/Linux и gcc и glibc целиком написаны разработчиком ОС.

Угу, а прочие библиотек, boost, gtk, qt, прочие ?

А в линуксе от разных? Вроде intel'ем и clang'ом пока никто ничего не собирает.

Ну если вам для работы приложения нужен толь компилятор и glibc то что же это за приложения у вас такие ?

kostik87 ★★★★★ ()

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

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

Угу, а прочие библиотек, boost, gtk, qt, прочие ?

Эти библиотеки (кроме gtk :) ) и в винде часто используются.

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

GTK+ есть и на Винде, как ни странно.

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

Угу, а что есть десктоп?

ну если так доступно, для Вас - сейчас это такой планшетник без экрана с приделанной под корпус гирей 30 кг

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