Linux Skill - Освой Linux c нуля до DevOps
11.2K subscribers
66 photos
103 videos
502 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
👩‍💻 19 команд, которые сделают тебя гуру systemd!

Привет, повелитель систем! Готов взять под контроль каждую службу в своём Linux? Встречай systemctl - твой швейцарский нож для управления системой!

1. Разведка:
- systemctl list-units: Показывает все активные юниты в системе.
- systemctl list-sockets: Отображает все активные сокеты.
- systemctl list-timers: Выводит список всех активных таймеров.

2. Управление жизненным циклом:
- systemctl start service_name: Запускает указанную службу.
- systemctl stop service_name: Останавливает службу.
- systemctl restart service_name: Перезапускает службу.
- systemctl reload service_name: Перезагружает конфигурацию службы без остановки.

3. Проверка состояния:
- systemctl is-active service_name: Проверяет, активна ли служба.
- systemctl is-failed service_name: Проверяет, завершилась ли служба с ошибкой.
- systemctl status service_name: Показывает статус службы.

4. Автозагрузка:
- systemctl enable service_name: Включает автозагрузку службы.
- systemctl disable service_name: Отключает автозагрузку службы.
- systemctl is-enabled service_name: Проверяет, включена ли автозагрузка.

5. Продвинутые трюки:
- systemctl isolate target_name: Переключает систему в указанный режим.
- systemctl kill service_name: Завершает все процессы службы.
- systemctl edit service_name: Открывает конфигурацию службы для редактирования.

Бонус для хардкорщиков:
- systemctl daemon-reload: Перезагружает конфигурацию демонов.
- systemctl mask service_name: Блокирует запуск службы.
- systemctl unmask service_name: Разблокирует запуск службы.

С этими командами ты сможешь:
- Мгновенно диагностировать проблемы
- Тонко настраивать автозагрузку
- Управлять службами как босс

📩 Завтра: Мастер-класс по iptables: вставляем, заменяем и удаляем правила!
Включи 🔔 чтобы не пропустить!

____________________

Дополнительный материал:
🧠 - Командный центр Linux: Ваше руководство по базовым консольным программам
🧠 - Защитный барьер Linux: Как система обеспечивает безопасность пользователей и групп
🧠 - Мастер-класс по консольным программам Linux: Разбираемся с UID и GID

#Linux_Commands @LinuxSkill #systemd
👍30🔥3👀1
🚀 Как за 1 минуту определить, чем управляется сеть в Linux?

Привет, мастер серверов! 👋
Сегодня разберём, как быстро понять, что именно рулит сетью на вашем Linux-сервере — без лишней магии и догадок!

🔍 Пошаговый чек:

1. Проверка старой школыifupdown:
   systemctl status networking.service


2. Есть ли NetworkManager?
   systemctl status NetworkManager


3. Активен ли systemd-networkd?
   systemctl status systemd-networkd


4. Ищем Netplan (обычно для облаков):
   ls /etc/netplan/


5. Быстрая проверка активных сетевых демонов:
   networkctl status
nmcli general status
netplan status


Если активно /etc/network/interfaces + networking.service — значит у вас классическая схема через ifupdown.
Если активен NetworkManager — скорее всего десктоп или ноутбук.
Если активен systemd-networkd — модульная минималистичная конфигурация.
Если есть /etc/netplan/ — используется промежуточный слой Netplan.

🌐 Источник: https://unix.stackexchange.com/questions/785544/how-to-know-if-the-network-is-configured-through-etc-network-interfaces-networ

📩 Завтра: Почему set -e в bash может сломать тебе всё!
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - 10 самых частых ошибок в Linux и как быстро их исправить
🧠 - Reverse Shell на практике: подключаемся к скрытому серверу за 1 минуту!
🧠 - Урок 4 — Почему case круче вложенных if в Bash

#stackoverflow #Linux #Network #SysAdmin #Networking #Debian #NetworkManager #Systemd #Netplan
👍10🔥9
🛡️ Защита системы: как разрешить запуск бинарника только службе systemd

Привет! Сегодня поговорим о том, как надёжно ограничить запуск подозрительных или потенциально небезопасных программ в Linux.

Если ты хочешь, чтобы приложение запускалось только через systemd, без возможности запуска вручную — вот несколько решений:

🔹 SELinux
Создай отдельный SELinux-домен для бинарника. Только init_t сможет инициировать его запуск:
allow init_t myapp_t:process { transition };
type_transition init_t myapp_exec_t:process myapp_t;

Не забудь правильно промаркировать файл через chcon!

🔹 Изменение прав доступа
Можно убрать права на исполнение:
chmod 644 /path/to/binary

А запускать его через:
/lib64/ld-linux-x86-64.so.2 /path/to/binary

Но с потерей некоторых capabilities — учитывай это.

