Чи можна створити ISO Ubuntu з маніфесту?


13

Ця відповідь говорить про маніфести ISO - тут є приклад. .

Чи можливо створити ISO з файлу маніфесту, або файл маніфесту просто dpkg --get-selectionsпоміщений у текстовий файл?

Споріднене, сортування:

Відповіді:


21

Файлова система.manifest генерується за допомогою команди:

dpkg-query -W --showformat='${Package} ${Version}\n' > casper/filesystem.manifest

Синтаксис такий package_name version, Приклад:

 xserver-xorg-video-nouveau  1:0.0.16+git20110411+8378443-1

Формат dpkg --get-selectionsдещо інший,package_name install

Приклад

xserver-xorg-video-nouveau  install 

Таким чином, ви можете використовувати файл, мабуть, більше ніж один спосіб,

apt-get install -y $(awk '{print $1}' filesystem.manifest)

Якщо чесно, то, зробивши кілька спеціальних iso протягом багатьох років, існує крива навчання того, як це працює. Коли ви зрозумієте декілька речей, це не надто важко, просто необхідні знання помірно великі і не існує єдиного, сучасного, джерела інформації.

Ви використовуєте 2 збірки каталогів

~/custom - build directory for the iso
~/rootfs - build directory for the root file system.

custom - у цьому каталозі містяться всі файли, які перейдуть до остаточного iso. Він містить кореневу файлову систему, ядро, initramfs та isolinux.

rootfs - у цьому каталозі міститься жива файлова система CD, і ви стискаєте цю директорію (використовуючи mksquashfs) і включаєте її на компакт-диск. Ви або будуєте це за допомогою debootstrap (live D з нуля) або витягаєте файлову систему з ubuntu-desktop.iso (налаштовуйте живий компакт-диск). Деталі див. У посиланнях на wiki ubuntu нижче.

Ключові моменти

1) Розуміння mksquashfs - ви використовуєте mksquashfs для стиснення кореневої файлової системи доcasper/filesystem.squashfs

sudo mksquashfs /home/bodhi/rootfs custom/casper/filesystem.squashfs

2) Розуміння isolinux - це робить ISO завантажуваним, а також вашим CD (завантажувальним) меню. Див. Arch Linux Wiki syslinux .

Ви можете використовувати grub2 як альтернативу isolinux, але тоді вам потрібно буде зрозуміти, як працює grub2;). Більшість живих компакт-дисків все ще використовують isolinux.

3) Як зробити інітрамф. Інітрамфи - це друга файлова система, яка використовується для завантаження. Часто, коли у вас виникають проблеми (користувальницьке завантажувальне зображення не працює, модулі ядра не завантажуються), і ви не можете зрозуміти, чому дивитесь на вашу кореневу файлову систему, відповідь дуже імовірно в initramfs.

#extract to a working_directory , I use ~/initrd
cd ~/initrd
lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames

# Make your edits / adjustments
# Package
cd ~/initrd
find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../custom.initrd.lz

Потім ви переміщуєте свій новий initrd.lz у свій спеціальний каталог збірки, custom/casper/initrd.lz

4) каспер. Casper і касперні сценарії розташовані в трьох місцях, і всі 3 можуть зіграти певну роль. Усі вони сценарії bash, і в якийсь момент ви майже напевно захочете їх переглянути.

А. господар - /usr/share/initramfs-tools/scripts/casper

B. коренева файлова система - користувальницька / usr / share / initramfs-tools / script / casper

C. у програмі initramfs - Див. / Каталог скриптів.

Дивіться людину каспер Ubuntu

5) Ви налаштовуєте користувальницький інтерфейс / програми /usr/share, /usr/share/gnome*наприклад, точні місця залежать від випуску, /usr/share/gnome-background-properties/ubuntu-wallpapers.xmlце класика і досить стандартна версія для різних версій.

6) Якщо ви не можете зробити налаштування /usr/share/, використовуйте /etc/skel, ось /etc/skel/.bashrcось класичний, цей файл буде скопійовано у ~ / .bashrc. Ви можете помістити туди різні конфігураційні файли, як для firefox чи gnome, чи ні, але / usr / share краще, якщо це можливо (залежить від налаштувань).

7) mkisofs - ви використовуєте mkisofs для перетворення каталогу збирання в iso

cd ~/custom
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-12.04-custom.iso .

8) Наполегливість. Ви можете використовувати наполегливість з багатьма живими компакт-дисками, включаючи компакт-диск ubuntu-робочого столу та власний компакт-диск, це реалізовано Casper.

A. root - каспер змонтує розділ або файл, позначений як casper-rwнакладка корови на /. Якщо потім встановити пакет або змінити файл конфігурації, зміни зберігатимуться під час перезавантаження.

Використовуйте це економно. Якщо ви оновите всі пакунки, це займе багато місця. Я також знаходжу, що цей метод іноді буває баггі.

B. Домашня сторінка - підвіконня на каспер змонтуйте перегородку або файл, позначений home-rwяк аас, як корова накладка на / додому.

Я вважаю за краще це, оскільки мої закладки Firefox та приватні дані зберігатимуться через чоботи, і я вважаю це більш надійним.

Постійний дім (зміна на casper-rw для постійного /)

# this is a 1 Gb file, increase or decrease the count to make it larger or smaller
dd if=/dev/zero of=home-rw bs=1M count=1000

# make a file system
mkfs.ext4 home-rw
mke2fs 1.41.14 (22-Dec-2010)
home-rw is not a block special device.
Proceed anyway? (y,n) y <-- ANSWER 'y' here

#tune the file system to remove reserved blocks and label it 'home-rw'
tune2fs -m 0 -L home-rw home-rw

Покладіть home-rwу / (у кореневий каталог розділу) або на флешку (а не у підкаталог).

Коли ви завантажуєте живий компакт-диск, натискайте F6клавішу, вони Escдодають параметр persistentдо параметрів завантаження перед символом "-"

quiet splash persistent --

Сценарії завантаження касперів потім автоматично знайдуть кріплення.

Див. Стійкість вікі Ubuntu - Сторінка вікі ubuntu обговорюється лише casper-rw, але домашня rw посилається на касперні сценарії та працює так само, лише ім’я було змінено.

Дивіться цю публікацію на форумах Ubuntu, щоб ознайомитись із екраном (хоча з різними варіантами).

C. Ви можете включити стійкість за допомогою декількох графічних інструментів, наприклад, unetbootin. Графічні інструменти (наскільки я знаю) використовують casper-rw.

Гаразд, тепер, коли ви все зрозумієте, ці дві сторінки почнуть мати більше сенсу

Ubuntu wiki live CD з нуля

Ubuntu wiki налаштовує живий компакт-диск

Google

Вам знадобиться google. Ви знайдете фрагменти порад в Інтернеті.

Приклад: Як змінити екран вимкнення Live CD

Debian Live

Тепер, коли ви все це розумієте, використовуйте сценарії Debian Live . Не дозволяйте імені вас обдурити, ці сценарії працюють чудово в будь-якій системі .deb, включаючи Mint та Ubuntu.

Щоб встановити

sudo apt-get install live-build

Є графічний інтерфейс

sudo apt-get install live-magic

жива магія

Зрозумійте, що живі магічні гуї можуть вийти з ладу, так само, як відмовляються ремастери та інші. У такому випадку ви повернетесь до сценаріїв живої збірки (live-magic створить каталог збірок).

Знадобиться певний час для вивчення сценаріїв побудови та компонування структури / каталогу

Побачте Debian Live Manuel Aye, він довгий, просто працюйте через нього по одній ізоляції.

Перевага сценаріїв побудови, коли ви зрозумієте компоненти живого компакт-диска, скрипти автоматизують 90+% складання, і внесення змін - це просто редагування файлу конфігурації (як правило) або іноді побудова initramfs.

Надто довго

Якщо це було занадто довго для вас, зробіть глибокий вдих, розслабтесь і попрацюйте, хоча інформація є одночасно. Обіцяю, що це почне певний сенс, і ви знайдете, що час того вартий.

Якщо ви почнете з іншого набору інструментів, поверніться до цього набору інструментів і через декілька iso ви оціните цей набір інструкцій;)

Мій звичайний збір 12.04, він підтримує лише gma500, 2d (без 3d) поза коробкою (зробить iso публічним доступним для натовпу gma 500 у найближчі кілька днів).

гма 500


1
О Боже. Це чудова відповідь. Я знаю, що роблю сьогодні ввечері.
jrg

Приємно. Якщо це не
набере

Для всіх, хто цікавиться, я роблю доступний резін, перегляньте мій блог (він також був на Планеті Ubuntu) для отримання деталей та завантаження. blog.bodhizazen.net/linux/ubuntu-gma500-live-cd
Panther
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.