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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام LinuxSkill - Сводки с прода и Шпаргалки

تُعد قناة LinuxSkill - Сводки с прода и Шпаргалки (@linuxskill) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 921 مشتركاً، محتلاً المرتبة 11 366 في فئة التكنولوجيات والتطبيقات والمرتبة 59 827 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 921 مشتركاً.

بحسب آخر البيانات بتاريخ 21 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -70، وفي آخر 24 ساعة بمقدار -5، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 18.12‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.37‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 1 979 مشاهدة. وخلال اليوم الأول يجمع عادةً 696 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 12.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل docker, linux, bash, devops, скрипт.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 22 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

10 921
المشتركون
-524 ساعات
-207 أيام
-7030 أيام
أرشيف المشاركات
Какой оператор используется для проверки, существует ли файл и является ли он обычным файлом (не каталогом)?
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

💡 select + dialog: Создаём админ-меню прямо в консоли Хей, гуру Linux-оболочки! Ты тратишь время на медленный Web-GUI для рутинных задач (например, перезапуск служб)? Используй команду select для создания интерактивного TUI-меню.
# 1. Задаем приглашение к вводу (PS3)
PS3='Выберите действие: ' 

# 2. Создаем TUI-меню с помощью select
select ACTION in 'Restart Proxy' 'Check Load' 'Exit'
do
    # Выполняем команду, соответствующую выбору
    case $ACTION in
        'Restart Proxy') 
            # Перезапускаем службу proxy
            systemctl restart proxy.service ;;
        'Check Load') 
            # Проверяем загрузку системы (Load Average)
            uptime ;;
        'Exit') 
            # Выход из цикла
            break ;;
    esac
done
Вывод: select позволяет тебе быстро выбрать и выполнить команду прямо в консоли. #TUI #CLI #Bash #Утилиты