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

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

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram LinuxSkill - Сводки с прода и Шпаргалки

El canal LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 916 suscriptores, ocupando la posición 11 331 en la categoría Tecnologías y Aplicaciones y el puesto 59 814 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 916 suscriptores.

Según los últimos datos del 24 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -71, y en las últimas 24 horas de -2, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 17.99%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 6.03% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 964 visualizaciones. En el primer día suele acumular 658 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 11.
  • Intereses temáticos: El contenido se centra en temas clave como docker, linux, bash, devops, скрипт.

📝 Descripción y política de contenido

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

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 25 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

10 916
Suscriptores
-224 horas
-207 días
-7130 días
Archivo de publicaciones
🔒 Вот что hackers проверяют в первую очередь на твоём сервере Каждый день на серверы идут тысячи автоматических сканирований на поиск слабых мест. Проблема: ты даже не знаешь, какие уязвимости уже есть в твоей системе. SSH настроена правильно? Firewall включён? Сервисы обновлены? Решение: два инструмента, которые за минуты покажут тебе всё, что видит хакер. 🔹 vps-audit https://github.com/vernu/vps-audit Легковесный bash-скрипт для быстрого аудита VPS: • Проверяет SSH-конфигурацию (root login, слабые пароли) • Статус firewall, fail2ban и открытых портов • Запущенные сервисы и SUID файлы • Генерирует цветной отчёт (🟢 PASS / 🟡 WARN / 🔴 FAIL) • Нет зависимостей, работает везде 🔹 Lynis https://github.com/CISOfy/lynis Профессиональный инструмент аудита (15+ лет на рынке): • Сканирует 200+ параметров безопасности • Проверяет compliance (PCI DSS, HIPAA, ISO27001) • Поиск уязвимостей в ПО и конфигурации • Детальный hardening index — оценка безопасности • Работает на Linux, macOS, BSD (14.5k звёзд на GitHub) Запусти прямо сейчас — узнаешь, что hackers видят на твоём сервере первым делом. #Linux #Monitoring #Disk #DevOps #Bash #CLI

Какой оператор используется для проверки, существует ли файл и является ли он обычным файлом (не каталогом)?
Anonymous voting

Какая специальная переменная содержит количество аргументов, переданных скрипту?
Anonymous voting

🔥 Забудь про 500 ошибку: Тест конфига Nginx перед запуском echo "Привет, инженер!" Знакомая ситуация: поправил конфиг, перезапустил службу, а сервер «лежит» из-за пропущенной точки с запятой? Чтобы избежать страданий и простоя продакшна, всегда проверяй исправность конфигурационных файлов перед перезапуском. У многих популярных программ есть встроенные средства для такой проверки. 📌 Команда для проверки конфигурации Nginx:
nginx -t

Что происходит: Если в файле нет синтаксических ошибок, команда просто завершится или выведет сообщение об успехе. Если ошибки есть, она сообщит о них, указав строку с проблемой,. 💡 Совет: Используй systemctl reload вместо restart, когда это возможно. Reload (перезагрузка конфигурации) обычно безопаснее, так как процесс перезапускается только после успешной проверки конфигурации,. Проверяй конфиг до того, как это сделают пользователи! 😉 #Nginx #Linux #SysAdmin #DevOps #CLI

🔥 Забудь про vim: Добавляем источники apt в одну строку root@localhost:~# Часто нужно добавить новый репозиторий в систему (например, при начальной настройке сервера), но открывать текстовый редактор долго и неудобно для скриптов. Обычное перенаправление вывода через sudo может вызвать ошибку «Permission denied». Есть элегантный способ добавлять строки текста в файл, например, имя репозитория ПО в файл источников, не открывая его для редактирования. Используй синтаксис с командой tee. 📌 Команда для добавления репозитория (на примере Nginx):
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Разбор полетов: echo — передает строку текста в канал (pipe). lsb_release -cs — автоматически подставляет кодовое имя твоего дистрибутива. sudo tee — принимает вывод и записывает его в файл с правами суперпользователя, обходя ограничения оболочки. 💡 Совет: Используй флаг -a с командой tee (например, sudo tee -a), если хочешь добавить строку в конец файла, а не перезаписать его полностью. #Linux #CLI #SysAdmin #DevOps #Apt

🔥 Забудь про UptimeRobot: Свой мониторинг на коленке printf "Hello\n" Иногда разворачивать тяжелые комбайны мониторинга ради проверки пары узлов — это как стрелять из пушки по воробьям. Ты же знаешь силу командной строки: зачем тебе веб-интерфейс, если есть старый добрый Bash? Можно написать простой скрипт, который будет проверять доступность хоста и сообщать статус. Это база, которая работает на любом утюге с Linux. 📌 Скрипт проверки доступности узла:
HNAME=news-15.net  # Пресловутый спамер.
# HNAME=$HOST        # Отладка: проверка локальной сети.
  count=2            # Отсылаются только два пинга.

