Да, это можно сделать. Вы должны открыть меню и выбрать «Сборка - > Установите команды сборки »и измените содержимое поля« Выполнить »на
command "%f"
, если вы хотите выполнить его в терминале Geany. Или, если вас устраивает выполнение команды на вкладке «Компилятор» (в ней отсутствует интерактивность, поддержка раскраски и т. Д.), Измените содержимое полей «Компиляция», «Сборка», «Создать» или «Создать объект».
Затем откройте меню, выберите «Правка -> Настройки -> Привязки клавиш -> Сборка» и измените ярлык для «Выполнить» (или «Компилировать», «Сборка», «Сделать все», «Создать объект» соответственно) на «Ctrl + B» или что угодно.
Как видите, вариантов немного, но если вам нужно выполнить только одну команду, этого будет достаточно.
Подробнее см. здесь .
Система LVM не знает, как вы используете свои логические тома. Даже если вы уменьшите файловую систему, которую вы используете в своем LV, это не изменит ни размер LV, ни свободное пространство в вашей VG и PV (, все пространство, выделенное для LV, считается используемым ).
Если вы уменьшили свою файловую систему, вы можете уменьшить свой LV с помощью команды lvreduce
, но вы должны быть особенно осторожны, чтобы не уменьшить его до размеров вашей файловой системы, иначе вы можете потерять некоторые данные.
После того, как вы уменьшили свой логический том, вы можете переместить используемое пространство из одного PV в другое с помощью команды pvmove
, а затем удалить PV из VG с помощью команды vgreduce
.
Отлично, вы успешно уменьшили файловую систему внутри корневого LV.
Следующим шагом является сжатие LV для соответствия новому размеру файловой системы. Ради безопасности вы можете оставить немного слабины, так как случайное отрезание слишком большого количества будет гораздо более серьезной проблемой.
Операции сжатия файловой системы всегда немного более рискованны, чем расширения, особенно если вы еще не очень хорошо с ними знакомы. Так что сделайте резервную копию всего, что вам может понадобиться, на случай, если что-то пойдет не так.
Затем используйте tune2fs -l
, чтобы получить точное количество блоков из файловой системы:
tune2fs -l /dev/mapper/zoneminder--vg-root | grep "Block "
Block count: NNNNNNNNN
Block size: XXXX
Перемножьте эти два числа вместе, чтобы получить точный размер файловой системы, затем разделите на 1024, чтобы получить двоичные килобайты, и еще раз, чтобы получить двоичные мегабайты. Добавьте единицу для защиты от ошибок округления :
.expr NNNNNNNNN \* XXXX / 1024 / 1024 + 1
SSSSSS
Теперь уменьшите LV:
lvreduce -L SSSSSS /dev/mapper/zoneminder--vg-root
Теперь у вас должно быть много свободного места в вашей виртуальной группе Zoneminder. Используйте pvs
, чтобы убедиться, что /dev/sda3
теперь полностью не используется или нет :
Если на выходе pvs
значение PFree не равно PSize для /dev/sda3
, на этом PV все еще есть некоторые части корневого LV, и вам нужно будет их оттуда переместить. pvmove
может легко это сделать. Если /dev/sda3
теперь полностью свободен, вы можете пропустить этот шаг.
pvmove /dev/sda3
Это, по сути, говорит: «Сделать sda3
пустым, переместив все данные LV, которые все еще находятся в ot, в другие PV, принадлежащие к той же VG».
pvmove
работает путем зеркального отображения части данных, которые необходимо переместить в новое место, а затем «удаления зеркала» со старой стороны. Поэтому, если pvmove
прерывается системным сбоем, это не катастрофа. Просто запустите pvmove
без параметров, чтобы продолжить с того места, где оно было.
Теперь sda3
PV должен быть полностью пуст. Удалите его из ВГ:
vgreduce zoneminder-vg /dev/sda3
В этот момент /dev/sda3
будет неприсоединенным, полностью свободным PV LVM. Вы можете стереть PVID с него, если хотите:
pvremove /dev/sda3
Теперь вы можете использовать раздел /dev/sda3
по своему усмотрению. (Если вы планируете сделать что-то, что в любом случае вызовет перезапись раздела, команда pvremove
не будет строго обязательной.)
Теперь, если вы хотите расширить корневой LV до 100 ГиБ, выполните следующие действия:
lvextend -L 100G /dev/mapper/zoneminder--vg-root
resize2fs /dev/mapper/zoneminder--vg-root
Готово.
Обратите внимание, что я нигде не говорил «размонтировать файловую систему» или «перезагрузить систему». В этом нет необходимости.