DevOps Portal | Linux
Присоединяйтесь к нашему каналу и погрузитесь в мир 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، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 15، وفي آخر 24 ساعة بمقدار -1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 17.56%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 9.58% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 298 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 254 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops, kubernetes, docker, linux, ebpf.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps
Сотрудничество, реклама: @devmangx
Менеджер: @Spiral_Yuri
РКН: https://clck.ru/3P8kFH”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 01 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
ps aux
Выводит список всех процессов с подробной информацией:
🔹USER — пользователь, запустивший процесс.
🔹PID — уникальный идентификатор процесса.
🔹%CPU / %MEM — использование процессора и памяти.
🔹COMMAND — название программы.
🟢 Интерактивный мониторинг:
top
Показывает процессы в реальном времени. Нажмите q, чтобы выйти.
🟢 Упрощенная альтернатива:
htop
Если не установлено, добавьте:
sudo apt install htop
2️⃣ Управление процессами
🟢 Завершение процесса:
kill <PID>
Например:
kill 1234
Чтобы принудительно завершить процесс:
kill -9 <PID>
🟢 Остановка и возобновление:
🔹Остановить процесс:
kill -STOP <PID>
🔹Возобновить процесс:
kill -CONT <PID>
🟢 Изменение приоритета процесса:
🔹Проверить приоритет (niceness):
ps -o pid,ni,cmd -p <PID>
🔹Изменить приоритет (чем ниже значение, тем выше приоритет):
renice -n 10 -p <PID>
3️⃣ Планирование задач
🟢 Запуск в фоне: Если команда занимает много времени, добавьте & в конце:
long_running_command &
Узнать PID фонового процесса:
jobs -l
🟢 Отложенный запуск: Используйте at, чтобы запланировать выполнение команды:
echo "backup.sh" | at 02:00
Если at не установлен:
sudo apt install at
🟢Периодические задачи: Для регулярных задач используйте cron:
1. Открыть редактор crontab:
crontab -e
2. Добавить задачу (пример: запуск каждую минуту):
* * * * * /path/to/script.sh⚡️ Советы ➖ Используйте
htop для удобной работы с процессами, если командная строка кажется сложной.
➖ Команда pkill позволяет завершить процессы по имени:
pkill firefox
➖ Следите за потреблением ресурсов с помощью iotop (для ввода-вывода) и nmon (общий мониторинг).
✅ Заключение
Управление процессами — это важнейшая часть работы в Linux. Знание этих инструментов позволит вам не только следить за состоянием системы, но и эффективно решать проблемы производительности. 😐
👉 DevOps Portaldocker ps
После ввода команды вы увидите удобный выхлоп, где нас интересует имя или ID нужного контейнера.
2️⃣ Вывод логов конкретного контейнера
Здесь есть два способа: менее удобный и совсем неудобный. Где какой решайте сами 🤷♂️ Первый способ заиметь доступ к логу контейнера указан был в сообщении про работу с логами, где я указывал место хранения логов Docker:
/var/lib/docker/containers/<id_контейнера>/<id_контейнера>-json.log
Но, как говорилось ранее, вы получаете лютый JSON, где вообще ничего непонятно. Второй способ - использовать команду для вывода логов конкретного контейнера:
docker logs <имя_или_ID_контейнера>По сути, команда вываливает в терминал содержимое JSON-файла из способа №1. Что делать дальше с этой информацией решает каждый сам, кому-то может оно и поможет, ну а мы идем дальше... 3️⃣ Сохраняем логи за определенный период в отдельный файл Совместим все, что узнали в пунктах выше и приправим ключом --since, который позволяет задать временной отрезок, с которого будет выведен лог. Вдобавок используя перенаправление вывода сохраним это все в отдельный файл, чтобы потом его изучить:
docker logs <имя_или_ID_контейнера> --since 60m > mydocker.logДанный пример выведет содержимое лога контейнера Docker за последний час. Ну а что делать, если нужно вывести данные с прошлого месяца? Все просто!
docker logs <имя_или_ID_контейнера> --since YYYY-MM-DD > mydocker.logЗдесь YYYY - год (2023, например), MM - месяц (09) и DD - день (21). Порядок идет именно такой, так как все эти ваши европейцы и американцы, создавшие Linux и большую часть того, что связано с программированием, используют такой формат даты. Всю эту информацию перенаправляем в файл с расширением log, который потом можно использовать как душе угодно. 4️⃣ Добавляем временную метку в логи Но даже после использования команды в п. 3 у вас получится файл, в котором все будет в кучу и не поймешь когда и во сколько какое событие, описанное в логе произошло. Поэтому нужно добавить временную метку, делается это при помощи ключа -t.
docker logs <имя_или_ID_контейнера> --since YYYY-MM-DD -t > mydocker.log
Вот теперь-то вы получите информативный лог о том, что происходило с вашим сервисом внутри контейнера!
Полученную в конце команду вы можете использовать вместе с сервисом Transfer.sh, чтобы без лишней головомойки делиться логами с кем нужно
👉 DevOps Portal/var/log/...Внутри нее могут располагаться как отдельные файлы-логи (имеющие расширение log), так и директории с названиями сервисов внутри которых находятся логи. Есть, естественно, исключения. Например, Docker. У него логи запущенных контейнеров находятся в другом месте:
/var/lib/docker/containers/<id_контейнера>/<id_контейнера>-json.log
Опять-таки, повторюсь, что чаще всего местоположение логов, заданное разработчиками программы или сервиса указывается в конфигурационных файлах и может, при желании, меняться пользователем. Системные логи, чаще всего, хранятся в /var/log.
🟢 Какие виды логов бывают?
Расскажу, опять-таки, про классическую схему того, какие логи бывают.
✅ access.log - содержат данные о доступе к серверу/ресурсу/приложению (например, успешные авторизации)
❌ error.log - содержат данные об ошибках, возникающих при работе с серверами/ресурсами/приложениями.
🔤 <имя_сервиса>.log - содержат данные обо всех взаимодействиях с сервисом (доступ, ошибки, информация и пр.)
Указанные имена логов являются стандартными, конкретный вариант уже зависит от того, как решили разработчики или пользователь. Используя конфигурационные файлы вы можете задать любое имя для файла с логами. Теперь уже перейдем к командам.
1️⃣ Команда cat для просмотра содержимого лога
При использовании этой команды в терминал будет выведено все содержимое лога:
cat /var/log/<имя_лога>.log
Удобно, когда лог небольшой, в обратном случае вывод может занять длительное время.
2️⃣ Команда tail -f для вывода содержимого лога в режиме реального времени
Напомню, что команда tail выводит по-умолчанию 10 последних строк содержимого файла. Но при использовании ключа -f в выхлоп будут попадать строки лога в режиме реального времени.
tail -f /var/log/<имя_лога>.log
Удобно запустить такую команду и начать тестирование сервиса или программы, чтобы сразу видеть влетающую информацию.
3️⃣ Команда echo -n > для зануления логов
Бывает так, что логи разрастаются до неимоверных размеров. Решается это настройкой так называемой ротации (про нее расскажу отдельно в следующий раз), но если лог разросся до размеров, которые нужно занулить здесь и сейчас, то указанная команда подойдет в самый раз:
echo -n > /var/log/<имя_лога>.log
Почему нельзя решить проблему простым удалением лога при помощи rm? Некоторые сервисы используют проверку наличия файла для записи лога и если он отсутствует, то считают это ошибкой и перестают работать. Поэтому вместо кажущегося очевидного удаления файла лога нужно его просто занулить.
Работа с логами не составляет каких-то сложностей. Помимо указанных выше команд можно использовать практически все другие инструменты, применяемые к работе с файлами в Linux. В логах можно искать информацию, сортировать ее вывод в терминал, применять редактор sed и так далее. Чтобы не утруждать пользователя или администратора просмотров логов вручную существуют автоматизированные системы сбора и обработки логов, которые позволяют собирать информацию сразу с нескольких серверов.
Поддержите пост лайком, если он оказался полезным 🤝
👉 DevOps Portalsudo apt install flatpak # для Ubuntu/Debian
sudo dnf install flatpak # для Fedora
sudo pacman -S flatpak # для Archlinux
При этом, стоит помнить, что большинство современных Linux-дистрибутивов имеют встроенную поддержку Flatpak. К таким относятся, например, Fedora, Manjaro, Linux Mint.
2️⃣ Установка приложения: чтобы установить приложение из репозитория Flatpak, используйте:
flatpak install название-приложенияГде взять название приложения? Переходим на сайт Flathub и выбираем то, что нужно. После нажатия кнопки Install, появится команда для ввода в терминал (также доступно скачивание установочного пакета, но менеджер приложений вашего дистрибутива должен уметь работать с такими пакетами), где и будет название приложения. Нет желания рыскать по сайтам? Смотрите команду №4. 3️⃣ Обновление приложений: Для обновления всех установленных Flatpak-приложений выполните:
flatpak update4️⃣ Поиск приложений: если вы хотите найти приложение в репозитории, воспользуйтесь командой поиска:
flatpak search ключевое-слово5️⃣ Удаление приложений: для удаления приложения используйте:
flatpak uninstall название-приложения
Если при этом вы забыли опять-таки имя приложения, то можете воспользоваться бонусной командой №6 😏
6️⃣ Вывод списка установленных приложения:
flatpak listЭти команды сделают работу с Flatpak в терминале максимально удобной и эффективной 😐 👉 DevOps Portal
nmap -p <port_number> <host_or_ip>
👉 DevOps Portalsplit --bytes=1024M file.mkv file.part.В этой команде: -
file.mkv — имя вашего большого файла.
- file.part. — префикс для имен файлов-частей (например, file.part.aa, file.part.ab и так далее).
- --bytes=1024M — размер каждой части (здесь мы выбрали 1024 мегабайта).
🧩 Как объединить файлы в один:
cat file.part.* > file.mkv
📄 Как разбить текстовый файл по строкам:
Если вам нужно разделить текстовый файл, на несколько файлов по количеству строк, то мы можем использовать команду split с опцией -l, которая задает количество строк в каждом файле, на которые мы разбиваем исходный файл.
split -l 1000 textfile.txt textfile.part.Мы разделили исходный текстовый файл, на файлы по 1000 строк в каждом. Объединение файлов выполняется также, как описано в предыдущем пункте. Заключение Мы рассмотрели простейшие способы разделения файла на несколько частей с использованием командной строки. Для разделения файлов используется команда split. Для объединения файлов мы использовали команду cat. Чтобы получить более подробную информацию по команде split, выполните в терминале:
man splitТак что, не бойтесь работать с большими данными в Linux! 💪 👉 DevOps Portal
sudo apt install atool (Debian/Ubuntu/Linux Mint)
sudo dnf install atool (Fedora)
sudo pacman -S atool (Archlinux)
2️⃣ Создание архивов
Для создания архива используется команда:
apack имя_архива.формат [список_файлов]
К примеру, команда
apack backup.tgz first second third
создаст в текущей директории архив backup.tgz и запакует в него файлы first, second и third. Причём формат создаваемого архива автоматически определяется из имени.
Создать несколько архивов можно вот так:
apack -e -F .tar.gz dir1 dir2 dir3
В этом примере три директории dir будут упакованы в три разных архива. Ключ -e означает выполнять команду отдельно для каждого аргумента, ключ -F указывает формат создаваемых архивов. Подобным образом эти ключи действуют и в других командах, как будет показано ниже.
3️⃣ Просмотр архивов
Что бы просмотреть содержимое архива введите
als имя_архива
Просмотреть содержимое нескольких архивов:
als -e *.tgz
Что бы вывести на экран содержимое файла, находящегося в архиве, можно использовать команду
acat имя_архива имя_файла_в_архиве
4️⃣ Распаковка архивов
Для распаковки архива используется команда
aunpack имя_архива [имя_файла_в_архиве]
Если в архиве содержится всего один файл, то он будет распакован в текущую директорию. Если же файлов несколько, то будет создана директория совпадающая с именем архива и файлы распакуются в неё. Если вам нужно распаковать архив в другую директорию, то можете её указать после ключа -X:
aunpack -X /tmp archive.zip
Распаковать несколько архивов можно указав ключ -e:
aunpack -e *.tar.gz
5️⃣ Перепаковка архивов
atool также можно использовать для перепаковки архивов в другой формат. Это делается командой
arepack старый_архив новый_архив
При этом старый архив не удаляется. Если вам необходимо перепаковать несколько архивов RAR в формат 7Z, то можно использовать следующую команду
arepack -F .7z -e *.rar
6️⃣ Сравнение архивов
Сравнить два архива можно командой
adiff архив1 архив2
atool использует программу diff для сравнения файлов.
7️⃣ Единая команда
Вместо всех этих команд возможно использовать команду atool с соответствующим ключем:
atool -l вместо als
atool -x вместо aunpack
atool -a вместо apack
atool -c вместо acat
atool -d вместо adiff
atool -r вместо arepack
Возможно, такой вариант кому-то покажется предпочтительным.
Заключение
Как вы могли увидеть, atool это очень простая и, в то же время, мощная программа. Разобравшись с ней один раз вы больше не будете испытывать проблем с запоминанием ключей для множества консольных архиваторов 🎹
👉 DevOps Portalmkdir <имя_папки>
Но что делать, если нужно создать за раз, например, пять директорий? Логичным выглядит ввод команды на создание каталога пять раз. Логичным, но крайне неудобным и точно не быстрым. Далее напрашивается использование символа точки с запятой, чтобы выполнить команды в терминале последовательно:
mkdir <имя_папки1>;mkdir <имя_папки2>;mkdir <имя_папки3>;mkdir <имя_папки4>;mkdir <имя_папки5>
Внешне смотрится просто отвратительно да и это, по сути, те же пять команд на создание, просто в одну строку написанные, поэтому тоже не подойдет. Правильным решением будет использование следующего синтаксиса:
mkdir -p {<имя_папки1>,<имя_папки2>,<имя_папки3>,<имя_папки4>,<имя_папки5>}
Ключ -p говорит о том, что должны будут создаться все директории, которые указаны в пути до нужно папки. Отлично работает в ситуациях, когда вы решили поиграть со вложенностью. Также обратите внимание, что никаких пробелов между названиями папок быть не должно, все плотненько и без отступов.
Ничего сложного, правда? Да и получается в разы быстрее, чем посредством GUI-шки клепать кликами мыши нужно число папок. Так что, запоминаем и используем по мере необходимости ☝️
👉 DevOps Portal$ sudo apt install smartmontools
Запустите службу с помощью следующей команды.
sudo /etc/init.d/smartmontools start
RHEL и CentOS
sudo yum install smartmontools
Fedora
sudo dnf install smartmontools
Служба Smartd запустится автоматически после успешной установки. Если вдруг Smartd не запустился, сделать это можно командой:
sudo systemctl start smartd
3️⃣ Проверка работоспособности SSD/HDD ⚒️
Чтобы проверить общее состояние, введите команду:
sudo smartctl -d ata -H /dev/sda
Что значат эти параметры:
-d - указывает тип устройства.
ata - тип устройства ATA, используйте scsi для типа устройства SCSI.
-H - проверяет устройство, чтобы сообщить о его состоянии и работоспособности.
Возможны два варианта выхлопа: все хорошо и диск исправен, или, если устройство сообщает о неисправном состоянии работоспособности, это означает, что устройство уже вышло из строя или может выйти из строя очень скоро. В этом случае, можно получить дополнительную информацию:
sudo smartctl -a /dev/sda
Вы можете увидеть следующие атрибуты:
- [ID 5] Reallocated Sectors Count - Количество секторов, перераспределенных из-за ошибок чтения.
- [ID 187] Reported Uncorrect - Количество неисправимых ошибок при доступе к сектору чтения/записи.
- [ID 230] Индикатор износа носителя - Текущее состояние работы диска на основе срока службы.
Если вы видите 100 - это лучшее значение. Если видите 0 - это ХУДШЕЕ значение.
Чтобы инициировать расширенный тест (long), выполните следующую команду:
sudo smartctl -t long /dev/sda
Чтобы выполнить самотестирование, введите команду:
sudo smartctl -t short /dev/sda
Чтобы найти результат самопроверки диска, используйте эту команду:
sudo smartctl -l selftest /dev/sda
Чтобы оценить время выполнения теста, выполните следующую команду.
sudo smartctl -c /dev/sda
Вы можете распечатать журналы ошибок диска с помощью команды:
sudo smartctl -l error /dev/sda
Команд кажется много, но все решает практика: стоит только пару раз попробовать вводить их и анализировать выхлоп и все станет просто и понятно
👉 DevOps Portal