Уменьшить раздел FreeBSD

Вот моя попытка awk.

awk 'BEGIN{print "id,name,tid,mod,state,appnbr,request,tasknbr,appctx,username"}NR>2{print $1","$2","$3","$4","$5","gensub(/:/,",","g",$6)}' file.txt
  • NR>2, так что записи номер 1 и 2 (заголовки )пропускаются
  • печатать поля от $1 до $5 с запятыми
  • вместо вывода поля $6 напечатайте его, заменив :на ","
1
06.03.2020, 13:13
2 ответа

Я бы решил это старым добрым -модным способом.

newfs /dev/ada1s1
mount /dev/ada1s1 /mnt
cd /mnt
dump -0a -f - /dev/ada0s1 | restore -rf -
gpart bootcode -b /boot/mbr -p /boot/boot1 ada1

Это создает новую файловую систему, монтирует ее и входит в целевой каталог, потому что там должно работать восстановление. Он копирует всю файловую систему с помощью классических средств резервного копирования (, которые никогда не дают сбоев для UFS ). Последняя команда записывает загрузочный код.

Отказ от ответственности :Пожалуйста, всегда проверяйте команды, потому что это, конечно же, разрушительно, если какой-то параметр неверен!! Вы должны понимать, что здесь делается.

1
28.04.2021, 23:21

Во-первых, вам нужна резервная копия на случай, если что-то пойдет не так. Вам нужны инструменты для файловой системы, которую вы используете, какой бы она ни была.

Во-первых, вам нужна программа, которая логически сожмет ваш раздел в используемой вами файловой системе. Я делал это несколько раз раньше с ntfs и ext3, но идея одинакова для каждой файловой системы.

Я предполагаю, что ваш образ является образом раздела (sda1.img), если это весь диск (sda.img), то либо «извлеките» только раздел, либо поместите (весь образ )на физический диск (1 ТБ+ )и работайте над этим. Позже вы скопируете свою работу на новый 500-гигабайтный диск. Причина этого в том, что ваша программа изменения размера может не поддерживать смещение раздела, как в случае с образом всего диска.

your old disk (sda):
+--------+----------------+---...
| mbr... | sda1 (system)  | sda2...
+--------+----------------+---...

1. Используйте ntfsresize/ tune2fs/ whatever-fs-resizer, чтобы уменьшить файловую систему вашего раздела(/dev/sda1(на физическом диске )/sda1.img(в образе )). Это уменьшит размер вашей файловой системы в образе (раздела )

.

2. Создайте новую таблицу разделов на новом (500 ГБ )диске (/dev/sdb), которая может поместиться в системный раздел с измененным размером плюс дополнительный мегабайт, чтобы файловая система поместилась в новый раздел(/dev/sdb1). Используйте для этого fdisk/cfdisk/(g)parted/whatever-you-like. Не забудьте сделать /dev/sdb1загрузочным.

Технически можно точно рассчитать, сколько вам потребуется, но не беспокойтесь -ваш ресайзер должен иметь возможность изменять размер вашей файловой системы (на/dev/sdb1)чтобы заполнить весь раздел (это на потом ).

3. Скопируйте измененный размер sda1.imgв новый пункт назначения/dev/sdb1(с помощью ddили cat, даже :$ cat sda1.img > /dev/sdb1)

.

4. Отформатируйте другие разделы /dev/sdb2|3|4...в соответствии с вашими потребностями.

5. Наслаждайся своей работой.

1
28.04.2021, 23:21

Теги

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