В предыдущем посте я рассказал о том как создать систему на основе лайв сиди на флэшке. В этом речь пойдет о создании .iso образа системы, уже содержащей новые версии необходимых пакетов и исключающей не нужные, который для этой флэшки можно будет использовать. Например OpenOffice мне на ней не нужен, а вот апач сервер позарез, ну и так далее(его конечно можно будет установить и потом, но куда удобнее когда он уже установленный содержится в исходном .iso). Полученный образ можно будет закатать на флэшку или DVD болванку, т.к. весить он будет под 800 Мб(на CD увеличенного объема тоже влезет). Ну и естественно система, установленная с этого образа будет содержать все обновления и настройки, пакеты, которые вы сейчас установите и не будет в ней тех, что вы удалите.
Здесь мы получим образ 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, чтобы иметь доступ к сети в создаваемой системе:
Теперь сменим рут системы на ~/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 выходим из редактора
Полученный образ можно записать на болванку либо на флэшку.
Рассмотренный способ открывает широкие возможности для модифицирования системы перед использованием/установкой. Но можно воспользоваться более простым, но менее гибким способом инструментом Ubuntu Customization Kit