Вот как вы можете это сделать с дополнительным требованием, что вы не можете использовать ни sed
, ни:
for i in `split -n 1 fn* --filter='cat | rev | cut -f 1 -d 'f' | rev'`; do./yourscript.sh $i; done
Объяснение того, почему это работает:
split
разбивает файлы, имя которых начинается с fn
, на строки и обрабатывает cat | rev | cut -f 1 -d ' ' | rev
в каждой строке.
cat
повторяет эту строку, rev
переворачивает ее, cut
разделяет ее на слова, разделенные ' '
и выводит первое слово перевернутой строки, rev
переворачивает ее обратно; вы получаете последнее слово вашей линии.
Затем for...do...done
выполняет ваш сценарий для этого слова.
Предполагая, что вы следовали руководству, которое вы связали , точно , тогда /dev/sda7
должно быть вашим новым свободным пространством.
Поскольку Fedora использует LVM, это будет легко. На самом деле вам не нужно перемещать вашу /home
файловую систему (, то есть /dev/mapper/fedora-home
логический том в /dev/sda7
, чтобы расширить его :, как только вы добавите /dev/sda7
в fedora
Volume Group, вы можете расширить любой из логических томов (LV для краткости )внутри нее.
Во-первых, загрузитесь в свою обычную Fedora и станьте пользователем root. (Да, все остальные шаги можно сделать в обычной Fedora, без GParted Live или подобных!)
Чтобы сделать /dev/sda7
полезным для LVM, вам сначала нужно использовать на нем pvcreate
. Это эффективно уничтожит все существующие данные в разделе, на который он нацелен, поэтому будьте осторожны.
pvcreate /dev/sda7
Это превращает /dev/sda7
в новый физический том LVM, или сокращенно PV. Следующим шагом будет добавление его в вашу fedora
группу томов (VG ):
vgextend fedora /dev/sda7
На этом этапе вы можете использовать команды pvs
и vgs
, чтобы подтвердить, что /dev/sda7
теперь регистрируется как PV LVM, который является членом fedora
VG. Вы также увидите, что в VG будет доступно нераспределенное пространство.
Теперь, если вы действительно хотите переместить вашу файловую систему /home
в /dev/sda7
, вы можете сделать это с помощью следующей команды:
pvmove -n home /dev/sda6 /dev/sda7
Да, вы можете сделать это, пока /home
еще смонтирован и используется!
Но если у вас нет какого-то странного специального требования, чтобы ваша /home
файловая система была физически непрерывной, вам не нужно этого .
Пока у вас есть нераспределенное пространство в вашей VG, вы можете расширить любой LV внутри этой VG. LVM представит драйверу файловой системы пространство, выделенное для LV, как единую логически непрерывную единицу, даже если дисковое пространство физически находится в отдельных PV или даже на отдельных физических дисках.Вы можете просто расширить ваш /home LV на любую сумму, которую вы хотите, вплоть до количества нераспределенного пространства, доступного в VG. Например, чтобы расширить вашу файловую систему /home
на 32 гигабайта, вам понадобится еще одна команда:
lvextend -r -L +32G /dev/mapper/fedora-home
Эту операцию также можно выполнить в строке -, когда файловая система /home
смонтирована и используется.
Просто помните, что хотя многие файловые системы могут быть расширены, даже в строке -, это не обязательно означает, что файловая система может быть сжата так же легко. В частности, тип файловой системы XFS вполне допускает расширение строки -, но сжатие -даже вне -сжатие строки -может быть вообще невозможно. (Я думаю, что есть довольно свежие разработки в этой области, но не обязательно качество производства еще!)
Есть 3 старых варианта;
В zfs/brtfs есть другие инструменты, но вы их не используете.
поскольку вы используете fstab на lvm что-то вроде
lvextend /dev/mapper/fedora-home
resize2fs /dev/mapper/fedora-home
будет работать, но вы должны опубликовать вывод
pvs;vgs;lvs;pvdispay;vgdisplay;lvdisplay