fa
Feedback
NetworkAdmin.ru

NetworkAdmin.ru

رفتن به کانال در Telegram

Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru

نمایش بیشتر
4 726
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-47 روز
+230 روز
آرشیو پست ها
🔫 Шпаргалка по systemctl status Обычно мы проверяем состояние конкретной службы:

systemctl status mariadb
Но если запустить без указания сервиса:

systemctl status
то получим сводку по всей системе. Очень полезная штука
Что покажет systemctl status без аргументов: State - общее состояние (например: running, degraded) Failed - количество упавших юнитов Uptime - время работы systemd Версия systemd Количество активных units Дерево зависимостей сервисов в удобном виде
▪️ Как найти упавшие службы

systemctl list-units --failed
Посмотреть детали по конкретному юниту:

systemctl status <unit>
journalctl -u <unit>
Пример:

systemctl status
Вывод:

State: degraded
Failed: 1 units
Проверяем, что упало:

systemctl list-units --failed
например, systemd-modules-load.service. Дальше копаемся в логах:

journalctl -u systemd-modules-load.service
▪️ Итоги systemctl status → быстрый обзор состояния системы. systemctl list-units --failed → список проблемных юнитов. journalctl -u <unit> → подробные логи конкретной службы. #linux #systemctl 🧑‍💻 NetworkAdmin

🎆 Удобная веб-панель для управления linux серверами Cockpit - это встроенный в современные дистрибутивы инструмент, который превращает сервер в управляемый через браузер интерфейс. Вам больше не нужно все делать вручную в консоли - многие задачи можно выполнять из веб-панели. ▪️ Установка и запуск. В большинстве систем Cockpit есть прямо в репозиториях. debian/ubuntu:

apt install cockpit -y
systemctl enable --now cockpit.socket
RHEL/centOS/fedora:

dnf install cockpit -y
systemctl enable --now cockpit.socket
После этого панель доступна по HTTPS на порту 9090: https://IP-сервера:9090 Авторизация выполняется через обычный системный логин и пароль. 📍 Возможности Cockpit Мониторинг ресурсов (CPU, RAM, диски, сеть) в реальном времени Управление сервисами systemd (запуск, остановка, перезапуск) Просмотр логов journald Управление пользователями и правами Настройка сетевых интерфейсов и firewall Работа с дисками, RAID и LVM Подключение Docker/Kubernetes для управления контейнерами Возможность администрировать несколько серверов через одну панель 📍 Почему это удобно? Минимальная настройка: поставил и сразу работает. Не требует сторонних агентов - все идет через systemd и встроенные механизмы. Легко интегрируется с SELinux, firewalld и другими системными компонентами. #linux #cockpit 🧑‍💻 NetworkAdmin

⌛️ Быстрый способ отладки bash-скриптов Когда в скрипте что-то идет не так, часто хочется понять, какая команда выполнилась последней и какие значения получили переменные. Вместо того чтобы расставлять десятки echo, в bash есть встроенный инструмент - set -x. Если указать его в начале скрипта, оболочка начнет печатать в консоль каждую выполняемую команду с подставленными значениями переменных. Перед строкой появляется символ +, что делает разбор вывода наглядным. ▪️ Пример: резервное копирование файла Создадим простой скрипт, который проверяет наличие файла и копирует его в директорию резервных копий:

#!/bin/bash
set -x

src="/etc/hosts"
dst="/tmp/backup"

mkdir -p "$dst"
timestamp=$(date +%Y%m%d_%H%M%S)
cp "$src" "$dst/hosts_$timestamp"

echo "Backup created: $dst/hosts_$timestamp"
Вывод консоли:

▶ Запуск
# ./backup.sh
+ src=/etc/hosts
+ dst=/tmp/backup
+ mkdir -p /tmp/backup
+ date +%Y%m%d_%H%M%S
+ timestamp=20251007_121330
+ cp /etc/hosts /tmp/backup/hosts_20251007_121330
+ echo 'Backup created: /tmp/backup/hosts_20251007_121330'
Backup created: /tmp/backup/hosts_20251007_121330
Мы видим каждое действие: какие переменные подставились, как отработала команда date, куда скопировался файл. #linux #debug 🧑‍💻 NetworkAdmin

