В начало → Настольная книга Gentoo Linux x86 |
Ссылка на оригинал: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml
С версии: 1.0
Содержание:
Из этой части вы узнаете, как устанавливать Gentoo на свою систему.
Об установке Gentoo Linux
В этой главе дается общее представление о предлагаемом порядке установки.
Выбор подходящего источника для установки
Gentoo можно устанавливать по-разному. Здесь описывается, как установить Gentoo с минимального установочного диска. Способ подходит и для установки с универсального установочного диска.
Настройка сети
Чтобы загрузить новейший исходный код, потребуется настройка сети. Здесь описывается порядок ее выполнения.
Подготовка дисков
Чтобы установить Gentoo, нужно создать подходящие дисковые разделы. В этой главе описывается, как разбить диск для будущего использования.
Установка установочных файлов Gentoo
Установка Gentoo выполняется с помощью архива третьей стадии (stage3). В этой главе мы расскажем, как извлечь файл третьей стадии и настроить Portage.
Установка базовой системы Gentoo
После установки и настройки третьей стадии в вашем распоряжении оказывается базовая система Gentoo. Здесь описывается, как этого достичь.
Настройка ядра
Ядро Linux — сердце каждого дистрибутива. В этой главе описывается, как его настроить.
Настройка параметров системы
Вам потребуется отредактировать несколько важных конфигурационных файлов. Из этой главы вы получите представление об этих файлах и поймете, как с ними обращаться.
Установка нужных системных средств
Как отмечено ранее, Gentoo — это богатство выбора. В этой главе мы поможем вам выбрать и установить некоторые важные инструменты.
Настройка начального загрузчика
Для архитектуры x86 существует несколько загрузчиков. Каждый из них настраивается по-своему. В этой главе мы шаг за шагом объясним вам порядок настройки начального загрузчика для ваших нужд.
Завершение установки Gentoo
Установка почти закончена. Осталось создать одну (или несколько) учетных записей для пользователей вашей системы. Как это делается, описано в данной главе.
Чем заняться дальше?
Теперь у вас появилась собственная система Gentoo. Но чем же заняться дальше?
Здесь вы научитесь работать с Gentoo: устанавливать программное обеспечение, изменять значения переменных, управлять поведением Portage и т.д.
Введение в Portage
В этой главе описываются «простые» шаги, которые вам точно потребуется знать для поддержания в порядке и обслуживания программного обеспечения.
USE-флаги
USE-флаги (признаки использования) — очень важный аспект Gentoo. Прочитав эту главу, вы научитесь обращаться с ними и разберетесь, как USE-флаги влияют на систему.
Возможности Portage
Откройте для себя дополнительные возможности Portage: поддержку распределенной компиляции, кэш компилятора и др.
Сценарии инициализации
В Gentoo используется специальный формат сценариев инициализации (initscript), в котором, например, предусмотрены решения, управляемые зависимостями, и виртуальные сценарии. Здесь описываются эти аспекты, и объясняется, как обращаться со сценариями.
Переменные среды
В Gentoo можно довольно легко управлять системными переменными среды. В этой главе объясняется, как это делать, и описываются часто используемые переменные.
В этой части подробно описывается Portage, средство управления программным обеспечением Gentoo.
Файлы и каталоги
Чтобы поближе познакомиться с Portage, вам потребуется узнать, где же хранятся его файлы и данные.
Настройка с помощью переменных
Portage полностью настраивается с помощью различных переменных, которые устанавливаются в конфигурационном файле или как переменные среды.
Смешение ветвей программного обеспечения
Программное обеспечение в составе Gentoo подразделяется на ветви в зависимости от стабильности и поддержки различных архитектур. В этой главе рассказывается, как настраивать использование ветвей, а также как при необходимости преодолевать такое разделение.
Дополнительные средства Portage
В состав Portage входит несколько дополнительных инструментов, которые могут значительно улучшить ваше впечатление от Gentoo. В этой главе раскрываются секреты использования dispatch-conf и других инструментов.
Отступление от официального дерева
Здесь даются советы и показываются приемы «выращивания» собственного дерева Portage, рассказывается о том, как синхронизировать только нужные категории, добавлять свои пакеты и т.д.
Использование ebuild
В этой главе рассказывается о шагах, выполняемых Portage при установке программного обеспечения, и об их самостоятельном выполнении с помощью утилиты ebuild.
Полное руководство по сетям в Gentoo.
Начальная настройка
Руководство по быстрому запуску и подключению сетевого интерфейса в наиболее распространенных случаях.
Расширенная настройка
Здесь вы изучите, как работает конфигурация — это нужно сделать перед изучением модульного построения сети.
Модульное построение сети
В Gentoo предусмотрены гибкие сетевые средства: здесь рассказывается о выборе различных клиентов DHCP, настройке объединения, образования мостов, виртуальных сетей (VLAN) и т.п.
Беспроводная сеть
Настроить беспроводную сеть не совсем просто. Надеемся, мы поможем вам заставить ее работать.
Дополнительные возможности
Если вы ищете приключений, можете подключить к сети свои собственные функции.
Управление сетью
Для пользователей ноутбуков и тех, кто перемещает свои компьютеры из сети в сеть.
Прежде всего, добро пожаловать в Gentoo! Вы — на пороге мира больших возможностей и высокой производительности! Gentoo весь пропитан идеей свободы выбора. При установке Gentoo вы не раз убедитесь в этом: вам предстоит выбрать объем самостоятельной компиляции, способ установки Gentoo, службу журналирования системы и т.д.
Gentoo — быстрый современный метадистрибутив, обладающий большой чистотой и гибкостью. Gentoo основан на свободном программном обеспечении, и не скрывает от пользователя, «что под капотом». Portage, система управления пакетами Gentoo, написана на языке Python, что позволяет легко просматривать и изменять ее исходный код. Сборка Gentoo также выполняется из исходных текстов (хотя есть и поддержка бинарных пакетов), а настройка Gentoo выполняется с помощью обычных текстовых файлов. Другими словами — сплошная открытость и свобода!
Важно понимать, что Gentoo развивается именно благодаря свободе выбора. Мы стараемся ничего вам не навязывать. А если вам покажется обратное — пожалуйста, сообщите нам об этой оплошности.
Установка Gentoo рассматривается как последовательность из 10 шагов, которым соответствуют главы 2—11. Каждый шаг приводит к определенному состоянию:
результат шага 1: вы — в рабочей среде, готовой к установке Gentoo;
результат шага 2: ваше подключение к интернету готово для установки Gentoo;
результат шага 3: ваши жесткие диски готовы стать родным домом для Gentoo;
результат шага 4: подготовлена установочная среда, и вы готовы переключиться (chroot) в новую среду;
результат шага 5: развернуты пакеты ядра, общие для всех систем Gentoo;
результат шага 6: вы скомпилировали собственное ядро Linux;
результат шага 7: вы написали большую часть конфигурационных файлов системы Gentoo;
результат шага 8: установлены необходимые системные средства (которые вы сами выбрали из славного списка);
результат шага 9: установлен и настроен избранный загрузчик ОС, и вы вошли в новую систему Gentoo;
результат шага 10: вы можете начинать изучение своей собственной среды Gentoo Linux!
Мы приложили все усилия, чтобы объяснить вам все «за» и «против» каждого варианта, когда вам предоставляется возможность выбора. При этом один из вариантов помечен как «По умолчанию: ». Другие варианты помечены как «Альтернатива:». Не подумайте, что вариант по умолчанию — наша рекомендация. Нам просто кажется, что именно его выбирает большинство пользователей.
Иногда есть возможность выполнить необязательный шаг. Такие шаги помечены как «Дополнительно:», и не требуются для установки Gentoo. Однако, некоторые из них будут обусловлены вашими предшествующими решениями. Мы будем сообщать об этом, как в момент выбора, так и непосредственно перед описанием необязательных шагов.
Gentoo можно установить разными способами. Можно скачать и запустить один из установочных компакт-дисков, установить с имеющегося дистрибутива, с загрузочного CD (например, Knoppix), из сетевой загрузочной среды, с дискеты аварийного восстановления и т.д.
В этом руководстве описывается установка с установочных дисков Gentoo, и, в некоторых случаях, с помощью сетевой загрузки (netboot). Предполагается, что вы собираетесь устанавливать самые свежие версии пакетов. Если вам нужна установка, при которой не требуется использование сети, обратитесь к настольным книгам Gentoo 2006.1 (англ.), где даются указания по установке в бессетевой среде.
Если вы планируете использовать GRP (Gentoo Reference Platform — эталонная платформа Gentoo, набор бинарных пакетов, предназначенных для немедленного использования сразу после установки Gentoo), вам необходимо следовать инструкциям, приведенных в настольной книге Gentoo 2006.1 (англ.).
Чтобы получить сведения о других способах установки, прочитайте описание альтернативных способов установки. Также рекомендуется прочитать полезные советы по установке Gentoo. Если вы почувствуете, что приведенные указания по установке слишком подробны, обратитесь к краткому руководству по установке (см. перечень документации), если, конечно, такое существует для вашей архитектуры.
Кроме того, вы можете выбрать между компиляцией своей системы полностью «с нуля» или установкой заранее собранной среды, позволяющей запустить Gentoo практически моментально. Естественно, есть и промежуточные варианты, в которых вы не компилируете все подряд, а начинаете с полу готовой системы.
Если при установке вы столкнулись с проблемой (или с ошибкой в документации по установке), войдите в нашу систему распределения запросов (англ.) и убедитесь, что такая ошибка еще не заявлена. В этом случае, создайте отчет об ошибке, чтобы мы о ней позаботились. Не бойтесь разработчиков, которым выпадает работа над (вашими) ошибками — людей они обычно не едят.
Обратите внимание, что, хотя руководство, которое вы сейчас читаете, посвящено определенной архитектуре, в нем упоминаются и другие архитектуры. Это связано с тем, что значительная часть текста настольной книги Gentoo является общей для всех архитектур (чтобы не дублировать работу, а также из-за острой нехватки разработчиков). Во избежание путаницы, мы стараемся сократить такие упоминания до минимума.
Если вы не уверены, пользовательская ли у вас ошибка (какую-то ошибку совершили вы, хотя внимательно прочитали документацию), или программная (какую-то ошибку совершили мы, хотя тщательно тестировали установку/документацию), то не стесняясь, заходите на канал #gentoo (а также #gentoo-amd64, #gentoo-ru, #rugentoo) сервера irc.freenode.net. Разумеется, мы в любом случае будем вам рады :)
Если у вас есть вопрос, касающийся Gentoo, сначала загляните в список распространенных вопросов (FAQ), входящий в состав документации Gentoo. Можно также обратиться к FAQ (англ.) в наших форумах. Если вы не найдете там ответа, задайте вопрос на #gentoo, нашем IRC-канале на irc.freenode.net. Да-да, кое-кто из нас — маньяки, висящие на IRC :-)
Прежде чем начать, перечислим аппаратные требования, необходимые для успешной установки Gentoo на вашем компьютере.
Установочные компакт-диски Gentoo — это загрузочные диски, содержащие самодостаточную среду Gentoo. Они позволяют загружать Linux прямо с компакт-диска. При запуске определяются ваши устройства и загружаются соответствующие драйверы. Эти диски сопровождаются разработчиками Gentoo.
Все установочные компакт-диски позволяют загрузиться, настроить сеть, разметить разделы жесткого диска и начать установку Gentoo из интернета. В настоящее время мы выпускаем два установочных компакт-диска, одинаково подходящих для установки Gentoo с загрузкой последних версий существующих пакетов из интернета.
Если вы хотите установить Gentoo без работоспособного соединения с интернетом, или желаете использовать одну из существующих программ установки, пожалуйста, следуйте указаниям по установке, приведенным в настольной книге Gentoo 2006.0 (англ.).
В настоящее время мы выпускаем два установочных компакт-диска:
Минимальный установочный диск Gentoo, маленький загрузочный компакт-диск без излишеств, единственное назначение которого — загрузить систему, подготовить подключение к сети и перейти к установке Gentoo.
Живой установочный диск Gentoo, содержащий все необходимое для установки Gentoo. На нем есть графическая среда, графическая и консольная программы автоматической установки, и, конечно, указания по установке для вашей архитектуры.
Чтобы помочь вам решить, какой из них нужен, мы привели главные преимущества и недостатки каждого диска.
Минимальный установочный диск называется install-x86-minimal-2006.0.iso
и занимает всего 49 МБ. Gentoo можно устанавливать с этого диска только при постоянном наличии работоспособного подключения
к интернету.
Минимальный установочный диск | За и против |
---|---|
+ | наименьший объем загрузки из сети |
– | не содержит ни архива stage3, ни снимков Portage, ни готовых двоичных пакетов, и поэтому не подходит для установки без сети |
Живой установочный диск называется install-x86-universal-2006.0.iso
и занимает 697 МБ. С этого диска вы сможете установить Gentoo даже без исправного подключения к интернету, на случай, если
в процессе установки Gentoo на свой компьютер у вас появится неодолимое желание занести его еще и на соседний :)
Живой установочный диск Gentoo | За и против |
---|---|
+ | содержит все, что требуется; установку можно выполнять даже без сетевого подключения |
– | огромный объем загрузки |
Архив третьей стадии — stage3 — это файл, содержащий минимальную среду Gentoo, пригодную для продолжения установки Gentoo в соответствии с инструкциями, данными в этом руководстве (другими словами: образ (снимок) минимальной системы.
Когда-то в настольной книге Gentoo описывались варианты установки с использованием файла любой из трех существующих стадий создания системы. Несмотря на то, что в Gentoo до сих представлены файлы stage1 и stage2, в официальном способе установки используется архив stage3. Если вас интересует установка Gentoo из файлов stage1 или stage2, пожалуйста, обратитесь к сборнику распространенных вопросов по Gentoo, раздел как установить Gentoo, используя файлы Stage1 или Stage2?
Архивы stage3 можно загрузить из releases/x86/2007.0/stages/
или с любого из официальных зеркал Gentoo; на «живом диске» они не поставляются.
Скачивание образа и запись на диск
Итак, вы выбрали нужный установочный диск Gentoo. Начнем с загрузки его образа из сети, и его записи на компакт-диск. Ранее обсуждались варианты доступных дисков, но где же их взять?
Любой из установочных дисков (а при желании — заодно и диск пакетов, если есть) можно загрузить с одного из наших зеркал. Установочные диски расположены в каталоге releases/x86/2007.0/installcd
.
В этом каталоге находятся ISO-файлы. Это полные образы компакт-дисков, которые можно записать на CD-R.
Если вас волнует, не искажен ли загруженный файл, можно сверить его контрольную сумму MD5 с рассчитанной нами (например, install-x86-minimal-2007.0.iso.DIGESTS
). Вычислить контрольную сумму MD5 можно утилитой md5sum в Linux/Unix, или программой md5sum (англ.) для Windows.
Другой способ убедиться в пригодности загруженного файла — с помощью GnuPG сверить криптографическую подпись с той, что хранится
у нас (в файле с расширением .asc
). Скачайте файл подписи, затем получите открытый ключ:
Теперь сверьте подпись:
Записывать загруженный ISO-образ на компакт-диск нужно в «сыром» режиме. Как это сделать, сильно зависит от используемой программы. Здесь мы обсудим запись с помощью cdrecord и K3B. Дополнительные сведения находятся в нашем сборнике распространенных вопросов.
При использовании cdrecord, просто введите cdrecord dev=/dev/hdc <скачанный iso-файл>
(/dev/hdc
замените на путь к вашему устройству CD-RW).
При использования K3B, выберите
→ → ( → → ). Затем в области 'Image to Burn' ('Образ для записи') укажите свой ISO-файл. В завершение нажмите Start (Запуск).Перед тем, как приступить, полностью прочитайте этот подраздел, так как перед последующими действиями вам, скорее всего, больше не представится такая возможность.
Записав установочный компакт-диск, пора его загрузить. Уберите все компакт-диски из своих приводов CD, перезагрузите компьютер и войдите в BIOS. В зависимости от BIOS, для этого обычно нужно нажать DEL, F1 или ESC. В BIOS измените порядок загрузки так, чтобы обращение к CD-ROM выполнялось до обращения к жесткому диску. Этот параметр часто задается в разделе «CMOS Setup». Если порядок загрузки не изменить, система просто перезагрузится с жесткого диска, игнорируя CD-ROM.
Теперь поместите установочный диск в привод CD-ROM (наконец-то!) и перезагрузитесь. Должно появиться загрузочное приглашение. Здесь можно просто нажать ENTER, чтобы запустить процесс загрузки с параметрами по умолчанию, или загрузить установочный диск по-своему: указать ядро, потом загрузочные параметры, а затем нажать ENTER.
Указать ядро? Да, на нашем установочном компакт-диске есть несколько вариантов ядра. По умолчанию используется gentoo. Другие
ядра предназначены для специфических аппаратных задач; вариант -nofb
отключает кадровый буфер.
Ниже перечислены доступные варианты ядра:
Ядро | Описание |
---|---|
gentoo | ядро 2.6 с многопроцессорной поддержкой (используется по умолчанию) |
gentoo-nofb | аналогично gentoo, но без поддержки кадрового буфера |
memtest86 | для выявления ошибок локальной оперативной памяти |
Также можно указать параметры ядра, явно включающие или отключающие определенные режимы. Приведенный список соответствует тому, что выводится при нажатия F2 в экране загрузки.
Листинг 3: Параметры, которые можно сообщить выбранному ядру
Листинг 3. Параметры, которые можно сообщить выбранному ядру
- agpgart загрузка agpgart (используйте при сбоях графики, зависаниях) - acpi=on включение поддержки ACPI - ide=nodma принудительное отключение DMA для сбойных IDE-устройств - doscsi поиск scsi-устройств (нарушает работу некоторых ethernet-плат) - dopcmcia запуск службы pcmcia для PCMCIA-приводов компакт-дисков - nofirewire отключение в initrd модулей firewire (предназначенных для приводов компакт-дисков с подключением firewire и т.п.) - nokeymap отключение выбора неамериканских раскладок клавиатуры - docache кэширование исполняемой части компакт-диска в памяти, позволяет размонтировать /mnt/cdrom для установки другого диска - nodetect запрет запуска hwsetup/kudzu и hotplug - nousb отключение загрузки модулей usb в initrd, отключает hotplug - nodhcp отмена автоматического запуска dhcp при обнаружении сетевой платы - nohotplug отключение загрузки службы hotplug - noapic отключение apic (попробуйте, если есть аппаратные проблемы с устройствами scsi, сетевыми платами и т.д.) - noevms отключение поддержки модулей EVMS2 - nolvm2 отключение поддержки модулей LVM2 - hdx=stroke озволяет использовать жесткий диск целиком, даже если BIOS не поддерживает диски большого размера - noload=module1,[module2,[...]] запрет загрузки определенных модулей ядра
Теперь загрузите систему с компакт-диска, выбрав ядро (если вас не устраивает ядро по умолчанию gentoo) и указав дополнительные параметры. В качестве примера мы покажем, как загрузить ядро gentoo с параметром dopcmcia:
Появится заставка с полосой индикатора загрузки. Если вы устанавливаете Gentoo на машину с не американской раскладкой клавиатуры, нужно немедленно нажать ALT+F1, чтобы переключиться в подробный режим, и следовать появившимся указаниям. Если ничего не выбрано в течение 10 секунд, устанавливается раскладка по умолчанию (клавиатура США), а загрузка продолжается. По окончании загрузки для вас будет выполнен автоматический вход в «живой» Gentoo Linux в качестве «root» (администратора). В текущей консоли должно появиться прилашение root («#»). Также можно переключаться в другие консоли, нажимая ALT+F2, ALT+F3 и ALT+F4. Вернуться в первоначальную консоль можно нажатием ALT+F1.
Приступим к дополнительной настройке оборудования.
При загрузке с установочного компакт-диска система пытается определить все устройства и загрузить соответствующие модули для их поддержки. В подавляющем большинстве случаев она очень хорошо справляется с этим. Однако, в редких случаях некоторые из нужных модулей не загружаются автоматически. Если какие-либо устройства пропущены при автоматическом опросе шины PCI, модули ядра для их поддержки вам придется загрузить вручную.
В следующем примере мы попробуем загрузить модуль 8139too (для поддержки некоторых типов сетевого интерфейса):
Если вам нужна поддержка PCMCIA, требуется запустить сценарий инициализации pcmcia:
Дополнительно: оптимизация скорости жесткого диска
Если вы опытный пользователь, возможно, вам захочется настроить скоростные параметры жесткого диска IDE с помощью программы
hdparm. Указав параметр -tT
, можно измерить скорость вашего диска (для уточнения значений запускайте программу несколько раз подряд):
Для настройки вы можете использовать любой из приведенных примеров (или поэкспериментировать самостоятельно), при необходимости
указав название своего диска вместо /dev/hda
:
Листинг 8. Оптимизация скорости жесткого диска
Включение DMA:#
hdparm -d 1 /dev/hda
Установка безопасных значений:#
hdparm -d 1 -A 1 -m 16 -u 1 -a 64 /dev/hda
Если вы собираетесь дать другим людям доступ к своей системе, или намерены входить в чат irssi без прав администратора (из соображений безопасности), потребуется создать учетные записи пользователей и изменить пароль администратора.
Для изменения пароля администратора используйте passwd:
Листинг 9. Изменение пароля администратора
#
passwd
New password:Re-enter password:
(введите новый пароль)
(введите новый пароль еще раз)
Для создания учетной записи пользователя сначала задаются его реквизиты, а затем вводится пароль. Для этого служат программы useradd и passwd. В следующем примере мы создадим пользователя «john»:
Листинг 10. Создание учетной записи пользователя
#
useradd -m -G users john
#
passwd john
New password:Re-enter password:
(введите новый пароль для john)
(введите новый пароль Джона еще раз)
Вы также можете изменить свой идентификатор пользователя с администратора (root) на вновь созданного пользователя командой su:
Если вам нужна возможность просмотра настольной книги Gentoo в процессе установки (не важно, из сети или с компакт-диска), убедитесь, что вы создали учетную запись обычного пользователя (см. Дополнительно: учетные записи пользователей). Затем нажмите ALT+F2 для перехода в другой терминал, и войдите в систему.
Для чтения документации c компакт-диска, вы можете сразу запустить links:
Но лучше открывать настольную книгу Gentoo из сети (там она новее, чем на компакт-диске). Для этого тоже можно пользоваться links, но только после настройки сети (иначе вы не сможете выйти в интернет, чтобы прочесть документ):
Листинг 13. Просмотр документации, находящейся в сети
#
links http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml
На исходный терминал можно переключаться нажатием ALT+F1.
Если вы хотите разрешить другим пользователям доступ к своей системе в процессе установки Gentoo (возможно затем, чтобы они помогли вам с установкой или даже провели ее за вас), для них потребуется создать учетные записи, а возможно, даже дать им пароль администратора (делайте это только в том случае, если вы им полностью доверяете).
Чтобы запустить демон SSH, выполните следующую команду:
Для использования sshd, сначала требуется настроить сеть. Переходите к главе Настройка сети.
Если ваша система подсоединена к сети Ethernet, в которой есть сервер DHCP, очень вероятно, что сетевое подключение на вашей машине уже автоматически настроено. Если так, вы сможете воспользоваться многими сетевыми командами, находящимися на установочном компакт-диске, например, ssh, scp, ping, irssi, wget и links.
Если сеть уже настроена, команда /sbin/ifconfig должна показывать сетевые интерфейсы кроме lo, например, eth0:
Листинг 15. /sbin/ifconfig для рабочей сетевой конфигурации
#
/sbin/ifconfig
(...) eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
Если вы подключены к интернету через прокси-сервер, при установке вам может потребоваться ввести сведения о нем. Задать прокси-сервер очень просто: нужно определить переменные, содержащие необходимые сведения.
В большинстве случаев в определении переменных достаточно указать имя прокси-сервера. Предположим, например, что прокси-сервер называется proxy.gentoo.org, а его порт — 8080:
Листинг 16. Указание прокси-сервера
(если прокси-сервер фильтрует трафик HTTP)#
export http_proxy="http://proxy.gentoo.org:8080"
(если прокси-сервер фильтрует трафик FTP)#
export ftp_proxy="ftp://proxy.gentoo.org:8080"
(если прокси-сервер фильтрует трафик RSYNC)#
export RSYNC_PROXY="proxy.gentoo.org:8080"
Если прокси-сервер запрашивает имя пользователя и пароль, для значения переменной следует использовать такой формат:
Листинг 17. Указание имени/пароля в адресе прокси-сервера
http://имя_пользователя:пароль@proxy.gentoo.org:8080
Может оказаться полезным проверить отклик DNS-сервера вашего поставщика услуг интернета (адрес сервера находится в /etc/resolv.conf
), а также произвольного веб-сайта, чтобы убедиться, что ваши пакеты выходят в интернет, разрешение имен DNS работает и т.д.
Сеть доступна? Тогда пропустите остаток этого раздела, и переходите к разделу подготовка дисков. Если сеть все же недоступна, то, к сожалению, вам придется еще поработать над ее настройкой.
Если сеть не заработает сразу, при установке с некоторых носителей можно использовать net-setup (для обычных или беспроводных сетей), pppoe-setup (для пользователей ADSL) или pptp (для пользователей PPTP; есть на x86, amd64, alpha, ppc и ppc64).
Если на вашем установочном диске нет ни одного из этих средств, или сеть еще не подключена, приступайте к ручной настройке сети:
пользователи обычной сети Ethernet — переходите к разделу по умолчанию: использование net-setup;
пользователи ADSL — переходите к разделу альтернатива: использование RP-PPPoE;
пользователи PPTP — переходите к разделу альтернатива: использование PPTP;
Простейший способ настройки сети, если она не произошла автоматически — запуск сценария net-setup:
net-setup задаст вам несколько вопросов о вашей сетевой среде. В результате его работы у вас должно появиться работоспособное подключение к сети. Проверьте сетевое подключение, как это описано выше. Если проверка прошла успешно, примите наши поздравления — теперь вы готовы к установке Gentoo. Пропустите оставшуюся часть этого раздела и приступайте к подготовке дисков.
Если ваша сеть все еще не заработала, переходите к ручной настройке сети.
Для простоты подключения к интернету по PPPoE, в установочный диск (любой версии) включен rp-pppoe. Для настройки соединения используйте сценарий pppoe-setup, входящий в комплект. У вас будет запрошена информация о сетевом устройстве ethernet, подключенном к adsl-модему, имя пользователя, пароль, IP-адреса ваших серверов DNS. Также задается вопрос, нужно ли включать базовый межсетевой экран (firewall).
Если что-то пошло не так, проверьте, правильно ли вы ввели имя пользователя и пароль, посмотрев в /etc/ppp/pap-secrets
или /etc/ppp/chap-secrets
, и убедитесь, что устройство ethernet указано верно. Если ваше устройство не видно в системе, потребуется загрузить соответствующие
сетевые модули. Для этого нужно перейти к разделу ручная настройка сети где мы объясняем, как из загрузить.
Если же все заработало, переходите к подготовке дисков.
Поддержка PPTP имеется только для архитектуры x86.
Если вам нужна поддержка PPTP, можно использовать pptpclient, который входит в состав нашего установочного диска. Но сначала
нужно обеспечить правильность настройки. Отредактируйте файлы /etc/ppp/pap-secrets
или /etc/ppp/chap-secrets
так, чтобы в них находилось правильное сочетание имени пользователя и пароля.
Затем, если нужно, измените параметры PPTP в файле /etc/ppp/options.pptp
:
Когда все будет готово, просто запустите pptp (с параметрами, которые вы не стали прописывать в options.pptp
), чтобы соединиться с сервером:
Теперь переходите к подготовке дисков.
При загрузке установочный диск пытается выявить все установленные устройства и загружает подходящие модули ядра (драйверы) для поддержки вашего оборудования. В подавляющем большинстве случаев он очень хорошо справляется с этой работой. Однако, в некоторых случаях он может не справиться с автозагрузкой нужных вам модулей ядра.
Если net-setup или pppoe-setup не удалось загрузить нужный модуль, возможно, ваша сетевая плата сразу не обнаружена. При этом вам может потребоваться ручная загрузка необходимых модулей ядра.
Чтобы выяснить, какие модули ядра для поддержки сети существуют, используйте ls:
Если вы найдете драйвер для своей сетевой платы, для загрузки модуля ядра используйте modprobe:
Листинг 25. Использование modprobe для загрузки модуля ядра
(для примера загрузим модуль pcnet32)#
modprobe pcnet32
Чтобы убедиться, что ваша сетевая плата теперь обнаружена, используйте ifconfig. Если сетевая плата обнаружена, результат выглядит подобным образом:
Листинг 26. Проверка доступности сетевой платы (удачная)
#
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Однако, если вы получите такое сообщение об ошибке, сетевая плата не обнаружена:
Листинг 27. Проверка доступности сетевой платы (неудачная)
#
ifconfig eth0
eth0: error fetching interface information: Device not found
Если в вашей системе установлено несколько сетевых плат, они будут называться eth0, eth1 и т.д. Убедитесь, что сетевая плата, которую вы собираетесь использовать, работает хорошо, и в дальнейшем не забудьте везде подставлять верное имя. Мы предполагаем, что используется сетевая плата eth0.
Когда ваша сетевая плата обнаружена, можно попробовать снова запустить net-setup или pppoe-setup (которые теперь должны сработать), но на случай, если вы из крутых, мы опишем, как настроить сеть вручную.
Выберите один из следующих разделов, в зависимости от необходимого вида настройки:
использование DHCP для автоматического присвоения IP-адреса;
подготовка беспроводного доступа, если у вас есть беспроводная плата;
освоение сетевой терминологии: рассказ о том, что нужно знать о подключении к сети;
использование ifconfig и route: описание ручной настройки сети;
DHCP (Dynamic Host Configuration Protocol — протокол динамической настройки хоста) дает возможность автоматически получить параметры сетевого подключения (IP-адрес, маску сети, широковещательный адрес, шлюз, сервера имен и т. д.) Все это работает, только когда в вашей сети есть сервер DHCP (или ваш поставщик предоставляет услугу DHCP). Чтобы сетевой интерфейс получал эти сведения автоматически, используйте dhcpcd:
Листинг 28. Использование dhcpcd
#
dhcpcd eth0
Некоторые сетевые администраторы требуют, чтобы вы использовали имя хоста и домена, назначенное сервером DHCP. В этом случае используйте#
dhcpcd -HD eth0
Если это сработало (попробуйте «попинговать» какой-нибудь сервер интернета, например, Google), то у вас все настроено, и можно двигаться дальше. Пропустите остаток этого раздела и приступайте к подготовке дисков.
Поддержка команды iwconfig есть только на установочных дисках для платформ x86, amd64 и ppc. В других случаях вы все же сможете запустить расширения, следуя инструкциям проекта linux-wlan-ng (англ.).
Если вы используете беспроводную плату (802.11), перед дальнейшими действиями может потребоваться настройка параметров беспроводного подключения. Для просмотра текущей настройки беспроводной платы можете использовать iwconfig. При запуске iwconfig вы увидите подобные сведения:
Листинг 29. Вывод текущих параметров беспроводного подключения
#
iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode" Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2 Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535 Retry limit:16 RTS thr:off Fragment thr:off Power Management:off Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:237 Invalid misc:350282 Missed beacon:84
Некоторые беспроводные платы могут называться подобно wlan0 или ra0, а не eth0. Для определения верного имени устройства запускайте iwconfig без каких-либо параметров командной строки.
Для большинства пользователей может потребоваться изменение только двух параметров: ESSID (названия беспроводной сети) и ключа шифрования WEP. Если ESSID и указанный адрес точки доступа уже принадлежат вашей точке доступа, и вы не используете WEP, значит, ваше беспроводное подключение работает. Если вам необходимо изменить свой ESSID или добавить ключ WEP, можно запустить следующие команды:
Листинг 30. Замена ESSID и/или добавление ключа WEP
(так название сети устанавливается в "GentooNode")#
iwconfig eth0 essid GentooNode
(так устанавливается шестнадцатиричный ключ WEP)#
iwconfig eth0 key 1234123412341234abcd
(так устанавливается текстовый ключ (ASCII); вначале нужно добавлять "s:")#
iwconfig eth0 key s:some-password
Проверить сделанную настройку можно, снова запустив iwconfig. Как только ваша беспроводная сеть заработает, вы можете перейти к установке параметров сети, относящихся к протоколу IP, которые описываются в следующем разделе (освоение сетевой терминологии), или использовать утилиту net-setup, как описано ранее.
Если вы знаете свой IP-адрес, широковещательный адрес, маску сети и серверы имен, можете пропустить этот подраздел и перейти к разделу использование ifconfig и route.
Если все, рассказанное выше, не помогло, вам придется настроить свою сеть вручную. Это совсем нетрудно. Однако, вам понадобится освоить кое-какую сетевую терминологию, знание которой требуется для удовлетворительной настройки сети. Прочитав этот текст, вы узнаете, что такое шлюз, зачем служит маска сети, как формируется широковещательный адрес, и зачем нужны серверы имен.
В сети узлы (хосты, компьютеры) различаются по IP-адресу (адресу протокола интернета). Такой адрес — это сочетание четырех чисел от 0 до 255. Ну, по крайней мере, так мы его воспринимаем. В действительности, IP-адрес состоит из 32 бит (единиц и нулей). Давайте рассмотрим пример:
Листинг 31. Пример IP-адреса
IP-адрес (числа): 192.168.0.2 IP-адрес (биты): 11000000 10101000 00000000 00000010 -------- -------- -------- -------- 192 168 0 2
Такой IP-адрес уникален для узла в рамках всех доступных сетей (т. е. каждый узел, с которым вы можете связаться, должен иметь уникальный IP-адрес). Чтобы различать узлы, находящиеся внутри и извне сети, IP-адрес подразделяется на две части: часть сети и часть узла.
Это разделение записывается с помощью маски сети — набора единиц, за которым следует набор нулей. Часть IP-адреса, которая попадает на единицы — сетевая, оставшаяся часть — узловая. Как обычно, маска сети может записываться в виде IP-адреса.
Листинг 32. Пример разделения сети/узла
IP-адрес: 192 168 0 2 11000000 10101000 00000000 00000010 Маска сети: 11111111 11111111 11111111 00000000 255 255 255 0 +--------------------------+--------+ Сеть Узел
Другими словами, 192.168.0.14 — все еще входит в состав сети из нашего примера, а 192.168.1.2 — уже нет.
Широковещательный адрес — это IP-адрес с такой же сетевой частью, как у вашей сети, но у которого узловая часть состоит только из единиц. Каждый узел вашей сети слушает этот IP-адрес. Он действительно предназначен для широковещательной рассылки пакетов.
Листинг 33. Широковещательный адрес
IP-адрес: 192 168 0 2 11000000 10101000 00000000 00000010 Широковещательный 11000000 10101000 00000000 11111111 адрес: 192 168 0 255 +--------------------------+--------+ Сеть Узел
Чтобы бороздить просторы интернета, вы должны знать, через какой узел происходит подключение к интернету. Этот узел называется шлюзом. Так как это обычный узел, ему присвоен обычный IP-адрес (например, 192.168.0.1).
Выше мы говорили, что каждому узлу присваивается свой собственный IP-адрес. Чтобы связываться с узлом по имени (вместо IP-адреса),
нужна служба, которая переводит имя (такое, как dev.gentoo.org
) в IP-адрес (например, 64.5.62.82
). Такая служба называется службой имен. Чтобы пользоваться ей, нужно указать необходимые серверы имён в /etc/resolv.conf
.
Иногда ваш шлюз сам является сервером имен. В остальных случаях вам необходимо указывать серверы имен, предоставляемые поставщиком интернета.
В итоге, для дальнейшего вам потребуется следующая информация:
Параметр настройки сети | Пример |
---|---|
Ваш IP-адрес | 192.168.0.2 |
Маска сети | 255.255.255.0 |
Широковещательный адрес | 192.168.0.255 |
Шлюз | 192.168.0.1 |
Сервер(ы) имен | 195.130.130.5, 195.130.130.133 |
Настройка вашей сети состоит из трех шагов. Сначала мы назначаем себе IP-адрес с помощью ifconfig. Затем мы настраиваем маршрутизацию к шлюзу, пользуясь route. И в завершение мы помещаем IP-адреса серверов имен в /etc/resolv.conf
.
Для назначения IP-адреса потребуется ваш IP-адрес, широковещательный адрес и маска сети. Узнав их, выполните следующую команду,
заменив ${IP_ADDR}
на свой IP-адрес, ${BROADCAST}
на свой широковещательный адрес, а ${NETMASK}
на свою маску сети:
Листинг 34. Использование ifconfig
#
ifconfig eth0
${IP_ADDR}
broadcast${BROADCAST}
netmask${NETMASK}
up
Теперь настройте маршрутизацию с помощью route. Подставьте IP-адрес своего шлюза вместо ${GATEWAY}
:
Затем откройте /etc/resolv.conf
в своем любимом редакторе (в нашем примере используется nano):
Заполните данные своих серверов имен по следующему образцу. Обязательно замените ${NAMESERVER1}
и ${NAMESERVER2}
на соответствующие адреса серверов имен:
Готово. Теперь проверьте свою сеть, «попинговав» какой-либо сервер интернета (например, Google). Если все заработало, примите наши поздравления! Теперь вы готовы к установке Gentoo. Приступайте к подготовке дисков.
Мы достаточно подробно рассмотрим аспекты работы с дисками в Gentoo Linux и Linux вообще, включая файловые системы, разделы и блочные устройства. Позже, когда вы уже освоитесь с дисками и файловыми системами, мы проведем вас через процесс настройки разделов и файловых систем для установки Gentoo Linux.
Для начала, давайте познакомимся с блочными устройствами. Вероятно, наиболее известно блочное устройство, соответствующее в системе Linux первому IDE-диску, а именно /dev/hda
. А если в вашей системе используются диски SCSI или SATA, то первым жестким диском будет /dev/sda
.
Подобные блочные устройства представляют собой абстрактный интерфейс к диску. Прикладные программы могут использовать их для обращения к дискам, не беспокоясь, к какому типу те принадлежат: IDE, SCSI или какому-то еще. Программы могут просто обращаться к накопителю, как к набору смежных 512-байтных блоков с произвольным доступом.
Хотя теоретически для размещения системы Linux диск можно использовать целиком, так почти никогда не делают на практике. Вместо этого большое физическое блочное устройство разбивают на меньшие блочные устройства, более удобные для обращения. В архитектуре x86 они называются разделами.
Существуют разделы трех типов:первичные (primary), расширенные (extended) и логические (logical).
Первичный раздел — это раздел, информация о котором хранится в MBR (Master Boot Record — главной загрузочной записи). Так как MBR очень мала (512 байт), можно определять всего четыре первичных
раздела (например, от /dev/hda1
до /dev/hda4
).
Расширенный раздел — это особый первичный раздел (имеется в виду, что расширенный раздел должен быть одним из четырех возможных первичных разделов), в котором содержатся другие разделы. Таких разделов изначально не существовало, но их введение помогло расширить существующую схему разметки без потери совместимости, как только четырех разделов перестало хватать.
Логический раздел — это раздел, входящий в расширенный раздел. Его определение находится не в MBR, а внутри расширенного раздела.
Если вам не интересно заниматься разработкой схемы для своей системы, можно воспользоваться схемой, используемой в этой книге:
Раздел | Файловая система | Размер | Описание |
---|---|---|---|
dev/hda1 | ext2 | 32МБ | загрузочный раздел |
/dev/hda1 | (swap) | 512МБ | раздел подкачки |
/dev/hda3 | ext3 | оставшаяся часть диска | корневой раздел |
Если вам интересно узнать, какого размера должны быть разделы, и сколько их вам вообще может потребоваться, читайте дальше. В противном случае приступайте к созданию разделов, описанному в главе использование fdisk для создания разделов.
Количество разделов очень сильно зависит от назначения системы. Например, если у вас много пользователей, вам, скорее всего,
захочется отделить /home
для повышения безопасности и упрощения резервного копирования. Если вы устанавливаете Gentoo в роли почтового сервера, следует
отделить /var
, т.к. вся почта хранится там. Затем, правильно выбрав файловую систему, вы добьетесь максимальной производительности. Для
игровых серверов потребуется отдельный раздел /opt
, так как большинство программ для их работы устанавливается туда. Причины выделения те же, что и для /home: безопасность
и резервное копирование. Определенно не помешает побольше места для /usr
: не только потому, что там хранится большинство приложений, а еще из-за того, что лишь дерево Portage, не считая размещенных
в нем архивов с исходными кодами, занимает около 500 МБ.
Как видите, все зависит от ваших целей. Наличие отдельных разделов или томов имеет следующие плюсы:
для каждого раздела или тома можно выбрать наиболее подходящую файловую систему;
свободное место во всей системе не кончится «вдруг» из-за того, что одна-единственная сбойная программа постоянно записывает файлы в раздел или том
необходимая проверка файловых систем будет занимать меньше времени, т.к. проверка разных разделов может выполняться параллельно (еще больший выигрыш времени дает использование нескольких физических дисков) ;
можно повысить безопасность системы, монтируя часть разделов в режиме read-only (только для чтения), nosuid (игнорируется бит setuid), noexec (игнорируется бит исполнения) и т.д..
Однако, у создания множества разделов есть один большой минус: при неправильной настройке можно получить систему, в которой много свободного места на одном разделе, и совершенно нет на другом. Кроме того, на дисках SCSI и SATA возможно создание не более 15 разделов.
Для примера мы покажем разбиение диска объемом 20 ГБ, используемого в демонстрационном ноутбуке (с веб-сервером, почтовым сервером, средой Gnome и т.д.):
Листинг 38. Пример файловой системы
$
df -h
Filesystem Type Size Used Avail Use% Mounted on /dev/hda5 ext3 509M 132M 351M 28% / /dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home /dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr /dev/hda8 ext3 1011M 483M 477M 51% /opt /dev/hda9 ext3 2.0G 607M 1.3G 32% /var /dev/hda1 ext2 51M 17M 31M 36% /boot /dev/hda6 swap 516M 12M 504M 2% <not mounted> (свободное место для будущего использования: 2 ГБ)
Раздел /usr
, как видим, почти заполнен (использовано 83%), но когда все программы установлены, /usr
растет не слишком быстро. Хотя отведение нескольких гигабайт дискового пространства для /var
может показаться расточительством, помните, что этот раздел по умолчанию используется Portage для компиляции пакетов. Если
вы захотите удержать /var
в рамках более разумного размера, например, 1ГБ, вам потребуется изменить переменную PORTAGE_TMPDIR
в /etc/make.conf
, чтобы она указывала на раздел, где достаточно свободного места для компиляции чрезвычайно больших пакетов, таких как OpenOffice.
В следующих разделах описывается, как разбить диск в соответствии с примерной схемой, описанной ранее, а именно:
Раздел | Описание |
---|---|
/dev/hda1 |
загрузочный раздел |
/dev/hda2 |
раздел подкачки |
/dev/hda3 |
корневой раздел |
Эту схему вы можете изменять по своему усмотрению.
fdisk — это популярная и очень мощная утилита для создания разделов на ваших дисках. Запустите fdisk, указав свой диск в качестве
параметра (в примере мы используем /dev/hda
):
После запуска fdisk выдаст такое приглашение:
Нажмите p
, чтобы вывести текущую схему разбиения диска:
Листинг 41. Пример схемы разделов диска
Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 49 264600 82 Linux swap
/dev/hda3 50 70 158760 83 Linux
/dev/hda4 71 2184 15981840 5 Extended
/dev/hda5 71 209 1050808+ 83 Linux
/dev/hda6 210 348 1050808+ 83 Linux
/dev/hda7 349 626 2101648+ 83 Linux
/dev/hda8 627 904 2101648+ 83 Linux
/dev/hda9 905 2184 9676768+ 83 Linux
Command (m for help):
В данном случае на диске есть семь разделов Linux (для которых в графе «System» указано «Linux») и один раздел подкачки (в списке показан как «Linux swap»).
Сначала удалим с диска все существующие разделы. Для удаления раздела вводите d
. Например для удаления существующего /dev/hda1
:
Удаление раздела будет запланировано. Он больше не будет отображаться при вводе p
, но фактически не будет удалятся до тех пор, пока вы не сохраните внесенные изменения. Если вы ошиблись и хотите прервать
разбиение без сохранения изменений, немедленно введите q
и нажмите ENTER; тогда ваш раздел сохранится в неизменном виде.
Теперь, если вы действительно собираетесь удалить в своей системе все разделы, повторяйте ввод p
для показа оставшихся разделов, затем d
и номера удаляемого раздела до тех пор, пока разделы не кончатся. В итоге вы получите пустую таблицу разделов:
Листинг 43. Пустая таблица разделов
Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System Command (m for help):
Теперь, когда мы очистили таблицу разделов, хранящуюся в оперативной памяти, настало время создавать разделы. Мы воспользуемся примерной схемой разбиения, описанной выше. Естественно, не следуйте этим инструкциям буквально, если только вам не нужна таблица разделов, идентичная нашей!
Сначала создадим маленький загрузочный раздел. Введите n
для создания нового раздела, затем p
, чтобы выбрать первичный раздел, и 1
для указания первого первичного раздела. На вопрос о первом цилиндре нажмите ввод. На вопрос о последнем цилиндре введите
+32M
, чтобы создать раздел размером 32МБ:
Листинг 44. Создание загрузочного раздела
Command (m for help):n
Command action e extended p primary partition (1-4)p
Partition number (1-4):1
First cylinder (1-3876, default 1): (нажмите ввод) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876):+32M
Теперь, введя p
, вы должны увидеть следующий текст:
Листинг 45. Созданный загрузочный раздел
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
Нам необходимо сделать этот раздел загружаемым. Введите a
для включения признака загрузки с раздела, затем нажмите 1
. Если снова ввести p
, можно увидеть, что в столбце «boot» появился знак *.
Теперь создадим раздел подкачки. Для этого введите n
(создание нового раздела), затем p
для выбора первичного раздела. Потом нажмите 2
, чтобы создать второй первичный раздел, в нашем случае /dev/hda2
. На вопрос о первом цилиндре просто нажмите ввод. На вопрос о последнем — ответьте +512M
, чтобы создать раздел размером 512МБ. Сделав это, введите t
для указания типа раздела, 2
, для выбора только что созданного раздела, и 82
, чтобы установить тип раздела «Linux Swap». При нажатии p
по завершении этих действий, таблица разделов должна выглядеть примерно так:
Листинг 46. Список разделов после создания раздела подкачки
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
Теперь создадим корневой раздел. Для этого введите n
(создание нового раздела), затем p
(первичный раздел). После этого нажмите 3
для создания третьего первичного раздела, в нашем случае /dev/hda3
. На вопрос о первом цилиндре нажмите ввод. На вопрос о последнем — также нажмите ввод, чтобы раздел занял все оставшееся
свободное место на диске. По завершении этих шагов, при вводе p должна выводиться подобная таблица разделов:
Листинг 47. Список разделов после создания корневого раздела
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
/dev/hda3 82 3876 28690200 83 Linux
Разделы созданы, настало время разместить на них файловые системы. Если вам безразлично, какую файловую систему использовать, и вы вполне довольны той, что мы предлагаем в книге по умолчанию, переходите к размещению файловой системы в разделе. Если нет, читайте дальше, чтобы разузнать о существующих файловых системах...
В ядре Linux поддерживаются различные файловые системы. Мы расскажем о самых распространенных из них: ext2, ext3, ReiserFS, XFS и JFS.
ext2
— испытанная файловая система Linux, в которой отсутствуют средства журналирования метаданных. Поэтому ее рядовая проверка
при запуске может быть очень долгой. Сегодня существует довольно много журналируемых файловых систем нового поколения, целостность
которых проверяется очень быстро, и поэтому обычно есть смысл использовать их. Журналируемые файловые системы позволяют избежать
долгих задержек при запуске, когда состояние файловой системы неустойчиво.
ext3
— это журналируемая версия ext2, где для ускорения восстановления появилось журналирование метаданных, а также другие режимы,
наподобие полного или упорядоченного журналирования данных. ext3 — очень хорошая и надежная файловая система. В ней есть дополнительная
возможность индексации через хэшированные сбалансированные деревья (b-tree), что в большинстве случаев обеспечивает высокую
скорость. Такую индексацию можно включить, добавив к команде mke2fs параметр -O
. Короче говоря, ext3 — превосходная файловая система.
dir_index
ReiserFS
— файловая система, построенная на B*-деревьях. У нее очень хорошая скорость, и она намного (часто в 10-15 раз) быстрее ext2
и ext3 при работе с маленькими файлами (менее 4КБ). ReiserFS также великолепно масштабируется; в ней есть средства журналирования.
На дату выхода ядра 2.4.18, ReiserFS признана стабильной и пригодной как для систем общего назначения, так и для крайних случаев
типа создания больших томов, использования множества маленьких файлов, гигантских файлов или же каталогов с десятками тысяч
файлов.
XFS
— это файловая система с журналированием метаданных и дополнительными средствами, оптимизированными для работы с максимальным
объемом данных. Ее применение рекомендуется только в Linux-системах с высококлассными дисками SCSI или дисками с оптическим
подключением (fibre-channel), при наличии источников бесперебойного питания. Из-за того, что XFS выполняет очень агрессивное
промежуточное кэширование в оперативной памяти, при внезапном отключении питания очень вероятна потеря небрежно спроектированными
программами (не принимающими адекватные меры предосторожности при записи файлов на диск, и таких довольно много) изрядного
количества данных.
JFS
— высокопроизводительная журналируемая файловая система производства IBM. Она лишь недавно стала пригодной для широкого применения,
и пока слишком мало данных, чтобы сказать что-то хорошее или плохое о ее общей стабильности.
Для создания в разделе или томе файловой системы каждого типа существуют специальные средства:
Файловая система | Команда создания |
---|---|
ext2 | mke2fs |
ext3 | mke2fs -j |
reiserfs | mkreiserfs |
xfs | mkfs.xfs |
jfs | mkfs.jfs |
Например, чтобы у загрузочного раздела (/dev/hda1
в наших примерах) была файловая система ext2, а у корневого раздела (/dev/hda3
в наших примерах) — ext3, требуется выполнить:
Теперь самостоятельно создайте файловые системы на своих только что созданных разделах (логических томах).
mkswap — команда, используемая для инициализации разделов подкачки:
Для подключения раздела подкачки воспользуйтесь swapon:
Теперь командами, приведенными выше, создайте и подключите раздел подкачки в своей системе.
Теперь, когда разделы созданы, а файловые системы размещены, настало время смонтировать (подключить к системе) эти разделы. Используйте команду mount. Не забудьте создать для каждого раздела соответствующие каталоги монтирования. Например, смонтируем корневой и загрузочный разделы:
Листинг 52. Монтирование разделов
#
mount /dev/hda3 /mnt/gentoo
#
mkdir /mnt/gentoo/boot
#
mount /dev/hda1 /mnt/gentoo/boot
Если вы хотите разместить каталог /tmp
в отдельном разделе, не забудьте изменить права доступа к этому каталогу после монтирования: chmod 1777 /mnt/gentoo/tmp. Это также относится к /var/tmp
.
Еще нам потребуется смонтировать файловую систему proc (виртуальный интерфейс ядра) в каталог /proc. Но сначала надо поместить в разделы нужные файлы.
Переходите к установке установочных файлов Gentoo.
Перед тем, как продолжать, убедитесь в правильности системной даты и времени, и при необходимости обновите их. Если часы установлены неверно, это в будущем может привести к странным результатам!
Для проверки времени, введите команду date:
Если часы установлены неправильно, измените время командой date ММДДччммГГГГГ
(формат: Месяц, День, часы, минуты и Год). На этом этапе следует указывать время UTC. Позднее вы сможете установить свой
часовой пояс. Например, для установки часов на 29 марта, 16:21, 2005 год, выполните:
Следующий необходимый шаг — установка архива stage3 на вашу систему. Нужный архив можно скачать из интернета, или, если вы загрузились с универсального установочного диска Gentoo, скопировать с самого диска. Если у вас есть универсальный диск, а на нем — нужная стадия, то загрузка из интернета — лишняя трата трафика и времени, т.к. файлы стадии окажутся совершенно одинаковы. В большинстве случаев, определиться с выбором архива стадии вам поможет команда uname -m.
по умолчанию: использование файла стадии из интернета
альтернатива: использование файла стадии с установочного диска
Перейдите в точку подключения файловой системы Gentoo (обычно — /mnt/gentoo
):
Для загрузки файла стадии у вас уже есть различные инструменты, зависящие от типа диска, с которого производится установка. Если имеется links, можете сразу открыть список зеркал Gentoo и выбрать ближайшее.
Когда links нет, в вашем распоряжении должен оказаться lynx. Если требуется использовать прокси-сервер, экспортируйте переменные
http_proxy
и ftp_proxy
:
Листинг 56. Настройка информации о прокси-сервере для lynx
#
export http_proxy="http://
proxy.server.com:port
"#
export ftp_proxy="http://
proxy.server.com:port
"
Предположим, у вас под рукой есть links.
Перейдите в каталог releases/
, в нем откройте каталог, соответствующий вашей архитектуре (например, x86/
), затем каталог с версией Gentoo (2006.1/
), и, наконец, каталог stages/
. Здесь находятся все доступные архивы стадий для вашей архитектуры (они могут располагаться в подкаталогах с названиями разновидностей
архитектуры). Выберите один из них и нажмите D для загрузки. По окончании — нажмите Q, чтобы выйти из браузера.
Листинг 57. Открытие списка зеркал в links
#
links http://www.gentoo.org/main/ru/mirrors.xml
(если в links нужна поддержка прокси-сервера:)#
links -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/ru/mirrors.xml
Удостоверьтесь, что вы скачали stage3-архив — установка с использованием файлов stage1 и stage2 более не поддерживается.
Если вы хотите проверить целостность загруженного архива стадии, с помощью md5sum сравните результат с контрольной суммой MD5, взятой с зеркала. Например, для проверки целостности архива стадии для x86:
Листинг 58. Пример проверки целостности архива стадии
#
md5sum -c stage3-x86-2007.0.tar.bz2.DIGESTS
stage3-x86-2007.0.tar.bz2: OK
Распакуйте загруженный архив стадии в своей системе. Мы используем tar, т.к. это простейший способ:
Убедитесь, что вы используете точно такие же параметры командной строки (xvjpf
). Значения параметров:
x
— извлечение;
v
— подробные сообщения, чтобы видеть, что происходит во время распаковки (необязательный параметр);
j
— декомпрессия bzip2;
p
— сохранение прав доступа;
f
— указывает на то, что мы распаковываем файл, а не то, что подается на стандартный ввод.
На установочных компакт-дисках и загрузочных образах для некоторых архитектур (например, MIPS) tar встроен в оболочку BusyBox,
которая на данный момент не поддерживает параметр v
. Тогда вместо приведенных указывайте параметры xjpf
.
После развертывания установки стадии переходите к установке дерева портежей.
Важно: Если вы — в x86 и используете «живой диск» с установщиком, на нем нет стадий. Вам понадобится последовать указаниям по использованию файла стадии из интернета.
Архивы стадий находятся на компакт-диске в каталоге /mnt/cdrom/stages
. Для получения списка доступных стадий, воспользуйтесь ls:
Если система сообщает об ошибке, возможно, сначала нужно смонтировать CD-ROM:
Листинг 61. Монтирование CD-ROM
#
ls /mnt/cdrom/stages
ls: /mnt/cdrom/stages: No such file or directory#
mount /dev/cdroms/cdrom0 /mnt/cdrom
#
ls /mnt/cdrom/stages
Перейдите в точку подключения Gentoo (обычно — /mnt/gentoo
):
Теперь утилитой tar распакуем выбранный архив стадии. Убедитесь, что вы используете точно такие же параметры (xvjpf
)! Параметр v
необязателен и может не работать в некоторых версиях tar. В следующем примере мы распакуем архив стадии stage3-
. В качестве имени архива обязательно указывайте название файла нужной вам стадии.
<архитектура>
-2006.1.tar.bz2
Листинг 63. Распаковка архива стадии
#
tar xvjpf /mnt/cdrom/stages/stage3-
<архитектура>
-2007.0.tar.bz2
После установки стадии переходите к установке дерева портежей.
Теперь вам нужно установить снимок дерева портежей — набор файлов, содержащих сведения для Portage о программном обеспечении, доступном для установки, имеющихся профилях и т.д.
Перейдите к точке подключения вашей системы (обычно — /mnt/gentoo
):
Запустите links (или lynx) и откройте спискок зеркал Gentoo. Выберите ближайшее зеркало и перейдите в каталог snapshots/
. Оттуда загрузите новейший снимок дерева портежей (portage-latest.tar.bz2
), выбрав его из списка и нажав D.
Закройте браузер нажатием Q. Теперь у вас в /mnt/gentoo
появился снимок дерева портежей.
Если нужно убедиться в целостности загруженного снимка, воспользуйтесь md5sum, и сравните результат с контрольной суммой MD5, имеющейся на зеркале.
Листинг 66. Checking integrity of a Portage snapshot
#
md5sum -c portage-latest.tar.bz2.md5sum
portage-latest.tar.bz2: OK
Теперь нужно распаковать снимок. Убедитесь в том, что вы используете в точности такие же параметры; последний параметр — заглавная C, а не строчная c.
Листинг 67. Извлечение снимка дерева портежей
#
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Все их можно создавать как
переменные среды (с помощью export), но тогда они будут лишь временными. Для хранения ваших настроек предназначен конфигурационный файл Portage, /etc/make.conf
. Именно его мы сейчас будем редактировать.
Список и описание всех допустимых переменных находятся в файле /mnt/gentoo/etc/make.conf.example
. Для успешной установки Gentoo, достаточно установить значения только тех переменных, которые описаны ниже.
Запустите ваш любимый редактор (в этом руководстве используется nano) для изменения параметров оптимизации, которые обсуждаются далее.
Как вы могли заметить, у файла make.conf.example
обычная структура: строки комментария начинаются со знака «#
», а в остальных строках выражениями вида ПЕРЕМЕННАЯ="значение"
определяются переменные. У файла make.conf
такой же формат. Некоторые из переменных мы обсудим ниже.
В переменной CHOST
определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение. Не изменяйте эту переменную, т.к. это может повредить вашу систему. Если переменная CHOST
, по-вашему, выглядит неправильно, возможно, вы используете не тот архив stage3.
Переменные CFLAGS
и CXXFLAGS
определяют параметры оптимизации компилятора gcc для языков C и C++, соответственно. При том, что общие значения следует
устанавливать здесь, максимальная производительность достигается в том случае, когда для каждой компилируемой программы устанавливаются
свои собственные оптимальные параметры. Причина в том, что все программы различны.
В файле make.conf
следует указывать параметры оптимизации, которые, на ваш взгляд, повысят скорость системы в целом. Не помещайте сюда экспериментальные
значения; излишняя оптимизация может привести к плохому поведению программ (аварийным завершениям, или, что хуже, неправильной
работе).
Мы не будем описывать все возможные параметры оптимизации. Если вы хотите узнать о них всё, почитайте онлайновые руководства GNU (англ.) или страницу описания gcc (info gcc — доступна только на работающей системе Linux). Не забудьте прочитать сам файл make.conf.example: в нем также есть немало примеров и полезных сведений.
Первый параметр — флаг -march=
, где указывается название целевой архитектуры. Возможные варианты описаны в комментариях в файле make.conf.example
. Например, для архитектуры x86 Athlon XP:
Листинг 69. Значение -march
для GCC
# пользователям AMD64, желающим получить действительно 64-битную # систему, следует использовать -march=k8 # пользователи EM64T должны указать -march=nocona -march=athlon-xp
(JohnBat26) (обновлено в 1.5): Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора, можно указывать одно из двух (в параметрах: -march и -mtune):
generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на всех процессорах, архитектуры x86;
native: если Вы хотите оптимизировать код только для Вашего процессора. В этом случае компилятор будет брать сведения о процессоре путем вызова cpuid !
Следующий — флаг -O
(заглавная латинская «O», а не ноль), определяющий класс оптимизации в gcc. Допустимые значения:
s — оптимизация по размеру;
0 — ноль, без оптимизации;
1, 2 или 3 — все большая оптимизация по скорости (в каждый класс входят все флаги предыдущего, и некоторые дополнительные).
Например, для оптимизации класса 2:
Другой популярный флаг оптимизации — -pipe
(использование для связи между различными проходами компилятора каналов вместо временных файлов).
Заметьте, что использование -fomit-frame-pointer
(не хранить в регистре указатель стекового кадра для функций, которым он не нужен) может всерьез помешать отладке программ!
При определении переменных CFLAGS
и CXXFLAGS
, нужно объединять несколько флагов оптимизации, как в следующем примере:
Листинг 71. Определение переменных CFLAGS и CXXFLAGS (gcc < 4.2.0)
CFLAGS="-march=athlon-xp -pipe -O2" # для пользователей AMD64: -march=k8 # для пользователей EM64T: -march=nocona CXXFLAGS="${CFLAGS}" # указывайте одинаковые значения обеих переменных
С помощью MAKEOPTS
определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хороший (но не всегда идеальный)
вариант — значение, равное количеству процессоров в системе плюс один.
Измените /mnt/gentoo/etc/make.conf
в соответствии со своими пожеланиями, и сохраните изменения (пользователям nano нужно нажать CTRL+X). Теперь вы готовы к установке базовой системы Gentoo.
Для ускорения загрузки исходного кода рекомендуется выбрать быстрое зеркало. Portage ищет переменную GENTOO_MIRRORS
в файле make.conf
и использует зеркала, перечисленные в ней. Конечно, можно просмотреть наш список зеркал и выбрать одно или несколько, географически
ближайших к вам (чаще всего они и будут самыми быстрыми), но мы предлагаем вам удобную утилиту mirrorselect, которая позволяет выбрать желаемые зеркала более удобным способом.
Листинг 73. Запуск mirrorselect для установки переменной GENTOO_MIRRORS
#
mirrorselect -i -o >>/mnt/gentoo/etc/make.conf
Не выбирайте зеркала IPv6. Файлы стадий пока не поддерживают протокол IPv6.
Вторая важная настройка — установка значения переменной SYNC
в файле make.conf
. Эта переменная указывает на сервер rsync (сервер удаленной синхронизации), выбранный вами для обновления дерева Portage
(коллекции файлов ebuild — сборочных сценариев, содержащих все данные, нужные Portage для скачивания и установки программ).
Хотя вписать адрес сервера в SYNC
можно и вручную, mirrorselect позволяет упростить это действие:
Листинг 74. Выбор зеркала rsync с помощью mirrorselect
#
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
После выполнения mirrorselect, мы рекомендуем проверить все значения в файле /mnt/gentoo/etc/make.conf
!
Перед тем, как перейти в новую среду, осталось сделать одно дело: скопировать информацию о DNS (системе доменных имен) в файл
/etc/resolv.conf
. Это нужно, чтобы при переходе сохранить работоспособность сети. В файле /etc/resolv.conf
содержатся адреса серверов имен, используемых в вашей сети.
Листинг 75. Копирование информации о DNS
(параметр «-L» нужен, чтобы случайно не скопировать символьную ссылку)#
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Смонтируйте файловую систему /proc
в /mnt/gentoo/proc
, чтобы после изменения корневого каталога устанавливаемая система смогла обращаться к информации, предоставляемой ядром,
а затем создайте привязку монтирования файловой системы /dev
.
Листинг 76. Монтирование /proc и /dev
#
mount -t proc none /mnt/gentoo/proc
#
mount -o bind /dev /mnt/gentoo/dev
Итак, все разделы подготовлены, а базовая операционная среда установлена. Теперь пора войти в нее, изменив корневой каталог. Таким образом, мы перейдем из текущей установочной среды (с компакт-диска или другого установочного носителя) в свою устанавливаемую систему (находящуюся в недавно размеченных разделах).
Изменение выполняется в три этапа:
Сначала мы с помощью chroot изменим корневой каталог с /
(находящийся на установочном носителе) на /mnt/gentoo
(находящийся на ваших дисковых разделах).
Затем мы создадим новую среду, пользуясь утилитой env-update, которая, собственно, создает переменные среды.
Наконец, мы загрузим эти переменные в память при помощи source.
Листинг 77. Изменение корневого каталога для перехода в новую среду
#
chroot /mnt/gentoo /bin/bash
#
env-update
>> Regenerating /etc/ld.so.cache...#
source /etc/profile
#
export PS1="(chroot) $PS1"
Поздравляем! Теперь вы в своей собственной среде Gentoo Linux. Конечно, на этом она далеко еще не готова, поэтому в руководстве еще осталось несколько разделов :-)
Теперь надо обновить дерево Portage до самой последней версии с помощью команды emerge --sync:
Листинг 78. Обновление дерева портежей
#
emerge --sync
(если вы пользуетесь медленным терминалом, например, последовательным терминалом или кадровым буфером, для ускорения процесса можно добавить параметр --quiet :)#
emerge --sync --quiet
Если компьютер подключен к интернету через межсетевой экран, блокирующий прохождение rsync-пакетов, вы можете воспользоваться командой emerge-webrsync, которая скачивает и устанавливает снимок дерева.
Если выдано предупреждение, что имеется новая версия Portage и ее нужно обновить, выполните обновление командой emerge portage.
Сначала дадим небольшое определение.
Профиль — конструктивный элемент любой системы Gentoo. В нём указываются не только значения по умолчанию для CHOST
, CFLAGS
и других важных переменных, он также привязывает систему к определенному диапазону допустимых версий пакетов. Диапазоны поддерживаются
разработчиками Gentoo.
Раньше пользователь редко касался профиля. Однако, пользователи х86, hppa и alpha могут выбирать из двух вариантов профиля: одного для ядра 2.4, другого для ядра 2.6. Это вызвано необходимостью улучшения интеграции ядер 2.6. Для архитектур ppc и ppc64 также существует несколько профилей. Мы поговорим о них позже.
Узнать, какой профиль используется в системе в данный момент, вы можете командой:
Листинг 79. Выяснение используемого профиля
#
ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2007.0/
Если вы используете одну из трех упомянутых архитектур, профиль по умолчанию даст вам систему с ядром 2.6. Это рекомендуется по умолчанию, но за вами сохраняется и право выбора другого профиля.
Для некоторых архитектур также предусмотрены подпрофили desktop и server. Загляните в профиль 2007.0/
, чтобы узнать, есть ли подпрофили для вашей архитектуры. Возможно, вы захотите заглянуть в make.defaults профиля desktop,
чтобы определить, подходит ли он вам.
Некоторым пользователям, возможно, захочется установить систему, основанную на старом профиле, с ядром 2.4. Если для этого есть веские основания, сначала надо проверить, существует ли такой дополнительный профиль. На системах x86 это можно сделать следующей командой:
Листинг 80. Выяснение наличия дополнительного профиля
#
ls -d /usr/portage/profiles/default-linux/x86/no-nptl/2.4
/usr/portage/profiles/default-linux/x86/no-nptl/2.4
В приведенном примере дополнительный профиль 2.4 существует (т.е. нет сообщений об отсутствующем файле или каталоге). Рекомендуется использовать профиль по умолчанию, но если вы все же хотите сменить его, это можно сделать так:
Листинг 81. Переключение профиля на 2.4
(убедитесь, что используете нужную архитектуру; этот пример - для x86)#
ln -snf /usr/portage/profiles/default-linux/x86/no-nptl/2.4 /etc/make.profile
(вывод списка файлов в профиле 2.4)#
ls -FGg /etc/make.profile/
total 12 -rw-r--r-- 1 939 Dec 10 14:06 packages -rw-r--r-- 1 347 Dec 3 2004 parent -rw-r--r-- 1 573 Dec 3 2004 virtuals
Для архитектуры ppc в выпуске 2006.1 появилось несколько новых профилей:
Листинг 82. Профили для PPC
(базовый профиль PPC, подходит для всех PPC-машин, минимальный)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1 /etc/make.profile
(профиль для G3)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3 /etc/make.profile
(профиль для G3 Pegasos)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G3/Pegasos/ /etc/make.profile
(профиль для G4 (Altivec))#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4 /etc/make.profile
(профиль для G4 (Altivec) Pegasos)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc32/2006.1/G4/Pegasos/ /etc/make.profile
Для архитектуры ppc64 в выпуске 2006.1 также появилось несколько новых профилей:
Листинг 83. Профили для PPC64
(базовый профиль PPC64 с 64-битным режимом пользователя, для всех PPC64-машин)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/64bit-userland /etc/make.profile
(базовый профиль PPC64 с 32-битным режимом пользователя, для всех PPC64-машин)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/32bit-userland /etc/make.profile
(для каждого режима пользователя существуют подпрофили, как показано ниже.) («userland» необходимо заменять на нужный вариант режима из примеров выше) (профиль 970 для JS20)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970 /etc/make.profile
(профиль для G5)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/970/pmac /etc/make.profile
(профиль для POWER3)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power3 /etc/make.profile
(профиль для POWER4)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power4 /etc/make.profile
(профиль для POWER5)#
ln -snf /usr/portage/profiles/default-linux/ppc/ppc64/2006.1/(userland)/power5 /etc/make.profile
(многорежимные профили на дату выхода этого выпуска нестабильны)
USE
(«использовать») — одна из самых мощных переменных, имеющихся в распоряжении пользователей Gentoo. Она позволяет при компиляции
программ включать или отключать поддержку определенных необязательных функций. Например, некоторые программы можно компилировать
с поддержкой gtk или qt на выбор. Другие можно собирать, включая или отключая поддержку SSL. Некоторые программы можно даже
компилировать с поддержкой кадрового буфера (svgalib) вместо поддержки X11 (X-сервера).
В большинстве дистрибутивов пакеты собраны с поддержкой практически всех мыслимых вариантов. Это увеличивает размер программ
и время запуска, не говоря уже о чрезмерных зависимостях. В Gentoo вы сами можете определять, с какими возможностями следует
компилировать пакет. Здесь играет роль переменная USE
.
В переменной USE
указываются ключевые слова, которые отражаются на параметрах компиляции. Например, параметр ssl включает компиляцию с поддержкой
ssl всех программ, которые способны его поддерживать. -X отключает поддержку X-сервера (обратите внимание на предшествующий
знак «минус»). Параметры gnome gtk -kde -qt
обеспечивают компиляцию ваших программ с поддержкой Gnome и gtk, но без поддержки KDE и qt, делая систему оптимальной для
GNOME.
Настройки USE по умолчанию хранятся в файлах make.defaults
вашего профиля. Файлы make.defaults находятся в каталоге, на который указывает /etc/make.profile
, а также во всех родительских каталогах. Значение USE
по умолчанию — это сумма всех значений USE
во всех файлах make.defaults
. Все, что вы вносите в /etc/make.conf
, рассчитывается относительно этих значений. Когда вы добавляете что-либо к значению USE
, оно добавляется в список по умолчанию. Когда удаляете что-либо (указывая ключевое слово с предшествующим знаком минус),
оно удаляется из списка по умолчанию (если оно там вообще было). Никогда ничего не меняйте в /etc/make.profile
. Все, что там находится, перезаписывается при обновлении Portage!
Полное описание переменной USE
находится во второй части настольной книги Gentoo в главе USE-флаги. Полное описание возможных значений признаков использования
находится в вашей системе в файле /usr/portage/profiles/use.desc
.
Листинг 84. Просмотр допустимых USE-флагов
#
less /usr/portage/profiles/use.desc
(для прокрутки пользуйтесь клавишами стрелок, для выхода нажимайте "q")
Например, приведем значение USE
для системы, базирующейся на KDE, с включением поддержки DVD, ALSA и записи CD:
Скорее всего, вы будете использовать в системе один-два набора региональных параметров. Нужные регионы можно указать в /etc/locale.gen
.
Вот пример одновременного подключения как английского (США), так и немецкого (Германия) с соответствующими кодировками (например, UTF-8).
Листинг 88. Укажите свои региональные настройки
en_US/ISO-8859-1 en_US.UTF-8/UTF-8 de_DE/ISO-8859-1 de_DE@euro/ISO-8859-15
Следующий шаг — запустить locale-gen. Это сгенерирует настройки для всех регионов, указанных вами в файле /etc/locale.gen
.
locale-gen имеется в glibc-2.3.6-r4 и более новой. Если у вас старшая версия glibc, сейчас ее следует обновить.
Настройки, подобной приведенной, для поддержки русского языка недостаточно. За дополнительными сведениями обращайтесь к отдельным руководствам по русификации Gentoo. — прим. пер.
Теперь приступим к настройке ядра.
Сначала необходимо выбрать часовой пояс (time zone), чтобы система знала, где вы находитесь. Найдите подходящий пояс в /usr/share/zoneinfo
, затем скопируйте его в /etc/localtime
. Постарайтесь, пожалуйста, избегать использования часовых поясов /usr/share/zoneinfo/Etc/GMT*
, т. к. их названия не соответствуют ожидаемым поясам. Например, GMT-8 фактически является поясом GMT+8.
Листинг 89. Установка часового пояса
#
ls /usr/share/zoneinfo
(допустим, вы хотите использовать GMT)#
cp /usr/share/zoneinfo/GMT /etc/localtime
(JohnBat26): Если возникают проблемы со временем (особенно с часовыми поясами), то выполните следующее (получено с форума):
Выставите правильное время.
Удалите файл /etc/adjtime
. Все, часы идут при перезагрузке нормально.
nano -w /etc/conf.d/clock. Ставьте там вместо UTC Local,и все!!!
Ядро Linux — это то, вокруг чего формируются все дистрибутивы. Это слой между пользовательскими программами и вашим оборудованием. Пользователи Gentoo могут выбирать из нескольких типов ядра. Их полный список и описание находится в руководстве по выбору ядра Gentoo (англ.).
Для x86 систем, помимо прочего, есть такие ядра, как
vanilla-sources (ядро по умолчанию от разработчиков linux ядра);
gentoo-sources (ядро с заплатками, улучшающими производительность).
С помощью команды emerge выберите и установите ядро. USE="-doc"
требуется, чтобы на этом этапе избежать установки xorg-x11 или других связанных пакетов. USE="symlink"
при новой установке не требуется, но обеспечивает правильное создание символьной ссылки /usr/src/linux
:
Просмотрев содержимое каталога /usr/src
, вы увидите символьную ссылку linux
, которая указывает на каталог с исходными кодами ядра. В данном случае, установленный исходный код ядра указывает на gentoo-sources-2.6.12-r10
. Имейте в виду, что ваша версия может отличаться.
Листинг 91. Просмотр папки с исходными кодами ядра
#
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10
Теперь настало время настройки и компиляции ядра. Можно использовать сценарий genkernel, который сформирует стандартное ядро, аналогичное используемому на установочном компакт-диске. Однако сначала мы расскажем о «ручной» настройке ядра, так как это лучший из способов оптимизации системы.
Если вы собираетесь настроить ядро вручную, то переходите к разделу по умолчанию: ручная настройка. Если вы хотите использовать genkernel, то читайте альтернатива: использование genkernel.
Ручная настройка ядра считается одним из самых сложных вопросов для пользователей Linux. Зато после настройки нескольких вариантов ядра вы и не вспомните, что это когда-то было трудно ;)
Однако есть одна непреложная истина: запуская ручную настройку ядра, следует знать состав аппаратуры своего компьютера. Большую часть информации можно собрать, установив пакет pciutils (emerge pciutils), в который входит lspci. lspci можно использовать, находясь в среде с временным корневым каталогом. Можно не обращать внимания на предупреждения, касающиеся pcilib (например: pcilib: cannot open /sys/bus/pci/devices [pcilib: не могу открыть /sys/bus/pci/devices]), которые выводит на экран lspci. Можно запустить lspci и вне временной среды установки. Результат тот же. Вы также можете запустить lsmod для просмотра модулей ядра, используемых установочным компакт-диском (это даст хорошую подсказку, какие параметры включать).
Теперь войдите в каталог с исходными кодами ядра и введите команду make menuconfig. Этой командой вы вызовете меню настройки, использующее ncurses.
Перед вами появятся несколько разделов настройки. Сначала перечислим пункты, включение которых обязательно (иначе Gentoo не заработает, или для его работы потребуются дополнительные ухищрения).
Прежде всего, разрешите использование разрабатываемого и экспериментального кода и драйверов. Без этого не появятся некоторые важные пункты:
Листинг 93. Выбор экспериментальных кодов/драйверов, основные параметры
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers" General setup ---> [*] Support for hot-pluggable devices
Удостоверьтесь, что каждый драйвер, жизненно необходимый для загрузки системы (например, SCSI-контроллера), собран внутри ядра, а не как модуль, иначе система совсем не сможет загрузиться.
Далее выберите нужное семейство процессоров:
Листинг 94. Выбор подходящего семейства процессоров
Processor type and features --->
(измените в соответствии со своей системой)
(Athlon/Duron/K7) Processor family
Теперь войдите в File Systems и выберите поддержку всех нужных файловых систем. Не компилируйте их как модули, иначе система Gentoo не сможет смонтировать дисковые разделы. Также выберите Virtual memory и /proc file system. При использовании ядра 2.4, вам потребуется включить /dev file system, т.к. это ядро не поддерживает udev.
Листинг 95. Выбор необходимых файловых систем
(при использовани ядра 2.4.x) File systems ---> [*] Virtual memory file system support (former shm fs) [*] /proc file system support [*] /dev file system support (EXPERIMENTAL) [*] automatically mount /dev at boot [ ] /dev/pts file system for Unix98 PTYs (при использовании ядра 2.6.x) File systems ---> Pseudo Filesystems ---> [*] /proc file system support [*] Virtual memory file system support (former shm fs) (включите поддержку всех нужных вам файловых систем) <*> Reiserfs support <*> Ext3 journalling file system support <*> JFS filesystem support <*> Second extended fs support <*> XFS filesystem support
Если ваш BIOS не поддерживает жесткие диски большого размера, и вы ограничили перемычками сообщаемый диском объем, то для получения доступа ко всему диску нужно включить следующие параметры ядра:
Листинг 96. Включение поддержки автокоррекции геометрии
(только в ядре 2.4.x)
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
<*> Include IDE/ATA-2 DISK support
[ ] Use multi-mode by default
[*] Auto-Geometry Resizing support
Не забудьте включить поддержку режима DMA для ваших дисков:
Листинг 97. Включение DMA
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> [*] Generic PCI bus-master DMA support [*] Use PCI DMA by default when available
Если вы используете PPPoE или коммутируемого соединения для соединения с интернетом, потребуется включить в ядре следующие функции:
Листинг 98. Выбор нужных драйверов PPPoE
(при использовании ядра 2.4.х) Network device support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports (при использовании ядра 2.6.x) Device Drivers ---> Networking support ---> <*> PPP (point-to-point protocol) support <*> PPP support for async serial ports <*> PPP support for sync tty ports
Два параметра сжатия данных не являются обязательными, но и не повредят. То же относится и к параметру PPP over Ethernet который нужен только для rp-pppoe, для поддержки PPPoE в режиме ядра.
При необходимости, не забудьте включить в ядре поддержку своей сетевой платы.
Если у вас процессор Intel с поддержкой HyperTreading или многопроцессорная система, следует включить «симметричную многопроцессорную обработку»:
Листинг 99. Включение поддержки SMP
Processor type and features ---> [*] Symmetric multi-processing support
Если вы пользуетесь устройствами ввода на шине USB, (например, мышью или клавиатурой), не забудьте включить их поддержку:
Листинг 100. Включение поддержки USB для устройств ввода
USB Support ---> <*> USB Human Interface Device (full HID) support
Владельцам ноутбуков, которым нужна поддержка PCMCIA, не нужно включать драйверы PCMCIA в ядре, выбрав ядро версии 2.4. В пакете pcmcia-cs, который будет устанавливаться позже, есть более свежие драйверы. Пользователям ядра 2.6 следует использовать драйверы PCMCIA, включенные в ядро.
Наряду с включением поддержки PCMCIA в ядре 2.6, не забудьте включить поддержку моста PCMCIA своей системы:
Листинг 101. Включение поддержки PCMCIA для ядра 2.6
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> PCCARD (PCMCIA/CardBus) support ---> <*> PCCard (PCMCIA/CardBus) support (если нужно (обычно нужно), включите поддержку старых 16-битных карт PCMCIA) <*> 16-bit PCMCIA support [*] 32-bit CardBus support (выберите наиболее подходящий мост) --- PC-card bridges <*> CardBus yenta-compatible bridge support (NEW) <*> Cirrus PD6729 compatible bridge support (NEW) <*> i82092 compatible bridge support (NEW) <*> i82365 compatible bridge support (NEW) <*> Databook TCIC host bridge support (NEW)
Закончив настройку ядра, приступайте к компиляции и установке.
Теперь, когда ядро настроено, настало время его скомпилировать и установить. Выйдите из настройки и запустите процесс компиляции:
Листинг 102. Компиляция ядра
(для ядра 2.4)#
make dep && make bzImage modules modules_install
(для ядра 2.6)#
make && make modules_install
По завершении компиляции, скопируйте образ ядра в каталог /boot
. Используйте любое имя, которое вам покажется подходящим для избранного ядра, и запомните его, так как позже при настройке
начального загрузчика оно потребуется. Не забудьте заменить <версия-ядра>
на имя и версию своего ядра.
Теперь переходите к модулям ядра.
Если вы читаете эти строки, значит, вы собираетесь использовать наш сценарий genkernel для настройки ядра за вас.
Теперь когда исходные коды ядра установлены, настало время скомпилировать ядро, собрав его автоматически при помощи сценария genkernel. genkernel выполняет настройку ядра практически так же, как настраивается ядро на установочном компакт-диске. То есть система, ядро которой собрано genkernel, как правило, будет выполнять определение всех устройств при загрузке. Поскольку genkernel не требует никакой ручной настройки ядра, это идеальное решение для тех, кому неуютно от одной мысли, что придется компилировать ядро.
Рассмотрим, как использовать genkernel. Сначала установите его:
Теперь, если вы собираетесь использовать ядро ветви 2.6, скопируйте настройку ядра, используемую установочным диском, в каталог, где genkernel ищет настройку по умолчанию:
Листинг 105. Копирование файла настройки ядра с установочного диска
(только если вы собираетесь настраивать ядро 2.6.х)#
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6
Теперь скомпилируйте исходный код ядра, запустив genkernel all. Имейте в виду, что компиляция займет приличное время, поскольку genkernel собирает ядро, поддерживающее практически любое оборудование.
Если в загрузочном разделе не используется файловая система ext2
или ext3
, то вам придется вручную настроить ядро, запустив genkernel --menuconfig all, добавив поддержку используемой файловой системы в ядро (т.е. не модулем). Пользователям EVMS2 или LVM2, вероятно, захочется
также добавить параметр командной строки --evms2
или --lvm2
.
В итоге работы genkernel будет создано ядро, полный набор модулей и начальный корневой диск (initrd). Ядро и initrd будут использоваться в процессе настройки загрузчика системы, которая описана далее в руководстве. Запишите имена ядра и начального корневого диска, так как они понадобятся при составлении конфигурационного файла загрузчика. initrd запускается сразу при начальной загрузке, выполняя автоматическое определение устройств (точно так же, как при запуске установочного диска), до запуска «настоящей» системы.
Теперь давайте еще на шаг приблизим нашу систему к установочному диску: соберем coldplug. Если initrd определяет оборудование, необходимое для загрузки системы, coldplug выполняет автоопределение всех остальных устройств. Для установки и подключения coldplug введите команду:
Модули, которые требуется загружать автоматически, нужно указать в /etc/modules.autoload.d/kernel-2.4
(или kernel-2.6
). Также, при желании, модулям можно сообщить дополнительные параметры.
Для просмотра всех доступных модулей запустите команду find, заменив «<версия ядра>
» на версию только что собранного ядра:
Листинг 109. Просмотр перечня доступных модулей
#
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
Например, для автоматической загрузки модуля 3c59x.o
измените файл kernel-2.4
или kernel-2.6
, указав в нем имя модуля.
Листинг 110. Изменение /etc/modules.autoload.d/kernel-2.4
(показан пример для ядра 2.4.x)#
nano -w /etc/modules.autoload.d/kernel-2.4
Теперь переходите к настройке параметров системы.
В Linux все разделы, используемые системой, должны быть перечислены в /etc/fstab
. В этом файле указываются точки подключения разделов (mountpoints, местоположение разделов в файловой системе), порядок подключения,
а также дополнительные параметры (автоматический или ручной режим подключения, достаточность прав пользователя для подключения
и т.п.)
В /etc/fstab
используется специальный формат. Каждая строка состоит из шести полей, разделяемых пробелами, знаками табуляции или их сочетанием.
Каждое поле имеет свое назначение:
Первое поле обозначает раздел (partition) (путь к файлу устройства).
Второе поле указывает точку подключения (mountpoint), в которую монтируется раздел.
Третье поле задает тип файловой системы (filesystem), используемой в разделе.
В четвертом поле указываются параметры подключения (mountoptions), используемые mount при подключении раздела. Поскольку для каждой файловой системы существуют свои параметры, рекомендуется прочитать страницу справки по mount (man mount), где приведен их полный перечень. При указании нескольких параметров подключения их следует разделять запятыми.
Пятое поле используется dump для определения, требуется ли резервное копирование раздела средствами dump. Обычно это поле можно просто установить в 0 (ноль).
Шестое поле используется fsck для определения порядка проверки (check) файловых систем после некорректного завершения работы системы. Для корневой файловой системы рекомендуется значение 1, а для остальных — 2 (или 0, когда проверка файловой системы не требуется).
Вариант файла /etc/fstab
по умолчанию, входящий в Gentoo, не является работоспособным. Вам потребуется создать свой собственный /etc/fstab
.
Укажите правила, соответствующие вашей схеме разбивки, и добавьте правила для /proc
, для tmpfs, для своих дисководов CD-ROM (если есть другие разделы или устройства, их тоже можно указать).
Теперь на основе приведенного примера создайте собственный файл /etc/fstab
:
Параметр auto
позволяет mount определять тип файловой системы автоматически (рекомендуется для съемных носителей, которые могут оказаться размечены в одной
из множества существующих файловых систем), а user
позволяет монтировать компакт-диски обычным пользователям.
Чтобы повысить быстродействие, большинству пользователей стоит добавить параметр noatime в параметры подключения, что приведет к ускорению за счет отключения регистрации отметки времени доступа к файлам (обычно в ней все равно нет необходимости):
Перепроверьте свой файл /etc/fstab
, сохраните его, и выйдите из редактора, чтобы продолжить настройку.
Листинг 113. Пример /etc/fstab
/dev/sda2 /boot ext2 defaults,noatime 1 2 /dev/sda5 / xfs defaults,noatime 0 1 /dev/sda3 none swap sw 0 0 /dev/sda7 /home xfs defaults,noatime 0 1 /dev/sr0 /mnt/cdrom auto noauto,ro,user,iocharset=utf8 0 0 # раздел с FAT32 /dev/sda1 /windows/c vfat auto,iocharset=utf8,quiet,user,umask=000,noatime 0 0 # раздел NTFS только для чтения /dev/sda6 /windows/d ntfs auto,nls=utf8,umask=0,user,noatime 0 0 /dev/sda8 /windows/e vfat auto,iocharset=utf8,user,quiet,umask=000,noatime 0 0 /dev/sda9 /home/media xfs defaults,noatime 0 1 # раздел NTFS для чтения и записи при помощи ntfs-3g /dev/sda10 /mnt/windows/f ntfs-3g -o silent,umask=0,locale=ru_RU.utf8 # NOTE: The next line is critical for boot! proc /proc proc defaults 0 0 # flash drive /dev/sdb /mnt/flash auto user,noauto,rw,async,iocharset=utf8 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Еще один вопрос, который нужно решить пользователю — как назвать свой компьютер. Он кажется довольно простым, но многие затрудняются дать подходящее имя для своей Linux-системы. Чтобы вам стало легче, запомните, что какое бы имя вы не выбрали, потом его всегда можно изменить. Например, вы могли бы просто назвать свою систему tux, а домен — homenetwork.
Листинг 114. Установка имени узла
#
nano -w /etc/conf.d/hostname
(присвойте переменной HOSTNAME имя своего узла) HOSTNAME="tux"
Во-вторых, установим имя домена (domainname) в /etc/conf.d/net
:
Листинг 115. Установка имени домена
#
nano -w /etc/conf.d/net
(присвойте переменной DNSDOMAIN имя своего домена) dns_domain_lo="homenetwork"
Если у вас есть домен NIS (а если вы не знаете, что это такое, то у вас его точно нет), его также необходимо указать:
Листинг 116. Установка имени NIS-домена
#
nano -w /etc/conf.d/net
(укажите название своего домена NIS переменной nis_domain) nis_domain_lo="my-nisdomain"
Прежде, чем возмутиться: «Эй, мы же все это уже делали!» — вспомните, что подключение к сети, настроенное вначале, было предназначено лишь для установки Gentoo. Теперь же вы настраиваете сеть для постоянного использования.
Более подробные сведения о сетях, включая дополнительные темы, такие как объединение, образование мостов, настройка виртуальных сетей (VLAN) 802.1Q или беспроводных сетей, представлены в разделе настройка сети в Gentoo.
Все настройки сети собраны в файле /etc/conf.d/net
. В нем используется простой формат, хотя, если вы не знакомы с ручной настройкой сети, он не слишком очевиден. Но не бойтесь,
мы все объясним. В файле /etc/conf.d/net.example
приведен подробно прокомментированный пример, охватывающий много различных конфигураций.
По умолчанию используется DHCP. Чтобы DHCP заработал, требуется установить DHCP-клиент, как описано далее в разделе Установка нужных системных средств. Не забудьте установить DHCP-клиент.
Если настройка сетевого подключения нужна вам для указания специфических параметров DHCP, или из-за того, что вы вообще не
используете DHCP, откройте /etc/conf.d/net
в своем любимом редакторе (в этом примере использован nano):
Вы увидите следующее:
Листинг 118. /etc/conf.d/net
по умолчанию
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
(# Этот пустой файл настройки приводит к автоматическому использованию
# DHCP всеми сценариями net.* из /etc/init.d. Для создания более полной
# настройки, пожалуйста, просмотрите /etc/conf.d/net.example, а свою
# настройку сохраните в /etc/conf.d/net (в этом файле :]!). )
Чтобы указать свой собственный адрес IP, маску сети и шлюз, потребуется настроить как config_eth0
, так и routes_eth0
:
Листинг 119. Ручная настройка параметров IP для eth0
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" ) routes_eth0=( "default gw 192.168.0.1" )
Чтобы при использовании DHCP указать специфические параметры, определите config_eth0 и dhcp_eth0:
Листинг 120. Автоматическое получение адреса IP для eth0
config_eth0=( "dhcp" ) dhcp_eth0="nodns nontp nonis"
Список допустимых параметров дан в файле /etc/conf.d/net.example
.
Если у вас несколько сетевых интерфейсов, повторите эти шаги для config_eth1, config_eth2 и т.д.
Теперь сохраните параметры и выйдите из редактора, чтобы продолжить настройку.
Для запуска сетевых интерфейсов при загрузке необходимо добавить их в уровень запуска по умолчанию. Если у вас интерфейсы типа PCMCIA, пропустите этот шаг, поскольку интерфейсы PCMCIA запускаются сценарием инициализации PCMCIA.
Если у вас несколько сетевых интерфейсов, потребуется создать для них соответствующие сценарии инициализации net.eth1, net.eth2 и т.д. Для этого можно использовать ln:
Листинг 122. Создание дополнительных сценариев инициализации
#
cd /etc/init.d
#
ln -s net.lo net.eth1
#
rc-update add net.eth1 default
Теперь расскажем системе Linux о вашей сети. Эти сведения указываются в /etc/hosts
, и помогают разрешению имен в IP-адреса для узлов, не обрабатываемых сервером имен. Требуется определить вашу систему. Также
можно определить другие системы в сети, если вы не собираетесь устанавливать собственную систему DNS.
Листинг 124. Указание сведений об узлах сети
(определение текущей системы) 127.0.0.1 tux.homenetwork tux localhost (определите другие машины в своей сети, для этого у них должен быть статический IP-адрес.) 192.168.0.5 jenny.homenetwork jenny 192.168.0.6 benny.homenetwork benny
Чтобы продолжить настройку, сохраните файл и выйдите из редактора.
Прежде всего, нужно установить пароль root (администратора), набрав:
Если вы хотите, чтобы root мог входить в систему через последовательный терминал, добавьте tts/0 в /etc/securetty
:
Для общей настройки системы в Gentoo используется /etc/rc.conf
. Откройте /etc/rc.conf
и с удовольствием прочитайте все комментарии, находящиеся в этом файле :)
Завершив изменение /etc/rc.conf
сохраните файл и выйдите из редактора.
Как видите, этот файл подробно прокомментирован, что поможет вам в настройке необходимых конфигурационных переменных. Можно настроить систему на использование unicode, а также указать редактор по умолчанию и диспетчер отображения (например, gdm или kdm).
Для управления раскладками клавиатуры в Gentoo используется /etc/conf.d/keymaps
. Для настройки своей клавиатуры измените его.
Будьте особенно тщательны при установке переменной раскладки клавиатуры (KEYMAP): выбрав неверную раскладку, вы можете получить непредсказуемый результат при попытке ввода с клавиатуры.
По завершении изменения /etc/conf.d/keymaps
сохраните файл и выйдите из редактора.
Для настройки параметров часов в Gentoo используется /etc/conf.d/clock
. Изменяйте его в соответствии со своими потребностями.
Если аппаратные часы вашей системы настроены не на часовой пояс UTC (Гринвич), в файл необходимо добавить строку CLOCK="local"
. В противном случае вы заметите сдвиг часового пояса.
После завершения настройки /etc/conf.d/clock
сохраните файл и выйдите из редактора.
Переходите к установке нужных системных средств.
Если вы используете ядро 2.4, и при этом устанавливаете Gentoo из файла третьей стадии (stage3), вам необходимо еще кое-что сделать. Так как теперь в Gentoo по умолчанию используется udev, а ядром 2.4 udev не поддерживается, вам потребуется установить devfsd, и убрать udev.
Листинг 129. Установка devfsd
(для тех, кто использует ядро 2.4.x при установке c третьей стадии)#
emerge --unmerge udev
#
emerge devfsd
Некоторые средства не включены в архив stage3, поскольку одинаковые возможности можно обеспечить различными пакетами. Теперь вы сами выберете, какие именно установить.
Первый инструмент, который вам необходимо выбрать, должен дать системе возможность журналирования. У Unix и Linux превосходная история развития журналирования — при желании в файлах журналов можно регистрировать любой чих, происходящий в вашей системе. Это обеспечивается системной службой журналирования.
В Gentoo предлагается несколько служб журналирования на выбор. Это sysklogd, традиционный набор журналирующих демонов, syslog-ng, расширенная служба журналирования, и metalog — служба журналирования с очень гибкими возможностями настройки. Возможно, в Portage имеются и другие службы журналирования: количество доступных пакетов растет день ото дня.
Если вы планируете использовать sysklogd или syslog-ng, позднее может потребоваться установка logrotate, поскольку в этих службах журналирования не предусмотрен никакой механизм ротации системных журналов.
Чтобы установить выбранную службу журналирования, воспользуйтесь emerge, а затем добавьте ее в уровень запуска по умолчанию с помощью rc-update. В следующем примере показана установка syslog-ng. Вместо нее вы можете подставить другую службу журналирования:
Листинг 130. Установка системной службы журналирования
#
emerge syslog-ng
#
rc-update add syslog-ng default
Следующий демон — cron. Хотя он является дополнительным, и не обязателен для работы вашей системы, будет благоразумным установить его. Но что же такое демон cron? Демон cron выполняет команды по расписанию. Это очень удобно, когда нужно выполнять какие-либо команды регулярно (например, ежедневно, еженедельно или ежемесячно).
В Gentoo предлагаются три варианта демона cron на выбор: dcron, fcron и vixie-cron. Установка любого из них подобна установке системной службы журналирования. Однако, при установке dcron или fcron для настройки требуется выполнение дополнительной команды, а именно crontab /etc/crontab. Если вы не знаете, что выбрать, используйте vixie-cron.
При бессетевой установке доступен только vixie-cron. Если вам нужен другой демон cron, его можно установить позже.
Листинг 131. Установка демона cron
#
emerge vixie-cron
#
rc-update add vixie-cron default
(только если выбран dcron или fcron)#
crontab /etc/crontab
Если вы хотите индексировать файлы в своей системе, чтобы быстро находить их с помощью locate, нужно установить sys-apps/slocate:
Для проверки целостности файловых систем, создания дополнительных файловых систем, и т.п., вам потребуются определенные утилиты, состав которых зависит от используемых файловых систем.
В следующей таблице перечислены утилиты, которые необходимо устанавливать для обслуживания файловых систем различных типов:
Файловая система | Утилиты | Команда установки |
---|---|---|
XFS | xfsprogs | emerge xfsprogs |
ReiserFS | reiserfsprogs | emerge reiserfsprogs |
JFS | xfsprogs | emerge jfsutils |
Если вы используете EVMS, также необходимо установить evms:
USE="-gtk"
предотвратит установку пакетов, от которых зависит данный. При желании включить графические средства evms, потом можно перекомпилировать
evms.
Если вам не нужны никакие дополнительные сетевые средства (типа rp-pppoe или клиента dhcp), переходите к настройке начального загрузчика.
Если требуется, чтобы Gentoo автоматически получала IP-адрес для ваших сетевых интерфейсов, необходимо установить dhcpcd (или любой другой клиент DHCP, список имеющихся клиентов DHCP см. в главе Модульное построение сети). Если не сделать этого сейчас, то после завершения установки вы не сможете подключиться к интернету!
Если для выхода в сеть требуется rp-pppoe, его нужно установить.
USE="-X"
запрещает установку xorg-x11 в порядке зависимости (в rp-pppoe есть графические средства; если их нужно подключить, можно
перекомпилировать rp-pppoe позже, или же установить xorg-x11 сейчас: при его установке потребуется много времени на компиляцию).
Если в составе системы на базе POWER5 вы используете RAID-массивы SCSI, стоит задуматься об установке iprutils, которые, среди прочего, позволяют работать с дисковыми массивами, выяснять состояние дисков в составе массива и обновлять микрокод.
Теперь переходите к настройке начального загрузчика.
Теперь, когда ядро настроено и собрано, а нужные конфигурационные файлы заполнены как надо, пришло время установить программу, которая будет запускать ваше ядро при старте системы. Такого рода программа называется загрузчиком. Для архитектуры x86 в Gentoo Linux есть загрузчики GRUB и LILO. Но прежде, чем приступить к установке одного из двух загрузчиков, мы расскажем, как настроить кадровый буфер (естественно, если вы захотите). С помощью кадрового буфера можно работать в командной строке Linux на фоне графических элементов (например, симпатичного изображения из загрузочной заставки Gentoo).
Если вы настроили в ядре поддержку кадрового буфера (или оставили настройки по умолчанию при использовании genkernel), вы можете включить буфер, добавив параметр vga и/или video в файл конфигурации своего загрузчика.
Для начала, вам надо узнать тип используемого кадрового буфера. При использовании исходных кодов ядра, доработанных для Gentoo (таких как gentoo-sources), у вас есть возможность выбрать vesafb-tng в качестве типа драйвера VESA (в этих исходных кодах ядра он используется по умолчанию). При использовании vesafb-tng параметр vga указывать не нужно. В других случаях используется драйвер vesafb, а параметр vga необходимо указывать.
Параметр vga устанавливает разрешение и глубину цвета, используемые кадровым буфером vesafb. Как отмечено в /usr/src/linux/Documentation/fb/vesafb.txt
(который устанавливается в составе пакета с деревом исходных кодов ядра), кадровому буферу необходимо передавать код режима
VESA, соответствующий нужному разрешению и цветности.
В следующей таблице приведены коды режимов для указания в параметре vga, а также соответствующие им значения разрешения и цветности.
640x480 | 800x600 | 1024x768 | 1280x1024 | |
256 | 0x301 | 0x303 | 0x305 | 0x307 |
32 тыс | 0x310 | 0x313 | 0x316 | 0x319 |
64 тыс | 0x311 | 0x314 | 0x317 | 0x31A |
16 млн | 0x312 | 0x315 | 0x318 | 0x31B |
Параметр video отвечает за порядок отображения кадрового буфера. В нем указывается название драйвера кадрового буфера (vesafb
для ядра 2.6 или vesa для ядра 2.4), а затем режимы, которые нужно включить. Все режимы приведены в /usr/src/linux/Documentation/fb/vesafb.txt
, а здесь мы расскажем о трех самых используемых:
ywrap
считать, что видеоплата может закольцовывать свою память (продолжать выборку с начального адреса, когда достигнут конечный);
mtrr:n
установка регистров MTRR; допустимые значения n: 0 - отключено 1 - без кэширования 2 - отложенная запись (write-back) 3 -
объединенная запись (write-combining) 4 - сквозная запись (write-through);
mode
(только для vesafb-tng) Установить разрешение, цветность и частоту кадров. Например, 1024x768-32@85 для разрешения 1024x768,
32-битного цвета и частоты кадров 85 Гц.
В результате должно получиться что-то вроде vga=0x318 video=vesafb:mtrr:3,ywrap
или video=vesafb:mtrr:3,ywrap,1024x768-32@85
. Запомните (или запишите) составленное значение, скоро оно понадобится.
Перейдем к установке GRUB или LILO.
Самое сложное в освоении GRUB — освоиться с тем, как в нем именуются жесткие диски и разделы. Ваш Linux-раздел /dev/hda1
, скорее всего, в GRUB станет называться (hd0,0)
. Обратите внимание на круглые скобки вокруг hd0,0
— они обязательны.
Жесткие диски нумеруются, начиная с нуля, а не с «а»; разделы — c нуля, а не с единицы. Нужно помнить, что в виде hd нумеруются только жесткие диски, но не устройства atapi-ide, такие как приводы компакт-дисков. Та же нумерация используется для устройств SCSI (обычно им присваиваются номера большие, чем устройствам IDE, кроме случаев, когда BIOS настроен на загрузку с устройства SCSI). Когда BIOS настроен на загрузку с другого жесткого диска (например, с первичного ведомого), именно этот жесткий диск и становится hd0.
Например, если у вас есть жесткий диск /dev/hda
, привод CD-ROM /dev/hdb
, записывающий CD /dev/hdc, второй жесткий диск /dev/hdd
, а устройств SCSI нет, то разделу /dev/hdd7
будет соответствовать (hd1,6)
. Возможно, это покажется запутанным (так и есть), но, как мы увидим, в GRUB есть механизм автодополнения по TAB, облегчающий жизнь обладателям множества жестких дисков и разделов, а также тем, кто теряется в схеме нумерации устройств
GRUB.
Почувствовав, что к чему, пора установить GRUB.
Для установки GRUB сначала добавим его в систему:
Хотя GRUB уже установлен, нам еще потребуется подправить его файл конфигурации, и поместить GRUB в MBR, чтобы он автоматически
загружал ядро. С помощью nano (или другого редактора) создайте /boot/grub/grub.conf
:
Теперь заполним grub.conf
своими значениями. Ниже приведены два варианта grub.conf
для показанного примера разбиения дисков. Первый вариант grub.conf
мы подробно прокомментировали. Удостоверьтесь, что у себя вы указываете имя своего файла образа ядра, и при необходимости
имя своего образа начального корневого диска (initrd).
первый вариант grub.conf — для тех, кто при сборке ядра обходился без genkernel
второй вариант grub.conf — для тех, кто при сборке ядра пользовался genkernel
Если ваша корневая файловая система — JFS, необходимо добавить «ro» в строку kernel, поскольку JFS «накатывает» свой журнал перед тем, как разрешить монтирование раздела на чтение-запись.
Листинг 139. grub.conf
для тех, кто обошелся без genkernel
Листинг 3: grub.conf для тех, кто обошелся без genkernel # какой пункт загружать по умолчанию: 0 - первый, 1 - второй и т.д. default 0 # сколько секунд ждать до начала загрузки пункта по умолчанию timeout 30 # симпатичная заставка, добавить по вкусу :) # закомментируйте, если у вас не установлена графическая видеоплата splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo Linux 2.6.12-r10 # раздел с файлом образа ядра (или операционной системой) root (hd0,0) kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3 # следующие четыре строки нужны только для двойной загрузки с Windows # в этом примере Windows находится на /dev/hda6 title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1
Листинг 140. grub.conf
для тех, кто пользовался genkernel
default 0 timeout 30 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo Linux 2.6.12-r10 root (hd0,0) kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10 # нужно только для двойной загрузки title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1
Параметр udev, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).
Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения. При этом убедитесь, что все
пути, следующие за упоминанием устройства GRUB (например (hd0,0)), приведены относительно точки подключения, а не корня файловой
системы. Другими словами, (hd0,0)/grub/splash.xpm.gz
— на самом деле /boot/grub/splash.xpm.gz
, так как (hd0,0)
— это /boot
.
Кроме того, если вы избрали другую схему разбиения диска, и не выделяли для /boot
отдельный раздел, префикс /boot
, использованный в примерах выше, обязателен. Если же вы следовали рекомендованному нами плану разбиения, префикс /boot
не требуется, но все работает благодаря символьной ссылке boot
. Короче говоря, приведенные примеры должны работать независимо от того, есть у вас отдельный раздел для /boot
или нет.
Если вам надо передать ядру дополнительные параметры, просто добавьте их в конец строки kernel. Один параметр мы уже передаем
ядру (root=/dev/hda3
или real_root=/dev/hda3
); можно добавлять и другие, например, такие как параметры video
и/или vga
для кадрового буфера, обсуждавшиеся выше.
Если вы используете ядро 2.6.7 или выше, а объем жесткого диска ограничили перемычками из-за того, что BIOS не в состоянии
работать с дисками большого размера, вам потребуется добавить hdx=stroke
.
Тем, кто использует genkernel, нужно помнить, что их ядро использует такие же загрузочные параметры, как на установочном компакт-диске.
Например, если у вас есть устройства SCSI, следует передать ядру параметр doscsi
.
Теперь сохраните grub.conf
и выйдите из редактора. Вам по-прежнему необходимо записать GRUB в MBR (Master Boot Record), чтобы GRUB автоматически запускался
при загрузке системы.
Разработчики GRUB рекомендуют использовать grub-install. Однако, на случай некорректной работы grub-install есть возможность записать GRUB вручную.
Переходите к разделу по умолчанию: установка GRUB с помощью grub-install или альтернатива: установка GRUB вручную.
Для установки GRUB вам надо выполнить команду grub-install. Однако, grub-install не заработает сам по себе, т.к. мы находимся в среде с измененным корневым каталогом. Нам нужно создать файл /etc/mtab
, перечислив в нем все смонтированные файловые системы. К счастью, для этого есть очень легкий способ: просто скопируйте содержимое
/proc/mounts
поверх /etc/mtab
, исключив строку rootfs, если вы не создавали отдельный загрузочный раздел. Следующая команда подойдет в обоих случаях:
Теперь мы можем установить GRUB, используя grub-install:
Если у вас есть вопросы о GRUB, пожалуйста, обратитесь к GRUB FAQ (англ.) или руководству по GRUB (англ.).
Переходите к перезагрузке системы.
Для начала настройки, введите grub. Вы увидите приглашение grub>
— это командная строка grub. Теперь потребуется набрать команды, нужные для установки загрузочной записи GRUB на ваш жесткий
диск.
Если у вас нет приводов для дискет, к приведенной команде добавьте --no-floppy
, чтобы grub зря не опрашивал несуществующие дисководы.
В приводимом примере мы хотим установить GRUB так, чтобы он считывал нужную информацию с загрузочного раздела /dev/hda1
, а загрузочная запись GRUB находилась в MBR (Master Boot Record) жесткого диска, чтобы первое, что мы видели после включения
компьютера — это приглашение GRUB. Естественно, если вы при установке отклонялись от предлагаемой схемы, внесите необходимые
поправки.
Находясь в GRUB, можно использовать автодополнение по клавише TAB. К примеру, если ввести «root (
», а затем TAB, появится список устройств (таких как hd0). Если ввести «root (hd0,
» и нажать TAB, появится список для выбора раздела из возможных (такого как hd0,0).
Благодаря автодополнению установка GRUB не так сложна. Теперь приступим к настройке GRUB.
Листинг 144. Установка GRUB в MBR
grub>
root (hd0,0)
(указание расположения раздела с /boot)grub>
setup (hd0)
(установка GRUB в MBR)grub>
quit
(выход из оболочки GRUB)
Если вы хотите установить GRUB в определенный раздел вместо MBR, команду setup потребуется исправить так, чтобы она указывала
на нужный раздел. Например, команда для установки GRUB в /dev/hda3
— setup (hd0,2). Однако, так поступают немногие.
С дополнительными вопросами о GRUB, пожалуйста, обращайтесь к GRUB FAQ (англ.) или руководству по GRUB (англ.).
В случае переустановки ядра в будущем, вам больше не потребуется копировать содержимое файлов. После компиляции ядра просто запускайте make install: копирование файлов и изменение конфигурации GRUB произойдет автоматически.
Переходите к перезагрузке системы.
LILO (сокращение от LInux LOader) — это проверенная временем рабочая лошадка среди загрузчиков Linux-систем. Но ей недостает ряда возможностей, которые есть в GRUB (и в том числе в этом заключается причина растущей популярности GRUB). LILO все еще используется, потому что на некоторых системах он работает, а GRUB — нет. Конечно же, он используется еще и потому, что многие просто знакомы с LILO и сроднились с ним. Так или иначе, в Gentoo поддерживаются оба загрузчика, и вы, видимо, решили использовать LILO.
Установка LILO в систему проста как пробка: просто используйте emerge.
Для настройки LILO нужно создать файл /etc/lilo.conf
. Запустите свой любимый редактор (в руководстве мы для единообразия используем nano) и создайте файл.
Несколькими разделами раньше мы попросили вас запомнить название созданного файла образа ядра. В следующем примере используется предложенная нами схема разделения диска.
Пример разделен на две части:
одна — для тех, кто не пользовался для сборки ядра genkernel;
другая — для тех, кто при сборке ядра пользовался genkernel;
Удостоверьтесь, что у себя вы указываете имя своего файла образа ядра, и при необходимости имя своего образа начального корневого диска (initrd).
Если ваша корневая файловая система — JFS, необходимо добавить «ro» в строку kernel, поскольку JFS «накатывает» свой журнал перед тем, как разрешить монтирование раздела на чтение-запись.
Листинг 147. Пример /etc/lilo.conf
boot=/dev/hda # установка LILO в MBR prompt # предоставление шанса выбора другого варианта timeout=50 # ожидание пять секунд до загрузки варианта по умолчанию default=gentoo # по истечении времени загрузка варианта gentoo # для тех, кто не использует genkernel image=/boot/kernel-2.6.12-gentoo-r10 label=gentoo # название этого варианта read-only # запуск с корневой ФС только для чтения; не менять! root=/dev/hda3 # расположение корневой файловой системы # для тех, кто использует genkernel image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10 label=gentoo read-only root=/dev/ram0 append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10 # следующие две строки нужны только для двойной загрузки с Windows # в этом примере Windows находится на /dev/hda6 other=/dev/hda6 label=windows
Параметр udev
, указанный в конце строки kernel, необходим для обхода ошибки в некоторых версиях genkernel, если вы вообще используете udev (по умолчанию — используется).
Если вы разбили жесткий диск по-другому, или у вас другое ядро, внесите необходимые изменения.
Если нужно передать ядру дополнительные параметры, добавьте в соответствующий раздел файла выражение append. Например, добавим
параметр video
для включения кадрового буфера:
Листинг 148. Использование append для добавления параметров ядра
image=/boot/kernel-2.6.12-gentoo-r10
label=gentoo
read-only
root=/dev/hda3
append="video=vesafb:mtrr,ywrap,1024x768-32@85"
Если вы используете ядро 2.6.7 или выше, а объем жесткого диска ограничили перемычками из-за того, что BIOS не в состоянии
работать с дисками большого размера, вам потребуется добавить hdx=stroke
.
Тем, кто использует genkernel, нужно помнить, что их ядро использует такие же загрузочные параметры, как на установочном компакт-диске.
Например, если у вас есть устройства SCSI, следует передать ядру параметр doscsi
.
Теперь сохраните файл и выйдите из редактора. Для окончания установки нужно запустить /sbin/lilo, чтобы LILO смог отразить настройки, сделанные в /etc/lilo.conf
, в вашей системе (т.е. записался на диск). Имейте в виду, что при каждой установке нового ядра или изменении меню вам потребуется
выполнять /sbin/lilo заново.
При переустановке ядра вам больше не придется копировать файлы. Просто запустите make install после компиляции ядра; копирование файлов и изменение конфигурации LILO выполнится автоматически.
Переходите к перезагрузке системы.
Выйдите из изолированной среды и размонтируйте все смонтированные разделы. Затем введите ту самую волшебную команду, которую вы так заждались: reboot.
Листинг 150. Размонтирование всех разделов и перезагрузка
#
exit
cdimage ~#
cd
cdimage ~#
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~#
reboot
Естественно, не забудьте вынуть загрузочный компакт-диск, иначе он загрузится сам вместо вашей новой системы Gentoo.
Загрузив вновь установленную систему, переходите к завершению установки Gentoo.
Работа в учетной записи root (администратора) в системе Unix/Linux опасна, и ее следует всячески избегать. Поэтому настоятельно рекомендуется добавить учетную запись пользователя для повседневной работы.
Членством пользователя в группах определяется, какие действия он сможет выполнять. В следующей таблице перечислено несколько важных групп, в которые вы, возможно, захотите включать пользователей.
Группа | Описание |
---|---|
audio | возможность доступа к аудиоустройствам |
cdrom | возможность прямого доступа к оптическим накопителям |
floppy | возможность прямого доступа к гибким дискам |
games | возможность играть в игры |
portage | возможность использования emerge --pretend с правами пользователя |
usb | возможность доступа к устройствам USB |
plugdev | возможность монтирования и использования подключаемых устройств типа камер и USB-брелков |
video | возможность доступа к средствам видеозахвата и выполнения аппаратного ускорения видео |
wheel | возможность использования команды su |
Например, для создания учетной записи пользователя по имени john, входящего в группы wheel, users и audio, сначала войдите в систему как root (только root может создавать учетные записи пользователей), а затем запустите useradd:
Листинг 151. Создание учетной записи на каждый день
Login:root
Password:
(ваш пароль root)
#
useradd -m -G users,wheel,audio -s /bin/bash john
#
passwd john
Password:Re-enter password:
(введите пароль для john)
(повторно введите пароль для подтверждения)
Если пользователю потребуется выполнить задачу от имени root, для временного получения привилегий root можно использовать su -. Другой способ — пользоваться пакетом sudo, который при правильной настройке вполне безопасен.
Примите поздравления! У вас теперь появилась работающая система Gentoo. И что же делать дальше? Какие у вас появились возможности? На что стоит взглянуть прежде всего? Gentoo дает своим пользователям богатый выбор возможностей, а следовательно — и множество документированных (или не очень) свойств.
Вам обязательно нужно прочитать следующую часть настольной книги Gentoo, работа в Gentoo, в которой рассказывается, как поддерживать программное обеспечение в актуальном состоянии, как до устанавливать программы, что такое «USE-флаги», как происходит инициализация в Gentoo и т.д.
Если вас интересует оптимизация системы с точки зрения пользователя, или вы хотите узнать, как настроить полноценный «рабочий стол», обратитесь к более подробной документации по графической среде Gentoo. Кроме того, вы, возможно захотите прочитать наше руководство по локализации (англ.), что бы чувствовать себя более уютно.
В настоящее время для русификации рекомендуется пользоваться альтернативными руководствами по локализации Gentoo. — прим. пер.
Также имеется настольная книга по безопасности в Gentoo (англ.), которую определенно стоит прочитать.
Полный список существующих материалов имеется на странице документации.
Естественно, мы всегда рады видеть вас на форумах Gentoo (англ.), как и на любом из множества IRC-каналов Gentoo (англ.).
Кроме того, мы можем предложить вашему вниманию несколько списков рассылки, открытых для всех наших пользователей. Сведения о порядке подписки находятся на той же странице.
На этом мы замолкаем, чтобы позволить вам в полной мере насладиться результатом установки :)
В начало → Настольная книга Gentoo Linux x86 |