... Дали мне тут задание развернуть GitLab в LXC-контейнере. Не спрашивайте зачем. Начальник сказал — Стас сделал.
Засада заключается в том, что оный супостат конфигурируется через Chef, а в его playbook-ах есть инструкции немного покрутить sysctl на предмет всяких там kernel.shmmax и иже с ними. Только вот в LXC файловая система "/sys" как бе является read-only, и от sysctl-а закономерно приходит отлуп. Из-за чего, в частности, GitLab не хочет туда вставать.
Соответственно, есть три варианта.
- Расковырять playbook и убрать оттуда все эти вызовы sysctl.
- Посмотреть какие значения каких системных параметров он хочет подкрутить, и сделать такие же на хост-машине. Тогда конфигуратор проверит, что они соответствуют желаемым и успокоится.
- Самый классный. Пропатчить бинарник sysctl чтобы он не возвращал ошибок. Этим путём вовсю идут, в частности, убунтостроители. Но патчи есть и для Debian-а.
Если пользоваться способом номер один, то смотри в файлик "/opt/gitlab/embedded/cookbooks/package/r
Почему я решил написать этот псто? Больно уж мне понравился способ №3. Нам нужно больше костылей!!!11