🔹 Контейнеризация через Podman
Запускай приложение в контейнере, ограничивая его окружение:
podman run --rm -p 80:80 your_container_image

Или с генерацией сервис-файлов через podman generate systemd.

Так ты минимизируешь риски и защищаешь систему от случайного или несанкционированного запуска.

🌐 Источник: unix.stackexchange.com

________________

Дополнительный материал:
🧠 - GRUB: Командный мостик космического корабля вашего ПК
🧠 - Утренний будильник для вашего ПК: Включение по расписанию с UEFI
🧠 - GRUB Menu Reveal: Как пригласить скрытое меню на ужин

#stackoverflow #Linux #Systemd #SELinux #Безопасность #Fedora #Администрирование #Bash #DevOps
👍9👎1
Media is too big
VIEW IN TELEGRAM
Linux грузится минуту? Ускоряем до 10 секунд!

Привет, нетерпеливый админ!

Устал ждать загрузку системы? Автор показывает, как сократить время старта с 60+ секунд до 10! Реальный кейс на Debian 12.

📹 Что узнаешь (таймкоды):

00:00 — Введение
00:57 — Анализ проблем загрузки
02:57systemd-analyze в действии
03:55 — Находим самые медленные службы
04:50 — Оптимизация монтирования разделов
06:47 — Отключаем ненужные службы
08:45 — Решаем проблему с ядром и swap
12:38 — Обновление системы
14:37 — Работа с NTFS разделами
18:31 — Результаты: с 37 до 6 секунд!
21:28 — Графический анализ загрузки

Смотри видео и ускоряй свою систему прямо сейчас!

🌐 Источник: https://youtu.be/sLZ8kYfp2lQ

#Linux_youtube #systemd #optimization #boot #Linux #performance #video
👍18🔥6
🔥 Fstab блокирует загрузку? Переходи на systemd

Привет, мастер монтирования!

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

👉 Показываю, как systemd заменяет fstab и почему это лучше

#Linux_Mastery #systemd #mount #linux #devops #storage
👍7👀4
💡 Systemd обещает быструю загрузку, но твоя система тормозит?

Привет, цифровой архитектор! 👋

Классика: сам демон работает быстро, но вынужден ждать ленивые юниты, которые создают "критическую цепочку" задержек. Покажу, как быстро найти виновника и устранить проблему с помощью двух команд.

1. 🔍 Кто виноват: Анализ времени запуска

Команда systemd-analyze blame покажет точное время, которое каждый юнит потратил на запуск, сортируя их по убыванию.


# Выводит список юнитов, отсортированный по времени запуска
systemd-analyze blame

Назначение: Быстрый поиск юнитов, которые стартуют медленнее всего.

2. ⛓️ Поиск узкого места: Критическая цепочка

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


# Анализ цепочки зависимостей, которая замедляет запуск системы
systemd-analyze critical-chain

Назначение: Показывает, какой именно юнит или зависимость блокирует загрузку критических служб.

Частый пример: docker.service ждет поднятия сети (systemd-networkd-wait-online.service). Это бессмысленно, если у Docker нет жесткой зависимости от сети на старте.

3. 🛠️ Устраняем задержку через override

Чтобы «отвязать» Docker от медленной сети, используем правильный подход systemd — не трогаем оригинальный файл юнита, а создаем прокладку override.conf:


# Открыть редактор для создания override.conf
sudo systemctl edit docker.service

# В открывшийся файл вставьте:
[Unit]
After=network.target
Wants=network.target

Назначение: Переопределяем параметры After и Wants, чтобы Docker не ждал некритичные сетевые службы.

После этого не забудьте применить изменения:


# Применить изменения
sudo systemctl daemon-reload
sudo systemctl restart docker


Важно: Использование systemctl edit создает отдельный файл, который не будет перезаписан при обновлении пакета Docker.

💡 Вывод: Регулярное использование systemd-analyze позволяет держать под контролем стартовую производительность сервера и избегать фантомный задержек, которые съедают рабочее время.

#Linux #systemd #CLI #DevOps #Optimization
👍14🔥1
systemctl – 5 команд, которые должен знать каждый DevOps-инженер

Привет, инженер автоматизации!

Если ты переходишь с SysVinit на systemd, тебе нужен надёжный командник для быстрого траблшутинга и управления сервисами.
Команда systemctl — это твой универсальный диспетчер. Вот 5 ключевых функций, которые ты будешь использовать каждый день.

1. 🔍 Полный статус сервиса

Эта команда показывает, активен ли сервис, его PID, потребление ресурсов (CGroup, Memory, CPU) и последние строки логов.

# Получить детальную информацию о веб-сервере Nginx
systemctl status nginx.service
# PID, CGroup, Memory, CPU - важные данные для траблшутинга


2. 🚀 Включение и активация (autostart)

