Email or username:

Password:

Forgot your password?
423 posts total
AkhIL

С #HelixEditor мне впервые приятно сортировать методы.

Трюк в том, что команда `:sort` сортирует выделения, коих может быть несколько. Остаётся только выделить методы по отдельности.

Данила Горелко

Сортирую методы и вообще блин всё лесенкой.

Вот
Вот как-то
Вот как-то так

Чтобы удобнее было читать

AkhIL

Дальнейшая разработка #tinkerbox становиться ещё интереснее.

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

Пользователь получает возможность делать снимки состояния контейнера, под капотом делается обычный `podman commit`. Для отката мы удаляем поломанный контейнер и разворачивается точно такой же на базе сделанного ранее, при помощи commit, образа.

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

Новые контейнеры можно создавать не только на основе базовых образов, но и на базе сделанных снимков.

Можно использовать pdoman commit --squash, что бы не плодить образы.

Дальнейшая разработка #tinkerbox становиться ещё интереснее.

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

Пользователь получает возможность делать снимки состояния контейнера, под капотом делается обычный `podman commit`. Для отката мы удаляем поломанный контейнер и разворачивается точно такой же на базе сделанного ранее, при помощи commit, образа.

chipsetsv

@akhil, а какова целевая модель использования инструмента? Можно на примере?
Я просто пока не догоняю киллерфичи инструмента)

AkhIL

Ещё вариант - запилить демона который бы запускался рутом, слушал бы DBus и выполнял бы операции с nspawn которые требуют права рута. Единственное я не уверен смогу ли я сделать это безопасно.

AkhIL

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

Значит буду переписывать #tinkerbox на python в том виде в котором он уже сейчас есть, разве что добавлю шаблоны для контейнеров и добавлю параметров для монтирование директорий.

Ещё можно по эксплуатировать podman mount для получения доступа к файлам, и держать проекты полностью в контйенерах, а не монтировать их из домашней директории.

Так же уже думаю что GUI для управления контейнерами было бы не плохо.

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

Значит буду переписывать #tinkerbox на python в том виде в котором он уже сейчас есть, разве что добавлю шаблоны для контейнеров и добавлю параметров для монтирование директорий.

AkhIL

Мои приключения с разработкой софта внутри контейнеров продолжаются.

Systemd-nspawn не пойдёт, так как требует прав рута для каждого чиха. А вот LXC может сработать. А ведь когда-то я писал код именно в LXC контейнерах.

Чем это может быть лучше чем podman/docker? Тем что конфигурацию контейнера можно будет менять после его создания. Можно будет монтировать новые устройства и директории в имеющиеся контейнеры. Distrobox это обходит тем, что в него подмонтировано вообще всё, в случае же с моим #tinkerbox я реализую изоляцию файловой системы, монтируется только то, что пользователь явно указал монтировать.

Проведу пару эксперементов и решу, буду ли я переписывать tinkerbox для работы с LXC.

Текущая версия tinkerbox, работающая поверх podman, лежит тут: codeberg.org/akhil/tinkerbox/

Мои приключения с разработкой софта внутри контейнеров продолжаются.

Systemd-nspawn не пойдёт, так как требует прав рута для каждого чиха. А вот LXC может сработать. А ведь когда-то я писал код именно в LXC контейнерах.

Чем это может быть лучше чем podman/docker? Тем что конфигурацию контейнера можно будет менять после его создания. Можно будет монтировать новые устройства и директории в имеющиеся контейнеры. Distrobox это обходит тем, что в него подмонтировано вообще всё, в случае же с моим #tinkerbox

тёплый ветер тихо воет :wave1:

@akhil а почему на fish, а не на каком-нибудь python?

AkhIL

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

AkhIL

По моему #podman и #docker не лучшим образом годятся для разворачивания интерактивного окружения и обновления его после, как это делается в distrobox, toolbox и в моём tinkerbox.

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

По моему куда лучшим решение для интерактивно контейнера является lxc, ну или systemd nspawn. В этих контейнерах разворачивается весь корень как отдельное дерево, без базового образа, и изменения происходят непосредственно в этом дереве.

И вот теперь я думаю, не попробовать ли мне переделать свой #tinkerbox для работы с systemd-nspawn?

По моему #podman и #docker не лучшим образом годятся для разворачивания интерактивного окружения и обновления его после, как это делается в distrobox, toolbox и в моём tinkerbox.

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

AkhIL

Пара свежих фоточек

AkhIL

#OpenSUSE #Aeon (MicroOS Desktop) с контейнером Archlinux внутри - может получиться весьма хорошо. И не ломается, и свежий разнообразный софт.

AkhIL

Погружаюсь глубже в мир #OpenSUSE. #MicroOS крайне интересная мне штука. Уже попробовал установить на него yggdrasil и Mesa из pacman - пока работает, хоть это и не то как предполагается использовать этот дистрибутив.

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

youtube.com/watch?v=lKYLF1tA4I

Bojack Horseman 🗿

@akhil они хоть и не рекомендуют, но всё равно есть возможность поставить софт из реп через transactional-update, если сильно надо

AkhIL

Кстати, обжимал я витую пару минут тридцать. Умудрился испортить два коннектора. Вот что значит лет десять не обжимал.

AkhIL

Рано или поздно это происходит с многими из нас...

Askolock :ageblobcat:

@akhil да, в эти праздники у всех своя гирлянда ;)
С Рождеством! 🎄

Digitual :ablobcatwave:

@akhil аааа) витая пара, обжимки и скрутки) ностальгическая слеза*

AkhIL

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

AkhIL

Зеркало получилось. Переезжаю.

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

AkhIL

В OBS #OpenSUSE тухлая #kanata. Не то что бы это большая проблема, но не хочу сейчас этим заниматься.
В идеале нужно разобраться с OBS, форкнуть тухлую репу и сделать свою.

AkhIL

Думаю устроить себе подарок на новый год, поставить ОпенСУСЮ на основноую машину, на которой работу работаю.

AkhIL

Добавлено: Я был не прав, см. коммтент.

В #OpenSUSE как-то странно сделаны подтома.
Всякие /var монтируются из @/var .

Сделал откат, теперь корень монитируется из @/.snapshots/... .

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

А не написать ли мне ещё скрипт для выправки вот этого вота всего???

Ténno Seremélʹ

@akhil Не очень понимаю, что происходит, но без btrfs очень хорошо! :blobcattilt:

AkhIL

А вот и всё в порядке у #OpenSUSE с подтомами. Как оказалось начальное состояние лежит не в @/, а в @/snapshots/1/... . Подтом @/ хранит только другие подтома, и ничего более.

Вот тут объясняют reddit.com/r/btrfs/comments/10.

Go Up