Не приходит понимание как все таки собрать дистрибутив

Уважаемые друзья, прежде чем кидаться в меня ссылками, прошу выслушать, а потом кидайтесь пожалуйста, я прошу вас, я для этого сюда пришел.

Вместо предисловия - с Gentoo я не то чтобы новичек, крутится у меня на сервере лет пять , обновляю по-тихоньку. Линукс как десктоп меня мало интересовал до недавнего времени. Сейчас заинтересовал, пошел в Убунту - все нравится, все работает, но вдруг узнаю что есть Calculate и выбор собственно говоря сделан. Понятно что нельзя не воспользоваться возможностью создать дистрибутив под себя (кстати говоря предпринимал когда то попытки поставить kde на Gentoo, пару лет назад, потерпел крах) и вот тут возникли непонимания.

Все попытки понять как это делается - отправляют меня к одной и мне кажется практически единственной статье - вот этой http://www.calculate-linux.ru/blogs/ru/317/show
Покурив форум немного, увидел что до сих пор все вопросы на эту тему отсылают к ней же, но у меня глубокое непонимание, которое уже проявляется сначала.

Во-первых хочу забежать вперед и сразу сказать что взятые из статьи “рецепты” попросту не работают, т.к. я подозреваю что утилита cl-assemble попросту изменилась и все отсылы к данному мануалу попросту бесполезны, т.к. мануал не работает с нынешним положением дел, т.е. если там я вижу вот что

Основные опции
-d DISK, --disk DISK - раздел для сборки системы
Убедитесь, что в разделе у вас не хранится информации. В случае необходимости выполните резервную копию ваших данных. Вся информация в разделе будет утеряна!
--march ARCH - выбор архитектуры операционной системы (i686 или x86_64)
Исходя из выбранной архитектуры, будет сформирован список совместимых профилей.
-p PROFILE, --profile - системный профиль, список возможных профилей можно получить, указав в параметре значение "list".
--source SOURCE - базовый образ для сборки - 'stage' или 'SHORTNAME'.
За основу дистрибутива может быть взят stage3-образ Gentoo, либо любой образ Calculate Linux. В последнем случае следует указывать короткое имя дистрибутива, например "--source=CDS".
--ver VER - версия собираемой системы
Целое либо дробное число номера версии. В качестве разделителя выступает точка. Поддерживается указание двух точек в номере версии. В случае отсутствия версии будет использована дата, состоящая из года, месяца и дня создания образа.
--name=SHORTNAME</NAME></SUBNAME> - наименование дистрибутива - сокращенное, полное, суффикс (пример: CLD/Calculate Linux Desktop/KDE)

то у себя я вижу вот что

Использование: cl-assemble [параметры]
Конфигурирование для сборки системы Calculate Linux

Опции:
  -d DISK, --disk DISK  раздел или директория для сборки системы
  --iso SOURCE          ISO образ для сборки
  -p ID, --id ID        идентификатор сборки
  --unmount             отключить раздел с собираемой системой, если произошла
                        ошибка
  --no-buildpkg         не создавать бинарные пакеты для всех собраных пакетов
  --skip-rebuild-world  Не пересоздавать world file
  --set VAR=VALUE       установка значения для переменной
  -f, --force           не задавать вопросы во время процесса установки
  -v, --show-variables  вывод переменных, если две опции - подробный вывод
                        (включает вывод скрытых переменных)
  --filter FILTER       фильтрация переменных (используйте регулярное
                        выражение *), используйте совместно с опцией '-v
                        --show-variables'
  --xml                 вывод переменных в формате XML, используйте совместно
                        с опцией '-v --show-variables'
  --color WHEN          контроль использования цвета. WHEN может принимать
                        значения 'never', 'always', или 'auto'
  --version             вывод версии программы и выход
  -h, --help            вывод этой справки и выход

что согласитесь - далеко не одно и то же.
Вот и вопрос сам собой возникает, в связи с тем что самому догадаться мне не по силам, то есть ли ссылки на мануалы которые описывают то, как сейчас можно собрать дистрибутив.

К сожалению организация форума лично для меня является не очевидной для поиска ответов на мои вопросы и документация к Calculate боюсь не всегда соответствует текущему положению дел, хотел бы описать мое понимание создания дистрибутива со стороны пользователя и с благодарностью буду рад каждому комментарию что я понимаю не так.

Итак моя задача сделать дистрибутив основанный на Gentoo с минимальным набором программ, по сути только kde, java от Oracle крайней версии плюс несколько утилит системных. Плюс я хочу чтоб установка шла через компиляцию, а не через бинарники.

1. Я могу попробовать еще раз попробовать установить генту с нуля и скомопилить минимальный kde , мне помнится в документации официальной есть подобное. Но согласитесь, ставить каждый раз генту нативно - занятие довольно утомительное, увы.

2. Я могу попробовать создать дистрибутив с помощью утилит Calculate.
Хочу второй вариант. Вот отсюда и тянутся множество вопросов.

  • правильно ли я понимаю, что я могу из любого дистрибутива Calculate создать свой дистрибутив через утилиты calculate, для этого мне не обязательно загружать например именно CLS, но CLS возможно будет удобен именно для целей - поставить минимум и не ждать три дня пока скомпилится. Я имею в виду сборку дистрибутива на основе образа.
  • правильно ли я понимаю, что я как то могу подготовить для сборки дистрибутив, доставив нужные пакеты, убрать лишние и тогда уже его собрать (я читал про интерактивный режим, не все понял, особенно не понял как мне загрузивший из CLS Builder собрать дистрибутив с рабочим столом KDE). Каким образом я могу сделать это из stage3 и portages ? Подозреваю что тут я должен применить профили, которые в зависимости от USE флагов помогут сборщику установить нужные пакеты, в частности KDE рабочий стол, но мне не ясно должен ли я указывать где-то явно дальнейшую загрузку пользователем именно того или иного рабочего стола, ведь профили конфиги не правят.

Ну и главный вопрос - КАК ? Если обратить внимание на вышенаписанное, особенно если cl-assemble сейчас имеет не те параметры, которые указаны в мануале, в который всех тычут :)) Спасибо.

Нет простого способа объяснить КАК. А писать подробный мануал пока/уже рановато, т.к. не за горами обновление cl-assemble до 3.0. При желании вы и сами можете разобраться с cl-assemble. Иструкции для сборки она получает из шаблонов /var/lib/layman/calculate/profiles/templates/2.2/assemble. Для работы livecd из /var/lib/layman/calculate/profiles/templates/3.3/3_ac_install_live/. Для установки на диск из /var/lib/layman/calculate/profiles/templates/3.3/1_ac_install_disk и т.д. Но времени это займет немало :slight_smile: Советую пока ограничиться созданием своего профиля системы.

Ну возможно хоть где то можно найти описание текущей версии cl-assemble ? Не понять мне что есть идентефикатор сборки , предполагаю что это некий ID который я придумываю сам чтоб обращаться к сборке. Не понять мне что указывать в -iso SOURCE , как я понимаю это источник, откуда cl-assemble будет брать пакеты и что именно туда указать чтоб собирался дистрибутив. Да и остальные вопросы остались не ясными. По поводу создание своего профиля это интересная тема, пошел изучать. Спасибо! Возможно кто то еще сможет как то просветить мою темноту.

Документации действительно мало по причине, которую описал Сергей. Но есть форум, где можно задавать вопросы.

К сожалению организация форума лично для меня является не очевидной для поиска ответов на мои вопросы

Интересно было бы выслушать вашу точку зрения по организации форума.

Плюс я хочу чтоб установка шла через компиляцию, а не через бинарники.

Насколько я понимаю, вы будете собирать пакеты без оптимизации под определённое железо? В чём будет разница, кроме USE-флагов?

правильно ли я понимаю, что я могу из любого дистрибутива Calculate создать свой дистрибутив через утилиты calculate

Да. Более того, раньше подходил и Gentoo Stage 3. В новых утилитах мы вернём эту возможность. Пока же лучшим выбором будет CLS/CSS.

Ну возможно хоть где то можно найти описание текущей версии cl-assemble ? Не понять мне что есть идентефикатор сборки , предполагаю что это некий ID который я придумываю сам чтоб обращаться к сборке.

Любое слово никак не связанное с чем-либо. В новых утилитах это будет необязательной опция, значение будет генерироваться исходя из имени дистрибутива взятого за основу. ID необходим для в случаев одновременной сборки нескольких систем.

Не понять мне что указывать в --iso SOURCE , как я понимаю это источник, откуда cl-assemble будет брать пакеты и что именно туда указать чтоб собирался дистрибутив.

Справка выдаст:

–iso SOURCE ISO образ для сборки

Это любой Stage Calculate Linux. Желательно брать всегда свежий образ, т.к. дистрибутив постоянно развивается.

Спасибо, становится немного яснее. Теперь осталось понять как доставлять софт в дистрибутив перед окончательной сборкой образа и откуда берется профиль для сборки, если сейчас -p это ID . По первому сообщению я понимаю что инструкции берутся с шаблонов только не совсем понял как явно указать на шаблон. Если мы говорим о cl-update-profile то верно ли то что шаблон меняется как для текущей установленной системы, так и для сборщика ?

По поводу форума я ни в коем разе не критикую :slight_smile: я лишь веду речь о том, что часто чтоб что то найти, приходится перелистывать сто страниц причем в них часто задаются одни и те же вопросы. Организация какого-то faq обновляемого часто удобно для конечного пользователя, но очевидно что на это нужны человеческие ресурсы.

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

Но очевидно что часто недопонимание возникает в силу недостаточности понимания предмета. Если в генту чистом для меня все более менее понятно со стороны пользователя. Установил, доставил, обновил, то с дистрибутивами которые облегчают конечную работу у меня возникают сложности с непониманием.

Спасибо за Ваше время!

Теперь осталось понять как доставлять софт в дистрибутив перед окончательной сборкой образа и откуда берется профиль для сборки, если сейчас -p это ID .

calculate-assemble пока ещё версии 2.2. В то время предполагалось, что вы доустанавливаете или удаляете пакеты самостоятельно в chroot-е. Сейчас есть универсальное решение, это профиль. У меня не было задачи построить ISO-образ с профилем на Github, но думаю проблем не будет. Пожалуй стоит проверить.

В профиле можно менять всё что угодно: настройки системы, пути, флаги, ebuild-ы, настройки утилит, настройки ядра, состав пакетов, влиять на ход установки и обновления системы и т.д.

Для примера я создал на github тестовый профиль Desktop-X на базе CLDX. Переключиться можно, выполнив:

cl-update-profile --url github:lautre76 Desktop-X

Если профиль один, его имя можно опустить:

cl-update-profile --url github:lautre76

Профиль полностью наследует настройки CLDX, дополняя состав пакетов.

Перестроить список пакетов можно выполнив:

cl-update --rebuild-world

Подробнее по работе с github: http://www.calculate-linux.ru/blogs/ru/454/show

Ух… тяжелая это работа, тянуть бегемота из болота.

cl-assemble развернул образ, автоматически подмонтировал его. Дальше я теряюсь в догадках как быть.
Обновил cl-make -u -V зачем то доставилось несколько пакетов, в том числе mysql -minimal, т.е. я получил сервер, ну да ладно. Моя задача поставить рабочий стол KDE. Вот тут бы мне правильно бы изменить профиль (я подозреваю, чтоб USE верные получить), но зачем то попытался eselect set 8 (там профиль рабочего стола kde гентушный) ну и понятно выдало ошибку что профиль не calculate. Хорошо, вернул профиль.

Дальше подумал что неплохо было бы plasma5 поставить. Добавляю в /etc/portage/sets/custom kde-plasma/plasma-desktop - проверяю через emerge pvuDN world ругается. Компилю другую версию того на что ругается - перестает ругаться на то на что ругалось и попросту выдает - emerge: there are no ebuilds to satisfy "sys-auth/polkit-qt[qt5]"

хотя eix sys-auth/polkit-qt есть.
Ищу в интернете, наталкиваюсь на что то такое - https://wiki.gentoo.org/wiki/KDE/Plasma_5_upgrade

там говорится о добавлении оверлея kde в другой ссылке о добавлении оверлея qt . Добавляю - layman a kde пару минут ждет и выдает о невозможности добавления. Создаю папку руками /var/lib/layman/kde пытаюсь клонировать с гита - пишет не найден репозиторий. То же касается и qt.

В общем развожу руками. Убираю plasma5 ставлю в сеты вместо плазмы kde-base/kdebase-startkde
cl-make -U -V вроде как бы процесс пошел. Оставляю уже до завтра. Даже если скомпилится, боюсь не заработает. Что то я недопонял и что то делаю не так. Увы.

Если кто то без раздражения не сочтет за труд ткнуть мне пальцем в то, что я делаю не верно (а я чую прям что делаю не то) миллион благодарственных писем от меня! :)) Спасибо, завтра пятница!

для начала внимательно читаем
http://www.calculate-linux.ru/main/ru/calculate-assemble

но если с пониманием написанного у админа генты с 5 летним стажем проблемы , то так и быть , подкину подсказку от простого пользователя :wink:

установка :

cl-assemble -d /dev/sd** --no-buildpkg -p my --iso /путь/до/cls-20150714-x86_64.iso

sd**** = свой свободный раздел
–no-buildpkg = не собирать бинари
-p my = после установки загляни в /mnt & /etc/calculate/assemble :wink:

после распаковки обновись . вариант 1 :

cl-update -u 
  • если сборка 1 то не надо добавлять -p my

а теперь вариант №2 он же “ткните меня …” :

chroot /mnt/my
cl-update && emerge чего_ты_хотел_установить

а теперь ещё раз перейди по ссылке выше и посмотри что ты упустил ))

Ну боюсь все что вы описали, я проделал, даже написал об этом, по сему ничего нового :slight_smile: Про внимательно читаем - вы бы прочитали о чем я написал в первом посте :slight_smile:

Вопрос в том, что после окончательной сборки iso (установка kde и прочего) я получаю cls live dvd без каких либо признаков kde рабочего стола. Хотя могу предположить что при установке они не запускаются автоматом, да и запускаю я их как помнится - startx , предполагаю что kde запускается другим способом.

Но в общем и целом спасибо за ответ, я таки все сделал верно.

На счет админства - мне конечно стыдно что я не начал админство с иксов и пришел к ним только лет через 8, но я этого не стесняюсь :wink:

и, да

 если сборка 1 то не надо добавлять -p my

вообще говоря надо, т.к. -p в данном случае обязательный аргумент.

Да и вообще, я уже писал об этом, когда недостаточно документации это не есть гут , а когда документация не соответствует текущему положению дел, то и совсем запутывает. Этоя вам все отвечаю на сарказм по поводу пятилетнего стажа, задело конечно, что уж :slight_smile: Но, скажу я вам, подобные выпады не способствуют оздоровлению общества собравшегося вокруг чего-либо и напрочь отбивают желание это самое вокруг чего собраны трогать. Не стесняться спросить меня всегда учили , что в школе что в ВУЗе :wink: Хорошей пятницы! И спасибо всем за внимание, чужое время - оно действительно бесценно. Кланяюсь каждому, я в долгу !:slight_smile:

Александр Безфамильный wrote:

Вопрос в том, что после окончательной сборки iso (установка kde и прочего) я получаю cls live dvd без каких либо признаков kde рабочего стола. Хотя могу предположить что при установке они не запускаются автоматом, да и запускаю я их как помнится - startx , предполагаю что kde запускается другим способом.

то есть я накидаю кучу пакетов а добрые гномики сами всё пропишут/создадут_шаблоны_настройки ?)))

[…] вообще говоря надо, т.к. -p в данном случае обязательный аргумент.

нет , не обязательный :

cl-assemble -d /dev/sdb1 -p cl --no-buildpkg --iso /var/calculate/remote/assemble/cl/linux/clot-20150801-x86_64.iso
 * Подготовка для сборки Calculate Linux
Системная информация
 * Профиль системы: clot/amd64
 * Собираемая система: clot
 * Версия собираемой системы: 15.6
 * Тип оборудования машины: x86_64
 * Раздел для сборки: /dev/sdb1
 * Файловая система: ext4
 * Зеркало для портежей: git://10.202.32.5/portage.git
 * Базовый образ для сборки: /var/calculate/remote/assemble/cl/linux/clot-20150801-x86_64.iso
Выполнение проверки перед сборкой

Продолжить сборку системы (yes/no): y

 * Форматирование раздела ...                                             [ ok ]
 * Распаковка базового образа ...                                         [ ok ]
 * Подключение /dev ...                                                   [ ok ]
 * Подключение /dev/shm ...                                               [ ok ]
 * Подключение /dev/pts ...                                               [ ok ]
 * Подключение /proc ...                                                  [ ok ]
 * Подключение /sys ...                                                   [ ok ]
 * Подключение /var/calculate/remote ...                                  [ ok ]
 * Настройка шаблонами assemble/prepare ...                               [ ok ]
 * Настройка шаблонами assemble/setup ...                                 [ ok ]
 * Отключение базового образа системы ...                                 [ ok ]
 * Система подготовлена для сборки в /mnt/cl!
 * Для дальнейшей сборки используйте команду 'cl-make'

clsm alex # cl-make -u
 * Обновление сборки Calculate Linux
Системная информация
 * Профиль системы: clot/amd64
 * Собираемая система: clot
 * Версия собираемой системы: 15.6
 * Тип оборудования машины: x86_64
 * Раздел для сборки: /dev/sdb1
 * Система собирается в директории: /mnt/cl

Выполнение проверки перед компиляцией

Будут выполнены следующие действия:
 * Настройка шаблонами assemble
 * Обновление портежей
 * Выполнение 'emerge -u python'*
 * Выполнение 'python-updater'*
 * Выполнение 'emerge -u perl'*
 * Выполнение 'perl-cleaner all'*
 * Выполнение 'emerge -uDN --changed-deps=y --with-bdeps=y world'
 * Выполнение 'emerge --depclean'
 * Пересобрать измененные пакеты
 * Выполнение 'emerge @module-rebuild'*
 * Выполнение 'emerge @x11-module-rebuild'*
 * Выполнение 'revdep-rebuild -i'*
 * Выполнение 'emerge @preserved-rebuild'*
 * Выполнение 'prelink -afmR'*
 * Получение video drivers
 * Чистка бинарного репозитория
 * Выполнение 'eix-update'
 * Чтение новостей
 * Проверка на понижение версии пакетов
Действия, отмеченные '*', будут выполнены при необходимости.

Продолжить компиляцию пакетов системы (yes/no): n

 * Компиляция прервана

то есть , если у вас будет 2 сборки (допустим сl-assemble -d /dev/sdb1…-p my1… и сl-assemble -d /dev/sdb2…-p my2… итд) тогда обязательно указывать .

Это я вам все отвечаю на сарказм по поводу пятилетнего стажа, задело конечно, что уж :slight_smile:

