Чтиво! Полезные статьи о *nix

Kabal

★★★ Адвокат ★★★
Пользователь
Активный участник
Проверенный
Сообщения
318
Реакции
195
Баллы
63
Credits
-24
Пошаговое руководство по установке и базовой настройке 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 диск и записываем на него инициализирующую сессию с загрузочным образом, затем дописываем файл с третьей стадией и файл с портежей.

Код:
$ 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
Желательно, но не обязательно иметь на этом диске набор TrueType шрифтов (Arial,
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)
2. Создание своп раздела

Код:
# mkswap /dev/sda5
3. Активирование своп раздела

Код:
# swapon /dev/sda5
4. Создание файловых систем на оставшихся разделах

Код:
# mkfs.ext3 /dev/sda1
# mkfs.ext3 /dev/sda2
5. Монтирование созданных файловых систем

Код:
# mount /dev/sda1 /mnt/gentoo
6. Распаковка в корень будущей системы содержимого 3-й стадии

Код:
# tar -C /mnt/gentoo -pxjvf /mnt/cdrom/stage3-i686-2007.0.tar.bz2
7. Распаковка в дерева портежей

Код:
# tar -C /mnt/gentoo/usr -xjvf /mnt/cdrom portage-20071220.tar.bz2
8. Копирование имеющихся исходников (дист-файлов)

Код:
# cp -vr /mnt/cdrom/distfiles /mnt/gentoo/usr/portage
9. Монтирование proc и привязка dev

Код:
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
10. Переходим в новую систему

Код:
# chroot /mnt/gentoo /bin/bash
11. Обновляем переменные окружения

Код:
# env-update
# source /etc/profile
12. Установим приглашение отличное от других консолей (для различия)

Код:
# export PS1="(chroot) $PS1"
13. Назначаем пароль root'у

Код:
# passwd root
14. Устанавливаем часовой пояс

Код:
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
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. Устанавливаем ссылку на профиль по-умолчанию
Удаляем старую ссылку

Код:
# rm /etc/make.profile
Создаем новую (в зависимости от назначения ПК - desktop или server)

Код:
# ln -sfv /usr/portage/profiles/default-linux/x86/2007.0/server /etc/make.profile
19. Устанавливаем USE файлы и параметры сборки для нужного процессора
Открываем для редактирования файл /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"
Параметры компилятора для процессора узнаются из gentoo wiki и пишутся в строке CFLAGS.
20. Устанавливаем, конфигурируем и собираем исходники ядра

Код:
# emerge gentoo-sources
# cd /usr/src/linux
# make menuconfig
# make
21. Устанавливаем модули и ядро

Код:
# make modules_install
# cp arch/i386/boot/bzImage /boot/
22. Устанавливаем загрузчик GRUB

Код:
# emerge grub
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
23. Настраиваем заргузчик (файл menu.lst)
Создаем файл /boot/grub/menu.lst следующего содержания

Код:
timeout=5
title=Gentoo linux
root(hd0,0)
kernel /boot/bzImage root=/dev/sda1
24. Правим файл с точками монтирования
Открываем файл /etc/fstab и заменяем в нем шаблоны названий на нужные разделы
25. Выходим из системы

Код:
exit
26. Отмонтируем каталог /mnt/gentoo

Код:
umount /mnt/gentoo/dev
umount /mnt/gentoo/proc
umount /mnt/genoo
25. Перезагружаем ПК

Код:
reboot
Русификация (после установки базовой системы и перезагрузки ПК)
1. Создаем дополнительные локали

Код:
# cat /usr/share/i18n/SUPPORTED | grep -E 'ru_RU|en_US' >> /etc/locale.gen && locale-gen
2. В файле /etc/conf.d/consolefont меняем шрифт "default_8x16" на "Cyr_a8x16".
3. Создаем файл /etc/env.d/02locale со следующим содержимым

Код:
LANG="ru_RU.UTF-8"
LC_ALL=""
4. В файле /etc/conf.d/keymaps меняем раскладку "en" на "ru4", а параметру DUMPKEYS_CHARSET устанавливаем значение "koi8-r"
5. Обновляем окружение, перезагружаем службы

Код:
# env-update
# source /etc/profile
# /etc/init.d/consolefont restart
# /etc/init.d/keymaps restart
Базовая настройка
1. Если есть время - то сейчас очень желательно обновить всю систему до актуального состояния. Займет это приблизительно пару часов.

Код:
# emerge -auvDN world
2. Обновляем файлы конфигурации

Код:
# dispatch-conf
Если изменения устраивают - жмем 'u', если нет - 'z'
3. Создаем пользователя

Код:
# useradd -m -G users,wheel,audio,video,cdrom,cdrw,usb -s /bin/bash user
# passwd user
4. Устанавливаем основные программы mc,vim,sudo...

Код:
# emerge -av mc vim htop sudo vixie-cron syslog-ng
Совет:
Чтобы после выхода из MC оставаться в том-же каталоге нужно в файл.bashrc добавить строку вида:

Код:
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'
5. Разрешаем использование sudo пользователям входящим в группу wheel
Открываем файл /etc/sudoers и раскоментируем строку "%wheel ALL=(ALL) NOPASSWD: ALL"
6. Запускаем и добавляем в автозапуск cron и syslog

Код:
# rc-update add syslog-ng default
# rc-update add vixie-cron default
# rc
7. Настраиваем сетевую карту
7.1 Создаем интерфейс eth0

Код:
# cd /etc/init.d
# ln -s net.lo net.eth0
7.2 Правим файл /etc/conf.d/net. Добавляем строку вида:

Код:
config_eth0=( "192.168.1.26 netmask 255.255.255.0" )
Примеры можно посмотреть в файле /etc/conf.d/net.example
7.3 Добавляем интерфейс в автозапуск

Код:
# rc-update add net.eth0 default
7.4 Запускаем
Код:
# /etc/init.d/net.eth0 start
8. Обновляем файлы конфигурации

Код:
# dispatch-conf
Установка KDE
1. Убираем поддержку arts
Открываем файл /etc/make.conf и в строку с USE флагами добавляем "-arts"
2. Обновляем udev

Код:
# emerge -av udev
3. Устанавливаем базовый набор KDE

Код:
# emerge -av kdebase kde-i18n
Если отображаемый набор USE флагов не устраивает - правим /etc/make.conf
Сборка на AMD Turion64X2 заняла приблизительно 3 часа 30 минут
4. Добавляем запуск kde при старте Xorg
Создаем файл ~/.xinitrc и добавляем в него строку "exex startkde" (без кавычек)
5. Переключаем OpenGL на драйвер nvidia

Код:
# eselect opengl set nvidia
6. Правим файл /etc/X11/xorg.conf

Код:
# cp /etc/X11/xorg.conf.example /etc/X11/xorg.conf
7. Запускаем

Код:
$ startx
Для запуска KDE при загрузке компьютера
1) В xdm указываем запускемый оконный менеджер
В файле /etc/conf.d/xdm переменной DISPLAYMANAGER присваиваем значение "kdm"
2) Добавляем xdm в автозапуск

Код:
# rc-update add xdm default
3) Чтобы сразу проверить результат:

Код:
# /etc/init.d/xdm start
Установка TrueType шрифтов
1. Копируем шрифты в каталог /usr/share/fonts

Код:
# cp -r /mnt/cdrom/winfonts /usr/share/fonts
2. Перезагружаем X сервер (Ctrl+Alt+Backspace)

Настройка автомонтирования съемных устройств

Код:
# 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
emerge -e system # Обновить всю систему включая компилятор (новый компилятор и/или смене CHOST)
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
Затем их можно скачать на компьютере имеющим доступ в интернет и перенести себе в distfiles для установки

Скачать можно так:

Код:
wget -c -i need_files.txt

16 выпуск журнала Root@UA
ОфСайт http://www.root.od.ua/
 
множество статей вот тут - http://rus-linux.net/ (сайт называется Виртуальная энциклопедия linux по-русски. И оправдывает название на все сто_)))
 
Сверху