Vidensdatabase

2. Gentoo chroot and setup LICENSE

 
Данный опус является частью единого цикла заметок o CLI.  Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.).  К сожалению, указать все источники точно не представляется  возможным!

 

Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае  заполните форму запроса на Sytes.ru!

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

Монтирование необходимых файловых систем

Через несколько мгновений корневая система Linux будет перемещена в новое место. Чтобы новое окружение работало должным образом, для него должны быть доступны некоторые файловые системы. Файловые системы, которые должны быть доступны:

  • /proc/ — псевдофайловая система (она выглядит как обычные файлы, но на самом деле генерируется на лету), через которую ядро Linux предоставляет информацию для окружения
  • /sys/ — псевдофайловая система, как и /proc/, которую она однажды заменит, также она более структурирована, чем /proc/
  • /dev/ — это обычная файловая система, частично управляемая менеджером устройств Linux (обычно udev), которая содержит все файлы устройств

Каталог /proc/ монтируется в /mnt/gentoo/proc/, остальные два каталога — через перепривязку точки монтирования. Это означает, что, например, /mnt/gentoo/sys/ на самом деле будет /sys/ (это просто вторая точка входа в ту же файловую систему), тогда как /mnt/gentoo/proc/ является новой точкой монтирования (так сказать, экземпляром) файловой системы.

 

root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
 Заметка
Параметр --make-rslave необходим для дальнейшей поддержки systemd в ходе установки.
 Предупреждение
Если при установке используется не дистрибутив Gentoo, то этого может быть недостаточно. Некоторые дистрибутивы делают /dev/shm символьной ссылкой на /run/shm/, которая после перехода в изолированную среду станет недействительной. Создание правильного подключения /dev/shm/ в tmpfs поможет избежать этой проблемы:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Также проверьте, что права доступа установлены в 1777:

root # chmod 1777 /dev/shm

Переход в новое окружение

Теперь, когда все разделы инициализированы и базовое окружение установлено, настало время войти в новое установочное окружение (выполнить chroot). Это означает, что сессия изменит свой корневой каталог (наивысший каталог, в который можно перейти) из текущей установочного окружения (CD или другого установочного носителя) в систему установки (где находятся размеченные разделы).

Переход в изолированное окружение делается в три шага:

  1. Изменение корневого каталога с / (который находится на установочном носителе) в /mnt/gentoo/ (на разделах диска) с помощью команды chroot
  2. Загрузка в память некоторых параметров из /etc/profile с помощью команды source
  3. Изменение приглашения командной строки, чтобы не забыть, что эта сессия находится в изолированном окружении.
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

С этого момента все действия выполняются непосредственно в новом окружении Gentoo Linux. Конечно, до финала ещё далеко, поэтому установка продлится ещё несколько разделов!

 Совет
Если установка Gentoo будет случайно прервана где-то далее после этой точки, то можно «продолжить» установку с последнего состояния. Не нужно разбивать диск снова! Просто смонтируйте корневой раздел снова и проделайте предыдущие шаги, начиная с копирования информации о DNS, для повторного входа в рабочее окружение. Это также подойдет для решения проблем с загрузчиком. Больше информации можно найти в статье chroot.

Настройка Portage

Установка снимка репозитория ebuild-файлов Gentoo

Следующим шагом будет установка снимка репозитория ebuild-файлов Gentoo. Этот снимок содержит коллекцию файлов, которая сообщает Portage о доступных программах (для установки), какой профиль может выбрать системный администратор, о новостях о конкретных пакетах или профилях и так далее.

emerge-webrsync рекомендуется использовать в случаях, когда система находится за межсетевым экраном (для загрузки снимка используется только протоколы HTTP/HTTPS), а также когда необходимо снизить нагрузку канал сети. У кого нет ограничений с сетью или шириной канала, могут счастливо перейти к следующему разделу. Команда ниже загрузит последний снимок (которые выпускаются каждый день), с одного из зеркал Gentoo, и распакует его в системе:

root #emerge-webrsync

Начиная с этого места, Portage может попросить установить некоторые рекомендуемые обновления: некоторые системные пакеты, установленные из архива stage, могут иметь новые доступные версии. Пакетному менеджеру теперь известно о новых пакетах благодаря снимку репозитория. Обновление пакетов можно проигнорировать, этот процесс можно отложить до завершения установки Gentoo.

Выбор подходящего профиля

Профиль — это важная часть любой системы Gentoo. Он не только определяет такие важные переменные, как USECFLAGS и многие другие, а также фиксирует версии для определённых пакетов. Все эти нюансы поддерживаются разработчиками Portage в Gentoo.

Вы можете увидеть, какой профиль в настоящее время используется в системе, с помощью команды eselect, только теперь с модулем profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/17.0 *
  [2]   default/linux/amd64/17.0/desktop
  
 Предупреждение
Не стоит халатно относиться к обновлениям профиля. Выбирая изначальный профиль, убедитесь, что профиль соответствует той же версии, которая была использована в stage3 (к примеру, 17.0). Каждая новая версия профиля объявляется через элемент новостей с инструкциями по миграции. Прочитайте и следуйте им, прежде чем перейти на новый профиль.

После просмотра доступных профилей для архитектуры amd64, пользователи могут выбрать другой системный профиль:

root #eselect profile set 2
 Заметка
Подпрофиль developer сделан специально для разработки Gentoo Linux и не предназначен для использования обычными пользователями.

Обновление набора @world

На данный момент разумно будет обновить @world чтобы базовая часть системы изменилась.

Это действие необходимо, чтобы система могла применить какие-либо обновления с момента сборки stage3 и обновления профиля:

root #emerge --ask --verbose --update --deep --newuse @world

Необязательно: Настройка переменной ACCEPT_LICENSE

Каждый пакет в Gentoo помечаются лицензией (или лицензиями), под условиями которой возможно его использование. Это даёт пользователям перед установкой возможность выбирать программы с определёнными лицензиями или группами лицензий.

 Важно
Переменная LICENSE в ebuild является только ориентиром для разработчиков и пользователей Gentoo. Она не является юридически значимым заявлением и не гарантирует, что условия использования соответствуют действительности. Не стоит доверять ей безоговорочно и при необходимости следует проводить полный аудит всех файлов используемого пакета самостоятельно.

Portage использует переменную ACCEPT_LICENSE, чтобы определить пакеты, которые можно установить без вопросов к пользователю о выбранных лицензиях. Также можно делать исключения для определённых пакетов через /etc/portage/package.license.

Группы лицензий, определённые в репозитории Gentoo и Проектом Лицензий Gentoo:

Имя группы Описание
@GPL-COMPATIBLE Совместимые с GPL лицензии, одобренные Free Software Foundation [a_license 1]
@FSF-APPROVED Лицензии свободного ПО, одобренные FSF (включает @GPL-COMPATIBLE)
@OSI-APPROVED Лицензии, одобренные Open Source Initiative [a_license 2]
@MISC-FREE Различные лицензии, которые, вероятнее всего, тоже относятся к свободному ПО, то есть следуют Определению Свободного ПО [a_license 3], но не одобрены ни FSF, ни OSI
@FREE-SOFTWARE Сочетание @FSF-APPROVED, @OSI-APPROVED и @MISC-FREE
@FSF-APPROVED-OTHER Одобренные FSF лицензии для «свободной документации» и «работ для практического применения, не являющихся ПО или документацией» (включая шрифты)
@MISC-FREE-DOCS Различные лицензии для свободных документов и прочих работ (включая шрифты), следующие определению свободного произведения [a_license 4], но НЕ включены в @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Сочетание @FSF-APPROVED-OTHER и @MISC-FREE-DOCS
@FREE Надмножество всех лицензий, обладающих свободой использования, распространения, изменения и распространения изменений. Сочетание @FREE-SOFTWARE и @FREE-DOCUMENTS
@BINARY-REDISTRIBUTABLE Лицензии, разрешающие по крайней мере свободное распространение ПО в двоичной форме. Включает в себя @FREE
@EULA Лицензионные соглашения, которые пытаются отобрать ваши права. Они более строги, чем «все права защищены», или могут требовать явного согласия.

В профилях Gentoo предусмотрено значение по умолчанию, к примеру:

user $portageq envvar ACCEPT_LICENSE
@FREE

Это можно настроить на уровне системы, изменив /etc/portage/make.conf таким образом, чтобы, к примеру, разрешить пакеты с лицензиями, одобренными Free Software Foundation, the Open Source Initiative или следующими Определению Свободного ПО:

Файл /etc/portage/make.confCustomizing ACCEPT_LICENSE
ACCEPT_LICENSE="-* @FREE"

Также можно добавить переопределение допустимых лицензий для конкретных пакетов, например:

#добавляем в исключение лицухи для пакета сборщика ядра:

user #  echo "sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE" | tee -a /etc/portage/package.license
Файл (chroot) livecd / # cat /etc/portage/package.license
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode

Linux Gentoo chroot

В следующем разделе будет описана соборка ядра ос, перейти к ней  можно тут!

 

Если у вас есть профессиональный интерес в расширении данной статьи – заполните форму запроса!

Заметка распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

 

     Источник:

https://dondub.com/2021/02/gentoo-gnu-linux-ustanovka-i-nastroyka/?ysclid=l0ez63gp79
 

Конец! 

  • Gennto license, Gentoo chroot
  • 0 Kunder som kunne bruge dette svar
Hjalp dette svar dig?

Relaterede artikler

1. Setup Gentoo stage3

Это технический шаблон заметки о CLI!  Данный опус является частью единого...

3. Gentoo genkernel

  Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае...

4. Fork core gentoo

  Нужна консультация или помощь в решении IT вопроса? Пожалуйста, в таком случае...

0. Setup Gentoo livecd

Setup!  Данный опус является частью единого цикла заметок o CLI.  Для его...