ru
Feedback
LinuxSkill - Сводки с прода и Шпаргалки

LinuxSkill - Сводки с прода и Шпаргалки

Открыть в Telegram

Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

Больше

📈 Аналитический обзор Telegram-канала LinuxSkill - Сводки с прода и Шпаргалки

Канал LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 740 подписчиков, занимая 11 158 место в категории Технологии и приложения и 59 600 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 740 подписчиков.

Согласно последним данным от 02 сентября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -53, а за последние 24 часа — -3, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 11.96%. В первые 24 часа после публикации контент обычно набирает 4.94% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 285 просмотров. В течение первых суток публикация набирает 531 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как docker, linux, bash, devops, скрипт.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

Благодаря высокой частоте обновлений (последние данные получены 03 сентября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

10 740
Подписчики
-324 часа
-177 дней
-5330 дней
Архив постов
⚙️⏳ Медленные пайплайны, вечное ожидание сборок и ненужные простои в CI/CD — всё это часто упирается в настройку GitLab Runne
⚙️⏳ Медленные пайплайны, вечное ожидание сборок и ненужные простои в CI/CD — всё это часто упирается в настройку GitLab Runner. 👉 16 сентября в 20:00 МСК приглашаем на открытый урок «Настройка GitLab Runners. Хаки по настройке и оптимизации сборок проектов». Разберём, как правильно подключить Runner, ускорить сборки с помощью кеширования, оптимизировать работу с Docker-образами и выбрать оптимальный executor. ☝️ Вы получите пошаговые техники, которые реально сократят время пайплайнов и сделают процесс доставки стабильнее и дешевле. Всё на практике и с разбором ошибок, которые мешают скорости. 🧠 Урок в преддверии старта курса «DevOps практики и инструменты», посетите его и получите индивидуальное предложение на курс. 👉 Зарегистрируйтесь для участия: https://otus.pw/I4p8/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

🔐 Забудь про Nginx для тестов: вот решение проще Эй, мастер быстрых решений! Знаешь трюк с HTTP сервером на Python для передачи файлов? А что если нужен HTTPS для тестов, но лень возиться с Nginx? Показываю способ поднять защищённый сервер за минуту. Классика для HTTP
# python3 -m http.server 8000
## Апгрейд до HTTPS Генерируем самоподписный сертификат:
# openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes
Создаём файл webserver.py:
import http.server, ssl

server_address = ('172.20.0.210', 8000)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,server_side=True,certfile='localhost.pem',ssl_version=ssl.PROTOCOL_TLSv1_2)
httpd.serve_forever()
Запускаем HTTPS сервер:
# python3 webserver.py
Проверяем:
# Открываем в браузере
https://172.20.0.210:8000
Что получаем: - Полноценный HTTPS сервер для тестов - Файловый браузер по умолчанию - Или веб-страница, если есть index.html - Никаких конфигов и лишней возни 💡 Где пригодится: - Тестирование приложений, требующих HTTPS - Быстрая передача файлов по защищённому каналу - Временный сервер для демо - Проверка SSL/TLS настроек Совет: сохрани скрипт в /usr/local/bin/ и используй как команду для быстрого запуска HTTPS где угодно. ____________________ Дополнительный материал: 🧠 - Открываем тайны Linux: Почему скрыть файлы от пользователя root невозможно? 🧠 - Как Создать Идеальный Dockerfile: Секреты Эффективности и Лаконичности 🧠 - Ускоряем YouTube и обходим блокировки на Linux: Ваше руководство #Linux_Mastery #webserver #python #https #quickfix #sysadmin

Вопрос из теста Linux Essentials Certification: Which of the following can be used to access the command line? / Что из следующего может быть использовано для доступа к командной строке?
Anonymous voting

Вопрос из теста Linux Essentials Certification: Which of the following commands can be used to view a file and do search operations within it while viewing the contents? / Какая из следующих команд может быть использована для просмотра файла и выполнения
Anonymous voting

🚨 Всем раздал kubectl? Как не потерять кластер Привет, хранитель кластера! Дал разработчикам полный доступ к K8s и теперь не спишь ночами? Александр Кузьмин из КРОК показывает, как правильно настроить RBAC и интегрировать Kubernetes с Active Directory. От теории до практики! 📹 Таймкоды: 00:20 — Почему важно разграничивать доступ 02:49 — Опасности полного доступа 04:46 — RBAC: основы и принципы 07:58 — Создание ролей и привязок 11:31 — Способы аутентификации 12:12 — Клиентские сертификаты 13:40 — Автоматизация через Ansible 15:41 — LDAP-интеграция 16:22 — Dex: простое решение 18:28 — Как работает аутентификация 24:02 — Keycloak: enterprise-вариант 28:19 — Сравнение подходов 31:40 — Работа с несколькими LDAP 🚀 Итог: Правильная настройка доступа = спокойный сон админа! 🌐 Источник: YouTube - КРОК ____________________ Дополнительный материал: 🧠 - От RPM до Snap: Путешествие через эволюцию систем управления пакетами 🧠 - Linux Deep Dive: Разбираемся с UID и группами 🧠 - Как использовать команду basename для упрощения ваших скриптов Bash #Linux_youtube #kubernetes #rbac #ldap #security #authentication #vide

Управлять облачной инфраструктурой без рутины вручную — мечта любого DevOps. Crossplane делает это реальностью, превращая рес
Управлять облачной инфраструктурой без рутины вручную — мечта любого DevOps. Crossplane делает это реальностью, превращая ресурсы в Kubernetes-объекты и упрощая delivery. На открытом уроке «Введение в Crossplane» вы разберёте ключевые концепции (Composite Resources, Claims, Providers), научитесь устанавливать и настраивать Crossplane в кластере и увидите, как декларативно создавать облачные ресурсы. Урок ведут практикующие эксперты, готовые показать реальный рабочий сценарий. Это возможность прокачать навыки GitOps и DevOps и сразу применить их в своей работе. Присоединяйтесь 18 сентября в 20:00 МСК. Урок проходит в преддверии старта курса «GitOps». Все участники получат скидку на обучение. Регистрация открыта: https://otus.pw/ZqJK/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🐳 Почему ты не можешь просто скопировать файл из Docker образа Привет, укротитель контейнеров! Знакомая боль: нужен один файл из Docker образа, но запускать контейнер не хочется. Docker почему-то не даёт простого решения. Рассказываю рабочий способ и показываю инструмент для анализа образов. Извлекаем файл из образа Скачиваем образ и создаём контейнер БЕЗ запуска:
# docker pull nginx:latest
# docker create --name nginx nginx:latest
Теперь копируем нужный файл:
# docker cp nginx:/docker-entrypoint.d/30-tune-worker-processes.sh ~/
Или выгружаем весь образ:
# docker export nginx -o ~/nginx-docker.tar.gz
Dive — рентген для образов Утилита показывает слои образа и что в каждом слое изменилось. Запускаем прямо в Docker:
# docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock \
  wagoodman/dive nginx:latest
Создаём alias для удобства:
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
Теперь просто:
# dive nginx:latest
Проверка раздутости образа Вместо docker build используй dive build — получишь анализ эффективности сборки:
# dive build -t myapp:latest .
Dive покажет: - Размер каждого слоя - Что добавилось/удалилось - Efficiency Score образа - Wasted Space (лишнее место) 💡 Фишка: встрой проверку в CI/CD — автоматически отлавливай неоптимальные образы. Итог: Docker создан для изоляции, поэтому прямого доступа к файлам нет. Но способы есть — используй их правильно. ____________________ Дополнительный материал: 🧠 - Linux Essentials: Понимание относительных и абсолютных путей к файлам 🧠 - Открытие Rancher: Путешествие от Стартапа до Лидера в Контейнеризации 🧠 - Осваиваем Docker: Искусство Сборки Образов и Управления Сетью #Linux_Mastery #docker #devops #containers #optimization

