требующий срочного решения (я уже решил по-другому).
Есть пару сотен хостов на Бубунте, туда можно зайти с одной машины (пусть будет с головной машины) по ssh.
Требуется войти, запустить там код, который нексолько раз дёргает докер (и парсит json), потом дёргает некоторые контейнеры (и опять парсит json), шарится по файловой системе, пакует пару папочек в tar.gz и тащит это всё натыренное обратно на головную машину.
Главное условие: ничего не ронять, ничего не устанавливать. и не обновлять.
Идеально-красивое --- это впрыснуть туда код, который всё это нужное сделает и забираем упакованное по scp.
Даже можно поднять там одноразовый http-сервер и забрать архив вообще в другое место, не на головную машину, а там где этот архив нужен.
Эрланга, руби, питона нет, но есть перл.
Начал писать на перле, модулей для парсинга JSON и ещё некоторых интересных вещей нету, cpan -i ломается; начал писать на баше (есть полезные утилиты, типа nc), плюнул, и сделал всё десятком обращений по ssh из своего кода на головной машине (эликсир).
Захотел написать на эликсире нужный сервис, туда влить и запустить. Оказалось, что на головной машине другая версия GLIBC и beam.smp тупо падает в корку.
И вот вопрос: а можно ли без танцев с бубном скомпилить приложение на Э для другого GLIBC?
Понятно, что можно поднять такую же бубунту в qemu, настроить CI, который будет туда заливать код и получать на выходе beam для нужной архитектуры.
Но меня интересует красивое решение, а не тактическое ядерное оружие.
Стикер
>поднять такую же бубунту в qemu, В докер. Ну, или вообще в chroot (см. debootstrap).
нет. оркестраторы управляют контейнерами целиком же? требуется ничего не ронять ни в коем случае.
Решается.
Проще вытянуть с таргета libc, и с ней уже слинковаться, чем пытаться собрать бим в статик
Обсуждают сегодня