четверг, 6 марта 2014 г.

Gentoo - Установка

Всем добра!
Данный способ установки не является супер-пупер правильным, у каждого гентушника свои заморочки при установке. Но перед тем как устанавливать, вам любой гентушник скажет "Смотри\читай\кури handbook". Лучший вариант это изучать на английском языке. А если сложно с английским, то можно сопоставлять с русским вариантом.. (могут быть какие то различия, т.к. английская более актуальна).
Ссылка на HandBooks:
на английском языке
- на русском языке

Начнём:

1. Первым делом качаем последний образ и устанавливаем его на флешку. Скачать образ можно от сюда (минимальный х64 образ). Установить на флешку, я думаю проблем не возникнет. (загрузочная флешка с помощью dd). Как загрузитесь с флешки, надо будет подготовить жесткий для установки, разбить на нужное количество разделов, при необходимости создать swap-раздел, если памяти более 4 Гб, можно этот раздел и не создавать (зависит от выполняемых задач).

Разделить диск можно с помощью:
- fdisk
- cfdisk (более понятливый)
и др.
2. Форматируем все наши созданные разделы командой: 
# mkfs.jfx -L root /dev/sda2 (это пример форматирования раздела ФС reiserfs и присвоения метки "root")
# mkfs.ext2 -L boot /dev/sda1
# mkfs.xfs -L home /dev/sda3 (для ФС ext4)
# mkfs.jfx -L usr /dev/sda5
# mkswap -L swap /dev/sda6 (для SWAP-а)
3. Монтируем разделы
С начало монтируем корневой раздел
# mount /dev/sda2 /mnt/gentoo - монтируем корневой раздел.
Создадим нужные разделы в корневом разделе такие как "home", "usr", "boot" и пр.
# mkdir -p /mnt/gentoo/{boot, home, usr} (создадим в каталоге gentoo три каталога boot, home, usr)
И монтируем оставшиеся разделы  
# mount /dev/sda1 /mnt/gentoo/boot
# mount /dev/sda3 /mnt/gentoo/usr
# mount /dev/sda5 /mnt/gentoo/home 
Смонтируем раздел SWAP 
# swapon /dev/sda6
4.  Устанавливаем связь с миром
Всё просто, воткните кабель и связь появится. Или ввести команду: 
# net-setup enp2s0 (enp2s0 новое представление сетевых устройств, может отличатся. При желании можно вернуть привычные названия такие как eth0 wlan0 и т.д.).
Или ввести в ручную:
# ifconfig enp2s0 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0 up
# route add default gw 192.168.0.1
Через wi-fi не ставил, так как через "шнурок" быстрее =).
Проверяете связь:
# ping ya.com
5. Проверим и установим правильную дату:
# date - выдаст время и дату
# date 012214202014
- в таком формате задаётся дата, где 0122 - это месяц и день, 1420 - это время час и минута, 2014 - это год.
6. Скачиваем и распаковываем stage3
Для начала перейдём в корневой раздел:
# cd /mnt/gentoo
 Теперь качаем с помощью wget или можно скачать с помощью links:
# wget http://mirror.yandex.ru/gentoo-distfiles/releases/amd64/current-stage3/stage3-amd64-20140123.tar.bz2 (20140123 - даты постоянно меняются)
# wget http://mirror.yandex.ru/gentoo-distfiles/releases/snapshots/current/portage-latest.tar.bz2 Пока можно пойти попить чай...
Как скачается всё необходимо распаковать:
# tar xvjpf stage3-amd64-20140123.tar.bz2 
# tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr
И ещё раз можно сходить попить чай...

7. Редактируем make.conf
Для начало добавим зеркала от куда будем обновлять систему:
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
# mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf
Появится перечень с зеркалами, выбираем понравившейся.

Теперь начнём править make.conf. Находится он у нас в /mnt/gentoo/etc/portage/make.conf. Править можно любым редактором (nano, vim, vi).