📊 Мониторинг без боли: Prometheus + Grafana одной командой Привет, строитель мониторинга! Prometheus проще Zabbix'а в разы — никаких агентов, баз данных, сложных конфигов. 10 минут и у тебя работающий мониторинг с красивыми графиками. Держи готовую шпаргалку. Установка Docker
# curl https://get.docker.com | bash -
Подготовка файлов
# mkdir ~/prometheus && cd ~/prometheus
# touch docker-compose.yml
Docker-compose конфиг Создай файл docker-compose.yml:
version: '3.9'
networks:
 monitoring:
  driver: bridge
volumes:
 prometheus_data: {}

services:

 prometheus:
  image: prom/prometheus:latest
  volumes:
   - ./prometheus.yml:/etc/prometheus/prometheus.yml
   - prometheus_data:/prometheus
  container_name: prometheus
  hostname: prometheus
  command:
   - '--config.file=/etc/prometheus/prometheus.yml'
   - '--storage.tsdb.path=/prometheus'
  expose:
   - 9090
  restart: unless-stopped
  environment:
   TZ: "Europe/Moscow"
  networks:
   - monitoring

 node-exporter:
  image: prom/node-exporter
  volumes:
   - /proc:/host/proc:ro
   - /sys:/host/sys:ro
   - /:/rootfs:ro
  container_name: exporter
  hostname: exporter
  command:
   - '--path.procfs=/host/proc'
   - '--path.rootfs=/rootfs'
   - '--path.sysfs=/host/sys'
   - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
  expose:
   - 9100
  restart: unless-stopped
  environment:
   TZ: "Europe/Moscow"
  networks:
   - monitoring

 grafana:
  image: grafana/grafana
  user: root
  depends_on:
   - prometheus
  ports:
   - 3000:3000
  volumes:
   - ./grafana:/var/lib/grafana
   - ./grafana/provisioning/:/etc/grafana/provisioning/
  container_name: grafana
  hostname: grafana
  restart: unless-stopped
  environment:
   TZ: "Europe/Moscow"
  networks:
   - monitoring
Конфиг Prometheus Создай файл prometheus.yml:
scrape_configs:
 - job_name: 'prometheus'
   scrape_interval: 5s
   scrape_timeout: 5s
   static_configs:
   - targets: ['localhost:9090']

 - job_name: 'node-local'
   scrape_interval: 5s
   static_configs:
   - targets: ['node-exporter:9100']
Запуск всего стека
# docker-compose up -d
Настройка Grafana 1. Открой http://твой-ip:3000 2. Логин: admin / admin 3. Connections → Data sources → Add Prometheus 4. URL: http://prometheus:9090 5. Dashboards → New → Import 6. Введи ID: 1860 (готовый дашборд для Node Exporter) Добавление удалённого сервера На удалённом сервере запусти exporter:
# docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" \
  prom/node-exporter:latest --path.rootfs=/host

# Проверка
# ss -tulnp | grep 9100
Добавь в prometheus.yml:
 - job_name: 'node-remote'
   scrape_interval: 5s
   static_configs:
   - targets: ['10.20.1.56:9100']
Перезапусти:
# docker compose restart
💡 Результат: полноценный мониторинг с графиками CPU, RAM, диска, сети. Всё за 10 минут без танцев с бубном! ❗️ Важно: в проде закрой порты файрволом — оставь доступ только нужным IP. ____________________ Дополнительный материал: 🧠 - Мастерство Управления Правами в Linux: От Новичка до Профи 🧠 - Максимизируйте безопасность с минимальными разрешениями в Linux 🧠 - От Slackware до Pacman: Путешествие Систем Управления Пакетами в Linux #Linux_Mastery #мониторинг #prometheus #devops #grafana #docker

🔥 Kubernetes обязателен для DevOps в 2025. Вот почему Привет, будущий мастер оркестрации! Kubernetes стал стандартом для средних и крупных компаний. Без него — никуда. Автор за 100 минут проводит от основ до запуска первого приложения в кластере. Практика на реальном проекте! 📹 Таймкоды: 00:00 — Почему K8s стал стандартом 01:10 — Контейнеризация vs традиционный деплой 03:50 — K8s vs Docker Swarm: кто победил 07:59 — Кому подходит курс 09:40 — Проект: сокращатель ссылок 15:03 — Настройка окружения 18:42 — Установка Kubernetes 23:10 — macOS: Homebrew + Minikube 29:39 — Linux: пошаговая установка 33:23 — Windows: Hyper-V setup 43:07 — Pod — основа всего 45:02 — Services: постоянный доступ 55:07 — Императивный vs Декларативный 01:00:52 — YAML: основы синтаксиса 01:12:08 — Первая конфигурация Pod 01:29:06 — NodePort Service 01:38:50 — Запуск и проверка 01:44:20 — Жизненный цикл Pod 🚀 Результат: За 1.5 часа запустишь приложение в Kubernetes, поймёшь основные концепции и будешь готов к работе с K8s в продакшене. 🌐 Источник: YouTube - PurpleSchool | Anton Larichev ____________________ Дополнительный материал: 🧠 - SELinux: От Секретного Проекта до Корпоративного Стража 🧠 - Linux Mastery: Настройка разрешений каталогов с помощью chmod 🧠 - Разгадываем тайны архитектуры: Что такое i686 в Ubuntu #Linux_youtube #kubernetes #k8s #docker #devops #video #yaml

⚠️ Даже один простой сбой в инфраструктуре может обойтись компании дорого — потерей клиентов, репутации и дохода. Но можно на
⚠️ Даже один простой сбой в инфраструктуре может обойтись компании дорого — потерей клиентов, репутации и дохода. Но можно настроить систему так, чтобы она оставалась доступной даже при отказе части узлов. 💪 VRRP и HAProxy — мощная связка для балансировки трафика и обеспечения отказоустойчивости без дорогих решений. Эти технологии позволяют проектировать надёжную инфраструктуру, минимизируя время простоя и автоматически переключая сервисы на рабочие узлы. 👉 На открытом уроке 15 сентября в 19:00 МСК мы разберём, как объединить VRRP и HAProxy, создадим отказоустойчивый кластер и пошагово настроим его в Linux-среде. Только реальные кейсы, конфигурации и практические советы. 🧠 Урок в преддверии старта курса «Инфраструктура высоконагруженных систем», посетите его и получите индивидуальное предложение на курс. 👉 Зарегистрируйтесь для участия: https://otus.pw/57uk/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

🎯 Почему твой Nmap работает медленно: трюки ускорения Эй, сканер сетей! Устал ждать, пока Nmap просканирует сеть? Я тоже постоянно забываю нужные ключи и лезу в заметки. Собрал рабочую шпаргалку с трюками ускорения — сохраняй и используй. Базовое сканирование Быстрый скан портов до 1024:
nmap 192.168.1.1
nmap 192.168.1.1 192.168.2.1
nmap 192.168.1.1-254
nmap 192.168.1.0/24
Полное сканирование всех 65535 портов:
nmap 192.168.1.1 -p-
Скан хоста, игнорирующего ping:
nmap 192.168.1.1 -Pn
Техники сканирования
nmap 192.168.1.1 -sS  # TCP SYN (по умолчанию)
nmap 192.168.1.1 -sT  # TCP connect
nmap 192.168.1.1 -sU  # UDP сканирование

