Леннарт Поттеринг

Неделю назад кончился жёсткий диск в сервере. Вот в том, который отдал вам сейчас эту страничку. Приказал долго жить бэкапый диск, который не состоял в RAID’е. Проблема лишь в том, что на нём ещё были /boot и GRUB. Потеря загрузчика — не слишком большая беда, так как в этом деле главное не перезагружаться, пока не будет готов диск на замену. Вчера утром он был уже был мной подготовлен, и я собирался ехать в ДЦ, чтобы его поставить в сервер. Инструменты, документы, и надо было сделать live-флешку. Сервер, конечно, должен был штатно стартовать с тем диском, который для него был подготовлен, но мало ли что… Берём флешку, вставляем, делаем dd… и понимаем, что dd мы сделали на ту флешку, на которой[…]

xfce4-terminal и rm -Rf

Мы тут чуть-чуть ембедедом увлеклись и слабали изделие а-ля веб-камера. А работает оно под управлением Debian GNU/Linux. Всё бы ничего, но там нынче systemd, который точно будет насиловать флешку. К гадалке не ходи… По-этому было решено, что root живёт в памяти. Подумал я сначала об aufs, но её тут, оказывается, выпилили из upstream. Не безосновательно, отмечу: её автор всегда любил быдлокод и комментарии на родной японской мове (все японцы редкостные националисты, с их точки зрения тот, кто не умеет в японский язык, — не достоин их код разбирать). Похоже это наконец то надоело тем, кто отвечал за данный сегмент ядра. Тем более, что коммиты от создателя кончились давно, а поддерживать это надо было… Проще оказалось убрать нафиг. Глянул я на[…]

xfce4-terminal и rm -Rf

РусБИТех идёт всем нам известным путём, который протоптал ещё ВНИИНС. Описывать суть этого продвижения я не буду, — могу обидеть кого-нибудь. А мне тут понадобилось видео в H264 с нашего изделия на лету конвертировать и выводить. И я, конечно, обратился к GStreamer’у. Но эти ребятки Астру 1.4 слепили на кодовой базе аж Wheezy! А для того, чтобы работало так, как мне надо, нужен релиз из Jessie. Пришлось извращаться, накладывая патчи поверх пропатченных исходников пакетов (!!!). Как-то так, короче: aliech@arcturus:~$ ls -1R gstreamer1.0_from_jessie/ gstreamer1.0_from_jessie/: gstreamer-base gstreamer-core gstreamer-good gstreamer-libav libav gstreamer1.0_from_jessie/gstreamer-base: build_it_in_astra_1.4se.patch gir1.2-gst-plugins-base-1.0_1.4.4-2+deb8u1_amd64.deb gst-plugins-base1.0_1.4.4-2+deb8u1_amd64.changes gst-plugins-base1.0_1.4.4-2+deb8u1.debian.tar.xz gst-plugins-base1.0_1.4.4-2+deb8u1.dsc gst-plugins-base1.0_1.4.4.orig.tar.xz gstreamer1.0-alsa_1.4.4-2+deb8u1_amd64.deb gstreamer1.0-plugins-base_1.4.4-2+deb8u1_amd64.deb gstreamer1.0-plugins-base-apps_1.4.4-2+deb8u1_amd64.deb gstreamer1.0-plugins-base-dbg_1.4.4-2+deb8u1_amd64.deb gstreamer1.0-plugins-base-doc_1.4.4-2+deb8u1_all.deb gstreamer1.0-x_1.4.4-2+deb8u1_amd64.deb libgstreamer-plugins-base1.0-0_1.4.4-2+deb8u1_amd64.deb libgstreamer-plugins-base1.0-dev_1.4.4-2+deb8u1_amd64.deb gstreamer1.0_from_jessie/gstreamer-core: gir1.2-gstreamer-1.0_1.4.4-2+deb8u1_amd64.deb gstreamer1.0_1.4.4-2+deb8u1_amd64.changes gstreamer1.0_1.4.4-2+deb8u1.debian.tar.xz gstreamer1.0_1.4.4-2+deb8u1.dsc gstreamer1.0_1.4.4.orig.tar.xz gstreamer1.0-doc_1.4.4-2+deb8u1_all.deb gstreamer1.0-tools_1.4.4-2+deb8u1_amd64.deb libgstreamer1.0-0_1.4.4-2+deb8u1_amd64.deb libgstreamer1.0-0-dbg_1.4.4-2+deb8u1_amd64.deb libgstreamer1.0-dev_1.4.4-2+deb8u1_amd64.deb gstreamer1.0_from_jessie/gstreamer-good: build_it_in_astra_1.4se.patch gst-plugins-good1.0_1.4.4-2+deb8u3_amd64.changes gst-plugins-good1.0_1.4.4-2+deb8u3.debian.tar.xz gst-plugins-good1.0_1.4.4-2+deb8u3.dsc gst-plugins-good1.0_1.4.4.orig.tar.xz[…]

libvirt и qemu-kvm

Короче, я тут на днях беглым взглядом просматривал документацию на libvirt, на предмет того, как можно автоматизировать процесс извлечения ядра и initrd из файловой системы гостя. И оказалось, что libvirt несколько раз запускает файл с хуком, в строку запуска его отдавая параметры и xml’ку виртуальной машины. Для меня это стало, прямо скажем, открытием. Во времена появления libvirt’а, модой на системы виртуализации правила VMware, фактически предлагавшая десктопную виртуализацию, отмасштабированную до размеров сервера. Основной целевой аудиторией были виндоводы, которым было лень иметь под не прожорливые сервисы отдельные физические машины. Да, в первую очередь речь шла именно о ссаживании на одной железке того, что нельзя мешать в рамках одной ОС, а не об обеспечении быстрой миграции и не о прочих «киллер-фичах виртуализации». Конечно[…]

