Заметки ITшника обо всём

Позднее Ctrl + ↑

Python 2.7 на Debian 12

Потребовалось старым Ansible выполнить скрипты на свежайщем Debian 12. Столкнулся с тем, что в дистрибутиве окончательно выпилили поддержку Python 2.7. Пришлось сотворить Франкенштейна:

  1. Добавляем в /etc/apt/sources.list:
deb http://archive.debian.org/debian/ stretch contrib main non-free
  1. Обновляемся
sudo apt-get update
  1. Делаем установку
sudo apt-get install python2.7
  1. Делаем симлинк на бинарь
cd /usr/bin &&  ln -s python2.7 python
  1. Удаляем добавленное в п.1 и повторно делаем пункт 2.

SED удалить комментарии из XML

Возникла задача сравнить два XML-файла конфигурации Clickhouse для выяснения, что же в ней не так. Беда конфигурации в том, что она содержит прям какое-то совершенное безумное количество закомментированных параметров, и сравнение «в лоб» превращается в муку. Почистим файлы SED-ом:

cat config.xml | sed '/<!--.*-->/d' | sed '/<!--/,/-->/d' | sed '/^[[:space:]]*$/d' > config_without_comments.xml

Apache Kafka Чтение из топиков

Простое чтение топика с нулевой позиции:

./kafka-console-consumer.sh --bootstrap-server $HOST:$PORT --topic $TOPIC_NAME --from-beginning

Для чтения с определённой позиции нужно знать максимальный оффсет:

./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list $HOST:$PORT --topic $TOPIC_NAME

Цифра, которую выдаст команда, это максимальное смещение.

./kafka-console-consumer.sh --bootstrap-server $HOST:$PORT --topic $TOPIC_NAME --offset $OFFSET_START --partition $PARTITION_NUMBER

$OFFSET_START — это максимальное смещение минус некая величина до позиции, с которой мы хотим вычитать топик.

Hairpin NAT Mikrotik

Потребовалось настроить хождение на сайты в локальной сети не через интернет, и тут неожиданно выяснилось, что инструкция на официальной Вики не очень рабочая. Беглый гуглинг привёл вот https://blog.mark99.ru/pravilnyj-nat-loopback-hairpin-nat-v-mikrotik/. Копипаст самого основного:

/ip firewall mangle
add chain=prerouting comment="NAT Loopback detect" dst-address=%EXTERNAL_IP% in-interface=LAN connection-state=new action=mark-packet new-packet-mark=nat-loopback passthrough=yes
/ip firewall nat
add chain=srcnat packet-mark=nat-loopback action=masquerade comment="NAT Loopback replace address" 
/ip firewall nat
add chain=dstnat dst-address=%EXTERNAL_IP% protocol=tcp dst-port=80,443 action=dst-nat to-addresses=%SITE_IP_INTERNAL%

gallery-dl

Минималистичная консольная утилита, которая позволяет в автоматическом режиме тягать контент с нескольких десятков сайтов. Мне потребовалось, чтоб в автоматическом режиме вытянуть контент со страницы, на которую я был подписан в Boosty.
GitHub

gallery-dl --cookies-from-browser firefox "URL"

Bombardier

Максимальная простая и удобная тулза для тестирования нагрузки веб-приложений.
GitHub
Пример:

bombardier -c 125 -n 10000000 http://localhost:8080

Mickey 17 Trailer

Паттинсон делает всё возможное, чтоб избавиться от реноме слащавого вампирчика из «Сумерек».

The Chalkeaters — Cheeki Breeki: S.T.A.L.K.E.R. 2 song

В общем-то ещё одно напоминание, что STALKER в своё время стал культурным феноменом даже за пределами бывшего социалистического чистилища.

STALKER 2 Launch Trailer

Ждали, ждали — и наконец дождались.
Помню апрель 2007 — и заветную коробочку «Теней Чернобыля» в руках. Посмотрим, получится ли GSC наступить на нерв ностальгии.

Cronos: The New Dawn

Авторы спорного The Medium и шикарного (без шуток) ремейка Silent HIll 2 выходят на связь. Выглядит — интересно.

Alan Wake 2 — Lake House Expansion Trailer

Это мы ждём.
Серьёзно, AW2 — это, наверное, одна из самых бодрых историй, которую я видел за последние несколько лет гейминга.

Arcane Season Two Trailer

И пусть даже был слив части сезона (в камрипе, конечно же) — ждём полноценного релиза.

Ранее Ctrl + ↓