- Как создать ISO образ диска в Ubuntu, Debian, CentOS
- Как создать ISO образ диска в Ubuntu, Debian, CentOS
- Подготовка
- Устанавливаем зависимости на хост-систему
- Монтируем оригинальный образ ISO в mnt
- Копируем содержимого mnt в extract-cd
- Расжимаем файловую систему squashfs и перемещаем содержимое в edit
- Подготавливаем рабочую среду
- Кастомизация своего образа Ubuntu
- Ставим необходимые пакеты
- Кастомизация
- Проверка и сборка ISO образа
- Проверяем, что нет пользователя U >
- Пересобираем initrd
- Очищаем образ
- Содержание
- Монтирование ISO-образов
Как создать ISO образ диска в Ubuntu, Debian, CentOS
Как создать ISO образ диска в Ubuntu, Debian, CentOS
Если Вас встревожила проблема создания ISO образа CD/DVD-диска в ОС Linux Ubuntu, то эта информация для Вас.
Передо мной лежал DVD-диск, который необходимо было превратить в ISO-образ на жестком диске. Как это сделать, если в наличии есть только ОС без всяких там Brasero и K3B? Оказывается выход есть и он очень простой.
Используем команду Linux — genisoimage. С помощью данной команды можно создавать ISO-диски с кириллическими названиями файлов и директорий, что в наше виндунизированное время занимает не последнее место.
Для решения данной задачи потребовалось в консоли набрать команду:
После дождаться окончания процесса (процесс создания ISO образа будет отображаться в качестве процентов) и все — образ готов!
В результате, Вас в Домашней папке будет ждать новоиспеченный ISO-образ.
На первый взгляд команда выглядит устрашающе и громоздко, но разобравшись в параметрах можно понят, что -V label_iso — это метка будущего образа, -o
/name.iso — указываем куда поместить ISO-образ,/media/cdrom0 — это источник (если Вам нужно завиртуальить диск, то этот диск должен быть примонтирован в системе).
В качестве источника можно выбрать директорию, тогда в результате получится ISO-образ с содержимым указанной директории
Я собирал собственный образ ISO Ubuntu 18.04 по инструкции LiveCDCustomization на системе Ubuntu 14.04.
Мне необходимо было поставить некоторые программы, чтобы они были доступны сразу с LiveCD, без установки. Это удобно, особенно без наличия интернета.
В оригинальной инструкции LiveCDCustomization есть некоторые неясные моменты и неточности. Сама инструкция устарела, и частично не работала.
Поэтому я делал по шагам и записывал выполняемые действия.
Важно понимать, что вы делаете: вся кастомизация LiveCD проходит под chroot, и на рабочую систему (ту, где вы сейчас работаете) влияния не оказывает.
Но если выйти из chroot, все введенные команды применяются к рабочей системе. Это требуется в некоторых местах инструкции: при первичной подготовке, и в конце, при сборке. Смотри не перепутай
Подготовка
Устанавливаем зависимости на хост-систему
Потребуется 2 пакета, один занимается работой со сжатой файловой системой squashfs, другой для создания ISO-образа CDROM (ISO-9660):
Странно, но у меня уже были установлены эти пакеты. Ради интереса найдем, когда эти пакеты были установлены, для чего поищем в истории apt:
Также потребуется виртуальная машина для быстрого тестирования. Я использовал Virtualbox
Монтируем оригинальный образ ISO в mnt
Скачиваем оригинальный ISO образ Ubuntu, который будем модифицировать под свои нужны. Допустим, образ скачан и находится в
Подмонтируем этот ISO образ в каталог
/livecdtmp/mnt для дальнейшей работы:
Копируем содержимого mnt в extract-cd
Расжимаем файловую систему squashfs и перемещаем содержимое в edit
Подготавливаем рабочую среду
Копируем resolv.conf с рабочей системы, чтобы было сетевое соединение внутри чрута, также делаем это для сети::
resolv.conf в следующих шагах оказался пустым, надо понять почему, и исправить
Чрутимся, и начинаем работать со своим кастомизированным образом.
dbus-uuidgen из оригинальной инструкции я пропустил
Файл /etc/resolv.conv оказался пустым, значит что-то я сделал не так. Отредактируем его вручную, скопировав содержимое /etc/resolv.conv из рабочей системы:
Теперь сеть у нас доступна внутри чрута, проверим
Кастомизация своего образа Ubuntu
Ставим необходимые пакеты
Смотрим установленные пакеты:
Если хотим, обновляем пакеты:
Устанавливаем свои пакеты:
Следующие пакеты поставить не удалось, так как их нет в /etc/apt/ :
узнать, какие репо следует добавить для установки
Установить программы можно и из deb-пакетов, на примере Atom:
У меня установка не удалась, так как этот пакет зависит от gconf2 и gconf-service . Эти зависимости apt не сумел разрешить. Чтобы это исправить, требуется добавить в /etc/apt/ дополнительные репо. какие?
Кастомизация
Это по-желанию: читаем оригинальную инструкцию LiveCDCustomization, раздел Customizations и настраиваем фон рабочего стола, шрифты, региональные настройки и прочее. Первый шаг dbus-uuidgen и dpkg-divert можно пропустить, для Ubuntu 18.04 они не повлияли на работу apt .
Проверка и сборка ISO образа
Проверяем, что нет пользователя U >
В оригинальной мане указано, что если существует пользователь с UID 999, с LiveCD невозможно будет загрузиться. Такой пользователь может возникнуть при установке Virtualbox.
есть есть, то выполнить usermod -u 500 $hit , где $hit — имя проблемного пользователя
Пересобираем initrd
После модификации ядра, скриптов загрузки или добавления модулей ядра, нужно пересобрать initrd.gz и переместить его в каталог casper
Очищаем образ
Удаляем все, что не установилось и чистим систему:
Содержание
Монтирование ISO-образов
Для того чтобы подключить образ диска, откройте Nautilus, нажмите правой кнопкой мыши на образе диска и выберите пункт Открыть с помощью «Подключение образов дисков».
Также существует еще один универсальный способ, позволяющий подключить образ точно так же, как физический компакт-диск. Выполните в терминале: