Установка gentoo для лохов

Установка gentoo для лохов

Сегодня будем развенчивать миф о сложности установки Gentoo. Почему установка "по-русски"? Потому что настраивать станем русскую локаль, раскладку и временную зону. Статья получилась довольно объёмной, для тех, кто не знает, как скоротать долгий вечер).

Предлагается вооружиться знаниями об архитектуре своего процессора, перейти на страницу get gentoo

, выбрать эту самую архитектуру и после стольких утомительных мышкодвижений скачать и записать на диск (или usb-flash) нужный образ:

stages → current iso → install-$ARCH-minimal-*.iso.

# Загрузитесь с СD-диска.

Грузимся с параметрами по умолчанию.

# Настройка интернет-соединения:

автор использует модемное соединение, данные передаются автоматически при помощи DHCP.

если кроме интерфейса lo больше ничего нет, значит делаем следующее:

после чего повторяем команду /sbin/ifconfig

теперь у нас появились данные интерфейса eth0 .

Для настройки adsl-соединения:

чтобы прервать пинги:

Также для настройки обычного или беспроводного соединения можно использовать команду net-setup eth0 , где eth0 — имя сетевого интерфейса. Интернет настроили, идём дальше

# Создание разделов диска

Для этого воспользуемся cfdisk :

перед тем,как создавать разделы,сядьте и подумайте какие,какого размера и с какой файловой системой.

  • / — корневой каталог
  • /home — директории пользователей
  • /boot — загрузочные файлы
  • /usr — пользовательские приложения.
  • /var — изменяемые приложения, лучше не жадничать хотя бы потому,что там будут компилироваться наши пакеты
  • /opt — большой размер нужен для игрового сервера

Лучше записать то, что вы себе насочиняли. Для домашнего использования можно обойтись стандартными каталогами /boot , / , swap .

# Непосредственно создание разделов:

где sda — SCSI-диск; hda — IDE-диск. Выбирайте что нужно вам.

  • news — создание нового раздела
  • type — выбор типа файловой системы (83 — Linux, 82 — swap )
  • bootable — отметить как загрузочный (укажите для раздела,в который хотите смонтировать /boot !)
  • write — записать изменения
  • delete — удалить
  • quit — выйти

# Назначение файловой системы:

# Назначение точек монтирования:

# Архив стадии, дерево портежей

В качестве источника загрузки автором было использовано зеркало mirror.yandex.ru Внимательно следите за тем,чтобы загрузить подходящий скачанному вами образу архив. В примере использован amd64.

Выберите файл stage3*.tar.bz и нажмите enter . Начнётся загрузка архива, это 161 Мб, так что пока можно попить кофейку.

Теперь сделаем снимок дерева портежей

выбираем внизу portage-latest.tar.bz2

распаковываем (из корневого каталога):

# Настройка компиляции ядра

Настройки хранятся в файле mnt/gentoo/etc/portage/make.conf . Его и открываем любимым редактором (joe, nano, vi?) Здесь используются переменные и значения. Пример:

переменная — CHOST , её значение — x86_64-pc-linux-gnu — указывает на архитектуру процессора CFLAGS="-march=k8 -pipe -O2" — где

"-march=k8" — название целевой архитектуры, k8 прописывается для amd64, -О2 — классс оптимизации.

Допустимые значения:

  • -s оптимизация по размеру
  • -0 без оптимизации
  • -1 -2 -3 — по скорости
  • CXXFLAGS="$" — не изменяйте её
  • MAKEOPTS="-j2" — определяет сколько параллельных процессов компиляции можно запускать при установке пакета. Обычно ставят значение равное количеству ядер процессора +1. Если ваш процессор поддерживает технологию Hyper-threading, разумное значение будет: количество доступных ядер, умноженное на 2 +1.

Более тонкой настройки можно пока не делать, займёмся этим позже.

# Выбор зеркал, DNS, chroot

Действия в примере производятся из каталога /

Выбор зеркала загрузки

