LINUX.ORG.RU
ФорумTalks

Идея для метадистра, суть такова

 


1

2

Давно в чертогах разума есть у меня идея принципиально нового дистра.

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

Суть: как кажется на первый взгляд, посылаем FHS лесом, кладём базовую систему отдельно, обновления отдельно, программы отдельно. Вместо точкопомойки в хомяке каждому приложению заводится отдельная директория в ~/.appdata.

Чтобы запустить приложение, монтируем в отдельную директорию с помощью unionfs базовую систему, обновления к ней, собственно программу, аппдату из хомяка и куски реального пользовательского хомяка, которые пользователь хочет отдать в распоряжение программе (тут надо сделать красивые cli и gui, чтобы в рантайме можно было добавлять/удалять доступ к пользовательским директориям). И запускаем приложение в чруте.

Структура файловой системы получится примерно такая:

/meta/
    home/
        user/
            Pron/
            Documents/
            Downloads/
            ...
            .appdata/
                firefox/
                    .mozilla/
                pidgin/
                    .purple/
    base/
        bin/
        usr/
        ...
    updates/
        2013-10-10/
            usr/
            ...
        2013-11-15/
            usr/
            ...
    apps/
        firefox/
            root/
                usr/
                    bin/firefox
                ...
            icon.png
            manifest
        pidgin/
            root/
                usr/bin/pidgin
                ...
            ...
    roots/
        0000/ # mounted with base, updates, home and running system ui
            usr/
            home/
            ...
        0001/ # mounted from base, updates, firefox root, /home/user/Downloads and /home/user/.private/firefox
            usr/
                bin/firefox
                ...
            home/user/
                Downloads/ (/meta/home/user/Downloads)
                .mozilla/ (/meta/home/user/.appdata/firefox/.mozilla)
            ...
        0002/ # mounted from base, updates, pidgin root and /home/user/.private/pidgin
            usr/bin/pidgin
            home/user/.purple
            ...

Плюсы:

  • Приложения не срут друг другу и пользователю, не тырят файлы и т. д.
  • Установка/удаление приложений или обновление/откат обновлений — простые операции с файловой системой
  • Этот велосипед можно будет прикрутить к любому традиционному дистрибутиву (от дебиана до арча)

Минусы:

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

К велосипедостроению приступлю ориентировочно после закрытия сессии.

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

Почему же?

qubes os для десктопов, а по смыслу - то же самое (только система виртуализации xen вместо lxc)

terradot
()

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

bormant ★★★★★
()

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

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

Где-то проскакивала новость про подобный дистр... chroot,все дела.Не взлетел.

У нового дистра нет шансов, конечно. Это должно быть дополнение существующего: например, возможность ставить в Debian stable пакеты из exprimental без риска, или то же самое для CentOS.

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

Я такой цели не ставлю, но похоже, что да.

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

это QNX на unionfs и homeland-apps. (уж простите за русско-английский спагетти). Подругому сложно выразить

в общем - идея пройдена и отсеяна рынком как негодная. Сложная дистрибуция ОС, нереальный deployment приложений. Администраторам таких систем помимо молока придётся выдавать верёвку и мыло.

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

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

urandom
()

Ты переизобрел NixOs и OpenWRTшный оверлей.

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

С железом отлично совместимо, в отличие от… вообще, самосборы считаю плохим вариантом для серьёзного применения, глюки на ровном месте.

Опенсорс — ну, как бы, опенсорс ради опенсорса не нужен.

В отличие от чего? Если речь про линукс, то у него дела на порядок лучше, чем у макоси, которая от любого незнакомого оборудования на раз-два уходит в панику ядра.

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

В отличие от чего? Если речь про линукс, то у него дела на порядок лучше, чем у макоси, которая от любого незнакомого оборудования на раз-два уходит в панику ядра.

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

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

И gobolinux вспоминали, и андроид, и макось, и nixos, но видимо или я плохо объяснил что хочу, или остальные плохо поняли.

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

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

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

Оно и понятно. В принципе, определить откуда работает система — не так уж и сложно.

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

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

Этот способ уже 20 лет не работает. Мейнтейнеры работают, разработчики толковые, но с деплойментом в линуксе всё по-прежнему беспросветно.

quiet_readonly ★★★★
()

Идея для метадистра

Но зачем — если есть Gentoo?

aes_ultimum ★★
()

.appdata

кыш ка ты сам знаешь куда.

и не возвращайся

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

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

aes_ultimum ★★
()
28 октября 2014 г.

Я обнаружил в твоеё спецификации фатальный недостаток - у тебя невозможен side-by-side деплоймент - нет для этого соответствующего уровня в иерархии

например apps -> gcc -> конкретные файлы

а должно быть apps -> gcc -> некая версия -> конкретные файлы

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