fa
Feedback
DevOps Portal | Linux

DevOps Portal | Linux

رفتن به کانال در Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3P8kFH

نمایش بیشتر

📈 تحلیل کانال تلگرام DevOps Portal | Linux

کانال DevOps Portal | Linux (@loose_code) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 13 084 مشترک است و جایگاه 9 390 را در دسته فناوری و برنامه‌ها و رتبه 49 413 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 13 084 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 31 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 15 و در ۲۴ ساعت گذشته برابر -1 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 17.56% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 9.58% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 298 بازدید دریافت می‌کند. در اولین روز معمولاً 1 254 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 9 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند devops, kubernetes, docker, linux, ebpf تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3P8kFH

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 01 سپتامبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

13 084
مشترکین
-124 ساعت
+97 روز
+1530 روز
آرشیو پست ها
Чем отличается su от sudo? su «substitute user» — заменить пользователя sudo «substitute user and do» — подменить пользователя и выполнить su требует пароль целевой учетной записи, на кого переключаемся. sudo требует пароль текущего пользователя и запускает от его имени команды, которым требуются права суперюзера. Например, мы сидим под пользователем user и хотим войти под John:
user@dev:/$ su john
Будет запрошен пароль, нужно ввести пароль именно от учетной записи john, а не от user. А вот пример с sudo:
user@dev:/$ sudo -u john whoami
А здесь нужно ввести пароль от учетной записи user, а не от John или рута. Но для этого случая сперва необходимо добавить пермишены для пользователя user в файл /etc/sudoers.
user ALL=(ALL:ALL) ALL
Редактировать этот файл можно по средствам команды visudo. А свалидировать конфиг можно командой visudo -c. Редактирование этого файла через visodu хорошо тем, что если вы допустите ошибку, то при сохранении, оно сообщит о ней.
А для чего нужен дефис после su? Для очистки переменных и чтобы пользоваться чистой оболочкой при переключении на другого пользователя. Авторизуемся под пользователем user и экспортируем переменную:
ssh user@pc
export a="test"
Теперь у пользователя user есть переменная "a" которая = test. Переключаемся на пользователя John и смотрим переменную "a"
su john
echo $a
Вывелась строчка test. То есть все что мы задали под user, перекочевало в оболочку john. А теперь добавим дефис:
su - john
echo $a
Переменная $a больше не выводится. Чистая оболочка. Кстати с этим дефисом часто косячат и потом долго не могут понять в чем причина. Переменные вроде были заданы, а потом куда-то пропали.
su (с дефисом) — сначала переключается пользователь, а затем запускается shell, зачищаются все переменные.
su (без дефиса) — переключает пользователя, оставляя переменные окружения старого пользователя.
У sudo есть подобные ключи -s -i
user@pc:/$ sudo -s
Запустится оболочка с правами root
user@pc:/$ sudo -i
Запустится оболочка, но уже с чтением файлов root/.profile/.bashrc и т.п. Можно попробовать добавить экспорт переменной в .profile, сделать sudo -s/-i и увидеть что с ключом -i переменная выведется на экран.
По сути sudo -i = команде sudo su -. Но обычно за sudo su - в приличных местах можно получить по шапке. Это плохая практика! Так как это порождает дополнительный процесс и больше гемора с набором самой команды.
👉 DevOps Portal

😁 👉 DevOps Portal
😁 👉 DevOps Portal

Самоучитель по CI/CD в K8s Отличный ресурс, чтобы освоить Kubernetes и научиться доставлять в него код своих приложений Пошаг
Самоучитель по CI/CD в K8s Отличный ресурс, чтобы освоить Kubernetes и научиться доставлять в него код своих приложений Пошаговые инструкции, теория и примеры кода помогут быстро погрузиться в процесс Выбирайте свою технологию: 👉 Node.js 👉 Spring Boot 👉 Django 👉 Go 👉 Rails 👉 Laravel 👉 DevOps Portal | #ресурсы

Отомстил Binance Буба работал управляющим в Binance в России. Площадка — всё, и теперь он создал свой канал. ❗️Перед уходом B
Отомстил Binance Буба работал управляющим в Binance в России. Площадка — всё, и теперь он создал свой канал. ❗️Перед уходом Binance украл у него 200.000$ Теперь он помогает подписчикам выбирать правильные биржи и когда ждать биткоин по 120.000$. Этой информации нет в интернете — только тут: 📈 Топ-3 проверенных биржи 🪙 Альты, на которых вы сделаете +500% за декабрь 💬 Чат на 6.000+ инвесторов Буба рассказывает обо всех секретах торговли на крипторынке. Трейдерский опыт и знания, которых нет нигде: t.me/+TT9qMUF_Q1Q3MDYy

Топ 4 лучших типа сервисов Kubernetes в одной диаграмме. 👉 ClusterIP ClusterIP - это стандартный и наиболее распространенный
Топ 4 лучших типа сервисов Kubernetes в одной диаграмме. 👉 ClusterIP ClusterIP - это стандартный и наиболее распространенный тип службы. Kubernetes назначает сервису ClusterIP внутренний IP-адрес кластера. Это делает службу доступной только в пределах кластера. 👉 NodePort Это позволяет вывести сервис за пределы кластера, добавив общекластерный порт поверх ClusterIP. Мы можем запросить сервис по NodeIP:NodePort. 👉 LoadBalancer Этот способ раскрывает сервис извне, используя балансировщик нагрузки облачного провайдера. 👉 ExternalName Сопоставляет службу с доменным именем. Обычно это используется для создания службы в Kubernetes для представления внешней базы данных. 👉 DevOps Portal

Примеры типовых операций в bash-скриптах Арифметические действия, циклы по кол-ву раз #!/bin/bash A="10" B="5" C=`expr $A + $B` printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C" # пример цикла по i I=0 while [ $I -lt 15 ] do printf "0x%02x " "$I" I=`expr $I + 1` done echo Разного рода проверки #!/bin/bash # пример проверки существования файла # создаем файл test1 touch test1 # проверяем существование файла test1 if [ -f test1 ] ; then echo "файл test1 существует" fi # проверяем несуществование файла test2 if ! [ -f test2 ] ; then echo "файл test2 не существует" fi # краткая справка по другим опциям команды [ ] # -d filename директория существует # -f filename файл существует # -L filename символьная ссылка существует # -r, -w, -x файл доступен для чтения, записи или выполнения # -s filename файл существует и имеет ненулевую длину # f1 -nt f2 f1 новее чем f2 # f1 -ot f2 f1 старше чем f2 Работа с FTP #!/bin/bash ADDRESS=192.168.1.150 USER=root PASSWORD=root ftp -n -p ADDRESS <<EoF user USER PASSWORD cd /usr/bin put my_cool_program quit EoF exit 0 Работа с telnet #!/bin/bash ( sleep 1 echo "root" echo "cd /tmp" echo "ls" sleep 1 echo "quit" ) | telnet 192.168.1.150 Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем. Пример цикла по множеству значений #!/bin/bash # пример цикла по множеству значений for A in раз два три четыре пять do echo "$A," done echo "вышел заяц погулять" echo Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой chmod a+x script.sh 👉 DevOps Portal

🎁Осталось две недели на то что бы стать программистом в 2024 В телеграмм появился канал в котором бесплатно слили весь топов
🎁Осталось две недели на то что бы стать программистом в 2024 В телеграмм появился канал в котором бесплатно слили весь топовый контент о программировании! Любой материал, всё разбито по хэш-тэгу в закрепе: 📱 Frontend 👩‍💻 C++ 📱 Python 🤔 Hacking 📱 Java 👩‍💻 Golang 📱 C# 👩‍💻 Linux 👩‍💻 Lua 👩‍💻 php 👩‍💻 Kotlin 👩‍💻 Git 👩‍💻 Assembler 👩‍💻 Swift 🖥 SQL 👩‍💻 Mob. Develop 👣 Backend 🐞 Qa Automation 🖥 Arduino 🖥 Desing Успей подписаться❗️ @CodHub_tg

🔥 Шпаргалка по SSH-командам Давно не делились полезными шпаргалками! Держите – объемная подборка по SSH: от базовых команд до туннелирования Сохраняй, пригодится 😎 👉 DevOps Portal | #ресурсы

Ansible против bash-скрипта 😀 👉 DevOps Portal
Ansible против bash-скрипта 😀 👉 DevOps Portal

DistroSea Удобный способ протестировать операционные системы перед установкой. Сервис позволяет запустить десятки дистрибутив
DistroSea Удобный способ протестировать операционные системы перед установкой. Сервис позволяет запустить десятки дистрибутивов Linux, ознакомиться с интерфейсом, протестировать функционал и поработать в терминале. 👉 distrosea.com 👉 DevOps Portal | #ресурсы

