ostree_on_alt/upgrade_acos.md

3.3 KiB
Raw Blame History

Обновление ALT Linux в ostree

На сервере в ветке, из которой была установлена ОС в ostree подробнее об установке, создать новый коммит. Для этого внести изменения в каталог 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 будет выбран пункт меню, соответствующий новой версии