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

Cотрудничество: @energy_c
Download Telegram
👩‍💻 Передаём большие файлы между Linux-серверами с проверкой целостности!

При переносе резервных копий, архивов и образов дисков важно не только завершить передачу, но и убедиться, что полученный файл полностью совпадает с исходным. Связка rsync и SHA-256 позволяет возобновлять прерванное копирование и проверять данные перед дальнейшим использованием.

В этом посте:
• Создаём контрольную сумму исходного файла через sha256sum;

• Передаём большие файлы по SSH с возможностью продолжить прерванное копирование;

• Проверяем целостность полученных данных по SHA-256;

• Настраиваем проверку перед дальнейшей обработкой и используем rsync --dry-run.


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

🚪 Linux Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤9👍9🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Oh My BackEnd — дорожная карта для backend-разработчиков!

В репозитории собраны ключевые навыки, необходимые для разработки веб-приложений: от Linux, Docker, сетей и баз данных до HTTP, безопасности, мониторинга и проектирования систем. Удобно, что темы расположены в рекомендуемом порядке изучения, разделены по уровням сложности и дополнены пояснениями о том, где и зачем эти знания применяются.

Оставляю ссылочку: GitHub 📱


🚪 Linux Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍6🤝1
В util-linux есть инструмент lsfd, который позволяет фильтровать открытые файловые дескрипторы по их свойствам!

Например, на сервере закончилось место, вы удалили огромный лог, но свободное пространство так и не появилось. Часто причина в том, что процесс продолжает держать удалённый файл открытым.

Вместо ручного поиска по /proc можно использовать lsfd:
sudo lsfd -Q 'DELETED'


Фильтр -Q позволяет выбирать дескрипторы по выражению, а DELETED — находить открытые файлы, которые уже удалены из файловой системы.

Можно сразу вывести только интересующие поля:
sudo lsfd -Q 'DELETED' \
-o PID,COMMAND,NAME


Так становится видно, какой процесс удерживает файл и к какому пути тот относился.

А самое интересное — lsfd умеет не просто показывать список, а выполнять выборки по свойствам дескрипторов:
# Дескрипторы конкретного процесса
sudo lsfd -Q 'PID == 1234'


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

🔥 lsfd превращает диагностику файловых дескрипторов в обычную фильтруемую выборку. Полезно, когда нужно быстро найти конкретный класс открытых файлов, а не просматривать огромный список вручную.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤7👍6
👨‍💻 На Хабре лежит годная статья: «Всё, что вы настроили в Linux, можно было не настраивать»!

В этой статье:
• Узнаете, почему автор после 15 лет использования Linux отказался от сложных конфигураций в пользу Fedora с GNOME;
• Разберёте, когда i3, кастомные панели, dotfiles и скрипты действительно полезны, а когда лишь усложняют работу;
• Задумаетесь, почему постоянная настройка окружения часто создаёт иллюзию продуктивности, не ускоряя решение реальных задач.

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


🚪 Linux Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥5
Клиенты переезжают в VK и Max. Ботов нужно переносить. Рук не хватает.

Бизнесу срочно нужны чат-боты под новые мессенджеры. Собирать их может любой, кто умеет пользоваться компьютером: код не нужен, всё делается на конструкторе по готовым шаблонам, как пазл.

Как проходит обучение:
Изучаешь конструктор → Собираешь первого бота по шаблону → Наставник проверяет → Берёшь первого клиента из нашей базу.

3–4 часа в день, график свободный, опыт не нужен.

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

Новички без опыта обычно выходят на 50–80 тыс ₽ в месяц,
и за год легко вырастают до 200 тыс ₽ и выше.

Всё, что нужно для старта — запустить обучение
👉@pautov_techspec_bot
😁9👎5🔥1
Как принудительно ограничить аппетит прожорливого процесса, чтобы он не использовал весь процессор и не вешал сервер?

Когда тяжелый скрипт, бэкап или процесс компиляции внезапно забивает CPU под 100%, сервер перестает отвечать, а соседние сервисы начинают падать. Вместо радикального убийства процесса через kill можно использовать утилиту cpulimit, которая динамически контролирует его работу, отправляя сигналы остановки и возобновления, удерживая нагрузку в жестких рамках.

Ограничение уже запущенного процесса по его идентификатору (PID) до заданного процента мощности:

$ cpulimit -p 1234 -l 40


Утилита перехватит управление процессом 1234 и не позволит ему занять более 40% от одного ядра CPU.

Запуск новой тяжелой задачи с автоматическим и мгновенным лимитированием ресурсов:

$ cpulimit -l 25 -- tar -czf backup.tar.gz /var/www


Архивация начнется в фоне, но процесс гарантированно будет использовать не более четверти процессорного времени.

Важно: cpulimit высчитывает проценты от общего числа ядер (на 4-ядерном процессоре лимит 200% означает полную загрузку двух ядер), и для работы с чужими процессами понадобятся права sudo.

🔥 Помогает на лету усмирить любой фоновый скрипт или парсер, сохраняя стабильность и отзывчивость всей ОС.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤6🔥5
👩‍💻 Bash: управление фоновыми процессами и заданиями!

В этом посте собраны основные команды Bash для управления фоновыми процессами. Рассмотрены запуск и мониторинг заданий, переключение между передним и фоновым режимами, защита от SIGHUP, ожидание завершения процессов и запуск в отдельной сессии. Полезно для администрирования Linux, работы через SSH и автоматизации задач.

🚪 Linux Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤5👍4🤝2
7 дней бесплатного обучения во Frontend-разработке!

🔥 Ухвати свой шанс погрузиться в мир Frontend-разработки на нашем бесплатном онлайн-интенсиве! Интересные уроки, практическая работа и поддержка куратора — всё это доступно тебе прямо сейчас.

Всего за 7 дней ты:
1. Сгенерируешь сайт через Giga, DeepSeek, ChatGPT;

2. Сверстаешь весь сайт на HTML + CSS с правильным адаптивом;

3. Оживишь проект на JavaScript: логика, расчёты и трекинг заказов;

4. Подключишь карты и API, увидишь, как данные работают в настоящем продукте;

5. Получишь экспертные советы, как улучшить свои проекты и вывести их на профессиональный уровень.

В итоге добавишь в своё портфолио уникальный проект сервиса доставки, доступный по ссылке, который повысит твою ценность как специалиста.

🔥 С нас обучение, практика и поддержка на пути к фрилансу.

С тебя участие в интенсиве
👉 Начать бесплатное обучение

Не упусти шанс получить мощный заряд уверенности для дальнейшего роста в разработке!
GNU Make умеет специально ломать привычный порядок сборки, чтобы находить ошибки в зависимостях Makefile!

Бывает, что make -j работает нормально, а затем сборка случайно падает на CI или новой машине. Частая причина — одна цель неявно рассчитывает, что другая успеет выполниться раньше, хотя эта зависимость нигде не объявлена.

В GNU Make 4.4 для поиска таких проблем появился --shuffle:
make -j8 --shuffle


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

Полезно прогнать сборку несколько раз:
for i in {1..20}; do
make clean
make -j8 --shuffle || break
done


Если сборка упала, Make сообщает seed перемешивания. Его можно передать повторно и воспроизвести тот же порядок:
make -j8 --shuffle=123456789


Интересно, что --shuffle полезен даже без параллельной сборки:
make -j1 --shuffle


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

🔥 make --shuffle превращает порядок сборки в fuzz-тест: отличный способ найти отсутствующие зависимости в Makefile до того, как они проявятся случайным падением на CI.

🚪 Linux Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥6👍4