расширяет раздел в объемном объеме

Для сломанных систем несколько лет назад я использовал приведенный ниже сценарий. Если вы сможете заставить работать '/usr/bin/ar' (из binutils), остальное не должно быть большой проблемой (хотя это не самый лучший написанный кусок кода...), как и другие программы, которые, надеюсь, есть на стандартных системах.

DISCLAIMER: вы всегда должны проверять извлеченный файл data.tar вручную перед запуском скрипта, так как ist может перезаписать важные файлы, если вам не повезет.

#!/bin/sh
#
# Try to install given package name without apt or similar helpers.
# It's a kind of 'quick and dirty' but usefull if system broke down.
#


TMPBASEPATH=~/.tmp


TMPPATH=$TMPBASEPATH/$2

echo;echo -=] Please start this script in a directory with rights to write 
echo -=] with the path of the .deb file which should be installed as first
echo -=] and the name \(only the name without \'.deb\'\) of the .deb file as 
echo -=] second argument.
echo -=] Sample: 
echo -=] \'$0 /cdrom/pool/main/a/apt apt_0.5.4_i386\'

echo; echo -=] First argument has been: \'$1\'
echo -=] Second argument has been: \'$2\'
echo -=] Trying to install \'$1/$2.deb\'

echo; echo -=] Creating directory \'$TMPPATH\'
mkdir $TMPPATH -p

echo -=] Copying \'$1/$2.deb\' to \'$TMPPATH\'
cp $1/$2.deb $TMPPATH

echo -=] Unpacking from Debian archive \'$TMPPATH/$2.deb\'
ar xv $TMPPATH/$2.deb data.tar.gz

echo -=] Unpacking from gzip archive \'./data.tar.gz\'
gunzip ./data.tar.gz -v

echo -=] Moving \'./data.tar\' to directory \'/\'
mv ./data.tar /$2.tar

echo -=] Entering directory \'/\'
cd /

echo -=] Unpacking tar archive \'/$2.tar\'
tar -xvf /$2.tar

echo; echo -=] Removing \'/$2.tar\'
rm /$2.tar


echo -=] All done!
echo
2
08.08.2018, 11:54
1 ответ

Сначала вам нужно изменить размер фактического раздела xvda1, например. с parted. Поскольку xvda2мешает, вам нужно отключить его (swapoff /dev/xvda2), затем удалить или переместить во время -процесса разбиения, и -заново создать его, если он был удален, и повторно -включить обмен потом при желании. Как только xvda2больше не располагается сразу после xvda1, partedдолжен просто позволить вам изменить размер xvda1, чтобы заполнить свободное пространство между ними.

Что касается того, как использовать parted, вы обычно хотите начать с print, чтобы показать текущее состояние таблицы разделов. Если вы хотите переместить xvda2, , просто запустите move 2и, глядя на числа из таблицы разделов, введите новые начальную и конечную позиции для раздела . Перемещение было удалено в более поздних версиях parted. ], поэтому просто удалите раздел 2. После этого используйте resizepart 1, чтобы изменить размер раздела 1 до желаемого окончательного размера. Если вы оставили свободное место после раздела 1, вы можете воссоздать xvda2, запустив mkpart, чтобы создать новый раздел.

В этот момент вам следует перезагрузиться, чтобы обновить таблицу разделов.

После этого, если предположить, что раздел на /dev/xvda1является ext2, ext3 или ext4, запуск resize2fs /dev/xvda1от имени пользователя root автоматически изменит размер раздела до максимально возможного. Для других типов разделов живое изменение размера может быть или не быть возможным -, например, с btrfs вы должны использовать btrfs filesystem resize max /для живого -изменения размера файловой системы, смонтированной в /, до максимально доступного размера.

2
27.01.2020, 22:08

Теги

Похожие вопросы