🧠 Machine Learning — авторский канал, где собрана вся база по ИИ и машинному обучению. Senior разработчик AI-алгоритмов и автономных агентов, разбирает гайды, редкую литературу и код топовых моделей машинного обучения и искусственного интеллекта. В 2025 году ИИ выйдет на совершенно новый уровень тот, кто не успеет за прогрессом - отстанет, а кто разберется - сорвет куш. Стоит подписаться: t.me/ai_machinelearning_big_data

Программа сообщает о том, что не может найти свой конфиг. Каким образом можно узнать, где она пытается его найти? line-buffered опция которая выведет результат как только найдет strace -f — отслеживание дочерних процессов strace -f l ftp sitename | & grep --line-buffered open | grep /home/user Либо в самой программе, если удастся найти параметры /usr/sbin/mysqld --verbose --help | grep -A 1 «Default options» 👉 DevOps Portal

Dockly Это интерактивный терминальный интерфейс для управления контейнерами Docker. Утилита позволяет в режиме реального времени просматривать активные контейнеры, образы и сети, выполнять команды, такие как перезапуск или удаление контейнеров, а также получать доступ к их логам и ресурсам. Подходит для разработчиков и администраторов, которым нужен быстрый и удобный способ мониторинга и управления Docker-средами. 👉 https://github.com/lirantal/dockly 👉 DevOps Portal | #ресурсы

Linux. Карманный справочник. 4-е изд Автор: Дэниел Джей Год: 2024 📂 Скачать книгу 👉 DevOps Portal | #книги
Linux. Карманный справочник. 4-е изд Автор: Дэниел Джей Год: 2024 📂 Скачать книгу 👉 DevOps Portal | #книги

✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub
✅️ GitHub теперь в Telegram! Подписывайтесь: @GitHub

Чем отличается CMD от ENTRYPOINT в Dockerfile? Инструкции CMD и ENTRYPOINT выполняются в момент запуска контейнера, тольо инструкция CMD позволяет переопределить передаваемые команде аргументы. Пример 1. CMD: Опишем сборку образа в Dockerfile. FROM alpine CMD ["ping", "8.8.8.8"] В инструкцию CMD передаются 2 аргумента. Выполним сборку образа docker build -t test . и запустим контейнер. $ docker run test PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=43 time=32.976 ms 64 bytes from 8.8.8.8: seq=1 ttl=43 time=31.998 ms 64 bytes from 8.8.8.8: seq=2 ttl=43 time=31.843 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 31.708/33.316/36.823 ms Теперь передадим 2 новых аргумента для запуска контейнера. $ docker run test traceroute 1.1.1.1 traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 46 byte packets 1 172.17.0.1 (172.17.0.1) 0.017 ms 0.016 ms 0.009 ms 2 192.168.168.1 (192.168.168.1) 0.996 ms 1.553 ms 2.069 ms 3 * * * 4 lag-2-435.bgw01.samara.ertelecom.ru (85.113.62.125) 1.454 ms 1.427 ms 1.984 ms 5 172.68.8.3 (172.68.8.3) 19.685 ms 15.722 ms 15.565 ms 6 172.68.8.2 (172.68.8.2) 15.846 ms 22.696 ms 35.093 ms 7 one.one.one.one (1.1.1.1) 17.439 ms 17.670 ms 24.202 ms ping заменен на traceroute, IP адрес заменен на 1.1.1.1. Пример 2. ENTRYPOINT: Опишем сборку образа в Dockerfile. FROM alpine ENTRYPOINT ["ping", "8.8.8.8"] В инструкцию ENTRYPOINT передаются 2 аргумента. Выполним сборку образа docker build -t test . и запустим контейнер. $ docker run test2 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=43 time=36.189 ms 64 bytes from 8.8.8.8: seq=1 ttl=43 time=44.120 ms 64 bytes from 8.8.8.8: seq=2 ttl=43 time=44.584 ms ^C --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 36.189/41.631/44.584 ms Теперь передадим изменим один из аргументов для запуска контейнера. $ docker run test2 ping 1.1.1.1 BusyBox v1.31.1 () multi-call binary. Usage: ping [OPTIONS] HOST Send ICMP ECHO_REQUEST packets to network hosts -4,-6 Force IP or IPv6 name resolution -c CNT Send only CNT pings -s SIZE Send SIZE data bytes in packets (default 56) -i SECS Interval -A Ping as soon as reply is recevied -t TTL Set TTL -I IFACE/IP Source interface or IP address -W SEC Seconds to wait for the first response (default 10) (after all -c CNT packets are sent) -w SEC Seconds until ping exits (default:infinite) (can exit earlier with -c CNT) -q Quiet, only display output at start and when finished -p HEXBYTE Pattern to use for payload Как видим, аргумент передать контейнеру нельзя. 👉 DevOps Portal

