Gentoo/arch/lfs как путь в мир linux

Установка исходного кода

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

Выберем подходящий исходный код ядра и установим его с помощью emerge:

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

lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-4.9.16-gentoo

Теперь следует сконфигурировать и собрать ядро. Существует два основных подхода:

  1. Ядро конфигурируется и собирается вручную.
  2. Ядро автоматически собирается и устанавливается с помощью genkernel.

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

Приступаем к настройке

Как произносится слово Gentoo, и что оно означает?

Gentoo произносится как “gen-too” (джен-ту), буква “g” в слове “Gentoo” — мягкая, как в слове “gentle” (джентл). (Информация о произношении актуальна для английского языка. Распространенные русские варианты: Гéнту и Гентý. — Прим. пер.) Научное имя пингвина Gentoo — Pygoscelis papua. Имя Gentoo было дано пингвину населением Фолклендских островов.

Что делает Gentoo особенным?

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

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

Gentoo активно развивается. Весь дистрибутив разрабатывается в быстром темпе: патчи к пакетам быстро интегрируются в основное дерево, документация обновляется ежедневно, новые возможности часто добавляются в Portage, а официальные релизы происходят дважды в год.

Просмотр Руководства Gentoo

Следующий список даёт высокоуровневый обзор архитектур, поддерживаемых различными проектами Gentoo Linux

Перед переходом к разделу «Установка» важно выбрать правильную архитектуру. Перед тем, как продолжить, уточните архитектуру своего процессора.

Заметка для новичков в Gentoo: если процессор был выпущен компанией Intel или AMD после 2015 года, то, скорей всего, выбор Руководство AMD64 будет правильным направлением.

Руководство Alpha
Alpha является 64-разрядной архитектурой, разработанной компанией Digital Equipment Corporation (DEC). Она по прежнему используется в некоторых серверах среднего и верхнего уровня, но развитие её постепенно затухает. Данная архитектура имеет несколько вариантов — ES40, AlphaPC, UP1000, Noname.
Руководство AMD64
AMD64 — это 64-разрядная архитектура, совместимая с архитектурой x86 (и поэтому также известная как x86_64

Все разделы: Установка — Работа — Portage — Сеть

). Впервые была использована фирмой AMD (под именем AMD64) и фирмой Intel (под именем EM64T) и в настоящее время является наиболее известной для компьютеров средней и высокой производительности, а также часто встречается в серверном сегменте. К архитектуре относятся процессоры AMD семейств Athlon 64, Opteron, Sempron, Phenom, FX и Ryzen вместе с процессорами Intel семейств Pentium 4, Core2, Core i3, i5, i7 и некоторых вариантов семейства Atom.

Руководство ARM
ARM — это 32-битная архитектура, часто встречающаяся во встраиваемых и микросистемах. Подмножества с ARMv2 по ARMv6, ARMv6-M (Cortex), а также ARMv8-R и ARMv8-M часто можно найти в сотовых телефонах, планшетах, игровых консолях, GPS-навигаторах и других подобных системах. Сюда также относятся StrongARM и Cortex-M.
Руководство ARM64
ARM64 — это новый 64-битный вариант ARM для встраиваемых и серверных систем. Основная субархитектура, называемая AArch64 (также известная как ARMv8-A), выпускается несколькими производителями. Микросхемы AArch64 встречаются в различных SoC-системах, включая платы разработчиков, смартфоны, планшеты, смарт-телевизоры и так далее. Варианты данной архитектуры: ARM Holdings Cortex-A53, A57, A72, A73 и Qualcomm Kryo и Falkor.
Руководство HPPA
Часто упоминаемая как HPPA, архитектура PA-RISC является набором инструкций, разработанным Hewlett-Packard, и использовалась в серверах среднего и верхнего класса до 2008 года (после этого HP переключилась на Intel Itanium). Варианты включают в себя HP 9000 и PA-8600.
Руководство IA64
IA64 — 64-битная архитектура, разработанная Intel и использовавшаяся в процессорах серии Intel Itanium. Эта архитектура не совместима с x86 или x86_64 (также известной как amd64

Все разделы: Установка — Работа — Portage — Сеть

) и встречается в основном в серии серверов среднего и высокого класса. К архитектуре относятся процессоры Intel Itanium.

Руководство MIPS
Архитектура MIPS, разработанная компанией MIPS Technologies, состоит из множества подсемейств (называемых ревизиями), таких как MIPS I, MIPS III, MIPS32, MIPS64 и других. Она является наиболее распространенной среди встраиваемых систем. Варианты: MIPS32 1074K и R16000.
Руководство PPC
PPC — это 32-битная архитектура, использовавшаяся многими процессорами Apple, IBM и Motorola. Она наиболее часто встречается во встраиваемых системах. Варианты включают Apple OldWorld, Apple NewWorld, generi Pegasos, Efika, старые IBM iSeries и pSeries.
Руководство PPC64
PPC64 — это 64-битный вариант архитектуры PPC, популярный как во встраиваемых системах, так и в производительных серверах высокого класса. Варианты включают IBM RS/6000s, IBM pSeries и IBM iSeries.
Руководство RISC-V
RISC-V является новой 32-, 64- и 128-битной архитектурой с открытым набором инструкций. На данный момент Gentoo поддерживает только 64-битный вариант RISC-V.
Руководство SPARC
Архитектура SPARC наиболее известна благодаря её основным производителям: компаниям Sun Microsystems (теперь Oracle) и Fujitsu. Обычно она используется в серверных системах, хотя может встречаться в нескольких моделях рабочих станций. В Gentoo поддерживаются только процессоры, совместимые со SPARC64. Варианты: E3000, Blade 1000 и Ultra 2.
Руководство X86
X86 — это 32-битная архитектура, используемая процессорами, которые часто обозначаются как «Intel-совместимые». До недавнего времени она была самой популярной архитектурой для настольных компьютеров. Gentoo предлагает сборки для i486 (поддерживаются все семейства) и i686 (для процессоров, совместимых с Pentium и выше). Варианты: i486, i686, AMD Athlon, Intel Core и некоторые версии Intel Atom.

Преимущества и недостатки

Как и любое программное обеспечение, Gentoo Linux имеет сильные и слабые стороны. Начать стоит со слабых:

  • Порог вхождения — требует гораздо больше знаний о системе GNU/Linux, чем другие дистрибутивы;
  • Время — требуется много времени для установки и настройки по сравнению с другими ОС;
  • Ресурсы — это дистрибутив, построенный из исходников. Поэтому его установка в короткие сроки требует довольно мощного компьютера. По иронии судьбы, для хорошо настроенной системы требуется очень мало ресурсов.

Это три главные проблемы, которые через некоторое время они перестают беспокоить. Главным образом это связано с преимуществами:

  • Еще раз порог вхождения. Пользователь Gentoo Linux в процессе получает большой объем знаний о дистрибутивах и общих системах GNU/Linux, также их различных компонентах;
  • Обновления. Установка и настройка проходят долго, поэтому обновление ограничивается 2-3 соответствующими командами, где на каждом этапе можно получить представление о будущих изменениях. Однако обновленные пакеты могут быть и для них потребуется время.
  • Документация. Она на самом деле мощная и помогает решить значительную часть проблем во время работы. Примером является справочник Gentoo, в котором описываются поэтапная установка и первоначальная настройка.
  • Сообщество. Оно является огромным источником информации и помощи (сила сообщества Gentoo Linux не в его размерах, а в наличии специалистов).
  • Производительность. Это главное преимущество — система может быть адаптирована к оборудованию, на котором она была установлена. Например, с помощью оптимизации кода для конкретного процессора и настроек ядра Linux). Это обеспечивает скорость и производительность, немыслимые в других дистрибутивах.
  • Стабильность. Gentoo Linux — это дистрибутив, который может работать долгие годы без повторной установки. Правда, это свойственно и другим дистрибутивам.
  • Конфигурация. Пользователь сам решает, как в конечном итоге будет выглядеть система, что будет установлено в ней и в каких комбинациях. Например, установить ли JACK-сервер, отключить PulseAudio, выбрать вместо GNOME окружение KDE или добавить в Ffmpeg аппаратное ускорение.

