The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Системное и пользовательское ПО)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

установить новую систему и заменить предыдущую без перезагрузки, Румба (?), 30-Ноя-22, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


3. "установить новую систему и заменить предыдущую без перезагрузки"  +/
Сообщение от PavelR (??), 01-Дек-22, 05:10 
схема там была такая:

Создаем в RAM временный диск и переносим туда файлы ОС

mkdir /tmp/tmproot
mount none /tmp/tmproot -t tmpfs
mkdir /tmp/tmproot/{proc,sys,usr,var,oldroot}
cp -ax /{bin,etc,mnt,sbin,lib,lib64,run} /tmp/tmproot/
cp -ax /usr/{bin,sbin,lib} /tmp/tmproot/usr/
cp -ax /var/{account,empty,lib,local,lock,nis,opt,preserve,run,spool,tmp,yp} /tmp/tmproot/var/
cp -a /dev /tmp/tmproot/dev

Переключаемся в это окружение

pivot_root /tmp/tmproot/ /tmp/tmproot/oldroot
mount none /proc -t proc
mount none /sys -t sysfs
mount none /dev/pts -t devpts

Ребут если чето пошло сильно не так

# echo 1 > /oldroot/proc/sys/kernel/sysrq
# echo b > /oldroot/proc/sysrq-trigger

#Но если всё идет норм, то перезапускаем сервисы в новом окружении

service ssh restart

#отмонтируем ФС старого окружения

umount /oldroot/proc
umount /oldroot/dev/pts
umount /oldroot/dev
umount /oldroot/sys
umount /oldroot/run/lock
umount /oldroot/run/shm


lsof /oldroot/dev

killall5 udevd
killall5 getty
killall5 rsyslogd


####### Делаем нужные дела. в в твоем случае - чтобы где-то на диске появилась новая ось.


Переключаем окружение обратно

pivot_root /mnt /mnt/tmp/tmproot

mkdir /proc
mount none /proc -t proc

mkdir /dev
cp -ax /tmp/tmproot/dev/* /dev/

mount -t devpts none /dev/pts
mount -t sysfs none /sys/

Когда-то в старых версиях Debian это сработало.
Но AFAIK/IIRC в свежих ОС systemd что-то там будет удерживать и способ не сработает - не получится старую ФС отмонтировать. Репорть Поттерингу. ))

Ответить | Правка | Наверх | Cообщить модератору

4. "установить новую систему и заменить предыдущую без перезагрузки"  +/
Сообщение от Румба (?), 02-Дек-22, 15:25 
ай спасибо тебе, человечище
почти по твоей схеме
всё получилось. только не в рам диске делал, а диск порезал и без перезагрузки не обошлось. но буду думать как ребута избежать - сетка все равно теряется пришлось скрипт в крон повесить


>[оверквотинг удален]
> pivot_root /mnt /mnt/tmp/tmproot
> mkdir /proc
> mount none /proc -t proc
> mkdir /dev
> cp -ax /tmp/tmproot/dev/* /dev/
> mount -t devpts none /dev/pts
> mount -t sysfs none /sys/
> Когда-то в старых версиях Debian это сработало.
> Но AFAIK/IIRC в свежих ОС systemd что-то там будет удерживать и способ
> не сработает - не получится старую ФС отмонтировать. Репорть Поттерингу. ))

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру