mkfs .ext4: недопустимые блоки offset = X на устройстве device.img

Вы не можете изменить разрешения для ссылки. Вместо этого вам нужно изменить разрешения целевого объекта. Это описано в man 2 symlink:

   The permissions of a symbolic link are  irrelevant;  the  ownership  is
   ignored  when following the link, but is checked when removal or renam‐
   ing of the link is requested and the link is in a  directory  with  the
   sticky bit (S_ISVTX) set.

Итак, чтобы добиться желаемого, вам нужно выполнить

 chmod 770 /usr/lib/tomcat7/bin/startup.sh
1
02.10.2018, 13:30
2 ответа

Предполагая, что вы можете создать файловую систему с опцией offset=, как бы вы ее использовали?

В справочной странице говорится

-E extended-options

Set extended options for the filesystem. Extended options are comma separated, and may take an argument using the equals ('=') sign.

offset=offset

Create the filesystem at an offset from the beginning of the device or file. This can be useful when creating disk images for virtual machines.

Таким образом, правильный синтаксис будет

sudo mkfs.ext4 imagem-zero.img -E offset=$((2048))

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

losetup -P -f imagem-zero.img

Это даст вам /dev/loopXи разделы /dev/loopXp0, /dev/loopXp1. Вы можете использовать mkfsна этих разделах, монтировать их и записывать файлы на эти разделы. После размонтирования разделов выполните

losetup -d /dev/loopX
0
27.01.2020, 23:23

Вы просто забыли использовать переключатель -E!

Кроме того, у меня есть предложение не использовать sudo, когда в этом нет необходимости.

  1. Создать обнуленный файл, здесь sudoне нужно:

    dd if=/dev/zero of=image-zero.dd count=20480000 status=progress
    
  2. Разделите обнуленное изображение с cfdiskкак хотите, sudoздесь не нужно:

    cfdisk image-zero.dd
    
  3. Создайте файловую систему на разделе (s ), используя здесь sudoне нужно:

    mkfs.ext4 image-zero.dd -E offset=$(( 512 * 2048 ))
    
  4. Создайте каталог точки монтирования:

    mkdir mnttest
    
  5. Смонтируйте образ, обратите внимание, здесь требуется sudo:

    sudo mount -t ext4 -o offset=$(( 512 * 2048 )) image-zero.dd./mnttest
    

Протестировано на Linux Mint 19.


Как найти правильное смещение

Ваше изображение имеет:

  • Размер логического сектора :512 байт

  • Начальный сектор первого раздела :2048

  • Начальный сектор второго раздела :16779264

Расчет:

Умножьте размер логического сектора на начальный сектор раздела, и давайте посчитаем с вашей оболочкой.

Результаты:

  • 1-й раздел:offset=$(( 512 * 2048 ))

  • 2-й раздел:offset=$(( 512 * 16779264 ))

3
27.01.2020, 23:23

Теги

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