0. проблемы вылезли с запуском виртуалки у двоих из трех членов нашей команды: в hyper-v почему-то диск виделся как fd0. работали с одной, запущеной в kvm, причем с virtio драйвером диска она так же стартовать не хотела. вход на виртуалку получить было несложно через init=/bin/sh
1. ssl
первая сложность — понять тот момент, что нужен ссл-сервер со своим сертификатом, а не тем, что приложен к заданию.
при подписывании своего сертификата могла возникнуть ошибка с тем, что не совпадают subj у ca и подписываемого сертификата, лечилось заменой string_mask в конфиге с utf8only на pkix.
так же в системе была установлена поломанная версия openssl, в связи с этим ни апач, ни нжинкс не стартовали, лечится установкой пакета из репозитория.
конфиг ссл-вхоста написать, думаю, может каждый.
2. MariaDB repair
сложностей не вызывает, поставить пакет из репозитория, добавить в skip-grant-tables режиме нужного пользователя, создать от него временную таблицу, подсунуть frm от этой таблицы в нужную.
во время проверки создается правило ната на ип 192.168…, достаточно добавить его, например, на lo интерфейс.
3. Binary
поставить mono и strace, запускать бинарник через strace и ставить нужные либы до победного.
4. Mongo
поставить mongodb и mongodb-tools, запустить монго с данными из задачи, сдампить его, после этого можно этот монго отключить (не знаю, возможно, можно было преобразовать его).
затем запустить 2 шарда в своих каталогах и на своих портах (мы использовали 10001 и 10002), запустить конфигдб и монгос, собрать кластер, сделать в нем бд, загрузить в нее дамп и создать шарденую коллекцию по ключу _id, далее достаточно дождаться отработки балансировщика.
5. Strange protocol
самая стремная задача 🙁
реально ничего особенного, работает по ПРОТОКОЛУ enet, который живет по адресу http://enet.bespin.org/, именно в этом протоколе надо было делать эхо-сервер, а не просто в udp.
6. File
файл цепляется через лупбек, это будет lvm-раздел с 2 btrfs subvolume, на втором искомый файл.
7. MariaDB tuning
достаточно создать ключи на колонки hits и size, проблема только в том, что /tmp подмонтирован в tmpfs, на которой по умолчанию места всего 256М, решается либо отмонтированием tmpfs, либо правкой переменной tmpdir.
8. HG
операция называется delete large file from history, делается через convert старого репа в новый с исключением 2.scm.gz, *.gz исключать нельзя, далее просто hg serve -d в каталоге нового репа.
9. Strange file
тут два слова: immutable file. sapienti sat.
в итоге заняли 22 место 🙁 надо было внимательнее читать дамп в strange protocol.
Добавить комментарий