Создайте перекомпонованный производный ubuntu [dубликат]

Я хотел бы настроить Live CD с Ubuntu, установив некоторые дополнительные пакеты. Я последовал за этим, но он, похоже, не работает. Может ли кто-нибудь дать четкие инструкции?

Примечание: я не предпочитаю Remastersys, будет оценен ручной способ.

Настройка

Пакеты, которые я хочу установить:

Thunderbird Samba SSH

Изменения, которые мне нужны:

Thunderbird Firefox ярлык на рабочем столе Samba Различные обои Ubuntu по умолчанию

Изменения в файле конфигурации

Ярлык Firefox на рабочем столе Я хочу вставить свой конфигурационный файл Samba вместо настройки по умолчанию Samba SSH Различные значения по умолчанию Ubuntu Wallpaper

Недавние обновления

Я хочу вставить свой конфигурационный файл Samba вместо настройки Samba по умолчанию Также установка обоев влияет на экран входа в систему. Обои, которые я установил, также отображаются на экране входа в систему. Я просто хочу, чтобы по умолчанию был выбран экран входа в систему.
195
задан 24 February 2015 в 19:15

33 ответа

Если вам нужно больше контролировать то, какие изменения внесены, можно внести изменения вручную.

Процесс состоит из распаковки файла данных SquashFS, содержащего корневую файловую систему live OS, chrooting в извлечение файловой системы, внесение изменений, выход из chroot, переупаковка файла SquashFS, а затем восстановление образа ISO.

Полная информация описана на странице SquashFS в вики Ubuntu.

5
ответ дан 18 July 2018 в 00:55

Создание собственного пользовательского Live CD - ручной способ.

