bash + найти конкретное слово в последовательности с разделителями

Да, это можно сделать. Вы должны открыть меню и выбрать «Сборка - > Установите команды сборки »и измените содержимое поля« Выполнить »на

command "%f"

, если вы хотите выполнить его в терминале Geany. Или, если вас устраивает выполнение команды на вкладке «Компилятор» (в ней отсутствует интерактивность, поддержка раскраски и т. Д.), Измените содержимое полей «Компиляция», «Сборка», «Создать» или «Создать объект».

Затем откройте меню, выберите «Правка -> Настройки -> Привязки клавиш -> Сборка» и измените ярлык для «Выполнить» (или «Компилировать», «Сборка», «Сделать все», «Создать объект» соответственно) на «Ctrl + B» или что угодно.

Как видите, вариантов немного, но если вам нужно выполнить только одну команду, этого будет достаточно.

Подробнее см. здесь .

0
20.02.2019, 16:08
2 ответа

Система LVM не знает, как вы используете свои логические тома. Даже если вы уменьшите файловую систему, которую вы используете в своем LV, это не изменит ни размер LV, ни свободное пространство в вашей VG и PV (, все пространство, выделенное для LV, считается используемым ).

Если вы уменьшили свою файловую систему, вы можете уменьшить свой LV с помощью команды lvreduce, но вы должны быть особенно осторожны, чтобы не уменьшить его до размеров вашей файловой системы, иначе вы можете потерять некоторые данные.

После того, как вы уменьшили свой логический том, вы можете переместить используемое пространство из одного PV в другое с помощью команды pvmove, а затем удалить PV из VG с помощью команды vgreduce.

0
28.01.2020, 02:40

Отлично, вы успешно уменьшили файловую систему внутри корневого 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без параметров, чтобы продолжить с того места, где оно было.

Теперь sda3PV должен быть полностью пуст. Удалите его из ВГ:

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

Готово.

Обратите внимание, что я нигде не говорил «размонтировать файловую систему» ​​или «перезагрузить систему». В этом нет необходимости.

1
28.01.2020, 02:40

Теги

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