Проект

Общее

Профиль

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>