Email or username:

Password:

Forgot your password?
442 posts total
AkhIL

Осваиваемся с 3Д печатью.

AkhIL

Когда сервер в соседней комнате и хочется контролировать процесс перезагрузки не вставая со стула:

> cat /etc/systemd/system/beep.service
[Unlt]
Descriptlon=Beep on boot and shutdown

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/beep -f 440 -n -d 100 -f 660 -n -d 100 -f 880
ExecStop=/usr/bin/beep -f 880 -n -d 100 -f 660 -n -d 100 -f 440

[Install]
WantedBy=multi-user.target default.target

Когда сервер в соседней комнате и хочется контролировать процесс перезагрузки не вставая со стула:

> cat /etc/systemd/system/beep.service
[Unlt]
Descriptlon=Beep on boot and shutdown

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/beep -f 440 -n -d 100 -f 660 -n -d 100 -f 880
ExecStop=/usr/bin/beep -f 880 -n -d 100 -f 660 -n -d 100 -f 440

kuchinster (mas.to)

@akhil Сложно как-то, привычней пингануть.

AkhIL

как-то так... это будет кусок настольной лампы.

Digitual :ablobcatwave:

@akhil тебе автокад смотрю зашёл)

AkhIL

Разложил для печати.

AkhIL

А это я уже свою деталь делаю в . Работы ещё на день - два.

AkhIL

Это всего лишь упражнение по , однако я начинаю понимать как тут что делается.

Павел Просто :verified_paw:

@akhil очень круто! Это по видео туториал?

KitsuQ98 :verified_paw:

@akhil интересно... А ведь его даже можно а метавселенную затащить одну как есть)

AkhIL

Третий раз ныряю в FreeCAD. На этот раз может и получится разобраться, ибо, в отличии от прошлых разов, нынче есть практический смысл, пару деталей нужно напечатать на 3Д принтере, а ещё есть потенциальная работа с CNC станком.

gleb.zhulik

@akhil возьми лучше бесплатный браузерный onshape, кучу нервов сэкономишь. Фрикад прям очень плох.

AkhIL

Наткнулся на zellij.dev/. Не знаю готов ли я переходить с tmux на него, но в закладки положил.
Если бы в дебяне был готоввй пакет... впрочем это не такая большая проблема.
Tmux иногда делает простые вещи сложными, не знаю как с этим у zellij.

AkhIL

Утро 1-го января

AkhIL

Оптическая стабилизация стабилизирует хуже двух килограммового объектива длинной пол метра.

kuchinster (mas.to)

@akhil с балансом белого беда.-(

AkhIL

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

AkhIL

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

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

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

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

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

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

AkhIL

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

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

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

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

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

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

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

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

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

chipsetsv

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

AkhIL

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

AkhIL

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

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

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

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

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

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

AkhIL

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

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

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

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

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

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

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

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

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

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

AkhIL

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

AkhIL

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

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

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

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

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

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

AkhIL

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

AkhIL

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

Go Up