Здесь мы получим образ buntu, который будет содержать:
- Все обновления пакетов
- Дополнительные репозитории
- Поддержку проигрывания mp3, divx, DVD
- Флэш плагин
- если Вам еще чего то не достает(Amarok, Skype и т.д.) вы без труда добавите это
1. Подготовка
В начале получим права супер пользователя sudo su
Нам понадобится .iso образ, на основе которого мы будем создавать свой.
Еще нам нужны будут дополнительные пакеты для создания образа, установим их:
apt-get install squashfs-tools chroot
Теперь создадим папку и монтируем туда имеющийся .iso образ:
mkdir /media/ubuntu_iso
mount -o loop ubuntu-7.10-desktop-i386.iso /media/ubuntu_iso
Создадим директорию содержащую наш будущий образ и скопируем в нее все содержимое iso'шника, окромя casper/filesystem.squashfs :
mkdir ~/livecd
mkdir ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /media/ubuntu_iso/ ~/livecd/cd
Файл filesystem.squashfs содержит файловую систему лайв сиди в сжатом виде. Мотриуем его, в папку ~/livecd/squashfs и скопируем ее содержимое в папку ~/livecd/custom :
mkdir ~/livecd/squashfs
mkdir ~/livecd/custom
modprobe squashfs
mount -t squashfs -o loop /media/ubuntu_iso/casper/filesystem.squashfs ~/livecd/squashfs/
cp -a ~/livecd/squashfs/* ~/livecd/custom
И наконец скопируем /etc/resolv.conf и /etc/hosts в ~/livecd/custom/etc, чтобы иметь доступ к сети в создаваемой системе:
cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/
2. Доступ к настраиваемой системе
Теперь сменим рут системы на ~/livecd/custom и примонтируем необходимые нам proc и sysfs, еще зададим переменную окружения HOME значением /root
chroot ~/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root
Таким образом все выполняемые отныне команды будут выполняться для подопытной настраиваемой системы.
3. Удаление ненужных пакетов
Что бы удалить ненужный пакеты наберите:
apt-get remove --purge имя_удаляемого_пакета
Что бы просмотреть установленные пакеты выполните
dpkg-query -W --showformat='${Package}\n' | less
4. Обновление системы
Сначала добавим новые репозитории в /etc/apt/sources.list
выполните
nano /etc/apt/sources.list
откроется консольный текстовый редактор
замените содержимое открытого файла на следующее:
deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu gutsy partner
deb-src http://archive.canonical.com/ubuntu gutsy partner
Ctrl+O для сохранения изменений
Ctrl+X выходим из редактора
теперь можно систему обновить:
apt-get update
apt-get dist-upgrade
5. Установка новых пакетов
новые пакеты устанавливаются командой
apt-get install имя_устанавливаемого_пакета
Установим поддержку проигрывания mp3, divx, DVD
apt-get install gstreamer0.10-ffmpeg gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse vlc mplayer mplayer-fonts
/usr/share/doc/libdvdread3/install-css.sh
Теперь установим поддержку rar архивов
apt-get install rar unrar
Далее по списку — установка флэш плагина и плагина проигрывания мультимедии для Firefox'a
apt-get install flashplugin-nonfree mozilla-plugin-vlc
6. Очистка от ненужных файлов
В процессе установки накопилось немного мусора. Удалим его:
apt-get clean — очистка кэша установленных пакетов
rm -rf /tmp/* — очистка временной папки
rm -f /etc/hosts /etc/resolv.conf — удаляем скопированные ранее файлы для работы с сетью
Отмонтируем /proc /sys и выйдем из рута настраиваемой системы:
umount /proc/
umount /sys/
exit
7. Создание нового ISO образа
Пересоздадим список установленных в системе пакетов
chmod +w ~/livecd/cd/casper/filesystem.manifest
chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop
И перегенерируем файловую систему squashfs
mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs
пересоздадим файл содержащий хэши для проверки целостности данных md5sum.txt
sudo -s
rm ~/livecd/cd/md5sum.txt
(cd ~/livecd/cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
И наконец сделаем iso образ, созданной операционки
cd ~/livecd/cd
mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/Ubuntu-Live-7.10-custom.iso ./
Полученный образ можно записать на болванку либо на флэшку.
Рассмотренный способ открывает широкие возможности для модифицирования системы перед использованием/установкой. Но можно воспользоваться более простым, но менее гибким способом инструментом Ubuntu Customization Kit