if [[ `ping -c $count "$HNAME"` ]]
then
  echo ""$HNAME" все еще работает и рассылает спам."
else
  echo ""$HNAME" Кажется выключен. Жаль."
fi
Разбор полетов: Переменная HNAME хранит адрес цели. ping -c 2 отправляет ровно два пакета (чтобы не ждать вечно). Конструкция if [[ ... ]] проверяет код возврата команды ping. Если 0 (успех) — узел жив. 💡 Почему это круто: Ты не зависишь от стороннего софта. Работает даже на встраиваемых системах и роутерах. Легко добавить отправку уведомления на почту или в Telegram прямо в блок else. #Linux #Bash #DevOps #Scripting #Monitoring

📉 Ubuntu весит 100МБ, а Alpine — 5МБ. Почувствуй разницу Привет, $(whoami)! 👋 Твои Docker-образы занимают сотни мегабайт, а деплой длится вечность? Часто проблема в том, что ты используешь «тяжелые» базовые образы, в которых куча ненужного софта (6 разных оболочек, 3 пакетных менеджера и т.д.). Для продакшена и микросервисов идеально подходит Alpine Linux. Это минималистичный дистрибутив, который весит всего около 5 МБ. Меньше размер — быстрее скачивание, меньше уязвимостей и выше скорость запуска. 📌 Пример минимального Dockerfile:
FROM alpine:latest
# copy all of the files in this project into the Docker image
RUN mkdir public-app/
ADD . public-app/
WORKDIR public-app
Что здесь происходит: FROM alpine:latest — берем легкую базу. Создаем папку и копируем туда проект. Назначаем рабочую директорию. 💡 Совет: Используй Alpine, когда тебе нужно запустить одно конкретное приложение или сервис. Если в образе нет лишних утилит, их не смогут использовать злоумышленники, что уменьшает поверхность атаки. #Docker #DevOps #Alpine #Containers #Optimization

💥 IaC: Тестирование инфраструктуры — как внедрить инженерные практики и перестать бояться изменений 🔥 14 января в 20:00 мск
💥 IaC: Тестирование инфраструктуры — как внедрить инженерные практики и перестать бояться изменений 🔥 14 января в 20:00 мск — бесплатный открытый вебинар OTUS Вы вносите изменения в Terraform/Ansible и молитесь, чтобы ничего не сломалось в проде? Пора перестать бояться: инфраструктура должна тестироваться так же жёстко, как продуктовый код. На вебинаре разберём, как построить полноценную систему тестирования IaC и превратить изменения в инфраструктуре из лотереи в предсказуемый процесс. 📌 Что будет: — Мифы и реальные боли: почему без тестов инфраструктура ломается в самый неподходящий момент — Пирамида тестирования IaC — Как встроить проверки в GitLab CI и сделать pipeline’ы предсказуемыми — Практики выживания: стандарты, структура проектов, кодстайл, документация 🎯 После вебинара вы сможете: — Автоматически проверять инфраструктурный код до применения — Ловить регрессии и «магические» конфиги на этапе MR — Внедрить тесты в текущие процессы без боли — Снизить количество аварий и ночных звонков — Поднять инженерную культуру команды до взрослого уровня 👉 Регистрация уже открыта https://otus.pw/SHSG/ Вебинар приурочен к старту курса «DevOps-инженер: практики и инструменты»: за 5 месяцев вы построите полностью протестированную, автоматизированную и отказоустойчивую инфраструктуру на реальном боевом стеке. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

💾 UUID или /dev/sda? Почему твой сервер не грузится Привет, суперпользователь! 👋 Знакомая ситуация: подключил новый диск, перезагрузил сервер, а он «встал»? Скорее всего, имена устройств сместились (например, sda стал sdb), и система не нашла корневой раздел по старому пути,. Чтобы спать спокойно, используй в /etc/fstab не имена устройств, а UUID (универсальный уникальный идентификатор). Он остается неизменным, даже если ты переставишь диски местами,. 📌 Как узнать UUID всех разделов? Используй команду blkid (Block ID). Она покажет атрибуты всех блочных устройств.
# blkid
/dev/sdf2: UUID="b600fe63-d2e9-461c-a5cd-d3b373a5e1d2" TYPE="ext4"
/dev/sda1: UUID="17f12d53-c3d7-4ab3-943e-a0a72366c9fa" TYPE="ext4" PARTUUID="c9a5ebb0-01"
/dev/sda5: UUID="b600fe63-d2e9-461c-a5cd-d3b373a5e1d2" TYPE="swap" PARTUUID="c9a5ebb0-05"
/dev/sde1: UUID="4859-EFEA" TYPE="vfat"
Что мы видим: UUID="..." — тот самый идентификатор, который нужно копировать в fstab. TYPE="..." — тип файловой системы (ext4, swap, vfat). 💡 Лайфхак: Если нужно узнать данные только для конкретного диска, просто укажи его имя: blkid /dev/sda1. #Linux #SysAdmin #Storage #CLI #Fstab