Особенности

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

Это существенное отличие от бинарных дистрибутивов (Ubuntu или Fedora), где скомпилированные версии загружаются при установке программного обеспечения.

Подробнее о дистрибутиве Ubuntu можно прочитать в данной статье.

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

Gentoo Linux не имеет постоянной модели выхода (ежеквартально выходят только профили конфигурации). Это постоянно обновляемый дистрибутив (так называемый «скользящий выпуск»), но время от времени (в среднем раз в год) выходит LiveCD для тех, кто с ним хочет познакомиться.

За долгие годы Gentoo существенно набрал популярность, привлекший огромное количество пользователей и программистов. Долгое время сообщество дистрибутива было универсальным источником знаний о системе Linux, а также местом, где были решены практически все связанные с ней проблемы.

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

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

Когда-то он находился в первой десятке DistroWatch (некоторое время даже в первой тройке). Сейчас ему едва удается держаться в конце двадцатки. К счастью, у него все еще есть довольно мощное и верное сообщество.

Устранение проблем

Вход в систему завершился с ошибкой «Oh no something has gone wrong»

Одной из причин данной ошибки может быть в правах доступа к видео устройству. Если вход в систему не удается и появляется сообщение «Oh no, something has gone wrong», то попробуйте добавить пользователя в группу video. Добавьте пользователя в группу video командой gpasswd так:

Сессия GNOME через Wayland не запускается на видеокартах NVIDIA

Ошибка запуска GNOME через Wayland является известной проблемой. К сожалению, бинарные драйверы NVIDIA в данный момент несовместимы с Wayland. Для систем, в которых бинарный драйвер NVIDIA установлен, но не используется, можно воспользоваться .

Модули ядра

Конфигурация модулей

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

