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