Для начало найдём строчку CFLAGS затираем то что есть после неё, и меняем на то что необходимо нам.
CFLAGS="-march=native" ("-march=native" рекомендуют ставить этот флаг, он автоматически использует необходимые данные)
Но если вы желаете более оптимизировать то прошу по эим ссылкам:
CFLAGS для AMD, CFLAGS для INTEL, ещё и ещё.

Теперь найдём строчку MAKEOPTS=, указываем количество потоков, обычно принято указывать на единицу больше от количества ядер. То есть если у вас 2-х ядерный то надо указать 3 потока, если 4-х ядерный то 5-ть.
Запись выглядит так:
MAKEOPTS="-j3" (так как у меня 2-х ядерный процессор)
Строчка USE= указывает на глобальные флаги которые использует система. На данном этапе лучше оставить по умолчанию.
Так же в этой строчку указывают наборы инструкций процессора.
Тут можно найти поддерживаемые инструкции вашего процессора. Обычно это MMX, SSE, SSE2, SSE3, SSE4_1, SSE4_2, AVX и прочии, зависит от процессора.
Более детально с флагами можно ознакомиться тут.

Сохраняем документ и выходим из него.

8. Копируем DNS:
Тут всё просто выполним:
# cp -L /etc/resolv.conf /mnt/gentoo/etc
9. А теперь самое интересное, переходим не посредственно в создаваемую систему:
# mount -t proc none /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
Подключаемся во вновь созданную систему:
# chroot /mnt/gentoo /bin/bash
# source /etc/profile/
# export PS1="(chroot) $PS1"
И воуля вы вошли во вновь созданную систему.

10. Обновим наш portage:
# emerge-websync
или
# emerge --sync
11. Выберем профиль системы:
# eselect profile list (выдаст список поддерживаемых профилей, тут уж сами выбираете, что вам нравится. Я себе ставил профиль desktop)
# eselect profile set 3 (указываем нужный профиль, мой профиль находится под номером "3").
12. Просматриваем описание USE-флагов (описание на Eng.):
# less /usr/portage/profiles/use.desc
Если, что то приглянулось можете внести в файл /etc/make.conf. Учтите, это необходимо делать обдуманно, иначе могут возникнуть ошибки.

13. Настраиваем время:
# ls /usr/share/zoneinfo (просматриваем нужную нам временную зону)
# cp /usr/share/zoneinfo/Europe/Kiev /etc/localtime
# echo "Europe/Kiev" > /etc/timezone
(Не большое отступление: в Биосе я выставил время по гринвичу, и мне достаточно в генту просто менять время часового пояса)

14. Собираем ядро:
# emerge gentoo-sources (скачиваем исходный код ядра)
# ls -l /usr/src/linux (просмотрим, что там у нас скачалось)
# emerge genkernel (устанавливаем genkernel. Genkernel утилита которая на первых порах облегчает новичкам сборку ядра, гуру Gentoo рекомендуют всё делать в ручую).
# genkernel all (собственно запускаем утилиту для сборки ядра. А пока, можно попить чай).
# ls /boot/kernel* /boot/initramfs*
15. Настраиваем fstab:
Редактировать будем  помощью текстового редактора Nano:
# nano -w /etc/fstab
fstab настраивал по UUID, для того чтобы узнать какие у нас UUID на разделах выполним команду:
# ls -l /dev/disk/by-uuid 
Теперь эти UUID указываем за каждым разделом в файле fstab
Пример fstab:
# LABEL=/root
UUID=bla-bla-bla   /          reiserfs    defsults  0  1
 # LABEL=/boot
UUID=bla-bla-bla   /boot    ext2        defsults  0  2
# LABEL=/home
UUID=bla-bla-bla   /home   xfs          defsults  0  2
# LABEL=/usr
UUID=bla-bla-bla   /usr       reiserfs   defsults  0  2
# LABEL=swap
UUID=bla-bla-bla   none      swap      defsults  0  0
Приблизительно как-то так.

16. Называем hostname:
# nano -w /etc/hostname
Указываем имя хоста оформляем в виде:
hostname="name_host"
17. Настраиваем сетку:
# nano -w /etc/config.d/net
IP по DHCP указываем так:
config_enp2s0="dhcp"
IP пропишем в ручную:
config_enp2s0="192.168.0.2" netmask 255.255.255.0 brd 192.168.0.255
routes_enp2s0="default via 192.168.0.1"
dns_servers_enp2s0="192.168.1.1"
18. Автостарт интернета:
# cd /etc/init.d (переходим в в директорию init.d)
# ln -s net.lo net.enp2s0 (делаем ссылку)
# rc-update add net.enp2s0 default (добавляем уровень загрузки)
19. Правим hosts:
# nano -w /etc/hosts
Пример:
# IPv and IPv6 localhost aliases
127.0.0.1   name_host.home_domen     name.host    localhost
20. Задаём пароль для root пользователя:
# passwd
21. Редактируем некоторые файлы системы:
Переключение раскладки по CapsLock:
# nano -w /etc/conig.d/keymaps
Пример:
keymap="ruwin_cplk-UTF-8"
Укажем как режим времени по UTC или использовать локальное время:
# nano -w /etc/conf.d/hwclock
Пример:
clock="UTC" (использую время по Гринвичу)
Выбираем необходимые локали:
# nano -w /etc/locale.gen
Пример (достаточно раскоментировать нужную локаль):
en_US.UTF-8 UTF-8 (использую английскую локаль)
Применим указанну локаль:
# locale-gen
Вывод информации в консоли:
# nano -w /etc/env.d/02locale
Пример:
LANG="en_US.utf8"
LC_COLLATE="C"
LC_MESSAGES="en_US.UTF-8"
Применим все наши преобразования так сказать:
# env-update && source /etc/profile
22. Устанавливаем необходимые пакеты:
System Logger
# emerge syslog-ng (уставливаем пакет)
# rc-update add syslog-ng default (указываем уровень загрузки)
Cron
# emerge vixie-cron
# rc-update add vixie-cron default
FileIndex
# emerge mlocate
ssh
# rc-update add sshd default
dhcpd, ppp
# emerge dhcpd (чтоб работала служба dhcp)
# emegre ppp (это на случай если используете протокол ppp)
23. Ставим загрузчик GRUB2.
Устанавливаем сам загрузчик:
# emerge grub os-prober
Прописываем Grub в mbr:
# grub2-install /dev/sda
Сконфигурируем загрузчик:
# grub2-mkconfig -o /boot/grub/grub.cfg
24. Выходим из нашей системы:
# exit
Делаем размонтирование все тех дисков которые мы до этого смонтировали:
# cd ~ (перейдём в домашний коталог)
# umount /mnt/gentoo/proc
# umount /mnt/gentoo/dev
# umount /mnt/gentoo/boot
# umount /mnt/gentoo/home
# umount /mnt/gentoo/usr
# umount /mnt/gentoo/
Последний штрих, делаем ребут:
# reboot
25. Запускаем вновь созданную систему под пользователем root (пароль вы должны помнить =)

26. Создадим пользователя, под которым уже будем работать, так как работать от имени root нежелательно.
# useradd -m -G users,wheel,audio,video -s /bin/bash name_users (users,wheel,audio,video - перечисляем в каких группах будет находится новый юзер, name_users - имя юзера).
Зададим пароль для нового юзера:
# passwd name_users
Далее выходим из юзера root и подключаемся уже под name_users.

Ну, а дальше дерзайте сами ...

З.Ы.: если есть какие то ошибки или не точности сообщите пожалуйста. Или какие то рекомендации - пишите обязательно.

Комментариев нет:

Отправить комментарий