systemctl enable создаёт символическую ссылку, чтобы сервис запускался при загрузке системы. Флаг --now сразу запускает его.

# Включить автозапуск SSHD при загрузке и немедленно запустить
sudo systemctl enable --now sshd.service

# Проверить, включен ли сервис для автозапуска
systemctl is-enabled sshd.service


3. 💾 Применение новой конфигурации без перезапуска

Если ты изменил конфигурационный файл (например, /etc/ssh/sshd_config), тебе нужно, чтобы демон перечитал его, не прерывая работу.

# Перезагрузка конфигурации systemd, чтобы обнаружить изменения в юнит-файлах
sudo systemctl daemon-reload
# Перезагрузить конфигурацию самого сервиса (без полного restart)
sudo systemctl reload sshd.service


4. 📈 Анализ скорости загрузки (Boot Performance)

Если система загружается медленно, эта команда покажет тебе, какие юниты (сервисы) потребляют больше всего времени.

# Вывести список процессов, отсортированных по времени запуска
systemd-analyze blame

# Посмотреть общее время, потраченное на загрузку ядра и userspace
systemd-analyze time


5. 📜 Просмотр всех файлов юнитов

Для DevOps критически важно знать, какие сервисы вообще установлены в системе и в каком они состоянии (включен/выключен).

# Вывести список всех установленных файлов модулей типа service и их состояние (enabled/disabled/static/masked)
systemctl list-unit-files --type=service


💡 Вывод

Команда systemctl — это центральный инструмент для твоей работы в Linux. Используя status для детальной проверки, reload для безопасных обновлений и systemd-analyze blame для диагностики, ты можешь эффективно управлять production-средой.

#DevOps #systemd #systemctl #CLI #Автоматизация
👍18
⚠️ Антигайд: Как ntpdate убивает твой Dovecot и что делать

Привет, инженер автоматизации!

Ты знал, что NTP-синхронизация может мгновенно "убить" Dovecot? Резкий перевод часов назад приводит к его аварийному завершению.
Используй плавную синхронизацию (ntpd/chrony) или перезапускай сервис.

# 1. Если ты используешь ntpdate, Dovecot рухнет (особенно при переводе часов назад)
# Пример опасной команды:
# ntpdate -u pool.ntp.org

# 2. Правильное действие: останавливаем, синхронизируем, запускаем
sudo systemctl stop dovecot.service
sudo ntpdate pool.ntp.org
sudo systemctl restart dovecot.service


Вывод: Перед выполнением ntpdate рекомендуется завершать Dovecot и запускать заново.

#Антигайд #Dovecot #NTP #Безопасность #systemd
🔥5
🏎️ Почему твой Linux грузится вечность? Находим и обезвреживаем

Эй, линуксоид! 👋

Знакома ситуация: отправил сервер в reboot, и можно идти варить кофе, потому что он поднимается мучительно долго? 😤 Часто виноват один-единственный «зависший» сервис, который тянет время всей системы.

В systemd есть встроенный инструмент-детектив, который покажет, кто именно крадет твои секунды.

📌 1. Оцениваем общий масштаб бедствия
Сначала посмотрим, сколько времени ушло на загрузку в целом (ядро + userspace).

$ systemd-analyze
Startup finished in 253ms (kernel) + 933ms (initrd) + 6.873s (userspace) = 8.060s

Это дает общее понимание: если userspace занимает слишком много времени, значит, проблема в службах.

📌 2. Ищем виновника (команда blame)
Эта команда выводит список всех запущенных юнитов, отсортированных по времени инициализации — от самых медленных к самым быстрым.

$ systemd-analyze blame
3.811s NetworkManager-wait-online.service
806ms tuned.service
680ms postfix.service
490ms lvm2-monitor.service
...

В данном примере видно, что NetworkManager-wait-online.service задерживает запуск почти на 4 секунды.

📌 3. Анализируем критический путь
Иногда сервис запускается долго, но не тормозит остальных. Чтобы увидеть дерево зависимостей и понять, какой процесс реально блокирует финиш загрузки, используйте:

$ systemd-analyze critical-chain
graphical.target @9.663s
└─multi-user.target @9.661s
└─snapd.seeded.service @9.062s +62ms
└─basic.target @6.336s
└─sockets.target @6.334s
└─snapd.socket @6.316s +16ms
└─sysinit.target @6.281s
└─cloud-init.service @5.361s +905ms
└─systemd-networkd-wait-online.service @3.498s +1.860s

Здесь видно, что systemd-networkd-wait-online.service является узким местом в цепочке,.

💡 Совет:
Если вы нашли «тормоза», которые вам не нужны (например, postfix на рабочей станции или ожидание сети там, где это не критично), их можно отключить (systemctl disable) или оптимизировать.

#Linux #Systemd #DevOps #SysAdmin #Performance
👍10🔥3