Проект

Общее

Профиль

Действия

Debian-replace-root » История » Редакция 4

« Предыдущее | Редакция 4/13 (Разница(diff)) | Следующее »
Андрей Волков, 2024-06-01 14:40


Debian-replace-root

Подготовка

Устанавливаем необходимое

apt-get install lsof psmisc

Останавливаем все важное

systemctl
systemctl stop docker.socket docker.service

Отключаем swap

swapon -s
systemctl stop ...

Создаём точки монтирования

mkdir /mnt/newroot
mount /dev/system/root /mnt/newroot
mkdir /mnt/newroot/mnt/oldroot

Переводим видимость / в private

findmnt -o TARGET,PROPAGATION /
findmnt -o TARGET,PROPAGATION

mount --make-rprivate /
findmnt -o TARGET,PROPAGATION /

Переключение

Подмена корневой ФС

Выполнять команды нужно вместе, иначе есть риск обрыва консоли

pivot_root /mnt/newroot /mnt/newroot/mnt/oldroot && \
 for MNT in dev proc sys run; do mount --move /mnt/oldroot/$MNT /$MNT; done

Перезапуск ssh

systemctl restart ssh
systemctl status ssh -n0

Перезапуск сервисов

systemctl daemon-reexec
fuser -vm /mnt/oldroot
systemctl restart dbus
systemctl restart systemd-logind systemd-journald systemd-udevd systemd-resolved systemd-networkd
systemctl restart getty@tty1.service user@0.service
systemctl status -n0 587
systemctl restart serial-getty@ttyS0.service
systemctl restart cron.service
systemctl stop qemu-guest-agent.service
logout

Обновлено Андрей Волков 4 месяца назад · 4 изменени(я, ий)