Выбор зеркала rsync:

Из предложенного списка выберите зеркала России.

Нелишним будет скопировать информацию о DNS

Монтируем /proc , sys & /dev :

Переходим в новую среду с помощью chroot :

# Прочие премудрости

Обновите дерево портежей:

это может занять какое-то время, не пугайтесь

Думаю, приведённые действия не нуждаются в пояснении, всё ясно из названий профилей. Нужно лишь выбрать необходимый вам, исходя из ваших задач.

# USE-флаги

Служат для включения/отключения поддержки необязательных функций при компиляции программ. Вам не нужен X-сервер? Допишите значение "-X" . Не нужна поддержка qt? Значит "-qt" . И наоборот включите поддержку unicode: "unicode" . Посмотреть допустимые значения:

В статье рассматривается установка gentoo — одного из дистрибутивов Linux. Статья не обьясняет многие технические термины и не является заменой официального handbook. Установка проводится на виртуальный сервер под управлением vmware esxi6.5. Предполагается, что виртуальный сервер уже создан средствами ESXi Embedded Host Client и имеет следующую конфигурацию:

CDROM: в качестве диска имидж gentoo-install-amd64-minimal-20150521.iso взятый с сайта gentoo

Запускаем виртуальную машину с СД, на приглашение boot пишем gentoo. После продолжения загрузки и выбора опций по умолчанию получаем приглашение командной строки

Вводим пароль рута. Необходимо защититься. В процессе установки виртуальная машина будет доступна из вне

New password: (Enter the new password)
Re-enter password: (Re-enter the password)

Запуск ssh

Необходимо для удаленного подключения в виртуальной машине, так как продолжать установку из консоли vmware sphere не совсем удобно

Читайте также:  Как сделать скрин определенной области экрана

Задаем параметры сети. Где x.x.x.x внешний адрес выданный нам провайдером, x.x.x.1 — шлюз провайдера через который мы выходим в мир. Просмотрим список сетевых интерфейсов и даем ему адрес

В /etc/resolv.conf указываем сторонний днс-сервер, пока нет своего

Пробуем попингать кого-нибудь, например ping gmail.com

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

Разбивка диска

GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
(parted)

Используем разметку gpt

Создание разделов

Сделаем четыре раздела:

  1. /dev/sda1 BIOS boot раздел — рекомендовано создавать в любом случае
  2. /dev/sda2 Boot раздел
  3. /dev/sda3 Swap раздел
  4. /dev/sda4 Root раздел

По желанию можно создать еще отдельно /dev/sda5 для /home, но я этого не делал. Если мне подребуется /home выходящий за пределы размера текущего диска, то я просто создам дополнительный виртуальный диск и подключу его к виртуальной машине

При создании разделов (mkpart) размер разделов неявно указан в мегабайтах

-1 значит от 10-го гигабайта и до конца диска. В результате после выполнения print получаем следующую картину

Форматирование разделов

Я придерживаюсь правил официального мана, поэтому делаю загрузочный раздел (/dev/sda2) в ext2 и корневой раздел (/dev/sda4) в ext4

Активация и инициализация раздела подкачки

Монтирование разделов

Установка из архива stage3 amd64

В браузере идем на https://www.gentoo.org/downloads/, находим Stage Archives, копируем ссылку и подкидываем ее в wget

В результате мы получили установленную систему. Да, во так просто. Но это еще не все. Впереди еще конфигурирование системы, компиляция ядра, установка загрузчика

Задание параметров компиляции свежеустановленной системы

Мой make.conf содержит следующее

Информацию о CPU_FLAGS_X86 можем получить установив пакет app-portage/cpuid2cpuflags или командой cat /proc/cpuinfo

Копируем информацию о ДНС

Подготовка к переходу в новое окружение. Монтирование

Файловые системы, которые должны быть доступны:

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

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

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

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

Установка portages и синхронизация до актуальной версии

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

Мне нужен профиль 11, я его выбираю следующей командой

Использование USE флагов