1. Подготовка

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для перестройки: sudo apt-get install squashfs-tools dchroot Squashfs - это сжатая файловая система только для чтения для Linux. dchroot позволяет пользователям выполнять команды или интерактивные оболочки в разных хрутках. Установите Live CD: mkdir /tmp/livecd sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd Если вы используете другой ISO или другое место для загрузки, отрегулируйте соответствующим образом. Создайте рабочую область и скопируйте содержимое в рабочую область: mkdir -p ~/livecd/cd rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd mkdir ~/livecd/squashfs ~/livecd/custom sudo modprobe squashfs sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/ sudo cp -a ~/livecd/squashfs/* ~/livecd/custom Если вы сделаете ошибку, подобную этой, выполняя modprobe: sudo modprobe squashfs WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/ переместите modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD и повторите попытку! Доступ к сети: sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/ Создание псевдо файловой системы: sudo chroot ~/livecd/custom /bin/bash -l mount -t proc none /proc/ mount -t sysfs none /sys/

2. Настройка

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для перестройки: sudo apt-get install squashfs-tools dchroot Squashfs - это сжатая файловая система только для чтения для Linux. dchroot позволяет пользователям выполнять команды или интерактивные оболочки в разных хрутках.

Сначала вы загружаете Live CD ISO. При загрузке установите некоторое программное обеспечение, необходимое для восстановления: sudo apt-get install squashfs-tools dchroot

Установите Live CD: mkdir /tmp/livecd sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd Если вы используете другой ISO или другое место для загрузки, пожалуйста, отрегулируйте соответствующим образом.

Установите Live CD:

Создайте рабочую область и скопируйте содержимое в рабочую область: mkdir -p ~/livecd/cd rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd mkdir ~/livecd/squashfs ~/livecd/custom sudo modprobe squashfs sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/ sudo cp -a ~/livecd/squashfs/* ~/livecd/custom

Создайте рабочую область и скопируйте содержимое в рабочую зону :

mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop Вы можете добавить несколько из них (пропустите часть mkdir), отредактировав URL-адрес на что-то еще. Предоставлено dv3500ea Если вы получаете ошибку, подобную этой, выполняя modprobe: sudo modprobe squashfs WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/ переместите modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD и повторите попытку!

Если вы получите ошибку, подобную этой, выполняя modprobe:

dpkg-reconfigure tzdata Доступ к сети: sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/

Доступ к сети:

Если вы хотите иметь собственный файл конфигурации для определенного пакета, вы можете сделать это несколькими способами , Трудным (но наиболее логичным) способом было бы либо найти пакет, изменить файл конфигурации и переупаковать его, либо найти исходные файлы, выяснить, где они хранят свой фиктивный файл конфигурации, и изменить это, а затем перестроить пакет. Конечно, это работает только в том случае, если файл конфигурации по умолчанию включен в исходный пакет. Многие пакеты автоматически генерируют свои файлы конфигурации в сценарии {packagename} .postinst, поэтому было бы довольно сложно сделать это. Самый простой способ - создать скрипт и скопировать текущую конфигурацию на /etc/skel, чтобы они добавились на ваш рабочий стол (аналогично добавлению ярлыков firefox, как описано выше), и после установки нажмите ссылку рабочего стола, чтобы установить файл конфигурации в место это должно быть. Сценарий может как копировать, так и удалять как скрипт, так и файл конфигурации с вашего рабочего стола после его успешной установки. Этот метод можно использовать для обновления конфигурации Samba (введите текущую конфигурацию в /etc/skel/. Поместите там сценарий, который имеет разрешения на выполнение и содержит переход указанной конфигурации в /etc/samba/smbd.conf, и все, что вам нужно сделать после этого, - это выполнить скрипт). Это в основном всегда работает, поскольку он заменяет действие после установки вручную с помощью сценария, запускаемого вручную после установки. Но это также означает, что это не часть пользовательского live cd.

3. Очистка

apt-get clean rm -rf /tmp/* rm -f /etc/hosts /etc/resolv.conf umount /proc/ umount /sys/ exit

Вы можете удалить игры с помощью apt-get remove --purge gnome-games

4. Настройка ISO

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для восстановления: sudo apt-get install squashfs-tools dchroot

Восстановить файл squashfs. sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs

Установите Live CD:

5. Создание ISO.

cd ~/livecd/cd sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .

6. Unmount & amp; Очистить

sudo umount ~/livecd/squashfs/ sudo umount /tmp/livecd sudo rm -fr ~/livecd/

7. Комментарии:

Восстановить файл squashfs. sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs

Восстановить файл squashfs.

108
ответ дан 18 July 2018 в 00:55

Вы можете использовать uck или live-magic для настройки Live CD.

uck доступен из официальных источников программного обеспечения Ubuntu во всех версиях Ubuntu с 10.04 LTS Lucid Lynx. Вы можете установить uck из Software Center, с apt-get в командной строке или с помощью uck .

15
ответ дан 18 July 2018 в 00:55

Remastersys может быть ответом на ваши нужды. Вам нужно перейти на http://www.remastersys.com/ubuntu.html и следовать инструкциям. Эта программа делает iso из вашей операционной системы, включая все настройки и приложения. Чем вы можете записать компакт-диск, используя этот iso. К сожалению, в прошлом проблема заключалась в том, чтобы запустить его как живой компакт-диск, а установка не была проблемой (я не знаю, все ли это проблема).

3
ответ дан 18 July 2018 в 00:55

Вы также можете использовать JLIVECD для настройки образа ISO. Это инструмент командной строки для настройки дистрибутивов на основе Ubuntu и Ubuntu. Это дает вам полный контроль над вещами, которые нуждаются в настройке, но вам нужно знать, что нужно делать, а только готовит для вас среду chroot (остальное зависит от вас) и строит окончательный ISO. Вы можете продолжать добавлять новые изменения к существующим изменениям и продолжать проверять построенные на них ISO.

0
ответ дан 18 July 2018 в 00:55

Я бы посоветовал вам попробовать Reconstructor

«Reconstructor - это Ubuntu GNU / Linux CD Creator, который позволяет вам изменять существующий дистрибутив Ubuntu и сохранять как ваш собственный дистрибутив Linux. Он использует Desktop (Live ), Альтернативный (Установить) или диск сервера в качестве базы, а затем позволяет настраивать пользователя. Вы можете в основном настроить всю среду, например, добавлять / удалять программное обеспечение, изменять внешний вид (всплеск, темы, шрифты, обои и т. Д. .), добавить ссылки на рабочий стол и т. д. »

Также для получения дополнительной информации вы должны прочитать следующие ссылки: Reconstructor

http://maketecheasier.com/

http://maketecheasier.com/build-your-own-ubuntu-based-2010 -distro-с Новой-строитель / 2010/07/02

0
ответ дан 18 July 2018 в 00:55

Я переделал новый веб-сервис под названием «Реконструктор». Согласно их веб-сайту,

Reconstructor - это инструментарий для создания пользовательских версий операционной системы GNU / Linux, в частности Debian и Ubuntu.

Согласно Reconstructor , они взимают небольшую плату за настройки. Стоит ли это того, что это зависит от ваших потребностей.

1
ответ дан 18 July 2018 в 00:55

Вы можете изменить файл по умолчанию /etc/hosts (а также некоторые другие файлы по умолчанию), отредактировав /usr/share/ubiquity/plugininstall.py

. Я думал, что было бы полезно поделиться, поскольку мне нужно было знать, как это сделать .

0
ответ дан 18 July 2018 в 00:55

Загрузите http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download следуйте инструкциям и, когда он попросит запустить диспетчер пакетов, консольное приложение или продолжить упаковку, выберите Консольное приложение.

Теперь вы можете запустить

nautilus unity-2d-launcher unity-2d-panel

и сделать все.

Если это не сработает, сначала попробуйте запустить диспетчер пакетов, а затем повторите попытку с консолью.

Надеюсь, это поможет.

0
ответ дан 18 July 2018 в 00:55

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

Настройте некоторые переменные: export WORK=~/temp export CD=~/livecd export FORMAT=squashfs export FS_DIR=casper Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к компакт-диску дерево. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs Теперь нам нужно будет установить несколько пакетов: sudo apt-get install grub2 xorriso squashfs-tools Теперь мы скопируем текущую установку, изменим флаги исключений в соответствии с вашими потребностями: sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \ --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \ --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \ --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \ --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \ --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \ --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \ / ${WORK}/rootfs Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot In в вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Сначала определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это: cd ~ && for i in $CONFIG do sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel done Теперь мы chroot в новую систему и модифицируем ее. sudo mount --bind /dev/ ${WORK}/rootfs/dev sudo mount -t proc proc ${WORK}/rootfs/proc sudo mount -t sysfs sysfs ${WORK}/rootfs/sys sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts sudo chroot ${WORK}/rootfs /bin/bash Следующие команды выполняются в chroot: LANG= apt-get update apt-get install casper Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это: apt-get install ubiquity ubiquity-frontend-gtk Или, если вы хотите KDE: apt-get install ubiquity ubiquity-frontend-kde Обновить modules.dep и initramfs: depmod -a $(uname -r) update-initramfs -u -k $(uname -r) Удалить несистемных пользователей - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их. for i in `cat /etc/passwd | awk -F":" '{print $1}'` do uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'` [ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null done Очистить: apt-get clean find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \; find /var/log -type f | while read file do cat /dev/null | tee $file done rm /etc/resolv.conf /etc/hostname Выйти из chroot. exit Теперь мы копируем ядро: export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'` sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot Если вы установили установщик, вам нужно будет это сделать, чтобы установщик не устанавливал такие вещи, как casper: sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop} REMOVE='ubiquity casper user-setup os-prober libdebian-installer4' for i in $REMOVE do sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop done Отключите то, что мы установили: sudo umount ${WORK}/rootfs/proc sudo umount ${WORK}/rootfs/sys sudo umount ${WORK}/rootfs/dev/pts sudo umount ${WORK}/rootfs/dev Преобразовать в squashfs: sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT} Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt Теперь grub.cfg: sudo nano ${CD}/boot/grub/grub.cfg (замените nano на ваш текстовый редактор fav, это не имеет значения) Вставьте это и сохраните: set default="0" set timeout=10 menuentry "Ubuntu GUI" { linux /boot/vmlinuz boot=casper quiet splash initrd /boot/initrd.img } menuentry "Ubuntu in safe mode" { linux /boot/vmlinuz boot=casper xforcevesa quiet splash initrd /boot/initrd.img } menuentry "Ubuntu CLI" { linux /boot/vmlinuz boot=casper textonly quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI persistent mode" { linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI from RAM" { linux /boot/vmlinuz boot=casper nopersistent toram quiet splash initrd /boot/initrd.img } menuentry "Check Disk for Defects" { linux /boot/vmlinuz boot=casper integrity-check quiet splash initrd /boot/initrd.img } menuentry "Memory Test" { linux16 /boot/memtest86+.bin } menuentry "Boot from the first hard disk" { set root=(hd0) chainloader +1 } Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity. menuentry "Install Ubuntu" { linux /boot/vmlinuz boot=casper only-ubiquity quiet splash initrd /boot/initrd.img } Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD} Протестируйте его с помощью виртуальной машины!

EDIT:

23
ответ дан 18 July 2018 в 00:55

В Ubuntu Software Center

Редактирование> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

Вставьте следующую строку в поле и нажмите добавить источник.

]

Редактировать> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

deb http://www.geekconnection.org/remastersys/repository karmic

Перезагрузить источники и установить Remastersys из Software Center.

Изменить> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

После завершения установки всех медиакодеков и приложений вы бы хотели на своем обычном ubuntu. Начать remastersys из

Изменить> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

5
ответ дан 18 July 2018 в 00:55

Ubuntu Customization Kit

Это набор скриптов, которые упрощают создание пользовательского LiveCD из существующего образа .iso. Он очень похож на Remastersys, с той разницей, что он активно поддерживается. Он имеет графический интерфейс, чтобы помочь с настройкой, но можно также использовать командную строку для этого.

Он попросит выбрать, какие языковые пакеты включить на компакт-диск. Затем он попросит выбрать файл изображения .iso, который будет использоваться в качестве базы для нового компакт-диска. Дайте имя для нового изображения .iso, которое будет создано. Затем он будет запрашивать пакеты, которые необходимо добавить / удалить в / из LiveCD. Он предоставит вам опцию между командной строкой и графическим интерфейсом по умолчанию (Ubuntu Software Center). Примечание. Вы должны выбрать командную строку. Из командной строки вы можете добавлять / удалять пакеты либо с помощью apt-get, либо с помощью Ubuntu Software Center (введите программный центр из командной строки). Вы также можете изменить параметры конфигурации для всего программного обеспечения / приложений. После того, как вы закончите (может потребоваться некоторое время для загрузки необходимых пакетов), продолжайте. Теперь просто расслабьтесь и расслабьтесь. Через какое-то время ваш настроенный LiveCD будет готов.
10
ответ дан 18 July 2018 в 00:55

Нет никакого «GUI», который я знаю вне Lucid, однако gNewsense, являющийся вилкой Ubuntu, делает свои скрипты для выпуска Ubuntu и делает обычную fork свободно доступной и достаточно документированной.

В основном это процесс:

Размещение ваших пользовательских работ, где скрипты могут найти его. Решив, что вы хотите в своем ядре (или то, что вы не хотите). Решите, какие пакеты вы хотите (или что вам не нужно) Запуск скрипта, который отражает аппетитный репозиторий Создание дистрибутива CD / ISO.

Хотя они не совсем «новички», их инструменты относительно просты в использовании.

1
ответ дан 18 July 2018 в 00:55

Если вам нужно больше контролировать то, какие изменения внесены, можно внести изменения вручную.

Процесс состоит из распаковки файла данных SquashFS, содержащего корневую файловую систему live OS, chrooting в извлечение файловой системы, внесение изменений, выход из chroot, переупаковка файла SquashFS, а затем восстановление образа ISO.

Полная информация описана на странице SquashFS в вики Ubuntu.

5
ответ дан 24 July 2018 в 17:18

Создание собственного пользовательского Live CD - ручной способ.

1. Подготовка

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для перестройки: sudo apt-get install squashfs-tools dchroot Squashfs - это сжатая файловая система только для чтения для Linux. dchroot позволяет пользователям выполнять команды или интерактивные оболочки в разных хрутках. Установите Live CD: mkdir /tmp/livecd sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd Если вы используете другой ISO или другое место для загрузки, отрегулируйте соответствующим образом. Создайте рабочую область и скопируйте содержимое в рабочую область: mkdir -p ~/livecd/cd rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd mkdir ~/livecd/squashfs ~/livecd/custom sudo modprobe squashfs sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/ sudo cp -a ~/livecd/squashfs/* ~/livecd/custom Если вы сделаете ошибку, подобную этой, выполняя modprobe: sudo modprobe squashfs WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/ переместите modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD и повторите попытку! Доступ к сети: sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/ Создание псевдо файловой системы: sudo chroot ~/livecd/custom /bin/bash -l mount -t proc none /proc/ mount -t sysfs none /sys/

2. Настройка

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для перестройки: sudo apt-get install squashfs-tools dchroot Squashfs - это сжатая файловая система только для чтения для Linux. dchroot позволяет пользователям выполнять команды или интерактивные оболочки в разных хрутках.

Сначала вы загружаете Live CD ISO. При загрузке установите некоторое программное обеспечение, необходимое для восстановления: sudo apt-get install squashfs-tools dchroot

Установите Live CD: mkdir /tmp/livecd sudo mount -o loop ~/Downloads/ubuntu-11.04-desktop-i386.iso /tmp/livecd Если вы используете другой ISO или другое место для загрузки, пожалуйста, отрегулируйте соответствующим образом.

Установите Live CD:

Создайте рабочую область и скопируйте содержимое в рабочую область: mkdir -p ~/livecd/cd rsync --exclude=/casper/filesystem.squashfs -a /tmp/livecd/ ~/livecd/cd mkdir ~/livecd/squashfs ~/livecd/custom sudo modprobe squashfs sudo mount -t squashfs -o loop /tmp/livecd/casper/filesystem.squashfs ~/livecd/squashfs/ sudo cp -a ~/livecd/squashfs/* ~/livecd/custom

Создайте рабочую область и скопируйте содержимое в рабочую зону :

mkdir -p /etc/skel/Desktop && printf '[Desktop Entry]\nVersion=1.0\nName=Ask Ubuntu\nComment=Ask Questions About Ubuntu\nGenericName=Question and Answers\nExec=xdg-open http://askubuntu.com\nTerminal=false\nX-MultipleArgs=false\nType=Application\nIcon=firefox\nCategories=Internet;\n' > /etc/skel/Desktop/askubuntu.desktop && chmod a+x /etc/skel/Desktop/askubuntu.desktop Вы можете добавить несколько из них (пропустите часть mkdir), отредактировав URL-адрес на что-то еще. Предоставлено dv3500ea Если вы получаете ошибку, подобную этой, выполняя modprobe: sudo modprobe squashfs WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/ переместите modprobe.conf mv /etc/modprobe.conf /etc/modprobe.conf.OLD и повторите попытку!

Если вы получите ошибку, подобную этой, выполняя modprobe:

dpkg-reconfigure tzdata Доступ к сети: sudo cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/

Доступ к сети:

Если вы хотите иметь собственный файл конфигурации для определенного пакета, вы можете сделать это несколькими способами , Трудным (но наиболее логичным) способом было бы либо найти пакет, изменить файл конфигурации и переупаковать его, либо найти исходные файлы, выяснить, где они хранят свой фиктивный файл конфигурации, и изменить это, а затем перестроить пакет. Конечно, это работает только в том случае, если файл конфигурации по умолчанию включен в исходный пакет. Многие пакеты автоматически генерируют свои файлы конфигурации в сценарии {packagename} .postinst, поэтому было бы довольно сложно сделать это. Самый простой способ - создать скрипт и скопировать текущую конфигурацию на /etc/skel, чтобы они добавились на ваш рабочий стол (аналогично добавлению ярлыков firefox, как описано выше), и после установки нажмите ссылку рабочего стола, чтобы установить файл конфигурации в место это должно быть. Сценарий может как копировать, так и удалять как скрипт, так и файл конфигурации с вашего рабочего стола после его успешной установки. Этот метод можно использовать для обновления конфигурации Samba (введите текущую конфигурацию в /etc/skel/. Поместите там сценарий, который имеет разрешения на выполнение и содержит переход указанной конфигурации в /etc/samba/smbd.conf, и все, что вам нужно сделать после этого, - это выполнить скрипт). Это в основном всегда работает, поскольку он заменяет действие после установки вручную с помощью сценария, запускаемого вручную после установки. Но это также означает, что это не часть пользовательского live cd.

3. Очистка

apt-get clean rm -rf /tmp/* rm -f /etc/hosts /etc/resolv.conf umount /proc/ umount /sys/ exit

Вы можете удалить игры с помощью apt-get remove --purge gnome-games

4. Настройка ISO

Сначала вы загружаете Live CD ISO. При загрузке необходимо установить некоторое программное обеспечение, необходимое для восстановления: sudo apt-get install squashfs-tools dchroot

Восстановить файл squashfs. sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs

Установите Live CD:

5. Создание ISO.

cd ~/livecd/cd sudo mkisofs -r -V "Ubuntu-Live" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Downloads/ubuntu-11.04-desktop-i386.iso .

6. Unmount & amp; Очистить

sudo umount ~/livecd/squashfs/ sudo umount /tmp/livecd sudo rm -fr ~/livecd/

7. Комментарии:

Восстановить файл squashfs. sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs

Восстановить файл squashfs.

108
ответ дан 24 July 2018 в 17:18
  • 1
    Будет ли apt-get update && apt-get dist-upgrade также обновлять ядро ​​/ initrd, используемое на Live CD? Я имею в виду, что ядро ​​для процесса загрузки формирует живой носитель, загруженный Syslinux, а не тот, который установлен. – gertvdijk 30 January 2013 в 04:24
  • 2
    apt-get dist-upgrade работает без дефекта, за исключением некоторых сообщений warning: could not determine root device from /etc/fstab. Это должно стать проблемой? – Sopalajo de Arrierez 4 March 2015 в 01:58
  • 3
    Нет. Но, конечно, взгляните на свою и посмотрите, как / монтируется. – Rinzwind 4 March 2015 в 11:35
  • 4
    @Rinzwind Я успешно установил Ubuntu из настроенного live cd даже в системе UEFI с двойной загрузкой. Установили новые пакеты и обновили все пакеты вместе с ядром, используя apt-get update и upgrade. Все прошло отлично. ЗА ИСКЛЮЧЕНИЕМ системы (установленные с настроенным live cd) не имеют /etc/resolv.conf (Следует отметить, что /etc/hosts создан как обычно). Удалось ли удалить /etc/resolv.conf в среду chmod? В любом случае, это не очень важно, я создал resolv.conf, используя dpkg-reconfigure resolvconf. Большое спасибо. – souravc 8 March 2015 в 07:49
  • 5
    Согласно help.ubuntu.com в 12.04 и 14.04, /etc/resolv.conf не может быть удалена как часть очистки – souravc 8 March 2015 в 09:13

Вы можете использовать uck или live-magic для настройки Live CD.

uck доступен из официальных источников программного обеспечения Ubuntu во всех версиях Ubuntu с 10.04 LTS Lucid Lynx. Вы можете установить uck из Software Center, с apt-get в командной строке или с помощью uck .

15
ответ дан 24 July 2018 в 17:18
  • 1
    Как обновить / установить пакет, требующий перезагрузки системы (например, ядро ​​или dbus)? Когда я пытаюсь обновить его установки; но в режиме gui, индикатор сеанса становится красным & amp; говорит restart to complete the update. – Khurshid Alam 1 April 2013 в 17:17
  • 2
    Как заменить произведение Ubuntu своими собственными произведениями искусства? – Roshan George 10 June 2013 в 19:03
  • 3
    Это не работает. Я не знаю, почему. Я не уверен, что это происходит только со мной. Когда я запускаю его внутри виртуального бокса, он показывает, что popu говорит, что «/casper/vmlinuz.efi: файл не найден». Как исправить это? [D0] s24.postimg.org/jbez8svx1/Untitled.png – Roshan George 19 June 2013 в 10:42
  • 4
    @izx Не могли бы вы рассказать мне, как установить рабочий каталог для ubuntu-builder? Он создает каталог в / home / ubuntu-builder. Я запускаю его с правами доступа root. – shantanu 29 November 2013 в 04:20
  • 5
    Этот проект прекращен. PPA не работает, и на сайте нет ссылок для загрузки. Я предлагаю добавить эту информацию в начале вашего ответа, чтобы помочь другим, прибывающим сюда, не тратить свое время. – Sopalajo de Arrierez 3 March 2015 в 20:02
  • 6
    похоже, UCK был прекращен :( – amc 16 June 2016 в 01:17

Remastersys может быть ответом на ваши нужды. Вам нужно перейти на http://www.remastersys.com/ubuntu.html и следовать инструкциям. Эта программа делает iso из вашей операционной системы, включая все настройки и приложения. Чем вы можете записать компакт-диск, используя этот iso. К сожалению, в прошлом проблема заключалась в том, чтобы запустить его как живой компакт-диск, а установка не была проблемой (я не знаю, все ли это проблема).

3
ответ дан 24 July 2018 в 17:18
  • 1
    или UCK, который использует GUI и менее сложно – Uri Herrera 18 June 2011 в 09:05

Вы также можете использовать JLIVECD для настройки образа ISO. Это инструмент командной строки для настройки дистрибутивов на основе Ubuntu и Ubuntu. Это дает вам полный контроль над вещами, которые нуждаются в настройке, но вам нужно знать, что нужно делать, а только готовит для вас среду chroot (остальное зависит от вас) и строит окончательный ISO. Вы можете продолжать добавлять новые изменения к существующим изменениям и продолжать проверять построенные на них ISO.

0
ответ дан 24 July 2018 в 17:18

Я бы посоветовал вам попробовать Reconstructor

«Reconstructor - это Ubuntu GNU / Linux CD Creator, который позволяет вам изменять существующий дистрибутив Ubuntu и сохранять как ваш собственный дистрибутив Linux. Он использует Desktop (Live ), Альтернативный (Установить) или диск сервера в качестве базы, а затем позволяет настраивать пользователя. Вы можете в основном настроить всю среду, например, добавлять / удалять программное обеспечение, изменять внешний вид (всплеск, темы, шрифты, обои и т. Д. .), добавить ссылки на рабочий стол и т. д. »

Также для получения дополнительной информации вы должны прочитать следующие ссылки: Reconstructor

http://maketecheasier.com/

http://maketecheasier.com/build-your-own-ubuntu-based-2010 -distro-с Новой-строитель / 2010/07/02

0
ответ дан 24 July 2018 в 17:18
  • 1
    Но эти инструменты не позволят мне ребрендировать мой дистрибутив, они позволят мне создавать изображения и добавлять пакеты, или, по крайней мере, это то, что я знаю. – user51447 21 March 2012 в 15:48
  • 2
    ссылка реконструирована и домен перенаправляется на потенциально вредоносный сайт! – amc 16 June 2016 в 01:08

Я переделал новый веб-сервис под названием «Реконструктор». Согласно их веб-сайту,

Reconstructor - это инструментарий для создания пользовательских версий операционной системы GNU / Linux, в частности Debian и Ubuntu.

Согласно Reconstructor , они взимают небольшую плату за настройки. Стоит ли это того, что это зависит от ваших потребностей.

1
ответ дан 24 July 2018 в 17:18
  • 1
    ссылка мертва и домен перенаправляется на потенциально вредоносный сайт! – amc 16 June 2016 в 01:05

Вы можете изменить файл по умолчанию /etc/hosts (а также некоторые другие файлы по умолчанию), отредактировав /usr/share/ubiquity/plugininstall.py

. Я думал, что было бы полезно поделиться, поскольку мне нужно было знать, как это сделать .

0
ответ дан 24 July 2018 в 17:18
  • 1
    Фактически после дальнейшего просмотра появляется файл /etc/hosts, который устанавливается, не генерируется модулем ubiquity plugininstall.py. Если вы хотите изменить файл по умолчанию /etc/hosts, вам, скорее всего, придется создать скрипт, который будет запускаться один раз после первой загрузки и удаления или переименования. Если вы не перекомпилируете модуль netcfg, который не рекомендуется. – SW_user2953243 10 October 2014 в 23:14

Загрузите http://sourceforge.net/projects/uck/files/uck/2.4.6/uck_2.4.6-0ubuntu1_all.deb/download следуйте инструкциям и, когда он попросит запустить диспетчер пакетов, консольное приложение или продолжить упаковку, выберите Консольное приложение.

Теперь вы можете запустить

nautilus unity-2d-launcher unity-2d-panel

и сделать все.

Если это не сработает, сначала попробуйте запустить диспетчер пакетов, а затем повторите попытку с консолью.

Надеюсь, это поможет.

0
ответ дан 24 July 2018 в 17:18
  • 1
    Утилита настройки Ubuntu (UCK) была прекращена – amc 16 June 2016 в 01:09

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

Настройте некоторые переменные: export WORK=~/temp export CD=~/livecd export FORMAT=squashfs export FS_DIR=casper Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к компакт-диску дерево. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs Теперь нам нужно будет установить несколько пакетов: sudo apt-get install grub2 xorriso squashfs-tools Теперь мы скопируем текущую установку, изменим флаги исключений в соответствии с вашими потребностями: sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \ --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \ --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \ --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \ --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \ --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \ --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \ / ${WORK}/rootfs Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot In в вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Сначала определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это: cd ~ && for i in $CONFIG do sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel done Теперь мы chroot в новую систему и модифицируем ее. sudo mount --bind /dev/ ${WORK}/rootfs/dev sudo mount -t proc proc ${WORK}/rootfs/proc sudo mount -t sysfs sysfs ${WORK}/rootfs/sys sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts sudo chroot ${WORK}/rootfs /bin/bash Следующие команды выполняются в chroot: LANG= apt-get update apt-get install casper Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это: apt-get install ubiquity ubiquity-frontend-gtk Или, если вы хотите KDE: apt-get install ubiquity ubiquity-frontend-kde Обновить modules.dep и initramfs: depmod -a $(uname -r) update-initramfs -u -k $(uname -r) Удалить несистемных пользователей - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их. for i in `cat /etc/passwd | awk -F":" '{print $1}'` do uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'` [ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null done Очистить: apt-get clean find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \; find /var/log -type f | while read file do cat /dev/null | tee $file done rm /etc/resolv.conf /etc/hostname Выйти из chroot. exit Теперь мы копируем ядро: export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'` sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot Если вы установили установщик, вам нужно будет это сделать, чтобы установщик не устанавливал такие вещи, как casper: sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop} REMOVE='ubiquity casper user-setup os-prober libdebian-installer4' for i in $REMOVE do sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop done Отключите то, что мы установили: sudo umount ${WORK}/rootfs/proc sudo umount ${WORK}/rootfs/sys sudo umount ${WORK}/rootfs/dev/pts sudo umount ${WORK}/rootfs/dev Преобразовать в squashfs: sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT} Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt Теперь grub.cfg: sudo nano ${CD}/boot/grub/grub.cfg (замените nano на ваш текстовый редактор fav, это не имеет значения) Вставьте это и сохраните: set default="0" set timeout=10 menuentry "Ubuntu GUI" { linux /boot/vmlinuz boot=casper quiet splash initrd /boot/initrd.img } menuentry "Ubuntu in safe mode" { linux /boot/vmlinuz boot=casper xforcevesa quiet splash initrd /boot/initrd.img } menuentry "Ubuntu CLI" { linux /boot/vmlinuz boot=casper textonly quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI persistent mode" { linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI from RAM" { linux /boot/vmlinuz boot=casper nopersistent toram quiet splash initrd /boot/initrd.img } menuentry "Check Disk for Defects" { linux /boot/vmlinuz boot=casper integrity-check quiet splash initrd /boot/initrd.img } menuentry "Memory Test" { linux16 /boot/memtest86+.bin } menuentry "Boot from the first hard disk" { set root=(hd0) chainloader +1 } Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity. menuentry "Install Ubuntu" { linux /boot/vmlinuz boot=casper only-ubiquity quiet splash initrd /boot/initrd.img } Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD} Протестируйте его с помощью виртуальной машины!

EDIT:

23
ответ дан 24 July 2018 в 17:18
  • 1
    У меня вопрос о grub.cfg. Этот файл grub.cfg используется только во время установки, или он постоянно поддерживается установленной системой. Что делать, если я не отредактировал grub.cfg? – Roshan George 10 June 2013 в 19:13
  • 2
    @RoshanGeorge Это конфигурирует GRUB на компакт-диске. Он не должен сохраняться после установки. – nickguletskii 12 June 2013 в 17:55
  • 3
    Можем ли мы просто установить установку, как это обычно делается для Ubuntu, то есть показать установщик повсеместности, а не показывать grub? Значит, в установке Ubuntu, когда мы вставляем и запускаем cd, появляется повсеместность, а не меню grub. Можем ли мы так? – Roshan George 12 June 2013 в 22:14
  • 4
    @RoshanGeorge Это должно быть возможно, добавив запись в меню с linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Я буду проверять и проверять. – nickguletskii 13 June 2013 в 21:18
  • 5
    @RoshanGeorge Я успешно добавил возможность запуска Ubiquity из меню загрузки. Тем не менее, мне нужно исправить руководство - некоторые вездесущие шаги отсутствуют. Я попытаюсь исправить это завтра. – nickguletskii 14 June 2013 в 02:22

В Ubuntu Software Center

Редактирование> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

Вставьте следующую строку в поле и нажмите добавить источник.

]

Редактировать> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

deb http://www.geekconnection.org/remastersys/repository karmic

Перезагрузить источники и установить Remastersys из Software Center.

Изменить> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

После завершения установки всех медиакодеков и приложений вы бы хотели на своем обычном ubuntu. Начать remastersys из

Изменить> Источники программного обеспечения> Другое программное обеспечение> Добавить ..

5
ответ дан 24 July 2018 в 17:18
  • 1
    Я следовал точно таким же процедурам, как вы описали здесь, но, к сожалению, во время загрузки он показывает «не удалось найти изображение ramdisk: / ubninit & quot; и обновляется снова и снова с интервалом в 10 секунд. Результат: я не могу загрузить свой ISO. Не могли бы вы рассказать мне, как я могу это решить? Пожалуйста. – tuxtu 13 June 2013 в 14:17

Ubuntu Customization Kit

Это набор скриптов, которые упрощают создание пользовательского LiveCD из существующего образа .iso. Он очень похож на Remastersys, с той разницей, что он активно поддерживается. Он имеет графический интерфейс, чтобы помочь с настройкой, но можно также использовать командную строку для этого.

Он попросит выбрать, какие языковые пакеты включить на компакт-диск. Затем он попросит выбрать файл изображения .iso, который будет использоваться в качестве базы для нового компакт-диска. Дайте имя для нового изображения .iso, которое будет создано. Затем он будет запрашивать пакеты, которые необходимо добавить / удалить в / из LiveCD. Он предоставит вам опцию между командной строкой и графическим интерфейсом по умолчанию (Ubuntu Software Center). Примечание. Вы должны выбрать командную строку. Из командной строки вы можете добавлять / удалять пакеты либо с помощью apt-get, либо с помощью Ubuntu Software Center (введите программный центр из командной строки). Вы также можете изменить параметры конфигурации для всего программного обеспечения / приложений. После того, как вы закончите (может потребоваться некоторое время для загрузки необходимых пакетов), продолжайте. Теперь просто расслабьтесь и расслабьтесь. Через какое-то время ваш настроенный LiveCD будет готов.
10
ответ дан 24 July 2018 в 17:18

Нет никакого «GUI», который я знаю вне Lucid, однако gNewsense, являющийся вилкой Ubuntu, делает свои скрипты для выпуска Ubuntu и делает обычную fork свободно доступной и достаточно документированной.

В основном это процесс:

Размещение ваших пользовательских работ, где скрипты могут найти его. Решив, что вы хотите в своем ядре (или то, что вы не хотите). Решите, какие пакеты вы хотите (или что вам не нужно) Запуск скрипта, который отражает аппетитный репозиторий Создание дистрибутива CD / ISO.

Хотя они не совсем «новички», их инструменты относительно просты в использовании.

1
ответ дан 24 July 2018 в 17:18

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

  1. Настройте некоторые переменные:
    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    
    Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD.
  2. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
  3. Теперь нам нужно будет установить некоторые пакеты:
    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Теперь мы скопируем текущую установку, изменим флаги исключения в соответствии с вашими потребностями:
    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    
    Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это:
    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Теперь мы chroot в новую систему и модифицируем ее.
    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    
    Следующие команды выполняются в chroot:
    LANG=
    apt-get update
    apt-get install casper
    
    Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это:
    apt-get install ubiquity ubiquity-frontend-gtk
    
    Или, если вы хотите KDE:
    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Обновить modules.dep и initramfs:
    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Удалить несистемную пользователи - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их.
    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Очистить:
    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Выйти из chroot. exit
  10. Теперь мы копируем ядро:
    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Если вы установили программу установки, вам нужно будет это сделать, чтобы установщик не устанавливал вещи
    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Отключите то, что мы установили:
    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Преобразовать в squashfs:
    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
  15. И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
  16. Теперь grub.cfg:
    sudo nano ${CD}/boot/grub/grub.cfg
    
    (замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните:
    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity.
    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}
  19. Протестируйте его с помощью виртуальной машины!

Все кредиты идут в capink, потому что руководство от здесь .

23
ответ дан 31 July 2018 в 20:21

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

  1. Настройте некоторые переменные:
    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    
    Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD.
  2. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
  3. Теперь нам нужно будет установить некоторые пакеты:
    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Теперь мы скопируем текущую установку, изменим флаги исключения в соответствии с вашими потребностями:
    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    
    Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это:
    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Теперь мы chroot в новую систему и модифицируем ее.
    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    
    Следующие команды выполняются в chroot:
    LANG=
    apt-get update
    apt-get install casper
    
    Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это:
    apt-get install ubiquity ubiquity-frontend-gtk
    
    Или, если вы хотите KDE:
    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Обновить modules.dep и initramfs:
    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Удалить несистемную пользователи - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их.
    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Очистить:
    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Выйти из chroot. exit
  10. Теперь мы копируем ядро:
    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Если вы установили программу установки, вам нужно будет это сделать, чтобы установщик не устанавливал вещи
    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Отключите то, что мы установили:
    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Преобразовать в squashfs:
    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
  15. И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
  16. Теперь grub.cfg:
    sudo nano ${CD}/boot/grub/grub.cfg
    
    (замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните:
    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity.
    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}
  19. Протестируйте его с помощью виртуальной машины!

Все кредиты идут в capink, потому что руководство от здесь .

23
ответ дан 2 August 2018 в 13:24

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

  1. Настройте некоторые переменные:
    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    
    Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD.
  2. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
  3. Теперь нам нужно будет установить некоторые пакеты:
    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Теперь мы скопируем текущую установку, изменим флаги исключения в соответствии с вашими потребностями:
    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    
    Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это:
    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Теперь мы chroot в новую систему и модифицируем ее.
    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    
    Следующие команды выполняются в chroot:
    LANG=
    apt-get update
    apt-get install casper
    
    Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это:
    apt-get install ubiquity ubiquity-frontend-gtk
    
    Или, если вы хотите KDE:
    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Обновить modules.dep и initramfs:
    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Удалить несистемную пользователи - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их.
    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Очистить:
    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Выйти из chroot. exit
  10. Теперь мы копируем ядро:
    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Если вы установили программу установки, вам нужно будет это сделать, чтобы установщик не устанавливал вещи
    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Отключите то, что мы установили:
    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Преобразовать в squashfs:
    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
  15. И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
  16. Теперь grub.cfg:
    sudo nano ${CD}/boot/grub/grub.cfg
    
    (замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните:
    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity.
    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}
  19. Протестируйте его с помощью виртуальной машины!

Все кредиты идут в capink, потому что руководство от здесь .

23
ответ дан 3 August 2018 в 17:40

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

  1. Настройте некоторые переменные:
    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    
    Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD.
  2. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs
  3. Теперь нам нужно будет установить некоторые пакеты:
    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Теперь мы скопируем текущую установку, изменим флаги исключения в соответствии с вашими потребностями:
    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    
    Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot В вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Во-первых, определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это:
    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Теперь мы chroot в новую систему и модифицируем ее.
    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    
    Следующие команды выполняются в chroot:
    LANG=
    apt-get update
    apt-get install casper
    
    Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это:
    apt-get install ubiquity ubiquity-frontend-gtk
    
    Или, если вы хотите KDE:
    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Обновить modules.dep и initramfs:
    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Удалить несистемную пользователи - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их.
    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Очистить:
    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Выйти из chroot. exit
  10. Теперь мы копируем ядро:
    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Если вы установили программу установки, вам нужно будет это сделать, чтобы установщик не устанавливал вещи
    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Отключите то, что мы установили:
    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Преобразовать в squashfs:
    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size
  15. И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt
  16. Теперь grub.cfg:
    sudo nano ${CD}/boot/grub/grub.cfg
    
    (замените nano вашим текстовым редактором fav, это не имеет значения) Вставьте это и сохраните:
    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity.
    menuentry "Install Ubuntu" {
    linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
    initrd /boot/initrd.img
    }
    
  18. Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}
  19. Протестируйте его с помощью виртуальной машины!

Все кредиты идут в capink, потому что руководство от здесь .

23
ответ дан 5 August 2018 в 02:49

Другие вопросы по тегам:

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