Admin Guides | Сисадмин
11.5K subscribers
1.34K photos
20 videos
34 files
565 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работает механизм Netfilter в Linux и зачем он нужен?

Ответ: Netfilter — это подсистема ядра Linux, обеспечивающая фильтрацию и обработку сетевых пакетов. Она используется для межсетевого экранирования, NAT, балансировки нагрузки и глубокого анализа трафика.

Основные компоненты:
Hooks: точки в сетевом стеке, через которые проходят пакеты (PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING).
iptables/nftables: инструменты управления правилами фильтрации и перенаправления трафика.
Connection Tracking: механизм, позволяющий отслеживать состояние соединений и применять stateful-фильтрацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4
parallel ssh (pssh)

Когда десятки серверов, pssh экономит кучу времени. Вместо ручного обхода выполняем команды сразу везде.

Файл hosts.txt:

server1
server2
server3


Базовые примеры:

pssh -h hosts.txt -i "uptime"          # посмотреть аптайм всех серверов
pssh -h hosts.txt -i "df -h /" # проверить свободное место на /
pssh -h hosts.txt -i "systemctl status nginx" # проверить nginx


Можно запускать скрипты:

pssh -h hosts.txt -i "bash /tmp/cleanup.sh"


А ещё есть pscp для копирования:

pscp -h hosts.txt local.conf /etc/myapp/config.conf
👍226
screen vs tmux: зачем и в чём разница

Когда вы работаете по SSH и связь внезапно обрывается — все запущенные процессы (сборка, миграция БД, обновление пакетов) падают вместе с сессией.

Чтобы этого избежать, придумали терминальные мультиплексоры — программы, которые запускают «виртуальный терминал» внутри текущего, и процессы продолжают работать даже при отключении.

Два самых популярных инструмента: screen и tmux.

screen — классика Linux

Появился ещё в 1987 году. До сих пор предустановлен на множестве серверов.

Основные команды:

screen                # новая сессия
screen -S mywork # сессия с именем
screen -ls # список активных
screen -r mywork # восстановить сессию
Ctrl+a d # отцепиться


Особенности:
Работает почти везде «из коробки».
Очень лёгкий и простой.
Поддерживает разделение окна, но не очень удобно.

tmux — современный и функциональный

Разработан в 2007 году как альтернатива screen. Сейчас стал «дефолтным выбором» для большинства админов и девопсов.

Основные команды:

tmux new -s mywork    # создать сессию
tmux ls # список
tmux attach -t mywork # вернуться
tmux detach # выйтил


Фишки:
Красивый и настраиваемый статусбар.
Удобное разделение экрана на панели:
• Ctrl+b " — горизонтально
• Ctrl+b % — вертикально
Поддержка скриптов и плагинов.
Легко кастомизировать под свои привычки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥73
Сравнение инструментов для анализа дисков: du, ncdu, dust

Когда на сервере заканчивается место, важно быстро понять, какие файлы и каталоги занимают его больше всего. 


Обычные ls -lh или du дают базовую информацию, но не всегда позволяют удобно ориентироваться в больших структурах.

На помощь приходят несколько инструментов: du, ncdu и dust. Каждый имеет свои особенности и сценарии использования.

1️⃣du

Классическая команда Linux для анализа дискового пространства. Позволяет узнать размер каталогов и файлов:

