# Обновление 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 будет выбран пункт меню, соответствующий новой версии