Вступ

Gentoo - дехто вважає одиним з найбільш важких для вивчення дистрибутивів. Хоча багато хто з бувалих користувачів скаже, що величезна спільнота й добра документація можуть здорово допомогти новачкам. У статті наведено ряд першочергових підказок, які допоможуть новим користувачам швидше освоїти Gentoo.

Спочатку приготуйтеся прочитати дуже багато документації. Ви зможете встановити Gentoo не вивчивши уважно Handbook. Gentoo має графічний інсталятор, але новачкам не варто його використовувати. Установка Gentoo "традиційним" способом змушує читати документацію, і сприяє кращому розумію системи. Також інсталятор Gentoo не такий хороший для встановлення та настроювання драйверів, як інсталлятори інших дистрибутивів.

Handbook містить основну інформацію про Gentoo. Додаткова інформація (приміром, по настроюванні X і ALSA) можна знайти на сторінка документації Gentoo чи Wiki.

Коли виникають специфічній питання, не висвітлені в документації - спробуйте запитати на форумі: LOU, GOU.

Основи Portage

Одина з фундаментальних відмінностей Gentoo від інших дистрибутивів - його система управління пакетами, названа Portage, орієнтована насамперед на установку програм із вихідних текстів. Це уможливлює безліч настройок і точок контролю для кожного пакету там, де користувачі бінарних дистрибутивів мають кілька пакетів з різними опціями і залежностями (фактично це те ж саме, лише управління різними опціями складання більш гнучкіше). З Portage ви можете встановити так звані USE-флаги для настройки опцій одного пакета і навіть глобально всієї системи.

Наприклад якщо хочете включити підтримку KDE і вимкнути підтримку GNOME ви повинні додати в рядку USE у файлі /etc/make.conf прапори "kde -gnome". Для отримання докладнішої інформації про USE-флаги дивіться Gentoo Handbook. Для роботи з Portage використовується команда emerge(1). Наприклад для установки пакета moo досить набрати команду

emerge moo

Portage перевірить залежності, скачає всі необхідні архіви з вихідними кодами, збере пакет і встановить його. Уся необхідна для збірки пакета інформація збережена у базі ebuild'ів, кожен із яких являє собою спеціальний скрипт. Усі ebuild'ы перебувають у папці /usr/portage.

Управління настройками Portage

Перше правило Gentoo - потрібно уважно стежити за прапорами(флагами) USE. Чому, при встановленні Midnight Commander встановлюється X.Org - тому що у вас дозволений прапор X. Чому ж немає KPDF в KDE? - тому що KDE було зібрано без прапора pdf (не запитуйте чому усе ж таки зібрався KGhostScript).

Завжди установлюйте нові пакети командної

emerge --ask --verbose (чи emerge -av)

для перегляду USE-флагів до початку компіляції. Встановіть пакет gentoolkit:

emerge gentoolkit

серед безлічі корисних речей він містить утиліту euse, яка істотно спрощує управління прапорами USE. Виконайте

euse -і flag

щоб одержати інформацію про прапор "flag". Також перегляньте man-стрінку ?euse(1) (не хвилюйтеся, вона коротка :-)).

Коли хочете змінити USE-флаги тільки одного пакета не намагайтеся збирати його командою USE="some flags" emerge moo. Це звісно спрацює, але при поновленні системи пакет буде перезібраний з колишніми прапорами. Краще прописувати USE-флаги в /etc/portage/package.use, при цьому виконайте

echo "category/moo some flags" >> /etc/portage/package.use

перед установкою пакета.

Теж стосується й ACCEPT_KEYWORDS - використовуйте /etc/portage/package.keywords. У Portage 2.1 ви можете використовувати папки package.use і package.keywords замість файлів для ще простішого управління.

Коли потрібно використовувати оверлеї?

Іноді з'являється необхідність встановити пакет, відсутній в Portage. Тоді ви повинні взяти його ebuild з архіву Portage CVS. Або наприклад ви захочете встановити новий пакет, узявши ebuild в bugzilla. Можлива ситуація, коли ви просто захочете трохи підправити офіційний ebuild.

