Опубліковано 19 липня19 лип Адміністратор 1. Налаштування прав адміністратора для користувачаЩоб не сидіти постійно через root користувача, треба поставити OpenDoas для нашого користувача, щоб ми могли виконувати команди від імені адміністратора. Так, ви можете також встановити і sudo, але якщо ми використовуємо Gentoo це само по собі передбачає, що ми "не такі як всі" і ставимо більш мінімалістичний doas замість sudo.OpenDoas має підтримку "persist-mode". Цей режим дозволяє не вводити пароль щоразу при використанні утиліти та "персистує" наше право адміністратора на якийсь час. За замовчуванням в репозиторії doas не підтримує persist-mode, а тому треба задати локальний прапор USE, щоб користуватися було зручніше.Щоб встановити USE-прапор для програми, створимо і відкриємо файл з прапорами в директорії /etc/portage/package.use/<ім'я-файлу>.# vim /etc/portage/package.use/flagsЗазвичай кожної програми створюється окремий файл, у якому ми можемо прописати потрібні USE-прапори. Я ж прихильник створення одного великого файлу "flags", в якому будуть лежати всі необхідні нам USE-прапори. Так простіше керувати ними надалі і бекапит потрібно буде лише 1 файл для відновлення всіх кастомних прапорів в нових установках.Пропишемо локальний USE-прапор "persist" для OpenDoas:app-admin/doas persistЗбережемо зміни (у Vim це робиться через :wq) і запустимо установку:# emerge -av app-admin/doasПісля компіляції дамо нашому користувачеві право на використання doas:# vim /etc/doas.conf .... permit persist <имя-пользователя>Після цього можемо перелогінитись у нашу систему та перевірити працездатність програми через синхронізацію репозиторіїв:$ doas emerge --syncЯкщо після введення пароля зафуричило, то добре - ми налаштували право адміністратора.2. Встановлення драйвера на відеокартуУ моєму минулому матеріалі є невеликий недогляд, який я помітив лише під час підготовки цього. У процесі заповнення make.conf нам додатково потрібно прописати драйвер відеокарти, який буде використовуватися для всіх скомпільованих програм, що його вимагають. Щоб прописати драйвер, відкриємо файл /etc/portage/make.conf через будь-який зручний редактор. Пропишемо VIDEO_CARDS="" нижче за весь вміст і вкажемо наш драйвер..... VIDEO_CARDS="<драйвер вашей видеокарты>"Драйвера під відеокарти бувають такі:Пропрієтарний NVIDIA - "nvidia"Вільний NVIDIA-драйвер - "nouveau"Вільні AMD-драйвера - "amdgpu radeonsi"Legacy-драйвера AMD - "radeon r * 00"Intel-графіка - "intel"Якщо ви використовуєте віртуальні машини, прописуйте "virgl" для віртуальної графіки, відповідно.Тепер підженемо наші пакети під зміни через команду:$ doas emerge --ask --changed-use --deep @worldПісля оновлення світу ми можемо ставити необхідні бібліотеки для драйверів.Для AMD/Intel все просто – встановимо Mesa:$ doas emerge -av media-libs/mesaДля карток від Nvidia встановимо x11-drivers/nvidia-drivers:$ doas emerge -av x11-drivers/nvidia-driversДля більш коректної роботи раджу прописати такі прапори під зелені дрова:/etc/portage/package.use/flags .... x11-drivers/nvidia-drivers +X +modulesДалі встановиться все необхідне і наші драйвери будуть готові до роботи.3. Встановлення X11 та DE/WMПісля встановлення драйверів нам потрібно накотити графіку. Для початку встановимо X11 в нашу Gentoo:$ doas emerge -av x11-base/xorg-server x11-base/xorg-driversПісля успішного складання X11 нам потрібно вибрати собі DE/WM. Для GNOME і KDE раджу ще на етапі установки вибрати однойменний профіль через eselect profile set, щоб менше возитися після встановлення базової системи.GNOME$ doas emerge -av gnome-base/gnomeKDE Plasma$ doas emerge -av kde-plasma/plasma-metaXfce$ doas emerge -av xfce-base/xfce4-metaMATE$ doas emerge -av mate-base/matei3wm$ doas emerge -av x11-wm/i3bspwm$ doas emerge -av x11-wm/bspwmOpenbox$ doas emerge -av x11-wm/openboxIcewm$ doas emerge -av x11-wm/icewmПісля складання робочого оточення варто встановити дисплейний менеджер для зручнішої роботи. Я використовую LightDM, але ви можете поставити будь-який, що вам до вподоби. Для коректної роботи більшості DM нам знадобиться elogind та dbus, які можна встановити командою:$ doas emerge -av sys-auth/elogind sys-apps/dbusІ не забудемо додати їх до автозавантаження:$ doas rc-update add elogind default $ doas rc-update add dbus defaultДля встановлення дисплейного менеджера спочатку встановимо пакет для роботи в OpenRC:$ doas emerge -av gui-libs/display-manager-initДалі встановимо сам дисплейний менеджер:LightDM$ doas emerge -av x11-misc/lightdm x11-misc/lightdm-gtk-greeterSDDM$ doas emerge -av x11-misc/sddmGDM$ doas emerge -av gnome-base/gdmПісля завершення компіляції нам необхідно прописати наш дисплейний менеджер у файл /etc/conf.d/display-manager:.... DISPLAYMANAGER="<ваш-DM>"Збережемо зміни у файлі та додамо службу display-manager в автостарт системи ініціалізації:$ doas rc-update add display-manager defaultПісля перезавантаження, якщо ви все правильно встановили, ви побачите екран із введенням пароля та вибором завантаження DE/WM. Після авторизації можна почати використовувати графіку.4. Налаштування звуку в системіСидіти без звуку за комп'ютером – сумно, а тому давайте встановимо Pipewire.$ doas emerge -av media-video/pipewireПісля встановлення програми ми можемо прописати її автозапуск будь-яким зручним способом. Якщо в DE, то через налаштування автостарту, а в WM'ах просто пропишемо запуск в конфігураційний файл.Gentoo Pipewire запускається через утиліту gentoo-pipewire-launcher , який і треба прописати в автостарт вашого DE/WM.Не забудьте також додати вашого користувача до групи "pipewire" та "audio" для коректної роботи звуку:$ doas gpasswd -a <user> pipewire $ doas gpasswd -a <user> audio5. Прикладний софт та підключення бінарного репозиторіюНе бачу сенсу розглядати установку кожного пакета прикладного ПЗ, тому що у кожного є свій набір, якому він так чи інакше дотримуватиметься.Для пошуку пакетів в основному репозиторії Gentoo вам дуже допоможе офіційний ресурс дистрибутива , в якому за ключовими словами ви зможете знайти назву ебілда вашої програми і доступні для нього USE-прапори.Ресурс Gentoo Portage Overlays дозволяє шукати ебілдів у сторонніх репозиторіях — оверлеях. Оверлей - це а-ля PPA-репозиторій під Ubuntu. В оверлеї користувачі самі завантажують свої ебілди, дозволяючи вам встановити програмне забезпечення, якого немає в офіційних репозиторіях. Для роботи з оверлеями дуже раджу встановити утиліту eselect-repository, яка без ручних маніпуляцій допоможе підключити стороннє джерело.$ doas emerge -av app-select/eselect-repositoryВикористання Gentoo, однак, передбачає постійну компіляцію з вихідного коду, що іноді виходить досить накладно за часом і ресурсами процесора. З початку минулого року Gentoo з'явився офіційний бінарний репозиторій, який можна використовувати для прискорення встановлення деякого програмного забезпечення.У сучасних установках його зазвичай не потрібно додатково налаштовувати - все працює з коробки. Просто синхронізуйте репозиторії та скористайтеся наступними прапорами Portage:--getbinpkg (-g) - если пакет, который вы запрашиваете, доступен в виде бинарного файла, то он будет установлен. В ином случае - пакет скомпилируется как обычно.--usepkgonly (-K) - если пакет доступен в бинарном формате, то он будет установлен. В ином случае - установки не случится вовсеІноді може виникнути проблема з GPG-ключами репозиторіїв, проте всі проблеми вирішуються однією командою:$ doas mv /etc/portage/gnupg /etc/portage/gnupg.bak ; getuto6. Установка Steam та PortProtonТак як із встановленням Steam у початківця можуть бути проблеми, а сама програма не міститься в офіційному репозиторії, розповім, як її встановити, щоб почати грати в улюблені ігри.1) Установка eselect-repository та git$ doas emerge --ask --noreplace app-eselect/eselect-repository dev-vcs/git2) Підключення репозиторію та синхронізація$ doas eselect repository enable steam-overlay$ doas emerge --sync3) Прописуємо USE-прапори для Steam/etc/portage/package.use/steam .... app-accessibility/at-spi2-core abi_x86_32 app-arch/bzip2 abi_x86_32 app-arch/lz4 abi_x86_32 app-arch/zstd abi_x86_32 dev-lang/rust-bin abi_x86_32 dev-libs/dbus-glib abi_x86_32 dev-libs/elfutils abi_x86_32 dev-libs/expat abi_x86_32 dev-libs/fribidi abi_x86_32 dev-libs/glib abi_x86_32 dev-libs/gmp abi_x86_32 dev-libs/icu abi_x86_32 dev-libs/libevdev abi_x86_32 dev-libs/libffi abi_x86_32 dev-libs/libgcrypt abi_x86_32 dev-libs/libgpg-error abi_x86_32 dev-libs/libpcre2 abi_x86_32 dev-libs/libtasn1 abi_x86_32 dev-libs/libunistring abi_x86_32 dev-libs/libusb abi_x86_32 dev-libs/libxml2 abi_x86_32 dev-libs/lzo abi_x86_32 dev-libs/nettle abi_x86_32 dev-libs/nspr abi_x86_32 dev-libs/nss abi_x86_32 dev-libs/openssl abi_x86_32 dev-libs/wayland abi_x86_32 gnome-base/librsvg abi_x86_32 gui-libs/libdecor abi_x86_32 llvm-core/llvm abi_x86_32 media-gfx/graphite2 abi_x86_32 media-libs/alsa-lib abi_x86_32 media-libs/flac abi_x86_32 media-libs/fontconfig abi_x86_32 media-libs/freetype abi_x86_32 media-libs/glu abi_x86_32 media-libs/harfbuzz abi_x86_32 media-libs/libepoxy abi_x86_32 media-libs/libglvnd abi_x86_32 media-libs/libjpeg-turbo abi_x86_32 media-libs/libogg abi_x86_32 media-libs/libpng abi_x86_32 media-libs/libpulse abi_x86_32 media-libs/libsdl2 abi_x86_32 media-libs/libsndfile abi_x86_32 media-libs/libva abi_x86_32 media-libs/libvorbis abi_x86_32 media-libs/mesa abi_x86_32 media-libs/openal abi_x86_32 media-libs/opus abi_x86_32 media-libs/tiff abi_x86_32 media-sound/lame abi_x86_32 media-sound/mpg123-base abi_x86_32 media-video/pipewire abi_x86_32 net-dns/c-ares abi_x86_32 net-dns/libidn2 abi_x86_32 net-libs/gnutls abi_x86_32 net-libs/libasyncns abi_x86_32 net-libs/libndp abi_x86_32 net-libs/libpsl abi_x86_32 net-libs/nghttp2 abi_x86_32 net-libs/nghttp3 abi_x86_32 net-misc/curl abi_x86_32 net-misc/networkmanager abi_x86_32 net-print/cups abi_x86_32 sys-apps/dbus abi_x86_32 sys-apps/systemd abi_x86_32 sys-apps/systemd-utils abi_x86_32 sys-apps/util-linux abi_x86_32 sys-devel/clang abi_x86_32 sys-libs/gpm abi_x86_32 sys-libs/libcap abi_x86_32 sys-libs/libudev-compat abi_x86_32 sys-libs/ncurses abi_x86_32 sys-libs/pam abi_x86_32 sys-libs/zlib abi_x86_32 virtual/glu abi_x86_32 virtual/libelf abi_x86_32 virtual/libiconv abi_x86_32 virtual/libintl abi_x86_32 virtual/libudev abi_x86_32 virtual/libusb abi_x86_32 virtual/opengl abi_x86_32 virtual/rust abi_x86_32 x11-libs/cairo abi_x86_32 x11-libs/extest abi_x86_32 x11-libs/gdk-pixbuf abi_x86_32 x11-libs/gtk+ abi_x86_32 x11-libs/gtk+ abi_x86_32 x11-libs/libdrm abi_x86_32 x11-libs/libICE abi_x86_32 x11-libs/libpciaccess abi_x86_32 x11-libs/libSM abi_x86_32 x11-libs/libvdpau abi_x86_32 x11-libs/libX11 abi_x86_32 x11-libs/libXau abi_x86_32 x11-libs/libxcb abi_x86_32 x11-libs/libXcomposite abi_x86_32 x11-libs/libXcursor abi_x86_32 x11-libs/libXdamage abi_x86_32 x11-libs/libXdmcp abi_x86_32 x11-libs/libXext abi_x86_32 x11-libs/libXfixes abi_x86_32 x11-libs/libXft abi_x86_32 x11-libs/libXi abi_x86_32 x11-libs/libXinerama abi_x86_32 x11-libs/libxkbcommon abi_x86_32 x11-libs/libXrandr abi_x86_32 x11-libs/libXrender abi_x86_32 x11-libs/libXScrnSaver abi_x86_32 x11-libs/libxshmfence abi_x86_32 x11-libs/libXtst abi_x86_32 x11-libs/libXxf86vm abi_x86_32 x11-libs/pango abi_x86_32 x11-libs/pixman abi_x86_32 x11-libs/xcb-util-keysyms abi_x86_324) Додамо Steam-оверлів у package.accept_keywords:/etc/portage/package.accept_keywords/steam .... */*::steam-overlay games-util/game-device-udev-rules sys-libs/libudev-compat5) Встановимо Steam$ doas emerge -av games-util/steam-launcherПісля встановлення запускаємо та починаємо грати.Якщо ви хочете використовувати інші джерела для запуску Windows-ігор, то нам може стати в нагоді PortProton.1) Встановимо залежності від офіційного репозиторію$ doas emerge -av sys-apps/bubblewrap net-misc/wget app-arch/cabextract app-arch/tar dev-libs/openssl media-gfx/icoutils net-misc/curl sys-apps/inxi gnome-extra/zenity sys-devel/bc 2) Встановимо yad з оверлея (теж потрібен для PortProton)$ doas eselect repository enable parona-overlay $ doas emerge --sync vim /etc/portage/package.accept_keywords/yad .... gnome-extra/yad **$ doas emerge -av gnome-extra/yad::parona-overlay3) Ідемо на сайт PortProton і копіюємо команду для старту установкиwget -c "https://github.com/Castro-Fidel/PortProton_ALT/raw/main/portproton" && sh portprotonПісля завершення радіємо життю та граємо в піратські ігри.7. Те, що не тягне на окремий пункт, але варто згадати варто1) Апаратне прискорення відеоДля включення підтримки апаратного прискорення нам треба прописати драйвер " vaapi " у глобальних USE-прапорах системи. Зробити це можна так:/etc/portage/make.conf .... USE="vaapi"Після збереження оновимо пакети вже за допомогою апаратного прискорення:$ doas emerge --ask --changed-use --deep @world2) Очищення кешу PortageДля очищення застарілих тарболів, які за замовчуванням зберігаються в /var/tmp/portage/*, можна встановити утиліту " eclean ".$ doas emerge -av app-portage/gentoolkitЩоб видалити застарілі архіви з вихідними джерелами:$ doas eclean distfilesЩоб видалити застарілі бінарні файли:$ doas eclean packages3) Корисні посилання для роботи з GentooGentoo HandbookOpenRC для чайниківРобота з PortageФорум GentooUSE-прапори8. Підбиття підсумків
Для публікації повідомлень створіть обліковий запис або авторизуйтесь