LINUX.ORG.RU
ФорумTalks

Поттеринг: «Давайте заменим пакетный менеджер подтомами btrfs»

 ,


1

6

Сабж

The scheme we propose is built around the variety of concepts of btrfs and Linux file system name-spacing. btrfs at this point already has a large number of features that fit neatly in our concept, and the maintainers are busy working on a couple of others we want to eventually make use of.

[…]

app:<vendorid>:<runtime>:<architecture>:<version> — This encapsulates an application bundle. It contains a tree that at runtime is mounted to /opt/<vendorid>, and contains all the application's resources. The <vendorid> could be a string like org.libreoffice.LibreOffice, the <runtime> refers to one the vendor id of one specific runtime the application is built for, for example org.gnome.GNOME3_20:3.20.1. The <architecture> and <version> refer to the architecture the application is built for, and of course its version. Example: app:org.libreoffice.LibreOffice:GNOME3_20:x86_64:133

[…]

  • We want a unified scheme, how we can install and update OS images, user apps, runtimes and frameworks.
  • We want a unified scheme how you can relatively freely mix OS images, apps, runtimes and frameworks on the same system.
  • We want a fully trusted system, where cryptographic verification of all executed code can be done, all the way to the firmware, as standard feature of the system.
  • We want to allow app vendors to write their programs against very specific frameworks, under the knowledge that they will end up being executed with the exact same set of libraries chosen.
  • We want to allow parallel installation of multiple OSes and versions of them, multiple runtimes in multiple versions, as well as multiple frameworks in multiple versions. And of course, multiple apps in multiple versions.
  • We want everything double buffered (or actually n-fold buffered), to ensure we can reliably update/rollback versions, in particular to safely do automatic updates.
  • We want a system where updating a runtime, OS, framework, or OS container is as simple as adding in a new snapshot and restarting the runtime/OS/framework/OS container.
  • We want a system where we can easily instantiate a number of OS instances from a single vendor tree, with zero difference for doing this on order to be able to boot it on bare metal/VM or as a container.
  • We want to enable Linux to have an open scheme that people can use to build app markets and similar schemes, not restricted to a specific vendor.

    […]

The future is going to be awesome!

★★★★★

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

бинарники никуда не денутся, а симлинки добавятся

бинарники будут разнесены по разным ФС, и «засирать» их перестанут. Они будут довольно чётко организованы.

В идеале останется одна маленькая «засранная» дира (или 2 если нужны будут либы, по идее не нужны), а не как сейчас, всё, что в /usr - свалка.

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

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

Этот поттерингохейтер порвался, замените

shatsky ★★
()

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

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

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

Хотя я не думаю, что отсутствие indirection layer'а таблицы разделов может повлиять на производительность.

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

таблица разделов это понятно, а как грузиться? либо фат-раздел нужен, либо мбр, разве нет?

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

Паковать пакеты под каждый дистрибутив и тестировать его под каждой версией окружения (тот же gtk+ может быть разных версий в убунте, федоре и suse и мы ещё не говорим о разных версиях внутри дистрибутива)? Да никто, только время на это где взять.

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

Типичный вендовый десктоп имеет в себе 5-7 разных дотнетов и примерно столько же vc++ redist. Это не считая того, что уже идет в поставке системы. Докинем питоны, гытыка, кути, и на выходе получим невообразимый трэш.

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

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

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

для обратной совместимости придется симлинкнуть ВСЕ ресурсы из /opt в /usr. в результате имеем в 2 раза больше файлов.

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

И он ожидает, что можно будет, например, поставить СофтПодГном в одном дистрибутиве, перезагрузиться в другой и запустить его.

в чем тогда смысл другого дистрибутива?

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

делай тарболлы и таскай зависимости с собой, если не хочешь «ждать даунстрима»

И получай грабли при каждой уязвимости в этих зависимостях.

Типичный вендовый десктоп имеет в себе 5-7 разных дотнетов и примерно столько же vc++ redist

Вполне нормальная ситуация. Если API разное и часть софта требует старый API — остаётся выбор между не юзать софт (серьёзно?), таскать зависимости с собой (см. выше) или изобретать какие-нибудь слоты. Сабж — поттеринг-стайл вариация тех же слотов.

зачем в таком случае вообще нужны дистрибутивы

Явно не для того, чтобы переизобретать велосипед 10 раз и перепаковывать одни и те же пакеты.

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

не задумывался, но если зайди с gparted/gnome-disk/parted/акрониса они тебе скажут, что таблица разделов отсутствует.

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

Зачем человеку лазить в эти симлинки? Религия заставляет каждое утро повторять список файлов в каждом каталоге из корня?

Это называется контроль системы. Когда можно легко проверить, что в ней есть и чем занимается.

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

Как бы там ни было модульность и гибкость *nix Поттерингом приносится в жертву непонятно ради чего в конечном итоге:

1) Например, до systemd можно было совершенно свободно держать почти все каталоги на разных разделах и дисках. Теперь уже нельзя.

2) Если эту инновационную каку внедрят, станет проблематично использовать что-то кроме btrfs для системы. Берем пример с винды с ее одним NTFS...

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

Другие версии софта как платформы, другие люди осуществляют техподдержку, другое DE и нескучные обои в конце концов. Фирменные системы разворачивания. Фирменные фишки вроде ksplice.

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

для обратной совместимости придется симлинкнуть ВСЕ ресурсы из /opt в /usr. в результате имеем в 2 раза больше файлов.

Ты нифига не понял идею.

Апстрим будет делать все эти пакеты. С кем делать обратную совместимость, если они изначально делают пакет под /opt/?

Платформа (как я понимаю — glibc, может, coreutils и ещё что-нибудь) идёт отдельно от всего остального. В /usr без всяких /opt. А вот рантайм (например, гномовый) — в /opt и все девелоперы апстрима об этом уже в курсе.

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

1) Например, до systemd можно было совершенно свободно держать почти все каталоги на разных разделах и дисках. Теперь уже нельзя.

Например? Напоминаю: отдельный /usr был сломан и до systemd.

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

Платформа (как я понимаю — glibc, может, coreutils и ещё что-нибудь) идёт отдельно от всего остального. В /usr без всяких /opt. А вот рантайм (например, гномовый) — в /opt и все девелоперы апстрима об этом уже в курсе.

Или нет. Платформа «Fedora X.Y» — рантайм для федорового специфичного софта. Платформа «Гном X.Y» — независимый от дистрибутива рантайм для гномософта, содержащий *всё*.

x3al ★★★★★
() автор топика

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

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

все девелоперы апстрима об этом уже в курсе

что делать с мертвыми проектами? Blackbox, старый FVWM (который еще используется). шелл-скрипты.

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

не был. поттеринг - лживое ничтожество. в старых инитах /usr монтировался ДО запуска демонов. в systemd оно не так, значит, проблема в systemd. но поттеринг начал орать «КОКОКО /USRISBROKEN КОКОКО».

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

CLONE_NEWNS уже отменили???

Это про точки монтирования, а мы про файловые неймспейсы,

Почему поцерофаги такие безграмотные?

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

Зачем нужен этот костыль да еще и в качестве стандарта? Можно же просто собирать разные версии в разные каталоги?

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

Контроль системы это такой же миф, как юниксвей. Все им тычут в лицо, но никто не знает, зачем он нужен. Просто «раньше было не так».

Вот как лично тебе симлинки мешают контролировать систему?

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

Тут полностью согласен. Эта штука не предназначена для широкого использования, потому как ФС много и все в чём-то хороши.

vurdalak ★★★★★
()

app:org.libreoffice.LibreOffice:GNOME3_20:x86_64:133

а в андроиде не что-то подобное?

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

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

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

Ну и что здесь плохого?

Все плохо! Symlink - это костыль, вместо того, что бы думать головой, люди стали втыкать везде эти линки.

Да же сам ln нифига не знает как отличить линк от реального файла.

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

вот это здец. травишка заборная похоже была

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

Например? Напоминаю: отдельный /usr был сломан и до systemd.

Я уже не помню подробностей, но осталось впечатление, что Поттеринг туда приложил руки.

praseodim ★★★★★
()

Данунафиг. Пойду водкой отпаиваться.

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