"Программное обеспечение словно секс: лучше, когда это бесплатно!" Линус Торвальдс
"Программное обеспечение словно секс: лучше, когда это бесплатно!" Линус Торвальдс
это дистрибутив Linux, который ни чего не хочет делать сам.
Повышает Ваш IQ, в замен требуя кучу времени на то, чтобы разобраться, как это работает и почему не всё получается.
Он не становится с первого раза.., вот зараза, легко заставит рвать на себе волосы и проклинать того, кто подсунул эту гадость.
Не раз может возникнуть желание послать всё к чёртовой матери.
Но пройдя через огонь, воду и медные трубы, настроив систему по своему усмотрению, вытираем пот со лба, больше не придется этим заниматься.
Однажды установив Gentoo, можно годами использовать его, и это всегда будет свежая версия дистрибутива, которая больше всего подходит именно Вам.
"за другое будем бить по попе"
"Я вчера много пил...
Пришёл домой, не мог зайти в инет,
чё то сделал и зашёл.
Когда с утра увидел что у меня стоит
Gentoo, вместо macOC...|||||||||Windы...
Я бросил пить."
"Доктор, у меня глюки.
А какая у Вас
операционная система? -
macOC...||||||||Windows.
Могу посоветовать перейти на Gentoo.
Но предупреждаю,
глюки должны исчезнуть,
но получите геморрой".
"Гентушник без терминала
не может даже пукнуть".
"Ставил Gentoo - поломал 2 бубна."
Загружаем образ Live CD или System Rescue CD.
Определяем нашу флешку:
ls -l /dev/disk/by-id/
(например /dev/sdb) и записываем образ на неё:
dd if=./livedvd-amd64-multilib-XXXXXXXX.iso of=/dev/sdb status=progress && sync # если получаем сообщение:
dd: invalid status flag: 'progress' # данная версия dd не поддерживает параметр status=progress, удаляем его (и пропускаем индикатор прогресса записи).
Запуск установочного носителя:
Запускаем livedvd-amd64-multilib-XXXXXXXX.iso с флешки и начинаем установку Gentoo.
Проверка доступности сетевой платы:
ifconfig
(удачная):
enp3s0: flags=4163 UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::4216:7eff:fe24:dfb8 prefixlen 64 scopeid 0x20
ether 40:16:7e:24:df:b8 txqueuelen 1000 (Ethernet)
RX packets 358625 bytes 534838685 (510.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 275597 bytes 23854365 (22.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo flags= ...
Если сеть не заработает сразу, можно использовать net-setup (для обычных или беспроводных сетей),
pppoe-setup
(для пользователей ADSL) или pptp (для пользователей PPTP; есть на x86, amd64, alpha, ppc и ppc64).
Тестирование сети:
ping -c 3 www.gentoo.org
Использование GPT на компьютере с BIOS работает, но нельзя выполнять двойную загрузку с операционной системой Microsoft Windows.
Windows загрузится в режиме UEFI, если обнаружит метку раздела GPT. Некоторые прошивки материнской платы, настроенные для загрузки в BIOS / CSM , могут также иметь проблемы с загрузкой дисков с меткой GPT. Можно обойти проблему, добавив флаг boot / active в загрузочный раздел MBR, через fdisk -t dos чтобы заставить прочитать таблицу разделов с использованием формата MBR.
fdisk -t dos /dev/sda
Command (m for help): a
Command (m for help): w
Parted поддерживает большие разделы (более 2 ТБ).
Для оптимального выравнивания разделов:
parted -a optimal /dev/sda
Удаление X раздела:
(parted) rm X
При изменении типа раздела gpt будут удалены все разделы с диска:
(parted) mklabel gpt
Чтобы иметь диск с макетом MBR, используется mklabel msdos.
Разделы могут быть выражены в s - сектора, b, kb, mb, gb и тд.
(parted) unit b
(parted) mkpart primary 1048576 3145727
(parted) name 1 grub
(parted) set 1 bios_grub on
(parted) mkpart primary 3145728 137363455
(parted) name 2 "EFI System Partition"
(parted) mkpart primary 137363456 17317232639
(parted) name 3 swap
(parted) mkpart primary 17317232640 71004323839
(parted) name 4 rootfs
(parted) mkpart primary 71004323840 1000066206719
(parted) name 5 home
Для определения оставшегося свободного места на диске, используем команду:
(parted) print free
При использовании интерфейса UEFI для загрузки системы (вместо BIOS),
отмечаем загрузочный раздел в качестве раздела EFI System Partition
(parted) set 2 boot on
Для проссмотра конечного результата:
(parted) unit mb print
Для выхода
(parted) q
Parted позволяет изменять размеры раздела диска командой resizepart.
Будет предложено указать номер раздела, который необходимо изменить.
После этого необходимо установить новую конечную точку для этого раздела.
(parted) resizepart
Partition number? X
End? [XX.XGB]? XXXXX
Может помочь восстановить потерянный раздел между начальной и конечной точками. Если раздел найден в этом диапазоне, он попытается восстановить его.
(parted) rescue
Start? X
End? XXXXX
(parted) print
Создание файловых систем на разделах:
Первый раздел оставляем пустым.
При установке Gentoo на систему, которая использует UEFI для загрузки операционной системы (вместо BIOS), важно, чтобы был создан системный раздел EFI.
Для EFI должена быть создана файловая система FAT32 (или VFAT, как на системах Linux).
mkfs.vfat -F 32 /dev/sda2
Чтобы у раздела /dev/sda4 была файловая система ext4, требуется выполнить:
mkfs.ext4 /dev/sda4
Для других разделов выбираем свою файловую систему.
Например для /dev/sda5, файловую систему btrfs:
mkfs.btrfs -f /dev/sda5
Подключение раздела подкачки
mkswap /dev/sda3 команда, используемая для инициализации разделов подкачки
swapon /dev/sda3 для подключения раздела подкачки
mount /dev/sda4 /mnt/
Проверка даты и времени:
date
Fri Mar 29 16:21:18 UTC 2016
если время не соответствует, набираем команду:
date ММДДччммГГГГГ
Загрузка архива стадии:
переход к точке подключения Gentoo
cd /mnt/
загружаем файл стадии:
links http://www.gentoo.org/main/en/mirrors.xml
Выберите ближайшее зеркало. Перейдите в каталог releases/amd64/autobuilds/,
выберите файлы стадий для вашей архитектуры и нажмите D для загрузки.
По окончании нажмите Q, чтобы выйти из браузера.
Распаковка архива стадии:
tar xpf stage3-amd64-*.tar.xz
Создаём efi директорию:
mkdir -p /mnt/boot/efi
mount /dev/sda2 /mnt/boot/efi
Копирование информации о DNS:
DNS-сервер своего провайдера и его адрес можно найти в /etc/resolv.conf.
(при устранении ошибок в установленной ОС с Systemd, предварительно удаляем resolv.conf)
rm /mnt/etc/resolv.conf
cp -L /etc/resolv.conf /mnt/etc/
Монтирование proc, sys и dev
mount --types=proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
mount --bind /run /mnt/run
mount --make-slave /mnt/run
mount --make-rslave /mnt/sys
mount --make-rslave /mnt/dev
Операции --make-rslave необходимы для поддержки Systemd.
chroot /mnt /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
Запускаем emerge-webrsync для установки образа Portage:
emerge-webrsync
Работаем с новостями Portage:
eselect news list
eselect news read 18
2022-12-01-systemd-usrmerge
Title /usr merge for systemd users
Author Mike Gilbert <floppym@gentoo.org>
Posted 2022-12-01
Revision 3
Во второй половине 2023 года systemd прекратит поддержку системы разделённого usr/unmerged-usr [1].
Все системы Gentoo под управлением systemd нужно будет перенести на merged-usr.
Опустит поддержку Split-USR/Uncerged-USR cистемы [1].
Все системы Gentoo работающие Systemd необходимо перенести в объединённый USR.
При переходе на merged-usr все данные будут перемещены из /bin, /sbin и /lib в каталоги /usr/bin и /usr/lib.
Каталоги находящиеся в / заменены символическими ссылками.
Для облегчения этого был создан новый набор подпрофилей и сценарий доступен для выполнения фактической миграции.
Чтобы перенести систему на merged-usr, выполните следующую процедуру:
1. Убедитесь, что резервные копии вашей системы обновлены.
2. Установите sys-apps/merge-usr
3. Запустите «merge-usr --dryrun» от имени пользователя root, чтобы проверить наличие конфликтов. Они появятся со словом ERROR в начале строки.
4. Решите любые конфликты. Это может включать удаление повторяющихся файлов. Если сомневаетесь, обратитесь за поддержкой в канал поддержки Gentoo.
5. Запустите сценарий merge-usr из корневой оболочки. Избегайте запуска через sudo напрямую, чтобы не заблокировать себя в случае возникновения непредвиденной ошибки.
6. Переключитесь на профиль merged-usr.
например eselect profile set default/linux/amd64/17.1/systemd/merged-usr
7. Запустите emerge с параметром --newuse или --changed-use для перестроения всех пакетов с USE-флагом "split-usr".
например emerge -uDN @world
Для новых установок создаются новые архивы "mergedusr" stage3 для часто используемых профилей.
[1] https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html
Выяснение используемого профиля:
eselect profile list
Available profile symlink targets:
...
[5] default/linux/amd64/17.1/desktop (stable)
[6] default/linux/amd64/17.1/desktop/gnome (stable)
[7] default/linux/amd64/17.1/desktop/gnome/systemd (stable)
[8] default/linux/amd64/17.1/desktop/plasma (stable)
[9] default/linux/amd64/17.1/desktop/plasma/systemd (stable)
...
Изменяем профили, например для Plasma:
eselect profile set 8
для Gnome systemd:
eselect profile set 7
Открытие файла /etc/portag/make.conf
nano /etc/portage/make.conf
USE="acl alsa berkdb cdr crypt cups dbus dvd elogind ipv6 nls policykit pulseaudio sasl ssl syslog tcpd udev udisks unicode X"
VIDEO_CARDS="intel"
INPUT_DEVICES="evdev synaptics"
CFLAGS="-march=ivybridge -mno-avx -mno-aes -mno-rdrnd -O2 -pipe"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
LINGUAS="ru en"
L10N="ru en"
GRUB_PLATFORMS="efi-64" для ОС без efi GRUB_PLATFORMS="pc"
CPU_FLAGS_X86="mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
Для включения правильных флагов CPU_FLAGS_X86 используем Python
скрипт, который генерирует правильное значение с /proc/cpuinfo
emerge app-portage/cpuid2cpuflags
cpuid2cpuflags
emerge -C app-portage/cpuid2cpuflags
Для оптимизации GCC необходимо подобрать разумные флаги
CFLAGS и CXXFLAGS.
Определяем модель процессора:
grep -m1 -A3 "vendor_id" /proc/cpuinfo
Чтобы узнать необходимый CFLAGS, сопоставляем CPU с одним, из указанных на странице.
Значение MAKEOPTS устанавливается в зависимости от числа процессоров +1.
Если выбран профиль в названии с Systemd (так как все стадии Gentoo по умолчанию используют OpenRC как систему инициализации) имеет смысл обновить @world с добавлением USE - флага, systemd и отключением флага -consolekit:
emerge --ask --update --deep --newuse @world
это не является обязательным для других профилей.
Установка часового пояса:
ls /usr/share/zoneinfo
echo "Europe/Moscow" > /etc/timezone
Переконфигурируем timezone-data:
emerge --config sys-libs/timezone-data
Прекрасный сайт. Давно такого не видел, очень интересный подход к дизайну. Я в восторге от прочитанного материала, сейчас устанавливаю Gentoo, дай бог здоровья автору. АМИНЬ!
Николай: Не стоит благодарностей. Будут вопросы - обращайтесь. Чем смогу, помогу.
Ээээ а че с дизайном?....
Николай: Всё тоже!...
Клиент 132: Ну то есть не перебор?
Как будто сервак блеванул.
Николай: Боюсь, что нет!
Клиент 132: Ну оооок)
Николай: Так и есть!
Мне понравилось Ваше выражение: "Как будто сервак блеванул."
Пришлось немного изменить дизайн! Удачи.
Николай: Люди тратили уйму своего времени и труда, чтобы создать этот софт и дарят его Вам. Найдите, пожалуйста, немного времени, чтобы прочитать документацию и научиться это использовать!