Покупка нового корпуса - это что-то на богатом #юмор 🧑‍💻 NetworkAdmin
Покупка нового корпуса - это что-то на богатом #юмор 🧑‍💻 NetworkAdmin

🏷 Как избежать ошибок с монтированием в Linux Когда речь заходит о работе с внешними или сетевыми хранилищами, важно проверять, что файловая система действительно подключена и смонтирована. В Linux для этого есть две удобные утилиты - findmnt и findfs. ▪️ findmnt - контроль точек монтирования. Запуск без параметров показывает все точки монтирования. Но есть и практичный режим проверки fstab:

findmnt -x

Success, no errors or warnings detected
Если в конфигурации есть ошибка - получите подробное сообщение:

findmnt -x

/mnt/backup
  [E] unreachable on boot required source: UUID=151ea24d-977a-412c-818f-0d374baa5012
Также можно проверять наличие конкретной точки монтирования:

if findmnt -rno TARGET "$1" >/dev/null; then
    echo "$1 mounted."
else
    echo "$1 not mounted."
fi
▪️ findfs - поиск по UUID и меткам. findfs ищет файловые системы по UUID, LABEL, PARTLABEL, PARTUUID. Пример:

findfs "UUID=151ea24d-977a-412c-818f-0d374baa5013"

/dev/sda2
Выходной код тоже полезен в скриптах: 0 → устройство найдено 1 → файловая система не найдена

if findfs "UUID=$1" >/dev/null; then
    echo "$1 connected."
else
    echo "$1 not connected."
fi
⚠️ Почему это важно? Если не проверить подключение, легко попасть в неприятную ситуацию: бэкап или копирование пойдет не на внешний диск, а в локальную систему; место на корневом разделе быстро закончится; при монтировании обратно старые файлы могут спрятаться за точкой монтирования. #findmnt #findfs 🧑‍💻 NetworkAdmin

Подборка каналов IT от наших друзей: 🦥 Lazy_Programmer – Для ленивых 📲 Lazy_Programmer – В MAXе тоже есть место для лени 🤩 iwannabeprogrammer  — IT-мемы 📲 iwannabeprogrammer – Мы в MAX 🎬 videos_it  — База видеоуроков по IT 🐧 Linux_Club — Для Linuxоидов 📔 BOOKS — Читать не перечитать 🇷🇺 our_computer — У нас как в СССР 🔐 LazySecurity — Канал по ИБ 🔥 floppydisky — ITUMOR 📱 codebase_frontend — Красим кнопки ➡️ LazyDevOps —  Канал для дев и псов 🐈‍⬛️ LazyTester — Протестируй канал!

ℹ️ Тонкая настройка swap для производительности Swap в linux играет роль страховочного пространства на диске для выгрузки неиспользуемых страниц памяти. Но работать с ним можно по-разному: от полного отключения до использования современных технологий сжатия. Разберем основные практики. ▪️ Проверка текущего состояния. Посмотреть активные swap-разделы и файлы можно так:

swapon --show
free -h
▪️ Полное отключение swap. Если на сервере достаточно оперативной памяти, swap часто отключают, чтобы избежать лишних задержек:

swapoff -a
Чтобы выключить swap навсегда - закомментируйте его строки в /etc/fstab. ▪️ Настройка приоритета. Если используется несколько swap-устройств (например, раздел и файл), то можно указать приоритет. Чем выше значение, тем раньше будет использоваться swap:

# swapon /swapfile --priority 100
Текущие приоритеты видно в выводе swapon --show. ▪️ Управление swappiness. Параметр vm.swappiness задает, как активно ядро будет использовать swap. 0 - максимально избегать использования swap. 60 (по умолчанию) - сбалансированный вариант. 100 - активно выгружать память в swap. Пример настройки:

sysctl -w vm.swappiness=10
Для постоянного применения добавьте в /etc/sysctl.conf:

vm.swappiness=10
▪️ Zswap и Zram. Чтобы уменьшить нагрузку на диск и ускорить работу используют сжатие памяти: 📍 Zswap - сжатый кэш для swap в оперативке. Активация через параметры ядра:

zswap.enabled=1
📍 Zram - сжатый блочный девайс в RAM, который можно подключить как swap. Это будет полезно на ноутбуках и в контейнерах. Установка и включение в Debian/Ubuntu:

apt install zram-tools
systemctl enable --now zramswap.service
#linux #swap 🧑‍💻 NetworkAdmin

🌟 Подводные камни при копировании файлов в linux На первый взгляд, копирование файлов в linux выглядит элементарной задачей. Но если копать глубже, у команды cp есть несколько нюансов, которые легко могут привести к неожиданному результату. ▪️ Базовый пример. Хочется скопировать содержимое одной директории в другую:

cp /dir_a/* /dir_b
Кажется логичным, но так скопируются только файлы верхнего уровня, без вложенных директорий. Чтобы взять все целиком (с поддиректориями и атрибутами), используем:

cp -a /dir_a/* /dir_b
Ключ -a = рекурсия + права доступа + даты + симлинки. В общем, максимально правильное копирование. ▪️ Подводные камни Звездочка раскрывается в bash. Символ * обрабатывает сама оболочка, а не cp. То есть bash разворачивает список файлов и передаёт их в виде длинной команды:

cp -a /dir_a/file1 /dir_a/file2 ... /dir_b
Если файлов слишком много - можно упереться в ограничение длины команды. Скрытые файлы теряются. Файлы, начинающиеся с точки (.htaccess, .env и т.п.), по умолчанию не попадут в *. В результате копирование окажется не точным. Пустая директория = ошибка. Если в исходной папке нет файлов, то * не развернётся, и cp просто вернет ошибку. ▪️ Как сделать правильно. Лучше вообще избегать *, когда речь о копировании директорий. Надежный способ:

cp -aT /dir_a /dir_b
Здесь: -a - копирование со всеми атрибутами -T - воспринимать /dir_b как саму директорию назначения, а не поддиректорию внутри неё Таким образом, копирование отрабатывает корректно: и вложенные каталоги, и скрытые файлы будут на месте. #linux #cp 🧑‍💻 NetworkAdmin

🔄 strace и ltrace: отладка процессов Часто возникает ситуация: программа подвисает, работает странно или вообще не запускается. В таких случаях на помощь приходят два инструмента - strace и ltrace. Оба они позволяют заглянуть внутрь процесса, но делают это на разных уровнях. ▪️ strace - системные вызовы. strace перехватывает системные вызовы, которые делает процесс, и возвращаемые значения. Это удобно для анализа проблем с доступом к файлам, сетевыми подключениями или зависаниями. 📍 Запуск с приложением:

strace ls /nonexistent
Вывод покажет, что ls пытается открыть директорию и получает ENOENT (нет такого файла). 📍 Подключение к уже работающему процессу:

strace -p 1234
Теперь видно, чем занимается процесс с PID 1234. 📍 Фильтрация вызовов:

strace -e open,read,write -p 1234
Будут показаны только вызовы open, read, write. ▪️ ltrace - вызовы библиотек. Если strace работает с системными вызовами ядра, то ltrace отслеживает вызовы функций библиотек. Это особенно полезно, если программа спотыкается не на уровне ядра, а на уровне glibc или других библиотек. 📍 Пример:

ltrace ls
Вы увидите вызовы функций вроде malloc(), strlen(), fopen(). 📍 Фильтрация по конкретным функциям:

ltrace -e malloc,free ./myprog
Будут показаны только вызовы функций управления памятью. ▪️ Совместное применение. Часто эти инструменты используют вместе: strace → понять, что происходит на уровне системных вызовов (например, программа не может открыть файл из-за прав). ltrace → отследить логику внутри библиотек (например, неверно передаются параметры в функцию). ▪️ Практические кейсы 📍 Отладка зависающих процессов:

strace -p <PID>
Сразу видно, ждёт ли программа I/O или зациклилась. 📍 Диагностика ошибок "файл не найден":

strace ./prog 2>&1 | grep ENOENT
Можно увидеть, какой именно файл не удаётся открыть. 📍 Поиск утечек памяти:

ltrace -e malloc,free ./prog
Если много malloc(), но мало free() - повод задуматься. #linux #debug 🧑‍💻 NetworkAdmin

🎥 Вебинар по Kubernetes: «Хранение данных в Kubernetes: Volumes, Storages, Stateful-приложения» ☝️ На вебинаре вы узнаете: -
🎥 Вебинар по Kubernetes: «Хранение данных в Kubernetes: Volumes, Storages, Stateful-приложения» ☝️ На вебинаре вы узнаете: - Что такое тома и постоянные тома в Kubernetes, и как они помогают организовать хранение данных. - Определение между типами хранилищ: от локального до облачного и распределенного. - Как эффективно работать с StatefulSet и управлять stateful-приложениями в Kubernetes. - Лучшие практики настройки и использования Persistent Volume Claims (PVC), классов хранения и других инструментов. 💪 В результате вебинара вы: - Вы научитесь организовывать хранение данных в Kubernetes с использованием Volumes и Persistent Volumes. - Изучите подходы к управлению госприложениями и сохранению их данных. - Освоите методы настройки и оптимизации хранилищ для повышения производительности и надежности системы. 🎁 Все участники вебинара получат специальные условия на полное обучение курса «Инфраструктурная платформа на основе Kubernetes» 👉 Для участия зарегистрируйтесь: https://otus.pw/17Tt/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Пушистый стажер, работает за вискас #юмор 🧑‍💻 NetworkAdmin

🔥Прими участие в Хакатоне от ИТ-холдинга Т1 в Новосибирске и поборись за призовой фонд 800 000 рублей! Когда: 23–26 октября
🔥Прими участие в Хакатоне от ИТ-холдинга Т1 в Новосибирске и поборись за призовой фонд 800 000 рублей! Когда: 23–26 октября Формат: онлайн + финал на площадке Участвуй, если ты: 🔹обучаешься на технической или ИТ-специальности; 🔹развиваешься в направлении разработки, аналитики, CV, ML или DevOps; 🔹сможешь быть в Новосибирске 26 октября. Выбери свой кейс:
✴️Цифровой дресс-код: фон, который выделяет вас. Создай локальный ML-модуль сегментации видео и генератор персонализированных фонов. ✴️CodeMetrics: метрики, которые помогают расти. Разработай систему автооценки эффективности команд через анализ Git-метрик.
Почему стоит участвовать: 🔘Кейс в портфолио и полезная обратная связь от менторов Т1; 🔘Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний; 🔘Реальный опыт командной работы; 🔘Мерч и атмосфера сильного комьюнити — в Т1 более 5 000 джунов из 580+ вузов России и Беларуси. Регистрация открыта! ➡️ Успей до 21 октября по ссылке. erid: 2Vtzqwmd32u

✍️ Практика работы с tcpdump: фильтры и полезные примеры tcpdump - один из самых используемых инструментов для анализа сетевого трафика прямо в консоли. С его помощью можно не только снять дамп, но и отфильтровать нужные пакеты, чтобы не утонуть в гигабайтах логов. ▪️ Базовый запуск

tcpdump -i eth0
Смотрим весь трафик интерфейса eth0. Часто этого уже достаточно для первичной диагностики. ▪️ Полезные фильтры 1️⃣ Фильтрация по IP

tcpdump host 192.168.1.10
Только пакеты от/к указанному IP. 2️⃣ Фильтрация по порту

tcpdump port 22
Видим весь SSH-трафик. 3️⃣ Только входящие или исходящие пакеты

tcpdump src host 10.0.0.5
tcpdump dst port 80
4️⃣ Комбинация условий (AND, OR, NOT)

tcpdump src host 192.168.1.100 and port 443
tcpdump not port 22
5️⃣ Фильтрация по протоколу

tcpdump icmp
tcpdump tcp
tcpdump udp
▪️ Практические примеры 1️⃣ Смотреть весь HTTP-трафик

tcpdump -i eth0 tcp port 80 -A
Ключ -A выводит полезную нагрузку пакетов в ASCII. Удобно, если нужно подсмотреть запросы. 2️⃣ Анализ TLS (SNI и handshake)

tcpdump -i eth0 tcp port 443 -vvv
С подробной детализацией можно увидеть домены, к которым идёт подключение. 3️⃣ Отследить DNS-запросы

tcpdump -i eth0 udp port 53
4️⃣ Сохранить дамп для анализа в Wireshark

tcpdump -i eth0 -w dump.pcap
А потом открыть dump.pcap в Wireshark. 5️⃣ Ограничить количество пакетов

tcpdump -c 100 -i eth0
Собираем только первые 100 пакетов. ▪️ Резюме: Используйте -nn - чтобы ip-адреса и порты не переводились в имена (ускоряет работу). -vvv - максимально подробный вывод. Для длительного мониторинга всегда сохраняйте в файл (-w) и анализируйте в wireshark или tshark. #linux #tcpdump 🧑‍💻 NetworkAdmin

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Homo Manifestans — канал д
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Homo Manifestans — канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам 🤗 ✓ Как научиться отвлекаться от работы и отдыхать? ✓ Как совместить кучу рабочих задач и время с семьей? ✓ Как справиться с прокрастинацией? ✓ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит? Подписывайтесь на канал @vadimpetrovpsi и научитесь работать без упахивания, выгорания и ущерба для личной жизни! Псс. Заходите в закреп — там много полезного, и даже бесплатный мини-курс по выходу из апатии: 👉 https://t.me/+kAvguZoxBUM2ZGYy

👀 Мониторинг изменений файлов с помощью inotify и fswatch В Linux есть подсистема ядра - inotify, которая умеет отслеживать изменения в файловой системе и выдавать уведомления о событиях (создание, удаление, обновление файлов и каталогов). Для работы можно воспользоваться утилитой fswatch, которая доступна почти во всех популярных ОС. В linux под капотом она использует именно inotify. ▪️ Установка:

apt install fswatch
Запуск простого мониторинга за директорией /tmp:

fswatch /tmp
Но в таком виде вывод слишком сырой. Можно сразу добавить ключи: -x - отображать тип событий -t - выводить временные метки

fswatch -x -t /tmp
▪️ Пример работы В одной консоли запускаем fswatch, а в другой пробуем:

echo '123' > /tmp/file.txt
rm /tmp/file.txt
В логах получаем:

28 Sep 2025 23:27:20 MSK /tmp/file.txt Created
28 Sep 2025 23:27:20 MSK /tmp/file.txt Updated
28 Sep 2025 23:27:35 MSK /tmp/file.txt Removed
▪️ Автоматизация Мониторинг можно запустить в фоне:

fswatch -x -t /tmp >> /var/log/fswatch.log &
или добавить автозапуск через cron:

@reboot fswatch -x -t /tmp >> /var/log/fswatch.log &
Более надёжный способ - оформить как сервис systemd: /etc/systemd/system/fswatch.service

[Unit]
Description=fswatch file monitor
[Service]
ExecStart=/usr/bin/fswatch -x -t /tmp
[Install]
WantedBy=multi-user.target
Запуск:

systemctl enable --now fswatch.service
journalctl -u fswatch.service
Можно отфильтровать конкретные типы событий, например, только удаление:

fswatch --event Removed -x -t /tmp
#inotify #fswatch 🧑‍💻 NetworkAdmin

↗️ Быстрый способ узнать все о системе Если раньше для просмотра базовой информации о linux системе приходилось использовать целый набор команд вроде:

lsb_release -a
uname -a
cat /etc/os-release
cat /etc/redhat-release
- то теперь достаточно одной:

hostnamectl

Static hostname: networkadmin.ru
Icon name: computer-vm
Chassis: vm
Machine ID: ---
Boot ID: ---
Virtualization: microsoft
Operating System: Debian GNU
Kernel: Linux ---
Architecture: x86-64
Что можно увидеть Имя хоста (static/pretty/текущее) ОС и версия дистрибутива Версия ядра Аппаратная информация (chassis, архитектура) Виртуализация или контейнеризация (VM или Docker/LXC/OpenVZ) Machine ID и Boot ID - полезно при отладке и мониторинге
Также с помощью hostnamectl можно не только смотреть информацию, но и менять имя сервера:

hostnamectl set-hostname myserver
Изменения применяются сразу и сохраняются после перезагрузки. #hostnamectl 🧑‍💻 NetworkAdmin

Последние дни регистрации на MTC Engineer Hack — хакатон на стыке инженерии и ИТ от МТС. Призовой фонд — 500 000 рублей. Лучш
Последние дни регистрации на MTC Engineer Hack — хакатон на стыке инженерии и ИТ от МТС. Призовой фонд — 500 000 рублей. Лучшие участники смогут получить приглашение на стажировку в МТС по ускоренной процедуре. Регистрируйся до 1 октября: https://cnrlink.com/mtsengineerhacknwadmru 🎯 Для кого: молодые инженеры, выпускники и студенты инженерных вузов 💻 Формат: онлайн-тур + офлайн-финал в Москве 👤 Участие: индивидуальное Приглашаем всех, кто интересуется телеком-отраслью, хочет прокачать навыки в инженерии и попробовать себя в задачах МТС. C 3 по 5 октября пройдёт онлайн-этап: участники готовят кейс по своему профилю. 11 октября — встреча финалистов на площадке. Что тебя ждёт: 🔺 Задачи, близкие к реальной работе инженеров МТС: от проектирования до оптимизации сетей. 🔺 Офлайн-финал в Москве: живое общение и защита проектов. Билеты и проживание оплатят организаторы. 🔺 Мерч в подарок для финалистов. Регистрация на Codenrock до 1 октября включительно: https://cnrlink.com/mtsengineerhacknwadmru

А вы пробовали перезагружать ваш ролтер? #юмор 🧑‍💻 NetworkAdmin
А вы пробовали перезагружать ваш ролтер? #юмор 🧑‍💻 NetworkAdmin

📄 Быстрая раздача файлов: Python HTTP Server и HFS Иногда нужно быстро передать файлы по сети, без заморочек с настройкой SMB или FTP. Для этого есть два простых инструмента - один для linux, другой для windows. 🐧 Linux: встроенный веб-сервер Python В современных дистрибутивах Python уже установлен, так что все сводится к одной команде:

cd /var/log
python3 -m http.server 8181
Открываем браузер, заходим на IP-адрес сервера с портом 8181 и сразу видим содержимое директории. Файлы скачали - сервер остановили. Удобно и быстро. 🏠 Windows: HFS (HTTP File Server) Для Windows есть проверенное решение - HFS. Это небольшой исполняемый файл, который работает на любой версии windows, включая 11. Скачали → запустили → открыли в браузере IP машины. HFS позволяет публиковать как целые директории, так и отдельные файлы, просто перетащив их в окно программы. В отличие от SMB, который постоянно требует возни с версиями протокола и учетками, HFS работает «из коробки».
▪️ Дополнительные возможности HFS: 📍аутентификация пользователей; 📍логирование; 📍кастомизация внешнего вида через HTML-шаблоны; 📍контроль пропускной способности; 📍работа в фоне.
Программа бесплатна и с открытым исходным кодом. 🔗 Официальный сайт HFS #linux #windows #tools 🧑‍💻 NetworkAdmin

Как превратить облачную инфраструктуру в код: открытый вебинар OTUS У вас уже развернута инфраструктура в облаке, но манифест
Как превратить облачную инфраструктуру в код: открытый вебинар OTUS У вас уже развернута инфраструктура в облаке, но манифестов Terraform под неё нет? Это не редкость. Но хорошая новость в том, что руками переписывать всё с нуля не обязательно. На открытом вебинаре курса OTUS «Infrastructure as a Code» Алексей Журавлёв покажет, как импортировать текущее состояние облака и на его основе автоматически генерировать рабочие Terraform-конфигурации. Что разберём: — terraform import и работу со state-файлами — инструменты генерации HCL-кода — лучшие практики и подводные камни Кому будет полезно: DevOps-инженерам, системным администраторам, архитекторам и разработчикам, работающим с облаками. 📅 Когда: 25 сентября, 20:00 📍 Бесплатно, онлайн 👉 Регистрируйтесь: https://otus.pw/1RDb/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru