Devops / Bash / Linux
Closed channel
https://t.me/+sWkEZZCvxX1jZjAy ссылка на канал @haarrp - по всем вопросам
Show more1 145
Subscribers
+124 hours
No data7 days
+1030 days
Data loading in progress...
Similar Channels
No data
Any problems? Please refresh the page or contact our support manager.
Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
August '26
August '26
+22
in 0 channels
July '26
+34
in 0 channels
Get PRO
June '26
+38
in 0 channels
Get PRO
May '26
+28
in 0 channels
Get PRO
April '26
+43
in 0 channels
Get PRO
March '26
+110
in 0 channels
Get PRO
February '26
+63
in 0 channels
Get PRO
January '26
+121
in 0 channels
Get PRO
December '25
+286
in 7 channels
Get PRO
November '25
+1 387
in 12 channels
| Date | Subscriber Growth | Mentions | Channels | |
| 26 August | +1 | |||
| 25 August | +2 | |||
| 24 August | +1 | |||
| 23 August | +1 | |||
| 22 August | 0 | |||
| 21 August | +1 | |||
| 20 August | 0 | |||
| 19 August | +1 | |||
| 18 August | +2 | |||
| 17 August | 0 | |||
| 16 August | +1 | |||
| 15 August | +2 | |||
| 14 August | +2 | |||
| 13 August | +1 | |||
| 12 August | 0 | |||
| 11 August | 0 | |||
| 10 August | 0 | |||
| 09 August | +2 | |||
| 08 August | 0 | |||
| 07 August | +1 | |||
| 06 August | 0 | |||
| 05 August | 0 | |||
| 04 August | +1 | |||
| 03 August | +1 | |||
| 02 August | 0 | |||
| 01 August | +2 |
Channel Posts
Порт занят, а процесса нет. Знакомься, TIME_WAIT
bind: address already in use, при этом ss -tulnp | grep :8080 не находит вообще ничего. Процесс действительно умер, а TCP-соединение ещё доживает в состоянии TIME_WAIT, и порт выглядит занятым.
Смотри не на список процессов, а на состояние сокета: если это TIME_WAIT, оно уйдёт само, а для частых перезапусков сервиса ставь SO_REUSEADDR вместо того, чтобы убивать процессы вслепую.
| 2 | 💡 Как запустить одну команду сразу для списка файлов
Если имена файлов записаны в files.txt, передайте их в xargs:
xargs file < files.txt
Так команда file выполнится для каждого файла из списка.
Другие примеры:
xargs ls -lh < files.txt
xargs wc -l < files.txt
Поиск ошибок во всех `.log`-файлах:
find . -name "*.log" -print0 | xargs -0 grep "ERROR"
Связка -print0 и -0 корректно обрабатывает пробелы и специальные символы в именах файлов.
Удобный способ массово обрабатывать файлы без циклов и ручного запуска команд.
#Linux #Bash #Terminal | 393 |
| 3 | Дофламинго объясняет renice (и это работает)
«Твой сервер тормозит? Одна команда — и процесс летит» | 376 |
| 4 | ⚡️ Linux: ограничьте любой процесс без Docker
systemd-run умеет запускать обычную команду в отдельной cgroup с лимитами CPU, памяти и числа процессов:
systemd-run --user --scope \
--unit=limited-job \
-p MemoryMax=1G \
-p CPUQuota=50% \
-p TasksMax=100 \
./your-program
Теперь программа:
использует максимум 1 ГБ RAM
получает до 50% одного ядра
создаёт не более 100 процессов и потоков
Проверить состояние:
systemctl --user status limited-job.scope
Полезно для сборок, скриптов, локальных моделей и подозрительных утилит, которые могут внезапно съесть все ресурсы системы. | 452 |
| 5 | 🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку
В IT прокачивается тот, кто каждый день видит сильные идеи, новые инструменты, реальные задачи, вакансии и разборы.
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: t.me/DevopsDocker
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/java_library
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg
Собеседования и карьера:
DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview
Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy
Полезное сверху:
ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: @courses
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии. | 369 |
| 6 | TIME_WAIT в Linux годами объясняют неправильно
Я полез в исходники Linux TCP и снова наткнулся на старый сетевой миф.
В коде TIME_WAIT фактически зафиксирован на 60 секунд:
#define TCP_TIMEWAIT_LEN (60 * HZ)
Его нельзя настроить отдельно для сокета.
И да, tcp_fin_timeout, который часто советуют крутить в блогах, не управляет TIME_WAIT.
Он относится к состоянию FIN_WAIT2.
TIME_WAIT задан в исходниках ядра и не вынесен в отдельный sysctl.
Вот так появляются мифы: один параметр звучит похоже, его копируют из статьи в статью, а потом годами лечат не то состояние TCP. | 424 |
| 7 | Пользователи Linux, которые удалили Windows, чтобы уйти от Microsoft и выбрать свободу вместе с Linux, возможно, ещё не ушли окончательно.
У Microsoft есть криптографический ключ, который позволяет запускаться всем крупным Linux-дистрибутивам на современном железе.
Ubuntu. Fedora. Debian. Все они.
Без подписи Microsoft ваша Linux-машина не стартует.
И срок действия этого ключа истекает через 4 дня - 27 июня 2026 года.
Вот что происходит на самом деле.
Когда в 2012 году появился Secure Boot, Microsoft фактически стала центром сертификации для всей экосистемы загрузки ПК.
Каждый Linux bootloader должен быть подписан Microsoft, чтобы запускаться на UEFI-машине с включённым Secure Boot.
Хорошая новость: ваш уже установленный Linux продолжит загружаться после 27 июня.
Плохая новость касается всего, что будет дальше.
• любой новый shim binary после 27 июня уже нельзя будет подписать старым ключом
• если ваша прошивка не получит новые сертификаты Microsoft 2023 года, свежие установки дистрибутивов могут не загрузиться
• старые ноутбуки, железо от небольших вендоров и embedded-устройства без обновлений прошивки могут зависнуть в серой зоне навсегда
• Dell, HP и Lenovo уже выпустили обновления, но многие мелкие производители - нет. Никто точно не знает, сколько устройств выпадет из поддержки
Для большинства пользователей решение простое:
sudo fwupdmgr update
Но главная история здесь глубже.
Linux-сообщество годами спорило о свободе и независимости от Microsoft.
А всё это время у Microsoft был ключ, от которого зависела загрузка почти каждой Linux-машины на современном ПК.
Это не конспирология.
Так просто был устроен Secure Boot.
Обновитесь.
А потом подумайте, что это значит.
Подробности:
https://zdnet.com/article/aspirin-for-linuxs-microsofts-secure-boot-headache/ | 548 |
| 8 | 💡Совет Linux
Случайно удалил файл и не понимаешь, что именно пропало?
Попробуй проверить недавние изменения:
find ~/ -type f -mtime -1
Команда покажет файлы в домашней директории, которые менялись за последние 24 часа.
Важно: она не восстановит удалённые файлы. Но поможет быстро понять, что недавно редактировалось, какие файлы могли быть затронуты и где искать следы ошибки.
Полезно, когда нужно разобраться после случайного удаления, неудачного скрипта или странного поведения программы. | 500 |
| 9 | ✔️ Продвинутый Linux-совет: как быстро найти конфиг, который ты правил вчера
Бывает классика: вчера что-то поправил в /etc, сегодня сервис ведёт себя странно, а какой именно конфиг менялся, уже не помнишь.
Базовый вариант:
find /etc -type f -mtime -1
Он покажет файлы в /etc, изменённые за последние 24 часа.
Но на практике лучше использовать более точную версию:
sudo find /etc -type f -mmin -1440 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
Что здесь полезного:
-mmin -1440
Ищет файлы, изменённые за последние 1440 минут, то есть за сутки.
-printf '%TY-%Tm-%Td %TH:%TM %p\n'
Показывает дату, время изменения и путь к файлу.
sort
Сортирует результат по времени, чтобы было проще увидеть порядок изменений.
Если нужно найти изменения за последние 2 часа:
sudo find /etc -type f -mmin -120 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
Если хочешь сразу посмотреть самые свежие изменения сверху:
sudo find /etc -type f -mmin -1440 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort -r | 450 |
| 10 | 🖥Ускорь Linux без апгрейда железа
Linux может стать заметно отзывчивее без апгрейда железа.
Мало кто включает zram, а зря. Он создаёт сжатую память прямо в RAM и снижает обращения к медленному swap на диске.
Особенно хорошо это чувствуется на ноутбуках и VPS с 8–16 гигабайтами памяти.
Система меньше тупит под нагрузкой, быстрее переключается между задачами и реже упирается в диск.
Один небольшой твик - и Linux работает лучше.
https://www.youtube.com/shorts/XGSNY4a0nJA | 504 |
| 11 | Запустил новый Linux-сервер? Не спеши сразу ставить сайт, бота или базу.
Сначала закрой базу безопасности.
Обнови систему, чтобы убрать старые уязвимости. Создай отдельного пользователя и не работай постоянно из-под root. Защити SSH: отключи root-вход, убери пароли и используй ключи.
Дальше включи firewall и оставь открытыми только нужные порты. Поставь Fail2ban, чтобы сервер сам блокировал подозрительные попытки входа.
И обязательно настрой бэкапы, логи и мониторинг. Сервер без резервных копий это лотерея.
Эти шаги занимают немного времени, но сильно снижают риск взлома и проблем в будущем. | 415 |
| 12 | ⚡️ Редкий Linux-приём: поймай, почему сервис иногда зависает, а не падает
Самые неприятные баги в Linux - не те, где процесс умер и оставил понятную ошибку. Хуже, когда сервис просто висит: CPU почти не ест, логи молчат, перезапуск “лечит”, но причина остаётся неизвестной.
В такой момент полезно смотреть не логи, а системные вызовы.
Инструмент - `strace`.
Он показывает, что процесс делает прямо сейчас: ждёт чтения из сокета, упёрся в файл, завис на DNS, ждёт lock, пытается открыть несуществующий путь или бесконечно опрашивает один и тот же descriptor.
Особенно смотри на вызовы вроде futex, poll, select, epoll_wait, read, connect, openat.
Если сервис “ничего не делает”, Linux всё равно знает, чего он ждёт. И strace это покажет.
Это спасает при зависших демонах, странных Docker-контейнерах, сервисах без нормальных логов и production-инцидентах, где нельзя просто гадать.
Главная мысль: когда процесс жив, но не отвечает, не начинай с перезапуска. Сначала посмотри, на каком системном вызове он застрял. | 352 |
| 13 | ⚡️ Вы слышали про Rust. Знаете, что он быстрый, безопасный и что за ним будущее.
Осталось одно: сесть и выучить.
Этот курс со Stepik- кратчайший путь от «знаю что такое Rust» до «пишу на нём».
6 модулей, 50 уроков, 143 теста. Ownership, borrowing, traits, async, Tokio, Axum, макросы, WASM — всё разложено по полочкам и закреплено практикой.
Никакого видео на 40 минут ради одной мысли. Подробный текст, много кода, реальные задачи после каждого урока. На выходе — портфолио из 10+ проектов: от CLI-утилит до REST API с базой данных.
48 часов действует скидка 55 процентов: stepik.org/course/269250 | 332 |
| 14 | Быстрый Linux совет 🐧
Заканчивается место на диске и непонятно, куда оно ушло?
Эта команда покажет самые «тяжёлые» директории:
$ du -h / --max-depth=1 2>/dev/null | sort -rh | head -10
Что происходит:
du - считает размер
--max-depth=1 — только первый уровень
sort -rh - сортирует по размеру
head -10 - выводит топ 10
Быстро находишь, где лежит основной объём данных.
Сохрани, пригодится. | 497 |
| 15 | FTXUI
Простая кроссплатформенная библиотека C++ для пользовательских интерфейсов на базе терминала!
• Функциональный стиль
• Простой и элегантный синтаксис
• Создаваемые консольные UI поддерживают навигацию с помощью клавиатуры и мыши
• Поддержка UTF8
• Поддержка анимации
• Поддержка рисования
• Нет зависимостей
• Кроссплатформенность: Linux/MacOS, WebAssembly, Windows
https://github.com/ArthurSonzogni/FTXUI | 633 |
| 16 | 🐧 Лайфхак по Linux, который реально экономит время
Команда find умеет не только искать файлы, но и сразу что-то с ними делать через -exec.
Пример:
$ find ~/ -type f -exec ls -lah {} \;
Что происходит:
find находит все файлы и для каждого запускает ls, показывая права, размер и метаданные.
Как работает -exec:
- exec ls - команда, которую нужно выполнить
- -lah - формат вывода (права, скрытые файлы, размеры)
- {} - подставляет имя каждого найденного файла
- \; - завершает команду (экранируем, иначе shell сломает)
Полезно, когда нужно применить одно действие к куче файлов в разных местах.
Важно:
вместо \; можно использовать +
тогда команда будет применяться сразу к группе файлов — быстрее и эффективнее
Пример с несколькими командами:
$ find . -name "*.txt" -exec wc {} \; -exec du -sh {} \;
Считает слова и сразу показывает размер каждого файла.
Сохрани — это база для работы с файлами в Linux. | 632 |
| 17 | ⚡️ Чек-лист для твоего Linux сервера
Перед тем как ставить проекты и открывать порты - приведи сервер в порядок.
Мой чек-лист на первые 10 минут:
- обнови систему и поставь базовые утилиты
- создай отдельного пользователя и запрети root-login по SSH
- включи firewall (UFW) и открой только нужные порты
- настрой SSH-ключи вместо пароля
- включи авто-обновления безопасности
- зафиксируй таймзону и проверь логи
- поставь fail2ban, чтобы брутфорс не убил сервер за ночь
Это база, которая спасает 90% проблем на проде.
sudo apt update && sudo apt -y upgrade
sudo apt -y install htop curl wget git ufw fail2ban unattended-upgrades
sudo timedatectl set-timezone Asia/Bangkok
sudo adduser deploy && sudo usermod -aG sudo deploy
sudo ufw allow OpenSSH && sudo ufw allow 80,443/tcp && sudo ufw --force enable
sudo sed -i 's/^#?PasswordAuthentication./
PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#?PermitRootLogin./PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo dpkg-reconfigure --priority=low unattended-upgrades
sudo systemctl enable --now fail2ban | 533 |
| 18 | 🔐 Большинство курсов по кибербезопасности учат определения.
Этот курс на Stepik учит думать как хакер.
SQL-инъекции, XSS, CSRF, эксплуатация бинарников, обход аутентификации - не в теории, а через живые задачи с реальными payload'ами.
В финале - полноценный пентест-проект с CVSS-оценками и отчётом, как у профессиональных команд безопасности.
Нулевой опыт? Не страшно.
Всё - в легальной изолированной среде, с нуля до уровня пентест-собеседования.
👉 Начни здесь → https://stepik.org/a/279968/ | 404 |
| 19 | Ты думаешь языки программирования - это просто код?
На самом деле у каждого есть своя родина.
C, Java, Go, Rust - все родились в США.
Python - из Нидерландов.
Kotlin - Россия.
Ruby - Япония.
Scala - Швейцария.
Фактически весь стек, на котором держится современный интернет - это глобальная сборка идей со всего мира.
И чем дальше, тем сильнее это смешивается.
Сохрани, чтобы не забыть, и подпишись на канал - здесь объясняю сложные вещи простым языком
https://youtube.com/shorts/GXVX5fyEBVM?si=YgzKPCw-x0XG3doO | 369 |
| 20 | ИИ начал находить настоящие баги в ядре Linux. И никто не понимает, почему именно сейчас
Грег Кроа-Хартман, один из ключевых мейнтейнеров ядра Linux, заявил что ситуация с AI-сгенерированными баг-репортами кардинально изменилась.
Ещё недавно это был поток мусора - теперь это реальные баги с рабочими патчами.
Его слова: «Что-то произошло месяц назад, и мир переключился.
Теперь к нам приходят настоящие отчёты». И это не только Linux - по его словам, все крупные open source проекты видят то же самое. Команды безопасности общаются между собой неформально, и картина везде одинаковая.
Никто не понимает, что именно изменилось. Кроа-Хартман говорит прямо: «Мы не знаем. Никто не знает почему. То ли инструменты стали сильно лучше, то ли люди просто начали пробовать. Похоже, что это много разных групп и компаний одновременно».
Ядро Linux справляется - команда большая и распределённая.
Баги мелкие, не критические, но поток реальный и не замедляется.
А вот для маленьких open source проектов это проблема. У них просто нет людей, чтобы обработать внезапный наплыв качественных AI-репортов.
Раньше страдали от мусорных репортов, теперь страдают от настоящих.
По сути мы наблюдаем момент, когда AI-инструменты для поиска уязвимостей перешли из категории «игрушка» в категорию «инфраструктура». И open source к этому не готов.
https://vc.ru/dev/2830028-ii-nashel-bagi-kotorye-lyudi-propuskali-30-let-meinteiner-linux-my-ne-ponimaem-chto-proizoshlo
🐍 Linux полезные ресурсы 🚀Max
@linuxkalii | 517 |
