LinuxSkill - Сводки с прода и Шпаргалки
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4
Ko'proq ko'rsatish📈 Telegram kanali LinuxSkill - Сводки с прода и Шпаргалки analitikasi
LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 938 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 11 403-o'rinni va Rossiya mintaqasida 59 941-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 10 938 obunachiga ega bo‘ldi.
16 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -70 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 16.78% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.95% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 1 835 marta ko‘riladi; birinchi sutkada odatda 651 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 9 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent docker, linux, bash, devops, скрипт kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.
📩 По всем вопросам: @chorapov
Зеркало в MAX: https://max.ru/LinuxSkill
РКН https://vk.cc/cMUwm4”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 17 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
# 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 #dockernmap 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# 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 -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#!/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# Установка одной строкой
curl -o - https://get.docker.com | bash -
📦 Управление контейнерами:
Запуск с автостартом:
docker run -d -p 80:80 --restart always --name nginx-proxy nginx
Просмотр контейнеров:
docker ps # запущенные
docker ps -a # все
Удаление:
docker rm nginx-proxy # остановленный
docker rm -f nginx-proxy # принудительно
Массовые операции:
# Остановить все
docker stop $(docker ps -a -q)
# Удалить все
docker rm $(docker ps -a -q)
🖼️ Работа с образами:
docker images # список
docker rmi nginx # удалить один
docker rmi $(docker images -a -q) # удалить все
🔍 Отладка и мониторинг:
Войти в контейнер:
docker exec -it nginx-proxy bash
Логи:
docker logs nginx-proxy # все логи
docker logs -n 100 nginx-proxy # последние 100 строк
docker logs -f nginx-proxy # следить в реальном времени
Мониторинг ресурсов:
docker stats nginx-proxy
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Процессы в контейнере:
docker top nginx-proxy
🛠️ Продвинутые команды:
Детальная информация:
docker inspect nginx-proxy
docker inspect -f '{{ .NetworkSettings.Networks.bridge.IPAddress }}' nginx-proxy
docker inspect --format '{{json .Mounts}}' grafana | jq .
Управление местом:
docker system df # занятое место
docker system prune # очистка
Копирование файлов:
# Из контейнера
docker cp nginx-proxy:/etc/nginx/nginx.conf ~/nginx
# В контейнер
docker cp ~/nginx/nginx.conf nginx-proxy:/etc/nginx
Экспорт контейнера:
docker export nginx-proxy -o ~/nginx-proxy.tar.gz
📚 Бонус — полезные темы:
🔧 Инструменты: Portainer, ctop, cdebug
🛡️ Безопасность: Trivy, Dockle, CIS рекомендации
📊 Мониторинг: Zabbix, Prometheus
🗃️ Бэкапы: docker-volume-backup
Теперь у тебя есть всё для работы с Docker. Эти команды покрывают 90% повседневных задач!
____________________
Дополнительный материал:
🧠 - Открытый мир Linux: Сокровищница инструментов для системных администраторов
🧠 - Стартуйте в IT с Бесплатным курсом по Linux: от Нуля до DevOps
🧠 - От /etc/passwd к централизованному управлению: Как Linux трансформировал учетные записи
#Linux_Mastery #docker #DevOps #containers #Linux #подборка #automation#!/bin/bash
# Убийца процессов по имени
E_BADARGS=66
if test -z "$1"; then
echo "Usage: $(basename $0) имя_процесса"
exit $E_BADARGS
fi
PROCESS_NAME="$1"
# Магическая строка
ps ax | grep "$PROCESS_NAME" | awk '{print $1}' | xargs -i kill {} 2>/dev/null
exit $?
💡 Как работает магия:
- ps ax — список всех процессов
- grep — фильтруем по имени
- awk '{print $1}' — извлекаем PID
- xargs -i kill {} — убиваем каждый процесс
🚀 Использование:
# Убить все Chrome
./kill-byname.sh chrome
# Закрыть все терминалы
./kill-byname.sh xterm
# Остановить Firefox
./kill-byname.sh firefox
⚠️ ВНИМАНИЕ:
Скрипт опасен! Особенно под root. Можешь случайно убить системные процессы.
💡 Альтернативы:
# Если есть killall
killall chrome
# Через pkill
pkill -f chrome
# Через pidof
kill $(pidof chrome)
Теперь ты можешь массово управлять процессами даже на минимальной системе!
____________________
Дополнительный материал:
🧠 - Революция в управлении дисковым пространством: Встречайте topdiskconsumer
🧠 - Все о группах в Linux: Почему это важно для каждого пользователя?
🧠 - Энциклопедия Docker: Незаменимые инструменты для системных администраторов
#bash_guide #bash #process #kill #Linux #sysadmin #script# Посмотреть доступные интерфейсы
tcpdump -D
Базовый перехват:
# Все интерфейсы без резолва имён (-nn это важно!)
tcpdump -nn -i any
# Конкретный интерфейс
tcpdump -nn -i ens3
🔧 Главный лайфхак — исключаем SSH:
# SSH забивает вывод? Исключаем порт 22
tcpdump -nn -i any port not 22
📡 Фильтруем по адресам:
# Трафик к конкретному адресу
tcpdump -nn dst 8.8.8.8
# К нескольким адресам
tcpdump -nn dst 8.8.8.8 or dst 8.8.4.4
# Комбо: адрес + порт
tcpdump -nn dst 8.8.8.8 and port 53
🎯 Работа с протоколами:
# Только ARP
tcpdump arp -nn -i any
# Всё, кроме ARP
tcpdump not arp -nn -i any
# Исключаем несколько протоколов
tcpdump not arp and not icmp -nn -i any
💡 Реальный пример из жизни:
Отладка SIP-трафика через VPN:
tcpdump -nn -i tun4 src 10.1.4.23 and dst 10.1.3.205 and port 5060
🚀 Про-совет:
Большой поток? Сохраняй в файл:
tcpdump -nn -i any > ~/tcpdump.txt
Что искать в выводе:
IP 10.8.2.2.13083 > 10.8.2.3.8118Читается: IP источник.порт > получатель.порт Вот и всё! Этих команд хватает для 90% задач. tcpdump выглядит страшно, но на деле нужно только видеть, откуда и куда идут пакеты. ____________________ Дополнительный материал: 🧠 - Linux Systemd: Искусство мониторинга служб 🧠 - Linux Systemd: Мастер-класс по управлению службами 🧠 - Linux Systemd: Как стать магистром служб #Linux_Mastery #network #tcpdump #Linux #DevOps #networking #debug
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
