Пересборка Ubuntu Desktop (вольный перевод оригинальной статьи): различия между версиями
Vovan (обсуждение | вклад) (Новая страница: «Оригинальная статья: https://help.ubuntu.com/community/LiveCDCustomization ==й==») |
Vovan (обсуждение | вклад) (→Custom Background for GNOME) |
||
(не показано 18 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Оригинальная статья: https://help.ubuntu.com/community/LiveCDCustomization | Оригинальная статья: https://help.ubuntu.com/community/LiveCDCustomization | ||
− | == | + | =Зачем кастомизировать LiveCD-дистрибутивы?= |
+ | |||
+ | Затем, чтобы: | ||
+ | *сделать собственный Linux/Ubuntu дистрибутив | ||
+ | *показать конкретное программное обеспечение | ||
+ | *перевести на определенный язык | ||
+ | *добавить или удалить пакеты программного обеспечения | ||
+ | *обновить пакеты программного обеспечения | ||
+ | *изменить системные умолчания (темы, иконки, фон рабочего стола, панели, домашнюю страницу браузера, и т.д.) | ||
+ | |||
+ | =Как кастомизировать Ubuntu Desktop CD?= | ||
+ | |||
+ | Самый простой способ создать кастомный LiveCD - это использование инструмента [http://uck.sourceforge.net/ Ubuntu Customization Kit]. | ||
+ | |||
+ | Ниже в данной статье следует подробное описание другого способа, менее простого, но дающего аналогичный результат (переводчик сочинил это предложение сам.). | ||
+ | |||
+ | Вы возможно также захотите создать LiveCD из существующей инсталляции. Для этого случая подойдет инструмент [http://www.geekconnection.org/remastersys/ Remastersys]. | ||
+ | |||
+ | Это руководство для десктопного LiveCd. Для других видов CD есть соответствующие страницы: [https://help.ubuntu.com/community/InstallCDCustomization Alternative Install Cd], [https://help.ubuntu.com/community/InstallCDCustomization Server Install Cd]. | ||
+ | |||
+ | Также, по ссылке [https://help.ubuntu.com/community/LiveCDCustomizationFromScratch вот этой] находится руководство по созданию LiveCd без использования существующего LiveCd. | ||
+ | |||
+ | =Системные требования= | ||
+ | |||
+ | #Как минимум 3-5 GB свободного места | ||
+ | #Как минимум 512 MB ОЗУ и 1 GB swap (рекомендуется) | ||
+ | #Пакет squashfs-tools | ||
+ | #Пакет '''genisoimage''', который обеспечивает наличие команды '''mkisofs''' | ||
+ | #Ядро Ubuntu с поддержкой squashfs (присутствует начиная с Ubuntu 6.06 и выше) | ||
+ | #Опционально, какой-нибудь гипервизор, для тестирования нового LiveCD (QEMU/KVM, VirtualBox или VMware) | ||
+ | |||
+ | |||
+ | '''Примечание 1:''' | ||
+ | При кастомизации 9.10 Karmic Koala (или выше) в окружении 9.04 Jaunty Jackalope (или ниже), инструмент squashfs-tools должен быть обновлен до версии 4.0. | ||
+ | И наоборот - инструмент squashfs-tools в Ubuntu 9.10 не совместим с более ранними версиями Ubuntu. | ||
+ | |||
+ | '''Примечание 2:''' | ||
+ | Архитектура операционной системы (Amd64 или i386), которая будет на итоговом LiveCD должна быть такой же, как архитектура платформы, на которой выполняется кастомизация, в противном случае загрузка с LiveCD будет невозможно. Например, использование операционной системы архитектуры i386 для сборки LiveCD архитектуры AMD64, задача нетривиальная. | ||
+ | |||
+ | =Установка необходимых инструментов= | ||
+ | |||
+ | #Убедитесь, что установлены необходимые инструменты | ||
+ | sudo aptitude install squashfs-tools genisoimage | ||
+ | |||
+ | =Получение базовой системы= | ||
+ | |||
+ | #Загрузить официальный ISO-образ десктопной системы можно с [http://releases.ubuntu.com/ http://releases.ubuntu.com]. | ||
+ | |||
+ | '''Примечание:''' В примере, показанном здесь, используется образ под названием '''ubuntu-9.04-desktop-i386.iso'''. Замените его на имя конкретно вашего iso-образа. Например, если ваш образ называется ubuntu-11.04-desktop-i386.iso, то команда: | ||
+ | mv ubuntu-9.04-desktop-i386.iso ~/livecdtmp. | ||
+ | |||
+ | должна быть изменена на: | ||
+ | mv ubuntu-11.04-desktop-i386.iso ~/livecdtmp | ||
+ | |||
+ | Переместите или скопируйте его в пустую директорию | ||
+ | |||
+ | mkdir ~/livecdtmp | ||
+ | mv ubuntu-9.04-desktop-i386.iso ~/livecdtmp | ||
+ | cd ~/livecdtmp | ||
+ | |||
+ | ==Извлечение содержимого iso-образа== | ||
+ | |||
+ | Монтирование iso-образа: | ||
+ | |||
+ | mkdir mnt | ||
+ | sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt | ||
+ | |||
+ | Извлечение содержимого iso-образа в директорию '''extract-cd''' | ||
+ | |||
+ | mkdir extract-cd | ||
+ | sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd | ||
+ | |||
+ | ==Извлечение системы== | ||
+ | |||
+ | Извлечение файловой системы SquashFS | ||
+ | |||
+ | sudo unsquashfs mnt/casper/filesystem.squashfs | ||
+ | sudo mv squashfs-root edit | ||
+ | |||
+ | ==Подготовка и chroot== | ||
+ | |||
+ | Если необходима поддержка сетевого соединения | ||
+ | |||
+ | sudo cp /etc/resolv.conf edit/etc/ | ||
+ | |||
+ | В зависимости от вашей конфигурации, возможно, понадобится скопировать hosts-файл | ||
+ | |||
+ | sudo cp /etc/hosts edit/etc/ | ||
+ | |||
+ | sudo mount --bind /dev/ edit/dev | ||
+ | sudo chroot edit | ||
+ | mount -t proc none /proc | ||
+ | mount -t sysfs none /sys | ||
+ | mount -t devpts none /dev/pts | ||
+ | |||
+ | (это монтирования важных директорий вашей хостовой системы - если вы решите удалить директории внутри директории edit/, то убедитесь, что отмонтировали эти директории, в противном случае ваша система станет непригодной для использования, по крайней мере до перезагрузки) | ||
+ | |||
+ | Чтобы избежать проблем с локалью и для того, чтобы импортировать ключи GPG | ||
+ | |||
+ | export HOME=/root | ||
+ | export LC_ALL=C | ||
+ | |||
+ | =Кастомизация= | ||
+ | |||
+ | ==Apt-get== | ||
+ | |||
+ | ===Приготовления=== | ||
+ | |||
+ | В 9.10, установкой или обновлением пакетов, необходимо выполнить команды | ||
+ | |||
+ | dbus-uuidgen > /var/lib/dbus/machine-id | ||
+ | |||
+ | и | ||
+ | |||
+ | dpkg-divert --local --rename --add /sbin/initctl | ||
+ | ln -s /bin/true /sbin/initctl | ||
+ | |||
+ | ===Управление пакетами=== | ||
+ | |||
+ | Для просмотра установленных пакетов по размеру выполните | ||
+ | |||
+ | dpkg-query -W --showformat='${Installed-Size}\t${Package}\n' | sort -nr | less | ||
+ | |||
+ | Если вы захотите удалить пакет, то используйте purge | ||
+ | |||
+ | aptitude purge имя-пакета | ||
+ | |||
+ | =Кастомизация бекграундов GNOME= | ||
+ | |||
+ | Обысно файлы background находятся в /usr/share/backgrounds. Скопируйте ваши png файлы сюда, найтройте хозяина и доступ на них, затем отредактируйте файлы: | ||
+ | |||
+ | #/usr/share/gnome-background-properties/ubuntu-wallpapers.xml и | ||
+ | #/usr/share/gconf/defaults/16_ubuntu-wallpapers или другие файлы в этой директории путём изменения строки /usr/share/backgrounds/warty-final-ubuntu.png на ту, которая будет указывать на ваш файл | ||
+ | |||
+ | В конце концов можно отредактировать такие файлы как: /var/lib/gconf/debian.defaults/%gconf-tree.xml or /etc/gconf/gconf.xml.defaults/%gconf-tree.xml). |
Текущая версия на 12:49, 8 января 2014
Оригинальная статья: https://help.ubuntu.com/community/LiveCDCustomization
Содержание
Зачем кастомизировать LiveCD-дистрибутивы?
Затем, чтобы:
- сделать собственный Linux/Ubuntu дистрибутив
- показать конкретное программное обеспечение
- перевести на определенный язык
- добавить или удалить пакеты программного обеспечения
- обновить пакеты программного обеспечения
- изменить системные умолчания (темы, иконки, фон рабочего стола, панели, домашнюю страницу браузера, и т.д.)
Как кастомизировать Ubuntu Desktop CD?
Самый простой способ создать кастомный LiveCD - это использование инструмента Ubuntu Customization Kit.
Ниже в данной статье следует подробное описание другого способа, менее простого, но дающего аналогичный результат (переводчик сочинил это предложение сам.).
Вы возможно также захотите создать LiveCD из существующей инсталляции. Для этого случая подойдет инструмент Remastersys.
Это руководство для десктопного LiveCd. Для других видов CD есть соответствующие страницы: Alternative Install Cd, Server Install Cd.
Также, по ссылке вот этой находится руководство по созданию LiveCd без использования существующего LiveCd.
Системные требования
- Как минимум 3-5 GB свободного места
- Как минимум 512 MB ОЗУ и 1 GB swap (рекомендуется)
- Пакет squashfs-tools
- Пакет genisoimage, который обеспечивает наличие команды mkisofs
- Ядро Ubuntu с поддержкой squashfs (присутствует начиная с Ubuntu 6.06 и выше)
- Опционально, какой-нибудь гипервизор, для тестирования нового LiveCD (QEMU/KVM, VirtualBox или VMware)
Примечание 1:
При кастомизации 9.10 Karmic Koala (или выше) в окружении 9.04 Jaunty Jackalope (или ниже), инструмент squashfs-tools должен быть обновлен до версии 4.0.
И наоборот - инструмент squashfs-tools в Ubuntu 9.10 не совместим с более ранними версиями Ubuntu.
Примечание 2: Архитектура операционной системы (Amd64 или i386), которая будет на итоговом LiveCD должна быть такой же, как архитектура платформы, на которой выполняется кастомизация, в противном случае загрузка с LiveCD будет невозможно. Например, использование операционной системы архитектуры i386 для сборки LiveCD архитектуры AMD64, задача нетривиальная.
Установка необходимых инструментов
- Убедитесь, что установлены необходимые инструменты
sudo aptitude install squashfs-tools genisoimage
Получение базовой системы
- Загрузить официальный ISO-образ десктопной системы можно с http://releases.ubuntu.com.
Примечание: В примере, показанном здесь, используется образ под названием ubuntu-9.04-desktop-i386.iso. Замените его на имя конкретно вашего iso-образа. Например, если ваш образ называется ubuntu-11.04-desktop-i386.iso, то команда:
mv ubuntu-9.04-desktop-i386.iso ~/livecdtmp.
должна быть изменена на:
mv ubuntu-11.04-desktop-i386.iso ~/livecdtmp
Переместите или скопируйте его в пустую директорию
mkdir ~/livecdtmp mv ubuntu-9.04-desktop-i386.iso ~/livecdtmp cd ~/livecdtmp
Извлечение содержимого iso-образа
Монтирование iso-образа:
mkdir mnt sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt
Извлечение содержимого iso-образа в директорию extract-cd
mkdir extract-cd sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Извлечение системы
Извлечение файловой системы SquashFS
sudo unsquashfs mnt/casper/filesystem.squashfs sudo mv squashfs-root edit
Подготовка и chroot
Если необходима поддержка сетевого соединения
sudo cp /etc/resolv.conf edit/etc/
В зависимости от вашей конфигурации, возможно, понадобится скопировать hosts-файл
sudo cp /etc/hosts edit/etc/
sudo mount --bind /dev/ edit/dev sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts
(это монтирования важных директорий вашей хостовой системы - если вы решите удалить директории внутри директории edit/, то убедитесь, что отмонтировали эти директории, в противном случае ваша система станет непригодной для использования, по крайней мере до перезагрузки)
Чтобы избежать проблем с локалью и для того, чтобы импортировать ключи GPG
export HOME=/root export LC_ALL=C
Кастомизация
Apt-get
Приготовления
В 9.10, установкой или обновлением пакетов, необходимо выполнить команды
dbus-uuidgen > /var/lib/dbus/machine-id
и
dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl
Управление пакетами
Для просмотра установленных пакетов по размеру выполните
dpkg-query -W --showformat='${Installed-Size}\t${Package}\n' | sort -nr | less
Если вы захотите удалить пакет, то используйте purge
aptitude purge имя-пакета
Кастомизация бекграундов GNOME
Обысно файлы background находятся в /usr/share/backgrounds. Скопируйте ваши png файлы сюда, найтройте хозяина и доступ на них, затем отредактируйте файлы:
- /usr/share/gnome-background-properties/ubuntu-wallpapers.xml и
- /usr/share/gconf/defaults/16_ubuntu-wallpapers или другие файлы в этой директории путём изменения строки /usr/share/backgrounds/warty-final-ubuntu.png на ту, которая будет указывать на ваш файл
В конце концов можно отредактировать такие файлы как: /var/lib/gconf/debian.defaults/%gconf-tree.xml or /etc/gconf/gconf.xml.defaults/%gconf-tree.xml).