В чем разница между resize2fs и lvresize?

Ваш скрипт не работает по нескольким причинам:

  • Вы начинаете с инициализации var, чтобы он был равен результату выполнения команды | wc -m, потому что mystringв этот момент равен нулю.
  • Даже если бы он не был нулевым, он попытался бы запустить его содержимое как команду и отправить этот вывод в wc.

Вы должны A> делать что-то в правильном порядке и ii.> делать что-то правильно:

read -p "Type something > " mystring
var="$( wc -m <<< "$foo" )"
echo $(($var-1))
0
14.08.2019, 07:15
1 ответ

Есть две разные вещи:

  • файловая система, структура данных, позволяющая хранить отдельные именованные файлы, и

  • блочное устройство (диск, раздел, том LVM ), внутри которого находится файловая система

resize2fsизменяет размер файловой системы , то есть изменяет структуры данных в ней, чтобы использовать новое пространство или помещать их в меньшее пространство. Это не влияет на размер базового устройства.

lvresizeизменяет размер тома LVM, но ему совершенно все равно, что в нем находится.

Итак, чтобы уменьшить том, вы должны сначала уменьшить файловую систему до нового размера (resize2fs), а после этого вы можете изменить размер тома до нового размера(lvresize). Если вы сделаете это другим способом, файловая система будет повреждена при изменении размера устройства.

Но чтобы увеличить размер тома, вы сначала изменяете размер тома, а затем файловой системы. Сделав это наоборот, вы не могли бы увеличить файловую систему, так как не было нового места для использования (еще ).

4
28.01.2020, 02:22

Теги

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