Установка Gentoo Linux
Gentoo Linux (произносится дже́нту [ˈdʒɛntuː], сленг — ге́нта, джента, ге́нту; по названию быстроплавающего папуанского пингвина) — это GNU/Linux дистрибутив, который довольно популярен и имеет гибкую, мощную технологию Portage. Данный дистрибутив совмещает в себе, возможность конфигурировать, настраивать и автоматизировать систему управления пакетами. Дэниель Роббинсом, положил начало Gentoo Linux с дистрибутива Enoch Linux который разрабатывал в 1999 году. Очень сильной особенностью генты, — есть то, что ее можно оптимизировать под конкретное аппаратное железо и добиться максимальной производительности.
Установка Gentoo Linux
Я за 5 лет администрирования Linux, только работал с deb’s и rpm’s ОС. Что касается Unix — то немного работал с FreeBSD. Спорный вопрос стоит с Mac OS X, многие будут говорить что это Unix, некоторые — что нет, из-за того, что BSD ядро, переписали и по мнению многих — не осталось ничего от предшественника. Я считаю что они заблуждаются (по крайней мере я хочу так верить) и это Unix система. Но тема не об этом… Пришло время до установки gentoo linux. Это моя первая установка. Я буду описывать процесс установки в очень подробной форме, чтобы многие смоги воспроизвести мои действия и «пощупать» данный дистрибутив.
Идем на официальный сайт и качаем один из образов:
- Minimal Installation CD с amd64 aka x86_64 архитектурой.
- Minimal Installation CD с x86 архитектурой.
У для меня подходит 1-й вариант. Я выкачал данный CD и подключил его в VMware, я буду использовать именно такую установку, но вы можете записать данный образ на диск или флешку и продолжить установку по моей статье.
Т.к у меня — это виртуальная машинка, я запустил на ней ssh:
livecd ~ # service sshd restart
И сменил пароль для root, чтобы подключится к данной машине (я ленивый и не хочу все команды вводить руками).
Разбивка диска на разделы
Можно использовать различные варианты:
- fdisk — Я описывал как это делается в своей статье — Утилита FDISK в Unix/Linux
- cfdisk
- parted — Я описывал как это делается в своей статье — Установка/Использование parted в Unix/Linux
Я буду юзать parted утилиту. Она уже имеется в системе. Для начала, я проверяю какое блочное устройство у меня используется в качестве диска:
livecd ~ # fdisk -l | grep -E "/dev/[sh]d?" Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Видим, что это — /dev/sda, что собственно и логично т.к у меня один диск. Начнем разбиение диска:
livecd ~ # parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Проверяем какая партиция используется:
(parted) print Error: /dev/sda: unrecognised disk label Model: ATA VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: (parted)
И это собственно логично!
MBR:
Создаем метку:
(parted) mklabel msdos
Разметка готова! Я выполню разбивку следующим образом:
(parted) mkpart primary ext4 2M 200M (parted) set 1 boot on
Данный раздел я буду использовать для загрузки. Сейчас я, выделю 2 Гб свопика:
(parted) mkpart primary linux-swap 200M 2200M
А под все остальное, все оставшееся место:
(parted) mkpart primary ext4 2.2G 100%
И смотрим что получилось:
(parted) print Model: ATA VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2097kB 200MB 198MB primary ext4 boot, lba 2 200MB 2200MB 2000MB primary linux-swap(v1) lba 3 2200MB 21.5GB 19.3GB primary ext4 lba (parted)
GPT:
Не могу привести разметку. Не было необходимости!
Все имеется, но осталось подключить swap + отформатировать разделы:
livecd ~ # mkswap /dev/sda2 -L swap
Этим мы отформатировали свап раздел.
livecd ~ # swapon /dev/sda2
Действием что выше, подключили свап!
livecd ~ # mkfs.ext4 /dev/sda1 livecd ~ # mkfs.ext4 /dev/sda3
И последними командами, я форматнул разделы.
PS: Как я уже говорил я буду использовать MBR и дальше я буду приводить примеры по нему (при первой возможности, я дополню данный материал и для GPT).
Монтируем раздел:
livecd ~ # mount /dev/sda3 /mnt/gentoo/
Создаем папку для boot-а:
livecd ~ # mkdir /mnt/gentoo/boot
Монтируем boot:
livecd ~ # mount /dev/sda1 /mnt/gentoo/boot
Смаунчено все и почти готово к установке.
Скачиваем STAGE{1,2,3}
- stage1 — самостоятельная подготовка минимальной системы для установки, и основные компоненты тоже придется самостоятельно собирать из исходников. Все выкачивается из интернета и компилируется из сорцов под железо чем самым, достигается максимальная оптимизация. Но на это все, вы потратите много времени ( собственно — это логично, т.к ВСЕ-ВСЕ будет компилироватся из исходного кода и под конкретную железяку). Для примера, чтобы собрать KDE на средней машине — вам потребуется около 55 часов.
- stage2 — Минимальная система для установки уже создана (base layout), а вам остается только самостоятельно собрать основные компоненты из сорцов, которые будут качаться из интернета. На установку требуется меньше времени, но система менее оптимизированная.
- stage3 — иногда называют Gentoo Reference Platform (так званая, эталонная платформа). Выкачивается архив со стейтом3 — который несет в себе систему. Установка заключается в компилировании ядра ( у меня заняло около 1ч, т.к у меня 2 проца + 2 Гб РАМ) и после чего, ставим весь необходимый софт из сорцов или бинарных пакетов.
Мною был выбран — stage3. Выкачиваем самый свежий (на момент написание статьи):
livecd ~ # cd /mnt/gentoo/ && wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20170427/stage3-amd64-20170427.tar.bz2
PS: Т.к ссылка что выше, не стабильная, то можно воспользоваться консольным браузером, например:
livecd ~ # cd /mnt/gentoo && links http://distfiles.gentoo.org/releases/amd64/autobuilds/
Находим нужный файл ( я покажу пример что и выше) и скачиваем его:
Скачали, нужно распаковать скачанный архив:
livecd ~ # cd /mnt/gentoo/ && tar xvjpf stage3-*.tar.bz2 && rm -f stage3-*.tar.bz2
Почти все готово к установке.
Преднастройка до установки GENTOO LINUX
Для быстроты установки, выберем зеркало для установки:
livecd ~ # mirrorselect -i -o >>/mnt/gentoo/etc/portage/make.conf
Выбираем зеркало для установки ( ближайшее).
Сейчас нужно настроить DNS:
livecd ~ # cp -L /etc/resolv.conf /mnt/gentoo/etc/
Монтируем необходимые ФС:
livecd ~ # mount -t proc /proc /mnt/gentoo/proc livecd ~ # mount -o rbind /dev/ /mnt/gentoo/dev/ livecd ~ # mount --make-rslave /mnt/gentoo/dev livecd ~ # mount --rbind /sys /mnt/gentoo/sys livecd ~ # mount --make-rslave /mnt/gentoo/sys
Выполняем переход в созданное окружение:
# chroot /mnt/gentoo/ /bin/bash # env-update && source /etc/profile # export PS1="(chroot) $PS1"
Создаем папку для портажей:
(chroot) livecd / # mkdir /usr/portage
Делаем слепок дерева portage:
(chroot) livecd / # emerge-webrsync
Обновим портажы:
(chroot) livecd / # emerge --sync
Приступаем к настройке часового пояса
(chroot) livecd / # ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
Где,
- Region — ваш регион.
- City — ваш город.
У меня данная команда, выглядела:
(chroot) livecd / # ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
Приступаем к настройке самих часов:
(chroot) livecd / # nano /etc/conf.d/hwclock
И приводим к виду:
clock="UTC" clock_systohc="YES" clock_hctosys="YES" clock_args=""
Выставляем дату:
(chroot) livecd / # date 043012082017 Sun Apr 30 12:08:00 EEST 2017
Где,
date ММДДччммГГГГГ (формат: Месяц, День, часы, минуты и Год)
Выполняем синхронизацию:
(chroot) livecd / # hwclock --systohc
Или:
(chroot) livecd / # hwclock -w
Настроим локаль:
(chroot) livecd / # nano -w /etc/locale.gen
И добавляем:
en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
Обновляем информацию:
(chroot) livecd / # locale-gen
Давайте посмотрим список локалей которые доступны:
(chroot) livecd / # eselect locale list [1] C [2] POSIX * [3] en_US.utf8 [4] ru_RU.utf8 [ ] (free form)
Видим что стоит на 2. Надо выбрать en_US:
# eselect locale set 3
И можно переходить у установке генты.
Выбираем правильный профиль:
(chroot) livecd / # eselect profile list [1] default/linux/amd64/13.0 * [2] default/linux/amd64/13.0/selinux [3] default/linux/amd64/13.0/desktop [4] default/linux/amd64/13.0/desktop/gnome [5] default/linux/amd64/13.0/desktop/gnome/systemd [6] default/linux/amd64/13.0/desktop/plasma [7] default/linux/amd64/13.0/desktop/plasma/systemd [8] default/linux/amd64/13.0/developer [9] default/linux/amd64/13.0/no-multilib [10] default/linux/amd64/13.0/systemd [11] default/linux/amd64/13.0/x32 [12] hardened/linux/amd64 [13] hardened/linux/amd64/selinux [14] hardened/linux/amd64/no-multilib [15] hardened/linux/amd64/no-multilib/selinux [16] hardened/linux/amd64/x32 [17] hardened/linux/musl/amd64 [18] hardened/linux/musl/amd64/x32 [19] default/linux/uclibc/amd64 [20] hardened/linux/uclibc/amd64
Сейчас стоит на 1. Чтобы изменить, используйте (взято для примера):
(chroot) livecd / # eselect profile set 7
Выше, я выбрал 7-й пункт что подразумеваем использования KDE 5 plasma, для такого изменения необходимо изменить make.conf, А именно — дописать нужные «USE» параметры. Но для начала, посмотрим какие имеются в использовании:
(chroot) livecd / # less /usr/portage/profiles/use.desc
Просмотрели, ознакомились и пришло время внести изменения:
(chroot) livecd / # nano /etc/portage/make.conf
В переменной «USE», указываются значения, которые влияют на параметры компиляции. Например, параметр «qt5», включает компиляцию с поддержкой «qt5″», для всех программ, которые могут поддерживать «qt5». А минус перед параметром, например, «-gtk» отключает поддержку «gtk».
Я пропустил данный этап и оставил все как и было!
Можно просмотреть информацию:
(chroot) livecd / # emerge --info
Все подготовлено, можно приступить к компиляции генты.
Установка Gentoo Linux
Я пришел к самому интересному, сборки генты.
-===СПОСОБ 1 — использовать genkernel==-
Установка ядра
Устанавливаем исходных кодов ядра и програмульки genkernel:
(chroot) livecd / # time emerge gentoo-sources -av (chroot) livecd / # time emerge sys-kernel/genkernel -av
PS: Можно собрать все руками (выкачать и скомпилить ядро). Я выполняю установку через genkernel.
Настройка genkernel
немного модифицируем конфиг:
(chroot) livecd / # nano /etc/genkernel.conf
Приводим к виду:
MENUCONFIG="yes" CLEAN="no" SAVE_CONFIG="yes" MAKEOPTS="-j3" DISKLABEL="yes" E2FSPROGS="yes"
MAKEOPTS — определяет, сколько параллельных процессов компиляции должно запускаться при установке пакета. Выставляем данный параметр по количество процессоров или ядер (Не всегда, но его устанавливают на 1 больше) .
Настройка ядра
Настроим ядро для установки с различными компонентами:
(chroot) livecd / # genkernel --menuconfig all
Получил вот такую псевдографику:
Сейчас, необходимо включить поддержку ext2-4 (смотря что вы используете), для этого:
File systems ---> <M> Second extended fs support │ │ │ │ [*] Ext2 extended attributes │ │ │ │ [*] Ext2 POSIX Access Control Lists │ │ │ │ [*] Ext2 Security Labels │ │ │ │ <M> The Extended 3 (ext3) filesystem │ │ │ │ [*] Ext3 POSIX Access Control Lists │ │ │ │ [*] Ext3 Security Labels │ │ │ │ {M} The Extended 4 (ext4) filesystem │ │ │ │ -*- Ext4 POSIX Access Control Lists │ │ │ │ -*- Ext4 Security Labels │ │ │ │ [*] Ext4 Encryption │ │ │ │ [*] EXT4 debugging support │ │ │ │ [*] JBD2 (ext4) debugging support
Потом нажимаем на сохранить и нажимаем на «save» и потом на «exit». Да начнется после этого — компилирование ядра….
Если ничего не хотите настраивать и оставить все как есть, то выполните:
(chroot) livecd / # genkernel all
-===СПОСОБ 2 ==-
PS: Еще не уверен в полной документации!
А можно, не устанавливать его и собрать все ручками, например (я ядро выкачал через «emerge gentoo-sources -av», но можно скачать его руками — так вы можете получить более новые версии):
(chroot) livecd / # cd /usr/src/linux
Начинаем настройку:
(chroot) livecd / # make menuconfig
После команды этой команды, вы должны выбрать поддержку аппаратного и программного обеспечения.
И начинаем сборку:
(chroot) livecd / # time make -j3
Параметр «-j3», выставляется по количеству ядер ( идеально, ставить «количество ядер +1»). И да, у меня данной действие заняло около 12 минут!
Потом, устанавливаем модули:
(chroot) livecd / # time make modules_install
И перемещяем ядро:
(chroot) livecd / # cp arch/arm64/boot/bzImage /boot/kernel
Где, arm64 — это архитектура! У вас может отличатся. ПРИМЕР:
(chroot) livecd / cp arch/x86_64/boot/bzImage /boot/4.9.16-gentoo
Я указал утилиту «time» для того чтобы посмотреть за сколько оно скомпилируется.
Настройка GENTOO LINUX после установки
Ставим vim и еще ПО которое вспомнил:
(chroot) livecd / # emerge vim htop net-tools net-dns/bind-tools -av
Пропишем хостнейм:
(chroot) livecd / # vim /etc/conf.d/hostname
И, приведем к следующему виду:
HOSTNAME="gentoo-linux"
Еще открываем один файл:
(chroot) livecd / # vim /etc/hosts
И, приведем к следующему виду:
127.0.0.1 localhost gentoo-linux gentoo-linux.localhost ::1 localhost gentoo-linux gentoo-linux.localhost
Ставим logrotate, syslog, vixie, udev:
(chroot) livecd / # emerge logrotate syslog-ng vixie-cron udev sys-fs/e2fsprogs -av
Добавим syslog в автозагрузку:
(chroot) livecd / # rc-update add syslog-ng default
Добавим vixie в автозагрузку:
(chroot) livecd / # rc-update add vixie-cron default
Добавим ssh в автозагрузку:
(chroot) livecd / # rc-update add sshd default
Добавим в автозагрузку демоны:
(chroot) livecd /# rc-update add udev boot
Ставим Gentoolkit:
(chroot) livecd / # emerge gentoolkit -av
Ставим lspci:
(chroot) livecd / # emerge sys-apps/pciutils -av
Ставим dhcp:
(chroot) livecd / # emerge --ask net-misc/dhcpcd
Настрою STATIC IP для моей сетевой карты
Немного отредактируем конфиг :
(chroot) livecd / # vim /etc/dhcpcd.conf
Приводим к виду:
static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
Смотрим что имеется (я за интерфейсы) и запускаем:
(chroot) livecd / # ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.13.184 netmask 255.255.255.0 broadcast 192.168.13.255 inet6 fe80::20c:29ff:fef4:f748 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:f4:f7:48 txqueuelen 1000 (Ethernet) RX packets 511220 bytes 484152843 (461.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 349883 bytes 53914988 (51.4 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eno33554952: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.126 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fef4:f752 prefixlen 64 scopeid 0x20<link> inet6 fd86:94c4:705c:0:20c:29ff:fef4:f752 prefixlen 64 scopeid 0x0<global> ether 00:0c:29:f4:f7:52 txqueuelen 1000 (Ethernet) RX packets 367 bytes 43349 (42.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 86 bytes 7883 (7.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 (chroot) livecd / # dhcpcd eno16777728 DUID 00:01:00:01:20:98:fb:04:00:0c:29:f4:f7:48 eno16777728: IAID 29:f4:f7:48 eno16777728: probing address 192.168.0.10/24 eno16777728: soliciting an IPv6 router eno16777728: using static address 192.168.0.10/24 eno16777728: adding route to 192.168.0.0/24 eno16777728: adding default route via 192.168.0.1 forked to background, child pid 15740 (chroot) livecd / #
Настрою DHCP для моей сетевой карты
Приступим к настройке сети:
(chroot) livecd / # vim /etc/conf.d/net
И приводим к виду:
config_eno33554952="dhcp" routes_eno33554952="default via 192.168.0.1"
PS: eno33554952 — это сетевой интерфейс.
И делаем так, чтобы оно работало:
(chroot) livecd / # ln -s /etc/init.d/net.lo /etc/init.d/net.eno33554952 (chroot) livecd / # rc-update add net.eno33554952 default
Сеть — готова!
Вывод:
captain@gentoo-linux ~ $ ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.13.184 netmask 255.255.255.0 broadcast 192.168.13.255 inet6 fe80::137e:b586:1782:c006 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:f4:f7:48 txqueuelen 1000 (Ethernet) RX packets 93 bytes 15060 (14.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 78 bytes 13337 (13.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eno33554952: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.127 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fd86:94c4:705c:0:119a:245a:4ec:40c1 prefixlen 64 scopeid 0x0<global> inet6 fe80::20c:29ff:fef4:f752 prefixlen 64 scopeid 0x20<link> inet6 fd86:94c4:705c::fc8 prefixlen 128 scopeid 0x0<global> ether 00:0c:29:f4:f7:52 txqueuelen 1000 (Ethernet) RX packets 127 bytes 12099 (11.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 140 bytes 12523 (12.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 captain@gentoo-linux ~ $
Переходим к загрузчику.
Используем загрузчик
Их существует несколько, но я буду использовать классический вариант — grub.
-===СПОСОБ 1 — Установка и настройка grub==-
Выполняем экспорт списка всез UUID разделов:
(chroot) livecd / # blkid | grep sda >> /etc/fstab
И просмотрим его:
(chroot) livecd / # cat /etc/fstab | grep -Ev "#|^$"
У меня вышел вот такой вывод:
/dev/sda1: UUID="2dee3fa9-1c6c-4b7d-97d8-3412e2a57eec" TYPE="ext4" PARTUUID="7d59c901-01" /dev/sda2: LABEL="swap" UUID="2e04f1a7-604b-4ec4-8e70-399913b3b3ae" TYPE="swap" PARTUUID="7d59c901-02" /dev/sda3: UUID="a2f91a0c-f9d9-4f4b-bc44-f0673f0647dc" TYPE="ext4" PARTUUID="7d59c901-03"
Для установки GRUB2 сначала задайте для переменной GRUB_PLATFORMS одно или более значение в системном make.conf. Если не определять переменную, то GRUB2 сам определит, какая платформа установлена в системе. Он определит pc (для MBR стиля установки) для архитектур x86/amd64:
(chroot) livecd / # vim /etc/portage/make.conf
Прописываем:
# Стандартный PC (BIOS) GRUB_PLATFORMS="pc" # UEFI на amd64 GRUB_PLATFORMS="efi-64" # Обе UEFI и PC GRUB_PLATFORMS="efi-64 pc"
ИЛИ, ЭТО МОЖНО СДЕЛАТЬ ОДНОЙ КОМАНДОЙ:
(chroot) livecd / # echo 'GRUB_PLATFORMS="efi-64 pc"' >> /etc/portage/make.conf
Устанавливаем GRUB2:
(chroot) livecd / # emerge --ask --newuse --deep sys-boot/grub:2
Чтобы автоматически определять другие ОС ( например windows, Linux), нужно установить следующий пакет:
(chroot) livecd / # emerge --ask --newuse sys-boot/os-prober
Если будет использоваться винда, то еще ставим:
(chroot) livecd / # emerge --ask --newuse sys-fs/ntfs3g
Установим загрузчик для BIOS:
Создаем папку под граб:
(chroot) livecd / # mkdir /boot/grub
Для установки GRUB2 в MBR, используем:
(chroot) livecd / # grub-install /dev/sda Installing for i386-pc platform. Installation finished. No error reported.
При помощи следующей команды, генерируем конфиг под grub:
(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/kernel-genkernel-x86_64-4.9.16-gentoo Found initrd image: /boot/initramfs-genkernel-x86_64-4.9.16-gentoo done
Все!
Установим загрузчик для EFI:
Чтобы автоматически определять другие ОС ( например windows, Linux), нужно установить следующий пакет:
(chroot) livecd / # emerge --ask --newuse sys-boot/os-prober
Создаем папку под граб:
(chroot) livecd / # mkdir /boot/grub
При помощи следующей команды, генерируем конфиг под grub:
(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg
Если хотите, можно просмотреть:
(chroot) livecd / # vim /boot/grub/grub.cfg
Включение или отключение конфигурационных скриптов
Каталог /etc/grub.d/ содержит скрипты, которые использует grub-mkconfig для генерации файла grub.cfg. По умолчанию содержимое этого каталога должно выглядеть примерно так:
(chroot) livecd / # ls /etc/grub.d/ 00_header 10_linux 20_linux_xen 30_os-prober 40_custom 41_custom README
GRUB2 использует все установленные скрипты, которые помечены как выполняемые (по умолчанию они все включены). Чтобы отключить любой из этих скриптов, просто удалите бит выполнения с скрипт-файла используя команду chmod. В следующем примере все скрипты, кроме 00_header и 10_linux, отключены:
(chroot) livecd / # chmod -x /etc/grub.d/{20_linux_xen,30_os-prober,40_custom,41_custom}
После редактирования скриптов (или удаления бита выполнения), перегенерируйте конфигурационный файл GRUB2 используя grub-mkconfig:
(chroot) livecd / # grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/kernel-genkernel-x86_64-4.9.16-gentoo Found initrd image: /boot/initramfs-genkernel-x86_64-4.9.16-gentoo done
Установка GRUB2 на EFI совместимую систему, используем:
(chroot) livecd / # grub-install --target=x86_64-efi --efi-directory=/boot--bootloader-id=grub
-===СПОСОБ 2 — Установка и настройка LILO==-
Не будет использоваться в рамках данной статьи. Просто описал что он имеются.
-===СПОСОБ 3 — Установка и настройка efibootmgr==-
Не будет использоваться в рамках данной статьи. Просто описал что он имеются.
Последние шаги
Меняем пароль от пользователя root:
(chroot) livecd / # passwd
Создаем нового пользователя для входа:
(chroot) livecd / # useradd -m -G users,wheel,audio -s /bin/bash captain
Назначаем ему пароль:
(chroot) livecd / # passwd captain
И так, уже почти все готово….. Выйдем из виртуальной среды:
(chroot) livecd / # exit
Все примаунченое — уже не нужно, по этому — выполним отмантирование:
# umount /mnt/gentoo/boot # umount /mnt/gentoo/dev # umount /mnt/gentoo/proc # umount /mnt/gentoo
PS: В принципе, можно не выполнять демонтирование, т.к оно само отпадет при ребуте.
И, собственно, сама перезагрузка ОС:
# reboot
Ну что, вот и установленная гента.
Установка sudo
Я не буду говорить зачем нужно sudo, тут и так понятно. Для начала, логинимся как рут и потом выполняем:
gentoo-linux ~ # emerge --ask app-admin/sudo
Выставим права sudo для моего пользователя:
gentoo-linux ~ # visudo
И прописываем:
root ALL=(ALL) ALL captain ALL=(ALL) NOPASSWD:ALL
Круто, да? Я думал что будет сложно, но потратив около 10-12ч на все — я понял что все просто.
В следующей статье, я опишу установку графической среды ( GUI), а на этом — я завершаю данную тему «Установка Gentoo Linux».