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)

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

Ну и если я правильно понимаю, то получается, что в одной и той же версии qt-creator может быть разный qbsprojectmanager в зависимости от того, когда собирали?

Насколько я знаю, git submodule (по крайней мере в данном случае) вытягивает определённую ревизию. Но с clang оно уже так: qt-creator будет разным в зависимости от того, с какой libclang он слинкован. Я та тестировал патч к clang в локальной версии, не задевая системную.

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

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

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

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

Но это трезвая (или не очень? :)) попытка решить проблему, которая объективно существует.

Ещё одна бредовая идёя владельца торговой марки Ubuntu.

Да, KISS принцип хорош, но сейчас у Linux есть не меньше недостатков, чем у винды. Более того - я вижу всего один единственный плюс - открытость.

А пластичность, быстрая развёртываемость, защищённость от вирусов ?

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

что в реальном софте библиотеки не будут дублироваться либо уже дублируются

Что, вы что-то путаетесь ?

потому что софт кроссплатформенный и пишется также под Windows/Mac

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

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

называется здравствуйте вирусы под Ubuntu?

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

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

Что, вы что-то путаетесь ?

Нет, просто я не разъяснил, что имеется ввиду. В реальном кроссплатформенном софте от лишних библиотек вовсе отказываются, чтобы не нагружать зависимостями, либо собирают и распространяют библиотеку вместе с продуктом, путём статической компиляции или складывания в папку вроде /usr/lib/qtcreator.

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

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

Не совсем так. Сейчас я могу скачать со стороннего сайта rpm, а он не поставится, потому что у меня версия какой-нибудь либы в системе старее или новее, чем требует этот пакет.

А пластичность, быстрая развёртываемость, защищённость от вирусов ?

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

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

А пластичность, быстрая развёртываемость, защищённость от вирусов ?

Быстрая развёртываемость никуда не делась, потому что для неё не нужны зависимости, нужен доступный софт в репозитории

Пластичность? Что вы имели ввиду? Изменять системные компоненты по-прежнему можно, если что — потому что опенсорс.

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

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

А что есть только кросс платформенный софт ? И другого софтра фообще в системе нет и быть не может ?

qtcreator под Windows естетсвенно будет поставиться с libqt*, которые будут положены в туже директорию, куда будет установлен и qtcreator. Но в Linux системах вполне могут использоваться libqt* из основной системы.

Ещё раз при чём здесь крос платформенный софт ? В Linux системах этот софт так же будет использовать разделяемые библиотеки. В Windows же, да, будет поставляться со своими.

kostik87 ★★★★★
()

Давно пора. Жду не дождусь блокнотиков на сотни мегабайт

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

Нужно, но пока ubuntu пытается копировать ее: перенос элементов управления окном влево, global меню, вот теперь приложения каждое со всеми потрахами в одной папке. Очевдно же следующий шаг переход на darwin. Иначе зачем еще такие изменения?

anonymous
()

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

Откуда ты вообще это взял, клоун. 4.2 язабан.

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

пока ubuntu пытается копировать ее

тебе кажется

теперь приложения каждое со всеми потрахами в одной папке.

тебе опять кажется

зачем еще такие изменения?

Очевидно не для этого))

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

Всё больше убеждаюсь, что современные linux-разрабы вместо разработки занимаются поисками серебряной пули

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

Ты прочитал сообщение на которое я написал эти строки ?

Зачем выдираешь текст из контекста ?

Я писал ответ на вот эту фразу:

Да, KISS принцип хорош, но сейчас у Linux есть не меньше недостатков, чем у винды. Более того - я вижу всего один единственный плюс - открытость.

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

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

А вы монтируйте /home и другие файловы системы, куда может писать пользователь с «noexec» и тогда ни один сторонний файл, который записался от имени пользователя не сможет выполниться.

Пластичность? Что вы имели ввиду?

Установить только нужные компоненты системы и настроить так, как нужно. Ещё раз, это вообще о Linux.

kostik87 ★★★★★
()

Убунта верно, но уверенно катится в оффтопик.

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

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

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

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

Во-вторых, очень многие зависимости «>=» и соответственно более старые пакеты встанут в новую систему

'>=' гарантирует установку, но не гарантирует работоспособность

Кстати и костыли с зоопарком всяких libboost1.49, libboost1.50, libboost1.51 и так далее сразу бы ушли в туман.

Хвала разработчикам буста, что они каждую версию именуют по разному, а что делать с теми, кто меняет ABI, а имя so'шника оставляет старым?

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

Как Марку написать чтобы он клик-установщик назвал Trud? :)))

Да и весенние релизы неплохо бы перенести на май.

imul ★★★★★
()

Запасся попкорном.


ЗЫ: О_о Тред до сих пор на одной странице? Не порядок!

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

Что то многим кажется что убунта копирует мак.

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

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

Можно и нужно!

Это называется здравствуйте вирусы под Ubuntu?

Вирусы и так будут, но не поэтому

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

Что бы установить программу, для которой нет «толстого» пакета вам так же придётся разбираться с зависимостями и собирать deb пакет, при условии, что вы хотите поставить программу правильно, не засоряя систему.

поэтому _все_ юзерские программы должны идти в «толстых» пакетах

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

А как быть с пересекающимися файлами и разными зависимостями? Например, новая версия хочет boost 1.50 и c 1.46 из 12.04 она даже не соберется.

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

* adjust unpack handling to avoid problems with project renames and name clashes, and to unpack each version into its own directory and flip symlinks to allow for multi-user independence

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

Беда в том, что космонавтская контора ничего принципиально нового не придумала (даже Unity на первых порах была сильно переделанным Gnome 2), а все или почти все их громкие заявление пока-что ничем не закончились... Извините, Поттеринг проталкивает свои systemd pulseaudio и проч. сетевые извраты, при всей неоднозначности этих решений у него хватает сил и желания проталкивать их. А Canonical только позавчера научили Unity не падать на каждый [неразборчиво]. Дело, еще раз повторяю, не в том, что космонавт анонсирует, а в том что он 90% этих анонсов не доводит до исполнения...

t500s ★★★
()

Это жизненно необходимо! Без нового формата пакетов нам никак нельзя! Под Дебиан уж как-нибудь соберём из deb.src ...

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

Ну я и говорю. С такими - зависимость «==» и установку в отдельный каталог, только поддержка нужна со стороны системы и пакетного менеджера.

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

поэтому _все_ юзерские программы должны идти в «толстых» пакетах

НЕ НАДО! НЕ НАДО! ИЗЫДИ ИРОД!!! :)

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

90% твоего сообщения чушь
90% линуксойдов используют убунту. А вот systemd, меж тем, не используют даже оставшиеся 10%. Проталкивает, проталкивает.. куда?))

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

Ты вообще дочитал коммент? Или так, батхерт свой реализуешь?

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

да-да. и у каждой - свой gtk и др.

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

Вирусы и так будут, но не поэтому

не будет, т.к. линукс это не дырявое корыто.

поэтому _все_ юзерские программы должны идти в «толстых» пакетах

Что ты называешь толстым пакетом?

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

не будет, т.к. линукс это не дырявое корыто.

дыры тут не при чем, вирусы это следствие кривых рук пользователей

Что ты называешь толстым пакетом?

setup.exe

Reset ★★★★★
()

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

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

Каждое приложение устанавливается в отдельный каталог.

Mac OS X style, мда.

А может MS DOS style? Или, скажем, UNIX-style (вспоминаем про каталог /opt)?

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

Беда в том, что космонавтская контора ничего принципиально нового не придумала (даже Unity на первых порах была сильно переделанным Gnome 2)

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

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

Плохой вы программист, не в курсе, что перетирать системные либы таким пакетам никто не даст, а в этом и состоит суть dllhell.

quiet_readonly ★★★★
()

Ну наконец-то! Стоит выпить за здоровье Марка и успех Каноникл.

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