Команда isosize

Команда isosize позволяет задействовать одноименную утилиту, предназначенную для вывода информации о размере файловой системы ISO9660, которая присутствует на оптическом диске в указанном приводе или в файле образа оптического диска (ISO-файле). Данная утилита поставляется в комплекте с утилитами для записи оптических дисков wodim. Она работает исключительно с файловой системой ISO9660.

Примечание: ввиду особенностей стандарта ISO9660, размер файловой системы может отличаться от размера оптического диска или ISO-файла.

Базовый синтаксис команды выглядит следующим образом:

$ isosize [параметры] имя-iso-файла

В первую очередь следует отметить, что утилите необходимо указать способ доступа к существующей файловой системе ISO9660. Для этого следует передать утилите либо путь к ISO-файлу, либо путь к файлу устройства привода для чтения оптических дисков (чаще всего это /dev/sr0). Хотя по умолчанию утилита выводит размер файловой системы в байтах, она поддерживает параметр -x, позволяющий выводить количество блоков и параметр -d, позволяющий указать делитель для полученного значения размера файловой системы в байтах. В случае возникновения ошибок выводятся соответствующие сообщения.

Примеры использования

Получение информации о размере файловой системы оптического диска

Для того, чтобы получить информацию о размере файловой системы оптического диска достаточно передать утилите путь к файлу устройства чтения оптических дисков:

$ isosize /dev/sr0
isosize: невозможно открыть /dev/sr0: Носитель не найден

Это пример сообщения об ошибке — в приводе нет диска.

Если вставить диск и снова использовать приведенную выше команду, будет выведена информация о размере файловой системы в байтах:

$ isosize /dev/sr0
3124246528

Размер файловой системы — 3124246528 байт. Если вам удобнее видеть размер в килобайтах, вы можете использовать параметр -d с делителем 1024, в мегабайтах — делитель 1048576 (1024 × 1024), в гигабайтах — делитель 1073741824 (1024 × 1024 × 1024):

$ isosize -d 1024 /dev/sr0
3051022
$ isosize -d 1048576 /dev/sr0
2979
$ isosize -d 1073741824 /dev/sr0
2

Утилита осуществляет простое целочисленное деление, поэтому выводимые ею значения при использовании делителей очень примерные.

Если вас интересует размер в блоках, может использоваться параметр -x:

$ isosize -x /dev/sr0
число секторов: 1525511, размер сектора: 2048

В данном случае утилита выводит подробное сообщение.

Получение информации о размере файловой системы из ISO-файла

В случае наличия ISO-файла вместо оптического диска процесс получения информации о размере файловой системы принципиально не отличается от описанного выше:

$ isosize ./alpine-extended-3.18.3-x86_64.iso
883949568
$ isosize -d 1024 ./alpine-extended-3.18.3-x86_64.iso
863232
$ isosize -d 1048576 ./alpine-extended-3.18.3-x86_64.iso
843
$ isosize -d 1073741824 ./alpine-extended-3.18.3-x86_64.iso
0
$ isosize -x ./alpine-extended-3.18.3-x86_64.iso
число секторов: 431616, размер сектора: 2048

Несложно увидеть, что утилита вполне корректно работает с ISO-файлами.