Как сделать свой LXС образ (image)? .

Не так давно пользователи Debian (по крайней мере bullseye) заметили, что у них пропали удаленные (remote) образы:

hh ~ # lxc image list images:
+-------+-------------+--------+-------------+--------------+------+------+-------------+
| ALIAS | FINGERPRINT | PUBLIC | DESCRIPTION | ARCHITECTURE | TYPE | SIZE | UPLOAD DATE |
+-------+-------------+--------+-------------+--------------+------+------+-------------+

Вот такой вот недлинный список доступных образов…

Это случилось потому что linuxcontainers перестали предоставлять образы:

https://discuss.linuxcontainers.org/t/important-notice-for-lxd-users-image-server/18479

Рекомендуется перейти на Incus.

В моем случае, варианты с апгрейдами мне не подходили, сервер очень важный и любой риск даунтайма был неприемлимым. Но запустить новую виртуалку было важно.

Поэтому, по быстрому собираем ее через debootstrap (олды помнят!):

apt install debootstrap
mkdir /tmp/bookworm
# устанавливаем все файлы в этот каталог
debootstrap bookworm /tmp/bookworm/
tar -cvzf /tmp/rootfs.tar.gz -C /tmp/bookworm/ .

Далее создаем metadata.yaml примерно с таким содержанием. Чтобы получить unixtime для creation_date запустите date +%s.

architecture: "x86_64"
creation_date: 1711614619 
properties:
architecture: "x86_64"
description: "Debian Bookworm minimal (28/03/2024)"
os: "debian"
release: "bookworm"

Затем:

tar -cvzf metadata.tar.gz metadata.yaml
lxc image import metadata.tar.gz /tmp/rootfs.tar.gz --alias mybookworm

Готово! образ теперь видно через lxc image ls. Можно создать виртуалку командой: lxc launch mybookworm NAME

comments powered by Disqus