🤔 Как работает DHCP?
DHCP (Dynamic Host Configuration Protocol):
1. Клиент отправляет DHCPDISCOVER.
2. Сервер отвечает DHCPOFFER.
3. Клиент выбирает и отправляет DHCPREQUEST.
4. Сервер подтверждает DHCPACK.
В результате клиент получает: IP, маску, шлюз, DNS и др. Это автоматизация настройки сети.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
1. Клиент отправляет DHCPDISCOVER.
2. Сервер отвечает DHCPOFFER.
3. Клиент выбирает и отправляет DHCPREQUEST.
4. Сервер подтверждает DHCPACK.
В результате клиент получает: IP, маску, шлюз, DNS и др. Это автоматизация настройки сети.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍4🔥2
🤔 Как в линуксе посмотреть список дескрипторов файлов?
В Linux список дескрипторов файлов можно посмотреть, используя утилиты и команды, которые позволяют работать с процессами и их открытыми файлами. Основным методом является использование файловой системы
🚩Основные способы
🟠Команда `ls` в каталоге `/proc/[PID]/fd`
Каждый процесс в Linux имеет свой подкаталог в
Вывод
🟠Использование `lsof`
Команда
Пример для всех процессов
Вывод
🟠Использование `lsfd`
Утилита
Вывод
🚩Полезные флаги и фильтрация
Список дескрипторов определенного пользователя:
Список файлов определенного типа (например, сокеты):
Фильтрация по определенному файлу или устройству:
🚩Почему важно знать про дескрипторы?
🟠Отладка приложений
Определение, какие файлы, сокеты или устройства использует процесс.
🟠Устранение утечек
Проверка, остаются ли ненужные дескрипторы открытыми.
🟠Администрирование
Диагностика проблем, связанных с блокировкой файлов.
Ставь 👍 и забирай 📚 Базу знаний
В Linux список дескрипторов файлов можно посмотреть, используя утилиты и команды, которые позволяют работать с процессами и их открытыми файлами. Основным методом является использование файловой системы
/proc, которая содержит информацию о процессах, включая их открытые файловые дескрипторы.🚩Основные способы
🟠Команда `ls` в каталоге `/proc/[PID]/fd`
Каждый процесс в Linux имеет свой подкаталог в
/proc с идентификатором процесса (PID). В подкаталоге fd хранятся ссылки на открытые дескрипторы файлов.ls -l /proc/$(pidof <имя_процесса>)/fd
Вывод
lrwx------ 1 user user 64 Dec 23 12:00 0 -> /dev/pts/0
lrwx------ 1 user user 64 Dec 23 12:00 1 -> /dev/pts/0
lrwx------ 1 user user 64 Dec 23 12:00 2 -> /dev/pts/0
🟠Использование `lsof`
Команда
lsof (list open files) отображает список всех открытых файлов в системе.lsof -p <PID>
Пример для всех процессов
lsof
Вывод
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1234 user cwd DIR 8,1 4096 256 /home/user
bash 1234 user rtd DIR 8,1 4096 2 /
bash 1234 user 0u CHR 136,0 0 3 /dev/pts/0
bash 1234 user 1u CHR 136,0 0 3 /dev/pts/0
bash 1234 user 2u CHR 136,0 0 3 /dev/pts/0
🟠Использование `lsfd`
Утилита
lsfd (из пакета util-linux) удобна для просмотра файловых дескрипторов.lsfd
Вывод
PID FD TTY TYPE DEVICE SIZE/OFF NODE NAME
1234 0 /dev/pts/0 CHR 136,0 0 3 /dev/pts/0
1234 1 /dev/pts/0 CHR 136,0 0 3 /dev/pts/0
1234 2 /dev/pts/0 CHR 136,0 0 3 /dev/pts/0
🚩Полезные флаги и фильтрация
Список дескрипторов определенного пользователя:
lsof -u <имя_пользователя>
Список файлов определенного типа (например, сокеты):
lsof -i
Фильтрация по определенному файлу или устройству:
lsof /path/to/file
🚩Почему важно знать про дескрипторы?
🟠Отладка приложений
Определение, какие файлы, сокеты или устройства использует процесс.
🟠Устранение утечек
Проверка, остаются ли ненужные дескрипторы открытыми.
🟠Администрирование
Диагностика проблем, связанных с блокировкой файлов.
Ставь 👍 и забирай 📚 Базу знаний
👍2
🤔 Как ставить Kubernetes на bare metal и в облако?
На bare metal — чаще всего через kubeadm, k3s, Rancher, MicroK8s, либо с помощью Ansible (kubespray). В облаке — через сервисы провайдеров (EKS, GKE, AKS) или вручную на облачные ВМ, с теми же инструментами. Отличие — в настройках сети, балансировке и подключении хранилищ.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🔥2
🤔 Где хранить приватный PGP ключ?
Приватный PGP-ключ – это чувствительные данные, которые нельзя хранить в незащищенных местах. Потеря или компрометация ключа может привести к утечке зашифрованных данных.
🚩Лучшие способы хранения приватного PGP-ключа
🟠На аппаратном токене (YubiKey, Nitrokey, SmartCard)
- Ключ никогда не покидает устройство.
- Физическая защита от копирования.
- Можно использовать для SSH, GPG, подписи кода.
🟠В защищенном хранилище (Bitwarden, 1Password, KeePassXC)
- Хранилище зашифровано и требует пароль или биометрию.
- Можно синхронизировать между устройствами без потери безопасности.
- Экспортировать ключ в зашифрованный файл:
🟠В зашифрованном виде на диске (LUKS, VeraCrypt, EncFS)
- Физическая защита – даже если диск украдут, без пароля его не открыть.
- Работает на Linux, Windows, MacOS.
1⃣Создать зашифрованный контейнер с LUKS (Linux):
2⃣Хранить ключ внутри
🟠4. В HSM или облачном KMS (AWS KMS, HashiCorp Vault, Azure Key Vault)
- Подходит для энтерпрайз-решений.
- Аппаратное шифрование (HSM) делает взлом практически невозможным.
- AWS KMS или Vault можно использовать для PGP.
Ставь 👍 и забирай 📚 Базу знаний
Приватный PGP-ключ – это чувствительные данные, которые нельзя хранить в незащищенных местах. Потеря или компрометация ключа может привести к утечке зашифрованных данных.
🚩Лучшие способы хранения приватного PGP-ключа
🟠На аппаратном токене (YubiKey, Nitrokey, SmartCard)
- Ключ никогда не покидает устройство.
- Физическая защита от копирования.
- Можно использовать для SSH, GPG, подписи кода.
🟠В защищенном хранилище (Bitwarden, 1Password, KeePassXC)
- Хранилище зашифровано и требует пароль или биометрию.
- Можно синхронизировать между устройствами без потери безопасности.
- Экспортировать ключ в зашифрованный файл:
gpg --export-secret-keys --armor > private-key.asc
🟠В зашифрованном виде на диске (LUKS, VeraCrypt, EncFS)
- Физическая защита – даже если диск украдут, без пароля его не открыть.
- Работает на Linux, Windows, MacOS.
1⃣Создать зашифрованный контейнер с LUKS (Linux):
cryptsetup luksFormat /dev/sdX
cryptsetup luksOpen /dev/sdX secure_disk
mkfs.ext4 /dev/mapper/secure_disk
2⃣Хранить ключ внутри
/mnt/secure_disk/private-key.asc. 🟠4. В HSM или облачном KMS (AWS KMS, HashiCorp Vault, Azure Key Vault)
- Подходит для энтерпрайз-решений.
- Аппаратное шифрование (HSM) делает взлом практически невозможным.
- AWS KMS или Vault можно использовать для PGP.
vault kv put secret/pgp_key key="$(cat private-key.asc)"
Ставь 👍 и забирай 📚 Базу знаний
🤔 Есть облако и есть bare metal — как будете строить логику ванильного Kubernetes?
В обоих случаях можно использовать один и тот же подход: автоматизировать установку через kubeadm или использовать дистрибутив (например, K3s, RKE, Kubespray). Разделять конфигурации для облака и bare metal (например, CNI-плагины, storage), использовать централизованную систему CI/CD, выносить sensitive-конфиги в Secrets.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🔥1
🤔 Видим что места нет находим большой файл 5 Гб например удаляем его а пишет что места всё равно нет в чём причина?
В Linux удаленный файл может оставаться в памяти, если он все еще используется запущенным процессом. Это происходит, потому что файл не удаляется физически, пока его дескриптор (file descriptor) открыт.
Файл все еще используется процессом
Файл удален, но все еще открыт (
Файл удален, но был записан в смонтированный том
🚩Проверить, какие процессы держат удаленный файл (`lsof`)
Команда
Вывод
Решение: Перезапустить процесс:
или
🚩Освободить место вручную (`/proc`)
Если процесс нельзя перезапустить, можно освободить занятую память без перезапуска.
Вывод
Очистить файл, не перезапуская процесс
🚩Проверить монтирование (Docker, NFS, tmpfs)
Если файл хранился в смонтированном томе, он может не удалиться сразу.
Проверить монтированные диски:
Если файл был в Docker-контейнере, проверить объемы:
Ставь 👍 и забирай 📚 Базу знаний
В Linux удаленный файл может оставаться в памяти, если он все еще используется запущенным процессом. Это происходит, потому что файл не удаляется физически, пока его дескриптор (file descriptor) открыт.
Файл все еще используется процессом
Файл удален, но все еще открыт (
deleted в /proc) Файл удален, но был записан в смонтированный том
🚩Проверить, какие процессы держат удаленный файл (`lsof`)
Команда
lsof | grep deleted
Вывод
nginx 1234 www-data 4w REG 8,1 5G /var/log/nginx/access.log (deleted)
Решение: Перезапустить процесс:
systemctl restart nginx
или
kill -HUP 1234 # Закрыть процесс (PID = 1234)
🚩Освободить место вручную (`/proc`)
Если процесс нельзя перезапустить, можно освободить занятую память без перезапуска.
ls -l /proc/*/fd/ | grep deleted
Вывод
lrwx------ 1 root root 64 Feb 21 14:23 /proc/5678/fd/4 -> /var/log/nginx/access.log (deleted)
Очистить файл, не перезапуская процесс
> /proc/5678/fd/4
🚩Проверить монтирование (Docker, NFS, tmpfs)
Если файл хранился в смонтированном томе, он может не удалиться сразу.
Проверить монтированные диски:
df -h
mount | grep /var/log
Если файл был в Docker-контейнере, проверить объемы:
docker system df
Ставь 👍 и забирай 📚 Базу знаний
👍1💊1
🤔 Что такое container network module в Docker?
Это подсистема Docker, которая управляет сетевыми подключениями контейнеров. Она реализует типы сетей: bridge, host, none, overlay, macvlan, и отвечает за создание виртуальных интерфейсов, мостов и роутинг трафика между контейнерами и внешним миром.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний