- Редактируем iso в Ubuntu Linux из консоли
- Задача
- Решение
- Подготовка
- Изменение содержимого
- Сборка каталога в образ
- Умолчания
- Дополнительно
- Модификация установочного ISO образа
- Содержание
- Модификация установочного ISO образа [ править ]
- Установка пакетов [ править ]
- Скачивание образа [ править ]
- Получение информации об образе [ править ]
- Распаковка образа [ править ]
- Содержимое образа [ править ]
- Изменение содержимого образа [ править ]
- Создание ISO [ править ]
- Редактирование образов в Linux
- Способ первый, редактирование образов вручную
- Редактирование образов в Linux с помощью ISO Master
- Установка
- Запуск и работа
- Редактирование iso образов
Хорошие сказки заканчиваются хорошо, а плохие честно
Редактируем iso в Ubuntu Linux из консоли
24.03.09 07:05 / Обновлено 13.06.10 14:37 | Версия для печати | Linux |
Задача
Снять образ с загрузочного компакт-диска, изменить файлы в образе и записать результат на другой компакт-диск.
Решение
Подготовка
Снимаем образ с компакт-диска. Работа с образом быстрее, да и резервная копия никогда не помешает.
Создаём папку для монтирования образа, аналог «подключения виртуального диска» в виндах. В зависимости от места создания, возможно, придётся делать от имени суперпользователя. Лично у меня эта папка была создана однократно и именно для таких целей — для подключения образов дисков.
Монтируем образ компакт-диска в папку. Только от имени суперпользователя.
Создаём папку для копирования содержимого диска, в которой будем изменять файлы. Путь к cd-dir должен быть указан либополный, либо относительно текущего каталога. У меня обычно это папка в домашнем каталоге.
Копируем файлы с образа в папку.
Размонтируем образ, он нам больше не нужен. Тоже от имени суперпользователя. Если этого не сделать сейчас, образ будет автоматически размонтирован при перезагрузке.
Изменение содержимого
Всё содержимое компакт-диска сейчас у нас находится в папке cd-dir. Редактируем его по усмотрению.
Сборка каталога в образ
А вот эта задача уже посложнее. Стандарт загрузочного компакт-диска подразумевает наличие на нём двух файлов: загрузочного каталога и собственно образа загрузчика.
Например, в Ubuntu 8.04 эти два файла находятся в папке isolinux. Образ загрузчика — isolinux.bin, загрузочный каталог — boot.cat.
Загрузочный каталог — файл размером 2 килобайта, его содержимое роли не играет.
Особый интерес представляет образ загрузчика.
Немного теории.
BIOS не умеет грузиться с CD-ROMа, но умеет считывать с него информацию. Специально для загрузки с компакт-дисков была введена спецификация El Torito, El Torito Bootable CD Specification. Суть её в следующем: BIOS сканирует все дисковые системы компьютера, и по стандарту ISO9660 (формат хранения данных на компакт-дисках), эмулирует образ загрузчика как жёсткий диск (или флоппик), после чего происходит загрузка с этого диска в обычном режиме.
Нужно найти оба этих файла, после чего собрать образ компакт-диска из каталога:
boot.bin — полный путь к образу загрузчика относительно корня компакт-диска
boot.cat — полный путь к загрузочному каталогу относительно корня компакт-диска
-no-emul-boot — нужен в том случае, когда образ загрузчика не является точным образом загрузочного флоппи, включая размер
-boot-load-size 4 — задаёт число загрузочных секторов, ключ нужен для совместимости с «глючными» биосами, которых много. Если параметр будет не 4, то некоторые экземпляры откажутся запускаться
-boot-info-table — также для совместимости
Получившийся диск записываем командой:
Умолчания
/dev/cdrom — файл-устройство привода компакт-дисков
cdimage-orig.iso — образ диска до редактирования
cdimage-new.iso — образ отредактированного диска
/mnt/vcd/ — каталог для монтирования образов
cd-dir — каталог для редактирования содержимого диска
Дополнительно
ISO9660 — стандарт файловой системы для хранения данных на дисках CD. Формат введён для независимости доступа к дискам от рабочей платформы (Windows, Linux, и т.д.)
Есть несколько уровней спецификации:
1. Формат имён файлов — 8.3, как в DOS. Не больше 8 символов в имени каталога. Не больше 8 вложенных каталогов. В именах используются только буквы латинского алфавита. Фрагментация файлов не допускается.
2. Имена файлов ограничены 32 символами. Набор символов в именах неограничен.
3. Допускается фрагментация файлов (необходимо для пакетной или инкрементной записи CD).
4. (ISO9660-2) Максимальная длина пути — 207 символов. Нет ограничения на вложенные папки. Символа «.» (точка) в именах файлов не носит особого значения.
Общее ограничение ISO9660 — размер файла не может превышать 2GB.
Расширение стандарта, называемое Joliet, добавляет поддержку длинных имён файлов и не-ASCII символов в именах.
Источник
Модификация установочного ISO образа
Содержание
Модификация установочного ISO образа [ править ]
Установка пакетов [ править ]
Скачивание образа [ править ]
Получение информации об образе [ править ]
Данная информацию необходима для анализа исходного образа и указания соответствующих значений при обратной запаковке образа
Распаковка образа [ править ]
Содержимое образа [ править ]
В каталоге altcustom/ можно увидеть содержимое распакованного образа:
Для перепаковки, в первую очередь, интерес представляют squash-образы:
altinst — базовый образ для установки системы
live — образ для запуска LiveCD
rescue — образ для запуска RescueCD
ALTLinux/ — содержит набор пакетов для установки системы
Изменение содержимого образа [ править ]
Для примера, распакуем образ altinst:
При этом в текущем каталоге будет создан дополнительный каталог squashfs-root/ с содержимым этого образа.
Запаковать образ обратно можно так, предварительно удалив существующий образ:
Создание ISO [ править ]
Когда все манипуляции с образом будут выполнены, убедитесь, что в каталоге не осталось лишних файлов, и приступайте к сборке образа.
Чтобы новый ISO сохранил возможность запускаться с флешек, необходимо из исходного ISO получить гибридный MBR:
После этого можно создавать гибридный ISO образ:
Источник
Редактирование образов в Linux
Часто возникает необходимость добавить, удалить или изменить файлы на iso образе. Например вы хотите добавить несколько треков на образ диска с музыкой или отредактировать параметры загрузки для Live CD. В Windows эта задача решалась очень просто, существует большое количество как известных так и не очень утилит с подобным функционалом таких например Alcohol, UltraISO и т д. Но в Linux дела обстоят немного странным образом.
С одной стороны в Linux работа с образами дисков поддерживается на уровне системы, без каких либо дополнительных утилит, но с другой файловая система iso не поддерживает редактирование данных. Поэтому все операции по изменению содержимого образов сводятся к распаковке, редактированию и обратной упаковке образа. Можно конечно установить ту же UltraISO в wine и радоваться жизни но это не Ъ и мы пойдем другим путем.
Способ первый, редактирование образов вручную
Этот вариант немного трудоемкий, но он раскрывает суть работы с образами, будь то в Windows или Linux все происходит именно таким способом, только если вы используете дополнительные утилиты все действия будут автоматизированы и скрыты от пользователя. Вы будете чувствовать что редактируете образ напрямую внося изменения в его файловую систему, но это не так, это лишь видимость создаваемая утилитой.
И так, приступим. Порядок такой: монтируем образ, копируем из него содержимое во временную папку, вносим необходимые изменения и собираем образ обратно.
Создаем временную папку и копируем данные:
Я создал каталог в оперативной памяти чтобы ускорить процесс, но если у вас недостаточно ОЗУ или очень большой образ можно писать и в любое другое место на жестком диске.
Переходим в временную папку и вносим изменения:
И наконец собираем образ обратно:
Теперь вы знаете как все происходит, но повторять такой процесс каждый раз неудобно, да и не нужно. В последнее время для Linux появилось несколько утилит для редактирования образов, которые мы рассмотрим ниже.
Редактирование образов в Linux с помощью ISO Master
ISO Master — утилита для создания и редактирования образов для Linux. Поддерживается файловая система ISO9660 а также расширения Joliet и RockRidge. Утилита позволяет открывать образы форматов .nrg (Nero) и .mdf (Media Descriptor Format). Также есть функция создания загрузочных дисков.
Установка
ISO Master есть в репозиториях большинства популярных дистрибутивов. Для установки в Ubuntu и Linux Mint выполните:
Для установки в Gentoo:
А пользователи ArchLinux могут установить утилиту из AUR.
Запуск и работа
Для запуска программы наберите:
В главном окне необходимо выбрать образ диска, затем программа подготовит диск к работе (вы уже знаете как) и отобразит содержимое в нижней части окна.
Здесь с помощью контекстного меню можно удалять, переименовывать или редактировать файлы, Для редактирования нужно указать текстовый редактор в разделе Tools -> Options -> Editor:
Чтобы добавить новый файл к образу. Выберите желаемый файл в верхней части окна и кликните на кнопке Add:
Чтобы сохранить внесенные изменения перейдите в меню File и выберите пункт Save As, затем укажите желаемое имя для нового образа и нажмите кнопку save:
На этом статья закончена. Надеюсь эта информация вам была полезной.
Источник
Редактирование iso образов
Доброго времени суток.
Есть iso образ и нужно в него добавить файлы. Пытаюсь сделать это с помощью IsoMaster. В итоге получаю образ в котором вновь добавленные файлы остаются нормальными, а те которые были в исходном образе — не читаемы, т.е. прочитать их можно, но получается полная чушь. Попробовал Kiso, но с этой программой проблема в том что она вообще не хочет сохранять файлы.
Посоветуйте как решить проблему с isomaster или посоветуйте другую программу.
P.P.S. Может важно- образ 8-ми гиговый
Монтируете образ, копируете содержимое на жёсткий диск, редактируете образ, собираете образ.
Программы: mount, mkisofs.
Это конечно вариант, но если нет желания делать лишние движения?
Это не лишние, а обычные телодвижения. Так поступают все программы для редактирования образов ISO, т.к. этот формат не предназначен для редактирования.
Я понимаю что программы так и делают и я бы хотел что бы это делали программы, а не я. Т.е. в isomaster есть возможность добавить файлы, следовательно я хочу пользоваться данной возможностью.
Если не устраивает — делай форк
даже майкрософт собирает свои iso-кшки консольной программой из батников.
редактирование iso — неправильно.
Всё остальное работает черер ж*пу.
Если так хочется по-быстрому иметь возможность добавлять/удалять в образах болванок файлы, делай как я: создаешь при помощи dd файлик нужного размера (чтобы целиком на DVD влез); при помощи mkfs.ext2 создаешь на нем ext2; затем при помощи tune2fs отключаешь всякие времена для проверок, рутовский резерв и т.п.; создаешь директорию и монтируешь свой образ; заполняешь его нужными файлами; записываешь на диск. Потом файлы с образа можно удалить и заполнить другими, чтобы записать следующую болванку. Зато потом, если ты писал на DVD+RW, можно просто снять с нее образ; подмонтировать его; удалить/добавить нужные файлы; записать обратно.
Очень удобно. Правда, в мастдае такой диск тоже будет открываться.
Пока ты писал этот комментарий, можно было дважды нагуглить простое решение.
Для создания образа воспользуемся следующим синтаксисом:
$ mkisofs -o test.iso -Jrv -V test_disk /home/usver/test_dir
В этом примере следующие обозначения: -o — имя создаваемого iso-файла (test.iso)
-J — используем записи Joliet для совместимости с системой Windows
-r — Rock Ridge расширение для совсестимости с *nix
-v — так называемый verbose-режим. В этом случае в процессе создания образа будет выводиться различная дополнительная информация
-V — указываем имя тома (test_disk); Это имя будет отображаться при просмотре в Windows
кстати кто нибудь знает как на одну сд болванку залить два образа openbsd и systemrescuecd с возможностью выбора при загрузке? размером они умещаются
Выложить оба в корень будущего образа, применить загрузчик вроде grub4dos, написать для него конфиг для выбора sysrcd или openbsd.
спасибо попробуем :_)
>Это не лишние, а обычные телодвижения.
По-моему 4.2. Монтировать и копировать ничего не надо, лишь создать образ при сохранении. В вашем случае лишняя копия получается.
>В итоге получаю образ в котором вновь добавленные файлы остаются нормальными, а те которые были в исходном образе — не читаемы
Писали о проблеме девелоперам?
AcetoneISO конечно попробую, но разве она не для монтирования?
Wine и ultraiso вариант по-моему не самый лучший, но как бы не оказался единственным.
Остальные варианты — это не решение вопроса, т.к. вопрос был «Посоветуйте как решить проблему с isomaster или посоветуйте другую программу», т.е. нужен гуй.
Писать разработчикам. увы, но не с моим знанием английского.
mount -t loopback cd.iso /some_diretory и отредактируй
неизвестный тип файловой системы ‘loopback’
Только iso9660 таким образом редактировать нельзя.
Еще раз напишу: нужен графический интерфейс
Кроме ISO Master нет ничего вменяемого, ИМХО.
>В итоге получаю образ в котором вновь добавленные файлы остаются нормальными, а те которые были в исходном образе — не читаемы, т.е. прочитать их можно, но получается полная чушь.
Специально установил IsoMaster, добавил файлы — всё пучком. Да кириллицу не понимает.
Ubuntu 10.04 x86_64
Взял 700 метровый образ и тоже все прошло нормально, а с 8 гиговым вот такой облом.
Источник