Форум сообщества Runtu.org
Сентябрь 19, 2018, 10:38:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Новости: Доступна для загрузки х64 версия дистрибутива Runtu LITE 18.04.1 - 20180801

Подробнее
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 3 4 5 6 7 8 9 10 »  Все   Вниз
  Печать  
Автор Тема: Создание live-cd Ubuntu  (Прочитано 69411 раз)
0 Пользователей и 1 Гость смотрят эту тему.
VolVik
Новичок
**
Offline Offline

Сообщений: 26


Удача терпеливых любит!!!


WWW
« : Декабрь 13, 2010, 16:08:26 »

Здравствуйте, уважаемые пользователи!
Совершенно случайно наткнулся в своих закромах на руководство, по которому был пересобран мой первый исошник.
Кое-что взято из журнала Linux Format, что-то почерпнуто в просторах интернета. Решил поделиться (на старом форуме тоже выкладывал). Возможно, кому-нибудь пригодится.

Получение ISO-файла                                                  
Для пересборки Ubuntu нужен образ Десктоп СД (live-cd, а не Alternate CD на базе командной строки). Скачать последнюю стабильную версию можно с http://relaeses.ubuntu.com . Скачиваем образ ubuntu-x.xx-desktop-i386.iso в домашнюю директорию и переименовываем в feisty.iso.

Монтирование образа
Образ CD нужно подмонтировать к файловой системе. Открываем терминал, переключаемся на администратора ( sudo bash), вводим следующее:
Код:
mkdir /mnt/loop
Код:
mount -o loop feisty.iso /mnt/loop

Теперь содержимое feisty.iso доступно в /mnt/loop. Нам надо скопировать его в нашу файловую систему, создаём директорию и копируем всё содержимое, вот так:
Код:
mkdir ubuntu-rebuild
Код:
rsync -ax /mnt/loop/. ubuntu-rebuild
После этого директория ubuntu-rebuild будет содержать файлы диска. Теперь можно отмонтировать iso-образ ( umount /mnt/loop ).

Подготовка
Теперь необходимо распаковать сжатую файловую систему с CD Ubuntu; для этого используем SquashFS, представленной в Ubuntu в пакете squashfs; также нужно установить squashfs-tools. Сжатая файловая система подмотируется так:
Код:
mount ubuntu-rebuild/casper/filesystem.squashfs /mnt/loop -t squashfs -o loop
Теперь в /mnt/loop находится содержимое сжатой файловой системы Ubuntu — той, что используется, когда Вы загружаетесь в режиме LiveCD. Копируем её в новый каталог нашей домашней директории:
Код:
mkdir ubuntu-source
Код:
rsync -av /mnt/loop/. ubuntu-source
Код:
umount /mnt/loop

Изменение пакетов
Теперь всё на своих местах. Переключаемся на файлы дистрибутива, как будто именно его мы и запустили. За это надо сказать спасибо маленькому инструменту chroot. он меняет восприятие корневой файловой системы, и можно «притвориться»,  что мы находимся в другом дистрибутиве. Вводим следующие команды — первая настраивает сетевое соединение внутри файловой системы Ubuntu:
Код:
cp /etc/resolv.conf ubuntu-source/etc/
Код:
chroot ubuntu-source

Теперь мы находимся внутри каталога ubuntu-source, как если бы он был корневым (/). Мы запустили тот же дистрибутив, который идёт на LiveCD, но теперь его можно изменять! С помощью apt-get можно добавлять и удалять пакеты — например:
Код:
apt-get install abiword
добавит приложение AbiWord, а для удаления используем команду:
Код:
sudo apt-get -y remove abiword

Обновление
Закончив, набираем exit, чтобы выйти из файловой системы Ubuntu и вернуться в свой обычный дистрибутив. Теперь надо сгенерировать список файлов, имеющихся в обновленном образе Ubuntu. Для этого набираем следующую команду-монстр:
Код:
chroot ubuntu-source dpkg-query -W --showformat=`${Version}` | grep -v deinstall > ubuntu-rebuild/casper/filesystem.manifest
Необходимо также сказать установщику Ubuntu, когда он запустится, чтоб игнорировал определённые пакеты. Например, после инсталяции иконка «Установить» на рабочем столе уже ни к чему. Итак, пробежимся по списку инсталируемых файлов ( при помощи sed ) и удалим компоненты исключительно для LiveCD:
Код:
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 > ubuntu-rebuild/casper/filesystem.manifest-desktop

Ремастеринг
Теперь нам надо пересобрать образ файловой системы SquashFS -- это займёт до получаса....
Код:
mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -noappend

 Далее обновим контрольную сумму md5 для подтверждения целостности диска:
Код:
(cd ubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

И наконец, команда 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 newbuntu-1.iso ubuntu-rebuild

Если всё прошло удачно, то мы имеем файл newbuntu-1.iso, который можно прожечь на CD-R, DVD-R (если он больше 700Мб).


Записан

Я мало пишу, но темы читаю! Улыбающийся
SPO
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« Ответ #1 : Сентябрь 21, 2011, 20:34:10 »

Собрал собственную сборку по этому описанию на основе Runtu LITE 10.04. 201107.
Выполнял такие действия:
Код:
aptitude install rsync
aptitude install squashfs-tools

mkdir /mnt/loop
mount -o loop feisty.iso /mnt/loop
mkdir ubuntu-rebuild
rsync -ax /mnt/loop/. ubuntu-rebuild
umount /mnt/loop
mount ubuntu-rebuild/casper/filesystem.squashfs /mnt/loop -t squashfs -o loop
mkdir ubuntu-source
rsync -av /mnt/loop/. ubuntu-source
umount /mnt/loop
cp /etc/resolv.conf ubuntu-source/etc/

Код:
cp /etc/apt/apt.conf ubuntu-source/etc/apt/

chroot ubuntu-source

apt-get update
apt-get upgrade
apt-get clean

rm /var/cache/apt/archives/lock
rm /var/cache/debconf/config.dat-old
rm /var/cache/debconf/templates.dat-old
mv /etc/apt/apt.conf /etc/apt/apt-.conf

dpkg -l > filesystem.manifest
exit
mv ubuntu-source/filesystem.manifest ubuntu-rebuild/casper/filesystem.manifest

mksquashfs ubuntu-source/ ubuntu-rebuild/casper/filesystem.squashfs -noappend
cd ubuntu-rebuild && find . -type f -print0 | xargs -0 md5sum > md5sum.txt
cd ..
mkisofs -r -V "Runtu Lite 2010.0 Alpha1" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o runtu-lite-2010.0-alpha1-prof1983.iso ubuntu-rebuild

Еще в профиль на диске (/home/runtu/) внес некоторые свои конфигурационные файлы:
/home/runtu/.config/lxpanel/
/home/runtu/.config/midori/
/home/runtu/.config/ob-autostart/
/home/runtu/.config/openbox/

Содержимое /home/runtu/.config/ob-autostart/config
Код:
# OB_Autostart config
# coding: utf-8
LAUNCH_LIST = [
("Звук приветствия","aplay /usr/share/sounds/login.wav","0","*"),
("xset-kb","xset r rate 210 35","3","*"),
("xset-mouse","xset m 120","4","*"),
("Визуальные эффекты","xcompmgr-runtu --startstop","1",""),
("Менеджер буфера обмена","parcellite","2",""),
("Отключить затемнение монитора","xset s off; xset -dpms","0","*"),
("Активировать Ctrl+Alt+BkSpace","setxkbmap -option terminate:ctrl_alt_bksp","0",""),
]

Обновлений закачалось аж на 90 с лишним MiB.
Размер .iso получился 412 MiB. Оригинал занимает около 371 MiB.
Записан

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« Ответ #2 : Сентябрь 25, 2011, 20:25:52 »

Сделал очередную пересборку с обновлением и немного измененными конфигурациями.
В сборке сделал обновление пакетов до 25.09.2011, обновил ядро с 2.6.32-33 -> 2.6.32-34.
Есть по крайней мере одна проблема: при попытке в Настройках панели lxpanel -> Внешний вид -> Шрифт -> При нажатии на CheckBox панель выпадает (то есть завершает работу). Если запустить из консоли lxpanel, то при выпадании выводит сообщение с ошибкой (уже не помню что именно). В какую сторону нужно копать, чтобы победить этот баг?

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

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
Alopex
Постоялец
***
Offline Offline

Сообщений: 159


зима близко...


« Ответ #3 : Сентябрь 25, 2011, 20:44:35 »

Обновлений закачалось аж на 90 с лишним MiB.
Размер .iso получился 412 MiB. Оригинал занимает около 371 MiB.
удали всё из /var/cache/apt/archives/ кроме папки /partial
Записан

сферический саппорт в информационном вакууме
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« Ответ #4 : Сентябрь 27, 2011, 17:12:06 »

удали всё из /var/cache/apt/archives/ кроме папки /partial
Да. Я это сделал в последней версии.

Вот в этой теме (Пересборка Runtu LiveCD) нашел еще кое что:
Это руководства по созданию дистрибутивов на основе Ubuntu, правда на английском.

Пользователь решил продолжить мысль: Сентябрь 27, 2011, 17:22:33
Еще тут (Установка nautilius) FSnow писал:
1. Из контекстного меню раб. стола вызывается утилита gnome-appearance-properties из пакета gnome-control-center. В Runtu LXDE и Runtu Lite этот пакет не установлен, т.к. тянет за собой много лишнего. Если будет время, то напишу ему замену.
В связи с этим у меня возник вопрос: можно ли сделать обрезанный пакет аналогичный gnome-control-center, но без сервиса gnome-settings-daemon? То есть, чтобы утилитки просто взаимодействовали с X.org или прописывали нужные парамеры в соответсвующие конфиги.

Лично мне сейчас не хватает трех графических утилит:
1. Для настройки шрифтов;
2. Для настройки задержки клавиатуры;
3. Для настройки яркости монитора по умолчанию при загрузке (а то сейчас приходится каждый раз убавлять).
« Последнее редактирование: Сентябрь 27, 2011, 17:22:33 от prof1983 » Записан

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
butjapka
Местный
*****
Offline Offline

Сообщений: 1089


Компьютер думает так, как думает его хозяин.


« Ответ #5 : Сентябрь 30, 2011, 06:28:25 »

Прикладываю файл с "скриптами" которые я выполнял. Вернее выполнял я действия копируя команды в ручную,
но скрипт теоретически должен сработать.
Не знаю, делали вы или нет операции с apt, чтоб иметь возможность
установить все имеющиеся пакеты на новую систему
Код:
Более низкоуровневые утилиты управления deb-пакетами
(такие, как dselect и dpkg) ведут специальный список состояний
пакетов, который может использоваться для управления тем,
какие пакеты должны быть установлены или удалены в пакетном
режиме (именно так работает связка dselect+dpkg). Его же можно
использовать для многих других целей, например, переноса конфигурации
системы на другую машину. Выполни следующую команду:

$ dpkg --get-selections > file

Перенеси файл на другую машину и выполни на ней две команды:
# cat file > dpkg --set-selections
# apt-get dselect-upgrade

В систему будут добавлены все пакеты системы-источника. Чтобы файл
состояний пакетов также содержал информацию о том, какие пакеты
следует удалить из системы, добавь символ «\*» после аргумента '--get-selections'.
Список состояний не содержит версии пакетов, это можно использовать после
установки более новой версии дистрибутива для приведения его к требуемому
состоянию.
источник
Записан
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« Ответ #6 : Сентябрь 30, 2011, 15:01:43 »

Такой команды не знал. Позже может быть попробую.

Однако, хочу заметить, что сборка дистрибутива, на сколько я понимаю, - это не только установка пакетов из репозитория, но и добавление/замена файлов конфигураций, картинок, иконок и т.д. и т.п. А так же добавление программок которых нет в репозиториях, всякие исправления (патчи, блокировка от обновления) и т.п.

Пользователь решил продолжить мысль: Сентябрь 30, 2011, 15:06:59
Кстати, есть соседняя тема: Выгрузить список установленных пакетов
« Последнее редактирование: Сентябрь 30, 2011, 15:06:59 от prof1983 » Записан

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
Пользователь.
Местный
*****
Offline Offline

Сообщений: 3313


« Ответ #7 : Сентябрь 30, 2011, 15:13:00 »

Лично мне сейчас не хватает трех графических утилит:
1. Для настройки шрифтов;
2. Для настройки задержки клавиатуры;
3. Для настройки яркости монитора по умолчанию при загрузке (а то сейчас приходится каждый раз убавлять).
шрифты рабочего стола в гконфе у наутилуса в десктоп
шрифты опенбокса в обконфе
шрифты внутри окон в лксаппеаренсе
остальные параметры только в текстовых конфигурационных файлах



Пользователь решил продолжить мысль: Сентябрь 30, 2011, 15:15:50
Однако, хочу заметить, что сборка дистрибутива, на сколько я понимаю, - это не только установка пакетов из репозитория, но и добавление/замена файлов конфигураций, картинок, иконок и т.д. и т.п. А так же добавление программок которых нет в репозиториях, всякие исправления (патчи, блокировка от обновления) и т.п.

эти патчи и оформлялки правильнее в деб пакеты паковать и потом устанавливать из пакетов, тогда они будут отображаться в синаптике как положено

у минта так
« Последнее редактирование: Сентябрь 30, 2011, 15:15:50 от Пользователь. » Записан
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« Ответ #8 : Октябрь 01, 2011, 19:40:54 »

шрифты рабочего стола в гконфе у наутилуса в десктоп
шрифты опенбокса в обконфе
шрифты внутри окон в лксаппеаренсе
...
В этих настройках/конфигах можно указать в основном только название и размер шрифта. А вот графической программки настройки размытости и сглаживания в Runtu LITE нет. Нужно попробовать как-то на досуге выдернуть из пакета gnome-control-center программку настройки шрифта и необходимые библиотеки, но без gnome-settings-daemon.

Пользователь решил продолжить мысль: Октябрь 01, 2011, 19:44:31
Вот тут обнаружил тему, в которой обсуждалась сборка от Alopex и lillgrinn: Как сделать сборку самому.
На сколько я понял, результат можно посмотреть здесь: сборка на основе ubuntu 11.04 с gnome (БЕЗ unity).
« Последнее редактирование: Октябрь 01, 2011, 19:59:07 от prof1983 » Записан

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
Sash0k
Прохожий
*
Offline Offline

Сообщений: 2


« Ответ #9 : Октябрь 21, 2011, 07:42:24 »

Возникла необходимость сделать пару специфичных сборок на базе GNU/Linux для нужд одного предприятия.
Выбрал Runtu LITE 10.04 - 201107 (выбирал между ней и Debian 6). Качество сборок у Сергея отличное, система с марта работает на сервере и рабочем компьютере, нареканий не вызывала.

При пересборке выявилась следующая проблема: после распаковки оригинального squashfs вот этим файлам
Цитировать
/usr/bin/fswallpaper
/var/lib/dpkg/info/fswallpaper.postinst
/var/lib/dpkg/info/fswallpaper.postrm
/usr/share/pixmaps/ob-autostart.png
/usr/share/applications/ob-autostart.desktop
/usr/share/sounds/login.wav
присваивается текущий пользователь и группа основной системы (uid>999), поэтому после пересборки squashfs неработоспособен.
Для решения проблемы можно сделать sudo chown root и sudo chgrp root для каждого файла из списка.

Сделал скрипт, автоматизирующий пересборку образа, если кому-то будет нужен - во вложении.
Пользоваться так: sudo ./iso-rebuild.sh image.iso
Попадаем в чрут образа, делаем необходимые изменения, выходим командой exit
Пересобранный образ собирается и кладется рядом с оригинальным.
Записан
Alopex
Постоялец
***
Offline Offline

Сообщений: 159


зима близко...


« Ответ #10 : Октябрь 21, 2011, 12:43:53 »

а заниматься под рутом (всмысле не судо, а сперва в терминале получить права рута а потом  всё остальное.) не пробовали? тогда не слетят права.
судо баш пред испольованием проблему  не решает, мс например всё равно ищет мою домашнюю папку.
 в остальном скрипт отрабатывает без косяков. спасибо, будем пользоваться
« Последнее редактирование: Октябрь 21, 2011, 13:19:42 от Alopex » Записан

сферический саппорт в информационном вакууме
nik_user
Новичок
**
Offline Offline

Сообщений: 69


« Ответ #11 : Ноябрь 25, 2011, 20:23:43 »

а как изменить иконки, внешний вид рабочего стола, картинку на рабочем столе и т.п.
Записан

читаю - записки на память http://nikmy.ru
Alopex
Постоялец
***
Offline Offline

Сообщений: 159


зима близко...


« Ответ #12 : Ноябрь 26, 2011, 03:40:00 »

а как изменить иконки, внешний вид рабочего стола, картинку на рабочем столе и т.п.
через конфиги, или на чистом профиле всё настроить и скопировать его в сборку.
Записан

сферический саппорт в информационном вакууме
nik_user
Новичок
**
Offline Offline

Сообщений: 69


« Ответ #13 : Ноябрь 26, 2011, 08:34:03 »

а как изменить иконки, внешний вид рабочего стола, картинку на рабочем столе и т.п.
через конфиги, или на чистом профиле всё настроить и скопировать его в сборку.
если бы знал как, не спросил. Хочю собрать для своих нужд, т.к. хочется, т.к. в некоторых метсах нет инета, а GSM дорого и т.к. для рабочих компов, т.к. на работе трафик дорогой, уже все подготовить, а дома с этим проще т.е. все с инета
вот как с настроенной своей системы пренести, настроенную панель иконки, ... в точно таком же расположении и видом
« Последнее редактирование: Ноябрь 26, 2011, 10:04:07 от nik_user » Записан

читаю - записки на память http://nikmy.ru
HsH
Administrator
*****
Offline Offline

Сообщений: 2573



« Ответ #14 : Ноябрь 28, 2011, 11:13:51 »

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

   Скопируйте содержимое домашнего каталога в /etc/skel и измените владельца файлов на root.
Записан
Страниц: 1 2 3 4 5 6 7 8 9 10 »  Все   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Valid XHTML 1.0! Valid CSS!