PyLinux - Всё о Linux, Python и IT
10.4K subscribers
1.41K photos
39 videos
2 files
1.28K links
У нас ты найдешь 👇

- библиотеки и скрипты python
- инструменты linux
- полезный софт
- важнейшие новости из мира IT

Связь с админом: @ghostifix

Купить рекламу: https://telega.in/c/pylinux0

РКН: 5999153523
Download Telegram
➡️ Почему Рик - фанат Linux? Обзор компа из Рик и Морти

Рассказываю, почему Рик Санчес из «Рик и Морти» юзает Debian, как это показали в сериале, чем Linux в его стиле, и почему винда или мак ему бы просто мешали.

📱 Ссылка на источник

😎 PyLinux | #videos
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😁2🗿1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥18😁11
🔥 Диагностика и оптимизация загрузки модулей ядра в Linux

Модули ядра (kernel modules) — это драйверы и расширения, которые загружаются при старте системы или по требованию.

Иногда полезно проверить, какие из них загружены, убрать лишние или добавить нужные в автозагрузку.


📌 Полезные команды

# Показать список загруженных модулей
lsmod

# Узнать, какой модуль обрабатывает конкретное устройство
lspci -k
lsusb -v | grep -i driver

# Подробная информация о модуле
modinfo <имя_модуля>

# Выгрузить модуль из ядра
sudo modprobe -r <имя_модуля>

# Загрузить модуль вручную
sudo modprobe <имя_модуля>

# Добавить модуль в автозагрузку
echo <имя_модуля> | sudo tee -a /etc/modules

# Запретить загрузку модуля (blacklist)
echo "blacklist <имя_модуля>" | sudo tee /etc/modprobe.d/blacklist.conf

# Найти модули, которые потребляют больше всего памяти
lsmod | sort -k2 -n

# Проверить ошибки модулей в логах
dmesg | grep -i <имя_модуля>


🟢 lsmod и modinfo помогают понять, какие драйверы реально работают
🟢 modprobe позволяет быстро загрузить или выгрузить модуль без перезагрузки
🟢 blacklist полезен для отключения конфликтующих или ненужных драйверов

🗣 Полезно администраторам, DevOps и тем, кто оптимизирует загрузку системы или устраняет конфликты драйверов.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍3
🔜 Определение общей длительности медиафайлов

Сделал утилиту mdur, чтобы узнать, сколько часов жрут все лекции, подкасты и видео. Она суммирует длительности медиа и спасает от сюрприза «ещё 87 часов впереди».

🖥 Перейти к статье

😎 PyLinux | #articles
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 Библиотека Python: scalene

scalene — это высокоточный профилировщик Python, который измеряет использование CPU, памяти и даже GPU по строкам кода. В отличие от стандартных профилировщиков, он почти не замедляет выполнение и даёт точную картину “узких мест”.

Идеален для оптимизации тяжёлых вычислений, анализа утечек памяти и ускорения кода.


⚙️ Пример использования

# Запуск профилировщика прямо из терминала
# Анализ CPU и памяти для скрипта myscript.py
python -m scalene myscript.py

Line │ CPU % │ Memory MB │ Memory %
─────────────────────────────────────────────────────────────
10 │ 75.0% │ 120.5 │ 65.2% total += i ** 0.5
15 │ 20.0% │ 20.0 │ 10.8% data.append(x * 2)



Преимущества:


🟢 Анализ CPU, памяти и GPU по строкам кода
🟢 Почти не влияет на скорость выполнения программы
🟢 Работает с многопоточными и асинхронными задачами
🟢 Генерирует цветные HTML- и текстовые отчёты

✔️ Установка

pip install scalene


➡️ Ссылка на документацию

😎 PyLinux | #python_libs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22👍5
📈 Мониторинг резкого роста использования памяти процессами в Linux

Иногда процессы начинают резко “есть” больше оперативной памяти (memory leak), что может привести к падению системы. Этот скрипт отслеживает процессы, которые превысили заданный порог по RAM, и логирует их для анализа.

⚙️ Исходный код

#!/bin/bash

LOG_FILE="/var/log/memory_spike.log"
THRESHOLD_MB=500 # Порог в МБ

echo "📊 Поиск процессов, использующих больше ${THRESHOLD_MB}MB RAM... $(date)" | tee -a "$LOG_FILE"

# Выводим PID, имя процесса и использование памяти в МБ
ps -eo pid,comm,rss --sort=-rss --no-headers | while read -r pid comm rss; do
mem_mb=$((rss / 1024))
if [ "$mem_mb" -gt "$THRESHOLD_MB" ]; then
echo "⚠️ PID: $pid | RAM: ${mem_mb}MB | Команда: $comm" | tee -a "$LOG_FILE"
fi
done

echo " Проверка завершена." | tee -a "$LOG_FILE"


🟢 ps -eo pid,comm,rss — показывает процессы с потреблением памяти
🟢 Сравниваем rss (resident set size) с порогом в MB
🟢 Удобно для поиска “прожорливых” приложений (Java, Python, Node.js и др.)
🟢 Можно дополнить автоуведомлением или kill проблемных процессов

➡️ Добавьте в crontab:
*/15 * * * * /path/to/memory_spike_monitor.sh


🗣 Особенно полезно для серверов, CI/CD-агентов и рабочих станций с ограниченной RAM


😎 PyLinux | #scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🔜 Видео в текст: Как превратить час видео с Youtube в полноценную статью за 0.30$

Покажу, как за пару кликов скачать аудио с YouTube, прогнать его через транскрибацию и быстро отредактировать в формат статьи или подкаста. Дёшево, быстро и без ограничений.

🖥 Перейти к статье

😎 PyLinux | #articles
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍4
➡️ Старый ноутбук стал БЫСТРЕЕ, чем на Windows! CachyOS Самый быстрый Linux?

В данном видео рассмотрим популярный дистрибутив CachyOS, который позволяет пользоваться преимуществами Arch Linux и при этом не требует глубоких знаний в работе с GNU/Linux системами.

📱 Ссылка на источник

😎 PyLinux | #videos
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18👍3
⚙️ Диагностика и оптимизация использования системных служб в Linux

Systemd-сервисы запускаются при старте системы и могут значительно влиять на скорость загрузки и использование ресурсов.

📌 Полезные команды

# Показать список всех активных сервисов
systemctl list-units --type=service

# Показать службы, которые запускаются при старте
systemctl list-unit-files --type=service --state=enabled

# Выключить ненужный сервис (отключить автозагрузку)
sudo systemctl disable <имя_сервиса>

# Остановить работающий сервис
sudo systemctl stop <имя_сервиса>

# Включить нужный сервис в автозагрузке
sudo systemctl enable <имя_сервиса>

# Проверить время загрузки системы и задержки
systemd-analyze blame

# Проверить, почему конкретный сервис долго запускается
systemd-analyze critical-chain <имя_сервиса>

# Найти сбойные или упавшие сервисы
systemctl --failed

# Проверить логи конкретного сервиса
journalctl -u <имя_сервиса>


🟢 systemctl list-units помогает быстро увидеть, что активно сейчас
🟢 systemd-analyze blame позволяет находить службы, замедляющие старт
🟢 disable и enable помогают управлять автозагрузкой

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

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥2
🔜 Настройка Angie в роли обратного HTTP-прокси

Исторически роль обратного прокси (reverse proxy) можно назвать первоначальным предназначением для Nginx, а значит и для Angie.

В этой статье разберёмся, почему он обратный, какие тонкости настройки проксирования нужно учитывать при настройке.

🖥 Перейти к статье

😎 PyLinux | #articles
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 Библиотека Python: plumbum

plumbum — это мощный инструмент для написания системных скриптов на Python. Она позволяет выполнять команды оболочки, управлять путями и удалёнными машинами через SSH — всё в стиле "shell-like" синтаксиса.

Отличная альтернатива bash-скриптам: удобно, кроссплатформенно, с полной силой Python.


⚙️ Пример использования

from plumbum import local

# Выполнение shell-команды
ls = local['ls']
print(ls('-l'))

# Комбинирование команд как в shell
print((local['ls']['-la'] | local['grep']['py'])())

# Работа с файлами
from plumbum.cmd import cp, rm
cp('a.txt', 'b.txt')
rm('-f', 'b.txt')

# Удалённое выполнение по SSH
from plumbum.machines import SshMachine
with SshMachine('remote.host.com', user='user') as remote:
print(remote['uname']('-a'))



Преимущества:


🟢 Shell-команды прямо в Python (включая пайпы и редиректы)
🟢 Единый API для локального и удалённого выполнения
🟢 Удобные утилиты: path, FG, run(), tmux, rsync, screen
🟢 Безопаснее и выразительнее, чем subprocess + os.system

✔️ Установка

pip install plumbum


➡️ Ссылка на документацию

😎 PyLinux | #python_libs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤣13😨1
🚨 Контроль открытых подключений к MySQL в Linux

Непредвиденное увеличение числа подключений к MySQL может привести к сбоям, перегрузке или отказу в обслуживании. Этот скрипт отслеживает количество текущих подключений, сравнивает с порогом и логирует события.

⚙️ Исходный код

#!/bin/bash

LOG_FILE="/var/log/mysql_conn_watch.log"
THRESHOLD=100 # Порог количества подключений

echo "🔎 Проверка количества MySQL-подключений... $(date)" | tee -a "$LOG_FILE"

# Получаем количество подключений
CONN_COUNT=$(mysql -u root -e "SHOW STATUS LIKE 'Threads_connected';" 2>/dev/null | awk '/Threads_connected/ {print $2}')

if [ -z "$CONN_COUNT" ]; then
echo " Не удалось получить данные от MySQL" | tee -a "$LOG_FILE"
exit 1
fi

if [ "$CONN_COUNT" -gt "$THRESHOLD" ]; then
echo "⚠️ Подключений слишком много: $CONN_COUNT (порог: $THRESHOLD)" | tee -a "$LOG_FILE"
else
echo " Подключения в норме: $CONN_COUNT" | tee -a "$LOG_FILE"
fi

echo "🔚 Проверка завершена." | tee -a "$LOG_FILE"


🟢 SHOW STATUS LIKE 'Threads_connected' — показывает число активных соединений
🟢 Скрипт можно запускать раз в 5–15 минут для мониторинга
🟢 Логи можно анализировать, подключить уведомления через Telegram/Slack
🟢 Порог можно адаптировать под рабочую нагрузку

➡️ Добавьте в crontab:
*/10 * * * * /path/to/mysql_conn_watch.sh


🗣 Полезно для админов баз данных, DevOps-инженеров и всех, кто работает с веб-сервисами и нагруженными БД


😎 PyLinux | #scripts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
🔜 Безопасность с Astra Linux: ресурсы для специалиста ИБ

Собрал полезные ресурсы по Astra Linux для ИБ-шников: от ГОСТов до практики. Чтобы настраивать, проверять и защищать без танцев с бубном. Всё в одном месте, сам таким пользуюсь.

🖥 Перейти к статье

😎 PyLinux | #articles
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤣4❤‍🔥1
➡️ Как сломать и починить Arch Linux

В этом ролике я покажу, как вернуть систему к жизни даже после самых жёстких поломок.

📱 Ссылка на источник

😎 PyLinux | #videos
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥1
Ну пожалуйста внедрите куда-нибудь

😎 PyLinux | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32
📡 Диагностика и мониторинг сетевых интерфейсов в Linux

Сетевые интерфейсы — ключевой элемент работы сервера или рабочего ПК. Их состояние напрямую влияет на доступность сервисов, скорость соединения и стабильность работы сети.

📌 Полезные команды

# Показать список всех сетевых интерфейсов и их состояние
ip link show

# Показать IP-адреса интерфейсов
ip addr show

# Быстро проверить активные соединения и маршруты
ip route show

# Включить/выключить интерфейс (пример: eth0)
sudo ip link set eth0 up
sudo ip link set eth0 down

# Проверить скорость линка и дуплекс
ethtool eth0

# Показать статистику пакетов, ошибок, дропов
ip -s link show eth0

# Тест соединения с удалённым хостом
ping -c 4 8.8.8.8

# Проверить доступность порта на удалённом сервере
nc -zv example.com 443

# Запустить живой мониторинг трафика интерфейса
sudo iftop -i eth0

# Отследить, какие процессы используют сеть
sudo lsof -i -P -n


🟢 ip заменяет устаревший ifconfig и даёт больше возможностей
🟢 ethtool помогает найти проблемы с линком или скоростью
🟢 iftop и lsof полезны для живого анализа нагрузки

🗣 Эти команды незаменимы при поиске сетевых проблем, оптимизации каналов связи и мониторинге активности сервера.

😎 PyLinux | #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
🔜 Автоматизируем печать документов с помощью Python

Расскажу, как надоело вручную выставлять диапазоны для печати страниц с разными ориентациями и краями, и как сделал скрипт, который печатает всё нужное одним кликом.

🖥 Перейти к статье

😎 PyLinux | #articles
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10