Как выполнить арифметическую операцию 5 + 3 в Bash?
Anonymous voting

Что делает оператор && между двумя командами (cmd1 && cmd2)?
Anonymous voting

🛡 Твой новый стандарт: Генерируем SSH Ed25519 С возвращением! 👋 Всё еще генерируешь ключи через rsa -b 4096? Это надежно, но ключи получаются длинными, а генерация — медленной. В современном мире стандартом де-факто становится Ed25519. Это алгоритм на эллиптических кривых: он безопаснее, быстрее и создает очень компактные ключи, которые удобно копировать. Давай обновим твои доступы за одну минуту. 📌 Команда для генерации:
ssh-keygen -t ed25519 -C "admin@myserver"
Разбор флагов: -t ed25519 — указываем тип ключа. Он обеспечивает превосходную безопасность и высокую производительность. -C "комментарий" — метка (обычно email), чтобы ты не запутался в authorized_keys, когда ключей станет много. 💡 Что делать дальше? 1. Закинь ключ на сервер: Используй утилиту ssh-copy-id, она сама разложит всё по полочкам:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-host
Если ssh-copy-id нет под рукой, можно сделать это вручную (но это дольше):
cat ~/.ssh/id_ed25519.pub | ssh user@remote-host "cat >> ~/.ssh/authorized_keys"
2. Проверь права (на локальной машине): Приватный ключ должен быть доступен только тебе (права 600), иначе SSH-клиент может отказаться работать или это создаст дыру в безопасности.
chmod 600 ~/.ssh/id_ed25519
Переходи на Ed25519 — это быстрее, короче и безопаснее. Сохрани шпаргалку, чтобы не гуглить флаги! 🔥 #SSH #Linux #Security #DevOps #CLI

🔥 Компактный IP: Смотрим сеть без боли в глазах EHLO, коллега! 👋 Признайся, сколько раз ты вводил ip addr и тонул в потоке информации о MTU, qdisc и broadcast-адресах, пытаясь найти заветные цифры IP? 😵 Или по старой привычке ставил net-tools, чтобы вернуть любимый, но устаревший ifconfig,? В современном пакете iproute2 есть скрытая жемчужина — флаг -br (brief), который превращает вывод в аккуратную таблицу. Больше не нужно писать длинные пайплайны с grep и awk. 📌 Команда для читаемого вывода:
ip -br a
Что она делает: -br (brief) — включает режим краткого вывода. a (addr) — показывает адреса. Результат будет выглядеть примерно так:
lo               UNKNOWN        127.0.0.1/8 ::1/128
eth0             UP             192.168.1.10/24 fe80::a00:27ff:fe0d:d90c/64
💡 Почему это круто: 1. Ты сразу видишь статус (UP/DOWN), имя интерфейса и IP. 2. Это работает «из коробки» в большинстве современных дистрибутивов (CentOS 8+, Ubuntu 18.04+ и др.). 3. Идеально для твоих скриптов и беглого просмотра состояния сети. #Linux #Networking #CLI #SysAdmin #DevOps

💥 Фениксы и снежинки: как строить инфраструктуру, которая не ломается 🔥 25 декабря в 20:00 мск — бесплатный вебинар в OTUS
💥 Фениксы и снежинки: как строить инфраструктуру, которая не ломается 🔥 25 декабря в 20:00 мск — бесплатный вебинар в OTUS Почему одни инфраструктуры падают от малейшего чиха и восстанавливаются только «волшебником Васей», а другие перезапускаются за минуты даже после полного апокалипсиса? Разберём, как превратить хрупкую «снежинку» в инфраструктуру-феникс: полностью воспроизводимую, декларативную и самовосстанавливающуюся. 📌 Что будет: — Как распознать «снежинку» и почему она смертельно опасна — Принципы «феникса»: самовосстановление и предсказуемость — Ключевые инструменты: Terraform, Ansible, GitOps — смерть ручным настройкам — Процессы, которые спасают: код-ревью, тесты, автоматизация 🎯 После вебинара вы сможете: — Мгновенно находить снежинки и уничтожать их — Создавать окружения одной командой — Сделать инфраструктуру независимой от людей — Спать спокойно, даже если сгорит весь дата-центр 👉 Регистрация открыта: https://otus.pw/JloL/ Вебинар приурочен к старту курса «DevOps-инженер: практики и инструменты»: за 5 месяцев — полный боевой стек Docker → Kubernetes → Terraform → Ansible → CI/CD → мониторинг. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🏎️ Почему твой 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

