Живая миграция LXC-контейнера с минимальным downtime: CRIU + rsync
Иногда нужно перенести LXC-контейнер на другой сервер без остановки сервисов внутри — например, при плановой миграции, апгрейде хоста или изменении инфраструктуры.
⏺ Подготовка контейнера
На обоих серверах должны быть:
•одинаковые версии LXC и CRIU (apt install criu lxc)
• идентичные ядра (или как минимум — поддержка CONFIG_CHECKPOINT_RESTORE)
• включён nesting и features.criu в конфиге LXC
Пример конфигурации:
⏺ Первый rsync контейнерной файловой системы
Копируем всё, кроме /proc, /sys, сокетов и временных данных:
⏺ Заморозка и снятие чекпоинта
На исходном сервере:
Ключ -s говорит заморозить (stop) контейнер после дампа.
⏺ Инкрементальный rsync чекпоинта и изменений
Это нужно, чтобы перенести изменения в файловой системе, произошедшие между первым rsync и чекпоинтом.
⏺ Восстановление контейнера
На целевом сервере:
Контейнер стартует с того же состояния, с которого был заморожен, включая открытые сокеты, процессы и даже ssh-сессии.
Иногда нужно перенести LXC-контейнер на другой сервер без остановки сервисов внутри — например, при плановой миграции, апгрейде хоста или изменении инфраструктуры.
С помощью CRIU (Checkpoint/Restore In Userspace) и rsync это возможно почти без прерывания работы.
На обоих серверах должны быть:
•одинаковые версии LXC и CRIU (apt install criu lxc)
• идентичные ядра (или как минимум — поддержка CONFIG_CHECKPOINT_RESTORE)
• включён nesting и features.criu в конфиге LXC
Пример конфигурации:
lxc.apparmor.profile = unconfined
lxc.mount.auto = proc:rw sys:rw
lxc.cap.drop =
lxc.cgroup.devices.allow = a
lxc.seccomp.profile = unconfined
Копируем всё, кроме /proc, /sys, сокетов и временных данных:
rsync -aAXv --exclude={"/proc/*","/sys/*","/dev/pts/*","/run/*","/tmp/*"} /var/lib/lxc/myct root@target:/var/lib/lxc/
На исходном сервере:
lxc-checkpoint -n myct -D /tmp/myct-ckpt -s
Ключ -s говорит заморозить (stop) контейнер после дампа.
rsync -aAXv /tmp/myct-ckpt root@target:/tmp/
rsync -aAXv /var/lib/lxc/myct/ root@target:/var/lib/lxc/myct/
Это нужно, чтобы перенести изменения в файловой системе, произошедшие между первым rsync и чекпоинтом.
На целевом сервере:
lxc-start -n myct -s -F -D --restore --directory=/tmp/myct-ckpt
Контейнер стартует с того же состояния, с которого был заморожен, включая открытые сокеты, процессы и даже ssh-сессии.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5👍1
Редактирование systemd-юнитов с rollback и временными изменениями
Иногда нужно изменить поведение systemd-сервиса, но:
– не хочется трогать /etc/systemd/system/*.service,
– правка временная или нужна только до следующей перезагрузки,
– важно быстро откатиться без git, ручного копирования и боли.
Решение — systemctl edit и friends.
1️⃣ Временные правки без записи на диск
Создаёт юнит-оверклайд в /run/systemd/system/ — изменения исчезнут после ребута. Идеально для тестов на проде.
Пример содержимого:
ExecStart= сначала сбрасывает оригинальную строку, затем задаётся новая.
2️⃣ Постоянные override-файлы, не трогая оригинал
Создаёт или редактирует /etc/systemd/system/my-service.service.d/override.conf. При обновлении пакета оригинальный юнит не затирается.
3️⃣ Проверка и rollback
Проверяем итоговый конфиг:
Откат:
Удаляет override-файлы и возвращает дефолт.
4️⃣ Перезапуск с атомарной подменой
Если правите в проде — перезапускайте юнит с минимальным downtime:
Или через socket activation (если настроено) — тогда сам сервис не нужен в момент старта, но запросы не теряются.
5️⃣ Подводные камни
– systemctl edit не валидирует синтаксис — можно легко сделать опечатку. Проверяйте через systemd-analyze verify.
– Если меняете ExecStart, не забудьте сначала сбросить его через ExecStart= без аргументов.
Иногда нужно изменить поведение systemd-сервиса, но:
– не хочется трогать /etc/systemd/system/*.service,
– правка временная или нужна только до следующей перезагрузки,
– важно быстро откатиться без git, ручного копирования и боли.
Решение — systemctl edit и friends.
systemctl edit --runtime my-service
Создаёт юнит-оверклайд в /run/systemd/system/ — изменения исчезнут после ребута. Идеально для тестов на проде.
Пример содержимого:
[Service]
Environment="DEBUG=1"
ExecStart=
ExecStart=/usr/bin/my-app --debug
ExecStart= сначала сбрасывает оригинальную строку, затем задаётся новая.
systemctl edit my-service
Создаёт или редактирует /etc/systemd/system/my-service.service.d/override.conf. При обновлении пакета оригинальный юнит не затирается.
Проверяем итоговый конфиг:
systemctl cat my-service
Откат:
systemctl revert my-service
Удаляет override-файлы и возвращает дефолт.
Если правите в проде — перезапускайте юнит с минимальным downtime:
systemctl daemon-reexec
systemctl try-restart my-service
Или через socket activation (если настроено) — тогда сам сервис не нужен в момент старта, но запросы не теряются.
– systemctl edit не валидирует синтаксис — можно легко сделать опечатку. Проверяйте через systemd-analyze verify.
– Если меняете ExecStart, не забудьте сначала сбросить его через ExecStart= без аргументов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤4👍4
Релиз Wireshark 4.4.7
В начале июня 2025 года состоялся релиз стабильной версии свободного программного сетевого анализатора Wireshark 4.4.7.
Код проекта распространяется под стандартной общественной лицензией GPLv2.
⏺ В Wireshark 4.4.7 разработчики исправили баги и ошибки (уязвимости), обнаруженные в ходе тестирования, а также внесли изменения и дополнения в код проекта, включая обновления в поддержке протоколов.
⏺ В сетевом инструменте улучшены графики ввода‑вывода данных, графики для потоков/вызовов VoIP, графики потоков TCP и другие пользовательские интерфейсы и диалоги.
⏺ В Wireshark 4.4.7 обновлён код поддержки протоколов AT, BT LE LL, CIGI, genl, LDAP, LIN, Logcat Text, net_dm, netfilter, nvme, SSH, TCPCL, TLS, WebSocket, ZigBee и ZigBee ZCL.
Сборки проекта Wireshark 4.4.7 доступны для Windows, macOS и Linux.
В начале июня 2025 года состоялся релиз стабильной версии свободного программного сетевого анализатора Wireshark 4.4.7.
Первый релиз ветки 4.4 открытого проекта вышел в августе 2024 года. Стабильный релиз Wireshark 1.0.0 состоялся в 2008 году.
Код проекта распространяется под стандартной общественной лицензией GPLv2.
Сборки проекта Wireshark 4.4.7 доступны для Windows, macOS и Linux.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
Продвинутые CLI-команды для разработчиков
Нет, здесь мы не будем говорить о базовых командах вроде ls, rm и cd. Вы и так их знаете.
Эта статья для тех, кто уже уверенно работает в терминале и хочет прокачать свои навыки.
Wget — загрузка файлов из сети
wget — это утилита для скачивания файлов по HTTP, HTTPS и FTP. Работает в фоновом режиме, не требует взаимодействия с пользователем и позволяет загружать файлы даже после выхода из системы.
Простой пример скачивания файла:
Полезные опции:
• -c — продолжить загрузку, если она была прервана
• -O — задать имя выходного файла
• -r — рекурсивная загрузка (например, всей папки)
Скачивание сайта целиком:
SCP — безопасное копирование файлов между серверами
SCP (Secure Copy) — это защищенный способ копирования файлов между удаленными машинами через SSH.
Копирование файла с удаленного сервера на локальный компьютер:
Копирование файла с локального компьютера на удаленный сервер:
Копирование каталога (с флагом -r):
SSH-ключи — избавляемся от ввода пароля
Чтобы автоматизировать SSH-подключения и работу с Git, создайте пару ключей с помощью:
После генерации добавьте публичный ключ на сервер:
Теперь можно подключаться без пароля:
CHMOD — управление правами доступа
Изменение прав доступа к файлам:
Расшифровка:
• 664 — владелец и группа могут читать и записывать, остальные — только читать
• 775 — владелец и группа могут читать, записывать и выполнять, остальные — только читать и выполнять
Полный доступ ко всем:
Нет, здесь мы не будем говорить о базовых командах вроде ls, rm и cd. Вы и так их знаете.
Эта статья для тех, кто уже уверенно работает в терминале и хочет прокачать свои навыки.
Wget — загрузка файлов из сети
wget — это утилита для скачивания файлов по HTTP, HTTPS и FTP. Работает в фоновом режиме, не требует взаимодействия с пользователем и позволяет загружать файлы даже после выхода из системы.
Простой пример скачивания файла:
wget https://website.com/static/images/header.jpg
Полезные опции:
• -c — продолжить загрузку, если она была прервана
• -O — задать имя выходного файла
• -r — рекурсивная загрузка (например, всей папки)
Скачивание сайта целиком:
wget -r -np -k https://example.com
SCP — безопасное копирование файлов между серверами
SCP (Secure Copy) — это защищенный способ копирования файлов между удаленными машинами через SSH.
Копирование файла с удаленного сервера на локальный компьютер:
scp [email protected]:/path/to/foobar.txt /local/directory/
Копирование файла с локального компьютера на удаленный сервер:
scp /local/directory/foobar.txt [email protected]:/path/to/destination/
Копирование каталога (с флагом -r):
SSH-ключи — избавляемся от ввода пароля
Чтобы автоматизировать SSH-подключения и работу с Git, создайте пару ключей с помощью:
ssh-keygen -t ed25519
После генерации добавьте публичный ключ на сервер:
ssh-copy-id [email protected]
Теперь можно подключаться без пароля:
ssh [email protected]
CHMOD — управление правами доступа
Изменение прав доступа к файлам:
chmod 664 robots.txt
chmod 775 public/images
Расшифровка:
• 664 — владелец и группа могут читать и записывать, остальные — только читать
• 775 — владелец и группа могут читать, записывать и выполнять, остальные — только читать и выполнять
Полный доступ ко всем:
chmod 777 script.sh
👍12❤3
Какой тип RAID обеспечивает полное зеркалирование с возможностью работы при выходе из строя одного диска?
Anonymous Quiz
13%
RAID 0
51%
RAID 1
16%
RAID 5
20%
RAID 10
🤨9❤8👍4🤔3
Аудит безопасности через pam_exec: реагируем на вход в систему кастомным скриптом
Для этого отлично подходит модуль PAM — pam_exec.
Как это работает?
PAM (Pluggable Authentication Modules) позволяет запускать произвольные скрипты при событиях аутентификации. pam_exec — один из таких модулей, который запускает команду или скрипт.
Отправка уведомления в Telegram при SSH-входе
1️⃣ Создаём скрипт /usr/local/bin/ssh-login-alert.sh:
Скрипту нужно дать права на исполнение:
2️⃣ Подключаем pam_exec к SSHD, добавив в /etc/pam.d/sshd строку:
3️⃣ Проверяем
Теперь при каждом успешном входе по SSH будет отправляться сообщение в Telegram.
Иногда нужно мгновенно реагировать на входы в систему — например, фиксировать факт SSH-подключения, отправлять уведомления в Telegram, SIEM или даже делать снимок экрана.
Для этого отлично подходит модуль PAM — pam_exec.
Как это работает?
PAM (Pluggable Authentication Modules) позволяет запускать произвольные скрипты при событиях аутентификации. pam_exec — один из таких модулей, который запускает команду или скрипт.
Отправка уведомления в Telegram при SSH-входе
#!/bin/bash
USER="$PAM_USER"
IP="$PAM_RHOST"
TIME=$(date '+%Y-%m-%d %H:%M:%S')
TOKEN="ваш_бот_токен"
CHAT_ID="ваш_чат_id"
MSG="Пользователь $USER вошёл в систему с IP $IP в $TIME"
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id="$CHAT_ID" -d text="$MSG"
Скрипту нужно дать права на исполнение:
chmod +x /usr/local/bin/ssh-login-alert.sh
session optional pam_exec.so /usr/local/bin/ssh-login-alert.sh
Теперь при каждом успешном входе по SSH будет отправляться сообщение в Telegram.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤9
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Пример использования:
cat /proc/<PID>/status | grep Cap
Например, чтобы разрешить ping без root-прав:
sudo setcap cap_net_raw=ep /bin/ping
getcap /bin/ping
Capabilities повышают безопасность, ограничивая доступ только необходимыми правами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👏1
🚀 Почему пользователи платят $30 за простой конвертер картинок? Давайте разберемся.
Кирилл из комьюнити создал простой продукт всего за один месяц, внедрив метод, которой уже принес результат.
Как он это сделал:
1️⃣ Анализ спроса: через поисковые запросы он увидел, что много людей ищут конвертацию «HEIC to JPG».
2️⃣ Фокус на главном: удалил всё лишнее, оставив только функцию конвертации в один клик.
3️⃣ Скорость внедрения: за 30 дней сделал запуск без перфекционизма.
Посты про конвертер (ч.1, ч.2)
Что из этого получилось:
— Доход $500 в месяц с тенденцией роста.
— Более $10K заработано на конвертере.
— $0 на рекламу, всего $40 в месяц на сервер.
Выводы:
— Люди платят за удобство, даже если есть бесплатные аналоги.
— Продукт функционирует автоматически с минимальной поддержкой.
— Быстрая и экономичная проверка идеи может быть успешной.
Результаты из комьюнити билдеров:
— Более 400 запусков по этой методике.
— Некоторые продукты уже набрали от 50К до 100К+ пользователей.
Присоединяйтесь к @its_capitan — следите за процессом разработки, продвижения и узнайте, сколько можно заработать на таких микро-продуктах.
Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2VtzqvFT9tJ
Кирилл из комьюнити создал простой продукт всего за один месяц, внедрив метод, которой уже принес результат.
Как он это сделал:
1️⃣ Анализ спроса: через поисковые запросы он увидел, что много людей ищут конвертацию «HEIC to JPG».
2️⃣ Фокус на главном: удалил всё лишнее, оставив только функцию конвертации в один клик.
3️⃣ Скорость внедрения: за 30 дней сделал запуск без перфекционизма.
Посты про конвертер (ч.1, ч.2)
Что из этого получилось:
— Доход $500 в месяц с тенденцией роста.
— Более $10K заработано на конвертере.
— $0 на рекламу, всего $40 в месяц на сервер.
Выводы:
— Люди платят за удобство, даже если есть бесплатные аналоги.
— Продукт функционирует автоматически с минимальной поддержкой.
— Быстрая и экономичная проверка идеи может быть успешной.
Результаты из комьюнити билдеров:
— Более 400 запусков по этой методике.
— Некоторые продукты уже набрали от 50К до 100К+ пользователей.
Присоединяйтесь к @its_capitan — следите за процессом разработки, продвижения и узнайте, сколько можно заработать на таких микро-продуктах.
Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2VtzqvFT9tJ
❤4💊2👍1👎1👏1
Блокировка файлов виртуальной машины на ESXi: причины и решение
Если при запуске виртуальной машины в VMware ESXi возникают ошибки вроде Unable to access a file since it is locked или Failed to power on, это может быть связано с блокировкой файлов.
Причины блокировки
VMware использует блокировки для защиты важных файлов ВМ:
• VMNAME.vswp – файл подкачки
• DISKNAME-flat.vmdk – основной диск
• VMNAME.vmx – конфигурация ВМ
• vmware.log – системные логи
Файлы могут оставаться заблокированными даже после выключения ВМ, если блокировка не снята из-за сбоя хоста, ошибки хранилища или параллельного доступа нескольких ESXi.
Как найти хост, заблокировавший файлы?
1️⃣ Попробуйте включить ВМ на другом хосте кластера.
2️⃣ Если ошибка повторяется, выполните команду:
Она покажет IP-адрес ESXi, удерживающего блокировку.
3️⃣ На найденном хосте запустите:
Это отобразит ID процесса, заблокировавшего файл.
4️⃣ Определите ВМ, удерживающую блокировку:
Если при запуске виртуальной машины в VMware ESXi возникают ошибки вроде Unable to access a file since it is locked или Failed to power on, это может быть связано с блокировкой файлов.
Разберем, почему это происходит и как устранить проблему.
Причины блокировки
VMware использует блокировки для защиты важных файлов ВМ:
• VMNAME.vswp – файл подкачки
• DISKNAME-flat.vmdk – основной диск
• VMNAME.vmx – конфигурация ВМ
• vmware.log – системные логи
Файлы могут оставаться заблокированными даже после выключения ВМ, если блокировка не снята из-за сбоя хоста, ошибки хранилища или параллельного доступа нескольких ESXi.
Как найти хост, заблокировавший файлы?
vmfsfilelockinfo -p /vmfs/volumes/datastore/VM1/VM1.vmdk
Она покажет IP-адрес ESXi, удерживающего блокировку.
lsof | egrep 'Cartel|VM1.vmdk'
Это отобразит ID процесса, заблокировавшего файл.
esxcli vm process list
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
❕ Приглашаем на урок по работе с чувствительными данными в Kubernetes-кластере!
⏺ Открытый урок «K8S + Vault — как получать секреты?»
Бесплатно 17 июня в 20:00 МСК.
Поймете, как организовать безопасное и масштабируемое взаимодействие между Kubernetes и HashiCorp Vault. Разберём подход dynamic secrets и инструмент External Secrets Operator для интеграции секретов из Vault в кластер.
На уроке вы узнаете:
- как Kubernetes работает с секретами по умолчанию и его ограничения;
- способы интеграции Kubernetes и Vault;
- что такое External Secrets Operator и почему его выбирают для production-сред;
- пошаговую схему подключения Vault к K8s.
➡️ Регистрация на вебинар
Урок в рамках старта курса «Инфраструктурная платформа на основе Kubernetes», ты можешь воспользоваться 🎁 бонусным промокодом Kuber_06 при покупке курса.
#реклама
О рекламодателе
⏺ Открытый урок «K8S + Vault — как получать секреты?»
Бесплатно 17 июня в 20:00 МСК.
Поймете, как организовать безопасное и масштабируемое взаимодействие между Kubernetes и HashiCorp Vault. Разберём подход dynamic secrets и инструмент External Secrets Operator для интеграции секретов из Vault в кластер.
На уроке вы узнаете:
- как Kubernetes работает с секретами по умолчанию и его ограничения;
- способы интеграции Kubernetes и Vault;
- что такое External Secrets Operator и почему его выбирают для production-сред;
- пошаговую схему подключения Vault к K8s.
➡️ Регистрация на вебинар
Урок в рамках старта курса «Инфраструктурная платформа на основе Kubernetes», ты можешь воспользоваться 🎁 бонусным промокодом Kuber_06 при покупке курса.
#реклама
О рекламодателе
❤1
Microsoft случайно вернула звук запуска из Windows Vista в Windows 11
В бета-версиях Windows 11 участники программы Insider заметили, что вместо стандартного звука запуска играет мелодия из Windows Vista (2006).
Microsoft признала баг и внесла его в список известных ошибок. Представитель компании Брэндон ЛеБлан пошутил в соцсетях: «Решил повеселиться со звуками — blast from the past».
Ранее мелодия загрузки Windows 95 попала в Национальный реестр аудиозаписей США.
В бета-версиях Windows 11 участники программы Insider заметили, что вместо стандартного звука запуска играет мелодия из Windows Vista (2006).
Microsoft признала баг и внесла его в список известных ошибок. Представитель компании Брэндон ЛеБлан пошутил в соцсетях: «Решил повеселиться со звуками — blast from the past».
Интересно, что ошибка совпала с анонсом macOS 26 Tahoe — в сети сравнили её дизайн Liquid Glass с Aero из Vista.
Ранее мелодия загрузки Windows 95 попала в Национальный реестр аудиозаписей США.
🤪15👍3😁3❤2
Cron-логика через systemd timers: запускаем задачи по событиям, а не только по расписанию
cron хорош, но у него всё по расписанию. А если нужно запускать задачи:
• только после успешного старта сети,
• при выходе из спящего режима,
• с задержкой после загрузки,
• с логированием и перезапуском как у обычного сервиса?
Всё это делает systemd timers.
Пример: задача раз в 6 часов и при старте машины
Создаём unit и таймер.
foo.service:
foo.timer:
Persistent=true означает: если таймер «пропустил» запуск (например, машина была выключена), задача выполнится при включении.
А теперь — условия и зависимости
Можно запускать по событиям, не только по времени.
После сети:
Только если существует файл:
Случайная задержка:
Проверяем и включаем:
cron хорош, но у него всё по расписанию. А если нужно запускать задачи:
• только после успешного старта сети,
• при выходе из спящего режима,
• с задержкой после загрузки,
• с логированием и перезапуском как у обычного сервиса?
Всё это делает systemd timers.
Пример: задача раз в 6 часов и при старте машины
Создаём unit и таймер.
foo.service:
[Unit]
Description=Мой скрипт
[Service]
ExecStart=/usr/local/bin/myscript.sh
foo.timer:
[Unit]
Description=Таймер для запуска скрипта
[Timer]
OnBootSec=10min
OnUnitActiveSec=6h
Unit=foo.service
Persistent=true
[Install]
WantedBy=timers.target
Persistent=true означает: если таймер «пропустил» запуск (например, машина была выключена), задача выполнится при включении.
А теперь — условия и зависимости
Можно запускать по событиям, не только по времени.
После сети:
[Unit]
After=network-online.target
Wants=network-online.target
Только если существует файл:
ConditionPathExists=/etc/myapp.conf
Случайная задержка:
RandomizedDelaySec=300
Проверяем и включаем:
systemctl daemon-reexec
systemctl enable --now foo.timer
systemctl list-timers
journalctl -u foo.service
👍14❤5
Устали от «зоопарка» корпоративных сервисов?
TrueConf Server 5.5 — мощный апдейт российской платформы для совместной работы и общения. В ней объединены мессенджер, профессиональная ВКС и вебинары, модули ИИ и большой набор функций для удаленной работы. Весь арсенал возможностей доступен пользователям в едином приложении на любой ОС.
Главное в обновлении — продвинутый мессенджер:
А также новая гостевая страница, улучшенный планировщик ВКС, шаблоны раскладок и многое другое!
Почему стоит обратить внимание?
Команда Труконф разберёт все возможности новой версии на бесплатном вебинаре.
P.S. 25 июня состоится ещё один вебинар — о TrueConf 8.5, новой версии десктопного приложения для Linux, Windows и macOS.
#Труконф #TrueConfServer #UCaaS #UC #Мессенджер #ВКС
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🤣2👎1
Какой из параметров Kubernetes позволяет запускать контейнеры с пользовательскими сетевыми namespace?
Anonymous Quiz
28%
hostNetwork: true
32%
networkPolicy
29%
podNetwork
11%
Использование CNI плагинов, поддерживающих VRF
👍7👏2❤1😱1
Кто сказал, что изучать DevOps дорого?
Учебный центр Слёрм дарит гранты на обучение на курсе-профессии DevOps Upgrade:
⭐️ 2 места — скидка 100%
⭐️ 3 места — скидка 50%
⭐️ 5 мест — скидка 35%
Условия:
1. Подписаться на канал ментора курса Вячеслава Федосеева
2. Заполнить входную анкету
3. Пройти тестирование по ссылке до 20 июня
4. Дождаться результатов — их объявят на канале 23 июня.
DevOps Upgrade — продвинутый курс с высокой интенсивностью, который позволяет за 9 месяцев освоить все необходимые hard skills для позиции DevOps-инженера.
Изучить программу курса — по ссылке.
Учебный центр Слёрм дарит гранты на обучение на курсе-профессии DevOps Upgrade:
⭐️ 2 места — скидка 100%
⭐️ 3 места — скидка 50%
⭐️ 5 мест — скидка 35%
Условия:
1. Подписаться на канал ментора курса Вячеслава Федосеева
2. Заполнить входную анкету
3. Пройти тестирование по ссылке до 20 июня
4. Дождаться результатов — их объявят на канале 23 июня.
DevOps Upgrade — продвинутый курс с высокой интенсивностью, который позволяет за 9 месяцев освоить все необходимые hard skills для позиции DevOps-инженера.
Изучить программу курса — по ссылке.
❤3
Глубокая и безопасная очистка Linux без rm -rf /var/log
Многие начинают чистить систему вручную: rm -rf /var/log, apt-get clean, truncate на логи. Это опасно — можно нарушить работу служб, потерять нужные данные или получить ошибки загрузки.
Лучше использовать родные инструменты очистки, встроенные в systemd и другие системные компоненты.
1️⃣ Очистка временных файлов через tmpfiles.d
Файлы из /tmp, /var/tmp, кэши приложений — всё это можно безопасно удалять с помощью tmpfiles.d.
Пример правила:
Очистка вручную:
Автоматически — через таймер:
2️⃣ Очистка логов journald
Логи systemd можно настраивать гибко:
Настройки в /etc/systemd/journald.conf:
3️⃣ Очистка старых crash-домпов, ядра и кешей
• /var/crash — автоматизируем удаление старых дампов через tmpfiles.d.
• /var/cache/apt — apt clean или apt autoclean.
• /lib/modules/ — старые ядра можно удалить через apt autoremove.
4️⃣ Очистка systemd unit’ов и сессий
Иногда помогает убрать зависшие user-sessions.
Многие начинают чистить систему вручную: rm -rf /var/log, apt-get clean, truncate на логи. Это опасно — можно нарушить работу служб, потерять нужные данные или получить ошибки загрузки.
Лучше использовать родные инструменты очистки, встроенные в systemd и другие системные компоненты.
Файлы из /tmp, /var/tmp, кэши приложений — всё это можно безопасно удалять с помощью tmpfiles.d.
Пример правила:
# /etc/tmpfiles.d/cleanup.conf
D /tmp 1777 root root 7d
Очистка вручную:
systemd-tmpfiles --clean
Автоматически — через таймер:
systemctl enable --now systemd-tmpfiles-clean.timer
Логи systemd можно настраивать гибко:
journalctl --vacuum-time=7d # удалить всё старше 7 дней
journalctl --vacuum-size=1G # оставить только 1 ГБ логов
Настройки в /etc/systemd/journald.conf:
SystemMaxUse=1G
SystemKeepFree=100M
MaxRetentionSec=1month
• /var/crash — автоматизируем удаление старых дампов через tmpfiles.d.
• /var/cache/apt — apt clean или apt autoclean.
• /lib/modules/ — старые ядра можно удалить через apt autoremove.
loginctl flush-devices
loginctl flush-sessions
Иногда помогает убрать зависшие user-sessions.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤8
Нужно быстро протестировать нестандартное ПО или погонять свою сборку гипервизора, но не хочется зависать в облаке с ограничениями и арендовать железо на полгода?
Для таких кейсов отлично подходит Yandex BareMetal – арендуйте выделенный сервер на день или месяц под полный контроль администратора.
Что можно делать с Yandex BareMetal:
– Установить свою ОС, поднять виртуализацию любой глубины, в том числе nested.
– Выполнить нагрузочное тестирование на «голом» железе без влияния софта уровня облака.
– Проверить нестандартные конфигурации, которые в обычном облаке не заведешь.
Почему BareMetal особенно удобен для временных задач:
– Парк из тысяч серверов готовых конфигураций с RAM от 128 до 256 Гб и скоростью сети от 1 до 25 Гб/сек.
– Установка любой ОС: из образов или своей.
– Удобное управление по API или через KVM и SSH.
– Выгодные тарифы.
– Необходимые мощности можно получить в течение 25 минут.
Если вы работаете руками и цените контроль над системой, попробуйте BareMetal для нестандартных задач. Это не альтернатива облаку во всем, но в ряде кейсов – именно то, что нужно.
Подробнее о возможностях
Для таких кейсов отлично подходит Yandex BareMetal – арендуйте выделенный сервер на день или месяц под полный контроль администратора.
Что можно делать с Yandex BareMetal:
– Установить свою ОС, поднять виртуализацию любой глубины, в том числе nested.
– Выполнить нагрузочное тестирование на «голом» железе без влияния софта уровня облака.
– Проверить нестандартные конфигурации, которые в обычном облаке не заведешь.
Почему BareMetal особенно удобен для временных задач:
– Парк из тысяч серверов готовых конфигураций с RAM от 128 до 256 Гб и скоростью сети от 1 до 25 Гб/сек.
– Установка любой ОС: из образов или своей.
– Удобное управление по API или через KVM и SSH.
– Выгодные тарифы.
– Необходимые мощности можно получить в течение 25 минут.
Если вы работаете руками и цените контроль над системой, попробуйте BareMetal для нестандартных задач. Это не альтернатива облаку во всем, но в ряде кейсов – именно то, что нужно.
Подробнее о возможностях
❤2