xfce4-terminal и rm -Rf

Всё, что будет происходить при сборке, с большой вероятностью, описано в файле debian/rules. В случае c Postgresql и 1С придётся заменить в COMMON_CONFIGURE_FLAGS флаг «—enable-integer-datetimes» на «—disable-integer-datetimes». Ну вообще я удивлён, конечно. Исходники для dpkg-source разделены на начальные исходники, патчи к ним, и, в конце, ещё накладывается патч для сборки в среде Debian. Вот они не осилили его поправить? Или малоинформативная приписка в readme Для использования PostgreSQL 9.6.3-3.1C с версиями 1С:Предприятия ниже 8.3.10 необходимо его собрать с установленным значением параметра integer_datetimes=off нужна, чтобы всякие левые люди не могли собрать корректно PG? Типа пользуйтесь бинарниками нашими или топайте в лес? Ну и, конечно, он не собрался. Спасибо вам, фирма 1С, что держите марку! debian/rules:213: recipe for target ‘override_dh_auto_test-arch’ failed make[1]: ***[…]

Последнее фото Шоттки

Сегодня, на пятом году жизни, нас покинул верный друг и хороший товарищ, шиншилл Вальтер Шоттки. Это случилось в 10:50 по московскому времени, когда Вальтер попытался встать. В последний раз. Он был достойным крысом, любил чай и вечерний просмотр документальных телепередач и политических шоу. Больше всего ему нравилось грызть Бредбери, Лема и Ефремова. Не все люди могут похвастаться столь хорошими литературными вкусами. Он долго болел и умер. Достойно умер. Теперь его ждёт Вальхалла, где можно безнаказанно отрывать обои и плинтуса.

Салют-7

Тут меня знатно прокатывают с совместным походом на Бегущего по Лезвию 2049. Может оно и к лучшему… Короче, пошёл я на Салют-7 в одно лицо. Ну как бы снято по реальной истории. А история там о грандиозном факапе, который приключился, когда всё в стране уже шло кое-куда уверенными темпами, где удачное разрешение всей проблемы зависело только от грамотных решений и действий руководителя программы Салют-7 и космонавтов, подобранных это всё исправить. Короче, дело происходило в 85 году. Внезапно (нет, не ВНЕЗАПНО, а просто внезапно, ибо случилось это не из-за пофигизма) станция перестала «выходить на связь». Ну потухла, как сервер, из которого нерадивые гоблины ВНЕЗАПНО (вот тут уместно всё слово капсом написать) вытащили питающее кабло, когда ты работал по ssh. Что? Почему?[…]

Урал в Севастополе

Все же знают о том, что если что-то попало в интернет, то оно оттуда никогда уже и не денется? Так вот, это очень удачная замена фотоальбомам. Например внезапно можно случайно найти посты о том, как собирал и распространял образы Debian для одного arm-лаптопа, сильно до того, как это стало мейнстримо… до того, как хипстерам дали Raspberry Pi. Сам то я тогда и вовсе на Генте сидел, а красноглазие моё не знало пределов. От слова «совсем». Иногда попадются «хаутушки» за моим авторством, например по которым можно сообразить почтарь за пять минут, ну и, что характерно, люди это повторяли, ставили себе тоже и также на боевые сервера. Некоторые на свои сайты передирали данный текст, иногда целиком, иногда частями… Тогда мне казалось это[…]

Orange Pi Plus 2E

Закалачивать гвозди микроскопом? Да! Спасать копеечные флешки от перезаписи тестировщиками внедрением в схему одноплатного компьютера? Почему бы нет?! Ну а в этом нам поможет скрипт: #!/bin/sh echo «Создаём RAM-диск» modprobe brd rd_nr=1 rd_size=1572864 max_part=0 while [ ! -b /dev/sda ]; do echo «Не найдено блочное устройство, ждём несколько секунд…» sleep 5 done echo 0 `blockdev —getsz /dev/sda` snapshot /dev/sda /dev/ram0 N 64 | dmsetup create snap modprobe g_mass_storage file=/dev/mapper/snap exit 0 Как бы это логичное продолжение поста об плате Orange Pi Plus 2E.

Orange Pi Plus 2E

Копаюсь тут с Orange Pi Plus 2E… Так вот, не знаю, читает ли мой блог наш ОТК’шник… Не знаю. Но, если вдруг Саня ты это читаешь, то просто знай, что они смогли: две заказанные одинаковые платы мало того, что скручены винтом (по-разному, кстати), содержат не повторяющиеся дефекты пайки и промывки, так ещё одна содержит в NAND’е образ u-boot от начала 2017 года, а вторая — android. Хотя обе должны быть пустыми. Такой вот контроль качества и обеспечение повторяемости изделий у Xunlong’а. U-boot из Debian testing не умеет эту плату всё ещё. Просто собрали без неё. Бывает. Пока ещё представлено ядро 4.12, там хоть и есть некоторые новшества, типа OTG и сети, но нет биндингов в devicetree. Собираю 4.13, там появились[…]