- Calamares branding takes the version from VERSION at ISO build time - das-update tray hides its icon when updates were installed elsewhere (watches the xbps package database) - Installer removes guest tools of other hypervisors; the live image starts VBoxClient only inside VirtualBox - Live session no longer locks the screen while the installer runs - das-tools 0.2.0, das-installer 0.2.0, das-settings 0.4.0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8.1 KiB
8.1 KiB
Das OS — що зробити далі
Стан на 2026-10-19: версія 0.3.0, етапи 1–5 готові (live ISO, власний репозиторій, оформлення, інсталятор Calamares зі знімками Btrfs, Go-утиліти das-update і das-welcome). Далі: серверний образ (етап 6).
Етап 5. Go-утиліти (готово, лишилися перевірки)
das-update: вікно, значок у треї (лише коли є оновлення), консольний режим--cli, знімок snapper pre/post, встановлення через pkexec, підказка про відкат.das-welcome: вікно першого входу (встановлення в live-сесії, мова, теки, оновлення, налаштування, довідка).- Англійські назви тек: xdg-user-dirs 0.20 шукає переклади лише в першій теці
XDG_DATA_DIRSз підкаталогомlocale(порожня/usr/local/share/locale). Виправлено вdas-settings(/etc/X11/xinit/xinitrc.d/50-das-user-dirs), уже створені теки перейменовуєdas-welcome. - Тести
go test ./...(make testі під час збирання пакета). - Перевірено у встановленій системі на Btrfs (QEMU, UEFI): оновлення з вікна й
--cliстворює пару знімків pre/post, вони з'являються в меню GRUB, завантаження в знімок іsnapper-rollbackповертають попередню версію пакета; вибір мови вdas-welcomeдіє після перезавантаження. - Виправлено після перевірки: версія в Calamares береться з
VERSION; значок у треї ховається, коли оновлення встановлено поза ним (стежить за базою пакетів xbps); інструменти VirtualBox прибираються з не-VirtualBox машин (у KVM було повідомлення при кожному вході); live-сесія не блокує екран під час встановлення. - Перевірити в наступному live ISO, що екран більше не блокується (властивості xfconf звірено з двійковими файлами).
- Вікно автентифікації polkit (
xfce-polkit) англійською: перекласти або замінити агент. - Повідомити авторів xdg-user-dirs про помилку з
XDG_DATA_DIRS. - Пункт «Профіль розробника» в
das-welcome(разом з етапом 7).
Етап 6. Серверний образ
Live ISO без графіки з консольним інсталятором: dasos-server-<версія>-x86_64.iso.
- Профіль
server/поруч ізlive/(packages.x86_64,services,include/); параметризуватиscripts/container/build-iso.shпрофілем; цільmake iso-server. Kernel cmdline зconsole=tty0 console=ttyS0для серійної консолі. - Метапакет
das-server: openssh, chrony, dhcpcd (NetworkManager/nmtui на вибір), das-snapshots, docker (без podman), nftables, fail2ban, python3, lazydocker, lazygit, mc, tmux, htop, socklog-void. - Налаштування в
das-server: nftables «закрито все, крім SSH», jail sshd для fail2ban, sshd без входу root за паролем. dsv(das services): керування службами runit замість systemctl (list,enable,disable,start,stop,restart,status,logs): посилання/etc/sv/X→/var/service, логи через socklog/svlogd. Знадобиться й на десктопі.das-server-install: TUI-інсталятор наdialog(диск, ім'я хоста, користувач, SSH-ключ, часовий пояс, розкладка). Розмітка GPT: ESP + Btrfs з тими ж підтомами, що й у Calamares (@,@snapshots…); копіювання зlive-base(перевикористатиmount-source); GRUB для UEFI і BIOS.- Винести спільну частину
postinstall(локалі,/tmp, гостьові інструменти VM,das-snapper-setup, переписування ядер) в окремий скрипт для обох інсталяторів. scripts/run-qemu.sh --serial(-nographic) для перевірки серверного ISO.- Перевірка: встановлення в QEMU, вхід по SSH,
docker run hello-world, знімок snapper передdas-update --cli. - Наостанок — розмір ISO: виміряти обидва образи, знайти, що займає найбільше (розміри пакетів через
xbps-query, прошивкиlinux-firmware-*, локалі, документація,-devel-пакети, гостьові інструменти VM, компресія squashfsxz/zstd), і вирішити, що й як зменшити.
Етап 7. Профіль розробника
- Метапакет
das-dev: go, git, docker, podman, vscode. - Android Studio та JetBrains на вимогу через Flatpak.
- Вибір профілю в інсталяторі (модуль packagechooser) або в
das-welcome.
Етап 8. CI
- Збирання пакетів і обох ISO (десктоп і сервер) в контейнері Void (Gitea Actions на git.das.org.ua або GitHub Actions).
Репозиторій пакетів
- Підпис через
xbps-rindex --sign, ключ поза репозиторієм. - Хостинг репозиторію (власний сервер або GitHub Releases/Pages).
/etc/xbps.d/das.confу встановленій системі, щоб пакетиdas-*оновлювалися. Зараз встановлена система бачить лише репозиторій Void.
Інсталятор
- Перевірити встановлення на старий BIOS (MBR,
grub-install --target=i386-pc). - Перевірити на реальному залізі: видалення гостьових інструментів VM, Wi-Fi, NVIDIA/AMD.
- Шифрування диска (LUKS):
luksbootkeyfile, crypttab, dracut,GRUB_ENABLE_CRYPTODISK. - Перевірити ручну розмітку з Btrfs (чи створюються підтоми) і встановлення на ext4/XFS (знімки мають вимкнутися без помилок).
- Перевірити розкладку, відмінну від
us,ua(автологін перевірено).
Знімки й відкат
- Перевірити, що cron справді робить щогодинні знімки й очищує старі.
- Графічний відкат (у
das-updateабо окремою утилітою) замістьsudo snapper-rollback N. - Прибирати старі корені
@<дата>, які лишаються після відкату.
Оформлення та дрібниці
- Прибрати значки томів live-носія («Том 6,6 ГБ») з робочого столу live-сесії.
- Тема GRUB у встановленій системі (зараз стандартний чорний екран).
- Перевірити меню Whisker вручну.
- Прискорити
make packages: не перезбирати Calamares, якщо його версія не змінилася.
Відкладено
- ARM-образ для Raspberry Pi.
- Вбудувати текстовий редактор MultiText.
- Перший стабільний реліз: злиття
dev→main.