Как настроить Ubuntu Live CD?

205

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

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

настройка

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

  • буревестник
  • самба
  • SSH

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

  • Удалить меню «Игры» из меню «Приложения»
  • Ярлык Firefox на рабочем столе
  • Сияние как тема по умолчанию
  • Различные стандартные обои Ubuntu

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

  • Я хочу, чтобы панель располагалась внизу
  • Я хочу вставить свой файл конфигурации Samba вместо конфигурации Samba по умолчанию
  • У меня есть несколько ярлыков и папок Firefox, которые я хотел бы показать в Desktop
  • Также будет хорошо, если вы скажете мне, как изменить наборы иконок

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

  • Я настроил Ubuntu 10.10 с ярлыками Firefox и несколькими папками на рабочих столах. Все прошло гладко. Но установщик получает сбои после выбора часового пояса. Как я могу исправить эту проблему?

  • Также настройка обоев влияет на экран входа в систему. Обои, которые я установил, также отображаются на экране входа в систему. Я просто хочу по умолчанию для экрана входа в систему.

karthick87
источник
Хотите обновления для 12.04 с Unity или предпочитаете Gnome-Shell / Classic?
Иш
2
Ответ добавлен, в целом более простой метод с использованием Ubuntu Builder :) Пожалуйста, дайте мне знать любые отзывы и т. Д. В комментариях.
Иш
1
@mniess "Как бы вы пересмотрели 14.04 или новее?" ручная версия, опубликованная izx и мной, все еще действительна для настройки корневой системы для редактирования. Новый ответ сильно зависит от того, что вы имеете в виду под «недавними изменениями». Каждое изменение будет иметь особый подход (отредактируйте dconf или отредактируйте файл conf), и все это уже описано в текущих ответах. Единственное, что это не «копировать / вставить»; эти новые изменения требуют, чтобы кто-то думал не только о том, что написано. НО я верю, что ответ тоже уже требует этого.
Rinzwind
1
2-й: askubuntu.com/questions/409607/… является более новой версией, использующей ISO сервера и файл кикстарта. Работает и для настольных ISO.
Rinzwind
Обратите внимание, что для настройки тем программ и т. Д., Скорее всего, это нужно делать с соответствующими пакетами , а не с установленными файлами. Тогда установка более нового номера версии будет означать, что ваши изменения не должны перезаписываться обновлениями (хотя вы, вероятно, захотите / должны будете обновлять эти пакеты так часто, чтобы адаптироваться к более новым версиям)
Уилф

Ответы:

116

Примечание. Проект Ubuntu Builder более не поддерживается .

Создание пользовательского компакт-диска 12.04 с помощью Gnome-Classic с использованием Ubuntu-Builder

(на данный момент, это специфично для потребностей Картика; позже я обновлю ответ более общими / специфичными для Unity материалами)

1. Получите Ubuntu Builder и ваш исходный ISO

Ubuntu Builder автоматизирует многие предварительные шаги, которые должны были быть выполнены вручную (монтирование ISO, извлечение squashfs, создание chroot и т. Д.). Он также предоставляет Synaptic и «графический» chroot (Unity UI).

Добавьте PPA для установки Ubuntu Builder:

sudo add-apt-repository ppa:kamilion/ubuntu-builder
sudo apt-get update
sudo apt-get install ubuntu-builder

Также загрузите Ubuntu Desktop ISO, с которым вы планируете работать.

2. Основы Ubuntu Builder

  • Запустите Ubuntu Builder из панели запуска. Я рекомендую установить для всех трех полей значение «Ubuntu» (как и для реального LiveCD), поскольку установка пользовательских полей приводила к сбою в Центре программного обеспечения. При установке вы можете выбрать собственное имя пользователя, имя компьютера и т. Д. Как всегда.

    введите описание изображения здесь

  • Загрузите ваш ISO; Я загрузил 64-битную версию с опцией Local Disk , хотя Ubuntu Builder должен иметь возможность загружать ISO, если вы этого хотите.

  • Кнопки справа говорят сами за себя. Consoleдает вам CLI chroot, в то время как Desktopдает вам графический! т.е. сам сеанс LiveCD (этот может занять некоторое время для загрузки). Обратите внимание, что Select DE/WMиногда он выполняет неполную работу, поэтому лучше установить через apt-get / Synaptic.

3. Обновление, добавление Gnome Classic и другое управление пакетами

Примечание: все это также может быть сделано из Synaptic, если вам удобнее.

  • Вы можете редактировать sources.listс помощью кнопки (или через консоль), чтобы добавить свои собственные зеркала, ppas и т. Д.

Давайте начнем с:

  • Удалить игры
    apt-get remove --purge aisleriot gnome-games-data гномин маджонг-й
  • Выполните общее обновление и dist-upgrade до последней версии (необязательно, но рекомендуется, поскольку Gnome-classic и другие пакеты, которые вы добавляете, будут самыми последними версиями) - 12.04 этот шаг также устанавливает Thunderbird и основные компоненты Samba. Это также сэкономит время на фактической установке.
    apt-get update && apt-get dist-upgrade
  • Установите Gnome Classic ( gnome-shellдля включения индикаторов и т. Д.), Samba и SSH:
    apt-get установить gnome-shell samba ssh

4. Настройка 1. Файлы, конфиги и удаление верхней панели

Примечание. Все команды должны запускаться с консоли chroot Ubuntu Builder, если не указано иное (обычно при копировании файлов из вашей собственной системы). Абсолютный путь к chroot/home/ubuntu-builder/FileSystem

  1. Замените файл конфигурации Samba (из вашего собственного системного терминала, т.е. вне chroot!)

    sudo cp /path/to/mysmb.conf /home/ubuntu-builder/FileSystem/etc/samba/smb.conf
  2. Поместите ярлык Firefox на рабочий стол:

    mkdir -p / etc / skel / Desktop && cd / etc / skel / Desktop
    cp /usr/share/applications/firefox.desktop.
    chmod + x firefox.desktop
    
  3. Скопируйте пользовательские ярлыки и папки на рабочий стол (извне chroot!)

    sudo cp -r / path / to / mydesktopitems / / home / ubuntu-builder / Файловая система / etc / skel / Desktop /
  4. Установить gnome-classicв качестве оболочки по умолчанию:

    / usr / lib / lightdm / lightdm-set-defaults -s gnome-classic
  5. Снимите верхнюю панель Gnome-Classic и переместите верхние элементы на нижнюю панель:

    • Откройте макет панели по умолчанию:
      nano /usr/share/gnome-panel/panel-default-layout.layout
    • Удалите верхнюю панель, удалив строки 1-4:
      [Топоплевая верхняя панель]
      расширение = верно
      Ориентация = сверху
      размер = 24
      
    • Переместите меню «Пуск» в нижний левый угол, изменив выделенное жирным шрифтом значение для выделенного курсивом параметра, как показано ниже:
      [Панель меню объекта]
      Объектно-н.о.р. = PanelInternalFactory :: MenuBar
      toplevel-id = нижняя панель
      Пакет-индекс = 0
      
    • Переместите индикаторы в правый нижний угол, чуть левее от переключателя рабочей области, изменив выделенное жирным шрифтом значение для выделенных курсивом параметров, как показано ниже:

      [Индикаторы объекта]
      Объектно-н.о.р. = IndicatorAppletCompleteFactory :: IndicatorAppletComplete
      toplevel-id = нижняя панель
      Пакет типа = конец
      индекс упаковки = 1
      
    • Удалите кнопку «Показать рабочий стол» слева внизу; Я предпочитаю, чтобы меню «Пуск» было первым, вы можете оставить его или переместить в правый нижний угол и т. Д. Удалите эти строки:

      [Объект show-desktop]
      Объектно-н.о.р. = WnckletFactory :: ShowDesktopApplet
      Идентификатор верхнего уровня = нижняя панель
      Пакет-индекс = 0
      
    • Сохранить и выйти.

5. Настройка 2: фоны и темы

Примечание: /usr/share/glib-2.0/schemasсодержит большинство настроек фона / темы по умолчанию; Я обнаружил, что проще напрямую модифицировать их для LiveCD вместо того, чтобы разбираться со сложными вещами , например, чтобы фон экрана входа в систему не совпадал с фоном рабочего стола.

  1. Отключите экран входа (lightdm) от «копирования» фона рабочего стола и других изменений:

    • открыто nano /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml
    • Вы можете изменить фон входа в систему по умолчанию здесь, если хотите:
      <key name = " background " type = "s">
      <default> '/usr/share/backgrounds/warty-final-ubuntu.png' </ default>
      
    • Отключите «копирование» фона рабочего стола, установив для него следующее false:
      <key name = " draw-user-Background " type = "b">
      <default> false </ default>
      
    • Установите тему входа в систему Radiance:
        <key name = " theme-name " type = "s">
      <default> 'Radiance' </ default>
      
  2. Изменить обои по умолчанию; здесь мы установим его на «Tie My Boat» ( /usr/share/backgrounds/Tie_My_Boat_by_Ray_García.jpg):

    • Откройте nano /usr/share/glib-2.0/schemas/10_gsettings-desktop-schemas.gschema.overrideи измените нижеприведенную строку на путь к вашему файлу:
    'Файл: ///usr/share/backgrounds/warty-final-ubuntu.png' картинка-адреса URI =
    
  3. Измени тему на Сияние

    • Откройте файл переопределения тем в Ubuntu `` nano / usr / share / glib-2.0 / schemas / ubuntu-artwork.gschema.override` и измените Ambiance ниже на Radiance :
      [Org.gnome.desktop.interface]
      gtk-theme = " Ambiance "
      ...
      [org.gnome.desktop.wm.preferences]
      theme = " Ambiance "
      
  4. Важно: скомпилируйте измененные схемы!

    • Теперь, когда мы закончили настройку, скомпилируйте измененные схемы с помощью:
      glib-compile-schemas /usr/share/glib-2.0/schemas 

6. Сборка, тестирование и установка!

  • Нажмите Buildкнопку в Ubuntu Builder, чтобы начать создание собственного ISO-образа Live-CD. UB автоматически выполняет очистку и т. Д., Которые ранее должны были выполняться вручную.

    введите описание изображения здесь

  • ISO можно найти в /home/ubuntu-builder; Вы можете проверить это, используя встроенный QEMU или другую виртуальную машину.

  • Мой законченный размер компакт-диска составил 778 МБ (после удаления старого .23ядра), с Unity и Gnome 3D, которые по-прежнему доступны, если пользователь пожелает, так что это довольно хорошо для настройки! :)

Следующее должно привести:

  1. После загрузки вы получаете опцию «Try Ubuntu» или «Install Ubuntu»:

    введите описание изображения здесь

  2. Нажав «Попробуй», мы получим наш собственный рабочий стол!

    введите описание изображения здесь

  3. Выход из системы (вход с ubuntuпустым паролем) показывает, что обои для входа сохраняются по умолчанию:

    введите описание изображения здесь

  4. Установщик не падает при выборе часового пояса:

    введите описание изображения здесь

  5. Выберите имя пользователя и т. Д. Для установки:

    введите описание изображения здесь

  6. Установленный экран входа в систему:

    введите описание изображения здесь

  7. Установленный рабочий стол:

    введите описание изображения здесь

иш
источник
1
Как обновить / установить пакет, который требует перезагрузки системы (например, ядро ​​или dbus)? Когда я пытаюсь обновить, он устанавливает; но в графическом режиме индикатор сеанса становится красным и говорит restart to complete the update.
Хуршид Алам
Как заменить рисунок Ubuntu своим собственным произведением?
Рошан Джордж
Этот не работает. Я не знаю почему. Я не уверен, случится ли это со мной одним. Когда я запускаю его в виртуальном ящике, появляется сообщение «/casper/vmlinuz.efi: файл не найден». Как это исправить? s24.postimg.org/jbez8svx1/Untitled.png
Рошан Джордж
@izx Подскажите, пожалуйста, как настроить рабочий каталог для Ubuntu-Builder? Это создает каталог в / home / ubuntu-builder. Я запускаю его с правами root.
Шантану
5
Этот проект прекращен. PPA не работает, и на сайте нет ссылок для скачивания. Я предлагаю добавить эту информацию в начале вашего ответа, чтобы помочь другим, прибывшим сюда, не тратить свое время.
Сопалахо де Арриерес
115

Создание собственного Custom Live CD - вручную.

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

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

    Squashfs Установите squashfs-tools - это сжатая файловая система только для чтения для Linux.

    schroot Установить schroot позволяет пользователям выполнять команды или интерактивные оболочки в разных chroot.

  • Смонтируйте 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. Настройка

  • Вы можете получить список всех пакетов с dpkg-query -W --showformat='${Package}\n' | less

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

  • Обновите свои источники с sudoedit /etc/apt/sources.list. Закомментируйте строки, которые вам не нужны, и раскомментируйте те, которые вы хотите, добавьте в PPA, если хотите, и затем вам нужно обновить с помощьюapt-get update && apt-get dist-upgrade

  • Добавление таких пакетов, как thunderbird, Samba, системная конфигурация Samba и SSH, выполняется так же, как при обычной установке из командной строки. Так sudo apt-get install thunderbird samba system-config-samba sshдобавлю те.

  • Если вы загрузили пакет вручную, вы можете установить его с sudo dpkg -i {file_name}.deb

    • Вы можете проверить Ubuntu Software Center, Synaptic или веб-сайт пакетов для имен, если необходимо установить больше.
    • Вы можете рассмотреть возможность добавления (беспроводных) сетевых утилит.
    • Вы быстро запустите более 800 Мб; если вы удалите больше пакетов, чтобы получить менее 800, или вам нужно использовать DVD при записи. Удаление libre office освободит вас на 33+ Мб, если вам это не нужно.
  • Чтобы создать ярлык AskUbuntu на рабочем столе:

    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

  • Изменение настроек внутри gconf-редактора.

    Вы можете изменить любой параметр gconf, если вы знаете, какой путь имеет этот параметр и какое значение вы хотите, чтобы оно было (и тип значения, конечно).

    введите описание изображения здесь

    Изменение обоев выполняется с помощью пути, на который я указал стрелки: /desktop/gnome/background/это строковое значение, которое используется picture_filenameв качестве опции. Значение, которое он в настоящее время держит на моем рабочем столе, - /discworld2/Downloads/fantasticwall_2.jpg. Сам фон должен быть скопирован в /usr/share/backgrounds/. Обязательно установите права доступа и владельца.

    Примеры:

    • Чтобы изменить обои (измените имя файла в 1-й команде на свое собственное изображение) на это изображение и измените тему на Radiance, вы можете использовать эту информацию для создания команд, чтобы установить это для вашего живого компакт-диска:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/background/picture_filename  /discworld2/Downloads/fantasticwall_2.jpg
      
      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t string /desktop/gnome/interface/gtk_theme Radiance
      

      Предоставлено dv3500ea

    • Включить удаленный рабочий стол:

      gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set -t bool /desktop/gnome/remote_access/enabled true
      

      Настройки для значков, панелей и т. Д. Выполняются путем добавления такой команды.

    • В качестве альтернативы вы можете редактировать /etc/gconf/gconf.xml.defaults/%gconf-tree.xml(или, когда вы не можете сохранить этот файл для будущего использования). Все параметры конфигурации, выполненные с помощью gconftool-2, хранятся в этом файле.

  • Изменить часовой пояс по умолчанию, используемый live cd

    dpkg-reconfigure tzdata
    
  • Измените настройку локали на английский (конечно, измените на то, что вы хотите)

    locale-gen en
    update-locale LANG=en LANGUAGE=en LC_ALL=en
    
  • Настройте файлы конфигурации.

    Если вы хотите иметь собственный файл конфигурации для определенного пакета, вы можете сделать это несколькими способами.

    Сложным (но наиболее логичным) способом было бы либо найти пакет, изменить файл конфигурации и перепаковать его, либо найти исходные файлы, выяснить, где они хранят свой фиктивный файл конфигурации, и изменить его, а затем пересобрать пакет.

    • Конечно, это работает только в том случае, если в исходный пакет включен файл конфигурации по умолчанию. Многие пакеты автоматически генерируют свои конфигурационные файлы в скрипте {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

Это удаляет все временные файлы; не то, что мы создали. ~/livecd/только для чтения, поэтому нормальный rmне удалит эти файлы. Вам нужно смонтировать его с правами записи (или, как я использовал новый live cd, загрузить и смонтировать дом и rmего оттуда.

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

  • Манифест файлов.

    chmod +w ~/livecd/cd/casper/filesystem.manifest
    sudo chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
    sudo cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
    
  • Восстановить файл squashfs.

    sudo mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
    
  • Обновление md5 сумм.

    sudo rm ~/livecd/cd/md5sum.txt
    sudo bash -c 'cd ~/livecd/cd && find . -type f -exec md5sum {} +' > md5sum.txt
    

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. Размонтировать и очистить

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

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

  • Все было протестировано с Ubuntu 11.04 Live CD. Единственное, что пошло не так - это chroot: я добавил dchroot к файлам, которые нужно установить для этого.

  • Относительно «следует создать несколько ярлыков Firefox на рабочем столе», «Следует изменить тему по умолчанию на сияние» и «Следует изменить обои Ubuntu по умолчанию». Я отредактировал их после того, как dv3500ea поместил это в комментарии; Я не проверял это при создании живого компакт-диска 11.04.

Rinzwind
источник
Будет apt-get update && apt-get dist-upgradeтакже обновить ядро / INITRD используется на Live CD? Я имею в виду ядро ​​для процесса загрузки с живого носителя, загруженного Syslinux, а не установленного.
gertvdijk
apt-get dist-upgradeработает без изъянов, кроме некоторых warning: could not determine root device from /etc/fstabсообщений. Это должно стать проблемой?
Сопалайо де Арриерес
Нет. Но чтобы быть уверенным, посмотрите на свой и посмотрите, как / смонтирован.
Rinzwind
1
Согласно help.ubuntu.com в 12.04 и 14.04 это /etc/resolv.confне может быть удалено как часть очистки
souravc
1
Этот метод все еще работает: протестировано с Kubuntu 18.04.2. примечание: что я могу сделать загрузочный .ISO только с помощью unetbootin (etcher не работает). Нет проблем при загрузке .ISO на DVD.
NMath
23

Создание live CD из существующей / новой установки

РЕДАКТИРОВАТЬ: Этот метод, кажется, больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом 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. Теперь мы входим в новую систему и модифицируем ее.

    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. Если вы установили установщик, вам нужно будет сделать это, чтобы установщик не устанавливал такие вещи, как 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        
    
  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. Сделайте filesystem.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 на ваш любимый текстовый редактор, это не имеет значения) Вставьте его и сохраните:

    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, потому что руководство отсюда .

nickguletskii
источник
У меня есть вопрос по поводу grub.cfg. Этот файл grub.cfg используется только во время установки или он постоянен для установленной системы. Что если я не отредактирую grub.cfg?
Рошан Джордж
@RoshanGeorge Это настраивает GRUB на компакт-диске. Это не должно сохраняться после установки.
Никгулецкий
Можем ли мы просто выполнить установку, как обычно для Ubuntu, то есть показать установщик ubiquity, а не grub? Значит, при установке Ubuntu, когда мы вставляем и запускаем компакт-диск, появляется ubiquity, а не меню grub. Можем ли мы так поступить?
Рошан Джордж
@RoshanGeorge Это должно быть возможно, добавив пункт меню с помощью linux /boot/vmlinuz boot=casper only-ubiquity quiet splash. Я буду проверять и проверять.
Никгулецкий
@RoshanGeorge Я успешно добавил опцию для запуска Ubiquity из меню загрузки. Тем не менее, мне нужно исправить руководство - некоторые шаги вездесущности отсутствуют. Я попытаюсь исправить это завтра.
Никгулецкий
15

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

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

yevhene
источник
1
Похоже, UCK был снят с производства :(
amc
Ubuntu Builder был снят с производства в 2014 году; Ubuntu Customization Kit устанавливается, но не работает, и был прекращен в 2015 году; Система Imager была прекращена в 2016 году. Этот ответ действительно нуждается в обновлении. Есть ли официально поддерживаемый метод в 2019 году?
Allquixotic
@allquixotic uck находится в хранилище вселенной 18.04. Эта версия не работает?
mchid
10

Ubuntu Customization Kit

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

  1. Он попросит выбрать языковые пакеты для включения в CD.
  2. Затем он попросит выбрать файл образа .iso, который будет использоваться в качестве основы для нового компакт-диска.
  3. Дайте имя новому образу .iso, который будет создан.
  4. Затем он запросит пакеты, которые нужно добавить / удалить на / с LiveCD. Это даст вам возможность выбрать между командной строкой и графическим интерфейсом по умолчанию (Ubuntu Software Center). Примечание: вы должны выбрать командную строку. Из командной строки вы можете добавлять / удалять пакеты либо с помощью apt-get, либо с помощью Ubuntu Software Center (введите software-center из командной строки). Вы также можете изменить настройки конфигурации для всех программ / приложений.
  5. После завершения (загрузка необходимых пакетов может занять некоторое время), продолжайте.
  6. Теперь просто расслабься и расслабься. Через некоторое время ваш настроенный LiveCD будет готов.
rigved
источник
2
похоже, что проект UCK был прекращен :(
amc
5

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

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

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

ændrük
источник
5

В программном центре Ubuntu

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

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

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

Перезагрузите исходные коды и установите Remastersys из Центра программного обеспечения.

После этого установите все медиакодеки и приложения, которые вы хотите, в свою пользовательскую Ubuntu. Начать remastersys с

Система> Adminstration> Remastersys

Выберите режим dist , нажмите ok и дождитесь окончания процесса. Когда вы закончите, вы найдете свой собственный ISO в

/home/remastersys/remastersys/custom.iso

Оваис Лоне
источник
Я следовал точно так же, как вы описали здесь, но, к сожалению, во время загрузки он показывает «не удалось найти образ виртуального диска: / ubninit» и обновляется снова и снова с интервалом в 10 секунд. Результат: я не могу загрузить свой настроенный ISO. Не могли бы вы сказать мне, как я могу решить это? Пожалуйста.
Tuxtu
3

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

даго
источник
1
или UCK, который использует графический интерфейс и является менее сложным
Uri Herrera
Remastersys мертв. Теперь этот сайт принадлежит доменному скваттеру.
Allquixotic
1

Я не знаю «GUI» за пределами Lucid, однако gNewsense , который является форком Ubuntu, заставляет свои скрипты брать релиз Ubuntu и делать свой собственный форк свободно доступным и довольно хорошо документированным.

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

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

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

Тим Пост
источник
1

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

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

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

Майкл Креншоу
источник
ссылка не работает и домен перенаправляет на потенциально вредоносный сайт!
amc
1

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

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

Также для получения дополнительной информации вы должны прочитать эти ссылки: http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05

http://maketecheasier.com/build-your-own-ubuntu-based-distro-with-novo-builder/2010/07/02

http://ubuntuforums.org/showthread.php?t=869659

LnxSlck
источник
Но эти инструменты не позволят мне переименовать мой дистрибутив, они позволят мне только создавать образы и добавлять пакеты, или, по крайней мере, это то, что я знаю.
user51447
Ссылка на реконструктор не работает, и домен перенаправляет на потенциально вредоносный сайт!
amc
1

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

Jahid
источник
1

Вы можете использовать Cubic - эта утилита была протестирована (мной) и работает на хосте Ubuntu 18.04 с образом Ubuntu 18.04, что больше, чем можно сказать для большинства других инструментов, которые не работают или более не поддерживаются.

Вот руководство по его использованию с сайта Linoxide .

Грубые шаги включают в себя:

  • Убедитесь, что вы используете поддерживаемую версию Ubuntu (я пробовал 18.04; это работает)
  • Установите ключ GPG для кубического PPA
  • Добавьте кубический PPA к своим источникам
  • Установите кубический инструмент
  • Запустите его и следуйте инструкциям GUI
allquixotic
источник
Кроме того, см. Этот ответ askubuntu.com/a/741770/100356 для получения инструкций.
Пи Джей Сингх
0

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

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

кораблик

Единство-2d-пусковой

Единство-2d-панель

и делай все

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

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

nastys
источник
Набор для настройки Ubuntu (UCK) был снят с производства
amc
0

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

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

SW_user2953243
источник
На самом деле после дальнейшего просмотра выясняется, /etc/hostsчто устанавливаемый файл не был сгенерирован plugininstall.pyмодулем ubiquity . Если вы хотите изменить /etc/hostsфайл по умолчанию, вам, вероятно, придется создать скрипт, который будет запускаться один раз после первой загрузки, и удалить или переименовать себя. Если вы не перекомпилируете модуль netcfg - что не рекомендуется.
SW_user2953243