# Полное TCP+UDP (очень долго!)
nmap 192.168.1.1 -sS -sU -p-
Поиск живых хостов Обнаружение без сканирования портов:
nmap 192.168.1.1/24 -sn
ARP-сканирование в локалке (в разы быстрее!):
nmap 192.168.1.1/24 -PR
Просто список IP без проверки:
nmap 192.168.1.1-15 -sL
Определение сервисов Быстрая проверка версий (1 порт = 1 строка):
nmap 192.168.1.1 -sV
Полный анализ (ОС, версии, скрипты, traceroute):
nmap 192.168.1.1 -A
🚀 Трюк для ускорения в 10 раз Вместо долгого полного сканирования — сначала найди открытые порты, потом анализируй только их:
#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p$ports -A $1
Использование:
./nmap.sh 192.168.1.1
Скорость сканирования
-T0  # paranoid (паранойдный)
-T1  # sneaky (хитрый)
-T2  # polite (вежливый)
-T3  # normal (обычный, по умолчанию)
-T4  # aggressive (для локалки)
-T5  # insane (безумный)
💡 Совет: в локальной сети смело используй -T4, для внешних хостов — -T3 или ниже. Итог: правильные ключи = экономия времени. Особенно скрипт с двухэтапным сканированием — реально ускоряет работу в разы. ____________________ Дополнительный материал: 🧠 - Путешествие по Виртуальным Интерфейсам и Канальному Уровню в Linux: От Туннелей до Мостов 🧠 - История AppArmor: Как Linux Стал Крепостью Безопасности 🧠 - Linux Mastery: Быстрое создание пакетов файлов для тестирования #Linux_Mastery #nmap #security #pentesting #networking #linux

Вопрос из теста Linux Essentials Certification: iven the following directory permissions:drwxrwxrwt 14 root 36864 2012-03-02 11:17 tmp What is the letter t at the end of drwxrwxrwt indicate? / Учитывая следующие права доступа к директории: drwxrwxrwt 14 r
Anonymous voting

Вопрос из теста Linux Essentials Certification: Identify the proper device for the third partition, on the second hard disk, on the first IDE controller on a PC system. / Определите правильное устройство для третьего раздела на втором жестком диске первог
Anonymous voting

❄️ Серверы-снежинки убивают бизнес. Ansible спасёт! Привет, борец с хаосом! У тебя есть серверы, которые не перезагружались 2 года? Боишься их трогать? Это "снежинки" — уникальные, хрупкие, невоспроизводимые. Автор показывает, как Ansible превращает хаос в код! 📹 Таймкоды: 00:00 — Что такое DevOps и зачем он нужен 00:23 — Проблема серверов-снежинок 01:20 — Infrastructure as Code: основная идея 02:15 — Обзор инструментов (Ansible, Terraform, Puppet) 02:51 — Что умеет Ansible 04:55 — Почему Ansible: без агентов, только SSH 06:56 — Структура Ansible-проекта 08:14 — Inventory: список серверов 10:59 — Переменные и их приоритеты 11:46 — Tasks и handlers 13:44 — Шаблоны с Jinja2 15:50 — Playbooks и roles 16:34 — Запуск и результат 💡 Почему Ansible побеждает: - Не нужны агенты на серверах - Работает через SSH - Конфиги в YAML (читаемо!) - Версионирование через Git - Идемпотентность 🚀 Результат: Вместо уникальных "снежинок" — воспроизводимая инфраструктура. Упал сервер? Запусти playbook — всё восстановится! 🌐 Источник: YouTube - Слёрм ____________________ Дополнительный материал: 🧠 - История зеленого великана: Как Linux Mint стал символом простоты и элегантности 🧠 - Защита данных в Linux: Как обойти ограничения файловой системы 🧠 - Все, что вам нужно знать о команде ar в Linux #Linux_youtube #ansible #devops #automation #infrastructure #video #IaC

👉 9 сентября в 20:00 мы проведём открытый вебинар «Service Mesh: как перестать беспокоиться и начать управлять микросервисам
👉 9 сентября в 20:00 мы проведём открытый вебинар «Service Mesh: как перестать беспокоиться и начать управлять микросервисами». ⚙️ Вебинар будет посвящён использованию Istio и Linkerd, двух самых популярных решений для управления микросервисами. Мы подробно разберём их архитектуру и принципы работы, научим вас эффективно управлять трафиком, трассировать и мониторить сервисы, а также разберём, как выбрать между Istio и Linkerd в зависимости от задачи. 🧠 Урок в преддверии старта курса «DevOps практики и инструменты», посетите его и получите индивидуальное предложение на курс. 👉 Зарегистрируйтесь для участия: https://otus.pw/EEe0/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