Так не давайте повод :wink: Ну и по делу : документации на сайте полно … мне , простому криворукому и туповатому пользователю хватает для создание своей сборки а вам нет (самому то не смешно) ?
кину ссылок для чтения
http://www.calculate-linux.ru/main/ru/calculate_utilities
сами шаблоны находятся /var/lib/layman/calculate/profiles/templates/3.3 - это вам и как пример и можно их скопировать в /var/calculate/templates и изменить (или в свой профилёк утащить … иногда проще подправить чем писать с нуля :slight_smile: ) # тут понадобится http://www.calculate-linux.ru/blogs/ru/520/show
по поводу своего профиля http://www.calculate-linux.ru/blogs/ru/488/show и http://www.calculate-linux.ru/blogs/ru/488/show

Боюсь мы с Вами говорим о разных вещах и вы не очень хотите читать что пишу я. Спасибо за ваше терпение.

Александр Безфамильный wrote:

Боюсь мы с Вами говорим о разных вещах и вы не очень хотите читать что пишу я. Спасибо за ваше терпение.

а , извини , прочитал то что ты писал ранее более внимательно … тебе man portage не мешало бы почитать

USE="qt5 qt3support ssl" ACCEPT_KEYWORDS=~amd64 emerge -av kde-plasma/plasma-desktop

так что начинай с азов :slight_smile:

Тем временем я сегодня поставил kde на чистый генту без особых проблем, правда заняло некоторое время. Ставил на wmware, решил обновлять и по надобности делая копии дерева ставить по надобности на нужное железо, подключая в ядро, если потребуется, изменения. По сему спешу раскланяться, всем хороших выходных.

s. Я не знаю с чем это связано, но объективно в генту emerge -pv пакет зависимости считаются заметно быстрее.

Обновил cl-make -u -V зачем то доставилось несколько пакетов, в том числе mysql -minimal, т.е. я получил сервер, ну да ладно.

Можно посмотреть какому пакету он нужен по зависимостям ‘equery d mysql’.

Моя задача поставить рабочий стол KDE.

Список доступных профилей:

cl-update-profile list

Смена профиля:

cl-update-profile CLD

Подробнее про cl-update-profile можно прочитать здесь.

Дальше подумал что неплохо было бы plasma5 поставить.

Я бы подолждал релиза KDE Applications 15.08, когда они наконец портируют kdepim 5.0. К тому времени все пакеты появятся в портежах, а то сейчас даже консоль kde нужно ставить из стороннего оверлея.

Компилю другую версию того на что ругается - перестает ругаться на то на что ругалось и попросту выдает - emerge: there are no ebuilds to satisfy “sys-auth/polkit-qt[qt5]” хотя eix sys-auth/polkit-qt есть.

Пакет есть, но должен быть собран с USE qt5, а не qt4.

Добавляю - layman a kde пару минут ждет и выдает о невозможности добавления. Создаю папку руками

Попробуйте обновить список оверлеев ‘layman -L’ должно помочь.

Вопрос в том, что после окончательной сборки iso (установка kde и прочего) я получаю cls live dvd без каких либо признаков kde рабочего стола.

В CLD вы получаете полностью готовую для использования KDE, в которой не нужно добавлять сервисы в автозагрузку, настраивать их и т.д. Если вы ставите другой рабочий стол, KDE 5, разумеется его нужно настроить. Профиль CLS сам не будет писать вам в системе, что он теперь стал CLD5. Нужно глубже изучать систему. Чтобы получить желаемый результат, в идеале лучше иметь свой профиль с настройками. Если будет интерес - пишите.

Ну вообще говоря я без особых проблем на генту поставил все что мне требуется. Плазма 5 не ставилась в прошлый раз исключительно из за того что у меня по какой то неведомой мне причине не добавлялся kde оверлей. Так или иначе вчера на тестовой машине собрался и он, что меня конечно порадовало, но однозначно я подо жду когда он станет доступен в основной ветке, а это будет уже скоро, я так понимаю до конца текущего месяца. По сему на своей рабочей машине я решил пока повременить. Пришлось столкнуться с некоторыми сложностями, но все в итоге работает и это радует. Спасибо всем кто откликнулся. Всех благ! :slight_smile: