ВВЕДЕНИЕ
Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.
Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.
Для создания сборки есть несколько инструментов. Мы будем говорить о Remastersys, который позволяет создать полноценную сборку даже не очень продвинутому пользователю.
Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.
1. УСТАНОВКА
Для установки Remastersys необходимо скачать и установить вручную , например, через программу gdebi, 2 пакета: remastersys_3.x-_all.deb и remastersys-gtk_3.x_all.deb
Актуальные ссылки на скачивание здесь (http://mkcdlinux.blogspot.ru/)
2. ПЕРВЫЕ ШАГИ
Запускаем Система => Администрирование => Remastersys (Я использую Мате 1.6. С другими рабочими столами расположение может отличаться). Видим вот такое окно:
Окно
(http://3.bp.blogspot.com/-9nRrpepggN0/UlqKU9-fDGI/AAAAAAAAABI/v9wGpNBTpE4/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-Remastersys.png)
Коротко об основных кнопках:
Backup - полная резервная копия установленной системы, включая пользовательские данные и настройки. Сохраняется полностью все файлы в домашних каталогах пользователей системы.
Dist - резервная копия только установленной системы, БЕЗ пользовательских данных. Самый оптимальный вариант для создания сборки системы. Создается структура загрузочного диска и образ диска(iso).
Distcdfs - то же, что и Dist, но создается структура загрузочного диска без создания образа диска(iso).
Distiso - создает образ диска(iso), при условии готовой структуры загрузочного диска. Применяется только после Dist или Distcdfs.
Очистить - очистить временную папку программы. Используется для очищения папки перед созданием нового образа.
Переходим во вкладку Settings:
Settings
(http://1.bp.blogspot.com/-KeviCRXZDeU/UlqcMF4VOAI/AAAAAAAAABc/0vYtvNoYeIM/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-Remastersys-1.png)
Здесь мы видим параметры нашей будущей сборки. Рассмотрим самое необходимое.
Username - имя пользователя по-умолчанию при входе в систему LiveCD.
CD Label - метка диска. Высвечивается название при загрузке диска в CD-привод. Ограничение 32 символа, учитывая пробелы.
Filename - имя файла созданного образа.
Остальное пока трогать не будем.
Итак зададим:
- Имя пользователя в строке Username, скажем, alex;
- Придумаем название нашей сборки и запишем в CD Label, допустим, AlexBuntu;
- В строке Filename запишем имя файла сборки, AlexBuntu-12.04-x32.iso.
Должно получится следующее:
следующее
(http://1.bp.blogspot.com/-T95LGKDzY6U/Ult9uaB849I/AAAAAAAAAFc/kpbH4RRDD-4/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-Remastersys-1.png)
Галочка в строке Show install icon on Backup mode desktop создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.
Теперь переходим на вкладку Actions:
Actions
(http://2.bp.blogspot.com/-x19L_WTcJxU/UlqfT5w4wpI/AAAAAAAAABw/TchemcDnP3U/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-Remastersys.png)
Нажимаем кнопку Dist. Появится окно:
окно
(http://3.bp.blogspot.com/-d5VUIt0rXuA/UmEI3tVufkI/AAAAAAAAAGU/x08W8JPLBoo/s1600/0_81622_3d643481_orig.png)
Жмём ОК. Появится окно:
окно
(http://3.bp.blogspot.com/-BQ5TaAa0dAA/Ulqfxz6w1FI/AAAAAAAAACA/727cBK1mg2U/s1600/0_81623_63beed63_orig.png)
Всё, теперь можете спокойно и не торопясь попить чай или кофе. Минут через 15 - 60 (всё зависит от мощности ПК) появится сообщение:
сообщение
(http://1.bp.blogspot.com/-gs0F_s84mxs/UmELXb96O3I/AAAAAAAAAGg/boBrp8YdQG8/s1600/0_81625_ca6be5f0_orig.png)
Поздравляю Вас с первой Вашей сборкой!
Файл сборки находится по адресу /home/remastersys/remastersys и имеет то имя, которое Вы дали своей сборке. В моем случае это файл AlexBuntu-12.04-x32.iso. В этой же папке есть еще текстовый файл контрольной суммы образа с расширением md5, в моем случае файл AlexBuntu-12.04-x32.iso.md5.
Теперь Вы можете записать свою сборку на диск и насладиться своим творением. Возможно при входе в систему с LiveCD придется ввести имя пользователя, которое было выбрано при создании образа, в моем случае это alex.
3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ
Многих устроят выше описанные главы. Если Вы всё еще читаете, то Вы действительно хотите познать все тонкости создания сборки, приближенной к профессиональной.
В первую очередь коснемся вкладки Settings и рассмотрим остальные нужные строки.
Working directory - рабочая папка программы. Вы можете ее переназначить в любое место и на любой раздел.
Ну и самая важная строчка настроек Squashfs options.
Remastersys использует для создания дистрибутива возможности SquashFS. Чтобы понять весь смысл данной строки предлагаю Вам рускоязычный блог (http://www.mintlinux.ru/blogs/zapiski-linuksoida/squashfs.html), в котором прекрасно изложен весь смысл этого мощнейшего инструмента.
После изучения всех возможностей добавим в нашу строчку Squashfs options следующие опции: -comp xz
Строчка должна иметь вид:
вид
(http://3.bp.blogspot.com/-Z5r50qDsW3w/UmfjM4SkIHI/AAAAAAAAAGw/bavflTjMPgA/s1600/0_8162c_1d47973b_orig.png)
Эта опция устанавливает алгоритм компрессии xz вместо gzip по-умолчанию, что сожмет нашу сборку примерно на 20-25% лучше.Эта опция доступна с версии squashfs 4.2 и, например, в Ubuntu 10.04 она не доступна. В версии Ubuntu 12.04 установлена нужная версия 4.2 squashfs.
Чтобы проверить, доступна ли эта опция, наберите в терминале mksquashfs. Если вы видите похожее на следующее:
mksquashfs
SYNTAX:mksquashfs source1 source2 ... dest [-e list of exclude
dirs/files]
Filesystem build options:
-comp <comp> select <comp> compression
Compressors available:
gzip (default)
lzo
xz
то всё в порядке и использовать опцию можно смело.
4. ЗАГРУЗОЧНОЕ МЕНЮ
По-умолчанию Remastersys создает загрузочное меню сборки довольно-таки скучное и однообразное. Одно только радует, что меню достаточно функциональное. Я долго искал простой способ включения своего меню без пересборки всего образа. Все дальнейшие действия не были задуманы авторами Remastersys и являются своего рода моими уловками и обходными способами, к которым я шел несколько месяцев различными экспериментами. Поэтому этот раздел не претендует на правильную инструкцию по Remstersys.
Итак. Вот такое загрузочное меню мы имеем в стандартной установке:
загрузочное меню
(http://1.bp.blogspot.com/-TK_K6QJVLJo/UlqhfeYeyDI/AAAAAAAAACY/gAw24w2NHb4/s1600/0_8178f_6f4606b6_orig.png)
Вот такое меню можно получить после некоторых манипуляций:
Вот такое меню
(http://2.bp.blogspot.com/-g38G14j_MBk/UlqmIrb1hLI/AAAAAAAAACk/4mc-HPn3XMw/s1600/0_81790_e2bbfccd_orig.png)
Такое загрузочное меню используется в одной из моих сборок. Как видим, картинка изменена и меню русифицировано. Кроме всего прочего я убрал название дистрибутива из меню и написал его в GIMPe яркими красками. Сейчас мы с Вами и займемся заменой картинки и русификацией меню. Для этого нам потребуется обратить внимание на содержимое файлов в папке /home/remastersys/remastersys:
содержимое файлов
(http://3.bp.blogspot.com/-JvGiSI0U_e8/Ulqm8IxQ8GI/AAAAAAAAACs/HfS_sihb2zs/s1600/0_81794_1cc4fbb8_orig.png)
Здесь нас интересует папка ISOTMP. В этой папке хранятся временные файлы программы Remastersys. Этим мы и воспользуемся. Переходим в эту папку:
папка ISOTMP
(http://3.bp.blogspot.com/-mW2vGJnRPzs/UlqnMaL2RFI/AAAAAAAAAC0/biEK23VThXk/s1600/0_81797_8218b941_orig.png)
Структура данной папки очень похожа на структуру образа диска. Не хватает только папки .disk. В папке isolinux хранятся файлы загрузочного меню. Заходим в нее:
isolinux
(http://2.bp.blogspot.com/-PcWu55sF4EM/UlqndKioBtI/AAAAAAAAAC8/ZtQTiWZfGSE/s1600/0_81798_ad8fc96c_orig.png)
Рассмотрим файлы загрузочного меню
splash.png - фоновое изображение. Размер изображения 640х480 точек на дюйм.
isolinux.cfg - конфигурационный файл загрузочного меню.
vesamenu.c32, isolinux.bin - системные файлы.
Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.
Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.
default vesamenu.c32
prompt 0
timeout 100
font cyr_a8x16.psf
# Фон загрузочного меню
menu background splash.png
# Цвет имеет первые два регистра прозрачности значение от 0 (прозрачно) до 255 (непрозрачно) в HEX.
# Остальные 6 цифр цвет в режиме HEX (код цвета можно взять из GIMPa). Сначала пишется цвет букв, потом фона, потом 3 режима тени (none, std, all)
# Цвет заголовка
menu color title * #ff00923F #00000000 none
# Цвет оконтовки меню (бордюра)
menu color border * #00000000 #00000000 none
# Цвет выбранной строки меню
menu color sel * #7fffffff #00000000 none
# Цвет невыбранной строки меню
menu color unsel * #ffC4613B #00000000 none
# Цвет неактивной строки (отключенной но отображающейся на экране)
menu color disabled * #ffC4613B #00000000 none
# Цвет строки tabmsg расположенной под меню (с надписью Нажмите ENTER для загрузки или TAB для редактирования меню)
menu color tabmsg * #ffCC623E #00000000 none
# Цвет строки timeout (с надписью Автоматическая загрузка начнется через)
menu color timeout_msg * #ffCC623E #00000000 none
#Отступ с верху, строк
menu vshift 1
#Количество строк меню
menu rows 6
# Положение строки tabmsg
menu tabmsgrow 11
# Положение строки timeout
menu timeoutrow 12
menu AUTOBOOT Автоматическая загрузка начнется через # сек
menu tabmsg Нажмите ENTER для загрузки или TAB для редактирования меню
menu cmdlinerow 11
#Ширина меню, количество символов
menu width 80
#Отступ символов слева от края (как табуляция)
menu margin 12
#menu title Ubuntu 12.04 Desktop Mate 1.6
label live
# menu label live - boot the Live System
menu label Загрузить систему с LiveDVD диска
kernel /casper/vmlinuz
append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash --
label install
menu label Установить Ubuntu 12.04 LTS Mate 1.6
kernel /casper/vmlinuz
append file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
# Сделать строку меню не активной
# menu disable
label check
menu label Проверить диск на ошибки
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --
label memtest
menu label Проверить память
kernel /install/memtest
append -
label hd
menu label Загрузиться с первого жесткого диска
localboot 0x80
append -
Кодировка файла isolinux.cfg должна быть обязательно CP 866. Можно сохранять и редактировать в Cooledit (текстовый редактор Midnight Commandera), в OpenOffice и др. Взять мой отредактированный файл isolinux.cfg можно здесь (https://yadi.sk/d/DwLmqraWAomdc).
Кроме этого нужно положить в папку isolinux шрифты поддерживающие русский язык. Взять можно отсюда (https://yadi.sk/d/MOE6FYUDAofwW).
В папке должно получиться следующее:
должно получиться
(http://3.bp.blogspot.com/-MT7dkqdeIpM/Ulqp2ql0nfI/AAAAAAAAADI/8lXlcY3ZP9k/s1600/0_8179c_5f8d4ee3_orig.png)
Проверьте права доступа файлов должно быть следующее для всех 5 файлов:
должно быть следующее
(http://2.bp.blogspot.com/-Mg4ie7b9OAY/UlqqXlayH3I/AAAAAAAAADQ/s9zQ1ZK8l0s/s1600/0_8179d_dc5794fd_orig.png)
Теперь все приготовления закончены. Запускаем Remastersys:
Remastersys
(http://2.bp.blogspot.com/-x19L_WTcJxU/UlqfT5w4wpI/AAAAAAAAAB0/4rWGvdIIYII/s1600/%25D0%25A1%25D0%25BD%25D0%25B8%25D0%25BC%25D0%25BE%25D0%25BA-Remastersys.png)
Нажимаем кнопку Distiso. Процесс пересборки образа пойдет намного быстрее, всего 1 - 5 минут, потому что основные файлы системы пересобираться не будут. На выходе будут те же файлы образа и контрольной суммы, но уже с Вашим неповторимым красивым меню.
5. ОЧИСТКА СБОРКИ ОТ "ЛИШНЕГО"
Прежде всего уточню, что речь пойдет не об удалении приложений из сборки, а об удалении временных файлов из кэша, коих великое множество на сотни мегабайт.
Перед очисткой системы установите пакет ubiquity-frontend-gtk.
В первую очередь воспользуемся стандартными инструментами очистки системы. Открываем терминал и пишем:
sudo apt-get autoremove
sudo apt-get clean
Первая команда автоматически удалит все неиспользуемые пакеты.
Вторая команда удалит скачанные файлы пакетов в архиве.
Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров "Состояние"
Выбираем фильтр "Не установленные (остались файлы настроек)", выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню "отметить для полного удаления" и жмем "Применить".
Применить
(http://4.bp.blogspot.com/-_fvBKLJnsXo/Ul2mjQqoJzI/AAAAAAAAAF4/7MolSW-9cKY/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D0%9C%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80+%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2+Synaptic_1+.png)
Здесь же в этой группе фильтров удалите пакеты под фильтром "Установленные (авто удаляемые)"
Если фильтры "Не установленные (остались файлы настроек)" и "Установленные (авто удаляемые)" отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.
Следующий инструмент очистки - программа BleachBit из стандартного репозитория. Интерфейс программы на русском языке, очень доступен для понятия, что Вы будете делать. Также перед очисткой есть кнопка "Предпросмотр", которая покажет, что будет удаляться, и позволяет сделать изменения до удаления. Программа очень эффективно чистит систему от ненужных файлов , а также умеет удалять неиспользуемые языковые файлы. В моей сборке программа удалила около 300 МБ.
результат
(http://2.bp.blogspot.com/-kdJUWsG6Q2E/Ul2pfmHqSmI/AAAAAAAAAGE/PKH_0Bf00D4/s1600/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-BleachBit.png)
После удаления языковых файлов рекомендую переустановить пакет locales, иначе возникнут проблемы при установке языковых пакетов в сборке. Переустановка вернет лишь настройки локалей с возможностью установки других языков. Никаких языковых пакетов скачиваться не будет.
Следующим этапом будет очистка кэша программ. В корне системы есть папка /var. В ней программы оставляют свои временные файлы, нужные до поры до времени. Дальше я перечислю папки, в которых можно удалить все файлы, не причинив вреда системе, и тем самым уменьшить размер сборки.
С версии 3.06 и выше временные файлы удаляются автоматически.
/var/backups
/var/cache/apt/ - не удалять папку archives
/var/cache/apt/archives - не удалять папку partial и файл lock
/var/cache/apt-xapian-index
/var/cache/flashplugin-installer
/var/crash
/var/lib/apt/lists - не удалять папку partial и файл lock
/var/lib/update-notifer/ - не удалять папки package-data-downloads и user.d
/var/lib/update-notifer/package-data-downloads - не удалять папку partial и файл lock
/var/lib/update-notifer/user.d - удалять все файлы обязательно, иначе выдает окно ошибки
/var/tmp
Remastersys в начале установки копирует содержимое папки /var в свою временную папку /home/remastersys/remastersys/dummysys/var, откуда потом и включает в сборку файлы. Учитывая, что после копирования Remastersys проводит еще подготовительные операции, у нас есть примерно 5 минут удалить лишнее из папки /home/remastersys/remastersys/dummysys/var. Тем более, что даже, если мы удалили из папки /var/cache/apt файлы, они всё-равно создаются и копируются в папку /home/remastersys/remastersys/dummysys/var/cache/apt утяжеляя сборку.
В эти же 5 минут у Вас есть возможность почистить папку /root. В ней оставляйте только те файлы, которые есть в папке /etc/skel и папку Desktop.
6. СОВЕТЫ И РЕКОМЕНДАЦИИ
В этой главе описаны советы и рекомендации по созданию своей сборки, которые сложились у меня, как правила, после многочисленных опытов. Надеюсь, они Вам пригодятся в создании своих сборок.
- Настройки новых пользователей хранятся в папке /etc/skel. Если Вы хотите, чтобы все пользователи имели какие-то одинаковые настройки отличные от по-умолчанию(дефолтных), то копируйте нужные файлы из своей папки /home/[ваш логин входа в систему] в эту папку, не забывая менять права со своих на права root. Всё подряд копировать туда не нужно, это может привести к определенным конфликтам. Обычно для каждой программы это 2-3 файла настроек. Помните, чем меньше вы туда скопируете, тем профессиональнее будет сборка и меньше проблем у пользователей.
- Программы запуска для всех пользователей отредактировать, добавить, удалить лучше в папке /etc/xdg/autostart, не засоряя папку /etc/skel
- Если Вы хотите сделать сборку с рабочим столом отличным от имеющегося в дистрибутиве, то лучше воспользоваться минимальной сборкой без графического окружения, включающей в себя ядро и самый минимум пакетов, который позволяет запускает систему в режиме консоли. И уже поверх этой системы доустанавить нужные пакеты и проводить нужные настройки. Такой метод имеет меньше ошибок, чем если брать готовую полную сборку и пытаться выпилить из нее ненужное.
Здесь (https://help.ubuntu.com/community/Installation/MinimalCD) все возможные mini.iso для Ubuntu
Удачи! И пусть мир узнает Ваши творения!
Разбирался с bodhibuilder.
Что можно отметить:
- программа действительно позволяет создавать Live ISO-образы настроенных систем в вариантах, как с сохранением пользовательских данных и настроек позиция "Bacup" окна программы "Actions" (т.е. для себя), так и без таковых позиция "Dist" (т.е. для всех).
На момент разбирательства всё было так. С помощью bodhibuilder 2.2.2 можно было создавать Live ISO-образы настроенных систем в обоих вариантах, запускать их в Live-режиме и даже устанавливать на диск, правда не без ухищрений.
Спойлер
Папка содержащая изготовленный ISO-образ выглядела так:
(https://s30.postimg.org/6mk4ouxm5/image.png) (https://postimg.org/image/6mk4ouxm5/)
и в запущенной с ISO-образа системе можно было найти позицию для её установки, например, здесь:
(https://s27.postimg.org/wanwovovj/image.png) (https://postimg.org/image/wanwovovj/)
или на столе, как здесь:
(https://s23.postimg.org/86jksn4g7/image.png) (https://postimg.org/image/86jksn4g7/)
После чего, можно было начинать установку системы на носитель:
(https://s30.postimg.org/o9vgafdbh/image.png) (https://postimg.org/image/o9vgafdbh/)
Через некоторое, не продолжительное время, эта способность (установки) пропала, а также испарилась способность запуска на установку командой «ubiquity». Посмотрел, какую версию bodhibuilder предлагают, а там уже версия 2.2.3. Скачал и запустил всё по новому. Оказалось, что теперь даже не создаётся Live ISO-образ системы.
(https://s24.postimg.org/ch605z4ox/image.png) (https://postimg.org/image/ch605z4ox/)
Выводы делайте сами. :o
...Systeback - образ создаётся, но после записи на флэшку (при загрузке с неё) вываливается в BussyBox.
Не написали, что сообщает BusyBox. Если это "(initramfs) /cow format specifed as aufs and no Support found", то нужно посмотреть здесь (ссылки)
Спойлер
http://forum.matuntu.org/index.php?topic=382.msg3844#msg3844
http://forum.matuntu.org/index.php?topic=178.msg5385#msg5385
http://forum.matuntu.org/index.php?topic=178.msg5386#msg5386
Установила в Matuntu на основе 18.04 пакет respin_ub-2.0-1.deb, по зависимости притянулся aufs.
(https://mirivlad.ru/wp-content/uploads/2017/09/linux-tools-uai-258x258.png)
Интерфейсом Respin очень схож с прежним Remastersys ;)
(http://i.imgur.com/GvrDYfn.png)
Примечание на гитхабе от создателя пакета
Примечание о модифицированной версии, которую мы используем: вот реальная сделка: в 2014 году мы работали с Тони Брижейски (он же Fragadelic) на fork-Respin. У нас были разработчики Ubuntu и разработчики Debian. Тони работал с нами, чтобы получить исходный код и версии GTK и GUI для Ubuntu и Debian соответственно.
Группа потеряла скорость и сосредоточилась на своей жизни, карьере и версии Ubuntu была устаревшей.
Я всегда буду признавать Антони Нормана, ака Pinguy за часть его кода, который включен, и поблагодарить ребят из Bohdi за часть, основанную на коде BohdiBuilder в версии 2.0-1 + Ubuntu. Пользователи Ubuntu требовали версию Ubuntu. По факту, я получил угрозу от одного человека и несколько требований. Я не разработчик Ubuntu. Фактически, единственное, что я когда-либо создавал Ubuntu, это: FixedUbuntu Opty Out для 14.04 - версия Sassy Spyware, у которой не было простой возможности отказаться от программ-шпионов.
Некоторые изменения были перенесены, и источник 2.1.1-1 доступен - dev не выпущен.
Если у вас есть какие-либо вопросы, свяжитесь с нами по адресу: Контакт по адресу linuxrespin.org
Примечание. Пожалуйста, переделайте и скопируйте код GPL'd в любой из моих репозиториев. Вот для чего это! COPY !!!!!
Respin - UPDATING SOON Итог: продолжать поддерживать версию Ubuntu - нужны участники!
Осталось проверить работоспособность Respin на деле.