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

Позднее Ctrl + ↑
 12   1 год   Oracle   SQL

Chain из цепочки сертификатов

cat domain.crt intermediate.crt root.crt > chain.crt
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

ZFS на Oracle Linux 8.10

При установке ZFS на Oracle Linux 8.10 по официальной доке столкнулся с неочевидной ошибкой:

checking for kernel config option compatibility... done
checking whether CONFIG_MODULES is defined... no
configure: error:
*** This kernel does not include the required loadable module
*** support!
***
*** To build OpenZFS as a loadable Linux kernel module
*** enable loadable module support by setting
*** `CONFIG_MODULES=y` in the kernel configuration and run
*** `make modules_prepare` in the Linux source tree.
***
*** If you don’t intend to enable loadable kernel module
*** support, please compile OpenZFS as a Linux kernel built-in.
***
*** Prepare the Linux source tree by running `make prepare`,
*** use the OpenZFS `—enable-linux-builtin` configure option,
*** copy the OpenZFS sources into the Linux source tree using
*** `./copy-builtin `,
*** set `CONFIG_ZFS=y` in the kernel configuration and compile
*** kernel as usual.

Объяснение и решение проблемы нашёл тут

The root of the problem is with the GCC toolset used to build UEK7 kernel, which is different from the one used to build Redhat compatible version. RH kernel is built (using the default) GCC.

Решение:

dnf install -y gcc-toolset-11-annobin-plugin-gcc
. /opt/rh/gcc-toolset-11/enable
dkms install zfs/$VERSION

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
 19   2025   trailer   Witcher 4   игры

Mickey 17 Trailer

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

 17   2025   Mickey17   trailer   кино

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

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

 16   2024   Chalkeaters   games   youtube   музыка

STALKER 2 Launch Trailer

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

 15   2024   stalker 2   youtube
Ранее Ctrl + ↓