DevOps Ready | IT
6.33K subscribers
660 photos
52 videos
300 links
Авторский канал по DevOps разработке.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/devops_ready
Download Telegram
Нужно понять, какие процессы потребляют CPU, особенно по SSH или внутри скрипта?

Эта команда выводит список всех процессов и сортирует их по использованию CPU, начиная с наименее нагруженных:
ps aux | sort -nrk 3 | head


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

Когда анализируете производительность, важно учитывать и архитектуру системы, потому что поведение процессов и лимиты могут отличаться:
getconf LONG_BIT


Команда показывает разрядность системы, 32 или 64 бита и помогает избежать ложных выводов при отладке, установке софта или сравнении метрик.

🔥 Связка ps + sort даёт быстрый способ анализа нагрузки, а getconf LONG_BIT показывает разрядность системы.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥76🤝3
👍 Нашел на Хабре статью, которая многим может пригодиться: «Работа с внешними устройствами в Linux»!

В этой статье:
• Пошагово разбирается, как Linux работает с дисками, флешками, USB-устройствами и внешними носителями через терминал;
• Понятно объясняется логика /dev и /sys, почему устройства могут вести себя по-разному;
• На примерах показано, как монтировать, форматировать, диагностировать устройства и не ломать систему лишними действиями.


🔊 Продолжайте читать на Habr!


➡️ DevOps Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍9🔥7
Работа с curl в Linux!

curl — универсальный инструмент для работы с HTTP/HTTPS и другими протоколами. Используется для скачивания файлов, проверки API, диагностики сетевых проблем и автоматизации.

Скачивание файла:
curl -O https://example.com/file.tar.gz


-O — сохранить файл с оригинальным именем.

Скачивание с указанием имени:
curl -o app.tar.gz https://example.com/build/latest.tar.gz


Полезно для артефактов сборки и CI.

Скачивание с докачкой:
curl -C - -O https://example.com/bigfile.iso


Продолжает загрузку с места обрыва, если сервер поддерживает Range.

Просмотр HTTP-заголовков:
curl -I https://example.com


Показывает статус-код, Content-Type, Content-Length, cache-заголовки.

Подробный вывод для диагностики:
curl -v https://example.com


Отображает TLS-рукопожатие, запрос и ответ — полезно при сетевых проблемах.

GET-запрос с параметрами:
curl "https://api.example.com/items?limit=10&offset=0"


POST-запрос с JSON:
curl -X POST https://api.example.com/items \
  -H "Content-Type: application/json" \
  -d '{"name":"test","enabled":true}'


Передача файла (multipart/form-data):
curl -F "file=@backup.tar.gz" https://upload.example.com


Используется для загрузки файлов в сервисы и хранилища.

🔥 curl работает на уровне протокола и не интерпретирует формат передаваемых данных; явно задавайте метод, когда важно избежать автоповедение.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍12🔥8
📂 Напоминалка по типам сервисов в Kubernetes!

ClusterIP даёт доступ к Pod’ам только внутри кластера, NodePort открывает фиксированный порт на каждом узле, LoadBalancer публикует сервис через внешний балансировщик, а ExternalName мапит сервис на внешний домен для интеграции с внешними ресурсами.

Сохрани, чтобы не путаться при настройке экспозиции сервисов в K8s!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6🤝6
🖼️ Диагностика портов и сервисов!

В этом посте — базовые инструменты для анализа сетевых портов и сервисов. Рассмотрены команды для просмотра слушающих сокетов, проверки доступности TCP-портов, сопоставления портов с процессами и выполнения сетевого сканирования. Подходит для эксплуатации, отладки и оперативной диагностики.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥158👍7🤝1
📂 Базовые Readline-шорткаты для bash!

Например, Ctrl + A переносит курсор в начало строки, а Ctrl + R запускает инкрементальный поиск по истории команд.

На картинке — полезные сочетания клавиш для быстрой навигации и редактирования команд в терминале.

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🤝7🔥62
Как не уничтожить лишнее при массовых операциях?

Любая массовая команда в Linux — это потенциально опасный инструмент.

Ошибка в маске, неверный путь или лишний * и можно затронуть не те файлы. Поэтому сначала всегда проверяем, что именно выберет фильтр:
find /data -type f -name "*.log" -print


-print показывает полный список совпадений. Это позволяет увидеть неожиданные вложенные каталоги, лишние расширения или неверный путь.

Когда результат полностью совпадает с ожиданиями, добавляем действие:
find /data -type f -name "*.log" -delete


Если важен контроль и наглядность, лучше использовать -exec:
find /data -type f -name "*.log" -exec rm -v {} +


🔥 rm -v покажет каждый удалённый файл, что особенно полезно в скриптах и при ручной работе в проде.

➡️ DevOps Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥98
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Linux Command Library — большая база команд!

Это удобный справочник по командам Linux с разбивкой по категориям: файлы, сеть, процессы, пользователи, Git, SSH, пакетные менеджеры и многое другое. Подходит как для начинающих, так и для тех, кто работает в терминале постоянно и хочет иметь под рукой удобную шпаргалку.

