Вышла SQLite 3.50
Состоялся релиз легковесной СУБД SQLite 3.50. Проект написан на C, распространяется без лицензий и бесплатно.
Поддержку разработчикам оказывает отдельный консорциум.
Основные изменения:
⏺ Новая функция sqlite3_setlk_timeout() для управления блокировками.
⏺ Ослаблены ограничения на SQL-комментарии.
⏺ Добавлены SQL-функции unistr() и unistr_quote().
⏺ Улучшена работа printf(), .dump, .schema --indent.
⏺ Оптимизация JSON-функций и улучшение sqlite3_rsync.
⏺ Поддержка сборки под Cygwin, MinGW, Termux.
⏺ Исправления и улучшения производительности.
⏺ WASM/JavaScript: важное обновление VFS OPFS SAHPool — новые базы несовместимы со старыми VFS, но обратно совместимость сохранена.
Состоялся релиз легковесной СУБД SQLite 3.50. Проект написан на C, распространяется без лицензий и бесплатно.
Поддержку разработчикам оказывает отдельный консорциум.
Основные изменения:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3👻1
Любой сбой инфраструктуры = простои, потери и размытая репутация.
Но классические платформы виртуализации сегодня либо сложные, либо дорогие, либо не отвечают новым требованиям к отказоустойчивости и управляемости. Есть ли альтернатива?
Расскажем и покажем на деле:Вебинар «Точка устойчивости ИТ: почему HCI не только про “проще”, но и про “надёжнее”»
Что вы узнаете:
🔸Почему гиперконвергентная инфраструктура действительно может выигрывать у классических решений
🔸Как снизить затраты времени, ресурсов и усилий на поддержку
🔸Живое демо: веб-интерфейс vStack — управление инфраструктурой без лишней сложности
🔸Анонс новых возможностей — для тех, кто хочет быть на шаг впереди
🔸Открытый Q&A: разберём ваши кейсы, ответим на вопросы
Когда: 10.06 в 11.00
ЗАРЕГИСТРИРОВАТЬСЯ
Но классические платформы виртуализации сегодня либо сложные, либо дорогие, либо не отвечают новым требованиям к отказоустойчивости и управляемости. Есть ли альтернатива?
Расскажем и покажем на деле:Вебинар «Точка устойчивости ИТ: почему HCI не только про “проще”, но и про “надёжнее”»
Что вы узнаете:
🔸Почему гиперконвергентная инфраструктура действительно может выигрывать у классических решений
🔸Как снизить затраты времени, ресурсов и усилий на поддержку
🔸Живое демо: веб-интерфейс vStack — управление инфраструктурой без лишней сложности
🔸Анонс новых возможностей — для тех, кто хочет быть на шаг впереди
🔸Открытый Q&A: разберём ваши кейсы, ответим на вопросы
Когда: 10.06 в 11.00
ЗАРЕГИСТРИРОВАТЬСЯ
❤1
Используем iptables hashlimit + recent вместо fail2ban
Когда fail2ban уже не справляется или слишком медленный, пора перейти на уровень ниже — к iptables.
Сочетание --hashlimit и --recent даёт мощный инструмент контроля попыток подключения к SSH без необходимости читать логи и запускать демоны.
Защитить порт 22 от перебора и сканеров
Входящие подключения должны:
⏺ быть не чаще X раз в минуту с одного IP (аналог hashlimit),
⏺ блокироваться при агрессивной активности (аналог recent),
⏺ не мешать своим или автоматическим задачам (допускаем trusted IP или подсети).
1️⃣ Разрешаем trusted-подсеть без лимитов
2️⃣ Ограничение по частоте с hashlimit
Допускаем не более 3 подключений в минуту с одного IP:
Это не требует ни журналов, ни доп. сервисов — чисто на уровне netfilter.
3️⃣ Ловим и блокируем агрессивных через recent
Если IP попытался открыть соединение >5 раз за 60 секунд — баним на 5 минут:
4️⃣ Остальные соединения — по умолчанию DROP или REJECT
Тестирование
Подключитесь к серверу с другого IP и сделайте 10 попыток:
После 5–6 попыток пакет начнёт дропаться.
Когда fail2ban уже не справляется или слишком медленный, пора перейти на уровень ниже — к iptables.
Сочетание --hashlimit и --recent даёт мощный инструмент контроля попыток подключения к SSH без необходимости читать логи и запускать демоны.
Защитить порт 22 от перебора и сканеров
Входящие подключения должны:
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
Допускаем не более 3 подключений в минуту с одного IP:
iptables -A INPUT -p tcp --dport 22 \
-m state --state NEW \
-m hashlimit --hashlimit 3/min \
--hashlimit-burst 5 \
--hashlimit-mode srcip \
--hashlimit-name sshlimit \
-j ACCEPT
Это не требует ни журналов, ни доп. сервисов — чисто на уровне netfilter.
Если IP попытался открыть соединение >5 раз за 60 секунд — баним на 5 минут:
iptables -A INPUT -p tcp --dport 22 \
-m state --state NEW \
-m recent --name SSH --set
iptables -A INPUT -p tcp --dport 22 \
-m state --state NEW \
-m recent --name SSH --update \
--seconds 60 --hitcount 5 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP
Тестирование
Подключитесь к серверу с другого IP и сделайте 10 попыток:
for i in {1..10}; do nc -zv your.server.ip 22; sleep 2; done
После 5–6 попыток пакет начнёт дропаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Процессы — это независимые единицы выполнения, каждая из которых имеет собственное адресное пространство. Это означает, что процессы изолированы друг от друга, и данные одного процесса недоступны другому без использования механизмов межпроцессного взаимодействия (IPC).
Потоки, в отличие от процессов, выполняются внутри одного адресного пространства. Это позволяет потокам одного процесса совместно использовать память и ресурсы, что делает их легче и быстрее в создании по сравнению с процессами. Для создания потоков используются библиотеки, такие как POSIX Threads (pthread).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍5
Чем отличается limit nofile в systemd от ulimit -n в shell?
Anonymous Quiz
6%
nofile управляет доступом к логам systemd
30%
ulimit настраивает ядро, а limit nofile — нет
37%
limit nofile — способ зафиксировать ulimit -n для сервиса
26%
Разницы нет — это синонимы
❤6👍2
Амбициозные проекты, удалёнка и рост в сфере DevOps — звучит как работа мечты! Отправляйте резюме до 8 июня и присоединяйтесь к команде YADRO! 🧑💻
Как получить оффер за 3 дня? Подробности на карточках выше — листайте!
Оставляйте заявку — мы ждём именно вас!
Как получить оффер за 3 дня? Подробности на карточках выше — листайте!
Оставляйте заявку — мы ждём именно вас!
❤1
Тихие подвисания через zombie TCP connections: почему idle-сессии могут убивать сервис
Всё вроде работает: соединение открыто, но данных нет, новых клиентов не пускает. Вы перезапускаете сервис — и всё ок. Через день — снова. Причина может быть в зомби-TCP-соединениях.
В чём проблема
Если приложение не настраивает таймауты — такие подключения висят неделями и занимают ресурсы.
Как заметить
Ищите timer:(on, x ms, y retrans) — это таймеры ядра. Если timer:(keepalive,...) или timer:(on,...) висят слишком долго — это подозрительно.
Решение — настраиваем TCP Keepalive
Добавьте в sysctl:
Это значит: спустя 60 секунд без активности начнутся keepalive-пробы. Если за 75 секунд клиент не ответил — соединение будет закрыто.
Ещё лучше — на уровне приложения
Например, для Nginx:
Для PostgreSQL через tcp_keepalives_* в конфиге или переменных окружения.
Всё вроде работает: соединение открыто, но данных нет, новых клиентов не пускает. Вы перезапускаете сервис — и всё ок. Через день — снова. Причина может быть в зомби-TCP-соединениях.
В чём проблема
Некоторые клиенты (особенно IoT, нестабильные мобильные сети или старые прокси) теряют соединение без корректного FIN или RST. С точки зрения ядра, соединение всё ещё открыто.
Если приложение не настраивает таймауты — такие подключения висят неделями и занимают ресурсы.
Как заметить
ss -o state established '( dport = :http or dport = :ssh )'
Ищите timer:(on, x ms, y retrans) — это таймеры ядра. Если timer:(keepalive,...) или timer:(on,...) висят слишком долго — это подозрительно.
Решение — настраиваем TCP Keepalive
Добавьте в sysctl:
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
Это значит: спустя 60 секунд без активности начнутся keepalive-пробы. Если за 75 секунд клиент не ответил — соединение будет закрыто.
Ещё лучше — на уровне приложения
Например, для Nginx:
keepalive_timeout 15s;
Для PostgreSQL через tcp_keepalives_* в конфиге или переменных окружения.
👍17❤5
Любой сбой инфраструктуры = простои, потери и размытая репутация.
Но классические платформы виртуализации сегодня либо сложные, либо дорогие, либо не отвечают новым требованиям к отказоустойчивости и управляемости. Есть ли альтернатива?
Расскажем и покажем на деле:Вебинар «Точка устойчивости ИТ: почему HCI не только про “проще”, но и про “надёжнее”»
Что вы узнаете:
🔸Почему гиперконвергентная инфраструктура действительно может выигрывать у классических решений
🔸Как снизить затраты времени, ресурсов и усилий на поддержку
🔸Живое демо: веб-интерфейс vStack — управление инфраструктурой без лишней сложности
🔸Анонс новых возможностей — для тех, кто хочет быть на шаг впереди
🔸Открытый Q&A: разберём ваши кейсы, ответим на вопросы
Когда: 10.06 в 11.00
ЗАРЕГИСТРИРОВАТЬСЯ
Но классические платформы виртуализации сегодня либо сложные, либо дорогие, либо не отвечают новым требованиям к отказоустойчивости и управляемости. Есть ли альтернатива?
Расскажем и покажем на деле:Вебинар «Точка устойчивости ИТ: почему HCI не только про “проще”, но и про “надёжнее”»
Что вы узнаете:
🔸Почему гиперконвергентная инфраструктура действительно может выигрывать у классических решений
🔸Как снизить затраты времени, ресурсов и усилий на поддержку
🔸Живое демо: веб-интерфейс vStack — управление инфраструктурой без лишней сложности
🔸Анонс новых возможностей — для тех, кто хочет быть на шаг впереди
🔸Открытый Q&A: разберём ваши кейсы, ответим на вопросы
Когда: 10.06 в 11.00
ЗАРЕГИСТРИРОВАТЬСЯ
❤1🤔1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
PSI не измеряет загрузку напрямую — он измеряет «stall time» — сколько процессов одновременно не могли продолжить работу из-за нехватки ресурса. Это дает более реалистичную картину деградации системы.
Проверка PSI осуществляется через:
cat /proc/pressure/cpu
cat /proc/pressure/memory
cat /proc/pressure/io
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4
Вышла VirtualBox 7.1.10
Oracle выпустила обновление VirtualBox 7.1.10 — кроссплатформенной системы виртуализации. Пакеты доступны для Linux (включая RHEL, Fedora, Ubuntu и др.), macOS и Windows.
Что нового:
• Поддержка ядра Linux 6.15 и предварительная — 6.16
• Исправления для Oracle UEK8 и модулей на Linux
• Устранены краши VM Selector из-за отсутствующих libdl.so и libpthread.so
• На Windows устранены ошибки со звуком и VBoxManage
• Починен буфер обмена при доступе через RDP
Полный список изменений — в changelog Oracle.
Oracle выпустила обновление VirtualBox 7.1.10 — кроссплатформенной системы виртуализации. Пакеты доступны для Linux (включая RHEL, Fedora, Ubuntu и др.), macOS и Windows.
Что нового:
• Поддержка ядра Linux 6.15 и предварительная — 6.16
• Исправления для Oracle UEK8 и модулей на Linux
• Устранены краши VM Selector из-за отсутствующих libdl.so и libpthread.so
• На Windows устранены ошибки со звуком и VBoxManage
• Починен буфер обмена при доступе через RDP
Полный список изменений — в changelog Oracle.
❤9👍3
k8sGPT — ваш ИИ-ассистент для Kubernetes — CLI-утилита, которая помогает диагностировать проблемы в Kubernetes.
Полезна и при онбординге, и в проде: показывает ошибки ресурсов, объясняет, почему они возникли, и предлагает возможные шаги.
В видео:
- Как работает диагностика
- Сравнение OpenAI и cohere
- Примеры реальных кейсов
Узнайте, как внедрить утилиту в свой workflow →
#реклама
О рекламодателе
Полезна и при онбординге, и в проде: показывает ошибки ресурсов, объясняет, почему они возникли, и предлагает возможные шаги.
В видео:
- Как работает диагностика
- Сравнение OpenAI и cohere
- Примеры реальных кейсов
Узнайте, как внедрить утилиту в свой workflow →
#реклама
О рекламодателе
❤4
Перехват stdout/stderr у systemd-сервиса в рантайме: без перезапуска и strace
Иногда вам нужно отладить запущенный systemd-сервис, чтобы понять, что он пишет в stdout или stderr, но:
– сервис уже работает,
– логи в journald запаздывают или отфильтрованы,
– вы не хотите/не можете использовать strace.
Что делать?
1️⃣ Ищем дескрипторы вывода
Узнаём PID процесса:
Идём в /proc/<PID>/fd/ — смотрим, куда пишется stdout (обычно fd 1) и stderr (обычно fd 2):
Может быть что-то вроде:
2️⃣ Если это сокет — дублируем вывод
Можно аккуратно “подключиться” к этому дескриптору с помощью socat, если он всё ещё живой:
Или, если это пайп или лог-файл — можно открыть его напрямую и читать в реальном времени:
3️⃣ Переоткрытие stdout/stderr без перезапуска
Иногда вы хотите временно направить stdout/err в другой файл (например, в отладочный лог). Если приложение не закрывает дескрипторы, можно сделать:
Это дублирует вывод в debug.log. Подходит не для всех случаев, но может сработать.
Иногда вам нужно отладить запущенный systemd-сервис, чтобы понять, что он пишет в stdout или stderr, но:
– сервис уже работает,
– логи в journald запаздывают или отфильтрованы,
– вы не хотите/не можете использовать strace.
Что делать?
Узнаём PID процесса:
systemctl show -p MainPID your-service
Идём в /proc/<PID>/fd/ — смотрим, куда пишется stdout (обычно fd 1) и stderr (обычно fd 2):
ls -l /proc/<PID>/fd/1
Может быть что-то вроде:
/proc/<PID>/fd/1 -> /dev/null
или -> socket:[12345]
или -> /run/log/journal/...
Можно аккуратно “подключиться” к этому дескриптору с помощью socat, если он всё ещё живой:
socat -u ABSTRACT-CONNECT:your-socket - | cat
Или, если это пайп или лог-файл — можно открыть его напрямую и читать в реальном времени:
tail -f /run/log/your-app.log
Иногда вы хотите временно направить stdout/err в другой файл (например, в отладочный лог). Если приложение не закрывает дескрипторы, можно сделать:
exec 3>/tmp/debug.log
sudo tee /proc/<PID>/fd/1 >/dev/null <&3
Это дублирует вывод в debug.log. Подходит не для всех случаев, но может сработать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6
Что делает machinectl shell в системе с systemd-nspawn?
Anonymous Quiz
6%
Подключает к удалённой машине через SSH
10%
Запускает chroot-сессию
83%
Открывает интерактивную оболочку внутри контейнера systemd-nspawn
1%
Запускает Docker
🤷♂10❤2
IT-челлендж Слёрма — проверь свой скилл!
5 дней — 5 тем для IT-инженеров уровня Middle:
▪️ Bash / Linux / DevOps
▪️ Сети
▪️ CI/CD, Docker, Jenkins
▪️ SQL и базы данных
▪️ Информационная безопасность
🔺Короткие, но умные задания в Google Формах
🔺Удобный Telegram-бот ведёт по шагам
🔺Занимает не больше 15–20 минут в день
Подарки победителям:
Подписка на курсы Слёрма
Курс «Администрирование Linux»
Курс «Ansible: Infrastructure as Code»
🎫 30% скидка всем, кто дойдёт до конца
📅 Челлендж с 16 по 20 июня
📍 Регистрация в боте до 15 июня
5 дней — 5 тем для IT-инженеров уровня Middle:
▪️ Bash / Linux / DevOps
▪️ Сети
▪️ CI/CD, Docker, Jenkins
▪️ SQL и базы данных
▪️ Информационная безопасность
🔺Короткие, но умные задания в Google Формах
🔺Удобный Telegram-бот ведёт по шагам
🔺Занимает не больше 15–20 минут в день
Подарки победителям:
Подписка на курсы Слёрма
Курс «Администрирование Linux»
Курс «Ansible: Infrastructure as Code»
🎫 30% скидка всем, кто дойдёт до конца
📅 Челлендж с 16 по 20 июня
📍 Регистрация в боте до 15 июня
❤3👍1👎1