Собери себе Ubuntu: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(2. Монтирование образа)
 
(не показано 30 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
=Вот вам способ создать свой индивидуальный вариант Ubuntu, включающий только нужные вам пакеты.=
 
=Вот вам способ создать свой индивидуальный вариант Ubuntu, включающий только нужные вам пакеты.=
 +
[[пересборка_LiveCD_Ubuntu]]
 +
 +
Отредактировано в соответствии с требованиями к пересборке Ubuntu 9.10
  
 
==1. Получение ISO-файла==
 
==1. Получение ISO-файла==
Строка 19: Строка 22:
 
  rsync -ax ./loop/. ./ubuntu-rebuild
 
  rsync -ax ./loop/. ./ubuntu-rebuild
  
После этого директория ubuntu-rebuild будет содержать файлы с диска. Теперь можно отмонтировать ISO-образ (umount ./loop).
+
После этого директория ubuntu-rebuild будет содержать файлы с диска. Теперь можно отмонтировать ISO-образ  
 +
umount ./loop
  
 
==3. Подготовка==
 
==3. Подготовка==
Строка 25: Строка 29:
 
Далее необходимо распаковать сжатую файловую систему с CD Ubuntu; для этого используем SquashFS, представленную в Ubuntu в пакете squashfs; вам также необходимо установить squashfs-tools. Сжатая файловая система подмонтируется так:
 
Далее необходимо распаковать сжатую файловую систему с CD Ubuntu; для этого используем SquashFS, представленную в Ubuntu в пакете squashfs; вам также необходимо установить squashfs-tools. Сжатая файловая система подмонтируется так:
  
  mount ubuntu-rebuild/casper/filesistem.squashfs /mnt/loop -t squashfs -o loop
+
  mount ubuntu-rebuild/casper/filesystem.squashfs loop -t squashfs -o loop
  
Теперь в /mnt/loop находится содержимое сжатой файловой системы Ubuntu - той, что используется, когда вы загружаетесь в режиме LiveCD. Скопируйте её в новый каталог вашей домашней директории:
+
Теперь в /home/UserName/loop находится содержимое сжатой файловой системы Ubuntu - той, что используется, когда вы загружаетесь в режиме LiveCD. Скопируйте её в новый каталог вашей домашней директории:
  
 
  mkdir ubuntu-source
 
  mkdir ubuntu-source
  rsync -av /mnt/loop/. ubuntu-source
+
  rsync -av loop/. ubuntu-source
  umount /mnt/loop
+
umount ./loop
 +
 
 +
mount -t proc /proc ./ubuntu-source/proc
 +
  mount -t sysfs /sys ./ubuntu-source/sys
 +
mount -o bind /dev ./ubuntu-source/dev
  
 
==4. Изменение пакетов==
 
==4. Изменение пакетов==
Строка 42: Строка 50:
 
Теперь вы находитесь внутри каталога ubuntu-source, как если бы он был корневым (/). Вы запустили тот же дистрибутив, который идет на Live CD, но теперь его можно изменять! Не рекомендуется удалять пакеты, если вы точно не уверены, что делаете; некоторые являются зависимостями для критичных системных пакетов. Но вы можете начать добавление программ с помощью apt-get - например, чтобы добавить abiWord в вашу систему:
 
Теперь вы находитесь внутри каталога ubuntu-source, как если бы он был корневым (/). Вы запустили тот же дистрибутив, который идет на Live CD, но теперь его можно изменять! Не рекомендуется удалять пакеты, если вы точно не уверены, что делаете; некоторые являются зависимостями для критичных системных пакетов. Но вы можете начать добавление программ с помощью apt-get - например, чтобы добавить abiWord в вашу систему:
  
  apt-get install abiword
+
Перед началом изменений содержимого диска создайте контрольную сумму оригинального диска
 +
 
 +
dbus-uuidgen > /var/lib/dbus/machine-id
 +
 
 +
Теперь можете приступать к добавлению программ и обновлению системных пакетов
 +
 
 +
aptitude upgrade
 +
 
 +
  apt-get install abiwordaptitu
 +
 
 +
Добавляем русификацию и удаляем "ненужные" языки:
 +
 
 +
<!--
 +
aptitude purge language-pack-ar language-pack-bn  language-pack-de language-pack-es language-pack-fr language-pack-hi language-pack-pt language-pack-xh  language-pack-ar-base language-pack-bn-base language-pack-de-base language-pack-es-base language-pack-fr-base language-pack-hi-base language-pack-pt-base language-pack-xh-base  language-pack-gnome-ar language-pack-gnome-bn  language-pack-gnome-de language-pack-gnome-es language-pack-gnome-fr language-pack-gnome-hi language-pack-gnome-pt language-pack-gnome-xh language-pack-gnome-ar-base language-pack-gnome-bn-base language-pack-gnome-de-base language-pack-gnome-es-base language-pack-gnome-fr-base language-pack-gnome-hi-base language-pack-gnome-pt-base language-pack-gnome-xh-base
 +
-->
 +
aptitude install ubuntu-restricted-extras language-support-ru language-support-extra-ru language-pack-ru language-pack-gnome-ru language-support-translations-ru openoffice.org-l10n-en-gb gnome-user-guide-en openoffice.org-help-en-gb openoffice.org-l10n-en-za openoffice.org-hyphenation openoffice.org-hyphenation-en-us openoffice.org-thesaurus-en-au openoffice.org-thesaurus-en-us language-pack-ru openoffice.org-l10n-ru openoffice.org-help-ru language-pack-gnome-ru gnome-user-guide-ru language-support-writing-ru language-pack-ru openoffice.org-thesaurus-ru language-pack-kde-ru
  
 
Программы, добавленные на этой стадии, будут присутствовать на финальном CD/DVD, когда мы его пересоберем. Так что вы можете добавить Xfce, если это ваше любимое окружение рабочего стола, или пакет "build-essentrial", если ван нужен GCC и иже с ним, готовое к запуску.
 
Программы, добавленные на этой стадии, будут присутствовать на финальном CD/DVD, когда мы его пересоберем. Так что вы можете добавить Xfce, если это ваше любимое окружение рабочего стола, или пакет "build-essentrial", если ван нужен GCC и иже с ним, готовое к запуску.
 +
 +
aptitude clean
 +
 +
И последняя операция
 +
 +
rm /sbin/initctl
 +
dpkg-divert --rename --remove /sbin/initctl
  
 
==5. Обновление==
 
==5. Обновление==
  
Закончив, наберите exit, чтобы покинуть файловую систему Ubuntu и вернуться в свой обычний дистрибутив. Теперь надо сгенерировать список файлов, имеющихся в обновленном образе Ubuntu. Для этого наберите следующую команду-монстр:
+
Закончив, наберите exit, чтобы покинуть файловую систему Ubuntu и вернуться в свой обычний дистрибутив.
 +
 
 +
 
 +
 
 +
umount ./ubuntu-source/sys
 +
umount ./ubuntu-source/proc
 +
umount ./ubuntu-source/dev
 +
 
 +
 
 +
Теперь надо сгенерировать список файлов, имеющихся в обновленном образе Ubuntu. Для этого наберите следующую команду-монстр:
 +
 
  
  chroot ubuntu-source dpkg-query -W --showformat='$[Package] $[Version]\n' | grep -v deinstall> ubuntu-rebuild/casper/filesistem.manifest
+
  chroot ubuntu-source dpkg-query -W --showformat='${Package} ${Version}\n' | grep -v deinstall> ubuntu-rebuild/casper/filesystem.manifest
  
 
Необходимо также сказать установщику Ubuntu, когда он запустится, чтоб игнорировал определенные пакеты. Например, после инсталляции иконка "Установить Ubuntu" на рабочем столе вам уже ни к чему! Итак, пробежимся по списку инсталлируемых файлов (при помощи sed) и удалим компоненты исключительно для Live CD:
 
Необходимо также сказать установщику Ubuntu, когда он запустится, чтоб игнорировал определенные пакеты. Например, после инсталляции иконка "Установить Ubuntu" на рабочем столе вам уже ни к чему! Итак, пробежимся по списку инсталлируемых файлов (при помощи sed) и удалим компоненты исключительно для Live CD:
Строка 64: Строка 104:
 
  sed -f /tmp/sedscript < ubuntu-rebuild/casper/filesystem.manifest-desktop
 
  sed -f /tmp/sedscript < ubuntu-rebuild/casper/filesystem.manifest-desktop
  
==6. Ремастеринг==
+
Сконфигурируем зону времени
 +
 
 +
dpkg-reconfigure tzdata
 +
 
 +
Быстрая русификация
 +
 
 +
locale-gen ru_RU.utf8
 +
update-locale LANG=ru_RU.utf8 LANGUAGE=ru_RU.utf8 LC_ALL=ru_RU.utf8
 +
 
 +
Сделаем русский язык выбранным по умолчанию (в меню)
 +
 
 +
sudo aptitude install dpkg-dev uck
 +
apt-get source gfxboot-theme-ubuntu gfxboot
 +
cd gfxboot-theme-ubuntu*/
 +
make DEFAULT_LANG=ru
 +
sudo cp -af boot/* ../ubuntu-rebuild/isolinux/
 +
 
 +
== 6. Зачитска ==
 +
Теперь удалим ненужные и временные конфигурационные файлы
 +
 
 +
rm ubuntu-source/etc/resolv.conf
 +
rm ubuntu-source/var/lib/dbus/machine-id
 +
 
 +
и скопируем обновленные ядра в casper
 +
 
 +
sudo cp ubuntu-source/boot/vmlinuz-2.6.15-26-k7 ubuntu-rebuild/casper/vmlinuz
 +
sudo cp ubuntu-source/boot/initrd.img-2.6.15-26-k7 ubuntu-rebuild/casper/initrd.lz
 +
 
 +
==7. Ремастеринг==
  
 
Теперь нам нужно пересобрать образ файловой системы SquashFS - это займет до получаса...
 
Теперь нам нужно пересобрать образ файловой системы SquashFS - это займет до получаса...
  
  mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.sqashfs -noappend
+
  mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -noappend
  
 
Далее обновим контрольную сумму MD5 для подтверждения целостности диска:
 
Далее обновим контрольную сумму MD5 для подтверждения целостности диска:
  (cd ubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
+
  cd ubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
 +
cd ..
 
И наконец, команда mkisofs создаст нам сияюще-новый ISO-образ:
 
И наконец, команда mkisofs создаст нам сияюще-новый ISO-образ:
  
  mkisofs -r -V "My Modified Ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -o newubuntu.iso   ubuntu-rebuild
+
  mkisofs --iso-level 4 -r -V "My Modified Ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -o newubuntu.iso ubuntu-rebuild
  
 
Если все прошло "на ура", то вы теперь имеете файл newubuntu.iso, который можно прожечь на CD-R (или, если он больше 700 МБ, на DVD). Но помните, что если образ больше 2 ГБ, у вас будут проблемы с запуском.
 
Если все прошло "на ура", то вы теперь имеете файл newubuntu.iso, который можно прожечь на CD-R (или, если он больше 700 МБ, на DVD). Но помните, что если образ больше 2 ГБ, у вас будут проблемы с запуском.
Строка 80: Строка 149:
  
 
Статья написана по материалам журнала LinuxFormat Октябрь 2007.
 
Статья написана по материалам журнала LinuxFormat Октябрь 2007.
 +
 +
 +
===дополнительно===
 +
openoffice.org-l10n-en-gb
 +
gnome-user-guide-en
 +
openoffice.org-help-en-gb
 +
openoffice.org-l10n-en-za
 +
openoffice.org-hyphenation
 +
openoffice.org-hyphenation-en-us
 +
openoffice.org-thesaurus-en-au
 +
openoffice.org-thesaurus-en-us
 +
language-pack-ru
 +
openoffice.org-l10n-ru
 +
openoffice.org-help-ru
 +
language-pack-gnome-ru
 +
gnome-user-guide-ru
 +
language-support-writing-ru
 +
language-pack-ru
 +
openoffice.org-thesaurus-ru
 +
language-pack-kde-ru
 +
aspell-ru
 +
kde-l10n-ru
 +
gimp-help-ru
 +
kde-l10n-engb
 +
gimp-help-en
 +
language-pack-kde-en
 +
 +
[[Категория:Ubuntu]]

Текущая версия на 09:41, 28 июля 2021

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

пересборка_LiveCD_Ubuntu

Отредактировано в соответствии с требованиями к пересборке Ubuntu 9.10

1. Получение ISO-файла

Для пересборки Ubuntu нужен образ Desktop CD> который запускается в Live-режиме. Последнюю стабильную версию можно скачать с http://releases.ubuntu.com/gutsy/. Скачайте образ ubuntu-7.10.-desktop-i386.iso, запишите его в свою домашнюю директорию и переименуйте в gutsy.iso.

2. Монтирование образа

Образ CD нужно подмонтировать к файловой системе. Откройте терминал и, переключившись на администратора (sudo su), введите следующее:

cd /home/UserName/
mkdir loop
mount -o loop gutsy.iso ./loop

Теперь содержимое gutsy.iso доступно в /home/UserName/loop. Нам нужно скопировать его в нашу файловую систему, так что создайте директорию и скопируйте все содержимой вот так:

mkdir ubuntu-rebuild
rsync -ax ./loop/. ./ubuntu-rebuild

После этого директория ubuntu-rebuild будет содержать файлы с диска. Теперь можно отмонтировать ISO-образ

umount ./loop

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

Далее необходимо распаковать сжатую файловую систему с CD Ubuntu; для этого используем SquashFS, представленную в Ubuntu в пакете squashfs; вам также необходимо установить squashfs-tools. Сжатая файловая система подмонтируется так:

mount ubuntu-rebuild/casper/filesystem.squashfs loop -t squashfs -o loop

Теперь в /home/UserName/loop находится содержимое сжатой файловой системы Ubuntu - той, что используется, когда вы загружаетесь в режиме LiveCD. Скопируйте её в новый каталог вашей домашней директории:

mkdir ubuntu-source
rsync -av loop/. ubuntu-source
umount ./loop
mount -t proc /proc ./ubuntu-source/proc
mount -t sysfs /sys ./ubuntu-source/sys
mount -o bind /dev ./ubuntu-source/dev

4. Изменение пакетов

Ура: теперь все на своих местах! Теперь немного поколдуем для переключения на файлы дистрибутива, как будто мы его и запустили. За это надо сказать спасибо маленькому инструменту chroot: он меняет восприятие корневой файловой системы, и можно "притвориться", что вы находитесь в другом дистрибутиве. Введите следующие команды - первая из них настраивает сетевое соединение внутри файловой системы Ubuntu:

cp /etc/resolv.conf ubuntu-source/etc/
chroot ubuntu-source

Теперь вы находитесь внутри каталога ubuntu-source, как если бы он был корневым (/). Вы запустили тот же дистрибутив, который идет на Live CD, но теперь его можно изменять! Не рекомендуется удалять пакеты, если вы точно не уверены, что делаете; некоторые являются зависимостями для критичных системных пакетов. Но вы можете начать добавление программ с помощью apt-get - например, чтобы добавить abiWord в вашу систему:

Перед началом изменений содержимого диска создайте контрольную сумму оригинального диска

dbus-uuidgen > /var/lib/dbus/machine-id

Теперь можете приступать к добавлению программ и обновлению системных пакетов

aptitude upgrade
apt-get install abiwordaptitu

Добавляем русификацию и удаляем "ненужные" языки:

aptitude install ubuntu-restricted-extras language-support-ru language-support-extra-ru language-pack-ru language-pack-gnome-ru language-support-translations-ru openoffice.org-l10n-en-gb gnome-user-guide-en openoffice.org-help-en-gb openoffice.org-l10n-en-za openoffice.org-hyphenation openoffice.org-hyphenation-en-us openoffice.org-thesaurus-en-au openoffice.org-thesaurus-en-us language-pack-ru openoffice.org-l10n-ru openoffice.org-help-ru language-pack-gnome-ru gnome-user-guide-ru language-support-writing-ru language-pack-ru openoffice.org-thesaurus-ru language-pack-kde-ru

Программы, добавленные на этой стадии, будут присутствовать на финальном CD/DVD, когда мы его пересоберем. Так что вы можете добавить Xfce, если это ваше любимое окружение рабочего стола, или пакет "build-essentrial", если ван нужен GCC и иже с ним, готовое к запуску.

aptitude clean

И последняя операция

rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

5. Обновление

Закончив, наберите exit, чтобы покинуть файловую систему Ubuntu и вернуться в свой обычний дистрибутив.


umount ./ubuntu-source/sys
umount ./ubuntu-source/proc
umount ./ubuntu-source/dev


Теперь надо сгенерировать список файлов, имеющихся в обновленном образе Ubuntu. Для этого наберите следующую команду-монстр:


chroot ubuntu-source dpkg-query -W --showformat='${Package} ${Version}\n' | grep -v deinstall> ubuntu-rebuild/casper/filesystem.manifest

Необходимо также сказать установщику Ubuntu, когда он запустится, чтоб игнорировал определенные пакеты. Например, после инсталляции иконка "Установить Ubuntu" на рабочем столе вам уже ни к чему! Итак, пробежимся по списку инсталлируемых файлов (при помощи sed) и удалим компоненты исключительно для Live CD:

cat > /tmp/sedscript << END
/casper/d
/libdebian-installer4/d
/os-prober/d
/ubiquity/d
/ubuntu-live/d
/user-setup/d
END
sed -f /tmp/sedscript < ubuntu-rebuild/casper/filesystem.manifest-desktop

Сконфигурируем зону времени

dpkg-reconfigure tzdata

Быстрая русификация

locale-gen ru_RU.utf8
update-locale LANG=ru_RU.utf8 LANGUAGE=ru_RU.utf8 LC_ALL=ru_RU.utf8

Сделаем русский язык выбранным по умолчанию (в меню)

sudo aptitude install dpkg-dev uck
apt-get source gfxboot-theme-ubuntu gfxboot
cd gfxboot-theme-ubuntu*/
make DEFAULT_LANG=ru
sudo cp -af boot/* ../ubuntu-rebuild/isolinux/

6. Зачитска

Теперь удалим ненужные и временные конфигурационные файлы

rm ubuntu-source/etc/resolv.conf
rm ubuntu-source/var/lib/dbus/machine-id

и скопируем обновленные ядра в casper

sudo cp ubuntu-source/boot/vmlinuz-2.6.15-26-k7 ubuntu-rebuild/casper/vmlinuz
sudo cp ubuntu-source/boot/initrd.img-2.6.15-26-k7 ubuntu-rebuild/casper/initrd.lz

7. Ремастеринг

Теперь нам нужно пересобрать образ файловой системы SquashFS - это займет до получаса...

mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -noappend

Далее обновим контрольную сумму MD5 для подтверждения целостности диска:

cd ubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
cd ..

И наконец, команда mkisofs создаст нам сияюще-новый ISO-образ:

mkisofs --iso-level 4 -r -V "My Modified Ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -o newubuntu.iso ubuntu-rebuild

Если все прошло "на ура", то вы теперь имеете файл newubuntu.iso, который можно прожечь на CD-R (или, если он больше 700 МБ, на DVD). Но помните, что если образ больше 2 ГБ, у вас будут проблемы с запуском.


Статья написана по материалам журнала LinuxFormat Октябрь 2007.


дополнительно

openoffice.org-l10n-en-gb gnome-user-guide-en openoffice.org-help-en-gb openoffice.org-l10n-en-za openoffice.org-hyphenation openoffice.org-hyphenation-en-us openoffice.org-thesaurus-en-au openoffice.org-thesaurus-en-us language-pack-ru openoffice.org-l10n-ru openoffice.org-help-ru language-pack-gnome-ru gnome-user-guide-ru language-support-writing-ru language-pack-ru openoffice.org-thesaurus-ru language-pack-kde-ru aspell-ru kde-l10n-ru gimp-help-ru kde-l10n-engb gimp-help-en language-pack-kde-en