ostree_on_alt/upgrade_acos.md

71 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# Обновление ALT Linux в ostree
На сервере в ветке, из которой была установлена ОС в ostree [подробнее об установке](alt_on_ostree.md), создать новый коммит. Для этого внести изменения в каталог root и вызвать ostree commit без параметра --parent=none. Указать версию. Например так:
```
sudo touch root/usr/bin/privet
sudo chmod a+x root/usr/bin/privet
echo "echo Privet"|sudo tee root/usr/bin/privet
sudo ostree commit --repo=repo --tree=dir=root -b alt/x86_64/coreos/stable --no-xattrs --no-bindings --mode-ro-executables --add-metadata-string=version=sisyphus.`date +%Y%m%d`.0.1
```
Результат можно будет проверить следующими командами:
```
[keremet@host-15 ~]$ ostree log --repo=repo alt/x86_64/coreos/stable
commit ef1232b040e3f4d812c61c0e6b5faac4dfafcee4aa3efbc5399a39b555ffdcd9
Parent: 6a20a507690294aa2787257a22a3830ee7c19195136924b84ee3fb5de2c6774e
ContentChecksum: 23c3a3fdb9e98fcb05893d04f3df6e2af65e191bb890d0db174986e3df1a84e8
Date: 2021-07-22 10:09:21 +0000
(no subject)
commit 6a20a507690294aa2787257a22a3830ee7c19195136924b84ee3fb5de2c6774e
ContentChecksum: 2e61f9a95768f3124ddca76676c66582172067748030311ac742f9db9dcc8822
Date: 2021-07-22 09:57:43 +0000
(no subject)
[keremet@host-15 ~]$ ostree diff --repo=repo 6a20a507690294aa2787257a22a3830ee7c19195136924b84ee3fb5de2c6774e ef1232b040e3f4d812c61c0e6b5faac4dfafcee4aa3efbc5399a39b555ffdcd9
A /usr/bin/privet
[keremet@host-15 ~]$
```
Обновить метаданные репозитория, необходимые для его удаленного использования
```
sudo ostree summary --repo=repo --update
```
Запустить веб-сервер (порт 80)
```
sudo ostree trivial-httpd -P 80 repo
```
На клиенте надо подключить удаленный репозиторий ostree. При создании коммита можно указывать --gpg-sign и тогда будет проверка подписи
```
ostree remote add --no-gpg-verify alt http://192.168.2.126
```
Команды проверки успешности подключения:
```
ostree remote list
ostree remote show-url alt
ostree remote refs alt
```
Отображение состояния и обновление.
```
[root@localhost ~]# ostree admin status
* alt-coreos 6a20a507690294aa2787257a22a3830ee7c19195136924b84ee3fb5de2c6774e.0
origin refspec: alt:alt/x86_64/coreos/stable
[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
Transaction complete; bootconfig swap: yes; bootversion: boot.0.1, deployment count change: 1
[root@localhost ~]# ostree admin status
alt-coreos ef1232b040e3f4d812c61c0e6b5faac4dfafcee4aa3efbc5399a39b555ffdcd9.0 (pending)
origin refspec: alt:alt/x86_64/coreos/stable
* alt-coreos 6a20a507690294aa2787257a22a3830ee7c19195136924b84ee3fb5de2c6774e.0
origin refspec: alt:alt/x86_64/coreos/stable
[root@localhost ~]#
```
После перезагрузки по умолчанию в GRUB будет выбран пункт меню, соответствующий новой версии