🚀 Забудь про SCP! Вот как передавать файлы в 10 раз быстрее Привет, повелитель скорости! Устал ждать, пока SCP докачает твои гигабайты? NFS обгоняет SSH, SMB и HTTP по скорости передачи. Вот готовая шпаргалка — копипасть и используй. Настройка NFS сервера Создаём директорию для шары:
# mkdir /mnt/nfs
# chown nobody:nogroup /mnt/nfs
Ставим NFS сервер:
# apt install nfs-kernel-server
Настраиваем экспорт в /etc/exports:
# Для одного IP
/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)

# Для подсети
/mnt/nfs 10.20.1.56/24(rw,all_squash,no_subtree_check,crossmnt)

# Для нескольких IP (каждый в своей строке)
/mnt/nfs 10.20.1.56(rw,all_squash,no_subtree_check,crossmnt)
/mnt/nfs 10.20.1.52(rw,all_squash,no_subtree_check,crossmnt)
Перезапускаем и проверяем:
# systemctl restart nfs-server
# systemctl status nfs-server
💡 Важно: открой TCP порт 2049 в файрволе! Настройка клиента Ставим клиентский пакет:
# apt install nfs-common
Проверяем доступность сервера:
# showmount -e 10.20.1.36
Export list for 10.20.1.36:
/mnt/nfs 10.20.1.56
Монтируем шару:
# mkdir /mnt/nfs
# mount 10.20.1.36:/mnt/nfs /mnt/nfs
Проверяем результат:
# df -h | grep nfs
10.20.1.36:/mnt/nfs         48G 3.2G  43G  7% /mnt/nfs

# Смотрим версию протокола (должна быть v4)
# mount -t nfs4
Тестируем запись:
# echo "test" > /mnt/nfs/testfile
Для постоянного монтирования добавь в /etc/fstab:
10.20.1.36:/mnt/nfs /mnt/nfs nfs4 defaults 0 0
Результат: максимальная скорость передачи файлов между серверами. Особенно выручает для временных задач — поднял, скопировал, удалил. ____________________ Дополнительный материал: 🧠 - Путешествие во Времени: От ext до ext4 - Эволюция Файловых Систем Linux 🧠 - Linux Mastery: Организация файлов и каталогов 🧠 - Как пентестеры взломали ИТ-компанию через сайт уролога и Роскомнадзор #Linux_Mastery #fileserver #nfs #linux #sysadmin #devops #performance

💾 Невидимые файлы съели весь диск? Вот решение Привет, спасатель серверов! Знакомо: df кричит "100% занято", а найти виновника не можешь? Держи шпаргалку для экстренных ситуаций — все команды проверены в боевых условиях. Базовая диагностика Смотрим общую картину:
# df -h
Ищем самые прожорливые директории:
# du -h -d 1 / | sort -hr
# du -hs /* | sort -hr

# Ограничиваем вывод топ-10
# du -h -d 1 / | sort -hr | head -10

# Топ-20 самых больших директорий
# du -hcx --max-depth=6 / | sort -rh | head -n 20

# Топ-20 самых больших файлов
# find / -mount -ignore_readdir_race -type f -exec du -h "{}" + 2>&1 \
> | sort -rh | head -n 20
Проверка inodes Иногда место есть, но закончились inodes:
# df -ih
Охота на файлы-призраки Ситуация: du показывает мало занятого места, но df говорит "диск полный". Причина — удалённые файлы, которые держит процесс:
# lsof | grep '(deleted)'
# lsof +L1
Нашли большие deleted-файлы? Перезапусти службу или убей процесс через kill -9 <pid>. Ловушка с точками монтирования Хитрый случай: скрипт должен был писать в смонтированный диск /mnt/backup, но диск не подключился. Файлы записались в локальную систему и теперь скрыты под точкой монтирования! Как проверить: 1. Отмонтируй диск временно 2. Загляни в директорию 3. Удали мусор 4. Примонтируй обратно Профилактика: всегда проверяй успешность монтирования перед записью данных в скриптах. 💡 Итог: 90% проблем с местом решаются этими командами. Сохрани и используй при первых признаках "disk full". ____________________ Дополнительный материал: 🧠 - Осваиваем RAID Массивы в Linux: Путь к Надежности и Производительности 🧠 - История OpenSUSE: От Зеленого Ящерика к Глобальному Сообществу 🧠 - Разблокируем секреты Linux: Специальные разрешения файлов #Linux_Mastery #bash #terminal #linux #sysadmin #troubleshooting #storage

