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 ()
Последнее исправление: maxcom (всего исправлений: 3)

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

не точная, потому что метро это не весь ui

Ага, еще и присобачено, как к собаке пятая нога, спасибо, что уточнили.

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

вроде аж три слива засчитал :)

как там продвигается установка ie7 на метросиксуальную венду?

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

забыть о зависимостях

Наконец-то! Неужели я когда-нибудь увижу это Linux?

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

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

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

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

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

при роллинг-релизе так и происходит.

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

то что нельзя это исключения, которых крайне мало

Кстати да, иди-ка ты в пень со своими исключениями. Мне что ли легче от того, что это исключения. Это под крупных производителей венда прогибается (наверно отсюда столько легаси у них), а например, ГИС ИнГЕО работает с проблемами на шемерке, и хз работает ли вообще на вошмерке, а поддержка хр прекращается. И что делать с этим лол? На линуксе, у меня аж 2 варианта: толстый пакет, вернуть окружение; а что мне делать на венде? Исключения лол. Венда это абсурд во всех смыслах. Глючный тупорылый громоздкий не надежный дырявый абсурд.

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

да.. но вот действительно, почему программа не может искать зависимости в папке /usr/package_includes/$package_name, куда их попросту слинковать..

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

да.. но вот действительно, почему программа не может искать зависимости в папке /usr/includes/$package_name

В принципе, и сейчас ничто не мешает мейнтейнеру дистрибутива добавить нужные библиотеки для конкретной софтины куда угодно, и прописать в соответствующий *.desktop запуск с нужным значением LD_LIBRARY_PATH. И нет необходимости изобретать для этого нечто в стиле сабжа.

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

добавить нужные библиотеки для конкретной софтины куда угодно

они же не для софтины добавятся, а вообще для всех программ..

special-k ★★★
()

Лучей поноса разрабам-велосипедистам. Желаю их монстро-питоно-поделию провалиться. :3

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

И нет необходимости изобретать для этого нечто в стиле сабжа.

Сабж позиционируется, в первую очередь, для девайсов, о замене deb речи вообще нет. Пусть будет, его еще сделать надо, я уже говорил, что такие приложения как redmain им будет удобно ставить.

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

они же не для софтины добавятся, а вообще для всех программ..

нет, как раз есть возможность стандартными средствами подменить (часть) библиотек при запуске конкретной софтины, вот почитай: http://www.firststeps.ru/linux/r.php?7

«Всё уже украдено до нас!» :)

rmammoth
()
Последнее исправление: rmammoth (всего исправлений: 1)
Ответ на: комментарий от special-k

Сабж позиционируется, в первую очередь, для девайсов, о замене deb речи вообще нет.

Вообще-то, если эта фича останется чисто убунту-специфичной, то и пусть бы себе. Лишь бы в другие дистрибутивы не полезло.

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

А nix позволяет ставить софт любых версий?

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

А тут просто tar.gz со своим расширением, чтобы по щелчку распаковать и положить .desktop файл.

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

Все понятно, в венде два антивиря, а в линуксе обязательно нужен неприкрытый ssh и желательно рут.

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

Формально это не взлом, а просто вход пользователя. Меня устраивает эта ситуация. Если я буду использовать, например, ключ, то я не уязвим. Не то, что в этой вашей венде.

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

При всей моей нелюбви к семейству ОС Windows мантра линукс-самый-защищенный-ом-мани-падме-хум остается всего лишь мантрой. Он самый защищенный в сферическом вакууме. Без тупых юзеров, без глючного софта и костылей. Вообще, обсасывать это в очередной раз нет никакого желания.

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

И нет необходимости изобретать для этого нечто в стиле сабжа.

1) Для удобства пользователя. Вместо трех действий, требующих специальных знаний системы, всего одно действие не требующее ничего.

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

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

А тут просто tar.gz

Я и не говорю, что оно как-то похоже.

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

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

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

Нормально настроенная венда защищена не хуже.

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

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

И тут встает ВОПРОС: как откатиться назад на проверенную и работающую версию 2.26.89? Либы уже подтянуты до новья.

ppa-purge, например.

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

Используя Gentoo

ORLY?

Короче, переставай разговаривать с ключевыми словами, читай дискуссию целиком.

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

подменить (часть) библиотек при запуске конкретной софтины

А как при запуске? Установить LD_LIBRARY_PATH, а после запуска обнулить?

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

Лишь бы в другие дистрибутивы не полезло.

полагаю на любом дистрибутиве будет удобно этим ставить редмайн

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

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

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

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

