Проблема с созданием собственных слоев
Добрый день. Не могу разобраться с созданием своих слоев.
Если я правильно понял, то пакеты для нового слоя нужно кидать в каталог rw.
В каком формате нужно туда кидать пакеты .deb и .tar.xz. Распаковывает ли скрипт сам эти пакеты или нужно заранее их распаковать и закинуть?
Я пробовал и так и так. В первом случае в слой идет только сам пакет, не распакованный. Если я распаковывал, то слой создается из тех файлов, которые лежат в распакованном каталоге,при установке такого слоя на хост он устанавливается, На хосте сам слой отображается, но отображается в таком же распакованном виде,как и был, т.е. в саму систему хоста он не устанавливается.
Далее в том же режиме chroot я пробовал устанавливать пакеты, но при установке любого пакета вылетает огромный список не установленных зависимостей и пакет не устанавливается.
Пробовал установить что-нибудь из репозитория посредством apt install, но в репозиториях по умолчанию нет ничего необходимого. Добавлял дебиановские репозитории, но при запуске apt update, система выдает ошибку:
Ошб:1 http://deb.applite.ru/atlant alcyone InRelease
Временная ошибка при разрешении «deb.applite.ru»
И такая ошибка для всех репозиториев.
Базовый слой для сборки необходимо скачать из репозитория https://repo.applite.ru/layers/stack/
Сначала необходимо запустить виртуальное окружение сборки "buidlayer", а потом из другого (соседнего) терминала добавить .deb пакеты в каталог /au/rw
Разработчики прокомментировали, что днс надо устанавливать при каждом запуске buildlayer в текущей версии.
Можно поменять на свой или общий 1.1.1.1 или 8.8.8.8
6|11:10|root@test-1-3-3:/ # echo "nameserver 1.1.1.1" > /etc/resolv.conf
7|11:11|root@test-1-3-3:/ # cat /etc/resolv.conf
nameserver 1.1.1.1
По завершении установки и выхода из режима chroot (команда exit), утилита спросит: "Вы хотите указать имя файла слоя для упаковки результата?" Для автоматической сборки слоя с ПО отвечаем y и указываем имя файла. Утилита создаст новый слой, который будет находиться в директории /au/ready/ (или в /Layer/rw/au/ready/) Теперь слой готов для загрузки его в системе управления, а потом уже распространения на другие хосты.
https://docs.applite.ru/pages/viewpage.action?pageId=16285702
пример скрипта внутри buildlayer для создания слоя с anydesk:
sudo apt update
sudo apt install anydesk -y
sudo apt install -f
exit