SSH Jump Host: один вход - доступ ко всей сети
Когда в инфраструктуре десятки серверов, но наружу хочется показать только один, на помощь приходит Jump Host (он же bastion).
Такой подход решает сразу несколько задач:
1️⃣ Сокращает поверхность атаки — из интернета доступен только один хост.
2️⃣ Упрощает доступ — не нужно помнить десятки IP-адресов и логинов.
3️⃣ Позволяет централизовать контроль — на бастионе можно вести логи всех подключений.
Подключение настраивается через ~/.ssh/config с помощью ProxyJump:
Теперь ssh internal-01 автоматически пойдёт через bastion без лишних команд.
Для повышения безопасности часто добавляют двухфакторную аутентификацию на самом bastion, настраивают fail2ban для защиты от переборов паролей, а также используют auditd или session-logging, чтобы видеть действия пользователей и вести аудит.
В итоге имеем одну точку входа, строгий контроль и удобство администрирования без лишних дыр в сети.
Когда в инфраструктуре десятки серверов, но наружу хочется показать только один, на помощь приходит Jump Host (он же bastion).
Это промежуточный сервер, через который безопасно заходят внутрь сети.
Такой подход решает сразу несколько задач:
Подключение настраивается через ~/.ssh/config с помощью ProxyJump:
Host bastion
HostName 203.0.113.10
User admin
Host internal-*
ProxyJump bastion
User root
Теперь ssh internal-01 автоматически пойдёт через bastion без лишних команд.
Для повышения безопасности часто добавляют двухфакторную аутентификацию на самом bastion, настраивают fail2ban для защиты от переборов паролей, а также используют auditd или session-logging, чтобы видеть действия пользователей и вести аудит.
В итоге имеем одну точку входа, строгий контроль и удобство администрирования без лишних дыр в сети.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🤨2
Разработчик запустил код на сервере, меняя только комментарии в Python-скрипте
На CTF UIUCTF 2025 участник сумел выполнить свой код на сервере, имея возможность изменять лишь содержимое комментариев в Python-скрипте.
Старые версии CPython допускали уязвимость с нулевым байтом (\0) в комментариях, но на соревновании использовали уже исправленную версию.
⏺ Решение — воспользоваться тем, что Python может запускать ZIP-архивы с файлом main.py, даже если файл имеет расширение .py.
Участник встроил такой архив внутрь комментария, обойдя ограничения.
На CTF UIUCTF 2025 участник сумел выполнить свой код на сервере, имея возможность изменять лишь содержимое комментариев в Python-скрипте.
Скрипт создавался с учётом запрета на символы новой строки, а цель — получить содержимое файла с флагом.
Старые версии CPython допускали уязвимость с нулевым байтом (\0) в комментариях, но на соревновании использовали уже исправленную версию.
Участник встроил такой архив внутрь комментария, обойдя ограничения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3
isc-dhcp-server с динамическим обновлением DNS
Обычно DHCP раздаёт IP, а DNS приходится прописывать вручную.
Для этого нужен isc-dhcp-server с поддержкой DDNS (Dynamic DNS) и настроенный Bind. В связке они обновляют записи A и PTR без участия админа.
Пример из dhcpd.conf:
А в keys.conf хранится TSIG-ключ, которым DHCP будет подписывать запросы к Bind.
После этого любой клиент, получая IP, тут же появляется в DNS.
Удобно для тестовых сетей, лабораторий и даже в проде, если нужно быстро находить машины по имени.
Обычно DHCP раздаёт IP, а DNS приходится прописывать вручную.
Но можно сделать так, чтобы при выдаче адреса клиенту он автоматически регистрировался в зоне Bind.
Для этого нужен isc-dhcp-server с поддержкой DDNS (Dynamic DNS) и настроенный Bind. В связке они обновляют записи A и PTR без участия админа.
Пример из dhcpd.conf:
ddns-update-style interim;
ddns-domainname "lab.local";
ddns-rev-domainname "in-addr.arpa.";
zone lab.local. {
primary 127.0.0.1;
key dhcpupdate;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key dhcpupdate;
}
include "/etc/bind/keys.conf";
А в keys.conf хранится TSIG-ключ, которым DHCP будет подписывать запросы к Bind.
После этого любой клиент, получая IP, тут же появляется в DNS.
Удобно для тестовых сетей, лабораторий и даже в проде, если нужно быстро находить машины по имени.
❤7👍7
Какой параметр команды tcpdump нужен, чтобы показать полный пакет без усечения?
Anonymous Quiz
26%
-s 0
40%
-v
20%
-X
14%
-w
🤨9❤4
Проверка скорости дисков без fio и dd
Многие тестируют диски через fio или dd, но в продакшне эти утилиты не всегда доступны (или их просто нельзя ставить).
Хорошая новость — скорость и поведение диска можно оценить встроенными инструментами Linux.
iostat (часть пакета sysstat) показывает нагрузку на диски в реальном времени:
Здесь видно количество операций чтения/записи, среднюю задержку (await) и процент занятости диска (%util).
dstat даёт обзор: CPU, память, диски, сеть — всё в одной таблице:
perf позволяет копнуть глубже и оценить, как работают системные вызовы I/O:
Так можно понять, сколько реально времени уходит на обработку операций, не нагружая систему тестами “в лоб”.
Многие тестируют диски через fio или dd, но в продакшне эти утилиты не всегда доступны (или их просто нельзя ставить).
Хорошая новость — скорость и поведение диска можно оценить встроенными инструментами Linux.
iostat (часть пакета sysstat) показывает нагрузку на диски в реальном времени:
iostat -dx 1
Здесь видно количество операций чтения/записи, среднюю задержку (await) и процент занятости диска (%util).
dstat даёт обзор: CPU, память, диски, сеть — всё в одной таблице:
dstat -cdmn --disk-util
perf позволяет копнуть глубже и оценить, как работают системные вызовы I/O:
perf stat -e block:block_rq_issue,block:block_rq_complete dd if=/dev/zero of=testfile bs=1M count=100
Так можно понять, сколько реально времени уходит на обработку операций, не нагружая систему тестами “в лоб”.
❤8🔥2
Ловим утечки памяти в системных демонах без остановки сервиса
Иногда перезапуск сервиса — роскошь, особенно на продакшене.
Если подозреваешь утечку памяти у системного демона, можно провести диагностику без даунтайма.
1️⃣ Быстрый снимок памяти процесса
Покажет, сколько всего памяти занято, и как распределены сегменты. Запусти несколько раз с интервалом — смотри на рост.
2️⃣ Детализация по типам памяти
Удобно видеть RSS/PSS/USS и их изменения, чтобы понять, реальная ли это утечка, а не кеш ОС.
3️⃣ Глубокий анализ на лету
С помощью SystemTap можно отследить, какие функции выделяют память, и сопоставить с ростом потребления.
Так что фиксируй метрики в лог и смотри тренд. Если рост стабилен, а GC/освобождение не происходит — это утечка.
Иногда перезапуск сервиса — роскошь, особенно на продакшене.
Если подозреваешь утечку памяти у системного демона, можно провести диагностику без даунтайма.
pmap -x <PID> | grep total
Покажет, сколько всего памяти занято, и как распределены сегменты. Запусти несколько раз с интервалом — смотри на рост.
smem -p -P <PID>
Удобно видеть RSS/PSS/USS и их изменения, чтобы понять, реальная ли это утечка, а не кеш ОС.
sudo stap -e 'probe process("имя_процесса").function("*alloc*") { println(probefunc()) }'
С помощью SystemTap можно отследить, какие функции выделяют память, и сопоставить с ростом потребления.
Так что фиксируй метрики в лог и смотри тренд. Если рост стабилен, а GC/освобождение не происходит — это утечка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
Вышел Debian 13 «Trixie»
9 августа 2025 вышла новая версия Debian 13 на базе ядра Linux 6.12 LTS с обновлёнными рабочими столами GNOME 48, KDE Plasma 6.3 и Python 3.13.
Дистрибутив поддерживает множество архитектур, включая AMD64, ARM64 и RISC-V. Обновления будут выходить до 2030 года.
Основные изменения:
⏺ Добавлен официальный порт для 64-битного RISC-V.
⏺ Удалены устаревшие архитектуры mipsel и mips64el.
⏺ Решена проблема 2038 года с временем.
⏺ /tmp теперь по умолчанию на tmpfs для снижения износа накопителей.
⏺ Обновлён инсталлятор с поддержкой удалённой загрузки HTTP Boot.
⏺ Включены современные методы защиты ядра (Intel CET, ARM PAC).
⏺ Обновлён пакетный менеджер APT с улучшенным интерфейсом и поддержкой снапшотов.
⏺ Обновлены ключевые приложения: LibreOffice, GIMP, PostgreSQL, nginx, Docker.
9 августа 2025 вышла новая версия Debian 13 на базе ядра Linux 6.12 LTS с обновлёнными рабочими столами GNOME 48, KDE Plasma 6.3 и Python 3.13.
Дистрибутив поддерживает множество архитектур, включая AMD64, ARM64 и RISC-V. Обновления будут выходить до 2030 года.
Основные изменения:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤3
Минимальный набор метрик, которые надо снимать с любого сервера
В любой инфраструктуре важно иметь базовый мониторинг ключевых показателей, чтобы вовремя заметить проблемы и не довести до простоя.
Вот минимальный список метрик, которые должны быть всегда под контролем:
1️⃣ CPU Load — нагрузка на процессор показывает, насколько сервер загружен и не «тормозит» ли из-за перегрузки.
2️⃣ I/O Wait — время ожидания ввода-вывода сигнализирует о проблемах с дисками или сетью.
3️⃣ Swap Usage — использование swap говорит о нехватке оперативной памяти, что сильно снижает производительность.
4️⃣ Network Errors — ошибки на сетевых интерфейсах (потеря пакетов, сбои) влияют на доступность и скорость.
Как быстро настроить сбор этих метрик через node_exporter
node_exporter — это простой агент от Prometheus, который собирает данные о системе и отдаёт их по HTTP.
⏺ Устанавливаем node_exporter:
⏺ Запускаем и включаем сервис:
⏺ По умолчанию метрики доступны на порту 9100 (https://<server_ip>:9100/metrics).
⏺ В Prometheus добавьте этот хост в targets для сбора метрик.
В любой инфраструктуре важно иметь базовый мониторинг ключевых показателей, чтобы вовремя заметить проблемы и не довести до простоя.
Вот минимальный список метрик, которые должны быть всегда под контролем:
Как быстро настроить сбор этих метрик через node_exporter
node_exporter — это простой агент от Prometheus, который собирает данные о системе и отдаёт их по HTTP.
sudo apt update
sudo apt install prometheus-node-exporter
sudo systemctl enable --now prometheus-node-exporter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Linux управляет Dirty Pages через параметры vm.dirty_ratio и vm.dirty_background_ratio, регулирующие, сколько памяти можно использовать под такие страницы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
Трюки с SSH для продуктивности
SSH — это не только удалённый терминал, но и мощный инструмент для повышения эффективности работы.
1️⃣ Мультиплексирование соединений (ControlMaster): Обычно при каждом новом SSH-подключении создаётся отдельное соединение — это тормозит и требует ресурсов.
ControlMaster позволяет использовать одно главное соединение для нескольких сессий, ускоряя подключение.
Как настроить:
Добавьте в ~/.ssh/config:
Теперь новые подключения к одному серверу будут использовать уже открытое соединение, а не создавать новое.
2️⃣ Проброс портов (Port Forwarding): SSH умеет «прокидывать» порты, что полезно для безопасного доступа к внутренним сервисам:
• Локальный проброс: доступ к удалённому порту через локальный
Теперь на вашей машине localhost:8080 будет перенаправлен на server:80.
• Удалённый проброс: наоборот, проброс с сервера на клиент
• Динамический проброс (SOCKS Proxy):
Создаёт SOCKS5-прокси на локальном порту 1080, который можно использовать в браузере.
3️⃣ ProxyJump (перескакивание через bastion): Если сервер доступен только через промежуточный bastion, удобно использовать ProxyJump вместо ручных туннелей:
В ~/.ssh/config:
Теперь достаточно одной команды ssh internal-server, и соединение пройдёт через bastion автоматически.
SSH — это не только удалённый терминал, но и мощный инструмент для повышения эффективности работы.
Рассмотрим три полезных фишки: мультиплексирование, проброс портов и ProxyJump.
ControlMaster позволяет использовать одно главное соединение для нескольких сессий, ускоряя подключение.
Как настроить:
Добавьте в ~/.ssh/config:
Host *
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
Теперь новые подключения к одному серверу будут использовать уже открытое соединение, а не создавать новое.
• Локальный проброс: доступ к удалённому порту через локальный
ssh -L 8080:localhost:80 user@server
Теперь на вашей машине localhost:8080 будет перенаправлен на server:80.
• Удалённый проброс: наоборот, проброс с сервера на клиент
ssh -R 9090:localhost:3000 user@server
• Динамический проброс (SOCKS Proxy):
ssh -D 1080 user@server
Создаёт SOCKS5-прокси на локальном порту 1080, который можно использовать в браузере.
В ~/.ssh/config:
Host internal-server
HostName internal.example.com
User user
ProxyJump [email protected]
Теперь достаточно одной команды ssh internal-server, и соединение пройдёт через bastion автоматически.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6❤3🤩1
Какой гипервизор является «bare-metal» (тип 1)?
Anonymous Quiz
8%
VirtualBox
52%
VMware ESXi
6%
Docker
35%
KVM
🤔13👍3❤2🔥2
Минимизация простоя при обновлении ядра: kexec и live-patching
Обновление ядра Linux обычно требует перезагрузки, что приводит к простою сервисов.
Kexec — позволяет загрузить новое ядро поверх текущей системы, минуя BIOS и загрузчик. Это значительно ускоряет процесс перезагрузки.
Для использования:
⏺ Установите kexec-tools.
⏺ Подготовьте загрузку нового ядра командой kexec -l /boot/vmlinuz-....
⏺ Запустите перезагрузку через systemctl kexec или kexec -e.
Таким образом, перезагрузка проходит быстрее, минимизируя простой.
Live-patching — обновление ядра без перезагрузки. Патчи применяются к работающему ядру, что позволяет не останавливать сервисы.
Популярные решения:
• kpatch (Red Hat)
• kgraft (SUSE)
• Canonical Livepatch (Ubuntu)
Live-patching обычно используется для критических обновлений безопасности и требует поддержки со стороны ядра и дистрибутива.
Преимущества live-patching — полное отсутствие простоев, однако настройка сложнее и может требовать лицензий.
Обновление ядра Linux обычно требует перезагрузки, что приводит к простою сервисов.
Чтобы сократить это время, применяют два основных инструмента — kexec и live-patching.
Kexec — позволяет загрузить новое ядро поверх текущей системы, минуя BIOS и загрузчик. Это значительно ускоряет процесс перезагрузки.
Для использования:
Таким образом, перезагрузка проходит быстрее, минимизируя простой.
Live-patching — обновление ядра без перезагрузки. Патчи применяются к работающему ядру, что позволяет не останавливать сервисы.
Популярные решения:
• kpatch (Red Hat)
• kgraft (SUSE)
• Canonical Livepatch (Ubuntu)
Live-patching обычно используется для критических обновлений безопасности и требует поддержки со стороны ядра и дистрибутива.
Преимущества live-patching — полное отсутствие простоев, однако настройка сложнее и может требовать лицензий.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Мониторинг состояния RAID-массивов: smartctl и mdadm
RAID-массивы — важная часть инфраструктуры для обеспечения отказоустойчивости и производительности.
Почему мониторинг важен?
Диски могут выходить из строя постепенно — появляются сбои, сбои в SMART, ошибки чтения или записи.
RAID-контроллер или программный RAID (mdadm) часто могут продолжать работать, даже если один из дисков уже на грани. Без мониторинга это легко пропустить.
Инструменты для мониторинга
• smartctl — часть пакета smartmontools, позволяет считывать SMART-статистику и тестировать жесткие диски.
• mdadm — утилита для управления и мониторинга программных RAID-массивов Linux.
Как использовать smartctl
Проверка статуса диска:
Основные параметры для мониторинга:
⏺ Reallocated_Sector_Ct — количество переназначенных секторов (должно быть 0)
⏺ Current_Pending_Sector — количество секторов, ожидающих переназначения
⏺ Offline_Uncorrectable — ошибки, которые не удалось исправить
Для запуска краткого теста:
Мониторинг RAID с mdadm
Проверка статуса массива:
Здесь важно следить за статусом — “clean”, “degraded” или “resync”.
Автоматизация и уведомления
Настройка smartd — демон, который периодически опрашивает диски и отправляет письма при проблемах. Конфиг находится в /etc/smartd.conf.
Пример строки для диска:
mdadm мониторинг — можно настроить отправку писем при изменении статуса массива.
Добавьте в /etc/mdadm/mdadm.conf:
Запустите демон:
RAID-массивы — важная часть инфраструктуры для обеспечения отказоустойчивости и производительности.
Но сами по себе они не вечны, и своевременное обнаружение проблем с дисками или самим массивом помогает избежать потери данных и простоев.
Почему мониторинг важен?
Диски могут выходить из строя постепенно — появляются сбои, сбои в SMART, ошибки чтения или записи.
RAID-контроллер или программный RAID (mdadm) часто могут продолжать работать, даже если один из дисков уже на грани. Без мониторинга это легко пропустить.
Инструменты для мониторинга
• smartctl — часть пакета smartmontools, позволяет считывать SMART-статистику и тестировать жесткие диски.
• mdadm — утилита для управления и мониторинга программных RAID-массивов Linux.
Как использовать smartctl
Проверка статуса диска:
sudo smartctl -a /dev/sdX
Основные параметры для мониторинга:
Для запуска краткого теста:
sudo smartctl -t short /dev/sdX
Мониторинг RAID с mdadm
Проверка статуса массива:
sudo mdadm --detail /dev/md0
Здесь важно следить за статусом — “clean”, “degraded” или “resync”.
Автоматизация и уведомления
Настройка smartd — демон, который периодически опрашивает диски и отправляет письма при проблемах. Конфиг находится в /etc/smartd.conf.
Пример строки для диска:
/dev/sdX -a -o on -S on -s (S/../.././02|L/../../6/03) -m [email protected]
mdadm мониторинг — можно настроить отправку писем при изменении статуса массива.
Добавьте в /etc/mdadm/mdadm.conf:
MAILADDR [email protected]
Запустите демон:
sudo systemctl enable mdmonitor
sudo systemctl start mdmonitor
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥2
Что такое LSP в MPLS?
Anonymous Quiz
16%
Logical Service Path
18%
Label Switched Path
51%
Layer Switching Protocol
14%
Link State Packet
👍4❤3
Минимизация простоя при обновлении ядра
Обычное обновление ядра требует перезагрузки. Для продакшена это боль: сервисы простаивают, клиенты недовольны.
Но есть два подхода, которые позволяют сократить или даже убрать downtime.
Kexec
kexec загружает новое ядро напрямую, без BIOS и долгой инициализации.
Плюсы:
• простои сокращаются до секунд;
• быстро и довольно надёжно.
Минусы:
• всё равно перезагрузка (хоть и быстрая);
• иногда бывают проблемы с экзотическим железом.
Live patching
Фиксы накатываются прямо на работающем ядре. Сервисы не останавливаются вообще.
Популярные решения:
• kpatch (RHEL/Fedora)
• kgraft (SUSE)
• livepatch (Ubuntu)
Пример для Ubuntu:
Как выбирать?
⏺ Нужно быстрое обновление с минимальным downtime → kexec.
⏺ Нужно работать без остановки сервисов → live-patching.
⏺ Оптимально: комбинировать (livepatch для критики, kexec/перезагрузка — для плановых апдейтов).
Обычное обновление ядра требует перезагрузки. Для продакшена это боль: сервисы простаивают, клиенты недовольны.
Но есть два подхода, которые позволяют сократить или даже убрать downtime.
Kexec
kexec загружает новое ядро напрямую, без BIOS и долгой инициализации.
sudo kexec -l /boot/vmlinuz-<new> \
--initrd=/boot/initrd.img-<new> \
--reuse-cmdline
sudo systemctl kexec
Плюсы:
• простои сокращаются до секунд;
• быстро и довольно надёжно.
Минусы:
• всё равно перезагрузка (хоть и быстрая);
• иногда бывают проблемы с экзотическим железом.
Live patching
Фиксы накатываются прямо на работающем ядре. Сервисы не останавливаются вообще.
Популярные решения:
• kpatch (RHEL/Fedora)
• kgraft (SUSE)
• livepatch (Ubuntu)
Пример для Ubuntu:
sudo snap install canonical-livepatch
sudo canonical-livepatch enable <токен>
Как выбирать?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4
Kaisen Linux закрыт: что теряют сисадмины и альтернативы
Проект Kaisen Linux, созданный в 2019 году для системных администраторов и ИТ-специалистов, завершил своё существование с релизом версии 3.0.
Особенности Kaisen Linux:
⏺ Основан на Debian, готов к работе «из коробки» для администрирования и восстановления систем.
⏺ Включал инструменты для диагностики, управления RAID, сетевого анализа и аварийного восстановления.
⏺ Предлагал разные сборки: с графикой и портативную флешку с загрузкой в RAM.
Закрытие Kaisen — ещё один удар по нишевым дистрибутивам для профессионалов.
Проекты с одним разработчиком уязвимы, даже если популярны среди админов.
Альтернативы для сисадминов:
• SystemRescue — для восстановления систем и данных, без графики.
• Kali Linux — включает сетевые утилиты, требует ручной настройки для администрирования.
• Debian с кастомизацией — собрать систему под себя, используя пакеты Debian.
• Clonezilla Live — для аварийного восстановления и клонирования дисков.
Проект Kaisen Linux, созданный в 2019 году для системных администраторов и ИТ-специалистов, завершил своё существование с релизом версии 3.0.
Разработчик Кевин Шеврей больше не может поддерживать проект. Патчи безопасности будут выходить ещё два года, до августа 2027 года, давая время на переход.
Особенности Kaisen Linux:
Закрытие Kaisen — ещё один удар по нишевым дистрибутивам для профессионалов.
Проекты с одним разработчиком уязвимы, даже если популярны среди админов.
Альтернативы для сисадминов:
• SystemRescue — для восстановления систем и данных, без графики.
• Kali Linux — включает сетевые утилиты, требует ручной настройки для администрирования.
• Debian с кастомизацией — собрать систему под себя, используя пакеты Debian.
• Clonezilla Live — для аварийного восстановления и клонирования дисков.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
Работа с core dump’ами: coredumpctl и gdb
Он позволяет понять, почему именно упал сервис: segmentation fault, ошибка в библиотеке или проблема с самим кодом.
Для сисадмина это инструмент, который экономит часы: вместо «сервис падает раз в неделю, непонятно почему» можно за 10 минут локализовать баг или хотя бы передать разработчикам понятный отчет.
Как включить core dump’ы в Linux
По умолчанию многие дистрибутивы их отключают (ради безопасности и экономии места).
Проверяем лимиты:
Если вывод 0 — значит, core dump’ы не пишутся. Включить можно так:
Чтобы это сохранилось для сервисов, лучше настраивать через systemd-coredump, который перехватывает и сохраняет дампы в /var/lib/systemd/coredump/.
Сбор core dump через systemd
Падение процесса → systemd сохраняет дамп. Дальше смотрим список:
Анализ конкретного дампа:
Если нужен сам файл:
Core dump — это снимок памяти процесса в момент его краша.
Он позволяет понять, почему именно упал сервис: segmentation fault, ошибка в библиотеке или проблема с самим кодом.
Для сисадмина это инструмент, который экономит часы: вместо «сервис падает раз в неделю, непонятно почему» можно за 10 минут локализовать баг или хотя бы передать разработчикам понятный отчет.
Как включить core dump’ы в Linux
По умолчанию многие дистрибутивы их отключают (ради безопасности и экономии места).
Проверяем лимиты:
ulimit -c
Если вывод 0 — значит, core dump’ы не пишутся. Включить можно так:
ulimit -c unlimited
Чтобы это сохранилось для сервисов, лучше настраивать через systemd-coredump, который перехватывает и сохраняет дампы в /var/lib/systemd/coredump/.
Сбор core dump через systemd
Падение процесса → systemd сохраняет дамп. Дальше смотрим список:
coredumpctl list
Анализ конкретного дампа:
coredumpctl info PID
Если нужен сам файл:
coredumpctl dump PID > core.dump
🔥7👍4❤2
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🤣2