Малейшее несовпадение библиотек может менять поведение приложения, поэтому важно быстро определить, какие .so оно действительно использует в конкретной системе.
В этом посте:
• Проверяем базовые зависимости через ldd;
• Извлекаем скрытые зависимости из ELF через readelf;
• Смотрим фактические загруженные библиотеки через /proc/<pid>/maps;
• Получаем полную картину, которая помогает решать проблемы несовместимых или “пропавших” .so.
Полный набор зависимостей сразу показывает, почему бинарь ведёт себя по-разному в разных средах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍10🤝9❤1
Тут мы видим, как браузер получает публичный ключ, шифрует им сессионный ключ и дальше общается с сервером уже по симметричному шифрованию.
Сохрани, чтобы быстро освежить в памяти, что происходит под капотом при каждом
HTTPS-запросе.Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤8🔥7👎1😁1
Как быстро понять, что система упирается в диск: iostat в реальной диагностике!
Когда сервис внезапно начинает отвечать медленнее, а CPU и сеть выглядят нормально — почти всегда стоит проверить I/O.
Проверка в реальном времени (обновление каждую секунду):
Ключевые метрики:
Посмотреть, кто именно создаёт нагрузку:
Флаги
Проверить, не закончились ли место или
Это не про I/O-производительность напрямую, но часто объясняет “внезапные” подвисания записи.
Проверить сообщения ядра о проблемах со
🔥
🚪 Linux Ready | #практика
Когда сервис внезапно начинает отвечать медленнее, а CPU и сеть выглядят нормально — почти всегда стоит проверить I/O.
iostat показывает реальную картину: latency, очередь, загрузку устройства и фактический поток операций.Проверка в реальном времени (обновление каждую секунду):
iostat -xz 1
Ключевые метрики:
await — средняя задержка операции.
На SSD всё, что выше 10–15 мс, уже красный флаг.
util — занятость устройства (%).
100% = диск работает на полном пределе, очередь растёт.
rMB/s / wMB/s — фактический throughput.
Позволяет понять, упираетесь ли в предел устройства (особенно важно для HDD и VM с IOPS-лимитами).
svctm — время обслуживания диском (мс).
Метрика устарела и может отсутствовать; если есть, сравнение await с svctm помогает понять, проблема в очереди или в самом диске.
Посмотреть, кто именно создаёт нагрузку:
sudo iotop -oPa
Флаги
-oPa показывают только процессы, реально генерирующие I/O, и отображают накопленную статистику за время работы утилиты — удобно, когда нагрузка пульсирует.Проверить, не закончились ли место или
inode:df -h
df -i
Это не про I/O-производительность напрямую, но часто объясняет “внезапные” подвисания записи.
Проверить сообщения ядра о проблемах со
storage:sudo journalctl -k | grep -Ei 'i/o|nvme|blk'
iostat — быстрый способ отделить проблемы приложения от проблем диска. Если await растёт, а util стремится к 100% — это почти всегда I/O bottleneck, а не код.Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥9❤6🤝3
Запуск команды в полностью чистой среде!
Многие проблемы в Linux возникают не из-за команды, а из-за окружения: переменные, алиасы, функции, конфиги shell. Из-за этого одна и та же команда может вести себя по-разному.
Но можно запустить её в идеально чистой среде, как на новом сервере или внутри контейнера:
Хотите чистый интерактивный shell?
🔥 Если что-то ведёт себя нестабильно, воспроизведите проблему в чистой среде, так сразу видно, где баг: в окружении или в самой программе.
🚪 Linux Ready | #совет
Многие проблемы в Linux возникают не из-за команды, а из-за окружения: переменные, алиасы, функции, конфиги shell. Из-за этого одна и та же команда может вести себя по-разному.
Но можно запустить её в идеально чистой среде, как на новом сервере или внутри контейнера:
env -i PATH=/usr/bin:/bin <команда>
env -i очищает окружение полностью. Добавляем PATH и команда выполняется с нуля.Хотите чистый интерактивный shell?
bash --noprofile --norc
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤7🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь подробно разбираются ключевые вещи, с которыми сталкиваешься в Linux каждый день: как работают процессы и сигналы, что происходит с памятью, как устроена файловая система, как читать права доступа и управлять ими. Каждая тема идёт с примерами команд и пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍9🔥9
Кто и откуда запускает процессы на сервере!
При появлении неожиданных фоновых процессов и нагрузки — минимальный набор команд для определения источника запуска.
Посмотреть все процессы с родителем (PPID) — сразу видны цепочки запуска:
Процессы с родителем PID 1 — чаще всего systemd, но бывают и осиротевшие:
Частый источник фоновой активности — планировщики. Проверка cron (зависит от дистрибутива):
Systemd-таймеры — современная замена cron и частое место «забытых» автозапусков:
Для подозрительных процессов полезно проверить бинарник и окружение:
🔥 Несколько команд из терминала обычно хватает, чтобы отличить нормальный сервис от случайно оставленного cron или странной фоновой активности.
🚪 Linux Ready | #практика
При появлении неожиданных фоновых процессов и нагрузки — минимальный набор команд для определения источника запуска.
Посмотреть все процессы с родителем (PPID) — сразу видны цепочки запуска:
ps -eo pid,ppid,user,cmd --sort=ppid
Процессы с родителем PID 1 — чаще всего systemd, но бывают и осиротевшие:
ps -eo pid,ppid,cmd | awk '$2==1'
Частый источник фоновой активности — планировщики. Проверка cron (зависит от дистрибутива):
sudo journalctl -u cron --since "1 hour ago"
# или
sudo grep CRON /var/log/syslog
Systemd-таймеры — современная замена cron и частое место «забытых» автозапусков:
systemctl list-timers --all
Для подозрительных процессов полезно проверить бинарник и окружение:
ls -l /proc/<PID>/exe
tr '\0' '\n' < /proc/<PID>/environ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤8👍6🤝2😁1
👍12🔥7🤝6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь собраны десятки CLI-инструментов, полезные bash/zsh-скрипты, практичные сниппеты и лайфхаки, которые ускоряют работу. Отличный набор для автоматизации, оптимизации и прокачки навыков работы с командной строкой.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥11❤7🤝1
Удобный способ смотреть логи и сразу находить проблемы!
Часто при анализе логов нужно видеть только важное, а не пролистывать тысячи строк вручную.
Самый базовый и рабочий вариант:
Если нужно ловить сразу несколько типов проблем:
Иногда полезнее сделать наоборот, убрать шум и оставить всё остальное:
🔥 Это особенно удобно, когда
🚪 Linux Ready | #совет
Часто при анализе логов нужно видеть только важное, а не пролистывать тысячи строк вручную.
Самый базовый и рабочий вариант:
tail -f application.log | grep -i error
tail -f следит за обновлением файла,grep -i ищет совпадения без учёта регистра.Если нужно ловить сразу несколько типов проблем:
tail -f application.log | grep -i -E "(error|warning|failure)"
-E включает расширенные регулярные выражения.-P стоит использовать, если реально нужны возможности PCRE (lookbehind и т.п.).Иногда полезнее сделать наоборот, убрать шум и оставить всё остальное:
tail -f application.log | grep -v -i "info"
exception занимает несколько строк, видно его целиком, без разрывов по уровню логирования.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤11🔥6🤝3
Если ты работаешь с Linux, особенно на сервере, ты обязан уметь управлять сервисами: запускать, перезапускать, проверять статус, настраивать автозагрузку.
Всё это делается через systemctl — интерфейс для взаимодействия с systemd, который управляет фоновыми процессами (даже теми, о которых ты не догадываешься).Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝20🔥15👍5❤1
Например,
iptables -L позволяет быстро посмотреть текущие правила, а iptables -A — добавить новое правило для разрешения или блокировки трафика.На картинке — полезные команды, которые стоит держать под рукой при работе с Linux-серверами, сетями и Docker.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝15👍8🔥8❤1