Установка calculate linux scratch

Собираем свой дистрибутив с Calculate Linux Scratch

Чтобы воспользоваться режимом интерактивной сборки, следует установить дистрибутив на жесткий диск с параметром —build либо выбрать режим загрузки Builder в загрузочном меню LiveCD. В этом случае файловая система после загрузки системы будет состоять из трех слоев aufs2 (Advanced Multi Layered Unification File System, представляет собой усовершенствованную реализацию файловой системы Unionfs 2):

  • calculate – первый слой, являющийся образом системы, загружаемой с носителя (livecd.squashfs), и смонтированный в режиме «только для чтения». Это основа будущего дистрибутива, которую можно менять;
  • delta – слой, в котором сохраняются все изменения, произведенные во время сборки;
  • workspace – рабочий слой, в котором производятся все манипуляции по изменению исходной системы.

Рисунок 1. В загрузочном меню Calculate Linux Scratch выбираем Build

Все указанные слои являются подкаталогами в /mnt/scratch и автоматически образуются после загрузки системы.

tmpfs on /mnt/scratch/workspace type tmpfs (rw,relatime)

Собственно, по наличию каталога /mnt/scratch и определяется текущий режим работы системы (в нашем случае Builder).

Переходим в режим интерактивной сборки, введя в консоли cl-builder, после выполнения команды приглашение изменит цвет. Вся дальнейшая работа в текущей виртуальной консоли будет производиться в chroot-окружении /mnt/builder. Теперь можно работать как обычно в Gentoo – обновить портежи, устанавливать, обновлять программы. Здесь необходимо сделать важное замечание. В обычном режиме слои монтируются в таком порядке: calculate + delta + workspace, в интерактивном – calculate + delta.

После установки каждого пакета (завершения выполнения emerge) скрипт cl-builder выполняет команду «mount -o remount», перемонтируя заново слой delta. В итоге все изменения в delta сразу же становятся доступными в основной системе (например, появляются ярлыки приложений) и их можно протестировать перед сборкой нового образа. Запуск приложения в chroot-окружении приводит к созданию нежелательных временных файлов, которые затем попадают в образ. Именно поэтому во избежание конфликтов в работе устанавливаемых программ установку и удаление пакетов следует производить только в chroot-окружении через cl-builder, а тестировать в обычном.

Рисунок 2. В Calculate 1.2.6 необходимо закомментировать строчку

Обновляем утилиту calculate.

# layman -S; emerge calculate

Обновляем портежи (в принципе релизы CLS выходят раз в месяц и этот шаг можно пропустить):

Читайте также:  Linux mint nvidia on demand

И устанавливаем нужное приложение:

По окончании сборки программа будет сразу же доступна в рабочей системе. В слое delta появятся новые файлы и библиотеки. Аналогичным образом добавляем и остальные приложения. По окончании работы выходим из режима сборки командой exit.

Теперь чтобы собрать загрузочный ISO-образ, достаточно смонтировать раздел жесткого диска (если объема ОЗУ достаточно, этот шаг можно пропустить):

# mount /dev/sda3 /usr/calculate/share/linux

И затем собираем образ командой:

Через некоторое время в каталоге /usr/calculate/share/linux появится ISO-образ с новой системой.

cls-9.9-i686.iso cls-9.9-i686.iso.DIGESTS

Еще важный момент. Если CLS для сборки установлен на флешку (calculate -d /dev/sdX), можно пересобрать оригинальный файл livecd.squashfs, в котором, собственно, и находится система, сохранив изменения. Для этого достаточно ввести команду:

Новый файл будет иметь другой порядковый номер сборки. При следующей загрузке будет уже использован новый образ со всеми изменениями.

Следует заметить, что полученный в интерактивном режиме дистрибутив подходит для массового пользователя, но считается не совместимым с Calculate Directory Server (CDS). Чтобы собрать совместимый с CDS вариант, необходимо использовать обычный режим сборки.

Рисунок 3. Подготавливаем систему к сборке

Чтобы использовать обычный режим сборки системы, следует установить Calculate Linux (любую версию CLS/CLSG, CLD, CLDX или CDS) на жесткий диск обычным образом. Затем копируем в каталог /usr/calculate/share/linux установленной системы ISO-образ CLS оригинальный (если нужна оригинальная версия системы, предложенная разработчиками) или созданный нами в интерактивном режиме.

Вначале следует приготовить систему для сборки командой calcalute, запустив ее с параметром:

По умолчанию будет производиться сборка текущей версии системы, то есть если работаем в CLS, то и собираться будет CLS. Чтобы указать другой вариант дистрибутива, добавляем параметр –s/—os=[CLD|CLDX|CLS|CLSG|CDS]. И готовим систему к сборке, например CLDX.

# layman -S; emerge calculate

Collecting system information

Network devices: eth0 (DHCP)

Machine hardware name: i686

Create directory stages. done.

В текущей версии скрипта calculate (1.2.6) не убраны проверки наличия архивов stage3 и portage, которые требовались ранее для сборки системы. Так, если в процессе появится сообщение:

To continue copy file «stage3-i686-YYYYMMDD.tar.bz2» to directory «/usr/calculate/share/stages».

Значит в /usr/calculate/share/linux недоступен ISO-образ. Проверяем :

Второе возможное сообщение требует архив с portage.

To continue copy file «portage-YYYYMMDD.tar.bz2» to directory «/usr/calculate/share/snapshots».
Читайте также:  Intel lan driver linux

Для всех систем, кроме CDS и CLS, в stage3 и portage нет необходимости, их заменяет сам CLS. Для этих двух систем уже понадобятся последние версии архивов с stage3 и portage. В будущей версии 1.2.8 проверку наличия portage для настольных версий систем обещают убрать (в GIT уже исправления присутствуют). Если это так, можно обновить вручную оверлей Сalculate командой eix-sync (в ходе выполнения configure обновляются оверлей и утилита calculate).

Рисунок 4. Проверка зависимостей

Как вариант лучше изменить сам скрипт, закомментировав одну строку в разделе «Определим наличие stage, portage» (строка 1828):

# «Определим наличие stage, portage»

printmes(gettext(‘To continue copy file’));

printmes(gettext(‘to directory’)); printmes(» \»$data\».\n»);

# Комментируем строку с exit

После этого подготовка системы к сборке должна пройти без проблем. Если ввести команду «calculate -c» в режиме Builder, получим сообщение:

rmdir: failed to remove `/mnt/builder’: Device or resource busy

/usr/calculate/share on /mnt/builder/usr/calculate/share type none (rw,bind)

none on /mnt/builder/proc type proc (rw)

/dev on /mnt/builder/dev type none (rw,bind)

При конфигурировании ISO-образ CLS будет распакован в свободный дисковый раздел (специально, чтобы было легко чистить временные файлы), который автоматически форматируется в ReiserFS и монтируется в /mnt/builder.

/dev/sda3 on /mnt/builder type reiserfs (rw)

Если скрипт не сможет определить раздел самостоятельно, его следует указать при помощи параметра -d.

В процессе работы команды будет изменен файл /mnt/builder/etc/make.conf в соответствии с настройками выбранной системы, в частности USE-флаги, языковые настройки. Сравним оригинальный make.conf с CLS и образовавшийся после ввода «calculate -c -s CLDX»:

# diff /etc/make.conf /mnt/builder/etc/make.conf

> LINGUAS=»en de es fr it pl pt_BR ru uk»

После обновления портежей и выполнения команды «emerge sys-apps/portage» скрипт закончит этап подготовки. Cостав пакетов, которые будут установлены, можно просмотреть при помощи:

Правим при необходимости /mnt/builder/etc/make.conf (man make.conf) и переходим к шагу проверки и размаскировки зависимостей, для чего используем ключ -D/—dependence.

По окончании – самый долгий этап – сборка системы при помощи ключа -m/—make:

Все новые пакеты пересобираются с флагом —newuse, то, что есть, пропускается. По окончании упаковываем дистрибутив в архив (7z) командой:

Результат сборки системы можно увидеть в каталоге /usr/calculate/share/linux/.

В итоге сборка системы при помощи Calculate Linux Scratch выглядит на порядок проще и происходит быстрее, чем сборка того же Gentoo. Путем довольно нехитрых манипуляций можно получить на выходе готовый дистрибутив под свои задачи.

Читайте также:  Linux открыть файл windows

С момента выхода первой статьи в Calculate Linux появилась поддержка «из коробки» DNS- и DHCP-серверов, в качестве реализации выбраны BIND и dhcpd. Соответственно, добавлены и новые утилиты:

  • Для управления DNS – cl-dns-recadd, cl-dns-recdel, cl-dns-recmod, cl-dns-zoneadd, cl-dns-zonedel, cl-dns-zonemod.
  • Для управления DHCP – cl-dhcp-hostadd, cl-dhcp-hostdel, cl-dhcp-hostmod, cl-dhcp-netadd, cl-dhcp-netdel, cl-dhcp-netmod.

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

Во время установки DHCP сразу задаются параметры работы при помощи такой команды:

Плюс полезная утилита cl-unmask, предназначенная для размаскировки пакетов, которая является альтернативой autoumnask. Формат вывода прост:

# cl-unmask package1 package2

Файл размаскировки создается для всех версий включая последнюю.

  1. Яремчук С. Основные изменения в WAIK для Windows Server 2008 R2/7. //Системный администратор, №4, 2009 г. – С. 16-19.
  2. Ubuntu Customization Kit – http://uck.sourceforge.net.
  3. rPath rBuilder – http://www.rpath.org.
  4. Сайт проекта Calculate Linux – http://www.calculate-linux.ru.
  5. Яремчук С. Строим сеть на Calculate Directory Server. //Системный администратор, №8, 2009 г. – С. 16-22.

Источник

IT-SERVICES

Порой нужно установить «чистую» операционную систему без ненужных пользователю программ. Например, если железо не позволяет тянуть тяжелые оболочки, типо KDE, и в последнее время XFCE, мы можем установить openbox или lxde.

featured-image

Calculate linux Scratch установка голой системы

Скачаваем с офф. сайта дистрибутив и начинаем установку

Если у вас диск не разбит по разделам, то разбиваем как в обычном Линуксе(boot,swap, home,root). В нашем примере будет только swap и root, в котором будет хранится всё

Вводим команду cfdisk для разбивки разделов:

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

Видим неразмеченную область, разбиваем ее, выбрав «новый»

Далее нужно указать в 16-ричной кодировке ту файловую систему, которая нужна

В итоге получаем, как на скрине, и записываем изменения на диск:

Вся установка происходит командой cl-install, чтобы посмотреть ее параметры, вводим:

Теперь ставим систему и создаем пользователя:

cl-install -d /dev/sda2 -d /dev/sda1:swap -u user

вводим пароль сначала пользователя, затем root

Где поросить, отвечаем Yes

Перезагружаем систему и мы в «голой» ОС

Источник

Оцените статью
Adblock
detector