ostree_on_alt/upgrade_acos.md

76 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Обновление ALT Linux в ostree
На сервере в ветке, из которой была установлена ОС в ostree [подробнее об установке](alt_on_ostree.md), создать новый коммит. Для этого внести изменения в каталог root и вызвать ostree commit без параметра --parent=none. Например так:
```
touch root/usr/bin/privet
chmod a+x root/usr/bin/privet
echo "echo Privet" > root/usr/bin/privet
ostree commit --repo=repo --tree=dir=root -b acos --owner-uid 0 --owner-gid 0 --no-xattrs --no-bindings --mode-ro-executables
```
Результат можно будет проверить следующими командами:
```
[root@host-15 keremet]# ostree log --repo=repo acos
commit c34c68ae0bc01eb917cb7d971c2da22be3c55d0ca1804868da2ca1128d1e8fc7
Parent: 3c0ec89f41f184fc7c9b598147ad049288783a68eeb583a293cda4659028a816
ContentChecksum: db308a5e36ebae13992a5824615a49a943d6ffe5639fd8969e56db974a2ae49f
Date: 2021-07-13 10:29:51 +0000
(no subject)
commit 3c0ec89f41f184fc7c9b598147ad049288783a68eeb583a293cda4659028a816
ContentChecksum: 4590697b32921c87d1e10c7490665226b03710a4eec73c26fea62c8f144ab5aa
Date: 2021-07-13 09:34:22 +0000
(no subject)
[root@host-15 keremet]# ostree diff --repo=repo 3c0ec89f41f184fc7c9b598147ad049288783a68eeb583a293cda4659028a816 c34c68ae0bc01eb917cb7d971c2da22be3c55d0ca1804868da2ca1128d1e8fc7
A /usr/bin/privet
[root@host-15 keremet]#
```
Обновить метаданные репозитория, необходимые для его удаленного использования
```
ostree summary --repo=repo --update
```
Запустить веб-сервер (порт 80)
```
ostree trivial-httpd -P 80 repo
```
На клиенте надо подключить удаленный репозиторий ostree
```
ostree remote add --no-gpg-verify acos http://192.168.2.126
```
Команды проверки успешности подключения:
```
ostree remote list
ostree remote show-url acos
ostree remote refs acos
```
Отображение состояния и обновление. В данном примере показано, что для обновления требуется указывать переменную окружения OSTREE_GRUB2_EXEC.
```
[root@localhost ~]# ostree admin status
* alt-coreos 3c0ec89f41f184fc7c9b598147ad049288783a68eeb583a293cda4659028a816.0
origin refspec: acos:acos
[root@localhost ~]# ostree admin upgrade
6 metadata, 1 content objects fetched; 20 KiB transferred in 0 seconds; 12 bytes content written
Copying /etc changes: 3 modified, 0 removed, 13 added
error: Bootloader write config: Failed to execute child process ?no? (No such file or directory)
[root@localhost ~]# OSTREE_GRUB2_EXEC=/usr/sbin/grub-mkconfig ostree admin upgrade
2 metadata, 0 content objects fetched; 0 bytes content written
Copying /etc changes: 3 modified, 0 removed, 13 added
Transaction complete; bootconfig swap: yes; bootversion: boot.0.1, deployment count change: 1
[root@localhost ~]# ostree admin status
alt-coreos c34c68ae0bc01eb917cb7d971c2da22be3c55d0ca1804868da2ca1128d1e8fc7.2 (pending)
origin refspec: acos:acos
* alt-coreos 3c0ec89f41f184fc7c9b598147ad049288783a68eeb583a293cda4659028a816.0
origin refspec: acos:acos
[root@localhost ~]#
```
Скорректировать /boot/grub/grub.cfg: добавить новый пункт меню для новой загрузочной среды, скорректировать путь в параметре ostree (1 меняется на 0). За основу взять файлы из /boot/loader.1/entries/