Gentoo

Установите Gentoo в VirtualBox

Установите Gentoo в VirtualBox

Установка Gentoo в качестве виртуальной машины VirtualBox

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

Давайте рассмотрим пошаговый процесс установки базовой ОС вместе с объяснением каждого шага.

1. Получение подходящего установочного носителя

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

Вы можете получить файл изображения здесь. Выберите тот, который принадлежит вашей аппаратной платформе. Современные процессоры Intel и AMD обычно предлагают архитектуру AMD64.

Далее вам нужно создать виртуальную машину на VirtualBox. Откройте VirtualBox и нажмите кнопку с надписью "Новый" теперь вы можете ввести имя виртуальной машины и выбрать «Тип» для Linux и «Версия» для 64-разрядной версии Gentoo.

Установите размер памяти на 2048 МБ, а затем нажмите «Создать», чтобы продолжить создание виртуального жесткого диска.

В этом случае значения по умолчанию будут работать нормально (хотя мы собираемся работать с 32 ГБ дискового пространства вместо 8 ГБ), и теперь вы можете нажать `` Создать '' в последний раз, чтобы завершить детали.

Теперь выберите вновь созданную виртуальную машину на панели управления VirtualBox, и вам будет предложено ввести загрузочный диск. Щелкните значок файла рядом с ним и в открывшемся после этого проводнике перейдите к iso-файлу gentoo livecd, который вы скачали ранее.

После запуска виртуальной машины вы увидите меню загрузки со следующими параметрами:

Выбор x86_64 - наиболее подходящий вариант в этом случае.

После этого вас встретит экран входа в систему с пользователем gentoo по умолчанию, нажмите на логин без ввода пароля (как показано на скриншоте ниже).

Технически вы теперь находитесь в операционной системе Gentoo. Однако это живой носитель, что означает, что вы не можете использовать его в качестве системы, установленной на вашем (виртуальном) жестком диске. Но вы можете использовать эту среду для установки Gentoo на свой виртуальный жесткий диск.

2. Разбиение виртуального жесткого диска на разделы

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

  1. Сделайте диск загрузочным.
  2. Отформатируйте диск с файловой системой
  3. Установите базовый образ Gentoo в корневую файловую систему.

Для выполнения 1-й задачи нам просто нужно сделать 4 раздела следующего размера и желательно в следующем порядке.

  1. Раздел загрузчика для grub: размером 50 МБ
  2. Загрузочный раздел в формате ext4: размер 500 МБ
  3. Раздел подкачки для файла подкачки: размером 2000 МБ
  4. Корневой раздел для размещения основной ОС и связанных двоичных файлов. Отформатирован с файловой системой ext4 и займет оставшуюся большую часть виртуального диска.

Чтобы создать разделы, нам сначала нужно получить имя виртуального диска, подключенного к системе. Откройте терминал (консоль) и запустите судо -i чтобы стать пользователем root, а затем запустить lsblk чтобы перечислить все блочные устройства хранения.Имя устройства в нашем случае - sda - это sda и его размер 32 ГБ. Далее нам нужно войти в утилиту parted, чтобы разбить этот диск на разделы. Для этого запустите как root:

$ parted -a оптимальный / dev / sda

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

И мы получаем сообщение об ошибке о том, что диск не распознается. Этого следовало ожидать, поскольку процесс установки Gentoo не автоматизирован, вы можете вручную настроить каждую мелочь, включая детали разбиения на разделы для вашей базовой системы. Перво-наперво, давайте дадим нашему диску правильную метку.

(расстались) mklabel gpt

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

Разбейте диск на разделы, выполнив следующие команды (строки, начинающиеся с символа '#', являются комментариями, поясняющими команду над ними):

(раздельный) блок МБ
# Устанавливает единицы измерения в мегабайты
(разошлись) мкпарт первичный 1 20
# Делает основной раздел от 1 Мегабайта до # 20 для биоса
(разошлись) мкпарт первичный 21 500
# Раздел / загрузочная файловая система
(разошлись) мкпарт первичный 501 2500
# Раздел размером 2000 МБ предназначен для подкачки
(разошлись) мкпарт первичный 2501-1
# Раздел для файловой системы / (корневая). -1 означает, что
# этот раздел идет до самого конца диска.

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

(расстались) имя 1 жратва
(parted) установить 1 bios_grub на
# У раздела номер 1 флаг bios_grub установлен в единицу
# и ему присвоено подходящее имя.
(parted) имя 2 загрузки
(разошлись) имя 3 поменять местами
(разделено) имя 4 корень
(расстался) бросить

После установки соответствующих имен для всех 4 разделов и 1 флага bios_grub для первого раздела, мы выходим из утилиты parted. Теперь мы переходим к форматированию разделов с соответствующей файловой системой в нашей обычной оболочке bash (все еще как пользователь root), сначала выполнив следующую команду:

$ lsblk
# Чтобы вывести список всех разделов и проверить их имена узлов устройств

Вы можете видеть, что схема разбиения пометила первый раздел sda1 что соответствует разделу grub и т. д. и т. д., пока sda4. Устройства находятся в каталоге / dev как / dev / sda1, / dev / sda2 и т. Д.

Чтобы отформатировать их соответствующим образом, выполните команды:

$ mkfs.ext4 / dev / sda2
$ mkfs.ext4 / dev / sda4
$ mkswap / dev / sda3
$ swapon / dev / sda3

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

$ mount / dev / sda4 / mnt / gentoo
$ mkdir / mnt / gentoo / загрузка
$ mount / dev / sda2 / mnt / gentoo / загрузка

Наш корневой раздел монтируется в / mnt / gentoo текущей среды livecd, и аналогично наш загрузочный раздел монтируется в / mnt / gentoo / boot.

3. Получение tarball и использование chroot

Теперь, когда у нас есть подготовленный для нас диск, пришло время получить tarball с исходным кодом gentoo и поместить его туда. В среде live CD откройте браузер, откройте эту ссылку и щелкните архивы Stage3 в разделе amd64 вверху страницы.

После завершения загрузки скопируйте архив в папку / mnt / gentoo каталог и извлеките его содержимое туда.

$ cp / home / gentoo / Загрузки / mnt / gentoo
$ tar xpf stage3- *.деготь.xz --xattrs-include = '*.* '
--числовой владелец

Во второй команде утилита tar используется для распаковки архива. xpf  сообщает команде tar, что мы хотим Икс извлекать, п сохранить права доступа к файлам и ж означать, что мы извлекаем файлы, а не стандартный ввод.

Расширение файла не может быть деготь.xz в твоем случае. Обратите внимание на имя вашего файла tarball и введите соответственно.

В --xattrs-include часть команды сохраняет атрибуты (чтение, запись и выполнение) отдельных файлов

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

Если вы видите содержимое, которое будет извлечено в вашем / mnt / gentoo каталог, они будут напоминать типичную корневую среду Unix с каталогом вроде / и т. д. / sbin, так далее. Идея заключается в том, что после извлечения всех файлов, необходимых для рабочей среды Gentoo, мы изменим наш корневой каталог на / mnt / gentooиспользуйте инструменты и менеджеры пакетов, чтобы настроить его. Менеджер пакетов внесет изменения в / каталог, но его обманут, чтобы внести изменения в / mnt / gentoo каталог вместо.

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

Но сначала внесем несколько изменений в файлы конфигурации:

$ нано / gentoo / mnt / и т. д. / portage / make.conf

После CFLAGS вы должны добавить следующие строки, которые позволят portage обрабатывать файлы c ++ так же, как файлы c. Portage - это пакетный менеджер Gentoo, грубо говоря. Он используется для получения исходного кода программ, чтобы вы могли (автоматически) скомпилировать их все в своей родной системе.

$ CXXFLAGS = "$ CFLAGS"

Также скопируйте файл resolv.conf из вашей среды livecd в новый корень.

$ cp -L / etc / resolv.conf / mnt / gentoo / etc /

Теперь мы убеждаемся, что все файловые системы, необходимые ядру Linux для сбора информации о системе, доступны при попытке загрузки. Итак, мы берем информацию, собранную образом livecd о нашей виртуальной машине и ее оборудовании, и привязываем их к нашей новой корневой файловой системе.

$ mount -t proc / proc / mnt / gentoo / proc
$ mount --rbind / sys / mnt / gentoo / sys
$ mount --rbind / dev / mnt / gentoo / dev

Пришло время chroot (сменить root) на / mnt / gentoo.

$ chroot / mnt / gentoo / bin / bash
$ source / etc / profile
$ export PS1 = "(chroot) $ PS1"

4. Компиляция ядра Linux

Давайте синхронизируем наше дерево портежей (репозиторий программного обеспечения) с официальной версией. Это похоже на подходящее обновление в Ubuntu.

$ emerge-webrsync

Как только это закончится, мы сможем выбрать профиль для нашей системы. Что по сути настраивает систему для конкретного случая использования (сервер, рабочая станция и т. Д.). Мы будем использовать плазменную среду KDE под номером шесть.

$ eselect список профилей
$ eselect набор профилей 6

Конфигурации часового пояса и локали следующие:

$ ls / usr / share / zoneinfo

Найдите свое местоположение в этом каталоге. В данном случае это была Азия / Дили

$ cp / usr / share / zoneinfo / Continent / City / etc / localtime
$ echo "Asia / Dili"> / etc / timezone

Затем раскомментируйте набор символов для конкретного местоположения и язык, который вы хотите использовать, из файла / etc / locale.ген. Мы раскомментировали строку en США.UTF-8 UTF-8.

$ nano / etc / locale.ген

Примените изменения:

$ locale-gen
$ env-update && источник / etc / profile

Теперь мы можем получить исходники ядра Linux и начать их компилировать:

$ emerge gentoo-sources
$ emerge genkernel
$ genkernel все

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

5. Последние штрихи

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

Чтобы убедиться, что последнее из этих событий произошло, в chrooted среде отредактируйте файл / etc / fstab где fstab обозначает таблицу файловой системы:

$ нано / и т. д. / fstab

Внизу файла добавьте следующие строки:

/ dev / sda2 / boot ext4 по умолчанию, noatime 0 2
/ dev / sda4 / ext4 noatime 0 1
/ dev / sda3 нет подкачки sw 0 0

Установите DHCP-клиент, чтобы ваша виртуальная машина могла подключаться к сети.

$ emerge dhcpcd

Убедитесь, что DHCP-клиент запускается в процессе загрузки:

$ rc-update добавить dhcpcd по умолчанию

Установить пароль для пользователя root так же просто, как ввести команду ниже и ввести новый пароль при появлении запроса:

$ passwd

Чтобы добавить нового пользователя с именем боб введите команду:

$ useradd -m -G пользователи, колесо, portage -s / bin / bash bob
$ passwd bob ## Это установка пароля для пользователя bob

Нам также понадобится sudo, поэтому давайте установим это:

$ emerge sudo

А затем разрешите членам группы wheel выполнять любую произвольную команду, нам нужно отредактировать файл / etc / sudoers:

$ visudo

Наконец, нам нужно установить и настроить загрузчик grub:

$ emerge grub
$ grub-install / dev / sda
$ grub-mkconfig -o / boot / grub / grub.cfg

Теперь мы можем выйти из среды chroot и размонтировать файловые системы:

$ exit
$ umount -l / mnt / gentoo / dev / shm, / pts,
$ umount -l / mnt / gentoo / boot, / proc,
$ выключить сейчас

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

После повторного запуска виртуальной машины вас встретит tty-интерфейс для недавно установленной операционной системы Gentoo. Войдите в систему, используя имя пользователя и пароль, которые вы выбрали во время установки.

Заключение

Просто процесс установки Gentoo раскрывает гораздо больше о внутренней работе и структуре большинства сред Unix. Если кто-то хочет получить более глубокие знания о системе, Gentoo Handbook будет отличным местом для начала!

Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...