👁 Иногда нужно быстро воспроизвести поведение сервиса в «чистой» среде или проверить, как он ведёт себя в изоляции, но без поднятия контейнеров или виртуалок. В Linux для этого есть unshare — инструмент, который позволяет создать отдельные namespace прямо из шелла.
📝 Запуск процесса в изолированном окружении
unshare позволяет изолировать PID, сеть, mount и другие namespace, создавая почти «мини-контейнер» без Docker.
sudo unshare --fork --pid --mount --uts --ipc --net bash
📌 Ты получаешь новый shell с изолированными пространствами: процессы, hostname, сеть — всё отдельное от основной системы.
📝 Создание собственной файловой системы через chroot
Внутри изоляции можно примонтировать свою файловую систему и получить полностью отдельную среду.
mount -t tmpfs tmpfs /mnt mkdir /mnt/bin cp /bin/bash /mnt/bin/ chroot /mnt /bin/bash
📌 Это позволяет тестировать поведение приложений в минимальной среде без лишних зависимостей.
📝 Отладка сети в изолированном namespace
Можно создать отдельный сетевой стек и проверить, как ведёт себя приложение без влияния хоста.
ip link set lo up ip addr add 127.0.0.1/8 dev lo
📌 После этого можно запускать сервисы и тестировать их в полностью изолированной сети.
❗️ unshare — это недооценённый инструмент, который даёт почти все возможности контейнеров, но без Docker. Отлично подходит для дебага, тестирования и понимания, как реально работают namespace в Linux.
tags: #linux #безопасность #полезно



