chroot вместо порчи хоста

Использую Debian 8 и 9 для разных целей зачастую очень грязных в плане установки кучи пакетов и сборки чего-то кастомного и/или опасного/дырявого. В связи с чем есть два выхода:
1. lxc — когда надо управлять ресурсами и не позволять их выжрать все,
2. простой chroot — когда точно знаешь что делаешь.

Подготовка для chroot очень простая:
apt-get install debootstrap

Далее ставим нужную систему. Я ставлю такую же как на хосте. Вот сейчас это Debian 8:
debootstrap jessie /usr/local/jessie http://mirror.yandex.ru/debian

Создаём скрипт для монтирования и запуска чего-то нужного в этом chroot:
/usr/local/sbin/jessie.sh:

#!/bin/bash
cd /usr/local/jessie || exit
[ -z "`mount | grep /usr/local/jessie/proc`" ] && mount proc -t proc ./proc
[ -z "`mount | grep /usr/local/jessie/sys`" ] && mount sys -t sysfs ./sys
[ -z "`mount | grep /usr/local/jessie/dev`" ] && mount --bind /dev ./dev
[ -z "`mount | grep /usr/local/jessie/dev/pts`" ] && mount --bind /dev/pts ./dev/pts
chroot /usr/local/jessie /runme.sh

Теперь вешаем этот скрипт в crontab на хосте или запускаем вручную при старте хоста или вручную.

Оставить комментарий