Как установить Linux на несколько компьютеров одновременно?

Вы можете использовать jqдля получения объектов 'keyData', а затем передать их вwhile read:

jq -c '.responses[].keyData' file.json

{"algorithm":13,"flags":257,"protocol":3,"publicKey":"a1"}
{"algorithm":13,"flags":257,"protocol":3,"publicKey":"a4"}
{"algorithm":13,"flags":257,"protocol":3,"publicKey":"fa4"}

И оттуда:

jq -c '.responses[].keyData' file.json | 
while read keydata; do curl --data "'$keydata'" http://example.com/service ; done

Если ввести исходную команду curl, весь конвейер будет выглядеть так:

curl -v -X POST --data '{ "authToken": ".......", "clientTransactionId": "",}' https:/domain.tld/api/v1/json/keysList | 
jq -c '.responses[].keyData' file.json | 
while read keydata; do curl --data "'$keydata'" http://example.com/service ; done

Не забудьте изменить вторую команду curlс фактическим URL-адресом, параметрами и т. д. перед выполнением. Если необходимо, вы можете добавить оператор echo/ printfперед командой curl, чтобы увидеть, как будет выглядеть ваш запрос.

9
01.07.2020, 12:11
5 ответов

Вероятно, вы ищете PXE:

https://wiki.archlinux.org/index.php/Preboot_Execution_Environment

http://jensd.be/533/linux/create-a-pxe-bootserver-to-server-multiple-linux-distributions

https://www.howtoforge.com/ubuntu_pxe_install_server


Если ваша локальная сеть слишком медленная, вы можете использовать

Кикстарт для Fedora/CentOS/RHEL:https://docs.fedoraproject.org/en-US/fedora/rawhide/install-guide/advanced/Kickstart_Installations/

Полностью автоматическая установка:https://fai-project.org/

18
18.03.2021, 23:23

Вы можете использовать
Кикстарт RedHat,
FAI -Полностью автоматическая установка
Выход в открытый космос (на основе данных спутника RedHat)

и другие доступные решения.

3
18.03.2021, 23:23

Репликация ISO 1 ->2 ->4 ->8, поэтому при параллельном выполнении требуется 3 времени копирования и 4 времени установки.

1
18.03.2021, 23:23

Я бы выбрал nc и минимальный img.gz, затем запустил сценарий для расширения раздела/fs и перегенерировал ключи, имя хоста.

https://serverfault.com/a/315564/254756

0
18.03.2021, 23:23

Вы можете распространять установку Linux по сети через многоадресную рассылку, используяudpcast:

  1. Подготовьте установку Linux на одном «исходном» ПК.
  2. Загрузите работающую версию Linux на всех ПК любым удобным для вас способом.
  3. Вызовите udp-sender /dev/sdaна исходном ПК.
  4. Вызовите udp-receiver /dev/sdaна всех целевых компьютерах.
  5. Инициировать передачу на исходном ПК.
  6. Иди, выпей чаю.

После завершения переноса на всех компьютерах установлена ​​пригодная для использования установка Linux.

В частности, существует несколько подходов к этому.

Больше всего раздражает наличие работающего Linux на всех ПК. Многие рекомендуютhttps://fogproject.org/для PXE, но для этого нужен выделенный сервер, которого у меня просто не было под рукой. В конце концов я прибегнул к кастомному Tiny Core Linux, распространяемому через PXE. Для вашего первого родео вы также можете загрузить живой Linux с USB-накопителя. Все, что вам нужно, это то, что поставляется с udp-senderиudp-receiver(в Ubuntu, это находится в пакете udpcast).

Сам процесс распространения можно значительно ускорить, если клонировать не весь жесткий -диск, а отдельные разделы и быстрое сжатие, подобное gz -2. Если у вас есть сервер, вы также можете сохранить образ целевой файловой -системы с помощью специального инструмента для клонирования файловой -системы, такого как e2image -ra. Тогда команды будут примерно такими:

udp-sender image.ext4.gz
udp-receiver | gzip -d > /dev/sda1

С помощью этого метода я клонировал Ubuntu (и Windows )в пару комнат, заполненных компьютерами в школе. Скорость впечатляет.

14
18.03.2021, 23:23

Теги

Похожие вопросы