Debian8-switch-root » История » Редакция 11
Редакция 10 (Константин Пильник, 2019-02-22 15:47) → Редакция 11/14 (Константин Пильник, 2019-02-22 15:49)
h1. Удаленная замена корневой ФС в Debian-systemd
h2. debian 8
<pre><code class="python">
# создаем новый 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
</code></pre>
h2. debian 9
<pre>
modprobe zram && zramctl -f -s 3G
mkfs.ext4 /dev/zram0 && mount /dev/zram0 /mnt/
cd /mnt
systemctl stop syslog.socket
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
</pre>