Проект

Общее

Профиль

Действия

Удаленная замена корневой ФС в Debian-systemd

debian 8

# создаем новый root в /mnt
mount -t tmpfs tmpfs /mnt -o size=1400m
cd /mnt

# останавливаем все, что пытается писать в текущий root
/etc/init.d/apache2 stop
/etc/init.d/mysql stop
/etc/init.d/zabbix-server stop

# перемонтируем текущий root в readonly
mount -n / -o remount,ro

# копируем текущий root в новый root (/mnt)
rsync -ax / /mnt/

# переключаемся в новый root

# При этом все процессы от старого /sbin/init завершатся,
# после чего будет запущен /sbin/init из нового root,
# который в свою очередь запустит все, что запускается после initramfs, включая sshd.
# О отключении автозапуска таких вещей как apache и/или mysqld нужно позаботиться заранее
systemctl switch-root /mnt /sbin/init

debian 9

modprobe zram && zramctl -f -s 3G
mkfs.ext4 /dev/zram0 && mount /dev/zram0 /mnt/
cd /mnt

systemctl stop syslog.socket
timeout 2 systemctl stop lvm2-lvmetad.socket

mount -n / -o remount,ro && rsync -ax / /mnt/

echo '#!/bin/bash
watch /usr/sbin/sshd -dD' >> /mnt/imssh
chmod +x /mnt/imssh

systemctl switch-root /mnt /imssh

ребут машины

echo b > /proc/sysrq-trigger

Обновлено Константин Пильник около 5 лет назад · 14 изменени(я, ий)