Debian - изменить размер корневого раздела ext3 на удаленной системе
Я хочу изменить размер (сжать) корневой раздел ext3 fs удаленной системы Debian 5.0. Там нет LVM.
Возможно ли это без использования livecd? Например, через пользовательский initrd.img.
И вторая проблема - могу ли я заставить grub использовать разные параметры только при первой перезагрузке, но не при второй и последующих.
2 ответа
Это конечно возможно; единственное, что вам нужно для сокращения вашей корневой файловой системы - это другая корневая файловая система для загрузки.
Я не знаю, будет ли обычного initrd.img достаточно. (Это может быть. Я хотел бы услышать способ сделать это.)
Если бы это был я, я бы сделал минимальную установку системы на другом разделе, содержащем только необходимые инструменты. Вы перезагрузитесь в этот раздел и измените размер основного корневого раздела оттуда. (Если вы используете дистрибутив на основе Debian, статья " Установка Linux из Linux" описывает хороший способ сделать это.)
Если ваш системный диск заполнен, но у вас есть раздел подкачки, вы можете временно переназначить его в качестве этого вторичного корневого раздела. Поскольку вторичной системе нужны только базовая система, инструменты файловой системы и SSH, она может находиться в очень маленьком разделе. Ваша система, вероятно, может жить без подкачки, пока вы настраиваете эту процедуру.
Что касается Grub, с Grub v1 вы можете использовать команды меню Grub default saved
а также savedefault N
с помощью инструмента командной строки grub-set-default
установить вариант однократной загрузки. Я написал инструкцию по выполнению начальной загрузки с Grub v1 в другом ответе.
Краткая версия: настройте свой /boot/grub/menu.lst
Таким образом:
default saved
# boot entry 0
title Default boot
root hd(0,0)
kernel /boot/vmlinuz-2.6.xx UUID=xxxxxxx ro
savedefault
# boot entry 1
title Temp boot
root hd(0,1)
kernel /boot/vmlinuz UUID=yyyyyyyy ro
savedefault 0
Grub загрузит запись "Default boot" по умолчанию, и если вы хотите перезагрузиться в запись "Temp boot", вы можете запустить grub-set-default 1
и перезагрузите компьютер. Перезагрузка будет использовать временную настройку по умолчанию, загрузит запись "Temp boot" и сохранит запись "Default boot" в качестве следующей перезагрузки.
С Grub2 основная идея та же самая, хотя конфигурация, очевидно, немного другая. Этот сайт имеет много информации о Grub2 и сообщает, что grub-set-default
работает и под Grub2.
Я ожидаю, что вы можете поместить все, что вам нужно, в свой initrd, а затем размонтировать root (я бы положил все, что у вас обычно есть в вашем initrd, плюшу ssh или что-нибудь для удаленного, + инструменты fs и т. Д.), Таким образом, вы не делаете сильно не рискую.
Другое дело, что произойдет, если вы облажались? Дополнительное время простоя может сделать другой план лучшим выбором, например, добавить диск в систему.