Пошаговое руководство по установке и базовой настройке Gentoo Linux
Введение
Данное руководство скорее всего должно называться шпаргалкой, писалось для того чтобы в следующий раз ничего не забыть. Руководств по установке Gentoo в сети очень много, но если присмотреться - одни устарели, другие слишком по-художественному написаны, третьи - переводы с английских сайтов. Вне конкуренции находиться Handbook! Нельзя устаналивать Gentoo не прочитав пару раз как это в принципе делается. Еще хочу порекомендовать сборник рассказов о Gentoo (можно поискать в инернете, последняя версия на момент создания этой шпаргалки - 1.3). Очень много полезного и все в одном документе. В этой шпаргалке содержиться самый сок со всех этих документов. Установка разбита на секции, которые делятся на шаги. Все их желательно делать последовательно, с пониманием, ничего не пропускать и быть предельно внимательными. В конце руководства содержиться что-то вроде приложения, где собраны наиболее используемые комманды и очень полезный в наших условиях скрипт.
Подготовительные действия
В статье описан процесс установки 32-х битной версии Gentoo на ПК с видеокартой NVidia. Для начала установки нужно кое-что предварительно скачать из интеренета, а именно:
* Архив портежей portage-20071220.tar.bz2 (~40 MB)
* Архив 3-й стадии системы stage3-i686-2007.0.tar.bz2 (~100 MB)
* Минимальный загрузочный CD install-x86-minimal-2007.0-r1.iso (~60 MB)
Очень удобно когда все эти файлы находятся на одном загрузочном CD диске. Со временем на него также можно будет записывать скачанные ранее файлы исходников,
но пока их нет - следовательно и записывать их не будем. Пока делаем следующее:
берем чистый DVD-RW диск и записываем на него инициализирующую сессию с загрузочным образом, затем дописываем файл с третьей стадией и файл с портежей.
Желательно, но не обязательно иметь на этом диске набор TrueType шрифтов (Arial,
CourierNew, TimesNewRoman). Далее в руководсте описано как их установить. Поэтому если есть откуда их взять - копируйте их тоже.
Ок. Теперь у нас есть загрузочный DVD диск который включает все что нужно для установки. Перезагружаем компьютер, выставляем в BIOS'e загрузку с DVD и ждем. На вопрос о выборе раскладки клавиатуры жмем Enter.
Примечание: если по каким-то причинам файл стадии и коллекция портежей находиться на другом DVD диске - то загрузку установочного диска нужно делать с ключом "docache" (копирование содержимого установочного диска в RAM).
Установка базовой системы
На этом и последующих этапах нужно будет устанавливать дополнительные пакеты, а следовательно необходимо работающее соединение с интернет. Подключение может быть любым: прямое, модем, gprs, vpn, wifi. Как настроить подключение к сети из загрузочного диска подробно расписано в HandBook'e. Внимательно почтитайте его и сделайте все, что там по этому поводу написано.
1. Разбивка дисков
2. Создание своп раздела
3. Активирование своп раздела
4. Создание файловых систем на оставшихся разделах
5. Монтирование созданных файловых систем
6. Распаковка в корень будущей системы содержимого 3-й стадии
7. Распаковка в дерева портежей
8. Копирование имеющихся исходников (дист-файлов)
9. Монтирование proc и привязка dev
10. Переходим в новую систему
11. Обновляем переменные окружения
12. Установим приглашение отличное от других консолей (для различия)
13. Назначаем пароль root'у
14. Устанавливаем часовой пояс
15. В файле /etc/conf.d/clock меняем UTC на Local, раскоментироваем строку с TIMEZONE и устанавливаем ей значение "Europe/Moscow"
16. Устанавливаем имя машины
Создаем файл /etc/conf.d/hostname и добавляем в него строку вида HOSTNAME="ws12, где ws12 - имя системы.
17. Устанавливаем имя домена
В файл /etc/conf.d/net добавляем строку dns_domain="home.lan", где home.lan - имя домена.
В файл /etc/hosts между словами 127.0.0.1 и localhost вписываем следующее: "ws12.home.lan ws12 localhost.localdomain" (без кавычек)
18. Устанавливаем ссылку на профиль по-умолчанию
Удаляем старую ссылку
Создаем новую (в зависимости от назначения ПК - desktop или server)
19. Устанавливаем USE файлы и параметры сборки для нужного процессора
Открываем для редактирования файл /etc/make.conf
Добавляем следующие строки:
Параметры компилятора для процессора узнаются из gentoo wiki и пишутся в строке CFLAGS.
20. Устанавливаем, конфигурируем и собираем исходники ядра
21. Устанавливаем модули и ядро
22. Устанавливаем загрузчик GRUB
23. Настраиваем заргузчик (файл menu.lst)
Создаем файл /boot/grub/menu.lst следующего содержания
24. Правим файл с точками монтирования
Открываем файл /etc/fstab и заменяем в нем шаблоны названий на нужные разделы
25. Выходим из системы
26. Отмонтируем каталог /mnt/gentoo
25. Перезагружаем ПК
Русификация (после установки базовой системы и перезагрузки ПК)
1. Создаем дополнительные локали
2. В файле /etc/conf.d/consolefont меняем шрифт "default_8x16" на "Cyr_a8x16".
3. Создаем файл /etc/env.d/02locale со следующим содержимым
4. В файле /etc/conf.d/keymaps меняем раскладку "en" на "ru4", а параметру DUMPKEYS_CHARSET устанавливаем значение "koi8-r"
5. Обновляем окружение, перезагружаем службы
Базовая настройка
1. Если есть время - то сейчас очень желательно обновить всю систему до актуального состояния. Займет это приблизительно пару часов.
2. Обновляем файлы конфигурации
Если изменения устраивают - жмем 'u', если нет - 'z'
3. Создаем пользователя
4. Устанавливаем основные программы mc,vim,sudo...
Совет:
Чтобы после выхода из MC оставаться в том-же каталоге нужно в файл.bashrc добавить строку вида:
5. Разрешаем использование sudo пользователям входящим в группу wheel
Открываем файл /etc/sudoers и раскоментируем строку "%wheel ALL=(ALL) NOPASSWD: ALL"
6. Запускаем и добавляем в автозапуск cron и syslog
7. Настраиваем сетевую карту
7.1 Создаем интерфейс eth0
7.2 Правим файл /etc/conf.d/net. Добавляем строку вида:
Примеры можно посмотреть в файле /etc/conf.d/net.example
7.3 Добавляем интерфейс в автозапуск
7.4 Запускаем
8. Обновляем файлы конфигурации
Установка KDE
1. Убираем поддержку arts
Открываем файл /etc/make.conf и в строку с USE флагами добавляем "-arts"
2. Обновляем udev
3. Устанавливаем базовый набор KDE
Если отображаемый набор USE флагов не устраивает - правим /etc/make.conf
Сборка на AMD Turion64X2 заняла приблизительно 3 часа 30 минут
4. Добавляем запуск kde при старте Xorg
Создаем файл ~/.xinitrc и добавляем в него строку "exex startkde" (без кавычек)
5. Переключаем OpenGL на драйвер nvidia
6. Правим файл /etc/X11/xorg.conf
7. Запускаем
Для запуска KDE при загрузке компьютера
1) В xdm указываем запускемый оконный менеджер
В файле /etc/conf.d/xdm переменной DISPLAYMANAGER присваиваем значение "kdm"
2) Добавляем xdm в автозапуск
3) Чтобы сразу проверить результат:
Установка TrueType шрифтов
1. Копируем шрифты в каталог /usr/share/fonts
2. Перезагружаем X сервер (Ctrl+Alt+Backspace)
Настройка автомонтирования съемных устройств
Приложение
Основные утилиты для управления пакетами
Полезные утилиты и комманды
revdep-rebuild # Находит неработающие бинарники и устанавливает необходимые для их работы пакеты
euses xinerama # Описание USE флага xinerama
epm -qa # список установленных пакетов
equery l # список установленных пакетов
equery list -d # дубликаты
equery l kde-base/ # список установленных пакетов из раздела kde-base
equery b /bin/ls # какому пакету принадлежит файл /bin/ls
equery uses samba # с какими флагами был установлен пакет samba
equery files mc # какие файлы принадлежат пакету mc
equery depgraph mc # показать дерево зависимостей пакета mc
equery -q d gtk+ # какие установленные пакеты зависят от gtk+
equery u mc # посмотреть значения USE флагов для mc
quickpkg mc # собрать бинарный пакет уже установленный в системе
eclean -p distfiles # какие исходные файлы устарели и не будут использоваться
eclean distfiles # удалить устаревшие исходники из /usr/portage/distfiles
emerge depclean # удалить из системы все ненужные пакеты может привести к удалению нужных пакетов
emerge info # вывести текущие настройки (в т.ч. USE)
emerge -s foo # поиск пакета по имени
emerge -p -v foo # какие USE флаги влияют на эту программу и сколько Kb еще нужно докачать исходников
emerge -p -f bar # вывод url откуда можно тянуть sources
emerge -p -e bar # показать все зависимости программы без glibc
emerge -p -u foo # показать, что будет обновляться
emerge -p depclean # вывести пакеты которых нет в world и от которых никто не зависит (для удаления)
emerge sync # обновление portage через rsync://
emerge -f foo # только выкачка sources без установки
emerge -p bar # вывод что нужно для установки программы
emerge -p -t foo # вывод что нужно для установки программы(зависимости выводятся в виде дерева)
emerge -a bar # то-же что и -p, но после вывода информации спрашивает продолжить ли выполнять emerge
emerge -k foo # установка прекомпилированной программы из /usr/portage/package/All/ __ЕСЛИ__ там есть нужная версия программы
emerge -K bar # как и -k, но если нужной прекомпилированной версии нет, то используется какая есть
emerge foo # установка программы
emerge -u bar # обновить пакет (возможно, на меньшую версию)
emerge -uDN world # полный апгрейд системы
emerge -C foo # удалить пакет (unmerge). зависимости при удалении __НЕ__ проверяются!!!
emerge --info # Посмотреть настройки portage
etcat -v bar # вывести все версии пакета ... в портаже
etcat -u ИМЯ # с какими настройками USE (только из влияющих # на эту программу) была установлена программа
emerge system # Обновить всю систему
emerge -u system # Обновить всю систему
emerge -p --depclean # Показать какие неиспользуемые зависимости будут удалены
emerge -auvDN world # Пересборка всей системы после изменения USE флагов
emerge --depclean # Удалить условные зависимости, присутствующие в «старой» # системе, но больше не нужные при новом составе USE-флагов.
Изменить USE флаг для одного приложения
emerge -e system # Обновить всю систему включая компилятор (новый компилятор и/или смене CHOST)
etc-update # Обновление конфигурационных файлов (история не сохраняется)
dispatch-conf # Обновление конфигурационных файлов (история изменений сохраняется)
emerge -a depclean # Удалить неиспользуемые зависимости
emerge -auvDN world # Обновить все
Полезные скрипты
1. Собрать url для всех файлов необходимых для установки указанных пакетов исключая те, которые уже находятся в /usr/portage/distfiles
Затем их можно скачать на компьютере имеющим доступ в интернет и перенести себе в distfiles для установки
Скачать можно так:
16 выпуск журнала Root@UA
ОфСайт http://www.root.od.ua/
Введение
Данное руководство скорее всего должно называться шпаргалкой, писалось для того чтобы в следующий раз ничего не забыть. Руководств по установке Gentoo в сети очень много, но если присмотреться - одни устарели, другие слишком по-художественному написаны, третьи - переводы с английских сайтов. Вне конкуренции находиться Handbook! Нельзя устаналивать Gentoo не прочитав пару раз как это в принципе делается. Еще хочу порекомендовать сборник рассказов о Gentoo (можно поискать в инернете, последняя версия на момент создания этой шпаргалки - 1.3). Очень много полезного и все в одном документе. В этой шпаргалке содержиться самый сок со всех этих документов. Установка разбита на секции, которые делятся на шаги. Все их желательно делать последовательно, с пониманием, ничего не пропускать и быть предельно внимательными. В конце руководства содержиться что-то вроде приложения, где собраны наиболее используемые комманды и очень полезный в наших условиях скрипт.
Подготовительные действия
В статье описан процесс установки 32-х битной версии Gentoo на ПК с видеокартой NVidia. Для начала установки нужно кое-что предварительно скачать из интеренета, а именно:
* Архив портежей portage-20071220.tar.bz2 (~40 MB)
* Архив 3-й стадии системы stage3-i686-2007.0.tar.bz2 (~100 MB)
* Минимальный загрузочный CD install-x86-minimal-2007.0-r1.iso (~60 MB)
Очень удобно когда все эти файлы находятся на одном загрузочном CD диске. Со временем на него также можно будет записывать скачанные ранее файлы исходников,
но пока их нет - следовательно и записывать их не будем. Пока делаем следующее:
берем чистый DVD-RW диск и записываем на него инициализирующую сессию с загрузочным образом, затем дописываем файл с третьей стадией и файл с портежей.
Код:
$ growisofs -dvd-compat -Z /dev/dvd=install-x86-minimal-2007.0-r1.iso
$ growisofs -M /dev/dvd -R -J stage3-i686-2007.0.tar.bz2 portage-20071220.tar.bz2
CourierNew, TimesNewRoman). Далее в руководсте описано как их установить. Поэтому если есть откуда их взять - копируйте их тоже.
Ок. Теперь у нас есть загрузочный DVD диск который включает все что нужно для установки. Перезагружаем компьютер, выставляем в BIOS'e загрузку с DVD и ждем. На вопрос о выборе раскладки клавиатуры жмем Enter.
Примечание: если по каким-то причинам файл стадии и коллекция портежей находиться на другом DVD диске - то загрузку установочного диска нужно делать с ключом "docache" (копирование содержимого установочного диска в RAM).
Установка базовой системы
На этом и последующих этапах нужно будет устанавливать дополнительные пакеты, а следовательно необходимо работающее соединение с интернет. Подключение может быть любым: прямое, модем, gprs, vpn, wifi. Как настроить подключение к сети из загрузочного диска подробно расписано в HandBook'e. Внимательно почтитайте его и сделайте все, что там по этому поводу написано.
1. Разбивка дисков
Код:
# cfdisk /dev/sda
sda1 - primary - ext3 - 15Gb (/)
sda2 - primary - ext3 - 80Gb (/home)
sda5 - logical - swap - 2Gb (swap)
Код:
# mkswap /dev/sda5
Код:
# swapon /dev/sda5
Код:
# mkfs.ext3 /dev/sda1
# mkfs.ext3 /dev/sda2
Код:
# mount /dev/sda1 /mnt/gentoo
Код:
# tar -C /mnt/gentoo -pxjvf /mnt/cdrom/stage3-i686-2007.0.tar.bz2
Код:
# tar -C /mnt/gentoo/usr -xjvf /mnt/cdrom portage-20071220.tar.bz2
Код:
# cp -vr /mnt/cdrom/distfiles /mnt/gentoo/usr/portage
Код:
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
Код:
# chroot /mnt/gentoo /bin/bash
Код:
# env-update
# source /etc/profile
Код:
# export PS1="(chroot) $PS1"
Код:
# passwd root
Код:
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
16. Устанавливаем имя машины
Создаем файл /etc/conf.d/hostname и добавляем в него строку вида HOSTNAME="ws12, где ws12 - имя системы.
17. Устанавливаем имя домена
В файл /etc/conf.d/net добавляем строку dns_domain="home.lan", где home.lan - имя домена.
В файл /etc/hosts между словами 127.0.0.1 и localhost вписываем следующее: "ws12.home.lan ws12 localhost.localdomain" (без кавычек)
18. Устанавливаем ссылку на профиль по-умолчанию
Удаляем старую ссылку
Код:
# rm /etc/make.profile
Код:
# ln -sfv /usr/portage/profiles/default-linux/x86/2007.0/server /etc/make.profile
Открываем для редактирования файл /etc/make.conf
Добавляем следующие строки:
Код:
LINGUAS="ru en_GB"
USE="slang bash-completion vim-syntax samba -gnome"
MAKEOPTS="-j3" # кол-во процессоров + 1
# Если desktop то еще две строки
VIDEO_CARDS="nvidia"
INPUT_DEVICES="keyboard mouse"
20. Устанавливаем, конфигурируем и собираем исходники ядра
Код:
# emerge gentoo-sources
# cd /usr/src/linux
# make menuconfig
# make
Код:
# make modules_install
# cp arch/i386/boot/bzImage /boot/
Код:
# emerge grub
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
Создаем файл /boot/grub/menu.lst следующего содержания
Код:
timeout=5
title=Gentoo linux
root(hd0,0)
kernel /boot/bzImage root=/dev/sda1
Открываем файл /etc/fstab и заменяем в нем шаблоны названий на нужные разделы
25. Выходим из системы
Код:
exit
Код:
umount /mnt/gentoo/dev
umount /mnt/gentoo/proc
umount /mnt/genoo
Код:
reboot
1. Создаем дополнительные локали
Код:
# cat /usr/share/i18n/SUPPORTED | grep -E 'ru_RU|en_US' >> /etc/locale.gen && locale-gen
3. Создаем файл /etc/env.d/02locale со следующим содержимым
Код:
LANG="ru_RU.UTF-8"
LC_ALL=""
5. Обновляем окружение, перезагружаем службы
Код:
# env-update
# source /etc/profile
# /etc/init.d/consolefont restart
# /etc/init.d/keymaps restart
1. Если есть время - то сейчас очень желательно обновить всю систему до актуального состояния. Займет это приблизительно пару часов.
Код:
# emerge -auvDN world
Код:
# dispatch-conf
3. Создаем пользователя
Код:
# useradd -m -G users,wheel,audio,video,cdrom,cdrw,usb -s /bin/bash user
# passwd user
Код:
# emerge -av mc vim htop sudo vixie-cron syslog-ng
Чтобы после выхода из MC оставаться в том-же каталоге нужно в файл.bashrc добавить строку вида:
Код:
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
Открываем файл /etc/sudoers и раскоментируем строку "%wheel ALL=(ALL) NOPASSWD: ALL"
6. Запускаем и добавляем в автозапуск cron и syslog
Код:
# rc-update add syslog-ng default
# rc-update add vixie-cron default
# rc
7.1 Создаем интерфейс eth0
Код:
# cd /etc/init.d
# ln -s net.lo net.eth0
Код:
config_eth0=( "192.168.1.26 netmask 255.255.255.0" )
7.3 Добавляем интерфейс в автозапуск
Код:
# rc-update add net.eth0 default
Код:
# /etc/init.d/net.eth0 start
Код:
# dispatch-conf
1. Убираем поддержку arts
Открываем файл /etc/make.conf и в строку с USE флагами добавляем "-arts"
2. Обновляем udev
Код:
# emerge -av udev
Код:
# emerge -av kdebase kde-i18n
Сборка на AMD Turion64X2 заняла приблизительно 3 часа 30 минут
4. Добавляем запуск kde при старте Xorg
Создаем файл ~/.xinitrc и добавляем в него строку "exex startkde" (без кавычек)
5. Переключаем OpenGL на драйвер nvidia
Код:
# eselect opengl set nvidia
Код:
# cp /etc/X11/xorg.conf.example /etc/X11/xorg.conf
Код:
$ startx
1) В xdm указываем запускемый оконный менеджер
В файле /etc/conf.d/xdm переменной DISPLAYMANAGER присваиваем значение "kdm"
2) Добавляем xdm в автозапуск
Код:
# rc-update add xdm default
Код:
# /etc/init.d/xdm start
1. Копируем шрифты в каталог /usr/share/fonts
Код:
# cp -r /mnt/cdrom/winfonts /usr/share/fonts
Настройка автомонтирования съемных устройств
Код:
# emerge -auv dbus hal pmount
# rc-update add dbus default
# rc-update add hald default
# gpasswd -a plugdev
Основные утилиты для управления пакетами
Код:
gentoolkit # основные утилиты: euse, equery, eclean, quickpkg...
epm # аналог equery
esearch # быстрый индексированный поиск по базе пакетов
revdep-rebuild # Находит неработающие бинарники и устанавливает необходимые для их работы пакеты
euses xinerama # Описание USE флага xinerama
epm -qa # список установленных пакетов
equery l # список установленных пакетов
equery list -d # дубликаты
equery l kde-base/ # список установленных пакетов из раздела kde-base
equery b /bin/ls # какому пакету принадлежит файл /bin/ls
equery uses samba # с какими флагами был установлен пакет samba
equery files mc # какие файлы принадлежат пакету mc
equery depgraph mc # показать дерево зависимостей пакета mc
equery -q d gtk+ # какие установленные пакеты зависят от gtk+
equery u mc # посмотреть значения USE флагов для mc
quickpkg mc # собрать бинарный пакет уже установленный в системе
eclean -p distfiles # какие исходные файлы устарели и не будут использоваться
eclean distfiles # удалить устаревшие исходники из /usr/portage/distfiles
emerge depclean # удалить из системы все ненужные пакеты может привести к удалению нужных пакетов
emerge info # вывести текущие настройки (в т.ч. USE)
emerge -s foo # поиск пакета по имени
emerge -p -v foo # какие USE флаги влияют на эту программу и сколько Kb еще нужно докачать исходников
emerge -p -f bar # вывод url откуда можно тянуть sources
emerge -p -e bar # показать все зависимости программы без glibc
emerge -p -u foo # показать, что будет обновляться
emerge -p depclean # вывести пакеты которых нет в world и от которых никто не зависит (для удаления)
emerge sync # обновление portage через rsync://
emerge -f foo # только выкачка sources без установки
emerge -p bar # вывод что нужно для установки программы
emerge -p -t foo # вывод что нужно для установки программы(зависимости выводятся в виде дерева)
emerge -a bar # то-же что и -p, но после вывода информации спрашивает продолжить ли выполнять emerge
emerge -k foo # установка прекомпилированной программы из /usr/portage/package/All/ __ЕСЛИ__ там есть нужная версия программы
emerge -K bar # как и -k, но если нужной прекомпилированной версии нет, то используется какая есть
emerge foo # установка программы
emerge -u bar # обновить пакет (возможно, на меньшую версию)
emerge -uDN world # полный апгрейд системы
emerge -C foo # удалить пакет (unmerge). зависимости при удалении __НЕ__ проверяются!!!
emerge --info # Посмотреть настройки portage
etcat -v bar # вывести все версии пакета ... в портаже
etcat -u ИМЯ # с какими настройками USE (только из влияющих # на эту программу) была установлена программа
emerge system # Обновить всю систему
emerge -u system # Обновить всю систему
emerge -p --depclean # Показать какие неиспользуемые зависимости будут удалены
emerge -auvDN world # Пересборка всей системы после изменения USE флагов
emerge --depclean # Удалить условные зависимости, присутствующие в «старой» # системе, но больше не нужные при новом составе USE-флагов.
Изменить USE флаг для одного приложения
Код:
echo "category/moo some flags" >> /etc/portage/package.use
etc-update # Обновление конфигурационных файлов (история не сохраняется)
dispatch-conf # Обновление конфигурационных файлов (история изменений сохраняется)
emerge -a depclean # Удалить неиспользуемые зависимости
emerge -auvDN world # Обновить все
Полезные скрипты
1. Собрать url для всех файлов необходимых для установки указанных пакетов исключая те, которые уже находятся в /usr/portage/distfiles
Код:
emerge -pf kde-meta 2>&1 | awk '/tp:/ { print $1 }' | \
while read f; do [ ! -s /usr/portage/distfiles/${f##*/} ] && \
echo $f; done | sort -u > need_files.txt
Скачать можно так:
Код:
wget -c -i need_files.txt
16 выпуск журнала Root@UA
ОфСайт http://www.root.od.ua/