Укажите модули, которые должны загружаться автоматически в файлах /etc/modules-load.d/*.conf, по одному модулю в строке. Дополнительные параметры для модулей при необходимости можно указывать в файлах /etc/modprobe.d/*.conf.

Чтобы посмотреть доступные модули, выполните команду find, не забыв заменить «<kernel version>» на собранную в предыдущем шаге версию:

Например, чтобы автоматически загрузить модуль 3c59x.ko (драйвер для определённого семейства сетевых карт от 3Com), отредактируйте файл /etc/modules-load.d/network.conf, добавив туда имя модуля. Фактическое имя файла несущественно для загрузчика.

Файл Принудительная загрузка модуля 3c59x во время загрузки

3c59x

Продолжите установку с раздела Настройка системы.

Installing Gentoo

About the Gentoo Linux installation
This chapter introduces the installation approach documented in this handbook.
Choosing the right installation medium
It is possible to install Gentoo in many ways. This chapter explains how to install Gentoo using the minimal Installation CD.
Configuring the network
To be able to download the latest source code, networking will need to be configured.
Preparing the disks
Before Gentoo can be installed, the necessary partitions must be created. This chapter describes how to partition a disk.
Installing the Gentoo installation files
The basic Gentoo system is downloaded as a stage3 archive. This chapter explains how to download and extract the archive, and also how to configure Portage, Gentoo’s package management program.
Installing the Gentoo base system
After installing and configuring the stage3, the base system is set up so that a minimal environment is available.
Configuring the Linux kernel
The Linux kernel is the core of every distribution. This chapter explains how to configure the kernel.
Configuring the system
Some important configuration files must be created. This chapter provides an overview of these files and explains how to tailor the configuration.
Installing system tools
In this chapter some important tools are selected and installed.
Configuring the bootloader
In this chapter the right bootloader is installed and configured.
Finalizing the installation
The installation is now almost done. The last finishing touches are documented in this chapter.

Viewing the Handbook

The list below gives a high-level overview of the architectures supported by various Gentoo Linux projects. It is important to choose the correct architecture before proceeding with the associated Installation section of a Handbook. Be sure to verify the CPU’s architecture before moving onward.

A rule of thumb for new Gentoo users: If the CPU was manufactured after 2015 and the manufacturer is either Intel or AMD, choosing the AMD64 Handbook is probably the correct route.

Alpha Handbook
The Alpha architecture is a 64-bit architecture developed by Digital Equipment Corporation (DEC). It is still in use by some mid-range and high-end servers, but the architecture is slowly being faded out. Variants include: ES40, AlphaPC, UP1000, and Noname.
AMD64 Handbook
AMD64 is a 64-bit architecture that is compatible with the x86 architecture (and thus also known as x86_64

Full sections: Installation – Working – Portage – Networking

). It was first used by AMD (under the AMD64 name) and Intel (under the EM64T name) and is now the most prominent architecture for medium and high-end desktop PCs. It is also commonly found in the server segment. Variants include: AMD Athlon 64, Opteron, Sempron, Phenom, FX, Ryzen, Threadripper, and Epyc along with Intel Pentium 4, Core2, Core i3, i5, i7, i9, Xeon, and some Atoms.

ARM Handbook
ARM is a 32-bit architecture that is a very popular in embedded and small systems. Sub-architectures range from ARMv2 to ARMv6 (legacy), to ARMv6-M (Cortex), as well as ARMv8-R and ARMv8-M and are often found in smart phones, tablets, hand-held consoles, end-user GPS navigation systems, etc. Variants include: StrongARM and Cortex-M.
ARM64 Handbook
ARM64 is a 64-bit variant of ARM for embedded and server systems. The primary sub-architecture referred to as AArch64 (also known as ARMv8-A) is produced by a few manufacturers. AArch64 chips are seen in a variety of SoCs including developer boards, smart phones, tablets, smart TVs, etc. Variants include: ARM Holdings’ Cortex-A53, A57, A72, A73, and Qualcomm’s Kryo and Falkor.
HPPA Handbook
Referred to as HPPA, the PA-RISC architecture is an instruction set developed by Hewlett-Packard and was used in their mid- and high-end server series until about 2008 (after which HP started using Intel Itanium). Variants include: HP 9000 and PA-8600.
IA64 Handbook
IA64 is a 64-bit architecture designed by Intel and used in their Intel Itanium processor series. This architecture is not compatible with x86 or x86_64 (a.k.a. amd64

Full sections: Installation – Working – Portage – Networking

) and is mostly found in medium and high-end server series. Variants include: Intel Itanium.

MIPS Handbook
Developed by MIPS Technologies, the MIPS architecture comprises multiple subfamilies (called revisions) such as MIPS I, MIPS III, MIPS32, MIPS64 and more. MIPS is most common in embedded systems. Variants include: MIPS32 1074K and R16000.
PPC Handbook
PPC is a 32-bit architecture used by many Apple, IBM, and Motorola processors. They are most commonly found in embedded systems. Variants include: Apple OldWorld, Apple NewWorld, generi Pegasos, Efika, older IBM iSeries and pSeries.
PPC64 Handbook
PPC64 is the 64-bit variant of the PPC architecture, popular in both embedded as well as high-end performance servers. Variants include: IBM RS/6000s, IBM pSeries, and IBM iSeries.
RISC-V Handbook
RISC-V is an upcoming 32-bit, 64-bit, and 128-bit architecture with an open instruction set. Currently, the 64-bit RISC-V variant is supported by Gentoo.
SPARC Handbook
The SPARC architecture is best known by its most common producers, Sun Microsystems (now Oracle) and Fujitsu. It is used in server systems although a few workstations exist as well. In Gentoo, only SPARC64-compatible CPUs are supported. Variants include: E3000, Blade 1000, and Ultra 2.
X86 Handbook
X86 is a 32-bit architecture used by CPUs that are often said to be «Intel compatible». It was until recently the most popular architecture for desktop PCs. Gentoo offers builds for i486 (supports all families) and i686 (supports Pentium and higher or compatible). Variants include: i486, i686, AMD Athlon, Intel Core, and some Intel Atoms.

Не поддерживаемые пакеты ядра

Теперь вкратце коснемся ряда других пакетов sys-kernel/*-sources, промелькнувших на экране во время запуска команды emerge -s sources. Ниже мы рассмотрим каждый из них в отдельности. Эти ядра предоставляются исключительно в качестве любезности — эти наборы патчей не поддерживаются командой Gentoo kernel. Поскольку нет оснований для предпочтения одних из них другим, мы рассмотрим их в алфавитном порядке.

tuxonice-sources

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

«Поколение Ubuntu»

Впервые этот термин был мной услышан в 2012 году в ходе собеседования. Сейчас я им активно пользуюсь.
Maquefel:

Всё чаще на собеседования приходят странные люди, считающие себя linux-экспертами как минимум. А по факту — знание многих слов без малейшей практики и понимания. Немало тех, кто не видел консоль или не понимает, зачем уметь в ней работать(это в linux-то). Часто знают много терминов, но не понимают что за ними стоит:

И вот лучшие из ответов(кроме попыток считать вручную):

  • Я бы написал на питоне, там что-то было для работы с SSH (ну да, с текстовым файлом)
  • Может это можно сделать через awk? но я не уверен (тепло, но написать не смог)
  • Есть grep, но я не помню как им пользоваться (оставлю без комментариев)

Ещё пример:

В данном случае я не агитирую за systemd. У него есть и плюсы, и минусы.

Замечу, что данные вопросы задавал не только я, но и мне практически на всех собеседованиях, где нужен специалист со знанием linux. Конкретно вот эти результаты получены были при собеседовании на далеко не начальную должность, тесно связанную с linux. С шестизначной зарплатой.

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

Working with Portage

Files and directories
To know Portage in-depth, first learn where it stores its files and data.
Variables
Portage is completely configurable, with several options that can be set in a configuration file, or as environment variables.
Mixing software branches
Gentoo provides software separated in several branches, depending on stability and architectural support. «Mixing Software Branches» explains how these branches can be configured and how to override this separation individually.
Additional tools
Portage comes with a few extra tools that might make the Gentoo experience even better. Read on to discover how to use dispatch-conf and other tools.
Custom package repository
This chapter gives some tips and tricks on how to use a custom package repository, how to synchronize only the required categories, how to inject packages, and more.
Advanced features
As time passes, Portage evolves and matures. New features are continually being added. Many of these are useful only to the more experienced user. This chapter explains some of Portage’s newer features.

По умолчанию: GRUB2

Emerge

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

Заметка для пользователей UEFI: запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией. Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что включено (обычно это уже сделано по умолчанию). Если это не так, добавьте в файл /etc/portage/make.conf до компиляции GRUB2, что позволит собрать пакет с поддержкой EFI:

Если GRUB2 был каким-то образом был установлен до включения , то добавьте строку (из примера выше) в make.conf, после чего повторно переопределите зависимости для для набора пакетов world с помощью emerge :

GRUB2 теперь установлен в системе, но еще не активирован.

Установка GRUB2 на диск

Далее установим необходимые для GRUB2 файлы в каталог /boot/grub/ с помощью команды grub-install. Если предположить, что первый диском (тот, с которого будет загружаться система) является /dev/sda, то одна из следующих команд сделает это:

Когда используется BIOS:

Когда используется UEFI:

ВажноУбедитесь, что системный раздел EFI был смонтирован перед запуском grub-install. grub-install может установить файл GRUB EFI (grubx64.efi) в неправильном каталоге без каких-либо сообщений, о том, что использовался неправильный каталог

ЗаметкаИзмените параметр на корневой каталог системного раздела EFI. Это необходимо, если раздел /boot не был отформатирован как FAT.

ВажноЕсли grub_install вернёт ошибку , необходимо перемонтировать специальную точку монтирования efivars в режим чтения-записи:

Некоторые производители материнских плат поддерживают только каталог /efi/boot/ для расположения файла .EFI в системном разделе EFI (ESP). Установщик GRUB может выполнить эту операцию автоматически, если использовать параметр . Убедитесь, что ESP смонтирован до запуска следующих команд. Предполагая, что ESP смонтирован в /boot (как было предложено ранее), выполните:

Это создает каталог по умолчанию, определенный спецификацией UEFI, а затем скопирует файл grubx64.efi в каталог EFI «по умолчанию», определенный той же спецификацией.

Настройка

Далее, нужно сгенерировать конфигурационный файл GRUB2 на основе настроек пользователя, указанных в файле /etc/default/grub и сценариях /etc/grub.d. В большинстве случаев ничего не нужно настраивать, так как GRUB2 автоматически определяет, какое ядро есть для загрузки (самый высокий приоритет у /boot/) и какая файловая система у rootfs. Здесь также можно добавить параметры ядра в /etc/default/grub, используя переменную GRUB_CMDLINE_LINUX.

Для создания окончательной конфигурации GRUB2, запустите команду grub-mkconfig:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-4.9.16-gentoo
Found initrd image: /boot/initramfs-genkernel-amd64-4.9.16-gentoo
done

Вывод команды должен содержать по крайней мере один образ Linux, так как он необходим для загрузки системы. Если используется initramfs или ядро создавалось с помощью genkernel, также должен быть указан правильный образ initrd. Если это не так, перейдите в /boot/ и проверьте содержимое, используя команду ls. Если файлы действительно отсутствуют, вернитесь к инструкции по настройке и установке ядра.

RC-сценарии

RC-сценарии определяют как основные функции каждого сервиса, так и
зависимости при загрузке. Расположены они в /etc/init.d/.

Базовая схема RC-сценария

#!/sbin/runscript

depend() {
    need bar
}

start() {
    ebegin "Starting foo"
    /sbin/foo
    eend $? "Failed to start foo"
}

stop() {
    ebegin "Stopping foo"
    kill $(cat /var/run/foo.pid)
    eend $? "Failed to stop foo"
}

Интерпретатор для RC-сценариев — «/sbin/runscript». Функция «depend» не обязательна. Каждый RC-сценарий должен иметь по крайней мере функцию «start».

Управление запуском

Общепринятым порядком запуска сервисов на уровне исполнения является алфавитный — вследствие выходной информации, генерируемой /bin/ls.

Зависимости — основной способ уклониться от порядка исполнения по
умолчанию. В других случаях (если между сервисами зависимости
отсутствуют) можно использовать типы упорядочивания (order types).

Gentoo network configuration

Getting started
A guide to quickly get the network interface up and running in most common environments.
Advanced configuration
Here we learn about how the configuration works — this is prerequisite knowledge before continuing with modular networking.
Modular networking
Learn how to choose different DHCP clients, setting up bonding, bridging, VLANs, and more.
Wireless
Configuring Gentoo for wireless networks
Adding functionality
Adventurous users can add their own functions to the networking tools.
Dynamic management
For laptop users or people who move their computer around different networks.

A handbook dedicated to installing and configuring the x86 architecture.

Виртуальные сервисы

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

Один из примеров — это system loggers, которых в Gentoo Linux
насчитывается четыре разновидности. Все сервисы, которым для работы
требуется запущенный system logger, не могут использовать
NEED-зависимость сразу для всех четырех. А USE-зависимость — слишком
слабая.

Именно здесь и вступают в действие виртуальные сервисы и тип PROVIDE.

Тип PROVIDE

Тип PROVIDE определяет виртуальный сервис, который все остальные сервисы могут подключать с помощью NEED или USE зависимостей.

sysklogd предоставляет logger

depend() {
    provide logger
}

LOGGER — это предопределенный виртуальный сервис, предоставляемый всеми system loggers. Его можно использовать с помощью типов зависимости NEED или USE.

Виртуальный сервис NET

Сервис NET — это еще один виртуальный сервис, но, в отличие от LOGGER, не предоставляющий PROVIDE явно.

Для того, чтобы предоставлять виртуальный сервис-NET, сервис должен:

  • Быть добавленным к текущему или загрузочному уровню исполнения
  • Иметь в начале своего имени «net.».
  • Часть имени после «net.» должна быть именем существующего сетевого интерфейса (например, net.eth0 или net.ppp1 for example).

Для каждого действительного сервиса net.* переменная $IFACE будет
содержать имя сетевого интерфейса (например, «eth0» для net.eth0).

Ядро

Скачаем исходники ядра

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

Способ 1 — всё и сразу

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

В таком случае вы сможете собрать своё ядро, а genkernel сделает всё остальное.
После сборки можете просто проверить название созданного ядра и initrd, а затем
обратиться к дальнейшему пункту о сборке программ:

Способ 2 — только то, что нужно

Здесь всё строго индивидуально. Используете usb-мышь или клавиатуру? Проверьте включена ли их поддержка. Хотите, чтобы система понимала NTFS? Проверьте включена ли её поддержка. Настроек хватит на всё: тип процессора, видео, звук, поддержка файловых систем, девайсов устройств, поддерживаемых кодировок. Просто пройдитесь по пунктам меню и поразбирайтесь,что вам нужно,а что нет. Если вы испытываете затруднения с этим, можете ознакомиться со следующей заметкой, а затем продолжить.

Настроили? Теперь ядро нужно скомпилировать и установить:

И скопировать ядро в :

Пример:

Если вы собрали ядро с initramfs, следует всё же установить genkernel и скомандовать:

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

Теперь добавляем эти вещи в автозагрузку:

Примечание:

Если вы владелец беспроводного соединения, лучше заранее озаботиться о простом
способе подключения к сети после первой перезагрузки. Например, установить wicd
с флагом : это позволит провести настройку с помощью вызова
wicd-curses. Также не забывайте заглянуть в содержимое ,
которое может быть перезаписано dhcpcd.

Проверяем наши устройства:

Должно получиться примерно так:

Обратите внимание: нужно убрать параметр noauto напротив (в данном
примере расположен на ). Вообще, boot и swap-разделы создавать
необязательно

Монтирование и по вкусу и потребностям.

Имя хоста:

Укажите здесь имя своего ПК

Сеть:

дописываем:

Теперь следует указать gentoo на существующий интерфейс. Для этого создайте символьную ссылку на :

Добавление сетевого интерфейса в автозагрузку:

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

впишите пароль для учётной записи root

Примечание: можете также ознакомиться с настройками файла (редактор по умолчанию, графическая среда и прочее)

Настройка раскладки клавиатуры:

Настройка часов:

Установка загрузчика grub2:

По состоянию на 2015 год в gentoo предлагается установка grub2 по-умолчанию,
хотя вы всегда можете выбрать любой другой загрузчик: grub-legacy, lilo.

Подведение итогов и ссылки на другие ресурсы

Итог

Поздравляем; Вы добрались до конца нашего обзора об основах Linux! Я надеюсь, что это помогло вам укрепить свои фундаментальные познания в Linux. Темы, которые вы здесь изучили, включая основы работы в bash, основные команды Linux, ссылки и джокеры — заложили фундамент для нашего следующего пособия об основах администрирования, в котором мы рассмотрим такие темы, как регулярные выражения, принадлежность и права доступа, управления аккаунтами пользователей, и многое другое.

Продолжая погружаться в эти учебные пособия, вы скоро достигните LPIC Level 1 сертификации от Linux Professional Institute. Говоря об этой сертификации, если это действительно то, в чем вы заинтересованы, мы рекомендуем вам изучить ресурсы из параграфа ниже, которые были внимательно подобраны к материалу освещенному в этом руководстве.

Ссылки

В серии статей «Bash в примерах», Дэниэль показывает как использовать программные конструкции bash для написания ваших собственных bash-скриптов. Эта серия (в основном 1 и 2 части) будет отличной подготовкой для LPIC Level 1:

  • Bash в примерах, Часть 1: Основы программирования в Bourne-again shell — на английском, перевод на русский ожидается
  • Bash в примерах, Часть 2: Ещё больше об основах программирования в bash — на английском, ждите перевода
  • Bash в примерах, Часть 3: Рассматриваем систему ebuild-ов — на английском, перевод будет

Продолжение…

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: