В чем разница между Cloud-Init и Autoinstall?
Итак, я пытался установить Nixos с официального сайта с помощью Cloud-Init для Ubuntu Server 22.04. Я хочу по-настоящему понять, как устанавливать пакеты, которые мне потенциально придется компилировать, или использовать другие способы установки пакетов, например, с помощью Curl или Wget внутри файла.
На данный момент у меня естьuser-data.yaml
в котором я пытаюсь использовать Nox для установки рекомендуемым с этого сайта способом.
Вся моя конфигурация приведена ниже, а внизу находится та, которую я просто не могу установить. Весь файл выглядит так.
#cloud-config
autoinstall:
version: 1
locale: en_GB.UTF-8
refresh-installer:
update: true
keyboard:
layout: "gb"
apt:
geoip: true
identity:
hostname: ubuntu-server
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
username: ubuntu
storage:
layout:
name: lvm
match:
size: largest
packages:
- libreoffice
- sway
- i3
- kitty
snaps:
- name: firefox
timezone: geoip
manage_resolv_conf: true
resolv_conf:
nameservers:
- 1.1.1.3
- 8.8.8.8
updates: all
runcmd:
- [mkdir, -m, 0755, /nix]
- [chown, ubuntu, /nix]
- [wget, "https://nixos.org/nix/install"]
- [bash, install, --daemon]
Если вы запустите установщик через командную строку, вы получите подсказку, хотите ли вы создать каталог «/nix», следовательно, и команду для него. Я в полном смятении!
Последние 7 часов я пытался установить этот менеджер пакетов, чтобы я мог установить Wayland, который было бы намного проще установить отсюда, чем устанавливать его из исходного кода, если бы я использовал RunCmd: все время.
Насколько я понимаю, это способ запуска команд bash
До сих пор я пробовал:
- Ставим root, так что нет
\s\s
перед ключевым словом - Пробуем команды в кавычках, например
"sh -c 'curl ....'"
- Заключив его в скобки, например `[sh, -c, curl, "https://nixos.org/down.../install", |, bash]
- Другая его конфигурация указана в скобках, например `[bash, -c, 'curl "https://nixos.org/down.../install" | bash'] *Так много конфигураций!!
- Зашел на GitHub и поискал примеры использования другими людьми.
- Следуя руководству DigitalOcean по Cloud-Init с
runcmd:
Примеры - Прочтите ссылку на Cloud-init.
- Прочтите ссылку на автоустановку.
- прочитайте ссылку на Кертина
И я просто не знаю, что делать дальше...
Я использую Qemu для тестирования этих конфигураций с помощью ISO-образа сервера Jammy Ubuntu 22.04.
Как мне просто установить что-то из установочного файла, у которого есть сценарий установки из Интернета?
Спасибо :)
1 ответ
Я боролся с одним и тем же часами!
Вот что, кажется, работает (по крайней мере, для меня), так что попробуйте это;
#cloud-config
autoinstall:
version: 1
...
user-data:
runcmd:
- mkdir -m 0755 /nix
- chown ubuntu /nix
- wget "https://nixos.org/nix/install"
- bash install --daemon
Не уверен насчет кронштейнов. Моя команда работала без них, поэтому сначала попробуйте это для лучшей читаемости.
https://ubuntu.com/server/docs/install/autoinstall-reference#user-data