🔥 Сервер взломали? journalctl покажет следы Привет, страж безопасности! Константин Герасименко показывает, как с помощью journalctl найти следы взлома, отследить подозрительную активность и настроить мониторинг в реальном времени. Без логов — нет безопасности! 📹 Таймкоды: 00:25 — Зачем читать системные журналы 05:17 — Как логи помогают выявить взлом 14:00 — journalctl vs старый syslog 21:28 — Базовые команды journalctl 26:52 — Анализ загрузок системы 32:29 — Критически важно: время на сервере 41:48 — Логи конкретных служб 54:25 — Отслеживаем входы в систему 01:02:49 — Фильтрация по приоритету 01:06:25 — Мониторинг в реальном времени 01:13:01 — Управление размером логов 💡 Ключевые моменты: - Время сервера в UTC — признак безопасности - Корреляция событий выявляет атаки - JSON-формат для автоматизации - Ротация логов экономит место 🌐 Источник: YouTube - Cisco Ne Slabo / SEDICOMM TV ____________________ Дополнительный материал: 🧠 - История, которая изменила мир Linux: Путешествие файловой системы ext2 🧠 - Linux Mastery: Настройка разрешений файлов с восьмеричным представлением 🧠 - Ваш путеводитель по команде arch в Linux: Открытие архитектуры вашей системы #Linux_youtube #journalctl #logs #security #Linux #monitoring #video

🔥 Забудь про $1 $2 $3: умные опции через getopts Привет, архитектор CLI! Надоело парсить аргументы через позиционные параметры? Делаем профессиональные флаги как в настоящих утилитах! ## 🔧 Базовый шаблон с getopts:
#!/bin/bash

# Проверка аргументов
if [ $# -eq 0 ]; then
    echo "Usage: $(basename $0) -mnopqrs"
    exit 1
fi

# Парсинг опций
while getopts ":mnopq:rs" Option; do
    case $Option in
        m ) echo "Опция -m активна";;
        n|o ) echo "Опция -$Option активна";;
        p ) echo "Опция -p активна";;
        q ) echo "Опция -q с аргументом: $OPTARG";;
        r|s ) echo "Опция -$Option";;
        * ) echo "Неверная опция";;
    esac
done

# Сдвиг к не-опциям
shift $(($OPTIND - 1))
## 💡 Как работает: - :mnopq:rs — строка опций (: после q = требует аргумент) - $OPTARG — значение для опции с аргументом - $OPTIND — индекс следующего аргумента ## 🚀 Примеры вызова:
./script.sh -m -n
./script.sh -mn              # можно слитно!
./script.sh -q "значение"
./script.sh -mnop -q test
## 📌 Бонус — импорт функций:
# Загружаем общие функции
source /path/to/common_functions.sh
# или
. ./config.sh
Теперь твои скрипты выглядят как настоящие Linux-утилиты! ____________________ Дополнительный материал: 🧠 - Командный центр Linux: Ваше руководство по базовым консольным программам 🧠 - Защитный барьер Linux: Как система обеспечивает безопасность пользователей и групп 🧠 - Мастер-класс по консольным программам Linux: Разбираемся с UID и GID #bash_guide #bash #getopts #cli #scripting #Linux #arguments

Вопрос из теста Linux Essentials Certification: Which of the following is a requirement of the GPL license but not the BSD license? / Что из следующего является требованием лицензии GPL, но не лицензии BSD?
Anonymous voting