KodeKloud Free Labs — площадка c интерактивными заданиями и реальными сценариями, которые помогут погрузиться в практическое
+1
KodeKloud Free Labs — площадка c интерактивными заданиями и реальными сценариями, которые помогут погрузиться в практическое применение принципов DevOps и облачных технологий, не выходя из браузера. В бесплатных лабах сейчас есть: Linux, Кубер, Docker, GiT, Python и прочие прелести. 👉 DevOps Portal | #ресурсы

Учишь Python, но как дело доходит до собственного кода — всё, кирдык? 😥 На форумах только одно: «Больше практиковаться!» А т
Учишь Python, но как дело доходит до собственного кода — всё, кирдык? 😥 На форумах только одно: «Больше практиковаться!» А толку? Ноль понимания и никакой поддержки от профи… Плавали - знаем)) Поэтому специально для тебя - чат для начинающих и продолжающих Python-щиков 🤝 Что получишь? 1️⃣ Сможешь задавать любые вопросы без страха и осуждения и получать ответы за минуты, а не часы поиска в инете 2️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом 3️⃣ Общение с единомышленниками и заряд мотивации ➡️ А еще, забирай в закрепе БЕСПЛАТНЫЙ вводный курс по Python Короче, всё для прокачки! Залетай к нам — ссылка на чат (тык)

💡 Короткий совет по Linux Если вы хотите очистить пустые каталоги, команда find может упростить эту работу: $ find . -type d
💡 Короткий совет по Linux Если вы хотите очистить пустые каталоги, команда find может упростить эту работу: $ find . -type d -empty -exec rmdir -v {} + Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления. Команда rmdir гарантирует, что каталог пуст перед его удалением. В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи: $ find . -type d -empty -delete 👉 DevOps Portal

Мониторинг сети с помощью Python: Начни с SNMP и PySNMP Мониторинг сетевой инфраструктуры — это основа стабильной работы ИТ-экосистемы. С помощью Python и библиотеки PySNMP можно собрать данные о состоянии устройств и использовать их для анализа или визуализации. Сегодня рассмотрим пример простого скрипта для сбора информации через SNMP. Что такое SNMP? SNMP (Simple Network Management Protocol) — это стандартный протокол управления сетями. Он используется для: 🔹Сбора метрик с устройств (CPU, память, трафик интерфейсов). 🔹Отправки уведомлений о событиях. 🔹Управления конфигурацией. Установка PySNMP Для работы установим библиотеку PySNMP:
pip install pysnmp
Пример скрипта: Сбор метрик интерфейса Вот пример кода, который получает статистику интерфейса по OID:
from pysnmp.hlapi import *

# Укажите параметры устройства
snmp_target = '192.168.1.1'
community = 'public'
oid = '1.3.6.1.2.1.2.2.1.10.1'  # OID для входящего трафика интерфейса

# Запрос SNMP
def get_snmp_data(target, community, oid):
    iterator = getCmd(
        SnmpEngine(),
        CommunityData(community, mpModel=0),
        UdpTransportTarget((target, 161)),
        ContextData(),
        ObjectType(ObjectIdentity(oid))
    )
    error_indication, error_status, error_index, var_binds = next(iterator)

    if error_indication:
        print(f"Error: {error_indication}")
    elif error_status:
        print(f"Error: {error_status.prettyPrint()}")
    else:
        for var_bind in var_binds:
            print(f"{var_bind[0]} = {var_bind[1]}")

# Выполнение запроса
get_snmp_data(snmp_target, community, oid)
Как это работает: 1. getCmd выполняет запрос на устройство по указанному OID. 2. CommunityData указывает тип доступа (public — стандартное имя сообщества для чтения). 3. Результат содержит текущую метрику (например, объем входящего трафика на интерфейсе). Применение: 🔹Получите данные о загрузке процессора, памяти или состоянии интерфейсов. 🔹Интегрируйте скрипт в существующую систему мониторинга. 🔹Расширьте функционал для уведомлений или построения графиков. Что дальше? Для визуализации собранных данных можно использовать библиотеки, такие как Matplotlib или Pygal. Это позволяет легко строить графики, показывающие состояние сети. 👉 DevOps Portal