USE-флаги задают опции сборки программ включая или выключая нужное. В отличии от FreeBSD, где опции сборки нужно выбирать по ходу установки зависимостей устанавливаемой программы (Например: Вы желаете собрать postfix с поддержкой tls и mysql. В папке порта postfix вы запускаете команду make. Postfix не будет собран пока не будут собраны и установлены его зависимости, в даном случае mysql и openssl, каждая из которых имеет свой конфигуратор. Тоесть после make из /usr/ports/mail/postfix автоматически будет запущен конфигуратор openssl, где нужно проставить флаги сборки (или согласится на что, что есть) и ждать пока будет собран и установлен этот пакет, после чего установщик перейдет к следующей зависимости, в данном случае к mysql, в конфигураторе которого также нужно сделать выбор. Таким образом администратор должен полностью контролировать процесс) gentoo предлагает более удобный механизм-задать опции сразу. Часть из них я уже указал ранее в /etc/portage/make.conf

Полное описание всех доступных USE флагов можно найти в файле /usr/portage/profiles/use.desc

Просмотр USE-флагов, которые используются для выбранного профиля

В файле /etc/portage/make.conf можно добавлять, убирать USE-флаги. Если это произошло, то необходимо пересобрать мир следующей командой

Читайте также:  Программа для виндовс телефонов на компьютер

В дальнейшем мне потребуется vim/vi, поэтому я сразу устанавливаю его. Можно и не устанавливать и пользоваться дифолтным nano

Часовой пояс и дата

Список часовых поясов Европы

Создаем свою таймзону

На основании записи в /etc/timezone сгенерируем /etc/localtime. Таким образом время на сервере будет из нашей географической временной зоны

Настройка локали

Локаль указывает не только язык, который используется при взаимодействии с системой, но и правила для сортировки строк, формат вывода даты и времени, и т.д.

Раскомментируем нужные локали. Я себе оставил en_US.UTF-8 UTF-8. Полный список доступных локалей можно посмотреть командой

Сгенерируем свои локали

Теперь locale -a покажет только наши локали, а команда

покажет нумерованый список локалей из которых выбираем свою en_US.utf8

Установка ядра

Следующая команда устанавливает исходники ядра в /usr/src/, в котором символьная ссылка linux будет указывать на текущую версию

Собрать ядро можно либо вручную, либо при помощи программы genkernel. Я предпочитаю ее

Для текущей разметки создадим файл /etc/fstab, в котором будут следующие записи

Собираем ядро

Так как у меня есть готовый конфиг ядра на другом сервере, то я возьму его и положу в /etc/kernels и затем дам команду сборки ядра. Если готовый конфиг взять негде, то genkernel запустит конфигуратор, где есть возможность выбрать нужные опции (главное не запутаться). Сохраненный конфиг-файл .config будет находится в папке /usr/src/linux. После окончания компиляции genkernel скопирует его в /etc/kernels с именем kernel-config-x86_64-4.4.26-gentoo, где 4.4.26 текущая, пролинкованая версия ядра (см. в /usr/src/)

В среднем компиляция выполняется минут 20-40

Настройка сети будущего сервера

В папке /etc/conf.d лежат конфигурационные файлы. Некоторые из них нужно изменить

Адреса для внешнего (eth0) и внутреннего интерфейса (eth1)

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

и постановкой их в автозапуск

Обращаю внимание на то, что названия наших интерфейсов enp2s0 и enp2s1. А сконфигурированы у нас интерфейсы с именами eth0 и eth1. Если не решить этот конфликт, то после перегрузки сервер окажется без сети, что явно плохо. Для решения проблемы в файле /etc/default/grub для параметра GRUB_CMDLINE_LINUX нужно добавить net.ifnames=0. Для нашего примера это выглядит так

Нужно запомнить этот момент и позже, когда будет установлен программа grub, но до инсталяции на бутовый раздел внести изменения в файл /etc/default/grub

Установка пароля

Для пользователя root

Так как под рутом работать не принято, то заведем для себя учетку и установим пароль

Удаленный доступ по ssh

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

Установка и конфигурирование загрузчика GRUB

Теперь внесем изменения в файл /etc/default/grub, о чем я писал выше и установим загрузчик на раздел /dev/sda

Финиш

Выход из chroot, размонтирование файловых систем, перегрузка

И в заключении даю ряд утилит, необходимых для начальной работы сервера

Приспичило собрать на отдельном диске свеженькую ОС — без графики, только основные компоненты.

Кратко о железе. Сетевая карта и видюха в данном случае роли не играют — мои железки отлично поддерживаются в линуксе. Тем более, что при настройке ядра каждый должен выбрать драйвера для своего железа.
На борту имеется:

  • Intel Core i7-3770
  • Три SATA HD
  • sda — Win 10
  • sdb — Gentoo рабочая система
  • sdc — пустой диск

На руководство я не претендую и советую после прочтения конспекта обратиться к той самой Великой Книге всех гентушников — Хэндбук (далее ХБ):
https://wiki.gentoo.org/wiki/Handbook:AMD64/ru
Я лишь хочу показать, что даже для неопытного линуксоида, к которым я отношу и себя, установка Gentoo не составляет каких-то особых проблем. Добавлю, что при установке системы я нахожусь в заранее выгодном положении. Во-первых, за плечами не одна сборка этого чуда. Во-вторых, я работаю из полностью допиленной системы Gentoo. Для установки Gentoo сгодится любой дистрибутив, установленный на ПК, но можно воспользоваться Live-образами с сайта https://gentoo.org/downloads/ или http://www.system-rescue-cd.org/Download/. Вторым я сам не пользовался, но говорят, что он вполне пригоден. А Hybrid ISO (Live-DVD) вполне способен обеспечить комфортную среду для сборки системы. Самое главное, чтобы в запущенной системе работал интернет.
Итак, начну.

Первый этап установки состоит в разметке диска, на котором будет установлена свеженькая ОС. Я размечаю так, как я привык. Думаю, человек, дошедший до установки Gentoo, сам знает, как ему нужно разбивать диск.
Все действия я выполнил от имени root.

Читайте также:  Невозможно отобразить данный видеорежим philips телевизор

Разметил sdc на четыре раздела при помощи cfdisk — удобная программа.

Схема разделов:

  • sdc1 — 512M — под boot (тип ФС 83)
  • sdc2 — 50GB — под корень (тип ФС 83)
  • sdc3 — 413,3 — под home (тип ФС 83)
  • sdc4 — оставшиеся ровно 2G под swap (тип ФС 82)

Создал ФС на размеченном диске.

Создал директорию, в которую смонтирую корень будущей системы sdc2.

Создал на нём нужные мне директории.

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

И в случае несоответствия настроить: месяц, число, час, минута, год. Например:

Перешёл в директорию корня новой системы.

При помощи elinks (можно использовать хоть links, хоть wget — что душа захочет) скачал stage3 системы.

Взял архив по адресу:
releases > amd64 > autobuilds > current-stage3-amd-64 > stage3-amd64-*.tar.xz

Архив сохранен в /mnt/gentoo. Распаковал.

С этого момента начинается базовая настройка будущей системы.

Файл make.conf содержит в себе параметры компиляции пакетов, компонентов для сборки, важных путей для portage. Поскольку я ставлю ОС без всякой графики и прочего, на данном этапе мне достаточно такого конфига:

Коротко о некоторых параметрах:
CFLAGS="-march=ivybridge -O2 -pipe" — здесь указал технологию процессора (ivybridge).
CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3″ — наборы инструкций процессора. Их я вычислил командой cpuid2cpuflags. Если в запущенной системе такой утилиты нет, можно сделать это после чрута, установив

MAKEOPTS="-j6″ — имея 4-ядерный камень с 8-ю потоками выполнения, я выбрал 6 потоков компиляции. Мне хватает.
GENTOO_MIRRORS="ftp://mirror.yandex.ru/gentoo-distfiles/" — выбрал зеркало пакетов. Всегда пользуюсь зеркалом Яндекса.
ACCEPT_KEYWORDS="amd64″ — выбрал стабильную ветку для 64-битной системы.

amd64 — нестабильная. С x86 и

x86 всё аналогично.

Настроил дефолтный репозиторий ebuild-ов, как требует ХБ.

Скопировал информацию о действующих DNS провайдера.

Смонтировал необходимые ФС.

Чрутнулся в новую систему, обновил среду.

Команда ниже — для удобства. Советую выполнить.

Смонтировал остальные разделы уже в чруте.

Получил снимок репозитория, обновил его.

Есть новости дистрибутива. Стоит почитать.

Читать можно командой eselect news. Если не ввести номер, под которым размещена новость, будут открыты все сообщения и помечены прочитанными.

Список профилей системы.

Стоит выбрать stable профили.

По умолчанию включен устраивающий меня профиль. Проверил.

Установить другой можно командой:

Обновил мир. Поскольку я выбрал лёгкий профиль — без иксов, графики и прочего, обновление не заняло много времени — порядка пяти минут.

Можно поглядеть, какие флаги включены в профиле.

Описание флагов можно почитать тут:

Флаги задаются в переменной USE. На данном этапе никаких флагов я включать не буду.

Установил временную зону.

Список зон можно посмотреть директории:

Настроил нужные мне локали.

Выбрал системную локаль, обновил среду.

Локаль записалась сюда:

Установил сиходники ядра.

Проверил, указывает ли ссылка /usr/src/linux на директорию с исходниками ядра.

В дальнейшем список исходников можно посмотреть и выбрать так:

Для настройки ядра рекомендую обратиться к Хэндбуку, поскольку это самый сложный этап.
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel/ru

У меня имеется конфиг рабочего ядра, его я перенес в новую систему.

Скомпилировал ядро и модули.

Установил имя компьютера.

Настроил сеть. Использую статику. Вручную прописываю DNS провайдера. О других вариантах настройки лучше меня расскажет ХБ.

Сделал симлинк для запуска сетевого интерфейса, добавил его в загрузки.

Задал пароль рута.

Настроил системные часы. Использую систему UTC. Если на ПК стоит другая ОС, не использующая время в UTC, возникнут проблемы. Все ОС должны быть настроены на UTC. Винда, кстати, тоже умеет.

clock_systohc="YES« — раскомментировал эту строку для синхронизации с «железным» временем.

По установке системных средств можно обратиться к ХБ.
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Tools/ru

Настроил точки монтирования.

Указал в make.conf платформу для grub2.

Добавил флаг mount для grub2 (требует os-prober)

Установил grub2 и os-prober.

Установил загрузчик на sdc, настроил конфиг.

Вышел из чрута и папки с новой системой.

Если что-то там не отмонтировалось — не беда. После перезагрузки с целевого диска я имею рабочую Gentoo без графики, с сетью, с учётной записью root и полностью готовую к настройке.

Как можно видеть, стандартная установка Gentoo едва ли вызовет сложности. И спасибо, что заглянули в мою шпаргалку!

Ссылка на основную публикацию
Уровень интенсивности в дб формула
Очень часто новички сталкивается с таким понятием, как децибел. Многие из них интуитивно догадываются, что это такое, но у большинства...
Удалить программу через консоль
Операционная система Windows предлагает несколько способов для удаления установленных приложений и программ. Некоторые пользователи даже прибегают к использованию стороннего программного...
Удалить раздел жёсткого диска
Столкнулись с проблемой, что невозможно удалить EFI раздел с жёсткого диска в Windows? Не волнуйтесь данную проблему можно решить довольно...
Усилитель wifi сигнала для роутера какой выбрать
Привет! Поговорим сегодня про усилители Wi-Fi сигнала. Переезд столкнул меня лицом к лицу с новой проблемой – площадь увеличилась, а...
Adblock detector