Anymous | Дата: Воскресенье, 08.09.2013, 01:04 | Сообщение # 1 |
|
Сообщений: 863 |
Репутация: 53 ± |
Награды: 24 +
|
|
|
Вам никогда не хотелось собрать свой собственный дистрибутив? Это вполне возможно. В частности есть такие сервисы как Ubuntu Customization Kit (UCK) http://uck.sourceforge.net/ и Ubuntu Reconstructor (UR) http://www.reconstructor.org/wiki/reconstructor/. Я о них уже рассказывал на странице этого блога. А сегодня я хочу познакомить вас со способом сборки дистрибутива, описанным уважаемым NeonLight_Child и опубликованным здесь.
Мне очень понравился один нюанс – использование VirtualBox для создания собственного дистрибутива. Я приведу несколько подредактированную редакцию данного Howto. Кстати, Zakaz-Buketa.ru — лучший цветочный магазин, где вам предложат не только приличный букет, но еще и быструю доставку. Для создания нашего дистрибутива, скорее всего, нам понадобятся: 1) комп с линухом и инетом, с установленной и настроенной виртуальной машиной (я использовал virtualbox версии 3.0 и выше), программа isomaster или аналогичная; 2) базовый iso образ дистрибутива, на основе которого мы будем создавать собственную сборку, желательно livecd. 3) usb флешка или внешний хард или шара – все, что угодно для связи с внутренностями виртуальной машины. Итак, создаем нашу виртуальную машину. Для нее создаем виртуальный жесткий диск с размером, примерно в 2 раза больше требуемого места для установки базовой системы. Грузим виртуальную машину с базового iso образа и устанавливаем систему на виртуальный жесткий диск. Опять же, если мы используем в качестве базового имиджа ubuntu alternate install cd – мы можем установить систему без графического окружения. Выбрать этот тип установки можно в начальном меню до загрузки системы из образа, кажется, нажав f4. Т. о., уже при установке можно избавиться от гнома, сплешей, пулься, и прочего мусора. Графическое окружение, в последствии, “натягиваем сами” из консоли. Я не буду рассказывать о том, как тюнинговать и «кастомизировать» вашу новую систему. Цель этой статьи не в этом. Предполагается, что Вы и сами можете это сделать. Будем считать, что наша система готова для превращения в сборку, а именно: установлено нужное нам ПО, добавлены необходимые репы, подкручены конфиги, сделано новое оформление и т.д.. Теперь, если в качестве базового дистрибутива использовались debian или ubuntu (или другой debian based) – смело идем на http://www.geekconnection.org/remastersys/remastersystool.html Подключаем от туда реп и устанавливаем remastersys (напоминаю, что все действия проходят внутри виртуалки). Для ленивых: -если сборка происходит на основе debian(стырено сайта программы): Показать Where can I get remastersys? The Remastersys repository needs to be added to your /etc/apt/sources.list Paste the following into the sources.list: # Remastersys deb http://www.geekconnection.org/remastersys/repository debian/ - если сборка происходит на основе ubuntu (стырено сайта программы): Показать Where can I get remastersys? The Remastersys repository needs to be added to your /etc/apt/sources.list Paste the following into the sources.list: For Gutsy and Earlier – up to version 2.0.11-1 # Remastersys deb http://www.geekconnection.org/remastersys/repository remastersys/ For Hardy and Newer with original grub – version 2.0.12-1 and up # Remastersys deb http://www.geekconnection.org/remastersys/repository ubuntu/ For Karmic and Newer with grub2 – version 2.0.13-1 and up # Remastersys deb http://www.geekconnection.org/remastersys/repository karmic/ Далее, используя Synaptic или в консоли, выполняем: 1) обновление списка пакетов: 2) установка remastersys: sudo apt-get install remastersys Загружаем remastersys от рута: Тыкаем кнопочку ok. Если хочется посмотреть/поправить параметры будущего дистрибутива выбираем modify. В главном меню есть и другие опции, но нас интересует лишь первая строчка для создания iso образа нашей ЖИВОЙ сборки – тыкаем backup. Загружается терминал и начинается процесс сборки. Можно успеть пойти попить кофе – процесс сборки не быстрый. По окончанию сборки, готовый файл будет лежать по дефолту (если в modify не творилось никаких изменений) в /home/remastersys/custom.iso. Этот iso и есть наша цель. Его теперь можно залить на болванку или на флешку или поделиться им с друзьями =) Но, с начало его нужно извлечь из виртуалки. Я извлекал при помощи внешнего жесткого диска. Но, это опять же – кому как нравится. Далее, после извлечения iso, в виртуалке стираем /home/remastersys или выбираем пункт clean в меню remastersys для тех же целей. Перед сборкой iso в remastersys, я отключал виртуальную машину от сети – remastersys постоянно пытался скачать и установить metacity. Но т.к. я задался целью собрать легенький дистрибутив – у меня используется open box. Если собирать систему на базе arch linux, есть программа аналогичная remastersys – larch (http://larch.berlios.de/). Правда у нас с ней что-то “не сложилось”. В итоге, плюнул я на нее. И, погуглив, нашел еще один очень неплохой способ создания своих сборок, причем независящий от базового дистрибутива: http://citkit.ru/articles/1228/ В этом примере, в качестве базового дистрибутива используется mandriva linux. Также, надо учесть, что «…для пересборки LiveCD потребуются утилиты readcd, mkisofs и cdrecord из пакета Cdrtools, а также mksquashfs из пакета squashfs-tools. Вместо Cdrtools можно так же использовать пакет Cdrkit…». Если в вкратце, то, как правило, все livecd, независимо от дистрибутива, состоят из сохраненного в squash (сквош) архив образа системы и обертки ее загрузчика. Почитать что такое сквош и с чем его едят можно, например, здесь http://mydebianblog.blogspot.com/2006/08/squashfs.html. Файл сквош образа может иметь расширение sqf или sqfs – не важно, обычно это сааамый «толстый» файл в базовом iso образе. Способ заключается в замене этого файла своим. Для замены можно использовать isomaster, но опять же – это кому как нравится=)) Т.к. у меня в виртуалке стоит лишь “не допиленный” арч, я решил попробовать сделать сборку из него. Скажу сразу, сборка заработала в загрузочной обертке от archbang, а не от base core версии арча. Итак, главной задачей для создания собственной сборки, становится создание собственного сквош файла (напомню, что все действия мы проводим внутри виртуальной машины). Для этого: 1) Включаем консоль и ползем в корень файловой системы / Код [neon@HVOST ~]$ cd .. [neon@HVOST home]$ cd .. [neon@HVOST /]$ dir bin dev home lost+found opt root srv tmp var boot etc lib media proc sbin sys usr 2) Создаем папку для монтирования, всей системы (так и не понял зачем это нужно, но если систему не монтировать, создание сквош файла у меня затыкалось на 30%), например hren. Код sudo mkdir /media/hren/ Монтируем туда файловую систему и переходим в эту папку Код sudo mount -o bind / /media/hren/ cd /media/hren 3) Создаем в корне наш сквош файл, исключая его самого и всякий мусор в виде /tmp/*, возвращаемся в корень Код sudo mksquashfs /media/hren/ hren.sqfs -e hren.sqfs /tmp/* cd / 4) Отмонтируем корневую систему обратно Код sudo umount /media/hren/ В принципе, все. Если вы уверены, что в системе ничего править больше не нужно, то следующие шаги 5 и 6 можно пропустить. 5) Подмонтируем для проверки и “ковыряния” созданный hren.sqfs файл с образом системы (такой файл монтируется только на чтение, т.е. read only (ro)) Код sudo mount hren.sqfs -o loop -t squashfs /media/hren/ Сделаем ее доступной для записи. Сначала, создадим временную перезаписываемую (rewrite (rw)) область в памяти: Цитата sudo mkdir /media/tmp_sqfs/ sudo mount -t tmpfs none /media/tmp_sqfs/ Теперь, объединим файловые системы tmpfs (rw) и squashfs (ro) при помощи файловой системы unionfs (aufs) в единое целое: Код sudo mkdir /media/union_sqfs/ sudo mount -o dirs=media/tmp_sqfs=rw:/media/hren=ro -t aufs aufs /media/union_sqfs/ [neon@HVOST /]$ ls /media/union_sqfs bin dev home lost+found opt root srv tmp var boot etc lib media proc sbin sys usr [neon@HVOST /]$ mount | grep union_sqfs aufs on /media/union_sqfs type aufs (rw,relatime,si=134837c1) Обращаю внимание, что теперь в папке /media/union_sqfs наша система подмонтирована как rw, т.е. теперь ее можно доковырять, например, подправить конфиги или потереть лишний мусор. Причем, система смонтирована в оперативной памяти. 6) Итак, допустим мы внесли все необходимые коррективы в наш будущий дистрибутив. Теперь, надо пересобрать сквош-образ с учетом всех сделанных изменений, ведь все они пока хранятся в памяти! Идем в корень / и пересобираем образ: Код cd / sudo mksquashfs /media/union_sqfs/ hren_new.sqfs В итоге, в корне получаем новый сквош файл hren_new.sqfs, который вытаскиваем из виртуалки, переименовываем, и при помощи isomaster (или аналогичной программой) вставляем в базовый iso, ВЗАМЕН существующего. Сохраняем новый iso. Все, собственная сборка готова. За бортом осталось то, как к всему этому хозяйству прикрутить инсталлятор =))
Как создать скриншот? | Как создать лог файл HijackThis? Причины, по которым может тормозить компьютер | Правила сайта!
|
|
| |