Все это весьма сложно и поэтому никому не нужно, если на этом не строить систему. Для прикладного софта с закачкой пакетов с сайта разработчика гораздо лучше то, что предлагается здесь. Скачал, кликнул и запустил. Имхо было бы еще лучше сделать, как в макоси, чтобы инсталлер был в виде образа файловой системы. Щелкнул, чтоб смонтировалась и запускай.

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

1) Для удобства пользователя... 2) Для удобства создателей программ...

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

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

а в пакетах с заисимостями через chrpath проставляется путь к нужной либе

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

Для прикладного софта .. лучше

Да не сравниваю я эти вещи.

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от rmammoth

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

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

Это для тех кто хочет сделать пакет для других дистров. И проблемные зависимости на другие версии либ тут малая малость. Бывает, нужны патчи на либы той же версии, что и в дистре. Видел игрулю, которая не идет в федоре, потому что переоптимизирован sdl_image. Бывает, нужно собирать все компоненты одной версией гцц и еще туева хуча ситуаций.

Нужна референсная наддистрибутивная сборка программы, которая не требует ничего, кроме ядра и глибцов. Вот это для нее.

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

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

1) это работает только при сборке, а сборка того же опенофиса занимает много часов и не во всякой системе вообще заканчивается успехом.

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

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

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

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

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

Я подразумеваю это для системы целиком собранной таким образом.

и должен теперь зарубки на компе ставить

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

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

стандартные пути тоже никуда не деваются

установщик линкует в /lib какую-то из версий.

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

Ну в убунте, например, оно вроде и так прибито, ничего необычного..

в убунте много чего сделано... как бы так помягче сказать... несколько необычным образом :)

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

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

мне интересно посмотреть на кедо- или гномо- программу, собранную и упакованную по этому принципу.

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

мне интересно посмотреть на кедо- или гномо- программу, собранную и упакованную по этому принципу.

ага, мне тоже. а лучше — на десяток-другой таких программ.

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

Нужна референсная наддистрибутивная сборка программы, которая не требует ничего, кроме ядра и глибцов. Вот это для нее.

Кроме ядра, глибц и всего остального, что из коробки стоит в убунте.

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

Кроме ядра, глибц и всего остального, что из коробки стоит в убунте.

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

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 2)

Прочитал как «мы не осилили checkinstall».

like-all ★★
()
Ответ на: комментарий от jekader

Главное чтоб не было прибито гвоздями к убунте, тогда и на debian эти новые пакеты гонять можно будет!

И не надейся. Тот же стим без бутстрапа не взлетает. По сути - отдельный юродивый бандл.

like-all ★★
()
Ответ на: комментарий от Oleaster

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

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

Если в линуксе есть софт, который тебе нужен - то это идеальная система.

Полностью согласен!

Почему-то в этом споре многие забывают «золотое правило» IT: и софт, и железо подбираются, исходя из задач. Если пользователю для решения его конкретных задач (на работе, дома...) вполне достаточно программ и их функционала из стабильных версий дистрибутива (например, из стабильной ветки того же debian'a) — то зачем так грязно ругаться (Reset), что это-де старье, упадок и регресс?

Если пользователь готов пользоваться программами только из конкретного дистрибутива, но хорошо взаимодействующими друг с другом, если его устраивает система обновления безопасности через тот же aptitude — зачем клеить ярлыки типа «глючное», «плохое» и пр.?

Если же пользователь жить не может без самых новых версий, не хочет ориентироваться на принципы, заложенные в конкретный дистрибутив, хочет мешанины у себя на компьютере — но эта мешанина его будет устраивать — то почему Ubuntu не может предложить этому пользователю такую систему «толстых пакетов»? Мне известны люди, которые перешли на GNU/Linux с других систем потому что для них стабильность была важнее номера версии и удобства установки. Так и здесь — если удобство пойдет в ущерб безопасности, не исключено, что кто-то уйдет от этой системы.

Важно, чтобы продолжали существовать дистрибутивы с традиционным подходом в установке и обновлении софта через репозитории (тот же debian, например). Тогда и не надо возмущаться от экспериментов Canonical. Возможно, что такая помесь виндовса и линукса найдет пользователя, которому нужно именно это. Но пока что это выглядит как отход от привычных принципов организации GNU/Linux-дистрибутивов.

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

ответ простой - использовать ХР. Возможно в виртуалке. У нее точно такая же поддержка как у толстого пакета или твоего древнего окружения.

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

ответ простой

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

Если ты не адоп или автокад, то тебя и твоих юзеров ждет море проблем.

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

чушь

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

Возможно еще не найденные.

лол

Придумайте уже что-нибудь получше чем «еще не найденные уязвимости», товарищи вендузятики, а то уязвимости в венде уже давно найдены и всячески проникнуты.

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.