⚠️ Никогда не используй [ ] в Bash, пока не прочитаешь это Привет, инженер! 👋 Сколько раз ты ловил binary operator expected или забывал экранировать > в условии? В Bash скобки — это не просто стиль, это разные инструменты с разной логикой. Давай разложим всё по полочкам, чтобы твои скрипты работали предсказуемо. 📌 1. Одинарные квадратные [ ... ] — Классика (test) Это синоним команды test. Она старая, POSIX-совместимая, но капризная. Нюанс: Переменные нужно брать в кавычки "$var", иначе при пустом значении скрипт упадет. Минус: Знаки > и < нужно экранировать (\>), иначе Bash решит, что это перенаправление ввода/вывода.
if [ "$a" = "root" ]; then echo "Hi root"; fi

📌 2. Двойные квадратные [[ ... ]] — Расширенная проверка Это ключевое слово самого Bash. Оно мощнее и безопаснее. Плюс: Не нужно экранировать > и <. Поддерживает логические && и || прямо внутри скобок. Киллер-фича: Поддерживает регулярные выражения через оператор =~.
# Проверка регуляркой (без кавычек!)
if [[ "$ver" =~ ^3\. ]]; then echo "Version 3.x"; fi

📌 3. Одинарные круглые ( ... ) — Подоболочка (Subshell) Команды внутри запускаются в отдельном процессе. Суть: Переменные, измененные внутри (), не меняются в основном скрипте. Пример: (cd /tmp; rm *.log) — вы перейдете в папку только внутри скобок, основной скрипт останется в текущей директории. 📌 4. Двойные круглые (( ... )) — Арифметика Специальная конструкция для математики в стиле Си. Плюс: Можно не писать $ перед переменными. Поддерживает инкременты var++ и тернарные операторы.
(( a++ ))       # Увеличить a на 1
b=$(( a + 5 ))  # Записать результат в b

💡 Итог: Пишешь на Bash? Всегда используй [[ ]] для условий и (( )) для математики. Оставь [ ] для совместимости со старым sh. #Linux #Bash #DevOps #Scripting #Shell

🎥 Вебинар по Linux: Пользователи и права в Linux: первые шаги администратора Разберёмся, как устроена система пользователей
🎥 Вебинар по Linux: Пользователи и права в Linux: первые шаги администратора Разберёмся, как устроена система пользователей в Linux и зачем нужны root, sudo и su. На вебинаре вы узнаете: - Какие бывают типы пользователей в Linux и чем они отличаются. - Где хранится информация о локальных пользователях и как её читать. - Как безопасно переключаться между пользователями с помощью su и sudo. - Какие ошибки часто совершают новички при работе с правами. В результате вебинара вы: - Узнаете, как Linux идентифицирует пользователей и их права. - Сможете легко переключаться между пользователями. - Научитесь читать системные файлы /etc/passwd и /etc/shadow. - Поймёте, как использовать sudo без ошибок и повысить безопасность своей системы. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic" 👉 Для участия зарегистрируйтесь: https://otus.pw/xwoC/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

🔥 DevOps-стек: Запусти 3 контейнера одной командой (YAML) Привет, цифровой архитектор! Тратить время на ручное развертывание тестовых сервисов. Docker Compose позволяет тебе развернуть весь DevOps-стек (приложение, БД, мониторинг) одной командой.
# docker-compose.yml (версия 3.8)
version: '3.8'
services:
  app:
    # Пример: веб-приложение Flask
    image: custom/app:1.0 
    ports: ["8080:8080"]
    # Переменные среды для подключения к БД (The Twelve-Factor App)
    environment: 
      DB_HOST: db
  db:
    # Официальный образ БД
    image: postgres:15 
    # Сохраняем данные на томе (volume)
    volumes:
      - db_data:/var/lib/postgresql/data 
  monitor:
    # Пример дашборда
    image: grafana/grafana:latest 
    ports: ["3000:3000"]
volumes:
  db_data: # Объявление тома
Вывод: Запусти стек командой docker-compose up -d. #Docker #DevOps #Мониторинг #YAML

Как получить длину строковой переменной ${string}?
Anonymous voting

Какая переменная хранит код возврата (exit status) последней выполненной команды?
Anonymous voting