У кожному разі ви повинні в такій ситуації помістити ваш ebuild в локальний оверлей. Оверлей - набір ebuild'ів, що ви хочете додати до офіційної бази даних (дерева) Portage. Не зберігайте свої ebuild'и в середині офіційного дерева (/usr/portage), оскільки при поновлені вони будуть видалені. Створіть каталог для оверлея, і створіть у ньому структуру підкаталогів, аналогічну /usr/portage. Помістіть туди ваш ebuild. Додайте PORTDIR_OVERLAY="/path/to/local/overlay" до файлу /etc/make.conf.

Звичне місце для оврлеев - /usr/local/overlays. Отже місцем до вашого ebuild'а буде /usr/local/overlays/local, або в /usr/local/overlays.

В багатьох випадках, коли шукайте пакети, не включені в офіційне дерево, ви знаходите як ebuild'ы, так і оверлеї. Наприклад одн із найбільш популярних оверлеїв xgl-coffee містить все, що треба задля роботи XGL. Можна його розмістити в /usr/local/overlays/xgl-coffee та поновлювати через SVN.

Докладна інформація щодо використання оверлеев є на Gentoo Wiki. Саме там ви знайдете список неофційних оверлеїв і опис процесу синхронізації із ними.

З якою частотою потрібно оновлюватися?

Вам немає сенсу оновлюватися частіше, аніж разів у добу. Можна навіть рідше. Можете ознайомитися з вашими улюбленими пакетами періодично заходячи на сайти packages.gentoo.org чи gentoo-portage.com (або підписавшись на RSS).

Збережіть world чистим

Щоразу, як ви виконуєте

emerge some-package

ім'я пакета записуєте в файл /var/lib/portage/world. Коли ж ви обновляєте систему командою

emerge --update --deep world

використовується список з цього файла. Тому цей файл має бути наскільки можна коротшим. У ньому мають бути лише необхідні пакети. Коли якийсь пакет є лише залежністю іншого - годі тримати його у файлі world.

Наприклад коли ви встановлюєте пакет, що використовує бібліотеку wxWidgets, ця бібліотека встановлюється як залежність і додається в файл world. Якщо ви деінсталюєте всі пакети що використовують цю бібліотеку - вона перестане поновлюватися під час

emerge --update (...) world

і буде видалена після виклику

emerge --depclean world

Єдиний випадок коли слід додати wxWidgets в world - коли ви розробляєте програми на основі цієї бібліотеки.

Існує скрипт, що допомагає очистити world від всього зайвого. Для установки пакетів без занесення їх у world використовуйте опцію --oneshot (-і). Опція і також буде хорошим рішенням при тимчасовій установці будь-якого пакета.

Деинсталляция пакетів

Усі ваші дії з emerge записуються в файл /var/log/emerge.log. Коли хочете знати який пакет збирається в теперішній час - виконайте:

tail /var/log/emerge.log

Утиліта genlop (emerge genlop) дозволяє витягти безліч різної инфрмации від цього файла. Наприклад genlop -с покаже вам який пакет збирається у цей час і спробує передбачити скільки часу залишилося до остаточного складання. Видалити встановлений пакет можна командою:

emerge -С some-package

а видалити всі непотрібні залежності:

emerge --depclean

Видалення тимчасових файлів

Коли складання пакета завершується помилкою - залишається каталог з тимчасовими файлами в /var/tmp/portage. Якщо усунули проблему і пакет нормально збирається - файли видаляються. Якщо ні - ви можете очистити каталог /var/tmp/portage вручну.

Після поновлення ви можете видалити застарілі файли з /usr/portage/distfiles. Для цього є утиліта eclean з пакету gentoolkit. Вона допоможе видалити непотрібні файли. Ця утиліта може працювати з вихідними кодами та бінарними пакетами. (просто викличте її як eclean-dist чи eclean-pkg відповідно). Прочитайте сторінку man щоб одержати повний список опцій.

Скрипти для "автоматизованого" встановлення Gentoo

Є збірка скриптів з налаштуваннями та додатковими оверлеями для встановлення Gentoo і збірки на його основі LiveCD чи LiveDVD DYSTRYK. Для встановлення потрібно виконати попорядку команди з скриптів install_gentoo -> install_system install_world.

Gentoo надає вам величезні можливості з настроювання вашої системи. Автор статті сподівається що прочитавши ці рядки ви зможете скористатися цим потужним інстументарієм і отримаєте відчуття глибокого задоволення від можливості управління будь-якими аспектами системи. Вам сподобатися таке відчуття.