Добавлено описание обновления
This commit is contained in:
parent
583934db04
commit
b34dee9481
@ -4,3 +4,4 @@
|
||||
2. Подготовка корневой файловой системы [ostree](ostree_in_cosa.md)
|
||||
3. [Установка](rootfs_install.md)
|
||||
4. [Установка ALT Linux в ostree](alt_on_ostree.md)
|
||||
5. [Обновление ОС в ostree](upgrade_acos.md)
|
||||
|
75
upgrade_acos.md
Normal file
75
upgrade_acos.md
Normal file
@ -0,0 +1,75 @@
|
||||
# Обновление 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/
|
||||
|
Loading…
Reference in New Issue
Block a user