📌 Оставляю ссылочку: linuxcommandlibrary.com

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8🤝7
Перенаправление потоков и pipe!

Процесс в Unix обычно имеет три стандартных дескриптора:
0 — stdin, 1 — stdout, 2 — stderr.

Shell не обрабатывает вывод — он до запуска команды переназначает, к каким объектам привязаны дескрипторы (терминал, файл, pipe). Поэтому процесс стартует уже с изменённой таблицей дескрипторов.

Базовый случай — перенаправление stdout в файл:
echo "test" > file.txt


Оператор > открывает файл с перезаписью (truncate). Если нужно дописывать данные в конец, используется >>:
echo "line" >> file.txt


Важно помнить, что > по умолчанию влияет только на stdout (fd 1).
Для stderr используется дескриптор 2:
command 2> error.log


Так можно разделить обычный вывод и ошибки в разные файлы:
command > out.log 2> error.log


Поскольку stdout и stderr — независимые дескрипторы, их можно направить в один файл:
command > all.log 2>&1


2>&1 означает: направить stderr туда же, куда в этот момент направлен stdout.

Редиректы применяются слева направо, поэтому порядок критичен:
command > all.log 2>&1   # оба потока в файл
command 2>&1 > all.log # stderr останется в терминале


Это именно копирование назначения дескриптора, а не абстрактное объединение потоков.

stdin (fd 0) тоже можно переназначить:
sort < input.txt


В этом случае файл становится источником данных для процесса.

Оператор | создаёт pipe — канал между процессами: stdout левой команды подключается к stdin правой.
grep 500 access.log | wc -l


Через pipe передаётся только stdout. Если нужно передать и stderr, его сначала перенаправляют в stdout:
make 2>&1 | tee build.log


Shell также позволяет работать с дополнительными дескрипторами, что удобно в скриптах:
exec 3> debug.log
echo "debug info" >&3
exec 3>&-


В этом контексте exec изменяет дескрипторы текущего shell-процесса, позволяя организовать отдельные каналы вывода.

🔥 Основные принципы просты: редиректы настраиваются до запуска, применяются слева направо; 2>&1 копирует stdout, pipe соединяет stdout одной команды со stdin другой.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8🔥5🤝3
📂 SSH Remote Port Forwarding — краткая памятка!

Например, ssh -R используется для публикации локальных сервисов через удалённый SSH-сервер.

На изображении показано: базовый синтаксис ssh -R, отличие short и long form, маршрут трафика через SSH-туннель, влияние параметра GatewayPorts на стороне сервера

Сохрани, чтобы не забыть!

➡️ DevOps Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝7👍5🔥52
Изоляция процессов в Linux через Unshare без Docker и тяжелых утилит!

Мы научимся использовать системный вызов unshare для создания изолированного пространства имен (namespaces), что является фундаментом контейнеризации в Linux.

Это позволяет запустить процесс с собственной таблицей хостов или файловой системой, не влияя на основную ОС.

Сначала создадим изолированную среду с собственной сетевой петлей и новым пространством имен для имени хоста:
sudo unshare --fork --uts --net bash


Теперь вы находитесь внутри изолированного процесса, где изменения параметров сети не коснутся основной системы.

Внутри новой оболочки зададим уникальное имя хоста, чтобы убедиться в полной изоляции UTS namespace:
hostname sandbox-env && hostname


Имя хоста изменится только для этой сессии, в то время как основная система сохранит прежнее название.

Для полной демонстрации сетевой изоляции попробуем поднять интерфейс, который будет существовать только в этом пространстве:
ip link set lo up && ip addr show lo


Внутри этого пространства вы увидите чистый сетевой стек, полностью отделенный от физических интерфейсов сервера.

Проверка работоспособности:
hostname


Ожидаемый вывод: ваше старое имя хоста (подтверждает, что изоляция работает).

🔥 Помните, что для некоторых флагов изоляции (например, монтирования) требуются права суперпользователя или настройка User Namespaces.

➡️ DevOps Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍9🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ KodeKloud Labs — онлайн-лаборатории для практика DevOps!

Это интерактивная площадка, где можно тренироваться в Linux, Docker, Kubernetes, Git, Terraform и других DevOps-инструментах прямо в браузере. Вместо теории, готовые лабораторные среды с задачами: запускаешь окружение, выполняешь команды, настраиваешь сервисы. Отличный вариант, если хочешь попрактиковаться без установки инструментов.

📌 Оставляю ссылочку: kodekloud.com

➡️ DevOps Ready | #сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍9🤝7
🖼️ Ansible CLI: 7 приёмов для управления инфраструктурой.

Ansible — это не только написание YAML-файлов, но и умение виртуозно владеть его консольными инструментами. Правильные флаги помогают избежать ошибок при деплое, быстро проверять изменения без риска для продакшена и безопасно управлять секретами.

➡️ DevOps Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥7👍6🤝2