du -sh /var/log/*


Минус — только текстовый вывод без удобной сортировки и навигации, сложнее работать с большим деревом каталогов.

2️⃣ncdu

Интерактивный аналог du. Показывает древовидную структуру и позволяет перемещаться по каталогам, удалять или перемещать файлы прямо из интерфейса:

ncdu /var/log


Идеально подходит для серверов с ограниченным SSD и для быстрой очистки логов или временных файлов.

3️⃣dust

Современная альтернатива du, с более наглядным CLI-выводом. Показывает графики размеров папок и сортирует их по занимаемому пространству:

dust /home
Please open Telegram to view this post
VIEW IN TELEGRAM
👍174
Выпуск Wine 10.16

3 октября 2025 года вышла экспериментальная версия Wine 10.16 — открытой реализации Win32 API для Linux, macOS и BSD.

С момента Wine 10.0 команда проекта обработала 34 отчёта об ошибках и внесла 364 исправления, большая часть работы выполнена 30 контрибуторами.


Подтверждена стабильная работа более 5 тыс. приложений для Windows, ещё 4 тыс. требуют дополнительных настроек.

Основные изменения:
Полная поддержка драйвера ntsync для повышения производительности игр через Wine (/dev/ntsync в ядре Linux 6.14).
Запуск 16-разрядных приложений в режиме WoW64.
Начальная поддержка объектов D3DKMT для низкоуровневого доступа к графике.
Генерация и установка файлов WinMD для API WinRT.
Исправлены баги в приложениях (Lotus Word Pro, Profi Cash, iTunes) и играх (S.T.A.L.K.E.R., Metro 2033, GTA: Vice City, Project CARS и др.).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥87
Аварийный режим загрузки (Emergency Mode)

Когда Linux-система не отвечает на обычные команды и даже комбинации Alt + SysRq не помогают, полезно знать про аварийный режим загрузки.

Это минимальная среда, позволяющая восстановить систему, исправить ошибки конфигурации или смонтировать проблемные файловые системы.

Как загрузиться в аварийном режиме:

1️⃣Перезагрузите систему.
2️⃣На экране загрузчика GRUB выберите нужное ядро и нажмите e для редактирования параметров.
3️⃣Найдите строку, начинающуюся с linux и добавьте в конец:

systemd.unit=emergency.target


4️⃣Нажмите Ctrl+X или F10, чтобы загрузиться с изменёнными параметрами.
5️⃣Система загрузится в однопользовательском режиме с минимальным окружением, предоставив root-доступ без запроса пароля (или с запросом, в зависимости от дистрибутива).

Что можно делать в Emergency Mode:

• Монтировать файловые системы вручную:

mount -o remount,rw /


• Исправлять ошибки в /etc/fstab или конфигурационных файлах.
• Восстанавливать повреждённые пакеты или ядро.
• Проверять логи через journalctl или dmesg.

После исправления ошибок перезагрузите систему обычным образом:

systemctl reboot
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Что такое kernel preemption в Linux и зачем она нужна?

Ответ: Kernel preemption — это возможность ядра Linux прерывать выполнение текущего кода ядра, чтобы дать процессору возможность обслужить более приоритетный процесс.

Это важно для систем с низкой задержкой, где нужно быстро реагировать на события. Включение preemption позволяет уменьшить время отклика приложений и улучшить интерактивность, но может немного снизить общую пропускную способность из-за увеличения накладных расходов на переключение контекста.
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6
Проверка и исправление прав на файлы с ACL

Цель тут убедиться, что файлы и папки имеют корректные права, особенно на веб-серверах или в проектах с несколькими пользователями.

ACL (Access Control List) позволяет задавать детализированный контроль доступа, выходящий за рамки стандартных chmod/chown.

Проверка прав с ACL:

getfacl /var/www/html


На выходе вы увидите, кто и с каким доступом может читать, писать или выполнять файлы и папки. Это особенно полезно, когда несколько пользователей работают с одним каталогом и нужны гибкие права.

Установка или исправление прав для пользователя:

setfacl -m u:deploy:rwx /var/www/html


Здесь мы даём пользователю deploy полный доступ (чтение, запись, выполнение) к папке /var/www/html.

Добавление группы с ограниченными правами:

setfacl -m g:developers:rx /var/www/html


Группа developers получает права на чтение и выполнение, но не на запись.

Удаление ACL:

setfacl -b /var/www/html


Удаляет все ACL, оставляя только стандартные права Unix (rwx для владельца, группы и остальных).
👍114🔥1
😁39👏4💯4🌚1
Очистка неиспользуемых Docker-ресурсов

На серверах с активными контейнерами Docker быстро накапливаются старые образы, остановленные контейнеры, тома и сети.

Это может съедать дисковое пространство и замедлять работу новых контейнеров. Важно периодически проверять и очищать «мусор».

1️⃣Просмотр dangling-образов
Dangling-образы — это старые образы без тегов, которые больше не используются:

docker images -f "dangling=true"


Вывод покажет ID и размер каждого «зависшего» образа.

2️⃣Очистка ненужных ресурсов
Docker умеет автоматически удалять все неиспользуемые объекты:

docker system prune -a --volumes


• -a — удаляет все неиспользуемые образы, не только dangling.
• --volumes — удаляет неиспользуемые тома.

3️⃣Проверка освобожденного места
После очистки полезно проверить, сколько дискового пространства вернулось:

docker system df


Вы увидите, сколько занято образами, контейнерами, томами и кэшем сборки.
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5
Ошибка Microsoft Defender вызвала ложные предупреждения о BIOS

Microsoft устраняет баг в Defender for Endpoint, из-за которого BIOS некоторых устройств, в частности Dell, ошибочно помечался как устаревший.

Исправление уже готовится к развёртыванию, но Microsoft пока не раскрывает регионы и число затронутых клиентов.


Ранее инженеры исправили черный экран на macOS после обновлений 29 сентября и ложные срабатывания антиспам-систем в Teams и Exchange Online.

Летом компания добавила в Defender для Office 365 автоматическое обнаружение и блокировку атак с использованием email-бомб, без ручной настройки — сообщения автоматически отправляются в «Спам».
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62
Управление swap в Linux без ребута

На серверах с высокой нагрузкой или ограниченной памятью иногда нужно добавить или убрать swap, изменить его приоритет или проверить использование — без перезагрузки системы.

1️⃣Просмотр текущих swap-разделов и файлов

swapon --show


Вывод показывает, какие swap-файлы или swap-разделы активны, их размер и приоритет.

2️⃣Включение swap-файла

Если нужно добавить новый swap-файл без перезагрузки:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile


• fallocate -l 2G — создаёт файл размером 2 ГБ
• mkswap — форматирует файл как swap
• swapon — активирует swap

3️⃣Выключение swap

Чтобы временно отключить swap (например, для теста или очистки):

sudo swapoff -a


• -a — отключает все swap-разделы и файлы, указанные в /etc/fstab.

4️⃣Изменение приоритета swap

Swap-файлы могут иметь разный приоритет (priority), что влияет на порядок их использования:

sudo swapon --show=NAME,PRIO
sudo swapon /swapfile -p 100


Более высокий приоритет означает, что swap будет использоваться раньше других.

5️⃣Проверка использования swap

free -h


Показывает, сколько памяти занято и сколько swap используется.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍203
Почему на продовом сервере нежелательно использовать swap на SSD при интенсивных нагрузках?
Anonymous Quiz
2%
Swap повышает производительность SSD
85%
Swap вызывает ускоренное изнашивание SSD из-за частых операций записи
5%
Swap не работает на SSD
8%
Swap отключает TRIM
9😁3🔥2👨‍💻1
Быстрая диагностика и устранение проблем с BIND (named)

BIND — один из самых распространённых DNS-серверов в Linux-средах. Он отвечает за трансляцию имён в IP и обратно, поддерживает зону прямого и обратного разрешения, DNSSEC и многое другое.

1️⃣Проверяем статус сервиса

systemctl status named


Если сервис не запущен — запустите его:

systemctl start named


Если он падает — смотрим логи.

2️⃣Логи BIND — первое место для поиска проблем

В зависимости от дистрибутива логи могут быть в /var/log/messages, /var/log/syslog или /var/log/named/named.log.

Чтобы быстро смотреть последние ошибки:

journalctl -u named -f


или

tail -f /var/log/named/named.log


Обращайте внимание на ошибки синтаксиса, проблемы с зонами, отказ в доступе.

3️⃣Проверка конфигурации BIND

Перед перезапуском всегда проверяйте конфигурацию:

named-checkconf


Если команда не выводит ошибок — конфиг валидный.

4️⃣Проверка файлов зон

Ошибки в зонах — частая причина проблем.

Проверяем файл зоны (например, zonefile.db):

named-checkzone example.com /etc/bind/zones/example.com.db


Если есть ошибки — будут показаны с подробностями.

5️⃣Тестируем DNS-запросы локально

dig @localhost example.com


Если ответ корректный — BIND работает локально.

6️⃣Проверяем права и доступ к файлам

BIND должен иметь права читать зоны и конфиги:

ls -l /etc/bind/zones/


Если проблемы с правами — исправьте:

chown -R bind:bind /etc/bind/zones/
chmod 640 /etc/bind/zones/*.db


7️⃣Перезапуск BIND с выводом ошибок

systemctl restart named
journalctl -xe -u named


Если сервис упал — посмотрите последние ошибки в журнале.

8️⃣Обновление записей зоны без перезапуска — динамическое обновление

Если настроено, используйте:

rndc reload example.com


Команда перезагрузит конкретную зону без остановки сервиса.

9️⃣Диагностика проблем с сетевым доступом к BIND

Проверяем, слушает ли BIND на нужных интерфейсах:

ss -tulnp | grep named


Проверяем firewall:

iptables -L -n | grep 53


Убедитесь, что порт 53 открыт для TCP и UDP.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥2👎1
Пользователи нашли новые способы установки Windows 11 без учётной записи Microsoft и интернета

Эксперты и продвинутые пользователи выявили несколько вариантов обхода ограничений, позволяющих завершить первичную настройку Windows 11 без подключения к учётной записи Microsoft.

Ранее Microsoft усилила меры против обхода OOBE и удалила известные обходные сценарии, такие как BYPASSNRO и start ms-cxh:localonly. 


Это делает невозможным создание локальной учётной записи стандартными способами.

Тем не менее в марте 2025 года появились новые методы, которые позволяют использовать консоль разработчика и редактирование реестра для завершения настройки системы без интернета и Microsoft-аккаунта.
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7😁1
iproute2: контроль трафика и QoS в Linux

iproute2 — это не просто ip addr и ip route.

С помощью него можно управлять приоритетами пакетов, ограничивать скорость и распределять трафик между сервисами.

Настройка QoS нужна, когда серверу нужно «делить» ограниченный канал между несколькими приложениями или виртуальными машинами.

Давай ограничим исходящий трафик на интерфейсе eth0 до 10 Мбит/с:

tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms


Проверяем настройки:

tc qdisc show dev eth0


Удаляем ограничение:

tc qdisc del dev eth0 root


Это поможет избежать перегрузки сети, при этом распределяя трафик более предсказуемо.
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6🤔1
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Что такое epoll в Linux и почему он эффективнее select/poll?

Ответ: epoll — это механизм ядра Linux для масштабируемого неблокирующего ввода-вывода (I/O multiplexing). Он позволяет эффективно отслеживать большое количество файловых дескрипторов (сокетов, пайпов и т. д.), не тратя ресурсы на опрос каждого.

Почему epoll лучше:
O(1) сложность — ядро уведомляет только о готовых дескрипторах, вместо линейного прохода по всем, как в select() или poll().
Edge-triggered режим — уведомление приходит только при изменении состояния, что снижает нагрузку на ядро.
Работает с тысячами соединений — критично для высоконагруженных сетевых приложений, серверов и прокси.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3
Как понять, что жрёт всю оперативку (и не тупо смотреть top)

top — хороший инструмент, но часто обманывает: считает shared-память по каждому процессу.

И кажется, будто у вас MySQL ест 6 ГБ, а nginx — ещё 4 (при том что всего 8 ГБ в системе).

Посмотреть реальную картину поможет:

smem -r


Покажет, сколько памяти реально закреплено за каждым процессом.

Хочешь совсем наглядно — установи скрипт ps_mem:

sudo wget -O /usr/local/bin/ps_mem https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py
sudo chmod +x /usr/local/bin/ps_mem
ps_mem


Результат — короткий отчёт вроде:

 120.0 MiB +   10.0 MiB = 130.0 MiB   nginx
350.0 MiB + 50.0 MiB = 400.0 MiB mysqld


И всё, без гадания на RES и SHR. Можно даже в cron добавить, чтобы присылало в Slack, когда какой-то сервис начинает разъедать память.
11👍10🔥1
Доброе утро😁
😁22🔥4💯1