nano /etc/portage/make.conf
Если есть необходимость, то меняем CFLAGS — опции для компилятора. Опции
компилятора, практически стандартные, кроме -march=native (вместо
-march=i686), что обязывает компилятор использовать все возможности
процессора. Если стоит задача сделать железо независимую установку, то
лучше не использовать, т.к. при восстановлении на новом железе
(возможно) придется пересобрать весь мир.
USE — перечисляются глобально основные опции программ, которые будут установлены.
Если будут тонкие клиенты, то добавьте в USE «spice», если нужно пробрасывать USB порты тонких клиентов, то добавьте «usbredir»
CFLAGS="-O2 -pipe -march=native"
MAKEOPTS="-j3"
USE="bindist mmx sse sse2 -ipv6 unicode device-mapper -X slang udev pulseaudio"
GENTOO_MIRRORS=http://mirror.yandex.ru/gentoo-distfiles/
SYNC="rsync://rsync.ru.gentoo.org/gentoo-portage"
LINGUAS="ru en"
Пропишем наши разделы для авто-монтирования
cat > /etc/fstab << "EOF"
/dev/sda1 /boot ext2 noauto,noatime 1 2
/dev/vg/root / ext4 noatime 0 1
/dev/vg/tmp /tmp ext2 noatime 0 0
/dev/vg/usr /usr ext4 noatime 0 0
/dev/vg/var /var ext4 noatime 0 0
EOF
Обновим дерево portage
emerge --sync
Если нужно сменить профиль, то как раз самое время
eselect profile list
eselect profile set <цифра>
Создадим файл-конфигурации сети
cat > /etc/conf.d/net << "EOF"
config_eno1="null"
config_br0="192.168.1.2/24"
routes_br0="default via 192.168.1.1"
bridge_br0="eno1"
rc_net_br0_need="net.eno1"
ethtool_offload_eno1="gro off"
dns_domain="mydomain.ru"
dns_servers="8.8.8.8 8.8.4.4"
EOF
ln –s /etc/init.d/net.lo /etc/init.d/net.eno1
ln –s /etc/init.d/net.lo /etc/init.d/net.br0
Зададим пароль для root
passwd root
Добавим себя (testuser), как пользователя и зададим пароль. Добавим в группы users,wheel,audio
useradd -m -G users,wheel,audio -s /bin/bash testuser
passwd testuser
К моменту написания статьи не вышла еще qemu-1.7.1, поэтому ставим две звезды, чтобы забрать девелоперскую версию
echo "app-emulation/qemu ** ~amd64" >>/etc/portage/package.accept_keywords
Данный флаг нужен, чтобы pulseaudio работал как независимый процесс. К
сожалению, по умолчанию заставить его стабильно работать с libvirt мне
не удалось, используя переменную «nographics_allow_host_audio=1» в
libvirtd.conf. Может быть у Вас получится?
echo "media-sound/pulseaudio -system-wide" >>/etc/portage/make.profile/package.use.mask
echo "media-sound/pulseaudio -dbus system-wide" >>/etc/portage/package.use
Укажем, что нужно будет собирать новые версии пакетов
for p in sys-kernel/gentoo-sources app-emulation/libvirt sys-apps/dtc sys-firmware/seabios; do echo $p " ~amd64" >>/etc/portage package.accept_keywords ; done
Установим необходимые программы. Ключ -av позволяет посмотреть опции
сборки, если что-то не устраивает, то можно включить опцию в USE
переменную, которая содержится в файле /etc/portage/make.conf.
misc-app/mc — если кому-то он удобен
emerge -av gentoo-sources vixie-cron lvm2 genkernel syslog-ng iproute2 libvirt ethtool bridge-utils grub terminus-font radeon-ucode misc-app/mc
Добавим программы в автозагрузку
for s in sshd vixie-cron syslog-ng net.br0 libvirtd ; do rc-update add $s default; done
Соберем ядро Linux, причем в разделах
> Device Drivers > IOMMU Hardware Support > IOMMU Hardware Support
Отмечаем все звёздочками
> Device Drivers > VFIO Non-Privileged userspace driver framework
Отмечаем все звёздочками
>Device Drivers > Networking support > Universal TUN/TAP device driver support
Ставим звёздочку.
Все остальное по вкусу ;-)
genkernel –lvm –menuconfig all
Добавим флаг «dolvm», для автозагрузки LVM
nano /etc/default/grub
GRUB_CMDLINE_LINUX="dolvm"
Установим загрузчик Grub
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub/grub.cfg
Настраиваем локализацию
cat /usr/share/i18n/SUPPORTED | grep -E 'ru_RU|en_US' >> /etc/locale.gen && locale-gen
Копируем новый файл временной зоны в /etc/localtime
cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Настроим переключение клавиатуры
nano /etc/conf.d/keymaps
dumpkeys_charset="utf8"
keymap="-u ru"
Фонт в консоли пропишем
nano /etc/conf.d/consolefont
consolefont="ter-k14n"
Локализация сообщений
cat > /etc/env.d/02locale << "EOF"
LANG="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
LANG="ru_RU.UTF-8"
LC_MESSAGES="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
EOF
env-update && source /etc/profile
Если необходимо, то можно обновить и пересобрать пакеты с новыми USE флагами
emerge -avuDN system world
Задаем имя хоста
nano /etc/conf.d/hostname
hostname="testhost"
Правим /etc/hosts
nano /etc/hosts
127.0.0.1 localhost testhost testhost.mydomain.ru
Перегружаемся, если все хорошо, то Вам повезло ;-) Все-таки железо у всех разное, возможно что-то нужно будет включить в ядро.
Если все плохо, то разбираемся в документации или пользуемся google. Документации на русском языке в сети достаточно.