- •Расширенные возможности Portage
- •А. Установка Gentoo
- •1. Об установке Gentoo Linux
- •1.А. Введение.
- •2. Выбор правильного источника установки.
- •2.А. Требования к железу
- •2.B. Установочные cd Gentoo
- •2.С. Скачайте, запишите, и загрузитесь с установочного cd Gentoo
- •3. Конфигурация сети
- •3.A. Автоматическое определение сети
- •3.B. Автоматическая конфигурация сети
- •3.С. Ручная настройка сети
- •4. Подготовка дисков
- •4.A. Введение в блочные устройства
- •4.B. Разрабатываем схему разделов
- •4.C. Использование fdisk для разбивки вашего диска
- •4.D. Использование parted для разбивки вашего диска
- •4.E. Создаем файловые системы
- •4.F. Монтирование
- •5. Установка файлов Gentoo
- •5.A. Устанавливаем tar-архив Stage3
- •5.B. По умолчанию: Используем Stage3 из Интернета
- •5.C. Устанавливаем Portage
- •5.D. Настройка опций компиляции
- •6. Установка базовой системы Gentoo
- •6.A. Чрутинг
- •6.B. Конфигурируем Portage
- •7. Конфигурация ядра
- •7.A. Временная зона
- •7.B. Устанавливаем исходники
- •7.C. По умолчанию: Ручная конфигурация
- •7.D. Альтернатива: Используем genkernel
- •7.E. Модули ядра
- •8. Конфигурация системы
- •8.A. Информация о файловой системе
- •8.B. Информация о сети
- •8.C. Системная информация
- •9. Установка необходимых системных приложений
- •9.A. Системный логгер
- •9.B. Опционально: Демон Cron
- •9.C. Опционально: Индексация файлов
- •9.D. Опционально: Удаленный Доступ
- •9.E. Программы работы с файловой системой
- •9.F. Программы работы с сетью
- •10. Конфигурация загрузчика
- •10.A. Делаем выбор
- •10.B. По умолчанию: Используем grub
- •10.C. Альтернатива: Используем lilo
- •10.D. Перезагружаем систему
- •11. Окончание установки Gentoo
- •11.A. Работа с пользователями
- •11.B. Очистка диска
- •12. Куда идти дальше?
- •12.A. Документация
- •12.B. Gentoo в сети
- •B. Работа с Gentoo
- •1. Введение в Portage
- •1.A. Добро пожаловать в Portage
- •1.B. Дерево Portage
- •1.C. Поддержка приложений
- •1.D. Лицензии
- •1.E. Когда Portage ругается...
- •2.A. Что такое use-флаги?
- •2.B. Использование use-флагов
- •3. Возможности Portage
- •3.A. Возможности Portage
- •3.B. Распределенная компиляция
- •3.C. Кеширование компиляции
- •3.D. Поддержка бинарных пакетов
- •3.E. Скачивание файлов
- •3.F. Загрузка проверенных образов дерева Portage
- •4. Инициализационные скрипты
- •4.A. Уровни запуска
- •4.B. Работаем с rc-update
- •4.C. Конфигурирование сервисов
- •4.D. Пишем инициализационные скрипты
- •4.E. Изменение поведения уровня запуска
- •5. Переменные окружения
- •5.A. Переменные окружения?
- •5.B. Определение переменных глобально
- •5.C. Определение переменных локально
- •C. Работа с Portage
- •1. Файлы и каталоги
- •1.A. Файлы Portage
- •1.B. Сохраненные файлы
- •1.C. Компиляция приложений
- •1.D. Возможности логгинга
- •2. Конфигурирование через переменные
- •2.A. Конфигурация Portage
- •2.B. Опции, специфичные для компиляции
- •2.C. Защита файлов конфигурации
- •2.D. Опции скачивания
- •2.E. Конфигурация Gentoo
- •2.F. Поведение Portage
- •3. Смешение веток приложений
- •3.A. Использование одной ветви
- •3.B. Смешиваем стабильную ветку и ветку для тестирования
- •3.C. Используем замаскированные пакеты
- •4. Дополнительные программы для Portage
- •5. Отход от официального дерева
- •5.A. Использование поднабора дерева Portage
- •5.B. Добавляем неофициальные ебилды
- •5.C. Приложения, не обрабатываемые Portage
- •6. Расширенные возможности Portage
- •6.A. Введение
- •6.B. Переменные окружения для каждого пакета
- •6.C. Вмешиваемся в процесс установки
- •6.D. Выполняем задачи после --sync
- •6.E. Изменяем настройки профиля
- •6.F. Применение нестандартных патчей
- •D. Конфигурация сети Gentoo
- •1. Начинаем
- •1.A. Начинаем
- •2. Расширенная конфигурация
- •2.A. Расширенная конфигурация
- •2.B. Сетевые зависимости
- •2.C. Имена и значения переменных
- •3. Модульная сеть
- •3.A. Сетевые модули
- •3.B. Обработчики интерфейсов
- •3.F. Связывание
- •3.G. Мосты (Поддержка 802.1d)
- •3.I. Туннелирование
- •3.J. Vlan (Поддержка 802.1q)
- •4. Беспроводные сети
- •4.A. Введение
- •4.D. Определение конфигурации сети на каждый essid
- •5. Добавление функциональности
- •5.A. Хуки стандартных функций
- •5.B. Хуки функций Wireless Tools
- •6. Обслуживание сети
- •6.A. Обслуживание сети
4. Подготовка дисков
4.A. Введение в блочные устройства
Блочные устройства
Мы посмотрим на аспекты Gentoo Linux, а также Linux в общем, связанные с дисковой подсистемой, включая файловые системы Linux, разделы и блочные устройства. Затем, когда вы будете более-менее понимать диски и файловые системы, мы проведем вас через процесс настройки разделов и файловых систем для вашей установки Gentoo Linux.
Вначале мы расскажем о блочных устройствах. Самое известное блочное устройство, наверное, то, которое отображает первый диск в Linux-системе, то есть /dev/sda. SCSI и Serial-ATA жесткие диски называются /dev/sd*, даже устройства IDE называются /dev/sd* в новом фреймворке ядра libata. Если вы используете старый фреймфорк, тогда ваше первое устройство IDE будет /dev/hda.
Блочные устройства, перечисленные выше, представляют абстрактный интерфейс к диску. Программы пользователя могут использовать эти блочные устройства чтобы взаимодействовать с вашим диском, не обращая внимания на то, какой он — IDE, SCSI, или что-то еще. Программы могут просто адресовать данные на диске как последовательность 512-байтных блоков, доступных в произвольном порядке.
Разделы
Хотя теоретически возможно использовать весь диск, чтобы разместить вашу Linux-систему, это почти не применяется на практике. Вместо этого, полные дисковые блочные устройства разбиваются на более маленькие, более управляемые блочные устройства. На системах x86 они называются «разделы».
Разделы делятся на три типа: главные (primary), расширенные (extended) и логические (logical)
Главный раздел это раздел, который имеет свою информацию, сохраненную в MBR (главной загрузочной записи). Так как MBR это очень маленькая (512 байт), только четыре главные раздела могут быть определены (например, от /dev/sda1 до /dev/sda4).
Расширенный раздел это специальный главный раздел (то есть, расширенный раздел должен быть одним из четырех возможных главных разделов), который содержит больше разделов. Такой раздел на самом деле не существует, но, так как четырех разделов было слишком мало, то его придумали, чтобы расширить схему форматирования без потери обратной совместимости.
Логический раздел это раздел внутри расширенного раздела. Их определения не находятся в MBR, а определяются внутри расширенного раздела.
Дополнительные опции
Установочные CD x86 имеют поддержку LVM2. LVM2 увеличивает гибкость вашей настройки разделов. В течение дальнейшего изложения мы будем концентрироваться на «обычных» разделах, но все равно, хорошо знать, что LVM2 тоже поддерживается.
4.B. Разрабатываем схему разделов
Определяем схему разделов
Если вы не заинтересованы в разработке схемы разделов для вашей системе, вы можете использовать схему разделов, которую мы используем в данной книге:
Раздел |
Файловая система |
Размер |
Описание |
/dev/sda1 |
ext2 |
32M |
Загрузочный раздел |
/dev/sda2 |
(swap) |
512M |
Раздел swap |
/dev/sda3 |
ext3 |
Оставшаяся часть диска |
Раздел root |
Если вы заинтересованы в том, чтобы узнать, насколько большим должен быть раздел, или, даже, узнать, сколько разделов вам нужно, читайте дальше. Иначе читайте «Использование fdisk для разбивки вашего диска» или «Использование parted для разбивки вашего диска» (и то и другое — средства разбивки, fdisk хорошо известен и стабилен, parted более новый, но поддерживает разделы большие 2TB).
Сколько и какого размера?
Число разделов сильно зависит от вашего окружения. Например, если у вас много пользователей, вы, скорее всего, захотите иметь /home отдельно, так как это увеличивает безопасность и делает проще бэкапы. Если вы устанавливаете Gentoo как почтовый сервер, ваш /var должен быть отдельным, так как вся почта сохраняется внутри /var. Хороший выбор файловой системы увеличит ваше быстродействие. Игровые сервера будут иметь отдельный /opt, так как большинство игровых серверов устанавливаются туда. Причина — похожа на ту, что мы указывали для /home — безопасность и бэкапы. Вы явно захотите сделать /usr большим — там не только находится большинство приложений, но и дерево Portage занимает около 500 мегабайт, не считая скачанных исходников, которые хранятся там же.
Как вы можете видеть, это очень сильно зависит от того, чего вы хотите добиться. Отдельные разделы или устройства имеют следующие преимущества:
Вы можете выбрать наилучшую файловую систему для каждого раздела или диска
Во всей вашей системе не может закончится место, если какая-либо неправильно работающая программа постоянно записывает файлы в раздел или на диск.
Если необходимо, проверки файловой системы будут быстрее, так как несколько проверок могут выполняться параллельно (хотя это больше относится к нескольким дискам, а не к нескольким разделам).
Безопасность может быть увеличена монтированием некоторых разделов или дисков только для чтения, с флагом nosuid (игнорируются биты setuid) или noexec (игнорируются биты запуска), и так далее.
Однако множественные разделы также имеют недостатки. Если они не сконфигурированы правильно, у вас будет система с огромным количеством свободного места на одном разделе и отсутствием его на другой. Другой проблемой является то, что отдельные разделы, особенно для важных точек монтирования, например /usr или /var, часто требуют загрузки некоторого кода в ОЗУ, чтобы смонтировать разделы прежде чем запустятся другие загрузочные скрипты. Это не всегда является проблемой, так что, учитывайте вашу ситуацию.
Также существует лимит в 15 разделов для SCSI и SATA, если только вы не используете метки GPT.
Как пример, мы покажем вам разметку для диска в 20GB, для демонстрационного компьютера (содержащего вебсервер, почтовый сервер, гнома, и так далее).
Код 2.1. Пример использования файловых систем |
$ df -h Filesystem Type Size Used Avail Use% Mounted on /dev/sda5 ext3 509M 132M 351M 28% / /dev/sda2 ext3 5.0G 3.0G 1.8G 63% /home /dev/sda7 ext3 7.9G 6.2G 1.3G 83% /usr /dev/sda8 ext3 1011M 483M 477M 51% /opt /dev/sda9 ext3 2.0G 607M 1.3G 32% /var /dev/sda1 ext2 51M 17M 31M 36% /boot /dev/sda6 swap 516M 12M 504M 2% <not mounted> (Неразбитое место для будущих использований: 2 GB) |
/usr почти заполнен (используется 83%), однако как только все программы установлены, /usr обычно сильно не растет. Хотя выделение нескольких гигабайт места под /var может показаться излишком, помните, что Portage использует этот раздел по умолчанию для компиляции пакетов. Если вы хотите держать /var с более приемлемым размером, таким как 1GB, вам нужно изменить вашу переменную PORTAGE_TMPDIR в /etc/make.conf, чтобы она указывала на раздел с достаточным количеством свободного места для компиляции очень больших пакетов, таких, как OpenOffice.